]> git.ipfire.org Git - ipfire-3.x.git/commitdiff
json-c: Update to version 0.17-20230812 master
authorAdolf Belka <adolf.belka@ipfire.org>
Tue, 12 Dec 2023 18:00:44 +0000 (19:00 +0100)
committerMichael Tremer <michael.tremer@ipfire.org>
Wed, 13 Dec 2023 11:10:58 +0000 (11:10 +0000)
- IPFire-3.x
- Update from version 0.16-20220414 to 0.17020230812
- Changelog
    0.17 (up to commit 077661f, 2023-08-08)
New features
* json_patch: add first implementation only with patch application
* Add --disable-static and --disable-dynamic options to the cmake-configure
  script.
* Add -DBUILD_APPS=NO option to disable app build
* Minimum cmake version is now 3.9
Significant changes and bug fixes
* When serializing with JSON_C_TO_STRING_PRETTY set, keep the opening and
  closing curly or square braces on same line for empty objects or arrays.
* Disable locale handling when targeting a uClibc system due to problems
  with its duplocale() function.
* When parsing with JSON_TOKENER_STRICT set, integer overflow/underflow
  now result in a json_tokener_error_parse_number.  Without that flag
  values are capped at INT64_MIN/UINT64_MAX.
* Fix memory leak with emtpy strings in json_object_set_string
* json_object_from_fd_ex: fail if file is too large (>=INT_MAX bytes)
* Add back json_number_chars, but only because it's part of the public API.
* Entirely drop mode bits from open(O_RDONLY) to avoid warnings on certain
  platforms.
* Specify dependent libraries, including -lbsd, in a more consistent way so
  linking against a static json-c works better
* Fix a variety of build problems and add & improve tests
* Update RFC reference to https://www.rfc-editor.org/rfc/rfc8259

Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
1275 files changed:
.gitignore
ImageMagick/ImageMagick.nm
MAKEDEV/MAKEDEV.nm [deleted file]
MAKEDEV/makedev.d.5 [deleted file]
SDL/SDL.nm [deleted file]
X11vnc/X11vnc.nm [deleted file]
X11vnc/patches/x11vnc-0.9.8-XShm-explicit-include.patch [deleted file]
X11vnc/patches/x11vnc-0.9.8-disableRpath.patch [deleted file]
acl/acl.nm
acl/patches/acl-2.2.39-build.patch [deleted file]
acl/patches/acl-2.2.49-bz675451.patch [deleted file]
acl/patches/acl-2.2.49-tests.patch [deleted file]
acpid/acpid.nm [deleted file]
acpid/patches/acpid-2.0.15-makefile.patch [deleted file]
acpid/power [deleted file]
acpid/power.sh [deleted file]
acpid/systemd/acpid.service [deleted file]
apache/apache.nm [new file with mode: 0644]
apr-util/apr-util.nm
apr/apr.nm [moved from libapr/libapr.nm with 67% similarity]
asciidoc/asciidoc.nm
at-spi2-atk/at-spi2-atk.nm [deleted file]
at-spi2-core/at-spi2-core.nm [deleted file]
atk/atk.nm [deleted file]
attr/attr.nm
attr/patches/attr-2.4.46-build.patch [deleted file]
audit/audit.nm [deleted file]
audit/systemd/auditd.service [deleted file]
authconfig/authconfig.nm [deleted file]
autoconf/autoconf.nm
autogen/autogen.nm [deleted file]
autogen/patches/autogen-5.9.4-autoopts-config.patch [deleted file]
autogen/patches/autogen-5.9.4-pkgconfig.patch [deleted file]
automake/automake.nm
avahi/avahi.nm
basesystem/basesystem.nm
bash-completion/bash-completion.nm
bash/bash.nm
bash/patches/bash-4.3-noecho.patch [deleted file]
bash/patches/bash-5.0-patch-1.patch [deleted file]
bash/patches/bash-5.0-patch-2.patch [deleted file]
bash/patches/bash-5.0-patch-3.patch [deleted file]
bash/patches/bash-5.0-patch-4.patch [deleted file]
bash/patches/bash-5.0-patch-5.patch [deleted file]
bash/patches/bash-5.0-patch-6.patch [deleted file]
bash/patches/bash-5.0-patch-7.patch [deleted file]
bash/patches/bash-requires.patch
bash/patches/bash-tty-tests.patch [deleted file]
batctl/batctl.nm [deleted file]
bc/bc.nm
beecrypt/beecrypt.nm [deleted file]
beecrypt/patches/beecrypt-4.1.2-biarch.patch [deleted file]
beecrypt/patches/beecrypt-4.2.1-build-system.patch [deleted file]
beecrypt/patches/beecrypt-4.2.1-no-c++.patch [deleted file]
bind/bind.nm
bind/patches/bind97-exportlib.patch [deleted file]
bind/patches/bind99-dont-build-bin.patch [deleted file]
binutils/binutils.nm
bird/bird.nm
bison/bison.nm
boost/boost.nm
boost/patches/boost-1.73.0-cmakedir.patch [new file with mode: 0644]
br2684ctl/br2684ctl.nm [deleted file]
bricklayer/bricklayer.nm [new file with mode: 0644]
bridge-utils/bridge-utils.nm [deleted file]
bridge-utils/patches/bridge-utils-1.5-linux_3.8_fix-1.patch [deleted file]
btrfs-progs/btrfs-progs.nm [new file with mode: 0644]
bwm-ng/bwm-ng.nm
bwm-ng/patches/6a2087db.patch [new file with mode: 0644]
bzip2/bzip2.nm
bzip2/patches/01-bzip2-saneso.patch [new file with mode: 0644]
bzip2/patches/02-bzip2-cflags.patch [new file with mode: 0644]
bzip2/patches/03-bzip2-ldflags.patch [new file with mode: 0644]
bzip2/patches/bzip2-1.0.4-makefile-CFLAGS.patch0 [deleted file]
bzip2/patches/bzip2-1.0.6-saneso.patch0 [deleted file]
c-ares/c-ares.nm
c_icap/c_icap.nm [deleted file]
c_icap_modules/c_icap_modules.nm [deleted file]
ca-certificates/blacklist.txt
ca-certificates/ca-certificates.nm
ca-certificates/certdata.txt
ca-certificates/certdata2pem.py
ca-certificates/generate-cacerts.pl [deleted file]
cairo/cairo.nm
cairo/patches/cairo-1.17.6-meson-fixes.patch [new file with mode: 0644]
ccache/ccache.nm
check/check.nm [new file with mode: 0644]
chrony/chrony.logrotate [deleted file]
chrony/chrony.nm
chrpath/chrpath.nm [deleted file]
chrpath/patches/chrpath-0.13-NULL-entry.patch [deleted file]
cifs-utils/cifs-utils.nm [deleted file]
clamav/clamav.nm [deleted file]
clutter/clutter.nm [deleted file]
clutter/patches/clutter-1.13.4-xi23.patch [deleted file]
clutter/patches/oob-device-fix.patch [deleted file]
cmake/cmake.macro [deleted file]
cmake/cmake.nm
cmake/patches/cmake-strict_aliasing.patch [deleted file]
cmocka/cmocka.nm [new file with mode: 0644]
cogl/cogl.nm [deleted file]
collecty/collecty.nm
compat-cyrus-sasl/compat-cyrus-sasl.nm [deleted file]
compat-cyrus-sasl/patches/cyrus-sasl-2.1.23-db5.patch [deleted file]
compat-db/compat-db.nm [deleted file]
compat-gdbm/compat-gdbm.nm [deleted file]
compat-gdbm/patches/gdbm-1.8.3-fhs.patch [deleted file]
compat-gdbm/patches/gdbm-1.8.3-filestruct.patch [deleted file]
compat-gdbm/patches/gdbm-1.8.3-ndbmlock.patch [deleted file]
compat-gdbm/patches/gdbm-1.8.3-shortread.patch [deleted file]
compat-gdbm/patches/gdbm-1.8.3-zeroheaders.patch [deleted file]
compat-gmp/compat-gmp.nm [deleted file]
compat-gmp/patches/gmp-fix-tscan.patch0 [deleted file]
compat-gnutls/compat-gnutls.nm [deleted file]
compat-gnutls/patches/gnutls-3.1.11-nosrp.patch [deleted file]
compat-gnutls/patches/gnutls-3.2.7-rpath.patch [deleted file]
compat-guile/compat-guile.nm [deleted file]
compat-icu/compat-icu.nm [deleted file]
compat-icu/patches/icu-test-twodigityear.patch2 [deleted file]
compat-isl/compat-isl.nm [deleted file]
compat-libffi/compat-libffi.nm [deleted file]
compat-libgcrypt/compat-libgcrypt.nm [deleted file]
compat-libmpc/compat-libmpc.nm [deleted file]
compat-libpng/compat-libpng.nm [deleted file]
compat-ncurses/compat-ncurses.nm [deleted file]
compat-nettle/compat-nettle.nm [deleted file]
compat-openssl/compat-openssl.nm [deleted file]
compat-openssl/openssl.cnf [deleted file]
compat-openssl/patches/openssl-0.9.8a-no-rpath.patch [deleted file]
compat-openssl/patches/openssl-1.0.0-beta4-ca-dir.patch [deleted file]
compat-openssl/patches/openssl-1.0.0-beta5-enginesdir.patch [deleted file]
compat-openssl/patches/openssl-1.0.2a-version.patch [deleted file]
compat-openssl/patches/openssl-1.0.2e-rpmbuild.patch [deleted file]
compat-pcre/compat-pcre.nm [deleted file]
compat-readline/compat-readline.nm [deleted file]
compat-readline/patches/readline-5.0-no_rpath.patch [deleted file]
compat-xz/compat-xz.nm [deleted file]
coreutils/coreutils.nm
coreutils/patches/coreutils-i18n-cut-old.patch [deleted file]
coreutils/patches/coreutils-i18n-expand-unexpand.patch [deleted file]
coreutils/patches/coreutils-i18n-fix-unexpand.patch [deleted file]
coreutils/patches/coreutils-i18n-fix2-expand-unexpand.patch [deleted file]
coreutils/patches/coreutils-i18n-sort-human.patch [deleted file]
coreutils/patches/coreutils-i18n-un-expand-BOM.patch [deleted file]
coreutils/patches/coreutils-i18n.patch
cpio/cpio.nm
cracklib/cracklib.nm
crda/crda.nm [deleted file]
cronie/cronie.nm
crontabs/crontabs.nm
cryptsetup-luks/cryptsetup-luks.nm
cups/cups.nm
cups/systemd/cups.service [deleted file]
curl/curl.nm
cyrus-sasl/cyrus-sasl.nm
cython/cython.nm
datefudge/datefudge.nm [deleted file]
dbus-broker/dbus-broker.nm [new file with mode: 0644]
dbus-glib/dbus-glib.nm
dbus/dbus.nm
ddns/ddns.nm
ddrescue/ddrescue.nm
debugedit/debugedit.nm [deleted file]
debugedit/patches/debugedit-5.3.5-DWARF-4.patch [deleted file]
debugedit/patches/debugedit-5.3.5-support-aarch64.patch [deleted file]
debugedit/update/Makefile [deleted file]
debugedit/update/README [deleted file]
debugedit/update/update.sh [deleted file]
dejagnu/dejagnu.nm
dejavu-fonts/dejavu-fonts.nm [deleted file]
dhcp/dhcp.nm [deleted file]
dhcp/patches/0001-change-bug-url.patch [deleted file]
dhcp/patches/0002-additional-dhclient-options.patch [deleted file]
dhcp/patches/0003-Handle-releasing-interfaces-requested-by-sbin-ifup.patch [deleted file]
dhcp/patches/0004-Support-unicast-BOOTP-for-IBM-pSeries-systems-and-ma.patch [deleted file]
dhcp/patches/0005-Change-default-requested-options.patch [deleted file]
dhcp/patches/0006-Various-man-page-only-fixes.patch [deleted file]
dhcp/patches/0007-Change-paths-to-conform-to-our-standards.patch [deleted file]
dhcp/patches/0008-Make-sure-all-open-file-descriptors-are-closed-on-ex.patch [deleted file]
dhcp/patches/0009-Fix-garbage-in-format-string-error.patch [deleted file]
dhcp/patches/0010-Handle-null-timeout.patch [deleted file]
dhcp/patches/0011-Drop-unnecessary-capabilities.patch [deleted file]
dhcp/patches/0012-RFC-3442-Classless-Static-Route-Option-for-DHCPv4-51.patch [deleted file]
dhcp/patches/0013-DHCPv6-over-PPP-support-626514.patch [deleted file]
dhcp/patches/0014-IPoIB-support-660681.patch [deleted file]
dhcp/patches/0015-Add-GUID-DUID-to-dhcpd-logs-1064416.patch [deleted file]
dhcp/patches/0016-Turn-on-creating-sending-of-DUID.patch [deleted file]
dhcp/patches/0017-Send-unicast-request-release-via-correct-interface.patch [deleted file]
dhcp/patches/0018-No-subnet-declaration-for-iface-should-be-info-not-e.patch [deleted file]
dhcp/patches/0019-dhclient-write-DUID_LLT-even-in-stateless-mode-11563.patch [deleted file]
dhcp/patches/0020-Discover-all-hwaddress-for-xid-uniqueness.patch [deleted file]
dhcp/patches/0021-Load-leases-DB-in-non-replay-mode-only.patch [deleted file]
dhcp/patches/0022-Backport-sd-notify-patch-for-systemd-support-1687040.patch [deleted file]
dhcp/systemd/dhclient4@.service [deleted file]
dhcp/systemd/dhclient6@.service [deleted file]
dhcp/systemd/dhcpd.service [deleted file]
dhcp/systemd/dhcpd6.service [deleted file]
dhcp/systemd/dhcrelay.service [deleted file]
dhcpcd/dhcpcd.nm [new file with mode: 0644]
dhcpcd/dhcpcd.tmpfiles [new file with mode: 0644]
dhcpcd/systemd/dhcpcd@.service [new file with mode: 0644]
dhcping/dhcping.nm [deleted file]
dialog/dialog.nm [deleted file]
dialog/patches/dialog-incdir.patch [deleted file]
dialog/patches/dialog-libs.patch [deleted file]
dialog/patches/dialog-multilib.patch [deleted file]
diffutils/diffutils.nm
diffutils/patches/diffutils-cmp-s-empty.patch [deleted file]
diffutils/patches/diffutils-format-security.patch [deleted file]
ding-libs/ding-libs.nm
directfb/directfb.nm [deleted file]
directfb/patches/DirectFB-1.5.3-add-missing-davinci-files.patch [deleted file]
directfb/patches/DirectFB-1.5.3-gcc-atomics-on-arm.patch [deleted file]
directfb/patches/DirectFB-1.5.3-lm.patch [deleted file]
dma/dma.nm
dmidecode/dmidecode.nm
dmidecode/patches/dmidecode-3.3-fix_crash_with_u_option.patch [new file with mode: 0644]
dmidecode/patches/dmidecode-3.3-fix_the_condition_error_in_ascii_filter.patch [new file with mode: 0644]
dmraid/dmraid.nm [deleted file]
docbook-dsssl/docbook-dsssl.nm
docbook-dtds/docbook-dtds.nm
docbook-utils/docbook-utils.nm
docbook-xsl/Makefile [deleted file]
docbook-xsl/docbook-xsl.nm
docbook-xsl/patches/765567_non-recursive_string_subst.patch2 [new file with mode: 0644]
docbook-xsl/patches/docbook-xsl-list-item-body.patch [deleted file]
docbook-xsl/patches/docbook-xsl-mandir.patch [deleted file]
docbook-xsl/patches/docbook-xsl-marginleft.patch [deleted file]
docbook-xsl/patches/docbook-xsl-newmethods.patch [deleted file]
docbook-xsl/patches/docbook-xsl-non-constant-expressions.patch [deleted file]
docbook-xsl/patches/docbook-xsl-pagesetup.patch [deleted file]
docbook2X/docbook2X.nm
dos2unix/dos2unix.nm
dosfstools/dosfstools.nm
doxygen/doxygen.nm
doxygen/patches/doxygen-1.4.8-endless-loop.patch [deleted file]
doxygen/patches/doxygen-1.8.1.1-html_timestamp_default_false.patch [deleted file]
doxygen/patches/doxygen-1.8.3-multilib.patch [deleted file]
doxygen/patches/doxygen-1.8.4-config.patch [deleted file]
dracut/dracut.nm
dracut/ipfire.conf
dtc/dtc.nm
dtc/patches/dtc-check.patch [deleted file]
dtc/patches/dtc-flattree.patch [deleted file]
duktape/duktape.nm [moved from gssdp/gssdp.nm with 56% similarity]
dwz/dwz.nm [new file with mode: 0644]
e2fsprogs/e2fsprogs.nm
ebtables/ebtables.nm [deleted file]
ed/ed.nm
efibootmgr/efibootmgr.nm [new file with mode: 0644]
efivar/efivar.nm [moved from libXrender/libXrender.nm with 59% similarity]
eject/eject.nm [deleted file]
eject/patches/eject-2.1.1-verbose.patch [deleted file]
eject/patches/eject-2.1.5-lock.patch [deleted file]
eject/patches/eject-2.1.5-opendevice.patch [deleted file]
eject/patches/eject-2.1.5-spaces.patch [deleted file]
eject/patches/eject-2.1.5-umount.patch [deleted file]
eject/patches/eject-timeout.patch [deleted file]
elfutils/elfutils.nm
elfutils/patches/elfutils-0.166-elfcmp-comp-gcc6.patch [deleted file]
elinks/elinks.nm
etherwake/etherwake.8 [deleted file]
etherwake/etherwake.nm [deleted file]
etherwake/patches/etherwake-1.09-hardening.patch [deleted file]
etherwake/patches/etherwake-1.09-install.patch [deleted file]
ethtool/ethtool.nm
expat/expat.nm
expect/expect.nm
expect/patches/expect-5.32.2-random.patch [deleted file]
expect/patches/expect-5.43.0-log_file.patch [deleted file]
expect/patches/expect-5.43.0-pkgpath.patch [deleted file]
expect/patches/expect-5.45-check-telnet.patch [deleted file]
expect/patches/expect-5.45-format-security.patch [new file with mode: 0644]
expect/patches/expect-5.45-man-page.patch [deleted file]
expect/patches/expect-5.45-match-gt-numchars-segfault.patch [deleted file]
expect/patches/expect-5.45-mkpasswd-dash.patch [deleted file]
expect/patches/expect-5.45-passmass-su-full-path.patch [deleted file]
fail2ban/fail2ban.logrotate [deleted file]
fail2ban/fail2ban.nm [deleted file]
fail2ban/patches/fail2ban-0.8.1-sshd.patch [deleted file]
fail2ban/patches/fail2ban-0.8.2-fd_cloexec.patch [deleted file]
fail2ban/patches/fail2ban-0.8.3-init.patch [deleted file]
fail2ban/patches/fail2ban-0.8.3-log2syslog.patch [deleted file]
file/file.nm
filesystem/filesystem.nm
findutils/findutils.nm
findutils/patches/findutils-4.6.0-mbrtowc-tests.patch [deleted file]
firmware-update/firmware-update.nm
flashrom/flashrom.nm
flex/patches/flex-2.6.4-build-fix-reallocarray.patch [deleted file]
fontconfig/fontconfig.nm
fontforge/fontforge.nm [deleted file]
fontforge/patches/fontforge-20090224-pythondl.patch [deleted file]
fontforge/patches/fontforge-20100501-select-points-crash.patch [deleted file]
fontforge/patches/fontforge-20110222-libpng15.patch [deleted file]
freeradius/freeradius.nm [deleted file]
freeradius/freeradius.pam [deleted file]
freeradius/freeradius.tmpfiles [deleted file]
freeradius/logrotate/freeradius [deleted file]
freeradius/patches/freeradius-cert-config.patch [deleted file]
freeradius/systemd/freeradius.service [deleted file]
freetype/freetype.nm
fribidi/fribidi.nm [new file with mode: 0644]
fribidi/patches/fribidi-drop-bundled-gnulib.patch [new file with mode: 0644]
fuse-sshfs/fuse-sshfs.nm [deleted file]
fuse/fuse.nm
fuse/patches/fuse-2.9.2-namespace-conflict-fix.patch [deleted file]
gawk/gawk.nm
gawk/patches/disable-the-pma-test.patch [new file with mode: 0644]
gc/gc.nm [deleted file]
gcc/gcc.nm
gcc/patches/0001-gcc-Build-with-PIE.patch [new file with mode: 0644]
gcc/patches/0002-libcc1-Export-all-symbols.patch [new file with mode: 0644]
gcc/patches/40_all_gcc49_config_esp.patch0 [deleted file]
gcc/patches/a25982ada523689c8745d7fb4b1b93c8f5dab2e7.patch [new file with mode: 0644]
gcc/patches/gcc-6.1-compile-compiler-with-pic.patch [deleted file]
gcc/patches/gcc49-aarch64-async-unw-tables.patch0 [deleted file]
gcc/patches/gcc49-libtool-no-rpath.patch0 [deleted file]
gdb/gdb.nm
gdbm/gdbm.nm
gdbm/patches/gdbm-1.10-fedora.patch [deleted file]
gdbm/patches/gdbm-1.10-zeroheaders.patch [deleted file]
gdk-pixbuf2/gdk-pixbuf2.nm
gettext/gettext.nm
ghostscript/ghostscript.nm
git/git.conf.httpd [deleted file]
git/git.nm
git/gitweb.conf [deleted file]
git/systemd/git.socket [deleted file]
git/systemd/git@.service [deleted file]
glib2/glib2.nm
glibc/glibc.nm
gmp/gmp.nm
gnome-doc-utils/gnome-doc-utils.nm
gnome-doc-utils/patches/gnome-doc-utils-0.20.10-python3.patch [new file with mode: 0644]
gnome-themes-standard/gnome-themes-standard.nm [deleted file]
gnome-themes-standard/settings.ini [deleted file]
gnupg2/gnupg2.nm
gnutls/gnutls.nm
gobject-introspection/gobject-introspection.nm
gperf/gperf.nm
gpgme/gpgme.nm
graphviz/graphviz.nm [new file with mode: 0644]
grep/grep.nm
groff/groff.nm
groff/patches/0002-load-site-font-and-site-tmac-from-etc-groff.patch [deleted file]
grub/grub.nm
grub/patches/grub-2.02-X86_64_PLT32.patch [deleted file]
grub/patches/grub-2.02-fix-packed-not-aligned-error-on-gcc-8.patch [deleted file]
grub/patches/grub-2.02-xfs-accept-filesystem-with-sparse-inodes.patch [deleted file]
grub/patches/grub-2.02_disable_vga_fallback.patch [deleted file]
gsettings-desktop-schemas/gsettings-desktop-schemas.nm [deleted file]
gssdp/patches/gssdp-fixdso.patch [deleted file]
gtk3/gtk3.nm [deleted file]
guile/guile.nm [deleted file]
gupnp-igd/gupnp-igd.nm [deleted file]
gupnp/gupnp.nm [deleted file]
gzip/gzip.nm
harfbuzz/harfbuzz.nm
hdparm/hdparm.nm
help2man/help2man.nm
hostapd/hostapd.nm
hostname/hostname.nm
htop/htop.nm
hwdata/hwdata.nm
hwloc/hwloc.nm [new file with mode: 0644]
hyperscan/hyperscan.nm
hyperscan/patches/hyperscan-5.4.0-build_wrapper_fix.patch0 [new file with mode: 0644]
icu/icu.nm
iftop/iftop.nm [deleted file]
igmpproxy/igmpproxy.nm
initscripts/initscripts.nm
initscripts/src/Makefile
intel-microcode/intel-microcode.nm
intltool/intltool.nm
iperf/iperf.nm
iperf3/iperf3.nm
ipfire-logos/ipfire-logos.nm
ipfire-release/ipfire-release.nm
ipfire-release/repos/stable.repo
ipfire-release/repos/testing.repo
ipfire-release/repos/unstable.repo [deleted file]
iproute2/iproute2.nm
iptraf-ng/iptraf-ng.nm
iptraf-ng/patches/0001-token-ring-kernel-v3.5-kill-off-token-ring-support.patch [deleted file]
iputils/iputils.nm
iputils/patches/iputils-ipfire.patch [deleted file]
iputils/patches/iputils-tracepath-doc.patch [deleted file]
ipvsadm/ipvsadm.nm [deleted file]
ipvsadm/patches/build-flags.patch [deleted file]
isl/isl.nm
iso-codes/iso-codes.nm [deleted file]
iw/iw.nm
jansson/jansson.nm [moved from libX11/libX11.nm with 59% similarity]
jbig2dec/jbig2dec.nm [new file with mode: 0644]
joe/joe.nm [deleted file]
jose/jose.nm [new file with mode: 0644]
json-c/json-c.nm
json-glib/json-glib.nm [deleted file]
jsoncpp/jsoncpp.nm
jwhois/jwhois.nm [deleted file]
jwhois/patches/jwhois-4.0-conf.patch [deleted file]
jwhois/patches/jwhois-4.0-conf_update.patch [deleted file]
jwhois/patches/jwhois-4.0-conf_update2.patch [deleted file]
jwhois/patches/jwhois-4.0-conf_update3.patch [deleted file]
jwhois/patches/jwhois-4.0-conf_update4.patch [deleted file]
jwhois/patches/jwhois-4.0-connect.patch [deleted file]
jwhois/patches/jwhois-4.0-dotster.patch [deleted file]
jwhois/patches/jwhois-4.0-enum.patch [deleted file]
jwhois/patches/jwhois-4.0-fclose.patch [deleted file]
jwhois/patches/jwhois-4.0-gi.patch [deleted file]
jwhois/patches/jwhois-4.0-ipv6match.patch [deleted file]
kbd/kbd.nm
kbd/patches/kbd-1.15-defkeymap.patch [deleted file]
kbd/patches/kbd-1.15-keycodes-man.patch [deleted file]
kbd/patches/kbd-1.15-resizecon-x86_64.patch [deleted file]
kbd/patches/kbd-1.15-unicode_start.patch [deleted file]
kbd/patches/kbd-1.15.3-dumpkeys-man.patch [deleted file]
kbd/patches/kbd-1.15.3-fix-es-translation.patch [deleted file]
kbd/patches/kbd-2.5.1-backspace-1.patch [new file with mode: 0644]
kbd/vlock.pamd [new file with mode: 0644]
kea/kea.nm [new file with mode: 0644]
kea/kea.tmpfiles [new file with mode: 0644]
kea/patches/kea-2.2.0-configure-fix-python3-version.patch [new file with mode: 0644]
kea/systemd/kea-ctrl-agent.service [new file with mode: 0644]
kea/systemd/kea-dhcp-ddns.service [new file with mode: 0644]
kea/systemd/kea-dhcp4.service [new file with mode: 0644]
kea/systemd/kea-dhcp6.service [new file with mode: 0644]
keepalived/keepalived.nm [deleted file]
keepalived/patches/keepalived-1.2.7-dont-respawn-children.patch [deleted file]
keepalived/patches/keepalived-1.2.7-fix-error-message.patch [deleted file]
keepalived/patches/keepalived-1.2.7-fix-pointer-arithmetic-vrrp-packet.patch [deleted file]
keepalived/patches/keepalived-1.2.7-fix-primary-ip-address-comparison.patch [deleted file]
keepalived/patches/keepalived-1.2.7-fix-ssl-certificate-load.patch [deleted file]
keepalived/patches/keepalived-1.2.7-remove-debug-messages.patch [deleted file]
keepalived/patches/keepalived-1.2.7-update-gpl-license.patch [deleted file]
keepalived/patches/keepalived-1.2.7-update-keepalived-man-page.patch [deleted file]
keepalived/systemd/keepalived.service [deleted file]
kernel-updater/kernel-updater.nm
kernel/config-aarch64-generic [new file with mode: 0644]
kernel/config-arm-generic [deleted file]
kernel/config-arm32-generic [deleted file]
kernel/config-arm64-generic [deleted file]
kernel/config-generic
kernel/config-x86_64-generic [moved from kernel/config-x86-generic with 56% similarity]
kernel/kernel.nm
kernel/scripts/configcommon.py [changed mode: 0755->0644]
kernel/scripts/configdiff.py [changed mode: 0755->0644]
kernel/scripts/configure [changed mode: 0755->0644]
keyutils/keyutils.nm [new file with mode: 0644]
kmod/kmod.nm
krb5/kdc.conf
krb5/krb5.nm
krb5/logrotate/kadmind.logrotate [deleted file]
krb5/logrotate/krb5kdc.logrotate [deleted file]
krb5/systemd/kadmin.service
krb5/systemd/kprop.service
lcms2/lcms2.nm
ldapvi/ldapvi.nm
ldns/ldns.nm
ldns/patches/ldns-1.6.16-dsa-key-failures.patch [deleted file]
ldns/patches/ldns-1.6.17-doxyparse-perl-5-22-fix.patch [deleted file]
ldns/patches/ldns-1.6.17-multilib.patch [deleted file]
less/less.nm
libICE/libICE.nm [deleted file]
libSM/libSM.nm [deleted file]
libVNCServer/libVNCServer.nm [deleted file]
libXau/libXau.nm [deleted file]
libXau/patches/xau-1.0.4-local.patch [deleted file]
libXaw/libXaw.nm [deleted file]
libXcomposite/libXcomposite.nm [deleted file]
libXcursor/index.theme [deleted file]
libXcursor/libXcursor.nm [deleted file]
libXdamage/libXdamage.nm [deleted file]
libXdmcp/libXdmcp.nm [deleted file]
libXext/libXext.nm [deleted file]
libXfont/libXfont.nm [deleted file]
libXft/libXft.nm [deleted file]
libXi/libXi.nm [deleted file]
libXinerama/libXinerama.nm [deleted file]
libXmu/libXmu.nm [deleted file]
libXpm/libXpm.nm [deleted file]
libXrandr/libXrandr.nm [deleted file]
libXres/libXres.nm [deleted file]
libXt/libXt.nm [deleted file]
libXtst/libXtst.nm [deleted file]
libXv/libXv.nm [deleted file]
libXvMC/libXvMC.nm [deleted file]
libXxf86vm/libXxf86vm.nm [deleted file]
libaio/libaio.nm
libaio/patches/libaio-0.3.109-install-to-slash.patch [deleted file]
libarchive/libarchive.nm
libassuan/libassuan.nm
libatasmart/libatasmart.nm
libatomic_ops/libatomic_ops.nm [deleted file]
libbpf/libbpf.nm [moved from libXfixes/libXfixes.nm with 58% similarity]
libburn/libburn.nm [new file with mode: 0644]
libcap-ng/libcap-ng.nm
libcap/libcap.nm
libcap/patches/libcap-cflags.patch [new file with mode: 0644]
libcgroup/libcgroup.nm [deleted file]
libdaemon/libdaemon.nm
libdaq/libdaq.nm [new file with mode: 0644]
libdatrie/libdatrie.nm [new file with mode: 0644]
libdb/libdb.nm
libdnet/libdnet.nm
libdnet/patches/libdnet-1.12-shrext.patch [deleted file]
libdrm/libdrm.nm
libdrm/patches/libdrm-2.4.0-no-bc.patch [deleted file]
libdrm/patches/libdrm-make-dri-perms-okay.patch [deleted file]
libedit/libedit.nm
libepoxy/libepoxy.nm [deleted file]
libevent/libevent.nm
libffi/libffi.nm
libfontenc/libfontenc.nm [deleted file]
libgcrypt/libgcrypt.nm
libgpg-error/libgpg-error.nm
libgssglue/libgssglue.nm [deleted file]
libidn/libidn.nm
libidn2/libidn2.nm [moved from libhtp/libhtp.nm with 51% similarity]
libinih/libinih.nm [new file with mode: 0644]
libisoburn/libisoburn.nm [new file with mode: 0644]
libisofs/libisofs.nm [new file with mode: 0644]
libjpeg/libjpeg.nm
libksba/libksba.nm
libldb/libldb.nm
libmnl/libmnl.nm
libmpc/libmpc.nm
libnet/libnet.nm [deleted file]
libnetfilter_acct/libnetfilter_acct.nm
libnetfilter_conntrack/libnetfilter_conntrack.nm
libnetfilter_log/libnetfilter_log.nm
libnetfilter_log/patches/libnetfilter_log-sysheader.patch [deleted file]
libnetfilter_queue/libnetfilter_queue.nm
libnfnetlink/libnfnetlink.nm
libnfsidmap/libnfsidmap.nm [deleted file]
libnfsidmap/patches/libnfsidmap-0.26-rc1.patch [deleted file]
libnftnl/libnftnl.nm
libnl/libnl.nm [deleted file]
libnl/patches/libnl-1.1-include-limits-h.patch [deleted file]
libnl/patches/libnl-1.1-no-extern-inline.patch [deleted file]
libnl/patches/libnl-1.1-permissions.patch [deleted file]
libnl3/libnl3.nm
liboping/liboping.nm
liboping/patches/liboping-1.10.0-ncurses-6.3.patch [new file with mode: 0644]
liboping/patches/liboping-1.10.0-no-werror.patch [new file with mode: 0644]
libpcap/libpcap.nm
libpcap/patches/libpcap-0.8.3-ppp.patch [deleted file]
libpciaccess/libpciaccess.nm
libpipeline/libpipeline.nm
libpng/libpng.nm
libpwquality/libpwquality.nm
librpcsecgss/librpcsecgss.nm [deleted file]
librsvg2/librsvg2.nm [deleted file]
libseccomp/libseccomp.nm
libsodium/libsodium.nm
libsolv/libsolv.nm
libsoup/libsoup.nm [deleted file]
libssh2/libssh2.nm
libstatgrab/libstatgrab.nm [deleted file]
libtalloc/libtalloc.nm
libtasn1/libtasn1.nm
libtdb/libtdb.nm
libtevent/libtevent.nm
libthai/libthai.nm [new file with mode: 0644]
libtiff/libtiff.nm
libtirpc/libtirpc.nm
libtirpc/patches/libtirpc-0.2.3-rc4.patch [deleted file]
libtool/libtool.nm
libunistring/libunistring.nm
libunwind/libunwind.nm
libunwind/patches/libunwind-aarch64.patch [deleted file]
libunwind/patches/libunwind-disable-setjmp.patch [deleted file]
liburcu/liburcu.nm [new file with mode: 0644]
libusb-compat/libusb-compat.nm [deleted file]
libusb/libusb.nm
libuser/libuser.nm [deleted file]
libuv/libuv.nm
libvirt/libvirt.nm
libvirt/patches/virt-shell-login-fix.patch [new file with mode: 0644]
libxcb/libxcb.nm [deleted file]
libxcrypt/libxcrypt.nm [new file with mode: 0644]
libxcrypt/patches/libxcrypt-4.4.33-hashes.patch [new file with mode: 0644]
libxkbfile/libxkbfile.nm [deleted file]
libxml2/libxml2.nm
libxml2/patches/libxml2-2.9.2-catalog-revert.patch [deleted file]
libxslt/libxslt.nm
libyaml/libyaml.nm
linux-atm/linux-atm.nm [deleted file]
linux-atm/patches/linux-arm-gcc43.patch [deleted file]
linux-atm/patches/linux-atm-2.5.0-disable-ilmidiag.patch [deleted file]
linux-atm/patches/linux-atm-2.5.0-open-macro.patch [deleted file]
linux-atm/patches/man-pages.patch [deleted file]
linux-firmware/linux-firmware.nm
lldpd/lldpd.nm
llvm/llvm.nm [deleted file]
lm-sensors/lm-sensors.nm
lmdb/lmdb.nm [new file with mode: 0644]
lmdb/lmdb.pc [new file with mode: 0644]
log4cplus/log4cplus.nm [moved from gupnp-av/gupnp-av.nm with 55% similarity]
logrotate/logrotate.nm [deleted file]
logrotate/systemd/logrotate.service [deleted file]
lsof/lsof.nm
lua/lua.nm
lua/lua.pc [deleted file]
lua/patches/liblua.so.patch [deleted file]
lua/patches/lua-5.4.4-autotoolize.patch [new file with mode: 0644]
lua/patches/lua-5.4.4-configure-compat-module.patch [new file with mode: 0644]
lua/patches/lua-5.4.4-configure-linux.patch [new file with mode: 0644]
luajit/luajit.nm [new file with mode: 0644]
lvm2/lvm2.nm
lz4/lz4.nm [new file with mode: 0644]
lzip/lzip.nm
lzo/lzo.nm
m4/m4.nm
mailcap/mailcap.nm [deleted file]
make/make.nm
make/patches/make-4.2.1-glob-SEGV.patch [deleted file]
make/patches/make-4.2.1-glob-build-fix.patch [deleted file]
makedepend/makedepend.nm [deleted file]
man-db/man-db.nm
man-db/patches/1151558-switch-man-and-root-in-init-systemd-man-db.conf.patch [deleted file]
man-db/systemd/man-db.service [deleted file]
man-db/systemd/man-db.timer [deleted file]
man-pages/man-pages.nm
mandoc/mandoc.nm [new file with mode: 0644]
mc/mc.nm
mc/patches/mc-python3.patch [new file with mode: 0644]
mdadm/mdadm.nm
mdadm/mdadm.tmpfiles [new file with mode: 0644]
memtest86+/60_memtest86+ [new file with mode: 0644]
memtest86+/60_memtest86+-efi [new file with mode: 0644]
memtest86+/memtest86+.grub [deleted file]
memtest86+/memtest86+.nm
mesa/mesa.nm [deleted file]
meson/meson.macro [deleted file]
meson/meson.nm
minicom/minicom.nm [deleted file]
mpfr/mpfr.nm
mtr/mtr.nm
multipath-tools/multipath-tools.nm
nano/nano.nm
nasm/nasm.nm
ncurses/ncurses.nm
net-snmp/net-snmp.nm
net-snmp/patches/net-snmp-5.5-apsl-copying.patch [deleted file]
net-snmp/patches/net-snmp-5.5-dir-fix.patch [deleted file]
net-snmp/patches/net-snmp-5.5-perl-linking.patch [deleted file]
net-snmp/patches/net-snmp-5.6-multilib.patch [deleted file]
net-snmp/patches/net-snmp-5.6-test-debug.patch [deleted file]
net-snmp/patches/net-snmp-5.7.2-systemd.patch [deleted file]
net-snmp/patches/net-snmp-5.7.3-iterator-fix.patch [new file with mode: 0644]
net-snmp/patches/net-snmp-5.8-Remove-U64-typedef.patch [new file with mode: 0644]
net-snmp/patches/net-snmp-5.8-clientaddr-error-message.patch [new file with mode: 0644]
net-snmp/patches/net-snmp-5.8-duplicate-ipAddress.patch [new file with mode: 0644]
net-snmp/patches/net-snmp-5.8-ipAddress-faster-load.patch [new file with mode: 0644]
net-snmp/patches/net-snmp-5.8-man-page.patch [new file with mode: 0644]
net-snmp/patches/net-snmp-5.9-aes-config.patch [new file with mode: 0644]
net-snmp/patches/net-snmp-5.9-autofs-skip.patch [new file with mode: 0644]
net-snmp/patches/net-snmp-5.9-coverity.patch [new file with mode: 0644]
net-snmp/patches/net-snmp-5.9-dir-fix.patch [new file with mode: 0644]
net-snmp/patches/net-snmp-5.9-intermediate-certs.patch [new file with mode: 0644]
net-snmp/patches/net-snmp-5.9-memory-reporting.patch [new file with mode: 0644]
net-snmp/patches/net-snmp-5.9-pie.patch [moved from net-snmp/patches/net-snmp-5.7.2-pie.patch with 56% similarity]
net-snmp/patches/net-snmp-5.9.1-autoconf.patch [new file with mode: 0644]
net-tools/config.h [deleted file]
net-tools/config.make [deleted file]
net-tools/mii-diag.8 [deleted file]
net-tools/mii-diag.c [deleted file]
net-tools/net-tools.nm [deleted file]
net-tools/patches/001-net-tools-cycle.patch [deleted file]
net-tools/patches/002-net-tools-ipx.patch [deleted file]
net-tools/patches/003-net-tools-man.patch [deleted file]
net-tools/patches/004-net-tools-interface.patch [deleted file]
net-tools/patches/005-net-tools-duplicate-tcp.patch [deleted file]
net-tools/patches/006-net-tools-statalias.patch [deleted file]
net-tools/patches/007-net-tools-interface_stack.patch [deleted file]
net-tools/patches/008-net-tools-sctp-statistics.patch [deleted file]
net-tools/patches/009-net-tools-ifconfig-long-iface-crasher.patch [deleted file]
netpbm/netpbm.nm
netpbm/patches/netpbm-CAN-2005-2471.patch [new file with mode: 0644]
netpbm/patches/netpbm-libnetpbm-use-ldflags.patch [new file with mode: 0644]
netpbm/patches/netpbm-python3.patch [new file with mode: 0644]
netpbm/patches/netpbm-security-code.patch [new file with mode: 0644]
netpbm/patches/netpbm-security-scripts.patch [new file with mode: 0644]
netplug/netplug.nm [deleted file]
netplug/patches/netplug-1.2.9.1-execshield.patch [deleted file]
netplug/systemd/netplug.service [deleted file]
nettle/nettle.nm
network/network.nm
network/patches/network-fix-logdir-path.patch [new file with mode: 0644]
newt/newt.nm
nfs-utils/nfs-utils.nm
nfs-utils/systemd/nfs-blkmap.service [deleted file]
nfs-utils/systemd/nfs-idmap.service [deleted file]
nfs-utils/systemd/nfs-lock.service [deleted file]
nfs-utils/systemd/nfs-mountd.service [deleted file]
nfs-utils/systemd/nfs-rquotad.service [deleted file]
nfs-utils/systemd/nfs-secure-server.service [deleted file]
nfs-utils/systemd/nfs-secure.service [deleted file]
nfs-utils/systemd/nfs-server.service [deleted file]
nfs-utils/systemd/nfs.target [deleted file]
nfs-utils/systemd/proc-fs-nfsd.mount [deleted file]
nfs-utils/systemd/var-lib-nfs-rpc_pipefs.mount [deleted file]
nftables/nftables.nm
nghttp2/nghttp2.nm [moved from libcroco/libcroco.nm with 53% similarity]
ninja/ninja.macro [deleted file]
ninja/ninja.nm
nmap/nmap.nm
npth/npth.nm
open-vm-tools/open-vm-tools.nm [deleted file]
openjade/openjade.nm
openjpeg2/openjpeg2.nm [moved from upower/upower.nm with 50% similarity]
openldap/openldap.nm
openldap/patches/openldap-2.4.17-disable_sys_err.patch [deleted file]
opensp/opensp.nm
openssh/openssh.nm
openssh/patches/openssh-6.6p1-keyperm.patch [deleted file]
openssh/patches/openssh-6.7p1-sftp-force-permission.patch [deleted file]
openssl/openssl.nm
openssl/patches/openssl-1.1.0-build.patch [deleted file]
openssl/patches/openssl-1.1.0-ca-dir.patch [deleted file]
openssl/patches/openssl-1.1.0-defaults.patch [deleted file]
openssl/patches/openssl-1.1.0-disable-ssl3.patch [deleted file]
openssl/patches/openssl-1.1.0-no-html.patch [deleted file]
openssl/patches/openssl-1.1.0g-tests.patch [deleted file]
p11-kit/p11-kit.nm
pakfire/pakfire.nm
pakfire/patches/0001-Remove-shipped-version-of-debugedit.patch [deleted file]
pam/pam.nm
pam/patches/Linux-PAM-1.1.0-no-yywrap-1.patch [deleted file]
pam/patches/pam-1.1.5-unix-build.patch [deleted file]
pango/pango.nm
parted/parted.nm
passwd/passwd.nm [deleted file]
passwd/passwd.pam [deleted file]
patch/patch.nm
patchelf/patchelf.nm [new file with mode: 0644]
pax-utils/pax-utils.nm [deleted file]
paxctl/paxctl.nm [deleted file]
paxtest/paxtest.nm [deleted file]
pcapy/pcapy.nm [deleted file]
pcengines-apu-firmware/pcengines-apu-firmware.nm
pciutils/pciutils.nm
pcre/pcre.nm
pcre2/pcre2.nm
pdns/pdns.conf
pdns/pdns.nm
perl-Authen-SASL/perl-Authen-SASL.nm
perl-BDB/perl-BDB.nm
perl-Canary-Stability/perl-Canary-Stability.nm [new file with mode: 0644]
perl-Class-Method-Modifiers/perl-Class-Method-Modifiers.nm [new file with mode: 0644]
perl-Convert-ASN1/perl-Convert-ASN1.nm [new file with mode: 0644]
perl-Coro/perl-Coro.nm
perl-Crypt-OpenSSL-Guess/perl-Crypt-OpenSSL-Guess.nm [new file with mode: 0644]
perl-Crypt-OpenSSL-X509/perl-Crypt-OpenSSL-X509.nm [new file with mode: 0644]
perl-Crypt-PasswdMD5/perl-Crypt-PasswdMD5.nm
perl-DBI/perl-DBI.nm
perl-Digest-HMAC/perl-Digest-HMAC.nm
perl-Digest-SHA1/perl-Digest-SHA1.nm
perl-FCGI/perl-FCGI.nm
perl-File-HomeDir/perl-File-HomeDir.nm
perl-File-Remove/perl-File-Remove.nm [new file with mode: 0644]
perl-File-Which/perl-File-Which.nm [new file with mode: 0644]
perl-Font-TTF/perl-Font-TTF.nm
perl-GSSAPI/perl-GSSAPI.nm
perl-HTML-Parser/perl-HTML-Parser.nm
perl-HTML-Tagset/perl-HTML-Tagset.nm
perl-IO-AIO/perl-IO-AIO.nm
perl-IO-All/perl-IO-All.nm [new file with mode: 0644]
perl-IO-Socket-SSL/perl-IO-Socket-SSL.nm
perl-IO-String/perl-IO-String.nm [new file with mode: 0644]
perl-JSON/perl-JSON.nm [new file with mode: 0644]
perl-Module-Install-AuthorRequires/perl-Module-Install-AuthorRequires.nm [new file with mode: 0644]
perl-Module-Install-ManifestSkip/perl-Module-Install-ManifestSkip.nm [new file with mode: 0644]
perl-Module-Install/perl-Module-Install.nm [new file with mode: 0644]
perl-Module-Package/patches/Module-Package-0.30-Fix-building-on-Perl-without-.-in-INC.patch [new file with mode: 0644]
perl-Module-Package/perl-Module-Package.nm [new file with mode: 0644]
perl-Moo/perl-Moo.nm [new file with mode: 0644]
perl-Net-HTTP/perl-Net-HTTP.nm [new file with mode: 0644]
perl-Net-SMTP-SSL/perl-Net-SMTP-SSL.nm
perl-Net-SSLeay/perl-Net-SSLeay.nm
perl-Parse-Yapp/perl-Parse-Yapp.nm [new file with mode: 0644]
perl-Role-Tiny/perl-Role-Tiny.nm [new file with mode: 0644]
perl-SGMLSpm/perl-SGMLSpm.nm
perl-Sub-Quote/perl-Sub-Quote.nm [new file with mode: 0644]
perl-TermReadKey/perl-TermReadKey.nm
perl-TimeDate/perl-TimeDate.nm [new file with mode: 0644]
perl-Tk/patches/perl-Tk-debian.patch [deleted file]
perl-Tk/patches/perl-Tk-seg.patch [deleted file]
perl-Tk/patches/perl-Tk-widget.patch0 [deleted file]
perl-Tk/perl-Tk.nm [deleted file]
perl-URI/perl-URI.nm
perl-WWW-Curl/patches/01-WWW-Curl-4.17-Skip-preprocessor-symbol-only-CURL_STRICTER.patch [new file with mode: 0644]
perl-WWW-Curl/patches/02-WWW-Curl-4.17-define-CURL-as-void.patch [new file with mode: 0644]
perl-WWW-Curl/patches/03-WWW-Curl-4.17-Adapt-to-changes-in-cURL-7.69.0.patch [new file with mode: 0644]
perl-WWW-Curl/perl-WWW-Curl.nm
perl-XML-NamespaceSupport/perl-XML-NamespaceSupport.nm
perl-XML-Parser/perl-XML-Parser.nm
perl-XML-SAX-Base/perl-XML-SAX-Base.nm
perl-XML-SAX/perl-XML-SAX.nm
perl-YAML-Tiny/perl-YAML-Tiny.nm [new file with mode: 0644]
perl-YAML/perl-YAML.nm
perl-common-sense/perl-common-sense.nm
perl-libintl-perl/perl-libintl-perl.nm
perl-libwww-perl/perl-libwww-perl.nm [deleted file]
perl/patches/perl-USE_MM_LD_RUN_PATH.patch
perl/patches/perl-disable_test_hosts.patch [deleted file]
perl/perl.nm
pigz/pigz.nm [deleted file]
pinentry/pinentry.nm
pixman/pixman.nm
pkg-config/pkg-config.nm
plymouth/boot-duration [deleted file]
plymouth/patches/plymouth-0.9.2-everything-is-better-in-red.patch [deleted file]
plymouth/patches/plymouth-22.02.122-ply-utils-no-include-linux-fs.patch [new file with mode: 0644]
plymouth/plymouth.nm
polkit/polkit.nm
popt/popt.nm
powertop/powertop.nm [deleted file]
ppp/patches/0001-build-sys-use-gcc-as-our-compiler-of-choice.patch [deleted file]
ppp/patches/0002-build-sys-enable-PAM-support.patch [deleted file]
ppp/patches/0003-build-sys-utilize-compiler-flags-handed-to-us-by-rpm.patch [deleted file]
ppp/patches/0004-doc-add-configuration-samples.patch [deleted file]
ppp/patches/0005-build-sys-don-t-hardcode-LIBDIR-but-set-it-according.patch [deleted file]
ppp/patches/0006-scritps-use-change_resolv_conf-function.patch [deleted file]
ppp/patches/0007-build-sys-don-t-strip-binaries-during-installation.patch [deleted file]
ppp/patches/0008-build-sys-use-prefix-usr-instead-of-usr-local.patch [deleted file]
ppp/patches/0009-pppd-introduce-ipv6-accept-remote.patch [deleted file]
ppp/patches/0010-build-sys-enable-CBCP.patch [deleted file]
ppp/patches/0011-build-sys-don-t-put-connect-errors-log-to-etc-ppp.patch [deleted file]
ppp/patches/0014-everywhere-use-SOCK_CLOEXEC-when-creating-socket.patch [deleted file]
ppp/patches/0015-pppd-move-pppd-database-to-var-run-ppp.patch [deleted file]
ppp/patches/0016-rp-pppoe-add-manpage-for-pppoe-discovery.patch [deleted file]
ppp/patches/0017-pppd-rebase-EAP-TLS-patch-v0.994.patch [deleted file]
ppp/patches/0018-scritps-fix-ip-up.local-sample.patch [deleted file]
ppp/patches/0019-sys-linux-rework-get_first_ethernet.patch [deleted file]
ppp/patches/0020-pppd-put-lock-files-in-var-lock-ppp.patch [deleted file]
ppp/patches/0021-build-sys-compile-pppol2tp-plugin-with-RPM_OPT_FLAGS.patch [deleted file]
ppp/patches/0022-build-sys-compile-pppol2tp-with-multilink-support.patch [deleted file]
ppp/patches/0023-build-sys-install-rp-pppoe-plugin-files-with-standar.patch [deleted file]
ppp/patches/0023-build-sys-make-pppd-first-and-then-plugins.patch [deleted file]
ppp/patches/0024-build-sys-install-pppoatm-plugin-files-with-standard.patch [deleted file]
ppp/patches/0025-pppd-install-pppd-binary-using-standard-perms-755.patch [deleted file]
ppp/patches/ppp-2.4.2-ifname.patch [deleted file]
ppp/patches/ppp-2.5.0-1-we-don-t-want-to-accidentally-leak-fds.patch0 [moved from ppp/patches/0012-pppd-we-don-t-want-to-accidentally-leak-fds.patch with 54% similarity]
ppp/patches/ppp-2.5.0-2-everywhere-O_CLOEXEC-harder.patch0 [moved from ppp/patches/0013-everywhere-O_CLOEXEC-harder.patch with 63% similarity]
ppp/patches/ppp-2.5.0-3-everywhere-use-SOCK_CLOEXEC-when-creating-socket.patch0 [new file with mode: 0644]
ppp/patches/ppp-2.5.0-4-increase-max-padi-attempts.patch0 [new file with mode: 0644]
ppp/patches/ppp-2.5.0-5-headers_4.9.patch0 [new file with mode: 0644]
ppp/patches/ppp-2.5.0-6-patch-configure-to-handle-cflags-properly.patch [new file with mode: 0644]
ppp/patches/ppp-2.5.0-7-add-configure-check-to-see-if-we-have-struct-sockaddr_ll.patch [new file with mode: 0644]
ppp/ppp.nm
pps-tools/pps-tools.nm [deleted file]
pptp/patches/pptp-1.7.2-compat.patch [deleted file]
pptp/patches/pptp-1.7.2-conn-free.patch [deleted file]
pptp/patches/pptp-1.7.2-conn-free2.patch [deleted file]
pptp/patches/pptp-1.7.2-ip-path.patch [deleted file]
pptp/patches/pptp-1.7.2-makedeps.patch [deleted file]
pptp/patches/pptp-1.7.2-pptpsetup-encrypt.patch [deleted file]
pptp/patches/pptp-1.7.2-pptpsetup-mppe.patch [deleted file]
pptp/patches/pptp-1.7.2-pptpsetup.patch [deleted file]
pptp/patches/pptp-1.7.2-waitpid.patch [deleted file]
pptp/pptp.nm [deleted file]
procps-ng/procps-ng.nm
psmisc/psmisc.nm
pth/patches/pth-2.0.5-parallelfix.patch0 [deleted file]
pth/pth.nm [deleted file]
pychecker/pychecker.nm [deleted file]
pygobject3/pygobject3.nm [deleted file]
pygpgme/pygpgme.nm [deleted file]
pyserial/pyserial.nm [deleted file]
python-IPy/python-IPy.nm [deleted file]
python-cairo/python-cairo.nm [deleted file]
python-daemon/python-daemon.nm [deleted file]
python-dbus/python-dbus.nm [deleted file]
python-decorator/python-decorator.nm [deleted file]
python-distutils-extra/python-distutils-extra.nm [deleted file]
python-m2crypto/python-m2crypto.nm [deleted file]
python-netfilter_conntrack/python-netfilter_conntrack.nm [deleted file]
python-parted/python-parted.nm [deleted file]
python-piksemel/python-piksemel.nm [deleted file]
python-progressbar/patches/progressbar-interrupt.patch [deleted file]
python-progressbar/python-progressbar.nm [deleted file]
python-pyaspects/python-pyaspects.nm [deleted file]
python-pycurl/patches/0001-No-longer-keep-copies-of-string-options-since-this-i.patch [deleted file]
python-pycurl/patches/0002-Fixes-https-sourceforge.net-tracker-func-detail-aid-.patch [deleted file]
python-pycurl/patches/0003-Fixes-refcount-bug-and-provides-better-organization-.patch [deleted file]
python-pycurl/patches/0004-Test-for-reset-fixes-refcount-bug.patch [deleted file]
python-pycurl/patches/0005-Updating-ChangeLog-with-relevant-changes.patch [deleted file]
python-pycurl/patches/0101-setup.py-do-not-use-curl-config-static-libs.patch [deleted file]
python-pycurl/patches/0102-test_internals.py-add-a-test-for-ref-counting-of-res.patch [deleted file]
python-pycurl/python-pycurl.nm [deleted file]
python-rrdtool/python-rrdtool.nm [deleted file]
python-setuptools/python-setuptools.nm [deleted file]
python-urlgrabber/python-urlgrabber.nm [deleted file]
python-yaml/python-yaml.nm [deleted file]
python/patches/00001-pydocnogui.patch [deleted file]
python/patches/00010-2.7.13-binutils-no-dep.patch [deleted file]
python/patches/00104-lib64-fix-for-test_install.patch [deleted file]
python/patches/00112-2.7.13-debug-build.patch [deleted file]
python/patches/00113-more-configuration-flags.patch [deleted file]
python/patches/00114-statvfs-f_flag-constants.patch [deleted file]
python/patches/00121-add-Modules-to-build-path.patch [deleted file]
python/patches/00131-disable-tests-in-test_io.patch [deleted file]
python/patches/00132-add-rpmbuild-hooks-to-unittest.patch [deleted file]
python/patches/00133-skip-test_dl.patch [deleted file]
python/patches/00136-skip-tests-of-seeking-stdin-in-rpmbuild.patch [deleted file]
python/patches/00137-skip-distutils-tests-that-fail-in-rpmbuild.patch [deleted file]
python/patches/00138-fix-distutils-tests-in-debug-build.patch [deleted file]
python/patches/00139-skip-test_float-known-failure-on-arm.patch [deleted file]
python/patches/00140-skip-test_ctypes-known-failure-on-sparc.patch [deleted file]
python/patches/00142-skip-failing-pty-tests-in-rpmbuild.patch [deleted file]
python/patches/00143-tsc-on-ppc.patch [deleted file]
python/patches/00147-add-debug-malloc-stats.patch [deleted file]
python/patches/00155-avoid-ctypes-thunks.patch [deleted file]
python/patches/00156-gdb-autoload-safepath.patch [deleted file]
python/patches/00157-uid-gid-overflows.patch [deleted file]
python/patches/00167-disable-stack-navigation-tests-when-optimized-in-test_gdb.patch [deleted file]
python/patches/00168-distutils-cflags.patch [deleted file]
python/patches/00169-avoid-implicit-usage-of-md5-in-multiprocessing.patch [deleted file]
python/patches/00170-gc-assertions.patch [deleted file]
python/patches/00174-fix-for-usr-move.patch [deleted file]
python/patches/00180-python-add-support-for-ppc64p7.patch [deleted file]
python/patches/00181-allow-arbitrary-timeout-in-condition-wait.patch [deleted file]
python/patches/00185-urllib2-honors-noproxy-for-ftp.patch [deleted file]
python/patches/00187-add-RPATH-to-pyexpat.patch [deleted file]
python/patches/00189-use-rpm-wheels.patch [deleted file]
python/patches/00190-gdb-py-bt-dont-raise-exception-from-eval.patch [deleted file]
python/patches/00191-disable-NOOP.patch [deleted file]
python/patches/00193-enable-loading-sqlite-extensions.patch [deleted file]
python/patches/00289-disable-nis-detection.patch [deleted file]
python/patches/00309-shutil-spawn-subprocess.patch [deleted file]
python/patches/00310-use-xml-sethashsalt-in-elementtree.patch [deleted file]
python/patches/05000-autotool-intermediates.patch [deleted file]
python/patches/python-2.3.4-lib64-regex.patch [deleted file]
python/patches/python-2.5-cflags.patch [deleted file]
python/patches/python-2.5.1-plural-fix.patch [deleted file]
python/patches/python-2.5.1-sqlite-encoding.patch [deleted file]
python/patches/python-2.6-rpath.patch [deleted file]
python/patches/python-2.6.4-distutils-rpath.patch [deleted file]
python/patches/python-2.7.1-config.patch [deleted file]
python/patches/python-2.7.1-fix_test_abc_with_COUNT_ALLOCS.patch [deleted file]
python/patches/python-2.7.2-add-extension-suffix-to-python-config.patch [deleted file]
python/patches/python-2.7rc1-socketmodule-constants.patch [deleted file]
python/patches/python-2.7rc1-socketmodule-constants2.patch [deleted file]
python/python-2.7-lib64-sysconfig.patch [deleted file]
python/python-2.7.13-lib64.patch [deleted file]
python/python.nm [deleted file]
python3-cairo/patches/cairo-waf-use-python-config-as-shell-script.patch0 [deleted file]
python3-cairo/patches/pycairo-1.10.0-test-python3.patch [deleted file]
python3-cairo/python3-cairo.nm
python3-cpuinfo/python3-cpuinfo.nm [new file with mode: 0644]
python3-dbus/python3-dbus.nm [moved from eggdbus/eggdbus.nm with 63% similarity]
python3-dns/patches/python3-dns-no-setup-requires.patch [new file with mode: 0644]
python3-dns/python3-dns.nm [new file with mode: 0644]
python3-docutils/python3-docutils.nm [new file with mode: 0644]
python3-gobject3/python3-gobject3.nm [new file with mode: 0644]
python3-jinja2/python3-jinja2.nm [new file with mode: 0644]
python3-kerberos/python3-kerberos.nm [new file with mode: 0644]
python3-lxml/python3-lxml.nm [moved from python-lxml/python-lxml.nm with 92% similarity]
python3-markdown/python3-markdown.nm [new file with mode: 0644]
python3-markupsafe/python3-markupsafe.nm [new file with mode: 0644]
python3-parted/python3-parted.nm [new file with mode: 0644]
python3-psutil/python3-psutil.nm [new file with mode: 0644]
python3-pytz/patches/pytz-zoneinfo.patch [new file with mode: 0644]
python3-pytz/python3-pytz.nm [new file with mode: 0644]
python3-sdbus/python3-sdbus.nm [moved from suricata-update/suricata-update.nm with 53% similarity]
python3-setproctitle/python3-setproctitle.nm [new file with mode: 0644]
python3-setuptools/python3-setuptools.nm [new file with mode: 0644]
python3-systemd/python3-systemd.nm
python3-tornado/python3-tornado.nm [moved from python-tornado/python-tornado.nm with 55% similarity]
python3/patches/00104-lib64-fix-for-test_install.patch [deleted file]
python3/patches/Python-3.1.1-rpath.patch [deleted file]
python3/python-3.6.0-lib64.patch [deleted file]
python3/python3.nm
pyxattr/pyxattr.nm [deleted file]
qemu/qemu.nm
quota/patches/quota-3.06-man-page.patch [deleted file]
quota/patches/quota-3.13-wrong-ports.patch [deleted file]
quota/patches/quota-4.01-Make-group-warning-message-more-official.patch [deleted file]
quota/patches/quota-4.01-define_charset_in_mail.patch [deleted file]
quota/patches/quota-4.01-warnquota.patch [deleted file]
quota/quota.nm
rcs/rcs.nm
readline/patches/readline-8.2-patch-1.patch [new file with mode: 0644]
readline/readline.nm
rhash/rhash.nm
rng-tools/patches/rng-tools-man.patch [deleted file]
rng-tools/rng-tools.nm [deleted file]
rng-tools/systemd/rngd.service [deleted file]
rp-pppoe/rp-pppoe.nm [deleted file]
rp-pppoe/systemd/pppoe-server@.service [deleted file]
rpcbind/patches/rpcbind-0_2_1-rc4.patch [deleted file]
rpcbind/rpcbind.nm
rpcbind/systemd/rpcbind.service [deleted file]
rpcbind/systemd/rpcbind.socket [deleted file]
rpcsvc-proto/rpcsvc-proto.nm [new file with mode: 0644]
rrdtool/patches/rrdtool-1.7.1-compile-fix.patch [deleted file]
rrdtool/rrdtool.nm
rsync/rsync.nm
rsync/rsyncd.conf [deleted file]
rsync/systemd/rsyncd.service [deleted file]
rsync/systemd/rsyncd.socket [deleted file]
rsync/systemd/rsyncd@.service [deleted file]
samba/samba.nm
screen/screen.nm
screen/screen.tmpfiles [new file with mode: 0644]
sed/sed.nm
setup/Makefile
setup/aliases
setup/bashrc
setup/ethertypes [new file with mode: 0644]
setup/filesystems
setup/group
setup/passwd
setup/profile
setup/protocols
setup/services
setup/setup.nm
setup/shells
setup/sysctl/kernel-hardening.conf
setup/sysctl/networking.conf [new file with mode: 0644]
setup/uidgid
sg3-utils/sg3-utils.nm [deleted file]
sgml-common/sgml-common.nm
shadow-utils/shadow-utils.nm
shared-mime-info/shared-mime-info.nm [new file with mode: 0644]
sip/patches/disable-rpaths.patch [deleted file]
sip/patches/fix-linking.patch [deleted file]
sip/patches/no-strip.patch [deleted file]
sip/sip.nm [deleted file]
slang/slang.nm
smartmontools/smartmontools.nm
snort/snort.nm [new file with mode: 0644]
spectre-meltdown-checker/spectre-meltdown-checker.nm
sqlite/sqlite.nm
squashfs-tools/squashfs-tools.nm [new file with mode: 0644]
squid/patches/squid-3.0.STABLE1-perlpath.patch [deleted file]
squid/patches/squid-3.1.0.9-config.patch [deleted file]
squid/patches/squid-3.1.0.9-location.patch [deleted file]
squid/squid.nm
sssd/patches/0001-crypto-Port-libcrypto-code-to-openssl-1.1.patch [deleted file]
sssd/patches/0002-libcrypto-Check-right-value-of-CRYPTO_memcmp.patch [deleted file]
sssd/patches/0003-crypto-tests-Add-unit-test-for-sss_encrypt-sss_decry.patch [deleted file]
sssd/patches/0004-crypto-tests-Rename-encrypt-decrypt-test-case.patch [deleted file]
sssd/patches/0005-BUILD-Fix-installation-without-samba.patch [deleted file]
sssd/patches/0006-BUILD-Accept-krb5-1.15-for-building-the-PAC-plugin.patch [deleted file]
sssd/patches/0007-dlopen-test-Use-portable-macro-for-location-of-.libs.patch [deleted file]
sssd/patches/0008-dlopen-test-Add-missing-libraries-to-the-check-list.patch [deleted file]
sssd/patches/0009-dlopen-test-Move-libraries-to-the-right-sections.patch [deleted file]
sssd/patches/0010-dlopen-test-Add-check-for-untested-libraries.patch [deleted file]
sssd/patches/0011-sssctl-Flags-for-command-initialization.patch [deleted file]
sssd/patches/0012-sysdb-add-parent_dom-to-sysdb_get_direct_parents.patch [deleted file]
sssd/patches/0013-sdap-make-some-nested-group-related-calls-public.patch [deleted file]
sssd/patches/0014-LDAP-AD-resolve-domain-local-groups-for-remote-users.patch [deleted file]
sssd/patches/0015-PAM-add-a-test-for-filter_responses.patch [deleted file]
sssd/patches/0016-PAM-add-pam_response_filter-option.patch [deleted file]
sssd/patches/0017-SYSDB-Split-sysdb_try_to_find_expected_dn-into-small.patch [deleted file]
sssd/patches/0018-SYSDB-Augment-sysdb_try_to_find_expected_dn-to-match.patch [deleted file]
sssd/patches/0019-ad_access_filter-search-for-nested-groups.patch [deleted file]
sssd/patches/0020-BUILD-Fix-linking-with-librt.patch [deleted file]
sssd/patches/0021-MONITOR-Do-not-set-up-watchdog-for-monitor.patch [deleted file]
sssd/patches/0022-SYSDB-Adding-lowercase-sudoUser-form.patch [deleted file]
sssd/patches/0023-TESTS-Extending-sysdb-sudo-store-tests.patch [deleted file]
sssd/patches/0024-IPA-AD-check-auth-ctx-before-using-it.patch [deleted file]
sssd/patches/0025-SECRETS-Fix-secrets-rule-in-the-allowed-sections.patch [deleted file]
sssd/patches/0026-SECRETS-Add-allowed_sec_users_options.patch [deleted file]
sssd/patches/0027-ipa-Nested-netgroups-do-not-work.patch [deleted file]
sssd/patches/0028-Qualify-ghost-user-attribute-in-case-ldap_group_nest.patch [deleted file]
sssd/patches/0029-tests-Add-a-test-for-group-resolution-with-ldap_grou.patch [deleted file]
sssd/patches/0030-BUILD-Fix-a-typo-in-inotify.m4.patch [deleted file]
sssd/patches/0031-SYSDB-Fixing-of-sudorule-without-a-sudoUser.patch [deleted file]
sssd/patches/0032-UTIL-Fix-implicit-declaration-of-function-htobe32.patch [deleted file]
sssd/patches/0033-sssctl-Fix-missing-declaration.patch [deleted file]
sssd/patches/0034-UTIL-Fix-compilation-of-sss_utf8-with-libunistring.patch [deleted file]
sssd/patches/0035-SIFP-Fix-warning-format-security.patch [deleted file]
sssd/patches/0036-SSH-Use-default_domain_suffix-for-users-authorized-k.patch [deleted file]
sssd/patches/0037-Prevent-use-after-free-in-fd_input_available.patch [deleted file]
sssd/patches/0038-STAP-Only-print-transaction-statistics-if-the-script.patch [deleted file]
sssd/patches/0039-sudo-do-not-store-usn-if-no-rules-are-found.patch [deleted file]
sssd/patches/0501-Partially-revert-CONFIG-Use-default-config-when-none.patch [deleted file]
sssd/patches/0502-SYSTEMD-Use-capabilities.patch [deleted file]
sssd/patches/0503-sss_client-Defer-thread-cancellation-until-completio.patch [deleted file]
sssd/sssd.nm
strace/strace.nm
strongswan/strongswan.nm
subversion/patches/0001-subversion-1.9.0-rpath.patch [deleted file]
subversion/patches/0002-subversion-1.9.0-pie.patch [deleted file]
subversion/patches/0003-subversion-1.8.5-swigplWall.patch [deleted file]
subversion/subversion.nm [deleted file]
sudo/sudo.nm
suricata/suricata.conf [deleted file]
suricata/suricata.logrotate [deleted file]
suricata/suricata.nm [deleted file]
suricata/systemd/suricata.service [deleted file]
swig/swig.nm
syslinux/syslinux.nm [deleted file]
systemd/patches/0001-Revert-sd-netlink-unexport-sd-netlink.patch [new file with mode: 0644]
systemd/systemd.nm
sysvinit/patches/sysvinit-2.86-remove-utils-1.patch [deleted file]
sysvinit/sysvinit.nm [deleted file]
tar/tar.nm
tcl/patches/tcl-8.5.1-autopath.patch [deleted file]
tcl/patches/tcl-8.5.10-conf.patch [deleted file]
tcl/patches/tcl-8.5.9-hidden.patch [deleted file]
tcl/tcl.nm
tcpdump/tcpdump.nm
telnet/patches/010-full_set_in_18.diff [new file with mode: 0644]
telnet/patches/020-from_18_to_24.diff [new file with mode: 0644]
telnet/patches/022-buffer_overflow_by_HOME.diff [new file with mode: 0644]
telnet/patches/024-can_2004-0911.diff [new file with mode: 0644]
telnet/patches/026-can_2005_0469.diff [new file with mode: 0644]
telnet/patches/030-reject_invalid_port.diff [new file with mode: 0644]
telnet/patches/045-avoid_unsetting_term.diff [new file with mode: 0644]
telnet/patches/100-format_security_error.diff [new file with mode: 0644]
telnet/patches/110-markup_errors.diff [new file with mode: 0644]
telnet/patches/120-some_protocol_refinement.diff [new file with mode: 0644]
telnet/patches/124-support_uservar.diff [new file with mode: 0644]
telnet/patches/130-drain_input_from_child.diff [new file with mode: 0644]
telnet/patches/140-telnetlogin_name_check.diff [new file with mode: 0644]
telnet/patches/142-numeric_hosts.diff [new file with mode: 0644]
telnet/patches/netkit-telnet-0.17-ipv6.diff [deleted file]
telnet/patches/netkit-telnet-0.17-nodns.patch [deleted file]
telnet/patches/netkit-telnet-0.17-reallynodns.patch [deleted file]
telnet/patches/telnet-0.17-8bit.patch [deleted file]
telnet/patches/telnet-0.17-CAN-2005-468_469.patch [deleted file]
telnet/patches/telnet-0.17-argv.patch [deleted file]
telnet/patches/telnet-0.17-cleanup_race.patch [deleted file]
telnet/patches/telnet-0.17-conf.patch [deleted file]
telnet/patches/telnet-0.17-env.patch [deleted file]
telnet/patches/telnet-0.17-errno_test_sys_bsd.patch [deleted file]
telnet/patches/telnet-0.17-issue.patch [deleted file]
telnet/patches/telnet-0.17-pek.patch0 [deleted file]
telnet/patches/telnet-0.17-sa-01-49.patch [deleted file]
telnet/patches/telnet-client-cvs.patch0 [deleted file]
telnet/patches/telnet-gethostbyname.patch [deleted file]
telnet/patches/telnetd-0.17-pty_read.patch0 [deleted file]
telnet/patches/telnetd-0.17.patch0 [deleted file]
telnet/patches/use-cmake-as-buildsystem.patch [new file with mode: 0644]
telnet/telnet.nm
texinfo/texinfo.nm
tftp/patches/tftp-0.40-remap.patch [deleted file]
tftp/patches/tftp-0.42-tftpboot.patch [deleted file]
tftp/patches/tftp-0.49-chk_retcodes.patch [deleted file]
tftp/patches/tftp-0.49-cmd_arg.patch [deleted file]
tftp/patches/tftp-doc.patch [deleted file]
tftp/patches/tftp-hpa-0.39-tzfix.patch [deleted file]
tftp/patches/tftp-hpa-0.49-fortify-strcpy-crash.patch [deleted file]
tftp/patches/tftp-hpa-0.49-stats.patch [deleted file]
tftp/patches/tftp-hpa-5.2-pktinfo.patch [deleted file]
tftp/systemd/tftp.service [deleted file]
tftp/systemd/tftp.socket [deleted file]
tftp/tftp.nm [deleted file]
tinc/tinc.nm [deleted file]
tmux/tmux.nm
traceroute/traceroute.nm
transmission/systemd/transmission-daemon.service [deleted file]
transmission/transmission.nm [deleted file]
tree/tree.nm
tunctl/tunctl.nm [deleted file]
tzdata/tzdata.nm
u-boot/patches/u-boot-fat.patch [deleted file]
u-boot/patches/uboot-omap-fit.patch [deleted file]
u-boot/targets [deleted file]
u-boot/u-boot.nm [deleted file]
ulogd2/patches/ulogd2-2.0.5-better-sqlite-debugging.patch [deleted file]
ulogd2/ulogd2.nm
unbound/unbound.nm
unbound/unbound.tmpfiles
unicode-ucd/unicode-ucd.nm [deleted file]
unzip/patches/0001-Fix-CVE-2016-9844-rhbz-1404283.patch [new file with mode: 0644]
unzip/patches/unzip-6.0-COVSCAN-fix-unterminated-string.patch [new file with mode: 0644]
unzip/patches/unzip-6.0-alt-iconv-utf8-print.patch [new file with mode: 0644]
unzip/patches/unzip-6.0-alt-iconv-utf8.patch [new file with mode: 0644]
unzip/patches/unzip-6.0-bzip2-configure.patch
unzip/patches/unzip-6.0-caseinsensitive.patch [new file with mode: 0644]
unzip/patches/unzip-6.0-configure.patch [moved from unzip/patches/unzip-6.0-nostrip.patch with 93% similarity]
unzip/patches/unzip-6.0-cve-2014-8139.patch [new file with mode: 0644]
unzip/patches/unzip-6.0-cve-2014-8140.patch [new file with mode: 0644]
unzip/patches/unzip-6.0-cve-2014-8141.patch [new file with mode: 0644]
unzip/patches/unzip-6.0-cve-2018-1000035-heap-based-overflow.patch [new file with mode: 0644]
unzip/patches/unzip-6.0-cve-2018-18384.patch [new file with mode: 0644]
unzip/patches/unzip-6.0-fix-recmatch.patch [new file with mode: 0644]
unzip/patches/unzip-6.0-heap-overflow-infloop.patch [new file with mode: 0644]
unzip/patches/unzip-6.0-manpage-fix.patch [new file with mode: 0644]
unzip/patches/unzip-6.0-overflow-long-fsize.patch [new file with mode: 0644]
unzip/patches/unzip-6.0-overflow.patch [new file with mode: 0644]
unzip/patches/unzip-6.0-symlink.patch [new file with mode: 0644]
unzip/patches/unzip-6.0-timestamp.patch [new file with mode: 0644]
unzip/patches/unzip-6.0-valgrind.patch [new file with mode: 0644]
unzip/patches/unzip-6.0-x-option.patch [new file with mode: 0644]
unzip/patches/unzip-gnu89-build.patch [new file with mode: 0644]
unzip/patches/unzip-zipbomb-manpage.patch [new file with mode: 0644]
unzip/patches/unzip-zipbomb-part1.patch [new file with mode: 0644]
unzip/patches/unzip-zipbomb-part2.patch [new file with mode: 0644]
unzip/patches/unzip-zipbomb-part3.patch [new file with mode: 0644]
unzip/patches/unzip-zipbomb-part4.patch [new file with mode: 0644]
unzip/patches/unzip-zipbomb-part5.patch [new file with mode: 0644]
unzip/patches/unzip-zipbomb-part6.patch [new file with mode: 0644]
unzip/patches/unzip-zipbomb-switch.patch [new file with mode: 0644]
unzip/unzip.nm
usb-modeswitch-data/usb-modeswitch-data.nm
usb-modeswitch/usb-modeswitch.nm
usbutils/patches/usbutils-003-hwdata.patch [deleted file]
usbutils/patches/usbutils-make-hwdata.patch [deleted file]
usbutils/usbutils.nm
ustr/patches/c99-inline.patch [deleted file]
ustr/ustr.nm [deleted file]
util-linux/nologin.8 [deleted file]
util-linux/nologin.c [deleted file]
util-linux/util-linux.nm
vala/vala.nm
vim/patches/vim-8.0-rhbz1365258.patch [deleted file]
vim/vim.nm
wavemon/wavemon.nm [deleted file]
wget/wget.nm
which/which.nm
whois/whois.nm [new file with mode: 0644]
wireguard-tools/wireguard-tools.nm [new file with mode: 0644]
wireless-regdb/wireless-regdb.nm [new file with mode: 0644]
wireless-tools/patches/wireless_tools.29-makefile.patch [deleted file]
wireless-tools/wireless-tools.nm [deleted file]
wpa_supplicant/systemd/wpa_supplicant@.service [deleted file]
wpa_supplicant/wpa_supplicant.nm
xcb-proto/xcb-proto.nm [deleted file]
xcb-util/xcb-util.nm [deleted file]
xclock/xclock.nm [deleted file]
xfsprogs/xfsprogs.nm
xkeyboard-config/xkeyboard-config.nm [deleted file]
xmlto/xmlto.nm
xorg-x11-drv-ati/xorg-x11-drv-ati.nm [deleted file]
xorg-x11-drv-evdev/xorg-x11-drv-evdev.nm [deleted file]
xorg-x11-drv-intel/intel.xinf [deleted file]
xorg-x11-drv-intel/xorg-x11-drv-intel.nm [deleted file]
xorg-x11-drv-keyboard/xorg-x11-drv-keyboard.nm [deleted file]
xorg-x11-drv-modesetting/xorg-x11-drv-modesetting.nm [deleted file]
xorg-x11-drv-mouse/xorg-x11-drv-mouse.nm [deleted file]
xorg-x11-drv-nouveau/xorg-x11-drv-nouveau.nm [deleted file]
xorg-x11-drv-synaptics/50-synaptics.conf [deleted file]
xorg-x11-drv-synaptics/70-touchpad-quirks.rules [deleted file]
xorg-x11-drv-synaptics/xorg-x11-drv-synaptics.nm [deleted file]
xorg-x11-drv-vesa/xorg-x11-drv-vesa.nm [deleted file]
xorg-x11-drv-vmware/xorg-x11-drv-vmware.nm [deleted file]
xorg-x11-font-utils/xorg-x11-font-utils.nm [deleted file]
xorg-x11-font-utils/xorg-x11-fonts-update-dirs [deleted file]
xorg-x11-fonts/xorg-x11-fonts.nm [deleted file]
xorg-x11-proto-devel/xorg-x11-proto-devel.nm [deleted file]
xorg-x11-server/10-quirks.conf [deleted file]
xorg-x11-server/patches/xserver-1.12-Xext-fix-selinux-build-failure.patch [deleted file]
xorg-x11-server/patches/xserver-1.4.99-ssh-isnt-local.patch [deleted file]
xorg-x11-server/patches/xserver-1.6.0-less-acpi-brokenness.patch [deleted file]
xorg-x11-server/patches/xserver-1.6.99-right-of.patch [deleted file]
xorg-x11-server/patches/xserver-autobind-hotplug.patch [deleted file]
xorg-x11-server/xorg-x11-server.nm [deleted file]
xorg-x11-util-macros/xorg-x11-util-macros.nm [deleted file]
xorg-x11-xinit/patches/xinit-1.0.2-client-session.patch [deleted file]
xorg-x11-xinit/patches/xorg-x11-xinit-1.3.2-systemd-logind.patch [deleted file]
xorg-x11-xinit/xorg-x11-xinit.nm [deleted file]
xorg-x11-xkb-utils/xorg-x11-xkb-utils.nm [deleted file]
xorg-x11-xtrans-devel/patches/xtrans-1.0.3-avoid-gethostname.patch [deleted file]
xorg-x11-xtrans-devel/xorg-x11-xtrans-devel.nm [deleted file]
xrandr/xrandr.nm [deleted file]
xterm/patches/xterm-245-resources.patch [deleted file]
xterm/patches/xterm-256-man-page_paths.patch [deleted file]
xterm/patches/xterm-261-desk.patch [deleted file]
xterm/xterm.nm [deleted file]
xxhash/xxhash.nm [new file with mode: 0644]
xz/xz.nm
yajl/yajl.nm [moved from sysfsutils/sysfsutils.nm with 54% similarity]
zd1211-firmware/zd1211-firmware.nm [deleted file]
zenity/zenity.nm [deleted file]
zerofree/zerofree.nm [deleted file]
zlib/zlib.nm
zstd/zstd.nm [new file with mode: 0644]

index b72f9be2042aa06db9cb3a6f533f953b5ce29901..9f88cd7bfa396da9e572783df24f75f3e8a08440 100644 (file)
@@ -1,2 +1,3 @@
 *~
+*.pfm
 *.swp
index 92037ffc85bd3131ff04267ee72ad6838ed4f4f9..3ef144fcdc7266d384ad08b791e168194ff23580 100644 (file)
@@ -4,12 +4,12 @@
 ###############################################################################
 
 name       = ImageMagick
-version    = 6.9.3
-release    = 1
-patchlevel = 7
+version    = 7.1.0
+patchlevel = 62
+release    = 1.1
 
 groups     = Application/Multimedia
-url        = http://www.imagemagick.org/
+url        = https://www.imagemagick.org/
 license    = ImageMagick
 summary    = Command line programm to create and convert several image formats.
 
@@ -21,30 +21,61 @@ end
 
 thisapp    = %{name}-%{version}-%{patchlevel}
 
-source_dl  = ftp://ftp.ImageMagick.org/pub/%{name}/
+source_dl  = https://imagemagick.org/archive/releases/
 sources    = %{thisapp}.tar.xz
 
 build
        requires
+               bzip2-devel
+               fontconfig-devel
+               freetype-devel
+               ghostscript-devel
+               graphviz-devel
+               lcms2-devel
                libjpeg-devel
                libpng-devel
-               librsvg2-devel
                libtiff-devel
                libxml2-devel
+               pango-devel
+               xz-devel
+               zlib-devel
+               zstd-devel
        end
 
        configure_options += \
-               --sysconfdir=/etc \
                --enable-shared \
                --disable-static \
-               --with-threads
+               --disable-docs \
+               --with-threads \
+               --with-bzlib=yes \
+               --with-fontconfig=yes \
+               --with-freetype=yes \
+               --with-gslib=yes \
+               --with-gvc=yes \
+               --with-jpeg=yes \
+               --with-lcms=yes \
+               --with-lzma=yes \
+               --with-pango=yes \
+               --with-png=yes \
+               --with-tiff=yes \
+               --with-xml=yes \
+               --with-zlib=yes \
+               --with-zstd=yes
 end
 
 packages
        package %{name}
 
+       package %{name}-libs
+               template LIBS
+       end
+
        package %{name}-devel
                template DEVEL
+
+               requires
+                       ImageMagick-libs = %{thisver}
+               end
        end
 
        package %{name}-debuginfo
diff --git a/MAKEDEV/MAKEDEV.nm b/MAKEDEV/MAKEDEV.nm
deleted file mode 100644 (file)
index b59e489..0000000
+++ /dev/null
@@ -1,63 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = MAKEDEV
-version    = 3.24
-release    = 2
-
-groups     = System/Base
-url        =
-license    = GPLv2
-summary    = A program used for creating device files in /dev.
-
-description
-       This package contains the MAKEDEV program, which makes it easier to create
-       and maintain the files in the /dev directory.  /dev directory files
-       correspond to a particular device supported by Linux (serial or printer
-       ports, scanners, sound cards, tape drives, CD-ROM drives, hard drives,
-       etc.) and interface with the drivers in the kernel.
-
-       You should install the MAKEDEV package because the MAKEDEV utility makes
-       it easy to manage the /dev directory device files.
-end
-
-sources    = %{thisapp}-1.tar.gz
-
-build
-       make_build_targets += OPTFLAGS="%{CFLAGS}"
-       make_install_targets += devdir=/dev makedevdir=/sbin
-
-       install_cmds
-               rm -f %{BUILDROOT}/dev/MAKEDEV
-               mkdir -pv %{BUILDROOT}/usr/share/man/man5
-               install -m 644 -p %{DIR_SOURCE}/makedev.d.5 \
-                       %{BUILDROOT}/usr/share/man/man5
-               mkdir -pv %{BUILDROOT}/lib/udev/devices
-               ln -svf ../../../sbin/MAKEDEV \
-                       %{BUILDROOT}/lib/udev/devices/MAKEDEV
-       end
-end
-
-packages
-       package %{name}
-               groups += Base
-
-               prerequires = shadow-utils
-               requires += udev
-
-               script prein
-                       # Add the floopy group and the vcsa user.
-                       getent group floppy >/dev/null || groupadd -g 19 -r -f floppy
-                       getent group vcsa >/dev/null || groupadd -g 69 -r -f vcsa
-                       getent passwd vcsa >/dev/null || \
-                               useradd -r -g vcsa -d /dev -s /sbin/nologin -u 69 \
-                               -c "virtual console memory owner" vcsa 2>/dev/null
-               end
-       end
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
diff --git a/MAKEDEV/makedev.d.5 b/MAKEDEV/makedev.d.5
deleted file mode 100644 (file)
index 290334c..0000000
+++ /dev/null
@@ -1,180 +0,0 @@
-.\" Copyright (c) 2002 Thierry Vignaud <tvignaud@mandrakesoft.com>
-.\" Copyright (c) 2010 Hans de Goede <hdegoede@redhat.com>
-.\"
-.\" This is free documentation; you can redistribute it and/or
-.\" modify it under the terms of the GNU General Public License as
-.\" published by the Free Software Foundation; either version 2 of
-.\" the License, or (at your option) any later version.
-.\"
-.\" The GNU General Public License's references to "object code"
-.\" and "executables" are to be interpreted as the output of any
-.\" document formatting or typesetting system, including
-.\" intermediate and printed output.
-.\"
-.\" This manual is distributed in the hope that it will be useful,
-.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
-.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-.\" GNU General Public License for more details.
-.\"
-.\" You should have received a copy of the GNU General Public
-.\" License along with this manual; if not, write to the Free
-.\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111,
-.\" USA.
-.\"
-.\"
-.TH makedev.d 5 "1 June 2010" "Red Hat Linux" "Linux System Administrator's Manual"
-.SH NAME
-makedev.d \- configuration files for devices creation through MAKEDEV
-.\".SH SYNOPSIS
-.SH DESCRIPTION
-The behavior of
-.B MAKEDEV
-is instrumented by the configuration files in
-.I /etc/makedev.d/
-directory. They're read and "executed" by
-.BR MAKEDEV(8)
-on post installation of the MAKEDEV package.
-.PP
-These configuration file consists of a set of lines.
-.PP
-All empty lines, and all text on a line after a '#', will be ignored.
-.PP
-The remaining lines should all conform to one of the following formats:
-.SH SYNTAX
-This is a description of the four basic legal directives.
-.TP
-.B =NAME expanded text
-this define a macro. eg: 
-.I =BURNER   660 root cdwriter
-will make 
-.B MAKEDEV
-expand
-.I $BURNER
-when encountered.
-.TP
-.B b mask owner group   major minor  minor_step dev_number root_name base
-this directive define some
-.I block
-(``b'') device(s) creation.  They will be owned by
-.I owner
-and
-.I group
-and will have the
-.I major
-and
-.I minor
-as major and minor numbers.
-.br
-The
-.I dev_number
-arguments define how many devices will be created. If 
-.I dev_number
-is different from 1, then
-.I dev_number
-devices will be created, their minor number being incremented by
-.I minor_step
-at each step.
-.br
-If only one device is created, it will be named \fIroot_name\fP.  Else,
-the devices will be named with regards to the following rules :
-.RS 7
-.IP \(bu
-If 
-.I root_name
-does not contains ``%d'', then ```\fI%d\fP'' is appended to its end.
-.IP \(bu
-If 
-.I base
-is not set, it is initialized to zero.
-.IP \(bu
-Then, at each step, the name of the device we have to created is obtained
-by incrementing
-.I base
-and replacing ``%d'' by \fI base\fP. This is equivament to these statements :
-.NF
-$base++; $file = sprintf($name, $base);
-.FI
-.\" If several devices have to be created and if 
-.RE
-.TP
-.B c mask owner group   major minor  minor_step dev_number root_name base
-is quite the same directive as the previous one, exept its purpose is
-.I character
-devices (``c'') creation.
-.TP
-.B l destination source
-will make
-.B makdev
-symlink
-.I source
-on \fIdestination\fP.
-.\" .TP
-.\" .B s mask owner group root_name
-.\" will make
-.\" .B makdev
-.\" creating a node like the \fBb\fP and the \fBc\fP directives, but as a regular
-.\" file with the sticky bit positionned.
-.SH CUSTOMIZATION
-Since there is currently no standardization in what names are used for
-system users and groups, it is possible that you may need to modify
-\fBMAKEDEV\fR's configuration files to reflect your site's settings.
-.SH EXAMPLES
-.RS
-.sp
-.nf
-.ne 7
-# /etc/makedev.d/test sample
-#
-
-# the following line create (```\fBc\fP'') the famous \fI/dev/null\fP entry
-# with 666 mask (file access permissions), with 1 as major and
-# 3 as minor
-c 666 root root         1   3  1  1 null
-
-
-# the following line define the STORAGE macro that specify a 660
-# mask for file permissions, root as owner and disk as group
-=STORAGE  660 root disk
-
-# the following line create 16 \fI/dev/hdaX\fP entries (/dev/hda0 to
-# /dev/hda15) with the permissions and ownership defined above,
-# and with 22 as major
-b $STORAGE             22   0  1 16 hda%d
-
-# this one link /dev/snd on alsa entry in procfs
-# (usually mounted in /proc)
-l snd ../proc/asound/dev
-.fi
-.sp
-.RE
-.PP
-.SH NOTES
-The name of the file may contain some ``\fI/\fP'' characters :
-.B makdev
-will create the necessary directories if the node to create must be
-in a sub directory.
-.br
-Comments must begin on first line character.
-.br
-Files are parsed one by one, after having been sorted by name in alphabetical order.
-.SH FILES
-The
-.IR /etc/makedev.d/*
-files contains instructions that instrument
-.B makdev
-to create the device files in /dev.  Especially,
-.IR /etc/makedev.d/00macros
-define most frequently used macros.
-.SH "SEE ALSO"
-Linux Allocated Devices
-.br
-It can be found in
-.IR /usr/share/doc/kernel-doc-<VERSION>/Documentation/devices.txt
-if the kernel-doc package is installed. <VERSION> is the version number
-of the installed kernel (eg: 2.6.32).
-.PP
-.BR MAKEDEV (8)
-.SH AUTHOR
-.RI "Thierry Vignaud <" tvignaud@mandrakesoft.com ">, 2002"
-.br
-.RI "Hans de Goede <" hdegoede@redhat.com ">, 2010"
diff --git a/SDL/SDL.nm b/SDL/SDL.nm
deleted file mode 100644 (file)
index 21fd515..0000000
+++ /dev/null
@@ -1,64 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = SDL
-version    = 1.2.15
-release    = 1
-
-groups     = System/Libraries
-url        = http://www.libsdl.org/
-license    = LGPLv2+
-summary    = A cross-platform multimedia library.
-
-description
-       Simple DirectMedia Layer (SDL) is a cross-platform multimedia library
-       designed to provide fast access to the graphics frame buffer and audio
-       device.
-end
-
-source_dl  = http://www.libsdl.org/release/
-
-build
-       requires
-               libusb-compat-devel
-               libX11-devel
-               libXext-devel
-               libXrandr-devel
-               libXrender-devel
-               mesa-devel
-       end
-
-       if "%{DISTRO_PLATFORM}" == "x86"
-               requires += nasm
-       end
-
-       configure_options += \
-               --disable-video-svga \
-               --disable-video-ggi \
-               --disable-video-aalib \
-               --disable-video-ps3 \
-               --enable-sdl-dlopen
-end
-
-packages
-       package %{name}
-
-       package %{name}-devel
-               template DEVEL
-
-               requires
-                       libX11-devel
-                       libXext-devel
-                       libXrandr-devel
-                       libXrender-devel
-                       mesa-devel
-                       SDL = %{thisver}
-               end
-       end
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
diff --git a/X11vnc/X11vnc.nm b/X11vnc/X11vnc.nm
deleted file mode 100644 (file)
index e38dd26..0000000
+++ /dev/null
@@ -1,60 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = X11vnc
-version    = 0.9.12
-release    = 0
-
-groups     = Development/Tools
-url        = http://www.karlrunge.com/x11vnc/
-license    = GPLv2
-summary    = VNC server for the current X11 session.
-
-description
-       X11vnc provides a VNC access to the current X11 session.
-end
-
-source_dl  = http://sourceforge.net/projects/libvncserver/files/x11vnc/%{version}/
-sources    = x11vnc-%{version}.tar.gz
-
-build
-       requires
-               libX11-devel
-               libXdamage-devel
-               libXext-devel
-               libXi-devel
-               libXfixes-devel
-               libXtst-devel
-               libjpeg-devel
-               libVNCServer-devel
-               openssl-devel
-               xorg-x11-proto-devel
-               zlib-devel
-       end
-
-       DIR_APP = %{DIR_SRC}/x11vnc-%{version}
-
-       configure_options += \
-               --mandir=/usr/share/man \
-               --with-system-libvncserver \
-               --without-tightvnc-filetransfer
-
-       # Remove java executables
-       install_cmds
-               cd %{BUILDROOT} && find -name '*.jar' -exec rm {} \;
-       end
-end
-
-packages
-       package %{name}
-               requires
-                       xorg-x11-server
-               end
-       end
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
diff --git a/X11vnc/patches/x11vnc-0.9.8-XShm-explicit-include.patch b/X11vnc/patches/x11vnc-0.9.8-XShm-explicit-include.patch
deleted file mode 100644 (file)
index 8ef1e3c..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
---- a/x11vnc/cleanup.c.orig    2009-06-14 19:29:17.000000000 +0400
-+++ b/x11vnc/cleanup.c 2009-08-07 02:44:14.000000000 +0400
-@@ -50,6 +50,7 @@
- #include "screen.h"
- #include "xrecord.h"
- #include "xevents.h"
-+#include <X11/extensions/shmproto.h> // For X_ShmAttach in Fedora 12
- /*
-  * Exiting and error handling routines
diff --git a/X11vnc/patches/x11vnc-0.9.8-disableRpath.patch b/X11vnc/patches/x11vnc-0.9.8-disableRpath.patch
deleted file mode 100644 (file)
index 81be9a7..0000000
+++ /dev/null
@@ -1,103 +0,0 @@
---- a/configure.orig   2009-06-19 18:44:21.000000000 +0400
-+++ b/configure        2009-07-29 16:01:13.000000000 +0400
-@@ -4183,7 +4183,7 @@
-     "SunOS 5"*)
-       echo "$as_me:$LINENO: checking whether -R must be followed by a space" >&5
- echo $ECHO_N "checking whether -R must be followed by a space... $ECHO_C" >&6
--      ac_xsave_LIBS=$LIBS; LIBS="$LIBS -R$x_libraries"
-+      ac_xsave_LIBS=$LIBS; LIBS="$LIBS"
-       cat >conftest.$ac_ext <<_ACEOF
- /* confdefs.h.  */
- _ACEOF
-@@ -4233,9 +4233,9 @@
-       if test $ac_R_nospace = yes; then
-       echo "$as_me:$LINENO: result: no" >&5
- echo "${ECHO_T}no" >&6
--      X_LIBS="$X_LIBS -R$x_libraries"
-+      X_LIBS="$X_LIBS"
-       else
--      LIBS="$ac_xsave_LIBS -R $x_libraries"
-+      LIBS="$ac_xsave_LIBS"
-       cat >conftest.$ac_ext <<_ACEOF
- /* confdefs.h.  */
- _ACEOF
-@@ -4285,7 +4285,7 @@
-       if test $ac_R_space = yes; then
-         echo "$as_me:$LINENO: result: yes" >&5
- echo "${ECHO_T}yes" >&6
--        X_LIBS="$X_LIBS -R $x_libraries"
-+        X_LIBS="$X_LIBS"
-       else
-         echo "$as_me:$LINENO: result: neither works" >&5
- echo "${ECHO_T}neither works" >&6
-@@ -6705,7 +6705,7 @@
-               if test ! -z "$HAVE_LIBXFIXES" -o ! -z "$HAVE_LIBXDAMAGE"; then
-                       # need /usr/sfw/lib in RPATH for Solaris 10 and later
-                       case `(uname -sr) 2>/dev/null` in
--                      "SunOS 5"*) X_EXTRA_LIBS="$X_EXTRA_LIBS -R/usr/sfw/lib" ;;
-+                      "SunOS 5"*) X_EXTRA_LIBS="$X_EXTRA_LIBS" ;;
-                       esac
-               fi
-               if test ! -z "$HAVE_LIBXRANDR"; then
-@@ -7026,9 +7026,9 @@
-               if test "x$ld_minus_R" = "xno"; then
-                       :
-               elif test "x$GCC" = "xyes"; then
--                      LDFLAGS="$LDFLAGS -Xlinker -R$with_ssl/lib"
-+                      LDFLAGS="$LDFLAGS -Xlinker"
-               else
--                      LDFLAGS="$LDFLAGS -R$with_ssl/lib"
-+                      LDFLAGS="$LDFLAGS"
-               fi
-       fi
-       echo "$as_me:$LINENO: checking for RAND_file_name in -lcrypto" >&5
-@@ -7910,13 +7910,6 @@
-       fi
-       if test "x$with_system_libvncserver" != "xyes"; then
-               rflag=""
--              if test "x$ld_minus_R" = "xno"; then
--                      :
--              elif test "x$GCC" = "xyes"; then
--                      rflag="-Xlinker -R$with_system_libvncserver/lib"
--              else
--                      rflag="-R$with_system_libvncserver/lib"
--              fi
-               cmd="$with_system_libvncserver/bin/libvncserver-config"
-               if $cmd --version 1>/dev/null 2>&1; then
-                       cvers=`$cmd --version 2>/dev/null`
-@@ -7958,9 +7951,9 @@
-               if test "x$ld_minus_R" = "xno"; then
-                       :
-               elif test "x$GCC" = "xyes"; then
--                      rflag=" -Xlinker -R$rprefix/lib "
-+                      rflag=" -Xlinker "
-               else
--                      rflag=" -R$rprefix/lib "
-+                      rflag=" "
-               fi
-               cvers=`libvncserver-config --version 2>/dev/null`
-               cscore=`echo "$cvers" | tr '.' ' ' | awk '{print 10000 * $1 + 100 * $2 + $3}'`
-@@ -8039,9 +8032,9 @@
-                       :
-               elif test "x$GCC" = "xyes"; then
-                       # this is not complete... in general a rat's nest.
--                      LDFLAGS="$LDFLAGS -Xlinker -R$with_jpeg/lib"
-+                      LDFLAGS="$LDFLAGS -Xlinker"
-               else
--                      LDFLAGS="$LDFLAGS -R$with_jpeg/lib"
-+                      LDFLAGS="$LDFLAGS"
-               fi
-       fi
-       if test "${ac_cv_header_jpeglib_h+set}" = set; then
-@@ -8320,9 +8313,9 @@
-               if test "x$ld_minus_R" = "xno"; then
-                       :
-               elif test "x$GCC" = "xyes"; then
--                      LDFLAGS="$LDFLAGS -Xlinker -R$with_zlib/lib"
-+                      LDFLAGS="$LDFLAGS -Xlinker"
-               else
--                      LDFLAGS="$LDFLAGS -R$with_zlib/lib"
-+                      LDFLAGS="$LDFLAGS"
-               fi
-       fi
-       if test "${ac_cv_header_zlib_h+set}" = set; then
index 529168172aeb5c8987f9ff067899a2846f0ac6ab..64f3026a100d5fd80476345af525c26022be6cfc 100644 (file)
@@ -4,11 +4,11 @@
 ###############################################################################
 
 name       = acl
-version    = 2.2.51
-release    = 4
+version    = 2.3.1
+release    = 1.1
 
 groups     = System/Filesystems
-url        = http://oss.sgi.com/projects/xfs/
+url        = https://savannah.nongnu.org/projects/acl
 license    = GPLv2+
 summary    = Access control list utilities.
 
@@ -17,14 +17,12 @@ description
        manipulating access control lists.
 end
 
-source_dl  = http://download-mirror.savannah.gnu.org/releases/acl/
-sources    = %{thisapp}.src.tar.gz
+source_dl  = https://download-mirror.savannah.gnu.org/releases/acl/
 
 build
        requires
                gettext
                libattr-devel
-               libnfsidmap-devel
                libtool
        end
 
@@ -32,16 +30,12 @@ build
                --libexecdir=%{libdir} \
                --disable-static
 
-       make_build_targets += LIBTOOL="libtool --tag=CC"
-
        test
-               make tests || true
+               make check || true
        end
 
-       make_install_targets += install-dev install-lib
-
        install_cmds
-               # Fix library permissions.
+               # Fix library permissions
                chmod 755 %{BUILDROOT}%{libdir}/libacl.so.*
        end
 end
diff --git a/acl/patches/acl-2.2.39-build.patch b/acl/patches/acl-2.2.39-build.patch
deleted file mode 100644 (file)
index fbe608a..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-diff --git a/include/builddefs.in b/include/builddefs.in
-index d054a56..10b0cd4 100644
---- a/include/builddefs.in
-+++ b/include/builddefs.in
-@@ -28,14 +28,14 @@ PKG_RELEASE        = @pkg_release@
- PKG_VERSION   = @pkg_version@
- PKG_PLATFORM  = @pkg_platform@
- PKG_DISTRIBUTION= @pkg_distribution@
--PKG_BIN_DIR   = @bindir@
--PKG_SBIN_DIR  = @sbindir@
--PKG_LIB_DIR   = @libdir@@libdirsuffix@
--PKG_DEVLIB_DIR        = @libexecdir@@libdirsuffix@
--PKG_INC_DIR   = @includedir@
--PKG_MAN_DIR   = @mandir@
--PKG_DOC_DIR   = @datadir@/doc/@pkg_name@
--PKG_LOCALE_DIR        = @datadir@/locale
-+PKG_BIN_DIR   = $(DESTDIR)@bindir@
-+PKG_SBIN_DIR  = $(DESTDIR)@sbindir@
-+PKG_LIB_DIR   = $(DESTDIR)@libdir@@libdirsuffix@
-+PKG_DEVLIB_DIR        = $(DESTDIR)@libexecdir@@libdirsuffix@
-+PKG_INC_DIR   = $(DESTDIR)@includedir@
-+PKG_MAN_DIR   = $(DESTDIR)@mandir@
-+PKG_DOC_DIR   = $(DESTDIR)@datadir@/doc/@pkg_name@-@pkg_version@
-+PKG_LOCALE_DIR        = $(DESTDIR)@datadir@/locale
- CC            = @cc@
- AWK           = @awk@
-diff --git a/include/buildmacros b/include/buildmacros
-index 17423c0..3118a17 100644
---- a/include/buildmacros
-+++ b/include/buildmacros
-@@ -40,7 +40,7 @@ OBJECTS = $(ASFILES:.s=.o) \
-         $(LFILES:.l=.o) \
-         $(YFILES:%.y=%.tab.o)
--INSTALL       = $(TOPDIR)/include/install-sh -o $(PKG_USER) -g $(PKG_GROUP)
-+INSTALL       = $(TOPDIR)/include/install-sh
- SHELL = /bin/sh
- IMAGES_DIR = $(TOPDIR)/all-images
diff --git a/acl/patches/acl-2.2.49-bz675451.patch b/acl/patches/acl-2.2.49-bz675451.patch
deleted file mode 100644 (file)
index cb742b4..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
- man/man1/setfacl.1 |    4 ++--
- 1 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/man/man1/setfacl.1 b/man/man1/setfacl.1
-index 25908e2..776f22d 100644
---- a/man/man1/setfacl.1
-+++ b/man/man1/setfacl.1
-@@ -240,8 +240,8 @@ owner, owning group, or others entry, a copy of the ACL owner, owning group, or
- .IP * 4
- If a Default ACL contains named user entries or named group entries, and no mask entry exists, a mask entry containing the same permissions as the default Default ACL's group entry is added. Unless the
- .I \-n
--option is given, the permissions of the mask entry are further adjusted to inclu
--de the union of all permissions affected by the mask entry. (See the
-+option is given, the permissions of the mask entry are further adjusted to
-+include the union of all permissions affected by the mask entry. (See the
- .I \-n
- option description).
- .PP
diff --git a/acl/patches/acl-2.2.49-tests.patch b/acl/patches/acl-2.2.49-tests.patch
deleted file mode 100644 (file)
index 1ceabf8..0000000
+++ /dev/null
@@ -1,136 +0,0 @@
-diff --git a/test/cp.test b/test/cp.test
-index a888c04..4a75ffd 100644
---- a/test/cp.test
-+++ b/test/cp.test
-@@ -9,7 +9,7 @@ The cp utility should only copy ACLs if `-p' is given.
-       > -rw-rw-r--+
-       
-       $ cp f g
--      $ ls -l g | awk -- '{ print $1 }'
-+      $ ls -l g | awk -- '{ print $1 }' | sed 's/\\.$//'
-       > -rw-r--r--
-       
-       $ rm g
-diff --git a/test/getfacl-recursive.test b/test/getfacl-recursive.test
-index b88c211..a72192e 100644
---- a/test/getfacl-recursive.test
-+++ b/test/getfacl-recursive.test
-@@ -1,5 +1,6 @@
- Tests for proper path recursion
-+      $ umask 022
-       $ mkdir -p 1/2/3
-       $ mkdir 1/link
-       $ touch 1/link/file
-diff --git a/test/misc.test b/test/misc.test
-index 7c62c64..e6140da 100644
---- a/test/misc.test
-+++ b/test/misc.test
-@@ -254,7 +254,7 @@ Add some users and groups
- Symlink in directory with default ACL?
-        
-       $ ln -s d d/l
--      $ ls -dl d/l | awk '{print $1}'
-+      $ ls -dl d/l | awk '{print $1}' | sed 's/\\.$//'
-       > lrwxrwxrwx
-       $ ls -dl -L d/l | awk '{print $1}'
-@@ -343,7 +343,7 @@ Remove the default ACL
- Reset to base entries
-        
-       $ setfacl -b d
--      $ ls -dl d | awk '{print $1}'
-+      $ ls -dl d | awk '{print $1}' | sed 's/\\.$//'
-       > drwxr-x---
-       $ getfacl --omit-header d
-@@ -355,7 +355,7 @@ Reset to base entries
- Now, chmod should change the group_obj entry
-        
-       $ chmod 775 d
--      $ ls -dl d | awk '{print $1}'
-+      $ ls -dl d | awk '{print $1}' | sed 's/\\.$//'
-       > drwxrwxr-x
-       
-       $ getfacl --omit-header d
-diff --git a/test/root/permissions.test b/test/root/permissions.test
-index afaf5f0..4880bd2 100644
---- a/test/root/permissions.test
-+++ b/test/root/permissions.test
-@@ -20,7 +20,7 @@ defined permissions.
-       $ cd d
-       $ umask 027
-       $ touch f
--      $ ls -l f | awk -- '{ print $1, $3, $4 }'
-+      $ ls -l f | awk -- '{ print $1, $3, $4 }' | sed 's/---\\./---/'
-       > -rw-r----- root root
-@@ -40,7 +40,7 @@ Now, change the ownership of the file to bin:bin and verify that this
- gives user bin write access.
-       $ chown bin:bin f
--      $ ls -l f | awk -- '{ print $1, $3, $4 }'
-+      $ ls -l f | awk -- '{ print $1, $3, $4 }' | sed 's/---\\./---/'
-       > -rw-r----- bin bin
-       $ su bin
-       $ echo bin >> f
-@@ -257,12 +257,12 @@ directories if the file has an ACL and only CAP_FOWNER would grant them.
-       $ mkdir -m 600 x
-       $ chown daemon:daemon x
-       $ echo j > x/j
--      $ ls -l x/j | awk -- '{ print $1, $3, $4 }'
-+      $ ls -l x/j | awk -- '{ print $1, $3, $4 }' | sed 's/---\\./---/'
-       > -rw-r----- root root
-       $ setfacl -m u:daemon:r x
--      $ ls -l x/j | awk -- '{ print $1, $3, $4 }'
-+      $ ls -l x/j | awk -- '{ print $1, $3, $4 }' | sed 's/---\\./---/'
-       > -rw-r----- root root
-       (With the bug this gives: `ls: x/j: Permission denied'.)
-diff --git a/test/root/restore.test b/test/root/restore.test
-index 6003cd4..5dbf73c 100644
---- a/test/root/restore.test
-+++ b/test/root/restore.test
-@@ -17,7 +17,7 @@ Ensure setuid bit is restored when the owner changes
-       $ chown bin passwd
-       $ chmod u+s passwd
-       $ setfacl --restore passwd.acl
--      $ ls -dl passwd | awk '{print $1 " " $3 " " $4}'
-+      $ ls -dl passwd | awk '{print $1 " " $3 " " $4}' | sed 's/\\. root/ root/'
-       > -rwsr-xr-x root root
-       $ rm passwd passwd.acl
-diff --git a/test/root/setfacl.test b/test/root/setfacl.test
-index 630e9fb..dd7fe08 100644
---- a/test/root/setfacl.test
-+++ b/test/root/setfacl.test
-@@ -8,7 +8,7 @@ Setfacl utility tests. Run these tests on a filesystem with ACL support.
-       $ sg bin
-       $ umask 027
-       $ touch g
--      $ ls -dl g | awk '{print $1}'
-+      $ ls -dl g | awk '{print $1}' | sed 's/\\.$//'
-       > -rw-r-----
-       $ setfacl -m m:- g
-diff --git a/test/sbits-restore.test b/test/sbits-restore.test
-index e5e4fb2..abdb58a 100644
---- a/test/sbits-restore.test
-+++ b/test/sbits-restore.test
-@@ -13,10 +13,10 @@ Ensure setting of SUID/SGID/sticky via --restore works
-       $ touch d/g
-       $ touch d/u
-       $ setfacl --restore d.acl
--      $ ls -dl d | awk '{print $1}'
-+      $ ls -dl d | awk '{print $1}' | sed 's/\\.$//'
-       > drwxr-xr-t
--      $ ls -dl d/u | awk '{print $1}'
-+      $ ls -dl d/u | awk '{print $1}' | sed 's/\\.$//'
-       > -rwSr--r--
--      $ ls -dl d/g | awk '{print $1}'
-+      $ ls -dl d/g | awk '{print $1}' | sed 's/\\.$//'
-       > -rw-r-Sr--
-       $ rm -Rf d
diff --git a/acpid/acpid.nm b/acpid/acpid.nm
deleted file mode 100644 (file)
index f13dfe4..0000000
+++ /dev/null
@@ -1,62 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = acpid
-version    = 2.0.27
-release    = 1
-
-# ACPI is only available on x86 architectures.
-sup_arches = x86_64 i686
-
-groups     = System/Daemons
-url        = http://tedfelix.com/linux/acpid-netlink.html
-license    = GPLv2+
-summary    = ACPI Event Daemon.
-
-description
-       acpid is a daemon that dispatches ACPI events to user-space programs.
-end
-
-source_dl  = https://sourceforge.net/projects/acpid2/files/
-sources    = %{thisapp}.tar.xz
-
-build
-       install_cmds
-               mkdir -pv %{BUILDROOT}/etc/acpi/{actions,events}
-               cp -vf %{DIR_SOURCE}/power %{BUILDROOT}/etc/acpi/events/
-               cp -vf %{DIR_SOURCE}/power.sh %{BUILDROOT}/etc/acpi/actions/
-       end
-end
-
-packages
-       package %{name}
-               groups += Base
-
-               script postin
-                       /usr/bin/systemctl daemon-reload >/dev/null 2>&1 || :
-
-                       # ACPI is enabled by default.
-                       /usr/bin/systemctl --no-reload enable acpid.service >/dev/null 2>&1 || :
-               end
-
-               script preun
-                       /usr/bin/systemctl --no-reload disable acpid.service >/dev/null 2>&1 || :
-                       /usr/bin/systemctl stop acpid.service >/dev/null 2>&1 || :
-               end
-
-               script postun
-                       /usr/bin/systemctl daemon-reload >/dev/null 2>&1 || :
-               end
-
-               script postup
-                       /usr/bin/systemctl daemon-reload >/dev/null 2>&1 || :
-                       /usr/bin/systemctl try-restart acpid.service >/dev/null 2>&1 || :
-               end
-       end
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
diff --git a/acpid/patches/acpid-2.0.15-makefile.patch b/acpid/patches/acpid-2.0.15-makefile.patch
deleted file mode 100644 (file)
index 0168986..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-diff -up acpid-2.0.15/Makefile.am.mk acpid-2.0.15/Makefile.am
---- acpid-2.0.15/Makefile.am.mk        2012-02-17 04:37:12.109907134 +0100
-+++ acpid-2.0.15/Makefile.am   2012-03-16 11:27:15.127573044 +0100
-@@ -20,7 +20,7 @@ acpi_listen_SOURCES = acpi_listen.c log.
- dist_man8_MANS = acpid.8 acpi_listen.8
--dist_doc_DATA = COPYING Changelog README TESTPLAN TODO
-+dist_doc_DATA = 
- # Just docs to add to the dist.
- # One problem with this is that it includes all files in the samples dir 
-diff -up acpid-2.0.15/Makefile.in.mk acpid-2.0.15/Makefile.in
---- acpid-2.0.15/Makefile.in.mk        2012-03-16 11:28:53.568421905 +0100
-+++ acpid-2.0.15/Makefile.in   2012-03-16 11:29:21.679378750 +0100
-@@ -276,7 +276,7 @@ acpid_SOURCES = acpid.c acpi_ids.c conne
- acpi_listen_SOURCES = acpi_listen.c log.c ud_socket.c
- dist_man8_MANS = acpid.8 acpi_listen.8
--dist_doc_DATA = COPYING Changelog README TESTPLAN TODO
-+dist_doc_DATA = 
- # Just docs to add to the dist.
- # One problem with this is that it includes all files in the samples dir 
diff --git a/acpid/power b/acpid/power
deleted file mode 100644 (file)
index 7406317..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-# ACPID config to power down machine if powerbutton is pressed
-
-event=button/power.*
-action=/etc/acpi/actions/power.sh
diff --git a/acpid/power.sh b/acpid/power.sh
deleted file mode 100755 (executable)
index 839a318..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-
-# Shutdown the system immediately
-shutdown -h now
diff --git a/acpid/systemd/acpid.service b/acpid/systemd/acpid.service
deleted file mode 100644 (file)
index 0826d86..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-[Unit]
-Description=ACPI Event Daemon
-After=syslog.target
-
-[Service]
-Type=forking
-ExecStart=/usr/sbin/acpid
-
-[Install]
-WantedBy=multi-user.target
diff --git a/apache/apache.nm b/apache/apache.nm
new file mode 100644 (file)
index 0000000..a4421b6
--- /dev/null
@@ -0,0 +1,104 @@
+###############################################################################
+# IPFire.org    - An Open Source Firewall Solution                            #
+# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
+###############################################################################
+
+name       = apache
+version    = 2.4.57
+release    = 1
+thisapp    = httpd-%{version}
+
+groups     = System/Libraries
+url        = https://httpd.apache.org/
+license    = ASL 2.0
+summary    = Apache Portable Runtime library
+
+description
+       The Apache HTTP Server Project is an effort to develop and maintain an open-source HTTP
+       server for modern operating systems including UNIX and Windows. The goal of this project is
+       to provide a secure, efficient and extensible server that provides HTTP services in sync with 
+       the current HTTP standards.
+
+       The Apache HTTP Server ("httpd") was launched in 1995 and it has been the most popular web
+       server on the Internet since April 1996. It has celebrated its 25th birthday as a project
+       in February 2020.
+
+       The Apache HTTP Server is a project of The Apache Software Foundation.
+end
+
+source_dl  = https://downloads.apache.org/httpd/
+sources    = %{thisapp}.tar.bz2
+
+build
+       requires
+               apr-devel
+               apr-util-devel
+               pcre-devel
+               pcre2-devel
+               openssl-devel
+               expat-devel
+               libuuid-devel
+               libxcrypt-devel
+       end
+       
+       prepare_cmds
+               ### Add IPFire's layout, too
+               echo "# IPFire layout" >> config.layout
+               echo "<Layout IPFire>" >> config.layout
+               echo "    prefix:             /usr" >> config.layout
+               echo "    exec_prefix:        /usr" >> config.layout
+               echo "    bindir:             /usr/bin" >> config.layout
+               echo "    sbindir:            /usr/sbin" >> config.layout
+               echo "    libdir:             /usr/lib" >> config.layout
+               echo "    libexecdir:         /usr/lib/httpd/modules" >> config.layout
+               echo "    mandir:             /usr/share/man" >> config.layout
+               echo "    sysconfdir:         /etc/httpd/conf" >> config.layout
+               echo "    datadir:            /srv/web/ipfire" >> config.layout
+               echo "    installbuilddir:    /usr/lib/apache/build" >> config.layout
+               echo "    errordir:           /srv/web/ipfire/error" >> config.layout
+               echo "    iconsdir:           /srv/web/ipfire/icons" >> config.layout
+               echo "    htdocsdir:          /srv/web/ipfire/htdocs" >> config.layout
+               echo "    manualdir:          /srv/web/ipfire/manual" >> config.layout
+               echo "    cgidir:             /srv/web/ipfire/cgi-bin" >> config.layout
+               echo "    includedir:         /usr/include/apache" >> config.layout
+               echo "    localstatedir:      /srv/web/ipfire" >> config.layout
+               echo "    runtimedir:         /var/run" >> config.layout
+               echo "    logfiledir:         /var/log/httpd" >> config.layout
+               echo "    proxycachedir:      /var/cache/apache/proxy" >> config.layout
+               echo "</Layout>" >> config.layout
+       end
+
+       configure_options += \
+               --enable-layout=IPFire \
+               --enable-ssl \
+               --enable-mods-shared=all \
+               --enable-proxy \
+               --with-mpm=event \
+               --disable-lua \
+               --disable-md \
+               --libexecdir=/usr/lib/httpd/modules
+
+       install_cmds
+               # var/run no longer used
+               rm -df %{BUILDROOT}/var/run
+               
+               # non executable bash scripts should not be in usr/sbin 
+               mv %{BUILDROOT}/usr/sbin/envvars* %{BUILDROOT}/usr/lib/apache/
+               
+               # change location of envars files in apachectl
+               sed -i 's#/usr/sbin/envvars#/usr/lib/apache/envvars#g' %{BUILDROOT}/usr/sbin/apachectl
+       end
+
+end
+
+packages
+       package %{name}
+
+       package %{name}-devel
+               template DEVEL
+       end
+
+       package %{name}-debuginfo
+               template DEBUGINFO
+       end
+end
index b2ab0233f7eb99fc24a1a13c03e4eabc45fff6c9..6e45f3abc0edbb4bafe8da3ba16555b6414eb19d 100644 (file)
@@ -4,13 +4,13 @@
 ###############################################################################
 
 name       = apr-util
-version    = 1.5.4
+version    = 1.6.3
 release    = 1
 
 groups     = System/Libraries
-url        = http://apr.apache.org/
+url        = https://apr.apache.org/
 license    = ASL 2.0
-summary    = Apache Portable Runtime library.
+summary    = Apache Portable Runtime library
 
 description
        The mission of the Apache Portable Runtime (APR) is to provide a
@@ -18,17 +18,17 @@ description
        portability layer to as many operating systems as possible.
 end
 
-source_dl  = http://www.apache.org/dist/apr/
-
+source_dl  = https://archive.apache.org/dist/apr/
 
 build
        requires
+               apr-devel
                autoconf
                libdb-devel
                expat-devel
-               libapr-devel
                libuuid-devel
                openssl-devel
+               libxcrypt-devel
        end
 
        configure_options += \
@@ -46,17 +46,6 @@ end
 packages
        package %{name}
 
-       package %{name}-openssl
-               summary = APR utility library OpenSSL crytpo support.
-               description = %{summary}
-
-               requires
-                       apr-util = %{thisver}
-               end
-
-               files = %{libdir}/apr-util*/apr_crypto_openssl*
-       end
-
        package %{name}-devel
                template DEVEL
        end
similarity index 67%
rename from libapr/libapr.nm
rename to apr/apr.nm
index 5554b2f7938b98d14b4d88d4e555ea327f290bbb..0e363c53f8c3654110cd91236cff07bb1342a0eb 100644 (file)
@@ -3,15 +3,14 @@
 # Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
 ###############################################################################
 
-name       = libapr
-version    = 1.5.2
-release    = 1
-thisapp    = apr-%{version}
+name       = apr
+version    = 1.7.4
+release    = 2
 
 groups     = System/Libraries
-url        = ttp://apr.apache.org/
+url        = https://apr.apache.org/
 license    = ASL 2.0
-summary    = Apache Portable Runtime library.
+summary    = Apache Portable Runtime library
 
 description
        The mission of the Apache Portable Runtime (APR) is to provide a
@@ -19,20 +18,17 @@ description
        portability layer to as many operating systems as possible.
 end
 
-source_dl  = http://www.apache.org/dist/apr/
+source_dl  = https://www.apache.org/dist/apr/
 
 build
        requires
                libuuid-devel
+               libxcrypt-devel
        end
 
        configure_options += \
-               --with-devrandom=/dev/urandom
-
-       install_cmds
-               # Remove unneded file.
-               rm -rvf %{BUILDROOT}/usr/lib/apr.exp
-       end
+               --disable-static \
+               --with-installbuilddir=/usr/share/apr-1/build
 end
 
 packages
@@ -40,9 +36,9 @@ packages
 
        package %{name}-devel
                template DEVEL
+       end
 
-               files += \
-                       /usr/bin \
-                       /usr/share
+       package %{name}-debuginfo
+               template DEBUGINFO
        end
 end
index 35c8fc434ebe4cd8782eaf4baa63786c0e03116c..9a2ee0bf28894756d571b032cb13200a8d3316c2 100644 (file)
@@ -4,12 +4,12 @@
 ###############################################################################
 
 name       = asciidoc
-version    = 8.6.9
+version    = 10.2.0
 release    = 1
-arch       = noarch
+thisapp    = %{name}-py-%{version}
 
 groups     = Application/System
-url        = http://www.methods.co.nz/asciidoc/
+url        = https://asciidoc.org/
 license    = GPL+ and GPLv2+
 summary    = Text based document generation.
 
@@ -19,19 +19,39 @@ description
        to HTML and DocBook markups using the asciidoc(1) command.
 end
 
-source_dl  = http://sourceforge.net/projects/asciidoc/files/%{name}/%{version}/
+source_dl  = https://github.com/%{name}-py/asciidoc-py/archive/%{version}/
 
 build
+       arches = noarch
+
        requires
-               python
+               autoconf
+               docbook-dsssl
+               docbook-xsl
+               libxslt
+               python3-devel
+               python3-setuptools
+       end
+
+       prepare_cmds
+               autoconf
        end
 
-       make_install_targets += docs
+       build_cmds
+               # Build asciidoc
+               %{python3} setup.py build
+       end
+
+       install
+               # Install asciidoc
+               %{python3} setup.py install \
+                       --root=%{BUILDROOT}
+
+               # Create directory layout for manpages
+               mkdir -pv %{BUILDROOT}%{mandir}/man1
 
-       install_cmds
-               # Install python API.
-               install -Dpm 644 asciidocapi.py \
-                       %{BUILDROOT}/usr/lib/python${PYTHON_VERSION}/site-packages/asciidocapi.py
+               # Install manpages
+               install -Dm0644 -t "%{BUILDROOT}%{mandir}/man1/" doc/*.1
        end
 end
 
diff --git a/at-spi2-atk/at-spi2-atk.nm b/at-spi2-atk/at-spi2-atk.nm
deleted file mode 100644 (file)
index 32a168e..0000000
+++ /dev/null
@@ -1,60 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = at-spi2-atk
-version    = %{ver_major}.%{ver_minor}
-ver_major  = 2.19
-ver_minor  = 92
-release    = 1
-
-groups     = System/Libraries
-url        = http://www.linuxfoundation.org/en/AT-SPI_on_D-Bus
-license    = LGPLv2+
-summary    = A GTK+ module that bridges ATK to D-Bus at-spi.
-
-description
-       The ATK library provides a set of interfaces for adding accessibility
-       support to applications and graphical user interface toolkits.
-end
-
-source_dl  = http://download.gnome.org/sources/%{name}/%{ver_major}/
-sources    = %{thisapp}.tar.xz
-
-build
-       requires
-               at-spi2-core-devel >= 2.19
-               atk-devel
-               dbus-devel >= 1.5
-               dbus-glib-devel
-               glib2-devel
-               intltool
-               libxml2-devel
-       end
-
-       configure_options += \
-               --disable-gtk-doc-html \
-               --disable-static
-
-       install_cmds
-               # Remove unneedet files.
-               rm -rvf %{BUILDROOT}%{libdir}/gnome-settings*
-               rm -rvf %{BUILDROOT}%{libdir}/gtk-2*
-       end
-end
-
-packages
-       package %{name}
-
-       package %{name}-devel
-               template DEVEL
-
-               files += \
-                       %{datadir}/gir*/
-       end
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
diff --git a/at-spi2-core/at-spi2-core.nm b/at-spi2-core/at-spi2-core.nm
deleted file mode 100644 (file)
index 0d525aa..0000000
+++ /dev/null
@@ -1,65 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = at-spi2-core
-version    = %{ver_major}.%{ver_minor}
-ver_major  = 2.19
-ver_minor  = 92
-release    = 2
-
-groups     = System/Libraries
-url        = http://www.linuxfoundation.org/en/AT-SPI_on_D-Bus
-license    = LGPLv2+
-summary    = Protocol definitions and daemon for D-Bus at-spi.
-
-description
-       The ATK library provides a set of interfaces for adding accessibility
-       support to applications and graphical user interface toolkits.
-end
-
-source_dl  = http://download.gnome.org/sources/%{name}/%{ver_major}/
-sources    = %{thisapp}.tar.xz
-
-build
-       requires
-               dbus-devel
-               intltool
-               glib2-devel
-               gobject-introspection-devel
-               libXtst-devel
-               libXext-devel
-               libXi-devel
-       end
-
-       export LD_LIBRARY_PATH = %{DIR_APP}/atspi/.libs
-
-       configure_options += \
-               --disable-gtk-doc-html \
-               --disable-static
-
-       install_cmds
-               # Remove unneeded files for xdg.
-               rm -rvf %{BUILDROOT}%{sysconfdir}/xdg
-       end
-end
-
-packages
-       package %{name}
-
-       package %{name}-libs
-               template LIBS
-       end
-
-       package %{name}-devel
-               template DEVEL
-
-               files += \
-                       %{datadir}/gir*/
-       end
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
diff --git a/atk/atk.nm b/atk/atk.nm
deleted file mode 100644 (file)
index 4b7c166..0000000
+++ /dev/null
@@ -1,58 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = atk
-version    = %{ver_major}.%{ver_minor}
-ver_major  = 2.20
-ver_minor  = 0
-release    = 2
-
-groups     = System/Libraries
-url        = http://www.gnome.org
-license    = LGPLv2+
-summary    = Interfaces for accessibility support.
-
-description
-       The ATK library provides a set of interfaces for adding accessibility
-       support to applications and graphical user interface toolkits.
-end
-
-source_dl  = http://download.gnome.org/sources/%{name}/%{ver_major}/
-sources    = %{thisapp}.tar.xz
-
-build
-       requires
-               glib2-devel >= 2.31.2
-               gobject-introspection-devel >= 1.39.3
-       end
-
-       export LD_LIBRARY_PATH=%{DIR_APP}/atk/.libs
-
-       configure_options += \
-               --enable-introspection=yes \
-               --disable-gtk-doc \
-               --disable-gtk-doc-html \
-               --disable-gtk-doc-pdf \
-               --disable-static
-
-       test
-               make check
-       end
-end
-
-packages
-       package %{name}
-
-       package %{name}-devel
-               template DEVEL
-
-               files += \
-                       %{datadir}/gir*/
-       end
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
index 31144ecada4cf5500ab3fd8741af65ff9a615817..cbfca419fd51e716156b25c9f89dcc3f2c8f979c 100644 (file)
@@ -4,11 +4,11 @@
 ###############################################################################
 
 name       = attr
-version    = 2.4.43
-release    = 7
+version    = 2.5.1
+release    = 1.1
 
 groups     = System/Filesystems
-url        = http://oss.sgi.com/projects/xfs/
+url        = https://savannah.nongnu.org/projects/attr
 license    = GPLv2+ LGPLv2+
 summary    = Tools for extended attribute support.
 
@@ -17,7 +17,7 @@ description
        objects.
 end
 
-source_dl  = ftp://oss.sgi.com/projects/xfs/previous/cmd_tars/
+source_dl  = https://download-mirror.savannah.gnu.org/releases/attr/
 
 build
        requires
@@ -29,9 +29,6 @@ build
                --libexecdir=%{libdir} \
                --enable-shared
 
-       make_build_targets += LIBTOOL="libtool --tag=CC"
-       make_install_targets += install-lib install-dev
-
        install_cmds
                # Fix absolute symlink.
                rm -rvf %{BUILDROOT}%{libdir}/libattr.so
diff --git a/attr/patches/attr-2.4.46-build.patch b/attr/patches/attr-2.4.46-build.patch
deleted file mode 100644 (file)
index 44d5c26..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-diff -Nur a/include/builddefs.in b/include/builddefs.in
---- a/include/builddefs.in     2008-06-30 07:38:27.000000000 +0200
-+++ b/include/builddefs.in     2012-04-12 22:20:47.479076688 +0200
-@@ -27,14 +27,14 @@
- PKG_VERSION   = @pkg_version@
- PKG_PLATFORM  = @pkg_platform@
- PKG_DISTRIBUTION= @pkg_distribution@
--PKG_BIN_DIR   = @bindir@
--PKG_SBIN_DIR  = @sbindir@
--PKG_LIB_DIR   = @libdir@@libdirsuffix@
--PKG_DEVLIB_DIR        = @libexecdir@@libdirsuffix@
--PKG_INC_DIR   = @includedir@/attr
--PKG_MAN_DIR   = @mandir@
--PKG_DOC_DIR   = @datadir@/doc/@pkg_name@
--PKG_LOCALE_DIR        = @datadir@/locale
-+PKG_BIN_DIR   = $(DESTDIR)@bindir@
-+PKG_SBIN_DIR  = $(DESTDIR)@sbindir@
-+PKG_LIB_DIR   = $(DESTDIR)@libdir@@libdirsuffix@
-+PKG_DEVLIB_DIR        = $(DESTDIR)@libexecdir@@libdirsuffix@
-+PKG_INC_DIR   = $(DESTDIR)@includedir@/attr
-+PKG_MAN_DIR   = $(DESTDIR)@mandir@
-+PKG_DOC_DIR   = $(DESTDIR)@datadir@/doc/@pkg_name@
-+PKG_LOCALE_DIR        = $(DESTDIR)@datadir@/locale
- CC            = @cc@
- AWK           = @awk@
-diff -Nur a/include/buildmacros b/include/buildmacros
---- a/include/buildmacros      2008-06-30 07:22:18.000000000 +0200
-+++ b/include/buildmacros      2012-04-12 22:21:18.737379800 +0200
-@@ -27,7 +27,7 @@
-         $(LFILES:.l=.o) \
-         $(YFILES:%.y=%.tab.o)
--INSTALL       = $(TOPDIR)/install-sh -o $(PKG_USER) -g $(PKG_GROUP)
-+INSTALL       = $(TOPDIR)/install-sh
- SHELL = /bin/sh
- IMAGES_DIR = $(TOPDIR)/all-images
diff --git a/audit/audit.nm b/audit/audit.nm
deleted file mode 100644 (file)
index 094a51b..0000000
+++ /dev/null
@@ -1,100 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = audit
-version    = 2.5
-release    = 1
-
-groups     = System/Daemons
-url        = http://people.redhat.com/sgrubb/audit/
-license    = GPLv2+
-summary    = User space tools for 2.6 kernel auditing.
-
-description
-       The audit package contains the user space utilities for
-       storing and searching the audit records generate by
-       the audit subsystem in the Linux 2.6 kernel.
-end
-
-source_dl  = http://people.redhat.com/sgrubb/audit/
-
-build
-       requires
-               autoconf
-               automake
-               libcap-ng-devel
-               libtool
-               openldap-devel
-               python-devel
-               swig
-       end
-
-       configure_options += \
-               --without-prelude \
-               --without-libwrap \
-               --enable-gssapi-krb5=no \
-               --with-libcap-ng=yes
-
-       prepare_cmds
-               autoreconf -fvi
-       end
-
-       install_cmds
-               mkdir -pv %{BUILDROOT}/var/log/audit
-
-               rm -rfv %{BUILDROOT}/etc/{rc.d,sysconfig}
-       end
-end
-
-packages
-       package %{name}
-               prerequires += systemd-units
-
-               script postin
-                       /bin/systemctl daemon-reload >/dev/null 2>&1 || :
-               end
-
-               script preun
-                       /bin/systemctl --no-reload disable auditd.service >/dev/null 2>&1 || :
-                       /bin/systemctl stop auditd.service >/dev/null 2>&1 || :
-               end
-
-               script postun
-                       /bin/systemctl daemon-reload >/dev/null 2>&1 || :
-               end
-
-               script postup
-                       /bin/systemctl daemon-reload >/dev/null 2>&1 || :
-                       /bin/systemctl try-restart auditd.service >/dev/null 2>&1 || :
-               end
-       end
-
-       package %{name}-libs
-               template LIBS
-       end
-
-       package %{name}-devel
-               template DEVEL
-
-               # Just require the libs to link
-               # against them.
-               requires
-                       %{name}-libs = %{thisver}
-               end
-       end
-
-       package python-%{name}
-               summary = Python bindings for libaudit.
-               description = %{summary}
-
-               files
-                       %{libdir}/python*/
-               end
-       end
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
diff --git a/audit/systemd/auditd.service b/audit/systemd/auditd.service
deleted file mode 100644 (file)
index 04b0b36..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-[Unit]
-Description=Security Auditing Service
-After=syslog.target
-
-[Service]
-ExecStart=/sbin/auditd -n
-ExecStartPost=/sbin/auditctl -R /etc/audit/audit.rules
-
-[Install]
-WantedBy=multi-user.target
-
diff --git a/authconfig/authconfig.nm b/authconfig/authconfig.nm
deleted file mode 100644 (file)
index 876b9a1..0000000
+++ /dev/null
@@ -1,93 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = authconfig
-version    = 6.2.10
-release    = 1
-
-groups     = System/Base
-url        = https://fedorahosted.org/authconfig
-license    = GPLv2+
-summary    = Command line tool for setting up authentication from network services.
-
-description
-       Authconfig is a command line utility which can configure a workstation
-       to use shadow (more secure) passwords.  Authconfig can also configure a
-       system to be a client for certain networked user information and
-       authentication schemes.
-end
-
-source_dl  = https://fedorahosted.org/releases/a/u/authconfig/
-sources    = %{thisapp}.tar.bz2
-
-build
-       requires
-               intltool
-               python-devel
-       end
-
-       # Manually link against libresolv.
-       export LDFLAGS += -lresolv
-
-       configure_options += \
-               --sysconfdir=/etc \
-               --localstatedir=/var \
-               --disable-static
-
-       # Hack to allow installation of the desktop file
-       prepare_cmds
-               ln -s /bin/true /usr/bin/desktop-file-install
-       end
-
-       install_cmds
-               # Remove useless symlinks in /usr/bin
-               rm -rf %{BUILDROOT}/usr/bin
-
-               # Replace absolute symlinks by relative ones
-               cd %{BUILDROOT}/usr/sbin && ln -sf ../share/authconfig/authconfig.py authconfig
-               cd %{BUILDROOT}/usr/sbin && ln -sf ../share/authconfig/authconfig-tui.py authconfig-tui
-
-               # Remove symlinks for gtk
-               rm -rf %{BUILDROOT}/usr/sbin/authconfig-gtk
-               rm -rf %{BUILDROOT}/usr/sbin/system-config-authentication
-
-               # Remove files for authconfig-gtk and system-config-authentication
-               rm -rf %{BUILDROOT}/etc/pam.d/authconfig-gtk
-               rm -rf %{BUILDROOT}/etc/pam.d/system-config-authentication
-               rm -rf %{BUILDROOT}/etc/security/console.apps/authconfig-gtk
-               rm -rf %{BUILDROOT}/etc/security/console.apps/system-config-authentication
-               rm -rf %{BUILDROOT}/usr/share/authconfig/authconfig-gtk.*
-               rm -rf %{BUILDROOT}/usr/share/man/man8/authconfig-gtk.8
-               rm -rf %{BUILDROOT}/usr/share/man/man8/system-config-authentication.8
-
-               # Remove app icons for authconfig
-               rm -rf %{BUILDROOT}/usr/share/icons
-
-               # Remove unneded stuff for X11
-               rm -rf %{BUILDROOT}/etc/X11
-       end
-end
-
-packages
-       package %{name}
-               requires
-                       libpwquality
-                       newt-python
-               end
-
-               configfiles
-                       %{sysconfdir}/sysconfig/authconfig
-                       %{sysconfdir}/pam.d
-               end
-       end
-
-       package %{name}-devel
-               template DEVEL
-       end
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
index a411bf9231e13b49f42790a61de8ceb20fef74f5..bef00007ed15d1818c73a55f727d95aa0dba6f18 100644 (file)
@@ -4,12 +4,11 @@
 ###############################################################################
 
 name       = autoconf
-version    = 2.69
-release    = 2
-arch       = noarch
+version    = 2.71
+release    = 3
 
 groups     = Development/Tools
-url        = http://www.gnu.org/software/autoconf/
+url        = https://www.gnu.org/software/autoconf/
 license    = GPLv2+
 summary    = A GNU tool for automatically configuring source code.
 
@@ -20,20 +19,29 @@ description
        specify various configuration options.
 end
 
-source_dl  = http://ftp.gnu.org/gnu/autoconf/
+source_dl  = https://ftp.gnu.org/gnu/autoconf/
 sources    = %{thisapp}.tar.xz
 
 build
+       arches = noarch
+
        requires
                m4
                perl
+               perl(File::Compare)
+               perl(File::Copy)
                perl(Data::Dumper)
        end
 end
 
 packages
        package %{name}
-               requires = m4
+               requires
+                       m4
+
+                       # Does not get autodetected correctly
+                       perl(File::Compare)
+               end
 
                filter_requires
                        perl>=[0-9]\:.*
diff --git a/autogen/autogen.nm b/autogen/autogen.nm
deleted file mode 100644 (file)
index a8d83ab..0000000
+++ /dev/null
@@ -1,62 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = autogen
-version    = 5.18.12
-release    = 1
-
-groups     = Development/Tools
-url        = http://www.gnu.org/software/autogen/
-license    = GPLv3
-summary    = Automated text file generator.
-
-description
-       AutoGen is a tool designed to simplify the creation and maintenance of
-       programs that contain large amounts of repetitious text. It is especially
-       valuable in programs that have several blocks of text that must be kept
-       synchronised.
-end
-
-source_dl  = ftp://ftp.gnu.org/gnu/autogen/rel%{version}/
-
-build
-       requires
-               guile-devel >= 2.0.9-3
-               libtool
-               libxml2-devel
-       end
-
-       export LD_LIBRARY_PATH = %{DIR_APP}/autoopts/.libs
-
-       prepare_cmds
-               # Fix Libtool to remove rpaths.
-               rm -vf libtool
-               cp -vf $(which libtool) libtool
-
-               # Omit unused direct shared library dependencies.
-               sed --in-place --expression 's! -shared ! -Wl,--as-needed\0!g' ./libtool
-       end
-
-       test
-               make check
-       end
-
-       install_cmds
-               rm -vf %{BUILDROOT}%{datadir}/%{name}/autoopts.m4
-               rm -vf %{BUILDROOT}%{datadir}/%{name}/libopts-31.0.6.tar.gz
-       end
-end
-
-packages
-       package %{name}
-
-       package %{name}-libs
-               template LIBS
-       end
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
diff --git a/autogen/patches/autogen-5.9.4-autoopts-config.patch b/autogen/patches/autogen-5.9.4-autoopts-config.patch
deleted file mode 100644 (file)
index 6f63077..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-diff -urNp autogen-5.9.4.orig/autoopts/autoopts-config.in autogen-5.9.4/autoopts/autoopts-config.in
---- autogen-5.9.4.orig/autoopts/autoopts-config.in     2007-12-24 02:33:16.000000000 +0530
-+++ autogen-5.9.4/autoopts/autoopts-config.in  2008-02-25 00:38:27.000000000 +0530
-@@ -17,17 +17,17 @@
-   includedir="@includedir@"
-  exec_prefix="@exec_prefix@"
-       bindir="@bindir@"
--      libdir="@libdir@"
--      ldopts="@AG_LDFLAGS@"
-+      libdir=""
-+      ldopts=""
-       exeext="@EXEEXT@"
-      version="@AO_CURRENT@:@AO_REVISION@:@AO_AGE@"
-       dotver="@AO_CURRENT@.@AO_REVISION@.@AO_AGE@"
-   pkgdatadir="${datadir}/${package}"
-      autogen="${bindir}/autogen${exeext}"
--     ldflags="-L${libdir} -lopts"
-+     ldflags="-lopts"
-         libs="${ldflags}"
-       libsrc="${pkgdatadir}/libopts-${dotver}.tar.gz"
-- static_libs="${libdir}/libopts.a"
-+ static_libs=""
-       cflags="-I${includedir}"
- test -n "${ldopts}" && ldflags="${ldopts}${libdir} ${ldflags}"
- test "${includedir}" = "/usr/include" && cflags=""
diff --git a/autogen/patches/autogen-5.9.4-pkgconfig.patch b/autogen/patches/autogen-5.9.4-pkgconfig.patch
deleted file mode 100644 (file)
index 087de34..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-diff -urNp autogen-5.9.4.orig/autoopts/mk-autoopts-pc.in autogen-5.9.4/autoopts/mk-autoopts-pc.in
---- autogen-5.9.4.orig/autoopts/mk-autoopts-pc.in      2007-12-24 02:33:16.000000000 +0530
-+++ autogen-5.9.4/autoopts/mk-autoopts-pc.in   2008-02-24 21:21:13.000000000 +0530
-@@ -18,7 +18,6 @@
-  exec_prefix="@exec_prefix@"
-       bindir="@bindir@"
-       libdir="@libdir@"
--      ldopts="@AG_LDFLAGS@"
-       exeext="@EXEEXT@"
-      version="@AO_CURRENT@:@AO_REVISION@:@AO_AGE@"
-       dotver="@AO_CURRENT@.@AO_REVISION@.@AO_AGE@"
index 21b24784db9f0cb5e82c4110120a9d27b1f5def9..4ad7c2dbee177136e9e3ab2646884c15920858e6 100644 (file)
@@ -4,12 +4,11 @@
 ###############################################################################
 
 name       = automake
-version    = 1.16.1
-release    = 1
-arch       = noarch
+version    = 1.16.5
+release    = 2
 
 groups     = Development/Tools
-url        = http://www.gnu.org/software/automake/
+url        = htts://www.gnu.org/software/automake/
 license    = GPLv2+
 summary    = A GNU tool for automatically configuring source code.
 
@@ -18,12 +17,14 @@ description
        files compliant with the GNU Coding Standards.
 end
 
-source_dl  = http://ftp.gnu.org/gnu/automake/
+source_dl  = https://ftp.gnu.org/gnu/automake/
 sources    = %{thisapp}.tar.xz
 
 required_autoconf_version = 2.62
 
 build
+       arches = noarch
+
        requires
                autoconf >= %{required_autoconf_version}
                perl(threads)
index 4bfa13cace78ef4b041557acd705857ff98b24a6..c2bf77dee4ef463e303b39b55d24098afe738e15 100644 (file)
@@ -4,11 +4,11 @@
 ###############################################################################
 
 name       = avahi
-version    = 0.6.32
-release    = 1
+version    = 0.8
+release    = 2.1
 
 groups     = Networking/Zeroconf
-url        = http://avahi.org/
+url        = https://avahi.org/
 license    = LGPLv2+
 summary    = Local network service discovery
 
@@ -22,8 +22,7 @@ description
        convenient.
 end
 
-source_dl  = http://avahi.org/download/ \
-       https://github.com/lathiat/avahi/releases/download/v%{version}/
+source_dl  = https://avahi.org/download/
 
 build
        requires
@@ -33,41 +32,37 @@ build
                expat-devel
                gcc-c++
                gettext
-               libdaemon-devel>=0.14
+               libdaemon-devel >= 0.14
+               libevent-devel >= 2.0.21
                intltool
                perl
                perl-XML-Parser
                pkg-config
-               python-devel
-               python-dbus
+               python3-devel
+               python3-dbus
+               python3-gobject3-devel
                systemd-units
-       end
-
-       prepare_cmds
-               # for aarch64
-               for i in $(find . -name config.guess -or -name config.sub); do
-                       cp -vf %{datadir}/automake-*/config.{guess,sub} $(dirname ${i})
-               done
+               zlib-devel
        end
 
        configure_options += \
                --with-distro=none \
                --with-systemdsystemunitdir=%{unitdir} \
+               --disable-introspection \
                --disable-gdbm \
                --disable-qt3 \
                --disable-qt4 \
+               --disable-qt5 \
                --disable-gtk \
                --disable-gtk3 \
-               --disable-pygtk \
-               --disable-mono
+               --disable-mono \
+               --disable-stack-protector \
+               PYTHON=%{python3}
+
 end
 
 packages
        package %{name}
-               requires
-                       libdaemon >= 0.14
-               end
-
                prerequires += shadow-utils
 
                # Create avahi user and group.
index 7b972846b2519bce2ae32200093f1dc1e85b5d22..bbb8c53b54f642e107e5c9c7506860fb42d3f90d 100644 (file)
@@ -5,9 +5,7 @@
 
 name       = basesystem
 version    = 2.99
-release    = 4
-epoch      = 1
-arch       = noarch
+release    = 4.2
 
 groups     = Base System/Base
 url        =
@@ -23,6 +21,8 @@ end
 sources   =
 
 build
+       arches = noarch
+
        build
                : # Nothing to do.
        end
@@ -48,15 +48,13 @@ packages
                        initscripts
                        kbd
                        less
-                       module-init-tools
                        network
                        pakfire
-                       passwd
                        procps
                        psmisc
                        sed
                        setup
-                       syslog
+                       shadow-utils
                        system-release
                        tar
                        udev
index f0c3f51f81f2fb703176cf7e53bf062bf5e094c6..dd08338a05bf616120587679fbd9114a17882985 100644 (file)
@@ -4,14 +4,13 @@
 ###############################################################################
 
 name       = bash-completion
-version    = 2.4
-release    = 3
-arch       = noarch
+version    = 2.11
+release    = 1
 
 groups     = Development/Languages
 url        = https://github.com/scop/bash-completion
 license    = GPLv2+
-summary    = Programmable completion for Bash.
+summary    = Programmable completion for Bash
 
 description
        bash-completion is a collection of shell functions that take advantage
@@ -22,23 +21,22 @@ source_dl  = https://github.com/scop/bash-completion/releases/download/%{version
 sources    = %{thisapp}.tar.xz
 
 build
-       install_cmds
-               rm -rvf %{BUILDROOT}%{datadir}/bash-completion/completions/{cawsay,cowthink}
-
-               # Drop files which are provided by util-linux >= 2.28 and 2.34
-               rm -rvf %{BUILDROOT}%{datadir}/bash-completion/completions/{mount,umount,rfkill}
-
-               install -Dpm 644 %{DIR_SOURCE}/bash-completion-1.99-redefine_filedir.bash \
-                       %{BUILDROOT}%{sysconfdir}/bash_completion.d/redefine_filedir
-       end
+       arches = noarch
 end
 
 packages
        package %{name}
-               groups += Base
-
                requires
                        bash >= 4.1
                end
+
+               # Recommend to install this package when bash is being installed
+               supplements
+                       bash
+               end
+       end
+
+       package %{name}-devel
+               template DEVEL
        end
 end
index 4179d3add239f6a0df719b4364e0153673eab558..79712e9341d0a59a86efe91b0e8340ae2cf3c0ea 100644 (file)
@@ -4,11 +4,11 @@
 ###############################################################################
 
 name       = bash
-version    = 5.0
-release    = 1
+version    = 5.2.15
+release    = 2
 
 groups     = System/Tools
-url        = http://www.gnu.org/software/bash/
+url        = https://www.gnu.org/software/bash/
 license    = GPLv2+
 summary    = Bash is short for born again shell.
 
@@ -19,7 +19,7 @@ description
        to conform to the IEEE POSIX P1003.2/ISO 9945.2 Shell and Tools standard.
 end
 
-source_dl  = http://ftp.gnu.org/gnu/bash/
+source_dl  = https://ftp.gnu.org/gnu/bash/
 
 build
        requires
@@ -28,13 +28,10 @@ build
                bison
                filesystem >= 002
                ncurses-devel
-               readline-devel >= 7.0
+               readline-devel >= 8.0
                texinfo
        end
 
-       # Disable parallel build
-       MAKETUNING =
-
        prepare_cmds
                # Bash uses the RTLD_LAZY option when loading libraries. We want to use
                # RTLD_NOW (it is defined from <dlfcn.h>:
@@ -70,7 +67,7 @@ build
 
        install_cmds
                mkdir -pv %{BUILDROOT}%{sysconfdir}/{profile.d,skel}
-               mkdir -pv %{BUILDROOT}/root
+               install -v -m 700 -d %{BUILDROOT}/root
 
                # Bash startup files
                cp -vf %{DIR_SOURCE}/dot_bash_logout %{BUILDROOT}%{sysconfdir}/skel/.bash_logout
@@ -95,6 +92,9 @@ build
                        ) > "%{BUILDROOT}/%{bindir}/${f}"
                        chmod +x "%{BUILDROOT}%{bindir}/${f}"
                done
+
+               # Set correct permissions for binaries.
+               find %{BUILDROOT}%{bindir} -type f -executable -exec chmod 755 {} \;
        end
 end
 
@@ -113,6 +113,10 @@ packages
                        /bin/sh
                end
 
+               recommends
+                       bash-completion
+               end
+
                conflicts
                        filesystem < 002
                end
diff --git a/bash/patches/bash-4.3-noecho.patch b/bash/patches/bash-4.3-noecho.patch
deleted file mode 100644 (file)
index 8adf36d..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-diff --git a/parse.y b/parse.y
-index 07e6e3e..4cd373f 100644
---- a/parse.y
-+++ b/parse.y
-@@ -4410,6 +4410,8 @@ xparse_dolparen (base, string, indp, flags)
-   save_parser_state (&ps);
-   save_input_line_state (&ls);
-   orig_eof_token = shell_eof_token;
-+  /* avoid echoing every substitution again */
-+  echo_input_at_read = 0;
- #if defined (ALIAS) || defined (DPAREN_ARITHMETIC)
-   saved_pushed_strings = pushed_string_list;  /* separate parsing context */
-   pushed_string_list = (STRING_SAVER *)NULL;
-diff --git a/subst.c b/subst.c
-index 9559187..0c2caa6 100644
---- a/subst.c
-+++ b/subst.c
-@@ -9145,6 +9145,7 @@ param_expand (string, sindex, quoted, expanded_something,
-   WORD_LIST *list;
-   WORD_DESC *tdesc, *ret;
-   int tflag;
-+  int old_echo_input;
- /*itrace("param_expand: `%s' pflags = %d", string+*sindex, pflags);*/
-   zindex = *sindex;
-@@ -9514,6 +9515,9 @@ arithsub:
-       }
- comsub:
-+      old_echo_input = echo_input_at_read;
-+      /* avoid echoing every substitution again */
-+      echo_input_at_read = 0;
-       if (pflags & PF_NOCOMSUB)
-       /* we need zindex+1 because string[zindex] == RPAREN */
-       temp1 = substring (string, *sindex, zindex+1);
-@@ -9526,6 +9530,7 @@ comsub:
-       }
-       FREE (temp);
-       temp = temp1;
-+      echo_input_at_read = old_echo_input;
-       break;
-     /* Do POSIX.2d9-style arithmetic substitution.  This will probably go
--- 
-2.17.2
-
diff --git a/bash/patches/bash-5.0-patch-1.patch b/bash/patches/bash-5.0-patch-1.patch
deleted file mode 100644 (file)
index 254fd9e..0000000
+++ /dev/null
@@ -1,150 +0,0 @@
-From 4d2e315490b778707b3a3afdfc514d5083a97a11 Mon Sep 17 00:00:00 2001
-From: Chet Ramey <chet.ramey@case.edu>
-Date: Fri, 18 Jan 2019 15:12:37 -0500
-Subject: [PATCH] Bash-5.0 patch 1: fix pathname expansion of directory names
- containing backslashes
-
----
- bashline.c           | 62 +++++++++++++++++++++++++++++++++++++++++---
- lib/glob/glob_loop.c |  6 -----
- patchlevel.h         |  2 +-
- 3 files changed, 60 insertions(+), 10 deletions(-)
-
-diff --git a/bashline.c b/bashline.c
-index 2846aabf..75e79f1a 100644
---- a/bashline.c
-+++ b/bashline.c
-@@ -231,6 +231,7 @@ static int bash_possible_variable_completions __P((int, int));
- static int bash_complete_command __P((int, int));
- static int bash_possible_command_completions __P((int, int));
-+static int completion_glob_pattern __P((char *));
- static char *glob_complete_word __P((const char *, int));
- static int bash_glob_completion_internal __P((int));
- static int bash_glob_complete_word __P((int, int));
-@@ -1741,7 +1742,7 @@ bash_default_completion (text, start, end, qc, compflags)
-   /* This could be a globbing pattern, so try to expand it using pathname
-      expansion. */
--  if (!matches && glob_pattern_p (text))
-+  if (!matches && completion_glob_pattern ((char *)text))
-     {
-       matches = rl_completion_matches (text, glob_complete_word);
-       /* A glob expression that matches more than one filename is problematic.
-@@ -1850,7 +1851,7 @@ command_word_completion_function (hint_text, state)
-         glob_matches = (char **)NULL;
-       }
--      globpat = glob_pattern_p (hint_text);
-+      globpat = completion_glob_pattern ((char *)hint_text);
-       /* If this is an absolute program name, do not check it against
-        aliases, reserved words, functions or builtins.  We must check
-@@ -3713,6 +3714,61 @@ bash_complete_command_internal (what_to_do)
-   return bash_specific_completion (what_to_do, command_word_completion_function);
- }
-+static int
-+completion_glob_pattern (string)
-+     char *string;
-+{
-+  register int c;
-+  char *send;
-+  int open;
-+
-+  DECLARE_MBSTATE;
-+
-+  open = 0;
-+  send = string + strlen (string);
-+
-+  while (c = *string++)
-+    {
-+      switch (c)
-+      {
-+      case '?':
-+      case '*':
-+        return (1);
-+
-+      case '[':
-+        open++;
-+        continue;
-+
-+      case ']':
-+        if (open)
-+          return (1);
-+        continue;
-+
-+      case '+':
-+      case '@':
-+      case '!':
-+        if (*string == '(')   /*)*/
-+          return (1);
-+        continue;
-+
-+      case '\\':
-+        if (*string == 0)
-+          return (0);           
-+      }
-+
-+      /* Advance one fewer byte than an entire multibyte character to
-+       account for the auto-increment in the loop above. */
-+#ifdef HANDLE_MULTIBYTE
-+      string--;
-+      ADVANCE_CHAR_P (string, send - string);
-+      string++;
-+#else
-+      ADVANCE_CHAR_P (string, send - string);
-+#endif
-+    }
-+  return (0);
-+}
-+
- static char *globtext;
- static char *globorig;
-@@ -3877,7 +3933,7 @@ bash_vi_complete (count, key)
-       t = substring (rl_line_buffer, p, rl_point);
-     }      
--  if (t && glob_pattern_p (t) == 0)
-+  if (t && completion_glob_pattern (t) == 0)
-     rl_explicit_arg = 1;      /* XXX - force glob_complete_word to append `*' */
-   FREE (t);
-diff --git a/lib/glob/glob_loop.c b/lib/glob/glob_loop.c
-index 5f319cc2..7d6ae211 100644
---- a/lib/glob/glob_loop.c
-+++ b/lib/glob/glob_loop.c
-@@ -54,17 +54,11 @@ INTERNAL_GLOB_PATTERN_P (pattern)
-       continue;
-       case L('\\'):
--#if 0
-       /* Don't let the pattern end in a backslash (GMATCH returns no match
-          if the pattern ends in a backslash anyway), but otherwise return 1,
-          since the matching engine uses backslash as an escape character
-          and it can be removed. */
-       return (*p != L('\0'));
--#else
--      /* The pattern may not end with a backslash. */
--      if (*p++ == L('\0'))
--        return 0;
--#endif
-       }
-   return 0;
-diff --git a/patchlevel.h b/patchlevel.h
-index 1cd7c96c..40db1a32 100644
---- a/patchlevel.h
-+++ b/patchlevel.h
-@@ -25,6 +25,6 @@
-    regexp `^#define[  ]*PATCHLEVEL', since that's what support/mkversion.sh
-    looks for to find the patch level (for the sccs version string). */
--#define PATCHLEVEL 0
-+#define PATCHLEVEL 1
- #endif /* _PATCHLEVEL_H_ */
--- 
-2.17.2
-
diff --git a/bash/patches/bash-5.0-patch-2.patch b/bash/patches/bash-5.0-patch-2.patch
deleted file mode 100644 (file)
index b9858ae..0000000
+++ /dev/null
@@ -1,96 +0,0 @@
-From ddf3f643cb9b9a2ca8e6d996c605e4332204874c Mon Sep 17 00:00:00 2001
-From: Chet Ramey <chet.ramey@case.edu>
-Date: Fri, 18 Jan 2019 15:13:57 -0500
-Subject: [PATCH] Bash-5.0 patch 2: fix expansion of aliases whose value ends
- with an unquoted tab
-
----
- parse.y      | 5 ++++-
- parser.h     | 1 +
- patchlevel.h | 2 +-
- y.tab.c      | 5 ++++-
- 4 files changed, 10 insertions(+), 3 deletions(-)
-
-diff --git a/parse.y b/parse.y
-index 3ff87bcc..07e6e3e4 100644
---- a/parse.y
-+++ b/parse.y
-@@ -2557,12 +2557,14 @@ next_alias_char:
-   if (uc == 0 && pushed_string_list && pushed_string_list->flags != PSH_SOURCE &&
-       pushed_string_list->flags != PSH_DPAREN &&
-       (parser_state & PST_COMMENT) == 0 &&
-+      (parser_state & PST_ENDALIAS) == 0 &&   /* only once */
-       shell_input_line_index > 0 &&
--      shell_input_line[shell_input_line_index-1] != ' ' &&
-+      shellblank (shell_input_line[shell_input_line_index-1]) == 0 &&
-       shell_input_line[shell_input_line_index-1] != '\n' &&
-       shellmeta (shell_input_line[shell_input_line_index-1]) == 0 &&
-       (current_delimiter (dstack) != '\'' && current_delimiter (dstack) != '"'))
-     {
-+      parser_state |= PST_ENDALIAS;
-       return ' ';     /* END_ALIAS */
-     }
- #endif
-@@ -2571,6 +2573,7 @@ pop_alias:
-   /* This case works for PSH_DPAREN as well */
-   if (uc == 0 && pushed_string_list && pushed_string_list->flags != PSH_SOURCE)
-     {
-+      parser_state &= ~PST_ENDALIAS;
-       pop_string ();
-       uc = shell_input_line[shell_input_line_index];
-       if (uc)
-diff --git a/parser.h b/parser.h
-index 54dd2c88..6d08915d 100644
---- a/parser.h
-+++ b/parser.h
-@@ -47,6 +47,7 @@
- #define PST_REPARSE   0x040000        /* re-parsing in parse_string_to_word_list */
- #define PST_REDIRLIST 0x080000        /* parsing a list of redirections preceding a simple command name */
- #define PST_COMMENT   0x100000        /* parsing a shell comment; used by aliases */
-+#define PST_ENDALIAS  0x200000        /* just finished expanding and consuming an alias */
- /* Definition of the delimiter stack.  Needed by parse.y and bashhist.c. */
- struct dstack {
-diff --git a/patchlevel.h b/patchlevel.h
-index 40db1a32..a988d852 100644
---- a/patchlevel.h
-+++ b/patchlevel.h
-@@ -25,6 +25,6 @@
-    regexp `^#define[  ]*PATCHLEVEL', since that's what support/mkversion.sh
-    looks for to find the patch level (for the sccs version string). */
--#define PATCHLEVEL 1
-+#define PATCHLEVEL 2
- #endif /* _PATCHLEVEL_H_ */
-diff --git a/y.tab.c b/y.tab.c
-index 1abe2c50..7efce3c8 100644
---- a/y.tab.c
-+++ b/y.tab.c
-@@ -4873,12 +4873,14 @@ next_alias_char:
-   if (uc == 0 && pushed_string_list && pushed_string_list->flags != PSH_SOURCE &&
-       pushed_string_list->flags != PSH_DPAREN &&
-       (parser_state & PST_COMMENT) == 0 &&
-+      (parser_state & PST_ENDALIAS) == 0 &&   /* only once */
-       shell_input_line_index > 0 &&
--      shell_input_line[shell_input_line_index-1] != ' ' &&
-+      shellblank (shell_input_line[shell_input_line_index-1]) == 0 &&
-       shell_input_line[shell_input_line_index-1] != '\n' &&
-       shellmeta (shell_input_line[shell_input_line_index-1]) == 0 &&
-       (current_delimiter (dstack) != '\'' && current_delimiter (dstack) != '"'))
-     {
-+      parser_state |= PST_ENDALIAS;
-       return ' ';     /* END_ALIAS */
-     }
- #endif
-@@ -4887,6 +4889,7 @@ pop_alias:
-   /* This case works for PSH_DPAREN as well */
-   if (uc == 0 && pushed_string_list && pushed_string_list->flags != PSH_SOURCE)
-     {
-+      parser_state &= ~PST_ENDALIAS;
-       pop_string ();
-       uc = shell_input_line[shell_input_line_index];
-       if (uc)
--- 
-2.17.2
-
diff --git a/bash/patches/bash-5.0-patch-3.patch b/bash/patches/bash-5.0-patch-3.patch
deleted file mode 100644 (file)
index 509f52e..0000000
+++ /dev/null
@@ -1,202 +0,0 @@
-From fcf6ae7d069a64741e9484cf219d7fe95de9e796 Mon Sep 17 00:00:00 2001
-From: Chet Ramey <chet.ramey@case.edu>
-Date: Tue, 19 Mar 2019 10:05:39 -0400
-Subject: [PATCH] Bash-5.0 patch 3: improvements when globbing directory names
- containing backslashes
-
----
- bashline.c           |  2 +-
- lib/glob/glob.c      | 25 +++++++++++++++++++++----
- lib/glob/glob.h      |  1 +
- lib/glob/glob_loop.c | 23 ++++++++++++++++-------
- patchlevel.h         |  2 +-
- pathexp.c            | 16 ++++++++++++----
- 6 files changed, 52 insertions(+), 17 deletions(-)
-
-diff --git a/bashline.c b/bashline.c
-index 75e79f1a..824ea9d9 100644
---- a/bashline.c
-+++ b/bashline.c
-@@ -3752,7 +3752,7 @@ completion_glob_pattern (string)
-         continue;
-       case '\\':
--        if (*string == 0)
-+        if (*string++ == 0)
-           return (0);           
-       }
-diff --git a/lib/glob/glob.c b/lib/glob/glob.c
-index 22d90a5c..398253b5 100644
---- a/lib/glob/glob.c
-+++ b/lib/glob/glob.c
-@@ -1061,7 +1061,7 @@ glob_filename (pathname, flags)
-   char *directory_name, *filename, *dname, *fn;
-   unsigned int directory_len;
-   int free_dirname;                   /* flag */
--  int dflags;
-+  int dflags, hasglob;
-   result = (char **) malloc (sizeof (char *));
-   result_size = 1;
-@@ -1110,9 +1110,12 @@ glob_filename (pathname, flags)
-       free_dirname = 1;
-     }
-+  hasglob = 0;
-   /* If directory_name contains globbing characters, then we
--     have to expand the previous levels.  Just recurse. */
--  if (directory_len > 0 && glob_pattern_p (directory_name))
-+     have to expand the previous levels.  Just recurse.
-+     If glob_pattern_p returns != [0,1] we have a pattern that has backslash
-+     quotes but no unquoted glob pattern characters. We dequote it below. */
-+  if (directory_len > 0 && (hasglob = glob_pattern_p (directory_name)) == 1)
-     {
-       char **directories, *d, *p;
-       register unsigned int i;
-@@ -1175,7 +1178,7 @@ glob_filename (pathname, flags)
-       if (d[directory_len - 1] == '/')
-       d[directory_len - 1] = '\0';
--      directories = glob_filename (d, dflags);
-+      directories = glob_filename (d, dflags|GX_RECURSE);
-       if (free_dirname)
-       {
-@@ -1332,6 +1335,20 @@ only_filename:
-           free (directory_name);
-         return (NULL);
-       }
-+      /* If we have a directory name with quoted characters, and we are
-+       being called recursively to glob the directory portion of a pathname,
-+       we need to dequote the directory name before returning it so the
-+       caller can read the directory */
-+      if (directory_len > 0 && hasglob == 2 && (flags & GX_RECURSE) != 0)
-+      {
-+        dequote_pathname (directory_name);
-+        directory_len = strlen (directory_name);
-+      }
-+
-+      /* We could check whether or not the dequoted directory_name is a
-+       directory and return it here, returning the original directory_name
-+       if not, but we don't do that yet. I'm not sure it matters. */
-+
-       /* Handle GX_MARKDIRS here. */
-       result[0] = (char *) malloc (directory_len + 1);
-       if (result[0] == NULL)
-diff --git a/lib/glob/glob.h b/lib/glob/glob.h
-index b9462333..56ac08ba 100644
---- a/lib/glob/glob.h
-+++ b/lib/glob/glob.h
-@@ -30,6 +30,7 @@
- #define GX_NULLDIR    0x100   /* internal -- no directory preceding pattern */
- #define GX_ADDCURDIR  0x200   /* internal -- add passed directory name */
- #define GX_GLOBSTAR   0x400   /* turn on special handling of ** */
-+#define GX_RECURSE    0x800   /* internal -- glob_filename called recursively */
- extern int glob_pattern_p __P((const char *));
- extern char **glob_vector __P((char *, char *, int));
-diff --git a/lib/glob/glob_loop.c b/lib/glob/glob_loop.c
-index 7d6ae211..3a4f4f1e 100644
---- a/lib/glob/glob_loop.c
-+++ b/lib/glob/glob_loop.c
-@@ -26,10 +26,10 @@ INTERNAL_GLOB_PATTERN_P (pattern)
- {
-   register const GCHAR *p;
-   register GCHAR c;
--  int bopen;
-+  int bopen, bsquote;
-   p = pattern;
--  bopen = 0;
-+  bopen = bsquote = 0;
-   while ((c = *p++) != L('\0'))
-     switch (c)
-@@ -55,13 +55,22 @@ INTERNAL_GLOB_PATTERN_P (pattern)
-       case L('\\'):
-       /* Don't let the pattern end in a backslash (GMATCH returns no match
--         if the pattern ends in a backslash anyway), but otherwise return 1,
--         since the matching engine uses backslash as an escape character
--         and it can be removed. */
--      return (*p != L('\0'));
-+         if the pattern ends in a backslash anyway), but otherwise note that 
-+         we have seen this, since the matching engine uses backslash as an
-+         escape character and it can be removed. We return 2 later if we
-+         have seen only backslash-escaped characters, so interested callers
-+         know they can shortcut and just dequote the pathname. */
-+      if (*p != L('\0'))
-+        {
-+          p++;
-+          bsquote = 1;
-+          continue;
-+        }
-+      else    /* (*p == L('\0')) */
-+        return 0;
-       }
--  return 0;
-+  return bsquote ? 2 : 0;
- }
- #undef INTERNAL_GLOB_PATTERN_P
-diff --git a/patchlevel.h b/patchlevel.h
-index a988d852..e7e960c1 100644
---- a/patchlevel.h
-+++ b/patchlevel.h
-@@ -25,6 +25,6 @@
-    regexp `^#define[  ]*PATCHLEVEL', since that's what support/mkversion.sh
-    looks for to find the patch level (for the sccs version string). */
--#define PATCHLEVEL 2
-+#define PATCHLEVEL 3
- #endif /* _PATCHLEVEL_H_ */
-diff --git a/pathexp.c b/pathexp.c
-index b51729a7..c1bf2d89 100644
---- a/pathexp.c
-+++ b/pathexp.c
-@@ -65,11 +65,11 @@ unquoted_glob_pattern_p (string)
- {
-   register int c;
-   char *send;
--  int open;
-+  int open, bsquote;
-   DECLARE_MBSTATE;
--  open = 0;
-+  open = bsquote = 0;
-   send = string + strlen (string);
-   while (c = *string++)
-@@ -100,7 +100,14 @@ unquoted_glob_pattern_p (string)
-          can be removed by the matching engine, so we have to run it through
-          globbing. */
-       case '\\':
--        return (*string != 0);
-+        if (*string != '\0' && *string != '/')
-+          {
-+            bsquote = 1;
-+            string++;
-+            continue;
-+          }
-+        else if (*string == 0)
-+          return (0);
-                 
-       case CTLESC:
-         if (*string++ == '\0')
-@@ -117,7 +124,8 @@ unquoted_glob_pattern_p (string)
-       ADVANCE_CHAR_P (string, send - string);
- #endif
-     }
--  return (0);
-+
-+  return (bsquote ? 2 : 0);
- }
- /* Return 1 if C is a character that is `special' in a POSIX ERE and needs to
--- 
-2.17.2
-
diff --git a/bash/patches/bash-5.0-patch-4.patch b/bash/patches/bash-5.0-patch-4.patch
deleted file mode 100644 (file)
index 8993833..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-From 16c907aa3bb427618733e5a6f2f4e2fc5a3488d3 Mon Sep 17 00:00:00 2001
-From: Chet Ramey <chet.ramey@case.edu>
-Date: Sat, 20 Apr 2019 14:24:28 -0400
-Subject: [PATCH] Bash-5.0 patch 4: the wait builtin without arguments only
- waits for known children the shell started
-
----
- jobs.c       | 4 +---
- patchlevel.h | 2 +-
- 2 files changed, 2 insertions(+), 4 deletions(-)
-
-diff --git a/jobs.c b/jobs.c
-index ce2bdf24..ae3c54c6 100644
---- a/jobs.c
-+++ b/jobs.c
-@@ -2488,10 +2488,8 @@ wait_for_background_pids ()
-     r = wait_for (last_procsub_child->pid);
-   wait_procsubs ();
-   reap_procsubs ();
--#if 1
-+#if 0
-   /* We don't want to wait indefinitely if we have stopped children. */
--  /* XXX - should add a loop that goes through the list of process
--     substitutions and waits for each proc in turn before this code. */
-   if (any_stopped == 0)
-     {
-       /* Check whether or not we have any unreaped children. */
-diff --git a/patchlevel.h b/patchlevel.h
-index e7e960c1..c059f0bd 100644
---- a/patchlevel.h
-+++ b/patchlevel.h
-@@ -25,6 +25,6 @@
-    regexp `^#define[  ]*PATCHLEVEL', since that's what support/mkversion.sh
-    looks for to find the patch level (for the sccs version string). */
--#define PATCHLEVEL 3
-+#define PATCHLEVEL 4
- #endif /* _PATCHLEVEL_H_ */
--- 
-2.17.2
-
diff --git a/bash/patches/bash-5.0-patch-5.patch b/bash/patches/bash-5.0-patch-5.patch
deleted file mode 100644 (file)
index 1fb4faf..0000000
+++ /dev/null
@@ -1,102 +0,0 @@
-From 41f5420db7a911fb0833be693205f4db41f05434 Mon Sep 17 00:00:00 2001
-From: Chet Ramey <chet.ramey@case.edu>
-Date: Sat, 20 Apr 2019 14:25:52 -0400
-Subject: [PATCH] Bash-5.0 patch 5: prevent optimizing forks away too
- aggressively
-
----
- builtins/evalstring.c | 26 +++++++++++++++++++++++---
- command.h             |  1 +
- execute_cmd.c         |  2 ++
- patchlevel.h          |  2 +-
- 4 files changed, 27 insertions(+), 4 deletions(-)
-
-diff --git a/builtins/evalstring.c b/builtins/evalstring.c
-index 1496eeec..cadc9bc0 100644
---- a/builtins/evalstring.c
-+++ b/builtins/evalstring.c
-@@ -100,12 +100,22 @@ should_suppress_fork (command)
-         ((command->flags & CMD_INVERT_RETURN) == 0));
- }
-+int
-+can_optimize_connection (command)
-+     COMMAND *command;
-+{
-+  return (*bash_input.location.string == '\0' &&
-+        (command->value.Connection->connector == AND_AND || command->value.Connection->connector == OR_OR || command->value.Connection->connector == ';') &&
-+        command->value.Connection->second->type == cm_simple);
-+}
-+
- void
- optimize_fork (command)
-      COMMAND *command;
- {
-   if (command->type == cm_connection &&
--      (command->value.Connection->connector == AND_AND || command->value.Connection->connector == OR_OR) &&
-+      (command->value.Connection->connector == AND_AND || command->value.Connection->connector == OR_OR || command->value.Connection->connector == ';') &&
-+      (command->value.Connection->second->flags & CMD_TRY_OPTIMIZING) &&
-       should_suppress_fork (command->value.Connection->second))
-     {
-       command->value.Connection->second->flags |= CMD_NO_FORK;
-@@ -412,8 +422,18 @@ parse_and_execute (string, from_file, flags)
-                 command->flags |= CMD_NO_FORK;
-                 command->value.Simple->flags |= CMD_NO_FORK;
-               }
--            else if (command->type == cm_connection)
--              optimize_fork (command);
-+
-+            /* Can't optimize forks out here execept for simple commands.
-+               This knows that the parser sets up commands as left-side heavy
-+               (&& and || are left-associative) and after the single parse,
-+               if we are at the end of the command string, the last in a
-+               series of connection commands is
-+               command->value.Connection->second. */
-+            else if (command->type == cm_connection && can_optimize_connection (command))
-+              {
-+                command->value.Connection->second->flags |= CMD_TRY_OPTIMIZING;
-+                command->value.Connection->second->value.Simple->flags |= CMD_TRY_OPTIMIZING;
-+              }
- #endif /* ONESHOT */
-             /* See if this is a candidate for $( <file ). */
-diff --git a/command.h b/command.h
-index 32495162..b9e9b669 100644
---- a/command.h
-+++ b/command.h
-@@ -186,6 +186,7 @@ typedef struct element {
- #define CMD_COPROC_SUBSHELL 0x1000
- #define CMD_LASTPIPE      0x2000
- #define CMD_STDPATH       0x4000      /* use standard path for command lookup */
-+#define CMD_TRY_OPTIMIZING  0x8000    /* try to optimize this simple command */
- /* What a command looks like. */
- typedef struct command {
-diff --git a/execute_cmd.c b/execute_cmd.c
-index 8b3c83aa..f1d74bfe 100644
---- a/execute_cmd.c
-+++ b/execute_cmd.c
-@@ -2767,6 +2767,8 @@ execute_connection (command, asynchronous, pipe_in, pipe_out, fds_to_close)
-         ((command->value.Connection->connector == OR_OR) &&
-          (exec_result != EXECUTION_SUCCESS)))
-       {
-+        optimize_fork (command);
-+
-         second = command->value.Connection->second;
-         if (ignore_return && second)
-           second->flags |= CMD_IGNORE_RETURN;
-diff --git a/patchlevel.h b/patchlevel.h
-index c059f0bd..1bc098b8 100644
---- a/patchlevel.h
-+++ b/patchlevel.h
-@@ -25,6 +25,6 @@
-    regexp `^#define[  ]*PATCHLEVEL', since that's what support/mkversion.sh
-    looks for to find the patch level (for the sccs version string). */
--#define PATCHLEVEL 4
-+#define PATCHLEVEL 5
- #endif /* _PATCHLEVEL_H_ */
--- 
-2.17.2
-
diff --git a/bash/patches/bash-5.0-patch-6.patch b/bash/patches/bash-5.0-patch-6.patch
deleted file mode 100644 (file)
index bfd8460..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-From dfd2cc6ac5558e252af0a7cb829a9629bf782e17 Mon Sep 17 00:00:00 2001
-From: Chet Ramey <chet.ramey@case.edu>
-Date: Sat, 20 Apr 2019 14:27:00 -0400
-Subject: [PATCH] Bash-5.0 patch 6: allow building with SYSLOG_HISTORY defined
- without defining SYSLOG_SHOPT
-
----
- builtins/shopt.def | 2 +-
- patchlevel.h       | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/builtins/shopt.def b/builtins/shopt.def
-index f6dc6f97..1c485361 100644
---- a/builtins/shopt.def
-+++ b/builtins/shopt.def
-@@ -122,7 +122,7 @@ extern int assoc_expand_once;
- extern int array_expand_once;
- #endif
--#if defined (SYSLOG_HISTORY) && defined (SYSLOG_SHOPT)
-+#if defined (SYSLOG_HISTORY)
- extern int syslog_history;
- #endif
-diff --git a/patchlevel.h b/patchlevel.h
-index 1bc098b8..14bff9fc 100644
---- a/patchlevel.h
-+++ b/patchlevel.h
-@@ -25,6 +25,6 @@
-    regexp `^#define[  ]*PATCHLEVEL', since that's what support/mkversion.sh
-    looks for to find the patch level (for the sccs version string). */
--#define PATCHLEVEL 5
-+#define PATCHLEVEL 6
- #endif /* _PATCHLEVEL_H_ */
--- 
-2.17.2
-
diff --git a/bash/patches/bash-5.0-patch-7.patch b/bash/patches/bash-5.0-patch-7.patch
deleted file mode 100644 (file)
index 2a4315e..0000000
+++ /dev/null
@@ -1,51 +0,0 @@
-From 3ba697465bc74fab513a26dea700cc82e9f4724e Mon Sep 17 00:00:00 2001
-From: Chet Ramey <chet.ramey@case.edu>
-Date: Sat, 20 Apr 2019 14:27:56 -0400
-Subject: [PATCH] Bash-5.0 patch 7: fix exec builtin leaving the terminal in
- the wrong process group
-
----
- jobs.c       | 12 +++++-------
- patchlevel.h |  2 +-
- 2 files changed, 6 insertions(+), 8 deletions(-)
-
-diff --git a/jobs.c b/jobs.c
-index ae3c54c6..6bc31dca 100644
---- a/jobs.c
-+++ b/jobs.c
-@@ -4837,15 +4837,13 @@ void
- end_job_control ()
- {
-   if (job_control)
--    {
--      terminate_stopped_jobs ();
-+    terminate_stopped_jobs ();
--      if (original_pgrp >= 0)
--      give_terminal_to (original_pgrp, 1);
--    }
-+  if (original_pgrp >= 0 && terminal_pgrp != original_pgrp)
-+    give_terminal_to (original_pgrp, 1);
--  if (original_pgrp >= 0)
--    setpgid (0, original_pgrp);
-+  if (original_pgrp >= 0 && setpgid (0, original_pgrp) == 0)
-+    shell_pgrp = original_pgrp;
- }
- /* Restart job control by closing shell tty and reinitializing.  This is
-diff --git a/patchlevel.h b/patchlevel.h
-index 14bff9fc..deb9c5b7 100644
---- a/patchlevel.h
-+++ b/patchlevel.h
-@@ -25,6 +25,6 @@
-    regexp `^#define[  ]*PATCHLEVEL', since that's what support/mkversion.sh
-    looks for to find the patch level (for the sccs version string). */
--#define PATCHLEVEL 6
-+#define PATCHLEVEL 7
- #endif /* _PATCHLEVEL_H_ */
--- 
-2.17.2
-
index 35670bd55cf43dbfd324894c2fa472e7912f9558..674e5b9483b861fbbe654f30dbf3b06dc23e4deb 100644 (file)
@@ -1,20 +1,18 @@
 diff --git a/builtins.h b/builtins.h
-index dac95fd..5b7e811 100644
 --- a/builtins.h
 +++ b/builtins.h
-@@ -45,6 +45,7 @@
- #define ASSIGNMENT_BUILTIN 0x10       /* This builtin takes assignment statements. */
+@@ -46,6 +46,7 @@
  #define POSIX_BUILTIN 0x20    /* This builtins is special in the Posix command search order. */
  #define LOCALVAR_BUILTIN   0x40       /* This builtin creates local variables */
-+#define REQUIRES_BUILTIN 0x80  /* This builtin requires other files. */
+ #define ARRAYREF_BUILTIN 0x80 /* This builtin takes array references as arguments */
++#define REQUIRES_BUILTIN 0x100  /* This builtin requires other files. */
  
  #define BASE_INDENT   4
  
 diff --git a/builtins/mkbuiltins.c b/builtins/mkbuiltins.c
-index 4f51201..91c25db 100644
 --- a/builtins/mkbuiltins.c
 +++ b/builtins/mkbuiltins.c
-@@ -69,10 +69,15 @@ extern char *strcpy ();
+@@ -69,11 +69,16 @@ extern char *strcpy ();
  #define whitespace(c) (((c) == ' ') || ((c) == '\t'))
  
  /* Flag values that builtins can have. */
@@ -25,15 +23,18 @@ index 4f51201..91c25db 100644
  #define BUILTIN_FLAG_SPECIAL  0x01
  #define BUILTIN_FLAG_ASSIGNMENT 0x02
  #define BUILTIN_FLAG_LOCALVAR 0x04
- #define BUILTIN_FLAG_POSIX_BUILTIN 0x08
-+#define BUILTIN_FLAG_REQUIRES  0x10
+ #define BUILTIN_FLAG_POSIX_BUILTIN    0x08
+ #define BUILTIN_FLAG_ARRAYREF_ARG     0x10
++#define BUILTIN_FLAG_REQUIRES  0x20
  
  #define BASE_INDENT   4
  
-@@ -173,11 +178,19 @@ char *posix_builtins[] =
+@@ -189,13 +194,21 @@ char *arrayvar_builtins[] =
+   "typeset", "unset", "wait",         /*]*/
    (char *)NULL
  };
+-      
++
 +/* The builtin commands that cause requirements on other files. */
 +static char *requires_builtins[] =
 +{
@@ -46,36 +47,38 @@ index 4f51201..91c25db 100644
  static int is_assignment_builtin ();
  static int is_localvar_builtin ();
  static int is_posix_builtin ();
+ static int is_arrayvar_builtin ();
 +static int is_requires_builtin ();
  
  #if !defined (HAVE_RENAME)
  static int rename ();
-@@ -831,6 +844,8 @@ builtin_handler (self, defs, arg)
-     new->flags |= BUILTIN_FLAG_LOCALVAR;
-   if (is_posix_builtin (name))
+@@ -856,6 +869,8 @@ builtin_handler (self, defs, arg)
      new->flags |= BUILTIN_FLAG_POSIX_BUILTIN;
+   if (is_arrayvar_builtin (name))
+     new->flags |= BUILTIN_FLAG_ARRAYREF_ARG;
 +  if (is_requires_builtin (name))
 +    new->flags |= BUILTIN_FLAG_REQUIRES;
  
    array_add ((char *)new, defs->builtins);
    building_builtin = 1;
-@@ -1250,12 +1265,13 @@ write_builtins (defs, structfile, externfile)
+@@ -1275,13 +1290,14 @@ write_builtins (defs, structfile, externfile)
                  else
                    fprintf (structfile, "(sh_builtin_func_t *)0x0, ");
  
--                fprintf (structfile, "%s%s%s%s%s, %s_doc,\n",
-+                fprintf (structfile, "%s%s%s%s%s%s, %s_doc,\n",
+-                fprintf (structfile, "%s%s%s%s%s%s, %s_doc,\n",
++                fprintf (structfile, "%s%s%s%s%s%s%s, %s_doc,\n",
                    "BUILTIN_ENABLED | STATIC_BUILTIN",
                    (builtin->flags & BUILTIN_FLAG_SPECIAL) ? " | SPECIAL_BUILTIN" : "",
                    (builtin->flags & BUILTIN_FLAG_ASSIGNMENT) ? " | ASSIGNMENT_BUILTIN" : "",
                    (builtin->flags & BUILTIN_FLAG_LOCALVAR) ? " | LOCALVAR_BUILTIN" : "",
                    (builtin->flags & BUILTIN_FLAG_POSIX_BUILTIN) ? " | POSIX_BUILTIN" : "",
+                   (builtin->flags & BUILTIN_FLAG_ARRAYREF_ARG) ? " | ARRAYREF_BUILTIN" : "",
 +                  (builtin->flags & BUILTIN_FLAG_REQUIRES) ? " | REQUIRES_BUILTIN" : "",
                    document_name (builtin));
  
                  /* Don't translate short document summaries that are identical
-@@ -1645,6 +1661,13 @@ is_posix_builtin (name)
-   return (_find_in_table (name, posix_builtins));
+@@ -1678,6 +1694,13 @@ is_arrayvar_builtin (name)
+   return (_find_in_table (name, arrayvar_builtins));
  }
  
 +static int
@@ -89,7 +92,6 @@ index 4f51201..91c25db 100644
  static int
  rename (from, to)
 diff --git a/doc/bash.1 b/doc/bash.1
-index d91f1fd..111a66d 100644
 --- a/doc/bash.1
 +++ b/doc/bash.1
 @@ -239,6 +239,14 @@ The shell becomes restricted (see
@@ -108,10 +110,9 @@ index d91f1fd..111a66d 100644
  Equivalent to \fB\-v\fP.
  .TP
 diff --git a/doc/bashref.texi b/doc/bashref.texi
-index d33cd57..6fc4d18 100644
 --- a/doc/bashref.texi
 +++ b/doc/bashref.texi
-@@ -6453,6 +6453,13 @@ standard.  @xref{Bash POSIX Mode}, for a description of the Bash
+@@ -6927,6 +6927,13 @@ standard.  @xref{Bash POSIX Mode}, for a description of the Bash
  @item --restricted
  Make the shell a restricted shell (@pxref{The Restricted Shell}).
  
@@ -126,10 +127,9 @@ index d33cd57..6fc4d18 100644
  Equivalent to @option{-v}.  Print shell input lines as they're read.
  
 diff --git a/eval.c b/eval.c
-index f02d6e4..76c1e8d 100644
 --- a/eval.c
 +++ b/eval.c
-@@ -142,7 +142,8 @@ reader_loop ()
+@@ -138,7 +138,8 @@ reader_loop ()
  
        if (read_command () == 0)
        {
@@ -137,13 +137,12 @@ index f02d6e4..76c1e8d 100644
 +
 +        if (interactive_shell == 0 && (read_but_dont_execute && !rpm_requires))
            {
-             last_command_exit_value = EXECUTION_SUCCESS;
+             set_exit_status (last_command_exit_value);
              dispose_command (global_command);
 diff --git a/execute_cmd.c b/execute_cmd.c
-index 8b3c83a..4eae19c 100644
 --- a/execute_cmd.c
 +++ b/execute_cmd.c
-@@ -538,6 +538,8 @@ async_redirect_stdin ()
+@@ -561,6 +561,8 @@ async_redirect_stdin ()
  
  #define DESCRIBE_PID(pid) do { if (interactive) describe_pid (pid); } while (0)
  
@@ -151,23 +150,23 @@ index 8b3c83a..4eae19c 100644
 +
  /* Execute the command passed in COMMAND, perhaps doing it asynchronously.
     COMMAND is exactly what read_command () places into GLOBAL_COMMAND.
-    ASYNCHROUNOUS, if non-zero, says to do this command in the background.
-@@ -569,7 +571,13 @@ execute_command_internal (command, asynchronous, pipe_in, pipe_out,
+    ASYNCHRONOUS, if non-zero, says to do this command in the background.
+@@ -592,7 +594,13 @@ execute_command_internal (command, asynchronous, pipe_in, pipe_out,
  
    if (breaking || continuing)
      return (last_command_exit_value);
--  if (command == 0 || read_but_dont_execute)
+-  if (read_but_dont_execute)
 +  if (command == 0 || (read_but_dont_execute && !rpm_requires))
 +    return (EXECUTION_SUCCESS);
 +  if (rpm_requires && command->type == cm_function_def)
 +    return last_command_exit_value =
 +      execute_intern_function (command->value.Function_def->name,
 +                              command->value.Function_def);
-+  if (read_but_dont_execute)
++ if (read_but_dont_execute)
+     return (last_command_exit_value);
+   if (command == 0)
      return (EXECUTION_SUCCESS);
-   QUIT;
-@@ -2813,7 +2821,7 @@ execute_for_command (for_command)
+@@ -2883,7 +2891,7 @@ execute_for_command (for_command)
    save_line_number = line_number;
    if (check_identifier (for_command->name, 1) == 0)
      {
@@ -177,7 +176,6 @@ index 8b3c83a..4eae19c 100644
          last_command_exit_value = EX_BADUSAGE;
          jump_to_top_level (ERREXIT);
 diff --git a/execute_cmd.h b/execute_cmd.h
-index dc2f15e..506fff4 100644
 --- a/execute_cmd.h
 +++ b/execute_cmd.h
 @@ -22,6 +22,9 @@
@@ -191,10 +189,18 @@ index dc2f15e..506fff4 100644
  #if defined (ARRAY_VARS)
  struct func_array_state
 diff --git a/make_cmd.c b/make_cmd.c
-index ecbbfd6..3d8bfa4 100644
 --- a/make_cmd.c
 +++ b/make_cmd.c
-@@ -828,6 +828,27 @@ make_coproc_command (name, command)
+@@ -35,6 +35,8 @@
+ #include "bashintl.h"
+ #include "shell.h"
++#include "builtins.h"
++#include "builtins/common.h"
+ #include "execute_cmd.h"
+ #include "parser.h"
+ #include "flags.h"
+@@ -839,6 +841,30 @@ make_coproc_command (name, command)
    return (make_command (cm_coproc, (SIMPLE_COM *)temp));
  }
  
@@ -203,6 +209,9 @@ index ecbbfd6..3d8bfa4 100644
 +const char *deptype;
 +char *filename;
 +{
++  static char *alphabet_set = "abcdefghijklmnopqrstuvwxyz"
++                    "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
++
 +  if (strchr(filename, '$') || (filename[0] != '/' && strchr(filename, '/')))
 +    return;
 +
@@ -222,7 +231,7 @@ index ecbbfd6..3d8bfa4 100644
  /* Reverse the word list and redirection list in the simple command
     has just been parsed.  It seems simpler to do this here the one
     time then by any other method that I can think of. */
-@@ -845,6 +866,28 @@ clean_simple_command (command)
+@@ -856,6 +882,28 @@ clean_simple_command (command)
        REVERSE_LIST (command->value.Simple->redirects, REDIRECT *);
      }
  
@@ -252,10 +261,9 @@ index ecbbfd6..3d8bfa4 100644
    return (command);
  }
 diff --git a/shell.c b/shell.c
-index a2b2a55..c5d99b3 100644
 --- a/shell.c
 +++ b/shell.c
-@@ -193,6 +193,9 @@ int have_devfd = 0;
+@@ -196,6 +196,9 @@ int have_devfd = 0;
  /* The name of the .(shell)rc file. */
  static char *bashrc_file = DEFAULT_BASHRC;
  
@@ -265,7 +273,7 @@ index a2b2a55..c5d99b3 100644
  /* Non-zero means to act more like the Bourne shell on startup. */
  static int act_like_sh;
  
-@@ -259,6 +262,7 @@ static const struct {
+@@ -266,6 +269,7 @@ static const struct {
    { "protected", Int, &protected_mode, (char **)0x0 },
  #endif
    { "rcfile", Charp, (int *)0x0, &bashrc_file },
@@ -273,9 +281,9 @@ index a2b2a55..c5d99b3 100644
  #if defined (RESTRICTED_SHELL)
    { "restricted", Int, &restricted, (char **)0x0 },
  #endif
-@@ -496,6 +500,12 @@ main (argc, argv, env)
-   if (dump_translatable_strings)
+@@ -510,6 +514,12 @@ main (argc, argv, env)
      read_but_dont_execute = 1;
+ #endif
  
 +  if (rpm_requires)
 +    {
@@ -287,35 +295,13 @@ index a2b2a55..c5d99b3 100644
      disable_priv_mode ();
  
 diff --git a/shell.h b/shell.h
-index 8072605..6c4149d 100644
 --- a/shell.h
 +++ b/shell.h
-@@ -34,12 +34,15 @@
- #include "maxpath.h"
- #include "unwind_prot.h"
- #include "dispose_cmd.h"
-+#include "execute_cmd.h"
- #include "make_cmd.h"
- #include "ocache.h"
- #include "subst.h"
- #include "sig.h"
- #include "pathnames.h"
- #include "externs.h"
-+#include "builtins.h"
-+#include "builtins/common.h"
- extern int EOF_Reached;
-@@ -99,6 +102,9 @@ extern int interactive, interactive_shell;
+@@ -100,6 +100,7 @@ extern int interactive, interactive_shell;
  extern int startup_state;
  extern int reading_shell_script;
  extern int shell_initialized;
 +extern int rpm_requires;
-+static char *alphabet_set = "abcdefghijklmnopqrstuvwxyz"
-+                     "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
  extern int bash_argv_initialized;
  extern int subshell_environment;
  extern int current_command_number;
--- 
-2.17.2
-
diff --git a/bash/patches/bash-tty-tests.patch b/bash/patches/bash-tty-tests.patch
deleted file mode 100644 (file)
index f9b6532..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-diff --git a/tests/exec.right b/tests/exec.right
-index 6075cc8..0b3f02c 100644
---- a/tests/exec.right
-+++ b/tests/exec.right
-@@ -51,7 +51,6 @@ this is ohio-state
- 0
- 1
- testb
--expand_aliases        on
- 1
- 1
- 1
-diff --git a/tests/execscript b/tests/execscript
-index c1819de..9227a4a 100644
---- a/tests/execscript
-+++ b/tests/execscript
-@@ -108,8 +108,6 @@ ${THIS_SH} ./exec6.sub
- # checks for properly deciding what constitutes an executable file
- ${THIS_SH} ./exec7.sub
--${THIS_SH} -i ${PWD}/exec8.sub
--
- ${THIS_SH} ./exec9.sub
- ${THIS_SH} ./exec10.sub
-diff --git a/tests/read.right b/tests/read.right
-index 73cb704..a92fe7f 100644
---- a/tests/read.right
-+++ b/tests/read.right
-@@ -33,14 +33,6 @@ a = abcdefg
- a = xyz
- a = -xyz 123-
- a = abc
--timeout 1: ok
--
--timeout 2: ok
--
--./read2.sub: line 23: read: -3: invalid timeout specification
--1
--
--abcde
- ./read3.sub: line 4: read: -1: invalid number
- abc
- ab
-diff --git a/tests/read.tests b/tests/read.tests
-index f67cd00..083f4a4 100644
---- a/tests/read.tests
-+++ b/tests/read.tests
-@@ -82,9 +82,6 @@ echo " foo" | { IFS=$':' ; read line; recho "$line"; }
- # test read -d delim behavior
- ${THIS_SH} ./read1.sub
--# test read -t timeout behavior
--${THIS_SH} ./read2.sub
--
- # test read -n nchars behavior
- ${THIS_SH} ./read3.sub
--- 
-2.17.2
-
diff --git a/batctl/batctl.nm b/batctl/batctl.nm
deleted file mode 100644 (file)
index 8095ae5..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = batctl
-version    = 2012.4.0
-release    = 1
-
-groups     = Networking/Tools
-url        = http://www.open-mesh.org/projects/batctl
-license    = GPLv2
-summary    = B.A.T.M.A.N. advanced control and management tool.
-
-
-description
-       B.A.T.M.A.N. advanced operates on layer 2 and thus all
-       hosts participating in the virtual switch are completely
-       transparent for all protocols above layer 2. Therefore the
-       common diagnosis tools do not work as expected.
-       To overcome these problems batctl was created. At the moment batctl
-       contains ping, traceroute, tcpdump and interfaces to the
-       kernel module settings.
-end
-
-source_dl  = http://downloads.open-mesh.org/batman/stable/sources/batctl/
-
-build
-       make_install_targets += PREFIX=%{prefix}
-end
-
-packages
-       package %{name}
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
index 9b91ebd4caae02d1f67c398d5cdf4e73187a02de..9281b9639e42cb0f7408d10d74bb60d15bdca7b2 100644 (file)
--- a/bc/bc.nm
+++ b/bc/bc.nm
@@ -4,42 +4,40 @@
 ###############################################################################
 
 name       = bc
-version    = 1.06
-release    = 0
+version    = 1.07.1
+release    = 1
 
 groups     = System/Tools
-url        = http://www.gnu.org/software/bc/
+url        = https://www.gnu.org/software/bc/
 license    = GPLv2+
 summary    = bc is an arbitrary precision numeric processing language.
 
 description
-       bc is a language that supports arbitrary precision numbers with \
-       interactive execution of statements. There are some similarities in the \
+       bc is a language that supports arbitrary precision numbers with
+       interactive execution of statements. There are some similarities in the
        syntax to the C programming language.
 end
 
-source_dl  = http://ftp.gnu.org/gnu/bc/
+source_dl  = https://ftp.gnu.org/gnu/bc/
 
 build
        requires
+               ed
                flex
+               readline-devel
+               texinfo
        end
 
        configure_options += \
-               --mandir=/usr/share/man \
-               --disable-static
-
-       prepare_cmds
-               sed -i '/PROTO.*readline/d' bc/scan.l
-               sed -i '/flex -I8/s/8//' configure
-               sed -i '/stdlib/a #include <string.h>' lib/number.c
-               sed -i 's/program.*save/static &/' bc/load.c
+               --with-readline
+
+       test
+               echo "quit" | ./bc/bc -l Test/checklib.b
        end
 end
 
 packages
        package %{name}
-       end
 
        package %{name}-debuginfo
                template DEBUGINFO
diff --git a/beecrypt/beecrypt.nm b/beecrypt/beecrypt.nm
deleted file mode 100644 (file)
index 6d53a1e..0000000
+++ /dev/null
@@ -1,63 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = beecrypt
-version    = 4.2.1
-release    = 3
-
-groups     = System/Libraries
-url        = http://beecrypt.sourceforge.net/
-license    = LGPLv2+
-summary    = An open source cryptography library.
-
-description
-       BeeCrypt is an ongoing project to provide a strong and fast cryptography
-       toolkit. Includes entropy sources, random generators, block ciphers, hash
-       functions, message authentication codes, multiprecision integer routines
-       and public key primitives.
-end
-
-source_dl  = http://downloads.sourceforge.net/sourceforge/%{name}/
-
-build
-       requires
-               autoconf
-               automake
-               gcc-c++
-               libtool
-       end
-
-       prepare_cmds
-               libtoolize
-               autoreconf -vfi
-       end
-
-       # Getting weird linking errors without --disable-threads.
-       configure_options += \
-               --disable-expert-mode \
-               --disable-threads \
-               --enable-openmp \
-               --with-cplusplus=no \
-               --with-java=no \
-               --with-python=no
-
-       make_build_targets += OPENMP_LIBS="-lgomp"
-
-       test
-               make check
-       end
-end
-
-packages
-       package %{name}
-
-       package %{name}-devel
-               template DEVEL
-       end
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
diff --git a/beecrypt/patches/beecrypt-4.1.2-biarch.patch b/beecrypt/patches/beecrypt-4.1.2-biarch.patch
deleted file mode 100644 (file)
index 695eef0..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-Patch by Paul Nasrat <pnasrat@redhat.com> for beecrypt >= 4.1.2 to make multilib/multiarch
-of beecrypt-devel working.
-
---- beecrypt-4.1.2/gnu.h.in                            2006-05-22 15:53:45.000000000 -0400
-+++ beecrypt-4.1.2/gnu.h.in.biarch                     2006-05-22 15:53:49.000000000 -0400
-@@ -61,7 +61,12 @@
-  * make assumptions about the size set by the configure script
-  */
- #if !defined(MP_WBITS)
--# define MP_WBITS     @MP_WBITS@
-+# include <bits/wordsize.h>
-+#if __WORDSIZE == 32
-+# define MP_WBITS     32U
-+#elif __WORDSIZE == 64
-+# define MP_WBITS     64U
-+#endif
- #endif
- #endif
diff --git a/beecrypt/patches/beecrypt-4.2.1-build-system.patch b/beecrypt/patches/beecrypt-4.2.1-build-system.patch
deleted file mode 100644 (file)
index b2bd64a..0000000
+++ /dev/null
@@ -1,91 +0,0 @@
---- beecrypt-4.2.1/configure.ac
-+++ beecrypt-4.2.1/configure.ac
-@@ -11,7 +11,7 @@
- # Checks for package options
- AC_ARG_ENABLE(expert-mode, [  --enable-expert-mode      follow user-defined CFLAGS settings [[default=no]]],[
--  ac_enable_expert_mode=yes
-+  ac_enable_expert_mode=$enableval
-   ],[
-   if test "X$CFLAGS" != "X"; then
-     echo "enabling expert mode"
-@@ -25,7 +25,7 @@
-   if test "$ac_enable_expert_mode" = yes; then
-     AC_MSG_ERROR([--enable-debug cannot be used in conjunction with --enable-expert-mode])
-   fi
--  ac_enable_debug=yes
-+  ac_enable_debug=$enableval
-   ],[
-   ac_enable_debug=no
-   ])
-@@ -456,7 +456,7 @@
-       ac_cv_python_include="-I`$PYTHON -c 'import distutils.sysconfig; print distutils.sysconfig.get_python_inc()'`"
-     ])
-     AC_CACHE_CHECK([where to install python libraries], ac_cv_python_libdir, [
--      ac_cv_python_libdir=`$PYTHON -c 'import distutils.sysconfig; print distutils.sysconfig.get_python_lib()'`
-+      ac_cv_python_libdir=`$PYTHON -c 'import distutils.sysconfig; print distutils.sysconfig.get_python_lib(1, 0)'`
-     ])
-   fi
- fi
---- beecrypt-4.2.1/java/Makefile.am
-+++ beecrypt-4.2.1/java/Makefile.am
-@@ -26,7 +26,7 @@
- INCLUDES = -I$(top_srcdir)/include
--libaltdir=$(prefix)/lib@LIBALT@
-+libaltdir=$(libdir)
- libalt_LTLIBRARIES = libbeecrypt_java.la
---- beecrypt-4.2.1/acinclude.m4
-+++ beecrypt-4.2.1/acinclude.m4
-@@ -1589,20 +1589,5 @@
-   AC_SUBST(TYPEDEF_BC_THREADID_T,$bc_typedef_bc_threadid_t)
-   ])
--
--AH_BOTTOM([
--#if ENABLE_THREADS
--# ifndef _REENTRANT
--#  define _REENTRANT
--# endif
--# if LINUX
--#  define _LIBC_REENTRANT
--# endif
--#else
--# ifdef _REENTRANT
--#  undef _REENTRANT
--# endif
--#endif
--])
- dnl  BEE_THREAD_LOCAL_STORAGE
-@@ -1623,7 +1609,5 @@
-   ])
- AH_BOTTOM([
--#if !ENABLE_THREAD_LOCAL_STORAGE
--# define __thread
--#endif
-+#include "config.threads.h"
- ])
---- beecrypt-4.2.1/config.threads.h
-+++ beecrypt-4.2.1/config.threads.h
-@@ -0,0 +1,16 @@
-+#if ENABLE_THREADS
-+# ifndef _REENTRANT
-+#  define _REENTRANT
-+# endif
-+# if LINUX
-+#  define _LIBC_REENTRANT
-+# endif
-+#else
-+# ifdef _REENTRANT
-+#  undef _REENTRANT
-+# endif
-+#endif
-+
-+#if !ENABLE_THREAD_LOCAL_STORAGE
-+# define __thread
-+#endif
diff --git a/beecrypt/patches/beecrypt-4.2.1-no-c++.patch b/beecrypt/patches/beecrypt-4.2.1-no-c++.patch
deleted file mode 100644 (file)
index bb2d227..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-Patch by Robert Scheck <robert@fedoraproject.org> for beecrypt >= 4.2.1 to avoid linking
-against libstdc++. This patch is based on an old by Florian La Roche <laroche@redhat.com>
-and Panu Matilainen <pmatilai@redhat.com>. For further information see Red Hat Bugzilla
-for bug ID #165080.
-
---- beecrypt-4.2.1/Makefile.am                         2009-07-08 20:56:18.000000000 +0200
-+++ beecrypt-4.2.1/Makefile.am.no-c++                  2010-03-28 20:55:51.000000000 +0200
-@@ -62,7 +62,7 @@
- lib_LTLIBRARIES = libbeecrypt.la
--libbeecrypt_la_SOURCES = aes.c base64.c beecrypt.c blockmode.c blockpad.c blowfish.c dhies.c dldp.c dlkp.c dlpk.c dlsvdp-dh.c dsa.c elgamal.c endianness.c entropy.c fips186.c hmac.c hmacmd5.c hmacsha1.c hmacsha224.c hmacsha256.c md4.c md5.c hmacsha384.c hmacsha512.c memchunk.c mp.c mpbarrett.c mpnumber.c mpprime.c mtprng.c pkcs1.c pkcs12.c ripemd128.c ripemd160.c ripemd256.c ripemd320.c rsa.c rsakp.c rsapk.c sha1.c sha224.c sha256.c sha384.c sha512.c sha2k32.c sha2k64.c timestamp.c cppglue.cxx
-+libbeecrypt_la_SOURCES = aes.c base64.c beecrypt.c blockmode.c blockpad.c blowfish.c dhies.c dldp.c dlkp.c dlpk.c dlsvdp-dh.c dsa.c elgamal.c endianness.c entropy.c fips186.c hmac.c hmacmd5.c hmacsha1.c hmacsha224.c hmacsha256.c md4.c md5.c hmacsha384.c hmacsha512.c memchunk.c mp.c mpbarrett.c mpnumber.c mpprime.c mtprng.c pkcs1.c pkcs12.c ripemd128.c ripemd160.c ripemd256.c ripemd320.c rsa.c rsakp.c rsapk.c sha1.c sha224.c sha256.c sha384.c sha512.c sha2k32.c sha2k64.c timestamp.c # cppglue.cxx
- libbeecrypt_la_DEPENDENCIES = $(BEECRYPT_OBJECTS)
- libbeecrypt_la_LIBADD = blowfishopt.lo mpopt.lo sha1opt.lo $(OPENMP_LIBS)
- libbeecrypt_la_LDFLAGS = -no-undefined -version-info $(LIBBEECRYPT_LT_CURRENT):$(LIBBEECRYPT_LT_REVISION):$(LIBBEECRYPT_LT_AGE)
index 6cb259791331eb22bb6e29475b1af7664ebe58f0..9101f3b5c7152ebc76c85edd5de0a36d108182f6 100644 (file)
 ###############################################################################
 
 name       = bind
-version    = 9.9.9-P6
-release    = 1
+version    = 9.19.9
+release    = 1.1
 
 groups     = Networking/Tools
-url        = http://www.isc.org/products/BIND/
+url        = https://www.isc.org/bind/
 license    = Proprietary
-summary    = BIND provides tools for the DNS.
+summary    = BIND provides tools for the DNS
 
 description
        BIND (Berkeley Internet Name Domain or named) is the most commonly used
        DNS server on the Internet, especially on Unix-like systems.
 end
 
-source_dl  = ftp://ftp.isc.org/isc/bind/%{version}/
+source_dl  = https://downloads.isc.org/isc/bind9/%{version}/
+sources    = %{thisapp}.tar.xz
 
 build
        requires
-               autoconf
-               automake
+               json-c-devel
                libcap-devel
-               libidn-devel
-               libtool
+               libidn2-devel
+               libuv-devel
+               krb5-devel
+               nghttp2-devel
                pkg-config
                openssl-devel >= 1.0.1h-2
-               shadow-utils
        end
 
+       #export LD_LIBRARY_PATH = %{DIR_APP}/lib/bind9/.libs:%{DIR_APP}/lib/dns/.libs:%{DIR_APP}/lib/isc/.libs:%{DIR_APP}/lib/isccfg/.libs:%{DIR_APP}/lib/ns/.libs
+
        configure_options += \
-               --with-libtool \
-               --enable-threads \
-               --enable-ipv6 \
-               --with-pic \
                --disable-static \
-               --disable-openssl-version-check \
-               --enable-exportlib \
-               --with-export-libdir=%{libdir}/ \
-               --with-export-includedir=%{includedir} \
-               --includedir=%{includedir}/bind9/ \
-               --with-gssapi \
-               --enable-rrl \
-               --disable-isc-spnego
-
-       prepare_cmds
-               # Create m4 directory.
-               cd %{DIR_APP} && mkdir -pv m4
+               --enable-auto-validation
 
-               # Branding.
-               sed -i -e 's/RELEASEVER=\(.*\)/RELEASEVER=\1-%{DISTRO_NAME}-%{version}-%{release}/' version
+       tools = dig nsupdate
 
-               # Regenerate build environment
-               autoreconf -vfi
-
-       end
+       build
+               %{configure}
 
-       build_cmds
-               # Build some typical system tools (dig, host, nslookup)
-               make -C bin/dig -j %{PARALLELISMFLAGS}
+               # Build libraries
+               make -C lib %{PARALLELISMFLAGS}
 
-               # Build nsupdate
-               make -C bin/nsupdate -j %{PARALLELISMFLAGS}
+               # Build tools
+               for tool in %{tools}; do
+                       make -C bin/${tool} %{PARALLELISMFLAGS} || exit $?
+               done
        end
 
-       install_cmds
-               # Install typical system tools
-               make -C bin/dig install DESTDIR=%{BUILDROOT}
+       install
+               # Install libraries
+               make -C lib install DESTDIR="%{BUILDROOT}"
 
-               # Install nsupdate
-               make -C bin/nsupdate install DESTDIR=%{BUILDROOT}
+               # Install tools
+               for tool in %{tools}; do
+                       make -C bin/${tool} install DESTDIR="%{BUILDROOT}" || exit $?
+               done
 
-               # Install isc/errno2result.h header
-               install -m 644 lib/isc/unix/errno2result.h %{BUILDROOT}%{includedir}/isc
-
-               # Install trusted root key.
+               # Install trusted root key
+               mkdir -pv %{BUILDROOT}%{sysconfdir}
                install -m 644 %{DIR_SOURCE}/trusted-key.key %{BUILDROOT}%{sysconfdir}/trusted-key.key
-
-               # Remove development libraries and headers except *-export ones
-               rm -rvf %{BUILDROOT}%{libdir}/libbind9.so
-               rm -rvf %{BUILDROOT}%{libdir}/libdns.so
-               rm -rvf %{BUILDROOT}%{libdir}/libisccc.so
-               rm -rvf %{BUILDROOT}%{libdir}/libisccfg.so
-               rm -rvf %{BUILDROOT}%{libdir}/libisc.so
-               rm -rvf %{BUILDROOT}%{libdir}/liblwres.so
-               rm -rvf %{BUILDROOT}%{includedir}/bind9
-
-               # Remove unwanted files
-               rm -rvf %{BUILDROOT}/etc
-               rm -rvf %{BUILDROOT}/var
-
-               # Remove unneeded tools
-               rm -rvf %{BUILDROOT}%{bindir}/isc-config.sh
-               rm -rvf %{BUILDROOT}%{bindir}/bind9-config
-
-               # Remove manpages for the unneeded tools
-               rm -rvf %{BUILDROOT}%{mandir}/man1/isc-config.sh.1
-               rm -rvf %{BUILDROOT}%{mandir}/man1/bind9-config.1
-
-               # Remove documentation for liblwres and tools
-               rm -rvf %{BUILDROOT}%{mandir}/man3
        end
 end
 
 packages
-       package %{name}
-               # The bind package is just an umbrella package for the utils
-               # and libs package.
-               requires
-                       %{name}-libs = %{thisver}
-                       %{name}-utils = %{thisver}
-                       %{name}-utils-libs = %{thisver}
-               end
-       end
-
        package %{name}-utils
-               summary = Utilities for querying bind DNS name server.
-               description = %{summary}
-
-               requires
-                       %{name}-utils-libs = %{thisver}
-               end
-
-               files
-                       /etc/trusted-key.key
-                       /usr/bin/dig
-                       /usr/bin/host
-                       /usr/bin/nslookup
-                       /usr/bin/nsupdate
-                       /usr/share/man/man1/dig.1*
-                       /usr/share/man/man1/host.1*
-                       /usr/share/man/man1/nslookup.1*
-                       /usr/share/man/man1/nsupdate.1*
-               end
-       end
-
-       package %{name}-utils-libs
-               template LIBS
-
-               summary = Required libraries for the tools in the bind-utils package.
-               description = %{summary}
-       end
-
-       package %{name}-libs
-               template LIBS
-
-               files
-                       %{libdir}/*export.so.*
-               end
-       end
-
-       package %{name}-devel
-               template DEVEL
+               summary = Utilities for querying the DNS system
        end
 
        package %{name}-debuginfo
diff --git a/bind/patches/bind97-exportlib.patch b/bind/patches/bind97-exportlib.patch
deleted file mode 100644 (file)
index 4468ef5..0000000
+++ /dev/null
@@ -1,226 +0,0 @@
-diff -up bind-9.9.3rc2/isc-config.sh.in.exportlib bind-9.9.3rc2/isc-config.sh.in
-diff -up bind-9.9.3rc2/lib/export/dns/Makefile.in.exportlib bind-9.9.3rc2/lib/export/dns/Makefile.in
---- bind-9.9.3rc2/lib/export/dns/Makefile.in.exportlib 2013-04-30 08:38:46.000000000 +0200
-+++ bind-9.9.3rc2/lib/export/dns/Makefile.in   2013-05-13 10:45:22.574089729 +0200
-@@ -35,9 +35,9 @@ CDEFINES =   -DUSE_MD5 @USE_OPENSSL@ @USE_
- CWARNINGS =
--ISCLIBS =     ../isc/libisc.@A@
-+ISCLIBS =     ../isc/libisc-export.@A@
--ISCDEPLIBS =  ../isc/libisc.@A@
-+ISCDEPLIBS =  ../isc/libisc-export.@A@
- LIBS =                @LIBS@
-@@ -116,29 +116,29 @@ version.@O@: ${srcdir}/version.c
-               -DLIBAGE=${LIBAGE} \
-               -c ${srcdir}/version.c
--libdns.@SA@: ${OBJS}
-+libdns-export.@SA@: ${OBJS}
-       ${AR} ${ARFLAGS} $@ ${OBJS}
-       ${RANLIB} $@
--libdns.la: ${OBJS}
-+libdns-export.la: ${OBJS}
-       ${LIBTOOL_MODE_LINK} \
--              ${CC} ${ALL_CFLAGS} ${LDFLAGS} -o libdns.la \
-+              ${CC} ${ALL_CFLAGS} ${LDFLAGS} -o libdns-export.la \
-               -rpath ${export_libdir} \
-               -version-info ${LIBINTERFACE}:${LIBREVISION}:${LIBAGE} \
-               ${OBJS} ${ISCLIBS} @DNS_CRYPTO_LIBS@ ${LIBS}
--timestamp: libdns.@A@
-+timestamp: libdns-export.@A@
-       touch timestamp
- installdirs:
-       $(SHELL) ${top_srcdir}/mkinstalldirs ${DESTDIR}${export_libdir}
- install:: timestamp installdirs
--      ${LIBTOOL_MODE_INSTALL} ${INSTALL_DATA} libdns.@A@ \
-+      ${LIBTOOL_MODE_INSTALL} ${INSTALL_PROGRAM} libdns-export.@A@ \
-       ${DESTDIR}${export_libdir}/
- clean distclean::
--      rm -f libdns.@A@ timestamp
-+      rm -f libdns-export.@A@ timestamp
-       rm -f gen code.h include/dns/enumtype.h include/dns/enumclass.h
-       rm -f include/dns/rdatastruct.h
-diff -up bind-9.9.3rc2/lib/export/irs/Makefile.in.exportlib bind-9.9.3rc2/lib/export/irs/Makefile.in
---- bind-9.9.3rc2/lib/export/irs/Makefile.in.exportlib 2013-04-30 08:38:46.000000000 +0200
-+++ bind-9.9.3rc2/lib/export/irs/Makefile.in   2013-05-13 10:45:22.575089729 +0200
-@@ -43,9 +43,9 @@ SRCS =               context.c \
-               gai_sterror.c getaddrinfo.c getnameinfo.c \
-               resconf.c
--ISCLIBS =     ../isc/libisc.@A@
--DNSLIBS =     ../dns/libdns.@A@
--ISCCFGLIBS =  ../isccfg/libisccfg.@A@
-+ISCLIBS =     ../isc/libisc-export.@A@
-+DNSLIBS =     ../dns/libdns-export.@A@
-+ISCCFGLIBS =  ../isccfg/libisccfg-export.@A@
- LIBS =                @LIBS@
-@@ -62,26 +62,26 @@ version.@O@: ${srcdir}/version.c
-               -DLIBAGE=${LIBAGE} \
-               -c ${srcdir}/version.c
--libirs.@SA@: ${OBJS} version.@O@
-+libirs-export.@SA@: ${OBJS} version.@O@
-       ${AR} ${ARFLAGS} $@ ${OBJS} version.@O@
-       ${RANLIB} $@
--libirs.la: ${OBJS} version.@O@
-+libirs-export.la: ${OBJS} version.@O@
-       ${LIBTOOL_MODE_LINK} \
--              ${CC} ${ALL_CFLAGS} ${LDFLAGS} -o libirs.la \
-+              ${CC} ${ALL_CFLAGS} ${LDFLAGS} -o libirs-export.la \
-               -rpath ${export_libdir} \
-               -version-info ${LIBINTERFACE}:${LIBREVISION}:${LIBAGE} \
-               ${OBJS} version.@O@ ${LIBS} ${ISCCFGLIBS} ${DNSLIBS} ${ISCLIBS}
--timestamp: libirs.@A@
-+timestamp: libirs-export.@A@
-       touch timestamp
- installdirs:
-       $(SHELL) ${top_srcdir}/mkinstalldirs ${DESTDIR}${export_libdir}
- install:: timestamp installdirs
--      ${LIBTOOL_MODE_INSTALL} ${INSTALL_DATA} libirs.@A@ \
-+      ${LIBTOOL_MODE_INSTALL} ${INSTALL_PROGRAM} libirs-export.@A@ \
-       ${DESTDIR}${export_libdir}/
- clean distclean::
--      rm -f libirs.@A@ libirs.la timestamp
-+      rm -f libirs-export.@A@ libirs-export.la timestamp
-diff -up bind-9.9.3rc2/lib/export/isccfg/Makefile.in.exportlib bind-9.9.3rc2/lib/export/isccfg/Makefile.in
---- bind-9.9.3rc2/lib/export/isccfg/Makefile.in.exportlib      2013-04-30 08:38:46.000000000 +0200
-+++ bind-9.9.3rc2/lib/export/isccfg/Makefile.in        2013-05-13 10:45:22.576089729 +0200
-@@ -30,11 +30,11 @@ CINCLUDES =        -I. ${DNS_INCLUDES} -I${expo
- CDEFINES =
- CWARNINGS =
--ISCLIBS =     ../isc/libisc.@A@
--DNSLIBS =     ../dns/libdns.@A@ @DNS_CRYPTO_LIBS@
-+ISCLIBS =     ../isc/libisc-export.@A@
-+DNSLIBS =     ../dns/libdns-export.@A@ @DNS_CRYPTO_LIBS@
- ISCDEPLIBS =  ../../lib/isc/libisc.@A@
--ISCCFGDEPLIBS =       libisccfg.@A@
-+ISCCFGDEPLIBS =       libisccfg-export.@A@
- LIBS =                @LIBS@
-@@ -58,26 +58,26 @@ version.@O@: ${srcdir}/version.c
-               -DLIBAGE=${LIBAGE} \
-               -c ${srcdir}/version.c
--libisccfg.@SA@: ${OBJS}
-+libisccfg-export.@SA@: ${OBJS}
-       ${AR} ${ARFLAGS} $@ ${OBJS}
-       ${RANLIB} $@
--libisccfg.la: ${OBJS}
-+libisccfg-export.la: ${OBJS}
-        ${LIBTOOL_MODE_LINK} \
--              ${CC} ${ALL_CFLAGS} ${LDFLAGS} -o libisccfg.la \
-+              ${CC} ${ALL_CFLAGS} ${LDFLAGS} -o libisccfg-export.la \
-               -rpath ${export_libdir} \
-               -version-info ${LIBINTERFACE}:${LIBREVISION}:${LIBAGE} \
-               ${OBJS} ${LIBS} ${DNSLIBS} ${ISCLIBS}
--timestamp: libisccfg.@A@
-+timestamp: libisccfg-export.@A@
-       touch timestamp
- installdirs:
-       $(SHELL) ${top_srcdir}/mkinstalldirs ${DESTDIR}${export_libdir}
- install:: timestamp installdirs
--      ${LIBTOOL_MODE_INSTALL} ${INSTALL_DATA} libisccfg.@A@ \
-+      ${LIBTOOL_MODE_INSTALL} ${INSTALL_PROGRAM} libisccfg-export.@A@ \
-       ${DESTDIR}${export_libdir}/
- clean distclean::
--      rm -f libisccfg.@A@ timestamp
-+      rm -f libisccfg-export.@A@ timestamp
-diff -up bind-9.9.3rc2/lib/export/isc/Makefile.in.exportlib bind-9.9.3rc2/lib/export/isc/Makefile.in
---- bind-9.9.3rc2/lib/export/isc/Makefile.in.exportlib 2013-04-30 08:38:46.000000000 +0200
-+++ bind-9.9.3rc2/lib/export/isc/Makefile.in   2013-05-13 10:45:22.576089729 +0200
-@@ -100,6 +100,10 @@ SRCS =            @ISC_EXTRA_SRCS@ \
- LIBS =                @LIBS@
-+# Note: the order of SUBDIRS is important.
-+# Attempt to disable parallel processing.
-+.NOTPARALLEL:
-+.NO_PARALLEL:
- SUBDIRS =     include unix nls @ISC_THREAD_DIR@
- TARGETS =     timestamp
-@@ -113,26 +117,26 @@ version.@O@: ${srcdir}/version.c
-               -DLIBAGE=${LIBAGE} \
-               -c ${srcdir}/version.c
--libisc.@SA@: ${OBJS}
-+libisc-export.@SA@: ${OBJS}
-       ${AR} ${ARFLAGS} $@ ${OBJS}
-       ${RANLIB} $@
--libisc.la: ${OBJS}
-+libisc-export.la: ${OBJS}
-       ${LIBTOOL_MODE_LINK} \
--              ${CC} ${ALL_CFLAGS} ${LDFLAGS} -o libisc.la \
-+              ${CC} ${ALL_CFLAGS} ${LDFLAGS} -o libisc-export.la \
-               -rpath ${export_libdir} \
-               -version-info ${LIBINTERFACE}:${LIBREVISION}:${LIBAGE} \
-               ${OBJS} ${LIBS}
--timestamp: libisc.@A@
-+timestamp: libisc-export.@A@
-       touch timestamp
- installdirs:
-       $(SHELL) ${top_srcdir}/mkinstalldirs ${DESTDIR}${export_libdir}
- install:: timestamp installdirs
--      ${LIBTOOL_MODE_INSTALL} ${INSTALL_DATA} libisc.@A@ \
-+      ${LIBTOOL_MODE_INSTALL} ${INSTALL_PROGRAM} libisc-export.@A@ \
-       ${DESTDIR}${export_libdir}
- clean distclean::
--      rm -f libisc.@A@ libisc.la timestamp
-+      rm -f libisc-export.@A@ libisc-export.la timestamp
-diff -up bind-9.9.3rc2/lib/export/samples/Makefile.in.exportlib bind-9.9.3rc2/lib/export/samples/Makefile.in
---- bind-9.9.3rc2/lib/export/samples/Makefile.in.exportlib     2013-04-30 08:38:46.000000000 +0200
-+++ bind-9.9.3rc2/lib/export/samples/Makefile.in       2013-05-13 10:45:22.577089729 +0200
-@@ -31,15 +31,15 @@ CINCLUDES =        -I${srcdir}/include -I../dns
- CDEFINES =
- CWARNINGS =
--DNSLIBS =     ../dns/libdns.@A@ @DNS_CRYPTO_LIBS@
--ISCLIBS =     ../isc/libisc.@A@
--ISCCFGLIBS =  ../isccfg/libisccfg.@A@
--IRSLIBS =     ../irs/libirs.@A@
-+DNSLIBS =     ../dns/libdns-export.@A@ @DNS_CRYPTO_LIBS@
-+ISCLIBS =     ../isc/libisc-export.@A@
-+ISCCFGLIBS =  ../isccfg/libisccfg-export.@A@
-+IRSLIBS =     ../irs/libirs-export.@A@
--DNSDEPLIBS =  ../dns/libdns.@A@
--ISCDEPLIBS =  ../isc/libisc.@A@
--ISCCFGDEPLIBS =       ../isccfg/libisccfg.@A@
--IRSDEPLIBS =  ../irs/libirs.@A@
-+DNSDEPLIBS =  ../dns/libdns-export.@A@
-+ISCDEPLIBS =  ../isc/libisc-export.@A@
-+ISCCFGDEPLIBS =       ../isccfg/libisccfg-export.@A@
-+IRSDEPLIBS =  ../irs/libirs-export.@A@
- DEPLIBS =     ${DNSDEPLIBS} ${ISCCFGDEPLIBS} ${ISCDEPLIBS}
diff --git a/bind/patches/bind99-dont-build-bin.patch b/bind/patches/bind99-dont-build-bin.patch
deleted file mode 100644 (file)
index ae50372..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/Makefile.in b/Makefile.in
-index 4f7f5a6..d59b9b1 100644
---- a/Makefile.in
-+++ b/Makefile.in
-@@ -21,7 +21,7 @@ top_srcdir = @top_srcdir@
- VERSION=@BIND9_VERSION@
--SUBDIRS =     make unit lib bin doc @LIBEXPORT@
-+SUBDIRS =     make lib doc @LIBEXPORT@
- TARGETS =
- MANPAGES =    isc-config.sh.1
index b971bb3755e912945c657d8bbc4a6c642894a7bc..060bed8789049b54a2b94d688bd2f05f7ba37e23 100644 (file)
@@ -4,14 +4,14 @@
 ###############################################################################
 
 name       = binutils
-version    = 2.32
-release    = 1
+version    = 2.40
+release    = 1.1
 
 maintainer = Michael Tremer <michael.tremer@ipfire.org>
 groups     = Development/Tools
-url        = http://www.gnu.org/software/binutils/
+url        = https://www.gnu.org/software/binutils/
 license    = GPLv2+
-summary    = The GNU Binutils are a collection of binary tools.
+summary    = The GNU Binutils are a collection of binary tools
 
 description
        The GNU Binary Utilities, or binutils, is a collection of programming
@@ -28,33 +28,16 @@ build
                dejagnu
                flex
                gcc-c++
-               pakfire-builder >= 0.9.23-5
                perl
                texinfo
                zlib-devel
+               zstd-devel
        end
 
+       LDFLAGS += -Wl,--enable-new-dtags
+
        prepare_cmds
                mkdir -pv %{DIR_SRC}/binutils-build
-
-               # On aarch64 we might use 64KiB pages
-               sed -i -e '/#define.*ELF_COMMONPAGESIZE/s/0x1000$/0x10000/' bfd/elf*aarch64.c
-
-               # Suppress the installation of an outdated standards.info file as a newer
-               # one is installed later on in the Autoconf instructions:
-               rm -fv etc/standards.info
-               sed -e '/^INFO/s/standards.info //' -i etc/Makefile.in
-
-               perl -pi -e 's/i\[3-7\]86/i[34567]86/g' */conf*
-               sed -i -e 's/%''{release}/%{release}/g' bfd/Makefile{.am,.in}
-               sed -i -e '/^libopcodes_la_\(DEPENDENCIES\|LIBADD\)/s,$, ../bfd/libbfd.la,' opcodes/Makefile.{am,in}
-
-               # Build libbfd.so and libopcodes.so with -Bsymbolic-functions if possible.
-               if gcc %{CFLAGS} -v --help 2>&1 | grep -q -- -Bsymbolic-functions; then
-                       sed -i -e 's/^libbfd_la_LDFLAGS = /&-Wl,-Bsymbolic-functions /' bfd/Makefile.{am,in}
-                       sed -i -e 's/^libopcodes_la_LDFLAGS = /&-Wl,-Bsymbolic-functions /' opcodes/Makefile.{am,in}
-               fi
-               touch */configure
        end
 
        configure_options += \
@@ -63,11 +46,18 @@ build
                --target=%{DISTRO_BUILDTARGET} \
                --disable-werror \
                --disable-static \
+               --enable-shared \
                --enable-64-bit-bfd \
                --enable-plugins \
-               --with-bugurl="http://bugzilla.ipfire.org/" \
+               --with-bugurl="https://bugzilla.ipfire.org/" \
                --enable-relro=yes \
-               --enable-lto
+               --enable-ld \
+               --disable-gold \
+               --enable-lto \
+               --with-system-zlib \
+               --enable-new-dtags \
+               --disable-rpath \
+               --enable-separate-code
 
        build
                cd %{DIR_SRC}/binutils-build
@@ -98,33 +88,26 @@ build
                # Remove Windows/Novell only man pages.
                rm -vf %{BUILDROOT}%{mandir}/man1/{dlltool,nlmconv,windres}*
        end
-
-       # Keep static version of libiberty.
-       keep_libraries
-               %{libdir}/libiberty.a
-       end
 end
 
 packages
        package %{name}
-               provides
-                       bundled(libiberty)
-               end
+
+       package %{name}-libs
+               template LIBS
+
+               files += %{libdir}/*-%{version}.so
        end
 
        package %{name}-devel
                template DEVEL
 
                requires
-                       binutils = %{thisver}
+                       binutils-libs = %{thisver}
                        zlib-devel
                end
 
-               # Don't package libbfd and libopcodes in the -devel package.
-               files
-                       /usr/include
-                       %{libdir}/*.a
-               end
+               files += !%{libdir}/*-%{version}.so
        end
 
        package %{name}-debuginfo
index c288bcefcf3214bbbc76d6deaa7873a338c2942d..171d81e0e8169c2e4cc3ecdc724eb186b2d76cd1 100644 (file)
@@ -4,11 +4,11 @@
 ###############################################################################
 
 name       = bird
-version    = 2.0.2
+version    = 2.13.1
 release    = 1
 
 groups     = Networking/Routing
-url        = http://bird.network.cz/
+url        = https://bird.network.cz/
 license    = GPLv2+
 summary    = BIRD Internet Routing Daemon.
 
@@ -17,7 +17,7 @@ description
        protocols BGP, RIP and OSPF.
 end
 
-source_dl  = ftp://bird.network.cz/pub/bird/
+source_dl  = https://bird.network.cz/download/
 
 build
        requires
@@ -26,6 +26,11 @@ build
                ncurses-devel
                readline-devel
        end
+
+       install_cmds
+               # Drop /var/run
+               rm -rvf %{BUILDROOT}%{localstatedir}/run
+       end
 end
 
 packages
index cbbb0da69eeaf3dbf0a049230f7176614782d0c2..5f7962b340afdcb983d546cba12836d72e598d73 100644 (file)
@@ -4,11 +4,11 @@
 ###############################################################################
 
 name       = bison
-version    = 3.3.2
-release    = 1
+version    = 3.8.2
+release    = 2
 
 groups     = Development/Tools
-url        = http://www.gnu.org/software/bison/
+url        = https://www.gnu.org/software/bison/
 license    = GPLv2+
 summary    = GNU Bison is a parser generator.
 
@@ -17,7 +17,7 @@ description
        context-free grammar into an LALR(1) or GLR parser for that grammar.
 end
 
-source_dl  = http://ftp.gnu.org/gnu/bison/
+source_dl  = https://ftp.gnu.org/gnu/bison/
 sources    = %{thisapp}.tar.xz
 
 build
@@ -32,7 +32,7 @@ build
 
        build_cmds
                cd lib
-               gcc -shared -Wl,-soname,liby.so.%{version} \
+               gcc %{LDFLAGS} -shared -Wl,-soname,liby.so.%{version} \
                        -o liby.so.%{version} %{CFLAGS} main.o yyerror.o
        end
 
index 0ce3089767a5e00463e3e328e043fba42e3e94de..07b94b9a553b29d06b0e79cf689e0fd7769edbcc 100644 (file)
@@ -5,13 +5,13 @@
 
 name       = boost
 ver_major  = 1
-ver_minor  = 70
+ver_minor  = 80
 ver_plevel = 0
 version    = %{ver_major}.%{ver_minor}.%{ver_plevel}
 release    = 1
 
 groups     = System/Libraries
-url        = http://www.boost.org/
+url        = https://www.boost.org/
 license    = Boost
 summary    = The Boost C++ Libraries.
 
@@ -25,32 +25,25 @@ end
 
 thisapp    = %{name}_%{ver_major}_%{ver_minor}_%{ver_plevel}
 
-source_dl  = http://sourceforge.net/projects/boost/files/%{name}/%{version}/
+source_dl  = https://sourceforge.net/projects/boost/files/%{name}/%{version}/
 
 build
        requires
                bzip2-devel
                gcc-c++
                icu-devel
-               python-devel
                python3-devel
+               xz-devel
                zlib-devel
+               zstd-devel
        end
 
-       CFLAGS   += -fno-strict-aliasing
-       CXXFLAGS += -fno-strict-aliasing
-
        # Obtain python3 abiflags.
        python3_abiflags = %(python3-config --abiflags)
 
        CFLAGS   += -I/usr/include/python%{python3_version}%{python3_abiflags}
        CXXFLAGS += -I/usr/include/python%{python3_version}%{python3_abiflags}
 
-       # Don't build in parallel on any architecture.
-       # The C++ compiles consumes too much memory, so
-       # we cannot run multiple instances at once.
-       PARALLELISMFLAGS = -j2
-
        configure_options = \
                --layout=system \
                --build-dir=serial \
@@ -66,9 +59,6 @@ build
                python=%{python3_version} \
                pch=off
 
-       # Get python3 abi flags.
-       python3_abiflags = %(%{python3}-config --abiflags)
-
        prepare_cmds
                # Create build dir.
                mkdir -pv %{DIR_APP}/serial
@@ -95,8 +85,6 @@ build
 end
 
 packages
-       # boost is just a umbrella package, that pulls all other boost
-       # components, except the python3 sub-package.
        package %{name}
                requires
                        boost-chrono = %{thisver}
@@ -108,11 +96,10 @@ packages
                        boost-locale = %{thisver}
                        boost-math = %{thisver}
                        boost-program-options = %{thisver}
-                       boost-python = %{thisver}
+                       boost-python3 = %{thisver}
                        boost-random = %{thisver}
                        boost-regex = %{thisver}
                        boost-serialization = %{thisver}
-                       boost-signals = %{thisver}
                        boost-system = %{thisver}
                        boost-test = %{thisver}
                        boost-thread = %{thisver}
@@ -231,22 +218,6 @@ packages
                end
        end
 
-       package %{name}-python
-               summary = Run-Time component of boost python library.
-               description
-                       The Boost Python Library is a framework for interfacing Python and
-                       C++. It allows you to quickly and seamlessly expose C++ classes
-                       functions and objects to Python, and vice versa, using no special
-                       tools -- just your C++ compiler.  This package contains run-time
-                       support for Boost Python Library.
-               end
-
-               files
-                       %{libdir}/libboost_python.so.*
-                       %{libdir}/libboost_python-mt.so.*
-               end
-       end
-
        package %{name}-python3
                summary = Run-Time component of boost python library for Python 3.
                description
@@ -296,17 +267,6 @@ packages
                end
        end
 
-       package %{name}-signals
-               summary = Run-Time component of boost signals and slots library.
-               description
-                       Run-Time support for managed signals & slots callback implementation.
-               end
-
-               files
-                       %{libdir}/libboost_signals*.so.*
-               end
-       end
-
        package %{name}-system
                summary = Run-Time component of boost system support library.
                description
diff --git a/boost/patches/boost-1.73.0-cmakedir.patch b/boost/patches/boost-1.73.0-cmakedir.patch
new file mode 100644 (file)
index 0000000..e47728f
--- /dev/null
@@ -0,0 +1,28 @@
+--- boost_1_73_0/tools/boost_install/boost-install.jam~        2020-04-24 20:21:50.330267122 +0100
++++ boost_1_73_0/tools/boost_install/boost-install.jam 2020-04-24 20:22:16.818360540 +0100
+@@ -652,25 +652,6 @@
+         "get_filename_component(_BOOST_CMAKEDIR \"${CMAKE_CURRENT_LIST_DIR}/../\" REALPATH)"
+         : true ;
+-    if [ path.is-rooted $(cmakedir) ]
+-    {
+-        local cmakedir-native = [ path-native-fwd $(cmakedir) ] ;
+-
+-        print.text
+-
+-            ""
+-            "# If the computed and the original directories are symlink-equivalent, use original"
+-            "if(EXISTS \"$(cmakedir-native)\")"
+-            "  get_filename_component(_BOOST_CMAKEDIR_ORIGINAL \"$(cmakedir-native)\" REALPATH)"
+-            "  if(_BOOST_CMAKEDIR STREQUAL _BOOST_CMAKEDIR_ORIGINAL)"
+-            "    set(_BOOST_CMAKEDIR \"$(cmakedir-native)\")"
+-            "  endif()"
+-            "  unset(_BOOST_CMAKEDIR_ORIGINAL)"
+-            "endif()"
+-            ""
+-            : true ;
+-    }
+-
+     get-dir "_BOOST_INCLUDEDIR" : $(includedir) ;
+     if $(library-type) = INTERFACE
diff --git a/br2684ctl/br2684ctl.nm b/br2684ctl/br2684ctl.nm
deleted file mode 100644 (file)
index 7b014fb..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = br2684ctl
-version    = ipfire-1
-release    = 2
-
-groups     = Networking/Tools
-url        = http://cvs.linux-atm.sourceforge.net/viewcvs.py/linux-atm/linux-atm/src/br2684/Attic/br2684ctl.8?rev=1.1.2.1&hideattic=0&only_with_tag=V2_5_0
-license    = GPLv2+
-summary    = Utilities for configuring an ATM/ethernet bridge.
-
-description
-       Utility for configuring RFC 2684 ATM/Ethernet bridging
-       ATM bridging is a way to extend Ethernet over an ATM network and is
-       mainly used for DSL connections. This package contains the user space
-       utility needed to configure the kernel driver.
-       This package is needed if you own an USB DSL modem and your connection
-       uses one of these protocols: RFC 1483 bridged (RFC 2684 bridged),
-       PPP over Ethernet (PPPoE).
-end
-
-sources    = %{thisapp}.tar.bz2
-
-build
-       requires
-               linux-atm-devel
-       end
-
-       DIR_APP = %{DIR_SRC}/br2684ctl
-
-       build
-               gcc %{CFLAGS} %{LDFLAGS} -latm br2684ctl.c -o br2684ctl
-       end
-
-       install
-               mkdir -pv %{BUILDROOT}/usr/bin
-               install -v -m 755 br2684ctl %{BUILDROOT}/usr/bin/br2684ctl
-       end
-end
-
-packages
-       package %{name}
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
diff --git a/bricklayer/bricklayer.nm b/bricklayer/bricklayer.nm
new file mode 100644 (file)
index 0000000..2e0f6e9
--- /dev/null
@@ -0,0 +1,89 @@
+###############################################################################
+# IPFire.org    - An Open Source Firewall Solution                            #
+# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
+###############################################################################
+
+name       = bricklayer
+version    = 0.0.1
+release    = 0.1
+
+groups     = Installer
+url        = https://git.ipfire.org/?p=people/ms/bricklayer.git;a=summary
+license    = GPLv2
+summary    = Installer for IPFire
+
+description
+       Bricklayer is the installer program for IPFire.
+
+       It can create bootable images, ISO images and conduct the first
+       steps of setting up the system.
+end
+
+source_dl  = https://source.ipfire.org/releases/bricklayer/
+
+build
+       requires
+               asciidoc
+               autoconf
+               automake
+               gettext
+               intltool
+               pakfire >= 0.9.27-2
+               python3
+               python3-devel
+               python3-parted
+               python3-pytz
+               python3-snack >= 0.52.21-1
+               python3-systemd
+               systemd-devel
+       end
+
+       prepare_cmds
+               # Generate the build system, if this was not a release
+               # tarball.
+               [ -x "configure" ] || sh ./autogen.sh
+       end
+end
+
+packages
+       package %{name}
+               requires
+                       pakfire
+                       python3
+                       python3-parted
+                       python3-pytz
+                       python3-snack
+                       python3-systemd
+
+                       # Filesystem Tools
+                       btrfs-progs
+                       dosfstools
+                       util-linux
+
+                       # User Management
+                       shadow-utils
+               end
+       end
+
+       package %{name}-master
+               summary = Tools to master a bootable CD image
+
+               description
+                       %{name} contains tools to master a bootable
+                       CD image which can be used to install IPFire.
+               end
+
+               files
+                       %{bindir}/bricklayer-master
+               end
+
+               requires
+                       bricklayer = %{thisver}
+                       coreutils
+                       grub
+                       pakfire
+                       squashfs-tools
+                       xorriso
+               end
+       end
+end
diff --git a/bridge-utils/bridge-utils.nm b/bridge-utils/bridge-utils.nm
deleted file mode 100644 (file)
index 09bfc7b..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = bridge-utils
-version    = 1.5
-release    = 1
-
-groups     = Networking/Tools
-url        = http://bridge.sourceforge.net/
-license    = GPLv2+
-summary    = Utilities for configuring the linux ethernet bridge.
-
-description
-       This package contains utilities for configuring the linux ethernet \
-       bridge. The linux ethernet bridge can be used for connecting multiple \
-       ethernet devices together. The connecting is fully transparent: hosts \
-       connected to one ethernet device see hosts connected to the other \
-       ethernet devices directly.
-end
-
-source_dl  = http://downloads.sourceforge.net/project/%{name}/%{name}/%{thisapp}
-
-build
-       requires
-               autoconf
-               automake
-       end
-
-       prepare_cmds
-               autoconf
-       end
-
-       install_cmds
-               rm -rvf %{BUILDROOT}/usr/include
-       end
-end
-
-packages
-       package %{name}
-       end
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
diff --git a/bridge-utils/patches/bridge-utils-1.5-linux_3.8_fix-1.patch b/bridge-utils/patches/bridge-utils-1.5-linux_3.8_fix-1.patch
deleted file mode 100644 (file)
index 292cc83..0000000
+++ /dev/null
@@ -1,54 +0,0 @@
-Submitted By:            Bruce Dubbs <bdubbs_at_linuxfromscratch_dot_org>
-Date:                    2013-03-10
-Initial Package Version: 1.5
-Upstream Status:         Unknown
-Origin:                  LFS
-Description:             This patch contains fixes a problem with 
-the omission of a needed include file in the kernel's linux/if_bridge.h.
-It also fixes some autoconf warnings.
-
-
-diff -Naur bridge-utils-1.5.orig/Makefile.in bridge-utils-1.5/Makefile.in
---- bridge-utils-1.5.orig/Makefile.in  2011-03-28 19:52:54.000000000 -0500
-+++ bridge-utils-1.5/Makefile.in       2013-03-10 13:44:41.000000000 -0500
-@@ -9,6 +9,7 @@
- bindir=@bindir@
- sbindir=@sbindir@
- mandir=@mandir@
-+datarootdir=@datarootdir@
- distdir = $(PACKAGE)-$(VERSION)
- SUBDIRS=libbridge brctl doc
-diff -Naur bridge-utils-1.5.orig/brctl/Makefile.in bridge-utils-1.5/brctl/Makefile.in
---- bridge-utils-1.5.orig/brctl/Makefile.in    2011-03-28 19:52:54.000000000 -0500
-+++ bridge-utils-1.5/brctl/Makefile.in 2013-03-10 13:44:15.000000000 -0500
-@@ -12,6 +12,7 @@
- bindir=@bindir@
- sbindir=@sbindir@
- mandir=@mandir@
-+datarootdir=@datarootdir@
- INSTALL=@INSTALL@
-diff -Naur bridge-utils-1.5.orig/doc/Makefile.in bridge-utils-1.5/doc/Makefile.in
---- bridge-utils-1.5.orig/doc/Makefile.in      2011-03-28 19:52:54.000000000 -0500
-+++ bridge-utils-1.5/doc/Makefile.in   2013-03-10 13:43:39.000000000 -0500
-@@ -9,6 +9,7 @@
- bindir=@bindir@
- sbindir=@sbindir@
- mandir=@mandir@
-+datarootdir=@datarootdir@
- SUBDIRS=libbridge brctl
-diff -Naur bridge-utils-1.5.orig/libbridge/libbridge.h bridge-utils-1.5/libbridge/libbridge.h
---- bridge-utils-1.5.orig/libbridge/libbridge.h        2011-03-28 19:52:54.000000000 -0500
-+++ bridge-utils-1.5/libbridge/libbridge.h     2013-03-10 13:46:23.000000000 -0500
-@@ -21,6 +21,7 @@
- #include <sys/socket.h>
- #include <linux/if.h>
-+#include <netinet/ip6.h>
- #include <linux/if_bridge.h>
- /* defined in net/if.h but that conflicts with linux/if.h... */
diff --git a/btrfs-progs/btrfs-progs.nm b/btrfs-progs/btrfs-progs.nm
new file mode 100644 (file)
index 0000000..116ab7e
--- /dev/null
@@ -0,0 +1,63 @@
+###############################################################################
+# IPFire.org    - An Open Source Firewall Solution                            #
+# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
+###############################################################################
+
+name       = btrfs-progs
+version    = 6.5.1
+release    = 1
+thisapp    = %{name}-v%{version}
+
+groups     = System/Filesystems
+url        = https://btrfs.wiki.kernel.org/index.php/Main_Page
+license    = GPLv2
+summary    = Userspace programs for btrfs
+
+description
+       The btrfs-progs package provides all the userspace programs needed to
+       create, check, modify and correct any inconsistencies in the btrfs
+       filesystem.
+end
+
+source_dl  = https://www.kernel.org/pub/linux/kernel/people/kdave/%{name}/
+sources    = %{thisapp}.tar.xz
+
+build
+       requires
+               autoconf
+               automake
+               e2fsprogs-devel
+               libacl-devel
+               libblkid-devel
+               libtool
+               libudev-devel
+               libuuid-devel
+               lzo-devel
+               zlib-devel
+               zstd-devel >= 1.0.0
+       end
+
+       prepare_cmds
+               ./autogen.sh
+       end
+
+       configure_options += \
+               --disable-documentation \
+               --disable-python
+end
+
+packages
+       package %{name}
+
+       package %{name}-libs
+               template LIBS
+       end
+
+       package %{name}-devel
+               template DEVEL
+       end
+
+       package %{name}-debuginfo
+               template DEBUGINFO
+       end
+end
index 17e88345c8767311fd80cd5c7856f0be399854c6..af5a384a5490b575300ab864207a6e4c8cd570e7 100644 (file)
@@ -4,26 +4,31 @@
 ###############################################################################
 
 name       = bwm-ng
-version    = 0.6.1
+version    = 0.6.3
 release    = 1
 
 groups     = Networking/Statistics
-url        = http://www.gropp.org/?id=projects&sub=bwm-ng
+url        = https://www.gropp.org/?id=projects&sub=bwm-ng
 license    = GPLv2+
-summary    = A bandwidth monitor for the shell.
+summary    = A bandwidth monitor for the shell
 
 description
        bwm-ng diplays the traffic passing by on all interfaces.
 end
 
-source_dl  = http://www.gropp.org/bwm-ng/
+source_dl  = https://www.gropp.org/bwm-ng/
 
 build
        requires
-               libstatgrab-devel
+               autoconf
+               automake
                ncurses-devel
        end
 
+       prepare_cmds
+               ./autogen.sh
+       end
+
        configure_options += \
                --enable-64bit \
                --enable-netstatbyte \
@@ -34,7 +39,6 @@ build
                --with-getifaddrs \
                --with-sysctl \
                --with-procnetdev \
-               --with-libstatgrab \
                --with-netstatlinux \
                --without-strip
 end
diff --git a/bwm-ng/patches/6a2087db.patch b/bwm-ng/patches/6a2087db.patch
new file mode 100644 (file)
index 0000000..b1dc007
--- /dev/null
@@ -0,0 +1,9534 @@
+From 6a2087db6cc7ac5b5f667fcd17c262c079e8dcf2 Mon Sep 17 00:00:00 2001
+From: Volker Gropp <volker@gropp.org>
+Date: Mon, 1 Nov 2021 09:39:31 +0100
+Subject: [PATCH] fix: format not a string literal
+
+... and no format arguments
+https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=997140
+---
+ config.h.in~ |  269 ++
+ configure.in |    4 +-
+ configure~   | 9202 ++++++++++++++++++++++++++++++++++++++++++++++++++
+ src/output.c |    2 +-
+ 4 files changed, 9474 insertions(+), 3 deletions(-)
+ create mode 100644 config.h.in~
+ create mode 100755 configure~
+
+diff --git a/config.h.in~ b/config.h.in~
+new file mode 100644
+index 0000000..4ee68f7
+--- /dev/null
++++ b/config.h.in~
+@@ -0,0 +1,269 @@
++/* config.h.in.  Generated from configure.in by autoheader.  */
++
++/* allow set path to netstat at runtime */
++#undef ALLOW_NETSTATPATH
++
++/* enable use of configfile */
++#undef CONFIG_FILE
++
++/* enable CSV output */
++#undef CSV
++
++/* enable max, sum and avg stats */
++#undef EXTENDED_STATS
++
++/* cc knows about noreturn */
++#undef FUNCATTR_NORETURN
++
++/* Define to 1 if you have the `curs_set' function. */
++#undef HAVE_CURS_SET
++
++/* Define to 1 if you have the 'devstat' library (-ldevstat). */
++#undef HAVE_DEVSTAT_GETDEVS
++
++/* Define to 1 if you have the <devstat.h> header file. */
++#undef HAVE_DEVSTAT_H
++
++/* Define to 1 if you have the `fork' function. */
++#undef HAVE_FORK
++
++/* Define to 1 if you have the 'devstat' library (-ldevstat). */
++#undef HAVE_GETDEVS
++
++/* Define to 1 if you have the `getifaddrs' function. */
++#undef HAVE_GETIFADDRS
++
++/* Define to 1 if you have the <getopt.h> header file. */
++#undef HAVE_GETOPT_H
++
++/* Define to 1 if you have the `getopt_long' function. */
++#undef HAVE_GETOPT_LONG
++
++/* enable use of getbwuid */
++#undef HAVE_GETPWUID
++
++/* Define to 1 if you have the `gettimeofday' function. */
++#undef HAVE_GETTIMEOFDAY
++
++/* Define to 1 if you have the <inttypes.h> header file. */
++#undef HAVE_INTTYPES_H
++
++/* Define to 1 if you have the `ioctl' function. */
++#undef HAVE_IOCTL
++
++/* Define to 1 if you have the `IOMasterPort' function. */
++#undef HAVE_IOMASTERPORT
++
++/* Define to 1 if you have the `IORegistryEntryCreateCFProperties' function.
++   */
++#undef HAVE_IOREGISTRYENTRYCREATECFPROPERTIES
++
++/* Define to 1 if you have Darwin IOService support */
++#undef HAVE_IOSERVICE
++
++/* Define to 1 if you have the `IOServiceGetMatchingServices' function. */
++#undef HAVE_IOSERVICEGETMATCHINGSERVICES
++
++/* Define to 1 if you have the `curses' library (-lcurses). */
++#undef HAVE_LIBCURSES
++
++/* Define to 1 if you have the 'kstat' library (-lkstat). */
++#undef HAVE_LIBKSTAT
++
++/* Define to 1 if you have the `ncurses' library (-lncurses). */
++#undef HAVE_LIBNCURSES
++
++/* Define to 1 if you have the 'statgrab' library (-lstatgrab). */
++#undef HAVE_LIBSTATGRAB
++
++/* Define to 1 if you have the <linux/if.h> header file. */
++#undef HAVE_LINUX_IF_H
++
++/* Define to 1 if you have the <linux/tty.h> header file. */
++#undef HAVE_LINUX_TTY_H
++
++/* Define to 1 if you have the <memory.h> header file. */
++#undef HAVE_MEMORY_H
++
++/* set path to netstat */
++#undef HAVE_NETSTAT_PATH
++
++/* Define to 1 if you have the <net/if.h> header file. */
++#undef HAVE_NET_IF_H
++
++/* Define to 1 if you have the <pwd.h> header file. */
++#undef HAVE_PWD_H
++
++/* Define to 1 if you have the <stdint.h> header file. */
++#undef HAVE_STDINT_H
++
++/* Define to 1 if you have the <stdlib.h> header file. */
++#undef HAVE_STDLIB_H
++
++/* Define to 1 if you have the <strings.h> header file. */
++#undef HAVE_STRINGS_H
++
++/* Define to 1 if you have the <string.h> header file. */
++#undef HAVE_STRING_H
++
++/* Define to 1 if you have the `strlcpy' function. */
++#undef HAVE_STRLCPY
++
++/* Define to 1 if you have the <stropts.h> header file. */
++#undef HAVE_STROPTS_H
++
++/* sysctl diskinput available */
++#undef HAVE_STRUCT_DISKSTATS
++
++/* Define to 1 if `ds_name' is a member of `struct diskstats'. */
++#undef HAVE_STRUCT_DISKSTATS_DS_NAME
++
++/* Define to 1 if `ds_rbytes' is a member of `struct diskstats'. */
++#undef HAVE_STRUCT_DISKSTATS_DS_RBYTES
++
++/* sysctl diskinput available */
++#undef HAVE_STRUCT_DISK_SYSCTL
++
++/* Define to 1 if `dk_rbytes' is a member of `struct disk_sysctl'. */
++#undef HAVE_STRUCT_DISK_SYSCTL_DK_RBYTES
++
++/* Define to 1 if `ifi_ibytes' is a member of `struct if_data'. */
++#undef HAVE_STRUCT_IF_DATA_IFI_IBYTES
++
++/* sysctl input fully available */
++#undef HAVE_STRUCT_IF_MSGHDR_IFM_DATA
++
++/* Define to 1 if you have the `sysctl' function. */
++#undef HAVE_SYSCTL
++
++/* Define to 1 if you have the <sys/disk.h> header file. */
++#undef HAVE_SYS_DISK_H
++
++/* Define to 1 if you have the <sys/dkstat.h> header file. */
++#undef HAVE_SYS_DKSTAT_H
++
++/* Define to 1 if you have the <sys/socket.h> header file. */
++#undef HAVE_SYS_SOCKET_H
++
++/* Define to 1 if you have the <sys/stat.h> header file. */
++#undef HAVE_SYS_STAT_H
++
++/* Define to 1 if you have the <sys/tty.h> header file. */
++#undef HAVE_SYS_TTY_H
++
++/* Define to 1 if you have the <sys/types.h> header file. */
++#undef HAVE_SYS_TYPES_H
++
++/* Define to 1 if you have the <unistd.h> header file. */
++#undef HAVE_UNISTD_H
++
++/* Define to 1 if the system has the type `unsigned long long'. */
++#undef HAVE_UNSIGNED_LONG_LONG
++
++/* Define to 1 if you have the `usleep' function. */
++#undef HAVE_USLEEP
++
++/* Define to 1 if you have the `vfork' function. */
++#undef HAVE_VFORK
++
++/* Define to 1 if you have the <vfork.h> header file. */
++#undef HAVE_VFORK_H
++
++/* Define to 1 if you have the `wattron' function. */
++#undef HAVE_WATTRON
++
++/* Define to 1 if `fork' works. */
++#undef HAVE_WORKING_FORK
++
++/* getifaddrs works as espected */
++#undef HAVE_WORKING_GETIFADDRS
++
++/* Define to 1 if `vfork' works. */
++#undef HAVE_WORKING_VFORK
++
++/* enable /proc/diskstats|/proc/partitions support */
++#undef HAVE__PROC_DISKSTATS
++
++/* Define to 1 if you have the file `/proc/net/dev'. */
++#undef HAVE__PROC_NET_DEV
++
++/* Define to 1 if you have the file `/proc/partitions'. */
++#undef HAVE__PROC_PARTITIONS
++
++/* Define to 1 if you have the file `/usr/ccs/bin/strip'. */
++#undef HAVE__USR_CCS_BIN_STRIP
++
++/* enable html output */
++#undef HTML
++
++/* BSD like netstat */
++#undef NETSTAT_BSD
++
++/* bsd like version with byte info */
++#undef NETSTAT_BSD_BYTES
++
++/* enable link info for netstat */
++#undef NETSTAT_BSD_LINK
++
++/* use GNU net-tools netstat */
++#undef NETSTAT_LINUX
++
++/* Use Net/OpenBSD netstat */
++#undef NETSTAT_NETBSD
++
++/* use Solaris netstat */
++#undef NETSTAT_SOLARIS
++
++/* Name of package */
++#undef PACKAGE
++
++/* Define to the address where bug reports for this package should be sent. */
++#undef PACKAGE_BUGREPORT
++
++/* Define to the full name of this package. */
++#undef PACKAGE_NAME
++
++/* Define to the full name and version of this package. */
++#undef PACKAGE_STRING
++
++/* Define to the one symbol short name of this package. */
++#undef PACKAGE_TARNAME
++
++/* Define to the home page for this package. */
++#undef PACKAGE_URL
++
++/* Define to the version of this package. */
++#undef PACKAGE_VERSION
++
++/* set path to /proc/disktstats raw-file */
++#undef PROC_DISKSTATS_PATH
++
++/* set path to /proc/net/dev raw-file */
++#undef PROC_NET_DEV_PATH
++
++/* set path to /proc/partitions raw-file */
++#undef PROC_PARTITIONS_PATH
++
++/* Define to 1 if you have the ANSI C header files. */
++#undef STDC_HEADERS
++
++/* enable 64bit support */
++#undef SYS_64BIT
++
++/* Version number of package */
++#undef VERSION
++
++/* enable win32 support */
++#undef WIN32
++
++/* Define to `__inline__' or `__inline' if that's what the C compiler
++   calls it, or to nothing if 'inline' is not supported under any name.  */
++#ifndef __cplusplus
++#undef inline
++#endif
++
++/* Define to `int' if <sys/types.h> does not define. */
++#undef pid_t
++
++/* Define as `fork' if `vfork' does not work. */
++#undef vfork
+diff --git a/configure.in b/configure.in
+index 282bf1e..2cd6811 100644
+--- a/configure.in
++++ b/configure.in
+@@ -12,7 +12,7 @@ AC_ARG_ENABLE([debug],AS_HELP_STRING([--enable-debug],[enable debug (default: no
+ echo "enable debugging info: $enableval"
+ if [ test $enableval = "yes" ]; then
+     if test -z ${CFLAGS}; then
+-        CFLAGS="-g3 -Wall"
++        CFLAGS="-g3 -Werror=format-security -Wall"
+     else
+         CFLAGS="-g3 ${CFLAGS}"
+     fi
+@@ -20,7 +20,7 @@ if [ test $enableval = "yes" ]; then
+ fi
+ ],[
+ if test -z "${CFLAGS}"; then
+-    CFLAGS="-O2 -Wall"
++    CFLAGS="-O2 -Wall -Werror=format-security"
+ fi
+ ])
+diff --git a/configure~ b/configure~
+new file mode 100755
+index 0000000..58df3fb
+--- /dev/null
++++ b/configure~
+@@ -0,0 +1,9202 @@
++#! /bin/sh
++# Guess values for system-dependent variables and create Makefiles.
++# Generated by GNU Autoconf 2.71 for bwm-ng 0.6.3.
++#
++# Report bugs to <bwmng@gropp.org>.
++#
++#
++# Copyright (C) 1992-1996, 1998-2017, 2020-2021 Free Software Foundation,
++# Inc.
++#
++#
++# This configure script is free software; the Free Software Foundation
++# gives unlimited permission to copy, distribute and modify it.
++## -------------------- ##
++## M4sh Initialization. ##
++## -------------------- ##
++
++# Be more Bourne compatible
++DUALCASE=1; export DUALCASE # for MKS sh
++as_nop=:
++if test ${ZSH_VERSION+y} && (emulate sh) >/dev/null 2>&1
++then :
++  emulate sh
++  NULLCMD=:
++  # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
++  # is contrary to our usage.  Disable this feature.
++  alias -g '${1+"$@"}'='"$@"'
++  setopt NO_GLOB_SUBST
++else $as_nop
++  case `(set -o) 2>/dev/null` in #(
++  *posix*) :
++    set -o posix ;; #(
++  *) :
++     ;;
++esac
++fi
++
++
++
++# Reset variables that may have inherited troublesome values from
++# the environment.
++
++# IFS needs to be set, to space, tab, and newline, in precisely that order.
++# (If _AS_PATH_WALK were called with IFS unset, it would have the
++# side effect of setting IFS to empty, thus disabling word splitting.)
++# Quoting is to prevent editors from complaining about space-tab.
++as_nl='
++'
++export as_nl
++IFS=" ""      $as_nl"
++
++PS1='$ '
++PS2='> '
++PS4='+ '
++
++# Ensure predictable behavior from utilities with locale-dependent output.
++LC_ALL=C
++export LC_ALL
++LANGUAGE=C
++export LANGUAGE
++
++# We cannot yet rely on "unset" to work, but we need these variables
++# to be unset--not just set to an empty or harmless value--now, to
++# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh).  This construct
++# also avoids known problems related to "unset" and subshell syntax
++# in other old shells (e.g. bash 2.01 and pdksh 5.2.14).
++for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH
++do eval test \${$as_var+y} \
++  && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
++done
++
++# Ensure that fds 0, 1, and 2 are open.
++if (exec 3>&0) 2>/dev/null; then :; else exec 0</dev/null; fi
++if (exec 3>&1) 2>/dev/null; then :; else exec 1>/dev/null; fi
++if (exec 3>&2)            ; then :; else exec 2>/dev/null; fi
++
++# The user is always right.
++if ${PATH_SEPARATOR+false} :; then
++  PATH_SEPARATOR=:
++  (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
++    (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
++      PATH_SEPARATOR=';'
++  }
++fi
++
++
++# Find who we are.  Look in the path if we contain no directory separator.
++as_myself=
++case $0 in #((
++  *[\\/]* ) as_myself=$0 ;;
++  *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++  IFS=$as_save_IFS
++  case $as_dir in #(((
++    '') as_dir=./ ;;
++    */) ;;
++    *) as_dir=$as_dir/ ;;
++  esac
++    test -r "$as_dir$0" && as_myself=$as_dir$0 && break
++  done
++IFS=$as_save_IFS
++
++     ;;
++esac
++# We did not find ourselves, most probably we were run as `sh COMMAND'
++# in which case we are not to be found in the path.
++if test "x$as_myself" = x; then
++  as_myself=$0
++fi
++if test ! -f "$as_myself"; then
++  printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
++  exit 1
++fi
++
++
++# Use a proper internal environment variable to ensure we don't fall
++  # into an infinite loop, continuously re-executing ourselves.
++  if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then
++    _as_can_reexec=no; export _as_can_reexec;
++    # We cannot yet assume a decent shell, so we have to provide a
++# neutralization value for shells without unset; and this also
++# works around shells that cannot unset nonexistent variables.
++# Preserve -v and -x to the replacement shell.
++BASH_ENV=/dev/null
++ENV=/dev/null
++(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
++case $- in # ((((
++  *v*x* | *x*v* ) as_opts=-vx ;;
++  *v* ) as_opts=-v ;;
++  *x* ) as_opts=-x ;;
++  * ) as_opts= ;;
++esac
++exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
++# Admittedly, this is quite paranoid, since all the known shells bail
++# out after a failed `exec'.
++printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2
++exit 255
++  fi
++  # We don't want this to propagate to other subprocesses.
++          { _as_can_reexec=; unset _as_can_reexec;}
++if test "x$CONFIG_SHELL" = x; then
++  as_bourne_compatible="as_nop=:
++if test \${ZSH_VERSION+y} && (emulate sh) >/dev/null 2>&1
++then :
++  emulate sh
++  NULLCMD=:
++  # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which
++  # is contrary to our usage.  Disable this feature.
++  alias -g '\${1+\"\$@\"}'='\"\$@\"'
++  setopt NO_GLOB_SUBST
++else \$as_nop
++  case \`(set -o) 2>/dev/null\` in #(
++  *posix*) :
++    set -o posix ;; #(
++  *) :
++     ;;
++esac
++fi
++"
++  as_required="as_fn_return () { (exit \$1); }
++as_fn_success () { as_fn_return 0; }
++as_fn_failure () { as_fn_return 1; }
++as_fn_ret_success () { return 0; }
++as_fn_ret_failure () { return 1; }
++
++exitcode=0
++as_fn_success || { exitcode=1; echo as_fn_success failed.; }
++as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; }
++as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; }
++as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; }
++if ( set x; as_fn_ret_success y && test x = \"\$1\" )
++then :
++
++else \$as_nop
++  exitcode=1; echo positional parameters were not saved.
++fi
++test x\$exitcode = x0 || exit 1
++blah=\$(echo \$(echo blah))
++test x\"\$blah\" = xblah || exit 1
++test -x / || exit 1"
++  as_suggested="  as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
++  as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
++  eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
++  test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1
++test \$(( 1 + 1 )) = 2 || exit 1"
++  if (eval "$as_required") 2>/dev/null
++then :
++  as_have_required=yes
++else $as_nop
++  as_have_required=no
++fi
++  if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null
++then :
++
++else $as_nop
++  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++as_found=false
++for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
++do
++  IFS=$as_save_IFS
++  case $as_dir in #(((
++    '') as_dir=./ ;;
++    */) ;;
++    *) as_dir=$as_dir/ ;;
++  esac
++  as_found=:
++  case $as_dir in #(
++       /*)
++         for as_base in sh bash ksh sh5; do
++           # Try only shells that exist, to save several forks.
++           as_shell=$as_dir$as_base
++           if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
++                  as_run=a "$as_shell" -c "$as_bourne_compatible""$as_required" 2>/dev/null
++then :
++  CONFIG_SHELL=$as_shell as_have_required=yes
++                 if as_run=a "$as_shell" -c "$as_bourne_compatible""$as_suggested" 2>/dev/null
++then :
++  break 2
++fi
++fi
++         done;;
++       esac
++  as_found=false
++done
++IFS=$as_save_IFS
++if $as_found
++then :
++
++else $as_nop
++  if { test -f "$SHELL" || test -f "$SHELL.exe"; } &&
++            as_run=a "$SHELL" -c "$as_bourne_compatible""$as_required" 2>/dev/null
++then :
++  CONFIG_SHELL=$SHELL as_have_required=yes
++fi
++fi
++
++
++      if test "x$CONFIG_SHELL" != x
++then :
++  export CONFIG_SHELL
++             # We cannot yet assume a decent shell, so we have to provide a
++# neutralization value for shells without unset; and this also
++# works around shells that cannot unset nonexistent variables.
++# Preserve -v and -x to the replacement shell.
++BASH_ENV=/dev/null
++ENV=/dev/null
++(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
++case $- in # ((((
++  *v*x* | *x*v* ) as_opts=-vx ;;
++  *v* ) as_opts=-v ;;
++  *x* ) as_opts=-x ;;
++  * ) as_opts= ;;
++esac
++exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
++# Admittedly, this is quite paranoid, since all the known shells bail
++# out after a failed `exec'.
++printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2
++exit 255
++fi
++
++    if test x$as_have_required = xno
++then :
++  printf "%s\n" "$0: This script requires a shell more modern than all"
++  printf "%s\n" "$0: the shells that I found on your system."
++  if test ${ZSH_VERSION+y} ; then
++    printf "%s\n" "$0: In particular, zsh $ZSH_VERSION has bugs and should"
++    printf "%s\n" "$0: be upgraded to zsh 4.3.4 or later."
++  else
++    printf "%s\n" "$0: Please tell bug-autoconf@gnu.org and bwmng@gropp.org
++$0: about your system, including any error possibly output
++$0: before this message. Then install a modern shell, or
++$0: manually run the script under such a shell if you do
++$0: have one."
++  fi
++  exit 1
++fi
++fi
++fi
++SHELL=${CONFIG_SHELL-/bin/sh}
++export SHELL
++# Unset more variables known to interfere with behavior of common tools.
++CLICOLOR_FORCE= GREP_OPTIONS=
++unset CLICOLOR_FORCE GREP_OPTIONS
++
++## --------------------- ##
++## M4sh Shell Functions. ##
++## --------------------- ##
++# as_fn_unset VAR
++# ---------------
++# Portably unset VAR.
++as_fn_unset ()
++{
++  { eval $1=; unset $1;}
++}
++as_unset=as_fn_unset
++
++
++# as_fn_set_status STATUS
++# -----------------------
++# Set $? to STATUS, without forking.
++as_fn_set_status ()
++{
++  return $1
++} # as_fn_set_status
++
++# as_fn_exit STATUS
++# -----------------
++# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
++as_fn_exit ()
++{
++  set +e
++  as_fn_set_status $1
++  exit $1
++} # as_fn_exit
++# as_fn_nop
++# ---------
++# Do nothing but, unlike ":", preserve the value of $?.
++as_fn_nop ()
++{
++  return $?
++}
++as_nop=as_fn_nop
++
++# as_fn_mkdir_p
++# -------------
++# Create "$as_dir" as a directory, including parents if necessary.
++as_fn_mkdir_p ()
++{
++
++  case $as_dir in #(
++  -*) as_dir=./$as_dir;;
++  esac
++  test -d "$as_dir" || eval $as_mkdir_p || {
++    as_dirs=
++    while :; do
++      case $as_dir in #(
++      *\'*) as_qdir=`printf "%s\n" "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
++      *) as_qdir=$as_dir;;
++      esac
++      as_dirs="'$as_qdir' $as_dirs"
++      as_dir=`$as_dirname -- "$as_dir" ||
++$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
++       X"$as_dir" : 'X\(//\)[^/]' \| \
++       X"$as_dir" : 'X\(//\)$' \| \
++       X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
++printf "%s\n" X"$as_dir" |
++    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
++          s//\1/
++          q
++        }
++        /^X\(\/\/\)[^/].*/{
++          s//\1/
++          q
++        }
++        /^X\(\/\/\)$/{
++          s//\1/
++          q
++        }
++        /^X\(\/\).*/{
++          s//\1/
++          q
++        }
++        s/.*/./; q'`
++      test -d "$as_dir" && break
++    done
++    test -z "$as_dirs" || eval "mkdir $as_dirs"
++  } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
++
++
++} # as_fn_mkdir_p
++
++# as_fn_executable_p FILE
++# -----------------------
++# Test if FILE is an executable regular file.
++as_fn_executable_p ()
++{
++  test -f "$1" && test -x "$1"
++} # as_fn_executable_p
++# as_fn_append VAR VALUE
++# ----------------------
++# Append the text in VALUE to the end of the definition contained in VAR. Take
++# advantage of any shell optimizations that allow amortized linear growth over
++# repeated appends, instead of the typical quadratic growth present in naive
++# implementations.
++if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null
++then :
++  eval 'as_fn_append ()
++  {
++    eval $1+=\$2
++  }'
++else $as_nop
++  as_fn_append ()
++  {
++    eval $1=\$$1\$2
++  }
++fi # as_fn_append
++
++# as_fn_arith ARG...
++# ------------------
++# Perform arithmetic evaluation on the ARGs, and store the result in the
++# global $as_val. Take advantage of shells that can avoid forks. The arguments
++# must be portable across $(()) and expr.
++if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null
++then :
++  eval 'as_fn_arith ()
++  {
++    as_val=$(( $* ))
++  }'
++else $as_nop
++  as_fn_arith ()
++  {
++    as_val=`expr "$@" || test $? -eq 1`
++  }
++fi # as_fn_arith
++
++# as_fn_nop
++# ---------
++# Do nothing but, unlike ":", preserve the value of $?.
++as_fn_nop ()
++{
++  return $?
++}
++as_nop=as_fn_nop
++
++# as_fn_error STATUS ERROR [LINENO LOG_FD]
++# ----------------------------------------
++# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
++# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
++# script with STATUS, using 1 if that was 0.
++as_fn_error ()
++{
++  as_status=$1; test $as_status -eq 0 && as_status=1
++  if test "$4"; then
++    as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
++    printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
++  fi
++  printf "%s\n" "$as_me: error: $2" >&2
++  as_fn_exit $as_status
++} # as_fn_error
++
++if expr a : '\(a\)' >/dev/null 2>&1 &&
++   test "X`expr 00001 : '.*\(...\)'`" = X001; then
++  as_expr=expr
++else
++  as_expr=false
++fi
++
++if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
++  as_basename=basename
++else
++  as_basename=false
++fi
++
++if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
++  as_dirname=dirname
++else
++  as_dirname=false
++fi
++
++as_me=`$as_basename -- "$0" ||
++$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
++       X"$0" : 'X\(//\)$' \| \
++       X"$0" : 'X\(/\)' \| . 2>/dev/null ||
++printf "%s\n" X/"$0" |
++    sed '/^.*\/\([^/][^/]*\)\/*$/{
++          s//\1/
++          q
++        }
++        /^X\/\(\/\/\)$/{
++          s//\1/
++          q
++        }
++        /^X\/\(\/\).*/{
++          s//\1/
++          q
++        }
++        s/.*/./; q'`
++
++# Avoid depending upon Character Ranges.
++as_cr_letters='abcdefghijklmnopqrstuvwxyz'
++as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
++as_cr_Letters=$as_cr_letters$as_cr_LETTERS
++as_cr_digits='0123456789'
++as_cr_alnum=$as_cr_Letters$as_cr_digits
++
++
++  as_lineno_1=$LINENO as_lineno_1a=$LINENO
++  as_lineno_2=$LINENO as_lineno_2a=$LINENO
++  eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" &&
++  test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || {
++  # Blame Lee E. McMahon (1931-1989) for sed's syntax.  :-)
++  sed -n '
++    p
++    /[$]LINENO/=
++  ' <$as_myself |
++    sed '
++      s/[$]LINENO.*/&-/
++      t lineno
++      b
++      :lineno
++      N
++      :loop
++      s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
++      t loop
++      s/-\n.*//
++    ' >$as_me.lineno &&
++  chmod +x "$as_me.lineno" ||
++    { printf "%s\n" "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
++
++  # If we had to re-execute with $CONFIG_SHELL, we're ensured to have
++  # already done that, so ensure we don't try to do so again and fall
++  # in an infinite loop.  This has already happened in practice.
++  _as_can_reexec=no; export _as_can_reexec
++  # Don't try to exec as it changes $[0], causing all sort of problems
++  # (the dirname of $[0] is not the place where we might find the
++  # original and so on.  Autoconf is especially sensitive to this).
++  . "./$as_me.lineno"
++  # Exit status is that of the last command.
++  exit
++}
++
++
++# Determine whether it's possible to make 'echo' print without a newline.
++# These variables are no longer used directly by Autoconf, but are AC_SUBSTed
++# for compatibility with existing Makefiles.
++ECHO_C= ECHO_N= ECHO_T=
++case `echo -n x` in #(((((
++-n*)
++  case `echo 'xy\c'` in
++  *c*) ECHO_T='       ';;     # ECHO_T is single tab character.
++  xy)  ECHO_C='\c';;
++  *)   echo `echo ksh88 bug on AIX 6.1` > /dev/null
++       ECHO_T='       ';;
++  esac;;
++*)
++  ECHO_N='-n';;
++esac
++
++# For backward compatibility with old third-party macros, we provide
++# the shell variables $as_echo and $as_echo_n.  New code should use
++# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively.
++as_echo='printf %s\n'
++as_echo_n='printf %s'
++
++
++rm -f conf$$ conf$$.exe conf$$.file
++if test -d conf$$.dir; then
++  rm -f conf$$.dir/conf$$.file
++else
++  rm -f conf$$.dir
++  mkdir conf$$.dir 2>/dev/null
++fi
++if (echo >conf$$.file) 2>/dev/null; then
++  if ln -s conf$$.file conf$$ 2>/dev/null; then
++    as_ln_s='ln -s'
++    # ... but there are two gotchas:
++    # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
++    # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
++    # In both cases, we have to default to `cp -pR'.
++    ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
++      as_ln_s='cp -pR'
++  elif ln conf$$.file conf$$ 2>/dev/null; then
++    as_ln_s=ln
++  else
++    as_ln_s='cp -pR'
++  fi
++else
++  as_ln_s='cp -pR'
++fi
++rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
++rmdir conf$$.dir 2>/dev/null
++
++if mkdir -p . 2>/dev/null; then
++  as_mkdir_p='mkdir -p "$as_dir"'
++else
++  test -d ./-p && rmdir ./-p
++  as_mkdir_p=false
++fi
++
++as_test_x='test -x'
++as_executable_p=as_fn_executable_p
++
++# Sed expression to map a string onto a valid CPP name.
++as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
++
++# Sed expression to map a string onto a valid variable name.
++as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
++
++
++test -n "$DJDIR" || exec 7<&0 </dev/null
++exec 6>&1
++
++# Name of the host.
++# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status,
++# so uname gets run too.
++ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
++
++#
++# Initializations.
++#
++ac_default_prefix=/usr/local
++ac_clean_files=
++ac_config_libobj_dir=.
++LIBOBJS=
++cross_compiling=no
++subdirs=
++MFLAGS=
++MAKEFLAGS=
++
++# Identity of this package.
++PACKAGE_NAME='bwm-ng'
++PACKAGE_TARNAME='bwm-ng'
++PACKAGE_VERSION='0.6.3'
++PACKAGE_STRING='bwm-ng 0.6.3'
++PACKAGE_BUGREPORT='bwmng@gropp.org'
++PACKAGE_URL=''
++
++ac_unique_file="src/bwm-ng.c"
++# Factoring default headers for most tests.
++ac_includes_default="\
++#include <stddef.h>
++#ifdef HAVE_STDIO_H
++# include <stdio.h>
++#endif
++#ifdef HAVE_STDLIB_H
++# include <stdlib.h>
++#endif
++#ifdef HAVE_STRING_H
++# include <string.h>
++#endif
++#ifdef HAVE_INTTYPES_H
++# include <inttypes.h>
++#endif
++#ifdef HAVE_STDINT_H
++# include <stdint.h>
++#endif
++#ifdef HAVE_STRINGS_H
++# include <strings.h>
++#endif
++#ifdef HAVE_SYS_TYPES_H
++# include <sys/types.h>
++#endif
++#ifdef HAVE_SYS_STAT_H
++# include <sys/stat.h>
++#endif
++#ifdef HAVE_UNISTD_H
++# include <unistd.h>
++#endif"
++
++ac_header_c_list=
++ac_func_c_list=
++ac_subst_vars='am__EXEEXT_FALSE
++am__EXEEXT_TRUE
++LTLIBOBJS
++LIBOBJS
++INPUT_SYSTEM
++NETSTAT_CMD
++EGREP
++GREP
++am__fastdepCC_FALSE
++am__fastdepCC_TRUE
++CCDEPMODE
++am__nodep
++AMDEPBACKSLASH
++AMDEP_FALSE
++AMDEP_TRUE
++am__include
++DEPDIR
++OBJEXT
++EXEEXT
++ac_ct_CC
++CPPFLAGS
++LDFLAGS
++CFLAGS
++CC
++AM_BACKSLASH
++AM_DEFAULT_VERBOSITY
++AM_DEFAULT_V
++AM_V
++CSCOPE
++ETAGS
++CTAGS
++am__untar
++am__tar
++AMTAR
++am__leading_dot
++SET_MAKE
++AWK
++mkdir_p
++MKDIR_P
++INSTALL_STRIP_PROGRAM
++STRIP
++install_sh
++MAKEINFO
++AUTOHEADER
++AUTOMAKE
++AUTOCONF
++ACLOCAL
++VERSION
++PACKAGE
++CYGPATH_W
++am__isrc
++INSTALL_DATA
++INSTALL_SCRIPT
++INSTALL_PROGRAM
++target_alias
++host_alias
++build_alias
++LIBS
++ECHO_T
++ECHO_N
++ECHO_C
++DEFS
++mandir
++localedir
++libdir
++psdir
++pdfdir
++dvidir
++htmldir
++infodir
++docdir
++oldincludedir
++includedir
++runstatedir
++localstatedir
++sharedstatedir
++sysconfdir
++datadir
++datarootdir
++libexecdir
++sbindir
++bindir
++program_transform_name
++prefix
++exec_prefix
++PACKAGE_URL
++PACKAGE_BUGREPORT
++PACKAGE_STRING
++PACKAGE_VERSION
++PACKAGE_TARNAME
++PACKAGE_NAME
++PATH_SEPARATOR
++SHELL
++am__quote'
++ac_subst_files=''
++ac_user_opts='
++enable_option_checking
++enable_silent_rules
++enable_debug
++enable_dependency_tracking
++with_curses
++with_ncurses
++with_time
++with_getopt_long
++with_getifaddrs
++with_sysctl
++with_sysctldisk
++with_kstat
++with_win32
++with_procnetdev
++with_diskstats
++with_partitions
++with_devstat
++with_ioservice
++with_libstatgrab
++enable_html
++enable_csv
++enable_extendedstats
++enable_configfile
++enable_64bit
++enable_netstatpath
++enable_netstatbyte
++enable_netstatlink
++with_netstatbsd
++with_netstatlinux
++with_netstatlinuxnew
++with_netstatsolaris
++with_netstatnetbsd
++with_strip
++'
++      ac_precious_vars='build_alias
++host_alias
++target_alias
++CC
++CFLAGS
++LDFLAGS
++LIBS
++CPPFLAGS'
++
++
++# Initialize some variables set by options.
++ac_init_help=
++ac_init_version=false
++ac_unrecognized_opts=
++ac_unrecognized_sep=
++# The variables have the same names as the options, with
++# dashes changed to underlines.
++cache_file=/dev/null
++exec_prefix=NONE
++no_create=
++no_recursion=
++prefix=NONE
++program_prefix=NONE
++program_suffix=NONE
++program_transform_name=s,x,x,
++silent=
++site=
++srcdir=
++verbose=
++x_includes=NONE
++x_libraries=NONE
++
++# Installation directory options.
++# These are left unexpanded so users can "make install exec_prefix=/foo"
++# and all the variables that are supposed to be based on exec_prefix
++# by default will actually change.
++# Use braces instead of parens because sh, perl, etc. also accept them.
++# (The list follows the same order as the GNU Coding Standards.)
++bindir='${exec_prefix}/bin'
++sbindir='${exec_prefix}/sbin'
++libexecdir='${exec_prefix}/libexec'
++datarootdir='${prefix}/share'
++datadir='${datarootdir}'
++sysconfdir='${prefix}/etc'
++sharedstatedir='${prefix}/com'
++localstatedir='${prefix}/var'
++runstatedir='${localstatedir}/run'
++includedir='${prefix}/include'
++oldincludedir='/usr/include'
++docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
++infodir='${datarootdir}/info'
++htmldir='${docdir}'
++dvidir='${docdir}'
++pdfdir='${docdir}'
++psdir='${docdir}'
++libdir='${exec_prefix}/lib'
++localedir='${datarootdir}/locale'
++mandir='${datarootdir}/man'
++
++ac_prev=
++ac_dashdash=
++for ac_option
++do
++  # If the previous option needs an argument, assign it.
++  if test -n "$ac_prev"; then
++    eval $ac_prev=\$ac_option
++    ac_prev=
++    continue
++  fi
++
++  case $ac_option in
++  *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
++  *=)   ac_optarg= ;;
++  *)    ac_optarg=yes ;;
++  esac
++
++  case $ac_dashdash$ac_option in
++  --)
++    ac_dashdash=yes ;;
++
++  -bindir | --bindir | --bindi | --bind | --bin | --bi)
++    ac_prev=bindir ;;
++  -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
++    bindir=$ac_optarg ;;
++
++  -build | --build | --buil | --bui | --bu)
++    ac_prev=build_alias ;;
++  -build=* | --build=* | --buil=* | --bui=* | --bu=*)
++    build_alias=$ac_optarg ;;
++
++  -cache-file | --cache-file | --cache-fil | --cache-fi \
++  | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
++    ac_prev=cache_file ;;
++  -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
++  | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
++    cache_file=$ac_optarg ;;
++
++  --config-cache | -C)
++    cache_file=config.cache ;;
++
++  -datadir | --datadir | --datadi | --datad)
++    ac_prev=datadir ;;
++  -datadir=* | --datadir=* | --datadi=* | --datad=*)
++    datadir=$ac_optarg ;;
++
++  -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \
++  | --dataroo | --dataro | --datar)
++    ac_prev=datarootdir ;;
++  -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \
++  | --dataroot=* | --dataroo=* | --dataro=* | --datar=*)
++    datarootdir=$ac_optarg ;;
++
++  -disable-* | --disable-*)
++    ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
++    # Reject names that are not valid shell variable names.
++    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
++      as_fn_error $? "invalid feature name: \`$ac_useropt'"
++    ac_useropt_orig=$ac_useropt
++    ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'`
++    case $ac_user_opts in
++      *"
++"enable_$ac_useropt"
++"*) ;;
++      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig"
++       ac_unrecognized_sep=', ';;
++    esac
++    eval enable_$ac_useropt=no ;;
++
++  -docdir | --docdir | --docdi | --doc | --do)
++    ac_prev=docdir ;;
++  -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*)
++    docdir=$ac_optarg ;;
++
++  -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv)
++    ac_prev=dvidir ;;
++  -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*)
++    dvidir=$ac_optarg ;;
++
++  -enable-* | --enable-*)
++    ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
++    # Reject names that are not valid shell variable names.
++    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
++      as_fn_error $? "invalid feature name: \`$ac_useropt'"
++    ac_useropt_orig=$ac_useropt
++    ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'`
++    case $ac_user_opts in
++      *"
++"enable_$ac_useropt"
++"*) ;;
++      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig"
++       ac_unrecognized_sep=', ';;
++    esac
++    eval enable_$ac_useropt=\$ac_optarg ;;
++
++  -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
++  | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
++  | --exec | --exe | --ex)
++    ac_prev=exec_prefix ;;
++  -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
++  | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
++  | --exec=* | --exe=* | --ex=*)
++    exec_prefix=$ac_optarg ;;
++
++  -gas | --gas | --ga | --g)
++    # Obsolete; use --with-gas.
++    with_gas=yes ;;
++
++  -help | --help | --hel | --he | -h)
++    ac_init_help=long ;;
++  -help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
++    ac_init_help=recursive ;;
++  -help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
++    ac_init_help=short ;;
++
++  -host | --host | --hos | --ho)
++    ac_prev=host_alias ;;
++  -host=* | --host=* | --hos=* | --ho=*)
++    host_alias=$ac_optarg ;;
++
++  -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht)
++    ac_prev=htmldir ;;
++  -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \
++  | --ht=*)
++    htmldir=$ac_optarg ;;
++
++  -includedir | --includedir | --includedi | --included | --include \
++  | --includ | --inclu | --incl | --inc)
++    ac_prev=includedir ;;
++  -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
++  | --includ=* | --inclu=* | --incl=* | --inc=*)
++    includedir=$ac_optarg ;;
++
++  -infodir | --infodir | --infodi | --infod | --info | --inf)
++    ac_prev=infodir ;;
++  -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
++    infodir=$ac_optarg ;;
++
++  -libdir | --libdir | --libdi | --libd)
++    ac_prev=libdir ;;
++  -libdir=* | --libdir=* | --libdi=* | --libd=*)
++    libdir=$ac_optarg ;;
++
++  -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
++  | --libexe | --libex | --libe)
++    ac_prev=libexecdir ;;
++  -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
++  | --libexe=* | --libex=* | --libe=*)
++    libexecdir=$ac_optarg ;;
++
++  -localedir | --localedir | --localedi | --localed | --locale)
++    ac_prev=localedir ;;
++  -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*)
++    localedir=$ac_optarg ;;
++
++  -localstatedir | --localstatedir | --localstatedi | --localstated \
++  | --localstate | --localstat | --localsta | --localst | --locals)
++    ac_prev=localstatedir ;;
++  -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
++  | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*)
++    localstatedir=$ac_optarg ;;
++
++  -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
++    ac_prev=mandir ;;
++  -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
++    mandir=$ac_optarg ;;
++
++  -nfp | --nfp | --nf)
++    # Obsolete; use --without-fp.
++    with_fp=no ;;
++
++  -no-create | --no-create | --no-creat | --no-crea | --no-cre \
++  | --no-cr | --no-c | -n)
++    no_create=yes ;;
++
++  -no-recursion | --no-recursion | --no-recursio | --no-recursi \
++  | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
++    no_recursion=yes ;;
++
++  -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
++  | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
++  | --oldin | --oldi | --old | --ol | --o)
++    ac_prev=oldincludedir ;;
++  -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
++  | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
++  | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
++    oldincludedir=$ac_optarg ;;
++
++  -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
++    ac_prev=prefix ;;
++  -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
++    prefix=$ac_optarg ;;
++
++  -program-prefix | --program-prefix | --program-prefi | --program-pref \
++  | --program-pre | --program-pr | --program-p)
++    ac_prev=program_prefix ;;
++  -program-prefix=* | --program-prefix=* | --program-prefi=* \
++  | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
++    program_prefix=$ac_optarg ;;
++
++  -program-suffix | --program-suffix | --program-suffi | --program-suff \
++  | --program-suf | --program-su | --program-s)
++    ac_prev=program_suffix ;;
++  -program-suffix=* | --program-suffix=* | --program-suffi=* \
++  | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
++    program_suffix=$ac_optarg ;;
++
++  -program-transform-name | --program-transform-name \
++  | --program-transform-nam | --program-transform-na \
++  | --program-transform-n | --program-transform- \
++  | --program-transform | --program-transfor \
++  | --program-transfo | --program-transf \
++  | --program-trans | --program-tran \
++  | --progr-tra | --program-tr | --program-t)
++    ac_prev=program_transform_name ;;
++  -program-transform-name=* | --program-transform-name=* \
++  | --program-transform-nam=* | --program-transform-na=* \
++  | --program-transform-n=* | --program-transform-=* \
++  | --program-transform=* | --program-transfor=* \
++  | --program-transfo=* | --program-transf=* \
++  | --program-trans=* | --program-tran=* \
++  | --progr-tra=* | --program-tr=* | --program-t=*)
++    program_transform_name=$ac_optarg ;;
++
++  -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd)
++    ac_prev=pdfdir ;;
++  -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*)
++    pdfdir=$ac_optarg ;;
++
++  -psdir | --psdir | --psdi | --psd | --ps)
++    ac_prev=psdir ;;
++  -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*)
++    psdir=$ac_optarg ;;
++
++  -q | -quiet | --quiet | --quie | --qui | --qu | --q \
++  | -silent | --silent | --silen | --sile | --sil)
++    silent=yes ;;
++
++  -runstatedir | --runstatedir | --runstatedi | --runstated \
++  | --runstate | --runstat | --runsta | --runst | --runs \
++  | --run | --ru | --r)
++    ac_prev=runstatedir ;;
++  -runstatedir=* | --runstatedir=* | --runstatedi=* | --runstated=* \
++  | --runstate=* | --runstat=* | --runsta=* | --runst=* | --runs=* \
++  | --run=* | --ru=* | --r=*)
++    runstatedir=$ac_optarg ;;
++
++  -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
++    ac_prev=sbindir ;;
++  -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
++  | --sbi=* | --sb=*)
++    sbindir=$ac_optarg ;;
++
++  -sharedstatedir | --sharedstatedir | --sharedstatedi \
++  | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
++  | --sharedst | --shareds | --shared | --share | --shar \
++  | --sha | --sh)
++    ac_prev=sharedstatedir ;;
++  -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
++  | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
++  | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
++  | --sha=* | --sh=*)
++    sharedstatedir=$ac_optarg ;;
++
++  -site | --site | --sit)
++    ac_prev=site ;;
++  -site=* | --site=* | --sit=*)
++    site=$ac_optarg ;;
++
++  -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
++    ac_prev=srcdir ;;
++  -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
++    srcdir=$ac_optarg ;;
++
++  -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
++  | --syscon | --sysco | --sysc | --sys | --sy)
++    ac_prev=sysconfdir ;;
++  -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
++  | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
++    sysconfdir=$ac_optarg ;;
++
++  -target | --target | --targe | --targ | --tar | --ta | --t)
++    ac_prev=target_alias ;;
++  -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
++    target_alias=$ac_optarg ;;
++
++  -v | -verbose | --verbose | --verbos | --verbo | --verb)
++    verbose=yes ;;
++
++  -version | --version | --versio | --versi | --vers | -V)
++    ac_init_version=: ;;
++
++  -with-* | --with-*)
++    ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
++    # Reject names that are not valid shell variable names.
++    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
++      as_fn_error $? "invalid package name: \`$ac_useropt'"
++    ac_useropt_orig=$ac_useropt
++    ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'`
++    case $ac_user_opts in
++      *"
++"with_$ac_useropt"
++"*) ;;
++      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig"
++       ac_unrecognized_sep=', ';;
++    esac
++    eval with_$ac_useropt=\$ac_optarg ;;
++
++  -without-* | --without-*)
++    ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
++    # Reject names that are not valid shell variable names.
++    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
++      as_fn_error $? "invalid package name: \`$ac_useropt'"
++    ac_useropt_orig=$ac_useropt
++    ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'`
++    case $ac_user_opts in
++      *"
++"with_$ac_useropt"
++"*) ;;
++      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig"
++       ac_unrecognized_sep=', ';;
++    esac
++    eval with_$ac_useropt=no ;;
++
++  --x)
++    # Obsolete; use --with-x.
++    with_x=yes ;;
++
++  -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
++  | --x-incl | --x-inc | --x-in | --x-i)
++    ac_prev=x_includes ;;
++  -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
++  | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
++    x_includes=$ac_optarg ;;
++
++  -x-libraries | --x-libraries | --x-librarie | --x-librari \
++  | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
++    ac_prev=x_libraries ;;
++  -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
++  | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
++    x_libraries=$ac_optarg ;;
++
++  -*) as_fn_error $? "unrecognized option: \`$ac_option'
++Try \`$0 --help' for more information"
++    ;;
++
++  *=*)
++    ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
++    # Reject names that are not valid shell variable names.
++    case $ac_envvar in #(
++      '' | [0-9]* | *[!_$as_cr_alnum]* )
++      as_fn_error $? "invalid variable name: \`$ac_envvar'" ;;
++    esac
++    eval $ac_envvar=\$ac_optarg
++    export $ac_envvar ;;
++
++  *)
++    # FIXME: should be removed in autoconf 3.0.
++    printf "%s\n" "$as_me: WARNING: you should use --build, --host, --target" >&2
++    expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
++      printf "%s\n" "$as_me: WARNING: invalid host type: $ac_option" >&2
++    : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}"
++    ;;
++
++  esac
++done
++
++if test -n "$ac_prev"; then
++  ac_option=--`echo $ac_prev | sed 's/_/-/g'`
++  as_fn_error $? "missing argument to $ac_option"
++fi
++
++if test -n "$ac_unrecognized_opts"; then
++  case $enable_option_checking in
++    no) ;;
++    fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;;
++    *)     printf "%s\n" "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
++  esac
++fi
++
++# Check all directory arguments for consistency.
++for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
++              datadir sysconfdir sharedstatedir localstatedir includedir \
++              oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
++              libdir localedir mandir runstatedir
++do
++  eval ac_val=\$$ac_var
++  # Remove trailing slashes.
++  case $ac_val in
++    */ )
++      ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'`
++      eval $ac_var=\$ac_val;;
++  esac
++  # Be sure to have absolute directory names.
++  case $ac_val in
++    [\\/$]* | ?:[\\/]* )  continue;;
++    NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
++  esac
++  as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val"
++done
++
++# There might be people who depend on the old broken behavior: `$host'
++# used to hold the argument of --host etc.
++# FIXME: To remove some day.
++build=$build_alias
++host=$host_alias
++target=$target_alias
++
++# FIXME: To remove some day.
++if test "x$host_alias" != x; then
++  if test "x$build_alias" = x; then
++    cross_compiling=maybe
++  elif test "x$build_alias" != "x$host_alias"; then
++    cross_compiling=yes
++  fi
++fi
++
++ac_tool_prefix=
++test -n "$host_alias" && ac_tool_prefix=$host_alias-
++
++test "$silent" = yes && exec 6>/dev/null
++
++
++ac_pwd=`pwd` && test -n "$ac_pwd" &&
++ac_ls_di=`ls -di .` &&
++ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
++  as_fn_error $? "working directory cannot be determined"
++test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
++  as_fn_error $? "pwd does not report name of working directory"
++
++
++# Find the source files, if location was not specified.
++if test -z "$srcdir"; then
++  ac_srcdir_defaulted=yes
++  # Try the directory containing this script, then the parent directory.
++  ac_confdir=`$as_dirname -- "$as_myself" ||
++$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
++       X"$as_myself" : 'X\(//\)[^/]' \| \
++       X"$as_myself" : 'X\(//\)$' \| \
++       X"$as_myself" : 'X\(/\)' \| . 2>/dev/null ||
++printf "%s\n" X"$as_myself" |
++    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
++          s//\1/
++          q
++        }
++        /^X\(\/\/\)[^/].*/{
++          s//\1/
++          q
++        }
++        /^X\(\/\/\)$/{
++          s//\1/
++          q
++        }
++        /^X\(\/\).*/{
++          s//\1/
++          q
++        }
++        s/.*/./; q'`
++  srcdir=$ac_confdir
++  if test ! -r "$srcdir/$ac_unique_file"; then
++    srcdir=..
++  fi
++else
++  ac_srcdir_defaulted=no
++fi
++if test ! -r "$srcdir/$ac_unique_file"; then
++  test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
++  as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir"
++fi
++ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
++ac_abs_confdir=`(
++      cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg"
++      pwd)`
++# When building in place, set srcdir=.
++if test "$ac_abs_confdir" = "$ac_pwd"; then
++  srcdir=.
++fi
++# Remove unnecessary trailing slashes from srcdir.
++# Double slashes in file names in object file debugging info
++# mess up M-x gdb in Emacs.
++case $srcdir in
++*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;;
++esac
++for ac_var in $ac_precious_vars; do
++  eval ac_env_${ac_var}_set=\${${ac_var}+set}
++  eval ac_env_${ac_var}_value=\$${ac_var}
++  eval ac_cv_env_${ac_var}_set=\${${ac_var}+set}
++  eval ac_cv_env_${ac_var}_value=\$${ac_var}
++done
++
++#
++# Report the --help message.
++#
++if test "$ac_init_help" = "long"; then
++  # Omit some internal or obsolete options to make the list less imposing.
++  # This message is too long to be a string in the A/UX 3.1 sh.
++  cat <<_ACEOF
++\`configure' configures bwm-ng 0.6.3 to adapt to many kinds of systems.
++
++Usage: $0 [OPTION]... [VAR=VALUE]...
++
++To assign environment variables (e.g., CC, CFLAGS...), specify them as
++VAR=VALUE.  See below for descriptions of some of the useful variables.
++
++Defaults for the options are specified in brackets.
++
++Configuration:
++  -h, --help              display this help and exit
++      --help=short        display options specific to this package
++      --help=recursive    display the short help of all the included packages
++  -V, --version           display version information and exit
++  -q, --quiet, --silent   do not print \`checking ...' messages
++      --cache-file=FILE   cache test results in FILE [disabled]
++  -C, --config-cache      alias for \`--cache-file=config.cache'
++  -n, --no-create         do not create output files
++      --srcdir=DIR        find the sources in DIR [configure dir or \`..']
++
++Installation directories:
++  --prefix=PREFIX         install architecture-independent files in PREFIX
++                          [$ac_default_prefix]
++  --exec-prefix=EPREFIX   install architecture-dependent files in EPREFIX
++                          [PREFIX]
++
++By default, \`make install' will install all the files in
++\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc.  You can specify
++an installation prefix other than \`$ac_default_prefix' using \`--prefix',
++for instance \`--prefix=\$HOME'.
++
++For better control, use the options below.
++
++Fine tuning of the installation directories:
++  --bindir=DIR            user executables [EPREFIX/bin]
++  --sbindir=DIR           system admin executables [EPREFIX/sbin]
++  --libexecdir=DIR        program executables [EPREFIX/libexec]
++  --sysconfdir=DIR        read-only single-machine data [PREFIX/etc]
++  --sharedstatedir=DIR    modifiable architecture-independent data [PREFIX/com]
++  --localstatedir=DIR     modifiable single-machine data [PREFIX/var]
++  --runstatedir=DIR       modifiable per-process data [LOCALSTATEDIR/run]
++  --libdir=DIR            object code libraries [EPREFIX/lib]
++  --includedir=DIR        C header files [PREFIX/include]
++  --oldincludedir=DIR     C header files for non-gcc [/usr/include]
++  --datarootdir=DIR       read-only arch.-independent data root [PREFIX/share]
++  --datadir=DIR           read-only architecture-independent data [DATAROOTDIR]
++  --infodir=DIR           info documentation [DATAROOTDIR/info]
++  --localedir=DIR         locale-dependent data [DATAROOTDIR/locale]
++  --mandir=DIR            man documentation [DATAROOTDIR/man]
++  --docdir=DIR            documentation root [DATAROOTDIR/doc/bwm-ng]
++  --htmldir=DIR           html documentation [DOCDIR]
++  --dvidir=DIR            dvi documentation [DOCDIR]
++  --pdfdir=DIR            pdf documentation [DOCDIR]
++  --psdir=DIR             ps documentation [DOCDIR]
++_ACEOF
++
++  cat <<\_ACEOF
++
++Program names:
++  --program-prefix=PREFIX            prepend PREFIX to installed program names
++  --program-suffix=SUFFIX            append SUFFIX to installed program names
++  --program-transform-name=PROGRAM   run sed PROGRAM on installed program names
++_ACEOF
++fi
++
++if test -n "$ac_init_help"; then
++  case $ac_init_help in
++     short | recursive ) echo "Configuration of bwm-ng 0.6.3:";;
++   esac
++  cat <<\_ACEOF
++
++Optional Features:
++  --disable-option-checking  ignore unrecognized --enable/--with options
++  --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
++  --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
++  --enable-silent-rules   less verbose build output (undo: "make V=1")
++  --disable-silent-rules  verbose build output (undo: "make V=0")
++  --enable-debug          enable debug (default: no)
++  --enable-dependency-tracking
++                          do not reject slow dependency extractors
++  --disable-dependency-tracking
++                          speeds up one-time build
++  --enable-html           enable html output (default: yes)
++  --enable-csv            enable csv output (default: yes)
++  --enable-extendedstats  enable max, sum and avg stats (default: yes)
++  --enable-configfile     enable configfile support (default: yes)
++  --enable-64bit          enable 64bit support (default: no)
++  --enable-netstatpath    enable path to netstat as runtime option (default:
++                          no), WARNING THIS IS A SECURITY FLAW!
++  --enable-netstatbyte    enable netstat with byte info (default: no)
++  --enable-netstatlink    enable netstat with link limit (default: no)
++
++Optional Packages:
++  --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
++  --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
++  --with-curses           with curses (ARG=PATH)
++  --with-ncurses          prefer ncurses over curses (ARG=PATH)
++  --with-time             enable accurate time calculating (ARG=PATH)
++  --with-getopt_long      enable getopt_long for long options (ARG=PATH)
++  --with-getifaddrs       enable getifaddrs input (ARG=PATH)
++  --with-sysctl           enable sysctl input (ARG=PATH)
++  --with-sysctldisk       enable sysctl disk input (ARG=PATH)
++  --with-kstat            enable kstat (Solaris) input (ARG=PATH)
++  --with-win32            enable win32 input
++  --with-procnetdev       enable /proc/net/dev input (ARG=PATH)
++  --with-diskstats        enable /proc/diskstats input (diskio) (ARG=PATH)
++  --with-partitions       enable /proc/partitions input (diskio) (ARG=PATH)
++  --with-devstat          enable devstat input (ie FreeBSD) (ARG=PATH)
++  --with-ioservice        Use darwin IOService to gather statistics
++  --without-libstatgrab   Use libstatgrab to gather statistics
++  --with-netstatbsd       enable bsd like netstat -i (ARG=PATH)
++  --with-netstatlinux     enable linux like netstat -i (ARG=PATH)
++  --with-netstatlinuxnew  enable linux newer versions ie 2016+ like netstat -i
++                          (ARG=PATH)
++  --with-netstatsolaris   enable solaris like netstat -i (ARG=PATH)
++  --with-netstatnetbsd    enable NetBSD/OpenBSD like netstat -i (ARG=PATH)
++  --with-strip            use strip after make (ARG=PATH)
++
++Some influential environment variables:
++  CC          C compiler command
++  CFLAGS      C compiler flags
++  LDFLAGS     linker flags, e.g. -L<lib dir> if you have libraries in a
++              nonstandard directory <lib dir>
++  LIBS        libraries to pass to the linker, e.g. -l<library>
++  CPPFLAGS    (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
++              you have headers in a nonstandard directory <include dir>
++
++Use these variables to override the choices made by `configure' or to help
++it to find libraries and programs with nonstandard names/locations.
++
++Report bugs to <bwmng@gropp.org>.
++_ACEOF
++ac_status=$?
++fi
++
++if test "$ac_init_help" = "recursive"; then
++  # If there are subdirs, report their specific --help.
++  for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
++    test -d "$ac_dir" ||
++      { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } ||
++      continue
++    ac_builddir=.
++
++case "$ac_dir" in
++.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
++*)
++  ac_dir_suffix=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'`
++  # A ".." for each directory in $ac_dir_suffix.
++  ac_top_builddir_sub=`printf "%s\n" "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
++  case $ac_top_builddir_sub in
++  "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
++  *)  ac_top_build_prefix=$ac_top_builddir_sub/ ;;
++  esac ;;
++esac
++ac_abs_top_builddir=$ac_pwd
++ac_abs_builddir=$ac_pwd$ac_dir_suffix
++# for backward compatibility:
++ac_top_builddir=$ac_top_build_prefix
++
++case $srcdir in
++  .)  # We are building in place.
++    ac_srcdir=.
++    ac_top_srcdir=$ac_top_builddir_sub
++    ac_abs_top_srcdir=$ac_pwd ;;
++  [\\/]* | ?:[\\/]* )  # Absolute name.
++    ac_srcdir=$srcdir$ac_dir_suffix;
++    ac_top_srcdir=$srcdir
++    ac_abs_top_srcdir=$srcdir ;;
++  *) # Relative name.
++    ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
++    ac_top_srcdir=$ac_top_build_prefix$srcdir
++    ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
++esac
++ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
++
++    cd "$ac_dir" || { ac_status=$?; continue; }
++    # Check for configure.gnu first; this name is used for a wrapper for
++    # Metaconfig's "Configure" on case-insensitive file systems.
++    if test -f "$ac_srcdir/configure.gnu"; then
++      echo &&
++      $SHELL "$ac_srcdir/configure.gnu" --help=recursive
++    elif test -f "$ac_srcdir/configure"; then
++      echo &&
++      $SHELL "$ac_srcdir/configure" --help=recursive
++    else
++      printf "%s\n" "$as_me: WARNING: no configuration information is in $ac_dir" >&2
++    fi || ac_status=$?
++    cd "$ac_pwd" || { ac_status=$?; break; }
++  done
++fi
++
++test -n "$ac_init_help" && exit $ac_status
++if $ac_init_version; then
++  cat <<\_ACEOF
++bwm-ng configure 0.6.3
++generated by GNU Autoconf 2.71
++
++Copyright (C) 2021 Free Software Foundation, Inc.
++This configure script is free software; the Free Software Foundation
++gives unlimited permission to copy, distribute and modify it.
++_ACEOF
++  exit
++fi
++
++## ------------------------ ##
++## Autoconf initialization. ##
++## ------------------------ ##
++
++# ac_fn_c_try_compile LINENO
++# --------------------------
++# Try to compile conftest.$ac_ext, and return whether this succeeded.
++ac_fn_c_try_compile ()
++{
++  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
++  rm -f conftest.$ac_objext conftest.beam
++  if { { ac_try="$ac_compile"
++case "(($ac_try" in
++  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++  *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
++printf "%s\n" "$ac_try_echo"; } >&5
++  (eval "$ac_compile") 2>conftest.err
++  ac_status=$?
++  if test -s conftest.err; then
++    grep -v '^ *+' conftest.err >conftest.er1
++    cat conftest.er1 >&5
++    mv -f conftest.er1 conftest.err
++  fi
++  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
++  test $ac_status = 0; } && {
++       test -z "$ac_c_werror_flag" ||
++       test ! -s conftest.err
++       } && test -s conftest.$ac_objext
++then :
++  ac_retval=0
++else $as_nop
++  printf "%s\n" "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++      ac_retval=1
++fi
++  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
++  as_fn_set_status $ac_retval
++
++} # ac_fn_c_try_compile
++
++# ac_fn_c_check_type LINENO TYPE VAR INCLUDES
++# -------------------------------------------
++# Tests whether TYPE exists after having included INCLUDES, setting cache
++# variable VAR accordingly.
++ac_fn_c_check_type ()
++{
++  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
++  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
++printf %s "checking for $2... " >&6; }
++if eval test \${$3+y}
++then :
++  printf %s "(cached) " >&6
++else $as_nop
++  eval "$3=no"
++  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++$4
++int
++main (void)
++{
++if (sizeof ($2))
++       return 0;
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_c_try_compile "$LINENO"
++then :
++  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++$4
++int
++main (void)
++{
++if (sizeof (($2)))
++          return 0;
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_c_try_compile "$LINENO"
++then :
++
++else $as_nop
++  eval "$3=yes"
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
++fi
++eval ac_res=\$$3
++             { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
++printf "%s\n" "$ac_res" >&6; }
++  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
++
++} # ac_fn_c_check_type
++
++# ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES
++# -------------------------------------------------------
++# Tests whether HEADER exists and can be compiled using the include files in
++# INCLUDES, setting the cache variable VAR accordingly.
++ac_fn_c_check_header_compile ()
++{
++  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
++  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
++printf %s "checking for $2... " >&6; }
++if eval test \${$3+y}
++then :
++  printf %s "(cached) " >&6
++else $as_nop
++  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++$4
++#include <$2>
++_ACEOF
++if ac_fn_c_try_compile "$LINENO"
++then :
++  eval "$3=yes"
++else $as_nop
++  eval "$3=no"
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
++fi
++eval ac_res=\$$3
++             { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
++printf "%s\n" "$ac_res" >&6; }
++  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
++
++} # ac_fn_c_check_header_compile
++
++# ac_fn_c_try_link LINENO
++# -----------------------
++# Try to link conftest.$ac_ext, and return whether this succeeded.
++ac_fn_c_try_link ()
++{
++  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
++  rm -f conftest.$ac_objext conftest.beam conftest$ac_exeext
++  if { { ac_try="$ac_link"
++case "(($ac_try" in
++  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++  *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
++printf "%s\n" "$ac_try_echo"; } >&5
++  (eval "$ac_link") 2>conftest.err
++  ac_status=$?
++  if test -s conftest.err; then
++    grep -v '^ *+' conftest.err >conftest.er1
++    cat conftest.er1 >&5
++    mv -f conftest.er1 conftest.err
++  fi
++  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
++  test $ac_status = 0; } && {
++       test -z "$ac_c_werror_flag" ||
++       test ! -s conftest.err
++       } && test -s conftest$ac_exeext && {
++       test "$cross_compiling" = yes ||
++       test -x conftest$ac_exeext
++       }
++then :
++  ac_retval=0
++else $as_nop
++  printf "%s\n" "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++      ac_retval=1
++fi
++  # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information
++  # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would
++  # interfere with the next link command; also delete a directory that is
++  # left behind by Apple's compiler.  We do this before executing the actions.
++  rm -rf conftest.dSYM conftest_ipa8_conftest.oo
++  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
++  as_fn_set_status $ac_retval
++
++} # ac_fn_c_try_link
++
++# ac_fn_c_check_func LINENO FUNC VAR
++# ----------------------------------
++# Tests whether FUNC exists, setting the cache variable VAR accordingly
++ac_fn_c_check_func ()
++{
++  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
++  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
++printf %s "checking for $2... " >&6; }
++if eval test \${$3+y}
++then :
++  printf %s "(cached) " >&6
++else $as_nop
++  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++/* Define $2 to an innocuous variant, in case <limits.h> declares $2.
++   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
++#define $2 innocuous_$2
++
++/* System header to define __stub macros and hopefully few prototypes,
++   which can conflict with char $2 (); below.  */
++
++#include <limits.h>
++#undef $2
++
++/* Override any GCC internal prototype to avoid an error.
++   Use char because int might match the return type of a GCC
++   builtin and then its argument prototype would still apply.  */
++#ifdef __cplusplus
++extern "C"
++#endif
++char $2 ();
++/* The GNU C library defines this for functions which it implements
++    to always fail with ENOSYS.  Some functions are actually named
++    something starting with __ and the normal name is an alias.  */
++#if defined __stub_$2 || defined __stub___$2
++choke me
++#endif
++
++int
++main (void)
++{
++return $2 ();
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_c_try_link "$LINENO"
++then :
++  eval "$3=yes"
++else $as_nop
++  eval "$3=no"
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.beam \
++    conftest$ac_exeext conftest.$ac_ext
++fi
++eval ac_res=\$$3
++             { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
++printf "%s\n" "$ac_res" >&6; }
++  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
++
++} # ac_fn_c_check_func
++
++# ac_fn_c_try_run LINENO
++# ----------------------
++# Try to run conftest.$ac_ext, and return whether this succeeded. Assumes that
++# executables *can* be run.
++ac_fn_c_try_run ()
++{
++  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
++  if { { ac_try="$ac_link"
++case "(($ac_try" in
++  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++  *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
++printf "%s\n" "$ac_try_echo"; } >&5
++  (eval "$ac_link") 2>&5
++  ac_status=$?
++  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
++  test $ac_status = 0; } && { ac_try='./conftest$ac_exeext'
++  { { case "(($ac_try" in
++  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++  *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
++printf "%s\n" "$ac_try_echo"; } >&5
++  (eval "$ac_try") 2>&5
++  ac_status=$?
++  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
++  test $ac_status = 0; }; }
++then :
++  ac_retval=0
++else $as_nop
++  printf "%s\n" "$as_me: program exited with status $ac_status" >&5
++       printf "%s\n" "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++       ac_retval=$ac_status
++fi
++  rm -rf conftest.dSYM conftest_ipa8_conftest.oo
++  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
++  as_fn_set_status $ac_retval
++
++} # ac_fn_c_try_run
++
++# ac_fn_c_check_member LINENO AGGR MEMBER VAR INCLUDES
++# ----------------------------------------------------
++# Tries to find if the field MEMBER exists in type AGGR, after including
++# INCLUDES, setting cache variable VAR accordingly.
++ac_fn_c_check_member ()
++{
++  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
++  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2.$3" >&5
++printf %s "checking for $2.$3... " >&6; }
++if eval test \${$4+y}
++then :
++  printf %s "(cached) " >&6
++else $as_nop
++  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++$5
++int
++main (void)
++{
++static $2 ac_aggr;
++if (ac_aggr.$3)
++return 0;
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_c_try_compile "$LINENO"
++then :
++  eval "$4=yes"
++else $as_nop
++  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++$5
++int
++main (void)
++{
++static $2 ac_aggr;
++if (sizeof ac_aggr.$3)
++return 0;
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_c_try_compile "$LINENO"
++then :
++  eval "$4=yes"
++else $as_nop
++  eval "$4=no"
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
++fi
++eval ac_res=\$$4
++             { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
++printf "%s\n" "$ac_res" >&6; }
++  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
++
++} # ac_fn_c_check_member
++ac_configure_args_raw=
++for ac_arg
++do
++  case $ac_arg in
++  *\'*)
++    ac_arg=`printf "%s\n" "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
++  esac
++  as_fn_append ac_configure_args_raw " '$ac_arg'"
++done
++
++case $ac_configure_args_raw in
++  *$as_nl*)
++    ac_safe_unquote= ;;
++  *)
++    ac_unsafe_z='|&;<>()$`\\"*?[ ''   ' # This string ends in space, tab.
++    ac_unsafe_a="$ac_unsafe_z#~"
++    ac_safe_unquote="s/ '\\([^$ac_unsafe_a][^$ac_unsafe_z]*\\)'/ \\1/g"
++    ac_configure_args_raw=`      printf "%s\n" "$ac_configure_args_raw" | sed "$ac_safe_unquote"`;;
++esac
++
++cat >config.log <<_ACEOF
++This file contains any messages produced by compilers while
++running configure, to aid debugging if configure makes a mistake.
++
++It was created by bwm-ng $as_me 0.6.3, which was
++generated by GNU Autoconf 2.71.  Invocation command line was
++
++  $ $0$ac_configure_args_raw
++
++_ACEOF
++exec 5>>config.log
++{
++cat <<_ASUNAME
++## --------- ##
++## Platform. ##
++## --------- ##
++
++hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
++uname -m = `(uname -m) 2>/dev/null || echo unknown`
++uname -r = `(uname -r) 2>/dev/null || echo unknown`
++uname -s = `(uname -s) 2>/dev/null || echo unknown`
++uname -v = `(uname -v) 2>/dev/null || echo unknown`
++
++/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
++/bin/uname -X     = `(/bin/uname -X) 2>/dev/null     || echo unknown`
++
++/bin/arch              = `(/bin/arch) 2>/dev/null              || echo unknown`
++/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null       || echo unknown`
++/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
++/usr/bin/hostinfo      = `(/usr/bin/hostinfo) 2>/dev/null      || echo unknown`
++/bin/machine           = `(/bin/machine) 2>/dev/null           || echo unknown`
++/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null       || echo unknown`
++/bin/universe          = `(/bin/universe) 2>/dev/null          || echo unknown`
++
++_ASUNAME
++
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++  IFS=$as_save_IFS
++  case $as_dir in #(((
++    '') as_dir=./ ;;
++    */) ;;
++    *) as_dir=$as_dir/ ;;
++  esac
++    printf "%s\n" "PATH: $as_dir"
++  done
++IFS=$as_save_IFS
++
++} >&5
++
++cat >&5 <<_ACEOF
++
++
++## ----------- ##
++## Core tests. ##
++## ----------- ##
++
++_ACEOF
++
++
++# Keep a trace of the command line.
++# Strip out --no-create and --no-recursion so they do not pile up.
++# Strip out --silent because we don't want to record it for future runs.
++# Also quote any args containing shell meta-characters.
++# Make two passes to allow for proper duplicate-argument suppression.
++ac_configure_args=
++ac_configure_args0=
++ac_configure_args1=
++ac_must_keep_next=false
++for ac_pass in 1 2
++do
++  for ac_arg
++  do
++    case $ac_arg in
++    -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;
++    -q | -quiet | --quiet | --quie | --qui | --qu | --q \
++    | -silent | --silent | --silen | --sile | --sil)
++      continue ;;
++    *\'*)
++      ac_arg=`printf "%s\n" "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
++    esac
++    case $ac_pass in
++    1) as_fn_append ac_configure_args0 " '$ac_arg'" ;;
++    2)
++      as_fn_append ac_configure_args1 " '$ac_arg'"
++      if test $ac_must_keep_next = true; then
++      ac_must_keep_next=false # Got value, back to normal.
++      else
++      case $ac_arg in
++        *=* | --config-cache | -C | -disable-* | --disable-* \
++        | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
++        | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
++        | -with-* | --with-* | -without-* | --without-* | --x)
++          case "$ac_configure_args0 " in
++            "$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
++          esac
++          ;;
++        -* ) ac_must_keep_next=true ;;
++      esac
++      fi
++      as_fn_append ac_configure_args " '$ac_arg'"
++      ;;
++    esac
++  done
++done
++{ ac_configure_args0=; unset ac_configure_args0;}
++{ ac_configure_args1=; unset ac_configure_args1;}
++
++# When interrupted or exit'd, cleanup temporary files, and complete
++# config.log.  We remove comments because anyway the quotes in there
++# would cause problems or look ugly.
++# WARNING: Use '\'' to represent an apostrophe within the trap.
++# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug.
++trap 'exit_status=$?
++  # Sanitize IFS.
++  IFS=" ""    $as_nl"
++  # Save into config.log some information that might help in debugging.
++  {
++    echo
++
++    printf "%s\n" "## ---------------- ##
++## Cache variables. ##
++## ---------------- ##"
++    echo
++    # The following way of writing the cache mishandles newlines in values,
++(
++  for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do
++    eval ac_val=\$$ac_var
++    case $ac_val in #(
++    *${as_nl}*)
++      case $ac_var in #(
++      *_cv_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
++printf "%s\n" "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
++      esac
++      case $ac_var in #(
++      _ | IFS | as_nl) ;; #(
++      BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
++      *) { eval $ac_var=; unset $ac_var;} ;;
++      esac ;;
++    esac
++  done
++  (set) 2>&1 |
++    case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #(
++    *${as_nl}ac_space=\ *)
++      sed -n \
++      "s/'\''/'\''\\\\'\'''\''/g;
++        s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p"
++      ;; #(
++    *)
++      sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
++      ;;
++    esac |
++    sort
++)
++    echo
++
++    printf "%s\n" "## ----------------- ##
++## Output variables. ##
++## ----------------- ##"
++    echo
++    for ac_var in $ac_subst_vars
++    do
++      eval ac_val=\$$ac_var
++      case $ac_val in
++      *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
++      esac
++      printf "%s\n" "$ac_var='\''$ac_val'\''"
++    done | sort
++    echo
++
++    if test -n "$ac_subst_files"; then
++      printf "%s\n" "## ------------------- ##
++## File substitutions. ##
++## ------------------- ##"
++      echo
++      for ac_var in $ac_subst_files
++      do
++      eval ac_val=\$$ac_var
++      case $ac_val in
++      *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
++      esac
++      printf "%s\n" "$ac_var='\''$ac_val'\''"
++      done | sort
++      echo
++    fi
++
++    if test -s confdefs.h; then
++      printf "%s\n" "## ----------- ##
++## confdefs.h. ##
++## ----------- ##"
++      echo
++      cat confdefs.h
++      echo
++    fi
++    test "$ac_signal" != 0 &&
++      printf "%s\n" "$as_me: caught signal $ac_signal"
++    printf "%s\n" "$as_me: exit $exit_status"
++  } >&5
++  rm -f core *.core core.conftest.* &&
++    rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
++    exit $exit_status
++' 0
++for ac_signal in 1 2 13 15; do
++  trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal
++done
++ac_signal=0
++
++# confdefs.h avoids OS command line length limits that DEFS can exceed.
++rm -f -r conftest* confdefs.h
++
++printf "%s\n" "/* confdefs.h */" > confdefs.h
++
++# Predefined preprocessor variables.
++
++printf "%s\n" "#define PACKAGE_NAME \"$PACKAGE_NAME\"" >>confdefs.h
++
++printf "%s\n" "#define PACKAGE_TARNAME \"$PACKAGE_TARNAME\"" >>confdefs.h
++
++printf "%s\n" "#define PACKAGE_VERSION \"$PACKAGE_VERSION\"" >>confdefs.h
++
++printf "%s\n" "#define PACKAGE_STRING \"$PACKAGE_STRING\"" >>confdefs.h
++
++printf "%s\n" "#define PACKAGE_BUGREPORT \"$PACKAGE_BUGREPORT\"" >>confdefs.h
++
++printf "%s\n" "#define PACKAGE_URL \"$PACKAGE_URL\"" >>confdefs.h
++
++
++# Let the site file select an alternate cache file if it wants to.
++# Prefer an explicitly selected file to automatically selected ones.
++if test -n "$CONFIG_SITE"; then
++  ac_site_files="$CONFIG_SITE"
++elif test "x$prefix" != xNONE; then
++  ac_site_files="$prefix/share/config.site $prefix/etc/config.site"
++else
++  ac_site_files="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
++fi
++
++for ac_site_file in $ac_site_files
++do
++  case $ac_site_file in #(
++  */*) :
++     ;; #(
++  *) :
++    ac_site_file=./$ac_site_file ;;
++esac
++  if test -f "$ac_site_file" && test -r "$ac_site_file"; then
++    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
++printf "%s\n" "$as_me: loading site script $ac_site_file" >&6;}
++    sed 's/^/| /' "$ac_site_file" >&5
++    . "$ac_site_file" \
++      || { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
++printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
++as_fn_error $? "failed to load site script $ac_site_file
++See \`config.log' for more details" "$LINENO" 5; }
++  fi
++done
++
++if test -r "$cache_file"; then
++  # Some versions of bash will fail to source /dev/null (special files
++  # actually), so we avoid doing that.  DJGPP emulates it as a regular file.
++  if test /dev/null != "$cache_file" && test -f "$cache_file"; then
++    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
++printf "%s\n" "$as_me: loading cache $cache_file" >&6;}
++    case $cache_file in
++      [\\/]* | ?:[\\/]* ) . "$cache_file";;
++      *)                      . "./$cache_file";;
++    esac
++  fi
++else
++  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5
++printf "%s\n" "$as_me: creating cache $cache_file" >&6;}
++  >$cache_file
++fi
++
++# Test code for whether the C compiler supports C89 (global declarations)
++ac_c_conftest_c89_globals='
++/* Does the compiler advertise C89 conformance?
++   Do not test the value of __STDC__, because some compilers set it to 0
++   while being otherwise adequately conformant. */
++#if !defined __STDC__
++# error "Compiler does not advertise C89 conformance"
++#endif
++
++#include <stddef.h>
++#include <stdarg.h>
++struct stat;
++/* Most of the following tests are stolen from RCS 5.7 src/conf.sh.  */
++struct buf { int x; };
++struct buf * (*rcsopen) (struct buf *, struct stat *, int);
++static char *e (p, i)
++     char **p;
++     int i;
++{
++  return p[i];
++}
++static char *f (char * (*g) (char **, int), char **p, ...)
++{
++  char *s;
++  va_list v;
++  va_start (v,p);
++  s = g (p, va_arg (v,int));
++  va_end (v);
++  return s;
++}
++
++/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default.  It has
++   function prototypes and stuff, but not \xHH hex character constants.
++   These do not provoke an error unfortunately, instead are silently treated
++   as an "x".  The following induces an error, until -std is added to get
++   proper ANSI mode.  Curiously \x00 != x always comes out true, for an
++   array size at least.  It is necessary to write \x00 == 0 to get something
++   that is true only with -std.  */
++int osf4_cc_array ['\''\x00'\'' == 0 ? 1 : -1];
++
++/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
++   inside strings and character constants.  */
++#define FOO(x) '\''x'\''
++int xlc6_cc_array[FOO(a) == '\''x'\'' ? 1 : -1];
++
++int test (int i, double x);
++struct s1 {int (*f) (int a);};
++struct s2 {int (*f) (double a);};
++int pairnames (int, char **, int *(*)(struct buf *, struct stat *, int),
++               int, int);'
++
++# Test code for whether the C compiler supports C89 (body of main).
++ac_c_conftest_c89_main='
++ok |= (argc == 0 || f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]);
++'
++
++# Test code for whether the C compiler supports C99 (global declarations)
++ac_c_conftest_c99_globals='
++// Does the compiler advertise C99 conformance?
++#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 199901L
++# error "Compiler does not advertise C99 conformance"
++#endif
++
++#include <stdbool.h>
++extern int puts (const char *);
++extern int printf (const char *, ...);
++extern int dprintf (int, const char *, ...);
++extern void *malloc (size_t);
++
++// Check varargs macros.  These examples are taken from C99 6.10.3.5.
++// dprintf is used instead of fprintf to avoid needing to declare
++// FILE and stderr.
++#define debug(...) dprintf (2, __VA_ARGS__)
++#define showlist(...) puts (#__VA_ARGS__)
++#define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__))
++static void
++test_varargs_macros (void)
++{
++  int x = 1234;
++  int y = 5678;
++  debug ("Flag");
++  debug ("X = %d\n", x);
++  showlist (The first, second, and third items.);
++  report (x>y, "x is %d but y is %d", x, y);
++}
++
++// Check long long types.
++#define BIG64 18446744073709551615ull
++#define BIG32 4294967295ul
++#define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0)
++#if !BIG_OK
++  #error "your preprocessor is broken"
++#endif
++#if BIG_OK
++#else
++  #error "your preprocessor is broken"
++#endif
++static long long int bignum = -9223372036854775807LL;
++static unsigned long long int ubignum = BIG64;
++
++struct incomplete_array
++{
++  int datasize;
++  double data[];
++};
++
++struct named_init {
++  int number;
++  const wchar_t *name;
++  double average;
++};
++
++typedef const char *ccp;
++
++static inline int
++test_restrict (ccp restrict text)
++{
++  // See if C++-style comments work.
++  // Iterate through items via the restricted pointer.
++  // Also check for declarations in for loops.
++  for (unsigned int i = 0; *(text+i) != '\''\0'\''; ++i)
++    continue;
++  return 0;
++}
++
++// Check varargs and va_copy.
++static bool
++test_varargs (const char *format, ...)
++{
++  va_list args;
++  va_start (args, format);
++  va_list args_copy;
++  va_copy (args_copy, args);
++
++  const char *str = "";
++  int number = 0;
++  float fnumber = 0;
++
++  while (*format)
++    {
++      switch (*format++)
++      {
++      case '\''s'\'': // string
++        str = va_arg (args_copy, const char *);
++        break;
++      case '\''d'\'': // int
++        number = va_arg (args_copy, int);
++        break;
++      case '\''f'\'': // float
++        fnumber = va_arg (args_copy, double);
++        break;
++      default:
++        break;
++      }
++    }
++  va_end (args_copy);
++  va_end (args);
++
++  return *str && number && fnumber;
++}
++'
++
++# Test code for whether the C compiler supports C99 (body of main).
++ac_c_conftest_c99_main='
++  // Check bool.
++  _Bool success = false;
++  success |= (argc != 0);
++
++  // Check restrict.
++  if (test_restrict ("String literal") == 0)
++    success = true;
++  char *restrict newvar = "Another string";
++
++  // Check varargs.
++  success &= test_varargs ("s, d'\'' f .", "string", 65, 34.234);
++  test_varargs_macros ();
++
++  // Check flexible array members.
++  struct incomplete_array *ia =
++    malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10));
++  ia->datasize = 10;
++  for (int i = 0; i < ia->datasize; ++i)
++    ia->data[i] = i * 1.234;
++
++  // Check named initializers.
++  struct named_init ni = {
++    .number = 34,
++    .name = L"Test wide string",
++    .average = 543.34343,
++  };
++
++  ni.number = 58;
++
++  int dynamic_array[ni.number];
++  dynamic_array[0] = argv[0][0];
++  dynamic_array[ni.number - 1] = 543;
++
++  // work around unused variable warnings
++  ok |= (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == '\''x'\''
++       || dynamic_array[ni.number - 1] != 543);
++'
++
++# Test code for whether the C compiler supports C11 (global declarations)
++ac_c_conftest_c11_globals='
++// Does the compiler advertise C11 conformance?
++#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 201112L
++# error "Compiler does not advertise C11 conformance"
++#endif
++
++// Check _Alignas.
++char _Alignas (double) aligned_as_double;
++char _Alignas (0) no_special_alignment;
++extern char aligned_as_int;
++char _Alignas (0) _Alignas (int) aligned_as_int;
++
++// Check _Alignof.
++enum
++{
++  int_alignment = _Alignof (int),
++  int_array_alignment = _Alignof (int[100]),
++  char_alignment = _Alignof (char)
++};
++_Static_assert (0 < -_Alignof (int), "_Alignof is signed");
++
++// Check _Noreturn.
++int _Noreturn does_not_return (void) { for (;;) continue; }
++
++// Check _Static_assert.
++struct test_static_assert
++{
++  int x;
++  _Static_assert (sizeof (int) <= sizeof (long int),
++                  "_Static_assert does not work in struct");
++  long int y;
++};
++
++// Check UTF-8 literals.
++#define u8 syntax error!
++char const utf8_literal[] = u8"happens to be ASCII" "another string";
++
++// Check duplicate typedefs.
++typedef long *long_ptr;
++typedef long int *long_ptr;
++typedef long_ptr long_ptr;
++
++// Anonymous structures and unions -- taken from C11 6.7.2.1 Example 1.
++struct anonymous
++{
++  union {
++    struct { int i; int j; };
++    struct { int k; long int l; } w;
++  };
++  int m;
++} v1;
++'
++
++# Test code for whether the C compiler supports C11 (body of main).
++ac_c_conftest_c11_main='
++  _Static_assert ((offsetof (struct anonymous, i)
++                 == offsetof (struct anonymous, w.k)),
++                "Anonymous union alignment botch");
++  v1.i = 2;
++  v1.w.k = 5;
++  ok |= v1.i != 5;
++'
++
++# Test code for whether the C compiler supports C11 (complete).
++ac_c_conftest_c11_program="${ac_c_conftest_c89_globals}
++${ac_c_conftest_c99_globals}
++${ac_c_conftest_c11_globals}
++
++int
++main (int argc, char **argv)
++{
++  int ok = 0;
++  ${ac_c_conftest_c89_main}
++  ${ac_c_conftest_c99_main}
++  ${ac_c_conftest_c11_main}
++  return ok;
++}
++"
++
++# Test code for whether the C compiler supports C99 (complete).
++ac_c_conftest_c99_program="${ac_c_conftest_c89_globals}
++${ac_c_conftest_c99_globals}
++
++int
++main (int argc, char **argv)
++{
++  int ok = 0;
++  ${ac_c_conftest_c89_main}
++  ${ac_c_conftest_c99_main}
++  return ok;
++}
++"
++
++# Test code for whether the C compiler supports C89 (complete).
++ac_c_conftest_c89_program="${ac_c_conftest_c89_globals}
++
++int
++main (int argc, char **argv)
++{
++  int ok = 0;
++  ${ac_c_conftest_c89_main}
++  return ok;
++}
++"
++
++as_fn_append ac_header_c_list " stdio.h stdio_h HAVE_STDIO_H"
++as_fn_append ac_header_c_list " stdlib.h stdlib_h HAVE_STDLIB_H"
++as_fn_append ac_header_c_list " string.h string_h HAVE_STRING_H"
++as_fn_append ac_header_c_list " inttypes.h inttypes_h HAVE_INTTYPES_H"
++as_fn_append ac_header_c_list " stdint.h stdint_h HAVE_STDINT_H"
++as_fn_append ac_header_c_list " strings.h strings_h HAVE_STRINGS_H"
++as_fn_append ac_header_c_list " sys/stat.h sys_stat_h HAVE_SYS_STAT_H"
++as_fn_append ac_header_c_list " sys/types.h sys_types_h HAVE_SYS_TYPES_H"
++as_fn_append ac_header_c_list " unistd.h unistd_h HAVE_UNISTD_H"
++as_fn_append ac_header_c_list " vfork.h vfork_h HAVE_VFORK_H"
++as_fn_append ac_func_c_list " fork HAVE_FORK"
++as_fn_append ac_func_c_list " vfork HAVE_VFORK"
++
++# Auxiliary files required by this configure script.
++ac_aux_files="compile missing install-sh"
++
++# Locations in which to look for auxiliary files.
++ac_aux_dir_candidates="${srcdir}${PATH_SEPARATOR}${srcdir}/..${PATH_SEPARATOR}${srcdir}/../.."
++
++# Search for a directory containing all of the required auxiliary files,
++# $ac_aux_files, from the $PATH-style list $ac_aux_dir_candidates.
++# If we don't find one directory that contains all the files we need,
++# we report the set of missing files from the *first* directory in
++# $ac_aux_dir_candidates and give up.
++ac_missing_aux_files=""
++ac_first_candidate=:
++printf "%s\n" "$as_me:${as_lineno-$LINENO}: looking for aux files: $ac_aux_files" >&5
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++as_found=false
++for as_dir in $ac_aux_dir_candidates
++do
++  IFS=$as_save_IFS
++  case $as_dir in #(((
++    '') as_dir=./ ;;
++    */) ;;
++    *) as_dir=$as_dir/ ;;
++  esac
++  as_found=:
++
++  printf "%s\n" "$as_me:${as_lineno-$LINENO}:  trying $as_dir" >&5
++  ac_aux_dir_found=yes
++  ac_install_sh=
++  for ac_aux in $ac_aux_files
++  do
++    # As a special case, if "install-sh" is required, that requirement
++    # can be satisfied by any of "install-sh", "install.sh", or "shtool",
++    # and $ac_install_sh is set appropriately for whichever one is found.
++    if test x"$ac_aux" = x"install-sh"
++    then
++      if test -f "${as_dir}install-sh"; then
++        printf "%s\n" "$as_me:${as_lineno-$LINENO}:   ${as_dir}install-sh found" >&5
++        ac_install_sh="${as_dir}install-sh -c"
++      elif test -f "${as_dir}install.sh"; then
++        printf "%s\n" "$as_me:${as_lineno-$LINENO}:   ${as_dir}install.sh found" >&5
++        ac_install_sh="${as_dir}install.sh -c"
++      elif test -f "${as_dir}shtool"; then
++        printf "%s\n" "$as_me:${as_lineno-$LINENO}:   ${as_dir}shtool found" >&5
++        ac_install_sh="${as_dir}shtool install -c"
++      else
++        ac_aux_dir_found=no
++        if $ac_first_candidate; then
++          ac_missing_aux_files="${ac_missing_aux_files} install-sh"
++        else
++          break
++        fi
++      fi
++    else
++      if test -f "${as_dir}${ac_aux}"; then
++        printf "%s\n" "$as_me:${as_lineno-$LINENO}:   ${as_dir}${ac_aux} found" >&5
++      else
++        ac_aux_dir_found=no
++        if $ac_first_candidate; then
++          ac_missing_aux_files="${ac_missing_aux_files} ${ac_aux}"
++        else
++          break
++        fi
++      fi
++    fi
++  done
++  if test "$ac_aux_dir_found" = yes; then
++    ac_aux_dir="$as_dir"
++    break
++  fi
++  ac_first_candidate=false
++
++  as_found=false
++done
++IFS=$as_save_IFS
++if $as_found
++then :
++
++else $as_nop
++  as_fn_error $? "cannot find required auxiliary files:$ac_missing_aux_files" "$LINENO" 5
++fi
++
++
++# These three variables are undocumented and unsupported,
++# and are intended to be withdrawn in a future Autoconf release.
++# They can cause serious problems if a builder's source tree is in a directory
++# whose full name contains unusual characters.
++if test -f "${ac_aux_dir}config.guess"; then
++  ac_config_guess="$SHELL ${ac_aux_dir}config.guess"
++fi
++if test -f "${ac_aux_dir}config.sub"; then
++  ac_config_sub="$SHELL ${ac_aux_dir}config.sub"
++fi
++if test -f "$ac_aux_dir/configure"; then
++  ac_configure="$SHELL ${ac_aux_dir}configure"
++fi
++
++# Check that the precious variables saved in the cache have kept the same
++# value.
++ac_cache_corrupted=false
++for ac_var in $ac_precious_vars; do
++  eval ac_old_set=\$ac_cv_env_${ac_var}_set
++  eval ac_new_set=\$ac_env_${ac_var}_set
++  eval ac_old_val=\$ac_cv_env_${ac_var}_value
++  eval ac_new_val=\$ac_env_${ac_var}_value
++  case $ac_old_set,$ac_new_set in
++    set,)
++      { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
++printf "%s\n" "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
++      ac_cache_corrupted=: ;;
++    ,set)
++      { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5
++printf "%s\n" "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
++      ac_cache_corrupted=: ;;
++    ,);;
++    *)
++      if test "x$ac_old_val" != "x$ac_new_val"; then
++      # differences in whitespace do not lead to failure.
++      ac_old_val_w=`echo x $ac_old_val`
++      ac_new_val_w=`echo x $ac_new_val`
++      if test "$ac_old_val_w" != "$ac_new_val_w"; then
++        { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5
++printf "%s\n" "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
++        ac_cache_corrupted=:
++      else
++        { printf "%s\n" "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5
++printf "%s\n" "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;}
++        eval $ac_var=\$ac_old_val
++      fi
++      { printf "%s\n" "$as_me:${as_lineno-$LINENO}:   former value:  \`$ac_old_val'" >&5
++printf "%s\n" "$as_me:   former value:  \`$ac_old_val'" >&2;}
++      { printf "%s\n" "$as_me:${as_lineno-$LINENO}:   current value: \`$ac_new_val'" >&5
++printf "%s\n" "$as_me:   current value: \`$ac_new_val'" >&2;}
++      fi;;
++  esac
++  # Pass precious variables to config.status.
++  if test "$ac_new_set" = set; then
++    case $ac_new_val in
++    *\'*) ac_arg=$ac_var=`printf "%s\n" "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
++    *) ac_arg=$ac_var=$ac_new_val ;;
++    esac
++    case " $ac_configure_args " in
++      *" '$ac_arg' "*) ;; # Avoid dups.  Use of quotes ensures accuracy.
++      *) as_fn_append ac_configure_args " '$ac_arg'" ;;
++    esac
++  fi
++done
++if $ac_cache_corrupted; then
++  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
++printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
++  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
++printf "%s\n" "$as_me: error: changes in the environment can compromise the build" >&2;}
++  as_fn_error $? "run \`${MAKE-make} distclean' and/or \`rm $cache_file'
++          and start over" "$LINENO" 5
++fi
++## -------------------- ##
++## Main body of script. ##
++## -------------------- ##
++
++ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++
++
++am__api_version='1.16'
++
++
++
++  # Find a good install program.  We prefer a C program (faster),
++# so one script is as good as another.  But avoid the broken or
++# incompatible versions:
++# SysV /etc/install, /usr/sbin/install
++# SunOS /usr/etc/install
++# IRIX /sbin/install
++# AIX /bin/install
++# AmigaOS /C/install, which installs bootblocks on floppy discs
++# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
++# AFS /usr/afsws/bin/install, which mishandles nonexistent args
++# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
++# OS/2's system install, which has a completely different semantic
++# ./install, which can be erroneously created by make from ./install.sh.
++# Reject install programs that cannot install multiple files.
++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5
++printf %s "checking for a BSD-compatible install... " >&6; }
++if test -z "$INSTALL"; then
++if test ${ac_cv_path_install+y}
++then :
++  printf %s "(cached) " >&6
++else $as_nop
++  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++  IFS=$as_save_IFS
++  case $as_dir in #(((
++    '') as_dir=./ ;;
++    */) ;;
++    *) as_dir=$as_dir/ ;;
++  esac
++    # Account for fact that we put trailing slashes in our PATH walk.
++case $as_dir in #((
++  ./ | /[cC]/* | \
++  /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
++  ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \
++  /usr/ucb/* ) ;;
++  *)
++    # OSF1 and SCO ODT 3.0 have their own names for install.
++    # Don't use installbsd from OSF since it installs stuff as root
++    # by default.
++    for ac_prog in ginstall scoinst install; do
++      for ac_exec_ext in '' $ac_executable_extensions; do
++      if as_fn_executable_p "$as_dir$ac_prog$ac_exec_ext"; then
++        if test $ac_prog = install &&
++          grep dspmsg "$as_dir$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
++          # AIX install.  It has an incompatible calling convention.
++          :
++        elif test $ac_prog = install &&
++          grep pwplus "$as_dir$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
++          # program-specific install script used by HP pwplus--don't use.
++          :
++        else
++          rm -rf conftest.one conftest.two conftest.dir
++          echo one > conftest.one
++          echo two > conftest.two
++          mkdir conftest.dir
++          if "$as_dir$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir/" &&
++            test -s conftest.one && test -s conftest.two &&
++            test -s conftest.dir/conftest.one &&
++            test -s conftest.dir/conftest.two
++          then
++            ac_cv_path_install="$as_dir$ac_prog$ac_exec_ext -c"
++            break 3
++          fi
++        fi
++      fi
++      done
++    done
++    ;;
++esac
++
++  done
++IFS=$as_save_IFS
++
++rm -rf conftest.one conftest.two conftest.dir
++
++fi
++  if test ${ac_cv_path_install+y}; then
++    INSTALL=$ac_cv_path_install
++  else
++    # As a last resort, use the slow shell script.  Don't cache a
++    # value for INSTALL within a source directory, because that will
++    # break other packages using the cache if that directory is
++    # removed, or if the value is a relative name.
++    INSTALL=$ac_install_sh
++  fi
++fi
++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5
++printf "%s\n" "$INSTALL" >&6; }
++
++# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
++# It thinks the first close brace ends the variable substitution.
++test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
++
++test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
++
++test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
++
++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5
++printf %s "checking whether build environment is sane... " >&6; }
++# Reject unsafe characters in $srcdir or the absolute working directory
++# name.  Accept space and tab only in the latter.
++am_lf='
++'
++case `pwd` in
++  *[\\\"\#\$\&\'\`$am_lf]*)
++    as_fn_error $? "unsafe absolute working directory name" "$LINENO" 5;;
++esac
++case $srcdir in
++  *[\\\"\#\$\&\'\`$am_lf\ \   ]*)
++    as_fn_error $? "unsafe srcdir value: '$srcdir'" "$LINENO" 5;;
++esac
++
++# Do 'set' in a subshell so we don't clobber the current shell's
++# arguments.  Must try -L first in case configure is actually a
++# symlink; some systems play weird games with the mod time of symlinks
++# (eg FreeBSD returns the mod time of the symlink's containing
++# directory).
++if (
++   am_has_slept=no
++   for am_try in 1 2; do
++     echo "timestamp, slept: $am_has_slept" > conftest.file
++     set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
++     if test "$*" = "X"; then
++      # -L didn't work.
++      set X `ls -t "$srcdir/configure" conftest.file`
++     fi
++     if test "$*" != "X $srcdir/configure conftest.file" \
++      && test "$*" != "X conftest.file $srcdir/configure"; then
++
++      # If neither matched, then we have a broken ls.  This can happen
++      # if, for instance, CONFIG_SHELL is bash and it inherits a
++      # broken ls alias from the environment.  This has actually
++      # happened.  Such a system could not be considered "sane".
++      as_fn_error $? "ls -t appears to fail.  Make sure there is not a broken
++  alias in your environment" "$LINENO" 5
++     fi
++     if test "$2" = conftest.file || test $am_try -eq 2; then
++       break
++     fi
++     # Just in case.
++     sleep 1
++     am_has_slept=yes
++   done
++   test "$2" = conftest.file
++   )
++then
++   # Ok.
++   :
++else
++   as_fn_error $? "newly created file is older than distributed files!
++Check your system clock" "$LINENO" 5
++fi
++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
++printf "%s\n" "yes" >&6; }
++# If we didn't sleep, we still need to ensure time stamps of config.status and
++# generated files are strictly newer.
++am_sleep_pid=
++if grep 'slept: no' conftest.file >/dev/null 2>&1; then
++  ( sleep 1 ) &
++  am_sleep_pid=$!
++fi
++
++rm -f conftest.file
++
++test "$program_prefix" != NONE &&
++  program_transform_name="s&^&$program_prefix&;$program_transform_name"
++# Use a double $ so make ignores it.
++test "$program_suffix" != NONE &&
++  program_transform_name="s&\$&$program_suffix&;$program_transform_name"
++# Double any \ or $.
++# By default was `s,x,x', remove it if useless.
++ac_script='s/[\\$]/&&/g;s/;s,x,x,$//'
++program_transform_name=`printf "%s\n" "$program_transform_name" | sed "$ac_script"`
++
++
++# Expand $ac_aux_dir to an absolute path.
++am_aux_dir=`cd "$ac_aux_dir" && pwd`
++
++
++  if test x"${MISSING+set}" != xset; then
++  MISSING="\${SHELL} '$am_aux_dir/missing'"
++fi
++# Use eval to expand $SHELL
++if eval "$MISSING --is-lightweight"; then
++  am_missing_run="$MISSING "
++else
++  am_missing_run=
++  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: 'missing' script is too old or missing" >&5
++printf "%s\n" "$as_me: WARNING: 'missing' script is too old or missing" >&2;}
++fi
++
++if test x"${install_sh+set}" != xset; then
++  case $am_aux_dir in
++  *\ * | *\   *)
++    install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
++  *)
++    install_sh="\${SHELL} $am_aux_dir/install-sh"
++  esac
++fi
++
++# Installed binaries are usually stripped using 'strip' when the user
++# run "make install-strip".  However 'strip' might not be the right
++# tool to use in cross-compilation environments, therefore Automake
++# will honor the 'STRIP' environment variable to overrule this program.
++if test "$cross_compiling" != no; then
++  if test -n "$ac_tool_prefix"; then
++  # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
++set dummy ${ac_tool_prefix}strip; ac_word=$2
++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
++printf %s "checking for $ac_word... " >&6; }
++if test ${ac_cv_prog_STRIP+y}
++then :
++  printf %s "(cached) " >&6
++else $as_nop
++  if test -n "$STRIP"; then
++  ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++  IFS=$as_save_IFS
++  case $as_dir in #(((
++    '') as_dir=./ ;;
++    */) ;;
++    *) as_dir=$as_dir/ ;;
++  esac
++    for ac_exec_ext in '' $ac_executable_extensions; do
++  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
++    ac_cv_prog_STRIP="${ac_tool_prefix}strip"
++    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
++    break 2
++  fi
++done
++  done
++IFS=$as_save_IFS
++
++fi
++fi
++STRIP=$ac_cv_prog_STRIP
++if test -n "$STRIP"; then
++  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
++printf "%s\n" "$STRIP" >&6; }
++else
++  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
++printf "%s\n" "no" >&6; }
++fi
++
++
++fi
++if test -z "$ac_cv_prog_STRIP"; then
++  ac_ct_STRIP=$STRIP
++  # Extract the first word of "strip", so it can be a program name with args.
++set dummy strip; ac_word=$2
++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
++printf %s "checking for $ac_word... " >&6; }
++if test ${ac_cv_prog_ac_ct_STRIP+y}
++then :
++  printf %s "(cached) " >&6
++else $as_nop
++  if test -n "$ac_ct_STRIP"; then
++  ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++  IFS=$as_save_IFS
++  case $as_dir in #(((
++    '') as_dir=./ ;;
++    */) ;;
++    *) as_dir=$as_dir/ ;;
++  esac
++    for ac_exec_ext in '' $ac_executable_extensions; do
++  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
++    ac_cv_prog_ac_ct_STRIP="strip"
++    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
++    break 2
++  fi
++done
++  done
++IFS=$as_save_IFS
++
++fi
++fi
++ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
++if test -n "$ac_ct_STRIP"; then
++  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
++printf "%s\n" "$ac_ct_STRIP" >&6; }
++else
++  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
++printf "%s\n" "no" >&6; }
++fi
++
++  if test "x$ac_ct_STRIP" = x; then
++    STRIP=":"
++  else
++    case $cross_compiling:$ac_tool_warned in
++yes:)
++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
++printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
++ac_tool_warned=yes ;;
++esac
++    STRIP=$ac_ct_STRIP
++  fi
++else
++  STRIP="$ac_cv_prog_STRIP"
++fi
++
++fi
++INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
++
++
++  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a race-free mkdir -p" >&5
++printf %s "checking for a race-free mkdir -p... " >&6; }
++if test -z "$MKDIR_P"; then
++  if test ${ac_cv_path_mkdir+y}
++then :
++  printf %s "(cached) " >&6
++else $as_nop
++  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin
++do
++  IFS=$as_save_IFS
++  case $as_dir in #(((
++    '') as_dir=./ ;;
++    */) ;;
++    *) as_dir=$as_dir/ ;;
++  esac
++    for ac_prog in mkdir gmkdir; do
++       for ac_exec_ext in '' $ac_executable_extensions; do
++         as_fn_executable_p "$as_dir$ac_prog$ac_exec_ext" || continue
++         case `"$as_dir$ac_prog$ac_exec_ext" --version 2>&1` in #(
++           'mkdir ('*'coreutils) '* | \
++           'BusyBox '* | \
++           'mkdir (fileutils) '4.1*)
++             ac_cv_path_mkdir=$as_dir$ac_prog$ac_exec_ext
++             break 3;;
++         esac
++       done
++       done
++  done
++IFS=$as_save_IFS
++
++fi
++
++  test -d ./--version && rmdir ./--version
++  if test ${ac_cv_path_mkdir+y}; then
++    MKDIR_P="$ac_cv_path_mkdir -p"
++  else
++    # As a last resort, use the slow shell script.  Don't cache a
++    # value for MKDIR_P within a source directory, because that will
++    # break other packages using the cache if that directory is
++    # removed, or if the value is a relative name.
++    MKDIR_P="$ac_install_sh -d"
++  fi
++fi
++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5
++printf "%s\n" "$MKDIR_P" >&6; }
++
++for ac_prog in gawk mawk nawk awk
++do
++  # Extract the first word of "$ac_prog", so it can be a program name with args.
++set dummy $ac_prog; ac_word=$2
++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
++printf %s "checking for $ac_word... " >&6; }
++if test ${ac_cv_prog_AWK+y}
++then :
++  printf %s "(cached) " >&6
++else $as_nop
++  if test -n "$AWK"; then
++  ac_cv_prog_AWK="$AWK" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++  IFS=$as_save_IFS
++  case $as_dir in #(((
++    '') as_dir=./ ;;
++    */) ;;
++    *) as_dir=$as_dir/ ;;
++  esac
++    for ac_exec_ext in '' $ac_executable_extensions; do
++  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
++    ac_cv_prog_AWK="$ac_prog"
++    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
++    break 2
++  fi
++done
++  done
++IFS=$as_save_IFS
++
++fi
++fi
++AWK=$ac_cv_prog_AWK
++if test -n "$AWK"; then
++  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5
++printf "%s\n" "$AWK" >&6; }
++else
++  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
++printf "%s\n" "no" >&6; }
++fi
++
++
++  test -n "$AWK" && break
++done
++
++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5
++printf %s "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
++set x ${MAKE-make}
++ac_make=`printf "%s\n" "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
++if eval test \${ac_cv_prog_make_${ac_make}_set+y}
++then :
++  printf %s "(cached) " >&6
++else $as_nop
++  cat >conftest.make <<\_ACEOF
++SHELL = /bin/sh
++all:
++      @echo '@@@%%%=$(MAKE)=@@@%%%'
++_ACEOF
++# GNU make sometimes prints "make[1]: Entering ...", which would confuse us.
++case `${MAKE-make} -f conftest.make 2>/dev/null` in
++  *@@@%%%=?*=@@@%%%*)
++    eval ac_cv_prog_make_${ac_make}_set=yes;;
++  *)
++    eval ac_cv_prog_make_${ac_make}_set=no;;
++esac
++rm -f conftest.make
++fi
++if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
++  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
++printf "%s\n" "yes" >&6; }
++  SET_MAKE=
++else
++  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
++printf "%s\n" "no" >&6; }
++  SET_MAKE="MAKE=${MAKE-make}"
++fi
++
++rm -rf .tst 2>/dev/null
++mkdir .tst 2>/dev/null
++if test -d .tst; then
++  am__leading_dot=.
++else
++  am__leading_dot=_
++fi
++rmdir .tst 2>/dev/null
++
++# Check whether --enable-silent-rules was given.
++if test ${enable_silent_rules+y}
++then :
++  enableval=$enable_silent_rules;
++fi
++
++case $enable_silent_rules in # (((
++  yes) AM_DEFAULT_VERBOSITY=0;;
++   no) AM_DEFAULT_VERBOSITY=1;;
++    *) AM_DEFAULT_VERBOSITY=1;;
++esac
++am_make=${MAKE-make}
++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5
++printf %s "checking whether $am_make supports nested variables... " >&6; }
++if test ${am_cv_make_support_nested_variables+y}
++then :
++  printf %s "(cached) " >&6
++else $as_nop
++  if printf "%s\n" 'TRUE=$(BAR$(V))
++BAR0=false
++BAR1=true
++V=1
++am__doit:
++      @$(TRUE)
++.PHONY: am__doit' | $am_make -f - >/dev/null 2>&1; then
++  am_cv_make_support_nested_variables=yes
++else
++  am_cv_make_support_nested_variables=no
++fi
++fi
++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5
++printf "%s\n" "$am_cv_make_support_nested_variables" >&6; }
++if test $am_cv_make_support_nested_variables = yes; then
++    AM_V='$(V)'
++  AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)'
++else
++  AM_V=$AM_DEFAULT_VERBOSITY
++  AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY
++fi
++AM_BACKSLASH='\'
++
++if test "`cd $srcdir && pwd`" != "`pwd`"; then
++  # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
++  # is not polluted with repeated "-I."
++  am__isrc=' -I$(srcdir)'
++  # test to see if srcdir already configured
++  if test -f $srcdir/config.status; then
++    as_fn_error $? "source directory already configured; run \"make distclean\" there first" "$LINENO" 5
++  fi
++fi
++
++# test whether we have cygpath
++if test -z "$CYGPATH_W"; then
++  if (cygpath --version) >/dev/null 2>/dev/null; then
++    CYGPATH_W='cygpath -w'
++  else
++    CYGPATH_W=echo
++  fi
++fi
++
++
++# Define the identity of the package.
++ PACKAGE='bwm-ng'
++ VERSION='0.6.3'
++
++
++printf "%s\n" "#define PACKAGE \"$PACKAGE\"" >>confdefs.h
++
++
++printf "%s\n" "#define VERSION \"$VERSION\"" >>confdefs.h
++
++# Some tools Automake needs.
++
++ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"}
++
++
++AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"}
++
++
++AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"}
++
++
++AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"}
++
++
++MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
++
++# For better backward compatibility.  To be removed once Automake 1.9.x
++# dies out for good.  For more background, see:
++# <https://lists.gnu.org/archive/html/automake/2012-07/msg00001.html>
++# <https://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
++mkdir_p='$(MKDIR_P)'
++
++# We need awk for the "check" target (and possibly the TAP driver).  The
++# system "awk" is bad on some platforms.
++# Always define AMTAR for backward compatibility.  Yes, it's still used
++# in the wild :-(  We should find a proper way to deprecate it ...
++AMTAR='$${TAR-tar}'
++
++
++# We'll loop over all known methods to create a tar archive until one works.
++_am_tools='gnutar  pax cpio none'
++
++am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'
++
++
++
++
++
++# Variables for tags utilities; see am/tags.am
++if test -z "$CTAGS"; then
++  CTAGS=ctags
++fi
++
++if test -z "$ETAGS"; then
++  ETAGS=etags
++fi
++
++if test -z "$CSCOPE"; then
++  CSCOPE=cscope
++fi
++
++
++
++# POSIX will say in a future version that running "rm -f" with no argument
++# is OK; and we want to be able to make that assumption in our Makefile
++# recipes.  So use an aggressive probe to check that the usage we want is
++# actually supported "in the wild" to an acceptable degree.
++# See automake bug#10828.
++# To make any issue more visible, cause the running configure to be aborted
++# by default if the 'rm' program in use doesn't match our expectations; the
++# user can still override this though.
++if rm -f && rm -fr && rm -rf; then : OK; else
++  cat >&2 <<'END'
++Oops!
++
++Your 'rm' program seems unable to run without file operands specified
++on the command line, even when the '-f' option is present.  This is contrary
++to the behaviour of most rm programs out there, and not conforming with
++the upcoming POSIX standard: <http://austingroupbugs.net/view.php?id=542>
++
++Please tell bug-automake@gnu.org about your system, including the value
++of your $PATH and any error possibly output before this message.  This
++can help us improve future automake versions.
++
++END
++  if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then
++    echo 'Configuration will proceed anyway, since you have set the' >&2
++    echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2
++    echo >&2
++  else
++    cat >&2 <<'END'
++Aborting the configuration process, to ensure you take notice of the issue.
++
++You can download and install GNU coreutils to get an 'rm' implementation
++that behaves properly: <https://www.gnu.org/software/coreutils/>.
++
++If you want to complete the configuration process using your problematic
++'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM
++to "yes", and re-run configure.
++
++END
++    as_fn_error $? "Your 'rm' program is bad, sorry." "$LINENO" 5
++  fi
++fi
++
++ac_config_headers="$ac_config_headers config.h"
++
++
++ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++
++# Check whether --enable-debug was given.
++if test ${enable_debug+y}
++then :
++  enableval=$enable_debug;
++echo "enable debugging info: $enableval"
++if  test $enableval = "yes" ; then
++    if test -z ${CFLAGS}; then
++        CFLAGS="-g3 -Wall"
++    else
++        CFLAGS="-g3 ${CFLAGS}"
++    fi
++    DEBUG="1"
++fi
++
++else $as_nop
++
++if test -z "${CFLAGS}"; then
++    CFLAGS="-O2 -Wall"
++fi
++
++fi
++
++
++
++
++
++
++
++
++
++
++
++
++DEPDIR="${am__leading_dot}deps"
++
++ac_config_commands="$ac_config_commands depfiles"
++
++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} supports the include directive" >&5
++printf %s "checking whether ${MAKE-make} supports the include directive... " >&6; }
++cat > confinc.mk << 'END'
++am__doit:
++      @echo this is the am__doit target >confinc.out
++.PHONY: am__doit
++END
++am__include="#"
++am__quote=
++# BSD make does it like this.
++echo '.include "confinc.mk" # ignored' > confmf.BSD
++# Other make implementations (GNU, Solaris 10, AIX) do it like this.
++echo 'include confinc.mk # ignored' > confmf.GNU
++_am_result=no
++for s in GNU BSD; do
++  { echo "$as_me:$LINENO: ${MAKE-make} -f confmf.$s && cat confinc.out" >&5
++   (${MAKE-make} -f confmf.$s && cat confinc.out) >&5 2>&5
++   ac_status=$?
++   echo "$as_me:$LINENO: \$? = $ac_status" >&5
++   (exit $ac_status); }
++  case $?:`cat confinc.out 2>/dev/null` in #(
++  '0:this is the am__doit target') :
++    case $s in #(
++  BSD) :
++    am__include='.include' am__quote='"' ;; #(
++  *) :
++    am__include='include' am__quote='' ;;
++esac ;; #(
++  *) :
++     ;;
++esac
++  if test "$am__include" != "#"; then
++    _am_result="yes ($s style)"
++    break
++  fi
++done
++rm -f confinc.* confmf.*
++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: ${_am_result}" >&5
++printf "%s\n" "${_am_result}" >&6; }
++
++# Check whether --enable-dependency-tracking was given.
++if test ${enable_dependency_tracking+y}
++then :
++  enableval=$enable_dependency_tracking;
++fi
++
++if test "x$enable_dependency_tracking" != xno; then
++  am_depcomp="$ac_aux_dir/depcomp"
++  AMDEPBACKSLASH='\'
++  am__nodep='_no'
++fi
++ if test "x$enable_dependency_tracking" != xno; then
++  AMDEP_TRUE=
++  AMDEP_FALSE='#'
++else
++  AMDEP_TRUE='#'
++  AMDEP_FALSE=
++fi
++
++
++ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++if test -n "$ac_tool_prefix"; then
++  # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
++set dummy ${ac_tool_prefix}gcc; ac_word=$2
++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
++printf %s "checking for $ac_word... " >&6; }
++if test ${ac_cv_prog_CC+y}
++then :
++  printf %s "(cached) " >&6
++else $as_nop
++  if test -n "$CC"; then
++  ac_cv_prog_CC="$CC" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++  IFS=$as_save_IFS
++  case $as_dir in #(((
++    '') as_dir=./ ;;
++    */) ;;
++    *) as_dir=$as_dir/ ;;
++  esac
++    for ac_exec_ext in '' $ac_executable_extensions; do
++  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
++    ac_cv_prog_CC="${ac_tool_prefix}gcc"
++    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
++    break 2
++  fi
++done
++  done
++IFS=$as_save_IFS
++
++fi
++fi
++CC=$ac_cv_prog_CC
++if test -n "$CC"; then
++  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
++printf "%s\n" "$CC" >&6; }
++else
++  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
++printf "%s\n" "no" >&6; }
++fi
++
++
++fi
++if test -z "$ac_cv_prog_CC"; then
++  ac_ct_CC=$CC
++  # Extract the first word of "gcc", so it can be a program name with args.
++set dummy gcc; ac_word=$2
++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
++printf %s "checking for $ac_word... " >&6; }
++if test ${ac_cv_prog_ac_ct_CC+y}
++then :
++  printf %s "(cached) " >&6
++else $as_nop
++  if test -n "$ac_ct_CC"; then
++  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++  IFS=$as_save_IFS
++  case $as_dir in #(((
++    '') as_dir=./ ;;
++    */) ;;
++    *) as_dir=$as_dir/ ;;
++  esac
++    for ac_exec_ext in '' $ac_executable_extensions; do
++  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
++    ac_cv_prog_ac_ct_CC="gcc"
++    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
++    break 2
++  fi
++done
++  done
++IFS=$as_save_IFS
++
++fi
++fi
++ac_ct_CC=$ac_cv_prog_ac_ct_CC
++if test -n "$ac_ct_CC"; then
++  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
++printf "%s\n" "$ac_ct_CC" >&6; }
++else
++  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
++printf "%s\n" "no" >&6; }
++fi
++
++  if test "x$ac_ct_CC" = x; then
++    CC=""
++  else
++    case $cross_compiling:$ac_tool_warned in
++yes:)
++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
++printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
++ac_tool_warned=yes ;;
++esac
++    CC=$ac_ct_CC
++  fi
++else
++  CC="$ac_cv_prog_CC"
++fi
++
++if test -z "$CC"; then
++          if test -n "$ac_tool_prefix"; then
++    # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
++set dummy ${ac_tool_prefix}cc; ac_word=$2
++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
++printf %s "checking for $ac_word... " >&6; }
++if test ${ac_cv_prog_CC+y}
++then :
++  printf %s "(cached) " >&6
++else $as_nop
++  if test -n "$CC"; then
++  ac_cv_prog_CC="$CC" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++  IFS=$as_save_IFS
++  case $as_dir in #(((
++    '') as_dir=./ ;;
++    */) ;;
++    *) as_dir=$as_dir/ ;;
++  esac
++    for ac_exec_ext in '' $ac_executable_extensions; do
++  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
++    ac_cv_prog_CC="${ac_tool_prefix}cc"
++    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
++    break 2
++  fi
++done
++  done
++IFS=$as_save_IFS
++
++fi
++fi
++CC=$ac_cv_prog_CC
++if test -n "$CC"; then
++  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
++printf "%s\n" "$CC" >&6; }
++else
++  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
++printf "%s\n" "no" >&6; }
++fi
++
++
++  fi
++fi
++if test -z "$CC"; then
++  # Extract the first word of "cc", so it can be a program name with args.
++set dummy cc; ac_word=$2
++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
++printf %s "checking for $ac_word... " >&6; }
++if test ${ac_cv_prog_CC+y}
++then :
++  printf %s "(cached) " >&6
++else $as_nop
++  if test -n "$CC"; then
++  ac_cv_prog_CC="$CC" # Let the user override the test.
++else
++  ac_prog_rejected=no
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++  IFS=$as_save_IFS
++  case $as_dir in #(((
++    '') as_dir=./ ;;
++    */) ;;
++    *) as_dir=$as_dir/ ;;
++  esac
++    for ac_exec_ext in '' $ac_executable_extensions; do
++  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
++    if test "$as_dir$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
++       ac_prog_rejected=yes
++       continue
++     fi
++    ac_cv_prog_CC="cc"
++    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
++    break 2
++  fi
++done
++  done
++IFS=$as_save_IFS
++
++if test $ac_prog_rejected = yes; then
++  # We found a bogon in the path, so make sure we never use it.
++  set dummy $ac_cv_prog_CC
++  shift
++  if test $# != 0; then
++    # We chose a different compiler from the bogus one.
++    # However, it has the same basename, so the bogon will be chosen
++    # first if we set CC to just the basename; use the full file name.
++    shift
++    ac_cv_prog_CC="$as_dir$ac_word${1+' '}$@"
++  fi
++fi
++fi
++fi
++CC=$ac_cv_prog_CC
++if test -n "$CC"; then
++  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
++printf "%s\n" "$CC" >&6; }
++else
++  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
++printf "%s\n" "no" >&6; }
++fi
++
++
++fi
++if test -z "$CC"; then
++  if test -n "$ac_tool_prefix"; then
++  for ac_prog in cl.exe
++  do
++    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
++set dummy $ac_tool_prefix$ac_prog; ac_word=$2
++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
++printf %s "checking for $ac_word... " >&6; }
++if test ${ac_cv_prog_CC+y}
++then :
++  printf %s "(cached) " >&6
++else $as_nop
++  if test -n "$CC"; then
++  ac_cv_prog_CC="$CC" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++  IFS=$as_save_IFS
++  case $as_dir in #(((
++    '') as_dir=./ ;;
++    */) ;;
++    *) as_dir=$as_dir/ ;;
++  esac
++    for ac_exec_ext in '' $ac_executable_extensions; do
++  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
++    ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
++    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
++    break 2
++  fi
++done
++  done
++IFS=$as_save_IFS
++
++fi
++fi
++CC=$ac_cv_prog_CC
++if test -n "$CC"; then
++  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
++printf "%s\n" "$CC" >&6; }
++else
++  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
++printf "%s\n" "no" >&6; }
++fi
++
++
++    test -n "$CC" && break
++  done
++fi
++if test -z "$CC"; then
++  ac_ct_CC=$CC
++  for ac_prog in cl.exe
++do
++  # Extract the first word of "$ac_prog", so it can be a program name with args.
++set dummy $ac_prog; ac_word=$2
++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
++printf %s "checking for $ac_word... " >&6; }
++if test ${ac_cv_prog_ac_ct_CC+y}
++then :
++  printf %s "(cached) " >&6
++else $as_nop
++  if test -n "$ac_ct_CC"; then
++  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++  IFS=$as_save_IFS
++  case $as_dir in #(((
++    '') as_dir=./ ;;
++    */) ;;
++    *) as_dir=$as_dir/ ;;
++  esac
++    for ac_exec_ext in '' $ac_executable_extensions; do
++  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
++    ac_cv_prog_ac_ct_CC="$ac_prog"
++    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
++    break 2
++  fi
++done
++  done
++IFS=$as_save_IFS
++
++fi
++fi
++ac_ct_CC=$ac_cv_prog_ac_ct_CC
++if test -n "$ac_ct_CC"; then
++  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
++printf "%s\n" "$ac_ct_CC" >&6; }
++else
++  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
++printf "%s\n" "no" >&6; }
++fi
++
++
++  test -n "$ac_ct_CC" && break
++done
++
++  if test "x$ac_ct_CC" = x; then
++    CC=""
++  else
++    case $cross_compiling:$ac_tool_warned in
++yes:)
++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
++printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
++ac_tool_warned=yes ;;
++esac
++    CC=$ac_ct_CC
++  fi
++fi
++
++fi
++if test -z "$CC"; then
++  if test -n "$ac_tool_prefix"; then
++  # Extract the first word of "${ac_tool_prefix}clang", so it can be a program name with args.
++set dummy ${ac_tool_prefix}clang; ac_word=$2
++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
++printf %s "checking for $ac_word... " >&6; }
++if test ${ac_cv_prog_CC+y}
++then :
++  printf %s "(cached) " >&6
++else $as_nop
++  if test -n "$CC"; then
++  ac_cv_prog_CC="$CC" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++  IFS=$as_save_IFS
++  case $as_dir in #(((
++    '') as_dir=./ ;;
++    */) ;;
++    *) as_dir=$as_dir/ ;;
++  esac
++    for ac_exec_ext in '' $ac_executable_extensions; do
++  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
++    ac_cv_prog_CC="${ac_tool_prefix}clang"
++    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
++    break 2
++  fi
++done
++  done
++IFS=$as_save_IFS
++
++fi
++fi
++CC=$ac_cv_prog_CC
++if test -n "$CC"; then
++  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
++printf "%s\n" "$CC" >&6; }
++else
++  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
++printf "%s\n" "no" >&6; }
++fi
++
++
++fi
++if test -z "$ac_cv_prog_CC"; then
++  ac_ct_CC=$CC
++  # Extract the first word of "clang", so it can be a program name with args.
++set dummy clang; ac_word=$2
++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
++printf %s "checking for $ac_word... " >&6; }
++if test ${ac_cv_prog_ac_ct_CC+y}
++then :
++  printf %s "(cached) " >&6
++else $as_nop
++  if test -n "$ac_ct_CC"; then
++  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++  IFS=$as_save_IFS
++  case $as_dir in #(((
++    '') as_dir=./ ;;
++    */) ;;
++    *) as_dir=$as_dir/ ;;
++  esac
++    for ac_exec_ext in '' $ac_executable_extensions; do
++  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
++    ac_cv_prog_ac_ct_CC="clang"
++    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
++    break 2
++  fi
++done
++  done
++IFS=$as_save_IFS
++
++fi
++fi
++ac_ct_CC=$ac_cv_prog_ac_ct_CC
++if test -n "$ac_ct_CC"; then
++  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
++printf "%s\n" "$ac_ct_CC" >&6; }
++else
++  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
++printf "%s\n" "no" >&6; }
++fi
++
++  if test "x$ac_ct_CC" = x; then
++    CC=""
++  else
++    case $cross_compiling:$ac_tool_warned in
++yes:)
++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
++printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
++ac_tool_warned=yes ;;
++esac
++    CC=$ac_ct_CC
++  fi
++else
++  CC="$ac_cv_prog_CC"
++fi
++
++fi
++
++
++test -z "$CC" && { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
++printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
++as_fn_error $? "no acceptable C compiler found in \$PATH
++See \`config.log' for more details" "$LINENO" 5; }
++
++# Provide some information about the compiler.
++printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
++set X $ac_compile
++ac_compiler=$2
++for ac_option in --version -v -V -qversion -version; do
++  { { ac_try="$ac_compiler $ac_option >&5"
++case "(($ac_try" in
++  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++  *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
++printf "%s\n" "$ac_try_echo"; } >&5
++  (eval "$ac_compiler $ac_option >&5") 2>conftest.err
++  ac_status=$?
++  if test -s conftest.err; then
++    sed '10a\
++... rest of stderr output deleted ...
++         10q' conftest.err >conftest.er1
++    cat conftest.er1 >&5
++  fi
++  rm -f conftest.er1 conftest.err
++  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
++  test $ac_status = 0; }
++done
++
++cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++
++int
++main (void)
++{
++
++  ;
++  return 0;
++}
++_ACEOF
++ac_clean_files_save=$ac_clean_files
++ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out"
++# Try to create an executable without -o first, disregard a.out.
++# It will help us diagnose broken compilers, and finding out an intuition
++# of exeext.
++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
++printf %s "checking whether the C compiler works... " >&6; }
++ac_link_default=`printf "%s\n" "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
++
++# The possible output files:
++ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*"
++
++ac_rmfiles=
++for ac_file in $ac_files
++do
++  case $ac_file in
++    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
++    * ) ac_rmfiles="$ac_rmfiles $ac_file";;
++  esac
++done
++rm -f $ac_rmfiles
++
++if { { ac_try="$ac_link_default"
++case "(($ac_try" in
++  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++  *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
++printf "%s\n" "$ac_try_echo"; } >&5
++  (eval "$ac_link_default") 2>&5
++  ac_status=$?
++  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
++  test $ac_status = 0; }
++then :
++  # Autoconf-2.13 could set the ac_cv_exeext variable to `no'.
++# So ignore a value of `no', otherwise this would lead to `EXEEXT = no'
++# in a Makefile.  We should not override ac_cv_exeext if it was cached,
++# so that the user can short-circuit this test for compilers unknown to
++# Autoconf.
++for ac_file in $ac_files ''
++do
++  test -f "$ac_file" || continue
++  case $ac_file in
++    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj )
++      ;;
++    [ab].out )
++      # We found the default executable, but exeext='' is most
++      # certainly right.
++      break;;
++    *.* )
++      if test ${ac_cv_exeext+y} && test "$ac_cv_exeext" != no;
++      then :; else
++         ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
++      fi
++      # We set ac_cv_exeext here because the later test for it is not
++      # safe: cross compilers may not add the suffix if given an `-o'
++      # argument, so we may need to know it at that point already.
++      # Even if this section looks crufty: it has the advantage of
++      # actually working.
++      break;;
++    * )
++      break;;
++  esac
++done
++test "$ac_cv_exeext" = no && ac_cv_exeext=
++
++else $as_nop
++  ac_file=''
++fi
++if test -z "$ac_file"
++then :
++  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
++printf "%s\n" "no" >&6; }
++printf "%s\n" "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
++printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
++as_fn_error 77 "C compiler cannot create executables
++See \`config.log' for more details" "$LINENO" 5; }
++else $as_nop
++  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
++printf "%s\n" "yes" >&6; }
++fi
++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
++printf %s "checking for C compiler default output file name... " >&6; }
++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
++printf "%s\n" "$ac_file" >&6; }
++ac_exeext=$ac_cv_exeext
++
++rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
++ac_clean_files=$ac_clean_files_save
++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5
++printf %s "checking for suffix of executables... " >&6; }
++if { { ac_try="$ac_link"
++case "(($ac_try" in
++  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++  *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
++printf "%s\n" "$ac_try_echo"; } >&5
++  (eval "$ac_link") 2>&5
++  ac_status=$?
++  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
++  test $ac_status = 0; }
++then :
++  # If both `conftest.exe' and `conftest' are `present' (well, observable)
++# catch `conftest.exe'.  For instance with Cygwin, `ls conftest' will
++# work properly (i.e., refer to `conftest.exe'), while it won't with
++# `rm'.
++for ac_file in conftest.exe conftest conftest.*; do
++  test -f "$ac_file" || continue
++  case $ac_file in
++    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
++    *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
++        break;;
++    * ) break;;
++  esac
++done
++else $as_nop
++  { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
++printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
++as_fn_error $? "cannot compute suffix of executables: cannot compile and link
++See \`config.log' for more details" "$LINENO" 5; }
++fi
++rm -f conftest conftest$ac_cv_exeext
++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
++printf "%s\n" "$ac_cv_exeext" >&6; }
++
++rm -f conftest.$ac_ext
++EXEEXT=$ac_cv_exeext
++ac_exeext=$EXEEXT
++cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++#include <stdio.h>
++int
++main (void)
++{
++FILE *f = fopen ("conftest.out", "w");
++ return ferror (f) || fclose (f) != 0;
++
++  ;
++  return 0;
++}
++_ACEOF
++ac_clean_files="$ac_clean_files conftest.out"
++# Check that the compiler produces executables we can run.  If not, either
++# the compiler is broken, or we cross compile.
++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
++printf %s "checking whether we are cross compiling... " >&6; }
++if test "$cross_compiling" != yes; then
++  { { ac_try="$ac_link"
++case "(($ac_try" in
++  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++  *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
++printf "%s\n" "$ac_try_echo"; } >&5
++  (eval "$ac_link") 2>&5
++  ac_status=$?
++  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
++  test $ac_status = 0; }
++  if { ac_try='./conftest$ac_cv_exeext'
++  { { case "(($ac_try" in
++  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++  *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
++printf "%s\n" "$ac_try_echo"; } >&5
++  (eval "$ac_try") 2>&5
++  ac_status=$?
++  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
++  test $ac_status = 0; }; }; then
++    cross_compiling=no
++  else
++    if test "$cross_compiling" = maybe; then
++      cross_compiling=yes
++    else
++      { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
++printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
++as_fn_error 77 "cannot run C compiled programs.
++If you meant to cross compile, use \`--host'.
++See \`config.log' for more details" "$LINENO" 5; }
++    fi
++  fi
++fi
++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
++printf "%s\n" "$cross_compiling" >&6; }
++
++rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out
++ac_clean_files=$ac_clean_files_save
++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
++printf %s "checking for suffix of object files... " >&6; }
++if test ${ac_cv_objext+y}
++then :
++  printf %s "(cached) " >&6
++else $as_nop
++  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++
++int
++main (void)
++{
++
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.o conftest.obj
++if { { ac_try="$ac_compile"
++case "(($ac_try" in
++  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++  *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
++printf "%s\n" "$ac_try_echo"; } >&5
++  (eval "$ac_compile") 2>&5
++  ac_status=$?
++  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
++  test $ac_status = 0; }
++then :
++  for ac_file in conftest.o conftest.obj conftest.*; do
++  test -f "$ac_file" || continue;
++  case $ac_file in
++    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;;
++    *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
++       break;;
++  esac
++done
++else $as_nop
++  printf "%s\n" "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
++printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
++as_fn_error $? "cannot compute suffix of object files: cannot compile
++See \`config.log' for more details" "$LINENO" 5; }
++fi
++rm -f conftest.$ac_cv_objext conftest.$ac_ext
++fi
++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5
++printf "%s\n" "$ac_cv_objext" >&6; }
++OBJEXT=$ac_cv_objext
++ac_objext=$OBJEXT
++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C" >&5
++printf %s "checking whether the compiler supports GNU C... " >&6; }
++if test ${ac_cv_c_compiler_gnu+y}
++then :
++  printf %s "(cached) " >&6
++else $as_nop
++  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++
++int
++main (void)
++{
++#ifndef __GNUC__
++       choke me
++#endif
++
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_c_try_compile "$LINENO"
++then :
++  ac_compiler_gnu=yes
++else $as_nop
++  ac_compiler_gnu=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
++ac_cv_c_compiler_gnu=$ac_compiler_gnu
++
++fi
++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5
++printf "%s\n" "$ac_cv_c_compiler_gnu" >&6; }
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++if test $ac_compiler_gnu = yes; then
++  GCC=yes
++else
++  GCC=
++fi
++ac_test_CFLAGS=${CFLAGS+y}
++ac_save_CFLAGS=$CFLAGS
++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
++printf %s "checking whether $CC accepts -g... " >&6; }
++if test ${ac_cv_prog_cc_g+y}
++then :
++  printf %s "(cached) " >&6
++else $as_nop
++  ac_save_c_werror_flag=$ac_c_werror_flag
++   ac_c_werror_flag=yes
++   ac_cv_prog_cc_g=no
++   CFLAGS="-g"
++   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++
++int
++main (void)
++{
++
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_c_try_compile "$LINENO"
++then :
++  ac_cv_prog_cc_g=yes
++else $as_nop
++  CFLAGS=""
++      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++
++int
++main (void)
++{
++
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_c_try_compile "$LINENO"
++then :
++
++else $as_nop
++  ac_c_werror_flag=$ac_save_c_werror_flag
++       CFLAGS="-g"
++       cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++
++int
++main (void)
++{
++
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_c_try_compile "$LINENO"
++then :
++  ac_cv_prog_cc_g=yes
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
++   ac_c_werror_flag=$ac_save_c_werror_flag
++fi
++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5
++printf "%s\n" "$ac_cv_prog_cc_g" >&6; }
++if test $ac_test_CFLAGS; then
++  CFLAGS=$ac_save_CFLAGS
++elif test $ac_cv_prog_cc_g = yes; then
++  if test "$GCC" = yes; then
++    CFLAGS="-g -O2"
++  else
++    CFLAGS="-g"
++  fi
++else
++  if test "$GCC" = yes; then
++    CFLAGS="-O2"
++  else
++    CFLAGS=
++  fi
++fi
++ac_prog_cc_stdc=no
++if test x$ac_prog_cc_stdc = xno
++then :
++  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C11 features" >&5
++printf %s "checking for $CC option to enable C11 features... " >&6; }
++if test ${ac_cv_prog_cc_c11+y}
++then :
++  printf %s "(cached) " >&6
++else $as_nop
++  ac_cv_prog_cc_c11=no
++ac_save_CC=$CC
++cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++$ac_c_conftest_c11_program
++_ACEOF
++for ac_arg in '' -std=gnu11
++do
++  CC="$ac_save_CC $ac_arg"
++  if ac_fn_c_try_compile "$LINENO"
++then :
++  ac_cv_prog_cc_c11=$ac_arg
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.beam
++  test "x$ac_cv_prog_cc_c11" != "xno" && break
++done
++rm -f conftest.$ac_ext
++CC=$ac_save_CC
++fi
++
++if test "x$ac_cv_prog_cc_c11" = xno
++then :
++  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
++printf "%s\n" "unsupported" >&6; }
++else $as_nop
++  if test "x$ac_cv_prog_cc_c11" = x
++then :
++  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
++printf "%s\n" "none needed" >&6; }
++else $as_nop
++  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c11" >&5
++printf "%s\n" "$ac_cv_prog_cc_c11" >&6; }
++     CC="$CC $ac_cv_prog_cc_c11"
++fi
++  ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c11
++  ac_prog_cc_stdc=c11
++fi
++fi
++if test x$ac_prog_cc_stdc = xno
++then :
++  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C99 features" >&5
++printf %s "checking for $CC option to enable C99 features... " >&6; }
++if test ${ac_cv_prog_cc_c99+y}
++then :
++  printf %s "(cached) " >&6
++else $as_nop
++  ac_cv_prog_cc_c99=no
++ac_save_CC=$CC
++cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++$ac_c_conftest_c99_program
++_ACEOF
++for ac_arg in '' -std=gnu99 -std=c99 -c99 -qlanglvl=extc1x -qlanglvl=extc99 -AC99 -D_STDC_C99=
++do
++  CC="$ac_save_CC $ac_arg"
++  if ac_fn_c_try_compile "$LINENO"
++then :
++  ac_cv_prog_cc_c99=$ac_arg
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.beam
++  test "x$ac_cv_prog_cc_c99" != "xno" && break
++done
++rm -f conftest.$ac_ext
++CC=$ac_save_CC
++fi
++
++if test "x$ac_cv_prog_cc_c99" = xno
++then :
++  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
++printf "%s\n" "unsupported" >&6; }
++else $as_nop
++  if test "x$ac_cv_prog_cc_c99" = x
++then :
++  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
++printf "%s\n" "none needed" >&6; }
++else $as_nop
++  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c99" >&5
++printf "%s\n" "$ac_cv_prog_cc_c99" >&6; }
++     CC="$CC $ac_cv_prog_cc_c99"
++fi
++  ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c99
++  ac_prog_cc_stdc=c99
++fi
++fi
++if test x$ac_prog_cc_stdc = xno
++then :
++  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C89 features" >&5
++printf %s "checking for $CC option to enable C89 features... " >&6; }
++if test ${ac_cv_prog_cc_c89+y}
++then :
++  printf %s "(cached) " >&6
++else $as_nop
++  ac_cv_prog_cc_c89=no
++ac_save_CC=$CC
++cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++$ac_c_conftest_c89_program
++_ACEOF
++for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
++do
++  CC="$ac_save_CC $ac_arg"
++  if ac_fn_c_try_compile "$LINENO"
++then :
++  ac_cv_prog_cc_c89=$ac_arg
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.beam
++  test "x$ac_cv_prog_cc_c89" != "xno" && break
++done
++rm -f conftest.$ac_ext
++CC=$ac_save_CC
++fi
++
++if test "x$ac_cv_prog_cc_c89" = xno
++then :
++  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
++printf "%s\n" "unsupported" >&6; }
++else $as_nop
++  if test "x$ac_cv_prog_cc_c89" = x
++then :
++  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
++printf "%s\n" "none needed" >&6; }
++else $as_nop
++  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5
++printf "%s\n" "$ac_cv_prog_cc_c89" >&6; }
++     CC="$CC $ac_cv_prog_cc_c89"
++fi
++  ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c89
++  ac_prog_cc_stdc=c89
++fi
++fi
++
++ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++
++  ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC understands -c and -o together" >&5
++printf %s "checking whether $CC understands -c and -o together... " >&6; }
++if test ${am_cv_prog_cc_c_o+y}
++then :
++  printf %s "(cached) " >&6
++else $as_nop
++  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++
++int
++main (void)
++{
++
++  ;
++  return 0;
++}
++_ACEOF
++  # Make sure it works both with $CC and with simple cc.
++  # Following AC_PROG_CC_C_O, we do the test twice because some
++  # compilers refuse to overwrite an existing .o file with -o,
++  # though they will create one.
++  am_cv_prog_cc_c_o=yes
++  for am_i in 1 2; do
++    if { echo "$as_me:$LINENO: $CC -c conftest.$ac_ext -o conftest2.$ac_objext" >&5
++   ($CC -c conftest.$ac_ext -o conftest2.$ac_objext) >&5 2>&5
++   ac_status=$?
++   echo "$as_me:$LINENO: \$? = $ac_status" >&5
++   (exit $ac_status); } \
++         && test -f conftest2.$ac_objext; then
++      : OK
++    else
++      am_cv_prog_cc_c_o=no
++      break
++    fi
++  done
++  rm -f core conftest*
++  unset am_i
++fi
++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5
++printf "%s\n" "$am_cv_prog_cc_c_o" >&6; }
++if test "$am_cv_prog_cc_c_o" != yes; then
++   # Losing compiler, so override with the script.
++   # FIXME: It is wrong to rewrite CC.
++   # But if we don't then we get into trouble of one sort or another.
++   # A longer-term fix would be to have automake use am__CC in this case,
++   # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
++   CC="$am_aux_dir/compile $CC"
++fi
++ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++
++depcc="$CC"   am_compiler_list=
++
++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
++printf %s "checking dependency style of $depcc... " >&6; }
++if test ${am_cv_CC_dependencies_compiler_type+y}
++then :
++  printf %s "(cached) " >&6
++else $as_nop
++  if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
++  # We make a subdir and do the tests there.  Otherwise we can end up
++  # making bogus files that we don't know about and never remove.  For
++  # instance it was reported that on HP-UX the gcc test will end up
++  # making a dummy file named 'D' -- because '-MD' means "put the output
++  # in D".
++  rm -rf conftest.dir
++  mkdir conftest.dir
++  # Copy depcomp to subdir because otherwise we won't find it if we're
++  # using a relative directory.
++  cp "$am_depcomp" conftest.dir
++  cd conftest.dir
++  # We will build objects and dependencies in a subdirectory because
++  # it helps to detect inapplicable dependency modes.  For instance
++  # both Tru64's cc and ICC support -MD to output dependencies as a
++  # side effect of compilation, but ICC will put the dependencies in
++  # the current directory while Tru64 will put them in the object
++  # directory.
++  mkdir sub
++
++  am_cv_CC_dependencies_compiler_type=none
++  if test "$am_compiler_list" = ""; then
++     am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
++  fi
++  am__universal=false
++  case " $depcc " in #(
++     *\ -arch\ *\ -arch\ *) am__universal=true ;;
++     esac
++
++  for depmode in $am_compiler_list; do
++    # Setup a source with many dependencies, because some compilers
++    # like to wrap large dependency lists on column 80 (with \), and
++    # we should not choose a depcomp mode which is confused by this.
++    #
++    # We need to recreate these files for each test, as the compiler may
++    # overwrite some of them when testing with obscure command lines.
++    # This happens at least with the AIX C compiler.
++    : > sub/conftest.c
++    for i in 1 2 3 4 5 6; do
++      echo '#include "conftst'$i'.h"' >> sub/conftest.c
++      # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with
++      # Solaris 10 /bin/sh.
++      echo '/* dummy */' > sub/conftst$i.h
++    done
++    echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
++
++    # We check with '-c' and '-o' for the sake of the "dashmstdout"
++    # mode.  It turns out that the SunPro C++ compiler does not properly
++    # handle '-M -o', and we need to detect this.  Also, some Intel
++    # versions had trouble with output in subdirs.
++    am__obj=sub/conftest.${OBJEXT-o}
++    am__minus_obj="-o $am__obj"
++    case $depmode in
++    gcc)
++      # This depmode causes a compiler race in universal mode.
++      test "$am__universal" = false || continue
++      ;;
++    nosideeffect)
++      # After this tag, mechanisms are not by side-effect, so they'll
++      # only be used when explicitly requested.
++      if test "x$enable_dependency_tracking" = xyes; then
++      continue
++      else
++      break
++      fi
++      ;;
++    msvc7 | msvc7msys | msvisualcpp | msvcmsys)
++      # This compiler won't grok '-c -o', but also, the minuso test has
++      # not run yet.  These depmodes are late enough in the game, and
++      # so weak that their functioning should not be impacted.
++      am__obj=conftest.${OBJEXT-o}
++      am__minus_obj=
++      ;;
++    none) break ;;
++    esac
++    if depmode=$depmode \
++       source=sub/conftest.c object=$am__obj \
++       depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
++       $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
++         >/dev/null 2>conftest.err &&
++       grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
++       grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
++       grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
++       ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
++      # icc doesn't choke on unknown options, it will just issue warnings
++      # or remarks (even with -Werror).  So we grep stderr for any message
++      # that says an option was ignored or not supported.
++      # When given -MP, icc 7.0 and 7.1 complain thusly:
++      #   icc: Command line warning: ignoring option '-M'; no argument required
++      # The diagnosis changed in icc 8.0:
++      #   icc: Command line remark: option '-MP' not supported
++      if (grep 'ignoring option' conftest.err ||
++          grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
++        am_cv_CC_dependencies_compiler_type=$depmode
++        break
++      fi
++    fi
++  done
++
++  cd ..
++  rm -rf conftest.dir
++else
++  am_cv_CC_dependencies_compiler_type=none
++fi
++
++fi
++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5
++printf "%s\n" "$am_cv_CC_dependencies_compiler_type" >&6; }
++CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
++
++ if
++  test "x$enable_dependency_tracking" != xno \
++  && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then
++  am__fastdepCC_TRUE=
++  am__fastdepCC_FALSE='#'
++else
++  am__fastdepCC_TRUE='#'
++  am__fastdepCC_FALSE=
++fi
++
++
++
++ac_header= ac_cache=
++for ac_item in $ac_header_c_list
++do
++  if test $ac_cache; then
++    ac_fn_c_check_header_compile "$LINENO" $ac_header ac_cv_header_$ac_cache "$ac_includes_default"
++    if eval test \"x\$ac_cv_header_$ac_cache\" = xyes; then
++      printf "%s\n" "#define $ac_item 1" >> confdefs.h
++    fi
++    ac_header= ac_cache=
++  elif test $ac_header; then
++    ac_cache=$ac_item
++  else
++    ac_header=$ac_item
++  fi
++done
++
++
++
++
++
++
++
++
++if test $ac_cv_header_stdlib_h = yes && test $ac_cv_header_string_h = yes
++then :
++
++printf "%s\n" "#define STDC_HEADERS 1" >>confdefs.h
++
++fi
++ac_fn_c_check_type "$LINENO" "unsigned long long" "ac_cv_type_unsigned_long_long" "$ac_includes_default"
++if test "x$ac_cv_type_unsigned_long_long" = xyes
++then :
++
++printf "%s\n" "#define HAVE_UNSIGNED_LONG_LONG 1" >>confdefs.h
++
++
++fi
++
++
++# Checks for libraries.
++CURSES_CHECKED="0"
++
++
++# Check whether --with-curses was given.
++if test ${with_curses+y}
++then :
++  withval=$with_curses;
++if  test $withval != "no" ; then
++    OLD_CPPFLAGS=$CPPFLAGS
++    if  test $withval != "yes" ; then
++        CPPFLAGS="$CPPFLAGS -I$withval"
++    fi
++    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for newterm,timeout in -lcurses" >&5
++printf %s "checking for newterm,timeout in -lcurses... " >&6; }
++if test ${ac_cv_lib_curses_newterm_timeout+y}
++then :
++  printf %s "(cached) " >&6
++else $as_nop
++  ac_check_lib_save_LIBS=$LIBS
++LIBS="-lcurses  $LIBS"
++cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++
++/* Override any GCC internal prototype to avoid an error.
++   Use char because int might match the return type of a GCC
++   builtin and then its argument prototype would still apply.  */
++char newterm,timeout ();
++int
++main (void)
++{
++return newterm,timeout ();
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_c_try_link "$LINENO"
++then :
++  ac_cv_lib_curses_newterm_timeout=yes
++else $as_nop
++  ac_cv_lib_curses_newterm_timeout=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.beam \
++    conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_curses_newterm_timeout" >&5
++printf "%s\n" "$ac_cv_lib_curses_newterm_timeout" >&6; }
++if test "x$ac_cv_lib_curses_newterm_timeout" = xyes
++then :
++  printf "%s\n" "#define HAVE_LIBCURSES 1" >>confdefs.h
++
++  LIBS="-lcurses $LIBS"
++
++else $as_nop
++   CPPFLAGS=$OLD_CPPFLAGS
++fi
++
++    CURSES_CHECKED="1"
++else
++    CURSES_CHECKED="1"
++fi
++
++fi
++
++
++
++if  test $CURSES_CHECKED != "1" ; then
++
++# Check whether --with-ncurses was given.
++if test ${with_ncurses+y}
++then :
++  withval=$with_ncurses;
++if  test $withval != "no" ; then
++    OLD_CPPFLAGS=$CPPFLAGS
++    if  test $withval != "yes" ; then
++        CPPFLAGS="$CPPFLAGS -I$withval"
++    fi
++    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for newterm,timeout in -lncurses" >&5
++printf %s "checking for newterm,timeout in -lncurses... " >&6; }
++if test ${ac_cv_lib_ncurses_newterm_timeout+y}
++then :
++  printf %s "(cached) " >&6
++else $as_nop
++  ac_check_lib_save_LIBS=$LIBS
++LIBS="-lncurses  $LIBS"
++cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++
++/* Override any GCC internal prototype to avoid an error.
++   Use char because int might match the return type of a GCC
++   builtin and then its argument prototype would still apply.  */
++char newterm,timeout ();
++int
++main (void)
++{
++return newterm,timeout ();
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_c_try_link "$LINENO"
++then :
++  ac_cv_lib_ncurses_newterm_timeout=yes
++else $as_nop
++  ac_cv_lib_ncurses_newterm_timeout=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.beam \
++    conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ncurses_newterm_timeout" >&5
++printf "%s\n" "$ac_cv_lib_ncurses_newterm_timeout" >&6; }
++if test "x$ac_cv_lib_ncurses_newterm_timeout" = xyes
++then :
++  printf "%s\n" "#define HAVE_LIBNCURSES 1" >>confdefs.h
++
++  LIBS="-lncurses $LIBS"
++
++else $as_nop
++   CPPFLAGS=$OLD_CPPFLAGS
++fi
++
++    CURSES_CHECKED="1"
++else
++    CURSES_CHECKED="1"
++fi
++
++fi
++
++fi
++
++
++
++if  test $CURSES_CHECKED != "1" ; then
++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for initscr,timeout in -lcurses" >&5
++printf %s "checking for initscr,timeout in -lcurses... " >&6; }
++if test ${ac_cv_lib_curses_initscr_timeout+y}
++then :
++  printf %s "(cached) " >&6
++else $as_nop
++  ac_check_lib_save_LIBS=$LIBS
++LIBS="-lcurses  $LIBS"
++cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++
++/* Override any GCC internal prototype to avoid an error.
++   Use char because int might match the return type of a GCC
++   builtin and then its argument prototype would still apply.  */
++char initscr,timeout ();
++int
++main (void)
++{
++return initscr,timeout ();
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_c_try_link "$LINENO"
++then :
++  ac_cv_lib_curses_initscr_timeout=yes
++else $as_nop
++  ac_cv_lib_curses_initscr_timeout=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.beam \
++    conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_curses_initscr_timeout" >&5
++printf "%s\n" "$ac_cv_lib_curses_initscr_timeout" >&6; }
++if test "x$ac_cv_lib_curses_initscr_timeout" = xyes
++then :
++  printf "%s\n" "#define HAVE_LIBCURSES 1" >>confdefs.h
++
++  LIBS="-lcurses $LIBS"
++
++else $as_nop
++
++      { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for newterm,timeout in -lncurses" >&5
++printf %s "checking for newterm,timeout in -lncurses... " >&6; }
++if test ${ac_cv_lib_ncurses_newterm_timeout+y}
++then :
++  printf %s "(cached) " >&6
++else $as_nop
++  ac_check_lib_save_LIBS=$LIBS
++LIBS="-lncurses  $LIBS"
++cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++
++/* Override any GCC internal prototype to avoid an error.
++   Use char because int might match the return type of a GCC
++   builtin and then its argument prototype would still apply.  */
++char newterm,timeout ();
++int
++main (void)
++{
++return newterm,timeout ();
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_c_try_link "$LINENO"
++then :
++  ac_cv_lib_ncurses_newterm_timeout=yes
++else $as_nop
++  ac_cv_lib_ncurses_newterm_timeout=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.beam \
++    conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ncurses_newterm_timeout" >&5
++printf "%s\n" "$ac_cv_lib_ncurses_newterm_timeout" >&6; }
++if test "x$ac_cv_lib_ncurses_newterm_timeout" = xyes
++then :
++  printf "%s\n" "#define HAVE_LIBNCURSES 1" >>confdefs.h
++
++  LIBS="-lncurses $LIBS"
++
++fi
++
++
++fi
++
++fi
++
++ac_fn_c_check_func "$LINENO" "wattron" "ac_cv_func_wattron"
++if test "x$ac_cv_func_wattron" = xyes
++then :
++  printf "%s\n" "#define HAVE_WATTRON 1" >>confdefs.h
++
++fi
++
++ac_fn_c_check_func "$LINENO" "curs_set" "ac_cv_func_curs_set"
++if test "x$ac_cv_func_curs_set" = xyes
++then :
++  printf "%s\n" "#define HAVE_CURS_SET 1" >>confdefs.h
++
++fi
++
++ac_fn_c_check_func "$LINENO" "usleep" "ac_cv_func_usleep"
++if test "x$ac_cv_func_usleep" = xyes
++then :
++  printf "%s\n" "#define HAVE_USLEEP 1" >>confdefs.h
++
++fi
++
++ac_fn_c_check_func "$LINENO" "strlcpy" "ac_cv_func_strlcpy"
++if test "x$ac_cv_func_strlcpy" = xyes
++then :
++  printf "%s\n" "#define HAVE_STRLCPY 1" >>confdefs.h
++
++fi
++
++
++  ac_fn_c_check_type "$LINENO" "pid_t" "ac_cv_type_pid_t" "$ac_includes_default
++"
++if test "x$ac_cv_type_pid_t" = xyes
++then :
++
++else $as_nop
++                                          cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++
++          #if defined _WIN64 && !defined __CYGWIN__
++          LLP64
++          #endif
++
++int
++main (void)
++{
++
++  ;
++  return 0;
++}
++
++_ACEOF
++if ac_fn_c_try_compile "$LINENO"
++then :
++  ac_pid_type='int'
++else $as_nop
++  ac_pid_type='__int64'
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
++
++printf "%s\n" "#define pid_t $ac_pid_type" >>confdefs.h
++
++
++fi
++
++
++
++ac_func=
++for ac_item in $ac_func_c_list
++do
++  if test $ac_func; then
++    ac_fn_c_check_func "$LINENO" $ac_func ac_cv_func_$ac_func
++    if eval test \"x\$ac_cv_func_$ac_func\" = xyes; then
++      echo "#define $ac_item 1" >> confdefs.h
++    fi
++    ac_func=
++  else
++    ac_func=$ac_item
++  fi
++done
++
++
++
++if test "x$ac_cv_func_fork" = xyes; then
++  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for working fork" >&5
++printf %s "checking for working fork... " >&6; }
++if test ${ac_cv_func_fork_works+y}
++then :
++  printf %s "(cached) " >&6
++else $as_nop
++  if test "$cross_compiling" = yes
++then :
++  ac_cv_func_fork_works=cross
++else $as_nop
++  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++$ac_includes_default
++int
++main (void)
++{
++
++        /* By Ruediger Kuhlmann. */
++        return fork () < 0;
++
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_c_try_run "$LINENO"
++then :
++  ac_cv_func_fork_works=yes
++else $as_nop
++  ac_cv_func_fork_works=no
++fi
++rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
++  conftest.$ac_objext conftest.beam conftest.$ac_ext
++fi
++
++fi
++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_fork_works" >&5
++printf "%s\n" "$ac_cv_func_fork_works" >&6; }
++
++else
++  ac_cv_func_fork_works=$ac_cv_func_fork
++fi
++if test "x$ac_cv_func_fork_works" = xcross; then
++  case $host in
++    *-*-amigaos* | *-*-msdosdjgpp*)
++      # Override, as these systems have only a dummy fork() stub
++      ac_cv_func_fork_works=no
++      ;;
++    *)
++      ac_cv_func_fork_works=yes
++      ;;
++  esac
++  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: result $ac_cv_func_fork_works guessed because of cross compilation" >&5
++printf "%s\n" "$as_me: WARNING: result $ac_cv_func_fork_works guessed because of cross compilation" >&2;}
++fi
++ac_cv_func_vfork_works=$ac_cv_func_vfork
++if test "x$ac_cv_func_vfork" = xyes; then
++  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for working vfork" >&5
++printf %s "checking for working vfork... " >&6; }
++if test ${ac_cv_func_vfork_works+y}
++then :
++  printf %s "(cached) " >&6
++else $as_nop
++  if test "$cross_compiling" = yes
++then :
++  ac_cv_func_vfork_works=cross
++else $as_nop
++  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++/* Thanks to Paul Eggert for this test.  */
++$ac_includes_default
++#include <signal.h>
++#include <sys/wait.h>
++#ifdef HAVE_VFORK_H
++# include <vfork.h>
++#endif
++
++static void
++do_nothing (int sig)
++{
++  (void) sig;
++}
++
++/* On some sparc systems, changes by the child to local and incoming
++   argument registers are propagated back to the parent.  The compiler
++   is told about this with #include <vfork.h>, but some compilers
++   (e.g. gcc -O) don't grok <vfork.h>.  Test for this by using a
++   static variable whose address is put into a register that is
++   clobbered by the vfork.  */
++static void
++sparc_address_test (int arg)
++{
++  static pid_t child;
++  if (!child) {
++    child = vfork ();
++    if (child < 0) {
++      perror ("vfork");
++      _exit(2);
++    }
++    if (!child) {
++      arg = getpid();
++      write(-1, "", 0);
++      _exit (arg);
++    }
++  }
++}
++
++int
++main (void)
++{
++  pid_t parent = getpid ();
++  pid_t child;
++
++  sparc_address_test (0);
++
++  /* On Solaris 2.4, changes by the child to the signal handler
++     also munge signal handlers in the parent.  To detect this,
++     start by putting the parent's handler in a known state.  */
++  signal (SIGTERM, SIG_DFL);
++
++  child = vfork ();
++
++  if (child == 0) {
++    /* Here is another test for sparc vfork register problems.  This
++       test uses lots of local variables, at least as many local
++       variables as main has allocated so far including compiler
++       temporaries.  4 locals are enough for gcc 1.40.3 on a Solaris
++       4.1.3 sparc, but we use 8 to be safe.  A buggy compiler should
++       reuse the register of parent for one of the local variables,
++       since it will think that parent can't possibly be used any more
++       in this routine.  Assigning to the local variable will thus
++       munge parent in the parent process.  */
++    pid_t
++      p = getpid(), p1 = getpid(), p2 = getpid(), p3 = getpid(),
++      p4 = getpid(), p5 = getpid(), p6 = getpid(), p7 = getpid();
++    /* Convince the compiler that p..p7 are live; otherwise, it might
++       use the same hardware register for all 8 local variables.  */
++    if (p != p1 || p != p2 || p != p3 || p != p4
++      || p != p5 || p != p6 || p != p7)
++      _exit(1);
++
++    /* Alter the child's signal handler.  */
++    if (signal (SIGTERM, do_nothing) != SIG_DFL)
++      _exit(1);
++
++    /* On some systems (e.g. IRIX 3.3), vfork doesn't separate parent
++       from child file descriptors.  If the child closes a descriptor
++       before it execs or exits, this munges the parent's descriptor
++       as well.  Test for this by closing stdout in the child.  */
++    _exit(close(fileno(stdout)) != 0);
++  } else {
++    int status;
++    struct stat st;
++
++    while (wait(&status) != child)
++      ;
++    return (
++       /* Was there some problem with vforking?  */
++       child < 0
++
++       /* Did the child munge the parent's signal handler?  */
++       || signal (SIGTERM, SIG_DFL) != SIG_DFL
++
++       /* Did the child fail?  (This shouldn't happen.)  */
++       || status
++
++       /* Did the vfork/compiler bug occur?  */
++       || parent != getpid()
++
++       /* Did the file descriptor bug occur?  */
++       || fstat(fileno(stdout), &st) != 0
++       );
++  }
++}
++_ACEOF
++if ac_fn_c_try_run "$LINENO"
++then :
++  ac_cv_func_vfork_works=yes
++else $as_nop
++  ac_cv_func_vfork_works=no
++fi
++rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
++  conftest.$ac_objext conftest.beam conftest.$ac_ext
++fi
++
++fi
++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_vfork_works" >&5
++printf "%s\n" "$ac_cv_func_vfork_works" >&6; }
++
++fi;
++if test "x$ac_cv_func_fork_works" = xcross; then
++  ac_cv_func_vfork_works=$ac_cv_func_vfork
++  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: result $ac_cv_func_vfork_works guessed because of cross compilation" >&5
++printf "%s\n" "$as_me: WARNING: result $ac_cv_func_vfork_works guessed because of cross compilation" >&2;}
++fi
++
++if test "x$ac_cv_func_vfork_works" = xyes; then
++
++printf "%s\n" "#define HAVE_WORKING_VFORK 1" >>confdefs.h
++
++else
++
++printf "%s\n" "#define vfork fork" >>confdefs.h
++
++fi
++if test "x$ac_cv_func_fork_works" = xyes; then
++
++printf "%s\n" "#define HAVE_WORKING_FORK 1" >>confdefs.h
++
++fi
++
++
++
++# Check whether --with-time was given.
++if test ${with_time+y}
++then :
++  withval=$with_time;
++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for accurate time calc" >&5
++printf %s "checking for accurate time calc... " >&6; }
++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $withval" >&5
++printf "%s\n" "$withval" >&6; }
++if  test $withval != "no" ; then
++    OLD_CPPFLAGS=$CPPFLAGS
++    if  test $withval != "yes" ; then
++        CPPFLAGS="$CPPFLAGS -I$withval"
++    fi
++    ac_fn_c_check_header_compile "$LINENO" "time.h" "ac_cv_header_time_h" "$ac_includes_default"
++if test "x$ac_cv_header_time_h" = xyes
++then :
++
++        ac_fn_c_check_header_compile "$LINENO" "sys/time.h" "ac_cv_header_sys_time_h" "$ac_includes_default"
++if test "x$ac_cv_header_sys_time_h" = xyes
++then :
++
++
++  for ac_func in gettimeofday
++do :
++  ac_fn_c_check_func "$LINENO" "gettimeofday" "ac_cv_func_gettimeofday"
++if test "x$ac_cv_func_gettimeofday" = xyes
++then :
++  printf "%s\n" "#define HAVE_GETTIMEOFDAY 1" >>confdefs.h
++
++else $as_nop
++   CPPFLAGS=$OLD_CPPFLAGS
++fi
++
++done
++
++else $as_nop
++   CPPFLAGS=$OLD_CPPFLAGS
++fi
++
++
++else $as_nop
++   CPPFLAGS=$OLD_CPPFLAGS
++fi
++
++fi
++
++else $as_nop
++
++    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for accurate time calc" >&5
++printf %s "checking for accurate time calc... " >&6; }
++    echo "yes"
++    ac_fn_c_check_header_compile "$LINENO" "time.h" "ac_cv_header_time_h" "$ac_includes_default"
++if test "x$ac_cv_header_time_h" = xyes
++then :
++
++        ac_fn_c_check_header_compile "$LINENO" "sys/time.h" "ac_cv_header_sys_time_h" "$ac_includes_default"
++if test "x$ac_cv_header_sys_time_h" = xyes
++then :
++
++            ac_fn_c_check_func "$LINENO" "gettimeofday" "ac_cv_func_gettimeofday"
++if test "x$ac_cv_func_gettimeofday" = xyes
++then :
++  printf "%s\n" "#define HAVE_GETTIMEOFDAY 1" >>confdefs.h
++
++fi
++
++
++fi
++
++
++fi
++
++
++fi
++
++
++
++# Check whether --with-getopt_long was given.
++if test ${with_getopt_long+y}
++then :
++  withval=$with_getopt_long;
++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for getopt_long" >&5
++printf %s "checking for getopt_long... " >&6; }
++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $withval" >&5
++printf "%s\n" "$withval" >&6; }
++if  test $withval != "no" ; then
++    OLD_CPPFLAGS=$CPPFLAGS
++    if  test $withval != "yes" ; then
++        CPPFLAGS="$CPPFLAGS -I$withval"
++    fi
++           for ac_header in getopt.h
++do :
++  ac_fn_c_check_header_compile "$LINENO" "getopt.h" "ac_cv_header_getopt_h" "$ac_includes_default"
++if test "x$ac_cv_header_getopt_h" = xyes
++then :
++  printf "%s\n" "#define HAVE_GETOPT_H 1" >>confdefs.h
++
++
++  for ac_func in getopt_long
++do :
++  ac_fn_c_check_func "$LINENO" "getopt_long" "ac_cv_func_getopt_long"
++if test "x$ac_cv_func_getopt_long" = xyes
++then :
++  printf "%s\n" "#define HAVE_GETOPT_LONG 1" >>confdefs.h
++
++else $as_nop
++   CPPFLAGS=$OLD_CPPFLAGS
++fi
++
++done
++
++else $as_nop
++   CPPFLAGS=$OLD_CPPFLAGS
++fi
++
++done
++fi
++
++else $as_nop
++
++       for ac_header in getopt.h
++do :
++  ac_fn_c_check_header_compile "$LINENO" "getopt.h" "ac_cv_header_getopt_h" "$ac_includes_default"
++if test "x$ac_cv_header_getopt_h" = xyes
++then :
++  printf "%s\n" "#define HAVE_GETOPT_H 1" >>confdefs.h
++
++    ac_fn_c_check_func "$LINENO" "getopt_long" "ac_cv_func_getopt_long"
++if test "x$ac_cv_func_getopt_long" = xyes
++then :
++  printf "%s\n" "#define HAVE_GETOPT_LONG 1" >>confdefs.h
++
++fi
++
++
++fi
++
++done
++
++fi
++
++
++
++#####################################################
++# check for inputs
++#####################################################
++
++INPUT_FOUND=0
++DISK_INPUT_FOUND=0
++INPUT_SYSTEM=""
++SYSCTL_ADDED=0
++
++#check for getifaddrs
++net_if_h_includes="
++            #include <stdio.h>
++            #if STDC_HEADERS
++            # include <stdlib.h>
++            # include <stddef.h>
++            #else
++            # if HAVE_STDLIB_H
++            #  include <stdlib.h>
++            # endif
++            #endif
++            #if HAVE_SYS_SOCKET_H
++            # include <sys/socket.h>
++            #endif
++            "
++
++
++# Check whether --with-getifaddrs was given.
++if test ${with_getifaddrs+y}
++then :
++  withval=$with_getifaddrs;
++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for getifaddrs input" >&5
++printf %s "checking for getifaddrs input... " >&6; }
++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $withval" >&5
++printf "%s\n" "$withval" >&6; }
++if  test $withval != "no" ; then
++    OLD_CPPFLAGS=$CPPFLAGS
++    if  test $withval != "yes" ; then
++        CPPFLAGS="$CPPFLAGS -I$withval"
++    fi
++    ac_fn_c_check_header_compile "$LINENO" "ifaddrs.h" "ac_cv_header_ifaddrs_h" "$ac_includes_default"
++if test "x$ac_cv_header_ifaddrs_h" = xyes
++then :
++
++
++  for ac_func in getifaddrs
++do :
++  ac_fn_c_check_func "$LINENO" "getifaddrs" "ac_cv_func_getifaddrs"
++if test "x$ac_cv_func_getifaddrs" = xyes
++then :
++  printf "%s\n" "#define HAVE_GETIFADDRS 1" >>confdefs.h
++
++            ac_fn_c_check_header_compile "$LINENO" "sys/socket.h" "ac_cv_header_sys_socket_h" "$ac_includes_default"
++if test "x$ac_cv_header_sys_socket_h" = xyes
++then :
++  printf "%s\n" "#define HAVE_SYS_SOCKET_H 1" >>confdefs.h
++
++fi
++
++                   for ac_header in net/if.h
++do :
++  ac_fn_c_check_header_compile "$LINENO" "net/if.h" "ac_cv_header_net_if_h" "$net_if_h_includes
++"
++if test "x$ac_cv_header_net_if_h" = xyes
++then :
++  printf "%s\n" "#define HAVE_NET_IF_H 1" >>confdefs.h
++
++                ac_fn_c_check_member "$LINENO" "struct if_data" "ifi_ibytes" "ac_cv_member_struct_if_data_ifi_ibytes" "
++                    $net_if_h_includes
++                    #include <net/if.h>
++
++"
++if test "x$ac_cv_member_struct_if_data_ifi_ibytes" = xyes
++then :
++
++printf "%s\n" "#define HAVE_STRUCT_IF_DATA_IFI_IBYTES 1" >>confdefs.h
++
++
++
++printf "%s\n" "#define HAVE_WORKING_GETIFADDRS 1" >>confdefs.h
++
++                                                INPUT_FOUND=1
++                                                INPUT_SYSTEM="$INPUT_SYSTEM getifaddrs.$OBJEXT"
++
++else $as_nop
++   CPPFLAGS=$OLD_CPPFLAGS
++fi
++
++
++else $as_nop
++   CPPFLAGS=$OLD_CPPFLAGS
++fi
++
++done
++
++else $as_nop
++  CPPFLAGS=$OLD_CPPFLAGS
++fi
++
++done
++
++else $as_nop
++   CPPFLAGS=$OLD_CPPFLAGS
++fi
++
++fi
++
++else $as_nop
++
++ac_fn_c_check_header_compile "$LINENO" "ifaddrs.h" "ac_cv_header_ifaddrs_h" "$ac_includes_default"
++if test "x$ac_cv_header_ifaddrs_h" = xyes
++then :
++
++
++  for ac_func in getifaddrs
++do :
++  ac_fn_c_check_func "$LINENO" "getifaddrs" "ac_cv_func_getifaddrs"
++if test "x$ac_cv_func_getifaddrs" = xyes
++then :
++  printf "%s\n" "#define HAVE_GETIFADDRS 1" >>confdefs.h
++
++              ac_fn_c_check_header_compile "$LINENO" "sys/socket.h" "ac_cv_header_sys_socket_h" "$ac_includes_default"
++if test "x$ac_cv_header_sys_socket_h" = xyes
++then :
++  printf "%s\n" "#define HAVE_SYS_SOCKET_H 1" >>confdefs.h
++
++fi
++
++                     for ac_header in net/if.h
++do :
++  ac_fn_c_check_header_compile "$LINENO" "net/if.h" "ac_cv_header_net_if_h" "$net_if_h_includes
++"
++if test "x$ac_cv_header_net_if_h" = xyes
++then :
++  printf "%s\n" "#define HAVE_NET_IF_H 1" >>confdefs.h
++
++              ac_fn_c_check_member "$LINENO" "struct if_data" "ifi_ibytes" "ac_cv_member_struct_if_data_ifi_ibytes" "
++                              $net_if_h_includes
++                              #include <net/if.h>
++
++"
++if test "x$ac_cv_member_struct_if_data_ifi_ibytes" = xyes
++then :
++
++printf "%s\n" "#define HAVE_STRUCT_IF_DATA_IFI_IBYTES 1" >>confdefs.h
++
++
++
++  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether getifaddrs returns correct values" >&5
++printf %s "checking whether getifaddrs returns correct values... " >&6; }
++  if test "$cross_compiling" = yes
++then :
++
++    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: cross-compiling" >&5
++printf "%s\n" "cross-compiling" >&6; }
++
++printf "%s\n" "#define HAVE_WORKING_GETIFADDRS 1" >>confdefs.h
++
++       INPUT_FOUND=1
++       INPUT_SYSTEM="$INPUT_SYSTEM getifaddrs.$OBJEXT"
++
++else $as_nop
++  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++
++    #include <stdio.h>
++    #if STDC_HEADERS
++    # include <stdlib.h>
++    # include <stddef.h>
++    #else
++    # if HAVE_STDLIB_H
++    #  include <stdlib.h>
++    # endif
++    #endif
++    #if HAVE_SYS_SOCKET_H
++    # include <sys/socket.h>
++    #endif
++    #include <sys/types.h>
++    #include <net/if.h>
++    #include <ifaddrs.h>
++
++    int main() {
++        struct ifaddrs *net;
++        if (getifaddrs(&net) != 0) return 1;
++        if (net!=NULL)
++            if (net->ifa_data==NULL) {
++                freeifaddrs(net);
++                return 1;
++            }
++        freeifaddrs(net);
++        return 0;
++    }
++
++_ACEOF
++if ac_fn_c_try_run "$LINENO"
++then :
++
++    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
++printf "%s\n" "yes" >&6; }
++
++printf "%s\n" "#define HAVE_WORKING_GETIFADDRS 1" >>confdefs.h
++
++       INPUT_FOUND=1
++       INPUT_SYSTEM="$INPUT_SYSTEM getifaddrs.$OBJEXT"
++
++else $as_nop
++
++    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
++printf "%s\n" "no" >&6; }
++
++fi
++rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
++  conftest.$ac_objext conftest.beam conftest.$ac_ext
++fi
++
++
++
++fi
++
++
++fi
++
++done
++
++fi
++
++done
++
++fi
++
++
++fi
++
++
++
++# Check whether --with-sysctl was given.
++if test ${with_sysctl+y}
++then :
++  withval=$with_sysctl;
++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for sysctl input" >&5
++printf %s "checking for sysctl input... " >&6; }
++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $withval" >&5
++printf "%s\n" "$withval" >&6; }
++if  test $withval != "no" ; then
++    OLD_CPPFLAGS=$CPPFLAGS
++    if  test $withval != "yes" ; then
++        CPPFLAGS="$CPPFLAGS -I$withval"
++    fi
++
++  for ac_func in sysctl
++do :
++  ac_fn_c_check_func "$LINENO" "sysctl" "ac_cv_func_sysctl"
++if test "x$ac_cv_func_sysctl" = xyes
++then :
++  printf "%s\n" "#define HAVE_SYSCTL 1" >>confdefs.h
++
++        ac_fn_c_check_header_compile "$LINENO" "sys/socket.h" "ac_cv_header_sys_socket_h" "$ac_includes_default"
++if test "x$ac_cv_header_sys_socket_h" = xyes
++then :
++  printf "%s\n" "#define HAVE_SYS_SOCKET_H 1" >>confdefs.h
++
++fi
++
++               for ac_header in net/if.h
++do :
++  ac_fn_c_check_header_compile "$LINENO" "net/if.h" "ac_cv_header_net_if_h" "$net_if_h_includes
++"
++if test "x$ac_cv_header_net_if_h" = xyes
++then :
++  printf "%s\n" "#define HAVE_NET_IF_H 1" >>confdefs.h
++
++            ac_fn_c_check_member "$LINENO" "struct if_msghdr" "ifm_data" "ac_cv_member_struct_if_msghdr_ifm_data" "
++                $net_if_h_includes
++                #include <net/if.h>
++
++"
++if test "x$ac_cv_member_struct_if_msghdr_ifm_data" = xyes
++then :
++
++printf "%s\n" "#define HAVE_STRUCT_IF_MSGHDR_IFM_DATA 1" >>confdefs.h
++
++
++                                      INPUT_FOUND=1
++                                      INPUT_SYSTEM="$INPUT_SYSTEM sysctl.$OBJEXT"
++                                      SYSCTL_ADDED=1
++
++printf "%s\n" "#define HAVE_STRUCT_IF_MSGHDR_IFM_DATA 1" >>confdefs.h
++
++
++else $as_nop
++   CPPFLAGS=$OLD_CPPFLAGS
++fi
++
++
++else $as_nop
++   CPPFLAGS=$OLD_CPPFLAGS
++fi
++
++done
++
++else $as_nop
++   CPPFLAGS=$OLD_CPPFLAGS
++fi
++
++done
++fi
++
++else $as_nop
++
++
++  for ac_func in sysctl
++do :
++  ac_fn_c_check_func "$LINENO" "sysctl" "ac_cv_func_sysctl"
++if test "x$ac_cv_func_sysctl" = xyes
++then :
++  printf "%s\n" "#define HAVE_SYSCTL 1" >>confdefs.h
++
++    ac_fn_c_check_header_compile "$LINENO" "sys/socket.h" "ac_cv_header_sys_socket_h" "$ac_includes_default"
++if test "x$ac_cv_header_sys_socket_h" = xyes
++then :
++  printf "%s\n" "#define HAVE_SYS_SOCKET_H 1" >>confdefs.h
++
++fi
++
++           for ac_header in net/if.h
++do :
++  ac_fn_c_check_header_compile "$LINENO" "net/if.h" "ac_cv_header_net_if_h" "$net_if_h_includes
++"
++if test "x$ac_cv_header_net_if_h" = xyes
++then :
++  printf "%s\n" "#define HAVE_NET_IF_H 1" >>confdefs.h
++
++      ac_fn_c_check_member "$LINENO" "struct if_msghdr" "ifm_data" "ac_cv_member_struct_if_msghdr_ifm_data" "
++              $net_if_h_includes
++              #include <net/if.h>
++
++"
++if test "x$ac_cv_member_struct_if_msghdr_ifm_data" = xyes
++then :
++
++printf "%s\n" "#define HAVE_STRUCT_IF_MSGHDR_IFM_DATA 1" >>confdefs.h
++
++
++                                      INPUT_FOUND=1
++                                      INPUT_SYSTEM="$INPUT_SYSTEM sysctl.$OBJEXT"
++                                      SYSCTL_ADDED=1
++
++printf "%s\n" "#define HAVE_STRUCT_IF_MSGHDR_IFM_DATA 1" >>confdefs.h
++
++
++fi
++
++
++fi
++
++done
++
++fi
++
++done
++
++fi
++
++
++
++
++# Check whether --with-sysctldisk was given.
++if test ${with_sysctldisk+y}
++then :
++  withval=$with_sysctldisk;
++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for sysctl disk input" >&5
++printf %s "checking for sysctl disk input... " >&6; }
++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $withval" >&5
++printf "%s\n" "$withval" >&6; }
++if  test $withval != "no" ; then
++    OLD_CPPFLAGS=$CPPFLAGS
++    if  test $withval != "yes" ; then
++        CPPFLAGS="$CPPFLAGS -I$withval"
++    fi
++
++  for ac_func in sysctl
++do :
++  ac_fn_c_check_func "$LINENO" "sysctl" "ac_cv_func_sysctl"
++if test "x$ac_cv_func_sysctl" = xyes
++then :
++  printf "%s\n" "#define HAVE_SYSCTL 1" >>confdefs.h
++
++                      for ac_header in sys/disk.h
++do :
++  ac_fn_c_check_header_compile "$LINENO" "sys/disk.h" "ac_cv_header_sys_disk_h" "$ac_includes_default"
++if test "x$ac_cv_header_sys_disk_h" = xyes
++then :
++  printf "%s\n" "#define HAVE_SYS_DISK_H 1" >>confdefs.h
++
++              SYSCTL_DISK=0
++              ac_fn_c_check_type "$LINENO" "struct diskstats" "ac_cv_type_struct_diskstats" "#include <sys/disk.h>
++"
++if test "x$ac_cv_type_struct_diskstats" = xyes
++then :
++
++printf "%s\n" "#define HAVE_STRUCT_DISKSTATS 1" >>confdefs.h
++
++
++                                                      DISK_INPUT_FOUND=1
++                                                      if  test $SYSCTL_ADDED -eq 0 ; then
++                                                              INPUT_SYSTEM="$INPUT_SYSTEM sysctl.$OBJEXT"
++                                                      fi
++
++printf "%s\n" "#define HAVE_STRUCT_DISKSTATS 1" >>confdefs.h
++
++                                                      ac_fn_c_check_member "$LINENO" "struct diskstats" "ds_rbytes" "ac_cv_member_struct_diskstats_ds_rbytes" "#include <sys/disk.h>
++"
++if test "x$ac_cv_member_struct_diskstats_ds_rbytes" = xyes
++then :
++
++printf "%s\n" "#define HAVE_STRUCT_DISKSTATS_DS_RBYTES 1" >>confdefs.h
++
++
++fi
++
++                                                      ac_fn_c_check_member "$LINENO" "struct diskstats" "ds_name" "ac_cv_member_struct_diskstats_ds_name" "#include <sys/disk.h>
++"
++if test "x$ac_cv_member_struct_diskstats_ds_name" = xyes
++then :
++
++printf "%s\n" "#define HAVE_STRUCT_DISKSTATS_DS_NAME 1" >>confdefs.h
++
++
++fi
++
++
++else $as_nop
++
++                                                              ac_fn_c_check_type "$LINENO" "struct disk_sysctl" "ac_cv_type_struct_disk_sysctl" "#include <sys/disk.h>
++"
++if test "x$ac_cv_type_struct_disk_sysctl" = xyes
++then :
++
++printf "%s\n" "#define HAVE_STRUCT_DISK_SYSCTL 1" >>confdefs.h
++
++
++                                                                       DISK_INPUT_FOUND=1
++                                                                       if  test $SYSCTL_ADDED -eq 0 ; then
++                                                                               INPUT_SYSTEM="$INPUT_SYSTEM sysctl.$OBJEXT"
++                                                                       fi
++
++printf "%s\n" "#define HAVE_STRUCT_DISK_SYSCTL 1" >>confdefs.h
++
++                                                                       ac_fn_c_check_member "$LINENO" "struct disk_sysctl" "dk_rbytes" "ac_cv_member_struct_disk_sysctl_dk_rbytes" "#include <sys/disk.h>
++"
++if test "x$ac_cv_member_struct_disk_sysctl_dk_rbytes" = xyes
++then :
++
++printf "%s\n" "#define HAVE_STRUCT_DISK_SYSCTL_DK_RBYTES 1" >>confdefs.h
++
++
++fi
++
++
++else $as_nop
++   CPPFLAGS=$OLD_CPPFLAGS
++fi
++
++
++fi
++
++
++else $as_nop
++   CPPFLAGS=$OLD_CPPFLAGS
++fi
++
++done
++
++
++else $as_nop
++   CPPFLAGS=$OLD_CPPFLAGS
++fi
++
++done
++fi
++
++else $as_nop
++
++
++  for ac_func in sysctl
++do :
++  ac_fn_c_check_func "$LINENO" "sysctl" "ac_cv_func_sysctl"
++if test "x$ac_cv_func_sysctl" = xyes
++then :
++  printf "%s\n" "#define HAVE_SYSCTL 1" >>confdefs.h
++
++              for ac_header in sys/disk.h
++do :
++  ac_fn_c_check_header_compile "$LINENO" "sys/disk.h" "ac_cv_header_sys_disk_h" "$ac_includes_default"
++if test "x$ac_cv_header_sys_disk_h" = xyes
++then :
++  printf "%s\n" "#define HAVE_SYS_DISK_H 1" >>confdefs.h
++
++      ac_fn_c_check_type "$LINENO" "struct diskstats" "ac_cv_type_struct_diskstats" "#include <sys/disk.h>
++"
++if test "x$ac_cv_type_struct_diskstats" = xyes
++then :
++
++printf "%s\n" "#define HAVE_STRUCT_DISKSTATS 1" >>confdefs.h
++
++
++                                              DISK_INPUT_FOUND=1
++                                              if  test $SYSCTL_ADDED -eq 0 ; then
++                                                      INPUT_SYSTEM="$INPUT_SYSTEM sysctl.$OBJEXT"
++                                              fi
++
++printf "%s\n" "#define HAVE_STRUCT_DISKSTATS 1" >>confdefs.h
++
++                                              ac_fn_c_check_member "$LINENO" "struct diskstats" "ds_rbytes" "ac_cv_member_struct_diskstats_ds_rbytes" "#include <sys/disk.h>
++"
++if test "x$ac_cv_member_struct_diskstats_ds_rbytes" = xyes
++then :
++
++printf "%s\n" "#define HAVE_STRUCT_DISKSTATS_DS_RBYTES 1" >>confdefs.h
++
++
++fi
++
++                                              ac_fn_c_check_member "$LINENO" "struct diskstats" "ds_name" "ac_cv_member_struct_diskstats_ds_name" "#include <sys/disk.h>
++"
++if test "x$ac_cv_member_struct_diskstats_ds_name" = xyes
++then :
++
++printf "%s\n" "#define HAVE_STRUCT_DISKSTATS_DS_NAME 1" >>confdefs.h
++
++
++fi
++
++
++else $as_nop
++
++                                                      ac_fn_c_check_type "$LINENO" "struct disk_sysctl" "ac_cv_type_struct_disk_sysctl" "#include <sys/disk.h>
++"
++if test "x$ac_cv_type_struct_disk_sysctl" = xyes
++then :
++
++printf "%s\n" "#define HAVE_STRUCT_DISK_SYSCTL 1" >>confdefs.h
++
++
++                                                               DISK_INPUT_FOUND=1
++                                                               if  test $SYSCTL_ADDED -eq 0 ; then
++                                                                       INPUT_SYSTEM="$INPUT_SYSTEM sysctl.$OBJEXT"
++                                                               fi
++
++printf "%s\n" "#define HAVE_STRUCT_DISK_SYSCTL 1" >>confdefs.h
++
++                                                               ac_fn_c_check_member "$LINENO" "struct disk_sysctl" "dk_rbytes" "ac_cv_member_struct_disk_sysctl_dk_rbytes" "#include <sys/disk.h>
++"
++if test "x$ac_cv_member_struct_disk_sysctl_dk_rbytes" = xyes
++then :
++
++printf "%s\n" "#define HAVE_STRUCT_DISK_SYSCTL_DK_RBYTES 1" >>confdefs.h
++
++
++fi
++
++
++fi
++
++
++fi
++
++
++fi
++
++done
++
++fi
++
++done
++
++fi
++
++
++
++# Check whether --with-kstat was given.
++if test ${with_kstat+y}
++then :
++  withval=$with_kstat;
++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for kstat input" >&5
++printf %s "checking for kstat input... " >&6; }
++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $withval" >&5
++printf "%s\n" "$withval" >&6; }
++if  test $withval != "no" ; then
++    OLD_CPPFLAGS=$CPPFLAGS
++    if  test $withval != "yes" ; then
++        CPPFLAGS="$CPPFLAGS -I$withval"
++    fi
++    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for kstat_open in -lkstat" >&5
++printf %s "checking for kstat_open in -lkstat... " >&6; }
++if test ${ac_cv_lib_kstat_kstat_open+y}
++then :
++  printf %s "(cached) " >&6
++else $as_nop
++  ac_check_lib_save_LIBS=$LIBS
++LIBS="-lkstat  $LIBS"
++cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++
++/* Override any GCC internal prototype to avoid an error.
++   Use char because int might match the return type of a GCC
++   builtin and then its argument prototype would still apply.  */
++char kstat_open ();
++int
++main (void)
++{
++return kstat_open ();
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_c_try_link "$LINENO"
++then :
++  ac_cv_lib_kstat_kstat_open=yes
++else $as_nop
++  ac_cv_lib_kstat_kstat_open=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.beam \
++    conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_kstat_kstat_open" >&5
++printf "%s\n" "$ac_cv_lib_kstat_kstat_open" >&6; }
++if test "x$ac_cv_lib_kstat_kstat_open" = xyes
++then :
++
++
++printf "%s\n" "#define HAVE_LIBKSTAT 1" >>confdefs.h
++
++      LIBS="$LIBS -lkstat"
++              DISK_INPUT_FOUND=1
++              INPUT_SYSTEM="$INPUT_SYSTEM libkstat.$OBJEXT"
++              INPUT_FOUND=1
++
++else $as_nop
++   CPPFLAGS=$OLD_CPPFLAGS
++fi
++
++fi
++
++else $as_nop
++
++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for kstat_open in -lkstat" >&5
++printf %s "checking for kstat_open in -lkstat... " >&6; }
++if test ${ac_cv_lib_kstat_kstat_open+y}
++then :
++  printf %s "(cached) " >&6
++else $as_nop
++  ac_check_lib_save_LIBS=$LIBS
++LIBS="-lkstat  $LIBS"
++cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++
++/* Override any GCC internal prototype to avoid an error.
++   Use char because int might match the return type of a GCC
++   builtin and then its argument prototype would still apply.  */
++char kstat_open ();
++int
++main (void)
++{
++return kstat_open ();
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_c_try_link "$LINENO"
++then :
++  ac_cv_lib_kstat_kstat_open=yes
++else $as_nop
++  ac_cv_lib_kstat_kstat_open=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.beam \
++    conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_kstat_kstat_open" >&5
++printf "%s\n" "$ac_cv_lib_kstat_kstat_open" >&6; }
++if test "x$ac_cv_lib_kstat_kstat_open" = xyes
++then :
++
++
++printf "%s\n" "#define HAVE_LIBKSTAT 1" >>confdefs.h
++
++      LIBS="$LIBS -lkstat"
++      INPUT_SYSTEM="$INPUT_SYSTEM libkstat.$OBJEXT"
++      INPUT_FOUND=1
++      DISK_INPUT_FOUND=1
++
++fi
++
++
++fi
++
++
++
++
++# Check whether --with-win32 was given.
++if test ${with_win32+y}
++then :
++  withval=$with_win32;
++echo "enable win32 support"
++
++printf "%s\n" "#define WIN32 1" >>confdefs.h
++
++LIBS="$LIBS -liphlpapi"
++INPUT_SYSTEM="$INPUT_SYSTEM win32.$OBJEXT"
++INPUT_FOUND=1
++
++fi
++
++
++
++
++# Check whether --with-procnetdev was given.
++if test ${with_procnetdev+y}
++then :
++  withval=$with_procnetdev;
++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for /proc/net/dev input" >&5
++printf %s "checking for /proc/net/dev input... " >&6; }
++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $withval" >&5
++printf "%s\n" "$withval" >&6; }
++if  test $withval = "yes" ; then
++
++printf "%s\n" "#define HAVE__PROC_NET_DEV 1" >>confdefs.h
++
++       INPUT_SYSTEM="$INPUT_SYSTEM proc_net_dev.$OBJEXT"
++       INPUT_FOUND=1
++else
++    if  test $withval != "no" ; then
++        as_ac_File=`printf "%s\n" "ac_cv_file_$withval" | $as_tr_sh`
++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $withval" >&5
++printf %s "checking for $withval... " >&6; }
++if eval test \${$as_ac_File+y}
++then :
++  printf %s "(cached) " >&6
++else $as_nop
++  test "$cross_compiling" = yes &&
++  as_fn_error $? "cannot check for file existence when cross compiling" "$LINENO" 5
++if test -r "$withval"; then
++  eval "$as_ac_File=yes"
++else
++  eval "$as_ac_File=no"
++fi
++fi
++eval ac_res=\$$as_ac_File
++             { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
++printf "%s\n" "$ac_res" >&6; }
++if eval test \"x\$"$as_ac_File"\" = x"yes"
++then :
++
++cat >>confdefs.h <<_ACEOF
++#define `printf "%s\n" "HAVE_$withval" | $as_tr_cpp` 1
++_ACEOF
++
++
++printf "%s\n" "#define PROC_NET_DEV_PATH \"$withval\"" >>confdefs.h
++
++
++printf "%s\n" "#define HAVE__PROC_NET_DEV 1" >>confdefs.h
++
++                      INPUT_SYSTEM="$INPUT_SYSTEM proc_net_dev.$OBJEXT"
++                      INPUT_FOUND=1
++
++fi
++
++    fi
++fi
++
++else $as_nop
++
++if test "$cross_compiling" != yes; then
++      { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for /proc/net/dev" >&5
++printf %s "checking for /proc/net/dev... " >&6; }
++if test ${ac_cv_file__proc_net_dev+y}
++then :
++  printf %s "(cached) " >&6
++else $as_nop
++  test "$cross_compiling" = yes &&
++  as_fn_error $? "cannot check for file existence when cross compiling" "$LINENO" 5
++if test -r "/proc/net/dev"; then
++  ac_cv_file__proc_net_dev=yes
++else
++  ac_cv_file__proc_net_dev=no
++fi
++fi
++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_file__proc_net_dev" >&5
++printf "%s\n" "$ac_cv_file__proc_net_dev" >&6; }
++if test "x$ac_cv_file__proc_net_dev" = xyes
++then :
++
++printf "%s\n" "#define HAVE__PROC_NET_DEV 1" >>confdefs.h
++
++              INPUT_FOUND=1
++              INPUT_SYSTEM="$INPUT_SYSTEM proc_net_dev.$OBJEXT"
++
++fi
++
++fi
++
++fi
++
++
++
++# Check whether --with-diskstats was given.
++if test ${with_diskstats+y}
++then :
++  withval=$with_diskstats;
++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for /proc/diskstats input" >&5
++printf %s "checking for /proc/diskstats input... " >&6; }
++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $withval" >&5
++printf "%s\n" "$withval" >&6; }
++if  test $withval = "yes" ; then
++
++printf "%s\n" "#define HAVE__PROC_DISKSTATS 1" >>confdefs.h
++
++    DISK_INPUT_FOUND=1
++       INPUT_SYSTEM="$INPUT_SYSTEM proc_diskstats.$OBJEXT"
++else
++    if  test $withval != "no" ; then
++
++printf "%s\n" "#define PROC_DISKSTATS_PATH \"$withval\"" >>confdefs.h
++
++
++printf "%s\n" "#define HAVE__PROC_DISKSTATS 1" >>confdefs.h
++
++         DISK_INPUT_FOUND=1
++                      INPUT_SYSTEM="$INPUT_SYSTEM proc_diskstats.$OBJEXT"
++    fi
++fi
++
++fi
++ # check for diskstats on ac_arg_with partitions down below
++
++
++# Check whether --with-partitions was given.
++if test ${with_partitions+y}
++then :
++  withval=$with_partitions;
++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for /proc/diskstats|/proc/partitions input" >&5
++printf %s "checking for /proc/diskstats|/proc/partitions input... " >&6; }
++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $withval" >&5
++printf "%s\n" "$withval" >&6; }
++if  test $withval = "yes" ; then
++
++printf "%s\n" "#define HAVE__PROC_DISKSTATS 1" >>confdefs.h
++
++    DISK_INPUT_FOUND=1
++       INPUT_SYSTEM="$INPUT_SYSTEM proc_diskstats.$OBJEXT"
++else
++    if  test $withval != "no" ; then
++
++printf "%s\n" "#define PROC_PARTITIONS_PATH \"$withval\"" >>confdefs.h
++
++
++printf "%s\n" "#define HAVE__PROC_DISKSTATS 1" >>confdefs.h
++
++      DISK_INPUT_FOUND=1
++              INPUT_SYSTEM="$INPUT_SYSTEM proc_diskstats.$OBJEXT"
++    fi
++fi
++
++else $as_nop
++
++if test "$cross_compiling" != yes; then
++      { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for /proc/diskstats" >&5
++printf %s "checking for /proc/diskstats... " >&6; }
++if test ${ac_cv_file__proc_diskstats+y}
++then :
++  printf %s "(cached) " >&6
++else $as_nop
++  test "$cross_compiling" = yes &&
++  as_fn_error $? "cannot check for file existence when cross compiling" "$LINENO" 5
++if test -r "/proc/diskstats"; then
++  ac_cv_file__proc_diskstats=yes
++else
++  ac_cv_file__proc_diskstats=no
++fi
++fi
++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_file__proc_diskstats" >&5
++printf "%s\n" "$ac_cv_file__proc_diskstats" >&6; }
++if test "x$ac_cv_file__proc_diskstats" = xyes
++then :
++
++printf "%s\n" "#define HAVE__PROC_DISKSTATS 1" >>confdefs.h
++
++                                               DISK_INPUT_FOUND=1
++                                               INPUT_SYSTEM="$INPUT_SYSTEM proc_diskstats.$OBJEXT"
++
++else $as_nop
++
++         { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for /proc/partitions" >&5
++printf %s "checking for /proc/partitions... " >&6; }
++if test ${ac_cv_file__proc_partitions+y}
++then :
++  printf %s "(cached) " >&6
++else $as_nop
++  test "$cross_compiling" = yes &&
++  as_fn_error $? "cannot check for file existence when cross compiling" "$LINENO" 5
++if test -r "/proc/partitions"; then
++  ac_cv_file__proc_partitions=yes
++else
++  ac_cv_file__proc_partitions=no
++fi
++fi
++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_file__proc_partitions" >&5
++printf "%s\n" "$ac_cv_file__proc_partitions" >&6; }
++if test "x$ac_cv_file__proc_partitions" = xyes
++then :
++
++printf "%s\n" "#define HAVE__PROC_PARTITIONS 1" >>confdefs.h
++
++
++printf "%s\n" "#define HAVE__PROC_DISKSTATS 1" >>confdefs.h
++
++                      DISK_INPUT_FOUND=1
++                      INPUT_SYSTEM="$INPUT_SYSTEM proc_diskstats.$OBJEXT"
++
++fi
++
++
++fi
++
++fi
++
++fi
++
++
++
++# Check whether --with-devstat was given.
++if test ${with_devstat+y}
++then :
++  withval=$with_devstat;
++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for devstat input" >&5
++printf %s "checking for devstat input... " >&6; }
++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $withval" >&5
++printf "%s\n" "$withval" >&6; }
++if  test $withval != "no" ; then
++      OLD_CPPFLAGS=$CPPFLAGS
++   if  test $withval != "yes" ; then
++        CPPFLAGS="$CPPFLAGS -I$withval"
++   fi
++             for ac_header in sys/dkstat.h
++do :
++  ac_fn_c_check_header_compile "$LINENO" "sys/dkstat.h" "ac_cv_header_sys_dkstat_h" "$ac_includes_default"
++if test "x$ac_cv_header_sys_dkstat_h" = xyes
++then :
++  printf "%s\n" "#define HAVE_SYS_DKSTAT_H 1" >>confdefs.h
++
++                     for ac_header in devstat.h
++do :
++  ac_fn_c_check_header_compile "$LINENO" "devstat.h" "ac_cv_header_devstat_h" "#include <sys/dkstat.h>
++"
++if test "x$ac_cv_header_devstat_h" = xyes
++then :
++  printf "%s\n" "#define HAVE_DEVSTAT_H 1" >>confdefs.h
++
++                      { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for devstat_getdevs in -ldevstat" >&5
++printf %s "checking for devstat_getdevs in -ldevstat... " >&6; }
++if test ${ac_cv_lib_devstat_devstat_getdevs+y}
++then :
++  printf %s "(cached) " >&6
++else $as_nop
++  ac_check_lib_save_LIBS=$LIBS
++LIBS="-ldevstat  $LIBS"
++cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++
++/* Override any GCC internal prototype to avoid an error.
++   Use char because int might match the return type of a GCC
++   builtin and then its argument prototype would still apply.  */
++char devstat_getdevs ();
++int
++main (void)
++{
++return devstat_getdevs ();
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_c_try_link "$LINENO"
++then :
++  ac_cv_lib_devstat_devstat_getdevs=yes
++else $as_nop
++  ac_cv_lib_devstat_devstat_getdevs=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.beam \
++    conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_devstat_devstat_getdevs" >&5
++printf "%s\n" "$ac_cv_lib_devstat_devstat_getdevs" >&6; }
++if test "x$ac_cv_lib_devstat_devstat_getdevs" = xyes
++then :
++
++                                      DISK_INPUT_FOUND=1
++
++printf "%s\n" "#define HAVE_DEVSTAT_GETDEVS 1" >>confdefs.h
++
++                                      LIBS="$LIBS -ldevstat"
++                                      INPUT_SYSTEM="$INPUT_SYSTEM devstat.$OBJEXT"
++
++else $as_nop
++
++                                      { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for getdevs in -ldevstat" >&5
++printf %s "checking for getdevs in -ldevstat... " >&6; }
++if test ${ac_cv_lib_devstat_getdevs+y}
++then :
++  printf %s "(cached) " >&6
++else $as_nop
++  ac_check_lib_save_LIBS=$LIBS
++LIBS="-ldevstat  $LIBS"
++cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++
++/* Override any GCC internal prototype to avoid an error.
++   Use char because int might match the return type of a GCC
++   builtin and then its argument prototype would still apply.  */
++char getdevs ();
++int
++main (void)
++{
++return getdevs ();
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_c_try_link "$LINENO"
++then :
++  ac_cv_lib_devstat_getdevs=yes
++else $as_nop
++  ac_cv_lib_devstat_getdevs=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.beam \
++    conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_devstat_getdevs" >&5
++printf "%s\n" "$ac_cv_lib_devstat_getdevs" >&6; }
++if test "x$ac_cv_lib_devstat_getdevs" = xyes
++then :
++
++                                                      DISK_INPUT_FOUND=1
++
++printf "%s\n" "#define HAVE_GETDEVS 1" >>confdefs.h
++
++                                                      LIBS="$LIBS -ldevstat"
++                                                      INPUT_SYSTEM="$INPUT_SYSTEM devstat.$OBJEXT"
++
++fi
++
++
++fi
++
++
++fi
++
++done
++
++fi
++
++done
++fi
++
++else $as_nop
++
++       for ac_header in sys/dkstat.h
++do :
++  ac_fn_c_check_header_compile "$LINENO" "sys/dkstat.h" "ac_cv_header_sys_dkstat_h" "$ac_includes_default"
++if test "x$ac_cv_header_sys_dkstat_h" = xyes
++then :
++  printf "%s\n" "#define HAVE_SYS_DKSTAT_H 1" >>confdefs.h
++
++             for ac_header in devstat.h
++do :
++  ac_fn_c_check_header_compile "$LINENO" "devstat.h" "ac_cv_header_devstat_h" "#include <sys/dkstat.h>
++"
++if test "x$ac_cv_header_devstat_h" = xyes
++then :
++  printf "%s\n" "#define HAVE_DEVSTAT_H 1" >>confdefs.h
++
++              { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for devstat_getdevs in -ldevstat" >&5
++printf %s "checking for devstat_getdevs in -ldevstat... " >&6; }
++if test ${ac_cv_lib_devstat_devstat_getdevs+y}
++then :
++  printf %s "(cached) " >&6
++else $as_nop
++  ac_check_lib_save_LIBS=$LIBS
++LIBS="-ldevstat  $LIBS"
++cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++
++/* Override any GCC internal prototype to avoid an error.
++   Use char because int might match the return type of a GCC
++   builtin and then its argument prototype would still apply.  */
++char devstat_getdevs ();
++int
++main (void)
++{
++return devstat_getdevs ();
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_c_try_link "$LINENO"
++then :
++  ac_cv_lib_devstat_devstat_getdevs=yes
++else $as_nop
++  ac_cv_lib_devstat_devstat_getdevs=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.beam \
++    conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_devstat_devstat_getdevs" >&5
++printf "%s\n" "$ac_cv_lib_devstat_devstat_getdevs" >&6; }
++if test "x$ac_cv_lib_devstat_devstat_getdevs" = xyes
++then :
++
++                              DISK_INPUT_FOUND=1
++
++printf "%s\n" "#define HAVE_DEVSTAT_GETDEVS 1" >>confdefs.h
++
++                              LIBS="$LIBS -ldevstat"
++                              INPUT_SYSTEM="$INPUT_SYSTEM devstat.$OBJEXT"
++
++else $as_nop
++
++                              { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for getdevs in -ldevstat" >&5
++printf %s "checking for getdevs in -ldevstat... " >&6; }
++if test ${ac_cv_lib_devstat_getdevs+y}
++then :
++  printf %s "(cached) " >&6
++else $as_nop
++  ac_check_lib_save_LIBS=$LIBS
++LIBS="-ldevstat  $LIBS"
++cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++
++/* Override any GCC internal prototype to avoid an error.
++   Use char because int might match the return type of a GCC
++   builtin and then its argument prototype would still apply.  */
++char getdevs ();
++int
++main (void)
++{
++return getdevs ();
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_c_try_link "$LINENO"
++then :
++  ac_cv_lib_devstat_getdevs=yes
++else $as_nop
++  ac_cv_lib_devstat_getdevs=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.beam \
++    conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_devstat_getdevs" >&5
++printf "%s\n" "$ac_cv_lib_devstat_getdevs" >&6; }
++if test "x$ac_cv_lib_devstat_getdevs" = xyes
++then :
++
++                                              DISK_INPUT_FOUND=1
++
++printf "%s\n" "#define HAVE_GETDEVS 1" >>confdefs.h
++
++                                              LIBS="$LIBS -ldevstat"
++                                              INPUT_SYSTEM="$INPUT_SYSTEM devstat.$OBJEXT"
++
++fi
++
++
++fi
++
++
++fi
++
++done
++
++fi
++
++done
++
++fi
++
++
++
++# Check whether --with-ioservice was given.
++if test ${with_ioservice+y}
++then :
++  withval=$with_ioservice;
++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ioservice input" >&5
++printf %s "checking for ioservice input... " >&6; }
++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $withval" >&5
++printf "%s\n" "$withval" >&6; }
++if  test $withval != "no" ; then
++      OLD_CPPFLAGS=$CPPFLAGS
++      if  test $withval != "yes" ; then
++              CPPFLAGS="$CPPFLAGS -I$withval"
++      fi
++      OLDLIBS=$LIBS
++      LIBS="$LIBS -framework IOKit -framework CoreFoundation"
++      HAVE_IOSERVICE=0
++
++  for ac_func in IOServiceGetMatchingServices
++do :
++  ac_fn_c_check_func "$LINENO" "IOServiceGetMatchingServices" "ac_cv_func_IOServiceGetMatchingServices"
++if test "x$ac_cv_func_IOServiceGetMatchingServices" = xyes
++then :
++  printf "%s\n" "#define HAVE_IOSERVICEGETMATCHINGSERVICES 1" >>confdefs.h
++
++
++  for ac_func in IOMasterPort
++do :
++  ac_fn_c_check_func "$LINENO" "IOMasterPort" "ac_cv_func_IOMasterPort"
++if test "x$ac_cv_func_IOMasterPort" = xyes
++then :
++  printf "%s\n" "#define HAVE_IOMASTERPORT 1" >>confdefs.h
++
++
++  for ac_func in IORegistryEntryCreateCFProperties
++do :
++  ac_fn_c_check_func "$LINENO" "IORegistryEntryCreateCFProperties" "ac_cv_func_IORegistryEntryCreateCFProperties"
++if test "x$ac_cv_func_IORegistryEntryCreateCFProperties" = xyes
++then :
++  printf "%s\n" "#define HAVE_IOREGISTRYENTRYCREATECFPROPERTIES 1" >>confdefs.h
++
++            DISK_INPUT_FOUND=1
++
++printf "%s\n" "#define HAVE_IOSERVICE 1" >>confdefs.h
++
++                              HAVE_IOSERVICE=1
++                              INPUT_SYSTEM="$INPUT_SYSTEM ioservice.$OBJEXT"
++
++fi
++
++done
++
++fi
++
++done
++
++fi
++
++done
++      if  test $HAVE_IOSERVICE -eq 0 ; then
++              LIBS=$OLDLIBS
++              CPPFLAGS=$OLD_CPPFLAGS
++      fi
++fi
++
++else $as_nop
++
++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether cc and linker accepts -framework IOKit -framework CoreFoundation" >&5
++printf %s "checking whether cc and linker accepts -framework IOKit -framework CoreFoundation... " >&6; }
++echo 'int main(){}' > conftest.c
++if test -z "`${CC-cc} -o conftest conftest.c -framework IOKit -framework CoreFoundation 2>&1`"; then
++      { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
++printf "%s\n" "yes" >&6; }
++      OLDLIBS=$LIBS
++      LIBS="$LIBS -framework IOKit -framework CoreFoundation"
++
++  for ac_func in IOServiceGetMatchingServices
++do :
++  ac_fn_c_check_func "$LINENO" "IOServiceGetMatchingServices" "ac_cv_func_IOServiceGetMatchingServices"
++if test "x$ac_cv_func_IOServiceGetMatchingServices" = xyes
++then :
++  printf "%s\n" "#define HAVE_IOSERVICEGETMATCHINGSERVICES 1" >>confdefs.h
++
++
++  for ac_func in IOMasterPort
++do :
++  ac_fn_c_check_func "$LINENO" "IOMasterPort" "ac_cv_func_IOMasterPort"
++if test "x$ac_cv_func_IOMasterPort" = xyes
++then :
++  printf "%s\n" "#define HAVE_IOMASTERPORT 1" >>confdefs.h
++
++
++  for ac_func in IORegistryEntryCreateCFProperties
++do :
++  ac_fn_c_check_func "$LINENO" "IORegistryEntryCreateCFProperties" "ac_cv_func_IORegistryEntryCreateCFProperties"
++if test "x$ac_cv_func_IORegistryEntryCreateCFProperties" = xyes
++then :
++  printf "%s\n" "#define HAVE_IOREGISTRYENTRYCREATECFPROPERTIES 1" >>confdefs.h
++
++                              DISK_INPUT_FOUND=1
++
++printf "%s\n" "#define HAVE_IOSERVICE 1" >>confdefs.h
++
++                              HAVE_IOSERVICE=1
++                              INPUT_SYSTEM="$INPUT_SYSTEM ioservice.$OBJEXT"
++
++fi
++
++done
++
++fi
++
++done
++
++fi
++
++done
++      if  test $HAVE_IOSERVICE -eq 0 ; then
++              LIBS=$OLDLIBS
++      fi
++else
++      { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
++printf "%s\n" "no" >&6; }
++fi
++rm -f conftest*
++
++fi
++
++
++
++# Check whether --with-libstatgrab was given.
++if test ${with_libstatgrab+y}
++then :
++  withval=$with_libstatgrab;
++fi
++
++
++CHECK_LIBSTAT=0
++if  test "x$with_libstatgrab" != "xno"  &&  test $INPUT_FOUND -ne 1 ; then
++      CHECK_LIBSTAT=1
++fi
++if  test "x$with_libstatgrab" != "xno"  &&  test $DISK_INPUT_FOUND -ne 1 ; then
++    CHECK_LIBSTAT=1
++fi
++
++if test "x$with_libstatgrab" = "xyes" ||  test $CHECK_LIBSTAT -eq 1 ; then
++    OLD_CPPFLAGS=$CPPFLAGS
++    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for sg_get_network_io_stats,sg_get_disk_io_stats in -lstatgrab" >&5
++printf %s "checking for sg_get_network_io_stats,sg_get_disk_io_stats in -lstatgrab... " >&6; }
++if test ${ac_cv_lib_statgrab_sg_get_network_io_stats_sg_get_disk_io_stats+y}
++then :
++  printf %s "(cached) " >&6
++else $as_nop
++  ac_check_lib_save_LIBS=$LIBS
++LIBS="-lstatgrab  $LIBS"
++cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++
++/* Override any GCC internal prototype to avoid an error.
++   Use char because int might match the return type of a GCC
++   builtin and then its argument prototype would still apply.  */
++char sg_get_network_io_stats,sg_get_disk_io_stats ();
++int
++main (void)
++{
++return sg_get_network_io_stats,sg_get_disk_io_stats ();
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_c_try_link "$LINENO"
++then :
++  ac_cv_lib_statgrab_sg_get_network_io_stats_sg_get_disk_io_stats=yes
++else $as_nop
++  ac_cv_lib_statgrab_sg_get_network_io_stats_sg_get_disk_io_stats=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.beam \
++    conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_statgrab_sg_get_network_io_stats_sg_get_disk_io_stats" >&5
++printf "%s\n" "$ac_cv_lib_statgrab_sg_get_network_io_stats_sg_get_disk_io_stats" >&6; }
++if test "x$ac_cv_lib_statgrab_sg_get_network_io_stats_sg_get_disk_io_stats" = xyes
++then :
++
++            INPUT_FOUND=1
++            DISK_INPUT_FOUND=1
++
++printf "%s\n" "#define HAVE_LIBSTATGRAB 1" >>confdefs.h
++
++            LIBS="$LIBS -lstatgrab"
++            INPUT_SYSTEM="$INPUT_SYSTEM libstatgrab.$OBJEXT"
++
++else $as_nop
++   CPPFLAGS=$OLD_CPPFLAGS
++fi
++
++fi
++
++if  test $INPUT_FOUND -ne 1  &&  test $DISK_INPUT_FOUND -ne 1 ; then
++      as_fn_error $? "\"NO INPUT FOUND\"" "$LINENO" 5;
++fi
++
++#################################################
++# inputs check done
++#################################################
++
++#check for getifaddrs
++linux_if_h_includes="
++            #if HAVE_SYS_SOCKET_H
++            # include <sys/socket.h>
++            #endif
++            "
++
++ac_fn_c_check_func "$LINENO" "ioctl" "ac_cv_func_ioctl"
++if test "x$ac_cv_func_ioctl" = xyes
++then :
++  printf "%s\n" "#define HAVE_IOCTL 1" >>confdefs.h
++
++fi
++
++ac_fn_c_check_header_compile "$LINENO" "sys/socket.h" "ac_cv_header_sys_socket_h" "$linux_if_h_includes
++"
++if test "x$ac_cv_header_sys_socket_h" = xyes
++then :
++  printf "%s\n" "#define HAVE_SYS_SOCKET_H 1" >>confdefs.h
++
++fi
++ac_fn_c_check_header_compile "$LINENO" "linux/if.h" "ac_cv_header_linux_if_h" "$linux_if_h_includes
++"
++if test "x$ac_cv_header_linux_if_h" = xyes
++then :
++  printf "%s\n" "#define HAVE_LINUX_IF_H 1" >>confdefs.h
++
++fi
++
++ac_fn_c_check_header_compile "$LINENO" "sys/tty.h" "ac_cv_header_sys_tty_h" "$ac_includes_default"
++if test "x$ac_cv_header_sys_tty_h" = xyes
++then :
++  printf "%s\n" "#define HAVE_SYS_TTY_H 1" >>confdefs.h
++
++fi
++
++ac_fn_c_check_header_compile "$LINENO" "linux/tty.h" "ac_cv_header_linux_tty_h" "$ac_includes_default"
++if test "x$ac_cv_header_linux_tty_h" = xyes
++then :
++  printf "%s\n" "#define HAVE_LINUX_TTY_H 1" >>confdefs.h
++
++fi
++
++ac_fn_c_check_header_compile "$LINENO" "stropts.h" "ac_cv_header_stropts_h" "$ac_includes_default"
++if test "x$ac_cv_header_stropts_h" = xyes
++then :
++  printf "%s\n" "#define HAVE_STROPTS_H 1" >>confdefs.h
++
++fi
++
++
++
++# Check whether --enable-html was given.
++if test ${enable_html+y}
++then :
++  enableval=$enable_html;
++echo "enable html output: $enableval"
++if  test $enableval = "yes" ; then
++
++printf "%s\n" "#define HTML 1" >>confdefs.h
++
++fi
++
++else $as_nop
++
++echo "enable html output: yes"
++
++printf "%s\n" "#define HTML 1" >>confdefs.h
++
++
++fi
++
++
++# Check whether --enable-csv was given.
++if test ${enable_csv+y}
++then :
++  enableval=$enable_csv;
++echo "enable csv output: $enableval"
++if  test $enableval = "yes" ; then
++
++printf "%s\n" "#define CSV 1" >>confdefs.h
++
++fi
++
++else $as_nop
++
++echo "enable csv output: yes"
++
++printf "%s\n" "#define CSV 1" >>confdefs.h
++
++
++fi
++
++
++# Check whether --enable-extendedstats was given.
++if test ${enable_extendedstats+y}
++then :
++  enableval=$enable_extendedstats;
++echo "enable extended stats: $enableval"
++if  test $enableval = "yes" ; then
++
++printf "%s\n" "#define EXTENDED_STATS 1" >>confdefs.h
++
++fi
++
++else $as_nop
++
++echo "enable extended stats: yes"
++
++printf "%s\n" "#define EXTENDED_STATS 1" >>confdefs.h
++
++
++fi
++
++
++# Check whether --enable-configfile was given.
++if test ${enable_configfile+y}
++then :
++  enableval=$enable_configfile;
++echo "enable config-file support: $enableval"
++if  test $enableval = "yes" ; then
++
++printf "%s\n" "#define CONFIG_FILE 1" >>confdefs.h
++
++fi
++
++else $as_nop
++
++echo "enable config-file support: yes"
++
++printf "%s\n" "#define CONFIG_FILE 1" >>confdefs.h
++
++
++fi
++
++
++# Check whether --enable-64bit was given.
++if test ${enable_64bit+y}
++then :
++  enableval=$enable_64bit;
++echo "enable 64bit support: $enableval"
++if  test $enableval = "yes" ; then
++
++printf "%s\n" "#define SYS_64BIT 1" >>confdefs.h
++
++fi
++
++fi
++
++
++       for ac_header in pwd.h
++do :
++  ac_fn_c_check_header_compile "$LINENO" "pwd.h" "ac_cv_header_pwd_h" "$ac_includes_default"
++if test "x$ac_cv_header_pwd_h" = xyes
++then :
++  printf "%s\n" "#define HAVE_PWD_H 1" >>confdefs.h
++
++
++  for ac_func in getpwuid
++do :
++  ac_fn_c_check_func "$LINENO" "getpwuid" "ac_cv_func_getpwuid"
++if test "x$ac_cv_func_getpwuid" = xyes
++then :
++  printf "%s\n" "#define HAVE_GETPWUID 1" >>confdefs.h
++
++
++printf "%s\n" "#define HAVE_GETPWUID 1" >>confdefs.h
++
++
++fi
++
++done
++
++fi
++
++done
++
++NETSTAT_ADDED=0
++
++# Check whether --enable-netstatpath was given.
++if test ${enable_netstatpath+y}
++then :
++  enableval=$enable_netstatpath;
++echo "enable path to netstat as option: $enableval"
++if  test $enableval = "yes" ; then
++
++printf "%s\n" "#define ALLOW_NETSTATPATH 1" >>confdefs.h
++
++fi
++
++else $as_nop
++
++echo "enable path to netstat as option: no"
++
++fi
++
++
++NETSTAT_BYTE="0"
++# Check whether --enable-netstatbyte was given.
++if test ${enable_netstatbyte+y}
++then :
++  enableval=$enable_netstatbyte;
++echo "enable netstat with byte info: $enableval"
++if  test $enableval = "yes" ; then
++   NETSTAT_BYTE="1"
++fi
++
++fi
++
++
++NETSTAT_LINK="0"
++# Check whether --enable-netstatlink was given.
++if test ${enable_netstatlink+y}
++then :
++  enableval=$enable_netstatlink;
++echo "enable netstat with link limit: $enableval"
++if  test $enableval = "yes" ; then
++    NETSTAT_LINK="1"
++fi
++
++fi
++
++
++
++NETSTAT_DEFINED="0"
++
++# Check whether --with-netstatbsd was given.
++if test ${with_netstatbsd+y}
++then :
++  withval=$with_netstatbsd;
++if  test $withval != "no" ; then
++    if  test $withval != "yes" ; then
++        echo "bsd like version with byte info forced: $withval"
++
++printf "%s\n" "#define HAVE_NETSTAT_PATH $withval" >>confdefs.h
++
++    else
++        echo "bsd like version with byte info forced"
++    fi
++    if  test $NETSTAT_BYTE != "1" ; then
++
++printf "%s\n" "#define NETSTAT_BSD 1" >>confdefs.h
++
++              NETSTAT_DEFINED="1"
++               if  test $NETSTAT_ADDED -eq 0 ; then
++                       INPUT_SYSTEM="$INPUT_SYSTEM netstat.$OBJEXT"
++                       NETSTAT_ADDED=1
++               fi
++    else
++
++printf "%s\n" "#define NETSTAT_BSD_BYTES 1" >>confdefs.h
++
++              NETSTAT_DEFINED="1"
++                if  test $NETSTAT_ADDED -eq 0 ; then
++                       INPUT_SYSTEM="$INPUT_SYSTEM netstat.$OBJEXT"
++                       NETSTAT_ADDED=1
++                fi
++    fi
++    if  test $NETSTAT_LINK != "0" ; then
++
++printf "%s\n" "#define NETSTAT_BSD_LINK 1" >>confdefs.h
++
++                      NETSTAT_DEFINED="1"
++               if  test $NETSTAT_ADDED -eq 0 ; then
++                       INPUT_SYSTEM="$INPUT_SYSTEM netstat.$OBJEXT"
++                       NETSTAT_ADDED=1
++               fi
++    fi
++else
++    NETSTAT_DEFINED="1"
++    echo "disable netstat: bsd like version"
++fi
++
++fi
++
++
++
++# Check whether --with-netstatlinux was given.
++if test ${with_netstatlinux+y}
++then :
++  withval=$with_netstatlinux;
++if  test $withval != "no" ; then
++    if  test $withval != "yes" ; then
++        echo "GNU net-tools like version forced: $withval"
++
++printf "%s\n" "#define HAVE_NETSTAT_PATH $withval" >>confdefs.h
++
++    else
++        echo "GNU net-tools like version forced"
++    fi
++
++printf "%s\n" "#define NETSTAT_LINUX 1" >>confdefs.h
++
++    if  test $NETSTAT_ADDED -eq 0 ; then
++       INPUT_SYSTEM="$INPUT_SYSTEM netstat.$OBJEXT"
++       NETSTAT_ADDED=1
++       fi
++    NETSTAT_DEFINED="1"
++else
++    NETSTAT_DEFINED="1"
++    echo "disable netstat: GNU net-tools like version"
++fi
++
++fi
++
++
++
++# Check whether --with-netstatlinuxnew was given.
++if test ${with_netstatlinuxnew+y}
++then :
++  withval=$with_netstatlinuxnew;
++if  test $withval != "no" ; then
++    if  test $withval != "yes" ; then
++        echo "GNU net-tools like version forced: $withval"
++
++printf "%s\n" "#define HAVE_NETSTAT_PATH $withval" >>confdefs.h
++
++    else
++        echo "GNU net-tools like version forced"
++    fi
++
++printf "%s\n" "#define NETSTAT_LINUX_NEW 1" >>confdefs.h
++
++    if  test $NETSTAT_ADDED -eq 0 ; then
++       INPUT_SYSTEM="$INPUT_SYSTEM netstat.$OBJEXT"
++       NETSTAT_ADDED=1
++       fi
++    NETSTAT_DEFINED="1"
++else
++    NETSTAT_DEFINED="1"
++    echo "disable netstat: GNU net-tools like new versions"
++fi
++
++fi
++
++
++
++
++# Check whether --with-netstatsolaris was given.
++if test ${with_netstatsolaris+y}
++then :
++  withval=$with_netstatsolaris;
++if  test $withval != "no" ; then
++    if  test $withval != "yes" ; then
++        echo "solaris like version forced: $withval"
++
++printf "%s\n" "#define HAVE_NETSTAT_PATH $withval" >>confdefs.h
++
++    else
++        echo "solaris like version forced"
++    fi
++
++printf "%s\n" "#define NETSTAT_SOLARIS 1" >>confdefs.h
++
++    NETSTAT_DEFINED="1"
++       if  test $NETSTAT_ADDED -eq 0 ; then
++               INPUT_SYSTEM="$INPUT_SYSTEM netstat.$OBJEXT"
++               NETSTAT_ADDED=1
++       fi
++
++else
++    NETSTAT_DEFINED="1"
++    echo "disable netstat: solaris like version"
++fi
++
++fi
++
++
++
++# Check whether --with-netstatnetbsd was given.
++if test ${with_netstatnetbsd+y}
++then :
++  withval=$with_netstatnetbsd;
++if  test $withval != "no" ; then
++    if  test $withval != "yes" ; then
++        echo "NetBSD/OpenBSD like version forced: $withval"
++
++printf "%s\n" "#define HAVE_NETSTAT_PATH $withval" >>confdefs.h
++
++    else
++        echo "NetBSD/OpenBSD like version forced"
++    fi
++
++printf "%s\n" "#define NETSTAT_NETBSD 1" >>confdefs.h
++
++    NETSTAT_DEFINED="1"
++       if  test $NETSTAT_ADDED -eq 0 ; then
++               INPUT_SYSTEM="$INPUT_SYSTEM netstat.$OBJEXT"
++               NETSTAT_ADDED=1
++       fi
++
++else
++    NETSTAT_DEFINED="1"
++    echo "disable netstat: NetBSD/OpenBSD like version"
++fi
++
++fi
++
++
++
++
++if  test $NETSTAT_DEFINED != "1" ; then
++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
++printf %s "checking for grep that handles long lines and -e... " >&6; }
++if test ${ac_cv_path_GREP+y}
++then :
++  printf %s "(cached) " >&6
++else $as_nop
++  if test -z "$GREP"; then
++  ac_path_GREP_found=false
++  # Loop through the user's path and test for each of PROGNAME-LIST
++  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
++do
++  IFS=$as_save_IFS
++  case $as_dir in #(((
++    '') as_dir=./ ;;
++    */) ;;
++    *) as_dir=$as_dir/ ;;
++  esac
++    for ac_prog in grep ggrep
++   do
++    for ac_exec_ext in '' $ac_executable_extensions; do
++      ac_path_GREP="$as_dir$ac_prog$ac_exec_ext"
++      as_fn_executable_p "$ac_path_GREP" || continue
++# Check for GNU ac_path_GREP and select it if it is found.
++  # Check for GNU $ac_path_GREP
++case `"$ac_path_GREP" --version 2>&1` in
++*GNU*)
++  ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
++*)
++  ac_count=0
++  printf %s 0123456789 >"conftest.in"
++  while :
++  do
++    cat "conftest.in" "conftest.in" >"conftest.tmp"
++    mv "conftest.tmp" "conftest.in"
++    cp "conftest.in" "conftest.nl"
++    printf "%s\n" 'GREP' >> "conftest.nl"
++    "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
++    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
++    as_fn_arith $ac_count + 1 && ac_count=$as_val
++    if test $ac_count -gt ${ac_path_GREP_max-0}; then
++      # Best one so far, save it but keep looking for a better one
++      ac_cv_path_GREP="$ac_path_GREP"
++      ac_path_GREP_max=$ac_count
++    fi
++    # 10*(2^10) chars as input seems more than enough
++    test $ac_count -gt 10 && break
++  done
++  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
++esac
++
++      $ac_path_GREP_found && break 3
++    done
++  done
++  done
++IFS=$as_save_IFS
++  if test -z "$ac_cv_path_GREP"; then
++    as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
++  fi
++else
++  ac_cv_path_GREP=$GREP
++fi
++
++fi
++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5
++printf "%s\n" "$ac_cv_path_GREP" >&6; }
++ GREP="$ac_cv_path_GREP"
++
++
++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
++printf %s "checking for egrep... " >&6; }
++if test ${ac_cv_path_EGREP+y}
++then :
++  printf %s "(cached) " >&6
++else $as_nop
++  if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
++   then ac_cv_path_EGREP="$GREP -E"
++   else
++     if test -z "$EGREP"; then
++  ac_path_EGREP_found=false
++  # Loop through the user's path and test for each of PROGNAME-LIST
++  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
++do
++  IFS=$as_save_IFS
++  case $as_dir in #(((
++    '') as_dir=./ ;;
++    */) ;;
++    *) as_dir=$as_dir/ ;;
++  esac
++    for ac_prog in egrep
++   do
++    for ac_exec_ext in '' $ac_executable_extensions; do
++      ac_path_EGREP="$as_dir$ac_prog$ac_exec_ext"
++      as_fn_executable_p "$ac_path_EGREP" || continue
++# Check for GNU ac_path_EGREP and select it if it is found.
++  # Check for GNU $ac_path_EGREP
++case `"$ac_path_EGREP" --version 2>&1` in
++*GNU*)
++  ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
++*)
++  ac_count=0
++  printf %s 0123456789 >"conftest.in"
++  while :
++  do
++    cat "conftest.in" "conftest.in" >"conftest.tmp"
++    mv "conftest.tmp" "conftest.in"
++    cp "conftest.in" "conftest.nl"
++    printf "%s\n" 'EGREP' >> "conftest.nl"
++    "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
++    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
++    as_fn_arith $ac_count + 1 && ac_count=$as_val
++    if test $ac_count -gt ${ac_path_EGREP_max-0}; then
++      # Best one so far, save it but keep looking for a better one
++      ac_cv_path_EGREP="$ac_path_EGREP"
++      ac_path_EGREP_max=$ac_count
++    fi
++    # 10*(2^10) chars as input seems more than enough
++    test $ac_count -gt 10 && break
++  done
++  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
++esac
++
++      $ac_path_EGREP_found && break 3
++    done
++  done
++  done
++IFS=$as_save_IFS
++  if test -z "$ac_cv_path_EGREP"; then
++    as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
++  fi
++else
++  ac_cv_path_EGREP=$EGREP
++fi
++
++   fi
++fi
++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5
++printf "%s\n" "$ac_cv_path_EGREP" >&6; }
++ EGREP="$ac_cv_path_EGREP"
++
++
++if  test "${EGREP}" ; then
++    for ac_prog in netstat
++do
++  # Extract the first word of "$ac_prog", so it can be a program name with args.
++set dummy $ac_prog; ac_word=$2
++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
++printf %s "checking for $ac_word... " >&6; }
++if test ${ac_cv_prog_NETSTAT_CMD+y}
++then :
++  printf %s "(cached) " >&6
++else $as_nop
++  if test -n "$NETSTAT_CMD"; then
++  ac_cv_prog_NETSTAT_CMD="$NETSTAT_CMD" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++  IFS=$as_save_IFS
++  case $as_dir in #(((
++    '') as_dir=./ ;;
++    */) ;;
++    *) as_dir=$as_dir/ ;;
++  esac
++    for ac_exec_ext in '' $ac_executable_extensions; do
++  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
++    ac_cv_prog_NETSTAT_CMD="$ac_prog"
++    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
++    break 2
++  fi
++done
++  done
++IFS=$as_save_IFS
++
++fi
++fi
++NETSTAT_CMD=$ac_cv_prog_NETSTAT_CMD
++if test -n "$NETSTAT_CMD"; then
++  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $NETSTAT_CMD" >&5
++printf "%s\n" "$NETSTAT_CMD" >&6; }
++else
++  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
++printf "%s\n" "no" >&6; }
++fi
++
++
++  test -n "$NETSTAT_CMD" && break
++done
++
++    if  test "${NETSTAT_CMD}" ; then
++        { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for netstat version" >&5
++printf %s "checking for netstat version... " >&6; }
++        net_test=`${NETSTAT_CMD} -ia 2>/dev/null | ${EGREP} "Iface +MTU +RX-OK +RX-ERR +RX-DRP +RX-OVR +TX-OK +TX-ERR +TX-DRP +TX-OVR +Flg"`
++        if  test "${net_test}" ; then
++                      { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: GNU net-tools like newer version found" >&5
++printf "%s\n" "GNU net-tools like newer version found" >&6; }
++
++printf "%s\n" "#define NETSTAT_LINUX_NEW 1" >>confdefs.h
++
++                              if  test $NETSTAT_ADDED -eq 0 ; then
++                                       INPUT_SYSTEM="$INPUT_SYSTEM netstat.$OBJEXT"
++                                       NETSTAT_ADDED=1
++                              fi
++        else
++        net_test=`${NETSTAT_CMD} -ia 2>/dev/null | ${EGREP} "Iface +MTU +Met +RX-OK +RX-ERR +RX-DRP +RX-OVR +TX-OK +TX-ERR +TX-DRP +TX-OVR +Flg"`
++        if  test "${net_test}" ; then
++                      { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: GNU net-tools like version found" >&5
++printf "%s\n" "GNU net-tools like version found" >&6; }
++
++printf "%s\n" "#define NETSTAT_LINUX 1" >>confdefs.h
++
++                              if  test $NETSTAT_ADDED -eq 0 ; then
++                                       INPUT_SYSTEM="$INPUT_SYSTEM netstat.$OBJEXT"
++                                       NETSTAT_ADDED=1
++                              fi
++        else
++            net_test=`${NETSTAT_CMD} -iW 2>/dev/null | ${EGREP} "Name +Mtu +Network +Address +Ipkts +Ierrs +Opkts +Oerrs +Coll"`
++            if  test "${net_test}" ; then
++                              net_test2=`${NETSTAT_CMD} -iW -b 2>/dev/null | ${EGREP} "Name +Mtu +Network +Address +Ipkts +Ierrs +Ibytes +Opkts +Oerrs +Obytes +Coll"`
++                              if  test "${net_test2}" ; then
++                                      { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: BSD like version with byte info found" >&5
++printf "%s\n" "BSD like version with byte info found" >&6; }
++
++printf "%s\n" "#define NETSTAT_BSD_BYTES 1" >>confdefs.h
++
++                                 if  test $NETSTAT_ADDED -eq 0 ; then
++                                              INPUT_SYSTEM="$INPUT_SYSTEM netstat.$OBJEXT"
++                                              NETSTAT_ADDED=1
++                                      fi
++                              else
++                   { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: BSD like version found" >&5
++printf "%s\n" "BSD like version found" >&6; }
++
++printf "%s\n" "#define NETSTAT_BSD 1" >>confdefs.h
++
++                                       if  test $NETSTAT_ADDED -eq 0 ; then
++                                               INPUT_SYSTEM="$INPUT_SYSTEM netstat.$OBJEXT"
++                                               NETSTAT_ADDED=1
++                                       fi
++                              fi
++                              { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for netstat -f link" >&5
++printf %s "checking for netstat -f link... " >&6; }
++                              net_test3=`${NETSTAT_CMD} -iW -f link 2>/dev/null | ${EGREP} "Name +Mtu +Network +Address +Ipkts +Ierrs +Opkts +Oerrs +Coll"`
++                              if  test "${net_test3}" ; then
++                                      { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
++printf "%s\n" "yes" >&6; }
++
++printf "%s\n" "#define NETSTAT_BSD_LINK 1" >>confdefs.h
++
++                                       if  test $NETSTAT_ADDED -eq 0 ; then
++                                               INPUT_SYSTEM="$INPUT_SYSTEM netstat.$OBJEXT"
++                                               NETSTAT_ADDED=1
++                                       fi
++                              else
++                                      { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
++printf "%s\n" "no" >&6; }
++                              fi
++                      else
++                net_test=`${NETSTAT_CMD} -i -f inet -f inet6 2>/dev/null | ${EGREP} "Name +Mtu +Net/Dest +Address +Ipkts +Ierrs +Opkts +Oerrs +Collis +Queue"`
++                if  test "${net_test}" ; then
++                    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: solaris version found" >&5
++printf "%s\n" "solaris version found" >&6; }
++
++printf "%s\n" "#define NETSTAT_SOLARIS 1" >>confdefs.h
++
++                                               if  test $NETSTAT_ADDED -eq 0 ; then
++                                                       INPUT_SYSTEM="$INPUT_SYSTEM netstat.$OBJEXT"
++                                                       NETSTAT_ADDED=1
++                                               fi
++                else
++                    net_test=`${NETSTAT_CMD} -ibd 2>/dev/null | ${EGREP} "Name +Mtu +Network +Address +Ibytes +Obytes +Drop"`
++                    if  test "${net_test}" ; then
++                        { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Net/OpenBSD version found" >&5
++printf "%s\n" "Net/OpenBSD version found" >&6; }
++
++printf "%s\n" "#define NETSTAT_NETBSD 1" >>confdefs.h
++
++                                                               if  test $NETSTAT_ADDED -eq 0 ; then
++                                                                       INPUT_SYSTEM="$INPUT_SYSTEM netstat.$OBJEXT"
++                                                                       NETSTAT_ADDED=1
++                                                               fi
++                    else
++                                      { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unknown netstat version - disabled" >&5
++printf "%s\n" "unknown netstat version - disabled" >&6; }
++echo "*********************************************
++  please mail 'netstat -i' output to author
++*********************************************"
++                    fi
++                fi
++            fi
++          fi
++        fi
++    fi
++fi
++fi
++
++
++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the C compiler (${CC-cc}) accepts noreturn attribute" >&5
++printf %s "checking whether the C compiler (${CC-cc}) accepts noreturn attribute... " >&6; }
++if test ${qef_cv_c_noreturn+y}
++then :
++  printf %s "(cached) " >&6
++else $as_nop
++  qef_cv_c_noreturn=no
++cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++#include <stdlib.h>
++void f (void) __attribute__ ((noreturn));
++void f (void)
++{
++   exit (1);
++   }
++
++int
++main (void)
++{
++
++      f ();
++
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_c_try_compile "$LINENO"
++then :
++  qef_cv_c_noreturn="yes";  FUNCATTR_NORETURN_VAL="__attribute__ ((noreturn))"
++else $as_nop
++  qef_cv_c_noreturn="no";   FUNCATTR_NORETURN_VAL="/* will not return */"
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
++
++fi
++
++
++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $qef_cv_c_noreturn" >&5
++printf "%s\n" "$qef_cv_c_noreturn" >&6; }
++
++printf "%s\n" "#define FUNCATTR_NORETURN $FUNCATTR_NORETURN_VAL" >>confdefs.h
++
++
++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for inline" >&5
++printf %s "checking for inline... " >&6; }
++if test ${ac_cv_c_inline+y}
++then :
++  printf %s "(cached) " >&6
++else $as_nop
++  ac_cv_c_inline=no
++for ac_kw in inline __inline__ __inline; do
++  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++#ifndef __cplusplus
++typedef int foo_t;
++static $ac_kw foo_t static_foo (void) {return 0; }
++$ac_kw foo_t foo (void) {return 0; }
++#endif
++
++_ACEOF
++if ac_fn_c_try_compile "$LINENO"
++then :
++  ac_cv_c_inline=$ac_kw
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
++  test "$ac_cv_c_inline" != no && break
++done
++
++fi
++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_inline" >&5
++printf "%s\n" "$ac_cv_c_inline" >&6; }
++
++case $ac_cv_c_inline in
++  inline | yes) ;;
++  *)
++    case $ac_cv_c_inline in
++      no) ac_val=;;
++      *) ac_val=$ac_cv_c_inline;;
++    esac
++    cat >>confdefs.h <<_ACEOF
++#ifndef __cplusplus
++#define inline $ac_val
++#endif
++_ACEOF
++    ;;
++esac
++
++
++if  test -z ${DEBUG} ; then
++
++# Check whether --with-strip was given.
++if test ${with_strip+y}
++then :
++  withval=$with_strip;
++echo "enable strip... "
++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enableval" >&5
++printf "%s\n" "$enableval" >&6; }
++if  test $withval != "no" ; then
++    if  test $withval != "yes" ; then
++        STRIP="${withval} \${TARGET}"
++    else
++               if test "$cross_compiling" != yes; then
++              { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for /usr/ccs/bin/strip" >&5
++printf %s "checking for /usr/ccs/bin/strip... " >&6; }
++if test ${ac_cv_file__usr_ccs_bin_strip+y}
++then :
++  printf %s "(cached) " >&6
++else $as_nop
++  test "$cross_compiling" = yes &&
++  as_fn_error $? "cannot check for file existence when cross compiling" "$LINENO" 5
++if test -r "/usr/ccs/bin/strip"; then
++  ac_cv_file__usr_ccs_bin_strip=yes
++else
++  ac_cv_file__usr_ccs_bin_strip=no
++fi
++fi
++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_file__usr_ccs_bin_strip" >&5
++printf "%s\n" "$ac_cv_file__usr_ccs_bin_strip" >&6; }
++if test "x$ac_cv_file__usr_ccs_bin_strip" = xyes
++then :
++
++printf "%s\n" "#define HAVE__USR_CCS_BIN_STRIP 1" >>confdefs.h
++
++                       for ac_prog in strip
++do
++  # Extract the first word of "$ac_prog", so it can be a program name with args.
++set dummy $ac_prog; ac_word=$2
++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
++printf %s "checking for $ac_word... " >&6; }
++if test ${ac_cv_prog_STRIP+y}
++then :
++  printf %s "(cached) " >&6
++else $as_nop
++  if test -n "$STRIP"; then
++  ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++  IFS=$as_save_IFS
++  case $as_dir in #(((
++    '') as_dir=./ ;;
++    */) ;;
++    *) as_dir=$as_dir/ ;;
++  esac
++    for ac_exec_ext in '' $ac_executable_extensions; do
++  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
++    ac_cv_prog_STRIP="$ac_prog"
++    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
++    break 2
++  fi
++done
++  done
++IFS=$as_save_IFS
++
++fi
++fi
++STRIP=$ac_cv_prog_STRIP
++if test -n "$STRIP"; then
++  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
++printf "%s\n" "$STRIP" >&6; }
++else
++  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
++printf "%s\n" "no" >&6; }
++fi
++
++
++  test -n "$STRIP" && break
++done
++
++
++fi
++
++               fi
++        if  test "${STRIP}" ; then
++            STRIP="${STRIP} \${TARGET}"
++        else
++        for ac_prog in strip
++do
++  # Extract the first word of "$ac_prog", so it can be a program name with args.
++set dummy $ac_prog; ac_word=$2
++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
++printf %s "checking for $ac_word... " >&6; }
++if test ${ac_cv_prog_STRIP+y}
++then :
++  printf %s "(cached) " >&6
++else $as_nop
++  if test -n "$STRIP"; then
++  ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++  IFS=$as_save_IFS
++  case $as_dir in #(((
++    '') as_dir=./ ;;
++    */) ;;
++    *) as_dir=$as_dir/ ;;
++  esac
++    for ac_exec_ext in '' $ac_executable_extensions; do
++  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
++    ac_cv_prog_STRIP="$ac_prog"
++    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
++    break 2
++  fi
++done
++  done
++IFS=$as_save_IFS
++
++fi
++fi
++STRIP=$ac_cv_prog_STRIP
++if test -n "$STRIP"; then
++  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
++printf "%s\n" "$STRIP" >&6; }
++else
++  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
++printf "%s\n" "no" >&6; }
++fi
++
++
++  test -n "$STRIP" && break
++done
++
++        if  test "${STRIP}" ; then
++            STRIP="${STRIP} \${TARGET}"
++        fi
++        fi
++    fi
++fi
++
++else $as_nop
++
++if test "$cross_compiling" != yes; then
++      { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for /usr/ccs/bin/strip" >&5
++printf %s "checking for /usr/ccs/bin/strip... " >&6; }
++if test ${ac_cv_file__usr_ccs_bin_strip+y}
++then :
++  printf %s "(cached) " >&6
++else $as_nop
++  test "$cross_compiling" = yes &&
++  as_fn_error $? "cannot check for file existence when cross compiling" "$LINENO" 5
++if test -r "/usr/ccs/bin/strip"; then
++  ac_cv_file__usr_ccs_bin_strip=yes
++else
++  ac_cv_file__usr_ccs_bin_strip=no
++fi
++fi
++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_file__usr_ccs_bin_strip" >&5
++printf "%s\n" "$ac_cv_file__usr_ccs_bin_strip" >&6; }
++if test "x$ac_cv_file__usr_ccs_bin_strip" = xyes
++then :
++
++printf "%s\n" "#define HAVE__USR_CCS_BIN_STRIP 1" >>confdefs.h
++
++               for ac_prog in strip
++do
++  # Extract the first word of "$ac_prog", so it can be a program name with args.
++set dummy $ac_prog; ac_word=$2
++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
++printf %s "checking for $ac_word... " >&6; }
++if test ${ac_cv_prog_STRIP+y}
++then :
++  printf %s "(cached) " >&6
++else $as_nop
++  if test -n "$STRIP"; then
++  ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++  IFS=$as_save_IFS
++  case $as_dir in #(((
++    '') as_dir=./ ;;
++    */) ;;
++    *) as_dir=$as_dir/ ;;
++  esac
++    for ac_exec_ext in '' $ac_executable_extensions; do
++  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
++    ac_cv_prog_STRIP="$ac_prog"
++    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
++    break 2
++  fi
++done
++  done
++IFS=$as_save_IFS
++
++fi
++fi
++STRIP=$ac_cv_prog_STRIP
++if test -n "$STRIP"; then
++  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
++printf "%s\n" "$STRIP" >&6; }
++else
++  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
++printf "%s\n" "no" >&6; }
++fi
++
++
++  test -n "$STRIP" && break
++done
++
++
++fi
++
++fi
++if  test "${STRIP}" ; then
++    STRIP="/usr/ccs/bin/${STRIP} \${TARGET}"
++else
++for ac_prog in strip
++do
++  # Extract the first word of "$ac_prog", so it can be a program name with args.
++set dummy $ac_prog; ac_word=$2
++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
++printf %s "checking for $ac_word... " >&6; }
++if test ${ac_cv_prog_STRIP+y}
++then :
++  printf %s "(cached) " >&6
++else $as_nop
++  if test -n "$STRIP"; then
++  ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++  IFS=$as_save_IFS
++  case $as_dir in #(((
++    '') as_dir=./ ;;
++    */) ;;
++    *) as_dir=$as_dir/ ;;
++  esac
++    for ac_exec_ext in '' $ac_executable_extensions; do
++  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
++    ac_cv_prog_STRIP="$ac_prog"
++    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
++    break 2
++  fi
++done
++  done
++IFS=$as_save_IFS
++
++fi
++fi
++STRIP=$ac_cv_prog_STRIP
++if test -n "$STRIP"; then
++  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
++printf "%s\n" "$STRIP" >&6; }
++else
++  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
++printf "%s\n" "no" >&6; }
++fi
++
++
++  test -n "$STRIP" && break
++done
++
++if  test "${STRIP}" ; then
++    STRIP="${STRIP} \${TARGET}"
++fi
++fi
++
++fi
++
++else
++    STRIP="@echo DEBUG mode enabled."
++fi
++
++#AC_CHECK_CC_OPT(Wno-long-double)
++#AC_CHECK_CC_OPT(Wno-long-long)
++
++
++
++ac_config_files="$ac_config_files Makefile src/Makefile"
++
++
++cat >confcache <<\_ACEOF
++# This file is a shell script that caches the results of configure
++# tests run on this system so they can be shared between configure
++# scripts and configure runs, see configure's option --config-cache.
++# It is not useful on other systems.  If it contains results you don't
++# want to keep, you may remove or edit it.
++#
++# config.status only pays attention to the cache file if you give it
++# the --recheck option to rerun configure.
++#
++# `ac_cv_env_foo' variables (set or unset) will be overridden when
++# loading this file, other *unset* `ac_cv_foo' will be assigned the
++# following values.
++
++_ACEOF
++
++# The following way of writing the cache mishandles newlines in values,
++# but we know of no workaround that is simple, portable, and efficient.
++# So, we kill variables containing newlines.
++# Ultrix sh set writes to stderr and can't be redirected directly,
++# and sets the high bit in the cache file unless we assign to the vars.
++(
++  for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do
++    eval ac_val=\$$ac_var
++    case $ac_val in #(
++    *${as_nl}*)
++      case $ac_var in #(
++      *_cv_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
++printf "%s\n" "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
++      esac
++      case $ac_var in #(
++      _ | IFS | as_nl) ;; #(
++      BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
++      *) { eval $ac_var=; unset $ac_var;} ;;
++      esac ;;
++    esac
++  done
++
++  (set) 2>&1 |
++    case $as_nl`(ac_space=' '; set) 2>&1` in #(
++    *${as_nl}ac_space=\ *)
++      # `set' does not quote correctly, so add quotes: double-quote
++      # substitution turns \\\\ into \\, and sed turns \\ into \.
++      sed -n \
++      "s/'/'\\\\''/g;
++        s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
++      ;; #(
++    *)
++      # `set' quotes correctly as required by POSIX, so do not add quotes.
++      sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
++      ;;
++    esac |
++    sort
++) |
++  sed '
++     /^ac_cv_env_/b end
++     t clear
++     :clear
++     s/^\([^=]*\)=\(.*[{}].*\)$/test ${\1+y} || &/
++     t end
++     s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
++     :end' >>confcache
++if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
++  if test -w "$cache_file"; then
++    if test "x$cache_file" != "x/dev/null"; then
++      { printf "%s\n" "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
++printf "%s\n" "$as_me: updating cache $cache_file" >&6;}
++      if test ! -f "$cache_file" || test -h "$cache_file"; then
++      cat confcache >"$cache_file"
++      else
++        case $cache_file in #(
++        */* | ?:*)
++        mv -f confcache "$cache_file"$$ &&
++        mv -f "$cache_file"$$ "$cache_file" ;; #(
++        *)
++        mv -f confcache "$cache_file" ;;
++      esac
++      fi
++    fi
++  else
++    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
++printf "%s\n" "$as_me: not updating unwritable cache $cache_file" >&6;}
++  fi
++fi
++rm -f confcache
++
++test "x$prefix" = xNONE && prefix=$ac_default_prefix
++# Let make expand exec_prefix.
++test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
++
++DEFS=-DHAVE_CONFIG_H
++
++ac_libobjs=
++ac_ltlibobjs=
++U=
++for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
++  # 1. Remove the extension, and $U if already installed.
++  ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
++  ac_i=`printf "%s\n" "$ac_i" | sed "$ac_script"`
++  # 2. Prepend LIBOBJDIR.  When used with automake>=1.10 LIBOBJDIR
++  #    will be set to the directory where LIBOBJS objects are built.
++  as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext"
++  as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo'
++done
++LIBOBJS=$ac_libobjs
++
++LTLIBOBJS=$ac_ltlibobjs
++
++
++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking that generated files are newer than configure" >&5
++printf %s "checking that generated files are newer than configure... " >&6; }
++   if test -n "$am_sleep_pid"; then
++     # Hide warnings about reused PIDs.
++     wait $am_sleep_pid 2>/dev/null
++   fi
++   { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: done" >&5
++printf "%s\n" "done" >&6; }
++ if test -n "$EXEEXT"; then
++  am__EXEEXT_TRUE=
++  am__EXEEXT_FALSE='#'
++else
++  am__EXEEXT_TRUE='#'
++  am__EXEEXT_FALSE=
++fi
++
++if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then
++  as_fn_error $? "conditional \"AMDEP\" was never defined.
++Usually this means the macro was only invoked conditionally." "$LINENO" 5
++fi
++if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then
++  as_fn_error $? "conditional \"am__fastdepCC\" was never defined.
++Usually this means the macro was only invoked conditionally." "$LINENO" 5
++fi
++
++: "${CONFIG_STATUS=./config.status}"
++ac_write_fail=0
++ac_clean_files_save=$ac_clean_files
++ac_clean_files="$ac_clean_files $CONFIG_STATUS"
++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5
++printf "%s\n" "$as_me: creating $CONFIG_STATUS" >&6;}
++as_write_fail=0
++cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1
++#! $SHELL
++# Generated by $as_me.
++# Run this file to recreate the current configuration.
++# Compiler output produced by configure, useful for debugging
++# configure, is in config.log if it exists.
++
++debug=false
++ac_cs_recheck=false
++ac_cs_silent=false
++
++SHELL=\${CONFIG_SHELL-$SHELL}
++export SHELL
++_ASEOF
++cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1
++## -------------------- ##
++## M4sh Initialization. ##
++## -------------------- ##
++
++# Be more Bourne compatible
++DUALCASE=1; export DUALCASE # for MKS sh
++as_nop=:
++if test ${ZSH_VERSION+y} && (emulate sh) >/dev/null 2>&1
++then :
++  emulate sh
++  NULLCMD=:
++  # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
++  # is contrary to our usage.  Disable this feature.
++  alias -g '${1+"$@"}'='"$@"'
++  setopt NO_GLOB_SUBST
++else $as_nop
++  case `(set -o) 2>/dev/null` in #(
++  *posix*) :
++    set -o posix ;; #(
++  *) :
++     ;;
++esac
++fi
++
++
++
++# Reset variables that may have inherited troublesome values from
++# the environment.
++
++# IFS needs to be set, to space, tab, and newline, in precisely that order.
++# (If _AS_PATH_WALK were called with IFS unset, it would have the
++# side effect of setting IFS to empty, thus disabling word splitting.)
++# Quoting is to prevent editors from complaining about space-tab.
++as_nl='
++'
++export as_nl
++IFS=" ""      $as_nl"
++
++PS1='$ '
++PS2='> '
++PS4='+ '
++
++# Ensure predictable behavior from utilities with locale-dependent output.
++LC_ALL=C
++export LC_ALL
++LANGUAGE=C
++export LANGUAGE
++
++# We cannot yet rely on "unset" to work, but we need these variables
++# to be unset--not just set to an empty or harmless value--now, to
++# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh).  This construct
++# also avoids known problems related to "unset" and subshell syntax
++# in other old shells (e.g. bash 2.01 and pdksh 5.2.14).
++for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH
++do eval test \${$as_var+y} \
++  && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
++done
++
++# Ensure that fds 0, 1, and 2 are open.
++if (exec 3>&0) 2>/dev/null; then :; else exec 0</dev/null; fi
++if (exec 3>&1) 2>/dev/null; then :; else exec 1>/dev/null; fi
++if (exec 3>&2)            ; then :; else exec 2>/dev/null; fi
++
++# The user is always right.
++if ${PATH_SEPARATOR+false} :; then
++  PATH_SEPARATOR=:
++  (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
++    (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
++      PATH_SEPARATOR=';'
++  }
++fi
++
++
++# Find who we are.  Look in the path if we contain no directory separator.
++as_myself=
++case $0 in #((
++  *[\\/]* ) as_myself=$0 ;;
++  *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++  IFS=$as_save_IFS
++  case $as_dir in #(((
++    '') as_dir=./ ;;
++    */) ;;
++    *) as_dir=$as_dir/ ;;
++  esac
++    test -r "$as_dir$0" && as_myself=$as_dir$0 && break
++  done
++IFS=$as_save_IFS
++
++     ;;
++esac
++# We did not find ourselves, most probably we were run as `sh COMMAND'
++# in which case we are not to be found in the path.
++if test "x$as_myself" = x; then
++  as_myself=$0
++fi
++if test ! -f "$as_myself"; then
++  printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
++  exit 1
++fi
++
++
++
++# as_fn_error STATUS ERROR [LINENO LOG_FD]
++# ----------------------------------------
++# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
++# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
++# script with STATUS, using 1 if that was 0.
++as_fn_error ()
++{
++  as_status=$1; test $as_status -eq 0 && as_status=1
++  if test "$4"; then
++    as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
++    printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
++  fi
++  printf "%s\n" "$as_me: error: $2" >&2
++  as_fn_exit $as_status
++} # as_fn_error
++
++
++
++# as_fn_set_status STATUS
++# -----------------------
++# Set $? to STATUS, without forking.
++as_fn_set_status ()
++{
++  return $1
++} # as_fn_set_status
++
++# as_fn_exit STATUS
++# -----------------
++# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
++as_fn_exit ()
++{
++  set +e
++  as_fn_set_status $1
++  exit $1
++} # as_fn_exit
++
++# as_fn_unset VAR
++# ---------------
++# Portably unset VAR.
++as_fn_unset ()
++{
++  { eval $1=; unset $1;}
++}
++as_unset=as_fn_unset
++
++# as_fn_append VAR VALUE
++# ----------------------
++# Append the text in VALUE to the end of the definition contained in VAR. Take
++# advantage of any shell optimizations that allow amortized linear growth over
++# repeated appends, instead of the typical quadratic growth present in naive
++# implementations.
++if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null
++then :
++  eval 'as_fn_append ()
++  {
++    eval $1+=\$2
++  }'
++else $as_nop
++  as_fn_append ()
++  {
++    eval $1=\$$1\$2
++  }
++fi # as_fn_append
++
++# as_fn_arith ARG...
++# ------------------
++# Perform arithmetic evaluation on the ARGs, and store the result in the
++# global $as_val. Take advantage of shells that can avoid forks. The arguments
++# must be portable across $(()) and expr.
++if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null
++then :
++  eval 'as_fn_arith ()
++  {
++    as_val=$(( $* ))
++  }'
++else $as_nop
++  as_fn_arith ()
++  {
++    as_val=`expr "$@" || test $? -eq 1`
++  }
++fi # as_fn_arith
++
++
++if expr a : '\(a\)' >/dev/null 2>&1 &&
++   test "X`expr 00001 : '.*\(...\)'`" = X001; then
++  as_expr=expr
++else
++  as_expr=false
++fi
++
++if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
++  as_basename=basename
++else
++  as_basename=false
++fi
++
++if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
++  as_dirname=dirname
++else
++  as_dirname=false
++fi
++
++as_me=`$as_basename -- "$0" ||
++$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
++       X"$0" : 'X\(//\)$' \| \
++       X"$0" : 'X\(/\)' \| . 2>/dev/null ||
++printf "%s\n" X/"$0" |
++    sed '/^.*\/\([^/][^/]*\)\/*$/{
++          s//\1/
++          q
++        }
++        /^X\/\(\/\/\)$/{
++          s//\1/
++          q
++        }
++        /^X\/\(\/\).*/{
++          s//\1/
++          q
++        }
++        s/.*/./; q'`
++
++# Avoid depending upon Character Ranges.
++as_cr_letters='abcdefghijklmnopqrstuvwxyz'
++as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
++as_cr_Letters=$as_cr_letters$as_cr_LETTERS
++as_cr_digits='0123456789'
++as_cr_alnum=$as_cr_Letters$as_cr_digits
++
++
++# Determine whether it's possible to make 'echo' print without a newline.
++# These variables are no longer used directly by Autoconf, but are AC_SUBSTed
++# for compatibility with existing Makefiles.
++ECHO_C= ECHO_N= ECHO_T=
++case `echo -n x` in #(((((
++-n*)
++  case `echo 'xy\c'` in
++  *c*) ECHO_T='       ';;     # ECHO_T is single tab character.
++  xy)  ECHO_C='\c';;
++  *)   echo `echo ksh88 bug on AIX 6.1` > /dev/null
++       ECHO_T='       ';;
++  esac;;
++*)
++  ECHO_N='-n';;
++esac
++
++# For backward compatibility with old third-party macros, we provide
++# the shell variables $as_echo and $as_echo_n.  New code should use
++# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively.
++as_echo='printf %s\n'
++as_echo_n='printf %s'
++
++rm -f conf$$ conf$$.exe conf$$.file
++if test -d conf$$.dir; then
++  rm -f conf$$.dir/conf$$.file
++else
++  rm -f conf$$.dir
++  mkdir conf$$.dir 2>/dev/null
++fi
++if (echo >conf$$.file) 2>/dev/null; then
++  if ln -s conf$$.file conf$$ 2>/dev/null; then
++    as_ln_s='ln -s'
++    # ... but there are two gotchas:
++    # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
++    # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
++    # In both cases, we have to default to `cp -pR'.
++    ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
++      as_ln_s='cp -pR'
++  elif ln conf$$.file conf$$ 2>/dev/null; then
++    as_ln_s=ln
++  else
++    as_ln_s='cp -pR'
++  fi
++else
++  as_ln_s='cp -pR'
++fi
++rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
++rmdir conf$$.dir 2>/dev/null
++
++
++# as_fn_mkdir_p
++# -------------
++# Create "$as_dir" as a directory, including parents if necessary.
++as_fn_mkdir_p ()
++{
++
++  case $as_dir in #(
++  -*) as_dir=./$as_dir;;
++  esac
++  test -d "$as_dir" || eval $as_mkdir_p || {
++    as_dirs=
++    while :; do
++      case $as_dir in #(
++      *\'*) as_qdir=`printf "%s\n" "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
++      *) as_qdir=$as_dir;;
++      esac
++      as_dirs="'$as_qdir' $as_dirs"
++      as_dir=`$as_dirname -- "$as_dir" ||
++$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
++       X"$as_dir" : 'X\(//\)[^/]' \| \
++       X"$as_dir" : 'X\(//\)$' \| \
++       X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
++printf "%s\n" X"$as_dir" |
++    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
++          s//\1/
++          q
++        }
++        /^X\(\/\/\)[^/].*/{
++          s//\1/
++          q
++        }
++        /^X\(\/\/\)$/{
++          s//\1/
++          q
++        }
++        /^X\(\/\).*/{
++          s//\1/
++          q
++        }
++        s/.*/./; q'`
++      test -d "$as_dir" && break
++    done
++    test -z "$as_dirs" || eval "mkdir $as_dirs"
++  } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
++
++
++} # as_fn_mkdir_p
++if mkdir -p . 2>/dev/null; then
++  as_mkdir_p='mkdir -p "$as_dir"'
++else
++  test -d ./-p && rmdir ./-p
++  as_mkdir_p=false
++fi
++
++
++# as_fn_executable_p FILE
++# -----------------------
++# Test if FILE is an executable regular file.
++as_fn_executable_p ()
++{
++  test -f "$1" && test -x "$1"
++} # as_fn_executable_p
++as_test_x='test -x'
++as_executable_p=as_fn_executable_p
++
++# Sed expression to map a string onto a valid CPP name.
++as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
++
++# Sed expression to map a string onto a valid variable name.
++as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
++
++
++exec 6>&1
++## ----------------------------------- ##
++## Main body of $CONFIG_STATUS script. ##
++## ----------------------------------- ##
++_ASEOF
++test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1
++
++cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
++# Save the log message, to keep $0 and so on meaningful, and to
++# report actual input values of CONFIG_FILES etc. instead of their
++# values after options handling.
++ac_log="
++This file was extended by bwm-ng $as_me 0.6.3, which was
++generated by GNU Autoconf 2.71.  Invocation command line was
++
++  CONFIG_FILES    = $CONFIG_FILES
++  CONFIG_HEADERS  = $CONFIG_HEADERS
++  CONFIG_LINKS    = $CONFIG_LINKS
++  CONFIG_COMMANDS = $CONFIG_COMMANDS
++  $ $0 $@
++
++on `(hostname || uname -n) 2>/dev/null | sed 1q`
++"
++
++_ACEOF
++
++case $ac_config_files in *"
++"*) set x $ac_config_files; shift; ac_config_files=$*;;
++esac
++
++case $ac_config_headers in *"
++"*) set x $ac_config_headers; shift; ac_config_headers=$*;;
++esac
++
++
++cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
++# Files that config.status was made for.
++config_files="$ac_config_files"
++config_headers="$ac_config_headers"
++config_commands="$ac_config_commands"
++
++_ACEOF
++
++cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
++ac_cs_usage="\
++\`$as_me' instantiates files and other configuration actions
++from templates according to the current configuration.  Unless the files
++and actions are specified as TAGs, all are instantiated by default.
++
++Usage: $0 [OPTION]... [TAG]...
++
++  -h, --help       print this help, then exit
++  -V, --version    print version number and configuration settings, then exit
++      --config     print configuration, then exit
++  -q, --quiet, --silent
++                   do not print progress messages
++  -d, --debug      don't remove temporary files
++      --recheck    update $as_me by reconfiguring in the same conditions
++      --file=FILE[:TEMPLATE]
++                   instantiate the configuration file FILE
++      --header=FILE[:TEMPLATE]
++                   instantiate the configuration header FILE
++
++Configuration files:
++$config_files
++
++Configuration headers:
++$config_headers
++
++Configuration commands:
++$config_commands
++
++Report bugs to <bwmng@gropp.org>."
++
++_ACEOF
++ac_cs_config=`printf "%s\n" "$ac_configure_args" | sed "$ac_safe_unquote"`
++ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\''/g"`
++cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
++ac_cs_config='$ac_cs_config_escaped'
++ac_cs_version="\\
++bwm-ng config.status 0.6.3
++configured by $0, generated by GNU Autoconf 2.71,
++  with options \\"\$ac_cs_config\\"
++
++Copyright (C) 2021 Free Software Foundation, Inc.
++This config.status script is free software; the Free Software Foundation
++gives unlimited permission to copy, distribute and modify it."
++
++ac_pwd='$ac_pwd'
++srcdir='$srcdir'
++INSTALL='$INSTALL'
++MKDIR_P='$MKDIR_P'
++AWK='$AWK'
++test -n "\$AWK" || AWK=awk
++_ACEOF
++
++cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
++# The default lists apply if the user does not specify any file.
++ac_need_defaults=:
++while test $# != 0
++do
++  case $1 in
++  --*=?*)
++    ac_option=`expr "X$1" : 'X\([^=]*\)='`
++    ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
++    ac_shift=:
++    ;;
++  --*=)
++    ac_option=`expr "X$1" : 'X\([^=]*\)='`
++    ac_optarg=
++    ac_shift=:
++    ;;
++  *)
++    ac_option=$1
++    ac_optarg=$2
++    ac_shift=shift
++    ;;
++  esac
++
++  case $ac_option in
++  # Handling of the options.
++  -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
++    ac_cs_recheck=: ;;
++  --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
++    printf "%s\n" "$ac_cs_version"; exit ;;
++  --config | --confi | --conf | --con | --co | --c )
++    printf "%s\n" "$ac_cs_config"; exit ;;
++  --debug | --debu | --deb | --de | --d | -d )
++    debug=: ;;
++  --file | --fil | --fi | --f )
++    $ac_shift
++    case $ac_optarg in
++    *\'*) ac_optarg=`printf "%s\n" "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
++    '') as_fn_error $? "missing file argument" ;;
++    esac
++    as_fn_append CONFIG_FILES " '$ac_optarg'"
++    ac_need_defaults=false;;
++  --header | --heade | --head | --hea )
++    $ac_shift
++    case $ac_optarg in
++    *\'*) ac_optarg=`printf "%s\n" "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
++    esac
++    as_fn_append CONFIG_HEADERS " '$ac_optarg'"
++    ac_need_defaults=false;;
++  --he | --h)
++    # Conflict between --help and --header
++    as_fn_error $? "ambiguous option: \`$1'
++Try \`$0 --help' for more information.";;
++  --help | --hel | -h )
++    printf "%s\n" "$ac_cs_usage"; exit ;;
++  -q | -quiet | --quiet | --quie | --qui | --qu | --q \
++  | -silent | --silent | --silen | --sile | --sil | --si | --s)
++    ac_cs_silent=: ;;
++
++  # This is an error.
++  -*) as_fn_error $? "unrecognized option: \`$1'
++Try \`$0 --help' for more information." ;;
++
++  *) as_fn_append ac_config_targets " $1"
++     ac_need_defaults=false ;;
++
++  esac
++  shift
++done
++
++ac_configure_extra_args=
++
++if $ac_cs_silent; then
++  exec 6>/dev/null
++  ac_configure_extra_args="$ac_configure_extra_args --silent"
++fi
++
++_ACEOF
++cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
++if \$ac_cs_recheck; then
++  set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
++  shift
++  \printf "%s\n" "running CONFIG_SHELL=$SHELL \$*" >&6
++  CONFIG_SHELL='$SHELL'
++  export CONFIG_SHELL
++  exec "\$@"
++fi
++
++_ACEOF
++cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
++exec 5>>config.log
++{
++  echo
++  sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
++## Running $as_me. ##
++_ASBOX
++  printf "%s\n" "$ac_log"
++} >&5
++
++_ACEOF
++cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
++#
++# INIT-COMMANDS
++#
++AMDEP_TRUE="$AMDEP_TRUE" MAKE="${MAKE-make}"
++
++_ACEOF
++
++cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
++
++# Handling of arguments.
++for ac_config_target in $ac_config_targets
++do
++  case $ac_config_target in
++    "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;;
++    "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
++    "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
++    "src/Makefile") CONFIG_FILES="$CONFIG_FILES src/Makefile" ;;
++
++  *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
++  esac
++done
++
++
++# If the user did not use the arguments to specify the items to instantiate,
++# then the envvar interface is used.  Set only those that are not.
++# We use the long form for the default assignment because of an extremely
++# bizarre bug on SunOS 4.1.3.
++if $ac_need_defaults; then
++  test ${CONFIG_FILES+y} || CONFIG_FILES=$config_files
++  test ${CONFIG_HEADERS+y} || CONFIG_HEADERS=$config_headers
++  test ${CONFIG_COMMANDS+y} || CONFIG_COMMANDS=$config_commands
++fi
++
++# Have a temporary directory for convenience.  Make it in the build tree
++# simply because there is no reason against having it here, and in addition,
++# creating and moving files from /tmp can sometimes cause problems.
++# Hook for its removal unless debugging.
++# Note that there is a small window in which the directory will not be cleaned:
++# after its creation but before its name has been assigned to `$tmp'.
++$debug ||
++{
++  tmp= ac_tmp=
++  trap 'exit_status=$?
++  : "${ac_tmp:=$tmp}"
++  { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status
++' 0
++  trap 'as_fn_exit 1' 1 2 13 15
++}
++# Create a (secure) tmp directory for tmp files.
++
++{
++  tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
++  test -d "$tmp"
++}  ||
++{
++  tmp=./conf$$-$RANDOM
++  (umask 077 && mkdir "$tmp")
++} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5
++ac_tmp=$tmp
++
++# Set up the scripts for CONFIG_FILES section.
++# No need to generate them if there are no CONFIG_FILES.
++# This happens for instance with `./config.status config.h'.
++if test -n "$CONFIG_FILES"; then
++
++
++ac_cr=`echo X | tr X '\015'`
++# On cygwin, bash can eat \r inside `` if the user requested igncr.
++# But we know of no other shell where ac_cr would be empty at this
++# point, so we can use a bashism as a fallback.
++if test "x$ac_cr" = x; then
++  eval ac_cr=\$\'\\r\'
++fi
++ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
++if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
++  ac_cs_awk_cr='\\r'
++else
++  ac_cs_awk_cr=$ac_cr
++fi
++
++echo 'BEGIN {' >"$ac_tmp/subs1.awk" &&
++_ACEOF
++
++
++{
++  echo "cat >conf$$subs.awk <<_ACEOF" &&
++  echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
++  echo "_ACEOF"
++} >conf$$subs.sh ||
++  as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
++ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'`
++ac_delim='%!_!# '
++for ac_last_try in false false false false false :; do
++  . ./conf$$subs.sh ||
++    as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
++
++  ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
++  if test $ac_delim_n = $ac_delim_num; then
++    break
++  elif $ac_last_try; then
++    as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
++  else
++    ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
++  fi
++done
++rm -f conf$$subs.sh
++
++cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
++cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK &&
++_ACEOF
++sed -n '
++h
++s/^/S["/; s/!.*/"]=/
++p
++g
++s/^[^!]*!//
++:repl
++t repl
++s/'"$ac_delim"'$//
++t delim
++:nl
++h
++s/\(.\{148\}\)..*/\1/
++t more1
++s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
++p
++n
++b repl
++:more1
++s/["\\]/\\&/g; s/^/"/; s/$/"\\/
++p
++g
++s/.\{148\}//
++t nl
++:delim
++h
++s/\(.\{148\}\)..*/\1/
++t more2
++s/["\\]/\\&/g; s/^/"/; s/$/"/
++p
++b
++:more2
++s/["\\]/\\&/g; s/^/"/; s/$/"\\/
++p
++g
++s/.\{148\}//
++t delim
++' <conf$$subs.awk | sed '
++/^[^""]/{
++  N
++  s/\n//
++}
++' >>$CONFIG_STATUS || ac_write_fail=1
++rm -f conf$$subs.awk
++cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
++_ACAWK
++cat >>"\$ac_tmp/subs1.awk" <<_ACAWK &&
++  for (key in S) S_is_set[key] = 1
++  FS = "\a"
++
++}
++{
++  line = $ 0
++  nfields = split(line, field, "@")
++  substed = 0
++  len = length(field[1])
++  for (i = 2; i < nfields; i++) {
++    key = field[i]
++    keylen = length(key)
++    if (S_is_set[key]) {
++      value = S[key]
++      line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3)
++      len += length(value) + length(field[++i])
++      substed = 1
++    } else
++      len += 1 + keylen
++  }
++
++  print line
++}
++
++_ACAWK
++_ACEOF
++cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
++if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then
++  sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
++else
++  cat
++fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \
++  || as_fn_error $? "could not setup config files machinery" "$LINENO" 5
++_ACEOF
++
++# VPATH may cause trouble with some makes, so we remove sole $(srcdir),
++# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and
++# trailing colons and then remove the whole line if VPATH becomes empty
++# (actually we leave an empty line to preserve line numbers).
++if test "x$srcdir" = x.; then
++  ac_vpsub='/^[        ]*VPATH[        ]*=[    ]*/{
++h
++s///
++s/^/:/
++s/[    ]*$/:/
++s/:\$(srcdir):/:/g
++s/:\${srcdir}:/:/g
++s/:@srcdir@:/:/g
++s/^:*//
++s/:*$//
++x
++s/\(=[         ]*\).*/\1/
++G
++s/\n//
++s/^[^=]*=[     ]*$//
++}'
++fi
++
++cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
++fi # test -n "$CONFIG_FILES"
++
++# Set up the scripts for CONFIG_HEADERS section.
++# No need to generate them if there are no CONFIG_HEADERS.
++# This happens for instance with `./config.status Makefile'.
++if test -n "$CONFIG_HEADERS"; then
++cat >"$ac_tmp/defines.awk" <<\_ACAWK ||
++BEGIN {
++_ACEOF
++
++# Transform confdefs.h into an awk script `defines.awk', embedded as
++# here-document in config.status, that substitutes the proper values into
++# config.h.in to produce config.h.
++
++# Create a delimiter string that does not exist in confdefs.h, to ease
++# handling of long lines.
++ac_delim='%!_!# '
++for ac_last_try in false false :; do
++  ac_tt=`sed -n "/$ac_delim/p" confdefs.h`
++  if test -z "$ac_tt"; then
++    break
++  elif $ac_last_try; then
++    as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5
++  else
++    ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
++  fi
++done
++
++# For the awk script, D is an array of macro values keyed by name,
++# likewise P contains macro parameters if any.  Preserve backslash
++# newline sequences.
++
++ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]*
++sed -n '
++s/.\{148\}/&'"$ac_delim"'/g
++t rset
++:rset
++s/^[   ]*#[    ]*define[       ][      ]*/ /
++t def
++d
++:def
++s/\\$//
++t bsnl
++s/["\\]/\\&/g
++s/^ \('"$ac_word_re"'\)\(([^()]*)\)[   ]*\(.*\)/P["\1"]="\2"\
++D["\1"]=" \3"/p
++s/^ \('"$ac_word_re"'\)[       ]*\(.*\)/D["\1"]=" \2"/p
++d
++:bsnl
++s/["\\]/\\&/g
++s/^ \('"$ac_word_re"'\)\(([^()]*)\)[   ]*\(.*\)/P["\1"]="\2"\
++D["\1"]=" \3\\\\\\n"\\/p
++t cont
++s/^ \('"$ac_word_re"'\)[       ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p
++t cont
++d
++:cont
++n
++s/.\{148\}/&'"$ac_delim"'/g
++t clear
++:clear
++s/\\$//
++t bsnlc
++s/["\\]/\\&/g; s/^/"/; s/$/"/p
++d
++:bsnlc
++s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p
++b cont
++' <confdefs.h | sed '
++s/'"$ac_delim"'/"\\\
++"/g' >>$CONFIG_STATUS || ac_write_fail=1
++
++cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
++  for (key in D) D_is_set[key] = 1
++  FS = "\a"
++}
++/^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ {
++  line = \$ 0
++  split(line, arg, " ")
++  if (arg[1] == "#") {
++    defundef = arg[2]
++    mac1 = arg[3]
++  } else {
++    defundef = substr(arg[1], 2)
++    mac1 = arg[2]
++  }
++  split(mac1, mac2, "(") #)
++  macro = mac2[1]
++  prefix = substr(line, 1, index(line, defundef) - 1)
++  if (D_is_set[macro]) {
++    # Preserve the white space surrounding the "#".
++    print prefix "define", macro P[macro] D[macro]
++    next
++  } else {
++    # Replace #undef with comments.  This is necessary, for example,
++    # in the case of _POSIX_SOURCE, which is predefined and required
++    # on some systems where configure will not decide to define it.
++    if (defundef == "undef") {
++      print "/*", prefix defundef, macro, "*/"
++      next
++    }
++  }
++}
++{ print }
++_ACAWK
++_ACEOF
++cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
++  as_fn_error $? "could not setup config headers machinery" "$LINENO" 5
++fi # test -n "$CONFIG_HEADERS"
++
++
++eval set X "  :F $CONFIG_FILES  :H $CONFIG_HEADERS    :C $CONFIG_COMMANDS"
++shift
++for ac_tag
++do
++  case $ac_tag in
++  :[FHLC]) ac_mode=$ac_tag; continue;;
++  esac
++  case $ac_mode$ac_tag in
++  :[FHL]*:*);;
++  :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;;
++  :[FH]-) ac_tag=-:-;;
++  :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
++  esac
++  ac_save_IFS=$IFS
++  IFS=:
++  set x $ac_tag
++  IFS=$ac_save_IFS
++  shift
++  ac_file=$1
++  shift
++
++  case $ac_mode in
++  :L) ac_source=$1;;
++  :[FH])
++    ac_file_inputs=
++    for ac_f
++    do
++      case $ac_f in
++      -) ac_f="$ac_tmp/stdin";;
++      *) # Look for the file first in the build tree, then in the source tree
++       # (if the path is not absolute).  The absolute path cannot be DOS-style,
++       # because $ac_f cannot contain `:'.
++       test -f "$ac_f" ||
++         case $ac_f in
++         [\\/$]*) false;;
++         *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
++         esac ||
++         as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;;
++      esac
++      case $ac_f in *\'*) ac_f=`printf "%s\n" "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
++      as_fn_append ac_file_inputs " '$ac_f'"
++    done
++
++    # Let's still pretend it is `configure' which instantiates (i.e., don't
++    # use $as_me), people would be surprised to read:
++    #    /* config.h.  Generated by config.status.  */
++    configure_input='Generated from '`
++        printf "%s\n" "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g'
++      `' by configure.'
++    if test x"$ac_file" != x-; then
++      configure_input="$ac_file.  $configure_input"
++      { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5
++printf "%s\n" "$as_me: creating $ac_file" >&6;}
++    fi
++    # Neutralize special characters interpreted by sed in replacement strings.
++    case $configure_input in #(
++    *\&* | *\|* | *\\* )
++       ac_sed_conf_input=`printf "%s\n" "$configure_input" |
++       sed 's/[\\\\&|]/\\\\&/g'`;; #(
++    *) ac_sed_conf_input=$configure_input;;
++    esac
++
++    case $ac_tag in
++    *:-:* | *:-) cat >"$ac_tmp/stdin" \
++      || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;;
++    esac
++    ;;
++  esac
++
++  ac_dir=`$as_dirname -- "$ac_file" ||
++$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
++       X"$ac_file" : 'X\(//\)[^/]' \| \
++       X"$ac_file" : 'X\(//\)$' \| \
++       X"$ac_file" : 'X\(/\)' \| . 2>/dev/null ||
++printf "%s\n" X"$ac_file" |
++    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
++          s//\1/
++          q
++        }
++        /^X\(\/\/\)[^/].*/{
++          s//\1/
++          q
++        }
++        /^X\(\/\/\)$/{
++          s//\1/
++          q
++        }
++        /^X\(\/\).*/{
++          s//\1/
++          q
++        }
++        s/.*/./; q'`
++  as_dir="$ac_dir"; as_fn_mkdir_p
++  ac_builddir=.
++
++case "$ac_dir" in
++.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
++*)
++  ac_dir_suffix=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'`
++  # A ".." for each directory in $ac_dir_suffix.
++  ac_top_builddir_sub=`printf "%s\n" "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
++  case $ac_top_builddir_sub in
++  "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
++  *)  ac_top_build_prefix=$ac_top_builddir_sub/ ;;
++  esac ;;
++esac
++ac_abs_top_builddir=$ac_pwd
++ac_abs_builddir=$ac_pwd$ac_dir_suffix
++# for backward compatibility:
++ac_top_builddir=$ac_top_build_prefix
++
++case $srcdir in
++  .)  # We are building in place.
++    ac_srcdir=.
++    ac_top_srcdir=$ac_top_builddir_sub
++    ac_abs_top_srcdir=$ac_pwd ;;
++  [\\/]* | ?:[\\/]* )  # Absolute name.
++    ac_srcdir=$srcdir$ac_dir_suffix;
++    ac_top_srcdir=$srcdir
++    ac_abs_top_srcdir=$srcdir ;;
++  *) # Relative name.
++    ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
++    ac_top_srcdir=$ac_top_build_prefix$srcdir
++    ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
++esac
++ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
++
++
++  case $ac_mode in
++  :F)
++  #
++  # CONFIG_FILE
++  #
++
++  case $INSTALL in
++  [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
++  *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;;
++  esac
++  ac_MKDIR_P=$MKDIR_P
++  case $MKDIR_P in
++  [\\/$]* | ?:[\\/]* ) ;;
++  */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;;
++  esac
++_ACEOF
++
++cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
++# If the template does not know about datarootdir, expand it.
++# FIXME: This hack should be removed a few years after 2.60.
++ac_datarootdir_hack=; ac_datarootdir_seen=
++ac_sed_dataroot='
++/datarootdir/ {
++  p
++  q
++}
++/@datadir@/p
++/@docdir@/p
++/@infodir@/p
++/@localedir@/p
++/@mandir@/p'
++case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in
++*datarootdir*) ac_datarootdir_seen=yes;;
++*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
++  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
++printf "%s\n" "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
++_ACEOF
++cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
++  ac_datarootdir_hack='
++  s&@datadir@&$datadir&g
++  s&@docdir@&$docdir&g
++  s&@infodir@&$infodir&g
++  s&@localedir@&$localedir&g
++  s&@mandir@&$mandir&g
++  s&\\\${datarootdir}&$datarootdir&g' ;;
++esac
++_ACEOF
++
++# Neutralize VPATH when `$srcdir' = `.'.
++# Shell code in configure.ac might set extrasub.
++# FIXME: do we really want to maintain this feature?
++cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
++ac_sed_extra="$ac_vpsub
++$extrasub
++_ACEOF
++cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
++:t
++/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
++s|@configure_input@|$ac_sed_conf_input|;t t
++s&@top_builddir@&$ac_top_builddir_sub&;t t
++s&@top_build_prefix@&$ac_top_build_prefix&;t t
++s&@srcdir@&$ac_srcdir&;t t
++s&@abs_srcdir@&$ac_abs_srcdir&;t t
++s&@top_srcdir@&$ac_top_srcdir&;t t
++s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t
++s&@builddir@&$ac_builddir&;t t
++s&@abs_builddir@&$ac_abs_builddir&;t t
++s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
++s&@INSTALL@&$ac_INSTALL&;t t
++s&@MKDIR_P@&$ac_MKDIR_P&;t t
++$ac_datarootdir_hack
++"
++eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \
++  >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5
++
++test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
++  { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } &&
++  { ac_out=`sed -n '/^[        ]*datarootdir[  ]*:*=/p' \
++      "$ac_tmp/out"`; test -z "$ac_out"; } &&
++  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
++which seems to be undefined.  Please make sure it is defined" >&5
++printf "%s\n" "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
++which seems to be undefined.  Please make sure it is defined" >&2;}
++
++  rm -f "$ac_tmp/stdin"
++  case $ac_file in
++  -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";;
++  *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";;
++  esac \
++  || as_fn_error $? "could not create $ac_file" "$LINENO" 5
++ ;;
++  :H)
++  #
++  # CONFIG_HEADER
++  #
++  if test x"$ac_file" != x-; then
++    {
++      printf "%s\n" "/* $configure_input  */" >&1 \
++      && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs"
++    } >"$ac_tmp/config.h" \
++      || as_fn_error $? "could not create $ac_file" "$LINENO" 5
++    if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then
++      { printf "%s\n" "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5
++printf "%s\n" "$as_me: $ac_file is unchanged" >&6;}
++    else
++      rm -f "$ac_file"
++      mv "$ac_tmp/config.h" "$ac_file" \
++      || as_fn_error $? "could not create $ac_file" "$LINENO" 5
++    fi
++  else
++    printf "%s\n" "/* $configure_input  */" >&1 \
++      && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \
++      || as_fn_error $? "could not create -" "$LINENO" 5
++  fi
++# Compute "$ac_file"'s index in $config_headers.
++_am_arg="$ac_file"
++_am_stamp_count=1
++for _am_header in $config_headers :; do
++  case $_am_header in
++    $_am_arg | $_am_arg:* )
++      break ;;
++    * )
++      _am_stamp_count=`expr $_am_stamp_count + 1` ;;
++  esac
++done
++echo "timestamp for $_am_arg" >`$as_dirname -- "$_am_arg" ||
++$as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
++       X"$_am_arg" : 'X\(//\)[^/]' \| \
++       X"$_am_arg" : 'X\(//\)$' \| \
++       X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null ||
++printf "%s\n" X"$_am_arg" |
++    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
++          s//\1/
++          q
++        }
++        /^X\(\/\/\)[^/].*/{
++          s//\1/
++          q
++        }
++        /^X\(\/\/\)$/{
++          s//\1/
++          q
++        }
++        /^X\(\/\).*/{
++          s//\1/
++          q
++        }
++        s/.*/./; q'`/stamp-h$_am_stamp_count
++ ;;
++
++  :C)  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5
++printf "%s\n" "$as_me: executing $ac_file commands" >&6;}
++ ;;
++  esac
++
++
++  case $ac_file$ac_mode in
++    "depfiles":C) test x"$AMDEP_TRUE" != x"" || {
++  # Older Autoconf quotes --file arguments for eval, but not when files
++  # are listed without --file.  Let's play safe and only enable the eval
++  # if we detect the quoting.
++  # TODO: see whether this extra hack can be removed once we start
++  # requiring Autoconf 2.70 or later.
++  case $CONFIG_FILES in #(
++  *\'*) :
++    eval set x "$CONFIG_FILES" ;; #(
++  *) :
++    set x $CONFIG_FILES ;; #(
++  *) :
++     ;;
++esac
++  shift
++  # Used to flag and report bootstrapping failures.
++  am_rc=0
++  for am_mf
++  do
++    # Strip MF so we end up with the name of the file.
++    am_mf=`printf "%s\n" "$am_mf" | sed -e 's/:.*$//'`
++    # Check whether this is an Automake generated Makefile which includes
++    # dependency-tracking related rules and includes.
++    # Grep'ing the whole file directly is not great: AIX grep has a line
++    # limit of 2048, but all sed's we know have understand at least 4000.
++    sed -n 's,^am--depfiles:.*,X,p' "$am_mf" | grep X >/dev/null 2>&1 \
++      || continue
++    am_dirpart=`$as_dirname -- "$am_mf" ||
++$as_expr X"$am_mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
++       X"$am_mf" : 'X\(//\)[^/]' \| \
++       X"$am_mf" : 'X\(//\)$' \| \
++       X"$am_mf" : 'X\(/\)' \| . 2>/dev/null ||
++printf "%s\n" X"$am_mf" |
++    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
++          s//\1/
++          q
++        }
++        /^X\(\/\/\)[^/].*/{
++          s//\1/
++          q
++        }
++        /^X\(\/\/\)$/{
++          s//\1/
++          q
++        }
++        /^X\(\/\).*/{
++          s//\1/
++          q
++        }
++        s/.*/./; q'`
++    am_filepart=`$as_basename -- "$am_mf" ||
++$as_expr X/"$am_mf" : '.*/\([^/][^/]*\)/*$' \| \
++       X"$am_mf" : 'X\(//\)$' \| \
++       X"$am_mf" : 'X\(/\)' \| . 2>/dev/null ||
++printf "%s\n" X/"$am_mf" |
++    sed '/^.*\/\([^/][^/]*\)\/*$/{
++          s//\1/
++          q
++        }
++        /^X\/\(\/\/\)$/{
++          s//\1/
++          q
++        }
++        /^X\/\(\/\).*/{
++          s//\1/
++          q
++        }
++        s/.*/./; q'`
++    { echo "$as_me:$LINENO: cd "$am_dirpart" \
++      && sed -e '/# am--include-marker/d' "$am_filepart" \
++        | $MAKE -f - am--depfiles" >&5
++   (cd "$am_dirpart" \
++      && sed -e '/# am--include-marker/d' "$am_filepart" \
++        | $MAKE -f - am--depfiles) >&5 2>&5
++   ac_status=$?
++   echo "$as_me:$LINENO: \$? = $ac_status" >&5
++   (exit $ac_status); } || am_rc=$?
++  done
++  if test $am_rc -ne 0; then
++    { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
++printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
++as_fn_error $? "Something went wrong bootstrapping makefile fragments
++    for automatic dependency tracking.  If GNU make was not used, consider
++    re-running the configure script with MAKE=\"gmake\" (or whatever is
++    necessary).  You can also try re-running configure with the
++    '--disable-dependency-tracking' option to at least be able to build
++    the package (albeit without support for automatic dependency tracking).
++See \`config.log' for more details" "$LINENO" 5; }
++  fi
++  { am_dirpart=; unset am_dirpart;}
++  { am_filepart=; unset am_filepart;}
++  { am_mf=; unset am_mf;}
++  { am_rc=; unset am_rc;}
++  rm -f conftest-deps.mk
++}
++ ;;
++
++  esac
++done # for ac_tag
++
++
++as_fn_exit 0
++_ACEOF
++ac_clean_files=$ac_clean_files_save
++
++test $ac_write_fail = 0 ||
++  as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5
++
++
++# configure is writing to config.log, and then calls config.status.
++# config.status does its own redirection, appending to config.log.
++# Unfortunately, on DOS this fails, as config.log is still kept open
++# by configure, so config.status won't be able to write to it; its
++# output is simply discarded.  So we exec the FD to /dev/null,
++# effectively closing config.log, so it can be properly (re)opened and
++# appended to by config.status.  When coming back to configure, we
++# need to make the FD available again.
++if test "$no_create" != yes; then
++  ac_cs_success=:
++  ac_config_status_args=
++  test "$silent" = yes &&
++    ac_config_status_args="$ac_config_status_args --quiet"
++  exec 5>/dev/null
++  $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false
++  exec 5>>config.log
++  # Use ||, not &&, to avoid exiting from the if with $? = 1, which
++  # would make configure fail if this is the last instruction.
++  $ac_cs_success || as_fn_exit 1
++fi
++if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
++  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
++printf "%s\n" "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
++fi
++
++
+diff --git a/src/output.c b/src/output.c
+index f5f01cd..81fdcef 100644
+--- a/src/output.c
++++ b/src/output.c
+@@ -151,7 +151,7 @@ int print_header(int option) {
+               erase();
+                   mvwprintw(stdscr,1,2,"bwm-ng v" VERSION" (probing every %2.3fs), press 'h' for help",(float)delay/1000);
+             mvwprintw(stdscr,2,2,"input: %s type: %s",input2str(),output_type2str());
+-            wprintw(stdscr,show_all_if2str());
++            wprintw(stdscr,"%s",show_all_if2str());
+               mvwprintw(stdscr,3,2,"%c         iface                   Rx                   Tx                Total",(char)IDLE_CHARS[option]);
+               /* go to next char for next run */
+               option++;
index 4660dc7ad5917ef983331629e24cc6d93b0ba354..2b0e12cc8a9e1aa1ae47cb112646b9446f4a24a0 100644 (file)
@@ -4,31 +4,23 @@
 ###############################################################################
 
 name       = bzip2
-version    = 1.0.6
-release    = 7
+version    = 1.0.8
+release    = 2
 
 groups     = Applications/Compression
-url        = http://www.bzip.org/
+url        = https://sourceware.org/bzip2/
 license    = GPLv2+
-summary    = Bzip2 is a data compressor.
+summary    = Bzip2 is a data compressor
 
 description
        bzip2 is a freely available, patent free (see below), high-quality data
        compressor that is an alternative to the GNU zip compressor.
 end
 
-source_dl  = http://www.bzip.org/%{version}/
-
-CFLAGS    += -fPIC -D_FILE_OFFSET_BITS=64
+source_dl  = https://sourceware.org/pub/bzip2/
 
 build
-       prepare_cmds
-               sed -i 's@\(ln -s -f \)\$(PREFIX)/bin/@\1@' Makefile
-               sed -e "s/\$(CC) -shared/& %{CFLAGS}/" -i Makefile-libbz2_so
-       end
-
        build
-               %{DO_FIX_LIBTOOL}
                make -f Makefile-libbz2_so %{PARALLELISMFLAGS} \
                        CFLAGS="%{CFLAGS}" LDFLAGS="%{LDFLAGS}"
 
@@ -70,13 +62,9 @@ end
 
 packages
        package %{name}
-               groups += Build
 
-               # Provide older soname to fix problem with
-               # older version of the package.
-               if "%{DISTRO_ARCH}" == "i686"
-                       provides += libbz2.so.1.0
-               end
+       package %{name}-libs
+               template LIBS
        end
 
        package %{name}-devel
diff --git a/bzip2/patches/01-bzip2-saneso.patch b/bzip2/patches/01-bzip2-saneso.patch
new file mode 100644 (file)
index 0000000..ec76a4c
--- /dev/null
@@ -0,0 +1,12 @@
+diff -up bzip2-1.0.6/Makefile-libbz2_so.pom bzip2-1.0.6/Makefile-libbz2_so
+--- bzip2-1.0.6/Makefile-libbz2_so.pom 2010-09-11 01:07:52.000000000 +0200
++++ bzip2-1.0.6/Makefile-libbz2_so     2010-09-22 10:31:46.000000000 +0200
+@@ -35,7 +35,7 @@ OBJS= blocksort.o  \
+       bzlib.o
+ all: $(OBJS)
+-      $(CC) -shared -Wl,-soname -Wl,libbz2.so.1.0 -o libbz2.so.1.0.8 $(OBJS)
++      $(CC) -shared -Wl,-soname -Wl,libbz2.so.1 -o libbz2.so.1.0.8 $(OBJS)
+       $(CC) $(CFLAGS) -o bzip2-shared bzip2.c libbz2.so.1.0.8
+       rm -f libbz2.so.1.0
+       ln -s libbz2.so.1.0.8 libbz2.so.1.0
diff --git a/bzip2/patches/02-bzip2-cflags.patch b/bzip2/patches/02-bzip2-cflags.patch
new file mode 100644 (file)
index 0000000..992abbf
--- /dev/null
@@ -0,0 +1,12 @@
+diff -up bzip2-1.0.6/Makefile-libbz2_so.pom bzip2-1.0.6/Makefile-libbz2_so
+--- bzip2-1.0.6/Makefile-libbz2_so.pom 2010-09-22 10:36:24.000000000 +0200
++++ bzip2-1.0.6/Makefile-libbz2_so     2010-09-22 10:36:58.000000000 +0200
+@@ -35,7 +35,7 @@ OBJS= blocksort.o  \
+       bzlib.o
+ all: $(OBJS)
+-      $(CC) -shared -Wl,-soname -Wl,libbz2.so.1 -o libbz2.so.1.0.8 $(OBJS)
++      $(CC) $(CFLAGS) -shared -Wl,-soname -Wl,libbz2.so.1 -o libbz2.so.1.0.8 $(OBJS)
+       $(CC) $(CFLAGS) -o bzip2-shared bzip2.c libbz2.so.1.0.8
+       rm -f libbz2.so.1.0
+       ln -s libbz2.so.1.0.8 libbz2.so.1.0
diff --git a/bzip2/patches/03-bzip2-ldflags.patch b/bzip2/patches/03-bzip2-ldflags.patch
new file mode 100644 (file)
index 0000000..53c6ecc
--- /dev/null
@@ -0,0 +1,36 @@
+diff -up bzip2-1.0.6/Makefile.jx bzip2-1.0.6/Makefile
+--- bzip2-1.0.6/Makefile.jx    2010-09-10 18:46:02.000000000 -0400
++++ bzip2-1.0.6/Makefile       2015-08-14 13:04:33.891504131 -0400
+@@ -18,10 +18,6 @@ SHELL=/bin/sh
+ CC=gcc
+ AR=ar
+ RANLIB=ranlib
+-LDFLAGS=
+-
+-BIGFILES=-D_FILE_OFFSET_BITS=64
+-CFLAGS=-Wall -Winline -O2 -g $(BIGFILES)
+ # Where you want it installed when you do 'make install'
+ PREFIX=/usr/local
+diff -up bzip2-1.0.6/Makefile-libbz2_so.jx bzip2-1.0.6/Makefile-libbz2_so
+--- bzip2-1.0.6/Makefile-libbz2_so.jx  2015-08-14 13:04:33.885503955 -0400
++++ bzip2-1.0.6/Makefile-libbz2_so     2015-08-14 13:06:52.554581179 -0400
+@@ -24,7 +24,6 @@
+ SHELL=/bin/sh
+ CC=gcc
+ BIGFILES=-D_FILE_OFFSET_BITS=64
+-CFLAGS=-fpic -fPIC -Wall -Winline -O2 -g $(BIGFILES)
+ OBJS= blocksort.o  \
+       huffman.o    \
+@@ -35,8 +34,8 @@ OBJS= blocksort.o  \
+       bzlib.o
+ all: $(OBJS)
+-      $(CC) $(CFLAGS) -shared -Wl,-soname -Wl,libbz2.so.1 -o libbz2.so.1.0.8 $(OBJS)
+-      $(CC) $(CFLAGS) -o bzip2-shared bzip2.c libbz2.so.1.0.8
++      $(CC) $(CFLAGS) $(LDFLAGS) -shared -Wl,-soname -Wl,libbz2.so.1 -o libbz2.so.1.0.8 $(OBJS)
++      $(CC) $(CFLAGS) $(LDFLAGS) -o bzip2-shared bzip2.c libbz2.so.1.0.8
+       rm -f libbz2.so.1.0
+       ln -s libbz2.so.1.0.8 libbz2.so.1.0
diff --git a/bzip2/patches/bzip2-1.0.4-makefile-CFLAGS.patch0 b/bzip2/patches/bzip2-1.0.4-makefile-CFLAGS.patch0
deleted file mode 100644 (file)
index 5a95ed6..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
---- Makefile
-+++ Makefile
-@@ -18,10 +18,9 @@
- CC=gcc
- AR=ar
- RANLIB=ranlib
--LDFLAGS=
- BIGFILES=-D_FILE_OFFSET_BITS=64
--CFLAGS=-Wall -Winline -O2 -g $(BIGFILES)
-+CFLAGS+=-Wall -Winline $(BIGFILES) $(CPPFLAGS)
- # Where you want it installed when you do 'make install'
- PREFIX=/usr/local
---- Makefile-libbz2_so
-+++ Makefile-libbz2_so
-@@ -24,7 +24,7 @@
- SHELL=/bin/sh
- CC=gcc
- BIGFILES=-D_FILE_OFFSET_BITS=64
--CFLAGS=-fpic -fPIC -Wall -Winline -O2 -g $(BIGFILES)
-+CFLAGS+=-fpic -fPIC -Wall -Winline $(BIGFILES) $(CPPFLAGS)
- OBJS= blocksort.o  \
-       huffman.o    \
diff --git a/bzip2/patches/bzip2-1.0.6-saneso.patch0 b/bzip2/patches/bzip2-1.0.6-saneso.patch0
deleted file mode 100644 (file)
index 9c4ddf0..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
---- Makefile-libbz2_so
-+++ Makefile-libbz2_so
-@@ -35,8 +35,8 @@
-       bzlib.o
- all: $(OBJS)
--      $(CC) -shared -Wl,-soname -Wl,libbz2.so.1.0 -o libbz2.so.1.0.6 $(OBJS)
--      $(CC) $(CFLAGS) -o bzip2-shared bzip2.c libbz2.so.1.0.6
-+      $(CC) $(LDFLAGS) -shared -Wl,-soname -Wl,libbz2.so.1 -o libbz2.so.1.0.6 $(OBJS)
-+      $(CC) $(LDFLAGS) $(CFLAGS) -o bzip2-shared bzip2.c libbz2.so.1.0.6
-       rm -f libbz2.so.1.0
-       ln -s libbz2.so.1.0.6 libbz2.so.1.0
index ff05d531c781d574e807d2b8af2a6310c6e6cb7a..1bc08bc9a0b45c1dbbd3d5739c97a7e5946ff035 100644 (file)
@@ -4,13 +4,13 @@
 ###############################################################################
 
 name       = c-ares
-version    = 1.12.0
-release    = 1
+version    = 1.18.1
+release    = 1.1
 
 groups     = System/Libraries
-url        = http://c-ares.haxx.se/
+url        = https://c-ares.org
 license    = MIT
-summary    = A library that performs asynchronous DNS operations.
+summary    = A library that performs asynchronous DNS operations
 
 description
        c-ares is a C library that performs DNS requests and name resolves 
@@ -18,7 +18,7 @@ description
        by Greg Hudson at MIT.
 end
 
-source_dl  = http://c-ares.haxx.se/download/
+source_dl  = https://c-ares.org/download/
 
 build
        configure_options += \
diff --git a/c_icap/c_icap.nm b/c_icap/c_icap.nm
deleted file mode 100644 (file)
index a6f1430..0000000
+++ /dev/null
@@ -1,68 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = c_icap
-version    = 0.4.2
-release    = 3
-
-groups     = Networking/Daemons
-url        = http://c-icap.sourceforge.net
-license    = GPLv2
-summary    = c-icap is an implementation of an ICAP server.
-
-description
-       c-icap is an implementation of an ICAP server. It can be used with \
-       HTTP proxies that support the ICAP protocol to implement content \
-       adaptation and filtering services.
-end
-
-source_dl  = http://downloads.sourceforge.net/project/c-icap/c-icap/0.4.x/
-
-build
-       requires
-               autoconf
-               automake
-               libdb-devel
-               libtool-devel
-               zlib-devel
-       end
-
-       configure_options += \
-               --enable-large-files \
-               --enable-ipv6 \
-               --sysconfdir=/etc/c-icap \
-               --localstatedir=/var
-
-       prepare_cmds
-               autoreconf -vfi
-       end
-end
-
-quality-agent
-       whitelist_rpath
-               /usr/lib
-       end
-end
-
-packages
-       package %{name}
-               recommends = %{name}_modules
-
-               configfiles
-                       /etc/c-icap/c-icap.conf
-                       /etc/c-icap/c-icap.conf.default
-                       /etc/c-icap/c-icap.magic
-                       /etc/c-icap/c-icap.magic.default
-               end
-       end
-
-       package %{name}-devel
-               template DEVEL
-       end
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
diff --git a/c_icap_modules/c_icap_modules.nm b/c_icap_modules/c_icap_modules.nm
deleted file mode 100644 (file)
index acde841..0000000
+++ /dev/null
@@ -1,60 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = c_icap_modules
-version    = 0.4.2
-release    = 2
-
-groups     = Networking/Daemons
-url        = http://c-icap.sourceforge.net
-license    = GPLv2
-summary    = c-icap service modules for clamav and content filrer.
-
-description
-       c-icap is an implementation of an ICAP server. It can be used with \
-       HTTP proxies that support the ICAP protocol to implement content \
-       adaptation and filtering services.
-end
-
-source_dl = http://downloads.sourceforge.net/project/c-icap/c-icap-modules/0.4.x/
-
-build
-       requires
-               autoconf
-               automake
-               c_icap-devel >= 0.4.0
-               clamav-devel
-               libdb-devel
-               libtool-devel
-       end
-
-       configure_options += \
-               --sysconfdir=/etc/c-icap \
-               --localstatedir=/var
-
-       prepare_cmds
-               autoreconf -vfi
-       end
-
-       install
-               mkdir -pv %{BUILDROOT}/etc/c-icap
-               make install DESTDIR=%{BUILDROOT}
-       end
-end
-
-packages
-       package %{name}
-               configfiles
-                       /etc/c-icap/srv_clamav.conf
-                       /etc/c-icap/srv_clamav.conf.default
-                       /etc/c-icap/srv_url_check.conf
-                       /etc/c-icap/srv_url_check.conf.default
-               end
-       end
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
index 8d57b866349525a8108928cba976e8660cecd273..130a59e317d6a1025980801a059f2e1b1ca36e97 100644 (file)
@@ -1,5 +1,6 @@
 # One blacklist entry per line, corresponding to the label in certdata.txt.
 
-# MD5 Collision Proof of Concept CA
-"MD5 Collisions Forged Rogue CA 25c3"
-
+# https://lists.ipfire.org/pipermail/development/2022-November/014681.html
+"TrustCor RootCert CA-1"
+"TrustCor RootCert CA-2"
+"TrustCor ECA-1"
index 2a44912aefbef3f30b8412612fb643ba3923b521..4a879f9d896c7126d5ccf9421e3ef60d2d05e022 100644 (file)
@@ -4,9 +4,8 @@
 ###############################################################################
 
 name       = ca-certificates
-version    = 2019.05
+version    = 2023.09
 release    = 1
-arch       = noarch
 
 groups     = System/Base
 url        = https://www.mozilla.org/
@@ -22,34 +21,33 @@ end
 sources    =
 
 build
+       arches = noarch
+
        requires
                openssl
-               perl
-               rcs
+               p11-kit >= 0.25
+               python3
        end
 
        DIR_APP = %{DIR_SOURCE}
 
        build
-               # Create file layout.
+               # Create file layout
                mkdir -pv certs
                cp certdata.txt blacklist.txt certs
-               cd certs
 
-               python %{DIR_SOURCE}/certdata2pem.py
+               pushd certs
+               python3 %{DIR_SOURCE}/certdata2pem.py
+               popd
 
-               cd ..
                (cat <<EOF
                # This is a bundle of X.509 certificates of public Certificate
                # Authorities.  It was generated from the Mozilla root CA list.
                # 
                # Source: mozilla/security/nss/lib/ckfw/builtins/certdata.txt
                #
-               # Generated from:
                EOF
-               ident -q certdata.txt | sed '1d;s/^/#/';
-
-               echo '#' ) > ca-bundle.crt
+               ) > ca-bundle.crt
 
                (cat <<EOF
                # This is a bundle of X.509 certificates of public Certificate
@@ -59,33 +57,32 @@ build
                #
                # Source: mozilla/security/nss/lib/ckfw/builtins/certdata.txt
                #
-               # Generated from:
                EOF
-               ident -q certdata.txt | sed '1d;s/^/#/';
-               echo '#' ) > ca-bundle.trust.crt
-
-               for f in certs/*.crt; do 
-                       [ -z "${f}" ] && continue
-
-                       tbits=$(sed -n '/^# openssl-trust/{s/^.*=//;p;}' ${f})
-                       case "${tbits}" in
-                               *serverAuth*)
-                                       openssl x509 -text -in "${f}" >> ca-bundle.crt
-                                       ;;
-                       esac
-
-                       if [ -n "$tbits" ]; then
-                               targs=""
-                               for t in ${tbits}; do
-                                       targs="${targs} -addtrust ${t}"
-                               done
-
-                               openssl x509 -text -in "${f}" -trustout $targs >> ca-bundle.trust.crt
-                       fi
+               ) > ca-bundle.trust.crt
+
+               mkdir -pv /etc/pki/ca-trust/source
+
+               # Collect all certs for p11-kit
+               for p in certs/*.tmp-p11-kit; do
+                       cat "${p}" >> /etc/pki/ca-trust/source/ca-bundle.trust.p11-kit
                done
 
-               perl generate-cacerts.pl /usr/bin/keytool ../ca-bundle.crt
-               touch -r certdata.txt cacerts
+               trust extract \
+                       --overwrite \
+                       --comment \
+                       --filter=certificates \
+                       --format=openssl-bundle \
+                       ca-bundle.trust
+               cat ca-bundle.trust >> ca-bundle.trust.crt
+
+               trust extract \
+                       --overwrite \
+                       --comment \
+                       --filter=ca-anchors \
+                       --format=pem-bundle \
+                       --purpose=server-auth \
+                       ca-bundle
+               cat ca-bundle >> ca-bundle.crt
        end
 
        install
index 61ce1dee63db313afd439381fd1ce75aad5a3c50..dd113ae00101dc491314e71d8609301c977b9e84 100644 (file)
@@ -1,4 +1,4 @@
-# 
+#
 # 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/.
 #
 #    Certificates
 #
-#  -- Attribute --          -- type --              -- value --
-#  CKA_CLASS                CK_OBJECT_CLASS         CKO_CERTIFICATE
-#  CKA_TOKEN                CK_BBOOL                CK_TRUE
-#  CKA_PRIVATE              CK_BBOOL                CK_FALSE
-#  CKA_MODIFIABLE           CK_BBOOL                CK_FALSE
-#  CKA_LABEL                UTF8                    (varies)
-#  CKA_CERTIFICATE_TYPE     CK_CERTIFICATE_TYPE     CKC_X_509
-#  CKA_SUBJECT              DER+base64              (varies)
-#  CKA_ID                   byte array              (varies)
-#  CKA_ISSUER               DER+base64              (varies)
-#  CKA_SERIAL_NUMBER        DER+base64              (varies)
-#  CKA_VALUE                DER+base64              (varies)
-#  CKA_NSS_EMAIL            ASCII7                  (unused here)
+#  -- Attribute --               -- type --          -- value --
+#  CKA_CLASS                     CK_OBJECT_CLASS     CKO_CERTIFICATE
+#  CKA_TOKEN                     CK_BBOOL            CK_TRUE
+#  CKA_PRIVATE                   CK_BBOOL            CK_FALSE
+#  CKA_MODIFIABLE                CK_BBOOL            CK_FALSE
+#  CKA_LABEL                     UTF8                (varies)
+#  CKA_CERTIFICATE_TYPE          CK_CERTIFICATE_TYPE CKC_X_509
+#  CKA_SUBJECT                   DER+base64          (varies)
+#  CKA_ID                        byte array          (varies)
+#  CKA_ISSUER                    DER+base64          (varies)
+#  CKA_SERIAL_NUMBER             DER+base64          (varies)
+#  CKA_VALUE                     DER+base64          (varies)
+#  CKA_NSS_EMAIL                 ASCII7              (unused here)
+#  CKA_NSS_SERVER_DISTRUST_AFTER DER+base64          (varies)
+#  CKA_NSS_EMAIL_DISTRUST_AFTER  DER+base64          (varies)
 #
 #    Trust
 #
@@ -77,7 +79,7 @@ CKA_LABEL UTF8 "Mozilla Builtin Roots"
 # 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
+# Fingerprint (SHA-256): EB:D4:10:40:E4:BB:3E:C7:42:C9:E3:81:D3:1E:F2:A4:1A:48:B6:68:5C:96:E7:CE:F3:C1:DF:6C:D4:33:1C:99
 # Fingerprint (SHA1): B1:BC:96:8B:D4:F4:9D:62:2A:A8:9A:81:F2:15:01:52:A4:1D:82:9C
 CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
 CKA_TOKEN CK_BBOOL CK_TRUE
@@ -164,14 +166,16 @@ CKA_VALUE MULTILINE_OCTAL
 \125\342\374\110\311\051\046\151\340
 END
 CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
 
-# Trust for Certificate "GlobalSign Root CA"
+# Trust for "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
+# Fingerprint (SHA-256): EB:D4:10:40:E4:BB:3E:C7:42:C9:E3:81:D3:1E:F2:A4:1A:48:B6:68:5C:96:E7:CE:F3:C1:DF:6C:D4:33:1C:99
 # Fingerprint (SHA1): B1:BC:96:8B:D4:F4:9D:62:2A:A8:9A:81:F2:15:01:52:A4:1D:82:9C
 CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
 CKA_TOKEN CK_BBOOL CK_TRUE
@@ -201,139 +205,6 @@ CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
 CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
 CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
 
-#
-# 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
-# Fingerprint (SHA1): 75:E0:AB:B6:13:85:12:27:1C:04:F8:5F:DD:DE:38:E4:B7:24:2E:FE
-CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
-CKA_TOKEN CK_BBOOL CK_TRUE
-CKA_PRIVATE CK_BBOOL CK_FALSE
-CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "GlobalSign Root CA - R2"
-CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
-CKA_SUBJECT MULTILINE_OCTAL
-\060\114\061\040\060\036\006\003\125\004\013\023\027\107\154\157
-\142\141\154\123\151\147\156\040\122\157\157\164\040\103\101\040
-\055\040\122\062\061\023\060\021\006\003\125\004\012\023\012\107
-\154\157\142\141\154\123\151\147\156\061\023\060\021\006\003\125
-\004\003\023\012\107\154\157\142\141\154\123\151\147\156
-END
-CKA_ID UTF8 "0"
-CKA_ISSUER MULTILINE_OCTAL
-\060\114\061\040\060\036\006\003\125\004\013\023\027\107\154\157
-\142\141\154\123\151\147\156\040\122\157\157\164\040\103\101\040
-\055\040\122\062\061\023\060\021\006\003\125\004\012\023\012\107
-\154\157\142\141\154\123\151\147\156\061\023\060\021\006\003\125
-\004\003\023\012\107\154\157\142\141\154\123\151\147\156
-END
-CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\013\004\000\000\000\000\001\017\206\046\346\015
-END
-CKA_VALUE MULTILINE_OCTAL
-\060\202\003\272\060\202\002\242\240\003\002\001\002\002\013\004
-\000\000\000\000\001\017\206\046\346\015\060\015\006\011\052\206
-\110\206\367\015\001\001\005\005\000\060\114\061\040\060\036\006
-\003\125\004\013\023\027\107\154\157\142\141\154\123\151\147\156
-\040\122\157\157\164\040\103\101\040\055\040\122\062\061\023\060
-\021\006\003\125\004\012\023\012\107\154\157\142\141\154\123\151
-\147\156\061\023\060\021\006\003\125\004\003\023\012\107\154\157
-\142\141\154\123\151\147\156\060\036\027\015\060\066\061\062\061
-\065\060\070\060\060\060\060\132\027\015\062\061\061\062\061\065
-\060\070\060\060\060\060\132\060\114\061\040\060\036\006\003\125
-\004\013\023\027\107\154\157\142\141\154\123\151\147\156\040\122
-\157\157\164\040\103\101\040\055\040\122\062\061\023\060\021\006
-\003\125\004\012\023\012\107\154\157\142\141\154\123\151\147\156
-\061\023\060\021\006\003\125\004\003\023\012\107\154\157\142\141
-\154\123\151\147\156\060\202\001\042\060\015\006\011\052\206\110
-\206\367\015\001\001\001\005\000\003\202\001\017\000\060\202\001
-\012\002\202\001\001\000\246\317\044\016\276\056\157\050\231\105
-\102\304\253\076\041\124\233\013\323\177\204\160\372\022\263\313
-\277\207\137\306\177\206\323\262\060\134\326\375\255\361\173\334
-\345\370\140\226\011\222\020\365\320\123\336\373\173\176\163\210
-\254\122\210\173\112\246\312\111\246\136\250\247\214\132\021\274
-\172\202\353\276\214\351\263\254\226\045\007\227\112\231\052\007
-\057\264\036\167\277\212\017\265\002\174\033\226\270\305\271\072
-\054\274\326\022\271\353\131\175\342\320\006\206\137\136\111\152
-\265\071\136\210\064\354\274\170\014\010\230\204\154\250\315\113
-\264\240\175\014\171\115\360\270\055\313\041\312\325\154\133\175
-\341\240\051\204\241\371\323\224\111\313\044\142\221\040\274\335
-\013\325\331\314\371\352\047\012\053\163\221\306\235\033\254\310
-\313\350\340\240\364\057\220\213\115\373\260\066\033\366\031\172
-\205\340\155\362\141\023\210\134\237\340\223\012\121\227\212\132
-\316\257\253\325\367\252\011\252\140\275\334\331\137\337\162\251
-\140\023\136\000\001\311\112\372\077\244\352\007\003\041\002\216
-\202\312\003\302\233\217\002\003\001\000\001\243\201\234\060\201
-\231\060\016\006\003\125\035\017\001\001\377\004\004\003\002\001
-\006\060\017\006\003\125\035\023\001\001\377\004\005\060\003\001
-\001\377\060\035\006\003\125\035\016\004\026\004\024\233\342\007
-\127\147\034\036\300\152\006\336\131\264\232\055\337\334\031\206
-\056\060\066\006\003\125\035\037\004\057\060\055\060\053\240\051
-\240\047\206\045\150\164\164\160\072\057\057\143\162\154\056\147
-\154\157\142\141\154\163\151\147\156\056\156\145\164\057\162\157
-\157\164\055\162\062\056\143\162\154\060\037\006\003\125\035\043
-\004\030\060\026\200\024\233\342\007\127\147\034\036\300\152\006
-\336\131\264\232\055\337\334\031\206\056\060\015\006\011\052\206
-\110\206\367\015\001\001\005\005\000\003\202\001\001\000\231\201
-\123\207\034\150\227\206\221\354\340\112\270\104\013\253\201\254
-\047\117\326\301\270\034\103\170\263\014\232\374\352\054\074\156
-\141\033\115\113\051\365\237\005\035\046\301\270\351\203\000\142
-\105\266\251\010\223\271\251\063\113\030\232\302\370\207\210\116
-\333\335\161\064\032\301\124\332\106\077\340\323\052\253\155\124
-\042\365\072\142\315\040\157\272\051\211\327\335\221\356\323\134
-\242\076\241\133\101\365\337\345\144\103\055\351\325\071\253\322
-\242\337\267\213\320\300\200\031\034\105\300\055\214\350\370\055
-\244\164\126\111\305\005\265\117\025\336\156\104\170\071\207\250
-\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
-# Fingerprint (SHA1): 75:E0:AB:B6:13:85:12:27:1C:04:F8:5F:DD:DE:38:E4:B7:24:2E:FE
-CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
-CKA_TOKEN CK_BBOOL CK_TRUE
-CKA_PRIVATE CK_BBOOL CK_FALSE
-CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "GlobalSign Root CA - R2"
-CKA_CERT_SHA1_HASH MULTILINE_OCTAL
-\165\340\253\266\023\205\022\047\034\004\370\137\335\336\070\344
-\267\044\056\376
-END
-CKA_CERT_MD5_HASH MULTILINE_OCTAL
-\224\024\167\176\076\136\375\217\060\275\101\260\317\347\320\060
-END
-CKA_ISSUER MULTILINE_OCTAL
-\060\114\061\040\060\036\006\003\125\004\013\023\027\107\154\157
-\142\141\154\123\151\147\156\040\122\157\157\164\040\103\101\040
-\055\040\122\062\061\023\060\021\006\003\125\004\012\023\012\107
-\154\157\142\141\154\123\151\147\156\061\023\060\021\006\003\125
-\004\003\023\012\107\154\157\142\141\154\123\151\147\156
-END
-CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\013\004\000\000\000\000\001\017\206\046\346\015
-END
-CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
-CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
-CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
-CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
-
 #
 # Certificate "Verisign Class 1 Public Primary Certification Authority - G3"
 #
@@ -342,7 +213,7 @@ CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
 # 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
+# Fingerprint (SHA-256): CB:B5:AF:18:5E:94:2A:24:02:F9:EA:CB:C0:ED:5B:B8:76:EE:A3:C1:22:36:23:D0:04:47:E4:F3:BA:55:4B:65
 # Fingerprint (SHA1): 20:42:85:DC:F7:EB:76:41:95:57:8E:13:6B:D4:B7:D1:E9:8E:46:A5
 CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
 CKA_TOKEN CK_BBOOL CK_TRUE
@@ -454,14 +325,19 @@ CKA_VALUE MULTILINE_OCTAL
 \113\336\006\226\161\054\362\333\266\037\244\357\077\356
 END
 CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+# For Email Distrust After: Wed Aug 31 00:00:00 2022
+CKA_NSS_EMAIL_DISTRUST_AFTER MULTILINE_OCTAL
+\062\062\060\070\063\061\060\060\060\060\060\060\132
+END
 
-# Trust for Certificate "Verisign Class 1 Public Primary Certification Authority - G3"
+# Trust for "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
+# Fingerprint (SHA-256): CB:B5:AF:18:5E:94:2A:24:02:F9:EA:CB:C0:ED:5B:B8:76:EE:A3:C1:22:36:23:D0:04:47:E4:F3:BA:55:4B:65
 # Fingerprint (SHA1): 20:42:85:DC:F7:EB:76:41:95:57:8E:13:6B:D4:B7:D1:E9:8E:46:A5
 CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
 CKA_TOKEN CK_BBOOL CK_TRUE
@@ -507,7 +383,7 @@ CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
 # 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
+# Fingerprint (SHA-256): 92:A9:D9:83:3F:E1:94:4D:B3:66:E8:BF:AE:7A:95:B6:48:0C:2D:6C:6C:2A:1B:E6:5D:42:36:B6:08:FC:A1:BB
 # Fingerprint (SHA1): 61:EF:43:D7:7F:CA:D4:61:51:BC:98:E0:C3:59:12:AF:9F:EB:63:11
 CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
 CKA_TOKEN CK_BBOOL CK_TRUE
@@ -619,14 +495,19 @@ CKA_VALUE MULTILINE_OCTAL
 \311\130\020\371\252\357\132\266\317\113\113\337\052
 END
 CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+# For Email Distrust After: Wed Aug 31 00:00:00 2022
+CKA_NSS_EMAIL_DISTRUST_AFTER MULTILINE_OCTAL
+\062\062\060\070\063\061\060\060\060\060\060\060\132
+END
 
-# Trust for Certificate "Verisign Class 2 Public Primary Certification Authority - G3"
+# Trust for "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
+# Fingerprint (SHA-256): 92:A9:D9:83:3F:E1:94:4D:B3:66:E8:BF:AE:7A:95:B6:48:0C:2D:6C:6C:2A:1B:E6:5D:42:36:B6:08:FC:A1:BB
 # Fingerprint (SHA1): 61:EF:43:D7:7F:CA:D4:61:51:BC:98:E0:C3:59:12:AF:9F:EB:63:11
 CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
 CKA_TOKEN CK_BBOOL CK_TRUE
@@ -664,283 +545,6 @@ CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
 CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
 CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
 
-#
-# 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
-# Fingerprint (SHA1): 13:2D:0D:45:53:4B:69:97:CD:B2:D5:C3:39:E2:55:76:60:9B:5C:C6
-CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
-CKA_TOKEN CK_BBOOL CK_TRUE
-CKA_PRIVATE CK_BBOOL CK_FALSE
-CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "Verisign Class 3 Public Primary Certification Authority - G3"
-CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
-CKA_SUBJECT MULTILINE_OCTAL
-\060\201\312\061\013\060\011\006\003\125\004\006\023\002\125\123
-\061\027\060\025\006\003\125\004\012\023\016\126\145\162\151\123
-\151\147\156\054\040\111\156\143\056\061\037\060\035\006\003\125
-\004\013\023\026\126\145\162\151\123\151\147\156\040\124\162\165
-\163\164\040\116\145\164\167\157\162\153\061\072\060\070\006\003
-\125\004\013\023\061\050\143\051\040\061\071\071\071\040\126\145
-\162\151\123\151\147\156\054\040\111\156\143\056\040\055\040\106
-\157\162\040\141\165\164\150\157\162\151\172\145\144\040\165\163
-\145\040\157\156\154\171\061\105\060\103\006\003\125\004\003\023
-\074\126\145\162\151\123\151\147\156\040\103\154\141\163\163\040
-\063\040\120\165\142\154\151\143\040\120\162\151\155\141\162\171
-\040\103\145\162\164\151\146\151\143\141\164\151\157\156\040\101
-\165\164\150\157\162\151\164\171\040\055\040\107\063
-END
-CKA_ID UTF8 "0"
-CKA_ISSUER MULTILINE_OCTAL
-\060\201\312\061\013\060\011\006\003\125\004\006\023\002\125\123
-\061\027\060\025\006\003\125\004\012\023\016\126\145\162\151\123
-\151\147\156\054\040\111\156\143\056\061\037\060\035\006\003\125
-\004\013\023\026\126\145\162\151\123\151\147\156\040\124\162\165
-\163\164\040\116\145\164\167\157\162\153\061\072\060\070\006\003
-\125\004\013\023\061\050\143\051\040\061\071\071\071\040\126\145
-\162\151\123\151\147\156\054\040\111\156\143\056\040\055\040\106
-\157\162\040\141\165\164\150\157\162\151\172\145\144\040\165\163
-\145\040\157\156\154\171\061\105\060\103\006\003\125\004\003\023
-\074\126\145\162\151\123\151\147\156\040\103\154\141\163\163\040
-\063\040\120\165\142\154\151\143\040\120\162\151\155\141\162\171
-\040\103\145\162\164\151\146\151\143\141\164\151\157\156\040\101
-\165\164\150\157\162\151\164\171\040\055\040\107\063
-END
-CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\021\000\233\176\006\111\243\076\142\271\325\356\220\110\161
-\051\357\127
-END
-CKA_VALUE MULTILINE_OCTAL
-\060\202\004\032\060\202\003\002\002\021\000\233\176\006\111\243
-\076\142\271\325\356\220\110\161\051\357\127\060\015\006\011\052
-\206\110\206\367\015\001\001\005\005\000\060\201\312\061\013\060
-\011\006\003\125\004\006\023\002\125\123\061\027\060\025\006\003
-\125\004\012\023\016\126\145\162\151\123\151\147\156\054\040\111
-\156\143\056\061\037\060\035\006\003\125\004\013\023\026\126\145
-\162\151\123\151\147\156\040\124\162\165\163\164\040\116\145\164
-\167\157\162\153\061\072\060\070\006\003\125\004\013\023\061\050
-\143\051\040\061\071\071\071\040\126\145\162\151\123\151\147\156
-\054\040\111\156\143\056\040\055\040\106\157\162\040\141\165\164
-\150\157\162\151\172\145\144\040\165\163\145\040\157\156\154\171
-\061\105\060\103\006\003\125\004\003\023\074\126\145\162\151\123
-\151\147\156\040\103\154\141\163\163\040\063\040\120\165\142\154
-\151\143\040\120\162\151\155\141\162\171\040\103\145\162\164\151
-\146\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151
-\164\171\040\055\040\107\063\060\036\027\015\071\071\061\060\060
-\061\060\060\060\060\060\060\132\027\015\063\066\060\067\061\066
-\062\063\065\071\065\071\132\060\201\312\061\013\060\011\006\003
-\125\004\006\023\002\125\123\061\027\060\025\006\003\125\004\012
-\023\016\126\145\162\151\123\151\147\156\054\040\111\156\143\056
-\061\037\060\035\006\003\125\004\013\023\026\126\145\162\151\123
-\151\147\156\040\124\162\165\163\164\040\116\145\164\167\157\162
-\153\061\072\060\070\006\003\125\004\013\023\061\050\143\051\040
-\061\071\071\071\040\126\145\162\151\123\151\147\156\054\040\111
-\156\143\056\040\055\040\106\157\162\040\141\165\164\150\157\162
-\151\172\145\144\040\165\163\145\040\157\156\154\171\061\105\060
-\103\006\003\125\004\003\023\074\126\145\162\151\123\151\147\156
-\040\103\154\141\163\163\040\063\040\120\165\142\154\151\143\040
-\120\162\151\155\141\162\171\040\103\145\162\164\151\146\151\143
-\141\164\151\157\156\040\101\165\164\150\157\162\151\164\171\040
-\055\040\107\063\060\202\001\042\060\015\006\011\052\206\110\206
-\367\015\001\001\001\005\000\003\202\001\017\000\060\202\001\012
-\002\202\001\001\000\313\272\234\122\374\170\037\032\036\157\033
-\067\163\275\370\311\153\224\022\060\117\360\066\107\365\320\221
-\012\365\027\310\245\141\301\026\100\115\373\212\141\220\345\166
-\040\301\021\006\175\253\054\156\246\365\021\101\216\372\055\255
-\052\141\131\244\147\046\114\320\350\274\122\133\160\040\004\130
-\321\172\311\244\151\274\203\027\144\255\005\213\274\320\130\316
-\215\214\365\353\360\102\111\013\235\227\047\147\062\156\341\256
-\223\025\034\160\274\040\115\057\030\336\222\210\350\154\205\127
-\021\032\351\176\343\046\021\124\242\105\226\125\203\312\060\211
-\350\334\330\243\355\052\200\077\177\171\145\127\076\025\040\146
-\010\057\225\223\277\252\107\057\250\106\227\360\022\342\376\302
-\012\053\121\346\166\346\267\106\267\342\015\246\314\250\303\114
-\131\125\211\346\350\123\134\034\352\235\360\142\026\013\247\311
-\137\014\360\336\302\166\316\257\367\152\362\372\101\246\242\063
-\024\311\345\172\143\323\236\142\067\325\205\145\236\016\346\123
-\044\164\033\136\035\022\123\133\307\054\347\203\111\073\025\256
-\212\150\271\127\227\002\003\001\000\001\060\015\006\011\052\206
-\110\206\367\015\001\001\005\005\000\003\202\001\001\000\021\024
-\226\301\253\222\010\367\077\057\311\262\376\344\132\237\144\336
-\333\041\117\206\231\064\166\066\127\335\320\025\057\305\255\177
-\025\037\067\142\163\076\324\347\137\316\027\003\333\065\372\053
-\333\256\140\011\137\036\137\217\156\273\013\075\352\132\023\036
-\014\140\157\265\300\265\043\042\056\007\013\313\251\164\313\107
-\273\035\301\327\245\153\314\057\322\102\375\111\335\247\211\317
-\123\272\332\000\132\050\277\202\337\370\272\023\035\120\206\202
-\375\216\060\217\051\106\260\036\075\065\332\070\142\026\030\112
-\255\346\266\121\154\336\257\142\353\001\320\036\044\376\172\217
-\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
-# Fingerprint (SHA1): 13:2D:0D:45:53:4B:69:97:CD:B2:D5:C3:39:E2:55:76:60:9B:5C:C6
-CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
-CKA_TOKEN CK_BBOOL CK_TRUE
-CKA_PRIVATE CK_BBOOL CK_FALSE
-CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "Verisign Class 3 Public Primary Certification Authority - G3"
-CKA_CERT_SHA1_HASH MULTILINE_OCTAL
-\023\055\015\105\123\113\151\227\315\262\325\303\071\342\125\166
-\140\233\134\306
-END
-CKA_CERT_MD5_HASH MULTILINE_OCTAL
-\315\150\266\247\307\304\316\165\340\035\117\127\104\141\222\011
-END
-CKA_ISSUER MULTILINE_OCTAL
-\060\201\312\061\013\060\011\006\003\125\004\006\023\002\125\123
-\061\027\060\025\006\003\125\004\012\023\016\126\145\162\151\123
-\151\147\156\054\040\111\156\143\056\061\037\060\035\006\003\125
-\004\013\023\026\126\145\162\151\123\151\147\156\040\124\162\165
-\163\164\040\116\145\164\167\157\162\153\061\072\060\070\006\003
-\125\004\013\023\061\050\143\051\040\061\071\071\071\040\126\145
-\162\151\123\151\147\156\054\040\111\156\143\056\040\055\040\106
-\157\162\040\141\165\164\150\157\162\151\172\145\144\040\165\163
-\145\040\157\156\154\171\061\105\060\103\006\003\125\004\003\023
-\074\126\145\162\151\123\151\147\156\040\103\154\141\163\163\040
-\063\040\120\165\142\154\151\143\040\120\162\151\155\141\162\171
-\040\103\145\162\164\151\146\151\143\141\164\151\157\156\040\101
-\165\164\150\157\162\151\164\171\040\055\040\107\063
-END
-CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\021\000\233\176\006\111\243\076\142\271\325\356\220\110\161
-\051\357\127
-END
-CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
-CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
-CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
-CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
-
-# Distrust "Distrust: O=Egypt Trust, OU=VeriSign Trust Network (cert 1/3)"
-# 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:4c:00:36:1b:e5:08:2b:a9:aa:ce:74:0a:05:3e:fb:34
-# Subject: CN=Egypt Trust Class 3 Managed PKI Enterprise Administrator CA,OU=Terms of use at https://www.egypttrust.com/repository/rpa (c)08,OU=VeriSign Trust Network,O=Egypt Trust,C=EG
-# Not Valid Before: Sun May 18 00:00:00 2008
-# Not Valid After : Thu May 17 23:59:59 2018
-# Fingerprint (MD5): A7:91:05:96:B1:56:01:26:4E:BF:80:80:08:86:1B:4D
-# Fingerprint (SHA1): 6A:2C:5C:B0:94:D5:E0:B7:57:FB:0F:58:42:AA:C8:13:A5:80:2F:E1
-CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
-CKA_TOKEN CK_BBOOL CK_TRUE
-CKA_PRIVATE CK_BBOOL CK_FALSE
-CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "Distrust: O=Egypt Trust, OU=VeriSign Trust Network (cert 1/3)"
-CKA_ISSUER MULTILINE_OCTAL
-\060\201\312\061\013\060\011\006\003\125\004\006\023\002\125\123
-\061\027\060\025\006\003\125\004\012\023\016\126\145\162\151\123
-\151\147\156\054\040\111\156\143\056\061\037\060\035\006\003\125
-\004\013\023\026\126\145\162\151\123\151\147\156\040\124\162\165
-\163\164\040\116\145\164\167\157\162\153\061\072\060\070\006\003
-\125\004\013\023\061\050\143\051\040\061\071\071\071\040\126\145
-\162\151\123\151\147\156\054\040\111\156\143\056\040\055\040\106
-\157\162\040\141\165\164\150\157\162\151\172\145\144\040\165\163
-\145\040\157\156\154\171\061\105\060\103\006\003\125\004\003\023
-\074\126\145\162\151\123\151\147\156\040\103\154\141\163\163\040
-\063\040\120\165\142\154\151\143\040\120\162\151\155\141\162\171
-\040\103\145\162\164\151\146\151\143\141\164\151\157\156\040\101
-\165\164\150\157\162\151\164\171\040\055\040\107\063
-END
-CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\020\114\000\066\033\345\010\053\251\252\316\164\012\005\076
-\373\064
-END
-CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_NOT_TRUSTED
-CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_NOT_TRUSTED
-CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_NOT_TRUSTED
-CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
-
-
-# Distrust "Distrust: O=Egypt Trust, OU=VeriSign Trust Network (cert 2/3)"
-# 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:3e:0c:9e:87:69:aa:95:5c:ea:23:d8:45:9e:d4:5b:51
-# Subject: CN=Egypt Trust Class 3 Managed PKI Operational Administrator CA,OU=Terms of use at https://www.egypttrust.com/repository/rpa (c)08,OU=VeriSign Trust Network,O=Egypt Trust,C=EG
-# Not Valid Before: Sun May 18 00:00:00 2008
-# Not Valid After : Thu May 17 23:59:59 2018
-# Fingerprint (MD5): D0:C3:71:17:3E:39:80:C6:50:4F:04:22:DF:40:E1:34
-# Fingerprint (SHA1): 9C:65:5E:D5:FA:E3:B8:96:4D:89:72:F6:3A:63:53:59:3F:5E:B4:4E
-CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
-CKA_TOKEN CK_BBOOL CK_TRUE
-CKA_PRIVATE CK_BBOOL CK_FALSE
-CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "Distrust: O=Egypt Trust, OU=VeriSign Trust Network (cert 2/3)"
-CKA_ISSUER MULTILINE_OCTAL
-\060\201\312\061\013\060\011\006\003\125\004\006\023\002\125\123
-\061\027\060\025\006\003\125\004\012\023\016\126\145\162\151\123
-\151\147\156\054\040\111\156\143\056\061\037\060\035\006\003\125
-\004\013\023\026\126\145\162\151\123\151\147\156\040\124\162\165
-\163\164\040\116\145\164\167\157\162\153\061\072\060\070\006\003
-\125\004\013\023\061\050\143\051\040\061\071\071\071\040\126\145
-\162\151\123\151\147\156\054\040\111\156\143\056\040\055\040\106
-\157\162\040\141\165\164\150\157\162\151\172\145\144\040\165\163
-\145\040\157\156\154\171\061\105\060\103\006\003\125\004\003\023
-\074\126\145\162\151\123\151\147\156\040\103\154\141\163\163\040
-\063\040\120\165\142\154\151\143\040\120\162\151\155\141\162\171
-\040\103\145\162\164\151\146\151\143\141\164\151\157\156\040\101
-\165\164\150\157\162\151\164\171\040\055\040\107\063
-END
-CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\020\076\014\236\207\151\252\225\134\352\043\330\105\236\324
-\133\121
-END
-CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_NOT_TRUSTED
-CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_NOT_TRUSTED
-CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_NOT_TRUSTED
-CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
-
-# Distrust "Distrust: O=Egypt Trust, OU=VeriSign Trust Network (cert 3/3)"
-# 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:12:bd:26:a2:ae:33:c0:7f:24:7b:6a:58:69:f2:0a:76
-# Subject: CN=Egypt Trust Class 3 Managed PKI SCO Administrator CA,OU=Terms of use at https://www.egypttrust.com/repository/rpa (c)08,OU=VeriSign Trust Network,O=Egypt Trust,C=EG
-# Not Valid Before: Sun May 18 00:00:00 2008
-# Not Valid After : Thu May 17 23:59:59 2018
-# Fingerprint (MD5): C2:13:5E:B2:67:8A:5C:F7:91:EF:8F:29:0F:9B:77:6E
-# Fingerprint (SHA1): 83:23:F1:4F:BC:9F:9B:80:B7:9D:ED:14:CD:01:57:CD:FB:08:95:D2
-CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
-CKA_TOKEN CK_BBOOL CK_TRUE
-CKA_PRIVATE CK_BBOOL CK_FALSE
-CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "Distrust: O=Egypt Trust, OU=VeriSign Trust Network (cert 3/3)"
-CKA_ISSUER MULTILINE_OCTAL
-\060\201\312\061\013\060\011\006\003\125\004\006\023\002\125\123
-\061\027\060\025\006\003\125\004\012\023\016\126\145\162\151\123
-\151\147\156\054\040\111\156\143\056\061\037\060\035\006\003\125
-\004\013\023\026\126\145\162\151\123\151\147\156\040\124\162\165
-\163\164\040\116\145\164\167\157\162\153\061\072\060\070\006\003
-\125\004\013\023\061\050\143\051\040\061\071\071\071\040\126\145
-\162\151\123\151\147\156\054\040\111\156\143\056\040\055\040\106
-\157\162\040\141\165\164\150\157\162\151\172\145\144\040\165\163
-\145\040\157\156\154\171\061\105\060\103\006\003\125\004\003\023
-\074\126\145\162\151\123\151\147\156\040\103\154\141\163\163\040
-\063\040\120\165\142\154\151\143\040\120\162\151\155\141\162\171
-\040\103\145\162\164\151\146\151\143\141\164\151\157\156\040\101
-\165\164\150\157\162\151\164\171\040\055\040\107\063
-END
-CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\020\022\275\046\242\256\063\300\177\044\173\152\130\151\362
-\012\166
-END
-CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_NOT_TRUSTED
-CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_NOT_TRUSTED
-CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_NOT_TRUSTED
-CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
-
 #
 # Certificate "Entrust.net Premium 2048 Secure Server CA"
 #
@@ -949,7 +553,7 @@ CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
 # 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
+# Fingerprint (SHA-256): 6D:C4:71:72:E0:1C:BC:B0:BF:62:58:0D:89:5F:E2:B8:AC:9A:D4:F8:73:80:1E:0C:10:B9:C8:37:D2:1E:B1:77
 # Fingerprint (SHA1): 50:30:06:09:1D:97:D4:F5:AE:39:F7:CB:E7:92:7D:7D:65:2D:34:31
 CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
 CKA_TOKEN CK_BBOOL CK_TRUE
@@ -1059,6 +663,8 @@ CKA_VALUE MULTILINE_OCTAL
 \174\136\232\166\351\131\220\305\174\203\065\021\145\121
 END
 CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
 
 # 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
@@ -1066,7 +672,7 @@ CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
 # 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
+# Fingerprint (SHA-256): 6D:C4:71:72:E0:1C:BC:B0:BF:62:58:0D:89:5F:E2:B8:AC:9A:D4:F8:73:80:1E:0C:10:B9:C8:37:D2:1E:B1:77
 # Fingerprint (SHA1): 50:30:06:09:1D:97:D4:F5:AE:39:F7:CB:E7:92:7D:7D:65:2D:34:31
 CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
 CKA_TOKEN CK_BBOOL CK_TRUE
@@ -1110,7 +716,7 @@ CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
 # 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
+# Fingerprint (SHA-256): 16:AF:57:A9:F6:76:B0:AB:12:60:95:AA:5E:BA:DE:F2:2A:B3:11:19:D6:44:AC:95:CD:4B:93:DB:F3:F2:6A:EB
 # Fingerprint (SHA1): D4:DE:20:D0:5E:66:FC:53:FE:1A:50:88:2C:78:DB:28:52:CA:E4:74
 CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
 CKA_TOKEN CK_BBOOL CK_TRUE
@@ -1197,14 +803,16 @@ CKA_VALUE MULTILINE_OCTAL
 \347\201\035\031\303\044\102\352\143\071\251
 END
 CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
 
-# Trust for Certificate "Baltimore CyberTrust Root"
+# Trust for "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
+# Fingerprint (SHA-256): 16:AF:57:A9:F6:76:B0:AB:12:60:95:AA:5E:BA:DE:F2:2A:B3:11:19:D6:44:AC:95:CD:4B:93:DB:F3:F2:6A:EB
 # Fingerprint (SHA1): D4:DE:20:D0:5E:66:FC:53:FE:1A:50:88:2C:78:DB:28:52:CA:E4:74
 CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
 CKA_TOKEN CK_BBOOL CK_TRUE
@@ -1235,315 +843,20 @@ CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
 CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
 
 #
-# Certificate "AddTrust Low-Value Services Root"
+# Certificate "Entrust Root Certification Authority"
 #
-# 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
-# Fingerprint (SHA1): CC:AB:0E:A0:4C:23:01:D6:69:7B:DD:37:9F:CD:12:EB:24:E3:94:9D
+# 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 (SHA-256): 73:C1:76:43:4F:1B:C6:D5:AD:F4:5B:0E:76:E7:27:28:7C:8D:E5:76:16:C1:E6:E6:14:1A:2B:2C:BC:7D:8E:4C
+# Fingerprint (SHA1): B3:1E:B1:B7:40:E3:6C:84:02:DA:DC:37:D4:4D:F5:D4:67:49:52:F9
 CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "AddTrust Low-Value Services Root"
-CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
-CKA_SUBJECT MULTILINE_OCTAL
-\060\145\061\013\060\011\006\003\125\004\006\023\002\123\105\061
-\024\060\022\006\003\125\004\012\023\013\101\144\144\124\162\165
-\163\164\040\101\102\061\035\060\033\006\003\125\004\013\023\024
-\101\144\144\124\162\165\163\164\040\124\124\120\040\116\145\164
-\167\157\162\153\061\041\060\037\006\003\125\004\003\023\030\101
-\144\144\124\162\165\163\164\040\103\154\141\163\163\040\061\040
-\103\101\040\122\157\157\164
-END
-CKA_ID UTF8 "0"
-CKA_ISSUER MULTILINE_OCTAL
-\060\145\061\013\060\011\006\003\125\004\006\023\002\123\105\061
-\024\060\022\006\003\125\004\012\023\013\101\144\144\124\162\165
-\163\164\040\101\102\061\035\060\033\006\003\125\004\013\023\024
-\101\144\144\124\162\165\163\164\040\124\124\120\040\116\145\164
-\167\157\162\153\061\041\060\037\006\003\125\004\003\023\030\101
-\144\144\124\162\165\163\164\040\103\154\141\163\163\040\061\040
-\103\101\040\122\157\157\164
-END
-CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\001\001
-END
-CKA_VALUE MULTILINE_OCTAL
-\060\202\004\030\060\202\003\000\240\003\002\001\002\002\001\001
-\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060
-\145\061\013\060\011\006\003\125\004\006\023\002\123\105\061\024
-\060\022\006\003\125\004\012\023\013\101\144\144\124\162\165\163
-\164\040\101\102\061\035\060\033\006\003\125\004\013\023\024\101
-\144\144\124\162\165\163\164\040\124\124\120\040\116\145\164\167
-\157\162\153\061\041\060\037\006\003\125\004\003\023\030\101\144
-\144\124\162\165\163\164\040\103\154\141\163\163\040\061\040\103
-\101\040\122\157\157\164\060\036\027\015\060\060\060\065\063\060
-\061\060\063\070\063\061\132\027\015\062\060\060\065\063\060\061
-\060\063\070\063\061\132\060\145\061\013\060\011\006\003\125\004
-\006\023\002\123\105\061\024\060\022\006\003\125\004\012\023\013
-\101\144\144\124\162\165\163\164\040\101\102\061\035\060\033\006
-\003\125\004\013\023\024\101\144\144\124\162\165\163\164\040\124
-\124\120\040\116\145\164\167\157\162\153\061\041\060\037\006\003
-\125\004\003\023\030\101\144\144\124\162\165\163\164\040\103\154
-\141\163\163\040\061\040\103\101\040\122\157\157\164\060\202\001
-\042\060\015\006\011\052\206\110\206\367\015\001\001\001\005\000
-\003\202\001\017\000\060\202\001\012\002\202\001\001\000\226\226
-\324\041\111\140\342\153\350\101\007\014\336\304\340\334\023\043
-\315\301\065\307\373\326\116\021\012\147\136\365\006\133\153\245
-\010\073\133\051\026\072\347\207\262\064\006\305\274\005\245\003
-\174\202\313\051\020\256\341\210\201\275\326\236\323\376\055\126
-\301\025\316\343\046\235\025\056\020\373\006\217\060\004\336\247
-\264\143\264\377\261\234\256\074\257\167\266\126\305\265\253\242
-\351\151\072\075\016\063\171\062\077\160\202\222\231\141\155\215
-\060\010\217\161\077\246\110\127\031\370\045\334\113\146\134\245
-\164\217\230\256\310\371\300\006\042\347\254\163\337\245\056\373
-\122\334\261\025\145\040\372\065\146\151\336\337\054\361\156\274
-\060\333\054\044\022\333\353\065\065\150\220\313\000\260\227\041
-\075\164\041\043\145\064\053\273\170\131\243\326\341\166\071\232
-\244\111\216\214\164\257\156\244\232\243\331\233\322\070\134\233
-\242\030\314\165\043\204\276\353\342\115\063\161\216\032\360\302
-\370\307\035\242\255\003\227\054\370\317\045\306\366\270\044\061
-\261\143\135\222\177\143\360\045\311\123\056\037\277\115\002\003
-\001\000\001\243\201\322\060\201\317\060\035\006\003\125\035\016
-\004\026\004\024\225\261\264\360\224\266\275\307\332\321\021\011
-\041\276\301\257\111\375\020\173\060\013\006\003\125\035\017\004
-\004\003\002\001\006\060\017\006\003\125\035\023\001\001\377\004
-\005\060\003\001\001\377\060\201\217\006\003\125\035\043\004\201
-\207\060\201\204\200\024\225\261\264\360\224\266\275\307\332\321
-\021\011\041\276\301\257\111\375\020\173\241\151\244\147\060\145
-\061\013\060\011\006\003\125\004\006\023\002\123\105\061\024\060
-\022\006\003\125\004\012\023\013\101\144\144\124\162\165\163\164
-\040\101\102\061\035\060\033\006\003\125\004\013\023\024\101\144
-\144\124\162\165\163\164\040\124\124\120\040\116\145\164\167\157
-\162\153\061\041\060\037\006\003\125\004\003\023\030\101\144\144
-\124\162\165\163\164\040\103\154\141\163\163\040\061\040\103\101
-\040\122\157\157\164\202\001\001\060\015\006\011\052\206\110\206
-\367\015\001\001\005\005\000\003\202\001\001\000\054\155\144\033
-\037\315\015\335\271\001\372\226\143\064\062\110\107\231\256\227
-\355\375\162\026\246\163\107\132\364\353\335\351\365\326\373\105
-\314\051\211\104\135\277\106\071\075\350\356\274\115\124\206\036
-\035\154\343\027\047\103\341\211\126\053\251\157\162\116\111\063
-\343\162\174\052\043\232\274\076\377\050\052\355\243\377\034\043
-\272\103\127\011\147\115\113\142\006\055\370\377\154\235\140\036
-\330\034\113\175\265\061\057\331\320\174\135\370\336\153\203\030
-\170\067\127\057\350\063\007\147\337\036\307\153\052\225\166\256
-\217\127\243\360\364\122\264\251\123\010\317\340\117\323\172\123
-\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
-# Fingerprint (SHA1): CC:AB:0E:A0:4C:23:01:D6:69:7B:DD:37:9F:CD:12:EB:24:E3:94:9D
-CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
-CKA_TOKEN CK_BBOOL CK_TRUE
-CKA_PRIVATE CK_BBOOL CK_FALSE
-CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "AddTrust Low-Value Services Root"
-CKA_CERT_SHA1_HASH MULTILINE_OCTAL
-\314\253\016\240\114\043\001\326\151\173\335\067\237\315\022\353
-\044\343\224\235
-END
-CKA_CERT_MD5_HASH MULTILINE_OCTAL
-\036\102\225\002\063\222\153\271\137\300\177\332\326\262\113\374
-END
-CKA_ISSUER MULTILINE_OCTAL
-\060\145\061\013\060\011\006\003\125\004\006\023\002\123\105\061
-\024\060\022\006\003\125\004\012\023\013\101\144\144\124\162\165
-\163\164\040\101\102\061\035\060\033\006\003\125\004\013\023\024
-\101\144\144\124\162\165\163\164\040\124\124\120\040\116\145\164
-\167\157\162\153\061\041\060\037\006\003\125\004\003\023\030\101
-\144\144\124\162\165\163\164\040\103\154\141\163\163\040\061\040
-\103\101\040\122\157\157\164
-END
-CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\001\001
-END
-CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
-CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
-CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
-CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
-
-#
-# 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
-# Fingerprint (SHA1): 02:FA:F3:E2:91:43:54:68:60:78:57:69:4D:F5:E4:5B:68:85:18:68
-CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
-CKA_TOKEN CK_BBOOL CK_TRUE
-CKA_PRIVATE CK_BBOOL CK_FALSE
-CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "AddTrust External Root"
-CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
-CKA_SUBJECT MULTILINE_OCTAL
-\060\157\061\013\060\011\006\003\125\004\006\023\002\123\105\061
-\024\060\022\006\003\125\004\012\023\013\101\144\144\124\162\165
-\163\164\040\101\102\061\046\060\044\006\003\125\004\013\023\035
-\101\144\144\124\162\165\163\164\040\105\170\164\145\162\156\141
-\154\040\124\124\120\040\116\145\164\167\157\162\153\061\042\060
-\040\006\003\125\004\003\023\031\101\144\144\124\162\165\163\164
-\040\105\170\164\145\162\156\141\154\040\103\101\040\122\157\157
-\164
-END
-CKA_ID UTF8 "0"
-CKA_ISSUER MULTILINE_OCTAL
-\060\157\061\013\060\011\006\003\125\004\006\023\002\123\105\061
-\024\060\022\006\003\125\004\012\023\013\101\144\144\124\162\165
-\163\164\040\101\102\061\046\060\044\006\003\125\004\013\023\035
-\101\144\144\124\162\165\163\164\040\105\170\164\145\162\156\141
-\154\040\124\124\120\040\116\145\164\167\157\162\153\061\042\060
-\040\006\003\125\004\003\023\031\101\144\144\124\162\165\163\164
-\040\105\170\164\145\162\156\141\154\040\103\101\040\122\157\157
-\164
-END
-CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\001\001
-END
-CKA_VALUE MULTILINE_OCTAL
-\060\202\004\066\060\202\003\036\240\003\002\001\002\002\001\001
-\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060
-\157\061\013\060\011\006\003\125\004\006\023\002\123\105\061\024
-\060\022\006\003\125\004\012\023\013\101\144\144\124\162\165\163
-\164\040\101\102\061\046\060\044\006\003\125\004\013\023\035\101
-\144\144\124\162\165\163\164\040\105\170\164\145\162\156\141\154
-\040\124\124\120\040\116\145\164\167\157\162\153\061\042\060\040
-\006\003\125\004\003\023\031\101\144\144\124\162\165\163\164\040
-\105\170\164\145\162\156\141\154\040\103\101\040\122\157\157\164
-\060\036\027\015\060\060\060\065\063\060\061\060\064\070\063\070
-\132\027\015\062\060\060\065\063\060\061\060\064\070\063\070\132
-\060\157\061\013\060\011\006\003\125\004\006\023\002\123\105\061
-\024\060\022\006\003\125\004\012\023\013\101\144\144\124\162\165
-\163\164\040\101\102\061\046\060\044\006\003\125\004\013\023\035
-\101\144\144\124\162\165\163\164\040\105\170\164\145\162\156\141
-\154\040\124\124\120\040\116\145\164\167\157\162\153\061\042\060
-\040\006\003\125\004\003\023\031\101\144\144\124\162\165\163\164
-\040\105\170\164\145\162\156\141\154\040\103\101\040\122\157\157
-\164\060\202\001\042\060\015\006\011\052\206\110\206\367\015\001
-\001\001\005\000\003\202\001\017\000\060\202\001\012\002\202\001
-\001\000\267\367\032\063\346\362\000\004\055\071\340\116\133\355
-\037\274\154\017\315\265\372\043\266\316\336\233\021\063\227\244
-\051\114\175\223\237\275\112\274\223\355\003\032\343\217\317\345
-\155\120\132\326\227\051\224\132\200\260\111\172\333\056\225\375
-\270\312\277\067\070\055\036\076\221\101\255\160\126\307\360\117
-\077\350\062\236\164\312\310\220\124\351\306\137\017\170\235\232
-\100\074\016\254\141\252\136\024\217\236\207\241\152\120\334\327
-\232\116\257\005\263\246\161\224\234\161\263\120\140\012\307\023
-\235\070\007\206\002\250\351\250\151\046\030\220\253\114\260\117
-\043\253\072\117\204\330\337\316\237\341\151\157\273\327\102\327
-\153\104\344\307\255\356\155\101\137\162\132\161\010\067\263\171
-\145\244\131\240\224\067\367\000\057\015\302\222\162\332\320\070
-\162\333\024\250\105\304\135\052\175\267\264\326\304\356\254\315
-\023\104\267\311\053\335\103\000\045\372\141\271\151\152\130\043
-\021\267\247\063\217\126\165\131\365\315\051\327\106\267\012\053
-\145\266\323\102\157\025\262\270\173\373\357\351\135\123\325\064
-\132\047\002\003\001\000\001\243\201\334\060\201\331\060\035\006
-\003\125\035\016\004\026\004\024\255\275\230\172\064\264\046\367
-\372\304\046\124\357\003\275\340\044\313\124\032\060\013\006\003
-\125\035\017\004\004\003\002\001\006\060\017\006\003\125\035\023
-\001\001\377\004\005\060\003\001\001\377\060\201\231\006\003\125
-\035\043\004\201\221\060\201\216\200\024\255\275\230\172\064\264
-\046\367\372\304\046\124\357\003\275\340\044\313\124\032\241\163
-\244\161\060\157\061\013\060\011\006\003\125\004\006\023\002\123
-\105\061\024\060\022\006\003\125\004\012\023\013\101\144\144\124
-\162\165\163\164\040\101\102\061\046\060\044\006\003\125\004\013
-\023\035\101\144\144\124\162\165\163\164\040\105\170\164\145\162
-\156\141\154\040\124\124\120\040\116\145\164\167\157\162\153\061
-\042\060\040\006\003\125\004\003\023\031\101\144\144\124\162\165
-\163\164\040\105\170\164\145\162\156\141\154\040\103\101\040\122
-\157\157\164\202\001\001\060\015\006\011\052\206\110\206\367\015
-\001\001\005\005\000\003\202\001\001\000\260\233\340\205\045\302
-\326\043\342\017\226\006\222\235\101\230\234\331\204\171\201\331
-\036\133\024\007\043\066\145\217\260\330\167\273\254\101\154\107
-\140\203\121\260\371\062\075\347\374\366\046\023\307\200\026\245
-\277\132\374\207\317\170\171\211\041\232\342\114\007\012\206\065
-\274\362\336\121\304\322\226\267\334\176\116\356\160\375\034\071
-\353\014\002\121\024\055\216\275\026\340\301\337\106\165\347\044
-\255\354\364\102\264\205\223\160\020\147\272\235\006\065\112\030
-\323\053\172\314\121\102\241\172\143\321\346\273\241\305\053\302
-\066\276\023\015\346\275\143\176\171\173\247\011\015\100\253\152
-\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
-# Fingerprint (SHA1): 02:FA:F3:E2:91:43:54:68:60:78:57:69:4D:F5:E4:5B:68:85:18:68
-CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
-CKA_TOKEN CK_BBOOL CK_TRUE
-CKA_PRIVATE CK_BBOOL CK_FALSE
-CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "AddTrust External Root"
-CKA_CERT_SHA1_HASH MULTILINE_OCTAL
-\002\372\363\342\221\103\124\150\140\170\127\151\115\365\344\133
-\150\205\030\150
-END
-CKA_CERT_MD5_HASH MULTILINE_OCTAL
-\035\065\124\004\205\170\260\077\102\102\115\277\040\163\012\077
-END
-CKA_ISSUER MULTILINE_OCTAL
-\060\157\061\013\060\011\006\003\125\004\006\023\002\123\105\061
-\024\060\022\006\003\125\004\012\023\013\101\144\144\124\162\165
-\163\164\040\101\102\061\046\060\044\006\003\125\004\013\023\035
-\101\144\144\124\162\165\163\164\040\105\170\164\145\162\156\141
-\154\040\124\124\120\040\116\145\164\167\157\162\153\061\042\060
-\040\006\003\125\004\003\023\031\101\144\144\124\162\165\163\164
-\040\105\170\164\145\162\156\141\154\040\103\101\040\122\157\157
-\164
-END
-CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\001\001
-END
-CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
-CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
-CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
-CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
-
-#
-# 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
-# Fingerprint (SHA1): B3:1E:B1:B7:40:E3:6C:84:02:DA:DC:37:D4:4D:F5:D4:67:49:52:F9
-CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
-CKA_TOKEN CK_BBOOL CK_TRUE
-CKA_PRIVATE CK_BBOOL CK_FALSE
-CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "Entrust Root Certification Authority"
+CKA_LABEL UTF8 "Entrust Root Certification Authority"
 CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
 CKA_SUBJECT MULTILINE_OCTAL
 \060\201\260\061\013\060\011\006\003\125\004\006\023\002\125\123
@@ -1654,14 +967,16 @@ CKA_VALUE MULTILINE_OCTAL
 \036\177\132\264\074
 END
 CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
 
-# Trust for Certificate "Entrust Root Certification Authority"
+# Trust for "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
+# Fingerprint (SHA-256): 73:C1:76:43:4F:1B:C6:D5:AD:F4:5B:0E:76:E7:27:28:7C:8D:E5:76:16:C1:E6:E6:14:1A:2B:2C:BC:7D:8E:4C
 # Fingerprint (SHA1): B3:1E:B1:B7:40:E3:6C:84:02:DA:DC:37:D4:4D:F5:D4:67:49:52:F9
 CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
 CKA_TOKEN CK_BBOOL CK_TRUE
@@ -1697,453 +1012,6 @@ CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
 CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
 CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
 
-#
-# 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
-# Fingerprint (SHA1): DE:28:F4:A4:FF:E5:B9:2F:A3:C5:03:D1:A3:49:A7:F9:96:2A:82:12
-CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
-CKA_TOKEN CK_BBOOL CK_TRUE
-CKA_PRIVATE CK_BBOOL CK_FALSE
-CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "GeoTrust Global CA"
-CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
-CKA_SUBJECT MULTILINE_OCTAL
-\060\102\061\013\060\011\006\003\125\004\006\023\002\125\123\061
-\026\060\024\006\003\125\004\012\023\015\107\145\157\124\162\165
-\163\164\040\111\156\143\056\061\033\060\031\006\003\125\004\003
-\023\022\107\145\157\124\162\165\163\164\040\107\154\157\142\141
-\154\040\103\101
-END
-CKA_ID UTF8 "0"
-CKA_ISSUER MULTILINE_OCTAL
-\060\102\061\013\060\011\006\003\125\004\006\023\002\125\123\061
-\026\060\024\006\003\125\004\012\023\015\107\145\157\124\162\165
-\163\164\040\111\156\143\056\061\033\060\031\006\003\125\004\003
-\023\022\107\145\157\124\162\165\163\164\040\107\154\157\142\141
-\154\040\103\101
-END
-CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\003\002\064\126
-END
-CKA_VALUE MULTILINE_OCTAL
-\060\202\003\124\060\202\002\074\240\003\002\001\002\002\003\002
-\064\126\060\015\006\011\052\206\110\206\367\015\001\001\005\005
-\000\060\102\061\013\060\011\006\003\125\004\006\023\002\125\123
-\061\026\060\024\006\003\125\004\012\023\015\107\145\157\124\162
-\165\163\164\040\111\156\143\056\061\033\060\031\006\003\125\004
-\003\023\022\107\145\157\124\162\165\163\164\040\107\154\157\142
-\141\154\040\103\101\060\036\027\015\060\062\060\065\062\061\060
-\064\060\060\060\060\132\027\015\062\062\060\065\062\061\060\064
-\060\060\060\060\132\060\102\061\013\060\011\006\003\125\004\006
-\023\002\125\123\061\026\060\024\006\003\125\004\012\023\015\107
-\145\157\124\162\165\163\164\040\111\156\143\056\061\033\060\031
-\006\003\125\004\003\023\022\107\145\157\124\162\165\163\164\040
-\107\154\157\142\141\154\040\103\101\060\202\001\042\060\015\006
-\011\052\206\110\206\367\015\001\001\001\005\000\003\202\001\017
-\000\060\202\001\012\002\202\001\001\000\332\314\030\143\060\375
-\364\027\043\032\126\176\133\337\074\154\070\344\161\267\170\221
-\324\274\241\330\114\370\250\103\266\003\351\115\041\007\010\210
-\332\130\057\146\071\051\275\005\170\213\235\070\350\005\267\152
-\176\161\244\346\304\140\246\260\357\200\344\211\050\017\236\045
-\326\355\203\363\255\246\221\307\230\311\102\030\065\024\235\255
-\230\106\222\056\117\312\361\207\103\301\026\225\127\055\120\357
-\211\055\200\172\127\255\362\356\137\153\322\000\215\271\024\370
-\024\025\065\331\300\106\243\173\162\310\221\277\311\125\053\315
-\320\227\076\234\046\144\314\337\316\203\031\161\312\116\346\324
-\325\173\251\031\315\125\336\310\354\322\136\070\123\345\134\117
-\214\055\376\120\043\066\374\146\346\313\216\244\071\031\000\267
-\225\002\071\221\013\016\376\070\056\321\035\005\232\366\115\076
-\157\017\007\035\257\054\036\217\140\071\342\372\066\123\023\071
-\324\136\046\053\333\075\250\024\275\062\353\030\003\050\122\004
-\161\345\253\063\075\341\070\273\007\066\204\142\234\171\352\026
-\060\364\137\300\053\350\161\153\344\371\002\003\001\000\001\243
-\123\060\121\060\017\006\003\125\035\023\001\001\377\004\005\060
-\003\001\001\377\060\035\006\003\125\035\016\004\026\004\024\300
-\172\230\150\215\211\373\253\005\144\014\021\175\252\175\145\270
-\312\314\116\060\037\006\003\125\035\043\004\030\060\026\200\024
-\300\172\230\150\215\211\373\253\005\144\014\021\175\252\175\145
-\270\312\314\116\060\015\006\011\052\206\110\206\367\015\001\001
-\005\005\000\003\202\001\001\000\065\343\051\152\345\057\135\124
-\216\051\120\224\237\231\032\024\344\217\170\052\142\224\242\047
-\147\236\320\317\032\136\107\351\301\262\244\317\335\101\032\005
-\116\233\113\356\112\157\125\122\263\044\241\067\012\353\144\166
-\052\056\054\363\375\073\165\220\277\372\161\330\307\075\067\322
-\265\005\225\142\271\246\336\211\075\066\173\070\167\110\227\254
-\246\040\217\056\246\311\014\302\262\231\105\000\307\316\021\121
-\042\042\340\245\352\266\025\110\011\144\352\136\117\164\367\005
-\076\307\212\122\014\333\025\264\275\155\233\345\306\261\124\150
-\251\343\151\220\266\232\245\017\270\271\077\040\175\256\112\265
-\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
-# Fingerprint (SHA1): DE:28:F4:A4:FF:E5:B9:2F:A3:C5:03:D1:A3:49:A7:F9:96:2A:82:12
-CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
-CKA_TOKEN CK_BBOOL CK_TRUE
-CKA_PRIVATE CK_BBOOL CK_FALSE
-CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "GeoTrust Global CA"
-CKA_CERT_SHA1_HASH MULTILINE_OCTAL
-\336\050\364\244\377\345\271\057\243\305\003\321\243\111\247\371
-\226\052\202\022
-END
-CKA_CERT_MD5_HASH MULTILINE_OCTAL
-\367\165\253\051\373\121\116\267\167\136\377\005\074\231\216\365
-END
-CKA_ISSUER MULTILINE_OCTAL
-\060\102\061\013\060\011\006\003\125\004\006\023\002\125\123\061
-\026\060\024\006\003\125\004\012\023\015\107\145\157\124\162\165
-\163\164\040\111\156\143\056\061\033\060\031\006\003\125\004\003
-\023\022\107\145\157\124\162\165\163\164\040\107\154\157\142\141
-\154\040\103\101
-END
-CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\003\002\064\126
-END
-CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
-CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
-CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
-CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
-
-#
-# 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
-# Fingerprint (SHA1): E6:21:F3:35:43:79:05:9A:4B:68:30:9D:8A:2F:74:22:15:87:EC:79
-CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
-CKA_TOKEN CK_BBOOL CK_TRUE
-CKA_PRIVATE CK_BBOOL CK_FALSE
-CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "GeoTrust Universal CA"
-CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
-CKA_SUBJECT MULTILINE_OCTAL
-\060\105\061\013\060\011\006\003\125\004\006\023\002\125\123\061
-\026\060\024\006\003\125\004\012\023\015\107\145\157\124\162\165
-\163\164\040\111\156\143\056\061\036\060\034\006\003\125\004\003
-\023\025\107\145\157\124\162\165\163\164\040\125\156\151\166\145
-\162\163\141\154\040\103\101
-END
-CKA_ID UTF8 "0"
-CKA_ISSUER MULTILINE_OCTAL
-\060\105\061\013\060\011\006\003\125\004\006\023\002\125\123\061
-\026\060\024\006\003\125\004\012\023\015\107\145\157\124\162\165
-\163\164\040\111\156\143\056\061\036\060\034\006\003\125\004\003
-\023\025\107\145\157\124\162\165\163\164\040\125\156\151\166\145
-\162\163\141\154\040\103\101
-END
-CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\001\001
-END
-CKA_VALUE MULTILINE_OCTAL
-\060\202\005\150\060\202\003\120\240\003\002\001\002\002\001\001
-\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060
-\105\061\013\060\011\006\003\125\004\006\023\002\125\123\061\026
-\060\024\006\003\125\004\012\023\015\107\145\157\124\162\165\163
-\164\040\111\156\143\056\061\036\060\034\006\003\125\004\003\023
-\025\107\145\157\124\162\165\163\164\040\125\156\151\166\145\162
-\163\141\154\040\103\101\060\036\027\015\060\064\060\063\060\064
-\060\065\060\060\060\060\132\027\015\062\071\060\063\060\064\060
-\065\060\060\060\060\132\060\105\061\013\060\011\006\003\125\004
-\006\023\002\125\123\061\026\060\024\006\003\125\004\012\023\015
-\107\145\157\124\162\165\163\164\040\111\156\143\056\061\036\060
-\034\006\003\125\004\003\023\025\107\145\157\124\162\165\163\164
-\040\125\156\151\166\145\162\163\141\154\040\103\101\060\202\002
-\042\060\015\006\011\052\206\110\206\367\015\001\001\001\005\000
-\003\202\002\017\000\060\202\002\012\002\202\002\001\000\246\025
-\125\240\243\306\340\037\214\235\041\120\327\301\276\053\133\265
-\244\236\241\331\162\130\275\000\033\114\277\141\311\024\035\105
-\202\253\306\035\200\326\075\353\020\234\072\257\155\044\370\274
-\161\001\236\006\365\174\137\036\301\016\125\312\203\232\131\060
-\256\031\313\060\110\225\355\042\067\215\364\112\232\162\146\076
-\255\225\300\340\026\000\340\020\037\053\061\016\327\224\124\323
-\102\063\240\064\035\036\105\166\335\117\312\030\067\354\205\025
-\172\031\010\374\325\307\234\360\362\251\056\020\251\222\346\075
-\130\075\251\026\150\074\057\165\041\030\177\050\167\245\341\141
-\027\267\246\351\370\036\231\333\163\156\364\012\242\041\154\356
-\332\252\205\222\146\257\366\172\153\202\332\272\042\010\065\017
-\317\102\361\065\372\152\356\176\053\045\314\072\021\344\155\257
-\163\262\166\035\255\320\262\170\147\032\244\071\034\121\013\147
-\126\203\375\070\135\015\316\335\360\273\053\226\037\336\173\062
-\122\375\035\273\265\006\241\262\041\136\245\326\225\150\177\360
-\231\236\334\105\010\076\347\322\011\015\065\224\335\200\116\123
-\227\327\265\011\104\040\144\026\027\003\002\114\123\015\150\336
-\325\252\162\115\223\155\202\016\333\234\275\317\264\363\134\135
-\124\172\151\011\226\326\333\021\301\215\165\250\264\317\071\310
-\316\074\274\044\174\346\142\312\341\275\175\247\275\127\145\013
-\344\376\045\355\266\151\020\334\050\032\106\275\001\035\320\227
-\265\341\230\073\300\067\144\326\075\224\356\013\341\365\050\256
-\013\126\277\161\213\043\051\101\216\206\305\113\122\173\330\161
-\253\037\212\025\246\073\203\132\327\130\001\121\306\114\101\331
-\177\330\101\147\162\242\050\337\140\203\251\236\310\173\374\123
-\163\162\131\365\223\172\027\166\016\316\367\345\134\331\013\125
-\064\242\252\133\265\152\124\347\023\312\127\354\227\155\364\136
-\006\057\105\213\130\324\043\026\222\344\026\156\050\143\131\060
-\337\120\001\234\143\211\032\237\333\027\224\202\160\067\303\044
-\236\232\107\326\132\312\116\250\151\211\162\037\221\154\333\176
-\236\033\255\307\037\163\335\054\117\031\145\375\177\223\100\020
-\056\322\360\355\074\236\056\050\076\151\046\063\305\173\002\003
-\001\000\001\243\143\060\141\060\017\006\003\125\035\023\001\001
-\377\004\005\060\003\001\001\377\060\035\006\003\125\035\016\004
-\026\004\024\332\273\056\252\260\014\270\210\046\121\164\134\155
-\003\323\300\330\217\172\326\060\037\006\003\125\035\043\004\030
-\060\026\200\024\332\273\056\252\260\014\270\210\046\121\164\134
-\155\003\323\300\330\217\172\326\060\016\006\003\125\035\017\001
-\001\377\004\004\003\002\001\206\060\015\006\011\052\206\110\206
-\367\015\001\001\005\005\000\003\202\002\001\000\061\170\346\307
-\265\337\270\224\100\311\161\304\250\065\354\106\035\302\205\363
-\050\130\206\260\013\374\216\262\071\217\104\125\253\144\204\134
-\151\251\320\232\070\074\372\345\037\065\345\104\343\200\171\224
-\150\244\273\304\237\075\341\064\315\060\106\213\124\053\225\245
-\357\367\077\231\204\375\065\346\317\061\306\334\152\277\247\327
-\043\010\341\230\136\303\132\010\166\251\246\257\167\057\267\140
-\275\104\106\152\357\227\377\163\225\301\216\350\223\373\375\061
-\267\354\127\021\021\105\233\060\361\032\210\071\301\117\074\247
-\000\325\307\374\253\155\200\042\160\245\014\340\135\004\051\002
-\373\313\240\221\321\174\326\303\176\120\325\235\130\276\101\070
-\353\271\165\074\025\331\233\311\112\203\131\300\332\123\375\063
-\273\066\030\233\205\017\025\335\356\055\254\166\223\271\331\001
-\215\110\020\250\373\365\070\206\361\333\012\306\275\204\243\043
-\101\336\326\167\157\205\324\205\034\120\340\256\121\212\272\215
-\076\166\342\271\312\047\362\137\237\357\156\131\015\006\330\053
-\027\244\322\174\153\273\137\024\032\110\217\032\114\347\263\107
-\034\216\114\105\053\040\356\110\337\347\335\011\216\030\250\332
-\100\215\222\046\021\123\141\163\135\353\275\347\304\115\051\067
-\141\353\254\071\055\147\056\026\326\365\000\203\205\241\314\177
-\166\304\175\344\267\113\146\357\003\105\140\151\266\014\122\226
-\222\204\136\246\243\265\244\076\053\331\314\330\033\107\252\362
-\104\332\117\371\003\350\360\024\313\077\363\203\336\320\301\124
-\343\267\350\012\067\115\213\040\131\003\060\031\241\054\310\275
-\021\037\337\256\311\112\305\363\047\146\146\206\254\150\221\377
-\331\346\123\034\017\213\134\151\145\012\046\310\036\064\303\135
-\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
-# Fingerprint (SHA1): E6:21:F3:35:43:79:05:9A:4B:68:30:9D:8A:2F:74:22:15:87:EC:79
-CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
-CKA_TOKEN CK_BBOOL CK_TRUE
-CKA_PRIVATE CK_BBOOL CK_FALSE
-CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "GeoTrust Universal CA"
-CKA_CERT_SHA1_HASH MULTILINE_OCTAL
-\346\041\363\065\103\171\005\232\113\150\060\235\212\057\164\042
-\025\207\354\171
-END
-CKA_CERT_MD5_HASH MULTILINE_OCTAL
-\222\145\130\213\242\032\061\162\163\150\134\264\245\172\007\110
-END
-CKA_ISSUER MULTILINE_OCTAL
-\060\105\061\013\060\011\006\003\125\004\006\023\002\125\123\061
-\026\060\024\006\003\125\004\012\023\015\107\145\157\124\162\165
-\163\164\040\111\156\143\056\061\036\060\034\006\003\125\004\003
-\023\025\107\145\157\124\162\165\163\164\040\125\156\151\166\145
-\162\163\141\154\040\103\101
-END
-CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\001\001
-END
-CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
-CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
-CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
-CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
-
-#
-# 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
-# Fingerprint (SHA1): 37:9A:19:7B:41:85:45:35:0C:A6:03:69:F3:3C:2E:AF:47:4F:20:79
-CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
-CKA_TOKEN CK_BBOOL CK_TRUE
-CKA_PRIVATE CK_BBOOL CK_FALSE
-CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "GeoTrust Universal CA 2"
-CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
-CKA_SUBJECT MULTILINE_OCTAL
-\060\107\061\013\060\011\006\003\125\004\006\023\002\125\123\061
-\026\060\024\006\003\125\004\012\023\015\107\145\157\124\162\165
-\163\164\040\111\156\143\056\061\040\060\036\006\003\125\004\003
-\023\027\107\145\157\124\162\165\163\164\040\125\156\151\166\145
-\162\163\141\154\040\103\101\040\062
-END
-CKA_ID UTF8 "0"
-CKA_ISSUER MULTILINE_OCTAL
-\060\107\061\013\060\011\006\003\125\004\006\023\002\125\123\061
-\026\060\024\006\003\125\004\012\023\015\107\145\157\124\162\165
-\163\164\040\111\156\143\056\061\040\060\036\006\003\125\004\003
-\023\027\107\145\157\124\162\165\163\164\040\125\156\151\166\145
-\162\163\141\154\040\103\101\040\062
-END
-CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\001\001
-END
-CKA_VALUE MULTILINE_OCTAL
-\060\202\005\154\060\202\003\124\240\003\002\001\002\002\001\001
-\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060
-\107\061\013\060\011\006\003\125\004\006\023\002\125\123\061\026
-\060\024\006\003\125\004\012\023\015\107\145\157\124\162\165\163
-\164\040\111\156\143\056\061\040\060\036\006\003\125\004\003\023
-\027\107\145\157\124\162\165\163\164\040\125\156\151\166\145\162
-\163\141\154\040\103\101\040\062\060\036\027\015\060\064\060\063
-\060\064\060\065\060\060\060\060\132\027\015\062\071\060\063\060
-\064\060\065\060\060\060\060\132\060\107\061\013\060\011\006\003
-\125\004\006\023\002\125\123\061\026\060\024\006\003\125\004\012
-\023\015\107\145\157\124\162\165\163\164\040\111\156\143\056\061
-\040\060\036\006\003\125\004\003\023\027\107\145\157\124\162\165
-\163\164\040\125\156\151\166\145\162\163\141\154\040\103\101\040
-\062\060\202\002\042\060\015\006\011\052\206\110\206\367\015\001
-\001\001\005\000\003\202\002\017\000\060\202\002\012\002\202\002
-\001\000\263\124\122\301\311\076\362\331\334\261\123\032\131\051
-\347\261\303\105\050\345\327\321\355\305\305\113\241\252\164\173
-\127\257\112\046\374\330\365\136\247\156\031\333\164\014\117\065
-\133\062\013\001\343\333\353\172\167\065\352\252\132\340\326\350
-\241\127\224\360\220\243\164\126\224\104\060\003\036\134\116\053
-\205\046\164\202\172\014\166\240\157\115\316\101\055\240\025\006
-\024\137\267\102\315\173\217\130\141\064\334\052\010\371\056\303
-\001\246\042\104\034\114\007\202\346\133\316\320\112\174\004\323
-\031\163\047\360\252\230\177\056\257\116\353\207\036\044\167\152
-\135\266\350\133\105\272\334\303\241\005\157\126\216\217\020\046
-\245\111\303\056\327\101\207\042\340\117\206\312\140\265\352\241
-\143\300\001\227\020\171\275\000\074\022\155\053\025\261\254\113
-\261\356\030\271\116\226\334\334\166\377\073\276\317\137\003\300
-\374\073\350\276\106\033\377\332\100\302\122\367\376\343\072\367
-\152\167\065\320\332\215\353\136\030\152\061\307\036\272\074\033
-\050\326\153\124\306\252\133\327\242\054\033\031\314\242\002\366
-\233\131\275\067\153\206\265\155\202\272\330\352\311\126\274\251
-\066\130\375\076\031\363\355\014\046\251\223\070\370\117\301\135
-\042\006\320\227\352\341\255\306\125\340\201\053\050\203\072\372
-\364\173\041\121\000\276\122\070\316\315\146\171\250\364\201\126
-\342\320\203\011\107\121\133\120\152\317\333\110\032\135\076\367
-\313\366\145\367\154\361\225\370\002\073\062\126\202\071\172\133
-\275\057\211\033\277\241\264\350\377\177\215\214\337\003\361\140
-\116\130\021\114\353\243\077\020\053\203\232\001\163\331\224\155
-\204\000\047\146\254\360\160\100\011\102\222\255\117\223\015\141
-\011\121\044\330\222\325\013\224\141\262\207\262\355\377\232\065
-\377\205\124\312\355\104\103\254\033\074\026\153\110\112\012\034
-\100\210\037\222\302\013\000\005\377\362\310\002\112\244\252\251
-\314\231\226\234\057\130\340\175\341\276\273\007\334\137\004\162
-\134\061\064\303\354\137\055\340\075\144\220\042\346\321\354\270
-\056\335\131\256\331\241\067\277\124\065\334\163\062\117\214\004
-\036\063\262\311\106\361\330\134\310\125\120\311\150\275\250\272
-\066\011\002\003\001\000\001\243\143\060\141\060\017\006\003\125
-\035\023\001\001\377\004\005\060\003\001\001\377\060\035\006\003
-\125\035\016\004\026\004\024\166\363\125\341\372\244\066\373\360
-\237\134\142\161\355\074\364\107\070\020\053\060\037\006\003\125
-\035\043\004\030\060\026\200\024\166\363\125\341\372\244\066\373
-\360\237\134\142\161\355\074\364\107\070\020\053\060\016\006\003
-\125\035\017\001\001\377\004\004\003\002\001\206\060\015\006\011
-\052\206\110\206\367\015\001\001\005\005\000\003\202\002\001\000
-\146\301\306\043\363\331\340\056\156\137\350\317\256\260\260\045
-\115\053\370\073\130\233\100\044\067\132\313\253\026\111\377\263
-\165\171\063\241\057\155\160\027\064\221\376\147\176\217\354\233
-\345\136\202\251\125\037\057\334\324\121\007\022\376\254\026\076
-\054\065\306\143\374\334\020\353\015\243\252\320\174\314\321\320
-\057\121\056\304\024\132\336\350\031\341\076\306\314\244\051\347
-\056\204\252\006\060\170\166\124\163\050\230\131\070\340\000\015
-\142\323\102\175\041\237\256\075\072\214\325\372\167\015\030\053
-\026\016\137\066\341\374\052\265\060\044\317\340\143\014\173\130
-\032\376\231\272\102\022\261\221\364\174\150\342\310\350\257\054
-\352\311\176\256\273\052\075\015\025\334\064\225\266\030\164\250
-\152\017\307\264\364\023\304\344\133\355\012\322\244\227\114\052
-\355\057\154\022\211\075\361\047\160\252\152\003\122\041\237\100
-\250\147\120\362\363\132\037\337\337\043\366\334\170\116\346\230
-\117\125\072\123\343\357\362\364\237\307\174\330\130\257\051\042
-\227\270\340\275\221\056\260\166\354\127\021\317\357\051\104\363
-\351\205\172\140\143\344\135\063\211\027\331\061\252\332\326\363
-\030\065\162\317\207\053\057\143\043\204\135\204\214\077\127\240
-\210\374\231\221\050\046\151\231\324\217\227\104\276\216\325\110
-\261\244\050\051\361\025\264\341\345\236\335\370\217\246\157\046
-\327\011\074\072\034\021\016\246\154\067\367\255\104\207\054\050
-\307\330\164\202\263\320\157\112\127\273\065\051\047\240\213\350
-\041\247\207\144\066\135\314\330\026\254\307\262\047\100\222\125
-\070\050\215\121\156\335\024\147\123\154\161\134\046\204\115\165
-\132\266\176\140\126\251\115\255\373\233\036\227\363\015\331\322
-\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
-# Fingerprint (SHA1): 37:9A:19:7B:41:85:45:35:0C:A6:03:69:F3:3C:2E:AF:47:4F:20:79
-CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
-CKA_TOKEN CK_BBOOL CK_TRUE
-CKA_PRIVATE CK_BBOOL CK_FALSE
-CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "GeoTrust Universal CA 2"
-CKA_CERT_SHA1_HASH MULTILINE_OCTAL
-\067\232\031\173\101\205\105\065\014\246\003\151\363\074\056\257
-\107\117\040\171
-END
-CKA_CERT_MD5_HASH MULTILINE_OCTAL
-\064\374\270\320\066\333\236\024\263\302\362\333\217\344\224\307
-END
-CKA_ISSUER MULTILINE_OCTAL
-\060\107\061\013\060\011\006\003\125\004\006\023\002\125\123\061
-\026\060\024\006\003\125\004\012\023\015\107\145\157\124\162\165
-\163\164\040\111\156\143\056\061\040\060\036\006\003\125\004\003
-\023\027\107\145\157\124\162\165\163\164\040\125\156\151\166\145
-\162\163\141\154\040\103\101\040\062
-END
-CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\001\001
-END
-CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
-CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
-CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
-CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
-
 #
 # Certificate "Certum Root CA"
 #
@@ -2152,7 +1020,7 @@ CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
 # 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
+# Fingerprint (SHA-256): D8:E0:FE:BC:1D:B2:E3:8D:00:94:0F:37:D2:7D:41:34:4D:99:3E:73:4B:99:D5:65:6D:97:78:D4:D8:14:36:24
 # Fingerprint (SHA1): 62:52:DC:40:F7:11:43:A2:2F:DE:9E:F7:34:8E:06:42:51:B1:81:18
 CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
 CKA_TOKEN CK_BBOOL CK_TRUE
@@ -2228,14 +1096,16 @@ CKA_VALUE MULTILINE_OCTAL
 \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
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
 
-# Trust for Certificate "Certum Root CA"
+# Trust for "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
+# Fingerprint (SHA-256): D8:E0:FE:BC:1D:B2:E3:8D:00:94:0F:37:D2:7D:41:34:4D:99:3E:73:4B:99:D5:65:6D:97:78:D4:D8:14:36:24
 # Fingerprint (SHA1): 62:52:DC:40:F7:11:43:A2:2F:DE:9E:F7:34:8E:06:42:51:B1:81:18
 CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
 CKA_TOKEN CK_BBOOL CK_TRUE
@@ -2271,7 +1141,7 @@ CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
 # 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
+# Fingerprint (SHA-256): D7:A7:A0:FB:5D:7E:27:31:D7:71:E9:48:4E:BC:DE:F7:1D:5F:0C:3E:0A:29:48:78:2B:C8:3E:E0:EA:69:9E:F4
 # Fingerprint (SHA1): D1:EB:23:A4:6D:17:D6:8F:D9:25:64:C2:F1:F1:60:17:64:D8:E3:49
 CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
 CKA_TOKEN CK_BBOOL CK_TRUE
@@ -2374,14 +1244,16 @@ CKA_VALUE MULTILINE_OCTAL
 \225\351\066\226\230\156
 END
 CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
 
-# Trust for Certificate "Comodo AAA Services root"
+# Trust for "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
+# Fingerprint (SHA-256): D7:A7:A0:FB:5D:7E:27:31:D7:71:E9:48:4E:BC:DE:F7:1D:5F:0C:3E:0A:29:48:78:2B:C8:3E:E0:EA:69:9E:F4
 # Fingerprint (SHA1): D1:EB:23:A4:6D:17:D6:8F:D9:25:64:C2:F1:F1:60:17:64:D8:E3:49
 CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
 CKA_TOKEN CK_BBOOL CK_TRUE
@@ -2414,217 +1286,38 @@ CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
 CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
 
 #
-# Certificate "QuoVadis Root CA"
+# Certificate "QuoVadis Root CA 2"
 #
-# 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
-# Fingerprint (SHA1): DE:3F:40:BD:50:93:D3:9B:6C:60:F6:DA:BC:07:62:01:00:89:76:C9
+# 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 (SHA-256): 85:A0:DD:7D:D7:20:AD:B7:FF:05:F8:3D:54:2B:20:9D:C7:FF:45:28:F7:D6:77:B1:83:89:FE:A5:E5:C4:9E:86
+# Fingerprint (SHA1): CA:3A:FB:CF:12:40:36:4B:44:B2:16:20:88:80:48:39:19:93:7C:F7
 CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "QuoVadis Root CA"
+CKA_LABEL UTF8 "QuoVadis Root CA 2"
 CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
 CKA_SUBJECT MULTILINE_OCTAL
-\060\177\061\013\060\011\006\003\125\004\006\023\002\102\115\061
+\060\105\061\013\060\011\006\003\125\004\006\023\002\102\115\061
 \031\060\027\006\003\125\004\012\023\020\121\165\157\126\141\144
-\151\163\040\114\151\155\151\164\145\144\061\045\060\043\006\003
-\125\004\013\023\034\122\157\157\164\040\103\145\162\164\151\146
-\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164
-\171\061\056\060\054\006\003\125\004\003\023\045\121\165\157\126
-\141\144\151\163\040\122\157\157\164\040\103\145\162\164\151\146
-\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164
-\171
+\151\163\040\114\151\155\151\164\145\144\061\033\060\031\006\003
+\125\004\003\023\022\121\165\157\126\141\144\151\163\040\122\157
+\157\164\040\103\101\040\062
 END
 CKA_ID UTF8 "0"
 CKA_ISSUER MULTILINE_OCTAL
-\060\177\061\013\060\011\006\003\125\004\006\023\002\102\115\061
+\060\105\061\013\060\011\006\003\125\004\006\023\002\102\115\061
 \031\060\027\006\003\125\004\012\023\020\121\165\157\126\141\144
-\151\163\040\114\151\155\151\164\145\144\061\045\060\043\006\003
-\125\004\013\023\034\122\157\157\164\040\103\145\162\164\151\146
-\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164
-\171\061\056\060\054\006\003\125\004\003\023\045\121\165\157\126
-\141\144\151\163\040\122\157\157\164\040\103\145\162\164\151\146
-\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164
-\171
+\151\163\040\114\151\155\151\164\145\144\061\033\060\031\006\003
+\125\004\003\023\022\121\165\157\126\141\144\151\163\040\122\157
+\157\164\040\103\101\040\062
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\004\072\266\120\213
-END
-CKA_VALUE MULTILINE_OCTAL
-\060\202\005\320\060\202\004\270\240\003\002\001\002\002\004\072
-\266\120\213\060\015\006\011\052\206\110\206\367\015\001\001\005
-\005\000\060\177\061\013\060\011\006\003\125\004\006\023\002\102
-\115\061\031\060\027\006\003\125\004\012\023\020\121\165\157\126
-\141\144\151\163\040\114\151\155\151\164\145\144\061\045\060\043
-\006\003\125\004\013\023\034\122\157\157\164\040\103\145\162\164
-\151\146\151\143\141\164\151\157\156\040\101\165\164\150\157\162
-\151\164\171\061\056\060\054\006\003\125\004\003\023\045\121\165
-\157\126\141\144\151\163\040\122\157\157\164\040\103\145\162\164
-\151\146\151\143\141\164\151\157\156\040\101\165\164\150\157\162
-\151\164\171\060\036\027\015\060\061\060\063\061\071\061\070\063
-\063\063\063\132\027\015\062\061\060\063\061\067\061\070\063\063
-\063\063\132\060\177\061\013\060\011\006\003\125\004\006\023\002
-\102\115\061\031\060\027\006\003\125\004\012\023\020\121\165\157
-\126\141\144\151\163\040\114\151\155\151\164\145\144\061\045\060
-\043\006\003\125\004\013\023\034\122\157\157\164\040\103\145\162
-\164\151\146\151\143\141\164\151\157\156\040\101\165\164\150\157
-\162\151\164\171\061\056\060\054\006\003\125\004\003\023\045\121
-\165\157\126\141\144\151\163\040\122\157\157\164\040\103\145\162
-\164\151\146\151\143\141\164\151\157\156\040\101\165\164\150\157
-\162\151\164\171\060\202\001\042\060\015\006\011\052\206\110\206
-\367\015\001\001\001\005\000\003\202\001\017\000\060\202\001\012
-\002\202\001\001\000\277\141\265\225\123\272\127\374\372\362\147
-\013\072\032\337\021\200\144\225\264\321\274\315\172\317\366\051
-\226\056\044\124\100\044\070\367\032\205\334\130\114\313\244\047
-\102\227\320\237\203\212\303\344\006\003\133\000\245\121\036\160
-\004\164\342\301\324\072\253\327\255\073\007\030\005\216\375\203
-\254\352\146\331\030\033\150\212\365\127\032\230\272\365\355\166
-\075\174\331\336\224\152\073\113\027\301\325\217\275\145\070\072
-\225\320\075\125\066\116\337\171\127\061\052\036\330\131\145\111
-\130\040\230\176\253\137\176\237\351\326\115\354\203\164\251\307
-\154\330\356\051\112\205\052\006\024\371\124\346\323\332\145\007
-\213\143\067\022\327\320\354\303\173\040\101\104\243\355\313\240
-\027\341\161\145\316\035\146\061\367\166\001\031\310\175\003\130
-\266\225\111\035\246\022\046\350\306\014\166\340\343\146\313\352
-\135\246\046\356\345\314\137\275\147\247\001\047\016\242\312\124
-\305\261\172\225\035\161\036\112\051\212\003\334\152\105\301\244
-\031\136\157\066\315\303\242\260\267\376\134\070\342\122\274\370
-\104\103\346\220\273\002\003\001\000\001\243\202\002\122\060\202
-\002\116\060\075\006\010\053\006\001\005\005\007\001\001\004\061
-\060\057\060\055\006\010\053\006\001\005\005\007\060\001\206\041
-\150\164\164\160\163\072\057\057\157\143\163\160\056\161\165\157
-\166\141\144\151\163\157\146\146\163\150\157\162\145\056\143\157
-\155\060\017\006\003\125\035\023\001\001\377\004\005\060\003\001
-\001\377\060\202\001\032\006\003\125\035\040\004\202\001\021\060
-\202\001\015\060\202\001\011\006\011\053\006\001\004\001\276\130
-\000\001\060\201\373\060\201\324\006\010\053\006\001\005\005\007
-\002\002\060\201\307\032\201\304\122\145\154\151\141\156\143\145
-\040\157\156\040\164\150\145\040\121\165\157\126\141\144\151\163
-\040\122\157\157\164\040\103\145\162\164\151\146\151\143\141\164
-\145\040\142\171\040\141\156\171\040\160\141\162\164\171\040\141
-\163\163\165\155\145\163\040\141\143\143\145\160\164\141\156\143
-\145\040\157\146\040\164\150\145\040\164\150\145\156\040\141\160
-\160\154\151\143\141\142\154\145\040\163\164\141\156\144\141\162
-\144\040\164\145\162\155\163\040\141\156\144\040\143\157\156\144
-\151\164\151\157\156\163\040\157\146\040\165\163\145\054\040\143
-\145\162\164\151\146\151\143\141\164\151\157\156\040\160\162\141
-\143\164\151\143\145\163\054\040\141\156\144\040\164\150\145\040
-\121\165\157\126\141\144\151\163\040\103\145\162\164\151\146\151
-\143\141\164\145\040\120\157\154\151\143\171\056\060\042\006\010
-\053\006\001\005\005\007\002\001\026\026\150\164\164\160\072\057
-\057\167\167\167\056\161\165\157\166\141\144\151\163\056\142\155
-\060\035\006\003\125\035\016\004\026\004\024\213\113\155\355\323
-\051\271\006\031\354\071\071\251\360\227\204\152\313\357\337\060
-\201\256\006\003\125\035\043\004\201\246\060\201\243\200\024\213
-\113\155\355\323\051\271\006\031\354\071\071\251\360\227\204\152
-\313\357\337\241\201\204\244\201\201\060\177\061\013\060\011\006
-\003\125\004\006\023\002\102\115\061\031\060\027\006\003\125\004
-\012\023\020\121\165\157\126\141\144\151\163\040\114\151\155\151
-\164\145\144\061\045\060\043\006\003\125\004\013\023\034\122\157
-\157\164\040\103\145\162\164\151\146\151\143\141\164\151\157\156
-\040\101\165\164\150\157\162\151\164\171\061\056\060\054\006\003
-\125\004\003\023\045\121\165\157\126\141\144\151\163\040\122\157
-\157\164\040\103\145\162\164\151\146\151\143\141\164\151\157\156
-\040\101\165\164\150\157\162\151\164\171\202\004\072\266\120\213
-\060\016\006\003\125\035\017\001\001\377\004\004\003\002\001\006
-\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000\003
-\202\001\001\000\212\324\024\265\376\364\232\222\247\031\324\244
-\176\162\030\217\331\150\174\122\044\335\147\157\071\172\304\252
-\136\075\342\130\260\115\160\230\204\141\350\033\343\151\030\016
-\316\373\107\120\240\116\377\360\044\037\275\262\316\365\047\374
-\354\057\123\252\163\173\003\075\164\156\346\026\236\353\245\056
-\304\277\126\047\120\053\142\272\276\113\034\074\125\134\101\035
-\044\276\202\040\107\135\325\104\176\172\026\150\337\175\115\121
-\160\170\127\035\063\036\375\002\231\234\014\315\012\005\117\307
-\273\216\244\165\372\112\155\261\200\216\011\126\271\234\032\140
-\376\135\301\327\172\334\021\170\320\326\135\301\267\325\255\062
-\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
-# Fingerprint (SHA1): DE:3F:40:BD:50:93:D3:9B:6C:60:F6:DA:BC:07:62:01:00:89:76:C9
-CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
-CKA_TOKEN CK_BBOOL CK_TRUE
-CKA_PRIVATE CK_BBOOL CK_FALSE
-CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "QuoVadis Root CA"
-CKA_CERT_SHA1_HASH MULTILINE_OCTAL
-\336\077\100\275\120\223\323\233\154\140\366\332\274\007\142\001
-\000\211\166\311
-END
-CKA_CERT_MD5_HASH MULTILINE_OCTAL
-\047\336\066\376\162\267\000\003\000\235\364\360\036\154\004\044
-END
-CKA_ISSUER MULTILINE_OCTAL
-\060\177\061\013\060\011\006\003\125\004\006\023\002\102\115\061
-\031\060\027\006\003\125\004\012\023\020\121\165\157\126\141\144
-\151\163\040\114\151\155\151\164\145\144\061\045\060\043\006\003
-\125\004\013\023\034\122\157\157\164\040\103\145\162\164\151\146
-\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164
-\171\061\056\060\054\006\003\125\004\003\023\045\121\165\157\126
-\141\144\151\163\040\122\157\157\164\040\103\145\162\164\151\146
-\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164
-\171
-END
-CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\004\072\266\120\213
-END
-CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
-CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
-CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
-CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
-
-#
-# 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
-# Fingerprint (SHA1): CA:3A:FB:CF:12:40:36:4B:44:B2:16:20:88:80:48:39:19:93:7C:F7
-CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
-CKA_TOKEN CK_BBOOL CK_TRUE
-CKA_PRIVATE CK_BBOOL CK_FALSE
-CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "QuoVadis Root CA 2"
-CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
-CKA_SUBJECT MULTILINE_OCTAL
-\060\105\061\013\060\011\006\003\125\004\006\023\002\102\115\061
-\031\060\027\006\003\125\004\012\023\020\121\165\157\126\141\144
-\151\163\040\114\151\155\151\164\145\144\061\033\060\031\006\003
-\125\004\003\023\022\121\165\157\126\141\144\151\163\040\122\157
-\157\164\040\103\101\040\062
-END
-CKA_ID UTF8 "0"
-CKA_ISSUER MULTILINE_OCTAL
-\060\105\061\013\060\011\006\003\125\004\006\023\002\102\115\061
-\031\060\027\006\003\125\004\012\023\020\121\165\157\126\141\144
-\151\163\040\114\151\155\151\164\145\144\061\033\060\031\006\003
-\125\004\003\023\022\121\165\157\126\141\144\151\163\040\122\157
-\157\164\040\103\101\040\062
-END
-CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\002\005\011
+\002\002\005\011
 END
 CKA_VALUE MULTILINE_OCTAL
 \060\202\005\267\060\202\003\237\240\003\002\001\002\002\002\005
@@ -2721,14 +1414,16 @@ CKA_VALUE MULTILINE_OCTAL
 \020\005\145\325\202\020\352\302\061\315\056
 END
 CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
 
-# Trust for Certificate "QuoVadis Root CA 2"
+# Trust for "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
+# Fingerprint (SHA-256): 85:A0:DD:7D:D7:20:AD:B7:FF:05:F8:3D:54:2B:20:9D:C7:FF:45:28:F7:D6:77:B1:83:89:FE:A5:E5:C4:9E:86
 # Fingerprint (SHA1): CA:3A:FB:CF:12:40:36:4B:44:B2:16:20:88:80:48:39:19:93:7C:F7
 CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
 CKA_TOKEN CK_BBOOL CK_TRUE
@@ -2765,7 +1460,7 @@ CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
 # 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
+# Fingerprint (SHA-256): 18:F1:FC:7F:20:5D:F8:AD:DD:EB:7F:E0:07:DD:57:E3:AF:37:5A:9C:4D:8D:73:54:6B:F4:F1:FE:D1:E1:8D:35
 # Fingerprint (SHA1): 1F:49:14:F7:D8:74:95:1D:DD:AE:02:C0:BE:FD:3A:2D:82:75:51:85
 CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
 CKA_TOKEN CK_BBOOL CK_TRUE
@@ -2901,14 +1596,16 @@ CKA_VALUE MULTILINE_OCTAL
 \332
 END
 CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
 
-# Trust for Certificate "QuoVadis Root CA 3"
+# Trust for "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
+# Fingerprint (SHA-256): 18:F1:FC:7F:20:5D:F8:AD:DD:EB:7F:E0:07:DD:57:E3:AF:37:5A:9C:4D:8D:73:54:6B:F4:F1:FE:D1:E1:8D:35
 # Fingerprint (SHA1): 1F:49:14:F7:D8:74:95:1D:DD:AE:02:C0:BE:FD:3A:2D:82:75:51:85
 CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
 CKA_TOKEN CK_BBOOL CK_TRUE
@@ -2945,7 +1642,7 @@ CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
 # 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
+# Fingerprint (SHA-256): E7:5E:72:ED:9F:56:0E:EC:6E:B4:80:00:73:A4:3F:C3:AD:19:19:5A:39:22:82:01:78:95:97:4A:99:02:6B:6C
 # Fingerprint (SHA1): 36:B1:2B:49:F9:81:9E:D7:4C:9E:BC:38:0F:C6:56:8F:5D:AC:B2:F7
 CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
 CKA_TOKEN CK_BBOOL CK_TRUE
@@ -3030,14 +1727,16 @@ CKA_VALUE MULTILINE_OCTAL
 \057\317\246\356\311\160\042\024\275\375\276\154\013\003
 END
 CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
 
-# Trust for Certificate "Security Communication Root CA"
+# Trust for "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
+# Fingerprint (SHA-256): E7:5E:72:ED:9F:56:0E:EC:6E:B4:80:00:73:A4:3F:C3:AD:19:19:5A:39:22:82:01:78:95:97:4A:99:02:6B:6C
 # Fingerprint (SHA1): 36:B1:2B:49:F9:81:9E:D7:4C:9E:BC:38:0F:C6:56:8F:5D:AC:B2:F7
 CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
 CKA_TOKEN CK_BBOOL CK_TRUE
@@ -3067,619 +1766,6 @@ CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
 CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
 CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
 
-#
-# 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
-# Fingerprint (SHA1): 37:F7:6D:E6:07:7C:90:C5:B1:3E:93:1A:B7:41:10:B4:F2:E4:9A:27
-CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
-CKA_TOKEN CK_BBOOL CK_TRUE
-CKA_PRIVATE CK_BBOOL CK_FALSE
-CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "Sonera Class 2 Root CA"
-CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
-CKA_SUBJECT MULTILINE_OCTAL
-\060\071\061\013\060\011\006\003\125\004\006\023\002\106\111\061
-\017\060\015\006\003\125\004\012\023\006\123\157\156\145\162\141
-\061\031\060\027\006\003\125\004\003\023\020\123\157\156\145\162
-\141\040\103\154\141\163\163\062\040\103\101
-END
-CKA_ID UTF8 "0"
-CKA_ISSUER MULTILINE_OCTAL
-\060\071\061\013\060\011\006\003\125\004\006\023\002\106\111\061
-\017\060\015\006\003\125\004\012\023\006\123\157\156\145\162\141
-\061\031\060\027\006\003\125\004\003\023\020\123\157\156\145\162
-\141\040\103\154\141\163\163\062\040\103\101
-END
-CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\001\035
-END
-CKA_VALUE MULTILINE_OCTAL
-\060\202\003\040\060\202\002\010\240\003\002\001\002\002\001\035
-\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060
-\071\061\013\060\011\006\003\125\004\006\023\002\106\111\061\017
-\060\015\006\003\125\004\012\023\006\123\157\156\145\162\141\061
-\031\060\027\006\003\125\004\003\023\020\123\157\156\145\162\141
-\040\103\154\141\163\163\062\040\103\101\060\036\027\015\060\061
-\060\064\060\066\060\067\062\071\064\060\132\027\015\062\061\060
-\064\060\066\060\067\062\071\064\060\132\060\071\061\013\060\011
-\006\003\125\004\006\023\002\106\111\061\017\060\015\006\003\125
-\004\012\023\006\123\157\156\145\162\141\061\031\060\027\006\003
-\125\004\003\023\020\123\157\156\145\162\141\040\103\154\141\163
-\163\062\040\103\101\060\202\001\042\060\015\006\011\052\206\110
-\206\367\015\001\001\001\005\000\003\202\001\017\000\060\202\001
-\012\002\202\001\001\000\220\027\112\065\235\312\360\015\226\307
-\104\372\026\067\374\110\275\275\177\200\055\065\073\341\157\250
-\147\251\277\003\034\115\214\157\062\107\325\101\150\244\023\004
-\301\065\014\232\204\103\374\134\035\377\211\263\350\027\030\315
-\221\137\373\211\343\352\277\116\135\174\033\046\323\165\171\355
-\346\204\343\127\345\255\051\304\364\072\050\347\245\173\204\066
-\151\263\375\136\166\275\243\055\231\323\220\116\043\050\175\030
-\143\361\124\073\046\235\166\133\227\102\262\377\256\360\116\354
-\335\071\225\116\203\006\177\347\111\100\310\305\001\262\124\132
-\146\035\075\374\371\351\074\012\236\201\270\160\360\001\213\344
-\043\124\174\310\256\370\220\036\000\226\162\324\124\317\141\043
-\274\352\373\235\002\225\321\266\271\161\072\151\010\077\017\264
-\341\102\307\210\365\077\230\250\247\272\034\340\161\161\357\130
-\127\201\120\172\134\153\164\106\016\203\003\230\303\216\250\156
-\362\166\062\156\047\203\302\163\363\334\030\350\264\223\352\165
-\104\153\004\140\040\161\127\207\235\363\276\240\220\043\075\212
-\044\341\332\041\333\303\002\003\001\000\001\243\063\060\061\060
-\017\006\003\125\035\023\001\001\377\004\005\060\003\001\001\377
-\060\021\006\003\125\035\016\004\012\004\010\112\240\252\130\204
-\323\136\074\060\013\006\003\125\035\017\004\004\003\002\001\006
-\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000\003
-\202\001\001\000\132\316\207\371\026\162\025\127\113\035\331\233
-\347\242\046\060\354\223\147\337\326\055\322\064\257\367\070\245
-\316\253\026\271\253\057\174\065\313\254\320\017\264\114\053\374
-\200\357\153\214\221\137\066\166\367\333\263\033\031\352\364\262
-\021\375\141\161\104\277\050\263\072\035\277\263\103\350\237\277
-\334\061\010\161\260\235\215\326\064\107\062\220\306\145\044\367
-\240\112\174\004\163\217\071\157\027\214\162\265\275\113\310\172
-\370\173\203\303\050\116\234\011\352\147\077\262\147\004\033\303
-\024\332\370\347\111\044\221\320\035\152\372\141\071\357\153\347
-\041\165\006\007\330\022\264\041\040\160\102\161\201\332\074\232
-\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
-# Fingerprint (SHA1): 37:F7:6D:E6:07:7C:90:C5:B1:3E:93:1A:B7:41:10:B4:F2:E4:9A:27
-CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
-CKA_TOKEN CK_BBOOL CK_TRUE
-CKA_PRIVATE CK_BBOOL CK_FALSE
-CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "Sonera Class 2 Root CA"
-CKA_CERT_SHA1_HASH MULTILINE_OCTAL
-\067\367\155\346\007\174\220\305\261\076\223\032\267\101\020\264
-\362\344\232\047
-END
-CKA_CERT_MD5_HASH MULTILINE_OCTAL
-\243\354\165\017\056\210\337\372\110\001\116\013\134\110\157\373
-END
-CKA_ISSUER MULTILINE_OCTAL
-\060\071\061\013\060\011\006\003\125\004\006\023\002\106\111\061
-\017\060\015\006\003\125\004\012\023\006\123\157\156\145\162\141
-\061\031\060\027\006\003\125\004\003\023\020\123\157\156\145\162
-\141\040\103\154\141\163\163\062\040\103\101
-END
-CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\001\035
-END
-CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
-CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
-CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
-CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
-
-#
-# 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
-# Fingerprint (SHA1): B1:72:B1:A5:6D:95:F9:1F:E5:02:87:E1:4D:37:EA:6A:44:63:76:8A
-CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
-CKA_TOKEN CK_BBOOL CK_TRUE
-CKA_PRIVATE CK_BBOOL CK_FALSE
-CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "UTN USERFirst Email Root CA"
-CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
-CKA_SUBJECT MULTILINE_OCTAL
-\060\201\256\061\013\060\011\006\003\125\004\006\023\002\125\123
-\061\013\060\011\006\003\125\004\010\023\002\125\124\061\027\060
-\025\006\003\125\004\007\023\016\123\141\154\164\040\114\141\153
-\145\040\103\151\164\171\061\036\060\034\006\003\125\004\012\023
-\025\124\150\145\040\125\123\105\122\124\122\125\123\124\040\116
-\145\164\167\157\162\153\061\041\060\037\006\003\125\004\013\023
-\030\150\164\164\160\072\057\057\167\167\167\056\165\163\145\162
-\164\162\165\163\164\056\143\157\155\061\066\060\064\006\003\125
-\004\003\023\055\125\124\116\055\125\123\105\122\106\151\162\163
-\164\055\103\154\151\145\156\164\040\101\165\164\150\145\156\164
-\151\143\141\164\151\157\156\040\141\156\144\040\105\155\141\151
-\154
-END
-CKA_ID UTF8 "0"
-CKA_ISSUER MULTILINE_OCTAL
-\060\201\256\061\013\060\011\006\003\125\004\006\023\002\125\123
-\061\013\060\011\006\003\125\004\010\023\002\125\124\061\027\060
-\025\006\003\125\004\007\023\016\123\141\154\164\040\114\141\153
-\145\040\103\151\164\171\061\036\060\034\006\003\125\004\012\023
-\025\124\150\145\040\125\123\105\122\124\122\125\123\124\040\116
-\145\164\167\157\162\153\061\041\060\037\006\003\125\004\013\023
-\030\150\164\164\160\072\057\057\167\167\167\056\165\163\145\162
-\164\162\165\163\164\056\143\157\155\061\066\060\064\006\003\125
-\004\003\023\055\125\124\116\055\125\123\105\122\106\151\162\163
-\164\055\103\154\151\145\156\164\040\101\165\164\150\145\156\164
-\151\143\141\164\151\157\156\040\141\156\144\040\105\155\141\151
-\154
-END
-CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\020\104\276\014\213\120\000\044\264\021\323\066\045\045\147
-\311\211
-END
-CKA_VALUE MULTILINE_OCTAL
-\060\202\004\242\060\202\003\212\240\003\002\001\002\002\020\104
-\276\014\213\120\000\044\264\021\323\066\045\045\147\311\211\060
-\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060\201
-\256\061\013\060\011\006\003\125\004\006\023\002\125\123\061\013
-\060\011\006\003\125\004\010\023\002\125\124\061\027\060\025\006
-\003\125\004\007\023\016\123\141\154\164\040\114\141\153\145\040
-\103\151\164\171\061\036\060\034\006\003\125\004\012\023\025\124
-\150\145\040\125\123\105\122\124\122\125\123\124\040\116\145\164
-\167\157\162\153\061\041\060\037\006\003\125\004\013\023\030\150
-\164\164\160\072\057\057\167\167\167\056\165\163\145\162\164\162
-\165\163\164\056\143\157\155\061\066\060\064\006\003\125\004\003
-\023\055\125\124\116\055\125\123\105\122\106\151\162\163\164\055
-\103\154\151\145\156\164\040\101\165\164\150\145\156\164\151\143
-\141\164\151\157\156\040\141\156\144\040\105\155\141\151\154\060
-\036\027\015\071\071\060\067\060\071\061\067\062\070\065\060\132
-\027\015\061\071\060\067\060\071\061\067\063\066\065\070\132\060
-\201\256\061\013\060\011\006\003\125\004\006\023\002\125\123\061
-\013\060\011\006\003\125\004\010\023\002\125\124\061\027\060\025
-\006\003\125\004\007\023\016\123\141\154\164\040\114\141\153\145
-\040\103\151\164\171\061\036\060\034\006\003\125\004\012\023\025
-\124\150\145\040\125\123\105\122\124\122\125\123\124\040\116\145
-\164\167\157\162\153\061\041\060\037\006\003\125\004\013\023\030
-\150\164\164\160\072\057\057\167\167\167\056\165\163\145\162\164
-\162\165\163\164\056\143\157\155\061\066\060\064\006\003\125\004
-\003\023\055\125\124\116\055\125\123\105\122\106\151\162\163\164
-\055\103\154\151\145\156\164\040\101\165\164\150\145\156\164\151
-\143\141\164\151\157\156\040\141\156\144\040\105\155\141\151\154
-\060\202\001\042\060\015\006\011\052\206\110\206\367\015\001\001
-\001\005\000\003\202\001\017\000\060\202\001\012\002\202\001\001
-\000\262\071\205\244\362\175\253\101\073\142\106\067\256\315\301
-\140\165\274\071\145\371\112\032\107\242\271\314\110\314\152\230
-\325\115\065\031\271\244\102\345\316\111\342\212\057\036\174\322
-\061\007\307\116\264\203\144\235\056\051\325\242\144\304\205\275
-\205\121\065\171\244\116\150\220\173\034\172\244\222\250\027\362
-\230\025\362\223\314\311\244\062\225\273\014\117\060\275\230\240
-\013\213\345\156\033\242\106\372\170\274\242\157\253\131\136\245
-\057\317\312\332\155\252\057\353\254\241\263\152\252\267\056\147
-\065\213\171\341\036\151\210\342\346\106\315\240\245\352\276\013
-\316\166\072\172\016\233\352\374\332\047\133\075\163\037\042\346
-\110\141\306\114\363\151\261\250\056\033\266\324\061\040\054\274
-\202\212\216\244\016\245\327\211\103\374\026\132\257\035\161\327
-\021\131\332\272\207\015\257\372\363\341\302\360\244\305\147\214
-\326\326\124\072\336\012\244\272\003\167\263\145\310\375\036\323
-\164\142\252\030\312\150\223\036\241\205\176\365\107\145\313\370
-\115\127\050\164\322\064\377\060\266\356\366\142\060\024\214\054
-\353\002\003\001\000\001\243\201\271\060\201\266\060\013\006\003
-\125\035\017\004\004\003\002\001\306\060\017\006\003\125\035\023
-\001\001\377\004\005\060\003\001\001\377\060\035\006\003\125\035
-\016\004\026\004\024\211\202\147\175\304\235\046\160\000\113\264
-\120\110\174\336\075\256\004\156\175\060\130\006\003\125\035\037
-\004\121\060\117\060\115\240\113\240\111\206\107\150\164\164\160
-\072\057\057\143\162\154\056\165\163\145\162\164\162\165\163\164
-\056\143\157\155\057\125\124\116\055\125\123\105\122\106\151\162
-\163\164\055\103\154\151\145\156\164\101\165\164\150\145\156\164
-\151\143\141\164\151\157\156\141\156\144\105\155\141\151\154\056
-\143\162\154\060\035\006\003\125\035\045\004\026\060\024\006\010
-\053\006\001\005\005\007\003\002\006\010\053\006\001\005\005\007
-\003\004\060\015\006\011\052\206\110\206\367\015\001\001\005\005
-\000\003\202\001\001\000\261\155\141\135\246\032\177\174\253\112
-\344\060\374\123\157\045\044\306\312\355\342\061\134\053\016\356
-\356\141\125\157\004\076\317\071\336\305\033\111\224\344\353\040
-\114\264\346\236\120\056\162\331\215\365\252\243\263\112\332\126
-\034\140\227\200\334\202\242\255\112\275\212\053\377\013\011\264
-\306\327\040\004\105\344\315\200\001\272\272\053\156\316\252\327
-\222\376\344\257\353\364\046\035\026\052\177\154\060\225\067\057
-\063\022\254\177\335\307\321\021\214\121\230\262\320\243\221\320
-\255\366\237\236\203\223\036\035\102\270\106\257\153\146\360\233
-\177\352\343\003\002\345\002\121\301\252\325\065\235\162\100\003
-\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
-# Fingerprint (SHA1): B1:72:B1:A5:6D:95:F9:1F:E5:02:87:E1:4D:37:EA:6A:44:63:76:8A
-CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
-CKA_TOKEN CK_BBOOL CK_TRUE
-CKA_PRIVATE CK_BBOOL CK_FALSE
-CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "UTN USERFirst Email Root CA"
-CKA_CERT_SHA1_HASH MULTILINE_OCTAL
-\261\162\261\245\155\225\371\037\345\002\207\341\115\067\352\152
-\104\143\166\212
-END
-CKA_CERT_MD5_HASH MULTILINE_OCTAL
-\327\064\075\357\035\047\011\050\341\061\002\133\023\053\335\367
-END
-CKA_ISSUER MULTILINE_OCTAL
-\060\201\256\061\013\060\011\006\003\125\004\006\023\002\125\123
-\061\013\060\011\006\003\125\004\010\023\002\125\124\061\027\060
-\025\006\003\125\004\007\023\016\123\141\154\164\040\114\141\153
-\145\040\103\151\164\171\061\036\060\034\006\003\125\004\012\023
-\025\124\150\145\040\125\123\105\122\124\122\125\123\124\040\116
-\145\164\167\157\162\153\061\041\060\037\006\003\125\004\013\023
-\030\150\164\164\160\072\057\057\167\167\167\056\165\163\145\162
-\164\162\165\163\164\056\143\157\155\061\066\060\064\006\003\125
-\004\003\023\055\125\124\116\055\125\123\105\122\106\151\162\163
-\164\055\103\154\151\145\156\164\040\101\165\164\150\145\156\164
-\151\143\141\164\151\157\156\040\141\156\144\040\105\155\141\151
-\154
-END
-CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\020\104\276\014\213\120\000\044\264\021\323\066\045\045\147
-\311\211
-END
-CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
-CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
-CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
-CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
-
-#
-# 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
-# Fingerprint (SHA1): 6E:3A:55:A4:19:0C:19:5C:93:84:3C:C0:DB:72:2E:31:30:61:F0:B1
-CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
-CKA_TOKEN CK_BBOOL CK_TRUE
-CKA_PRIVATE CK_BBOOL CK_FALSE
-CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "Camerfirma Chambers of Commerce Root"
-CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
-CKA_SUBJECT MULTILINE_OCTAL
-\060\177\061\013\060\011\006\003\125\004\006\023\002\105\125\061
-\047\060\045\006\003\125\004\012\023\036\101\103\040\103\141\155
-\145\162\146\151\162\155\141\040\123\101\040\103\111\106\040\101
-\070\062\067\064\063\062\070\067\061\043\060\041\006\003\125\004
-\013\023\032\150\164\164\160\072\057\057\167\167\167\056\143\150
-\141\155\142\145\162\163\151\147\156\056\157\162\147\061\042\060
-\040\006\003\125\004\003\023\031\103\150\141\155\142\145\162\163
-\040\157\146\040\103\157\155\155\145\162\143\145\040\122\157\157
-\164
-END
-CKA_ID UTF8 "0"
-CKA_ISSUER MULTILINE_OCTAL
-\060\177\061\013\060\011\006\003\125\004\006\023\002\105\125\061
-\047\060\045\006\003\125\004\012\023\036\101\103\040\103\141\155
-\145\162\146\151\162\155\141\040\123\101\040\103\111\106\040\101
-\070\062\067\064\063\062\070\067\061\043\060\041\006\003\125\004
-\013\023\032\150\164\164\160\072\057\057\167\167\167\056\143\150
-\141\155\142\145\162\163\151\147\156\056\157\162\147\061\042\060
-\040\006\003\125\004\003\023\031\103\150\141\155\142\145\162\163
-\040\157\146\040\103\157\155\155\145\162\143\145\040\122\157\157
-\164
-END
-CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\001\000
-END
-CKA_VALUE MULTILINE_OCTAL
-\060\202\004\275\060\202\003\245\240\003\002\001\002\002\001\000
-\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060
-\177\061\013\060\011\006\003\125\004\006\023\002\105\125\061\047
-\060\045\006\003\125\004\012\023\036\101\103\040\103\141\155\145
-\162\146\151\162\155\141\040\123\101\040\103\111\106\040\101\070
-\062\067\064\063\062\070\067\061\043\060\041\006\003\125\004\013
-\023\032\150\164\164\160\072\057\057\167\167\167\056\143\150\141
-\155\142\145\162\163\151\147\156\056\157\162\147\061\042\060\040
-\006\003\125\004\003\023\031\103\150\141\155\142\145\162\163\040
-\157\146\040\103\157\155\155\145\162\143\145\040\122\157\157\164
-\060\036\027\015\060\063\060\071\063\060\061\066\061\063\064\063
-\132\027\015\063\067\060\071\063\060\061\066\061\063\064\064\132
-\060\177\061\013\060\011\006\003\125\004\006\023\002\105\125\061
-\047\060\045\006\003\125\004\012\023\036\101\103\040\103\141\155
-\145\162\146\151\162\155\141\040\123\101\040\103\111\106\040\101
-\070\062\067\064\063\062\070\067\061\043\060\041\006\003\125\004
-\013\023\032\150\164\164\160\072\057\057\167\167\167\056\143\150
-\141\155\142\145\162\163\151\147\156\056\157\162\147\061\042\060
-\040\006\003\125\004\003\023\031\103\150\141\155\142\145\162\163
-\040\157\146\040\103\157\155\155\145\162\143\145\040\122\157\157
-\164\060\202\001\040\060\015\006\011\052\206\110\206\367\015\001
-\001\001\005\000\003\202\001\015\000\060\202\001\010\002\202\001
-\001\000\267\066\125\345\245\135\030\060\340\332\211\124\221\374
-\310\307\122\370\057\120\331\357\261\165\163\145\107\175\033\133
-\272\165\305\374\241\210\044\372\057\355\312\010\112\071\124\304
-\121\172\265\332\140\352\070\074\201\262\313\361\273\331\221\043
-\077\110\001\160\165\251\005\052\255\037\161\363\311\124\075\035
-\006\152\100\076\263\014\205\356\134\033\171\302\142\304\270\066
-\216\065\135\001\014\043\004\107\065\252\233\140\116\240\146\075
-\313\046\012\234\100\241\364\135\230\277\161\253\245\000\150\052
-\355\203\172\017\242\024\265\324\042\263\200\260\074\014\132\121
-\151\055\130\030\217\355\231\236\361\256\342\225\346\366\107\250
-\326\014\017\260\130\130\333\303\146\067\236\233\221\124\063\067
-\322\224\034\152\110\311\311\362\245\332\245\014\043\367\043\016
-\234\062\125\136\161\234\204\005\121\232\055\375\346\116\052\064
-\132\336\312\100\067\147\014\124\041\125\167\332\012\014\314\227
-\256\200\334\224\066\112\364\076\316\066\023\036\123\344\254\116
-\072\005\354\333\256\162\234\070\213\320\071\073\211\012\076\167
-\376\165\002\001\003\243\202\001\104\060\202\001\100\060\022\006
-\003\125\035\023\001\001\377\004\010\060\006\001\001\377\002\001
-\014\060\074\006\003\125\035\037\004\065\060\063\060\061\240\057
-\240\055\206\053\150\164\164\160\072\057\057\143\162\154\056\143
-\150\141\155\142\145\162\163\151\147\156\056\157\162\147\057\143
-\150\141\155\142\145\162\163\162\157\157\164\056\143\162\154\060
-\035\006\003\125\035\016\004\026\004\024\343\224\365\261\115\351
-\333\241\051\133\127\213\115\166\006\166\341\321\242\212\060\016
-\006\003\125\035\017\001\001\377\004\004\003\002\001\006\060\021
-\006\011\140\206\110\001\206\370\102\001\001\004\004\003\002\000
-\007\060\047\006\003\125\035\021\004\040\060\036\201\034\143\150
-\141\155\142\145\162\163\162\157\157\164\100\143\150\141\155\142
-\145\162\163\151\147\156\056\157\162\147\060\047\006\003\125\035
-\022\004\040\060\036\201\034\143\150\141\155\142\145\162\163\162
-\157\157\164\100\143\150\141\155\142\145\162\163\151\147\156\056
-\157\162\147\060\130\006\003\125\035\040\004\121\060\117\060\115
-\006\013\053\006\001\004\001\201\207\056\012\003\001\060\076\060
-\074\006\010\053\006\001\005\005\007\002\001\026\060\150\164\164
-\160\072\057\057\143\160\163\056\143\150\141\155\142\145\162\163
-\151\147\156\056\157\162\147\057\143\160\163\057\143\150\141\155
-\142\145\162\163\162\157\157\164\056\150\164\155\154\060\015\006
-\011\052\206\110\206\367\015\001\001\005\005\000\003\202\001\001
-\000\014\101\227\302\032\206\300\042\174\237\373\220\363\032\321
-\003\261\357\023\371\041\137\004\234\332\311\245\215\047\154\226
-\207\221\276\101\220\001\162\223\347\036\175\137\366\211\306\135
-\247\100\011\075\254\111\105\105\334\056\215\060\150\262\011\272
-\373\303\057\314\272\013\337\077\167\173\106\175\072\022\044\216
-\226\217\074\005\012\157\322\224\050\035\155\014\300\056\210\042
-\325\330\317\035\023\307\360\110\327\327\005\247\317\307\107\236
-\073\074\064\310\200\117\324\024\273\374\015\120\367\372\263\354
-\102\137\251\335\155\310\364\165\317\173\301\162\046\261\001\034
-\134\054\375\172\116\264\001\305\005\127\271\347\074\252\005\331
-\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
-# Fingerprint (SHA1): 6E:3A:55:A4:19:0C:19:5C:93:84:3C:C0:DB:72:2E:31:30:61:F0:B1
-CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
-CKA_TOKEN CK_BBOOL CK_TRUE
-CKA_PRIVATE CK_BBOOL CK_FALSE
-CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "Camerfirma Chambers of Commerce Root"
-CKA_CERT_SHA1_HASH MULTILINE_OCTAL
-\156\072\125\244\031\014\031\134\223\204\074\300\333\162\056\061
-\060\141\360\261
-END
-CKA_CERT_MD5_HASH MULTILINE_OCTAL
-\260\001\356\024\331\257\051\030\224\166\216\361\151\063\052\204
-END
-CKA_ISSUER MULTILINE_OCTAL
-\060\177\061\013\060\011\006\003\125\004\006\023\002\105\125\061
-\047\060\045\006\003\125\004\012\023\036\101\103\040\103\141\155
-\145\162\146\151\162\155\141\040\123\101\040\103\111\106\040\101
-\070\062\067\064\063\062\070\067\061\043\060\041\006\003\125\004
-\013\023\032\150\164\164\160\072\057\057\167\167\167\056\143\150
-\141\155\142\145\162\163\151\147\156\056\157\162\147\061\042\060
-\040\006\003\125\004\003\023\031\103\150\141\155\142\145\162\163
-\040\157\146\040\103\157\155\155\145\162\143\145\040\122\157\157
-\164
-END
-CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\001\000
-END
-CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
-CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
-CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
-CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
-
-#
-# 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
-# Fingerprint (SHA1): 33:9B:6B:14:50:24:9B:55:7A:01:87:72:84:D9:E0:2F:C3:D2:D8:E9
-CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
-CKA_TOKEN CK_BBOOL CK_TRUE
-CKA_PRIVATE CK_BBOOL CK_FALSE
-CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "Camerfirma Global Chambersign Root"
-CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
-CKA_SUBJECT MULTILINE_OCTAL
-\060\175\061\013\060\011\006\003\125\004\006\023\002\105\125\061
-\047\060\045\006\003\125\004\012\023\036\101\103\040\103\141\155
-\145\162\146\151\162\155\141\040\123\101\040\103\111\106\040\101
-\070\062\067\064\063\062\070\067\061\043\060\041\006\003\125\004
-\013\023\032\150\164\164\160\072\057\057\167\167\167\056\143\150
-\141\155\142\145\162\163\151\147\156\056\157\162\147\061\040\060
-\036\006\003\125\004\003\023\027\107\154\157\142\141\154\040\103
-\150\141\155\142\145\162\163\151\147\156\040\122\157\157\164
-END
-CKA_ID UTF8 "0"
-CKA_ISSUER MULTILINE_OCTAL
-\060\175\061\013\060\011\006\003\125\004\006\023\002\105\125\061
-\047\060\045\006\003\125\004\012\023\036\101\103\040\103\141\155
-\145\162\146\151\162\155\141\040\123\101\040\103\111\106\040\101
-\070\062\067\064\063\062\070\067\061\043\060\041\006\003\125\004
-\013\023\032\150\164\164\160\072\057\057\167\167\167\056\143\150
-\141\155\142\145\162\163\151\147\156\056\157\162\147\061\040\060
-\036\006\003\125\004\003\023\027\107\154\157\142\141\154\040\103
-\150\141\155\142\145\162\163\151\147\156\040\122\157\157\164
-END
-CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\001\000
-END
-CKA_VALUE MULTILINE_OCTAL
-\060\202\004\305\060\202\003\255\240\003\002\001\002\002\001\000
-\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060
-\175\061\013\060\011\006\003\125\004\006\023\002\105\125\061\047
-\060\045\006\003\125\004\012\023\036\101\103\040\103\141\155\145
-\162\146\151\162\155\141\040\123\101\040\103\111\106\040\101\070
-\062\067\064\063\062\070\067\061\043\060\041\006\003\125\004\013
-\023\032\150\164\164\160\072\057\057\167\167\167\056\143\150\141
-\155\142\145\162\163\151\147\156\056\157\162\147\061\040\060\036
-\006\003\125\004\003\023\027\107\154\157\142\141\154\040\103\150
-\141\155\142\145\162\163\151\147\156\040\122\157\157\164\060\036
-\027\015\060\063\060\071\063\060\061\066\061\064\061\070\132\027
-\015\063\067\060\071\063\060\061\066\061\064\061\070\132\060\175
-\061\013\060\011\006\003\125\004\006\023\002\105\125\061\047\060
-\045\006\003\125\004\012\023\036\101\103\040\103\141\155\145\162
-\146\151\162\155\141\040\123\101\040\103\111\106\040\101\070\062
-\067\064\063\062\070\067\061\043\060\041\006\003\125\004\013\023
-\032\150\164\164\160\072\057\057\167\167\167\056\143\150\141\155
-\142\145\162\163\151\147\156\056\157\162\147\061\040\060\036\006
-\003\125\004\003\023\027\107\154\157\142\141\154\040\103\150\141
-\155\142\145\162\163\151\147\156\040\122\157\157\164\060\202\001
-\040\060\015\006\011\052\206\110\206\367\015\001\001\001\005\000
-\003\202\001\015\000\060\202\001\010\002\202\001\001\000\242\160
-\242\320\237\102\256\133\027\307\330\175\317\024\203\374\117\311
-\241\267\023\257\212\327\236\076\004\012\222\213\140\126\372\264
-\062\057\210\115\241\140\010\364\267\011\116\240\111\057\111\326
-\323\337\235\227\132\237\224\004\160\354\077\131\331\267\314\146
-\213\230\122\050\011\002\337\305\057\204\215\172\227\167\277\354
-\100\235\045\162\253\265\077\062\230\373\267\267\374\162\204\345
-\065\207\371\125\372\243\037\016\157\056\050\335\151\240\331\102
-\020\306\370\265\104\302\320\103\177\333\274\344\242\074\152\125
-\170\012\167\251\330\352\031\062\267\057\376\134\077\033\356\261
-\230\354\312\255\172\151\105\343\226\017\125\366\346\355\165\352
-\145\350\062\126\223\106\211\250\045\212\145\006\356\153\277\171
-\007\320\361\267\257\355\054\115\222\273\300\250\137\247\147\175
-\004\362\025\010\160\254\222\326\175\004\322\063\373\114\266\013
-\013\373\032\311\304\215\003\251\176\134\362\120\253\022\245\241
-\317\110\120\245\357\322\310\032\023\372\260\177\261\202\034\167
-\152\017\137\334\013\225\217\357\103\176\346\105\011\045\002\001
-\003\243\202\001\120\060\202\001\114\060\022\006\003\125\035\023
-\001\001\377\004\010\060\006\001\001\377\002\001\014\060\077\006
-\003\125\035\037\004\070\060\066\060\064\240\062\240\060\206\056
-\150\164\164\160\072\057\057\143\162\154\056\143\150\141\155\142
-\145\162\163\151\147\156\056\157\162\147\057\143\150\141\155\142
-\145\162\163\151\147\156\162\157\157\164\056\143\162\154\060\035
-\006\003\125\035\016\004\026\004\024\103\234\066\237\260\236\060
-\115\306\316\137\255\020\253\345\003\245\372\251\024\060\016\006
-\003\125\035\017\001\001\377\004\004\003\002\001\006\060\021\006
-\011\140\206\110\001\206\370\102\001\001\004\004\003\002\000\007
-\060\052\006\003\125\035\021\004\043\060\041\201\037\143\150\141
-\155\142\145\162\163\151\147\156\162\157\157\164\100\143\150\141
-\155\142\145\162\163\151\147\156\056\157\162\147\060\052\006\003
-\125\035\022\004\043\060\041\201\037\143\150\141\155\142\145\162
-\163\151\147\156\162\157\157\164\100\143\150\141\155\142\145\162
-\163\151\147\156\056\157\162\147\060\133\006\003\125\035\040\004
-\124\060\122\060\120\006\013\053\006\001\004\001\201\207\056\012
-\001\001\060\101\060\077\006\010\053\006\001\005\005\007\002\001
-\026\063\150\164\164\160\072\057\057\143\160\163\056\143\150\141
-\155\142\145\162\163\151\147\156\056\157\162\147\057\143\160\163
-\057\143\150\141\155\142\145\162\163\151\147\156\162\157\157\164
-\056\150\164\155\154\060\015\006\011\052\206\110\206\367\015\001
-\001\005\005\000\003\202\001\001\000\074\073\160\221\371\004\124
-\047\221\341\355\355\376\150\177\141\135\345\101\145\117\062\361
-\030\005\224\152\034\336\037\160\333\076\173\062\002\064\265\014
-\154\241\212\174\245\364\217\377\324\330\255\027\325\055\004\321
-\077\130\200\342\201\131\210\276\300\343\106\223\044\376\220\275
-\046\242\060\055\350\227\046\127\065\211\164\226\030\366\025\342
-\257\044\031\126\002\002\262\272\017\024\352\306\212\146\301\206
-\105\125\213\276\222\276\234\244\004\307\111\074\236\350\051\172
-\211\327\376\257\377\150\365\245\027\220\275\254\231\314\245\206
-\127\011\147\106\333\326\026\302\106\361\344\251\120\365\217\321
-\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
-# Fingerprint (SHA1): 33:9B:6B:14:50:24:9B:55:7A:01:87:72:84:D9:E0:2F:C3:D2:D8:E9
-CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
-CKA_TOKEN CK_BBOOL CK_TRUE
-CKA_PRIVATE CK_BBOOL CK_FALSE
-CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "Camerfirma Global Chambersign Root"
-CKA_CERT_SHA1_HASH MULTILINE_OCTAL
-\063\233\153\024\120\044\233\125\172\001\207\162\204\331\340\057
-\303\322\330\351
-END
-CKA_CERT_MD5_HASH MULTILINE_OCTAL
-\305\346\173\277\006\320\117\103\355\304\172\145\212\373\153\031
-END
-CKA_ISSUER MULTILINE_OCTAL
-\060\175\061\013\060\011\006\003\125\004\006\023\002\105\125\061
-\047\060\045\006\003\125\004\012\023\036\101\103\040\103\141\155
-\145\162\146\151\162\155\141\040\123\101\040\103\111\106\040\101
-\070\062\067\064\063\062\070\067\061\043\060\041\006\003\125\004
-\013\023\032\150\164\164\160\072\057\057\167\167\167\056\143\150
-\141\155\142\145\162\163\151\147\156\056\157\162\147\061\040\060
-\036\006\003\125\004\003\023\027\107\154\157\142\141\154\040\103
-\150\141\155\142\145\162\163\151\147\156\040\122\157\157\164
-END
-CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\001\000
-END
-CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
-CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
-CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
-CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
-
 #
 # Certificate "XRamp Global CA Root"
 #
@@ -3688,7 +1774,7 @@ CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
 # 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
+# Fingerprint (SHA-256): CE:CD:DC:90:50:99:D8:DA:DF:C5:B1:D2:09:B7:37:CB:E2:C1:8C:FB:2C:10:C0:FF:0B:CF:0D:32:86:FC:1A:A2
 # Fingerprint (SHA1): B8:01:86:D1:EB:9C:86:A5:41:04:CF:30:54:F3:4C:52:B7:E5:58:C6
 CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
 CKA_TOKEN CK_BBOOL CK_TRUE
@@ -3794,14 +1880,16 @@ CKA_VALUE MULTILINE_OCTAL
 \264\003\045\274
 END
 CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
 
-# Trust for Certificate "XRamp Global CA Root"
+# Trust for "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
+# Fingerprint (SHA-256): CE:CD:DC:90:50:99:D8:DA:DF:C5:B1:D2:09:B7:37:CB:E2:C1:8C:FB:2C:10:C0:FF:0B:CF:0D:32:86:FC:1A:A2
 # Fingerprint (SHA1): B8:01:86:D1:EB:9C:86:A5:41:04:CF:30:54:F3:4C:52:B7:E5:58:C6
 CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
 CKA_TOKEN CK_BBOOL CK_TRUE
@@ -3843,7 +1931,7 @@ CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
 # 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
+# Fingerprint (SHA-256): C3:84:6B:F2:4B:9E:93:CA:64:27:4C:0E:C6:7C:1E:CC:5E:02:4F:FC:AC:D2:D7:40:19:35:0E:81:FE:54:6A:E4
 # Fingerprint (SHA1): 27:96:BA:E6:3F:18:01:E2:77:26:1B:A0:D7:77:70:02:8F:20:EE:E4
 CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
 CKA_TOKEN CK_BBOOL CK_TRUE
@@ -3941,14 +2029,16 @@ CKA_VALUE MULTILINE_OCTAL
 \177\333\275\237
 END
 CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
 
-# Trust for Certificate "Go Daddy Class 2 CA"
+# Trust for "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
+# Fingerprint (SHA-256): C3:84:6B:F2:4B:9E:93:CA:64:27:4C:0E:C6:7C:1E:CC:5E:02:4F:FC:AC:D2:D7:40:19:35:0E:81:FE:54:6A:E4
 # Fingerprint (SHA1): 27:96:BA:E6:3F:18:01:E2:77:26:1B:A0:D7:77:70:02:8F:20:EE:E4
 CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
 CKA_TOKEN CK_BBOOL CK_TRUE
@@ -3987,7 +2077,7 @@ CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
 # 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
+# Fingerprint (SHA-256): 14:65:FA:20:53:97:B8:76:FA:A6:F0:A9:95:8E:55:90:E4:0F:CC:7F:AA:4F:B7:C2:C8:67:75:21:FB:5F:B6:58
 # Fingerprint (SHA1): AD:7E:1C:28:B0:64:EF:8F:60:03:40:20:14:C3:D0:E3:37:0E:B5:8A
 CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
 CKA_TOKEN CK_BBOOL CK_TRUE
@@ -4086,14 +2176,16 @@ CKA_VALUE MULTILINE_OCTAL
 \037\027\224
 END
 CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
 
-# Trust for Certificate "Starfield Class 2 CA"
+# Trust for "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
+# Fingerprint (SHA-256): 14:65:FA:20:53:97:B8:76:FA:A6:F0:A9:95:8E:55:90:E4:0F:CC:7F:AA:4F:B7:C2:C8:67:75:21:FB:5F:B6:58
 # Fingerprint (SHA1): AD:7E:1C:28:B0:64:EF:8F:60:03:40:20:14:C3:D0:E3:37:0E:B5:8A
 CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
 CKA_TOKEN CK_BBOOL CK_TRUE
@@ -4125,206 +2217,43 @@ CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
 CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
 
 #
-# Certificate "Taiwan GRCA"
+# Certificate "DigiCert Assured ID Root CA"
 #
-# 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
-# Fingerprint (SHA1): F4:8B:11:BF:DE:AB:BE:94:54:20:71:E6:41:DE:6B:BE:88:2B:40:B9
+# 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 (SHA-256): 3E:90:99:B5:01:5E:8F:48:6C:00:BC:EA:9D:11:1E:E7:21:FA:BA:35:5A:89:BC:F1:DF:69:56:1E:3D:C6:32:5C
+# Fingerprint (SHA1): 05:63:B8:63:0D:62:D7:5A:BB:C8:AB:1E:4B:DF:B5:A8:99:B2:4D:43
 CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "Taiwan GRCA"
+CKA_LABEL UTF8 "DigiCert Assured ID Root CA"
 CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
 CKA_SUBJECT MULTILINE_OCTAL
-\060\077\061\013\060\011\006\003\125\004\006\023\002\124\127\061
-\060\060\056\006\003\125\004\012\014\047\107\157\166\145\162\156
-\155\145\156\164\040\122\157\157\164\040\103\145\162\164\151\146
-\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164
-\171
+\060\145\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\025\060\023\006\003\125\004\012\023\014\104\151\147\151\103\145
+\162\164\040\111\156\143\061\031\060\027\006\003\125\004\013\023
+\020\167\167\167\056\144\151\147\151\143\145\162\164\056\143\157
+\155\061\044\060\042\006\003\125\004\003\023\033\104\151\147\151
+\103\145\162\164\040\101\163\163\165\162\145\144\040\111\104\040
+\122\157\157\164\040\103\101
 END
 CKA_ID UTF8 "0"
 CKA_ISSUER MULTILINE_OCTAL
-\060\077\061\013\060\011\006\003\125\004\006\023\002\124\127\061
-\060\060\056\006\003\125\004\012\014\047\107\157\166\145\162\156
-\155\145\156\164\040\122\157\157\164\040\103\145\162\164\151\146
-\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164
-\171
+\060\145\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\025\060\023\006\003\125\004\012\023\014\104\151\147\151\103\145
+\162\164\040\111\156\143\061\031\060\027\006\003\125\004\013\023
+\020\167\167\167\056\144\151\147\151\143\145\162\164\056\143\157
+\155\061\044\060\042\006\003\125\004\003\023\033\104\151\147\151
+\103\145\162\164\040\101\163\163\165\162\145\144\040\111\104\040
+\122\157\157\164\040\103\101
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\020\037\235\131\132\327\057\302\006\104\245\200\010\151\343
-\136\366
-END
-CKA_VALUE MULTILINE_OCTAL
-\060\202\005\162\060\202\003\132\240\003\002\001\002\002\020\037
-\235\131\132\327\057\302\006\104\245\200\010\151\343\136\366\060
-\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060\077
-\061\013\060\011\006\003\125\004\006\023\002\124\127\061\060\060
-\056\006\003\125\004\012\014\047\107\157\166\145\162\156\155\145
-\156\164\040\122\157\157\164\040\103\145\162\164\151\146\151\143
-\141\164\151\157\156\040\101\165\164\150\157\162\151\164\171\060
-\036\027\015\060\062\061\062\060\065\061\063\062\063\063\063\132
-\027\015\063\062\061\062\060\065\061\063\062\063\063\063\132\060
-\077\061\013\060\011\006\003\125\004\006\023\002\124\127\061\060
-\060\056\006\003\125\004\012\014\047\107\157\166\145\162\156\155
-\145\156\164\040\122\157\157\164\040\103\145\162\164\151\146\151
-\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164\171
-\060\202\002\042\060\015\006\011\052\206\110\206\367\015\001\001
-\001\005\000\003\202\002\017\000\060\202\002\012\002\202\002\001
-\000\232\045\270\354\314\242\165\250\173\367\316\133\131\212\311
-\321\206\022\010\124\354\234\362\347\106\366\210\363\174\351\245
-\337\114\107\066\244\033\001\034\177\036\127\212\215\303\305\321
-\041\343\332\044\077\110\053\373\237\056\241\224\347\054\034\223
-\321\277\033\001\207\123\231\316\247\365\012\041\166\167\377\251
-\267\306\163\224\117\106\367\020\111\067\372\250\131\111\135\152
-\201\007\126\362\212\371\006\320\367\160\042\115\264\267\101\271
-\062\270\261\360\261\303\234\077\160\375\123\335\201\252\330\143
-\170\366\330\123\156\241\254\152\204\044\162\124\206\306\322\262
-\312\034\016\171\201\326\265\160\142\010\001\056\116\117\016\325
-\021\257\251\257\345\232\277\334\314\207\155\046\344\311\127\242
-\373\226\371\314\341\077\123\214\154\114\176\233\123\010\013\154
-\027\373\147\310\302\255\261\315\200\264\227\334\166\001\026\025
-\351\152\327\244\341\170\107\316\206\325\373\061\363\372\061\276
-\064\252\050\373\160\114\035\111\307\257\054\235\155\146\246\266
-\215\144\176\265\040\152\235\073\201\266\217\100\000\147\113\211
-\206\270\314\145\376\025\123\351\004\301\326\137\035\104\327\012
-\057\047\232\106\175\241\015\165\255\124\206\025\334\111\073\361
-\226\316\017\233\240\354\243\172\135\276\325\052\165\102\345\173
-\336\245\266\252\257\050\254\254\220\254\070\267\325\150\065\046
-\172\334\367\073\363\375\105\233\321\273\103\170\156\157\361\102
-\124\152\230\360\015\255\227\351\122\136\351\325\152\162\336\152
-\367\033\140\024\364\245\344\266\161\147\252\037\352\342\115\301
-\102\100\376\147\106\027\070\057\107\077\161\234\256\345\041\312
-\141\055\155\007\250\204\174\055\356\121\045\361\143\220\236\375
-\341\127\210\153\357\212\043\155\261\346\275\077\255\321\075\226
-\013\205\215\315\153\047\273\267\005\233\354\273\221\251\012\007
-\022\002\227\116\040\220\360\377\015\036\342\101\073\323\100\072
-\347\215\135\332\146\344\002\260\007\122\230\134\016\216\063\234
-\302\246\225\373\125\031\156\114\216\256\113\017\275\301\070\115
-\136\217\204\035\146\315\305\140\226\264\122\132\005\211\216\225
-\172\230\301\221\074\225\043\262\016\364\171\264\311\174\301\112
-\041\002\003\001\000\001\243\152\060\150\060\035\006\003\125\035
-\016\004\026\004\024\314\314\357\314\051\140\244\073\261\222\266
-\074\372\062\142\217\254\045\025\073\060\014\006\003\125\035\023
-\004\005\060\003\001\001\377\060\071\006\004\147\052\007\000\004
-\061\060\057\060\055\002\001\000\060\011\006\005\053\016\003\002
-\032\005\000\060\007\006\005\147\052\003\000\000\004\024\003\233
-\360\042\023\377\225\050\066\323\334\236\300\062\373\061\072\212
-\121\145\060\015\006\011\052\206\110\206\367\015\001\001\005\005
-\000\003\202\002\001\000\100\200\112\372\046\311\316\136\060\335
-\117\206\164\166\130\365\256\263\203\063\170\244\172\164\027\031
-\116\351\122\265\271\340\012\164\142\252\150\312\170\240\114\232
-\216\054\043\056\325\152\022\044\277\324\150\323\212\320\330\234
-\237\264\037\014\336\070\176\127\070\374\215\342\117\136\014\237
-\253\073\322\377\165\227\313\244\343\147\010\377\345\300\026\265
-\110\001\175\351\371\012\377\033\345\152\151\277\170\041\250\302
-\247\043\251\206\253\166\126\350\016\014\366\023\335\052\146\212
-\144\111\075\032\030\207\220\004\237\102\122\267\117\313\376\107
-\101\166\065\357\377\000\166\066\105\062\233\306\106\205\135\342
-\044\260\036\343\110\226\230\127\107\224\125\172\017\101\261\104
-\044\363\301\376\032\153\277\210\375\301\246\332\223\140\136\201
-\112\231\040\234\110\146\031\265\000\171\124\017\270\054\057\113
-\274\251\135\133\140\177\214\207\245\340\122\143\052\276\330\073
-\205\100\025\376\036\266\145\077\305\113\332\176\265\172\065\051
-\243\056\172\230\140\042\243\364\175\047\116\055\352\264\164\074
-\351\017\244\063\017\020\021\274\023\001\326\345\016\323\277\265
-\022\242\341\105\043\300\314\010\156\141\267\211\253\203\343\044
-\036\346\135\007\347\037\040\076\317\147\310\347\254\060\155\047
-\113\150\156\113\052\134\002\010\064\333\370\166\344\147\243\046
-\234\077\242\062\302\112\305\201\030\061\020\126\252\204\357\055
-\012\377\270\037\167\322\277\245\130\240\142\344\327\113\221\165
-\215\211\200\230\176\155\313\123\116\136\257\366\262\227\205\227
-\271\332\125\006\271\044\356\327\306\070\036\143\033\022\073\225
-\341\130\254\362\337\204\325\137\231\057\015\125\133\346\070\333
-\056\077\162\351\110\205\313\273\051\023\217\036\070\125\271\363
-\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
-# Fingerprint (SHA1): F4:8B:11:BF:DE:AB:BE:94:54:20:71:E6:41:DE:6B:BE:88:2B:40:B9
-CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
-CKA_TOKEN CK_BBOOL CK_TRUE
-CKA_PRIVATE CK_BBOOL CK_FALSE
-CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "Taiwan GRCA"
-CKA_CERT_SHA1_HASH MULTILINE_OCTAL
-\364\213\021\277\336\253\276\224\124\040\161\346\101\336\153\276
-\210\053\100\271
-END
-CKA_CERT_MD5_HASH MULTILINE_OCTAL
-\067\205\104\123\062\105\037\040\360\363\225\341\045\304\103\116
-END
-CKA_ISSUER MULTILINE_OCTAL
-\060\077\061\013\060\011\006\003\125\004\006\023\002\124\127\061
-\060\060\056\006\003\125\004\012\014\047\107\157\166\145\162\156
-\155\145\156\164\040\122\157\157\164\040\103\145\162\164\151\146
-\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164
-\171
-END
-CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\020\037\235\131\132\327\057\302\006\104\245\200\010\151\343
-\136\366
-END
-CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
-CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
-CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
-CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
-
-#
-# 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
-# Fingerprint (SHA1): 05:63:B8:63:0D:62:D7:5A:BB:C8:AB:1E:4B:DF:B5:A8:99:B2:4D:43
-CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
-CKA_TOKEN CK_BBOOL CK_TRUE
-CKA_PRIVATE CK_BBOOL CK_FALSE
-CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "DigiCert Assured ID Root CA"
-CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
-CKA_SUBJECT MULTILINE_OCTAL
-\060\145\061\013\060\011\006\003\125\004\006\023\002\125\123\061
-\025\060\023\006\003\125\004\012\023\014\104\151\147\151\103\145
-\162\164\040\111\156\143\061\031\060\027\006\003\125\004\013\023
-\020\167\167\167\056\144\151\147\151\143\145\162\164\056\143\157
-\155\061\044\060\042\006\003\125\004\003\023\033\104\151\147\151
-\103\145\162\164\040\101\163\163\165\162\145\144\040\111\104\040
-\122\157\157\164\040\103\101
-END
-CKA_ID UTF8 "0"
-CKA_ISSUER MULTILINE_OCTAL
-\060\145\061\013\060\011\006\003\125\004\006\023\002\125\123\061
-\025\060\023\006\003\125\004\012\023\014\104\151\147\151\103\145
-\162\164\040\111\156\143\061\031\060\027\006\003\125\004\013\023
-\020\167\167\167\056\144\151\147\151\143\145\162\164\056\143\157
-\155\061\044\060\042\006\003\125\004\003\023\033\104\151\147\151
-\103\145\162\164\040\101\163\163\165\162\145\144\040\111\104\040
-\122\157\157\164\040\103\101
-END
-CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\020\014\347\340\345\027\330\106\376\217\345\140\374\033\360
-\060\071
+\002\020\014\347\340\345\027\330\106\376\217\345\140\374\033\360
+\060\071
 END
 CKA_VALUE MULTILINE_OCTAL
 \060\202\003\267\060\202\002\237\240\003\002\001\002\002\020\014
@@ -4389,14 +2318,16 @@ CKA_VALUE MULTILINE_OCTAL
 \346\120\262\247\372\012\105\057\242\360\362
 END
 CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
 
-# Trust for Certificate "DigiCert Assured ID Root CA"
+# Trust for "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
+# Fingerprint (SHA-256): 3E:90:99:B5:01:5E:8F:48:6C:00:BC:EA:9D:11:1E:E7:21:FA:BA:35:5A:89:BC:F1:DF:69:56:1E:3D:C6:32:5C
 # Fingerprint (SHA1): 05:63:B8:63:0D:62:D7:5A:BB:C8:AB:1E:4B:DF:B5:A8:99:B2:4D:43
 CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
 CKA_TOKEN CK_BBOOL CK_TRUE
@@ -4436,7 +2367,7 @@ CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
 # 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
+# Fingerprint (SHA-256): 43:48:A0:E9:44:4C:78:CB:26:5E:05:8D:5E:89:44:B4:D8:4F:96:62:BD:26:DB:25:7F:89:34:A4:43:C7:01:61
 # Fingerprint (SHA1): A8:98:5D:3A:65:E5:E5:C4:B2:D7:D6:6D:40:C6:DD:2F:B1:9C:54:36
 CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
 CKA_TOKEN CK_BBOOL CK_TRUE
@@ -4530,14 +2461,16 @@ CKA_VALUE MULTILINE_OCTAL
 \225\155\336
 END
 CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
 
-# Trust for Certificate "DigiCert Global Root CA"
+# Trust for "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
+# Fingerprint (SHA-256): 43:48:A0:E9:44:4C:78:CB:26:5E:05:8D:5E:89:44:B4:D8:4F:96:62:BD:26:DB:25:7F:89:34:A4:43:C7:01:61
 # Fingerprint (SHA1): A8:98:5D:3A:65:E5:E5:C4:B2:D7:D6:6D:40:C6:DD:2F:B1:9C:54:36
 CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
 CKA_TOKEN CK_BBOOL CK_TRUE
@@ -4577,7 +2510,7 @@ CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
 # 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
+# Fingerprint (SHA-256): 74:31:E5:F4:C3:C1:CE:46:90:77:4F:0B:61:E0:54:40:88:3B:A9:A0:1E:D0:0B:A6:AB:D7:80:6E:D3:B1:18:CF
 # Fingerprint (SHA1): 5F:B7:EE:06:33:E2:59:DB:AD:0C:4C:9A:E6:D3:8F:1A:61:C7:DC:25
 CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
 CKA_TOKEN CK_BBOOL CK_TRUE
@@ -4672,14 +2605,16 @@ CKA_VALUE MULTILINE_OCTAL
 \370\351\056\023\243\167\350\037\112
 END
 CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
 
-# Trust for Certificate "DigiCert High Assurance EV Root CA"
+# Trust for "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
+# Fingerprint (SHA-256): 74:31:E5:F4:C3:C1:CE:46:90:77:4F:0B:61:E0:54:40:88:3B:A9:A0:1E:D0:0B:A6:AB:D7:80:6E:D3:B1:18:CF
 # Fingerprint (SHA1): 5F:B7:EE:06:33:E2:59:DB:AD:0C:4C:9A:E6:D3:8F:1A:61:C7:DC:25
 CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
 CKA_TOKEN CK_BBOOL CK_TRUE
@@ -4711,430 +2646,6 @@ CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
 CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
 CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
 
-#
-# 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
-# Fingerprint (SHA1): 74:20:74:41:72:9C:DD:92:EC:79:31:D8:23:10:8D:C2:81:92:E2:BB
-CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
-CKA_TOKEN CK_BBOOL CK_TRUE
-CKA_PRIVATE CK_BBOOL CK_FALSE
-CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "Certplus Class 2 Primary CA"
-CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
-CKA_SUBJECT MULTILINE_OCTAL
-\060\075\061\013\060\011\006\003\125\004\006\023\002\106\122\061
-\021\060\017\006\003\125\004\012\023\010\103\145\162\164\160\154
-\165\163\061\033\060\031\006\003\125\004\003\023\022\103\154\141
-\163\163\040\062\040\120\162\151\155\141\162\171\040\103\101
-END
-CKA_ID UTF8 "0"
-CKA_ISSUER MULTILINE_OCTAL
-\060\075\061\013\060\011\006\003\125\004\006\023\002\106\122\061
-\021\060\017\006\003\125\004\012\023\010\103\145\162\164\160\154
-\165\163\061\033\060\031\006\003\125\004\003\023\022\103\154\141
-\163\163\040\062\040\120\162\151\155\141\162\171\040\103\101
-END
-CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\021\000\205\275\113\363\330\332\343\151\366\224\327\137\303
-\245\104\043
-END
-CKA_VALUE MULTILINE_OCTAL
-\060\202\003\222\060\202\002\172\240\003\002\001\002\002\021\000
-\205\275\113\363\330\332\343\151\366\224\327\137\303\245\104\043
-\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060
-\075\061\013\060\011\006\003\125\004\006\023\002\106\122\061\021
-\060\017\006\003\125\004\012\023\010\103\145\162\164\160\154\165
-\163\061\033\060\031\006\003\125\004\003\023\022\103\154\141\163
-\163\040\062\040\120\162\151\155\141\162\171\040\103\101\060\036
-\027\015\071\071\060\067\060\067\061\067\060\065\060\060\132\027
-\015\061\071\060\067\060\066\062\063\065\071\065\071\132\060\075
-\061\013\060\011\006\003\125\004\006\023\002\106\122\061\021\060
-\017\006\003\125\004\012\023\010\103\145\162\164\160\154\165\163
-\061\033\060\031\006\003\125\004\003\023\022\103\154\141\163\163
-\040\062\040\120\162\151\155\141\162\171\040\103\101\060\202\001
-\042\060\015\006\011\052\206\110\206\367\015\001\001\001\005\000
-\003\202\001\017\000\060\202\001\012\002\202\001\001\000\334\120
-\226\320\022\370\065\322\010\170\172\266\122\160\375\157\356\317
-\271\021\313\135\167\341\354\351\176\004\215\326\314\157\163\103
-\127\140\254\063\012\104\354\003\137\034\200\044\221\345\250\221
-\126\022\202\367\340\053\364\333\256\141\056\211\020\215\153\154
-\272\263\002\275\325\066\305\110\067\043\342\360\132\067\122\063
-\027\022\342\321\140\115\276\057\101\021\343\366\027\045\014\213
-\221\300\033\231\173\231\126\015\257\356\322\274\107\127\343\171
-\111\173\064\211\047\044\204\336\261\354\351\130\116\376\116\337
-\132\276\101\255\254\010\305\030\016\357\322\123\356\154\320\235
-\022\001\023\215\334\200\142\367\225\251\104\210\112\161\116\140
-\125\236\333\043\031\171\126\007\014\077\143\013\134\260\342\276
-\176\025\374\224\063\130\101\070\164\304\341\217\213\337\046\254
-\037\265\213\073\267\103\131\153\260\044\246\155\220\213\304\162
-\352\135\063\230\267\313\336\136\173\357\224\361\033\076\312\311
-\041\301\305\230\002\252\242\366\133\167\233\365\176\226\125\064
-\034\147\151\300\361\102\343\107\254\374\050\034\146\125\002\003
-\001\000\001\243\201\214\060\201\211\060\017\006\003\125\035\023
-\004\010\060\006\001\001\377\002\001\012\060\013\006\003\125\035
-\017\004\004\003\002\001\006\060\035\006\003\125\035\016\004\026
-\004\024\343\163\055\337\313\016\050\014\336\335\263\244\312\171
-\270\216\273\350\060\211\060\021\006\011\140\206\110\001\206\370
-\102\001\001\004\004\003\002\001\006\060\067\006\003\125\035\037
-\004\060\060\056\060\054\240\052\240\050\206\046\150\164\164\160
-\072\057\057\167\167\167\056\143\145\162\164\160\154\165\163\056
-\143\157\155\057\103\122\114\057\143\154\141\163\163\062\056\143
-\162\154\060\015\006\011\052\206\110\206\367\015\001\001\005\005
-\000\003\202\001\001\000\247\124\317\210\104\031\313\337\324\177
-\000\337\126\063\142\265\367\121\001\220\353\303\077\321\210\104
-\351\044\135\357\347\024\275\040\267\232\074\000\376\155\237\333
-\220\334\327\364\142\326\213\160\135\347\345\004\110\251\150\174
-\311\361\102\363\154\177\305\172\174\035\121\210\272\322\012\076
-\047\135\336\055\121\116\323\023\144\151\344\056\343\323\347\233
-\011\231\246\340\225\233\316\032\327\177\276\074\316\122\263\021
-\025\301\017\027\315\003\273\234\045\025\272\242\166\211\374\006
-\361\030\320\223\113\016\174\202\267\245\364\366\137\376\355\100
-\246\235\204\164\071\271\334\036\205\026\332\051\033\206\043\000
-\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
-# Fingerprint (SHA1): 74:20:74:41:72:9C:DD:92:EC:79:31:D8:23:10:8D:C2:81:92:E2:BB
-CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
-CKA_TOKEN CK_BBOOL CK_TRUE
-CKA_PRIVATE CK_BBOOL CK_FALSE
-CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "Certplus Class 2 Primary CA"
-CKA_CERT_SHA1_HASH MULTILINE_OCTAL
-\164\040\164\101\162\234\335\222\354\171\061\330\043\020\215\302
-\201\222\342\273
-END
-CKA_CERT_MD5_HASH MULTILINE_OCTAL
-\210\054\214\122\270\242\074\363\367\273\003\352\256\254\102\013
-END
-CKA_ISSUER MULTILINE_OCTAL
-\060\075\061\013\060\011\006\003\125\004\006\023\002\106\122\061
-\021\060\017\006\003\125\004\012\023\010\103\145\162\164\160\154
-\165\163\061\033\060\031\006\003\125\004\003\023\022\103\154\141
-\163\163\040\062\040\120\162\151\155\141\162\171\040\103\101
-END
-CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\021\000\205\275\113\363\330\332\343\151\366\224\327\137\303
-\245\104\043
-END
-CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
-CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
-CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
-CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
-
-#
-# 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
-# Fingerprint (SHA1): DA:C9:02:4F:54:D8:F6:DF:94:93:5F:B1:73:26:38:CA:6A:D7:7C:13
-CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
-CKA_TOKEN CK_BBOOL CK_TRUE
-CKA_PRIVATE CK_BBOOL CK_FALSE
-CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "DST Root CA X3"
-CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
-CKA_SUBJECT MULTILINE_OCTAL
-\060\077\061\044\060\042\006\003\125\004\012\023\033\104\151\147
-\151\164\141\154\040\123\151\147\156\141\164\165\162\145\040\124
-\162\165\163\164\040\103\157\056\061\027\060\025\006\003\125\004
-\003\023\016\104\123\124\040\122\157\157\164\040\103\101\040\130
-\063
-END
-CKA_ID UTF8 "0"
-CKA_ISSUER MULTILINE_OCTAL
-\060\077\061\044\060\042\006\003\125\004\012\023\033\104\151\147
-\151\164\141\154\040\123\151\147\156\141\164\165\162\145\040\124
-\162\165\163\164\040\103\157\056\061\027\060\025\006\003\125\004
-\003\023\016\104\123\124\040\122\157\157\164\040\103\101\040\130
-\063
-END
-CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\020\104\257\260\200\326\243\047\272\211\060\071\206\056\370
-\100\153
-END
-CKA_VALUE MULTILINE_OCTAL
-\060\202\003\112\060\202\002\062\240\003\002\001\002\002\020\104
-\257\260\200\326\243\047\272\211\060\071\206\056\370\100\153\060
-\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060\077
-\061\044\060\042\006\003\125\004\012\023\033\104\151\147\151\164
-\141\154\040\123\151\147\156\141\164\165\162\145\040\124\162\165
-\163\164\040\103\157\056\061\027\060\025\006\003\125\004\003\023
-\016\104\123\124\040\122\157\157\164\040\103\101\040\130\063\060
-\036\027\015\060\060\060\071\063\060\062\061\061\062\061\071\132
-\027\015\062\061\060\071\063\060\061\064\060\061\061\065\132\060
-\077\061\044\060\042\006\003\125\004\012\023\033\104\151\147\151
-\164\141\154\040\123\151\147\156\141\164\165\162\145\040\124\162
-\165\163\164\040\103\157\056\061\027\060\025\006\003\125\004\003
-\023\016\104\123\124\040\122\157\157\164\040\103\101\040\130\063
-\060\202\001\042\060\015\006\011\052\206\110\206\367\015\001\001
-\001\005\000\003\202\001\017\000\060\202\001\012\002\202\001\001
-\000\337\257\351\227\120\010\203\127\264\314\142\145\366\220\202
-\354\307\323\054\153\060\312\133\354\331\303\175\307\100\301\030
-\024\213\340\350\063\166\111\052\343\077\041\111\223\254\116\016
-\257\076\110\313\145\356\374\323\041\017\145\322\052\331\062\217
-\214\345\367\167\260\022\173\265\225\300\211\243\251\272\355\163
-\056\172\014\006\062\203\242\176\212\024\060\315\021\240\341\052
-\070\271\171\012\061\375\120\275\200\145\337\267\121\143\203\310
-\342\210\141\352\113\141\201\354\122\153\271\242\342\113\032\050
-\237\110\243\236\014\332\011\216\076\027\056\036\335\040\337\133
-\306\052\212\253\056\275\160\255\305\013\032\045\220\164\162\305
-\173\152\253\064\326\060\211\377\345\150\023\173\124\013\310\326
-\256\354\132\234\222\036\075\144\263\214\306\337\277\311\101\160
-\354\026\162\325\046\354\070\125\071\103\320\374\375\030\134\100
-\361\227\353\325\232\233\215\035\272\332\045\271\306\330\337\301
-\025\002\072\253\332\156\361\076\056\365\134\010\234\074\326\203
-\151\344\020\233\031\052\266\051\127\343\345\075\233\237\360\002
-\135\002\003\001\000\001\243\102\060\100\060\017\006\003\125\035
-\023\001\001\377\004\005\060\003\001\001\377\060\016\006\003\125
-\035\017\001\001\377\004\004\003\002\001\006\060\035\006\003\125
-\035\016\004\026\004\024\304\247\261\244\173\054\161\372\333\341
-\113\220\165\377\304\025\140\205\211\020\060\015\006\011\052\206
-\110\206\367\015\001\001\005\005\000\003\202\001\001\000\243\032
-\054\233\027\000\134\251\036\356\050\146\067\072\277\203\307\077
-\113\303\011\240\225\040\135\343\331\131\104\322\076\015\076\275
-\212\113\240\164\037\316\020\202\234\164\032\035\176\230\032\335
-\313\023\113\263\040\104\344\221\351\314\374\175\245\333\152\345
-\376\346\375\340\116\335\267\000\072\265\160\111\257\362\345\353
-\002\361\321\002\213\031\313\224\072\136\110\304\030\036\130\031
-\137\036\002\132\360\014\361\261\255\251\334\131\206\213\156\351
-\221\365\206\312\372\271\146\063\252\131\133\316\342\247\026\163
-\107\313\053\314\231\260\067\110\317\343\126\113\365\317\017\014
-\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
-# Fingerprint (SHA1): DA:C9:02:4F:54:D8:F6:DF:94:93:5F:B1:73:26:38:CA:6A:D7:7C:13
-CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
-CKA_TOKEN CK_BBOOL CK_TRUE
-CKA_PRIVATE CK_BBOOL CK_FALSE
-CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "DST Root CA X3"
-CKA_CERT_SHA1_HASH MULTILINE_OCTAL
-\332\311\002\117\124\330\366\337\224\223\137\261\163\046\070\312
-\152\327\174\023
-END
-CKA_CERT_MD5_HASH MULTILINE_OCTAL
-\101\003\122\334\017\367\120\033\026\360\002\216\272\157\105\305
-END
-CKA_ISSUER MULTILINE_OCTAL
-\060\077\061\044\060\042\006\003\125\004\012\023\033\104\151\147
-\151\164\141\154\040\123\151\147\156\141\164\165\162\145\040\124
-\162\165\163\164\040\103\157\056\061\027\060\025\006\003\125\004
-\003\023\016\104\123\124\040\122\157\157\164\040\103\101\040\130
-\063
-END
-CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\020\104\257\260\200\326\243\047\272\211\060\071\206\056\370
-\100\153
-END
-CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
-CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
-CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
-CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
-
-#
-# 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
-# Fingerprint (SHA1): 56:E0:FA:C0:3B:8F:18:23:55:18:E5:D3:11:CA:E8:C2:43:31:AB:66
-CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
-CKA_TOKEN CK_BBOOL CK_TRUE
-CKA_PRIVATE CK_BBOOL CK_FALSE
-CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "SwissSign Platinum CA - G2"
-CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
-CKA_SUBJECT MULTILINE_OCTAL
-\060\111\061\013\060\011\006\003\125\004\006\023\002\103\110\061
-\025\060\023\006\003\125\004\012\023\014\123\167\151\163\163\123
-\151\147\156\040\101\107\061\043\060\041\006\003\125\004\003\023
-\032\123\167\151\163\163\123\151\147\156\040\120\154\141\164\151
-\156\165\155\040\103\101\040\055\040\107\062
-END
-CKA_ID UTF8 "0"
-CKA_ISSUER MULTILINE_OCTAL
-\060\111\061\013\060\011\006\003\125\004\006\023\002\103\110\061
-\025\060\023\006\003\125\004\012\023\014\123\167\151\163\163\123
-\151\147\156\040\101\107\061\043\060\041\006\003\125\004\003\023
-\032\123\167\151\163\163\123\151\147\156\040\120\154\141\164\151
-\156\165\155\040\103\101\040\055\040\107\062
-END
-CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\010\116\262\000\147\014\003\135\117
-END
-CKA_VALUE MULTILINE_OCTAL
-\060\202\005\301\060\202\003\251\240\003\002\001\002\002\010\116
-\262\000\147\014\003\135\117\060\015\006\011\052\206\110\206\367
-\015\001\001\005\005\000\060\111\061\013\060\011\006\003\125\004
-\006\023\002\103\110\061\025\060\023\006\003\125\004\012\023\014
-\123\167\151\163\163\123\151\147\156\040\101\107\061\043\060\041
-\006\003\125\004\003\023\032\123\167\151\163\163\123\151\147\156
-\040\120\154\141\164\151\156\165\155\040\103\101\040\055\040\107
-\062\060\036\027\015\060\066\061\060\062\065\060\070\063\066\060
-\060\132\027\015\063\066\061\060\062\065\060\070\063\066\060\060
-\132\060\111\061\013\060\011\006\003\125\004\006\023\002\103\110
-\061\025\060\023\006\003\125\004\012\023\014\123\167\151\163\163
-\123\151\147\156\040\101\107\061\043\060\041\006\003\125\004\003
-\023\032\123\167\151\163\163\123\151\147\156\040\120\154\141\164
-\151\156\165\155\040\103\101\040\055\040\107\062\060\202\002\042
-\060\015\006\011\052\206\110\206\367\015\001\001\001\005\000\003
-\202\002\017\000\060\202\002\012\002\202\002\001\000\312\337\242
-\002\342\332\370\374\007\026\261\336\140\252\336\226\134\144\037
-\307\057\176\317\147\372\104\102\326\166\143\225\256\353\257\162
-\040\212\105\107\206\142\170\206\326\040\071\046\364\256\243\375
-\043\347\245\234\265\042\041\031\267\067\223\042\300\120\234\202
-\173\324\325\004\104\134\313\264\302\237\222\276\044\330\173\147
-\042\342\151\137\345\005\170\324\207\331\161\160\063\045\123\264
-\207\073\051\220\050\066\232\125\104\060\150\244\203\227\177\015
-\036\234\166\377\025\235\140\227\000\215\212\205\003\354\200\276
-\352\054\156\020\121\222\314\176\325\243\063\330\326\111\336\130
-\052\257\366\026\353\113\173\220\062\227\271\272\235\130\361\370
-\127\111\004\036\242\135\006\160\335\161\333\371\335\213\232\033
-\214\317\075\243\115\316\313\174\366\273\234\240\372\011\316\043
-\142\262\351\015\037\342\162\050\217\237\254\150\040\175\157\073
-\250\205\061\011\177\013\307\350\145\351\343\170\016\011\147\060
-\213\064\202\373\135\340\314\235\201\155\142\356\010\036\004\054
-\116\233\354\376\251\117\137\375\151\170\357\011\037\241\264\277
-\372\363\357\220\036\114\005\213\036\352\172\221\172\303\327\345
-\373\060\274\154\033\020\130\230\367\032\137\320\051\062\003\023
-\106\115\141\152\205\114\122\164\057\006\037\173\021\342\204\227
-\306\231\363\155\177\327\147\203\176\023\150\330\161\050\132\330
-\316\335\350\020\024\232\376\155\043\207\156\216\132\160\074\325
-\215\011\000\247\252\274\260\061\067\155\310\204\024\036\133\275
-\105\143\040\153\113\164\214\275\333\072\016\301\317\132\026\217
-\245\230\362\166\211\262\023\022\073\013\167\167\254\273\345\074
-\051\112\222\162\312\141\032\053\136\114\342\203\164\167\372\065
-\110\172\205\115\215\232\123\304\337\170\312\227\221\110\053\105
-\053\001\367\034\032\242\355\030\272\012\275\203\372\157\274\215
-\127\223\073\324\324\246\316\036\361\240\261\316\253\375\053\050
-\232\117\033\327\303\162\333\244\304\277\135\114\365\335\173\226
-\151\356\150\200\346\347\230\272\066\267\376\156\355\053\275\040
-\370\145\031\332\125\011\176\045\334\376\141\142\162\371\176\030
-\002\357\143\264\320\373\257\345\073\143\214\147\217\002\003\001
-\000\001\243\201\254\060\201\251\060\016\006\003\125\035\017\001
-\001\377\004\004\003\002\001\006\060\017\006\003\125\035\023\001
-\001\377\004\005\060\003\001\001\377\060\035\006\003\125\035\016
-\004\026\004\024\120\257\314\007\207\025\107\157\070\305\264\145
-\321\336\225\252\351\337\234\314\060\037\006\003\125\035\043\004
-\030\060\026\200\024\120\257\314\007\207\025\107\157\070\305\264
-\145\321\336\225\252\351\337\234\314\060\106\006\003\125\035\040
-\004\077\060\075\060\073\006\011\140\205\164\001\131\001\001\001
-\001\060\056\060\054\006\010\053\006\001\005\005\007\002\001\026
-\040\150\164\164\160\072\057\057\162\145\160\157\163\151\164\157
-\162\171\056\163\167\151\163\163\163\151\147\156\056\143\157\155
-\057\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000
-\003\202\002\001\000\010\205\246\365\026\014\374\104\032\301\143
-\340\371\125\106\010\374\160\034\102\050\226\216\267\305\301\101
-\165\116\011\161\171\345\155\226\312\113\245\210\140\320\060\164
-\270\312\010\334\264\060\236\100\007\026\153\145\225\167\001\256
-\244\267\065\013\201\332\161\025\251\164\027\070\173\130\312\371
-\057\373\300\145\166\215\133\001\271\175\336\202\075\144\270\276
-\024\164\243\012\124\323\054\225\030\027\065\365\121\153\077\217
-\242\226\141\071\170\153\113\345\246\240\370\123\337\121\020\223
-\142\347\200\057\342\321\340\274\216\066\106\167\063\354\270\373
-\216\232\054\211\115\061\021\017\046\236\004\273\267\004\215\013
-\362\271\374\132\235\073\026\267\057\310\230\253\376\212\120\131
-\056\243\073\374\051\135\213\301\113\311\342\212\023\035\261\277
-\273\102\035\122\335\116\330\024\136\020\306\061\007\357\161\047
-\367\033\071\011\334\202\352\213\263\225\206\136\375\365\332\135
-\061\246\340\061\266\224\346\104\111\164\305\026\345\367\037\003
-\141\050\305\310\313\022\240\102\113\371\153\210\010\215\264\062
-\030\363\165\237\304\177\000\117\005\225\234\243\027\002\303\263
-\123\233\252\040\071\051\053\146\372\235\257\136\263\222\322\265
-\246\341\032\371\055\101\151\201\024\264\264\265\355\211\075\316
-\373\251\235\065\102\104\261\034\024\163\201\317\052\001\065\232
-\061\325\055\217\155\204\337\200\115\127\343\077\305\204\165\332
-\211\306\060\273\353\217\313\042\010\240\256\252\361\003\154\072
-\113\115\011\245\016\162\306\126\153\041\102\116\043\045\024\150
-\256\166\012\174\014\007\160\144\371\232\057\366\005\071\046\306
-\014\217\031\177\103\136\156\364\133\025\057\333\141\135\346\147
-\057\077\010\224\371\140\264\230\061\332\164\361\204\223\161\115
-\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
-# Fingerprint (SHA1): 56:E0:FA:C0:3B:8F:18:23:55:18:E5:D3:11:CA:E8:C2:43:31:AB:66
-CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
-CKA_TOKEN CK_BBOOL CK_TRUE
-CKA_PRIVATE CK_BBOOL CK_FALSE
-CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "SwissSign Platinum CA - G2"
-CKA_CERT_SHA1_HASH MULTILINE_OCTAL
-\126\340\372\300\073\217\030\043\125\030\345\323\021\312\350\302
-\103\061\253\146
-END
-CKA_CERT_MD5_HASH MULTILINE_OCTAL
-\311\230\047\167\050\036\075\016\025\074\204\000\270\205\003\346
-END
-CKA_ISSUER MULTILINE_OCTAL
-\060\111\061\013\060\011\006\003\125\004\006\023\002\103\110\061
-\025\060\023\006\003\125\004\012\023\014\123\167\151\163\163\123
-\151\147\156\040\101\107\061\043\060\041\006\003\125\004\003\023
-\032\123\167\151\163\163\123\151\147\156\040\120\154\141\164\151
-\156\165\155\040\103\101\040\055\040\107\062
-END
-CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\010\116\262\000\147\014\003\135\117
-END
-CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
-CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
-CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
-CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
-
 #
 # Certificate "SwissSign Gold CA - G2"
 #
@@ -5143,7 +2654,7 @@ CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
 # 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
+# Fingerprint (SHA-256): 62:DD:0B:E9:B9:F5:0A:16:3E:A0:F8:E7:5C:05:3B:1E:CA:57:EA:55:C8:68:8F:64:7C:68:81:F2:C8:35:7B:95
 # Fingerprint (SHA1): D8:C5:38:8A:B7:30:1B:1B:6E:D4:7A:E6:45:25:3A:6F:9F:1A:27:61
 CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
 CKA_TOKEN CK_BBOOL CK_TRUE
@@ -5264,14 +2775,16 @@ CKA_VALUE MULTILINE_OCTAL
 \111\044\133\311\260\320\127\301\372\076\172\341\227\311
 END
 CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
 
-# Trust for Certificate "SwissSign Gold CA - G2"
+# Trust for "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
+# Fingerprint (SHA-256): 62:DD:0B:E9:B9:F5:0A:16:3E:A0:F8:E7:5C:05:3B:1E:CA:57:EA:55:C8:68:8F:64:7C:68:81:F2:C8:35:7B:95
 # Fingerprint (SHA1): D8:C5:38:8A:B7:30:1B:1B:6E:D4:7A:E6:45:25:3A:6F:9F:1A:27:61
 CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
 CKA_TOKEN CK_BBOOL CK_TRUE
@@ -5308,7 +2821,7 @@ CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
 # 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
+# Fingerprint (SHA-256): BE:6C:4D:A2:BB:B9:BA:59:B6:F3:93:97:68:37:42:46:C3:C0:05:99:3F:A9:8F:02:0D:1D:ED:BE:D4:8A:81:D5
 # Fingerprint (SHA1): 9B:AA:E5:9F:56:EE:21:CB:43:5A:BE:25:93:DF:A7:F0:40:D1:1D:CB
 CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
 CKA_TOKEN CK_BBOOL CK_TRUE
@@ -5430,14 +2943,16 @@ CKA_VALUE MULTILINE_OCTAL
 \156
 END
 CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
 
-# Trust for Certificate "SwissSign Silver CA - G2"
+# Trust for "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
+# Fingerprint (SHA-256): BE:6C:4D:A2:BB:B9:BA:59:B6:F3:93:97:68:37:42:46:C3:C0:05:99:3F:A9:8F:02:0D:1D:ED:BE:D4:8A:81:D5
 # Fingerprint (SHA1): 9B:AA:E5:9F:56:EE:21:CB:43:5A:BE:25:93:DF:A7:F0:40:D1:1D:CB
 CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
 CKA_TOKEN CK_BBOOL CK_TRUE
@@ -5467,527 +2982,56 @@ CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
 CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
 
 #
-# Certificate "GeoTrust Primary Certification Authority"
+# Certificate "SecureTrust CA"
 #
-# 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
-# Fingerprint (SHA1): 32:3C:11:8E:1B:F7:B8:B6:52:54:E2:E2:10:0D:D6:02:90:37:F0:96
+# 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 (SHA-256): F1:C1:B5:0A:E5:A2:0D:D8:03:0E:C9:F6:BC:24:82:3D:D3:67:B5:25:57:59:B4:E7:1B:61:FC:E9:F7:37:5D:73
+# Fingerprint (SHA1): 87:82:C6:C3:04:35:3B:CF:D2:96:92:D2:59:3E:7D:44:D9:34:FF:11
 CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "GeoTrust Primary Certification Authority"
+CKA_LABEL UTF8 "SecureTrust CA"
 CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
 CKA_SUBJECT MULTILINE_OCTAL
-\060\130\061\013\060\011\006\003\125\004\006\023\002\125\123\061
-\026\060\024\006\003\125\004\012\023\015\107\145\157\124\162\165
-\163\164\040\111\156\143\056\061\061\060\057\006\003\125\004\003
-\023\050\107\145\157\124\162\165\163\164\040\120\162\151\155\141
-\162\171\040\103\145\162\164\151\146\151\143\141\164\151\157\156
-\040\101\165\164\150\157\162\151\164\171
+\060\110\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\040\060\036\006\003\125\004\012\023\027\123\145\143\165\162\145
+\124\162\165\163\164\040\103\157\162\160\157\162\141\164\151\157
+\156\061\027\060\025\006\003\125\004\003\023\016\123\145\143\165
+\162\145\124\162\165\163\164\040\103\101
 END
 CKA_ID UTF8 "0"
 CKA_ISSUER MULTILINE_OCTAL
-\060\130\061\013\060\011\006\003\125\004\006\023\002\125\123\061
-\026\060\024\006\003\125\004\012\023\015\107\145\157\124\162\165
-\163\164\040\111\156\143\056\061\061\060\057\006\003\125\004\003
-\023\050\107\145\157\124\162\165\163\164\040\120\162\151\155\141
-\162\171\040\103\145\162\164\151\146\151\143\141\164\151\157\156
-\040\101\165\164\150\157\162\151\164\171
+\060\110\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\040\060\036\006\003\125\004\012\023\027\123\145\143\165\162\145
+\124\162\165\163\164\040\103\157\162\160\157\162\141\164\151\157
+\156\061\027\060\025\006\003\125\004\003\023\016\123\145\143\165
+\162\145\124\162\165\163\164\040\103\101
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\020\030\254\265\152\375\151\266\025\072\143\154\257\332\372
-\304\241
+\002\020\014\360\216\134\010\026\245\255\102\177\360\353\047\030
+\131\320
 END
 CKA_VALUE MULTILINE_OCTAL
-\060\202\003\174\060\202\002\144\240\003\002\001\002\002\020\030
-\254\265\152\375\151\266\025\072\143\154\257\332\372\304\241\060
-\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060\130
-\061\013\060\011\006\003\125\004\006\023\002\125\123\061\026\060
-\024\006\003\125\004\012\023\015\107\145\157\124\162\165\163\164
-\040\111\156\143\056\061\061\060\057\006\003\125\004\003\023\050
-\107\145\157\124\162\165\163\164\040\120\162\151\155\141\162\171
-\040\103\145\162\164\151\146\151\143\141\164\151\157\156\040\101
-\165\164\150\157\162\151\164\171\060\036\027\015\060\066\061\061
-\062\067\060\060\060\060\060\060\132\027\015\063\066\060\067\061
-\066\062\063\065\071\065\071\132\060\130\061\013\060\011\006\003
-\125\004\006\023\002\125\123\061\026\060\024\006\003\125\004\012
-\023\015\107\145\157\124\162\165\163\164\040\111\156\143\056\061
-\061\060\057\006\003\125\004\003\023\050\107\145\157\124\162\165
-\163\164\040\120\162\151\155\141\162\171\040\103\145\162\164\151
-\146\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151
-\164\171\060\202\001\042\060\015\006\011\052\206\110\206\367\015
-\001\001\001\005\000\003\202\001\017\000\060\202\001\012\002\202
-\001\001\000\276\270\025\173\377\324\174\175\147\255\203\144\173
-\310\102\123\055\337\366\204\010\040\141\326\001\131\152\234\104
-\021\257\357\166\375\225\176\316\141\060\273\172\203\137\002\275
-\001\146\312\356\025\215\157\241\060\234\275\241\205\236\224\072
-\363\126\210\000\061\317\330\356\152\226\002\331\355\003\214\373
-\165\155\347\352\270\125\026\005\026\232\364\340\136\261\210\300
-\144\205\134\025\115\210\307\267\272\340\165\351\255\005\075\235
-\307\211\110\340\273\050\310\003\341\060\223\144\136\122\300\131
-\160\042\065\127\210\212\361\225\012\203\327\274\061\163\001\064
-\355\357\106\161\340\153\002\250\065\162\153\227\233\146\340\313
-\034\171\137\330\032\004\150\036\107\002\346\235\140\342\066\227
-\001\337\316\065\222\337\276\147\307\155\167\131\073\217\235\326
-\220\025\224\274\102\064\020\301\071\371\261\047\076\176\326\212
-\165\305\262\257\226\323\242\336\233\344\230\276\175\341\351\201
-\255\266\157\374\327\016\332\340\064\260\015\032\167\347\343\010
-\230\357\130\372\234\204\267\066\257\302\337\254\322\364\020\006
-\160\161\065\002\003\001\000\001\243\102\060\100\060\017\006\003
-\125\035\023\001\001\377\004\005\060\003\001\001\377\060\016\006
-\003\125\035\017\001\001\377\004\004\003\002\001\006\060\035\006
-\003\125\035\016\004\026\004\024\054\325\120\101\227\025\213\360
-\217\066\141\133\112\373\153\331\231\311\063\222\060\015\006\011
-\052\206\110\206\367\015\001\001\005\005\000\003\202\001\001\000
-\132\160\177\054\335\267\064\117\365\206\121\251\046\276\113\270
-\252\361\161\015\334\141\307\240\352\064\036\172\167\017\004\065
-\350\047\217\154\220\277\221\026\044\106\076\112\116\316\053\026
-\325\013\122\035\374\037\147\242\002\105\061\117\316\363\372\003
-\247\171\235\123\152\331\332\143\072\370\200\327\323\231\341\245
-\341\276\324\125\161\230\065\072\276\223\352\256\255\102\262\220
-\157\340\374\041\115\065\143\063\211\111\326\233\116\312\307\347
-\116\011\000\367\332\307\357\231\142\231\167\266\225\042\136\212
-\240\253\364\270\170\230\312\070\031\231\311\162\236\170\315\113
-\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
-# Fingerprint (SHA1): 32:3C:11:8E:1B:F7:B8:B6:52:54:E2:E2:10:0D:D6:02:90:37:F0:96
-CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
-CKA_TOKEN CK_BBOOL CK_TRUE
-CKA_PRIVATE CK_BBOOL CK_FALSE
-CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "GeoTrust Primary Certification Authority"
-CKA_CERT_SHA1_HASH MULTILINE_OCTAL
-\062\074\021\216\033\367\270\266\122\124\342\342\020\015\326\002
-\220\067\360\226
-END
-CKA_CERT_MD5_HASH MULTILINE_OCTAL
-\002\046\303\001\136\010\060\067\103\251\320\175\317\067\346\277
-END
-CKA_ISSUER MULTILINE_OCTAL
-\060\130\061\013\060\011\006\003\125\004\006\023\002\125\123\061
-\026\060\024\006\003\125\004\012\023\015\107\145\157\124\162\165
-\163\164\040\111\156\143\056\061\061\060\057\006\003\125\004\003
-\023\050\107\145\157\124\162\165\163\164\040\120\162\151\155\141
-\162\171\040\103\145\162\164\151\146\151\143\141\164\151\157\156
-\040\101\165\164\150\157\162\151\164\171
-END
-CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\020\030\254\265\152\375\151\266\025\072\143\154\257\332\372
-\304\241
-END
-CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
-CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
-CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
-CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
-
-#
-# 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
-# Fingerprint (SHA1): 91:C6:D6:EE:3E:8A:C8:63:84:E5:48:C2:99:29:5C:75:6C:81:7B:81
-CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
-CKA_TOKEN CK_BBOOL CK_TRUE
-CKA_PRIVATE CK_BBOOL CK_FALSE
-CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "thawte Primary Root CA"
-CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
-CKA_SUBJECT MULTILINE_OCTAL
-\060\201\251\061\013\060\011\006\003\125\004\006\023\002\125\123
-\061\025\060\023\006\003\125\004\012\023\014\164\150\141\167\164
-\145\054\040\111\156\143\056\061\050\060\046\006\003\125\004\013
-\023\037\103\145\162\164\151\146\151\143\141\164\151\157\156\040
-\123\145\162\166\151\143\145\163\040\104\151\166\151\163\151\157
-\156\061\070\060\066\006\003\125\004\013\023\057\050\143\051\040
-\062\060\060\066\040\164\150\141\167\164\145\054\040\111\156\143
-\056\040\055\040\106\157\162\040\141\165\164\150\157\162\151\172
-\145\144\040\165\163\145\040\157\156\154\171\061\037\060\035\006
-\003\125\004\003\023\026\164\150\141\167\164\145\040\120\162\151
-\155\141\162\171\040\122\157\157\164\040\103\101
-END
-CKA_ID UTF8 "0"
-CKA_ISSUER MULTILINE_OCTAL
-\060\201\251\061\013\060\011\006\003\125\004\006\023\002\125\123
-\061\025\060\023\006\003\125\004\012\023\014\164\150\141\167\164
-\145\054\040\111\156\143\056\061\050\060\046\006\003\125\004\013
-\023\037\103\145\162\164\151\146\151\143\141\164\151\157\156\040
-\123\145\162\166\151\143\145\163\040\104\151\166\151\163\151\157
-\156\061\070\060\066\006\003\125\004\013\023\057\050\143\051\040
-\062\060\060\066\040\164\150\141\167\164\145\054\040\111\156\143
-\056\040\055\040\106\157\162\040\141\165\164\150\157\162\151\172
-\145\144\040\165\163\145\040\157\156\154\171\061\037\060\035\006
-\003\125\004\003\023\026\164\150\141\167\164\145\040\120\162\151
-\155\141\162\171\040\122\157\157\164\040\103\101
-END
-CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\020\064\116\325\127\040\325\355\354\111\364\057\316\067\333
-\053\155
-END
-CKA_VALUE MULTILINE_OCTAL
-\060\202\004\040\060\202\003\010\240\003\002\001\002\002\020\064
-\116\325\127\040\325\355\354\111\364\057\316\067\333\053\155\060
-\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060\201
-\251\061\013\060\011\006\003\125\004\006\023\002\125\123\061\025
-\060\023\006\003\125\004\012\023\014\164\150\141\167\164\145\054
-\040\111\156\143\056\061\050\060\046\006\003\125\004\013\023\037
-\103\145\162\164\151\146\151\143\141\164\151\157\156\040\123\145
-\162\166\151\143\145\163\040\104\151\166\151\163\151\157\156\061
-\070\060\066\006\003\125\004\013\023\057\050\143\051\040\062\060
-\060\066\040\164\150\141\167\164\145\054\040\111\156\143\056\040
-\055\040\106\157\162\040\141\165\164\150\157\162\151\172\145\144
-\040\165\163\145\040\157\156\154\171\061\037\060\035\006\003\125
-\004\003\023\026\164\150\141\167\164\145\040\120\162\151\155\141
-\162\171\040\122\157\157\164\040\103\101\060\036\027\015\060\066
-\061\061\061\067\060\060\060\060\060\060\132\027\015\063\066\060
-\067\061\066\062\063\065\071\065\071\132\060\201\251\061\013\060
-\011\006\003\125\004\006\023\002\125\123\061\025\060\023\006\003
-\125\004\012\023\014\164\150\141\167\164\145\054\040\111\156\143
-\056\061\050\060\046\006\003\125\004\013\023\037\103\145\162\164
-\151\146\151\143\141\164\151\157\156\040\123\145\162\166\151\143
-\145\163\040\104\151\166\151\163\151\157\156\061\070\060\066\006
-\003\125\004\013\023\057\050\143\051\040\062\060\060\066\040\164
-\150\141\167\164\145\054\040\111\156\143\056\040\055\040\106\157
-\162\040\141\165\164\150\157\162\151\172\145\144\040\165\163\145
-\040\157\156\154\171\061\037\060\035\006\003\125\004\003\023\026
-\164\150\141\167\164\145\040\120\162\151\155\141\162\171\040\122
-\157\157\164\040\103\101\060\202\001\042\060\015\006\011\052\206
-\110\206\367\015\001\001\001\005\000\003\202\001\017\000\060\202
-\001\012\002\202\001\001\000\254\240\360\373\200\131\324\234\307
-\244\317\235\241\131\163\011\020\105\014\015\054\156\150\361\154
-\133\110\150\111\131\067\374\013\063\031\302\167\177\314\020\055
-\225\064\034\346\353\115\011\247\034\322\270\311\227\066\002\267
-\211\324\044\137\006\300\314\104\224\224\215\002\142\157\353\132
-\335\021\215\050\232\134\204\220\020\172\015\275\164\146\057\152
-\070\240\342\325\124\104\353\035\007\237\007\272\157\356\351\375
-\116\013\051\365\076\204\240\001\361\234\253\370\034\176\211\244
-\350\241\330\161\145\015\243\121\173\356\274\322\042\140\015\271
-\133\235\337\272\374\121\133\013\257\230\262\351\056\351\004\350
-\142\207\336\053\310\327\116\301\114\144\036\335\317\207\130\272
-\112\117\312\150\007\035\034\235\112\306\325\057\221\314\174\161
-\162\034\305\300\147\353\062\375\311\222\134\224\332\205\300\233
-\277\123\175\053\011\364\214\235\221\037\227\152\122\313\336\011
-\066\244\167\330\173\207\120\104\325\076\156\051\151\373\071\111
-\046\036\011\245\200\173\100\055\353\350\047\205\311\376\141\375
-\176\346\174\227\035\325\235\002\003\001\000\001\243\102\060\100
-\060\017\006\003\125\035\023\001\001\377\004\005\060\003\001\001
-\377\060\016\006\003\125\035\017\001\001\377\004\004\003\002\001
-\006\060\035\006\003\125\035\016\004\026\004\024\173\133\105\317
-\257\316\313\172\375\061\222\032\152\266\363\106\353\127\110\120
-\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000\003
-\202\001\001\000\171\021\300\113\263\221\266\374\360\351\147\324
-\015\156\105\276\125\350\223\322\316\003\077\355\332\045\260\035
-\127\313\036\072\166\240\114\354\120\166\350\144\162\014\244\251
-\361\270\213\326\326\207\204\273\062\345\101\021\300\167\331\263
-\140\235\353\033\325\321\156\104\104\251\246\001\354\125\142\035
-\167\270\134\216\110\111\174\234\073\127\021\254\255\163\067\216
-\057\170\134\220\150\107\331\140\140\346\374\007\075\042\040\027
-\304\367\026\351\304\330\162\371\310\163\174\337\026\057\025\251
-\076\375\152\047\266\241\353\132\272\230\037\325\343\115\144\012
-\235\023\310\141\272\365\071\034\207\272\270\275\173\042\177\366
-\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
-# Fingerprint (SHA1): 91:C6:D6:EE:3E:8A:C8:63:84:E5:48:C2:99:29:5C:75:6C:81:7B:81
-CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
-CKA_TOKEN CK_BBOOL CK_TRUE
-CKA_PRIVATE CK_BBOOL CK_FALSE
-CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "thawte Primary Root CA"
-CKA_CERT_SHA1_HASH MULTILINE_OCTAL
-\221\306\326\356\076\212\310\143\204\345\110\302\231\051\134\165
-\154\201\173\201
-END
-CKA_CERT_MD5_HASH MULTILINE_OCTAL
-\214\312\334\013\042\316\365\276\162\254\101\032\021\250\330\022
-END
-CKA_ISSUER MULTILINE_OCTAL
-\060\201\251\061\013\060\011\006\003\125\004\006\023\002\125\123
-\061\025\060\023\006\003\125\004\012\023\014\164\150\141\167\164
-\145\054\040\111\156\143\056\061\050\060\046\006\003\125\004\013
-\023\037\103\145\162\164\151\146\151\143\141\164\151\157\156\040
-\123\145\162\166\151\143\145\163\040\104\151\166\151\163\151\157
-\156\061\070\060\066\006\003\125\004\013\023\057\050\143\051\040
-\062\060\060\066\040\164\150\141\167\164\145\054\040\111\156\143
-\056\040\055\040\106\157\162\040\141\165\164\150\157\162\151\172
-\145\144\040\165\163\145\040\157\156\154\171\061\037\060\035\006
-\003\125\004\003\023\026\164\150\141\167\164\145\040\120\162\151
-\155\141\162\171\040\122\157\157\164\040\103\101
-END
-CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\020\064\116\325\127\040\325\355\354\111\364\057\316\067\333
-\053\155
-END
-CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
-CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
-CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
-CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
-
-#
-# 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
-# Fingerprint (SHA1): 4E:B6:D5:78:49:9B:1C:CF:5F:58:1E:AD:56:BE:3D:9B:67:44:A5:E5
-CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
-CKA_TOKEN CK_BBOOL CK_TRUE
-CKA_PRIVATE CK_BBOOL CK_FALSE
-CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "VeriSign Class 3 Public Primary Certification Authority - G5"
-CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
-CKA_SUBJECT MULTILINE_OCTAL
-\060\201\312\061\013\060\011\006\003\125\004\006\023\002\125\123
-\061\027\060\025\006\003\125\004\012\023\016\126\145\162\151\123
-\151\147\156\054\040\111\156\143\056\061\037\060\035\006\003\125
-\004\013\023\026\126\145\162\151\123\151\147\156\040\124\162\165
-\163\164\040\116\145\164\167\157\162\153\061\072\060\070\006\003
-\125\004\013\023\061\050\143\051\040\062\060\060\066\040\126\145
-\162\151\123\151\147\156\054\040\111\156\143\056\040\055\040\106
-\157\162\040\141\165\164\150\157\162\151\172\145\144\040\165\163
-\145\040\157\156\154\171\061\105\060\103\006\003\125\004\003\023
-\074\126\145\162\151\123\151\147\156\040\103\154\141\163\163\040
-\063\040\120\165\142\154\151\143\040\120\162\151\155\141\162\171
-\040\103\145\162\164\151\146\151\143\141\164\151\157\156\040\101
-\165\164\150\157\162\151\164\171\040\055\040\107\065
-END
-CKA_ID UTF8 "0"
-CKA_ISSUER MULTILINE_OCTAL
-\060\201\312\061\013\060\011\006\003\125\004\006\023\002\125\123
-\061\027\060\025\006\003\125\004\012\023\016\126\145\162\151\123
-\151\147\156\054\040\111\156\143\056\061\037\060\035\006\003\125
-\004\013\023\026\126\145\162\151\123\151\147\156\040\124\162\165
-\163\164\040\116\145\164\167\157\162\153\061\072\060\070\006\003
-\125\004\013\023\061\050\143\051\040\062\060\060\066\040\126\145
-\162\151\123\151\147\156\054\040\111\156\143\056\040\055\040\106
-\157\162\040\141\165\164\150\157\162\151\172\145\144\040\165\163
-\145\040\157\156\154\171\061\105\060\103\006\003\125\004\003\023
-\074\126\145\162\151\123\151\147\156\040\103\154\141\163\163\040
-\063\040\120\165\142\154\151\143\040\120\162\151\155\141\162\171
-\040\103\145\162\164\151\146\151\143\141\164\151\157\156\040\101
-\165\164\150\157\162\151\164\171\040\055\040\107\065
-END
-CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\020\030\332\321\236\046\175\350\273\112\041\130\315\314\153
-\073\112
-END
-CKA_VALUE MULTILINE_OCTAL
-\060\202\004\323\060\202\003\273\240\003\002\001\002\002\020\030
-\332\321\236\046\175\350\273\112\041\130\315\314\153\073\112\060
-\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060\201
-\312\061\013\060\011\006\003\125\004\006\023\002\125\123\061\027
-\060\025\006\003\125\004\012\023\016\126\145\162\151\123\151\147
-\156\054\040\111\156\143\056\061\037\060\035\006\003\125\004\013
-\023\026\126\145\162\151\123\151\147\156\040\124\162\165\163\164
-\040\116\145\164\167\157\162\153\061\072\060\070\006\003\125\004
-\013\023\061\050\143\051\040\062\060\060\066\040\126\145\162\151
-\123\151\147\156\054\040\111\156\143\056\040\055\040\106\157\162
-\040\141\165\164\150\157\162\151\172\145\144\040\165\163\145\040
-\157\156\154\171\061\105\060\103\006\003\125\004\003\023\074\126
-\145\162\151\123\151\147\156\040\103\154\141\163\163\040\063\040
-\120\165\142\154\151\143\040\120\162\151\155\141\162\171\040\103
-\145\162\164\151\146\151\143\141\164\151\157\156\040\101\165\164
-\150\157\162\151\164\171\040\055\040\107\065\060\036\027\015\060
-\066\061\061\060\070\060\060\060\060\060\060\132\027\015\063\066
-\060\067\061\066\062\063\065\071\065\071\132\060\201\312\061\013
-\060\011\006\003\125\004\006\023\002\125\123\061\027\060\025\006
-\003\125\004\012\023\016\126\145\162\151\123\151\147\156\054\040
-\111\156\143\056\061\037\060\035\006\003\125\004\013\023\026\126
-\145\162\151\123\151\147\156\040\124\162\165\163\164\040\116\145
-\164\167\157\162\153\061\072\060\070\006\003\125\004\013\023\061
-\050\143\051\040\062\060\060\066\040\126\145\162\151\123\151\147
-\156\054\040\111\156\143\056\040\055\040\106\157\162\040\141\165
-\164\150\157\162\151\172\145\144\040\165\163\145\040\157\156\154
-\171\061\105\060\103\006\003\125\004\003\023\074\126\145\162\151
-\123\151\147\156\040\103\154\141\163\163\040\063\040\120\165\142
-\154\151\143\040\120\162\151\155\141\162\171\040\103\145\162\164
-\151\146\151\143\141\164\151\157\156\040\101\165\164\150\157\162
-\151\164\171\040\055\040\107\065\060\202\001\042\060\015\006\011
-\052\206\110\206\367\015\001\001\001\005\000\003\202\001\017\000
-\060\202\001\012\002\202\001\001\000\257\044\010\010\051\172\065
-\236\140\014\252\347\113\073\116\334\174\274\074\105\034\273\053
-\340\376\051\002\371\127\010\243\144\205\025\047\365\361\255\310
-\061\211\135\042\350\052\252\246\102\263\217\370\271\125\267\261
-\267\113\263\376\217\176\007\127\354\357\103\333\146\142\025\141
-\317\140\015\244\330\336\370\340\303\142\010\075\124\023\353\111
-\312\131\124\205\046\345\053\217\033\237\353\365\241\221\302\063
-\111\330\103\143\152\122\113\322\217\350\160\121\115\321\211\151
-\173\307\160\366\263\334\022\164\333\173\135\113\126\323\226\277
-\025\167\241\260\364\242\045\362\257\034\222\147\030\345\364\006
-\004\357\220\271\344\000\344\335\072\265\031\377\002\272\364\074
-\356\340\213\353\067\213\354\364\327\254\362\366\360\075\257\335
-\165\221\063\031\035\034\100\313\164\044\031\041\223\331\024\376
-\254\052\122\307\217\325\004\111\344\215\143\107\210\074\151\203
-\313\376\107\275\053\176\117\305\225\256\016\235\324\321\103\300
-\147\163\343\024\010\176\345\077\237\163\270\063\012\317\135\077
-\064\207\226\212\356\123\350\045\025\002\003\001\000\001\243\201
-\262\060\201\257\060\017\006\003\125\035\023\001\001\377\004\005
-\060\003\001\001\377\060\016\006\003\125\035\017\001\001\377\004
-\004\003\002\001\006\060\155\006\010\053\006\001\005\005\007\001
-\014\004\141\060\137\241\135\240\133\060\131\060\127\060\125\026
-\011\151\155\141\147\145\057\147\151\146\060\041\060\037\060\007
-\006\005\053\016\003\002\032\004\024\217\345\323\032\206\254\215
-\216\153\303\317\200\152\324\110\030\054\173\031\056\060\045\026
-\043\150\164\164\160\072\057\057\154\157\147\157\056\166\145\162
-\151\163\151\147\156\056\143\157\155\057\166\163\154\157\147\157
-\056\147\151\146\060\035\006\003\125\035\016\004\026\004\024\177
-\323\145\247\302\335\354\273\360\060\011\363\103\071\372\002\257
-\063\061\063\060\015\006\011\052\206\110\206\367\015\001\001\005
-\005\000\003\202\001\001\000\223\044\112\060\137\142\317\330\032
-\230\057\075\352\334\231\055\275\167\366\245\171\042\070\354\304
-\247\240\170\022\255\142\016\105\160\144\305\347\227\146\055\230
-\011\176\137\257\326\314\050\145\362\001\252\010\032\107\336\371
-\371\174\222\132\010\151\040\015\331\076\155\156\074\015\156\330
-\346\006\221\100\030\271\370\301\355\337\333\101\252\340\226\040
-\311\315\144\025\070\201\311\224\356\242\204\051\013\023\157\216
-\333\014\335\045\002\333\244\213\031\104\322\101\172\005\151\112
-\130\117\140\312\176\202\152\013\002\252\045\027\071\265\333\177
-\347\204\145\052\225\212\275\206\336\136\201\026\203\055\020\314
-\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
-# Fingerprint (SHA1): 4E:B6:D5:78:49:9B:1C:CF:5F:58:1E:AD:56:BE:3D:9B:67:44:A5:E5
-CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
-CKA_TOKEN CK_BBOOL CK_TRUE
-CKA_PRIVATE CK_BBOOL CK_FALSE
-CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "VeriSign Class 3 Public Primary Certification Authority - G5"
-CKA_CERT_SHA1_HASH MULTILINE_OCTAL
-\116\266\325\170\111\233\034\317\137\130\036\255\126\276\075\233
-\147\104\245\345
-END
-CKA_CERT_MD5_HASH MULTILINE_OCTAL
-\313\027\344\061\147\076\342\011\376\105\127\223\363\012\372\034
-END
-CKA_ISSUER MULTILINE_OCTAL
-\060\201\312\061\013\060\011\006\003\125\004\006\023\002\125\123
-\061\027\060\025\006\003\125\004\012\023\016\126\145\162\151\123
-\151\147\156\054\040\111\156\143\056\061\037\060\035\006\003\125
-\004\013\023\026\126\145\162\151\123\151\147\156\040\124\162\165
-\163\164\040\116\145\164\167\157\162\153\061\072\060\070\006\003
-\125\004\013\023\061\050\143\051\040\062\060\060\066\040\126\145
-\162\151\123\151\147\156\054\040\111\156\143\056\040\055\040\106
-\157\162\040\141\165\164\150\157\162\151\172\145\144\040\165\163
-\145\040\157\156\154\171\061\105\060\103\006\003\125\004\003\023
-\074\126\145\162\151\123\151\147\156\040\103\154\141\163\163\040
-\063\040\120\165\142\154\151\143\040\120\162\151\155\141\162\171
-\040\103\145\162\164\151\146\151\143\141\164\151\157\156\040\101
-\165\164\150\157\162\151\164\171\040\055\040\107\065
-END
-CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\020\030\332\321\236\046\175\350\273\112\041\130\315\314\153
-\073\112
-END
-CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
-CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
-CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
-CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
-
-#
-# 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
-# Fingerprint (SHA1): 87:82:C6:C3:04:35:3B:CF:D2:96:92:D2:59:3E:7D:44:D9:34:FF:11
-CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
-CKA_TOKEN CK_BBOOL CK_TRUE
-CKA_PRIVATE CK_BBOOL CK_FALSE
-CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "SecureTrust CA"
-CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
-CKA_SUBJECT MULTILINE_OCTAL
-\060\110\061\013\060\011\006\003\125\004\006\023\002\125\123\061
-\040\060\036\006\003\125\004\012\023\027\123\145\143\165\162\145
-\124\162\165\163\164\040\103\157\162\160\157\162\141\164\151\157
-\156\061\027\060\025\006\003\125\004\003\023\016\123\145\143\165
-\162\145\124\162\165\163\164\040\103\101
-END
-CKA_ID UTF8 "0"
-CKA_ISSUER MULTILINE_OCTAL
-\060\110\061\013\060\011\006\003\125\004\006\023\002\125\123\061
-\040\060\036\006\003\125\004\012\023\027\123\145\143\165\162\145
-\124\162\165\163\164\040\103\157\162\160\157\162\141\164\151\157
-\156\061\027\060\025\006\003\125\004\003\023\016\123\145\143\165
-\162\145\124\162\165\163\164\040\103\101
-END
-CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\020\014\360\216\134\010\026\245\255\102\177\360\353\047\030
-\131\320
-END
-CKA_VALUE MULTILINE_OCTAL
-\060\202\003\270\060\202\002\240\240\003\002\001\002\002\020\014
-\360\216\134\010\026\245\255\102\177\360\353\047\030\131\320\060
-\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060\110
-\061\013\060\011\006\003\125\004\006\023\002\125\123\061\040\060
-\036\006\003\125\004\012\023\027\123\145\143\165\162\145\124\162
-\165\163\164\040\103\157\162\160\157\162\141\164\151\157\156\061
-\027\060\025\006\003\125\004\003\023\016\123\145\143\165\162\145
-\124\162\165\163\164\040\103\101\060\036\027\015\060\066\061\061
-\060\067\061\071\063\061\061\070\132\027\015\062\071\061\062\063
-\061\061\071\064\060\065\065\132\060\110\061\013\060\011\006\003
-\125\004\006\023\002\125\123\061\040\060\036\006\003\125\004\012
-\023\027\123\145\143\165\162\145\124\162\165\163\164\040\103\157
-\162\160\157\162\141\164\151\157\156\061\027\060\025\006\003\125
-\004\003\023\016\123\145\143\165\162\145\124\162\165\163\164\040
-\103\101\060\202\001\042\060\015\006\011\052\206\110\206\367\015
+\060\202\003\270\060\202\002\240\240\003\002\001\002\002\020\014
+\360\216\134\010\026\245\255\102\177\360\353\047\030\131\320\060
+\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060\110
+\061\013\060\011\006\003\125\004\006\023\002\125\123\061\040\060
+\036\006\003\125\004\012\023\027\123\145\143\165\162\145\124\162
+\165\163\164\040\103\157\162\160\157\162\141\164\151\157\156\061
+\027\060\025\006\003\125\004\003\023\016\123\145\143\165\162\145
+\124\162\165\163\164\040\103\101\060\036\027\015\060\066\061\061
+\060\067\061\071\063\061\061\070\132\027\015\062\071\061\062\063
+\061\061\071\064\060\065\065\132\060\110\061\013\060\011\006\003
+\125\004\006\023\002\125\123\061\040\060\036\006\003\125\004\012
+\023\027\123\145\143\165\162\145\124\162\165\163\164\040\103\157
+\162\160\157\162\141\164\151\157\156\061\027\060\025\006\003\125
+\004\003\023\016\123\145\143\165\162\145\124\162\165\163\164\040
+\103\101\060\202\001\042\060\015\006\011\052\206\110\206\367\015
 \001\001\001\005\000\003\202\001\017\000\060\202\001\012\002\202
 \001\001\000\253\244\201\345\225\315\365\366\024\216\302\117\312
 \324\342\170\225\130\234\101\341\015\231\100\044\027\071\221\063
@@ -6035,14 +3079,16 @@ CKA_VALUE MULTILINE_OCTAL
 \113\035\236\054\302\270\150\274\355\002\356\061
 END
 CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
 
-# Trust for Certificate "SecureTrust CA"
+# Trust for "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
+# Fingerprint (SHA-256): F1:C1:B5:0A:E5:A2:0D:D8:03:0E:C9:F6:BC:24:82:3D:D3:67:B5:25:57:59:B4:E7:1B:61:FC:E9:F7:37:5D:73
 # Fingerprint (SHA1): 87:82:C6:C3:04:35:3B:CF:D2:96:92:D2:59:3E:7D:44:D9:34:FF:11
 CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
 CKA_TOKEN CK_BBOOL CK_TRUE
@@ -6080,7 +3126,7 @@ CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
 # 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
+# Fingerprint (SHA-256): 42:00:F5:04:3A:C8:59:0E:BB:52:7D:20:9E:D1:50:30:29:FB:CB:D4:1C:A1:B5:06:EC:27:F1:5A:DE:7D:AC:69
 # Fingerprint (SHA1): 3A:44:73:5A:E5:81:90:1F:24:86:61:46:1E:3B:9C:C4:5F:F5:3A:1B
 CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
 CKA_TOKEN CK_BBOOL CK_TRUE
@@ -6170,14 +3216,16 @@ CKA_VALUE MULTILINE_OCTAL
 \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
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
 
-# Trust for Certificate "Secure Global CA"
+# Trust for "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
+# Fingerprint (SHA-256): 42:00:F5:04:3A:C8:59:0E:BB:52:7D:20:9E:D1:50:30:29:FB:CB:D4:1C:A1:B5:06:EC:27:F1:5A:DE:7D:AC:69
 # Fingerprint (SHA1): 3A:44:73:5A:E5:81:90:1F:24:86:61:46:1E:3B:9C:C4:5F:F5:3A:1B
 CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
 CKA_TOKEN CK_BBOOL CK_TRUE
@@ -6215,7 +3263,7 @@ CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
 # 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
+# Fingerprint (SHA-256): 0C:2C:D6:3D:F7:80:6F:A3:99:ED:E8:09:11:6B:57:5B:F8:79:89:F0:65:18:F9:80:8C:86:05:03:17:8B:AF:66
 # Fingerprint (SHA1): 66:31:BF:9E:F7:4F:9E:B6:C9:D5:A6:0C:BA:6A:BE:D1:F7:BD:EF:7B
 CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
 CKA_TOKEN CK_BBOOL CK_TRUE
@@ -6320,14 +3368,16 @@ CKA_VALUE MULTILINE_OCTAL
 \145
 END
 CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
 
-# Trust for Certificate "COMODO Certification Authority"
+# Trust for "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
+# Fingerprint (SHA-256): 0C:2C:D6:3D:F7:80:6F:A3:99:ED:E8:09:11:6B:57:5B:F8:79:89:F0:65:18:F9:80:8C:86:05:03:17:8B:AF:66
 # Fingerprint (SHA1): 66:31:BF:9E:F7:4F:9E:B6:C9:D5:A6:0C:BA:6A:BE:D1:F7:BD:EF:7B
 CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
 CKA_TOKEN CK_BBOOL CK_TRUE
@@ -6361,150 +3411,6 @@ CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
 CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
 CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
 
-#
-# 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
-# Fingerprint (SHA1): 74:F8:A3:C3:EF:E7:B3:90:06:4B:83:90:3C:21:64:60:20:E5:DF:CE
-CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
-CKA_TOKEN CK_BBOOL CK_TRUE
-CKA_PRIVATE CK_BBOOL CK_FALSE
-CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "Network Solutions Certificate Authority"
-CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
-CKA_SUBJECT MULTILINE_OCTAL
-\060\142\061\013\060\011\006\003\125\004\006\023\002\125\123\061
-\041\060\037\006\003\125\004\012\023\030\116\145\164\167\157\162
-\153\040\123\157\154\165\164\151\157\156\163\040\114\056\114\056
-\103\056\061\060\060\056\006\003\125\004\003\023\047\116\145\164
-\167\157\162\153\040\123\157\154\165\164\151\157\156\163\040\103
-\145\162\164\151\146\151\143\141\164\145\040\101\165\164\150\157
-\162\151\164\171
-END
-CKA_ID UTF8 "0"
-CKA_ISSUER MULTILINE_OCTAL
-\060\142\061\013\060\011\006\003\125\004\006\023\002\125\123\061
-\041\060\037\006\003\125\004\012\023\030\116\145\164\167\157\162
-\153\040\123\157\154\165\164\151\157\156\163\040\114\056\114\056
-\103\056\061\060\060\056\006\003\125\004\003\023\047\116\145\164
-\167\157\162\153\040\123\157\154\165\164\151\157\156\163\040\103
-\145\162\164\151\146\151\143\141\164\145\040\101\165\164\150\157
-\162\151\164\171
-END
-CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\020\127\313\063\157\302\134\026\346\107\026\027\343\220\061
-\150\340
-END
-CKA_VALUE MULTILINE_OCTAL
-\060\202\003\346\060\202\002\316\240\003\002\001\002\002\020\127
-\313\063\157\302\134\026\346\107\026\027\343\220\061\150\340\060
-\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060\142
-\061\013\060\011\006\003\125\004\006\023\002\125\123\061\041\060
-\037\006\003\125\004\012\023\030\116\145\164\167\157\162\153\040
-\123\157\154\165\164\151\157\156\163\040\114\056\114\056\103\056
-\061\060\060\056\006\003\125\004\003\023\047\116\145\164\167\157
-\162\153\040\123\157\154\165\164\151\157\156\163\040\103\145\162
-\164\151\146\151\143\141\164\145\040\101\165\164\150\157\162\151
-\164\171\060\036\027\015\060\066\061\062\060\061\060\060\060\060
-\060\060\132\027\015\062\071\061\062\063\061\062\063\065\071\065
-\071\132\060\142\061\013\060\011\006\003\125\004\006\023\002\125
-\123\061\041\060\037\006\003\125\004\012\023\030\116\145\164\167
-\157\162\153\040\123\157\154\165\164\151\157\156\163\040\114\056
-\114\056\103\056\061\060\060\056\006\003\125\004\003\023\047\116
-\145\164\167\157\162\153\040\123\157\154\165\164\151\157\156\163
-\040\103\145\162\164\151\146\151\143\141\164\145\040\101\165\164
-\150\157\162\151\164\171\060\202\001\042\060\015\006\011\052\206
-\110\206\367\015\001\001\001\005\000\003\202\001\017\000\060\202
-\001\012\002\202\001\001\000\344\274\176\222\060\155\306\330\216
-\053\013\274\106\316\340\047\226\336\336\371\372\022\323\074\063
-\163\263\004\057\274\161\214\345\237\266\042\140\076\137\135\316
-\011\377\202\014\033\232\121\120\032\046\211\335\325\141\135\031
-\334\022\017\055\012\242\103\135\027\320\064\222\040\352\163\317
-\070\054\006\046\011\172\162\367\372\120\062\370\302\223\323\151
-\242\043\316\101\261\314\344\325\037\066\321\212\072\370\214\143
-\342\024\131\151\355\015\323\177\153\350\270\003\345\117\152\345
-\230\143\151\110\005\276\056\377\063\266\351\227\131\151\370\147
-\031\256\223\141\226\104\025\323\162\260\077\274\152\175\354\110
-\177\215\303\253\252\161\053\123\151\101\123\064\265\260\271\305
-\006\012\304\260\105\365\101\135\156\211\105\173\075\073\046\214
-\164\302\345\322\321\175\262\021\324\373\130\062\042\232\200\311
-\334\375\014\351\177\136\003\227\316\073\000\024\207\047\160\070
-\251\216\156\263\047\166\230\121\340\005\343\041\253\032\325\205
-\042\074\051\265\232\026\305\200\250\364\273\153\060\217\057\106
-\002\242\261\014\042\340\323\002\003\001\000\001\243\201\227\060
-\201\224\060\035\006\003\125\035\016\004\026\004\024\041\060\311
-\373\000\327\116\230\332\207\252\052\320\247\056\261\100\061\247
-\114\060\016\006\003\125\035\017\001\001\377\004\004\003\002\001
-\006\060\017\006\003\125\035\023\001\001\377\004\005\060\003\001
-\001\377\060\122\006\003\125\035\037\004\113\060\111\060\107\240
-\105\240\103\206\101\150\164\164\160\072\057\057\143\162\154\056
-\156\145\164\163\157\154\163\163\154\056\143\157\155\057\116\145
-\164\167\157\162\153\123\157\154\165\164\151\157\156\163\103\145
-\162\164\151\146\151\143\141\164\145\101\165\164\150\157\162\151
-\164\171\056\143\162\154\060\015\006\011\052\206\110\206\367\015
-\001\001\005\005\000\003\202\001\001\000\273\256\113\347\267\127
-\353\177\252\055\267\163\107\205\152\301\344\245\035\344\347\074
-\351\364\131\145\167\265\172\133\132\215\045\066\340\172\227\056
-\070\300\127\140\203\230\006\203\237\271\166\172\156\120\340\272
-\210\054\374\105\314\030\260\231\225\121\016\354\035\270\210\377
-\207\120\034\202\302\343\340\062\200\277\240\013\107\310\303\061
-\357\231\147\062\200\117\027\041\171\014\151\134\336\136\064\256
-\002\265\046\352\120\337\177\030\145\054\311\362\143\341\251\007
-\376\174\161\037\153\063\044\152\036\005\367\005\150\300\152\022
-\313\056\136\141\313\256\050\323\176\302\264\146\221\046\137\074
-\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
-# Fingerprint (SHA1): 74:F8:A3:C3:EF:E7:B3:90:06:4B:83:90:3C:21:64:60:20:E5:DF:CE
-CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
-CKA_TOKEN CK_BBOOL CK_TRUE
-CKA_PRIVATE CK_BBOOL CK_FALSE
-CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "Network Solutions Certificate Authority"
-CKA_CERT_SHA1_HASH MULTILINE_OCTAL
-\164\370\243\303\357\347\263\220\006\113\203\220\074\041\144\140
-\040\345\337\316
-END
-CKA_CERT_MD5_HASH MULTILINE_OCTAL
-\323\363\246\026\300\372\153\035\131\261\055\226\115\016\021\056
-END
-CKA_ISSUER MULTILINE_OCTAL
-\060\142\061\013\060\011\006\003\125\004\006\023\002\125\123\061
-\041\060\037\006\003\125\004\012\023\030\116\145\164\167\157\162
-\153\040\123\157\154\165\164\151\157\156\163\040\114\056\114\056
-\103\056\061\060\060\056\006\003\125\004\003\023\047\116\145\164
-\167\157\162\153\040\123\157\154\165\164\151\157\156\163\040\103
-\145\162\164\151\146\151\143\141\164\145\040\101\165\164\150\157
-\162\151\164\171
-END
-CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\020\127\313\063\157\302\134\026\346\107\026\027\343\220\061
-\150\340
-END
-CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
-CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
-CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
-CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
-
 #
 # Certificate "COMODO ECC Certification Authority"
 #
@@ -6513,7 +3419,7 @@ CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
 # 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
+# Fingerprint (SHA-256): 17:93:92:7A:06:14:54:97:89:AD:CE:2F:8F:34:F7:F0:B6:6D:0F:3A:E3:A3:B8:4D:21:EC:15:DB:BA:4F:AD:C7
 # Fingerprint (SHA1): 9F:74:4E:9F:2B:4D:BA:EC:0F:31:2C:50:B6:56:3B:8E:2D:93:C3:11
 CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
 CKA_TOKEN CK_BBOOL CK_TRUE
@@ -6592,14 +3498,16 @@ CKA_VALUE MULTILINE_OCTAL
 \334\335\363\377\035\054\072\026\127\331\222\071\326
 END
 CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
 
-# Trust for Certificate "COMODO ECC Certification Authority"
+# Trust for "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
+# Fingerprint (SHA-256): 17:93:92:7A:06:14:54:97:89:AD:CE:2F:8F:34:F7:F0:B6:6D:0F:3A:E3:A3:B8:4D:21:EC:15:DB:BA:4F:AD:C7
 # Fingerprint (SHA1): 9F:74:4E:9F:2B:4D:BA:EC:0F:31:2C:50:B6:56:3B:8E:2D:93:C3:11
 CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
 CKA_TOKEN CK_BBOOL CK_TRUE
@@ -6641,7 +3549,7 @@ CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
 # 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
+# Fingerprint (SHA-256): 41:C9:23:86:6A:B4:CA:D6:B7:AD:57:80:81:58:2E:02:07:97:A6:CB:DF:4F:FF:78:CE:83:96:B3:89:37:D7:F5
 # Fingerprint (SHA1): 59:22:A1:E1:5A:EA:16:35:21:F8:98:39:6A:46:46:B0:44:1B:0F:A9
 CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
 CKA_TOKEN CK_BBOOL CK_TRUE
@@ -6743,14 +3651,16 @@ CKA_VALUE MULTILINE_OCTAL
 \374\276\337\012\015
 END
 CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
 
-# Trust for Certificate "OISTE WISeKey Global Root GA CA"
+# Trust for "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
+# Fingerprint (SHA-256): 41:C9:23:86:6A:B4:CA:D6:B7:AD:57:80:81:58:2E:02:07:97:A6:CB:DF:4F:FF:78:CE:83:96:B3:89:37:D7:F5
 # Fingerprint (SHA1): 59:22:A1:E1:5A:EA:16:35:21:F8:98:39:6A:46:46:B0:44:1B:0F:A9
 CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
 CKA_TOKEN CK_BBOOL CK_TRUE
@@ -6779,7 +3689,7 @@ CKA_SERIAL_NUMBER MULTILINE_OCTAL
 \002\020\101\075\162\307\364\153\037\201\103\175\361\322\050\124
 \337\232
 END
-CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
 CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
 CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
 CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
@@ -6792,7 +3702,7 @@ CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
 # 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
+# Fingerprint (SHA-256): E3:B6:A2:DB:2E:D7:CE:48:84:2F:7A:C5:32:41:C7:B7:1D:54:14:4B:FB:40:C1:1F:3F:1D:0B:42:F5:EE:A1:2D
 # Fingerprint (SHA1): B1:2E:13:63:45:86:A4:6F:1A:B2:60:68:37:58:2D:C4:AC:FD:94:97
 CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
 CKA_TOKEN CK_BBOOL CK_TRUE
@@ -6878,14 +3788,16 @@ CKA_VALUE MULTILINE_OCTAL
 \300\226\130\057\352\273\106\327\273\344\331\056
 END
 CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
 
-# Trust for Certificate "Certigna"
+# Trust for "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
+# Fingerprint (SHA-256): E3:B6:A2:DB:2E:D7:CE:48:84:2F:7A:C5:32:41:C7:B7:1D:54:14:4B:FB:40:C1:1F:3F:1D:0B:42:F5:EE:A1:2D
 # Fingerprint (SHA1): B1:2E:13:63:45:86:A4:6F:1A:B2:60:68:37:58:2D:C4:AC:FD:94:97
 CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
 CKA_TOKEN CK_BBOOL CK_TRUE
@@ -6914,311 +3826,41 @@ CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
 CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
 
 #
-# Certificate "Deutsche Telekom Root CA 2"
+# Certificate "ePKI Root Certification Authority"
 #
-# 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
-# Fingerprint (SHA1): 85:A4:08:C0:9C:19:3E:5D:51:58:7D:CD:D6:13:30:FD:8C:DE:37:BF
+# 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 (SHA-256): C0:A6:F4:DC:63:A2:4B:FD:CF:54:EF:2A:6A:08:2A:0A:72:DE:35:80:3E:2F:F5:FF:52:7A:E5:D8:72:06:DF:D5
+# Fingerprint (SHA1): 67:65:0D:F1:7E:8E:7E:5B:82:40:A4:F4:56:4B:CF:E2:3D:69:C6:F0
 CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "Deutsche Telekom Root CA 2"
+CKA_LABEL UTF8 "ePKI Root Certification Authority"
 CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
 CKA_SUBJECT MULTILINE_OCTAL
-\060\161\061\013\060\011\006\003\125\004\006\023\002\104\105\061
-\034\060\032\006\003\125\004\012\023\023\104\145\165\164\163\143
-\150\145\040\124\145\154\145\153\157\155\040\101\107\061\037\060
-\035\006\003\125\004\013\023\026\124\055\124\145\154\145\123\145
-\143\040\124\162\165\163\164\040\103\145\156\164\145\162\061\043
-\060\041\006\003\125\004\003\023\032\104\145\165\164\163\143\150
-\145\040\124\145\154\145\153\157\155\040\122\157\157\164\040\103
-\101\040\062
+\060\136\061\013\060\011\006\003\125\004\006\023\002\124\127\061
+\043\060\041\006\003\125\004\012\014\032\103\150\165\156\147\150
+\167\141\040\124\145\154\145\143\157\155\040\103\157\056\054\040
+\114\164\144\056\061\052\060\050\006\003\125\004\013\014\041\145
+\120\113\111\040\122\157\157\164\040\103\145\162\164\151\146\151
+\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164\171
 END
 CKA_ID UTF8 "0"
 CKA_ISSUER MULTILINE_OCTAL
-\060\161\061\013\060\011\006\003\125\004\006\023\002\104\105\061
-\034\060\032\006\003\125\004\012\023\023\104\145\165\164\163\143
-\150\145\040\124\145\154\145\153\157\155\040\101\107\061\037\060
-\035\006\003\125\004\013\023\026\124\055\124\145\154\145\123\145
-\143\040\124\162\165\163\164\040\103\145\156\164\145\162\061\043
-\060\041\006\003\125\004\003\023\032\104\145\165\164\163\143\150
-\145\040\124\145\154\145\153\157\155\040\122\157\157\164\040\103
-\101\040\062
+\060\136\061\013\060\011\006\003\125\004\006\023\002\124\127\061
+\043\060\041\006\003\125\004\012\014\032\103\150\165\156\147\150
+\167\141\040\124\145\154\145\143\157\155\040\103\157\056\054\040
+\114\164\144\056\061\052\060\050\006\003\125\004\013\014\041\145
+\120\113\111\040\122\157\157\164\040\103\145\162\164\151\146\151
+\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164\171
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\001\046
-END
-CKA_VALUE MULTILINE_OCTAL
-\060\202\003\237\060\202\002\207\240\003\002\001\002\002\001\046
-\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060
-\161\061\013\060\011\006\003\125\004\006\023\002\104\105\061\034
-\060\032\006\003\125\004\012\023\023\104\145\165\164\163\143\150
-\145\040\124\145\154\145\153\157\155\040\101\107\061\037\060\035
-\006\003\125\004\013\023\026\124\055\124\145\154\145\123\145\143
-\040\124\162\165\163\164\040\103\145\156\164\145\162\061\043\060
-\041\006\003\125\004\003\023\032\104\145\165\164\163\143\150\145
-\040\124\145\154\145\153\157\155\040\122\157\157\164\040\103\101
-\040\062\060\036\027\015\071\071\060\067\060\071\061\062\061\061
-\060\060\132\027\015\061\071\060\067\060\071\062\063\065\071\060
-\060\132\060\161\061\013\060\011\006\003\125\004\006\023\002\104
-\105\061\034\060\032\006\003\125\004\012\023\023\104\145\165\164
-\163\143\150\145\040\124\145\154\145\153\157\155\040\101\107\061
-\037\060\035\006\003\125\004\013\023\026\124\055\124\145\154\145
-\123\145\143\040\124\162\165\163\164\040\103\145\156\164\145\162
-\061\043\060\041\006\003\125\004\003\023\032\104\145\165\164\163
-\143\150\145\040\124\145\154\145\153\157\155\040\122\157\157\164
-\040\103\101\040\062\060\202\001\042\060\015\006\011\052\206\110
-\206\367\015\001\001\001\005\000\003\202\001\017\000\060\202\001
-\012\002\202\001\001\000\253\013\243\065\340\213\051\024\261\024
-\205\257\074\020\344\071\157\065\135\112\256\335\352\141\215\225
-\111\364\157\144\243\032\140\146\244\251\100\042\204\331\324\245
-\345\170\223\016\150\001\255\271\115\134\072\316\323\270\250\102
-\100\337\317\243\272\202\131\152\222\033\254\034\232\332\010\053
-\045\047\371\151\043\107\361\340\353\054\172\233\365\023\002\320
-\176\064\174\302\236\074\000\131\253\365\332\014\365\062\074\053
-\254\120\332\326\303\336\203\224\312\250\014\231\062\016\010\110
-\126\133\152\373\332\341\130\130\001\111\137\162\101\074\025\006
-\001\216\135\255\252\270\223\264\315\236\353\247\350\152\055\122
-\064\333\072\357\134\165\121\332\333\363\061\371\356\161\230\062
-\304\124\025\104\014\371\233\125\355\255\337\030\010\240\243\206
-\212\111\356\123\005\217\031\114\325\336\130\171\233\322\152\034
-\102\253\305\325\247\317\150\017\226\344\341\141\230\166\141\310
-\221\174\326\076\000\342\221\120\207\341\235\012\346\255\227\322
-\035\306\072\175\313\274\332\003\064\325\216\133\001\365\152\007
-\267\026\266\156\112\177\002\003\001\000\001\243\102\060\100\060
-\035\006\003\125\035\016\004\026\004\024\061\303\171\033\272\365
-\123\327\027\340\211\172\055\027\154\012\263\053\235\063\060\017
-\006\003\125\035\023\004\010\060\006\001\001\377\002\001\005\060
-\016\006\003\125\035\017\001\001\377\004\004\003\002\001\006\060
-\015\006\011\052\206\110\206\367\015\001\001\005\005\000\003\202
-\001\001\000\224\144\131\255\071\144\347\051\353\023\376\132\303
-\213\023\127\310\004\044\360\164\167\300\140\343\147\373\351\211
-\246\203\277\226\202\174\156\324\303\075\357\236\200\156\273\051
-\264\230\172\261\073\124\353\071\027\107\176\032\216\013\374\037
-\061\131\061\004\262\316\027\363\054\307\142\066\125\342\042\330
-\211\125\264\230\110\252\144\372\326\034\066\330\104\170\132\132
-\043\072\127\227\365\172\060\117\256\237\152\114\113\053\216\240
-\003\343\076\340\251\324\322\173\322\263\250\342\162\074\255\236
-\377\200\131\344\233\105\264\366\073\260\315\071\031\230\062\345
-\352\041\141\220\344\061\041\216\064\261\367\057\065\112\205\020
-\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
-# Fingerprint (SHA1): 85:A4:08:C0:9C:19:3E:5D:51:58:7D:CD:D6:13:30:FD:8C:DE:37:BF
-CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
-CKA_TOKEN CK_BBOOL CK_TRUE
-CKA_PRIVATE CK_BBOOL CK_FALSE
-CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "Deutsche Telekom Root CA 2"
-CKA_CERT_SHA1_HASH MULTILINE_OCTAL
-\205\244\010\300\234\031\076\135\121\130\175\315\326\023\060\375
-\214\336\067\277
-END
-CKA_CERT_MD5_HASH MULTILINE_OCTAL
-\164\001\112\221\261\010\304\130\316\107\315\360\335\021\123\010
-END
-CKA_ISSUER MULTILINE_OCTAL
-\060\161\061\013\060\011\006\003\125\004\006\023\002\104\105\061
-\034\060\032\006\003\125\004\012\023\023\104\145\165\164\163\143
-\150\145\040\124\145\154\145\153\157\155\040\101\107\061\037\060
-\035\006\003\125\004\013\023\026\124\055\124\145\154\145\123\145
-\143\040\124\162\165\163\164\040\103\145\156\164\145\162\061\043
-\060\041\006\003\125\004\003\023\032\104\145\165\164\163\143\150
-\145\040\124\145\154\145\153\157\155\040\122\157\157\164\040\103
-\101\040\062
-END
-CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\001\046
-END
-CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
-CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
-CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
-CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
-
-#
-# 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
-# Fingerprint (SHA1): 5F:43:E5:B1:BF:F8:78:8C:AC:1C:C7:CA:4A:9A:C6:22:2B:CC:34:C6
-CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
-CKA_TOKEN CK_BBOOL CK_TRUE
-CKA_PRIVATE CK_BBOOL CK_FALSE
-CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "Cybertrust Global Root"
-CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
-CKA_SUBJECT MULTILINE_OCTAL
-\060\073\061\030\060\026\006\003\125\004\012\023\017\103\171\142
-\145\162\164\162\165\163\164\054\040\111\156\143\061\037\060\035
-\006\003\125\004\003\023\026\103\171\142\145\162\164\162\165\163
-\164\040\107\154\157\142\141\154\040\122\157\157\164
-END
-CKA_ID UTF8 "0"
-CKA_ISSUER MULTILINE_OCTAL
-\060\073\061\030\060\026\006\003\125\004\012\023\017\103\171\142
-\145\162\164\162\165\163\164\054\040\111\156\143\061\037\060\035
-\006\003\125\004\003\023\026\103\171\142\145\162\164\162\165\163
-\164\040\107\154\157\142\141\154\040\122\157\157\164
-END
-CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\013\004\000\000\000\000\001\017\205\252\055\110
-END
-CKA_VALUE MULTILINE_OCTAL
-\060\202\003\241\060\202\002\211\240\003\002\001\002\002\013\004
-\000\000\000\000\001\017\205\252\055\110\060\015\006\011\052\206
-\110\206\367\015\001\001\005\005\000\060\073\061\030\060\026\006
-\003\125\004\012\023\017\103\171\142\145\162\164\162\165\163\164
-\054\040\111\156\143\061\037\060\035\006\003\125\004\003\023\026
-\103\171\142\145\162\164\162\165\163\164\040\107\154\157\142\141
-\154\040\122\157\157\164\060\036\027\015\060\066\061\062\061\065
-\060\070\060\060\060\060\132\027\015\062\061\061\062\061\065\060
-\070\060\060\060\060\132\060\073\061\030\060\026\006\003\125\004
-\012\023\017\103\171\142\145\162\164\162\165\163\164\054\040\111
-\156\143\061\037\060\035\006\003\125\004\003\023\026\103\171\142
-\145\162\164\162\165\163\164\040\107\154\157\142\141\154\040\122
-\157\157\164\060\202\001\042\060\015\006\011\052\206\110\206\367
-\015\001\001\001\005\000\003\202\001\017\000\060\202\001\012\002
-\202\001\001\000\370\310\274\275\024\120\146\023\377\360\323\171
-\354\043\362\267\032\307\216\205\361\022\163\246\031\252\020\333
-\234\242\145\164\132\167\076\121\175\126\366\334\043\266\324\355
-\137\130\261\067\115\325\111\016\156\365\152\207\326\322\214\322
-\047\306\342\377\066\237\230\145\240\023\116\306\052\144\233\325
-\220\022\317\024\006\364\073\343\324\050\276\350\016\370\253\116
-\110\224\155\216\225\061\020\134\355\242\055\275\325\072\155\262
-\034\273\140\300\106\113\001\365\111\256\176\106\212\320\164\215
-\241\014\002\316\356\374\347\217\270\153\146\363\177\104\000\277
-\146\045\024\053\335\020\060\035\007\226\077\115\366\153\270\217
-\267\173\014\245\070\353\336\107\333\325\135\071\374\210\247\363
-\327\052\164\361\350\132\242\073\237\120\272\246\214\105\065\302
-\120\145\225\334\143\202\357\335\277\167\115\234\142\311\143\163
-\026\320\051\017\111\251\110\360\263\252\267\154\305\247\060\071
-\100\135\256\304\342\135\046\123\360\316\034\043\010\141\250\224
-\031\272\004\142\100\354\037\070\160\167\022\006\161\247\060\030
-\135\045\047\245\002\003\001\000\001\243\201\245\060\201\242\060
-\016\006\003\125\035\017\001\001\377\004\004\003\002\001\006\060
-\017\006\003\125\035\023\001\001\377\004\005\060\003\001\001\377
-\060\035\006\003\125\035\016\004\026\004\024\266\010\173\015\172
-\314\254\040\114\206\126\062\136\317\253\156\205\055\160\127\060
-\077\006\003\125\035\037\004\070\060\066\060\064\240\062\240\060
-\206\056\150\164\164\160\072\057\057\167\167\167\062\056\160\165
-\142\154\151\143\055\164\162\165\163\164\056\143\157\155\057\143
-\162\154\057\143\164\057\143\164\162\157\157\164\056\143\162\154
-\060\037\006\003\125\035\043\004\030\060\026\200\024\266\010\173
-\015\172\314\254\040\114\206\126\062\136\317\253\156\205\055\160
-\127\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000
-\003\202\001\001\000\126\357\012\043\240\124\116\225\227\311\370
-\211\332\105\301\324\243\000\045\364\037\023\253\267\243\205\130
-\151\302\060\255\330\025\212\055\343\311\315\201\132\370\163\043
-\132\247\174\005\363\375\042\073\016\321\006\304\333\066\114\163
-\004\216\345\260\042\344\305\363\056\245\331\043\343\270\116\112
-\040\247\156\002\044\237\042\140\147\173\213\035\162\011\305\061
-\134\351\171\237\200\107\075\255\241\013\007\024\075\107\377\003
-\151\032\014\013\104\347\143\045\247\177\262\311\270\166\204\355
-\043\366\175\007\253\105\176\323\337\263\277\351\212\266\315\250
-\242\147\053\122\325\267\145\360\071\114\143\240\221\171\223\122
-\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
-# Fingerprint (SHA1): 5F:43:E5:B1:BF:F8:78:8C:AC:1C:C7:CA:4A:9A:C6:22:2B:CC:34:C6
-CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
-CKA_TOKEN CK_BBOOL CK_TRUE
-CKA_PRIVATE CK_BBOOL CK_FALSE
-CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "Cybertrust Global Root"
-CKA_CERT_SHA1_HASH MULTILINE_OCTAL
-\137\103\345\261\277\370\170\214\254\034\307\312\112\232\306\042
-\053\314\064\306
-END
-CKA_CERT_MD5_HASH MULTILINE_OCTAL
-\162\344\112\207\343\151\100\200\167\352\274\343\364\377\360\341
-END
-CKA_ISSUER MULTILINE_OCTAL
-\060\073\061\030\060\026\006\003\125\004\012\023\017\103\171\142
-\145\162\164\162\165\163\164\054\040\111\156\143\061\037\060\035
-\006\003\125\004\003\023\026\103\171\142\145\162\164\162\165\163
-\164\040\107\154\157\142\141\154\040\122\157\157\164
-END
-CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\013\004\000\000\000\000\001\017\205\252\055\110
-END
-CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
-CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
-CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
-CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
-
-#
-# 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
-# Fingerprint (SHA1): 67:65:0D:F1:7E:8E:7E:5B:82:40:A4:F4:56:4B:CF:E2:3D:69:C6:F0
-CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
-CKA_TOKEN CK_BBOOL CK_TRUE
-CKA_PRIVATE CK_BBOOL CK_FALSE
-CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "ePKI Root Certification Authority"
-CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
-CKA_SUBJECT MULTILINE_OCTAL
-\060\136\061\013\060\011\006\003\125\004\006\023\002\124\127\061
-\043\060\041\006\003\125\004\012\014\032\103\150\165\156\147\150
-\167\141\040\124\145\154\145\143\157\155\040\103\157\056\054\040
-\114\164\144\056\061\052\060\050\006\003\125\004\013\014\041\145
-\120\113\111\040\122\157\157\164\040\103\145\162\164\151\146\151
-\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164\171
-END
-CKA_ID UTF8 "0"
-CKA_ISSUER MULTILINE_OCTAL
-\060\136\061\013\060\011\006\003\125\004\006\023\002\124\127\061
-\043\060\041\006\003\125\004\012\014\032\103\150\165\156\147\150
-\167\141\040\124\145\154\145\143\157\155\040\103\157\056\054\040
-\114\164\144\056\061\052\060\050\006\003\125\004\013\014\041\145
-\120\113\111\040\122\157\157\164\040\103\145\162\164\151\146\151
-\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164\171
-END
-CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\020\025\310\275\145\107\134\257\270\227\000\136\344\006\322
-\274\235
+\002\020\025\310\275\145\107\134\257\270\227\000\136\344\006\322
+\274\235
 END
 CKA_VALUE MULTILINE_OCTAL
 \060\202\005\260\060\202\003\230\240\003\002\001\002\002\020\025
@@ -7315,14 +3957,16 @@ CKA_VALUE MULTILINE_OCTAL
 \201\370\021\234
 END
 CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
 
-# Trust for Certificate "ePKI Root Certification Authority"
+# Trust for "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
+# Fingerprint (SHA-256): C0:A6:F4:DC:63:A2:4B:FD:CF:54:EF:2A:6A:08:2A:0A:72:DE:35:80:3E:2F:F5:FF:52:7A:E5:D8:72:06:DF:D5
 # Fingerprint (SHA1): 67:65:0D:F1:7E:8E:7E:5B:82:40:A4:F4:56:4B:CF:E2:3D:69:C6:F0
 CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
 CKA_TOKEN CK_BBOOL CK_TRUE
@@ -7361,7 +4005,7 @@ CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
 # 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
+# Fingerprint (SHA-256): EA:A9:62:C4:FA:4A:6B:AF:EB:E4:15:19:6D:35:1C:CD:88:8D:4F:53:F3:FA:8A:E6:D7:C4:66:A9:4E:60:42:BB
 # Fingerprint (SHA1): FA:B7:EE:36:97:26:62:FB:2D:B0:2A:F6:BF:03:FD:E8:7C:4B:2F:9B
 CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
 CKA_TOKEN CK_BBOOL CK_TRUE
@@ -7440,14 +4084,16 @@ CKA_VALUE MULTILINE_OCTAL
 \366\356\260\132\116\111\104\124\130\137\102\203
 END
 CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
 
-# Trust for Certificate "certSIGN ROOT CA"
+# Trust for "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
+# Fingerprint (SHA-256): EA:A9:62:C4:FA:4A:6B:AF:EB:E4:15:19:6D:35:1C:CD:88:8D:4F:53:F3:FA:8A:E6:D7:C4:66:A9:4E:60:42:BB
 # Fingerprint (SHA1): FA:B7:EE:36:97:26:62:FB:2D:B0:2A:F6:BF:03:FD:E8:7C:4B:2F:9B
 CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
 CKA_TOKEN CK_BBOOL CK_TRUE
@@ -7476,154 +4122,158 @@ CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
 CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
 
 #
-# Certificate "GeoTrust Primary Certification Authority - G3"
+# Certificate "NetLock Arany (Class Gold) FÅ‘tanúsítvány"
 #
-# 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
-# Fingerprint (SHA1): 03:9E:ED:B8:0B:E7:A0:3C:69:53:89:3B:20:D2:D9:32:3A:4C:2A:FD
+# 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 (SHA-256): 6C:61:DA:C3:A2:DE:F0:31:50:6B:E0:36:D2:A6:FE:40:19:94:FB:D1:3D:F9:C8:D4:66:59:92:74:C4:46:EC:98
+# Fingerprint (SHA1): 06:08:3F:59:3F:15:A1:04:A0:69:A4:6B:A9:03:D0:06:B7:97:09:91
 CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "GeoTrust Primary Certification Authority - G3"
+CKA_LABEL UTF8 "NetLock Arany (Class Gold) FÅ‘tanúsítvány"
 CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
 CKA_SUBJECT MULTILINE_OCTAL
-\060\201\230\061\013\060\011\006\003\125\004\006\023\002\125\123
-\061\026\060\024\006\003\125\004\012\023\015\107\145\157\124\162
-\165\163\164\040\111\156\143\056\061\071\060\067\006\003\125\004
-\013\023\060\050\143\051\040\062\060\060\070\040\107\145\157\124
-\162\165\163\164\040\111\156\143\056\040\055\040\106\157\162\040
-\141\165\164\150\157\162\151\172\145\144\040\165\163\145\040\157
-\156\154\171\061\066\060\064\006\003\125\004\003\023\055\107\145
-\157\124\162\165\163\164\040\120\162\151\155\141\162\171\040\103
-\145\162\164\151\146\151\143\141\164\151\157\156\040\101\165\164
-\150\157\162\151\164\171\040\055\040\107\063
+\060\201\247\061\013\060\011\006\003\125\004\006\023\002\110\125
+\061\021\060\017\006\003\125\004\007\014\010\102\165\144\141\160
+\145\163\164\061\025\060\023\006\003\125\004\012\014\014\116\145
+\164\114\157\143\153\040\113\146\164\056\061\067\060\065\006\003
+\125\004\013\014\056\124\141\156\303\272\163\303\255\164\166\303
+\241\156\171\153\151\141\144\303\263\153\040\050\103\145\162\164
+\151\146\151\143\141\164\151\157\156\040\123\145\162\166\151\143
+\145\163\051\061\065\060\063\006\003\125\004\003\014\054\116\145
+\164\114\157\143\153\040\101\162\141\156\171\040\050\103\154\141
+\163\163\040\107\157\154\144\051\040\106\305\221\164\141\156\303
+\272\163\303\255\164\166\303\241\156\171
 END
 CKA_ID UTF8 "0"
 CKA_ISSUER MULTILINE_OCTAL
-\060\201\230\061\013\060\011\006\003\125\004\006\023\002\125\123
-\061\026\060\024\006\003\125\004\012\023\015\107\145\157\124\162
-\165\163\164\040\111\156\143\056\061\071\060\067\006\003\125\004
-\013\023\060\050\143\051\040\062\060\060\070\040\107\145\157\124
-\162\165\163\164\040\111\156\143\056\040\055\040\106\157\162\040
-\141\165\164\150\157\162\151\172\145\144\040\165\163\145\040\157
-\156\154\171\061\066\060\064\006\003\125\004\003\023\055\107\145
-\157\124\162\165\163\164\040\120\162\151\155\141\162\171\040\103
-\145\162\164\151\146\151\143\141\164\151\157\156\040\101\165\164
-\150\157\162\151\164\171\040\055\040\107\063
+\060\201\247\061\013\060\011\006\003\125\004\006\023\002\110\125
+\061\021\060\017\006\003\125\004\007\014\010\102\165\144\141\160
+\145\163\164\061\025\060\023\006\003\125\004\012\014\014\116\145
+\164\114\157\143\153\040\113\146\164\056\061\067\060\065\006\003
+\125\004\013\014\056\124\141\156\303\272\163\303\255\164\166\303
+\241\156\171\153\151\141\144\303\263\153\040\050\103\145\162\164
+\151\146\151\143\141\164\151\157\156\040\123\145\162\166\151\143
+\145\163\051\061\065\060\063\006\003\125\004\003\014\054\116\145
+\164\114\157\143\153\040\101\162\141\156\171\040\050\103\154\141
+\163\163\040\107\157\154\144\051\040\106\305\221\164\141\156\303
+\272\163\303\255\164\166\303\241\156\171
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\020\025\254\156\224\031\262\171\113\101\366\047\251\303\030
-\017\037
+\002\006\111\101\054\344\000\020
 END
 CKA_VALUE MULTILINE_OCTAL
-\060\202\003\376\060\202\002\346\240\003\002\001\002\002\020\025
-\254\156\224\031\262\171\113\101\366\047\251\303\030\017\037\060
-\015\006\011\052\206\110\206\367\015\001\001\013\005\000\060\201
-\230\061\013\060\011\006\003\125\004\006\023\002\125\123\061\026
-\060\024\006\003\125\004\012\023\015\107\145\157\124\162\165\163
-\164\040\111\156\143\056\061\071\060\067\006\003\125\004\013\023
-\060\050\143\051\040\062\060\060\070\040\107\145\157\124\162\165
-\163\164\040\111\156\143\056\040\055\040\106\157\162\040\141\165
-\164\150\157\162\151\172\145\144\040\165\163\145\040\157\156\154
-\171\061\066\060\064\006\003\125\004\003\023\055\107\145\157\124
-\162\165\163\164\040\120\162\151\155\141\162\171\040\103\145\162
-\164\151\146\151\143\141\164\151\157\156\040\101\165\164\150\157
-\162\151\164\171\040\055\040\107\063\060\036\027\015\060\070\060
-\064\060\062\060\060\060\060\060\060\132\027\015\063\067\061\062
-\060\061\062\063\065\071\065\071\132\060\201\230\061\013\060\011
-\006\003\125\004\006\023\002\125\123\061\026\060\024\006\003\125
-\004\012\023\015\107\145\157\124\162\165\163\164\040\111\156\143
-\056\061\071\060\067\006\003\125\004\013\023\060\050\143\051\040
-\062\060\060\070\040\107\145\157\124\162\165\163\164\040\111\156
-\143\056\040\055\040\106\157\162\040\141\165\164\150\157\162\151
-\172\145\144\040\165\163\145\040\157\156\154\171\061\066\060\064
-\006\003\125\004\003\023\055\107\145\157\124\162\165\163\164\040
-\120\162\151\155\141\162\171\040\103\145\162\164\151\146\151\143
-\141\164\151\157\156\040\101\165\164\150\157\162\151\164\171\040
-\055\040\107\063\060\202\001\042\060\015\006\011\052\206\110\206
-\367\015\001\001\001\005\000\003\202\001\017\000\060\202\001\012
-\002\202\001\001\000\334\342\136\142\130\035\063\127\071\062\063
-\372\353\313\207\214\247\324\112\335\006\210\352\144\216\061\230
-\245\070\220\036\230\317\056\143\053\360\106\274\104\262\211\241
-\300\050\014\111\160\041\225\237\144\300\246\223\022\002\145\046
-\206\306\245\211\360\372\327\204\240\160\257\117\032\227\077\006
-\104\325\311\353\162\020\175\344\061\050\373\034\141\346\050\007
-\104\163\222\042\151\247\003\210\154\235\143\310\122\332\230\047
-\347\010\114\160\076\264\311\022\301\305\147\203\135\063\363\003
-\021\354\152\320\123\342\321\272\066\140\224\200\273\141\143\154
-\133\027\176\337\100\224\036\253\015\302\041\050\160\210\377\326
-\046\154\154\140\004\045\116\125\176\175\357\277\224\110\336\267
-\035\335\160\215\005\137\210\245\233\362\302\356\352\321\100\101
-\155\142\070\035\126\006\305\003\107\121\040\031\374\173\020\013
-\016\142\256\166\125\277\137\167\276\076\111\001\123\075\230\045
-\003\166\044\132\035\264\333\211\352\171\345\266\263\073\077\272
-\114\050\101\177\006\254\152\216\301\320\366\005\035\175\346\102
-\206\343\245\325\107\002\003\001\000\001\243\102\060\100\060\017
-\006\003\125\035\023\001\001\377\004\005\060\003\001\001\377\060
-\016\006\003\125\035\017\001\001\377\004\004\003\002\001\006\060
-\035\006\003\125\035\016\004\026\004\024\304\171\312\216\241\116
-\003\035\034\334\153\333\061\133\224\076\077\060\177\055\060\015
-\006\011\052\206\110\206\367\015\001\001\013\005\000\003\202\001
-\001\000\055\305\023\317\126\200\173\172\170\275\237\256\054\231
-\347\357\332\337\224\136\011\151\247\347\156\150\214\275\162\276
-\107\251\016\227\022\270\112\361\144\323\071\337\045\064\324\301
-\315\116\201\360\017\004\304\044\263\064\226\306\246\252\060\337
-\150\141\163\327\371\216\205\211\357\016\136\225\050\112\052\047
-\217\020\216\056\174\206\304\002\236\332\014\167\145\016\104\015
-\222\375\375\263\026\066\372\021\015\035\214\016\007\211\152\051
-\126\367\162\364\335\025\234\167\065\146\127\253\023\123\330\216
-\301\100\305\327\023\026\132\162\307\267\151\001\304\172\261\203
-\001\150\175\215\101\241\224\030\301\045\134\374\360\376\203\002
-\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
+\060\202\004\025\060\202\002\375\240\003\002\001\002\002\006\111
+\101\054\344\000\020\060\015\006\011\052\206\110\206\367\015\001
+\001\013\005\000\060\201\247\061\013\060\011\006\003\125\004\006
+\023\002\110\125\061\021\060\017\006\003\125\004\007\014\010\102
+\165\144\141\160\145\163\164\061\025\060\023\006\003\125\004\012
+\014\014\116\145\164\114\157\143\153\040\113\146\164\056\061\067
+\060\065\006\003\125\004\013\014\056\124\141\156\303\272\163\303
+\255\164\166\303\241\156\171\153\151\141\144\303\263\153\040\050
+\103\145\162\164\151\146\151\143\141\164\151\157\156\040\123\145
+\162\166\151\143\145\163\051\061\065\060\063\006\003\125\004\003
+\014\054\116\145\164\114\157\143\153\040\101\162\141\156\171\040
+\050\103\154\141\163\163\040\107\157\154\144\051\040\106\305\221
+\164\141\156\303\272\163\303\255\164\166\303\241\156\171\060\036
+\027\015\060\070\061\062\061\061\061\065\060\070\062\061\132\027
+\015\062\070\061\062\060\066\061\065\060\070\062\061\132\060\201
+\247\061\013\060\011\006\003\125\004\006\023\002\110\125\061\021
+\060\017\006\003\125\004\007\014\010\102\165\144\141\160\145\163
+\164\061\025\060\023\006\003\125\004\012\014\014\116\145\164\114
+\157\143\153\040\113\146\164\056\061\067\060\065\006\003\125\004
+\013\014\056\124\141\156\303\272\163\303\255\164\166\303\241\156
+\171\153\151\141\144\303\263\153\040\050\103\145\162\164\151\146
+\151\143\141\164\151\157\156\040\123\145\162\166\151\143\145\163
+\051\061\065\060\063\006\003\125\004\003\014\054\116\145\164\114
+\157\143\153\040\101\162\141\156\171\040\050\103\154\141\163\163
+\040\107\157\154\144\051\040\106\305\221\164\141\156\303\272\163
+\303\255\164\166\303\241\156\171\060\202\001\042\060\015\006\011
+\052\206\110\206\367\015\001\001\001\005\000\003\202\001\017\000
+\060\202\001\012\002\202\001\001\000\304\044\136\163\276\113\155
+\024\303\241\364\343\227\220\156\322\060\105\036\074\356\147\331
+\144\340\032\212\177\312\060\312\203\343\040\301\343\364\072\323
+\224\137\032\174\133\155\277\060\117\204\047\366\237\037\111\274
+\306\231\012\220\362\017\365\177\103\204\067\143\121\213\172\245
+\160\374\172\130\315\216\233\355\303\106\154\204\160\135\332\363
+\001\220\043\374\116\060\251\176\341\047\143\347\355\144\074\240
+\270\311\063\143\376\026\220\377\260\270\375\327\250\300\300\224
+\103\013\266\325\131\246\236\126\320\044\037\160\171\257\333\071
+\124\015\145\165\331\025\101\224\001\257\136\354\366\215\361\377
+\255\144\376\040\232\327\134\353\376\246\037\010\144\243\213\166
+\125\255\036\073\050\140\056\207\045\350\252\257\037\306\144\106
+\040\267\160\177\074\336\110\333\226\123\267\071\167\344\032\342
+\307\026\204\166\227\133\057\273\031\025\205\370\151\205\365\231
+\247\251\362\064\247\251\266\246\003\374\157\206\075\124\174\166
+\004\233\153\371\100\135\000\064\307\056\231\165\235\345\210\003
+\252\115\370\003\322\102\166\300\033\002\003\000\250\213\243\105
+\060\103\060\022\006\003\125\035\023\001\001\377\004\010\060\006
+\001\001\377\002\001\004\060\016\006\003\125\035\017\001\001\377
+\004\004\003\002\001\006\060\035\006\003\125\035\016\004\026\004
+\024\314\372\147\223\360\266\270\320\245\300\036\363\123\375\214
+\123\337\203\327\226\060\015\006\011\052\206\110\206\367\015\001
+\001\013\005\000\003\202\001\001\000\253\177\356\034\026\251\234
+\074\121\000\240\300\021\010\005\247\231\346\157\001\210\124\141
+\156\361\271\030\255\112\255\376\201\100\043\224\057\373\165\174
+\057\050\113\142\044\201\202\013\365\141\361\034\156\270\141\070
+\353\201\372\142\241\073\132\142\323\224\145\304\341\346\155\202
+\370\057\045\160\262\041\046\301\162\121\037\214\054\303\204\220
+\303\132\217\272\317\364\247\145\245\353\230\321\373\005\262\106
+\165\025\043\152\157\205\143\060\200\360\325\236\037\051\034\302
+\154\260\120\131\135\220\133\073\250\015\060\317\277\175\177\316
+\361\235\203\275\311\106\156\040\246\371\141\121\272\041\057\173
+\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
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
 
-# 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
-# Fingerprint (SHA1): 03:9E:ED:B8:0B:E7:A0:3C:69:53:89:3B:20:D2:D9:32:3A:4C:2A:FD
+# Trust for "NetLock Arany (Class Gold) FÅ‘tanúsítvány"
+# 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 (SHA-256): 6C:61:DA:C3:A2:DE:F0:31:50:6B:E0:36:D2:A6:FE:40:19:94:FB:D1:3D:F9:C8:D4:66:59:92:74:C4:46:EC:98
+# Fingerprint (SHA1): 06:08:3F:59:3F:15:A1:04:A0:69:A4:6B:A9:03:D0:06:B7:97:09:91
 CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "GeoTrust Primary Certification Authority - G3"
+CKA_LABEL UTF8 "NetLock Arany (Class Gold) FÅ‘tanúsítvány"
 CKA_CERT_SHA1_HASH MULTILINE_OCTAL
-\003\236\355\270\013\347\240\074\151\123\211\073\040\322\331\062
-\072\114\052\375
+\006\010\077\131\077\025\241\004\240\151\244\153\251\003\320\006
+\267\227\011\221
 END
 CKA_CERT_MD5_HASH MULTILINE_OCTAL
-\265\350\064\066\311\020\104\130\110\160\155\056\203\324\270\005
+\305\241\267\377\163\335\326\327\064\062\030\337\374\074\255\210
 END
 CKA_ISSUER MULTILINE_OCTAL
-\060\201\230\061\013\060\011\006\003\125\004\006\023\002\125\123
-\061\026\060\024\006\003\125\004\012\023\015\107\145\157\124\162
-\165\163\164\040\111\156\143\056\061\071\060\067\006\003\125\004
-\013\023\060\050\143\051\040\062\060\060\070\040\107\145\157\124
-\162\165\163\164\040\111\156\143\056\040\055\040\106\157\162\040
-\141\165\164\150\157\162\151\172\145\144\040\165\163\145\040\157
-\156\154\171\061\066\060\064\006\003\125\004\003\023\055\107\145
-\157\124\162\165\163\164\040\120\162\151\155\141\162\171\040\103
-\145\162\164\151\146\151\143\141\164\151\157\156\040\101\165\164
-\150\157\162\151\164\171\040\055\040\107\063
+\060\201\247\061\013\060\011\006\003\125\004\006\023\002\110\125
+\061\021\060\017\006\003\125\004\007\014\010\102\165\144\141\160
+\145\163\164\061\025\060\023\006\003\125\004\012\014\014\116\145
+\164\114\157\143\153\040\113\146\164\056\061\067\060\065\006\003
+\125\004\013\014\056\124\141\156\303\272\163\303\255\164\166\303
+\241\156\171\153\151\141\144\303\263\153\040\050\103\145\162\164
+\151\146\151\143\141\164\151\157\156\040\123\145\162\166\151\143
+\145\163\051\061\065\060\063\006\003\125\004\003\014\054\116\145
+\164\114\157\143\153\040\101\162\141\156\171\040\050\103\154\141
+\163\163\040\107\157\154\144\051\040\106\305\221\164\141\156\303
+\272\163\303\255\164\166\303\241\156\171
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\020\025\254\156\224\031\262\171\113\101\366\047\251\303\030
-\017\037
+\002\006\111\101\054\344\000\020
 END
 CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
 CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
@@ -7631,290 +4281,133 @@ CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
 CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
 
 #
-# Certificate "thawte Primary Root CA - G2"
+# Certificate "SecureSign RootCA11"
 #
-# 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
-# Fingerprint (SHA1): AA:DB:BC:22:23:8F:C4:01:A1:27:BB:38:DD:F4:1D:DB:08:9E:F0:12
+# 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 (SHA-256): BF:0F:EE:FB:9E:3A:58:1A:D5:F9:E9:DB:75:89:98:57:43:D2:61:08:5C:4D:31:4F:6F:5D:72:59:AA:42:16:12
+# Fingerprint (SHA1): 3B:C4:9F:48:F8:F3:73:A0:9C:1E:BD:F8:5B:B1:C3:65:C7:D8:11:B3
 CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "thawte Primary Root CA - G2"
+CKA_LABEL UTF8 "SecureSign RootCA11"
 CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
 CKA_SUBJECT MULTILINE_OCTAL
-\060\201\204\061\013\060\011\006\003\125\004\006\023\002\125\123
-\061\025\060\023\006\003\125\004\012\023\014\164\150\141\167\164
-\145\054\040\111\156\143\056\061\070\060\066\006\003\125\004\013
-\023\057\050\143\051\040\062\060\060\067\040\164\150\141\167\164
-\145\054\040\111\156\143\056\040\055\040\106\157\162\040\141\165
-\164\150\157\162\151\172\145\144\040\165\163\145\040\157\156\154
-\171\061\044\060\042\006\003\125\004\003\023\033\164\150\141\167
-\164\145\040\120\162\151\155\141\162\171\040\122\157\157\164\040
-\103\101\040\055\040\107\062
+\060\130\061\013\060\011\006\003\125\004\006\023\002\112\120\061
+\053\060\051\006\003\125\004\012\023\042\112\141\160\141\156\040
+\103\145\162\164\151\146\151\143\141\164\151\157\156\040\123\145
+\162\166\151\143\145\163\054\040\111\156\143\056\061\034\060\032
+\006\003\125\004\003\023\023\123\145\143\165\162\145\123\151\147
+\156\040\122\157\157\164\103\101\061\061
 END
 CKA_ID UTF8 "0"
 CKA_ISSUER MULTILINE_OCTAL
-\060\201\204\061\013\060\011\006\003\125\004\006\023\002\125\123
-\061\025\060\023\006\003\125\004\012\023\014\164\150\141\167\164
-\145\054\040\111\156\143\056\061\070\060\066\006\003\125\004\013
-\023\057\050\143\051\040\062\060\060\067\040\164\150\141\167\164
-\145\054\040\111\156\143\056\040\055\040\106\157\162\040\141\165
-\164\150\157\162\151\172\145\144\040\165\163\145\040\157\156\154
-\171\061\044\060\042\006\003\125\004\003\023\033\164\150\141\167
-\164\145\040\120\162\151\155\141\162\171\040\122\157\157\164\040
-\103\101\040\055\040\107\062
+\060\130\061\013\060\011\006\003\125\004\006\023\002\112\120\061
+\053\060\051\006\003\125\004\012\023\042\112\141\160\141\156\040
+\103\145\162\164\151\146\151\143\141\164\151\157\156\040\123\145
+\162\166\151\143\145\163\054\040\111\156\143\056\061\034\060\032
+\006\003\125\004\003\023\023\123\145\143\165\162\145\123\151\147
+\156\040\122\157\157\164\103\101\061\061
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\020\065\374\046\134\331\204\117\311\075\046\075\127\233\256
-\327\126
+\002\001\001
 END
 CKA_VALUE MULTILINE_OCTAL
-\060\202\002\210\060\202\002\015\240\003\002\001\002\002\020\065
-\374\046\134\331\204\117\311\075\046\075\127\233\256\327\126\060
-\012\006\010\052\206\110\316\075\004\003\003\060\201\204\061\013
-\060\011\006\003\125\004\006\023\002\125\123\061\025\060\023\006
-\003\125\004\012\023\014\164\150\141\167\164\145\054\040\111\156
-\143\056\061\070\060\066\006\003\125\004\013\023\057\050\143\051
-\040\062\060\060\067\040\164\150\141\167\164\145\054\040\111\156
-\143\056\040\055\040\106\157\162\040\141\165\164\150\157\162\151
-\172\145\144\040\165\163\145\040\157\156\154\171\061\044\060\042
-\006\003\125\004\003\023\033\164\150\141\167\164\145\040\120\162
-\151\155\141\162\171\040\122\157\157\164\040\103\101\040\055\040
-\107\062\060\036\027\015\060\067\061\061\060\065\060\060\060\060
-\060\060\132\027\015\063\070\060\061\061\070\062\063\065\071\065
-\071\132\060\201\204\061\013\060\011\006\003\125\004\006\023\002
-\125\123\061\025\060\023\006\003\125\004\012\023\014\164\150\141
-\167\164\145\054\040\111\156\143\056\061\070\060\066\006\003\125
-\004\013\023\057\050\143\051\040\062\060\060\067\040\164\150\141
-\167\164\145\054\040\111\156\143\056\040\055\040\106\157\162\040
-\141\165\164\150\157\162\151\172\145\144\040\165\163\145\040\157
-\156\154\171\061\044\060\042\006\003\125\004\003\023\033\164\150
-\141\167\164\145\040\120\162\151\155\141\162\171\040\122\157\157
-\164\040\103\101\040\055\040\107\062\060\166\060\020\006\007\052
-\206\110\316\075\002\001\006\005\053\201\004\000\042\003\142\000
-\004\242\325\234\202\173\225\235\361\122\170\207\376\212\026\277
-\005\346\337\243\002\117\015\007\306\000\121\272\014\002\122\055
-\042\244\102\071\304\376\217\352\311\301\276\324\115\377\237\172
-\236\342\261\174\232\255\247\206\011\163\207\321\347\232\343\172
-\245\252\156\373\272\263\160\300\147\210\242\065\324\243\232\261
-\375\255\302\357\061\372\250\271\363\373\010\306\221\321\373\051
-\225\243\102\060\100\060\017\006\003\125\035\023\001\001\377\004
-\005\060\003\001\001\377\060\016\006\003\125\035\017\001\001\377
-\004\004\003\002\001\006\060\035\006\003\125\035\016\004\026\004
-\024\232\330\000\060\000\347\153\177\205\030\356\213\266\316\212
-\014\370\021\341\273\060\012\006\010\052\206\110\316\075\004\003
-\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
-# Fingerprint (SHA1): AA:DB:BC:22:23:8F:C4:01:A1:27:BB:38:DD:F4:1D:DB:08:9E:F0:12
-CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
-CKA_TOKEN CK_BBOOL CK_TRUE
-CKA_PRIVATE CK_BBOOL CK_FALSE
-CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "thawte Primary Root CA - G2"
-CKA_CERT_SHA1_HASH MULTILINE_OCTAL
-\252\333\274\042\043\217\304\001\241\047\273\070\335\364\035\333
-\010\236\360\022
-END
-CKA_CERT_MD5_HASH MULTILINE_OCTAL
-\164\235\352\140\044\304\375\042\123\076\314\072\162\331\051\117
-END
-CKA_ISSUER MULTILINE_OCTAL
-\060\201\204\061\013\060\011\006\003\125\004\006\023\002\125\123
-\061\025\060\023\006\003\125\004\012\023\014\164\150\141\167\164
-\145\054\040\111\156\143\056\061\070\060\066\006\003\125\004\013
-\023\057\050\143\051\040\062\060\060\067\040\164\150\141\167\164
-\145\054\040\111\156\143\056\040\055\040\106\157\162\040\141\165
-\164\150\157\162\151\172\145\144\040\165\163\145\040\157\156\154
-\171\061\044\060\042\006\003\125\004\003\023\033\164\150\141\167
-\164\145\040\120\162\151\155\141\162\171\040\122\157\157\164\040
-\103\101\040\055\040\107\062
-END
-CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\020\065\374\046\134\331\204\117\311\075\046\075\127\233\256
-\327\126
-END
-CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
-CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
-CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
-CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
-
-#
-# 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
-# Fingerprint (SHA1): F1:8B:53:8D:1B:E9:03:B6:A6:F0:56:43:5B:17:15:89:CA:F3:6B:F2
-CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
-CKA_TOKEN CK_BBOOL CK_TRUE
-CKA_PRIVATE CK_BBOOL CK_FALSE
-CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "thawte Primary Root CA - G3"
-CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
-CKA_SUBJECT MULTILINE_OCTAL
-\060\201\256\061\013\060\011\006\003\125\004\006\023\002\125\123
-\061\025\060\023\006\003\125\004\012\023\014\164\150\141\167\164
-\145\054\040\111\156\143\056\061\050\060\046\006\003\125\004\013
-\023\037\103\145\162\164\151\146\151\143\141\164\151\157\156\040
-\123\145\162\166\151\143\145\163\040\104\151\166\151\163\151\157
-\156\061\070\060\066\006\003\125\004\013\023\057\050\143\051\040
-\062\060\060\070\040\164\150\141\167\164\145\054\040\111\156\143
-\056\040\055\040\106\157\162\040\141\165\164\150\157\162\151\172
-\145\144\040\165\163\145\040\157\156\154\171\061\044\060\042\006
-\003\125\004\003\023\033\164\150\141\167\164\145\040\120\162\151
-\155\141\162\171\040\122\157\157\164\040\103\101\040\055\040\107
-\063
-END
-CKA_ID UTF8 "0"
-CKA_ISSUER MULTILINE_OCTAL
-\060\201\256\061\013\060\011\006\003\125\004\006\023\002\125\123
-\061\025\060\023\006\003\125\004\012\023\014\164\150\141\167\164
-\145\054\040\111\156\143\056\061\050\060\046\006\003\125\004\013
-\023\037\103\145\162\164\151\146\151\143\141\164\151\157\156\040
-\123\145\162\166\151\143\145\163\040\104\151\166\151\163\151\157
-\156\061\070\060\066\006\003\125\004\013\023\057\050\143\051\040
-\062\060\060\070\040\164\150\141\167\164\145\054\040\111\156\143
-\056\040\055\040\106\157\162\040\141\165\164\150\157\162\151\172
-\145\144\040\165\163\145\040\157\156\154\171\061\044\060\042\006
-\003\125\004\003\023\033\164\150\141\167\164\145\040\120\162\151
-\155\141\162\171\040\122\157\157\164\040\103\101\040\055\040\107
-\063
-END
-CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\020\140\001\227\267\106\247\352\264\264\232\326\113\057\367
-\220\373
-END
-CKA_VALUE MULTILINE_OCTAL
-\060\202\004\052\060\202\003\022\240\003\002\001\002\002\020\140
-\001\227\267\106\247\352\264\264\232\326\113\057\367\220\373\060
-\015\006\011\052\206\110\206\367\015\001\001\013\005\000\060\201
-\256\061\013\060\011\006\003\125\004\006\023\002\125\123\061\025
-\060\023\006\003\125\004\012\023\014\164\150\141\167\164\145\054
-\040\111\156\143\056\061\050\060\046\006\003\125\004\013\023\037
-\103\145\162\164\151\146\151\143\141\164\151\157\156\040\123\145
-\162\166\151\143\145\163\040\104\151\166\151\163\151\157\156\061
-\070\060\066\006\003\125\004\013\023\057\050\143\051\040\062\060
-\060\070\040\164\150\141\167\164\145\054\040\111\156\143\056\040
-\055\040\106\157\162\040\141\165\164\150\157\162\151\172\145\144
-\040\165\163\145\040\157\156\154\171\061\044\060\042\006\003\125
-\004\003\023\033\164\150\141\167\164\145\040\120\162\151\155\141
-\162\171\040\122\157\157\164\040\103\101\040\055\040\107\063\060
-\036\027\015\060\070\060\064\060\062\060\060\060\060\060\060\132
-\027\015\063\067\061\062\060\061\062\063\065\071\065\071\132\060
-\201\256\061\013\060\011\006\003\125\004\006\023\002\125\123\061
-\025\060\023\006\003\125\004\012\023\014\164\150\141\167\164\145
-\054\040\111\156\143\056\061\050\060\046\006\003\125\004\013\023
-\037\103\145\162\164\151\146\151\143\141\164\151\157\156\040\123
-\145\162\166\151\143\145\163\040\104\151\166\151\163\151\157\156
-\061\070\060\066\006\003\125\004\013\023\057\050\143\051\040\062
-\060\060\070\040\164\150\141\167\164\145\054\040\111\156\143\056
-\040\055\040\106\157\162\040\141\165\164\150\157\162\151\172\145
-\144\040\165\163\145\040\157\156\154\171\061\044\060\042\006\003
-\125\004\003\023\033\164\150\141\167\164\145\040\120\162\151\155
-\141\162\171\040\122\157\157\164\040\103\101\040\055\040\107\063
-\060\202\001\042\060\015\006\011\052\206\110\206\367\015\001\001
-\001\005\000\003\202\001\017\000\060\202\001\012\002\202\001\001
-\000\262\277\047\054\373\333\330\133\335\170\173\033\236\167\146
-\201\313\076\274\174\256\363\246\047\232\064\243\150\061\161\070
-\063\142\344\363\161\146\171\261\251\145\243\245\213\325\217\140
-\055\077\102\314\252\153\062\300\043\313\054\101\335\344\337\374
-\141\234\342\163\262\042\225\021\103\030\137\304\266\037\127\154
-\012\005\130\042\310\066\114\072\174\245\321\317\206\257\210\247
-\104\002\023\164\161\163\012\102\131\002\370\033\024\153\102\337
-\157\137\272\153\202\242\235\133\347\112\275\036\001\162\333\113
-\164\350\073\177\177\175\037\004\264\046\233\340\264\132\254\107
-\075\125\270\327\260\046\122\050\001\061\100\146\330\331\044\275
-\366\052\330\354\041\111\134\233\366\172\351\177\125\065\176\226
-\153\215\223\223\047\313\222\273\352\254\100\300\237\302\370\200
-\317\135\364\132\334\316\164\206\246\076\154\013\123\312\275\222
-\316\031\006\162\346\014\134\070\151\307\004\326\274\154\316\133
-\366\367\150\234\334\045\025\110\210\241\351\251\370\230\234\340
-\363\325\061\050\141\021\154\147\226\215\071\231\313\302\105\044
-\071\002\003\001\000\001\243\102\060\100\060\017\006\003\125\035
-\023\001\001\377\004\005\060\003\001\001\377\060\016\006\003\125
-\035\017\001\001\377\004\004\003\002\001\006\060\035\006\003\125
-\035\016\004\026\004\024\255\154\252\224\140\234\355\344\377\372
-\076\012\164\053\143\003\367\266\131\277\060\015\006\011\052\206
-\110\206\367\015\001\001\013\005\000\003\202\001\001\000\032\100
-\330\225\145\254\011\222\211\306\071\364\020\345\251\016\146\123
-\135\170\336\372\044\221\273\347\104\121\337\306\026\064\012\357
-\152\104\121\352\053\007\212\003\172\303\353\077\012\054\122\026
-\240\053\103\271\045\220\077\160\251\063\045\155\105\032\050\073
-\047\317\252\303\051\102\033\337\073\114\300\063\064\133\101\210
-\277\153\053\145\257\050\357\262\365\303\252\146\316\173\126\356
-\267\310\313\147\301\311\234\032\030\270\304\303\111\003\361\140
-\016\120\315\106\305\363\167\171\367\266\025\340\070\333\307\057
-\050\240\014\077\167\046\164\331\045\022\332\061\332\032\036\334
-\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
+\060\202\003\155\060\202\002\125\240\003\002\001\002\002\001\001
+\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060
+\130\061\013\060\011\006\003\125\004\006\023\002\112\120\061\053
+\060\051\006\003\125\004\012\023\042\112\141\160\141\156\040\103
+\145\162\164\151\146\151\143\141\164\151\157\156\040\123\145\162
+\166\151\143\145\163\054\040\111\156\143\056\061\034\060\032\006
+\003\125\004\003\023\023\123\145\143\165\162\145\123\151\147\156
+\040\122\157\157\164\103\101\061\061\060\036\027\015\060\071\060
+\064\060\070\060\064\065\066\064\067\132\027\015\062\071\060\064
+\060\070\060\064\065\066\064\067\132\060\130\061\013\060\011\006
+\003\125\004\006\023\002\112\120\061\053\060\051\006\003\125\004
+\012\023\042\112\141\160\141\156\040\103\145\162\164\151\146\151
+\143\141\164\151\157\156\040\123\145\162\166\151\143\145\163\054
+\040\111\156\143\056\061\034\060\032\006\003\125\004\003\023\023
+\123\145\143\165\162\145\123\151\147\156\040\122\157\157\164\103
+\101\061\061\060\202\001\042\060\015\006\011\052\206\110\206\367
+\015\001\001\001\005\000\003\202\001\017\000\060\202\001\012\002
+\202\001\001\000\375\167\252\245\034\220\005\073\313\114\233\063
+\213\132\024\105\244\347\220\026\321\337\127\322\041\020\244\027
+\375\337\254\326\037\247\344\333\174\367\354\337\270\003\332\224
+\130\375\135\162\174\214\077\137\001\147\164\025\226\343\002\074
+\207\333\256\313\001\216\302\363\146\306\205\105\364\002\306\072
+\265\142\262\257\372\234\277\244\346\324\200\060\230\363\015\266
+\223\217\251\324\330\066\362\260\374\212\312\054\241\025\063\225
+\061\332\300\033\362\356\142\231\206\143\077\277\335\223\052\203
+\250\166\271\023\037\267\316\116\102\205\217\042\347\056\032\362
+\225\011\262\005\265\104\116\167\241\040\275\251\362\116\012\175
+\120\255\365\005\015\105\117\106\161\375\050\076\123\373\004\330
+\055\327\145\035\112\033\372\317\073\260\061\232\065\156\310\213
+\006\323\000\221\362\224\010\145\114\261\064\006\000\172\211\342
+\360\307\003\131\317\325\326\350\247\062\263\346\230\100\206\305
+\315\047\022\213\314\173\316\267\021\074\142\140\007\043\076\053
+\100\156\224\200\011\155\266\263\157\167\157\065\010\120\373\002
+\207\305\076\211\002\003\001\000\001\243\102\060\100\060\035\006
+\003\125\035\016\004\026\004\024\133\370\115\117\262\245\206\324
+\072\322\361\143\232\240\276\011\366\127\267\336\060\016\006\003
+\125\035\017\001\001\377\004\004\003\002\001\006\060\017\006\003
+\125\035\023\001\001\377\004\005\060\003\001\001\377\060\015\006
+\011\052\206\110\206\367\015\001\001\005\005\000\003\202\001\001
+\000\240\241\070\026\146\056\247\126\037\041\234\006\372\035\355
+\271\042\305\070\046\330\116\117\354\243\177\171\336\106\041\241
+\207\167\217\007\010\232\262\244\305\257\017\062\230\013\174\146
+\051\266\233\175\045\122\111\103\253\114\056\053\156\172\160\257
+\026\016\343\002\154\373\102\346\030\235\105\330\125\310\350\073
+\335\347\341\364\056\013\034\064\134\154\130\112\373\214\210\120
+\137\225\034\277\355\253\042\265\145\263\205\272\236\017\270\255
+\345\172\033\212\120\072\035\275\015\274\173\124\120\013\271\102
+\257\125\240\030\201\255\145\231\357\276\344\234\277\304\205\253
+\101\262\124\157\334\045\315\355\170\342\216\014\215\011\111\335
+\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
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
 
-# 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
-# Fingerprint (SHA1): F1:8B:53:8D:1B:E9:03:B6:A6:F0:56:43:5B:17:15:89:CA:F3:6B:F2
+# Trust for "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 (SHA-256): BF:0F:EE:FB:9E:3A:58:1A:D5:F9:E9:DB:75:89:98:57:43:D2:61:08:5C:4D:31:4F:6F:5D:72:59:AA:42:16:12
+# Fingerprint (SHA1): 3B:C4:9F:48:F8:F3:73:A0:9C:1E:BD:F8:5B:B1:C3:65:C7:D8:11:B3
 CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "thawte Primary Root CA - G3"
+CKA_LABEL UTF8 "SecureSign RootCA11"
 CKA_CERT_SHA1_HASH MULTILINE_OCTAL
-\361\213\123\215\033\351\003\266\246\360\126\103\133\027\025\211
-\312\363\153\362
+\073\304\237\110\370\363\163\240\234\036\275\370\133\261\303\145
+\307\330\021\263
 END
 CKA_CERT_MD5_HASH MULTILINE_OCTAL
-\373\033\135\103\212\224\315\104\306\166\362\103\113\107\347\061
-END
-CKA_ISSUER MULTILINE_OCTAL
-\060\201\256\061\013\060\011\006\003\125\004\006\023\002\125\123
-\061\025\060\023\006\003\125\004\012\023\014\164\150\141\167\164
-\145\054\040\111\156\143\056\061\050\060\046\006\003\125\004\013
-\023\037\103\145\162\164\151\146\151\143\141\164\151\157\156\040
-\123\145\162\166\151\143\145\163\040\104\151\166\151\163\151\157
-\156\061\070\060\066\006\003\125\004\013\023\057\050\143\051\040
-\062\060\060\070\040\164\150\141\167\164\145\054\040\111\156\143
-\056\040\055\040\106\157\162\040\141\165\164\150\157\162\151\172
-\145\144\040\165\163\145\040\157\156\154\171\061\044\060\042\006
-\003\125\004\003\023\033\164\150\141\167\164\145\040\120\162\151
-\155\141\162\171\040\122\157\157\164\040\103\101\040\055\040\107
-\063
+\267\122\164\342\222\264\200\223\362\165\344\314\327\362\352\046
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\130\061\013\060\011\006\003\125\004\006\023\002\112\120\061
+\053\060\051\006\003\125\004\012\023\042\112\141\160\141\156\040
+\103\145\162\164\151\146\151\143\141\164\151\157\156\040\123\145
+\162\166\151\143\145\163\054\040\111\156\143\056\061\034\060\032
+\006\003\125\004\003\023\023\123\145\143\165\162\145\123\151\147
+\156\040\122\157\157\164\103\101\061\061
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\020\140\001\227\267\106\247\352\264\264\232\326\113\057\367
-\220\373
+\002\001\001
 END
 CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
 CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
@@ -7922,133 +4415,151 @@ CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
 CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
 
 #
-# Certificate "GeoTrust Primary Certification Authority - G2"
+# Certificate "Microsec e-Szigno Root CA 2009"
 #
-# 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
-# Fingerprint (SHA1): 8D:17:84:D5:37:F3:03:7D:EC:70:FE:57:8B:51:9A:99:E6:10:D7:B0
+# Issuer: E=info@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@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 (SHA-256): 3C:5F:81:FE:A5:FA:B8:2C:64:BF:A2:EA:EC:AF:CD:E8:E0:77:FC:86:20:A7:CA:E5:37:16:3D:F3:6E:DB:F3:78
+# Fingerprint (SHA1): 89:DF:74:FE:5C:F4:0F:4A:80:F9:E3:37:7D:54:DA:91:E1:01:31:8E
 CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "GeoTrust Primary Certification Authority - G2"
+CKA_LABEL UTF8 "Microsec e-Szigno Root CA 2009"
 CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
 CKA_SUBJECT MULTILINE_OCTAL
-\060\201\230\061\013\060\011\006\003\125\004\006\023\002\125\123
-\061\026\060\024\006\003\125\004\012\023\015\107\145\157\124\162
-\165\163\164\040\111\156\143\056\061\071\060\067\006\003\125\004
-\013\023\060\050\143\051\040\062\060\060\067\040\107\145\157\124
-\162\165\163\164\040\111\156\143\056\040\055\040\106\157\162\040
-\141\165\164\150\157\162\151\172\145\144\040\165\163\145\040\157
-\156\154\171\061\066\060\064\006\003\125\004\003\023\055\107\145
-\157\124\162\165\163\164\040\120\162\151\155\141\162\171\040\103
-\145\162\164\151\146\151\143\141\164\151\157\156\040\101\165\164
-\150\157\162\151\164\171\040\055\040\107\062
+\060\201\202\061\013\060\011\006\003\125\004\006\023\002\110\125
+\061\021\060\017\006\003\125\004\007\014\010\102\165\144\141\160
+\145\163\164\061\026\060\024\006\003\125\004\012\014\015\115\151
+\143\162\157\163\145\143\040\114\164\144\056\061\047\060\045\006
+\003\125\004\003\014\036\115\151\143\162\157\163\145\143\040\145
+\055\123\172\151\147\156\157\040\122\157\157\164\040\103\101\040
+\062\060\060\071\061\037\060\035\006\011\052\206\110\206\367\015
+\001\011\001\026\020\151\156\146\157\100\145\055\163\172\151\147
+\156\157\056\150\165
 END
 CKA_ID UTF8 "0"
 CKA_ISSUER MULTILINE_OCTAL
-\060\201\230\061\013\060\011\006\003\125\004\006\023\002\125\123
-\061\026\060\024\006\003\125\004\012\023\015\107\145\157\124\162
-\165\163\164\040\111\156\143\056\061\071\060\067\006\003\125\004
-\013\023\060\050\143\051\040\062\060\060\067\040\107\145\157\124
-\162\165\163\164\040\111\156\143\056\040\055\040\106\157\162\040
-\141\165\164\150\157\162\151\172\145\144\040\165\163\145\040\157
-\156\154\171\061\066\060\064\006\003\125\004\003\023\055\107\145
-\157\124\162\165\163\164\040\120\162\151\155\141\162\171\040\103
-\145\162\164\151\146\151\143\141\164\151\157\156\040\101\165\164
-\150\157\162\151\164\171\040\055\040\107\062
+\060\201\202\061\013\060\011\006\003\125\004\006\023\002\110\125
+\061\021\060\017\006\003\125\004\007\014\010\102\165\144\141\160
+\145\163\164\061\026\060\024\006\003\125\004\012\014\015\115\151
+\143\162\157\163\145\143\040\114\164\144\056\061\047\060\045\006
+\003\125\004\003\014\036\115\151\143\162\157\163\145\143\040\145
+\055\123\172\151\147\156\157\040\122\157\157\164\040\103\101\040
+\062\060\060\071\061\037\060\035\006\011\052\206\110\206\367\015
+\001\011\001\026\020\151\156\146\157\100\145\055\163\172\151\147
+\156\157\056\150\165
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\020\074\262\364\110\012\000\342\376\353\044\073\136\140\076
-\303\153
+\002\011\000\302\176\103\004\116\107\077\031
 END
 CKA_VALUE MULTILINE_OCTAL
-\060\202\002\256\060\202\002\065\240\003\002\001\002\002\020\074
-\262\364\110\012\000\342\376\353\044\073\136\140\076\303\153\060
-\012\006\010\052\206\110\316\075\004\003\003\060\201\230\061\013
-\060\011\006\003\125\004\006\023\002\125\123\061\026\060\024\006
-\003\125\004\012\023\015\107\145\157\124\162\165\163\164\040\111
-\156\143\056\061\071\060\067\006\003\125\004\013\023\060\050\143
-\051\040\062\060\060\067\040\107\145\157\124\162\165\163\164\040
-\111\156\143\056\040\055\040\106\157\162\040\141\165\164\150\157
-\162\151\172\145\144\040\165\163\145\040\157\156\154\171\061\066
-\060\064\006\003\125\004\003\023\055\107\145\157\124\162\165\163
-\164\040\120\162\151\155\141\162\171\040\103\145\162\164\151\146
-\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164
-\171\040\055\040\107\062\060\036\027\015\060\067\061\061\060\065
-\060\060\060\060\060\060\132\027\015\063\070\060\061\061\070\062
-\063\065\071\065\071\132\060\201\230\061\013\060\011\006\003\125
-\004\006\023\002\125\123\061\026\060\024\006\003\125\004\012\023
-\015\107\145\157\124\162\165\163\164\040\111\156\143\056\061\071
-\060\067\006\003\125\004\013\023\060\050\143\051\040\062\060\060
-\067\040\107\145\157\124\162\165\163\164\040\111\156\143\056\040
-\055\040\106\157\162\040\141\165\164\150\157\162\151\172\145\144
-\040\165\163\145\040\157\156\154\171\061\066\060\064\006\003\125
-\004\003\023\055\107\145\157\124\162\165\163\164\040\120\162\151
-\155\141\162\171\040\103\145\162\164\151\146\151\143\141\164\151
-\157\156\040\101\165\164\150\157\162\151\164\171\040\055\040\107
-\062\060\166\060\020\006\007\052\206\110\316\075\002\001\006\005
-\053\201\004\000\042\003\142\000\004\025\261\350\375\003\025\103
-\345\254\353\207\067\021\142\357\322\203\066\122\175\105\127\013
-\112\215\173\124\073\072\156\137\025\002\300\120\246\317\045\057
-\175\312\110\270\307\120\143\034\052\041\010\174\232\066\330\013
-\376\321\046\305\130\061\060\050\045\363\135\135\243\270\266\245
-\264\222\355\154\054\237\353\335\103\211\242\074\113\110\221\035
-\120\354\046\337\326\140\056\275\041\243\102\060\100\060\017\006
-\003\125\035\023\001\001\377\004\005\060\003\001\001\377\060\016
-\006\003\125\035\017\001\001\377\004\004\003\002\001\006\060\035
-\006\003\125\035\016\004\026\004\024\025\137\065\127\121\125\373
-\045\262\255\003\151\374\001\243\372\276\021\125\325\060\012\006
-\010\052\206\110\316\075\004\003\003\003\147\000\060\144\002\060
-\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
+\060\202\004\012\060\202\002\362\240\003\002\001\002\002\011\000
+\302\176\103\004\116\107\077\031\060\015\006\011\052\206\110\206
+\367\015\001\001\013\005\000\060\201\202\061\013\060\011\006\003
+\125\004\006\023\002\110\125\061\021\060\017\006\003\125\004\007
+\014\010\102\165\144\141\160\145\163\164\061\026\060\024\006\003
+\125\004\012\014\015\115\151\143\162\157\163\145\143\040\114\164
+\144\056\061\047\060\045\006\003\125\004\003\014\036\115\151\143
+\162\157\163\145\143\040\145\055\123\172\151\147\156\157\040\122
+\157\157\164\040\103\101\040\062\060\060\071\061\037\060\035\006
+\011\052\206\110\206\367\015\001\011\001\026\020\151\156\146\157
+\100\145\055\163\172\151\147\156\157\056\150\165\060\036\027\015
+\060\071\060\066\061\066\061\061\063\060\061\070\132\027\015\062
+\071\061\062\063\060\061\061\063\060\061\070\132\060\201\202\061
+\013\060\011\006\003\125\004\006\023\002\110\125\061\021\060\017
+\006\003\125\004\007\014\010\102\165\144\141\160\145\163\164\061
+\026\060\024\006\003\125\004\012\014\015\115\151\143\162\157\163
+\145\143\040\114\164\144\056\061\047\060\045\006\003\125\004\003
+\014\036\115\151\143\162\157\163\145\143\040\145\055\123\172\151
+\147\156\157\040\122\157\157\164\040\103\101\040\062\060\060\071
+\061\037\060\035\006\011\052\206\110\206\367\015\001\011\001\026
+\020\151\156\146\157\100\145\055\163\172\151\147\156\157\056\150
+\165\060\202\001\042\060\015\006\011\052\206\110\206\367\015\001
+\001\001\005\000\003\202\001\017\000\060\202\001\012\002\202\001
+\001\000\351\370\217\363\143\255\332\206\330\247\340\102\373\317
+\221\336\246\046\370\231\245\143\160\255\233\256\312\063\100\175
+\155\226\156\241\016\104\356\341\023\235\224\102\122\232\275\165
+\205\164\054\250\016\035\223\266\030\267\214\054\250\317\373\134
+\161\271\332\354\376\350\176\217\344\057\035\262\250\165\207\330
+\267\241\345\073\317\231\112\106\320\203\031\175\300\241\022\034
+\225\155\112\364\330\307\245\115\063\056\205\071\100\165\176\024
+\174\200\022\230\120\307\101\147\270\240\200\141\124\246\154\116
+\037\340\235\016\007\351\311\272\063\347\376\300\125\050\054\002
+\200\247\031\365\236\334\125\123\003\227\173\007\110\377\231\373
+\067\212\044\304\131\314\120\020\143\216\252\251\032\260\204\032
+\206\371\137\273\261\120\156\244\321\012\314\325\161\176\037\247
+\033\174\365\123\156\042\137\313\053\346\324\174\135\256\326\302
+\306\114\345\005\001\331\355\127\374\301\043\171\374\372\310\044
+\203\225\363\265\152\121\001\320\167\326\351\022\241\371\032\203
+\373\202\033\271\260\227\364\166\006\063\103\111\240\377\013\265
+\372\265\002\003\001\000\001\243\201\200\060\176\060\017\006\003
+\125\035\023\001\001\377\004\005\060\003\001\001\377\060\016\006
+\003\125\035\017\001\001\377\004\004\003\002\001\006\060\035\006
+\003\125\035\016\004\026\004\024\313\017\306\337\102\103\314\075
+\313\265\110\043\241\032\172\246\052\273\064\150\060\037\006\003
+\125\035\043\004\030\060\026\200\024\313\017\306\337\102\103\314
+\075\313\265\110\043\241\032\172\246\052\273\064\150\060\033\006
+\003\125\035\021\004\024\060\022\201\020\151\156\146\157\100\145
+\055\163\172\151\147\156\157\056\150\165\060\015\006\011\052\206
+\110\206\367\015\001\001\013\005\000\003\202\001\001\000\311\321
+\016\136\056\325\314\263\174\076\313\374\075\377\015\050\225\223
+\004\310\277\332\315\171\270\103\220\360\244\276\357\362\357\041
+\230\274\324\324\135\006\366\356\102\354\060\154\240\252\251\312
+\361\257\212\372\077\013\163\152\076\352\056\100\176\037\256\124
+\141\171\353\056\010\067\327\043\363\214\237\276\035\261\341\244
+\165\333\240\342\124\024\261\272\034\051\244\030\366\022\272\242
+\024\024\343\061\065\310\100\377\267\340\005\166\127\301\034\131
+\362\370\277\344\355\045\142\134\204\360\176\176\037\263\276\371
+\267\041\021\314\003\001\126\160\247\020\222\036\033\064\201\036
+\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
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
 
-# 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
-# Fingerprint (SHA1): 8D:17:84:D5:37:F3:03:7D:EC:70:FE:57:8B:51:9A:99:E6:10:D7:B0
+# Trust for "Microsec e-Szigno Root CA 2009"
+# Issuer: E=info@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@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 (SHA-256): 3C:5F:81:FE:A5:FA:B8:2C:64:BF:A2:EA:EC:AF:CD:E8:E0:77:FC:86:20:A7:CA:E5:37:16:3D:F3:6E:DB:F3:78
+# Fingerprint (SHA1): 89:DF:74:FE:5C:F4:0F:4A:80:F9:E3:37:7D:54:DA:91:E1:01:31:8E
 CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "GeoTrust Primary Certification Authority - G2"
+CKA_LABEL UTF8 "Microsec e-Szigno Root CA 2009"
 CKA_CERT_SHA1_HASH MULTILINE_OCTAL
-\215\027\204\325\067\363\003\175\354\160\376\127\213\121\232\231
-\346\020\327\260
+\211\337\164\376\134\364\017\112\200\371\343\067\175\124\332\221
+\341\001\061\216
 END
 CKA_CERT_MD5_HASH MULTILINE_OCTAL
-\001\136\330\153\275\157\075\216\241\061\370\022\340\230\163\152
+\370\111\364\003\274\104\055\203\276\110\151\175\051\144\374\261
 END
 CKA_ISSUER MULTILINE_OCTAL
-\060\201\230\061\013\060\011\006\003\125\004\006\023\002\125\123
-\061\026\060\024\006\003\125\004\012\023\015\107\145\157\124\162
-\165\163\164\040\111\156\143\056\061\071\060\067\006\003\125\004
-\013\023\060\050\143\051\040\062\060\060\067\040\107\145\157\124
-\162\165\163\164\040\111\156\143\056\040\055\040\106\157\162\040
-\141\165\164\150\157\162\151\172\145\144\040\165\163\145\040\157
-\156\154\171\061\066\060\064\006\003\125\004\003\023\055\107\145
-\157\124\162\165\163\164\040\120\162\151\155\141\162\171\040\103
-\145\162\164\151\146\151\143\141\164\151\157\156\040\101\165\164
-\150\157\162\151\164\171\040\055\040\107\062
+\060\201\202\061\013\060\011\006\003\125\004\006\023\002\110\125
+\061\021\060\017\006\003\125\004\007\014\010\102\165\144\141\160
+\145\163\164\061\026\060\024\006\003\125\004\012\014\015\115\151
+\143\162\157\163\145\143\040\114\164\144\056\061\047\060\045\006
+\003\125\004\003\014\036\115\151\143\162\157\163\145\143\040\145
+\055\123\172\151\147\156\157\040\122\157\157\164\040\103\101\040
+\062\060\060\071\061\037\060\035\006\011\052\206\110\206\367\015
+\001\011\001\026\020\151\156\146\157\100\145\055\163\172\151\147
+\156\157\056\150\165
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\020\074\262\364\110\012\000\342\376\353\044\073\136\140\076
-\303\153
+\002\011\000\302\176\103\004\116\107\077\031
 END
 CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
 CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
@@ -8056,171 +4567,129 @@ CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
 CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
 
 #
-# Certificate "VeriSign Universal Root Certification Authority"
+# Certificate "GlobalSign Root CA - R3"
 #
-# 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
-# Fingerprint (SHA1): 36:79:CA:35:66:87:72:30:4D:30:A5:FB:87:3B:0F:A7:7B:B7:0D:54
+# 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 (SHA-256): CB:B5:22:D7:B7:F1:27:AD:6A:01:13:86:5B:DF:1C:D4:10:2E:7D:07:59:AF:63:5A:7C:F4:72:0D:C9:63:C5:3B
+# Fingerprint (SHA1): D6:9B:56:11:48:F0:1C:77:C5:45:78:C1:09:26:DF:5B:85:69:76:AD
 CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "VeriSign Universal Root Certification Authority"
+CKA_LABEL UTF8 "GlobalSign Root CA - R3"
 CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
 CKA_SUBJECT MULTILINE_OCTAL
-\060\201\275\061\013\060\011\006\003\125\004\006\023\002\125\123
-\061\027\060\025\006\003\125\004\012\023\016\126\145\162\151\123
-\151\147\156\054\040\111\156\143\056\061\037\060\035\006\003\125
-\004\013\023\026\126\145\162\151\123\151\147\156\040\124\162\165
-\163\164\040\116\145\164\167\157\162\153\061\072\060\070\006\003
-\125\004\013\023\061\050\143\051\040\062\060\060\070\040\126\145
-\162\151\123\151\147\156\054\040\111\156\143\056\040\055\040\106
-\157\162\040\141\165\164\150\157\162\151\172\145\144\040\165\163
-\145\040\157\156\154\171\061\070\060\066\006\003\125\004\003\023
-\057\126\145\162\151\123\151\147\156\040\125\156\151\166\145\162
-\163\141\154\040\122\157\157\164\040\103\145\162\164\151\146\151
-\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164\171
+\060\114\061\040\060\036\006\003\125\004\013\023\027\107\154\157
+\142\141\154\123\151\147\156\040\122\157\157\164\040\103\101\040
+\055\040\122\063\061\023\060\021\006\003\125\004\012\023\012\107
+\154\157\142\141\154\123\151\147\156\061\023\060\021\006\003\125
+\004\003\023\012\107\154\157\142\141\154\123\151\147\156
 END
 CKA_ID UTF8 "0"
 CKA_ISSUER MULTILINE_OCTAL
-\060\201\275\061\013\060\011\006\003\125\004\006\023\002\125\123
-\061\027\060\025\006\003\125\004\012\023\016\126\145\162\151\123
-\151\147\156\054\040\111\156\143\056\061\037\060\035\006\003\125
-\004\013\023\026\126\145\162\151\123\151\147\156\040\124\162\165
-\163\164\040\116\145\164\167\157\162\153\061\072\060\070\006\003
-\125\004\013\023\061\050\143\051\040\062\060\060\070\040\126\145
-\162\151\123\151\147\156\054\040\111\156\143\056\040\055\040\106
-\157\162\040\141\165\164\150\157\162\151\172\145\144\040\165\163
-\145\040\157\156\154\171\061\070\060\066\006\003\125\004\003\023
-\057\126\145\162\151\123\151\147\156\040\125\156\151\166\145\162
-\163\141\154\040\122\157\157\164\040\103\145\162\164\151\146\151
-\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164\171
+\060\114\061\040\060\036\006\003\125\004\013\023\027\107\154\157
+\142\141\154\123\151\147\156\040\122\157\157\164\040\103\101\040
+\055\040\122\063\061\023\060\021\006\003\125\004\012\023\012\107
+\154\157\142\141\154\123\151\147\156\061\023\060\021\006\003\125
+\004\003\023\012\107\154\157\142\141\154\123\151\147\156
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\020\100\032\304\144\041\263\023\041\003\016\273\344\022\032
-\305\035
+\002\013\004\000\000\000\000\001\041\130\123\010\242
 END
 CKA_VALUE MULTILINE_OCTAL
-\060\202\004\271\060\202\003\241\240\003\002\001\002\002\020\100
-\032\304\144\041\263\023\041\003\016\273\344\022\032\305\035\060
-\015\006\011\052\206\110\206\367\015\001\001\013\005\000\060\201
-\275\061\013\060\011\006\003\125\004\006\023\002\125\123\061\027
-\060\025\006\003\125\004\012\023\016\126\145\162\151\123\151\147
-\156\054\040\111\156\143\056\061\037\060\035\006\003\125\004\013
-\023\026\126\145\162\151\123\151\147\156\040\124\162\165\163\164
-\040\116\145\164\167\157\162\153\061\072\060\070\006\003\125\004
-\013\023\061\050\143\051\040\062\060\060\070\040\126\145\162\151
-\123\151\147\156\054\040\111\156\143\056\040\055\040\106\157\162
-\040\141\165\164\150\157\162\151\172\145\144\040\165\163\145\040
-\157\156\154\171\061\070\060\066\006\003\125\004\003\023\057\126
-\145\162\151\123\151\147\156\040\125\156\151\166\145\162\163\141
-\154\040\122\157\157\164\040\103\145\162\164\151\146\151\143\141
-\164\151\157\156\040\101\165\164\150\157\162\151\164\171\060\036
-\027\015\060\070\060\064\060\062\060\060\060\060\060\060\132\027
-\015\063\067\061\062\060\061\062\063\065\071\065\071\132\060\201
-\275\061\013\060\011\006\003\125\004\006\023\002\125\123\061\027
-\060\025\006\003\125\004\012\023\016\126\145\162\151\123\151\147
-\156\054\040\111\156\143\056\061\037\060\035\006\003\125\004\013
-\023\026\126\145\162\151\123\151\147\156\040\124\162\165\163\164
-\040\116\145\164\167\157\162\153\061\072\060\070\006\003\125\004
-\013\023\061\050\143\051\040\062\060\060\070\040\126\145\162\151
-\123\151\147\156\054\040\111\156\143\056\040\055\040\106\157\162
-\040\141\165\164\150\157\162\151\172\145\144\040\165\163\145\040
-\157\156\154\171\061\070\060\066\006\003\125\004\003\023\057\126
-\145\162\151\123\151\147\156\040\125\156\151\166\145\162\163\141
-\154\040\122\157\157\164\040\103\145\162\164\151\146\151\143\141
-\164\151\157\156\040\101\165\164\150\157\162\151\164\171\060\202
-\001\042\060\015\006\011\052\206\110\206\367\015\001\001\001\005
-\000\003\202\001\017\000\060\202\001\012\002\202\001\001\000\307
-\141\067\136\261\001\064\333\142\327\025\233\377\130\132\214\043
-\043\326\140\216\221\327\220\230\203\172\346\130\031\070\214\305
-\366\345\144\205\264\242\161\373\355\275\271\332\315\115\000\264
-\310\055\163\245\307\151\161\225\037\071\074\262\104\007\234\350
-\016\372\115\112\304\041\337\051\141\217\062\042\141\202\305\207
-\037\156\214\174\137\026\040\121\104\321\160\117\127\352\343\034
-\343\314\171\356\130\330\016\302\263\105\223\300\054\347\232\027
-\053\173\000\067\172\101\063\170\341\063\342\363\020\032\177\207
-\054\276\366\365\367\102\342\345\277\207\142\211\137\000\113\337
-\305\335\344\165\104\062\101\072\036\161\156\151\313\013\165\106
-\010\321\312\322\053\225\320\317\373\271\100\153\144\214\127\115
-\374\023\021\171\204\355\136\124\366\064\237\010\001\363\020\045
-\006\027\112\332\361\035\172\146\153\230\140\146\244\331\357\322
-\056\202\361\360\357\011\352\104\311\025\152\342\003\156\063\323
-\254\237\125\000\307\366\010\152\224\271\137\334\340\063\361\204
-\140\371\133\047\021\264\374\026\362\273\126\152\200\045\215\002
-\003\001\000\001\243\201\262\060\201\257\060\017\006\003\125\035
-\023\001\001\377\004\005\060\003\001\001\377\060\016\006\003\125
-\035\017\001\001\377\004\004\003\002\001\006\060\155\006\010\053
-\006\001\005\005\007\001\014\004\141\060\137\241\135\240\133\060
-\131\060\127\060\125\026\011\151\155\141\147\145\057\147\151\146
-\060\041\060\037\060\007\006\005\053\016\003\002\032\004\024\217
-\345\323\032\206\254\215\216\153\303\317\200\152\324\110\030\054
-\173\031\056\060\045\026\043\150\164\164\160\072\057\057\154\157
-\147\157\056\166\145\162\151\163\151\147\156\056\143\157\155\057
-\166\163\154\157\147\157\056\147\151\146\060\035\006\003\125\035
-\016\004\026\004\024\266\167\372\151\110\107\237\123\022\325\302
-\352\007\062\166\007\321\227\007\031\060\015\006\011\052\206\110
-\206\367\015\001\001\013\005\000\003\202\001\001\000\112\370\370
-\260\003\346\054\147\173\344\224\167\143\314\156\114\371\175\016
-\015\334\310\271\065\271\160\117\143\372\044\372\154\203\214\107
-\235\073\143\363\232\371\166\062\225\221\261\167\274\254\232\276
-\261\344\061\041\306\201\225\126\132\016\261\302\324\261\246\131
-\254\361\143\313\270\114\035\131\220\112\357\220\026\050\037\132
-\256\020\373\201\120\070\014\154\314\361\075\303\365\143\343\263
-\343\041\311\044\071\351\375\025\146\106\364\033\021\320\115\163
-\243\175\106\371\075\355\250\137\142\324\361\077\370\340\164\127
-\053\030\235\201\264\304\050\332\224\227\245\160\353\254\035\276
-\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
+\060\202\003\137\060\202\002\107\240\003\002\001\002\002\013\004
+\000\000\000\000\001\041\130\123\010\242\060\015\006\011\052\206
+\110\206\367\015\001\001\013\005\000\060\114\061\040\060\036\006
+\003\125\004\013\023\027\107\154\157\142\141\154\123\151\147\156
+\040\122\157\157\164\040\103\101\040\055\040\122\063\061\023\060
+\021\006\003\125\004\012\023\012\107\154\157\142\141\154\123\151
+\147\156\061\023\060\021\006\003\125\004\003\023\012\107\154\157
+\142\141\154\123\151\147\156\060\036\027\015\060\071\060\063\061
+\070\061\060\060\060\060\060\132\027\015\062\071\060\063\061\070
+\061\060\060\060\060\060\132\060\114\061\040\060\036\006\003\125
+\004\013\023\027\107\154\157\142\141\154\123\151\147\156\040\122
+\157\157\164\040\103\101\040\055\040\122\063\061\023\060\021\006
+\003\125\004\012\023\012\107\154\157\142\141\154\123\151\147\156
+\061\023\060\021\006\003\125\004\003\023\012\107\154\157\142\141
+\154\123\151\147\156\060\202\001\042\060\015\006\011\052\206\110
+\206\367\015\001\001\001\005\000\003\202\001\017\000\060\202\001
+\012\002\202\001\001\000\314\045\166\220\171\006\170\042\026\365
+\300\203\266\204\312\050\236\375\005\166\021\305\255\210\162\374
+\106\002\103\307\262\212\235\004\137\044\313\056\113\341\140\202
+\106\341\122\253\014\201\107\160\154\335\144\321\353\365\054\243
+\017\202\075\014\053\256\227\327\266\024\206\020\171\273\073\023
+\200\167\214\010\341\111\322\152\142\057\037\136\372\226\150\337
+\211\047\225\070\237\006\327\076\311\313\046\131\015\163\336\260
+\310\351\046\016\203\025\306\357\133\213\322\004\140\312\111\246
+\050\366\151\073\366\313\310\050\221\345\235\212\141\127\067\254
+\164\024\334\164\340\072\356\162\057\056\234\373\320\273\277\365
+\075\000\341\006\063\350\202\053\256\123\246\072\026\163\214\335
+\101\016\040\072\300\264\247\241\351\262\117\220\056\062\140\351
+\127\313\271\004\222\150\150\345\070\046\140\165\262\237\167\377
+\221\024\357\256\040\111\374\255\100\025\110\321\002\061\141\031
+\136\270\227\357\255\167\267\144\232\172\277\137\301\023\357\233
+\142\373\015\154\340\124\151\026\251\003\332\156\351\203\223\161
+\166\306\151\205\202\027\002\003\001\000\001\243\102\060\100\060
+\016\006\003\125\035\017\001\001\377\004\004\003\002\001\006\060
+\017\006\003\125\035\023\001\001\377\004\005\060\003\001\001\377
+\060\035\006\003\125\035\016\004\026\004\024\217\360\113\177\250
+\056\105\044\256\115\120\372\143\232\213\336\342\335\033\274\060
+\015\006\011\052\206\110\206\367\015\001\001\013\005\000\003\202
+\001\001\000\113\100\333\300\120\252\376\310\014\357\367\226\124
+\105\111\273\226\000\011\101\254\263\023\206\206\050\007\063\312
+\153\346\164\271\272\000\055\256\244\012\323\365\361\361\017\212
+\277\163\147\112\203\307\104\173\170\340\257\156\154\157\003\051
+\216\063\071\105\303\216\344\271\127\154\252\374\022\226\354\123
+\306\055\344\044\154\271\224\143\373\334\123\150\147\126\076\203
+\270\317\065\041\303\311\150\376\316\332\302\123\252\314\220\212
+\351\360\135\106\214\225\335\172\130\050\032\057\035\336\315\000
+\067\101\217\355\104\155\327\123\050\227\176\363\147\004\036\025
+\327\212\226\264\323\336\114\047\244\114\033\163\163\166\364\027
+\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
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
 
-# 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
-# Fingerprint (SHA1): 36:79:CA:35:66:87:72:30:4D:30:A5:FB:87:3B:0F:A7:7B:B7:0D:54
+# Trust for "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 (SHA-256): CB:B5:22:D7:B7:F1:27:AD:6A:01:13:86:5B:DF:1C:D4:10:2E:7D:07:59:AF:63:5A:7C:F4:72:0D:C9:63:C5:3B
+# Fingerprint (SHA1): D6:9B:56:11:48:F0:1C:77:C5:45:78:C1:09:26:DF:5B:85:69:76:AD
 CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "VeriSign Universal Root Certification Authority"
+CKA_LABEL UTF8 "GlobalSign Root CA - R3"
 CKA_CERT_SHA1_HASH MULTILINE_OCTAL
-\066\171\312\065\146\207\162\060\115\060\245\373\207\073\017\247
-\173\267\015\124
+\326\233\126\021\110\360\034\167\305\105\170\301\011\046\337\133
+\205\151\166\255
 END
 CKA_CERT_MD5_HASH MULTILINE_OCTAL
-\216\255\265\001\252\115\201\344\214\035\321\341\024\000\225\031
+\305\337\270\111\312\005\023\125\356\055\272\032\303\076\260\050
 END
 CKA_ISSUER MULTILINE_OCTAL
-\060\201\275\061\013\060\011\006\003\125\004\006\023\002\125\123
-\061\027\060\025\006\003\125\004\012\023\016\126\145\162\151\123
-\151\147\156\054\040\111\156\143\056\061\037\060\035\006\003\125
-\004\013\023\026\126\145\162\151\123\151\147\156\040\124\162\165
-\163\164\040\116\145\164\167\157\162\153\061\072\060\070\006\003
-\125\004\013\023\061\050\143\051\040\062\060\060\070\040\126\145
-\162\151\123\151\147\156\054\040\111\156\143\056\040\055\040\106
-\157\162\040\141\165\164\150\157\162\151\172\145\144\040\165\163
-\145\040\157\156\154\171\061\070\060\066\006\003\125\004\003\023
-\057\126\145\162\151\123\151\147\156\040\125\156\151\166\145\162
-\163\141\154\040\122\157\157\164\040\103\145\162\164\151\146\151
-\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164\171
+\060\114\061\040\060\036\006\003\125\004\013\023\027\107\154\157
+\142\141\154\123\151\147\156\040\122\157\157\164\040\103\101\040
+\055\040\122\063\061\023\060\021\006\003\125\004\012\023\012\107
+\154\157\142\141\154\123\151\147\156\061\023\060\021\006\003\125
+\004\003\023\012\107\154\157\142\141\154\123\151\147\156
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\020\100\032\304\144\041\263\023\041\003\016\273\344\022\032
-\305\035
+\002\013\004\000\000\000\000\001\041\130\123\010\242
 END
 CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
 CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
@@ -8228,155 +4697,175 @@ CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
 CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
 
 #
-# Certificate "VeriSign Class 3 Public Primary Certification Authority - G4"
+# Certificate "Autoridad de Certificacion Firmaprofesional CIF A62634068"
 #
-# 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
-# Fingerprint (SHA1): 22:D5:D8:DF:8F:02:31:D1:8D:F7:9D:B7:CF:8A:2D:64:C9:3F:6C:3A
+# 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 (SHA-256): 04:04:80:28:BF:1F:28:64:D4:8F:9A:D4:D8:32:94:36:6A:82:88:56:55:3F:3B:14:30:3F:90:14:7F:5D:40:EF
+# Fingerprint (SHA1): AE:C5:FB:3F:C8:E1:BF:C4:E5:4F:03:07:5A:9A:E8:00:B7:F7:B6:FA
 CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "VeriSign Class 3 Public Primary Certification Authority - G4"
+CKA_LABEL UTF8 "Autoridad de Certificacion Firmaprofesional CIF A62634068"
 CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
 CKA_SUBJECT MULTILINE_OCTAL
-\060\201\312\061\013\060\011\006\003\125\004\006\023\002\125\123
-\061\027\060\025\006\003\125\004\012\023\016\126\145\162\151\123
-\151\147\156\054\040\111\156\143\056\061\037\060\035\006\003\125
-\004\013\023\026\126\145\162\151\123\151\147\156\040\124\162\165
-\163\164\040\116\145\164\167\157\162\153\061\072\060\070\006\003
-\125\004\013\023\061\050\143\051\040\062\060\060\067\040\126\145
-\162\151\123\151\147\156\054\040\111\156\143\056\040\055\040\106
-\157\162\040\141\165\164\150\157\162\151\172\145\144\040\165\163
-\145\040\157\156\154\171\061\105\060\103\006\003\125\004\003\023
-\074\126\145\162\151\123\151\147\156\040\103\154\141\163\163\040
-\063\040\120\165\142\154\151\143\040\120\162\151\155\141\162\171
-\040\103\145\162\164\151\146\151\143\141\164\151\157\156\040\101
-\165\164\150\157\162\151\164\171\040\055\040\107\064
+\060\121\061\013\060\011\006\003\125\004\006\023\002\105\123\061
+\102\060\100\006\003\125\004\003\014\071\101\165\164\157\162\151
+\144\141\144\040\144\145\040\103\145\162\164\151\146\151\143\141
+\143\151\157\156\040\106\151\162\155\141\160\162\157\146\145\163
+\151\157\156\141\154\040\103\111\106\040\101\066\062\066\063\064
+\060\066\070
 END
 CKA_ID UTF8 "0"
 CKA_ISSUER MULTILINE_OCTAL
-\060\201\312\061\013\060\011\006\003\125\004\006\023\002\125\123
-\061\027\060\025\006\003\125\004\012\023\016\126\145\162\151\123
-\151\147\156\054\040\111\156\143\056\061\037\060\035\006\003\125
-\004\013\023\026\126\145\162\151\123\151\147\156\040\124\162\165
-\163\164\040\116\145\164\167\157\162\153\061\072\060\070\006\003
-\125\004\013\023\061\050\143\051\040\062\060\060\067\040\126\145
-\162\151\123\151\147\156\054\040\111\156\143\056\040\055\040\106
-\157\162\040\141\165\164\150\157\162\151\172\145\144\040\165\163
-\145\040\157\156\154\171\061\105\060\103\006\003\125\004\003\023
-\074\126\145\162\151\123\151\147\156\040\103\154\141\163\163\040
-\063\040\120\165\142\154\151\143\040\120\162\151\155\141\162\171
-\040\103\145\162\164\151\146\151\143\141\164\151\157\156\040\101
-\165\164\150\157\162\151\164\171\040\055\040\107\064
+\060\121\061\013\060\011\006\003\125\004\006\023\002\105\123\061
+\102\060\100\006\003\125\004\003\014\071\101\165\164\157\162\151
+\144\141\144\040\144\145\040\103\145\162\164\151\146\151\143\141
+\143\151\157\156\040\106\151\162\155\141\160\162\157\146\145\163
+\151\157\156\141\154\040\103\111\106\040\101\066\062\066\063\064
+\060\066\070
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\020\057\200\376\043\214\016\042\017\110\147\022\050\221\207
-\254\263
+\002\010\123\354\073\356\373\262\110\137
 END
 CKA_VALUE MULTILINE_OCTAL
-\060\202\003\204\060\202\003\012\240\003\002\001\002\002\020\057
-\200\376\043\214\016\042\017\110\147\022\050\221\207\254\263\060
-\012\006\010\052\206\110\316\075\004\003\003\060\201\312\061\013
-\060\011\006\003\125\004\006\023\002\125\123\061\027\060\025\006
-\003\125\004\012\023\016\126\145\162\151\123\151\147\156\054\040
-\111\156\143\056\061\037\060\035\006\003\125\004\013\023\026\126
-\145\162\151\123\151\147\156\040\124\162\165\163\164\040\116\145
-\164\167\157\162\153\061\072\060\070\006\003\125\004\013\023\061
-\050\143\051\040\062\060\060\067\040\126\145\162\151\123\151\147
-\156\054\040\111\156\143\056\040\055\040\106\157\162\040\141\165
-\164\150\157\162\151\172\145\144\040\165\163\145\040\157\156\154
-\171\061\105\060\103\006\003\125\004\003\023\074\126\145\162\151
-\123\151\147\156\040\103\154\141\163\163\040\063\040\120\165\142
-\154\151\143\040\120\162\151\155\141\162\171\040\103\145\162\164
-\151\146\151\143\141\164\151\157\156\040\101\165\164\150\157\162
-\151\164\171\040\055\040\107\064\060\036\027\015\060\067\061\061
-\060\065\060\060\060\060\060\060\132\027\015\063\070\060\061\061
-\070\062\063\065\071\065\071\132\060\201\312\061\013\060\011\006
-\003\125\004\006\023\002\125\123\061\027\060\025\006\003\125\004
-\012\023\016\126\145\162\151\123\151\147\156\054\040\111\156\143
-\056\061\037\060\035\006\003\125\004\013\023\026\126\145\162\151
-\123\151\147\156\040\124\162\165\163\164\040\116\145\164\167\157
-\162\153\061\072\060\070\006\003\125\004\013\023\061\050\143\051
-\040\062\060\060\067\040\126\145\162\151\123\151\147\156\054\040
-\111\156\143\056\040\055\040\106\157\162\040\141\165\164\150\157
-\162\151\172\145\144\040\165\163\145\040\157\156\154\171\061\105
-\060\103\006\003\125\004\003\023\074\126\145\162\151\123\151\147
-\156\040\103\154\141\163\163\040\063\040\120\165\142\154\151\143
-\040\120\162\151\155\141\162\171\040\103\145\162\164\151\146\151
-\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164\171
-\040\055\040\107\064\060\166\060\020\006\007\052\206\110\316\075
-\002\001\006\005\053\201\004\000\042\003\142\000\004\247\126\172
-\174\122\332\144\233\016\055\134\330\136\254\222\075\376\001\346
-\031\112\075\024\003\113\372\140\047\040\331\203\211\151\372\124
-\306\232\030\136\125\052\144\336\006\366\215\112\073\255\020\074
-\145\075\220\210\004\211\340\060\141\263\256\135\001\247\173\336
-\174\262\276\312\145\141\000\206\256\332\217\173\320\211\255\115
-\035\131\232\101\261\274\107\200\334\236\142\303\371\243\201\262
-\060\201\257\060\017\006\003\125\035\023\001\001\377\004\005\060
-\003\001\001\377\060\016\006\003\125\035\017\001\001\377\004\004
-\003\002\001\006\060\155\006\010\053\006\001\005\005\007\001\014
-\004\141\060\137\241\135\240\133\060\131\060\127\060\125\026\011
-\151\155\141\147\145\057\147\151\146\060\041\060\037\060\007\006
-\005\053\016\003\002\032\004\024\217\345\323\032\206\254\215\216
-\153\303\317\200\152\324\110\030\054\173\031\056\060\045\026\043
-\150\164\164\160\072\057\057\154\157\147\157\056\166\145\162\151
-\163\151\147\156\056\143\157\155\057\166\163\154\157\147\157\056
-\147\151\146\060\035\006\003\125\035\016\004\026\004\024\263\026
-\221\375\356\246\156\344\265\056\111\217\207\170\201\200\354\345
-\261\265\060\012\006\010\052\206\110\316\075\004\003\003\003\150
-\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
+\060\202\006\024\060\202\003\374\240\003\002\001\002\002\010\123
+\354\073\356\373\262\110\137\060\015\006\011\052\206\110\206\367
+\015\001\001\005\005\000\060\121\061\013\060\011\006\003\125\004
+\006\023\002\105\123\061\102\060\100\006\003\125\004\003\014\071
+\101\165\164\157\162\151\144\141\144\040\144\145\040\103\145\162
+\164\151\146\151\143\141\143\151\157\156\040\106\151\162\155\141
+\160\162\157\146\145\163\151\157\156\141\154\040\103\111\106\040
+\101\066\062\066\063\064\060\066\070\060\036\027\015\060\071\060
+\065\062\060\060\070\063\070\061\065\132\027\015\063\060\061\062
+\063\061\060\070\063\070\061\065\132\060\121\061\013\060\011\006
+\003\125\004\006\023\002\105\123\061\102\060\100\006\003\125\004
+\003\014\071\101\165\164\157\162\151\144\141\144\040\144\145\040
+\103\145\162\164\151\146\151\143\141\143\151\157\156\040\106\151
+\162\155\141\160\162\157\146\145\163\151\157\156\141\154\040\103
+\111\106\040\101\066\062\066\063\064\060\066\070\060\202\002\042
+\060\015\006\011\052\206\110\206\367\015\001\001\001\005\000\003
+\202\002\017\000\060\202\002\012\002\202\002\001\000\312\226\153
+\216\352\370\373\361\242\065\340\177\114\332\340\303\122\327\175
+\266\020\310\002\136\263\103\052\304\117\152\262\312\034\135\050
+\232\170\021\032\151\131\127\257\265\040\102\344\213\017\346\337
+\133\246\003\222\057\365\021\344\142\327\062\161\070\331\004\014
+\161\253\075\121\176\017\007\337\143\005\134\351\277\224\157\301
+\051\202\300\264\332\121\260\301\074\273\255\067\112\134\312\361
+\113\066\016\044\253\277\303\204\167\375\250\120\364\261\347\306
+\057\322\055\131\215\172\012\116\226\151\122\002\252\066\230\354
+\374\372\024\203\014\067\037\311\222\067\177\327\201\055\345\304
+\271\340\076\064\376\147\364\076\146\321\323\364\100\317\136\142
+\064\017\160\006\076\040\030\132\316\367\162\033\045\154\223\164
+\024\223\243\163\261\016\252\207\020\043\131\137\040\005\031\107
+\355\150\216\222\022\312\135\374\326\053\262\222\074\040\317\341
+\137\257\040\276\240\166\177\166\345\354\032\206\141\063\076\347
+\173\264\077\240\017\216\242\271\152\157\271\207\046\157\101\154
+\210\246\120\375\152\143\013\365\223\026\033\031\217\262\355\233
+\233\311\220\365\001\014\337\031\075\017\076\070\043\311\057\217
+\014\321\002\376\033\125\326\116\320\215\074\257\117\244\363\376
+\257\052\323\005\235\171\010\241\313\127\061\264\234\310\220\262
+\147\364\030\026\223\072\374\107\330\321\170\226\061\037\272\053
+\014\137\135\231\255\143\211\132\044\040\166\330\337\375\253\116
+\246\042\252\235\136\346\047\212\175\150\051\243\347\212\270\332
+\021\273\027\055\231\235\023\044\106\367\305\342\330\237\216\177
+\307\217\164\155\132\262\350\162\365\254\356\044\020\255\057\024
+\332\377\055\232\106\161\107\276\102\337\273\001\333\364\177\323
+\050\217\061\131\133\323\311\002\246\264\122\312\156\227\373\103
+\305\010\046\157\212\364\273\375\237\050\252\015\325\105\363\023
+\072\035\330\300\170\217\101\147\074\036\224\144\256\173\013\305
+\350\331\001\210\071\032\227\206\144\101\325\073\207\014\156\372
+\017\306\275\110\024\277\071\115\324\236\101\266\217\226\035\143
+\226\223\331\225\006\170\061\150\236\067\006\073\200\211\105\141
+\071\043\307\033\104\243\025\345\034\370\222\060\273\002\003\001
+\000\001\243\201\357\060\201\354\060\022\006\003\125\035\023\001
+\001\377\004\010\060\006\001\001\377\002\001\001\060\016\006\003
+\125\035\017\001\001\377\004\004\003\002\001\006\060\035\006\003
+\125\035\016\004\026\004\024\145\315\353\253\065\036\000\076\176
+\325\164\300\034\264\163\107\016\032\144\057\060\201\246\006\003
+\125\035\040\004\201\236\060\201\233\060\201\230\006\004\125\035
+\040\000\060\201\217\060\057\006\010\053\006\001\005\005\007\002
+\001\026\043\150\164\164\160\072\057\057\167\167\167\056\146\151
+\162\155\141\160\162\157\146\145\163\151\157\156\141\154\056\143
+\157\155\057\143\160\163\060\134\006\010\053\006\001\005\005\007
+\002\002\060\120\036\116\000\120\000\141\000\163\000\145\000\157
+\000\040\000\144\000\145\000\040\000\154\000\141\000\040\000\102
+\000\157\000\156\000\141\000\156\000\157\000\166\000\141\000\040
+\000\064\000\067\000\040\000\102\000\141\000\162\000\143\000\145
+\000\154\000\157\000\156\000\141\000\040\000\060\000\070\000\060
+\000\061\000\067\060\015\006\011\052\206\110\206\367\015\001\001
+\005\005\000\003\202\002\001\000\027\175\240\371\264\335\305\305
+\353\255\113\044\265\241\002\253\335\245\210\112\262\017\125\113
+\053\127\214\073\345\061\335\376\304\062\361\347\133\144\226\066
+\062\030\354\245\062\167\327\343\104\266\300\021\052\200\271\075
+\152\156\174\233\323\255\374\303\326\243\346\144\051\174\321\341
+\070\036\202\053\377\047\145\257\373\026\025\304\056\161\204\345
+\265\377\372\244\107\275\144\062\273\366\045\204\242\047\102\365
+\040\260\302\023\020\021\315\020\025\272\102\220\052\322\104\341
+\226\046\353\061\110\022\375\052\332\311\006\317\164\036\251\113
+\325\207\050\371\171\064\222\076\056\104\350\366\217\117\217\065
+\077\045\263\071\334\143\052\220\153\040\137\304\122\022\116\227
+\054\052\254\235\227\336\110\362\243\146\333\302\322\203\225\246
+\146\247\236\045\017\351\013\063\221\145\012\132\303\331\124\022
+\335\257\303\116\016\037\046\136\015\334\263\215\354\325\201\160
+\336\322\117\044\005\363\154\116\365\114\111\146\215\321\377\322
+\013\045\101\110\376\121\204\306\102\257\200\004\317\320\176\144
+\111\344\362\337\242\354\261\114\300\052\035\347\264\261\145\242
+\304\274\361\230\364\252\160\007\143\264\270\332\073\114\372\100
+\042\060\133\021\246\360\005\016\306\002\003\110\253\206\233\205
+\335\333\335\352\242\166\200\163\175\365\234\004\304\105\215\347
+\271\034\213\236\352\327\165\321\162\261\336\165\104\347\102\175
+\342\127\153\175\334\231\274\075\203\050\352\200\223\215\305\114
+\145\301\160\201\270\070\374\103\061\262\366\003\064\107\262\254
+\373\042\006\313\036\335\027\107\034\137\146\271\323\032\242\332
+\021\261\244\274\043\311\344\276\207\377\271\224\266\370\135\040
+\112\324\137\347\275\150\173\145\362\025\036\322\072\251\055\351
+\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
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
 
-# 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
-# Fingerprint (SHA1): 22:D5:D8:DF:8F:02:31:D1:8D:F7:9D:B7:CF:8A:2D:64:C9:3F:6C:3A
+# Trust for "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 (SHA-256): 04:04:80:28:BF:1F:28:64:D4:8F:9A:D4:D8:32:94:36:6A:82:88:56:55:3F:3B:14:30:3F:90:14:7F:5D:40:EF
+# Fingerprint (SHA1): AE:C5:FB:3F:C8:E1:BF:C4:E5:4F:03:07:5A:9A:E8:00:B7:F7:B6:FA
 CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "VeriSign Class 3 Public Primary Certification Authority - G4"
+CKA_LABEL UTF8 "Autoridad de Certificacion Firmaprofesional CIF A62634068"
 CKA_CERT_SHA1_HASH MULTILINE_OCTAL
-\042\325\330\337\217\002\061\321\215\367\235\267\317\212\055\144
-\311\077\154\072
+\256\305\373\077\310\341\277\304\345\117\003\007\132\232\350\000
+\267\367\266\372
 END
 CKA_CERT_MD5_HASH MULTILINE_OCTAL
-\072\122\341\347\375\157\072\343\157\363\157\231\033\371\042\101
+\163\072\164\172\354\273\243\226\246\302\344\342\310\233\300\303
 END
 CKA_ISSUER MULTILINE_OCTAL
-\060\201\312\061\013\060\011\006\003\125\004\006\023\002\125\123
-\061\027\060\025\006\003\125\004\012\023\016\126\145\162\151\123
-\151\147\156\054\040\111\156\143\056\061\037\060\035\006\003\125
-\004\013\023\026\126\145\162\151\123\151\147\156\040\124\162\165
-\163\164\040\116\145\164\167\157\162\153\061\072\060\070\006\003
-\125\004\013\023\061\050\143\051\040\062\060\060\067\040\126\145
-\162\151\123\151\147\156\054\040\111\156\143\056\040\055\040\106
-\157\162\040\141\165\164\150\157\162\151\172\145\144\040\165\163
-\145\040\157\156\154\171\061\105\060\103\006\003\125\004\003\023
-\074\126\145\162\151\123\151\147\156\040\103\154\141\163\163\040
-\063\040\120\165\142\154\151\143\040\120\162\151\155\141\162\171
-\040\103\145\162\164\151\146\151\143\141\164\151\157\156\040\101
-\165\164\150\157\162\151\164\171\040\055\040\107\064
+\060\121\061\013\060\011\006\003\125\004\006\023\002\105\123\061
+\102\060\100\006\003\125\004\003\014\071\101\165\164\157\162\151
+\144\141\144\040\144\145\040\103\145\162\164\151\146\151\143\141
+\143\151\157\156\040\106\151\162\155\141\160\162\157\146\145\163
+\151\157\156\141\154\040\103\111\106\040\101\066\062\066\063\064
+\060\066\070
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\020\057\200\376\043\214\016\042\017\110\147\022\050\221\207
-\254\263
+\002\010\123\354\073\356\373\262\110\137
 END
 CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
 CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
@@ -8384,582 +4873,741 @@ CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
 CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
 
 #
-# Certificate "NetLock Arany (Class Gold) FÅ‘tanúsítvány"
+# Certificate "Izenpe.com"
 #
-# 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
-# Fingerprint (SHA1): 06:08:3F:59:3F:15:A1:04:A0:69:A4:6B:A9:03:D0:06:B7:97:09:91
+# 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 (SHA-256): 25:30:CC:8E:98:32:15:02:BA:D9:6F:9B:1F:BA:1B:09:9E:2D:29:9E:0F:45:48:BB:91:4F:36:3B:C0:D4:53:1F
+# Fingerprint (SHA1): 2F:78:3D:25:52:18:A7:4A:65:39:71:B5:2C:A2:9C:45:15:6F:E9:19
 CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "NetLock Arany (Class Gold) FÅ‘tanúsítvány"
+CKA_LABEL UTF8 "Izenpe.com"
 CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
 CKA_SUBJECT MULTILINE_OCTAL
-\060\201\247\061\013\060\011\006\003\125\004\006\023\002\110\125
-\061\021\060\017\006\003\125\004\007\014\010\102\165\144\141\160
-\145\163\164\061\025\060\023\006\003\125\004\012\014\014\116\145
-\164\114\157\143\153\040\113\146\164\056\061\067\060\065\006\003
-\125\004\013\014\056\124\141\156\303\272\163\303\255\164\166\303
-\241\156\171\153\151\141\144\303\263\153\040\050\103\145\162\164
-\151\146\151\143\141\164\151\157\156\040\123\145\162\166\151\143
-\145\163\051\061\065\060\063\006\003\125\004\003\014\054\116\145
-\164\114\157\143\153\040\101\162\141\156\171\040\050\103\154\141
-\163\163\040\107\157\154\144\051\040\106\305\221\164\141\156\303
-\272\163\303\255\164\166\303\241\156\171
+\060\070\061\013\060\011\006\003\125\004\006\023\002\105\123\061
+\024\060\022\006\003\125\004\012\014\013\111\132\105\116\120\105
+\040\123\056\101\056\061\023\060\021\006\003\125\004\003\014\012
+\111\172\145\156\160\145\056\143\157\155
 END
 CKA_ID UTF8 "0"
 CKA_ISSUER MULTILINE_OCTAL
-\060\201\247\061\013\060\011\006\003\125\004\006\023\002\110\125
-\061\021\060\017\006\003\125\004\007\014\010\102\165\144\141\160
-\145\163\164\061\025\060\023\006\003\125\004\012\014\014\116\145
-\164\114\157\143\153\040\113\146\164\056\061\067\060\065\006\003
-\125\004\013\014\056\124\141\156\303\272\163\303\255\164\166\303
-\241\156\171\153\151\141\144\303\263\153\040\050\103\145\162\164
-\151\146\151\143\141\164\151\157\156\040\123\145\162\166\151\143
-\145\163\051\061\065\060\063\006\003\125\004\003\014\054\116\145
-\164\114\157\143\153\040\101\162\141\156\171\040\050\103\154\141
-\163\163\040\107\157\154\144\051\040\106\305\221\164\141\156\303
-\272\163\303\255\164\166\303\241\156\171
+\060\070\061\013\060\011\006\003\125\004\006\023\002\105\123\061
+\024\060\022\006\003\125\004\012\014\013\111\132\105\116\120\105
+\040\123\056\101\056\061\023\060\021\006\003\125\004\003\014\012
+\111\172\145\156\160\145\056\143\157\155
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\006\111\101\054\344\000\020
+\002\020\000\260\267\132\026\110\137\277\341\313\365\213\327\031
+\346\175
 END
 CKA_VALUE MULTILINE_OCTAL
-\060\202\004\025\060\202\002\375\240\003\002\001\002\002\006\111
-\101\054\344\000\020\060\015\006\011\052\206\110\206\367\015\001
-\001\013\005\000\060\201\247\061\013\060\011\006\003\125\004\006
-\023\002\110\125\061\021\060\017\006\003\125\004\007\014\010\102
-\165\144\141\160\145\163\164\061\025\060\023\006\003\125\004\012
-\014\014\116\145\164\114\157\143\153\040\113\146\164\056\061\067
-\060\065\006\003\125\004\013\014\056\124\141\156\303\272\163\303
-\255\164\166\303\241\156\171\153\151\141\144\303\263\153\040\050
-\103\145\162\164\151\146\151\143\141\164\151\157\156\040\123\145
-\162\166\151\143\145\163\051\061\065\060\063\006\003\125\004\003
-\014\054\116\145\164\114\157\143\153\040\101\162\141\156\171\040
-\050\103\154\141\163\163\040\107\157\154\144\051\040\106\305\221
-\164\141\156\303\272\163\303\255\164\166\303\241\156\171\060\036
-\027\015\060\070\061\062\061\061\061\065\060\070\062\061\132\027
-\015\062\070\061\062\060\066\061\065\060\070\062\061\132\060\201
-\247\061\013\060\011\006\003\125\004\006\023\002\110\125\061\021
-\060\017\006\003\125\004\007\014\010\102\165\144\141\160\145\163
-\164\061\025\060\023\006\003\125\004\012\014\014\116\145\164\114
-\157\143\153\040\113\146\164\056\061\067\060\065\006\003\125\004
-\013\014\056\124\141\156\303\272\163\303\255\164\166\303\241\156
-\171\153\151\141\144\303\263\153\040\050\103\145\162\164\151\146
-\151\143\141\164\151\157\156\040\123\145\162\166\151\143\145\163
-\051\061\065\060\063\006\003\125\004\003\014\054\116\145\164\114
-\157\143\153\040\101\162\141\156\171\040\050\103\154\141\163\163
-\040\107\157\154\144\051\040\106\305\221\164\141\156\303\272\163
-\303\255\164\166\303\241\156\171\060\202\001\042\060\015\006\011
-\052\206\110\206\367\015\001\001\001\005\000\003\202\001\017\000
-\060\202\001\012\002\202\001\001\000\304\044\136\163\276\113\155
-\024\303\241\364\343\227\220\156\322\060\105\036\074\356\147\331
-\144\340\032\212\177\312\060\312\203\343\040\301\343\364\072\323
-\224\137\032\174\133\155\277\060\117\204\047\366\237\037\111\274
-\306\231\012\220\362\017\365\177\103\204\067\143\121\213\172\245
-\160\374\172\130\315\216\233\355\303\106\154\204\160\135\332\363
-\001\220\043\374\116\060\251\176\341\047\143\347\355\144\074\240
-\270\311\063\143\376\026\220\377\260\270\375\327\250\300\300\224
-\103\013\266\325\131\246\236\126\320\044\037\160\171\257\333\071
-\124\015\145\165\331\025\101\224\001\257\136\354\366\215\361\377
-\255\144\376\040\232\327\134\353\376\246\037\010\144\243\213\166
-\125\255\036\073\050\140\056\207\045\350\252\257\037\306\144\106
-\040\267\160\177\074\336\110\333\226\123\267\071\167\344\032\342
-\307\026\204\166\227\133\057\273\031\025\205\370\151\205\365\231
-\247\251\362\064\247\251\266\246\003\374\157\206\075\124\174\166
-\004\233\153\371\100\135\000\064\307\056\231\165\235\345\210\003
-\252\115\370\003\322\102\166\300\033\002\003\000\250\213\243\105
-\060\103\060\022\006\003\125\035\023\001\001\377\004\010\060\006
-\001\001\377\002\001\004\060\016\006\003\125\035\017\001\001\377
-\004\004\003\002\001\006\060\035\006\003\125\035\016\004\026\004
-\024\314\372\147\223\360\266\270\320\245\300\036\363\123\375\214
-\123\337\203\327\226\060\015\006\011\052\206\110\206\367\015\001
-\001\013\005\000\003\202\001\001\000\253\177\356\034\026\251\234
-\074\121\000\240\300\021\010\005\247\231\346\157\001\210\124\141
-\156\361\271\030\255\112\255\376\201\100\043\224\057\373\165\174
-\057\050\113\142\044\201\202\013\365\141\361\034\156\270\141\070
-\353\201\372\142\241\073\132\142\323\224\145\304\341\346\155\202
-\370\057\045\160\262\041\046\301\162\121\037\214\054\303\204\220
-\303\132\217\272\317\364\247\145\245\353\230\321\373\005\262\106
-\165\025\043\152\157\205\143\060\200\360\325\236\037\051\034\302
-\154\260\120\131\135\220\133\073\250\015\060\317\277\175\177\316
-\361\235\203\275\311\106\156\040\246\371\141\121\272\041\057\173
-\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
+\060\202\005\361\060\202\003\331\240\003\002\001\002\002\020\000
+\260\267\132\026\110\137\277\341\313\365\213\327\031\346\175\060
+\015\006\011\052\206\110\206\367\015\001\001\013\005\000\060\070
+\061\013\060\011\006\003\125\004\006\023\002\105\123\061\024\060
+\022\006\003\125\004\012\014\013\111\132\105\116\120\105\040\123
+\056\101\056\061\023\060\021\006\003\125\004\003\014\012\111\172
+\145\156\160\145\056\143\157\155\060\036\027\015\060\067\061\062
+\061\063\061\063\060\070\062\070\132\027\015\063\067\061\062\061
+\063\060\070\062\067\062\065\132\060\070\061\013\060\011\006\003
+\125\004\006\023\002\105\123\061\024\060\022\006\003\125\004\012
+\014\013\111\132\105\116\120\105\040\123\056\101\056\061\023\060
+\021\006\003\125\004\003\014\012\111\172\145\156\160\145\056\143
+\157\155\060\202\002\042\060\015\006\011\052\206\110\206\367\015
+\001\001\001\005\000\003\202\002\017\000\060\202\002\012\002\202
+\002\001\000\311\323\172\312\017\036\254\247\206\350\026\145\152
+\261\302\033\105\062\161\225\331\376\020\133\314\257\347\245\171
+\001\217\211\303\312\362\125\161\367\167\276\167\224\363\162\244
+\054\104\330\236\222\233\024\072\241\347\044\220\012\012\126\216
+\305\330\046\224\341\331\110\341\055\076\332\012\162\335\243\231
+\025\332\201\242\207\364\173\156\046\167\211\130\255\326\353\014
+\262\101\172\163\156\155\333\172\170\101\351\010\210\022\176\207
+\056\146\021\143\154\124\373\074\235\162\300\274\056\377\302\267
+\335\015\166\343\072\327\367\264\150\276\242\365\343\201\156\301
+\106\157\135\215\340\115\306\124\125\211\032\063\061\012\261\127
+\271\243\212\230\303\354\073\064\305\225\101\151\176\165\302\074
+\040\305\141\272\121\107\240\040\220\223\241\220\113\363\116\174
+\205\105\124\232\321\005\046\101\260\265\115\035\063\276\304\003
+\310\045\174\301\160\333\073\364\011\055\124\047\110\254\057\341
+\304\254\076\310\313\222\114\123\071\067\043\354\323\001\371\340
+\011\104\115\115\144\300\341\015\132\207\042\274\255\033\243\376
+\046\265\025\363\247\374\204\031\351\354\241\210\264\104\151\204
+\203\363\211\321\164\006\251\314\013\326\302\336\047\205\120\046
+\312\027\270\311\172\207\126\054\032\001\036\154\276\023\255\020
+\254\265\044\365\070\221\241\326\113\332\361\273\322\336\107\265
+\361\274\201\366\131\153\317\031\123\351\215\025\313\112\313\251
+\157\104\345\033\101\317\341\206\247\312\320\152\237\274\114\215
+\006\063\132\242\205\345\220\065\240\142\134\026\116\360\343\242
+\372\003\032\264\054\161\263\130\054\336\173\013\333\032\017\353
+\336\041\037\006\167\006\003\260\311\357\231\374\300\271\117\013
+\206\050\376\322\271\352\343\332\245\303\107\151\022\340\333\360
+\366\031\213\355\173\160\327\002\326\355\207\030\050\054\004\044
+\114\167\344\110\212\032\306\073\232\324\017\312\372\165\322\001
+\100\132\215\171\277\213\317\113\317\252\026\301\225\344\255\114
+\212\076\027\221\324\261\142\345\202\345\200\004\244\003\176\215
+\277\332\177\242\017\227\117\014\323\015\373\327\321\345\162\176
+\034\310\167\377\133\232\017\267\256\005\106\345\361\250\026\354
+\107\244\027\002\003\001\000\001\243\201\366\060\201\363\060\201
+\260\006\003\125\035\021\004\201\250\060\201\245\201\017\151\156
+\146\157\100\151\172\145\156\160\145\056\143\157\155\244\201\221
+\060\201\216\061\107\060\105\006\003\125\004\012\014\076\111\132
+\105\116\120\105\040\123\056\101\056\040\055\040\103\111\106\040
+\101\060\061\063\063\067\062\066\060\055\122\115\145\162\143\056
+\126\151\164\157\162\151\141\055\107\141\163\164\145\151\172\040
+\124\061\060\065\065\040\106\066\062\040\123\070\061\103\060\101
+\006\003\125\004\011\014\072\101\166\144\141\040\144\145\154\040
+\115\145\144\151\164\145\162\162\141\156\145\157\040\105\164\157
+\162\142\151\144\145\141\040\061\064\040\055\040\060\061\060\061
+\060\040\126\151\164\157\162\151\141\055\107\141\163\164\145\151
+\172\060\017\006\003\125\035\023\001\001\377\004\005\060\003\001
+\001\377\060\016\006\003\125\035\017\001\001\377\004\004\003\002
+\001\006\060\035\006\003\125\035\016\004\026\004\024\035\034\145
+\016\250\362\045\173\264\221\317\344\261\261\346\275\125\164\154
+\005\060\015\006\011\052\206\110\206\367\015\001\001\013\005\000
+\003\202\002\001\000\170\246\014\026\112\237\114\210\072\300\313
+\016\245\026\175\237\271\110\137\030\217\015\142\066\366\315\031
+\153\254\253\325\366\221\175\256\161\363\077\263\016\170\205\233
+\225\244\047\041\107\102\112\174\110\072\365\105\174\263\014\216
+\121\170\254\225\023\336\306\375\175\270\032\220\114\253\222\003
+\307\355\102\001\316\017\330\261\372\242\222\341\140\155\256\172
+\153\011\252\306\051\356\150\111\147\060\200\044\172\061\026\071
+\133\176\361\034\056\335\154\011\255\362\061\301\202\116\271\273
+\371\276\277\052\205\077\300\100\243\072\131\374\131\113\074\050
+\044\333\264\025\165\256\015\210\272\056\163\300\275\130\207\345
+\102\362\353\136\356\036\060\042\231\313\067\321\304\041\154\201
+\354\276\155\046\346\034\344\102\040\236\107\260\254\203\131\160
+\054\065\326\257\066\064\264\315\073\370\062\250\357\343\170\211
+\373\215\105\054\332\234\270\176\100\034\141\347\076\242\222\054
+\113\362\315\372\230\266\051\377\363\362\173\251\037\056\240\223
+\127\053\336\205\003\371\151\067\313\236\170\152\005\264\305\061
+\170\211\354\172\247\205\341\271\173\074\336\276\036\171\204\316
+\237\160\016\131\302\065\056\220\052\061\331\344\105\172\101\244
+\056\023\233\064\016\146\173\111\253\144\227\320\106\303\171\235
+\162\120\143\246\230\133\006\275\110\155\330\071\203\160\350\065
+\360\005\321\252\274\343\333\310\002\352\174\375\202\332\302\133
+\122\065\256\230\072\255\272\065\223\043\247\037\110\335\065\106
+\230\262\020\150\344\245\061\302\012\130\056\031\201\020\311\120
+\165\374\352\132\026\316\021\327\356\357\120\210\055\141\377\077
+\102\163\005\224\103\325\216\074\116\001\072\031\245\037\106\116
+\167\320\135\345\201\042\041\207\376\224\175\204\330\223\255\326
+\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
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
 
-# Trust for Certificate "NetLock Arany (Class Gold) FÅ‘tanúsítvány"
-# 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
-# Fingerprint (SHA1): 06:08:3F:59:3F:15:A1:04:A0:69:A4:6B:A9:03:D0:06:B7:97:09:91
+# Trust for "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 (SHA-256): 25:30:CC:8E:98:32:15:02:BA:D9:6F:9B:1F:BA:1B:09:9E:2D:29:9E:0F:45:48:BB:91:4F:36:3B:C0:D4:53:1F
+# Fingerprint (SHA1): 2F:78:3D:25:52:18:A7:4A:65:39:71:B5:2C:A2:9C:45:15:6F:E9:19
 CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "NetLock Arany (Class Gold) FÅ‘tanúsítvány"
+CKA_LABEL UTF8 "Izenpe.com"
 CKA_CERT_SHA1_HASH MULTILINE_OCTAL
-\006\010\077\131\077\025\241\004\240\151\244\153\251\003\320\006
-\267\227\011\221
+\057\170\075\045\122\030\247\112\145\071\161\265\054\242\234\105
+\025\157\351\031
 END
 CKA_CERT_MD5_HASH MULTILINE_OCTAL
-\305\241\267\377\163\335\326\327\064\062\030\337\374\074\255\210
+\246\260\315\205\200\332\134\120\064\243\071\220\057\125\147\163
 END
 CKA_ISSUER MULTILINE_OCTAL
-\060\201\247\061\013\060\011\006\003\125\004\006\023\002\110\125
-\061\021\060\017\006\003\125\004\007\014\010\102\165\144\141\160
-\145\163\164\061\025\060\023\006\003\125\004\012\014\014\116\145
-\164\114\157\143\153\040\113\146\164\056\061\067\060\065\006\003
-\125\004\013\014\056\124\141\156\303\272\163\303\255\164\166\303
-\241\156\171\153\151\141\144\303\263\153\040\050\103\145\162\164
-\151\146\151\143\141\164\151\157\156\040\123\145\162\166\151\143
-\145\163\051\061\065\060\063\006\003\125\004\003\014\054\116\145
-\164\114\157\143\153\040\101\162\141\156\171\040\050\103\154\141
-\163\163\040\107\157\154\144\051\040\106\305\221\164\141\156\303
-\272\163\303\255\164\166\303\241\156\171
+\060\070\061\013\060\011\006\003\125\004\006\023\002\105\123\061
+\024\060\022\006\003\125\004\012\014\013\111\132\105\116\120\105
+\040\123\056\101\056\061\023\060\021\006\003\125\004\003\014\012
+\111\172\145\156\160\145\056\143\157\155
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\006\111\101\054\344\000\020
+\002\020\000\260\267\132\026\110\137\277\341\313\365\213\327\031
+\346\175
 END
 CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
-CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
 CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
 CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
 
 #
-# Certificate "Staat der Nederlanden Root CA - G2"
+# Certificate "Chambers of Commerce Root - 2008"
 #
-# 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
-# Fingerprint (SHA1): 59:AF:82:79:91:86:C7:B4:75:07:CB:CF:03:57:46:EB:04:DD:B7:16
+# 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 (SHA-256): 06:3E:4A:FA:C4:91:DF:D3:32:F3:08:9B:85:42:E9:46:17:D8:93:D7:FE:94:4E:10:A7:93:7E:E2:9D:96:93:C0
+# Fingerprint (SHA1): 78:6A:74:AC:76:AB:14:7F:9C:6A:30:50:BA:9E:A8:7E:FE:9A:CE:3C
 CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "Staat der Nederlanden Root CA - G2"
+CKA_LABEL UTF8 "Chambers of Commerce Root - 2008"
 CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
 CKA_SUBJECT MULTILINE_OCTAL
-\060\132\061\013\060\011\006\003\125\004\006\023\002\116\114\061
-\036\060\034\006\003\125\004\012\014\025\123\164\141\141\164\040
-\144\145\162\040\116\145\144\145\162\154\141\156\144\145\156\061
-\053\060\051\006\003\125\004\003\014\042\123\164\141\141\164\040
-\144\145\162\040\116\145\144\145\162\154\141\156\144\145\156\040
-\122\157\157\164\040\103\101\040\055\040\107\062
+\060\201\256\061\013\060\011\006\003\125\004\006\023\002\105\125
+\061\103\060\101\006\003\125\004\007\023\072\115\141\144\162\151
+\144\040\050\163\145\145\040\143\165\162\162\145\156\164\040\141
+\144\144\162\145\163\163\040\141\164\040\167\167\167\056\143\141
+\155\145\162\146\151\162\155\141\056\143\157\155\057\141\144\144
+\162\145\163\163\051\061\022\060\020\006\003\125\004\005\023\011
+\101\070\062\067\064\063\062\070\067\061\033\060\031\006\003\125
+\004\012\023\022\101\103\040\103\141\155\145\162\146\151\162\155
+\141\040\123\056\101\056\061\051\060\047\006\003\125\004\003\023
+\040\103\150\141\155\142\145\162\163\040\157\146\040\103\157\155
+\155\145\162\143\145\040\122\157\157\164\040\055\040\062\060\060
+\070
 END
 CKA_ID UTF8 "0"
 CKA_ISSUER MULTILINE_OCTAL
-\060\132\061\013\060\011\006\003\125\004\006\023\002\116\114\061
-\036\060\034\006\003\125\004\012\014\025\123\164\141\141\164\040
-\144\145\162\040\116\145\144\145\162\154\141\156\144\145\156\061
-\053\060\051\006\003\125\004\003\014\042\123\164\141\141\164\040
-\144\145\162\040\116\145\144\145\162\154\141\156\144\145\156\040
-\122\157\157\164\040\103\101\040\055\040\107\062
+\060\201\256\061\013\060\011\006\003\125\004\006\023\002\105\125
+\061\103\060\101\006\003\125\004\007\023\072\115\141\144\162\151
+\144\040\050\163\145\145\040\143\165\162\162\145\156\164\040\141
+\144\144\162\145\163\163\040\141\164\040\167\167\167\056\143\141
+\155\145\162\146\151\162\155\141\056\143\157\155\057\141\144\144
+\162\145\163\163\051\061\022\060\020\006\003\125\004\005\023\011
+\101\070\062\067\064\063\062\070\067\061\033\060\031\006\003\125
+\004\012\023\022\101\103\040\103\141\155\145\162\146\151\162\155
+\141\040\123\056\101\056\061\051\060\047\006\003\125\004\003\023
+\040\103\150\141\155\142\145\162\163\040\157\146\040\103\157\155
+\155\145\162\143\145\040\122\157\157\164\040\055\040\062\060\060
+\070
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\004\000\230\226\214
+\002\011\000\243\332\102\176\244\261\256\332
 END
 CKA_VALUE MULTILINE_OCTAL
-\060\202\005\312\060\202\003\262\240\003\002\001\002\002\004\000
-\230\226\214\060\015\006\011\052\206\110\206\367\015\001\001\013
-\005\000\060\132\061\013\060\011\006\003\125\004\006\023\002\116
-\114\061\036\060\034\006\003\125\004\012\014\025\123\164\141\141
-\164\040\144\145\162\040\116\145\144\145\162\154\141\156\144\145
-\156\061\053\060\051\006\003\125\004\003\014\042\123\164\141\141
-\164\040\144\145\162\040\116\145\144\145\162\154\141\156\144\145
-\156\040\122\157\157\164\040\103\101\040\055\040\107\062\060\036
-\027\015\060\070\060\063\062\066\061\061\061\070\061\067\132\027
-\015\062\060\060\063\062\065\061\061\060\063\061\060\132\060\132
-\061\013\060\011\006\003\125\004\006\023\002\116\114\061\036\060
-\034\006\003\125\004\012\014\025\123\164\141\141\164\040\144\145
-\162\040\116\145\144\145\162\154\141\156\144\145\156\061\053\060
-\051\006\003\125\004\003\014\042\123\164\141\141\164\040\144\145
-\162\040\116\145\144\145\162\154\141\156\144\145\156\040\122\157
-\157\164\040\103\101\040\055\040\107\062\060\202\002\042\060\015
-\006\011\052\206\110\206\367\015\001\001\001\005\000\003\202\002
-\017\000\060\202\002\012\002\202\002\001\000\305\131\347\157\165
-\252\076\113\234\265\270\254\236\013\344\371\331\312\253\135\217
-\265\071\020\202\327\257\121\340\073\341\000\110\152\317\332\341
-\006\103\021\231\252\024\045\022\255\042\350\000\155\103\304\251
-\270\345\037\211\113\147\275\141\110\357\375\322\340\140\210\345
-\271\030\140\050\303\167\053\255\260\067\252\067\336\144\131\052
-\106\127\344\113\271\370\067\174\325\066\347\200\301\266\363\324
-\147\233\226\350\316\327\306\012\123\320\153\111\226\363\243\013
-\005\167\110\367\045\345\160\254\060\024\040\045\343\177\165\132
-\345\110\370\116\173\003\007\004\372\202\141\207\156\360\073\304
-\244\307\320\365\164\076\245\135\032\010\362\233\045\322\366\254
-\004\046\076\125\072\142\050\245\173\262\060\257\370\067\302\321
-\272\326\070\375\364\357\111\060\067\231\046\041\110\205\001\251
-\345\026\347\334\220\125\337\017\350\070\315\231\067\041\117\135
-\365\042\157\152\305\022\026\140\027\125\362\145\146\246\247\060
-\221\070\301\070\035\206\004\204\272\032\045\170\136\235\257\314
-\120\140\326\023\207\122\355\143\037\155\145\175\302\025\030\164
-\312\341\176\144\051\214\162\330\026\023\175\013\111\112\361\050
-\033\040\164\153\305\075\335\260\252\110\011\075\056\202\224\315
-\032\145\331\053\210\232\231\274\030\176\237\356\175\146\174\076
-\275\224\270\201\316\315\230\060\170\301\157\147\320\276\137\340
-\150\355\336\342\261\311\054\131\170\222\252\337\053\140\143\362
-\345\136\271\343\312\372\177\120\206\076\242\064\030\014\011\150
-\050\021\034\344\341\271\134\076\107\272\062\077\030\314\133\204
-\365\363\153\164\304\162\164\341\343\213\240\112\275\215\146\057
-\352\255\065\332\040\323\210\202\141\360\022\042\266\274\320\325
-\244\354\257\124\210\045\044\074\247\155\261\162\051\077\076\127
-\246\177\125\257\156\046\306\376\347\314\100\134\121\104\201\012
-\170\336\112\316\125\277\035\325\331\267\126\357\360\166\377\013
-\171\265\257\275\373\251\151\221\106\227\150\200\024\066\035\263
-\177\273\051\230\066\245\040\372\202\140\142\063\244\354\326\272
-\007\247\156\305\317\024\246\347\326\222\064\330\201\365\374\035
-\135\252\134\036\366\243\115\073\270\367\071\002\003\001\000\001
-\243\201\227\060\201\224\060\017\006\003\125\035\023\001\001\377
-\004\005\060\003\001\001\377\060\122\006\003\125\035\040\004\113
-\060\111\060\107\006\004\125\035\040\000\060\077\060\075\006\010
-\053\006\001\005\005\007\002\001\026\061\150\164\164\160\072\057
-\057\167\167\167\056\160\153\151\157\166\145\162\150\145\151\144
-\056\156\154\057\160\157\154\151\143\151\145\163\057\162\157\157
-\164\055\160\157\154\151\143\171\055\107\062\060\016\006\003\125
-\035\017\001\001\377\004\004\003\002\001\006\060\035\006\003\125
-\035\016\004\026\004\024\221\150\062\207\025\035\211\342\265\361
-\254\066\050\064\215\013\174\142\210\353\060\015\006\011\052\206
-\110\206\367\015\001\001\013\005\000\003\202\002\001\000\250\101
-\112\147\052\222\201\202\120\156\341\327\330\263\071\073\363\002
-\025\011\120\121\357\055\275\044\173\210\206\073\371\264\274\222
-\011\226\271\366\300\253\043\140\006\171\214\021\116\121\322\171
-\200\063\373\235\110\276\354\101\103\201\037\176\107\100\034\345
-\172\010\312\252\213\165\255\024\304\302\350\146\074\202\007\247
-\346\047\202\133\030\346\017\156\331\120\076\212\102\030\051\306
-\264\126\374\126\020\240\005\027\275\014\043\177\364\223\355\234
-\032\121\276\335\105\101\277\221\044\264\037\214\351\137\317\173
-\041\231\237\225\237\071\072\106\034\154\371\315\173\234\220\315
-\050\251\307\251\125\273\254\142\064\142\065\023\113\024\072\125
-\203\271\206\215\222\246\306\364\007\045\124\314\026\127\022\112
-\202\170\310\024\331\027\202\046\055\135\040\037\171\256\376\324
-\160\026\026\225\203\330\065\071\377\122\135\165\034\026\305\023
-\125\317\107\314\165\145\122\112\336\360\260\247\344\012\226\013
-\373\255\302\342\045\204\262\335\344\275\176\131\154\233\360\360
-\330\347\312\362\351\227\070\176\211\276\314\373\071\027\141\077
-\162\333\072\221\330\145\001\031\035\255\120\244\127\012\174\113
-\274\234\161\163\052\105\121\031\205\314\216\375\107\247\164\225
-\035\250\321\257\116\027\261\151\046\302\252\170\127\133\305\115
-\247\345\236\005\027\224\312\262\137\240\111\030\215\064\351\046
-\154\110\036\252\150\222\005\341\202\163\132\233\334\007\133\010
-\155\175\235\327\215\041\331\374\024\040\252\302\105\337\077\347
-\000\262\121\344\302\370\005\271\171\032\214\064\363\236\133\344
-\067\133\153\112\337\054\127\212\100\132\066\272\335\165\104\010
-\067\102\160\014\376\334\136\041\240\243\212\300\220\234\150\332
-\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
+\060\202\007\117\060\202\005\067\240\003\002\001\002\002\011\000
+\243\332\102\176\244\261\256\332\060\015\006\011\052\206\110\206
+\367\015\001\001\005\005\000\060\201\256\061\013\060\011\006\003
+\125\004\006\023\002\105\125\061\103\060\101\006\003\125\004\007
+\023\072\115\141\144\162\151\144\040\050\163\145\145\040\143\165
+\162\162\145\156\164\040\141\144\144\162\145\163\163\040\141\164
+\040\167\167\167\056\143\141\155\145\162\146\151\162\155\141\056
+\143\157\155\057\141\144\144\162\145\163\163\051\061\022\060\020
+\006\003\125\004\005\023\011\101\070\062\067\064\063\062\070\067
+\061\033\060\031\006\003\125\004\012\023\022\101\103\040\103\141
+\155\145\162\146\151\162\155\141\040\123\056\101\056\061\051\060
+\047\006\003\125\004\003\023\040\103\150\141\155\142\145\162\163
+\040\157\146\040\103\157\155\155\145\162\143\145\040\122\157\157
+\164\040\055\040\062\060\060\070\060\036\027\015\060\070\060\070
+\060\061\061\062\062\071\065\060\132\027\015\063\070\060\067\063
+\061\061\062\062\071\065\060\132\060\201\256\061\013\060\011\006
+\003\125\004\006\023\002\105\125\061\103\060\101\006\003\125\004
+\007\023\072\115\141\144\162\151\144\040\050\163\145\145\040\143
+\165\162\162\145\156\164\040\141\144\144\162\145\163\163\040\141
+\164\040\167\167\167\056\143\141\155\145\162\146\151\162\155\141
+\056\143\157\155\057\141\144\144\162\145\163\163\051\061\022\060
+\020\006\003\125\004\005\023\011\101\070\062\067\064\063\062\070
+\067\061\033\060\031\006\003\125\004\012\023\022\101\103\040\103
+\141\155\145\162\146\151\162\155\141\040\123\056\101\056\061\051
+\060\047\006\003\125\004\003\023\040\103\150\141\155\142\145\162
+\163\040\157\146\040\103\157\155\155\145\162\143\145\040\122\157
+\157\164\040\055\040\062\060\060\070\060\202\002\042\060\015\006
+\011\052\206\110\206\367\015\001\001\001\005\000\003\202\002\017
+\000\060\202\002\012\002\202\002\001\000\257\000\313\160\067\053
+\200\132\112\072\154\170\224\175\243\177\032\037\366\065\325\275
+\333\313\015\104\162\076\046\262\220\122\272\143\073\050\130\157
+\245\263\155\224\246\363\335\144\014\125\366\366\347\362\042\042
+\200\136\341\142\306\266\051\341\201\154\362\277\345\175\062\152
+\124\240\062\031\131\376\037\213\327\075\140\206\205\044\157\343
+\021\263\167\076\040\226\065\041\153\263\010\331\160\056\144\367
+\204\222\123\326\016\260\220\212\212\343\207\215\006\323\275\220
+\016\342\231\241\033\206\016\332\232\012\273\013\141\120\006\122
+\361\236\177\166\354\313\017\320\036\015\317\231\060\075\034\304
+\105\020\130\254\326\323\350\327\345\352\305\001\007\167\326\121
+\346\003\177\212\110\245\115\150\165\271\351\274\236\116\031\161
+\365\062\113\234\155\140\031\013\373\314\235\165\334\277\046\315
+\217\223\170\071\171\163\136\045\016\312\134\353\167\022\007\313
+\144\101\107\162\223\253\120\303\353\011\166\144\064\322\071\267
+\166\021\011\015\166\105\304\251\256\075\152\257\265\175\145\057
+\224\130\020\354\134\174\257\176\342\266\030\331\320\233\116\132
+\111\337\251\146\013\314\074\306\170\174\247\234\035\343\316\216
+\123\276\005\336\140\017\153\345\032\333\077\343\341\041\311\051
+\301\361\353\007\234\122\033\001\104\121\074\173\045\327\304\345
+\122\124\135\045\007\312\026\040\270\255\344\101\356\172\010\376
+\231\157\203\246\221\002\260\154\066\125\152\347\175\365\226\346
+\312\201\326\227\361\224\203\351\355\260\261\153\022\151\036\254
+\373\135\251\305\230\351\264\133\130\172\276\075\242\104\072\143
+\131\324\013\045\336\033\117\275\345\001\236\315\322\051\325\237
+\027\031\012\157\277\014\220\323\011\137\331\343\212\065\314\171
+\132\115\031\067\222\267\304\301\255\257\364\171\044\232\262\001
+\013\261\257\134\226\363\200\062\373\134\075\230\361\240\077\112
+\336\276\257\224\056\331\125\232\027\156\140\235\143\154\270\143
+\311\256\201\134\030\065\340\220\273\276\074\117\067\042\271\176
+\353\317\236\167\041\246\075\070\201\373\110\332\061\075\053\343
+\211\365\320\265\275\176\340\120\304\022\211\263\043\232\020\061
+\205\333\256\157\357\070\063\030\166\021\002\003\001\000\001\243
+\202\001\154\060\202\001\150\060\022\006\003\125\035\023\001\001
+\377\004\010\060\006\001\001\377\002\001\014\060\035\006\003\125
+\035\016\004\026\004\024\371\044\254\017\262\265\370\171\300\372
+\140\210\033\304\331\115\002\236\027\031\060\201\343\006\003\125
+\035\043\004\201\333\060\201\330\200\024\371\044\254\017\262\265
+\370\171\300\372\140\210\033\304\331\115\002\236\027\031\241\201
+\264\244\201\261\060\201\256\061\013\060\011\006\003\125\004\006
+\023\002\105\125\061\103\060\101\006\003\125\004\007\023\072\115
+\141\144\162\151\144\040\050\163\145\145\040\143\165\162\162\145
+\156\164\040\141\144\144\162\145\163\163\040\141\164\040\167\167
+\167\056\143\141\155\145\162\146\151\162\155\141\056\143\157\155
+\057\141\144\144\162\145\163\163\051\061\022\060\020\006\003\125
+\004\005\023\011\101\070\062\067\064\063\062\070\067\061\033\060
+\031\006\003\125\004\012\023\022\101\103\040\103\141\155\145\162
+\146\151\162\155\141\040\123\056\101\056\061\051\060\047\006\003
+\125\004\003\023\040\103\150\141\155\142\145\162\163\040\157\146
+\040\103\157\155\155\145\162\143\145\040\122\157\157\164\040\055
+\040\062\060\060\070\202\011\000\243\332\102\176\244\261\256\332
+\060\016\006\003\125\035\017\001\001\377\004\004\003\002\001\006
+\060\075\006\003\125\035\040\004\066\060\064\060\062\006\004\125
+\035\040\000\060\052\060\050\006\010\053\006\001\005\005\007\002
+\001\026\034\150\164\164\160\072\057\057\160\157\154\151\143\171
+\056\143\141\155\145\162\146\151\162\155\141\056\143\157\155\060
+\015\006\011\052\206\110\206\367\015\001\001\005\005\000\003\202
+\002\001\000\220\022\257\042\065\302\243\071\360\056\336\351\265
+\351\170\174\110\276\077\175\105\222\136\351\332\261\031\374\026
+\074\237\264\133\146\236\152\347\303\271\135\210\350\017\255\317
+\043\017\336\045\072\136\314\117\245\301\265\055\254\044\322\130
+\007\336\242\317\151\204\140\063\350\020\015\023\251\043\320\205
+\345\216\173\246\236\075\162\023\162\063\365\252\175\306\143\037
+\010\364\376\001\177\044\317\053\054\124\011\336\342\053\155\222
+\306\071\117\026\352\074\176\172\106\324\105\152\106\250\353\165
+\202\126\247\253\240\174\150\023\063\366\235\060\360\157\047\071
+\044\043\052\220\375\220\051\065\362\223\337\064\245\306\367\370
+\357\214\017\142\112\174\256\323\365\124\370\215\266\232\126\207
+\026\202\072\063\253\132\042\010\367\202\272\352\056\340\107\232
+\264\265\105\243\005\073\331\334\056\105\100\073\352\334\177\350
+\073\353\321\354\046\330\065\244\060\305\072\254\127\236\263\166
+\245\040\173\371\036\112\005\142\001\246\050\165\140\227\222\015
+\156\076\115\067\103\015\222\025\234\030\042\315\121\231\240\051
+\032\074\137\212\062\063\133\060\307\211\057\107\230\017\243\003
+\306\366\361\254\337\062\360\331\201\032\344\234\275\366\200\024
+\360\321\054\271\205\365\330\243\261\310\245\041\345\034\023\227
+\356\016\275\337\051\251\357\064\123\133\323\344\152\023\204\006
+\266\062\002\304\122\256\042\322\334\262\041\102\032\332\100\360
+\051\311\354\012\014\134\342\320\272\314\110\323\067\012\314\022
+\012\212\171\260\075\003\177\151\113\364\064\040\175\263\064\352
+\216\113\144\365\076\375\263\043\147\025\015\004\270\360\055\301
+\011\121\074\262\154\025\360\245\043\327\203\164\344\345\056\311
+\376\230\047\102\306\253\306\236\260\320\133\070\245\233\120\336
+\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
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
 
-# 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
-# Fingerprint (SHA1): 59:AF:82:79:91:86:C7:B4:75:07:CB:CF:03:57:46:EB:04:DD:B7:16
+# Trust for "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 (SHA-256): 06:3E:4A:FA:C4:91:DF:D3:32:F3:08:9B:85:42:E9:46:17:D8:93:D7:FE:94:4E:10:A7:93:7E:E2:9D:96:93:C0
+# Fingerprint (SHA1): 78:6A:74:AC:76:AB:14:7F:9C:6A:30:50:BA:9E:A8:7E:FE:9A:CE:3C
 CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "Staat der Nederlanden Root CA - G2"
+CKA_LABEL UTF8 "Chambers of Commerce Root - 2008"
 CKA_CERT_SHA1_HASH MULTILINE_OCTAL
-\131\257\202\171\221\206\307\264\165\007\313\317\003\127\106\353
-\004\335\267\026
+\170\152\164\254\166\253\024\177\234\152\060\120\272\236\250\176
+\376\232\316\074
 END
 CKA_CERT_MD5_HASH MULTILINE_OCTAL
-\174\245\017\370\133\232\175\155\060\256\124\132\343\102\242\212
+\136\200\236\204\132\016\145\013\027\002\363\125\030\052\076\327
 END
 CKA_ISSUER MULTILINE_OCTAL
-\060\132\061\013\060\011\006\003\125\004\006\023\002\116\114\061
-\036\060\034\006\003\125\004\012\014\025\123\164\141\141\164\040
-\144\145\162\040\116\145\144\145\162\154\141\156\144\145\156\061
-\053\060\051\006\003\125\004\003\014\042\123\164\141\141\164\040
-\144\145\162\040\116\145\144\145\162\154\141\156\144\145\156\040
-\122\157\157\164\040\103\101\040\055\040\107\062
+\060\201\256\061\013\060\011\006\003\125\004\006\023\002\105\125
+\061\103\060\101\006\003\125\004\007\023\072\115\141\144\162\151
+\144\040\050\163\145\145\040\143\165\162\162\145\156\164\040\141
+\144\144\162\145\163\163\040\141\164\040\167\167\167\056\143\141
+\155\145\162\146\151\162\155\141\056\143\157\155\057\141\144\144
+\162\145\163\163\051\061\022\060\020\006\003\125\004\005\023\011
+\101\070\062\067\064\063\062\070\067\061\033\060\031\006\003\125
+\004\012\023\022\101\103\040\103\141\155\145\162\146\151\162\155
+\141\040\123\056\101\056\061\051\060\047\006\003\125\004\003\023
+\040\103\150\141\155\142\145\162\163\040\157\146\040\103\157\155
+\155\145\162\143\145\040\122\157\157\164\040\055\040\062\060\060
+\070
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\004\000\230\226\214
+\002\011\000\243\332\102\176\244\261\256\332
 END
-CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
 CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
 CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
 CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
 
 #
-# Certificate "Hongkong Post Root CA 1"
+# Certificate "Global Chambersign Root - 2008"
 #
-# 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
-# Fingerprint (SHA1): D6:DA:A8:20:8D:09:D2:15:4D:24:B5:2F:CB:34:6E:B2:58:B2:8A:58
+# 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 (SHA-256): 13:63:35:43:93:34:A7:69:80:16:A0:D3:24:DE:72:28:4E:07:9D:7B:52:20:BB:8F:BD:74:78:16:EE:BE:BA:CA
+# Fingerprint (SHA1): 4A:BD:EE:EC:95:0D:35:9C:89:AE:C7:52:A1:2C:5B:29:F6:D6:AA:0C
 CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "Hongkong Post Root CA 1"
+CKA_LABEL UTF8 "Global Chambersign Root - 2008"
 CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
 CKA_SUBJECT MULTILINE_OCTAL
-\060\107\061\013\060\011\006\003\125\004\006\023\002\110\113\061
-\026\060\024\006\003\125\004\012\023\015\110\157\156\147\153\157
-\156\147\040\120\157\163\164\061\040\060\036\006\003\125\004\003
-\023\027\110\157\156\147\153\157\156\147\040\120\157\163\164\040
-\122\157\157\164\040\103\101\040\061
+\060\201\254\061\013\060\011\006\003\125\004\006\023\002\105\125
+\061\103\060\101\006\003\125\004\007\023\072\115\141\144\162\151
+\144\040\050\163\145\145\040\143\165\162\162\145\156\164\040\141
+\144\144\162\145\163\163\040\141\164\040\167\167\167\056\143\141
+\155\145\162\146\151\162\155\141\056\143\157\155\057\141\144\144
+\162\145\163\163\051\061\022\060\020\006\003\125\004\005\023\011
+\101\070\062\067\064\063\062\070\067\061\033\060\031\006\003\125
+\004\012\023\022\101\103\040\103\141\155\145\162\146\151\162\155
+\141\040\123\056\101\056\061\047\060\045\006\003\125\004\003\023
+\036\107\154\157\142\141\154\040\103\150\141\155\142\145\162\163
+\151\147\156\040\122\157\157\164\040\055\040\062\060\060\070
 END
 CKA_ID UTF8 "0"
 CKA_ISSUER MULTILINE_OCTAL
-\060\107\061\013\060\011\006\003\125\004\006\023\002\110\113\061
-\026\060\024\006\003\125\004\012\023\015\110\157\156\147\153\157
-\156\147\040\120\157\163\164\061\040\060\036\006\003\125\004\003
-\023\027\110\157\156\147\153\157\156\147\040\120\157\163\164\040
-\122\157\157\164\040\103\101\040\061
+\060\201\254\061\013\060\011\006\003\125\004\006\023\002\105\125
+\061\103\060\101\006\003\125\004\007\023\072\115\141\144\162\151
+\144\040\050\163\145\145\040\143\165\162\162\145\156\164\040\141
+\144\144\162\145\163\163\040\141\164\040\167\167\167\056\143\141
+\155\145\162\146\151\162\155\141\056\143\157\155\057\141\144\144
+\162\145\163\163\051\061\022\060\020\006\003\125\004\005\023\011
+\101\070\062\067\064\063\062\070\067\061\033\060\031\006\003\125
+\004\012\023\022\101\103\040\103\141\155\145\162\146\151\162\155
+\141\040\123\056\101\056\061\047\060\045\006\003\125\004\003\023
+\036\107\154\157\142\141\154\040\103\150\141\155\142\145\162\163
+\151\147\156\040\122\157\157\164\040\055\040\062\060\060\070
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\002\003\350
+\002\011\000\311\315\323\351\325\175\043\316
 END
 CKA_VALUE MULTILINE_OCTAL
-\060\202\003\060\060\202\002\030\240\003\002\001\002\002\002\003
-\350\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000
-\060\107\061\013\060\011\006\003\125\004\006\023\002\110\113\061
-\026\060\024\006\003\125\004\012\023\015\110\157\156\147\153\157
-\156\147\040\120\157\163\164\061\040\060\036\006\003\125\004\003
-\023\027\110\157\156\147\153\157\156\147\040\120\157\163\164\040
-\122\157\157\164\040\103\101\040\061\060\036\027\015\060\063\060
-\065\061\065\060\065\061\063\061\064\132\027\015\062\063\060\065
-\061\065\060\064\065\062\062\071\132\060\107\061\013\060\011\006
-\003\125\004\006\023\002\110\113\061\026\060\024\006\003\125\004
-\012\023\015\110\157\156\147\153\157\156\147\040\120\157\163\164
-\061\040\060\036\006\003\125\004\003\023\027\110\157\156\147\153
-\157\156\147\040\120\157\163\164\040\122\157\157\164\040\103\101
-\040\061\060\202\001\042\060\015\006\011\052\206\110\206\367\015
-\001\001\001\005\000\003\202\001\017\000\060\202\001\012\002\202
-\001\001\000\254\377\070\266\351\146\002\111\343\242\264\341\220
-\371\100\217\171\371\342\275\171\376\002\275\356\044\222\035\042
-\366\332\205\162\151\376\327\077\011\324\335\221\265\002\234\320
-\215\132\341\125\303\120\206\271\051\046\302\343\331\240\361\151
-\003\050\040\200\105\042\055\126\247\073\124\225\126\042\131\037
-\050\337\037\040\075\155\242\066\276\043\240\261\156\265\261\047
-\077\071\123\011\352\253\152\350\164\262\302\145\134\216\277\174
-\303\170\204\315\236\026\374\365\056\117\040\052\010\237\167\363
-\305\036\304\232\122\146\036\110\136\343\020\006\217\042\230\341
-\145\216\033\135\043\146\073\270\245\062\121\310\206\252\241\251
-\236\177\166\224\302\246\154\267\101\360\325\310\006\070\346\324
-\014\342\363\073\114\155\120\214\304\203\047\301\023\204\131\075
-\236\165\164\266\330\002\136\072\220\172\300\102\066\162\354\152
-\115\334\357\304\000\337\023\030\127\137\046\170\310\326\012\171
-\167\277\367\257\267\166\271\245\013\204\027\135\020\352\157\341
-\253\225\021\137\155\074\243\134\115\203\133\362\263\031\212\200
-\213\013\207\002\003\001\000\001\243\046\060\044\060\022\006\003
-\125\035\023\001\001\377\004\010\060\006\001\001\377\002\001\003
-\060\016\006\003\125\035\017\001\001\377\004\004\003\002\001\306
-\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000\003
-\202\001\001\000\016\106\325\074\256\342\207\331\136\201\213\002
-\230\101\010\214\114\274\332\333\356\047\033\202\347\152\105\354
-\026\213\117\205\240\363\262\160\275\132\226\272\312\156\155\356
-\106\213\156\347\052\056\226\263\031\063\353\264\237\250\262\067
-\356\230\250\227\266\056\266\147\047\324\246\111\375\034\223\145
-\166\236\102\057\334\042\154\232\117\362\132\025\071\261\161\327
-\053\121\350\155\034\230\300\331\052\364\241\202\173\325\311\101
-\242\043\001\164\070\125\213\017\271\056\147\242\040\004\067\332
-\234\013\323\027\041\340\217\227\171\064\157\204\110\002\040\063
-\033\346\064\104\237\221\160\364\200\136\204\103\302\051\322\154
-\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
-# Fingerprint (SHA1): D6:DA:A8:20:8D:09:D2:15:4D:24:B5:2F:CB:34:6E:B2:58:B2:8A:58
-CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
-CKA_TOKEN CK_BBOOL CK_TRUE
+\060\202\007\111\060\202\005\061\240\003\002\001\002\002\011\000
+\311\315\323\351\325\175\043\316\060\015\006\011\052\206\110\206
+\367\015\001\001\005\005\000\060\201\254\061\013\060\011\006\003
+\125\004\006\023\002\105\125\061\103\060\101\006\003\125\004\007
+\023\072\115\141\144\162\151\144\040\050\163\145\145\040\143\165
+\162\162\145\156\164\040\141\144\144\162\145\163\163\040\141\164
+\040\167\167\167\056\143\141\155\145\162\146\151\162\155\141\056
+\143\157\155\057\141\144\144\162\145\163\163\051\061\022\060\020
+\006\003\125\004\005\023\011\101\070\062\067\064\063\062\070\067
+\061\033\060\031\006\003\125\004\012\023\022\101\103\040\103\141
+\155\145\162\146\151\162\155\141\040\123\056\101\056\061\047\060
+\045\006\003\125\004\003\023\036\107\154\157\142\141\154\040\103
+\150\141\155\142\145\162\163\151\147\156\040\122\157\157\164\040
+\055\040\062\060\060\070\060\036\027\015\060\070\060\070\060\061
+\061\062\063\061\064\060\132\027\015\063\070\060\067\063\061\061
+\062\063\061\064\060\132\060\201\254\061\013\060\011\006\003\125
+\004\006\023\002\105\125\061\103\060\101\006\003\125\004\007\023
+\072\115\141\144\162\151\144\040\050\163\145\145\040\143\165\162
+\162\145\156\164\040\141\144\144\162\145\163\163\040\141\164\040
+\167\167\167\056\143\141\155\145\162\146\151\162\155\141\056\143
+\157\155\057\141\144\144\162\145\163\163\051\061\022\060\020\006
+\003\125\004\005\023\011\101\070\062\067\064\063\062\070\067\061
+\033\060\031\006\003\125\004\012\023\022\101\103\040\103\141\155
+\145\162\146\151\162\155\141\040\123\056\101\056\061\047\060\045
+\006\003\125\004\003\023\036\107\154\157\142\141\154\040\103\150
+\141\155\142\145\162\163\151\147\156\040\122\157\157\164\040\055
+\040\062\060\060\070\060\202\002\042\060\015\006\011\052\206\110
+\206\367\015\001\001\001\005\000\003\202\002\017\000\060\202\002
+\012\002\202\002\001\000\300\337\126\323\344\072\233\166\105\264
+\023\333\377\301\266\031\213\067\101\030\225\122\107\353\027\235
+\051\210\216\065\154\006\062\056\107\142\363\111\004\277\175\104
+\066\261\161\314\275\132\011\163\325\331\205\104\377\221\127\045
+\337\136\066\216\160\321\134\161\103\035\331\332\357\134\322\373
+\033\275\072\265\313\255\243\314\104\247\015\256\041\025\077\271
+\172\133\222\165\330\244\022\070\211\031\212\267\200\322\342\062
+\157\126\234\221\326\210\020\013\263\164\144\222\164\140\363\366
+\317\030\117\140\262\043\320\307\073\316\141\113\231\217\302\014
+\320\100\262\230\334\015\250\116\243\271\012\256\140\240\255\105
+\122\143\272\146\275\150\340\371\276\032\250\201\273\036\101\170
+\165\323\301\376\000\125\260\207\124\350\047\220\065\035\114\063
+\255\227\374\227\056\230\204\277\054\311\243\277\321\230\021\024
+\355\143\370\312\230\210\130\027\231\355\105\003\227\176\074\206
+\036\210\214\276\362\221\204\217\145\064\330\000\114\175\267\061
+\027\132\051\172\012\030\044\060\243\067\265\172\251\001\175\046
+\326\371\016\216\131\361\375\033\063\265\051\073\027\073\101\266
+\041\335\324\300\075\245\237\237\037\103\120\311\273\274\154\172
+\227\230\356\315\214\037\373\234\121\256\213\160\275\047\237\161
+\300\153\254\175\220\146\350\327\135\072\015\260\325\302\215\325
+\310\235\235\301\155\320\320\277\121\344\343\370\303\070\066\256
+\326\247\165\346\257\204\103\135\223\222\014\152\007\336\073\035
+\230\042\326\254\301\065\333\243\240\045\377\162\265\166\035\336
+\155\351\054\146\054\122\204\320\105\222\316\034\345\345\063\035
+\334\007\123\124\243\252\202\073\232\067\057\334\335\240\144\351
+\346\335\275\256\374\144\205\035\074\247\311\006\336\204\377\153
+\350\153\032\074\305\242\263\102\373\213\011\076\137\010\122\307
+\142\304\324\005\161\277\304\144\344\370\241\203\350\076\022\233
+\250\036\324\066\115\057\161\366\215\050\366\203\251\023\322\141
+\301\221\273\110\300\064\217\101\214\113\114\333\151\022\377\120
+\224\234\040\203\131\163\355\174\241\362\361\375\335\367\111\323
+\103\130\240\126\143\312\075\075\345\065\126\131\351\016\312\040
+\314\053\113\223\051\017\002\003\001\000\001\243\202\001\152\060
+\202\001\146\060\022\006\003\125\035\023\001\001\377\004\010\060
+\006\001\001\377\002\001\014\060\035\006\003\125\035\016\004\026
+\004\024\271\011\312\234\036\333\323\154\072\153\256\355\124\361
+\133\223\006\065\056\136\060\201\341\006\003\125\035\043\004\201
+\331\060\201\326\200\024\271\011\312\234\036\333\323\154\072\153
+\256\355\124\361\133\223\006\065\056\136\241\201\262\244\201\257
+\060\201\254\061\013\060\011\006\003\125\004\006\023\002\105\125
+\061\103\060\101\006\003\125\004\007\023\072\115\141\144\162\151
+\144\040\050\163\145\145\040\143\165\162\162\145\156\164\040\141
+\144\144\162\145\163\163\040\141\164\040\167\167\167\056\143\141
+\155\145\162\146\151\162\155\141\056\143\157\155\057\141\144\144
+\162\145\163\163\051\061\022\060\020\006\003\125\004\005\023\011
+\101\070\062\067\064\063\062\070\067\061\033\060\031\006\003\125
+\004\012\023\022\101\103\040\103\141\155\145\162\146\151\162\155
+\141\040\123\056\101\056\061\047\060\045\006\003\125\004\003\023
+\036\107\154\157\142\141\154\040\103\150\141\155\142\145\162\163
+\151\147\156\040\122\157\157\164\040\055\040\062\060\060\070\202
+\011\000\311\315\323\351\325\175\043\316\060\016\006\003\125\035
+\017\001\001\377\004\004\003\002\001\006\060\075\006\003\125\035
+\040\004\066\060\064\060\062\006\004\125\035\040\000\060\052\060
+\050\006\010\053\006\001\005\005\007\002\001\026\034\150\164\164
+\160\072\057\057\160\157\154\151\143\171\056\143\141\155\145\162
+\146\151\162\155\141\056\143\157\155\060\015\006\011\052\206\110
+\206\367\015\001\001\005\005\000\003\202\002\001\000\200\210\177
+\160\336\222\050\331\005\224\106\377\220\127\251\361\057\337\032
+\015\153\372\174\016\034\111\044\171\047\330\106\252\157\051\131
+\122\210\160\022\352\335\075\365\233\123\124\157\341\140\242\250
+\011\271\354\353\131\174\306\065\361\334\030\351\361\147\345\257
+\272\105\340\011\336\312\104\017\302\027\016\167\221\105\172\063
+\137\137\226\054\150\213\301\107\217\230\233\075\300\354\313\365
+\325\202\222\204\065\321\276\066\070\126\162\061\133\107\055\252
+\027\244\143\121\353\012\001\255\177\354\165\236\313\241\037\361
+\177\022\261\271\344\144\177\147\326\043\052\364\270\071\135\230
+\350\041\247\341\275\075\102\032\164\232\160\257\150\154\120\135
+\111\317\377\373\016\135\346\054\107\327\201\072\131\000\265\163
+\153\143\040\366\061\105\010\071\016\364\160\176\100\160\132\077
+\320\153\102\251\164\075\050\057\002\155\165\162\225\011\215\110
+\143\306\306\043\127\222\223\136\065\301\215\371\012\367\054\235
+\142\034\366\255\174\335\246\061\036\266\261\307\176\205\046\372
+\244\152\265\332\143\060\321\357\223\067\262\146\057\175\005\367
+\347\267\113\230\224\065\300\331\072\051\301\235\262\120\063\035
+\112\251\132\246\311\003\357\355\364\347\250\156\212\264\127\204
+\353\244\077\320\356\252\252\207\133\143\350\223\342\153\250\324
+\270\162\170\153\033\355\071\344\135\313\233\252\207\325\117\116
+\000\376\331\152\237\074\061\017\050\002\001\175\230\350\247\260
+\242\144\236\171\370\110\362\025\251\314\346\310\104\353\077\170
+\231\362\173\161\076\074\361\230\247\305\030\022\077\346\273\050
+\063\102\351\105\012\174\155\362\206\171\057\305\202\031\175\011
+\211\174\262\124\166\210\256\336\301\363\314\341\156\333\061\326
+\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
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
+
+# Trust for "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 (SHA-256): 13:63:35:43:93:34:A7:69:80:16:A0:D3:24:DE:72:28:4E:07:9D:7B:52:20:BB:8F:BD:74:78:16:EE:BE:BA:CA
+# Fingerprint (SHA1): 4A:BD:EE:EC:95:0D:35:9C:89:AE:C7:52:A1:2C:5B:29:F6:D6:AA:0C
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "Hongkong Post Root CA 1"
+CKA_LABEL UTF8 "Global Chambersign Root - 2008"
 CKA_CERT_SHA1_HASH MULTILINE_OCTAL
-\326\332\250\040\215\011\322\025\115\044\265\057\313\064\156\262
-\130\262\212\130
+\112\275\356\354\225\015\065\234\211\256\307\122\241\054\133\051
+\366\326\252\014
 END
 CKA_CERT_MD5_HASH MULTILINE_OCTAL
-\250\015\157\071\170\271\103\155\167\102\155\230\132\314\043\312
+\236\200\377\170\001\014\056\301\066\275\376\226\220\156\010\363
 END
 CKA_ISSUER MULTILINE_OCTAL
-\060\107\061\013\060\011\006\003\125\004\006\023\002\110\113\061
-\026\060\024\006\003\125\004\012\023\015\110\157\156\147\153\157
-\156\147\040\120\157\163\164\061\040\060\036\006\003\125\004\003
-\023\027\110\157\156\147\153\157\156\147\040\120\157\163\164\040
-\122\157\157\164\040\103\101\040\061
+\060\201\254\061\013\060\011\006\003\125\004\006\023\002\105\125
+\061\103\060\101\006\003\125\004\007\023\072\115\141\144\162\151
+\144\040\050\163\145\145\040\143\165\162\162\145\156\164\040\141
+\144\144\162\145\163\163\040\141\164\040\167\167\167\056\143\141
+\155\145\162\146\151\162\155\141\056\143\157\155\057\141\144\144
+\162\145\163\163\051\061\022\060\020\006\003\125\004\005\023\011
+\101\070\062\067\064\063\062\070\067\061\033\060\031\006\003\125
+\004\012\023\022\101\103\040\103\141\155\145\162\146\151\162\155
+\141\040\123\056\101\056\061\047\060\045\006\003\125\004\003\023
+\036\107\154\157\142\141\154\040\103\150\141\155\142\145\162\163
+\151\147\156\040\122\157\157\164\040\055\040\062\060\060\070
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\002\003\350
+\002\011\000\311\315\323\351\325\175\043\316
 END
-CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
-CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
 CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
 CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
 
 #
-# Certificate "SecureSign RootCA11"
+# Certificate "Go Daddy Root Certificate Authority - G2"
 #
-# 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
-# Fingerprint (SHA1): 3B:C4:9F:48:F8:F3:73:A0:9C:1E:BD:F8:5B:B1:C3:65:C7:D8:11:B3
+# 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 (SHA-256): 45:14:0B:32:47:EB:9C:C8:C5:B4:F0:D7:B5:30:91:F7:32:92:08:9E:6E:5A:63:E2:74:9D:D3:AC:A9:19:8E:DA
+# Fingerprint (SHA1): 47:BE:AB:C9:22:EA:E8:0E:78:78:34:62:A7:9F:45:C2:54:FD:E6:8B
 CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "SecureSign RootCA11"
+CKA_LABEL UTF8 "Go Daddy Root Certificate Authority - G2"
 CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
 CKA_SUBJECT MULTILINE_OCTAL
-\060\130\061\013\060\011\006\003\125\004\006\023\002\112\120\061
-\053\060\051\006\003\125\004\012\023\042\112\141\160\141\156\040
-\103\145\162\164\151\146\151\143\141\164\151\157\156\040\123\145
-\162\166\151\143\145\163\054\040\111\156\143\056\061\034\060\032
-\006\003\125\004\003\023\023\123\145\143\165\162\145\123\151\147
-\156\040\122\157\157\164\103\101\061\061
+\060\201\203\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\020\060\016\006\003\125\004\010\023\007\101\162\151\172\157
+\156\141\061\023\060\021\006\003\125\004\007\023\012\123\143\157
+\164\164\163\144\141\154\145\061\032\060\030\006\003\125\004\012
+\023\021\107\157\104\141\144\144\171\056\143\157\155\054\040\111
+\156\143\056\061\061\060\057\006\003\125\004\003\023\050\107\157
+\040\104\141\144\144\171\040\122\157\157\164\040\103\145\162\164
+\151\146\151\143\141\164\145\040\101\165\164\150\157\162\151\164
+\171\040\055\040\107\062
 END
 CKA_ID UTF8 "0"
 CKA_ISSUER MULTILINE_OCTAL
-\060\130\061\013\060\011\006\003\125\004\006\023\002\112\120\061
-\053\060\051\006\003\125\004\012\023\042\112\141\160\141\156\040
-\103\145\162\164\151\146\151\143\141\164\151\157\156\040\123\145
-\162\166\151\143\145\163\054\040\111\156\143\056\061\034\060\032
-\006\003\125\004\003\023\023\123\145\143\165\162\145\123\151\147
-\156\040\122\157\157\164\103\101\061\061
+\060\201\203\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\020\060\016\006\003\125\004\010\023\007\101\162\151\172\157
+\156\141\061\023\060\021\006\003\125\004\007\023\012\123\143\157
+\164\164\163\144\141\154\145\061\032\060\030\006\003\125\004\012
+\023\021\107\157\104\141\144\144\171\056\143\157\155\054\040\111
+\156\143\056\061\061\060\057\006\003\125\004\003\023\050\107\157
+\040\104\141\144\144\171\040\122\157\157\164\040\103\145\162\164
+\151\146\151\143\141\164\145\040\101\165\164\150\157\162\151\164
+\171\040\055\040\107\062
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\001\001
+\002\001\000
 END
 CKA_VALUE MULTILINE_OCTAL
-\060\202\003\155\060\202\002\125\240\003\002\001\002\002\001\001
-\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060
-\130\061\013\060\011\006\003\125\004\006\023\002\112\120\061\053
-\060\051\006\003\125\004\012\023\042\112\141\160\141\156\040\103
-\145\162\164\151\146\151\143\141\164\151\157\156\040\123\145\162
-\166\151\143\145\163\054\040\111\156\143\056\061\034\060\032\006
-\003\125\004\003\023\023\123\145\143\165\162\145\123\151\147\156
-\040\122\157\157\164\103\101\061\061\060\036\027\015\060\071\060
-\064\060\070\060\064\065\066\064\067\132\027\015\062\071\060\064
-\060\070\060\064\065\066\064\067\132\060\130\061\013\060\011\006
-\003\125\004\006\023\002\112\120\061\053\060\051\006\003\125\004
-\012\023\042\112\141\160\141\156\040\103\145\162\164\151\146\151
-\143\141\164\151\157\156\040\123\145\162\166\151\143\145\163\054
-\040\111\156\143\056\061\034\060\032\006\003\125\004\003\023\023
-\123\145\143\165\162\145\123\151\147\156\040\122\157\157\164\103
-\101\061\061\060\202\001\042\060\015\006\011\052\206\110\206\367
-\015\001\001\001\005\000\003\202\001\017\000\060\202\001\012\002
-\202\001\001\000\375\167\252\245\034\220\005\073\313\114\233\063
-\213\132\024\105\244\347\220\026\321\337\127\322\041\020\244\027
-\375\337\254\326\037\247\344\333\174\367\354\337\270\003\332\224
-\130\375\135\162\174\214\077\137\001\147\164\025\226\343\002\074
-\207\333\256\313\001\216\302\363\146\306\205\105\364\002\306\072
-\265\142\262\257\372\234\277\244\346\324\200\060\230\363\015\266
-\223\217\251\324\330\066\362\260\374\212\312\054\241\025\063\225
-\061\332\300\033\362\356\142\231\206\143\077\277\335\223\052\203
-\250\166\271\023\037\267\316\116\102\205\217\042\347\056\032\362
-\225\011\262\005\265\104\116\167\241\040\275\251\362\116\012\175
-\120\255\365\005\015\105\117\106\161\375\050\076\123\373\004\330
-\055\327\145\035\112\033\372\317\073\260\061\232\065\156\310\213
-\006\323\000\221\362\224\010\145\114\261\064\006\000\172\211\342
-\360\307\003\131\317\325\326\350\247\062\263\346\230\100\206\305
-\315\047\022\213\314\173\316\267\021\074\142\140\007\043\076\053
-\100\156\224\200\011\155\266\263\157\167\157\065\010\120\373\002
-\207\305\076\211\002\003\001\000\001\243\102\060\100\060\035\006
-\003\125\035\016\004\026\004\024\133\370\115\117\262\245\206\324
-\072\322\361\143\232\240\276\011\366\127\267\336\060\016\006\003
-\125\035\017\001\001\377\004\004\003\002\001\006\060\017\006\003
-\125\035\023\001\001\377\004\005\060\003\001\001\377\060\015\006
-\011\052\206\110\206\367\015\001\001\005\005\000\003\202\001\001
-\000\240\241\070\026\146\056\247\126\037\041\234\006\372\035\355
-\271\042\305\070\046\330\116\117\354\243\177\171\336\106\041\241
-\207\167\217\007\010\232\262\244\305\257\017\062\230\013\174\146
-\051\266\233\175\045\122\111\103\253\114\056\053\156\172\160\257
-\026\016\343\002\154\373\102\346\030\235\105\330\125\310\350\073
-\335\347\341\364\056\013\034\064\134\154\130\112\373\214\210\120
-\137\225\034\277\355\253\042\265\145\263\205\272\236\017\270\255
-\345\172\033\212\120\072\035\275\015\274\173\124\120\013\271\102
-\257\125\240\030\201\255\145\231\357\276\344\234\277\304\205\253
-\101\262\124\157\334\045\315\355\170\342\216\014\215\011\111\335
-\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
-# Fingerprint (SHA1): 3B:C4:9F:48:F8:F3:73:A0:9C:1E:BD:F8:5B:B1:C3:65:C7:D8:11:B3
+\060\202\003\305\060\202\002\255\240\003\002\001\002\002\001\000
+\060\015\006\011\052\206\110\206\367\015\001\001\013\005\000\060
+\201\203\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\020\060\016\006\003\125\004\010\023\007\101\162\151\172\157\156
+\141\061\023\060\021\006\003\125\004\007\023\012\123\143\157\164
+\164\163\144\141\154\145\061\032\060\030\006\003\125\004\012\023
+\021\107\157\104\141\144\144\171\056\143\157\155\054\040\111\156
+\143\056\061\061\060\057\006\003\125\004\003\023\050\107\157\040
+\104\141\144\144\171\040\122\157\157\164\040\103\145\162\164\151
+\146\151\143\141\164\145\040\101\165\164\150\157\162\151\164\171
+\040\055\040\107\062\060\036\027\015\060\071\060\071\060\061\060
+\060\060\060\060\060\132\027\015\063\067\061\062\063\061\062\063
+\065\071\065\071\132\060\201\203\061\013\060\011\006\003\125\004
+\006\023\002\125\123\061\020\060\016\006\003\125\004\010\023\007
+\101\162\151\172\157\156\141\061\023\060\021\006\003\125\004\007
+\023\012\123\143\157\164\164\163\144\141\154\145\061\032\060\030
+\006\003\125\004\012\023\021\107\157\104\141\144\144\171\056\143
+\157\155\054\040\111\156\143\056\061\061\060\057\006\003\125\004
+\003\023\050\107\157\040\104\141\144\144\171\040\122\157\157\164
+\040\103\145\162\164\151\146\151\143\141\164\145\040\101\165\164
+\150\157\162\151\164\171\040\055\040\107\062\060\202\001\042\060
+\015\006\011\052\206\110\206\367\015\001\001\001\005\000\003\202
+\001\017\000\060\202\001\012\002\202\001\001\000\277\161\142\010
+\361\372\131\064\367\033\311\030\243\367\200\111\130\351\042\203
+\023\246\305\040\103\001\073\204\361\346\205\111\237\047\352\366
+\204\033\116\240\264\333\160\230\307\062\001\261\005\076\007\116
+\356\364\372\117\057\131\060\042\347\253\031\126\153\342\200\007
+\374\363\026\165\200\071\121\173\345\371\065\266\164\116\251\215
+\202\023\344\266\077\251\003\203\372\242\276\212\025\152\177\336
+\013\303\266\031\024\005\312\352\303\250\004\224\073\106\174\062
+\015\363\000\146\042\310\215\151\155\066\214\021\030\267\323\262
+\034\140\264\070\372\002\214\316\323\335\106\007\336\012\076\353
+\135\174\310\174\373\260\053\123\244\222\142\151\121\045\005\141
+\032\104\201\214\054\251\103\226\043\337\254\072\201\232\016\051
+\305\034\251\351\135\036\266\236\236\060\012\071\316\361\210\200
+\373\113\135\314\062\354\205\142\103\045\064\002\126\047\001\221
+\264\073\160\052\077\156\261\350\234\210\001\175\237\324\371\333
+\123\155\140\235\277\054\347\130\253\270\137\106\374\316\304\033
+\003\074\011\353\111\061\134\151\106\263\340\107\002\003\001\000
+\001\243\102\060\100\060\017\006\003\125\035\023\001\001\377\004
+\005\060\003\001\001\377\060\016\006\003\125\035\017\001\001\377
+\004\004\003\002\001\006\060\035\006\003\125\035\016\004\026\004
+\024\072\232\205\007\020\147\050\266\357\366\275\005\101\156\040
+\301\224\332\017\336\060\015\006\011\052\206\110\206\367\015\001
+\001\013\005\000\003\202\001\001\000\231\333\135\171\325\371\227
+\131\147\003\141\361\176\073\006\061\165\055\241\040\216\117\145
+\207\264\367\246\234\274\330\351\057\320\333\132\356\317\164\214
+\163\264\070\102\332\005\173\370\002\165\270\375\245\261\327\256
+\366\327\336\023\313\123\020\176\212\106\321\227\372\267\056\053
+\021\253\220\260\047\200\371\350\237\132\351\067\237\253\344\337
+\154\263\205\027\235\075\331\044\117\171\221\065\326\137\004\353
+\200\203\253\232\002\055\265\020\364\330\220\307\004\163\100\355
+\162\045\240\251\237\354\236\253\150\022\231\127\306\217\022\072
+\011\244\275\104\375\006\025\067\301\233\344\062\243\355\070\350
+\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
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
+
+# Trust for "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 (SHA-256): 45:14:0B:32:47:EB:9C:C8:C5:B4:F0:D7:B5:30:91:F7:32:92:08:9E:6E:5A:63:E2:74:9D:D3:AC:A9:19:8E:DA
+# Fingerprint (SHA1): 47:BE:AB:C9:22:EA:E8:0E:78:78:34:62:A7:9F:45:C2:54:FD:E6:8B
 CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "SecureSign RootCA11"
+CKA_LABEL UTF8 "Go Daddy Root Certificate Authority - G2"
 CKA_CERT_SHA1_HASH MULTILINE_OCTAL
-\073\304\237\110\370\363\163\240\234\036\275\370\133\261\303\145
-\307\330\021\263
+\107\276\253\311\042\352\350\016\170\170\064\142\247\237\105\302
+\124\375\346\213
 END
 CKA_CERT_MD5_HASH MULTILINE_OCTAL
-\267\122\164\342\222\264\200\223\362\165\344\314\327\362\352\046
+\200\072\274\042\301\346\373\215\233\073\047\112\062\033\232\001
 END
 CKA_ISSUER MULTILINE_OCTAL
-\060\130\061\013\060\011\006\003\125\004\006\023\002\112\120\061
-\053\060\051\006\003\125\004\012\023\042\112\141\160\141\156\040
-\103\145\162\164\151\146\151\143\141\164\151\157\156\040\123\145
-\162\166\151\143\145\163\054\040\111\156\143\056\061\034\060\032
-\006\003\125\004\003\023\023\123\145\143\165\162\145\123\151\147
-\156\040\122\157\157\164\103\101\061\061
+\060\201\203\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\020\060\016\006\003\125\004\010\023\007\101\162\151\172\157
+\156\141\061\023\060\021\006\003\125\004\007\023\012\123\143\157
+\164\164\163\144\141\154\145\061\032\060\030\006\003\125\004\012
+\023\021\107\157\104\141\144\144\171\056\143\157\155\054\040\111
+\156\143\056\061\061\060\057\006\003\125\004\003\023\050\107\157
+\040\104\141\144\144\171\040\122\157\157\164\040\103\145\162\164
+\151\146\151\143\141\164\145\040\101\165\164\150\157\162\151\164
+\171\040\055\040\107\062
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\001\001
+\002\001\000
 END
 CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
 CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
@@ -8967,619 +5615,434 @@ CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
 CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
 
 #
-# Certificate "Microsec e-Szigno Root CA 2009"
+# Certificate "Starfield Root Certificate Authority - G2"
 #
-# Issuer: E=info@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@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
-# Fingerprint (SHA1): 89:DF:74:FE:5C:F4:0F:4A:80:F9:E3:37:7D:54:DA:91:E1:01:31:8E
+# 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 (SHA-256): 2C:E1:CB:0B:F9:D2:F9:E1:02:99:3F:BE:21:51:52:C3:B2:DD:0C:AB:DE:1C:68:E5:31:9B:83:91:54:DB:B7:F5
+# Fingerprint (SHA1): B5:1C:06:7C:EE:2B:0C:3D:F8:55:AB:2D:92:F4:FE:39:D4:E7:0F:0E
 CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "Microsec e-Szigno Root CA 2009"
+CKA_LABEL UTF8 "Starfield Root Certificate Authority - G2"
 CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
 CKA_SUBJECT MULTILINE_OCTAL
-\060\201\202\061\013\060\011\006\003\125\004\006\023\002\110\125
-\061\021\060\017\006\003\125\004\007\014\010\102\165\144\141\160
-\145\163\164\061\026\060\024\006\003\125\004\012\014\015\115\151
-\143\162\157\163\145\143\040\114\164\144\056\061\047\060\045\006
-\003\125\004\003\014\036\115\151\143\162\157\163\145\143\040\145
-\055\123\172\151\147\156\157\040\122\157\157\164\040\103\101\040
-\062\060\060\071\061\037\060\035\006\011\052\206\110\206\367\015
-\001\011\001\026\020\151\156\146\157\100\145\055\163\172\151\147
-\156\157\056\150\165
+\060\201\217\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\020\060\016\006\003\125\004\010\023\007\101\162\151\172\157
+\156\141\061\023\060\021\006\003\125\004\007\023\012\123\143\157
+\164\164\163\144\141\154\145\061\045\060\043\006\003\125\004\012
+\023\034\123\164\141\162\146\151\145\154\144\040\124\145\143\150
+\156\157\154\157\147\151\145\163\054\040\111\156\143\056\061\062
+\060\060\006\003\125\004\003\023\051\123\164\141\162\146\151\145
+\154\144\040\122\157\157\164\040\103\145\162\164\151\146\151\143
+\141\164\145\040\101\165\164\150\157\162\151\164\171\040\055\040
+\107\062
 END
 CKA_ID UTF8 "0"
 CKA_ISSUER MULTILINE_OCTAL
-\060\201\202\061\013\060\011\006\003\125\004\006\023\002\110\125
-\061\021\060\017\006\003\125\004\007\014\010\102\165\144\141\160
-\145\163\164\061\026\060\024\006\003\125\004\012\014\015\115\151
-\143\162\157\163\145\143\040\114\164\144\056\061\047\060\045\006
-\003\125\004\003\014\036\115\151\143\162\157\163\145\143\040\145
-\055\123\172\151\147\156\157\040\122\157\157\164\040\103\101\040
-\062\060\060\071\061\037\060\035\006\011\052\206\110\206\367\015
-\001\011\001\026\020\151\156\146\157\100\145\055\163\172\151\147
-\156\157\056\150\165
+\060\201\217\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\020\060\016\006\003\125\004\010\023\007\101\162\151\172\157
+\156\141\061\023\060\021\006\003\125\004\007\023\012\123\143\157
+\164\164\163\144\141\154\145\061\045\060\043\006\003\125\004\012
+\023\034\123\164\141\162\146\151\145\154\144\040\124\145\143\150
+\156\157\154\157\147\151\145\163\054\040\111\156\143\056\061\062
+\060\060\006\003\125\004\003\023\051\123\164\141\162\146\151\145
+\154\144\040\122\157\157\164\040\103\145\162\164\151\146\151\143
+\141\164\145\040\101\165\164\150\157\162\151\164\171\040\055\040
+\107\062
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\011\000\302\176\103\004\116\107\077\031
+\002\001\000
 END
 CKA_VALUE MULTILINE_OCTAL
-\060\202\004\012\060\202\002\362\240\003\002\001\002\002\011\000
-\302\176\103\004\116\107\077\031\060\015\006\011\052\206\110\206
-\367\015\001\001\013\005\000\060\201\202\061\013\060\011\006\003
-\125\004\006\023\002\110\125\061\021\060\017\006\003\125\004\007
-\014\010\102\165\144\141\160\145\163\164\061\026\060\024\006\003
-\125\004\012\014\015\115\151\143\162\157\163\145\143\040\114\164
-\144\056\061\047\060\045\006\003\125\004\003\014\036\115\151\143
-\162\157\163\145\143\040\145\055\123\172\151\147\156\157\040\122
-\157\157\164\040\103\101\040\062\060\060\071\061\037\060\035\006
-\011\052\206\110\206\367\015\001\011\001\026\020\151\156\146\157
-\100\145\055\163\172\151\147\156\157\056\150\165\060\036\027\015
-\060\071\060\066\061\066\061\061\063\060\061\070\132\027\015\062
-\071\061\062\063\060\061\061\063\060\061\070\132\060\201\202\061
-\013\060\011\006\003\125\004\006\023\002\110\125\061\021\060\017
-\006\003\125\004\007\014\010\102\165\144\141\160\145\163\164\061
-\026\060\024\006\003\125\004\012\014\015\115\151\143\162\157\163
-\145\143\040\114\164\144\056\061\047\060\045\006\003\125\004\003
-\014\036\115\151\143\162\157\163\145\143\040\145\055\123\172\151
-\147\156\157\040\122\157\157\164\040\103\101\040\062\060\060\071
-\061\037\060\035\006\011\052\206\110\206\367\015\001\011\001\026
-\020\151\156\146\157\100\145\055\163\172\151\147\156\157\056\150
-\165\060\202\001\042\060\015\006\011\052\206\110\206\367\015\001
-\001\001\005\000\003\202\001\017\000\060\202\001\012\002\202\001
-\001\000\351\370\217\363\143\255\332\206\330\247\340\102\373\317
-\221\336\246\046\370\231\245\143\160\255\233\256\312\063\100\175
-\155\226\156\241\016\104\356\341\023\235\224\102\122\232\275\165
-\205\164\054\250\016\035\223\266\030\267\214\054\250\317\373\134
-\161\271\332\354\376\350\176\217\344\057\035\262\250\165\207\330
-\267\241\345\073\317\231\112\106\320\203\031\175\300\241\022\034
-\225\155\112\364\330\307\245\115\063\056\205\071\100\165\176\024
-\174\200\022\230\120\307\101\147\270\240\200\141\124\246\154\116
-\037\340\235\016\007\351\311\272\063\347\376\300\125\050\054\002
-\200\247\031\365\236\334\125\123\003\227\173\007\110\377\231\373
-\067\212\044\304\131\314\120\020\143\216\252\251\032\260\204\032
-\206\371\137\273\261\120\156\244\321\012\314\325\161\176\037\247
-\033\174\365\123\156\042\137\313\053\346\324\174\135\256\326\302
-\306\114\345\005\001\331\355\127\374\301\043\171\374\372\310\044
-\203\225\363\265\152\121\001\320\167\326\351\022\241\371\032\203
-\373\202\033\271\260\227\364\166\006\063\103\111\240\377\013\265
-\372\265\002\003\001\000\001\243\201\200\060\176\060\017\006\003
-\125\035\023\001\001\377\004\005\060\003\001\001\377\060\016\006
-\003\125\035\017\001\001\377\004\004\003\002\001\006\060\035\006
-\003\125\035\016\004\026\004\024\313\017\306\337\102\103\314\075
-\313\265\110\043\241\032\172\246\052\273\064\150\060\037\006\003
-\125\035\043\004\030\060\026\200\024\313\017\306\337\102\103\314
-\075\313\265\110\043\241\032\172\246\052\273\064\150\060\033\006
-\003\125\035\021\004\024\060\022\201\020\151\156\146\157\100\145
-\055\163\172\151\147\156\157\056\150\165\060\015\006\011\052\206
-\110\206\367\015\001\001\013\005\000\003\202\001\001\000\311\321
-\016\136\056\325\314\263\174\076\313\374\075\377\015\050\225\223
-\004\310\277\332\315\171\270\103\220\360\244\276\357\362\357\041
-\230\274\324\324\135\006\366\356\102\354\060\154\240\252\251\312
-\361\257\212\372\077\013\163\152\076\352\056\100\176\037\256\124
-\141\171\353\056\010\067\327\043\363\214\237\276\035\261\341\244
-\165\333\240\342\124\024\261\272\034\051\244\030\366\022\272\242
-\024\024\343\061\065\310\100\377\267\340\005\166\127\301\034\131
-\362\370\277\344\355\045\142\134\204\360\176\176\037\263\276\371
-\267\041\021\314\003\001\126\160\247\020\222\036\033\064\201\036
-\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@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@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
-# Fingerprint (SHA1): 89:DF:74:FE:5C:F4:0F:4A:80:F9:E3:37:7D:54:DA:91:E1:01:31:8E
-CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
-CKA_TOKEN CK_BBOOL CK_TRUE
-CKA_PRIVATE CK_BBOOL CK_FALSE
-CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "Microsec e-Szigno Root CA 2009"
-CKA_CERT_SHA1_HASH MULTILINE_OCTAL
-\211\337\164\376\134\364\017\112\200\371\343\067\175\124\332\221
-\341\001\061\216
-END
-CKA_CERT_MD5_HASH MULTILINE_OCTAL
-\370\111\364\003\274\104\055\203\276\110\151\175\051\144\374\261
-END
-CKA_ISSUER MULTILINE_OCTAL
-\060\201\202\061\013\060\011\006\003\125\004\006\023\002\110\125
-\061\021\060\017\006\003\125\004\007\014\010\102\165\144\141\160
-\145\163\164\061\026\060\024\006\003\125\004\012\014\015\115\151
-\143\162\157\163\145\143\040\114\164\144\056\061\047\060\045\006
-\003\125\004\003\014\036\115\151\143\162\157\163\145\143\040\145
-\055\123\172\151\147\156\157\040\122\157\157\164\040\103\101\040
-\062\060\060\071\061\037\060\035\006\011\052\206\110\206\367\015
-\001\011\001\026\020\151\156\146\157\100\145\055\163\172\151\147
-\156\157\056\150\165
-END
-CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\011\000\302\176\103\004\116\107\077\031
-END
-CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
-CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
-CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
-CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
-
-#
-# 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
-# Fingerprint (SHA1): D6:9B:56:11:48:F0:1C:77:C5:45:78:C1:09:26:DF:5B:85:69:76:AD
-CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
-CKA_TOKEN CK_BBOOL CK_TRUE
-CKA_PRIVATE CK_BBOOL CK_FALSE
-CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "GlobalSign Root CA - R3"
-CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
-CKA_SUBJECT MULTILINE_OCTAL
-\060\114\061\040\060\036\006\003\125\004\013\023\027\107\154\157
-\142\141\154\123\151\147\156\040\122\157\157\164\040\103\101\040
-\055\040\122\063\061\023\060\021\006\003\125\004\012\023\012\107
-\154\157\142\141\154\123\151\147\156\061\023\060\021\006\003\125
-\004\003\023\012\107\154\157\142\141\154\123\151\147\156
-END
-CKA_ID UTF8 "0"
-CKA_ISSUER MULTILINE_OCTAL
-\060\114\061\040\060\036\006\003\125\004\013\023\027\107\154\157
-\142\141\154\123\151\147\156\040\122\157\157\164\040\103\101\040
-\055\040\122\063\061\023\060\021\006\003\125\004\012\023\012\107
-\154\157\142\141\154\123\151\147\156\061\023\060\021\006\003\125
-\004\003\023\012\107\154\157\142\141\154\123\151\147\156
-END
-CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\013\004\000\000\000\000\001\041\130\123\010\242
-END
-CKA_VALUE MULTILINE_OCTAL
-\060\202\003\137\060\202\002\107\240\003\002\001\002\002\013\004
-\000\000\000\000\001\041\130\123\010\242\060\015\006\011\052\206
-\110\206\367\015\001\001\013\005\000\060\114\061\040\060\036\006
-\003\125\004\013\023\027\107\154\157\142\141\154\123\151\147\156
-\040\122\157\157\164\040\103\101\040\055\040\122\063\061\023\060
-\021\006\003\125\004\012\023\012\107\154\157\142\141\154\123\151
-\147\156\061\023\060\021\006\003\125\004\003\023\012\107\154\157
-\142\141\154\123\151\147\156\060\036\027\015\060\071\060\063\061
-\070\061\060\060\060\060\060\132\027\015\062\071\060\063\061\070
-\061\060\060\060\060\060\132\060\114\061\040\060\036\006\003\125
-\004\013\023\027\107\154\157\142\141\154\123\151\147\156\040\122
-\157\157\164\040\103\101\040\055\040\122\063\061\023\060\021\006
-\003\125\004\012\023\012\107\154\157\142\141\154\123\151\147\156
-\061\023\060\021\006\003\125\004\003\023\012\107\154\157\142\141
-\154\123\151\147\156\060\202\001\042\060\015\006\011\052\206\110
-\206\367\015\001\001\001\005\000\003\202\001\017\000\060\202\001
-\012\002\202\001\001\000\314\045\166\220\171\006\170\042\026\365
-\300\203\266\204\312\050\236\375\005\166\021\305\255\210\162\374
-\106\002\103\307\262\212\235\004\137\044\313\056\113\341\140\202
-\106\341\122\253\014\201\107\160\154\335\144\321\353\365\054\243
-\017\202\075\014\053\256\227\327\266\024\206\020\171\273\073\023
-\200\167\214\010\341\111\322\152\142\057\037\136\372\226\150\337
-\211\047\225\070\237\006\327\076\311\313\046\131\015\163\336\260
-\310\351\046\016\203\025\306\357\133\213\322\004\140\312\111\246
-\050\366\151\073\366\313\310\050\221\345\235\212\141\127\067\254
-\164\024\334\164\340\072\356\162\057\056\234\373\320\273\277\365
-\075\000\341\006\063\350\202\053\256\123\246\072\026\163\214\335
-\101\016\040\072\300\264\247\241\351\262\117\220\056\062\140\351
-\127\313\271\004\222\150\150\345\070\046\140\165\262\237\167\377
-\221\024\357\256\040\111\374\255\100\025\110\321\002\061\141\031
-\136\270\227\357\255\167\267\144\232\172\277\137\301\023\357\233
-\142\373\015\154\340\124\151\026\251\003\332\156\351\203\223\161
-\166\306\151\205\202\027\002\003\001\000\001\243\102\060\100\060
-\016\006\003\125\035\017\001\001\377\004\004\003\002\001\006\060
-\017\006\003\125\035\023\001\001\377\004\005\060\003\001\001\377
-\060\035\006\003\125\035\016\004\026\004\024\217\360\113\177\250
-\056\105\044\256\115\120\372\143\232\213\336\342\335\033\274\060
-\015\006\011\052\206\110\206\367\015\001\001\013\005\000\003\202
-\001\001\000\113\100\333\300\120\252\376\310\014\357\367\226\124
-\105\111\273\226\000\011\101\254\263\023\206\206\050\007\063\312
-\153\346\164\271\272\000\055\256\244\012\323\365\361\361\017\212
-\277\163\147\112\203\307\104\173\170\340\257\156\154\157\003\051
-\216\063\071\105\303\216\344\271\127\154\252\374\022\226\354\123
-\306\055\344\044\154\271\224\143\373\334\123\150\147\126\076\203
-\270\317\065\041\303\311\150\376\316\332\302\123\252\314\220\212
-\351\360\135\106\214\225\335\172\130\050\032\057\035\336\315\000
-\067\101\217\355\104\155\327\123\050\227\176\363\147\004\036\025
-\327\212\226\264\323\336\114\047\244\114\033\163\163\166\364\027
-\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
+\060\202\003\335\060\202\002\305\240\003\002\001\002\002\001\000
+\060\015\006\011\052\206\110\206\367\015\001\001\013\005\000\060
+\201\217\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\020\060\016\006\003\125\004\010\023\007\101\162\151\172\157\156
+\141\061\023\060\021\006\003\125\004\007\023\012\123\143\157\164
+\164\163\144\141\154\145\061\045\060\043\006\003\125\004\012\023
+\034\123\164\141\162\146\151\145\154\144\040\124\145\143\150\156
+\157\154\157\147\151\145\163\054\040\111\156\143\056\061\062\060
+\060\006\003\125\004\003\023\051\123\164\141\162\146\151\145\154
+\144\040\122\157\157\164\040\103\145\162\164\151\146\151\143\141
+\164\145\040\101\165\164\150\157\162\151\164\171\040\055\040\107
+\062\060\036\027\015\060\071\060\071\060\061\060\060\060\060\060
+\060\132\027\015\063\067\061\062\063\061\062\063\065\071\065\071
+\132\060\201\217\061\013\060\011\006\003\125\004\006\023\002\125
+\123\061\020\060\016\006\003\125\004\010\023\007\101\162\151\172
+\157\156\141\061\023\060\021\006\003\125\004\007\023\012\123\143
+\157\164\164\163\144\141\154\145\061\045\060\043\006\003\125\004
+\012\023\034\123\164\141\162\146\151\145\154\144\040\124\145\143
+\150\156\157\154\157\147\151\145\163\054\040\111\156\143\056\061
+\062\060\060\006\003\125\004\003\023\051\123\164\141\162\146\151
+\145\154\144\040\122\157\157\164\040\103\145\162\164\151\146\151
+\143\141\164\145\040\101\165\164\150\157\162\151\164\171\040\055
+\040\107\062\060\202\001\042\060\015\006\011\052\206\110\206\367
+\015\001\001\001\005\000\003\202\001\017\000\060\202\001\012\002
+\202\001\001\000\275\355\301\003\374\366\217\374\002\261\157\133
+\237\110\331\235\171\342\242\267\003\141\126\030\303\107\266\327
+\312\075\065\056\211\103\367\241\151\233\336\212\032\375\023\040
+\234\264\111\167\062\051\126\375\271\354\214\335\042\372\162\334
+\047\141\227\356\366\132\204\354\156\031\271\211\054\334\204\133
+\325\164\373\153\137\305\211\245\020\122\211\106\125\364\270\165
+\034\346\177\344\124\256\113\370\125\162\127\002\031\370\027\161
+\131\353\036\050\007\164\305\235\110\276\154\264\364\244\260\363
+\144\067\171\222\300\354\106\136\177\341\155\123\114\142\257\315
+\037\013\143\273\072\235\373\374\171\000\230\141\164\317\046\202
+\100\143\363\262\162\152\031\015\231\312\324\016\165\314\067\373
+\213\211\301\131\361\142\177\137\263\137\145\060\370\247\267\115
+\166\132\036\166\136\064\300\350\226\126\231\212\263\360\177\244
+\315\275\334\062\061\174\221\317\340\137\021\370\153\252\111\134
+\321\231\224\321\242\343\143\133\011\166\265\126\142\341\113\164
+\035\226\324\046\324\010\004\131\320\230\016\016\346\336\374\303
+\354\037\220\361\002\003\001\000\001\243\102\060\100\060\017\006
+\003\125\035\023\001\001\377\004\005\060\003\001\001\377\060\016
+\006\003\125\035\017\001\001\377\004\004\003\002\001\006\060\035
+\006\003\125\035\016\004\026\004\024\174\014\062\037\247\331\060
+\177\304\175\150\243\142\250\241\316\253\007\133\047\060\015\006
+\011\052\206\110\206\367\015\001\001\013\005\000\003\202\001\001
+\000\021\131\372\045\117\003\157\224\231\073\232\037\202\205\071
+\324\166\005\224\136\341\050\223\155\142\135\011\302\240\250\324
+\260\165\070\361\064\152\235\344\237\212\206\046\121\346\054\321
+\306\055\156\225\040\112\222\001\354\270\212\147\173\061\342\147
+\056\214\225\003\046\056\103\235\112\061\366\016\265\014\273\267
+\342\067\177\042\272\000\243\016\173\122\373\153\273\073\304\323
+\171\121\116\315\220\364\147\007\031\310\074\106\172\015\001\175
+\305\130\347\155\346\205\060\027\232\044\304\020\340\004\367\340
+\362\177\324\252\012\377\102\035\067\355\224\345\144\131\022\040
+\167\070\323\062\076\070\201\165\226\163\372\150\217\261\313\316
+\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
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
 
-# 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
-# Fingerprint (SHA1): D6:9B:56:11:48:F0:1C:77:C5:45:78:C1:09:26:DF:5B:85:69:76:AD
+# Trust for "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 (SHA-256): 2C:E1:CB:0B:F9:D2:F9:E1:02:99:3F:BE:21:51:52:C3:B2:DD:0C:AB:DE:1C:68:E5:31:9B:83:91:54:DB:B7:F5
+# Fingerprint (SHA1): B5:1C:06:7C:EE:2B:0C:3D:F8:55:AB:2D:92:F4:FE:39:D4:E7:0F:0E
 CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "GlobalSign Root CA - R3"
+CKA_LABEL UTF8 "Starfield Root Certificate Authority - G2"
 CKA_CERT_SHA1_HASH MULTILINE_OCTAL
-\326\233\126\021\110\360\034\167\305\105\170\301\011\046\337\133
-\205\151\166\255
+\265\034\006\174\356\053\014\075\370\125\253\055\222\364\376\071
+\324\347\017\016
 END
 CKA_CERT_MD5_HASH MULTILINE_OCTAL
-\305\337\270\111\312\005\023\125\356\055\272\032\303\076\260\050
+\326\071\201\306\122\176\226\151\374\374\312\146\355\005\362\226
 END
 CKA_ISSUER MULTILINE_OCTAL
-\060\114\061\040\060\036\006\003\125\004\013\023\027\107\154\157
-\142\141\154\123\151\147\156\040\122\157\157\164\040\103\101\040
-\055\040\122\063\061\023\060\021\006\003\125\004\012\023\012\107
-\154\157\142\141\154\123\151\147\156\061\023\060\021\006\003\125
-\004\003\023\012\107\154\157\142\141\154\123\151\147\156
+\060\201\217\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\020\060\016\006\003\125\004\010\023\007\101\162\151\172\157
+\156\141\061\023\060\021\006\003\125\004\007\023\012\123\143\157
+\164\164\163\144\141\154\145\061\045\060\043\006\003\125\004\012
+\023\034\123\164\141\162\146\151\145\154\144\040\124\145\143\150
+\156\157\154\157\147\151\145\163\054\040\111\156\143\056\061\062
+\060\060\006\003\125\004\003\023\051\123\164\141\162\146\151\145
+\154\144\040\122\157\157\164\040\103\145\162\164\151\146\151\143
+\141\164\145\040\101\165\164\150\157\162\151\164\171\040\055\040
+\107\062
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\013\004\000\000\000\000\001\041\130\123\010\242
+\002\001\000
 END
 CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
-CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
 CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
 CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
 
 #
-# Certificate "Autoridad de Certificacion Firmaprofesional CIF A62634068"
+# Certificate "Starfield Services Root Certificate Authority - G2"
 #
-# 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
-# Fingerprint (SHA1): AE:C5:FB:3F:C8:E1:BF:C4:E5:4F:03:07:5A:9A:E8:00:B7:F7:B6:FA
+# 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 (SHA-256): 56:8D:69:05:A2:C8:87:08:A4:B3:02:51:90:ED:CF:ED:B1:97:4A:60:6A:13:C6:E5:29:0F:CB:2A:E6:3E:DA:B5
+# Fingerprint (SHA1): 92:5A:8F:8D:2C:6D:04:E0:66:5F:59:6A:FF:22:D8:63:E8:25:6F:3F
 CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "Autoridad de Certificacion Firmaprofesional CIF A62634068"
+CKA_LABEL UTF8 "Starfield Services Root Certificate Authority - G2"
 CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
 CKA_SUBJECT MULTILINE_OCTAL
-\060\121\061\013\060\011\006\003\125\004\006\023\002\105\123\061
-\102\060\100\006\003\125\004\003\014\071\101\165\164\157\162\151
-\144\141\144\040\144\145\040\103\145\162\164\151\146\151\143\141
-\143\151\157\156\040\106\151\162\155\141\160\162\157\146\145\163
-\151\157\156\141\154\040\103\111\106\040\101\066\062\066\063\064
-\060\066\070
+\060\201\230\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\020\060\016\006\003\125\004\010\023\007\101\162\151\172\157
+\156\141\061\023\060\021\006\003\125\004\007\023\012\123\143\157
+\164\164\163\144\141\154\145\061\045\060\043\006\003\125\004\012
+\023\034\123\164\141\162\146\151\145\154\144\040\124\145\143\150
+\156\157\154\157\147\151\145\163\054\040\111\156\143\056\061\073
+\060\071\006\003\125\004\003\023\062\123\164\141\162\146\151\145
+\154\144\040\123\145\162\166\151\143\145\163\040\122\157\157\164
+\040\103\145\162\164\151\146\151\143\141\164\145\040\101\165\164
+\150\157\162\151\164\171\040\055\040\107\062
 END
 CKA_ID UTF8 "0"
 CKA_ISSUER MULTILINE_OCTAL
-\060\121\061\013\060\011\006\003\125\004\006\023\002\105\123\061
-\102\060\100\006\003\125\004\003\014\071\101\165\164\157\162\151
-\144\141\144\040\144\145\040\103\145\162\164\151\146\151\143\141
-\143\151\157\156\040\106\151\162\155\141\160\162\157\146\145\163
-\151\157\156\141\154\040\103\111\106\040\101\066\062\066\063\064
-\060\066\070
+\060\201\230\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\020\060\016\006\003\125\004\010\023\007\101\162\151\172\157
+\156\141\061\023\060\021\006\003\125\004\007\023\012\123\143\157
+\164\164\163\144\141\154\145\061\045\060\043\006\003\125\004\012
+\023\034\123\164\141\162\146\151\145\154\144\040\124\145\143\150
+\156\157\154\157\147\151\145\163\054\040\111\156\143\056\061\073
+\060\071\006\003\125\004\003\023\062\123\164\141\162\146\151\145
+\154\144\040\123\145\162\166\151\143\145\163\040\122\157\157\164
+\040\103\145\162\164\151\146\151\143\141\164\145\040\101\165\164
+\150\157\162\151\164\171\040\055\040\107\062
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\010\123\354\073\356\373\262\110\137
+\002\001\000
 END
 CKA_VALUE MULTILINE_OCTAL
-\060\202\006\024\060\202\003\374\240\003\002\001\002\002\010\123
-\354\073\356\373\262\110\137\060\015\006\011\052\206\110\206\367
-\015\001\001\005\005\000\060\121\061\013\060\011\006\003\125\004
-\006\023\002\105\123\061\102\060\100\006\003\125\004\003\014\071
-\101\165\164\157\162\151\144\141\144\040\144\145\040\103\145\162
-\164\151\146\151\143\141\143\151\157\156\040\106\151\162\155\141
-\160\162\157\146\145\163\151\157\156\141\154\040\103\111\106\040
-\101\066\062\066\063\064\060\066\070\060\036\027\015\060\071\060
-\065\062\060\060\070\063\070\061\065\132\027\015\063\060\061\062
-\063\061\060\070\063\070\061\065\132\060\121\061\013\060\011\006
-\003\125\004\006\023\002\105\123\061\102\060\100\006\003\125\004
-\003\014\071\101\165\164\157\162\151\144\141\144\040\144\145\040
-\103\145\162\164\151\146\151\143\141\143\151\157\156\040\106\151
-\162\155\141\160\162\157\146\145\163\151\157\156\141\154\040\103
-\111\106\040\101\066\062\066\063\064\060\066\070\060\202\002\042
-\060\015\006\011\052\206\110\206\367\015\001\001\001\005\000\003
-\202\002\017\000\060\202\002\012\002\202\002\001\000\312\226\153
-\216\352\370\373\361\242\065\340\177\114\332\340\303\122\327\175
-\266\020\310\002\136\263\103\052\304\117\152\262\312\034\135\050
-\232\170\021\032\151\131\127\257\265\040\102\344\213\017\346\337
-\133\246\003\222\057\365\021\344\142\327\062\161\070\331\004\014
-\161\253\075\121\176\017\007\337\143\005\134\351\277\224\157\301
-\051\202\300\264\332\121\260\301\074\273\255\067\112\134\312\361
-\113\066\016\044\253\277\303\204\167\375\250\120\364\261\347\306
-\057\322\055\131\215\172\012\116\226\151\122\002\252\066\230\354
-\374\372\024\203\014\067\037\311\222\067\177\327\201\055\345\304
-\271\340\076\064\376\147\364\076\146\321\323\364\100\317\136\142
-\064\017\160\006\076\040\030\132\316\367\162\033\045\154\223\164
-\024\223\243\163\261\016\252\207\020\043\131\137\040\005\031\107
-\355\150\216\222\022\312\135\374\326\053\262\222\074\040\317\341
-\137\257\040\276\240\166\177\166\345\354\032\206\141\063\076\347
-\173\264\077\240\017\216\242\271\152\157\271\207\046\157\101\154
-\210\246\120\375\152\143\013\365\223\026\033\031\217\262\355\233
-\233\311\220\365\001\014\337\031\075\017\076\070\043\311\057\217
-\014\321\002\376\033\125\326\116\320\215\074\257\117\244\363\376
-\257\052\323\005\235\171\010\241\313\127\061\264\234\310\220\262
-\147\364\030\026\223\072\374\107\330\321\170\226\061\037\272\053
-\014\137\135\231\255\143\211\132\044\040\166\330\337\375\253\116
-\246\042\252\235\136\346\047\212\175\150\051\243\347\212\270\332
-\021\273\027\055\231\235\023\044\106\367\305\342\330\237\216\177
-\307\217\164\155\132\262\350\162\365\254\356\044\020\255\057\024
-\332\377\055\232\106\161\107\276\102\337\273\001\333\364\177\323
-\050\217\061\131\133\323\311\002\246\264\122\312\156\227\373\103
-\305\010\046\157\212\364\273\375\237\050\252\015\325\105\363\023
-\072\035\330\300\170\217\101\147\074\036\224\144\256\173\013\305
-\350\331\001\210\071\032\227\206\144\101\325\073\207\014\156\372
-\017\306\275\110\024\277\071\115\324\236\101\266\217\226\035\143
-\226\223\331\225\006\170\061\150\236\067\006\073\200\211\105\141
-\071\043\307\033\104\243\025\345\034\370\222\060\273\002\003\001
-\000\001\243\201\357\060\201\354\060\022\006\003\125\035\023\001
-\001\377\004\010\060\006\001\001\377\002\001\001\060\016\006\003
-\125\035\017\001\001\377\004\004\003\002\001\006\060\035\006\003
-\125\035\016\004\026\004\024\145\315\353\253\065\036\000\076\176
-\325\164\300\034\264\163\107\016\032\144\057\060\201\246\006\003
-\125\035\040\004\201\236\060\201\233\060\201\230\006\004\125\035
-\040\000\060\201\217\060\057\006\010\053\006\001\005\005\007\002
-\001\026\043\150\164\164\160\072\057\057\167\167\167\056\146\151
-\162\155\141\160\162\157\146\145\163\151\157\156\141\154\056\143
-\157\155\057\143\160\163\060\134\006\010\053\006\001\005\005\007
-\002\002\060\120\036\116\000\120\000\141\000\163\000\145\000\157
-\000\040\000\144\000\145\000\040\000\154\000\141\000\040\000\102
-\000\157\000\156\000\141\000\156\000\157\000\166\000\141\000\040
-\000\064\000\067\000\040\000\102\000\141\000\162\000\143\000\145
-\000\154\000\157\000\156\000\141\000\040\000\060\000\070\000\060
-\000\061\000\067\060\015\006\011\052\206\110\206\367\015\001\001
-\005\005\000\003\202\002\001\000\027\175\240\371\264\335\305\305
-\353\255\113\044\265\241\002\253\335\245\210\112\262\017\125\113
-\053\127\214\073\345\061\335\376\304\062\361\347\133\144\226\066
-\062\030\354\245\062\167\327\343\104\266\300\021\052\200\271\075
-\152\156\174\233\323\255\374\303\326\243\346\144\051\174\321\341
-\070\036\202\053\377\047\145\257\373\026\025\304\056\161\204\345
-\265\377\372\244\107\275\144\062\273\366\045\204\242\047\102\365
-\040\260\302\023\020\021\315\020\025\272\102\220\052\322\104\341
-\226\046\353\061\110\022\375\052\332\311\006\317\164\036\251\113
-\325\207\050\371\171\064\222\076\056\104\350\366\217\117\217\065
-\077\045\263\071\334\143\052\220\153\040\137\304\122\022\116\227
-\054\052\254\235\227\336\110\362\243\146\333\302\322\203\225\246
-\146\247\236\045\017\351\013\063\221\145\012\132\303\331\124\022
-\335\257\303\116\016\037\046\136\015\334\263\215\354\325\201\160
-\336\322\117\044\005\363\154\116\365\114\111\146\215\321\377\322
-\013\045\101\110\376\121\204\306\102\257\200\004\317\320\176\144
-\111\344\362\337\242\354\261\114\300\052\035\347\264\261\145\242
-\304\274\361\230\364\252\160\007\143\264\270\332\073\114\372\100
-\042\060\133\021\246\360\005\016\306\002\003\110\253\206\233\205
-\335\333\335\352\242\166\200\163\175\365\234\004\304\105\215\347
-\271\034\213\236\352\327\165\321\162\261\336\165\104\347\102\175
-\342\127\153\175\334\231\274\075\203\050\352\200\223\215\305\114
-\145\301\160\201\270\070\374\103\061\262\366\003\064\107\262\254
-\373\042\006\313\036\335\027\107\034\137\146\271\323\032\242\332
-\021\261\244\274\043\311\344\276\207\377\271\224\266\370\135\040
-\112\324\137\347\275\150\173\145\362\025\036\322\072\251\055\351
-\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
+\060\202\003\357\060\202\002\327\240\003\002\001\002\002\001\000
+\060\015\006\011\052\206\110\206\367\015\001\001\013\005\000\060
+\201\230\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\020\060\016\006\003\125\004\010\023\007\101\162\151\172\157\156
+\141\061\023\060\021\006\003\125\004\007\023\012\123\143\157\164
+\164\163\144\141\154\145\061\045\060\043\006\003\125\004\012\023
+\034\123\164\141\162\146\151\145\154\144\040\124\145\143\150\156
+\157\154\157\147\151\145\163\054\040\111\156\143\056\061\073\060
+\071\006\003\125\004\003\023\062\123\164\141\162\146\151\145\154
+\144\040\123\145\162\166\151\143\145\163\040\122\157\157\164\040
+\103\145\162\164\151\146\151\143\141\164\145\040\101\165\164\150
+\157\162\151\164\171\040\055\040\107\062\060\036\027\015\060\071
+\060\071\060\061\060\060\060\060\060\060\132\027\015\063\067\061
+\062\063\061\062\063\065\071\065\071\132\060\201\230\061\013\060
+\011\006\003\125\004\006\023\002\125\123\061\020\060\016\006\003
+\125\004\010\023\007\101\162\151\172\157\156\141\061\023\060\021
+\006\003\125\004\007\023\012\123\143\157\164\164\163\144\141\154
+\145\061\045\060\043\006\003\125\004\012\023\034\123\164\141\162
+\146\151\145\154\144\040\124\145\143\150\156\157\154\157\147\151
+\145\163\054\040\111\156\143\056\061\073\060\071\006\003\125\004
+\003\023\062\123\164\141\162\146\151\145\154\144\040\123\145\162
+\166\151\143\145\163\040\122\157\157\164\040\103\145\162\164\151
+\146\151\143\141\164\145\040\101\165\164\150\157\162\151\164\171
+\040\055\040\107\062\060\202\001\042\060\015\006\011\052\206\110
+\206\367\015\001\001\001\005\000\003\202\001\017\000\060\202\001
+\012\002\202\001\001\000\325\014\072\304\052\371\116\342\365\276
+\031\227\137\216\210\123\261\037\077\313\317\237\040\023\155\051
+\072\310\017\175\074\367\153\166\070\143\331\066\140\250\233\136
+\134\000\200\262\057\131\177\366\207\371\045\103\206\347\151\033
+\122\232\220\341\161\343\330\055\015\116\157\366\310\111\331\266
+\363\032\126\256\053\266\164\024\353\317\373\046\343\032\272\035
+\226\056\152\073\130\224\211\107\126\377\045\240\223\160\123\203
+\332\204\164\024\303\147\236\004\150\072\337\216\100\132\035\112
+\116\317\103\221\073\347\126\326\000\160\313\122\356\173\175\256
+\072\347\274\061\371\105\366\302\140\317\023\131\002\053\200\314
+\064\107\337\271\336\220\145\155\002\317\054\221\246\246\347\336
+\205\030\111\174\146\116\243\072\155\251\265\356\064\056\272\015
+\003\270\063\337\107\353\261\153\215\045\331\233\316\201\321\105
+\106\062\226\160\207\336\002\016\111\103\205\266\154\163\273\144
+\352\141\101\254\311\324\124\337\207\057\307\042\262\046\314\237
+\131\124\150\237\374\276\052\057\304\125\034\165\100\140\027\205
+\002\125\071\213\177\005\002\003\001\000\001\243\102\060\100\060
+\017\006\003\125\035\023\001\001\377\004\005\060\003\001\001\377
+\060\016\006\003\125\035\017\001\001\377\004\004\003\002\001\006
+\060\035\006\003\125\035\016\004\026\004\024\234\137\000\337\252
+\001\327\060\053\070\210\242\270\155\112\234\362\021\221\203\060
+\015\006\011\052\206\110\206\367\015\001\001\013\005\000\003\202
+\001\001\000\113\066\246\204\167\151\335\073\031\237\147\043\010
+\157\016\141\311\375\204\334\137\330\066\201\315\330\033\101\055
+\237\140\335\307\032\150\331\321\156\206\341\210\043\317\023\336
+\103\317\342\064\263\004\235\037\051\325\277\370\136\310\325\301
+\275\356\222\157\062\164\362\221\202\057\275\202\102\172\255\052
+\267\040\175\115\274\172\125\022\302\025\352\275\367\152\225\056
+\154\164\237\317\034\264\362\305\001\243\205\320\162\076\255\163
+\253\013\233\165\014\155\105\267\216\224\254\226\067\265\240\320
+\217\025\107\016\343\350\203\335\217\375\357\101\001\167\314\047
+\251\142\205\063\362\067\010\357\161\317\167\006\336\310\031\035
+\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
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
 
-# 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
-# Fingerprint (SHA1): AE:C5:FB:3F:C8:E1:BF:C4:E5:4F:03:07:5A:9A:E8:00:B7:F7:B6:FA
+# Trust for "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 (SHA-256): 56:8D:69:05:A2:C8:87:08:A4:B3:02:51:90:ED:CF:ED:B1:97:4A:60:6A:13:C6:E5:29:0F:CB:2A:E6:3E:DA:B5
+# Fingerprint (SHA1): 92:5A:8F:8D:2C:6D:04:E0:66:5F:59:6A:FF:22:D8:63:E8:25:6F:3F
 CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "Autoridad de Certificacion Firmaprofesional CIF A62634068"
+CKA_LABEL UTF8 "Starfield Services Root Certificate Authority - G2"
 CKA_CERT_SHA1_HASH MULTILINE_OCTAL
-\256\305\373\077\310\341\277\304\345\117\003\007\132\232\350\000
-\267\367\266\372
+\222\132\217\215\054\155\004\340\146\137\131\152\377\042\330\143
+\350\045\157\077
 END
 CKA_CERT_MD5_HASH MULTILINE_OCTAL
-\163\072\164\172\354\273\243\226\246\302\344\342\310\233\300\303
+\027\065\164\257\173\141\034\353\364\371\074\342\356\100\371\242
 END
 CKA_ISSUER MULTILINE_OCTAL
-\060\121\061\013\060\011\006\003\125\004\006\023\002\105\123\061
-\102\060\100\006\003\125\004\003\014\071\101\165\164\157\162\151
-\144\141\144\040\144\145\040\103\145\162\164\151\146\151\143\141
-\143\151\157\156\040\106\151\162\155\141\160\162\157\146\145\163
-\151\157\156\141\154\040\103\111\106\040\101\066\062\066\063\064
-\060\066\070
+\060\201\230\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\020\060\016\006\003\125\004\010\023\007\101\162\151\172\157
+\156\141\061\023\060\021\006\003\125\004\007\023\012\123\143\157
+\164\164\163\144\141\154\145\061\045\060\043\006\003\125\004\012
+\023\034\123\164\141\162\146\151\145\154\144\040\124\145\143\150
+\156\157\154\157\147\151\145\163\054\040\111\156\143\056\061\073
+\060\071\006\003\125\004\003\023\062\123\164\141\162\146\151\145
+\154\144\040\123\145\162\166\151\143\145\163\040\122\157\157\164
+\040\103\145\162\164\151\146\151\143\141\164\145\040\101\165\164
+\150\157\162\151\164\171\040\055\040\107\062
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\010\123\354\073\356\373\262\110\137
+\002\001\000
 END
 CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
-CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
 CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
 CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
 
 #
-# Certificate "Izenpe.com"
+# Certificate "AffirmTrust Commercial"
 #
-# 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
-# Fingerprint (SHA1): 2F:78:3D:25:52:18:A7:4A:65:39:71:B5:2C:A2:9C:45:15:6F:E9:19
+# 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 (SHA-256): 03:76:AB:1D:54:C5:F9:80:3C:E4:B2:E2:01:A0:EE:7E:EF:7B:57:B6:36:E8:A9:3C:9B:8D:48:60:C9:6F:5F:A7
+# Fingerprint (SHA1): F9:B5:B6:32:45:5F:9C:BE:EC:57:5F:80:DC:E9:6E:2C:C7:B2:78:B7
 CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "Izenpe.com"
+CKA_LABEL UTF8 "AffirmTrust Commercial"
 CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
 CKA_SUBJECT MULTILINE_OCTAL
-\060\070\061\013\060\011\006\003\125\004\006\023\002\105\123\061
-\024\060\022\006\003\125\004\012\014\013\111\132\105\116\120\105
-\040\123\056\101\056\061\023\060\021\006\003\125\004\003\014\012
-\111\172\145\156\160\145\056\143\157\155
+\060\104\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\024\060\022\006\003\125\004\012\014\013\101\146\146\151\162\155
+\124\162\165\163\164\061\037\060\035\006\003\125\004\003\014\026
+\101\146\146\151\162\155\124\162\165\163\164\040\103\157\155\155
+\145\162\143\151\141\154
 END
 CKA_ID UTF8 "0"
 CKA_ISSUER MULTILINE_OCTAL
-\060\070\061\013\060\011\006\003\125\004\006\023\002\105\123\061
-\024\060\022\006\003\125\004\012\014\013\111\132\105\116\120\105
-\040\123\056\101\056\061\023\060\021\006\003\125\004\003\014\012
-\111\172\145\156\160\145\056\143\157\155
+\060\104\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\024\060\022\006\003\125\004\012\014\013\101\146\146\151\162\155
+\124\162\165\163\164\061\037\060\035\006\003\125\004\003\014\026
+\101\146\146\151\162\155\124\162\165\163\164\040\103\157\155\155
+\145\162\143\151\141\154
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\020\000\260\267\132\026\110\137\277\341\313\365\213\327\031
-\346\175
+\002\010\167\167\006\047\046\251\261\174
 END
 CKA_VALUE MULTILINE_OCTAL
-\060\202\005\361\060\202\003\331\240\003\002\001\002\002\020\000
-\260\267\132\026\110\137\277\341\313\365\213\327\031\346\175\060
-\015\006\011\052\206\110\206\367\015\001\001\013\005\000\060\070
-\061\013\060\011\006\003\125\004\006\023\002\105\123\061\024\060
-\022\006\003\125\004\012\014\013\111\132\105\116\120\105\040\123
-\056\101\056\061\023\060\021\006\003\125\004\003\014\012\111\172
-\145\156\160\145\056\143\157\155\060\036\027\015\060\067\061\062
-\061\063\061\063\060\070\062\070\132\027\015\063\067\061\062\061
-\063\060\070\062\067\062\065\132\060\070\061\013\060\011\006\003
-\125\004\006\023\002\105\123\061\024\060\022\006\003\125\004\012
-\014\013\111\132\105\116\120\105\040\123\056\101\056\061\023\060
-\021\006\003\125\004\003\014\012\111\172\145\156\160\145\056\143
-\157\155\060\202\002\042\060\015\006\011\052\206\110\206\367\015
-\001\001\001\005\000\003\202\002\017\000\060\202\002\012\002\202
-\002\001\000\311\323\172\312\017\036\254\247\206\350\026\145\152
-\261\302\033\105\062\161\225\331\376\020\133\314\257\347\245\171
-\001\217\211\303\312\362\125\161\367\167\276\167\224\363\162\244
-\054\104\330\236\222\233\024\072\241\347\044\220\012\012\126\216
-\305\330\046\224\341\331\110\341\055\076\332\012\162\335\243\231
-\025\332\201\242\207\364\173\156\046\167\211\130\255\326\353\014
-\262\101\172\163\156\155\333\172\170\101\351\010\210\022\176\207
-\056\146\021\143\154\124\373\074\235\162\300\274\056\377\302\267
-\335\015\166\343\072\327\367\264\150\276\242\365\343\201\156\301
-\106\157\135\215\340\115\306\124\125\211\032\063\061\012\261\127
-\271\243\212\230\303\354\073\064\305\225\101\151\176\165\302\074
-\040\305\141\272\121\107\240\040\220\223\241\220\113\363\116\174
-\205\105\124\232\321\005\046\101\260\265\115\035\063\276\304\003
-\310\045\174\301\160\333\073\364\011\055\124\047\110\254\057\341
-\304\254\076\310\313\222\114\123\071\067\043\354\323\001\371\340
-\011\104\115\115\144\300\341\015\132\207\042\274\255\033\243\376
-\046\265\025\363\247\374\204\031\351\354\241\210\264\104\151\204
-\203\363\211\321\164\006\251\314\013\326\302\336\047\205\120\046
-\312\027\270\311\172\207\126\054\032\001\036\154\276\023\255\020
-\254\265\044\365\070\221\241\326\113\332\361\273\322\336\107\265
-\361\274\201\366\131\153\317\031\123\351\215\025\313\112\313\251
-\157\104\345\033\101\317\341\206\247\312\320\152\237\274\114\215
-\006\063\132\242\205\345\220\065\240\142\134\026\116\360\343\242
-\372\003\032\264\054\161\263\130\054\336\173\013\333\032\017\353
-\336\041\037\006\167\006\003\260\311\357\231\374\300\271\117\013
-\206\050\376\322\271\352\343\332\245\303\107\151\022\340\333\360
-\366\031\213\355\173\160\327\002\326\355\207\030\050\054\004\044
-\114\167\344\110\212\032\306\073\232\324\017\312\372\165\322\001
-\100\132\215\171\277\213\317\113\317\252\026\301\225\344\255\114
-\212\076\027\221\324\261\142\345\202\345\200\004\244\003\176\215
-\277\332\177\242\017\227\117\014\323\015\373\327\321\345\162\176
-\034\310\167\377\133\232\017\267\256\005\106\345\361\250\026\354
-\107\244\027\002\003\001\000\001\243\201\366\060\201\363\060\201
-\260\006\003\125\035\021\004\201\250\060\201\245\201\017\151\156
-\146\157\100\151\172\145\156\160\145\056\143\157\155\244\201\221
-\060\201\216\061\107\060\105\006\003\125\004\012\014\076\111\132
-\105\116\120\105\040\123\056\101\056\040\055\040\103\111\106\040
-\101\060\061\063\063\067\062\066\060\055\122\115\145\162\143\056
-\126\151\164\157\162\151\141\055\107\141\163\164\145\151\172\040
-\124\061\060\065\065\040\106\066\062\040\123\070\061\103\060\101
-\006\003\125\004\011\014\072\101\166\144\141\040\144\145\154\040
-\115\145\144\151\164\145\162\162\141\156\145\157\040\105\164\157
-\162\142\151\144\145\141\040\061\064\040\055\040\060\061\060\061
-\060\040\126\151\164\157\162\151\141\055\107\141\163\164\145\151
-\172\060\017\006\003\125\035\023\001\001\377\004\005\060\003\001
-\001\377\060\016\006\003\125\035\017\001\001\377\004\004\003\002
-\001\006\060\035\006\003\125\035\016\004\026\004\024\035\034\145
-\016\250\362\045\173\264\221\317\344\261\261\346\275\125\164\154
-\005\060\015\006\011\052\206\110\206\367\015\001\001\013\005\000
-\003\202\002\001\000\170\246\014\026\112\237\114\210\072\300\313
-\016\245\026\175\237\271\110\137\030\217\015\142\066\366\315\031
-\153\254\253\325\366\221\175\256\161\363\077\263\016\170\205\233
-\225\244\047\041\107\102\112\174\110\072\365\105\174\263\014\216
-\121\170\254\225\023\336\306\375\175\270\032\220\114\253\222\003
-\307\355\102\001\316\017\330\261\372\242\222\341\140\155\256\172
-\153\011\252\306\051\356\150\111\147\060\200\044\172\061\026\071
-\133\176\361\034\056\335\154\011\255\362\061\301\202\116\271\273
-\371\276\277\052\205\077\300\100\243\072\131\374\131\113\074\050
-\044\333\264\025\165\256\015\210\272\056\163\300\275\130\207\345
-\102\362\353\136\356\036\060\042\231\313\067\321\304\041\154\201
-\354\276\155\046\346\034\344\102\040\236\107\260\254\203\131\160
-\054\065\326\257\066\064\264\315\073\370\062\250\357\343\170\211
-\373\215\105\054\332\234\270\176\100\034\141\347\076\242\222\054
-\113\362\315\372\230\266\051\377\363\362\173\251\037\056\240\223
-\127\053\336\205\003\371\151\067\313\236\170\152\005\264\305\061
-\170\211\354\172\247\205\341\271\173\074\336\276\036\171\204\316
-\237\160\016\131\302\065\056\220\052\061\331\344\105\172\101\244
-\056\023\233\064\016\146\173\111\253\144\227\320\106\303\171\235
-\162\120\143\246\230\133\006\275\110\155\330\071\203\160\350\065
-\360\005\321\252\274\343\333\310\002\352\174\375\202\332\302\133
-\122\065\256\230\072\255\272\065\223\043\247\037\110\335\065\106
-\230\262\020\150\344\245\061\302\012\130\056\031\201\020\311\120
-\165\374\352\132\026\316\021\327\356\357\120\210\055\141\377\077
-\102\163\005\224\103\325\216\074\116\001\072\031\245\037\106\116
-\167\320\135\345\201\042\041\207\376\224\175\204\330\223\255\326
-\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
+\060\202\003\114\060\202\002\064\240\003\002\001\002\002\010\167
+\167\006\047\046\251\261\174\060\015\006\011\052\206\110\206\367
+\015\001\001\013\005\000\060\104\061\013\060\011\006\003\125\004
+\006\023\002\125\123\061\024\060\022\006\003\125\004\012\014\013
+\101\146\146\151\162\155\124\162\165\163\164\061\037\060\035\006
+\003\125\004\003\014\026\101\146\146\151\162\155\124\162\165\163
+\164\040\103\157\155\155\145\162\143\151\141\154\060\036\027\015
+\061\060\060\061\062\071\061\064\060\066\060\066\132\027\015\063
+\060\061\062\063\061\061\064\060\066\060\066\132\060\104\061\013
+\060\011\006\003\125\004\006\023\002\125\123\061\024\060\022\006
+\003\125\004\012\014\013\101\146\146\151\162\155\124\162\165\163
+\164\061\037\060\035\006\003\125\004\003\014\026\101\146\146\151
+\162\155\124\162\165\163\164\040\103\157\155\155\145\162\143\151
+\141\154\060\202\001\042\060\015\006\011\052\206\110\206\367\015
+\001\001\001\005\000\003\202\001\017\000\060\202\001\012\002\202
+\001\001\000\366\033\117\147\007\053\241\025\365\006\042\313\037
+\001\262\343\163\105\006\104\111\054\273\111\045\024\326\316\303
+\267\253\054\117\306\101\062\224\127\372\022\247\133\016\342\217
+\037\036\206\031\247\252\265\055\271\137\015\212\302\257\205\065
+\171\062\055\273\034\142\067\362\261\133\112\075\312\315\161\137
+\351\102\276\224\350\310\336\371\042\110\144\306\345\253\306\053
+\155\255\005\360\372\325\013\317\232\345\360\120\244\213\073\107
+\245\043\133\172\172\370\063\077\270\357\231\227\343\040\301\326
+\050\211\317\224\373\271\105\355\343\100\027\021\324\164\360\013
+\061\342\053\046\152\233\114\127\256\254\040\076\272\105\172\005
+\363\275\233\151\025\256\175\116\040\143\304\065\166\072\007\002
+\311\067\375\307\107\356\350\361\166\035\163\025\362\227\244\265
+\310\172\171\331\102\252\053\177\134\376\316\046\117\243\146\201
+\065\257\104\272\124\036\034\060\062\145\235\346\074\223\136\120
+\116\172\343\072\324\156\314\032\373\371\322\067\256\044\052\253
+\127\003\042\050\015\111\165\177\267\050\332\165\277\216\343\334
+\016\171\061\002\003\001\000\001\243\102\060\100\060\035\006\003
+\125\035\016\004\026\004\024\235\223\306\123\213\136\312\257\077
+\237\036\017\345\231\225\274\044\366\224\217\060\017\006\003\125
+\035\023\001\001\377\004\005\060\003\001\001\377\060\016\006\003
+\125\035\017\001\001\377\004\004\003\002\001\006\060\015\006\011
+\052\206\110\206\367\015\001\001\013\005\000\003\202\001\001\000
+\130\254\364\004\016\315\300\015\377\012\375\324\272\026\137\051
+\275\173\150\231\130\111\322\264\035\067\115\177\047\175\106\006
+\135\103\306\206\056\076\163\262\046\175\117\223\251\266\304\052
+\232\253\041\227\024\261\336\214\323\253\211\025\330\153\044\324
+\361\026\256\330\244\134\324\177\121\216\355\030\001\261\223\143
+\275\274\370\141\200\232\236\261\316\102\160\342\251\175\006\045
+\175\047\241\376\157\354\263\036\044\332\343\113\125\032\000\073
+\065\264\073\331\327\135\060\375\201\023\211\362\302\006\053\355
+\147\304\216\311\103\262\134\153\025\211\002\274\142\374\116\362
+\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
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
 
-# 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
-# Fingerprint (SHA1): 2F:78:3D:25:52:18:A7:4A:65:39:71:B5:2C:A2:9C:45:15:6F:E9:19
+# Trust for "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 (SHA-256): 03:76:AB:1D:54:C5:F9:80:3C:E4:B2:E2:01:A0:EE:7E:EF:7B:57:B6:36:E8:A9:3C:9B:8D:48:60:C9:6F:5F:A7
+# Fingerprint (SHA1): F9:B5:B6:32:45:5F:9C:BE:EC:57:5F:80:DC:E9:6E:2C:C7:B2:78:B7
 CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "Izenpe.com"
+CKA_LABEL UTF8 "AffirmTrust Commercial"
 CKA_CERT_SHA1_HASH MULTILINE_OCTAL
-\057\170\075\045\122\030\247\112\145\071\161\265\054\242\234\105
-\025\157\351\031
+\371\265\266\062\105\137\234\276\354\127\137\200\334\351\156\054
+\307\262\170\267
 END
 CKA_CERT_MD5_HASH MULTILINE_OCTAL
-\246\260\315\205\200\332\134\120\064\243\071\220\057\125\147\163
+\202\222\272\133\357\315\212\157\246\075\125\371\204\366\326\267
 END
 CKA_ISSUER MULTILINE_OCTAL
-\060\070\061\013\060\011\006\003\125\004\006\023\002\105\123\061
-\024\060\022\006\003\125\004\012\014\013\111\132\105\116\120\105
-\040\123\056\101\056\061\023\060\021\006\003\125\004\003\014\012
-\111\172\145\156\160\145\056\143\157\155
+\060\104\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\024\060\022\006\003\125\004\012\014\013\101\146\146\151\162\155
+\124\162\165\163\164\061\037\060\035\006\003\125\004\003\014\026
+\101\146\146\151\162\155\124\162\165\163\164\040\103\157\155\155
+\145\162\143\151\141\154
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\020\000\260\267\132\026\110\137\277\341\313\365\213\327\031
-\346\175
+\002\010\167\167\006\047\046\251\261\174
 END
 CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
 CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
@@ -9587,565 +6050,395 @@ CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
 CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
 
 #
-# Certificate "Chambers of Commerce Root - 2008"
+# Certificate "AffirmTrust Networking"
 #
-# 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
-# Fingerprint (SHA1): 78:6A:74:AC:76:AB:14:7F:9C:6A:30:50:BA:9E:A8:7E:FE:9A:CE:3C
+# 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 (SHA-256): 0A:81:EC:5A:92:97:77:F1:45:90:4A:F3:8D:5D:50:9F:66:B5:E2:C5:8F:CD:B5:31:05:8B:0E:17:F3:F0:B4:1B
+# Fingerprint (SHA1): 29:36:21:02:8B:20:ED:02:F5:66:C5:32:D1:D6:ED:90:9F:45:00:2F
 CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "Chambers of Commerce Root - 2008"
+CKA_LABEL UTF8 "AffirmTrust Networking"
 CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
 CKA_SUBJECT MULTILINE_OCTAL
-\060\201\256\061\013\060\011\006\003\125\004\006\023\002\105\125
-\061\103\060\101\006\003\125\004\007\023\072\115\141\144\162\151
-\144\040\050\163\145\145\040\143\165\162\162\145\156\164\040\141
-\144\144\162\145\163\163\040\141\164\040\167\167\167\056\143\141
-\155\145\162\146\151\162\155\141\056\143\157\155\057\141\144\144
-\162\145\163\163\051\061\022\060\020\006\003\125\004\005\023\011
-\101\070\062\067\064\063\062\070\067\061\033\060\031\006\003\125
-\004\012\023\022\101\103\040\103\141\155\145\162\146\151\162\155
-\141\040\123\056\101\056\061\051\060\047\006\003\125\004\003\023
-\040\103\150\141\155\142\145\162\163\040\157\146\040\103\157\155
-\155\145\162\143\145\040\122\157\157\164\040\055\040\062\060\060
-\070
+\060\104\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\024\060\022\006\003\125\004\012\014\013\101\146\146\151\162\155
+\124\162\165\163\164\061\037\060\035\006\003\125\004\003\014\026
+\101\146\146\151\162\155\124\162\165\163\164\040\116\145\164\167
+\157\162\153\151\156\147
 END
 CKA_ID UTF8 "0"
 CKA_ISSUER MULTILINE_OCTAL
-\060\201\256\061\013\060\011\006\003\125\004\006\023\002\105\125
-\061\103\060\101\006\003\125\004\007\023\072\115\141\144\162\151
-\144\040\050\163\145\145\040\143\165\162\162\145\156\164\040\141
-\144\144\162\145\163\163\040\141\164\040\167\167\167\056\143\141
-\155\145\162\146\151\162\155\141\056\143\157\155\057\141\144\144
-\162\145\163\163\051\061\022\060\020\006\003\125\004\005\023\011
-\101\070\062\067\064\063\062\070\067\061\033\060\031\006\003\125
-\004\012\023\022\101\103\040\103\141\155\145\162\146\151\162\155
-\141\040\123\056\101\056\061\051\060\047\006\003\125\004\003\023
-\040\103\150\141\155\142\145\162\163\040\157\146\040\103\157\155
-\155\145\162\143\145\040\122\157\157\164\040\055\040\062\060\060
-\070
+\060\104\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\024\060\022\006\003\125\004\012\014\013\101\146\146\151\162\155
+\124\162\165\163\164\061\037\060\035\006\003\125\004\003\014\026
+\101\146\146\151\162\155\124\162\165\163\164\040\116\145\164\167
+\157\162\153\151\156\147
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\011\000\243\332\102\176\244\261\256\332
+\002\010\174\117\004\071\034\324\231\055
 END
 CKA_VALUE MULTILINE_OCTAL
-\060\202\007\117\060\202\005\067\240\003\002\001\002\002\011\000
-\243\332\102\176\244\261\256\332\060\015\006\011\052\206\110\206
-\367\015\001\001\005\005\000\060\201\256\061\013\060\011\006\003
-\125\004\006\023\002\105\125\061\103\060\101\006\003\125\004\007
-\023\072\115\141\144\162\151\144\040\050\163\145\145\040\143\165
-\162\162\145\156\164\040\141\144\144\162\145\163\163\040\141\164
-\040\167\167\167\056\143\141\155\145\162\146\151\162\155\141\056
-\143\157\155\057\141\144\144\162\145\163\163\051\061\022\060\020
-\006\003\125\004\005\023\011\101\070\062\067\064\063\062\070\067
-\061\033\060\031\006\003\125\004\012\023\022\101\103\040\103\141
-\155\145\162\146\151\162\155\141\040\123\056\101\056\061\051\060
-\047\006\003\125\004\003\023\040\103\150\141\155\142\145\162\163
-\040\157\146\040\103\157\155\155\145\162\143\145\040\122\157\157
-\164\040\055\040\062\060\060\070\060\036\027\015\060\070\060\070
-\060\061\061\062\062\071\065\060\132\027\015\063\070\060\067\063
-\061\061\062\062\071\065\060\132\060\201\256\061\013\060\011\006
-\003\125\004\006\023\002\105\125\061\103\060\101\006\003\125\004
-\007\023\072\115\141\144\162\151\144\040\050\163\145\145\040\143
-\165\162\162\145\156\164\040\141\144\144\162\145\163\163\040\141
-\164\040\167\167\167\056\143\141\155\145\162\146\151\162\155\141
-\056\143\157\155\057\141\144\144\162\145\163\163\051\061\022\060
-\020\006\003\125\004\005\023\011\101\070\062\067\064\063\062\070
-\067\061\033\060\031\006\003\125\004\012\023\022\101\103\040\103
-\141\155\145\162\146\151\162\155\141\040\123\056\101\056\061\051
-\060\047\006\003\125\004\003\023\040\103\150\141\155\142\145\162
-\163\040\157\146\040\103\157\155\155\145\162\143\145\040\122\157
-\157\164\040\055\040\062\060\060\070\060\202\002\042\060\015\006
-\011\052\206\110\206\367\015\001\001\001\005\000\003\202\002\017
-\000\060\202\002\012\002\202\002\001\000\257\000\313\160\067\053
-\200\132\112\072\154\170\224\175\243\177\032\037\366\065\325\275
-\333\313\015\104\162\076\046\262\220\122\272\143\073\050\130\157
-\245\263\155\224\246\363\335\144\014\125\366\366\347\362\042\042
-\200\136\341\142\306\266\051\341\201\154\362\277\345\175\062\152
-\124\240\062\031\131\376\037\213\327\075\140\206\205\044\157\343
-\021\263\167\076\040\226\065\041\153\263\010\331\160\056\144\367
-\204\222\123\326\016\260\220\212\212\343\207\215\006\323\275\220
-\016\342\231\241\033\206\016\332\232\012\273\013\141\120\006\122
-\361\236\177\166\354\313\017\320\036\015\317\231\060\075\034\304
-\105\020\130\254\326\323\350\327\345\352\305\001\007\167\326\121
-\346\003\177\212\110\245\115\150\165\271\351\274\236\116\031\161
-\365\062\113\234\155\140\031\013\373\314\235\165\334\277\046\315
-\217\223\170\071\171\163\136\045\016\312\134\353\167\022\007\313
-\144\101\107\162\223\253\120\303\353\011\166\144\064\322\071\267
-\166\021\011\015\166\105\304\251\256\075\152\257\265\175\145\057
-\224\130\020\354\134\174\257\176\342\266\030\331\320\233\116\132
-\111\337\251\146\013\314\074\306\170\174\247\234\035\343\316\216
-\123\276\005\336\140\017\153\345\032\333\077\343\341\041\311\051
-\301\361\353\007\234\122\033\001\104\121\074\173\045\327\304\345
-\122\124\135\045\007\312\026\040\270\255\344\101\356\172\010\376
-\231\157\203\246\221\002\260\154\066\125\152\347\175\365\226\346
-\312\201\326\227\361\224\203\351\355\260\261\153\022\151\036\254
-\373\135\251\305\230\351\264\133\130\172\276\075\242\104\072\143
-\131\324\013\045\336\033\117\275\345\001\236\315\322\051\325\237
-\027\031\012\157\277\014\220\323\011\137\331\343\212\065\314\171
-\132\115\031\067\222\267\304\301\255\257\364\171\044\232\262\001
-\013\261\257\134\226\363\200\062\373\134\075\230\361\240\077\112
-\336\276\257\224\056\331\125\232\027\156\140\235\143\154\270\143
-\311\256\201\134\030\065\340\220\273\276\074\117\067\042\271\176
-\353\317\236\167\041\246\075\070\201\373\110\332\061\075\053\343
-\211\365\320\265\275\176\340\120\304\022\211\263\043\232\020\061
-\205\333\256\157\357\070\063\030\166\021\002\003\001\000\001\243
-\202\001\154\060\202\001\150\060\022\006\003\125\035\023\001\001
-\377\004\010\060\006\001\001\377\002\001\014\060\035\006\003\125
-\035\016\004\026\004\024\371\044\254\017\262\265\370\171\300\372
-\140\210\033\304\331\115\002\236\027\031\060\201\343\006\003\125
-\035\043\004\201\333\060\201\330\200\024\371\044\254\017\262\265
-\370\171\300\372\140\210\033\304\331\115\002\236\027\031\241\201
-\264\244\201\261\060\201\256\061\013\060\011\006\003\125\004\006
-\023\002\105\125\061\103\060\101\006\003\125\004\007\023\072\115
-\141\144\162\151\144\040\050\163\145\145\040\143\165\162\162\145
-\156\164\040\141\144\144\162\145\163\163\040\141\164\040\167\167
-\167\056\143\141\155\145\162\146\151\162\155\141\056\143\157\155
-\057\141\144\144\162\145\163\163\051\061\022\060\020\006\003\125
-\004\005\023\011\101\070\062\067\064\063\062\070\067\061\033\060
-\031\006\003\125\004\012\023\022\101\103\040\103\141\155\145\162
-\146\151\162\155\141\040\123\056\101\056\061\051\060\047\006\003
-\125\004\003\023\040\103\150\141\155\142\145\162\163\040\157\146
-\040\103\157\155\155\145\162\143\145\040\122\157\157\164\040\055
-\040\062\060\060\070\202\011\000\243\332\102\176\244\261\256\332
-\060\016\006\003\125\035\017\001\001\377\004\004\003\002\001\006
-\060\075\006\003\125\035\040\004\066\060\064\060\062\006\004\125
-\035\040\000\060\052\060\050\006\010\053\006\001\005\005\007\002
-\001\026\034\150\164\164\160\072\057\057\160\157\154\151\143\171
-\056\143\141\155\145\162\146\151\162\155\141\056\143\157\155\060
-\015\006\011\052\206\110\206\367\015\001\001\005\005\000\003\202
-\002\001\000\220\022\257\042\065\302\243\071\360\056\336\351\265
-\351\170\174\110\276\077\175\105\222\136\351\332\261\031\374\026
-\074\237\264\133\146\236\152\347\303\271\135\210\350\017\255\317
-\043\017\336\045\072\136\314\117\245\301\265\055\254\044\322\130
-\007\336\242\317\151\204\140\063\350\020\015\023\251\043\320\205
-\345\216\173\246\236\075\162\023\162\063\365\252\175\306\143\037
-\010\364\376\001\177\044\317\053\054\124\011\336\342\053\155\222
-\306\071\117\026\352\074\176\172\106\324\105\152\106\250\353\165
-\202\126\247\253\240\174\150\023\063\366\235\060\360\157\047\071
-\044\043\052\220\375\220\051\065\362\223\337\064\245\306\367\370
-\357\214\017\142\112\174\256\323\365\124\370\215\266\232\126\207
-\026\202\072\063\253\132\042\010\367\202\272\352\056\340\107\232
-\264\265\105\243\005\073\331\334\056\105\100\073\352\334\177\350
-\073\353\321\354\046\330\065\244\060\305\072\254\127\236\263\166
-\245\040\173\371\036\112\005\142\001\246\050\165\140\227\222\015
-\156\076\115\067\103\015\222\025\234\030\042\315\121\231\240\051
-\032\074\137\212\062\063\133\060\307\211\057\107\230\017\243\003
-\306\366\361\254\337\062\360\331\201\032\344\234\275\366\200\024
-\360\321\054\271\205\365\330\243\261\310\245\041\345\034\023\227
-\356\016\275\337\051\251\357\064\123\133\323\344\152\023\204\006
-\266\062\002\304\122\256\042\322\334\262\041\102\032\332\100\360
-\051\311\354\012\014\134\342\320\272\314\110\323\067\012\314\022
-\012\212\171\260\075\003\177\151\113\364\064\040\175\263\064\352
-\216\113\144\365\076\375\263\043\147\025\015\004\270\360\055\301
-\011\121\074\262\154\025\360\245\043\327\203\164\344\345\056\311
-\376\230\047\102\306\253\306\236\260\320\133\070\245\233\120\336
-\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
+\060\202\003\114\060\202\002\064\240\003\002\001\002\002\010\174
+\117\004\071\034\324\231\055\060\015\006\011\052\206\110\206\367
+\015\001\001\005\005\000\060\104\061\013\060\011\006\003\125\004
+\006\023\002\125\123\061\024\060\022\006\003\125\004\012\014\013
+\101\146\146\151\162\155\124\162\165\163\164\061\037\060\035\006
+\003\125\004\003\014\026\101\146\146\151\162\155\124\162\165\163
+\164\040\116\145\164\167\157\162\153\151\156\147\060\036\027\015
+\061\060\060\061\062\071\061\064\060\070\062\064\132\027\015\063
+\060\061\062\063\061\061\064\060\070\062\064\132\060\104\061\013
+\060\011\006\003\125\004\006\023\002\125\123\061\024\060\022\006
+\003\125\004\012\014\013\101\146\146\151\162\155\124\162\165\163
+\164\061\037\060\035\006\003\125\004\003\014\026\101\146\146\151
+\162\155\124\162\165\163\164\040\116\145\164\167\157\162\153\151
+\156\147\060\202\001\042\060\015\006\011\052\206\110\206\367\015
+\001\001\001\005\000\003\202\001\017\000\060\202\001\012\002\202
+\001\001\000\264\204\314\063\027\056\153\224\154\153\141\122\240
+\353\243\317\171\224\114\345\224\200\231\313\125\144\104\145\217
+\147\144\342\006\343\134\067\111\366\057\233\204\204\036\055\362
+\140\235\060\116\314\204\205\342\054\317\036\236\376\066\253\063
+\167\065\104\330\065\226\032\075\066\350\172\016\330\325\107\241
+\152\151\213\331\374\273\072\256\171\132\325\364\326\161\273\232
+\220\043\153\232\267\210\164\207\014\036\137\271\236\055\372\253
+\123\053\334\273\166\076\223\114\010\010\214\036\242\043\034\324
+\152\255\042\272\231\001\056\155\145\313\276\044\146\125\044\113
+\100\104\261\033\327\341\302\205\300\336\020\077\075\355\270\374
+\361\361\043\123\334\277\145\227\157\331\371\100\161\215\175\275
+\225\324\316\276\240\136\047\043\336\375\246\320\046\016\000\051
+\353\074\106\360\075\140\277\077\120\322\334\046\101\121\236\024
+\067\102\004\243\160\127\250\033\207\355\055\372\173\356\214\012
+\343\251\146\211\031\313\101\371\335\104\066\141\317\342\167\106
+\310\175\366\364\222\201\066\375\333\064\361\162\176\363\014\026
+\275\264\025\002\003\001\000\001\243\102\060\100\060\035\006\003
+\125\035\016\004\026\004\024\007\037\322\347\234\332\302\156\242
+\100\264\260\172\120\020\120\164\304\310\275\060\017\006\003\125
+\035\023\001\001\377\004\005\060\003\001\001\377\060\016\006\003
+\125\035\017\001\001\377\004\004\003\002\001\006\060\015\006\011
+\052\206\110\206\367\015\001\001\005\005\000\003\202\001\001\000
+\211\127\262\026\172\250\302\375\326\331\233\233\064\302\234\264
+\062\024\115\247\244\337\354\276\247\276\370\103\333\221\067\316
+\264\062\056\120\125\032\065\116\166\103\161\040\357\223\167\116
+\025\160\056\207\303\301\035\155\334\313\265\047\324\054\126\321
+\122\123\072\104\322\163\310\304\033\005\145\132\142\222\234\356
+\101\215\061\333\347\064\352\131\041\325\001\172\327\144\270\144
+\071\315\311\355\257\355\113\003\110\247\240\231\001\200\334\145
+\243\066\256\145\131\110\117\202\113\310\145\361\127\035\345\131
+\056\012\077\154\330\321\365\345\011\264\154\124\000\012\340\025
+\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
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
 
-# 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
-# Fingerprint (SHA1): 78:6A:74:AC:76:AB:14:7F:9C:6A:30:50:BA:9E:A8:7E:FE:9A:CE:3C
+# Trust for "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 (SHA-256): 0A:81:EC:5A:92:97:77:F1:45:90:4A:F3:8D:5D:50:9F:66:B5:E2:C5:8F:CD:B5:31:05:8B:0E:17:F3:F0:B4:1B
+# Fingerprint (SHA1): 29:36:21:02:8B:20:ED:02:F5:66:C5:32:D1:D6:ED:90:9F:45:00:2F
 CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "Chambers of Commerce Root - 2008"
+CKA_LABEL UTF8 "AffirmTrust Networking"
 CKA_CERT_SHA1_HASH MULTILINE_OCTAL
-\170\152\164\254\166\253\024\177\234\152\060\120\272\236\250\176
-\376\232\316\074
+\051\066\041\002\213\040\355\002\365\146\305\062\321\326\355\220
+\237\105\000\057
 END
 CKA_CERT_MD5_HASH MULTILINE_OCTAL
-\136\200\236\204\132\016\145\013\027\002\363\125\030\052\076\327
+\102\145\312\276\001\232\232\114\251\214\101\111\315\300\325\177
 END
 CKA_ISSUER MULTILINE_OCTAL
-\060\201\256\061\013\060\011\006\003\125\004\006\023\002\105\125
-\061\103\060\101\006\003\125\004\007\023\072\115\141\144\162\151
-\144\040\050\163\145\145\040\143\165\162\162\145\156\164\040\141
-\144\144\162\145\163\163\040\141\164\040\167\167\167\056\143\141
-\155\145\162\146\151\162\155\141\056\143\157\155\057\141\144\144
-\162\145\163\163\051\061\022\060\020\006\003\125\004\005\023\011
-\101\070\062\067\064\063\062\070\067\061\033\060\031\006\003\125
-\004\012\023\022\101\103\040\103\141\155\145\162\146\151\162\155
-\141\040\123\056\101\056\061\051\060\047\006\003\125\004\003\023
-\040\103\150\141\155\142\145\162\163\040\157\146\040\103\157\155
-\155\145\162\143\145\040\122\157\157\164\040\055\040\062\060\060
-\070
+\060\104\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\024\060\022\006\003\125\004\012\014\013\101\146\146\151\162\155
+\124\162\165\163\164\061\037\060\035\006\003\125\004\003\014\026
+\101\146\146\151\162\155\124\162\165\163\164\040\116\145\164\167
+\157\162\153\151\156\147
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\011\000\243\332\102\176\244\261\256\332
+\002\010\174\117\004\071\034\324\231\055
 END
 CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
-CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
 CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
 CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
 
 #
-# Certificate "Global Chambersign Root - 2008"
+# Certificate "AffirmTrust Premium"
 #
-# 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
-# Fingerprint (SHA1): 4A:BD:EE:EC:95:0D:35:9C:89:AE:C7:52:A1:2C:5B:29:F6:D6:AA:0C
+# 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 (SHA-256): 70:A7:3F:7F:37:6B:60:07:42:48:90:45:34:B1:14:82:D5:BF:0E:69:8E:CC:49:8D:F5:25:77:EB:F2:E9:3B:9A
+# Fingerprint (SHA1): D8:A6:33:2C:E0:03:6F:B1:85:F6:63:4F:7D:6A:06:65:26:32:28:27
 CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "Global Chambersign Root - 2008"
+CKA_LABEL UTF8 "AffirmTrust Premium"
 CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
 CKA_SUBJECT MULTILINE_OCTAL
-\060\201\254\061\013\060\011\006\003\125\004\006\023\002\105\125
-\061\103\060\101\006\003\125\004\007\023\072\115\141\144\162\151
-\144\040\050\163\145\145\040\143\165\162\162\145\156\164\040\141
-\144\144\162\145\163\163\040\141\164\040\167\167\167\056\143\141
-\155\145\162\146\151\162\155\141\056\143\157\155\057\141\144\144
-\162\145\163\163\051\061\022\060\020\006\003\125\004\005\023\011
-\101\070\062\067\064\063\062\070\067\061\033\060\031\006\003\125
-\004\012\023\022\101\103\040\103\141\155\145\162\146\151\162\155
-\141\040\123\056\101\056\061\047\060\045\006\003\125\004\003\023
-\036\107\154\157\142\141\154\040\103\150\141\155\142\145\162\163
-\151\147\156\040\122\157\157\164\040\055\040\062\060\060\070
+\060\101\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\024\060\022\006\003\125\004\012\014\013\101\146\146\151\162\155
+\124\162\165\163\164\061\034\060\032\006\003\125\004\003\014\023
+\101\146\146\151\162\155\124\162\165\163\164\040\120\162\145\155
+\151\165\155
 END
 CKA_ID UTF8 "0"
 CKA_ISSUER MULTILINE_OCTAL
-\060\201\254\061\013\060\011\006\003\125\004\006\023\002\105\125
-\061\103\060\101\006\003\125\004\007\023\072\115\141\144\162\151
-\144\040\050\163\145\145\040\143\165\162\162\145\156\164\040\141
-\144\144\162\145\163\163\040\141\164\040\167\167\167\056\143\141
-\155\145\162\146\151\162\155\141\056\143\157\155\057\141\144\144
-\162\145\163\163\051\061\022\060\020\006\003\125\004\005\023\011
-\101\070\062\067\064\063\062\070\067\061\033\060\031\006\003\125
-\004\012\023\022\101\103\040\103\141\155\145\162\146\151\162\155
-\141\040\123\056\101\056\061\047\060\045\006\003\125\004\003\023
-\036\107\154\157\142\141\154\040\103\150\141\155\142\145\162\163
-\151\147\156\040\122\157\157\164\040\055\040\062\060\060\070
+\060\101\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\024\060\022\006\003\125\004\012\014\013\101\146\146\151\162\155
+\124\162\165\163\164\061\034\060\032\006\003\125\004\003\014\023
+\101\146\146\151\162\155\124\162\165\163\164\040\120\162\145\155
+\151\165\155
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\011\000\311\315\323\351\325\175\043\316
+\002\010\155\214\024\106\261\246\012\356
 END
 CKA_VALUE MULTILINE_OCTAL
-\060\202\007\111\060\202\005\061\240\003\002\001\002\002\011\000
-\311\315\323\351\325\175\043\316\060\015\006\011\052\206\110\206
-\367\015\001\001\005\005\000\060\201\254\061\013\060\011\006\003
-\125\004\006\023\002\105\125\061\103\060\101\006\003\125\004\007
-\023\072\115\141\144\162\151\144\040\050\163\145\145\040\143\165
-\162\162\145\156\164\040\141\144\144\162\145\163\163\040\141\164
-\040\167\167\167\056\143\141\155\145\162\146\151\162\155\141\056
-\143\157\155\057\141\144\144\162\145\163\163\051\061\022\060\020
-\006\003\125\004\005\023\011\101\070\062\067\064\063\062\070\067
-\061\033\060\031\006\003\125\004\012\023\022\101\103\040\103\141
-\155\145\162\146\151\162\155\141\040\123\056\101\056\061\047\060
-\045\006\003\125\004\003\023\036\107\154\157\142\141\154\040\103
-\150\141\155\142\145\162\163\151\147\156\040\122\157\157\164\040
-\055\040\062\060\060\070\060\036\027\015\060\070\060\070\060\061
-\061\062\063\061\064\060\132\027\015\063\070\060\067\063\061\061
-\062\063\061\064\060\132\060\201\254\061\013\060\011\006\003\125
-\004\006\023\002\105\125\061\103\060\101\006\003\125\004\007\023
-\072\115\141\144\162\151\144\040\050\163\145\145\040\143\165\162
-\162\145\156\164\040\141\144\144\162\145\163\163\040\141\164\040
-\167\167\167\056\143\141\155\145\162\146\151\162\155\141\056\143
-\157\155\057\141\144\144\162\145\163\163\051\061\022\060\020\006
-\003\125\004\005\023\011\101\070\062\067\064\063\062\070\067\061
-\033\060\031\006\003\125\004\012\023\022\101\103\040\103\141\155
-\145\162\146\151\162\155\141\040\123\056\101\056\061\047\060\045
-\006\003\125\004\003\023\036\107\154\157\142\141\154\040\103\150
-\141\155\142\145\162\163\151\147\156\040\122\157\157\164\040\055
-\040\062\060\060\070\060\202\002\042\060\015\006\011\052\206\110
-\206\367\015\001\001\001\005\000\003\202\002\017\000\060\202\002
-\012\002\202\002\001\000\300\337\126\323\344\072\233\166\105\264
-\023\333\377\301\266\031\213\067\101\030\225\122\107\353\027\235
-\051\210\216\065\154\006\062\056\107\142\363\111\004\277\175\104
-\066\261\161\314\275\132\011\163\325\331\205\104\377\221\127\045
-\337\136\066\216\160\321\134\161\103\035\331\332\357\134\322\373
-\033\275\072\265\313\255\243\314\104\247\015\256\041\025\077\271
-\172\133\222\165\330\244\022\070\211\031\212\267\200\322\342\062
-\157\126\234\221\326\210\020\013\263\164\144\222\164\140\363\366
-\317\030\117\140\262\043\320\307\073\316\141\113\231\217\302\014
-\320\100\262\230\334\015\250\116\243\271\012\256\140\240\255\105
-\122\143\272\146\275\150\340\371\276\032\250\201\273\036\101\170
-\165\323\301\376\000\125\260\207\124\350\047\220\065\035\114\063
-\255\227\374\227\056\230\204\277\054\311\243\277\321\230\021\024
-\355\143\370\312\230\210\130\027\231\355\105\003\227\176\074\206
-\036\210\214\276\362\221\204\217\145\064\330\000\114\175\267\061
-\027\132\051\172\012\030\044\060\243\067\265\172\251\001\175\046
-\326\371\016\216\131\361\375\033\063\265\051\073\027\073\101\266
-\041\335\324\300\075\245\237\237\037\103\120\311\273\274\154\172
-\227\230\356\315\214\037\373\234\121\256\213\160\275\047\237\161
-\300\153\254\175\220\146\350\327\135\072\015\260\325\302\215\325
-\310\235\235\301\155\320\320\277\121\344\343\370\303\070\066\256
-\326\247\165\346\257\204\103\135\223\222\014\152\007\336\073\035
-\230\042\326\254\301\065\333\243\240\045\377\162\265\166\035\336
-\155\351\054\146\054\122\204\320\105\222\316\034\345\345\063\035
-\334\007\123\124\243\252\202\073\232\067\057\334\335\240\144\351
-\346\335\275\256\374\144\205\035\074\247\311\006\336\204\377\153
-\350\153\032\074\305\242\263\102\373\213\011\076\137\010\122\307
-\142\304\324\005\161\277\304\144\344\370\241\203\350\076\022\233
-\250\036\324\066\115\057\161\366\215\050\366\203\251\023\322\141
-\301\221\273\110\300\064\217\101\214\113\114\333\151\022\377\120
-\224\234\040\203\131\163\355\174\241\362\361\375\335\367\111\323
-\103\130\240\126\143\312\075\075\345\065\126\131\351\016\312\040
-\314\053\113\223\051\017\002\003\001\000\001\243\202\001\152\060
-\202\001\146\060\022\006\003\125\035\023\001\001\377\004\010\060
-\006\001\001\377\002\001\014\060\035\006\003\125\035\016\004\026
-\004\024\271\011\312\234\036\333\323\154\072\153\256\355\124\361
-\133\223\006\065\056\136\060\201\341\006\003\125\035\043\004\201
-\331\060\201\326\200\024\271\011\312\234\036\333\323\154\072\153
-\256\355\124\361\133\223\006\065\056\136\241\201\262\244\201\257
-\060\201\254\061\013\060\011\006\003\125\004\006\023\002\105\125
-\061\103\060\101\006\003\125\004\007\023\072\115\141\144\162\151
-\144\040\050\163\145\145\040\143\165\162\162\145\156\164\040\141
-\144\144\162\145\163\163\040\141\164\040\167\167\167\056\143\141
-\155\145\162\146\151\162\155\141\056\143\157\155\057\141\144\144
-\162\145\163\163\051\061\022\060\020\006\003\125\004\005\023\011
-\101\070\062\067\064\063\062\070\067\061\033\060\031\006\003\125
-\004\012\023\022\101\103\040\103\141\155\145\162\146\151\162\155
-\141\040\123\056\101\056\061\047\060\045\006\003\125\004\003\023
-\036\107\154\157\142\141\154\040\103\150\141\155\142\145\162\163
-\151\147\156\040\122\157\157\164\040\055\040\062\060\060\070\202
-\011\000\311\315\323\351\325\175\043\316\060\016\006\003\125\035
-\017\001\001\377\004\004\003\002\001\006\060\075\006\003\125\035
-\040\004\066\060\064\060\062\006\004\125\035\040\000\060\052\060
-\050\006\010\053\006\001\005\005\007\002\001\026\034\150\164\164
-\160\072\057\057\160\157\154\151\143\171\056\143\141\155\145\162
-\146\151\162\155\141\056\143\157\155\060\015\006\011\052\206\110
-\206\367\015\001\001\005\005\000\003\202\002\001\000\200\210\177
-\160\336\222\050\331\005\224\106\377\220\127\251\361\057\337\032
-\015\153\372\174\016\034\111\044\171\047\330\106\252\157\051\131
-\122\210\160\022\352\335\075\365\233\123\124\157\341\140\242\250
-\011\271\354\353\131\174\306\065\361\334\030\351\361\147\345\257
-\272\105\340\011\336\312\104\017\302\027\016\167\221\105\172\063
-\137\137\226\054\150\213\301\107\217\230\233\075\300\354\313\365
-\325\202\222\204\065\321\276\066\070\126\162\061\133\107\055\252
-\027\244\143\121\353\012\001\255\177\354\165\236\313\241\037\361
-\177\022\261\271\344\144\177\147\326\043\052\364\270\071\135\230
-\350\041\247\341\275\075\102\032\164\232\160\257\150\154\120\135
-\111\317\377\373\016\135\346\054\107\327\201\072\131\000\265\163
-\153\143\040\366\061\105\010\071\016\364\160\176\100\160\132\077
-\320\153\102\251\164\075\050\057\002\155\165\162\225\011\215\110
-\143\306\306\043\127\222\223\136\065\301\215\371\012\367\054\235
-\142\034\366\255\174\335\246\061\036\266\261\307\176\205\046\372
-\244\152\265\332\143\060\321\357\223\067\262\146\057\175\005\367
-\347\267\113\230\224\065\300\331\072\051\301\235\262\120\063\035
-\112\251\132\246\311\003\357\355\364\347\250\156\212\264\127\204
-\353\244\077\320\356\252\252\207\133\143\350\223\342\153\250\324
-\270\162\170\153\033\355\071\344\135\313\233\252\207\325\117\116
-\000\376\331\152\237\074\061\017\050\002\001\175\230\350\247\260
-\242\144\236\171\370\110\362\025\251\314\346\310\104\353\077\170
-\231\362\173\161\076\074\361\230\247\305\030\022\077\346\273\050
-\063\102\351\105\012\174\155\362\206\171\057\305\202\031\175\011
-\211\174\262\124\166\210\256\336\301\363\314\341\156\333\061\326
-\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
+\060\202\005\106\060\202\003\056\240\003\002\001\002\002\010\155
+\214\024\106\261\246\012\356\060\015\006\011\052\206\110\206\367
+\015\001\001\014\005\000\060\101\061\013\060\011\006\003\125\004
+\006\023\002\125\123\061\024\060\022\006\003\125\004\012\014\013
+\101\146\146\151\162\155\124\162\165\163\164\061\034\060\032\006
+\003\125\004\003\014\023\101\146\146\151\162\155\124\162\165\163
+\164\040\120\162\145\155\151\165\155\060\036\027\015\061\060\060
+\061\062\071\061\064\061\060\063\066\132\027\015\064\060\061\062
+\063\061\061\064\061\060\063\066\132\060\101\061\013\060\011\006
+\003\125\004\006\023\002\125\123\061\024\060\022\006\003\125\004
+\012\014\013\101\146\146\151\162\155\124\162\165\163\164\061\034
+\060\032\006\003\125\004\003\014\023\101\146\146\151\162\155\124
+\162\165\163\164\040\120\162\145\155\151\165\155\060\202\002\042
+\060\015\006\011\052\206\110\206\367\015\001\001\001\005\000\003
+\202\002\017\000\060\202\002\012\002\202\002\001\000\304\022\337
+\251\137\376\101\335\335\365\237\212\343\366\254\341\074\170\232
+\274\330\360\177\172\240\063\052\334\215\040\133\256\055\157\347
+\223\331\066\160\152\150\317\216\121\243\205\133\147\004\240\020
+\044\157\135\050\202\301\227\127\330\110\051\023\266\341\276\221
+\115\337\205\014\123\030\232\036\044\242\117\217\360\242\205\013
+\313\364\051\177\322\244\130\356\046\115\311\252\250\173\232\331
+\372\070\336\104\127\025\345\370\214\310\331\110\342\015\026\047
+\035\036\310\203\205\045\267\272\252\125\101\314\003\042\113\055
+\221\215\213\346\211\257\146\307\351\377\053\351\074\254\332\322
+\263\303\341\150\234\211\370\172\000\126\336\364\125\225\154\373
+\272\144\335\142\213\337\013\167\062\353\142\314\046\232\233\273
+\252\142\203\114\264\006\172\060\310\051\277\355\006\115\227\271
+\034\304\061\053\325\137\274\123\022\027\234\231\127\051\146\167
+\141\041\061\007\056\045\111\235\030\362\356\363\053\161\214\265
+\272\071\007\111\167\374\357\056\222\220\005\215\055\057\167\173
+\357\103\277\065\273\232\330\371\163\247\054\362\320\127\356\050
+\116\046\137\217\220\150\011\057\270\370\334\006\351\056\232\076
+\121\247\321\042\304\012\247\070\110\154\263\371\377\175\253\206
+\127\343\272\326\205\170\167\272\103\352\110\177\366\330\276\043
+\155\036\277\321\066\154\130\134\361\356\244\031\124\032\365\003
+\322\166\346\341\214\275\074\263\323\110\113\342\310\370\177\222
+\250\166\106\234\102\145\076\244\036\301\007\003\132\106\055\270
+\227\363\267\325\262\125\041\357\272\334\114\000\227\373\024\225
+\047\063\277\350\103\107\106\322\010\231\026\140\073\232\176\322
+\346\355\070\352\354\001\036\074\110\126\111\011\307\114\067\000
+\236\210\016\300\163\341\157\146\351\162\107\060\076\020\345\013
+\003\311\232\102\000\154\305\224\176\141\304\212\337\177\202\032
+\013\131\304\131\062\167\263\274\140\151\126\071\375\264\006\173
+\054\326\144\066\331\275\110\355\204\037\176\245\042\217\052\270
+\102\364\202\267\324\123\220\170\116\055\032\375\201\157\104\327
+\073\001\164\226\102\340\000\342\056\153\352\305\356\162\254\273
+\277\376\352\252\250\370\334\366\262\171\212\266\147\002\003\001
+\000\001\243\102\060\100\060\035\006\003\125\035\016\004\026\004
+\024\235\300\147\246\014\042\331\046\365\105\253\246\145\122\021
+\047\330\105\254\143\060\017\006\003\125\035\023\001\001\377\004
+\005\060\003\001\001\377\060\016\006\003\125\035\017\001\001\377
+\004\004\003\002\001\006\060\015\006\011\052\206\110\206\367\015
+\001\001\014\005\000\003\202\002\001\000\263\127\115\020\142\116
+\072\344\254\352\270\034\257\062\043\310\263\111\132\121\234\166
+\050\215\171\252\127\106\027\325\365\122\366\267\104\350\010\104
+\277\030\204\322\013\200\315\305\022\375\000\125\005\141\207\101
+\334\265\044\236\074\304\330\310\373\160\236\057\170\226\203\040
+\066\336\174\017\151\023\210\245\165\066\230\010\246\306\337\254
+\316\343\130\326\267\076\336\272\363\353\064\100\330\242\201\365
+\170\077\057\325\245\374\331\242\324\136\004\016\027\255\376\101
+\360\345\262\162\372\104\202\063\102\350\055\130\367\126\214\142
+\077\272\102\260\234\014\134\176\056\145\046\134\123\117\000\262
+\170\176\241\015\231\055\215\270\035\216\242\304\260\375\140\320
+\060\244\216\310\004\142\251\304\355\065\336\172\227\355\016\070
+\136\222\057\223\160\245\251\234\157\247\175\023\035\176\306\010
+\110\261\136\147\353\121\010\045\351\346\045\153\122\051\221\234
+\322\071\163\010\127\336\231\006\264\133\235\020\006\341\302\000
+\250\270\034\112\002\012\024\320\301\101\312\373\214\065\041\175
+\202\070\362\251\124\221\031\065\223\224\155\152\072\305\262\320
+\273\211\206\223\350\233\311\017\072\247\172\270\241\360\170\106
+\372\374\067\057\345\212\204\363\337\376\004\331\241\150\240\057
+\044\342\011\225\006\325\225\312\341\044\226\353\174\366\223\005
+\273\355\163\351\055\321\165\071\327\347\044\333\330\116\137\103
+\217\236\320\024\071\277\125\160\110\231\127\061\264\234\356\112
+\230\003\226\060\037\140\006\356\033\043\376\201\140\043\032\107
+\142\205\245\314\031\064\200\157\263\254\032\343\237\360\173\110
+\255\325\001\331\147\266\251\162\223\352\055\146\265\262\270\344
+\075\074\262\357\114\214\352\353\007\277\253\065\232\125\206\274
+\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
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
 
-# 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
-# Fingerprint (SHA1): 4A:BD:EE:EC:95:0D:35:9C:89:AE:C7:52:A1:2C:5B:29:F6:D6:AA:0C
+# Trust for "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 (SHA-256): 70:A7:3F:7F:37:6B:60:07:42:48:90:45:34:B1:14:82:D5:BF:0E:69:8E:CC:49:8D:F5:25:77:EB:F2:E9:3B:9A
+# Fingerprint (SHA1): D8:A6:33:2C:E0:03:6F:B1:85:F6:63:4F:7D:6A:06:65:26:32:28:27
 CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "Global Chambersign Root - 2008"
+CKA_LABEL UTF8 "AffirmTrust Premium"
 CKA_CERT_SHA1_HASH MULTILINE_OCTAL
-\112\275\356\354\225\015\065\234\211\256\307\122\241\054\133\051
-\366\326\252\014
+\330\246\063\054\340\003\157\261\205\366\143\117\175\152\006\145
+\046\062\050\047
 END
 CKA_CERT_MD5_HASH MULTILINE_OCTAL
-\236\200\377\170\001\014\056\301\066\275\376\226\220\156\010\363
+\304\135\016\110\266\254\050\060\116\012\274\371\070\026\207\127
 END
 CKA_ISSUER MULTILINE_OCTAL
-\060\201\254\061\013\060\011\006\003\125\004\006\023\002\105\125
-\061\103\060\101\006\003\125\004\007\023\072\115\141\144\162\151
-\144\040\050\163\145\145\040\143\165\162\162\145\156\164\040\141
-\144\144\162\145\163\163\040\141\164\040\167\167\167\056\143\141
-\155\145\162\146\151\162\155\141\056\143\157\155\057\141\144\144
-\162\145\163\163\051\061\022\060\020\006\003\125\004\005\023\011
-\101\070\062\067\064\063\062\070\067\061\033\060\031\006\003\125
-\004\012\023\022\101\103\040\103\141\155\145\162\146\151\162\155
-\141\040\123\056\101\056\061\047\060\045\006\003\125\004\003\023
-\036\107\154\157\142\141\154\040\103\150\141\155\142\145\162\163
-\151\147\156\040\122\157\157\164\040\055\040\062\060\060\070
+\060\101\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\024\060\022\006\003\125\004\012\014\013\101\146\146\151\162\155
+\124\162\165\163\164\061\034\060\032\006\003\125\004\003\014\023
+\101\146\146\151\162\155\124\162\165\163\164\040\120\162\145\155
+\151\165\155
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\011\000\311\315\323\351\325\175\043\316
+\002\010\155\214\024\106\261\246\012\356
 END
 CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
-CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
 CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
 CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
 
 #
-# Certificate "Go Daddy Root Certificate Authority - G2"
+# Certificate "AffirmTrust Premium ECC"
 #
-# 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
-# Fingerprint (SHA1): 47:BE:AB:C9:22:EA:E8:0E:78:78:34:62:A7:9F:45:C2:54:FD:E6:8B
+# 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 (SHA-256): BD:71:FD:F6:DA:97:E4:CF:62:D1:64:7A:DD:25:81:B0:7D:79:AD:F8:39:7E:B4:EC:BA:9C:5E:84:88:82:14:23
+# Fingerprint (SHA1): B8:23:6B:00:2F:1D:16:86:53:01:55:6C:11:A4:37:CA:EB:FF:C3:BB
 CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "Go Daddy Root Certificate Authority - G2"
+CKA_LABEL UTF8 "AffirmTrust Premium ECC"
 CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
 CKA_SUBJECT MULTILINE_OCTAL
-\060\201\203\061\013\060\011\006\003\125\004\006\023\002\125\123
-\061\020\060\016\006\003\125\004\010\023\007\101\162\151\172\157
-\156\141\061\023\060\021\006\003\125\004\007\023\012\123\143\157
-\164\164\163\144\141\154\145\061\032\060\030\006\003\125\004\012
-\023\021\107\157\104\141\144\144\171\056\143\157\155\054\040\111
-\156\143\056\061\061\060\057\006\003\125\004\003\023\050\107\157
-\040\104\141\144\144\171\040\122\157\157\164\040\103\145\162\164
-\151\146\151\143\141\164\145\040\101\165\164\150\157\162\151\164
-\171\040\055\040\107\062
+\060\105\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\024\060\022\006\003\125\004\012\014\013\101\146\146\151\162\155
+\124\162\165\163\164\061\040\060\036\006\003\125\004\003\014\027
+\101\146\146\151\162\155\124\162\165\163\164\040\120\162\145\155
+\151\165\155\040\105\103\103
 END
 CKA_ID UTF8 "0"
 CKA_ISSUER MULTILINE_OCTAL
-\060\201\203\061\013\060\011\006\003\125\004\006\023\002\125\123
-\061\020\060\016\006\003\125\004\010\023\007\101\162\151\172\157
-\156\141\061\023\060\021\006\003\125\004\007\023\012\123\143\157
-\164\164\163\144\141\154\145\061\032\060\030\006\003\125\004\012
-\023\021\107\157\104\141\144\144\171\056\143\157\155\054\040\111
-\156\143\056\061\061\060\057\006\003\125\004\003\023\050\107\157
-\040\104\141\144\144\171\040\122\157\157\164\040\103\145\162\164
-\151\146\151\143\141\164\145\040\101\165\164\150\157\162\151\164
-\171\040\055\040\107\062
+\060\105\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\024\060\022\006\003\125\004\012\014\013\101\146\146\151\162\155
+\124\162\165\163\164\061\040\060\036\006\003\125\004\003\014\027
+\101\146\146\151\162\155\124\162\165\163\164\040\120\162\145\155
+\151\165\155\040\105\103\103
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\001\000
+\002\010\164\227\045\212\307\077\172\124
 END
 CKA_VALUE MULTILINE_OCTAL
-\060\202\003\305\060\202\002\255\240\003\002\001\002\002\001\000
-\060\015\006\011\052\206\110\206\367\015\001\001\013\005\000\060
-\201\203\061\013\060\011\006\003\125\004\006\023\002\125\123\061
-\020\060\016\006\003\125\004\010\023\007\101\162\151\172\157\156
-\141\061\023\060\021\006\003\125\004\007\023\012\123\143\157\164
-\164\163\144\141\154\145\061\032\060\030\006\003\125\004\012\023
-\021\107\157\104\141\144\144\171\056\143\157\155\054\040\111\156
-\143\056\061\061\060\057\006\003\125\004\003\023\050\107\157\040
-\104\141\144\144\171\040\122\157\157\164\040\103\145\162\164\151
-\146\151\143\141\164\145\040\101\165\164\150\157\162\151\164\171
-\040\055\040\107\062\060\036\027\015\060\071\060\071\060\061\060
-\060\060\060\060\060\132\027\015\063\067\061\062\063\061\062\063
-\065\071\065\071\132\060\201\203\061\013\060\011\006\003\125\004
-\006\023\002\125\123\061\020\060\016\006\003\125\004\010\023\007
-\101\162\151\172\157\156\141\061\023\060\021\006\003\125\004\007
-\023\012\123\143\157\164\164\163\144\141\154\145\061\032\060\030
-\006\003\125\004\012\023\021\107\157\104\141\144\144\171\056\143
-\157\155\054\040\111\156\143\056\061\061\060\057\006\003\125\004
-\003\023\050\107\157\040\104\141\144\144\171\040\122\157\157\164
-\040\103\145\162\164\151\146\151\143\141\164\145\040\101\165\164
-\150\157\162\151\164\171\040\055\040\107\062\060\202\001\042\060
-\015\006\011\052\206\110\206\367\015\001\001\001\005\000\003\202
-\001\017\000\060\202\001\012\002\202\001\001\000\277\161\142\010
-\361\372\131\064\367\033\311\030\243\367\200\111\130\351\042\203
-\023\246\305\040\103\001\073\204\361\346\205\111\237\047\352\366
-\204\033\116\240\264\333\160\230\307\062\001\261\005\076\007\116
-\356\364\372\117\057\131\060\042\347\253\031\126\153\342\200\007
-\374\363\026\165\200\071\121\173\345\371\065\266\164\116\251\215
-\202\023\344\266\077\251\003\203\372\242\276\212\025\152\177\336
-\013\303\266\031\024\005\312\352\303\250\004\224\073\106\174\062
-\015\363\000\146\042\310\215\151\155\066\214\021\030\267\323\262
-\034\140\264\070\372\002\214\316\323\335\106\007\336\012\076\353
-\135\174\310\174\373\260\053\123\244\222\142\151\121\045\005\141
-\032\104\201\214\054\251\103\226\043\337\254\072\201\232\016\051
-\305\034\251\351\135\036\266\236\236\060\012\071\316\361\210\200
-\373\113\135\314\062\354\205\142\103\045\064\002\126\047\001\221
-\264\073\160\052\077\156\261\350\234\210\001\175\237\324\371\333
-\123\155\140\235\277\054\347\130\253\270\137\106\374\316\304\033
-\003\074\011\353\111\061\134\151\106\263\340\107\002\003\001\000
-\001\243\102\060\100\060\017\006\003\125\035\023\001\001\377\004
-\005\060\003\001\001\377\060\016\006\003\125\035\017\001\001\377
-\004\004\003\002\001\006\060\035\006\003\125\035\016\004\026\004
-\024\072\232\205\007\020\147\050\266\357\366\275\005\101\156\040
-\301\224\332\017\336\060\015\006\011\052\206\110\206\367\015\001
-\001\013\005\000\003\202\001\001\000\231\333\135\171\325\371\227
-\131\147\003\141\361\176\073\006\061\165\055\241\040\216\117\145
-\207\264\367\246\234\274\330\351\057\320\333\132\356\317\164\214
-\163\264\070\102\332\005\173\370\002\165\270\375\245\261\327\256
-\366\327\336\023\313\123\020\176\212\106\321\227\372\267\056\053
-\021\253\220\260\047\200\371\350\237\132\351\067\237\253\344\337
-\154\263\205\027\235\075\331\044\117\171\221\065\326\137\004\353
-\200\203\253\232\002\055\265\020\364\330\220\307\004\163\100\355
-\162\045\240\251\237\354\236\253\150\022\231\127\306\217\022\072
-\011\244\275\104\375\006\025\067\301\233\344\062\243\355\070\350
-\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
+\060\202\001\376\060\202\001\205\240\003\002\001\002\002\010\164
+\227\045\212\307\077\172\124\060\012\006\010\052\206\110\316\075
+\004\003\003\060\105\061\013\060\011\006\003\125\004\006\023\002
+\125\123\061\024\060\022\006\003\125\004\012\014\013\101\146\146
+\151\162\155\124\162\165\163\164\061\040\060\036\006\003\125\004
+\003\014\027\101\146\146\151\162\155\124\162\165\163\164\040\120
+\162\145\155\151\165\155\040\105\103\103\060\036\027\015\061\060
+\060\061\062\071\061\064\062\060\062\064\132\027\015\064\060\061
+\062\063\061\061\064\062\060\062\064\132\060\105\061\013\060\011
+\006\003\125\004\006\023\002\125\123\061\024\060\022\006\003\125
+\004\012\014\013\101\146\146\151\162\155\124\162\165\163\164\061
+\040\060\036\006\003\125\004\003\014\027\101\146\146\151\162\155
+\124\162\165\163\164\040\120\162\145\155\151\165\155\040\105\103
+\103\060\166\060\020\006\007\052\206\110\316\075\002\001\006\005
+\053\201\004\000\042\003\142\000\004\015\060\136\033\025\235\003
+\320\241\171\065\267\072\074\222\172\312\025\034\315\142\363\234
+\046\134\007\075\345\124\372\243\326\314\022\352\364\024\137\350
+\216\031\253\057\056\110\346\254\030\103\170\254\320\067\303\275
+\262\315\054\346\107\342\032\346\143\270\075\056\057\170\304\117
+\333\364\017\244\150\114\125\162\153\225\035\116\030\102\225\170
+\314\067\074\221\342\233\145\053\051\243\102\060\100\060\035\006
+\003\125\035\016\004\026\004\024\232\257\051\172\300\021\065\065
+\046\121\060\000\303\152\376\100\325\256\326\074\060\017\006\003
+\125\035\023\001\001\377\004\005\060\003\001\001\377\060\016\006
+\003\125\035\017\001\001\377\004\004\003\002\001\006\060\012\006
+\010\052\206\110\316\075\004\003\003\003\147\000\060\144\002\060
+\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
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
 
-# 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
-# Fingerprint (SHA1): 47:BE:AB:C9:22:EA:E8:0E:78:78:34:62:A7:9F:45:C2:54:FD:E6:8B
+# Trust for "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 (SHA-256): BD:71:FD:F6:DA:97:E4:CF:62:D1:64:7A:DD:25:81:B0:7D:79:AD:F8:39:7E:B4:EC:BA:9C:5E:84:88:82:14:23
+# Fingerprint (SHA1): B8:23:6B:00:2F:1D:16:86:53:01:55:6C:11:A4:37:CA:EB:FF:C3:BB
 CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "Go Daddy Root Certificate Authority - G2"
+CKA_LABEL UTF8 "AffirmTrust Premium ECC"
 CKA_CERT_SHA1_HASH MULTILINE_OCTAL
-\107\276\253\311\042\352\350\016\170\170\064\142\247\237\105\302
-\124\375\346\213
+\270\043\153\000\057\035\026\206\123\001\125\154\021\244\067\312
+\353\377\303\273
 END
 CKA_CERT_MD5_HASH MULTILINE_OCTAL
-\200\072\274\042\301\346\373\215\233\073\047\112\062\033\232\001
+\144\260\011\125\317\261\325\231\342\276\023\253\246\135\352\115
 END
 CKA_ISSUER MULTILINE_OCTAL
-\060\201\203\061\013\060\011\006\003\125\004\006\023\002\125\123
-\061\020\060\016\006\003\125\004\010\023\007\101\162\151\172\157
-\156\141\061\023\060\021\006\003\125\004\007\023\012\123\143\157
-\164\164\163\144\141\154\145\061\032\060\030\006\003\125\004\012
-\023\021\107\157\104\141\144\144\171\056\143\157\155\054\040\111
-\156\143\056\061\061\060\057\006\003\125\004\003\023\050\107\157
-\040\104\141\144\144\171\040\122\157\157\164\040\103\145\162\164
-\151\146\151\143\141\164\145\040\101\165\164\150\157\162\151\164
-\171\040\055\040\107\062
+\060\105\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\024\060\022\006\003\125\004\012\014\013\101\146\146\151\162\155
+\124\162\165\163\164\061\040\060\036\006\003\125\004\003\014\027
+\101\146\146\151\162\155\124\162\165\163\164\040\120\162\145\155
+\151\165\155\040\105\103\103
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\001\000
+\002\010\164\227\045\212\307\077\172\124
 END
 CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
 CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
@@ -10153,960 +6446,756 @@ CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
 CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
 
 #
-# Certificate "Starfield Root Certificate Authority - G2"
+# Certificate "Certum Trusted Network CA"
 #
-# 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
-# Fingerprint (SHA1): B5:1C:06:7C:EE:2B:0C:3D:F8:55:AB:2D:92:F4:FE:39:D4:E7:0F:0E
+# 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 (SHA-256): 5C:58:46:8D:55:F5:8E:49:7E:74:39:82:D2:B5:00:10:B6:D1:65:37:4A:CF:83:A7:D4:A3:2D:B7:68:C4:40:8E
+# Fingerprint (SHA1): 07:E0:32:E0:20:B7:2C:3F:19:2F:06:28:A2:59:3A:19:A7:0F:06:9E
 CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "Starfield Root Certificate Authority - G2"
+CKA_LABEL UTF8 "Certum Trusted Network CA"
 CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
 CKA_SUBJECT MULTILINE_OCTAL
-\060\201\217\061\013\060\011\006\003\125\004\006\023\002\125\123
-\061\020\060\016\006\003\125\004\010\023\007\101\162\151\172\157
-\156\141\061\023\060\021\006\003\125\004\007\023\012\123\143\157
-\164\164\163\144\141\154\145\061\045\060\043\006\003\125\004\012
-\023\034\123\164\141\162\146\151\145\154\144\040\124\145\143\150
-\156\157\154\157\147\151\145\163\054\040\111\156\143\056\061\062
-\060\060\006\003\125\004\003\023\051\123\164\141\162\146\151\145
-\154\144\040\122\157\157\164\040\103\145\162\164\151\146\151\143
-\141\164\145\040\101\165\164\150\157\162\151\164\171\040\055\040
-\107\062
+\060\176\061\013\060\011\006\003\125\004\006\023\002\120\114\061
+\042\060\040\006\003\125\004\012\023\031\125\156\151\172\145\164
+\157\040\124\145\143\150\156\157\154\157\147\151\145\163\040\123
+\056\101\056\061\047\060\045\006\003\125\004\013\023\036\103\145
+\162\164\165\155\040\103\145\162\164\151\146\151\143\141\164\151
+\157\156\040\101\165\164\150\157\162\151\164\171\061\042\060\040
+\006\003\125\004\003\023\031\103\145\162\164\165\155\040\124\162
+\165\163\164\145\144\040\116\145\164\167\157\162\153\040\103\101
 END
 CKA_ID UTF8 "0"
 CKA_ISSUER MULTILINE_OCTAL
-\060\201\217\061\013\060\011\006\003\125\004\006\023\002\125\123
-\061\020\060\016\006\003\125\004\010\023\007\101\162\151\172\157
-\156\141\061\023\060\021\006\003\125\004\007\023\012\123\143\157
-\164\164\163\144\141\154\145\061\045\060\043\006\003\125\004\012
-\023\034\123\164\141\162\146\151\145\154\144\040\124\145\143\150
-\156\157\154\157\147\151\145\163\054\040\111\156\143\056\061\062
-\060\060\006\003\125\004\003\023\051\123\164\141\162\146\151\145
-\154\144\040\122\157\157\164\040\103\145\162\164\151\146\151\143
-\141\164\145\040\101\165\164\150\157\162\151\164\171\040\055\040
-\107\062
+\060\176\061\013\060\011\006\003\125\004\006\023\002\120\114\061
+\042\060\040\006\003\125\004\012\023\031\125\156\151\172\145\164
+\157\040\124\145\143\150\156\157\154\157\147\151\145\163\040\123
+\056\101\056\061\047\060\045\006\003\125\004\013\023\036\103\145
+\162\164\165\155\040\103\145\162\164\151\146\151\143\141\164\151
+\157\156\040\101\165\164\150\157\162\151\164\171\061\042\060\040
+\006\003\125\004\003\023\031\103\145\162\164\165\155\040\124\162
+\165\163\164\145\144\040\116\145\164\167\157\162\153\040\103\101
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\001\000
+\002\003\004\104\300
 END
 CKA_VALUE MULTILINE_OCTAL
-\060\202\003\335\060\202\002\305\240\003\002\001\002\002\001\000
-\060\015\006\011\052\206\110\206\367\015\001\001\013\005\000\060
-\201\217\061\013\060\011\006\003\125\004\006\023\002\125\123\061
-\020\060\016\006\003\125\004\010\023\007\101\162\151\172\157\156
-\141\061\023\060\021\006\003\125\004\007\023\012\123\143\157\164
-\164\163\144\141\154\145\061\045\060\043\006\003\125\004\012\023
-\034\123\164\141\162\146\151\145\154\144\040\124\145\143\150\156
-\157\154\157\147\151\145\163\054\040\111\156\143\056\061\062\060
-\060\006\003\125\004\003\023\051\123\164\141\162\146\151\145\154
-\144\040\122\157\157\164\040\103\145\162\164\151\146\151\143\141
-\164\145\040\101\165\164\150\157\162\151\164\171\040\055\040\107
-\062\060\036\027\015\060\071\060\071\060\061\060\060\060\060\060
-\060\132\027\015\063\067\061\062\063\061\062\063\065\071\065\071
-\132\060\201\217\061\013\060\011\006\003\125\004\006\023\002\125
-\123\061\020\060\016\006\003\125\004\010\023\007\101\162\151\172
-\157\156\141\061\023\060\021\006\003\125\004\007\023\012\123\143
-\157\164\164\163\144\141\154\145\061\045\060\043\006\003\125\004
-\012\023\034\123\164\141\162\146\151\145\154\144\040\124\145\143
-\150\156\157\154\157\147\151\145\163\054\040\111\156\143\056\061
-\062\060\060\006\003\125\004\003\023\051\123\164\141\162\146\151
-\145\154\144\040\122\157\157\164\040\103\145\162\164\151\146\151
-\143\141\164\145\040\101\165\164\150\157\162\151\164\171\040\055
-\040\107\062\060\202\001\042\060\015\006\011\052\206\110\206\367
-\015\001\001\001\005\000\003\202\001\017\000\060\202\001\012\002
-\202\001\001\000\275\355\301\003\374\366\217\374\002\261\157\133
-\237\110\331\235\171\342\242\267\003\141\126\030\303\107\266\327
-\312\075\065\056\211\103\367\241\151\233\336\212\032\375\023\040
-\234\264\111\167\062\051\126\375\271\354\214\335\042\372\162\334
-\047\141\227\356\366\132\204\354\156\031\271\211\054\334\204\133
-\325\164\373\153\137\305\211\245\020\122\211\106\125\364\270\165
-\034\346\177\344\124\256\113\370\125\162\127\002\031\370\027\161
-\131\353\036\050\007\164\305\235\110\276\154\264\364\244\260\363
-\144\067\171\222\300\354\106\136\177\341\155\123\114\142\257\315
-\037\013\143\273\072\235\373\374\171\000\230\141\164\317\046\202
-\100\143\363\262\162\152\031\015\231\312\324\016\165\314\067\373
-\213\211\301\131\361\142\177\137\263\137\145\060\370\247\267\115
-\166\132\036\166\136\064\300\350\226\126\231\212\263\360\177\244
-\315\275\334\062\061\174\221\317\340\137\021\370\153\252\111\134
-\321\231\224\321\242\343\143\133\011\166\265\126\142\341\113\164
-\035\226\324\046\324\010\004\131\320\230\016\016\346\336\374\303
-\354\037\220\361\002\003\001\000\001\243\102\060\100\060\017\006
-\003\125\035\023\001\001\377\004\005\060\003\001\001\377\060\016
-\006\003\125\035\017\001\001\377\004\004\003\002\001\006\060\035
-\006\003\125\035\016\004\026\004\024\174\014\062\037\247\331\060
-\177\304\175\150\243\142\250\241\316\253\007\133\047\060\015\006
-\011\052\206\110\206\367\015\001\001\013\005\000\003\202\001\001
-\000\021\131\372\045\117\003\157\224\231\073\232\037\202\205\071
-\324\166\005\224\136\341\050\223\155\142\135\011\302\240\250\324
-\260\165\070\361\064\152\235\344\237\212\206\046\121\346\054\321
-\306\055\156\225\040\112\222\001\354\270\212\147\173\061\342\147
-\056\214\225\003\046\056\103\235\112\061\366\016\265\014\273\267
-\342\067\177\042\272\000\243\016\173\122\373\153\273\073\304\323
-\171\121\116\315\220\364\147\007\031\310\074\106\172\015\001\175
-\305\130\347\155\346\205\060\027\232\044\304\020\340\004\367\340
-\362\177\324\252\012\377\102\035\067\355\224\345\144\131\022\040
-\167\070\323\062\076\070\201\165\226\163\372\150\217\261\313\316
-\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
-# Fingerprint (SHA1): B5:1C:06:7C:EE:2B:0C:3D:F8:55:AB:2D:92:F4:FE:39:D4:E7:0F:0E
-CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
-CKA_TOKEN CK_BBOOL CK_TRUE
-CKA_PRIVATE CK_BBOOL CK_FALSE
-CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "Starfield Root Certificate Authority - G2"
-CKA_CERT_SHA1_HASH MULTILINE_OCTAL
-\265\034\006\174\356\053\014\075\370\125\253\055\222\364\376\071
-\324\347\017\016
-END
-CKA_CERT_MD5_HASH MULTILINE_OCTAL
-\326\071\201\306\122\176\226\151\374\374\312\146\355\005\362\226
-END
-CKA_ISSUER MULTILINE_OCTAL
-\060\201\217\061\013\060\011\006\003\125\004\006\023\002\125\123
-\061\020\060\016\006\003\125\004\010\023\007\101\162\151\172\157
-\156\141\061\023\060\021\006\003\125\004\007\023\012\123\143\157
-\164\164\163\144\141\154\145\061\045\060\043\006\003\125\004\012
-\023\034\123\164\141\162\146\151\145\154\144\040\124\145\143\150
-\156\157\154\157\147\151\145\163\054\040\111\156\143\056\061\062
-\060\060\006\003\125\004\003\023\051\123\164\141\162\146\151\145
-\154\144\040\122\157\157\164\040\103\145\162\164\151\146\151\143
-\141\164\145\040\101\165\164\150\157\162\151\164\171\040\055\040
-\107\062
-END
-CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\001\000
-END
-CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
-CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
-CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
-CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
-
-#
-# 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
-# Fingerprint (SHA1): 92:5A:8F:8D:2C:6D:04:E0:66:5F:59:6A:FF:22:D8:63:E8:25:6F:3F
-CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
-CKA_TOKEN CK_BBOOL CK_TRUE
-CKA_PRIVATE CK_BBOOL CK_FALSE
-CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "Starfield Services Root Certificate Authority - G2"
-CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
-CKA_SUBJECT MULTILINE_OCTAL
-\060\201\230\061\013\060\011\006\003\125\004\006\023\002\125\123
-\061\020\060\016\006\003\125\004\010\023\007\101\162\151\172\157
-\156\141\061\023\060\021\006\003\125\004\007\023\012\123\143\157
-\164\164\163\144\141\154\145\061\045\060\043\006\003\125\004\012
-\023\034\123\164\141\162\146\151\145\154\144\040\124\145\143\150
-\156\157\154\157\147\151\145\163\054\040\111\156\143\056\061\073
-\060\071\006\003\125\004\003\023\062\123\164\141\162\146\151\145
-\154\144\040\123\145\162\166\151\143\145\163\040\122\157\157\164
-\040\103\145\162\164\151\146\151\143\141\164\145\040\101\165\164
-\150\157\162\151\164\171\040\055\040\107\062
-END
-CKA_ID UTF8 "0"
-CKA_ISSUER MULTILINE_OCTAL
-\060\201\230\061\013\060\011\006\003\125\004\006\023\002\125\123
-\061\020\060\016\006\003\125\004\010\023\007\101\162\151\172\157
-\156\141\061\023\060\021\006\003\125\004\007\023\012\123\143\157
-\164\164\163\144\141\154\145\061\045\060\043\006\003\125\004\012
-\023\034\123\164\141\162\146\151\145\154\144\040\124\145\143\150
-\156\157\154\157\147\151\145\163\054\040\111\156\143\056\061\073
-\060\071\006\003\125\004\003\023\062\123\164\141\162\146\151\145
-\154\144\040\123\145\162\166\151\143\145\163\040\122\157\157\164
-\040\103\145\162\164\151\146\151\143\141\164\145\040\101\165\164
-\150\157\162\151\164\171\040\055\040\107\062
-END
-CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\001\000
-END
-CKA_VALUE MULTILINE_OCTAL
-\060\202\003\357\060\202\002\327\240\003\002\001\002\002\001\000
-\060\015\006\011\052\206\110\206\367\015\001\001\013\005\000\060
-\201\230\061\013\060\011\006\003\125\004\006\023\002\125\123\061
-\020\060\016\006\003\125\004\010\023\007\101\162\151\172\157\156
-\141\061\023\060\021\006\003\125\004\007\023\012\123\143\157\164
-\164\163\144\141\154\145\061\045\060\043\006\003\125\004\012\023
-\034\123\164\141\162\146\151\145\154\144\040\124\145\143\150\156
-\157\154\157\147\151\145\163\054\040\111\156\143\056\061\073\060
-\071\006\003\125\004\003\023\062\123\164\141\162\146\151\145\154
-\144\040\123\145\162\166\151\143\145\163\040\122\157\157\164\040
-\103\145\162\164\151\146\151\143\141\164\145\040\101\165\164\150
-\157\162\151\164\171\040\055\040\107\062\060\036\027\015\060\071
-\060\071\060\061\060\060\060\060\060\060\132\027\015\063\067\061
-\062\063\061\062\063\065\071\065\071\132\060\201\230\061\013\060
-\011\006\003\125\004\006\023\002\125\123\061\020\060\016\006\003
-\125\004\010\023\007\101\162\151\172\157\156\141\061\023\060\021
-\006\003\125\004\007\023\012\123\143\157\164\164\163\144\141\154
-\145\061\045\060\043\006\003\125\004\012\023\034\123\164\141\162
-\146\151\145\154\144\040\124\145\143\150\156\157\154\157\147\151
-\145\163\054\040\111\156\143\056\061\073\060\071\006\003\125\004
-\003\023\062\123\164\141\162\146\151\145\154\144\040\123\145\162
-\166\151\143\145\163\040\122\157\157\164\040\103\145\162\164\151
-\146\151\143\141\164\145\040\101\165\164\150\157\162\151\164\171
-\040\055\040\107\062\060\202\001\042\060\015\006\011\052\206\110
-\206\367\015\001\001\001\005\000\003\202\001\017\000\060\202\001
-\012\002\202\001\001\000\325\014\072\304\052\371\116\342\365\276
-\031\227\137\216\210\123\261\037\077\313\317\237\040\023\155\051
-\072\310\017\175\074\367\153\166\070\143\331\066\140\250\233\136
-\134\000\200\262\057\131\177\366\207\371\045\103\206\347\151\033
-\122\232\220\341\161\343\330\055\015\116\157\366\310\111\331\266
-\363\032\126\256\053\266\164\024\353\317\373\046\343\032\272\035
-\226\056\152\073\130\224\211\107\126\377\045\240\223\160\123\203
-\332\204\164\024\303\147\236\004\150\072\337\216\100\132\035\112
-\116\317\103\221\073\347\126\326\000\160\313\122\356\173\175\256
-\072\347\274\061\371\105\366\302\140\317\023\131\002\053\200\314
-\064\107\337\271\336\220\145\155\002\317\054\221\246\246\347\336
-\205\030\111\174\146\116\243\072\155\251\265\356\064\056\272\015
-\003\270\063\337\107\353\261\153\215\045\331\233\316\201\321\105
-\106\062\226\160\207\336\002\016\111\103\205\266\154\163\273\144
-\352\141\101\254\311\324\124\337\207\057\307\042\262\046\314\237
-\131\124\150\237\374\276\052\057\304\125\034\165\100\140\027\205
-\002\125\071\213\177\005\002\003\001\000\001\243\102\060\100\060
-\017\006\003\125\035\023\001\001\377\004\005\060\003\001\001\377
-\060\016\006\003\125\035\017\001\001\377\004\004\003\002\001\006
-\060\035\006\003\125\035\016\004\026\004\024\234\137\000\337\252
-\001\327\060\053\070\210\242\270\155\112\234\362\021\221\203\060
-\015\006\011\052\206\110\206\367\015\001\001\013\005\000\003\202
-\001\001\000\113\066\246\204\167\151\335\073\031\237\147\043\010
-\157\016\141\311\375\204\334\137\330\066\201\315\330\033\101\055
-\237\140\335\307\032\150\331\321\156\206\341\210\043\317\023\336
-\103\317\342\064\263\004\235\037\051\325\277\370\136\310\325\301
-\275\356\222\157\062\164\362\221\202\057\275\202\102\172\255\052
-\267\040\175\115\274\172\125\022\302\025\352\275\367\152\225\056
-\154\164\237\317\034\264\362\305\001\243\205\320\162\076\255\163
-\253\013\233\165\014\155\105\267\216\224\254\226\067\265\240\320
-\217\025\107\016\343\350\203\335\217\375\357\101\001\167\314\047
-\251\142\205\063\362\067\010\357\161\317\167\006\336\310\031\035
-\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
+\060\202\003\273\060\202\002\243\240\003\002\001\002\002\003\004
+\104\300\060\015\006\011\052\206\110\206\367\015\001\001\005\005
+\000\060\176\061\013\060\011\006\003\125\004\006\023\002\120\114
+\061\042\060\040\006\003\125\004\012\023\031\125\156\151\172\145
+\164\157\040\124\145\143\150\156\157\154\157\147\151\145\163\040
+\123\056\101\056\061\047\060\045\006\003\125\004\013\023\036\103
+\145\162\164\165\155\040\103\145\162\164\151\146\151\143\141\164
+\151\157\156\040\101\165\164\150\157\162\151\164\171\061\042\060
+\040\006\003\125\004\003\023\031\103\145\162\164\165\155\040\124
+\162\165\163\164\145\144\040\116\145\164\167\157\162\153\040\103
+\101\060\036\027\015\060\070\061\060\062\062\061\062\060\067\063
+\067\132\027\015\062\071\061\062\063\061\061\062\060\067\063\067
+\132\060\176\061\013\060\011\006\003\125\004\006\023\002\120\114
+\061\042\060\040\006\003\125\004\012\023\031\125\156\151\172\145
+\164\157\040\124\145\143\150\156\157\154\157\147\151\145\163\040
+\123\056\101\056\061\047\060\045\006\003\125\004\013\023\036\103
+\145\162\164\165\155\040\103\145\162\164\151\146\151\143\141\164
+\151\157\156\040\101\165\164\150\157\162\151\164\171\061\042\060
+\040\006\003\125\004\003\023\031\103\145\162\164\165\155\040\124
+\162\165\163\164\145\144\040\116\145\164\167\157\162\153\040\103
+\101\060\202\001\042\060\015\006\011\052\206\110\206\367\015\001
+\001\001\005\000\003\202\001\017\000\060\202\001\012\002\202\001
+\001\000\343\373\175\243\162\272\302\360\311\024\207\365\153\001
+\116\341\156\100\007\272\155\047\135\177\367\133\055\263\132\307
+\121\137\253\244\062\246\141\207\266\156\017\206\322\060\002\227
+\370\327\151\127\241\030\071\135\152\144\171\306\001\131\254\074
+\061\112\070\174\322\004\322\113\050\350\040\137\073\007\242\314
+\115\163\333\363\256\117\307\126\325\132\247\226\211\372\363\253
+\150\324\043\206\131\047\317\011\047\274\254\156\162\203\034\060
+\162\337\340\242\351\322\341\164\165\031\275\052\236\173\025\124
+\004\033\327\103\071\255\125\050\305\342\032\273\364\300\344\256
+\070\111\063\314\166\205\237\071\105\322\244\236\362\022\214\121
+\370\174\344\055\177\365\254\137\353\026\237\261\055\321\272\314
+\221\102\167\114\045\311\220\070\157\333\360\314\373\216\036\227
+\131\076\325\140\116\346\005\050\355\111\171\023\113\272\110\333
+\057\371\162\323\071\312\376\037\330\064\162\365\264\100\317\061
+\001\303\354\336\021\055\027\135\037\270\120\321\136\031\247\151
+\336\007\063\050\312\120\225\371\247\124\313\124\206\120\105\251
+\371\111\002\003\001\000\001\243\102\060\100\060\017\006\003\125
+\035\023\001\001\377\004\005\060\003\001\001\377\060\035\006\003
+\125\035\016\004\026\004\024\010\166\315\313\007\377\044\366\305
+\315\355\273\220\274\342\204\067\106\165\367\060\016\006\003\125
+\035\017\001\001\377\004\004\003\002\001\006\060\015\006\011\052
+\206\110\206\367\015\001\001\005\005\000\003\202\001\001\000\246
+\250\255\042\316\001\075\246\243\377\142\320\110\235\213\136\162
+\260\170\104\343\334\034\257\011\375\043\110\372\275\052\304\271
+\125\004\265\020\243\215\047\336\013\202\143\320\356\336\014\067
+\171\101\133\042\262\260\232\101\134\246\160\340\324\320\167\313
+\043\323\000\340\154\126\057\341\151\015\015\331\252\277\041\201
+\120\331\006\245\250\377\225\067\320\252\376\342\263\365\231\055
+\105\204\212\345\102\011\327\164\002\057\367\211\330\231\351\274
+\047\324\107\215\272\015\106\034\167\317\024\244\034\271\244\061
+\304\234\050\164\003\064\377\063\031\046\245\351\015\164\267\076
+\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
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
 
-# 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
-# Fingerprint (SHA1): 92:5A:8F:8D:2C:6D:04:E0:66:5F:59:6A:FF:22:D8:63:E8:25:6F:3F
+# Trust for "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 (SHA-256): 5C:58:46:8D:55:F5:8E:49:7E:74:39:82:D2:B5:00:10:B6:D1:65:37:4A:CF:83:A7:D4:A3:2D:B7:68:C4:40:8E
+# Fingerprint (SHA1): 07:E0:32:E0:20:B7:2C:3F:19:2F:06:28:A2:59:3A:19:A7:0F:06:9E
 CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "Starfield Services Root Certificate Authority - G2"
+CKA_LABEL UTF8 "Certum Trusted Network CA"
 CKA_CERT_SHA1_HASH MULTILINE_OCTAL
-\222\132\217\215\054\155\004\340\146\137\131\152\377\042\330\143
-\350\045\157\077
+\007\340\062\340\040\267\054\077\031\057\006\050\242\131\072\031
+\247\017\006\236
 END
 CKA_CERT_MD5_HASH MULTILINE_OCTAL
-\027\065\164\257\173\141\034\353\364\371\074\342\356\100\371\242
+\325\351\201\100\305\030\151\374\106\054\211\165\142\017\252\170
 END
 CKA_ISSUER MULTILINE_OCTAL
-\060\201\230\061\013\060\011\006\003\125\004\006\023\002\125\123
-\061\020\060\016\006\003\125\004\010\023\007\101\162\151\172\157
-\156\141\061\023\060\021\006\003\125\004\007\023\012\123\143\157
-\164\164\163\144\141\154\145\061\045\060\043\006\003\125\004\012
-\023\034\123\164\141\162\146\151\145\154\144\040\124\145\143\150
-\156\157\154\157\147\151\145\163\054\040\111\156\143\056\061\073
-\060\071\006\003\125\004\003\023\062\123\164\141\162\146\151\145
-\154\144\040\123\145\162\166\151\143\145\163\040\122\157\157\164
-\040\103\145\162\164\151\146\151\143\141\164\145\040\101\165\164
-\150\157\162\151\164\171\040\055\040\107\062
+\060\176\061\013\060\011\006\003\125\004\006\023\002\120\114\061
+\042\060\040\006\003\125\004\012\023\031\125\156\151\172\145\164
+\157\040\124\145\143\150\156\157\154\157\147\151\145\163\040\123
+\056\101\056\061\047\060\045\006\003\125\004\013\023\036\103\145
+\162\164\165\155\040\103\145\162\164\151\146\151\143\141\164\151
+\157\156\040\101\165\164\150\157\162\151\164\171\061\042\060\040
+\006\003\125\004\003\023\031\103\145\162\164\165\155\040\124\162
+\165\163\164\145\144\040\116\145\164\167\157\162\153\040\103\101
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\001\000
+\002\003\004\104\300
 END
 CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
-CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
 CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
 CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
 
 #
-# Certificate "AffirmTrust Commercial"
+# Certificate "TWCA Root Certification Authority"
 #
-# 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
-# Fingerprint (SHA1): F9:B5:B6:32:45:5F:9C:BE:EC:57:5F:80:DC:E9:6E:2C:C7:B2:78:B7
+# 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 (SHA-256): BF:D8:8F:E1:10:1C:41:AE:3E:80:1B:F8:BE:56:35:0E:E9:BA:D1:A6:B9:BD:51:5E:DC:5C:6D:5B:87:11:AC:44
+# Fingerprint (SHA1): CF:9E:87:6D:D3:EB:FC:42:26:97:A3:B5:A3:7A:A0:76:A9:06:23:48
 CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "AffirmTrust Commercial"
+CKA_LABEL UTF8 "TWCA Root Certification Authority"
 CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
 CKA_SUBJECT MULTILINE_OCTAL
-\060\104\061\013\060\011\006\003\125\004\006\023\002\125\123\061
-\024\060\022\006\003\125\004\012\014\013\101\146\146\151\162\155
-\124\162\165\163\164\061\037\060\035\006\003\125\004\003\014\026
-\101\146\146\151\162\155\124\162\165\163\164\040\103\157\155\155
-\145\162\143\151\141\154
-END
-CKA_ID UTF8 "0"
-CKA_ISSUER MULTILINE_OCTAL
-\060\104\061\013\060\011\006\003\125\004\006\023\002\125\123\061
-\024\060\022\006\003\125\004\012\014\013\101\146\146\151\162\155
-\124\162\165\163\164\061\037\060\035\006\003\125\004\003\014\026
-\101\146\146\151\162\155\124\162\165\163\164\040\103\157\155\155
-\145\162\143\151\141\154
+\060\137\061\013\060\011\006\003\125\004\006\023\002\124\127\061
+\022\060\020\006\003\125\004\012\014\011\124\101\111\127\101\116
+\055\103\101\061\020\060\016\006\003\125\004\013\014\007\122\157
+\157\164\040\103\101\061\052\060\050\006\003\125\004\003\014\041
+\124\127\103\101\040\122\157\157\164\040\103\145\162\164\151\146
+\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164
+\171
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\137\061\013\060\011\006\003\125\004\006\023\002\124\127\061
+\022\060\020\006\003\125\004\012\014\011\124\101\111\127\101\116
+\055\103\101\061\020\060\016\006\003\125\004\013\014\007\122\157
+\157\164\040\103\101\061\052\060\050\006\003\125\004\003\014\041
+\124\127\103\101\040\122\157\157\164\040\103\145\162\164\151\146
+\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164
+\171
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\010\167\167\006\047\046\251\261\174
+\002\001\001
 END
 CKA_VALUE MULTILINE_OCTAL
-\060\202\003\114\060\202\002\064\240\003\002\001\002\002\010\167
-\167\006\047\046\251\261\174\060\015\006\011\052\206\110\206\367
-\015\001\001\013\005\000\060\104\061\013\060\011\006\003\125\004
-\006\023\002\125\123\061\024\060\022\006\003\125\004\012\014\013
-\101\146\146\151\162\155\124\162\165\163\164\061\037\060\035\006
-\003\125\004\003\014\026\101\146\146\151\162\155\124\162\165\163
-\164\040\103\157\155\155\145\162\143\151\141\154\060\036\027\015
-\061\060\060\061\062\071\061\064\060\066\060\066\132\027\015\063
-\060\061\062\063\061\061\064\060\066\060\066\132\060\104\061\013
-\060\011\006\003\125\004\006\023\002\125\123\061\024\060\022\006
-\003\125\004\012\014\013\101\146\146\151\162\155\124\162\165\163
-\164\061\037\060\035\006\003\125\004\003\014\026\101\146\146\151
-\162\155\124\162\165\163\164\040\103\157\155\155\145\162\143\151
-\141\154\060\202\001\042\060\015\006\011\052\206\110\206\367\015
-\001\001\001\005\000\003\202\001\017\000\060\202\001\012\002\202
-\001\001\000\366\033\117\147\007\053\241\025\365\006\042\313\037
-\001\262\343\163\105\006\104\111\054\273\111\045\024\326\316\303
-\267\253\054\117\306\101\062\224\127\372\022\247\133\016\342\217
-\037\036\206\031\247\252\265\055\271\137\015\212\302\257\205\065
-\171\062\055\273\034\142\067\362\261\133\112\075\312\315\161\137
-\351\102\276\224\350\310\336\371\042\110\144\306\345\253\306\053
-\155\255\005\360\372\325\013\317\232\345\360\120\244\213\073\107
-\245\043\133\172\172\370\063\077\270\357\231\227\343\040\301\326
-\050\211\317\224\373\271\105\355\343\100\027\021\324\164\360\013
-\061\342\053\046\152\233\114\127\256\254\040\076\272\105\172\005
-\363\275\233\151\025\256\175\116\040\143\304\065\166\072\007\002
-\311\067\375\307\107\356\350\361\166\035\163\025\362\227\244\265
-\310\172\171\331\102\252\053\177\134\376\316\046\117\243\146\201
-\065\257\104\272\124\036\034\060\062\145\235\346\074\223\136\120
-\116\172\343\072\324\156\314\032\373\371\322\067\256\044\052\253
-\127\003\042\050\015\111\165\177\267\050\332\165\277\216\343\334
-\016\171\061\002\003\001\000\001\243\102\060\100\060\035\006\003
-\125\035\016\004\026\004\024\235\223\306\123\213\136\312\257\077
-\237\036\017\345\231\225\274\044\366\224\217\060\017\006\003\125
-\035\023\001\001\377\004\005\060\003\001\001\377\060\016\006\003
-\125\035\017\001\001\377\004\004\003\002\001\006\060\015\006\011
-\052\206\110\206\367\015\001\001\013\005\000\003\202\001\001\000
-\130\254\364\004\016\315\300\015\377\012\375\324\272\026\137\051
-\275\173\150\231\130\111\322\264\035\067\115\177\047\175\106\006
-\135\103\306\206\056\076\163\262\046\175\117\223\251\266\304\052
-\232\253\041\227\024\261\336\214\323\253\211\025\330\153\044\324
-\361\026\256\330\244\134\324\177\121\216\355\030\001\261\223\143
-\275\274\370\141\200\232\236\261\316\102\160\342\251\175\006\045
-\175\047\241\376\157\354\263\036\044\332\343\113\125\032\000\073
-\065\264\073\331\327\135\060\375\201\023\211\362\302\006\053\355
-\147\304\216\311\103\262\134\153\025\211\002\274\142\374\116\362
-\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
+\060\202\003\173\060\202\002\143\240\003\002\001\002\002\001\001
+\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060
+\137\061\013\060\011\006\003\125\004\006\023\002\124\127\061\022
+\060\020\006\003\125\004\012\014\011\124\101\111\127\101\116\055
+\103\101\061\020\060\016\006\003\125\004\013\014\007\122\157\157
+\164\040\103\101\061\052\060\050\006\003\125\004\003\014\041\124
+\127\103\101\040\122\157\157\164\040\103\145\162\164\151\146\151
+\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164\171
+\060\036\027\015\060\070\060\070\062\070\060\067\062\064\063\063
+\132\027\015\063\060\061\062\063\061\061\065\065\071\065\071\132
+\060\137\061\013\060\011\006\003\125\004\006\023\002\124\127\061
+\022\060\020\006\003\125\004\012\014\011\124\101\111\127\101\116
+\055\103\101\061\020\060\016\006\003\125\004\013\014\007\122\157
+\157\164\040\103\101\061\052\060\050\006\003\125\004\003\014\041
+\124\127\103\101\040\122\157\157\164\040\103\145\162\164\151\146
+\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164
+\171\060\202\001\042\060\015\006\011\052\206\110\206\367\015\001
+\001\001\005\000\003\202\001\017\000\060\202\001\012\002\202\001
+\001\000\260\176\162\270\244\003\224\346\247\336\011\070\221\112
+\021\100\207\247\174\131\144\024\173\265\021\020\335\376\277\325
+\300\273\126\342\205\045\364\065\162\017\370\123\320\101\341\104
+\001\302\264\034\303\061\102\026\107\205\063\042\166\262\012\157
+\017\345\045\120\117\205\206\276\277\230\056\020\147\036\276\021
+\005\206\005\220\304\131\320\174\170\020\260\200\134\267\341\307
+\053\165\313\174\237\256\265\321\235\043\067\143\247\334\102\242
+\055\222\004\033\120\301\173\270\076\033\311\126\004\213\057\122
+\233\255\251\126\351\301\377\255\251\130\207\060\266\201\367\227
+\105\374\031\127\073\053\157\344\107\364\231\105\376\035\361\370
+\227\243\210\035\067\034\134\217\340\166\045\232\120\370\240\124
+\377\104\220\166\043\322\062\306\303\253\006\277\374\373\277\363
+\255\175\222\142\002\133\051\323\065\243\223\232\103\144\140\135
+\262\372\062\377\073\004\257\115\100\152\371\307\343\357\043\375
+\153\313\345\017\213\070\015\356\012\374\376\017\230\237\060\061
+\335\154\122\145\371\213\201\276\042\341\034\130\003\272\221\033
+\211\007\002\003\001\000\001\243\102\060\100\060\016\006\003\125
+\035\017\001\001\377\004\004\003\002\001\006\060\017\006\003\125
+\035\023\001\001\377\004\005\060\003\001\001\377\060\035\006\003
+\125\035\016\004\026\004\024\152\070\133\046\215\336\213\132\362
+\117\172\124\203\031\030\343\010\065\246\272\060\015\006\011\052
+\206\110\206\367\015\001\001\005\005\000\003\202\001\001\000\074
+\325\167\075\332\337\211\272\207\014\010\124\152\040\120\222\276
+\260\101\075\271\046\144\203\012\057\350\100\300\227\050\047\202
+\060\112\311\223\377\152\347\246\000\177\211\102\232\326\021\345
+\123\316\057\314\362\332\005\304\376\342\120\304\072\206\175\314
+\332\176\020\011\073\222\065\052\123\262\376\353\053\005\331\154
+\135\346\320\357\323\152\146\236\025\050\205\172\350\202\000\254
+\036\247\011\151\126\102\323\150\121\030\276\124\232\277\104\101
+\272\111\276\040\272\151\134\356\270\167\315\316\154\037\255\203
+\226\030\175\016\265\024\071\204\361\050\351\055\243\236\173\036
+\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
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
 
-# 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
-# Fingerprint (SHA1): F9:B5:B6:32:45:5F:9C:BE:EC:57:5F:80:DC:E9:6E:2C:C7:B2:78:B7
+# Trust for "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 (SHA-256): BF:D8:8F:E1:10:1C:41:AE:3E:80:1B:F8:BE:56:35:0E:E9:BA:D1:A6:B9:BD:51:5E:DC:5C:6D:5B:87:11:AC:44
+# Fingerprint (SHA1): CF:9E:87:6D:D3:EB:FC:42:26:97:A3:B5:A3:7A:A0:76:A9:06:23:48
 CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "AffirmTrust Commercial"
+CKA_LABEL UTF8 "TWCA Root Certification Authority"
 CKA_CERT_SHA1_HASH MULTILINE_OCTAL
-\371\265\266\062\105\137\234\276\354\127\137\200\334\351\156\054
-\307\262\170\267
+\317\236\207\155\323\353\374\102\046\227\243\265\243\172\240\166
+\251\006\043\110
 END
 CKA_CERT_MD5_HASH MULTILINE_OCTAL
-\202\222\272\133\357\315\212\157\246\075\125\371\204\366\326\267
+\252\010\217\366\371\173\267\362\261\247\036\233\352\352\275\171
 END
 CKA_ISSUER MULTILINE_OCTAL
-\060\104\061\013\060\011\006\003\125\004\006\023\002\125\123\061
-\024\060\022\006\003\125\004\012\014\013\101\146\146\151\162\155
-\124\162\165\163\164\061\037\060\035\006\003\125\004\003\014\026
-\101\146\146\151\162\155\124\162\165\163\164\040\103\157\155\155
-\145\162\143\151\141\154
+\060\137\061\013\060\011\006\003\125\004\006\023\002\124\127\061
+\022\060\020\006\003\125\004\012\014\011\124\101\111\127\101\116
+\055\103\101\061\020\060\016\006\003\125\004\013\014\007\122\157
+\157\164\040\103\101\061\052\060\050\006\003\125\004\003\014\041
+\124\127\103\101\040\122\157\157\164\040\103\145\162\164\151\146
+\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164
+\171
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\010\167\167\006\047\046\251\261\174
+\002\001\001
 END
 CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
-CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
 CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
 CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
 
 #
-# Certificate "AffirmTrust Networking"
+# Certificate "Explicitly Distrust DigiNotar Root CA"
 #
-# 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
-# Fingerprint (SHA1): 29:36:21:02:8B:20:ED:02:F5:66:C5:32:D1:D6:ED:90:9F:45:00:2F
+# Issuer: E=info@diginotar.nl,CN=DigiNotar Root CA,O=DigiNotar,C=NL
+# Serial Number:0f:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff
+# Subject: E=info@diginotar.nl,CN=DigiNotar Root CA,O=DigiNotar,C=NL
+# Not Valid Before: Fri Jul 27 17:19:37 2007
+# Not Valid After : Mon Mar 31 18:19:22 2025
+# Fingerprint (MD5): 0A:A4:D5:CC:BA:B4:FB:A3:59:E3:E6:01:DD:53:D9:4E
+# Fingerprint (SHA1): C1:77:CB:4B:E0:B4:26:8E:F5:C7:CF:45:99:22:B9:B0:CE:BA:21:2F
 CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "AffirmTrust Networking"
+CKA_LABEL UTF8 "Explicitly Distrust DigiNotar Root CA"
 CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
 CKA_SUBJECT MULTILINE_OCTAL
-\060\104\061\013\060\011\006\003\125\004\006\023\002\125\123\061
-\024\060\022\006\003\125\004\012\014\013\101\146\146\151\162\155
-\124\162\165\163\164\061\037\060\035\006\003\125\004\003\014\026
-\101\146\146\151\162\155\124\162\165\163\164\040\116\145\164\167
-\157\162\153\151\156\147
+\060\137\061\013\060\011\006\003\125\004\006\023\002\116\114\061
+\022\060\020\006\003\125\004\012\023\011\104\151\147\151\116\157
+\164\141\162\061\032\060\030\006\003\125\004\003\023\021\104\151
+\147\151\116\157\164\141\162\040\122\157\157\164\040\103\101\061
+\040\060\036\006\011\052\206\110\206\367\015\001\011\001\026\021
+\151\156\146\157\100\144\151\147\151\156\157\164\141\162\056\156
+\154
 END
 CKA_ID UTF8 "0"
 CKA_ISSUER MULTILINE_OCTAL
-\060\104\061\013\060\011\006\003\125\004\006\023\002\125\123\061
-\024\060\022\006\003\125\004\012\014\013\101\146\146\151\162\155
-\124\162\165\163\164\061\037\060\035\006\003\125\004\003\014\026
-\101\146\146\151\162\155\124\162\165\163\164\040\116\145\164\167
-\157\162\153\151\156\147
+\060\137\061\013\060\011\006\003\125\004\006\023\002\116\114\061
+\022\060\020\006\003\125\004\012\023\011\104\151\147\151\116\157
+\164\141\162\061\032\060\030\006\003\125\004\003\023\021\104\151
+\147\151\116\157\164\141\162\040\122\157\157\164\040\103\101\061
+\040\060\036\006\011\052\206\110\206\367\015\001\011\001\026\021
+\151\156\146\157\100\144\151\147\151\156\157\164\141\162\056\156
+\154
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\010\174\117\004\071\034\324\231\055
+\002\020\017\377\377\377\377\377\377\377\377\377\377\377\377\377
+\377\377
 END
 CKA_VALUE MULTILINE_OCTAL
-\060\202\003\114\060\202\002\064\240\003\002\001\002\002\010\174
-\117\004\071\034\324\231\055\060\015\006\011\052\206\110\206\367
-\015\001\001\005\005\000\060\104\061\013\060\011\006\003\125\004
-\006\023\002\125\123\061\024\060\022\006\003\125\004\012\014\013
-\101\146\146\151\162\155\124\162\165\163\164\061\037\060\035\006
-\003\125\004\003\014\026\101\146\146\151\162\155\124\162\165\163
-\164\040\116\145\164\167\157\162\153\151\156\147\060\036\027\015
-\061\060\060\061\062\071\061\064\060\070\062\064\132\027\015\063
-\060\061\062\063\061\061\064\060\070\062\064\132\060\104\061\013
-\060\011\006\003\125\004\006\023\002\125\123\061\024\060\022\006
-\003\125\004\012\014\013\101\146\146\151\162\155\124\162\165\163
-\164\061\037\060\035\006\003\125\004\003\014\026\101\146\146\151
-\162\155\124\162\165\163\164\040\116\145\164\167\157\162\153\151
-\156\147\060\202\001\042\060\015\006\011\052\206\110\206\367\015
-\001\001\001\005\000\003\202\001\017\000\060\202\001\012\002\202
-\001\001\000\264\204\314\063\027\056\153\224\154\153\141\122\240
-\353\243\317\171\224\114\345\224\200\231\313\125\144\104\145\217
-\147\144\342\006\343\134\067\111\366\057\233\204\204\036\055\362
-\140\235\060\116\314\204\205\342\054\317\036\236\376\066\253\063
-\167\065\104\330\065\226\032\075\066\350\172\016\330\325\107\241
-\152\151\213\331\374\273\072\256\171\132\325\364\326\161\273\232
-\220\043\153\232\267\210\164\207\014\036\137\271\236\055\372\253
-\123\053\334\273\166\076\223\114\010\010\214\036\242\043\034\324
-\152\255\042\272\231\001\056\155\145\313\276\044\146\125\044\113
-\100\104\261\033\327\341\302\205\300\336\020\077\075\355\270\374
-\361\361\043\123\334\277\145\227\157\331\371\100\161\215\175\275
-\225\324\316\276\240\136\047\043\336\375\246\320\046\016\000\051
-\353\074\106\360\075\140\277\077\120\322\334\046\101\121\236\024
-\067\102\004\243\160\127\250\033\207\355\055\372\173\356\214\012
-\343\251\146\211\031\313\101\371\335\104\066\141\317\342\167\106
-\310\175\366\364\222\201\066\375\333\064\361\162\176\363\014\026
-\275\264\025\002\003\001\000\001\243\102\060\100\060\035\006\003
-\125\035\016\004\026\004\024\007\037\322\347\234\332\302\156\242
-\100\264\260\172\120\020\120\164\304\310\275\060\017\006\003\125
-\035\023\001\001\377\004\005\060\003\001\001\377\060\016\006\003
-\125\035\017\001\001\377\004\004\003\002\001\006\060\015\006\011
-\052\206\110\206\367\015\001\001\005\005\000\003\202\001\001\000
-\211\127\262\026\172\250\302\375\326\331\233\233\064\302\234\264
-\062\024\115\247\244\337\354\276\247\276\370\103\333\221\067\316
-\264\062\056\120\125\032\065\116\166\103\161\040\357\223\167\116
-\025\160\056\207\303\301\035\155\334\313\265\047\324\054\126\321
-\122\123\072\104\322\163\310\304\033\005\145\132\142\222\234\356
-\101\215\061\333\347\064\352\131\041\325\001\172\327\144\270\144
-\071\315\311\355\257\355\113\003\110\247\240\231\001\200\334\145
-\243\066\256\145\131\110\117\202\113\310\145\361\127\035\345\131
-\056\012\077\154\330\321\365\345\011\264\154\124\000\012\340\025
-\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
+\060\202\005\212\060\202\003\162\240\003\002\001\002\002\020\017
+\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\060
+\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060\137
+\061\013\060\011\006\003\125\004\006\023\002\116\114\061\022\060
+\020\006\003\125\004\012\023\011\104\151\147\151\116\157\164\141
+\162\061\032\060\030\006\003\125\004\003\023\021\104\151\147\151
+\116\157\164\141\162\040\122\157\157\164\040\103\101\061\040\060
+\036\006\011\052\206\110\206\367\015\001\011\001\026\021\151\156
+\146\157\100\144\151\147\151\156\157\164\141\162\056\156\154\060
+\036\027\015\060\067\060\067\062\067\061\067\061\071\063\067\132
+\027\015\062\065\060\063\063\061\061\070\061\071\062\062\132\060
+\137\061\013\060\011\006\003\125\004\006\023\002\116\114\061\022
+\060\020\006\003\125\004\012\023\011\104\151\147\151\116\157\164
+\141\162\061\032\060\030\006\003\125\004\003\023\021\104\151\147
+\151\116\157\164\141\162\040\122\157\157\164\040\103\101\061\040
+\060\036\006\011\052\206\110\206\367\015\001\011\001\026\021\151
+\156\146\157\100\144\151\147\151\156\157\164\141\162\056\156\154
+\060\202\002\042\060\015\006\011\052\206\110\206\367\015\001\001
+\001\005\000\003\202\002\017\000\060\202\002\012\002\202\002\001
+\000\254\260\130\301\000\275\330\041\010\013\053\232\376\156\126
+\060\005\237\033\167\220\020\101\134\303\015\207\021\167\216\201
+\361\312\174\351\214\152\355\070\164\065\273\332\337\371\273\300
+\011\067\264\226\163\201\175\063\032\230\071\367\223\157\225\177
+\075\271\261\165\207\272\121\110\350\213\160\076\225\004\305\330
+\266\303\026\331\210\260\261\207\035\160\332\206\264\017\024\213
+\172\317\020\321\164\066\242\022\173\167\206\112\171\346\173\337
+\002\021\150\245\116\206\256\064\130\233\044\023\170\126\042\045
+\036\001\213\113\121\161\373\202\314\131\226\151\210\132\150\123
+\305\271\015\002\067\313\113\274\146\112\220\176\052\013\005\007
+\355\026\137\125\220\165\330\106\311\033\203\342\010\276\361\043
+\314\231\035\326\052\017\203\040\025\130\047\202\056\372\342\042
+\302\111\261\271\001\201\152\235\155\235\100\167\150\166\116\041
+\052\155\204\100\205\116\166\231\174\202\363\363\267\002\131\324
+\046\001\033\216\337\255\123\006\321\256\030\335\342\262\072\313
+\327\210\070\216\254\133\051\271\031\323\230\371\030\003\317\110
+\202\206\146\013\033\151\017\311\353\070\210\172\046\032\005\114
+\222\327\044\324\226\362\254\122\055\243\107\325\122\366\077\376
+\316\204\006\160\246\252\076\242\362\266\126\064\030\127\242\344
+\201\155\347\312\360\152\323\307\221\153\002\203\101\174\025\357
+\153\232\144\136\343\320\074\345\261\353\173\135\206\373\313\346
+\167\111\315\243\145\334\367\271\234\270\344\013\137\223\317\314
+\060\032\062\034\316\034\143\225\245\371\352\341\164\213\236\351
+\053\251\060\173\240\030\037\016\030\013\345\133\251\323\321\154
+\036\007\147\217\221\113\251\212\274\322\146\252\223\001\210\262
+\221\372\061\134\325\246\301\122\010\011\315\012\143\242\323\042
+\246\350\241\331\071\006\227\365\156\215\002\220\214\024\173\077
+\200\315\033\234\272\304\130\162\043\257\266\126\237\306\172\102
+\063\051\007\077\202\311\346\037\005\015\315\114\050\066\213\323
+\310\076\034\306\210\357\136\356\211\144\351\035\353\332\211\176
+\062\246\151\321\335\314\210\237\321\320\311\146\041\334\006\147
+\305\224\172\232\155\142\114\175\314\340\144\200\262\236\107\216
+\243\002\003\001\000\001\243\102\060\100\060\017\006\003\125\035
+\023\001\001\377\004\005\060\003\001\001\377\060\016\006\003\125
+\035\017\001\001\377\004\004\003\002\001\006\060\035\006\003\125
+\035\016\004\026\004\024\210\150\277\340\216\065\304\073\070\153
+\142\367\050\073\204\201\310\014\327\115\060\015\006\011\052\206
+\110\206\367\015\001\001\005\005\000\003\202\002\001\000\073\002
+\215\313\074\060\350\156\240\255\362\163\263\137\236\045\023\004
+\005\323\366\343\213\273\013\171\316\123\336\344\226\305\321\257
+\163\274\325\303\320\100\125\174\100\177\315\033\137\011\325\362
+\174\237\150\035\273\135\316\172\071\302\214\326\230\173\305\203
+\125\250\325\175\100\312\340\036\367\211\136\143\135\241\023\302
+\135\212\266\212\174\000\363\043\303\355\205\137\161\166\360\150
+\143\252\105\041\071\110\141\170\066\334\361\103\223\324\045\307
+\362\200\145\341\123\002\165\121\374\172\072\357\067\253\204\050
+\127\014\330\324\324\231\126\154\343\242\376\131\204\264\061\350
+\063\370\144\224\224\121\227\253\071\305\113\355\332\335\200\013
+\157\174\051\015\304\216\212\162\015\347\123\024\262\140\101\075
+\204\221\061\150\075\047\104\333\345\336\364\372\143\105\310\114
+\076\230\365\077\101\272\116\313\067\015\272\146\230\361\335\313
+\237\134\367\124\066\202\153\054\274\023\141\227\102\370\170\273
+\314\310\242\237\312\360\150\275\153\035\262\337\215\157\007\235
+\332\216\147\307\107\036\312\271\277\052\102\221\267\143\123\146
+\361\102\243\341\364\132\115\130\153\265\344\244\063\255\134\160
+\035\334\340\362\353\163\024\221\232\003\301\352\000\145\274\007
+\374\317\022\021\042\054\256\240\275\072\340\242\052\330\131\351
+\051\323\030\065\244\254\021\137\031\265\265\033\377\042\112\134
+\306\172\344\027\357\040\251\247\364\077\255\212\247\232\004\045
+\235\016\312\067\346\120\375\214\102\051\004\232\354\271\317\113
+\162\275\342\010\066\257\043\057\142\345\312\001\323\160\333\174
+\202\043\054\026\061\014\306\066\007\220\172\261\037\147\130\304
+\073\130\131\211\260\214\214\120\263\330\206\313\150\243\304\012
+\347\151\113\040\316\301\036\126\113\225\251\043\150\330\060\330
+\303\353\260\125\121\315\345\375\053\270\365\273\021\237\123\124
+\366\064\031\214\171\011\066\312\141\027\045\027\013\202\230\163
+\014\167\164\303\325\015\307\250\022\114\307\247\124\161\107\056
+\054\032\175\311\343\053\073\110\336\047\204\247\143\066\263\175
+\217\240\144\071\044\015\075\173\207\257\146\134\164\033\113\163
+\262\345\214\360\206\231\270\345\305\337\204\301\267\353
 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
-# Fingerprint (SHA1): 29:36:21:02:8B:20:ED:02:F5:66:C5:32:D1:D6:ED:90:9F:45:00:2F
+# Trust for Certificate "Explicitly Distrust DigiNotar Root CA"
+# Issuer: E=info@diginotar.nl,CN=DigiNotar Root CA,O=DigiNotar,C=NL
+# Serial Number:0f:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff
+# Subject: E=info@diginotar.nl,CN=DigiNotar Root CA,O=DigiNotar,C=NL
+# Not Valid Before: Fri Jul 27 17:19:37 2007
+# Not Valid After : Mon Mar 31 18:19:22 2025
+# Fingerprint (MD5): 0A:A4:D5:CC:BA:B4:FB:A3:59:E3:E6:01:DD:53:D9:4E
+# Fingerprint (SHA1): C1:77:CB:4B:E0:B4:26:8E:F5:C7:CF:45:99:22:B9:B0:CE:BA:21:2F
 CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "AffirmTrust Networking"
+CKA_LABEL UTF8 "Explicitly Distrust DigiNotar Root CA"
 CKA_CERT_SHA1_HASH MULTILINE_OCTAL
-\051\066\041\002\213\040\355\002\365\146\305\062\321\326\355\220
-\237\105\000\057
+\301\167\313\113\340\264\046\216\365\307\317\105\231\042\271\260
+\316\272\041\057
 END
 CKA_CERT_MD5_HASH MULTILINE_OCTAL
-\102\145\312\276\001\232\232\114\251\214\101\111\315\300\325\177
+\012\244\325\314\272\264\373\243\131\343\346\001\335\123\331\116
 END
 CKA_ISSUER MULTILINE_OCTAL
-\060\104\061\013\060\011\006\003\125\004\006\023\002\125\123\061
-\024\060\022\006\003\125\004\012\014\013\101\146\146\151\162\155
-\124\162\165\163\164\061\037\060\035\006\003\125\004\003\014\026
-\101\146\146\151\162\155\124\162\165\163\164\040\116\145\164\167
-\157\162\153\151\156\147
+\060\137\061\013\060\011\006\003\125\004\006\023\002\116\114\061
+\022\060\020\006\003\125\004\012\023\011\104\151\147\151\116\157
+\164\141\162\061\032\060\030\006\003\125\004\003\023\021\104\151
+\147\151\116\157\164\141\162\040\122\157\157\164\040\103\101\061
+\040\060\036\006\011\052\206\110\206\367\015\001\011\001\026\021
+\151\156\146\157\100\144\151\147\151\156\157\164\141\162\056\156
+\154
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\010\174\117\004\071\034\324\231\055
+\002\020\017\377\377\377\377\377\377\377\377\377\377\377\377\377
+\377\377
 END
-CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
-CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
-CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_NOT_TRUSTED
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_NOT_TRUSTED
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_NOT_TRUSTED
 CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
 
 #
-# Certificate "AffirmTrust Premium"
+# Certificate "Security Communication RootCA2"
 #
-# 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
-# Fingerprint (SHA1): D8:A6:33:2C:E0:03:6F:B1:85:F6:63:4F:7D:6A:06:65:26:32:28:27
+# 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 (SHA-256): 51:3B:2C:EC:B8:10:D4:CD:E5:DD:85:39:1A:DF:C6:C2:DD:60:D8:7B:B7:36:D2:B5:21:48:4A:A4:7A:0E:BE:F6
+# Fingerprint (SHA1): 5F:3B:8C:F2:F8:10:B3:7D:78:B4:CE:EC:19:19:C3:73:34:B9:C7:74
 CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "AffirmTrust Premium"
+CKA_LABEL UTF8 "Security Communication RootCA2"
 CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
 CKA_SUBJECT MULTILINE_OCTAL
-\060\101\061\013\060\011\006\003\125\004\006\023\002\125\123\061
-\024\060\022\006\003\125\004\012\014\013\101\146\146\151\162\155
-\124\162\165\163\164\061\034\060\032\006\003\125\004\003\014\023
-\101\146\146\151\162\155\124\162\165\163\164\040\120\162\145\155
-\151\165\155
+\060\135\061\013\060\011\006\003\125\004\006\023\002\112\120\061
+\045\060\043\006\003\125\004\012\023\034\123\105\103\117\115\040
+\124\162\165\163\164\040\123\171\163\164\145\155\163\040\103\117
+\056\054\114\124\104\056\061\047\060\045\006\003\125\004\013\023
+\036\123\145\143\165\162\151\164\171\040\103\157\155\155\165\156
+\151\143\141\164\151\157\156\040\122\157\157\164\103\101\062
 END
 CKA_ID UTF8 "0"
 CKA_ISSUER MULTILINE_OCTAL
-\060\101\061\013\060\011\006\003\125\004\006\023\002\125\123\061
-\024\060\022\006\003\125\004\012\014\013\101\146\146\151\162\155
-\124\162\165\163\164\061\034\060\032\006\003\125\004\003\014\023
-\101\146\146\151\162\155\124\162\165\163\164\040\120\162\145\155
-\151\165\155
+\060\135\061\013\060\011\006\003\125\004\006\023\002\112\120\061
+\045\060\043\006\003\125\004\012\023\034\123\105\103\117\115\040
+\124\162\165\163\164\040\123\171\163\164\145\155\163\040\103\117
+\056\054\114\124\104\056\061\047\060\045\006\003\125\004\013\023
+\036\123\145\143\165\162\151\164\171\040\103\157\155\155\165\156
+\151\143\141\164\151\157\156\040\122\157\157\164\103\101\062
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\010\155\214\024\106\261\246\012\356
+\002\001\000
 END
 CKA_VALUE MULTILINE_OCTAL
-\060\202\005\106\060\202\003\056\240\003\002\001\002\002\010\155
-\214\024\106\261\246\012\356\060\015\006\011\052\206\110\206\367
-\015\001\001\014\005\000\060\101\061\013\060\011\006\003\125\004
-\006\023\002\125\123\061\024\060\022\006\003\125\004\012\014\013
-\101\146\146\151\162\155\124\162\165\163\164\061\034\060\032\006
-\003\125\004\003\014\023\101\146\146\151\162\155\124\162\165\163
-\164\040\120\162\145\155\151\165\155\060\036\027\015\061\060\060
-\061\062\071\061\064\061\060\063\066\132\027\015\064\060\061\062
-\063\061\061\064\061\060\063\066\132\060\101\061\013\060\011\006
-\003\125\004\006\023\002\125\123\061\024\060\022\006\003\125\004
-\012\014\013\101\146\146\151\162\155\124\162\165\163\164\061\034
-\060\032\006\003\125\004\003\014\023\101\146\146\151\162\155\124
-\162\165\163\164\040\120\162\145\155\151\165\155\060\202\002\042
-\060\015\006\011\052\206\110\206\367\015\001\001\001\005\000\003
-\202\002\017\000\060\202\002\012\002\202\002\001\000\304\022\337
-\251\137\376\101\335\335\365\237\212\343\366\254\341\074\170\232
-\274\330\360\177\172\240\063\052\334\215\040\133\256\055\157\347
-\223\331\066\160\152\150\317\216\121\243\205\133\147\004\240\020
-\044\157\135\050\202\301\227\127\330\110\051\023\266\341\276\221
-\115\337\205\014\123\030\232\036\044\242\117\217\360\242\205\013
-\313\364\051\177\322\244\130\356\046\115\311\252\250\173\232\331
-\372\070\336\104\127\025\345\370\214\310\331\110\342\015\026\047
-\035\036\310\203\205\045\267\272\252\125\101\314\003\042\113\055
-\221\215\213\346\211\257\146\307\351\377\053\351\074\254\332\322
-\263\303\341\150\234\211\370\172\000\126\336\364\125\225\154\373
-\272\144\335\142\213\337\013\167\062\353\142\314\046\232\233\273
-\252\142\203\114\264\006\172\060\310\051\277\355\006\115\227\271
-\034\304\061\053\325\137\274\123\022\027\234\231\127\051\146\167
-\141\041\061\007\056\045\111\235\030\362\356\363\053\161\214\265
-\272\071\007\111\167\374\357\056\222\220\005\215\055\057\167\173
-\357\103\277\065\273\232\330\371\163\247\054\362\320\127\356\050
-\116\046\137\217\220\150\011\057\270\370\334\006\351\056\232\076
-\121\247\321\042\304\012\247\070\110\154\263\371\377\175\253\206
-\127\343\272\326\205\170\167\272\103\352\110\177\366\330\276\043
-\155\036\277\321\066\154\130\134\361\356\244\031\124\032\365\003
-\322\166\346\341\214\275\074\263\323\110\113\342\310\370\177\222
-\250\166\106\234\102\145\076\244\036\301\007\003\132\106\055\270
-\227\363\267\325\262\125\041\357\272\334\114\000\227\373\024\225
-\047\063\277\350\103\107\106\322\010\231\026\140\073\232\176\322
-\346\355\070\352\354\001\036\074\110\126\111\011\307\114\067\000
-\236\210\016\300\163\341\157\146\351\162\107\060\076\020\345\013
-\003\311\232\102\000\154\305\224\176\141\304\212\337\177\202\032
-\013\131\304\131\062\167\263\274\140\151\126\071\375\264\006\173
-\054\326\144\066\331\275\110\355\204\037\176\245\042\217\052\270
-\102\364\202\267\324\123\220\170\116\055\032\375\201\157\104\327
-\073\001\164\226\102\340\000\342\056\153\352\305\356\162\254\273
-\277\376\352\252\250\370\334\366\262\171\212\266\147\002\003\001
-\000\001\243\102\060\100\060\035\006\003\125\035\016\004\026\004
-\024\235\300\147\246\014\042\331\046\365\105\253\246\145\122\021
-\047\330\105\254\143\060\017\006\003\125\035\023\001\001\377\004
-\005\060\003\001\001\377\060\016\006\003\125\035\017\001\001\377
-\004\004\003\002\001\006\060\015\006\011\052\206\110\206\367\015
-\001\001\014\005\000\003\202\002\001\000\263\127\115\020\142\116
-\072\344\254\352\270\034\257\062\043\310\263\111\132\121\234\166
-\050\215\171\252\127\106\027\325\365\122\366\267\104\350\010\104
-\277\030\204\322\013\200\315\305\022\375\000\125\005\141\207\101
-\334\265\044\236\074\304\330\310\373\160\236\057\170\226\203\040
-\066\336\174\017\151\023\210\245\165\066\230\010\246\306\337\254
-\316\343\130\326\267\076\336\272\363\353\064\100\330\242\201\365
-\170\077\057\325\245\374\331\242\324\136\004\016\027\255\376\101
-\360\345\262\162\372\104\202\063\102\350\055\130\367\126\214\142
-\077\272\102\260\234\014\134\176\056\145\046\134\123\117\000\262
-\170\176\241\015\231\055\215\270\035\216\242\304\260\375\140\320
-\060\244\216\310\004\142\251\304\355\065\336\172\227\355\016\070
-\136\222\057\223\160\245\251\234\157\247\175\023\035\176\306\010
-\110\261\136\147\353\121\010\045\351\346\045\153\122\051\221\234
-\322\071\163\010\127\336\231\006\264\133\235\020\006\341\302\000
-\250\270\034\112\002\012\024\320\301\101\312\373\214\065\041\175
-\202\070\362\251\124\221\031\065\223\224\155\152\072\305\262\320
-\273\211\206\223\350\233\311\017\072\247\172\270\241\360\170\106
-\372\374\067\057\345\212\204\363\337\376\004\331\241\150\240\057
-\044\342\011\225\006\325\225\312\341\044\226\353\174\366\223\005
-\273\355\163\351\055\321\165\071\327\347\044\333\330\116\137\103
-\217\236\320\024\071\277\125\160\110\231\127\061\264\234\356\112
-\230\003\226\060\037\140\006\356\033\043\376\201\140\043\032\107
-\142\205\245\314\031\064\200\157\263\254\032\343\237\360\173\110
-\255\325\001\331\147\266\251\162\223\352\055\146\265\262\270\344
-\075\074\262\357\114\214\352\353\007\277\253\065\232\125\206\274
-\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
-# Fingerprint (SHA1): D8:A6:33:2C:E0:03:6F:B1:85:F6:63:4F:7D:6A:06:65:26:32:28:27
-CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
-CKA_TOKEN CK_BBOOL CK_TRUE
-CKA_PRIVATE CK_BBOOL CK_FALSE
-CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "AffirmTrust Premium"
-CKA_CERT_SHA1_HASH MULTILINE_OCTAL
-\330\246\063\054\340\003\157\261\205\366\143\117\175\152\006\145
-\046\062\050\047
-END
-CKA_CERT_MD5_HASH MULTILINE_OCTAL
-\304\135\016\110\266\254\050\060\116\012\274\371\070\026\207\127
-END
-CKA_ISSUER MULTILINE_OCTAL
-\060\101\061\013\060\011\006\003\125\004\006\023\002\125\123\061
-\024\060\022\006\003\125\004\012\014\013\101\146\146\151\162\155
-\124\162\165\163\164\061\034\060\032\006\003\125\004\003\014\023
-\101\146\146\151\162\155\124\162\165\163\164\040\120\162\145\155
-\151\165\155
-END
-CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\010\155\214\024\106\261\246\012\356
-END
-CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
-CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
-CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
-CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
-
-#
-# 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
-# Fingerprint (SHA1): B8:23:6B:00:2F:1D:16:86:53:01:55:6C:11:A4:37:CA:EB:FF:C3:BB
-CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
-CKA_TOKEN CK_BBOOL CK_TRUE
-CKA_PRIVATE CK_BBOOL CK_FALSE
-CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "AffirmTrust Premium ECC"
-CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
-CKA_SUBJECT MULTILINE_OCTAL
-\060\105\061\013\060\011\006\003\125\004\006\023\002\125\123\061
-\024\060\022\006\003\125\004\012\014\013\101\146\146\151\162\155
-\124\162\165\163\164\061\040\060\036\006\003\125\004\003\014\027
-\101\146\146\151\162\155\124\162\165\163\164\040\120\162\145\155
-\151\165\155\040\105\103\103
-END
-CKA_ID UTF8 "0"
-CKA_ISSUER MULTILINE_OCTAL
-\060\105\061\013\060\011\006\003\125\004\006\023\002\125\123\061
-\024\060\022\006\003\125\004\012\014\013\101\146\146\151\162\155
-\124\162\165\163\164\061\040\060\036\006\003\125\004\003\014\027
-\101\146\146\151\162\155\124\162\165\163\164\040\120\162\145\155
-\151\165\155\040\105\103\103
-END
-CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\010\164\227\045\212\307\077\172\124
-END
-CKA_VALUE MULTILINE_OCTAL
-\060\202\001\376\060\202\001\205\240\003\002\001\002\002\010\164
-\227\045\212\307\077\172\124\060\012\006\010\052\206\110\316\075
-\004\003\003\060\105\061\013\060\011\006\003\125\004\006\023\002
-\125\123\061\024\060\022\006\003\125\004\012\014\013\101\146\146
-\151\162\155\124\162\165\163\164\061\040\060\036\006\003\125\004
-\003\014\027\101\146\146\151\162\155\124\162\165\163\164\040\120
-\162\145\155\151\165\155\040\105\103\103\060\036\027\015\061\060
-\060\061\062\071\061\064\062\060\062\064\132\027\015\064\060\061
-\062\063\061\061\064\062\060\062\064\132\060\105\061\013\060\011
-\006\003\125\004\006\023\002\125\123\061\024\060\022\006\003\125
-\004\012\014\013\101\146\146\151\162\155\124\162\165\163\164\061
-\040\060\036\006\003\125\004\003\014\027\101\146\146\151\162\155
-\124\162\165\163\164\040\120\162\145\155\151\165\155\040\105\103
-\103\060\166\060\020\006\007\052\206\110\316\075\002\001\006\005
-\053\201\004\000\042\003\142\000\004\015\060\136\033\025\235\003
-\320\241\171\065\267\072\074\222\172\312\025\034\315\142\363\234
-\046\134\007\075\345\124\372\243\326\314\022\352\364\024\137\350
-\216\031\253\057\056\110\346\254\030\103\170\254\320\067\303\275
-\262\315\054\346\107\342\032\346\143\270\075\056\057\170\304\117
-\333\364\017\244\150\114\125\162\153\225\035\116\030\102\225\170
-\314\067\074\221\342\233\145\053\051\243\102\060\100\060\035\006
-\003\125\035\016\004\026\004\024\232\257\051\172\300\021\065\065
-\046\121\060\000\303\152\376\100\325\256\326\074\060\017\006\003
-\125\035\023\001\001\377\004\005\060\003\001\001\377\060\016\006
-\003\125\035\017\001\001\377\004\004\003\002\001\006\060\012\006
-\010\052\206\110\316\075\004\003\003\003\147\000\060\144\002\060
-\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
+\060\202\003\167\060\202\002\137\240\003\002\001\002\002\001\000
+\060\015\006\011\052\206\110\206\367\015\001\001\013\005\000\060
+\135\061\013\060\011\006\003\125\004\006\023\002\112\120\061\045
+\060\043\006\003\125\004\012\023\034\123\105\103\117\115\040\124
+\162\165\163\164\040\123\171\163\164\145\155\163\040\103\117\056
+\054\114\124\104\056\061\047\060\045\006\003\125\004\013\023\036
+\123\145\143\165\162\151\164\171\040\103\157\155\155\165\156\151
+\143\141\164\151\157\156\040\122\157\157\164\103\101\062\060\036
+\027\015\060\071\060\065\062\071\060\065\060\060\063\071\132\027
+\015\062\071\060\065\062\071\060\065\060\060\063\071\132\060\135
+\061\013\060\011\006\003\125\004\006\023\002\112\120\061\045\060
+\043\006\003\125\004\012\023\034\123\105\103\117\115\040\124\162
+\165\163\164\040\123\171\163\164\145\155\163\040\103\117\056\054
+\114\124\104\056\061\047\060\045\006\003\125\004\013\023\036\123
+\145\143\165\162\151\164\171\040\103\157\155\155\165\156\151\143
+\141\164\151\157\156\040\122\157\157\164\103\101\062\060\202\001
+\042\060\015\006\011\052\206\110\206\367\015\001\001\001\005\000
+\003\202\001\017\000\060\202\001\012\002\202\001\001\000\320\025
+\071\122\261\122\263\272\305\131\202\304\135\122\256\072\103\145
+\200\113\307\362\226\274\333\066\227\326\246\144\214\250\136\360
+\343\012\034\367\337\227\075\113\256\366\135\354\041\265\101\253
+\315\271\176\166\237\276\371\076\066\064\240\073\301\366\061\021
+\105\164\223\075\127\200\305\371\211\231\312\345\253\152\324\265
+\332\101\220\020\301\326\326\102\211\302\277\364\070\022\225\114
+\124\005\367\066\344\105\203\173\024\145\326\334\014\115\321\336
+\176\014\253\073\304\025\276\072\126\246\132\157\166\151\122\251
+\172\271\310\353\152\232\135\122\320\055\012\153\065\026\011\020
+\204\320\152\312\072\006\000\067\107\344\176\127\117\077\213\353
+\147\270\210\252\305\276\123\125\262\221\304\175\271\260\205\031
+\006\170\056\333\141\032\372\205\365\112\221\241\347\026\325\216
+\242\071\337\224\270\160\037\050\077\213\374\100\136\143\203\074
+\203\052\032\231\153\317\336\131\152\073\374\157\026\327\037\375
+\112\020\353\116\202\026\072\254\047\014\123\361\255\325\044\260
+\153\003\120\301\055\074\026\335\104\064\047\032\165\373\002\003
+\001\000\001\243\102\060\100\060\035\006\003\125\035\016\004\026
+\004\024\012\205\251\167\145\005\230\174\100\201\370\017\227\054
+\070\361\012\354\074\317\060\016\006\003\125\035\017\001\001\377
+\004\004\003\002\001\006\060\017\006\003\125\035\023\001\001\377
+\004\005\060\003\001\001\377\060\015\006\011\052\206\110\206\367
+\015\001\001\013\005\000\003\202\001\001\000\114\072\243\104\254
+\271\105\261\307\223\176\310\013\012\102\337\144\352\034\356\131
+\154\010\272\211\137\152\312\112\225\236\172\217\007\305\332\105
+\162\202\161\016\072\322\314\157\247\264\241\043\273\366\044\237
+\313\027\376\214\246\316\302\322\333\314\215\374\161\374\003\051
+\301\154\135\063\137\144\266\145\073\211\157\030\166\170\365\334
+\242\110\037\031\077\216\223\353\361\372\027\356\315\116\343\004
+\022\125\326\345\344\335\373\076\005\174\342\035\136\306\247\274
+\227\117\150\072\365\351\056\012\103\266\257\127\134\142\150\174
+\267\375\243\212\204\240\254\142\276\053\011\207\064\360\152\001
+\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
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
 
-# 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
-# Fingerprint (SHA1): B8:23:6B:00:2F:1D:16:86:53:01:55:6C:11:A4:37:CA:EB:FF:C3:BB
+# Trust for "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 (SHA-256): 51:3B:2C:EC:B8:10:D4:CD:E5:DD:85:39:1A:DF:C6:C2:DD:60:D8:7B:B7:36:D2:B5:21:48:4A:A4:7A:0E:BE:F6
+# Fingerprint (SHA1): 5F:3B:8C:F2:F8:10:B3:7D:78:B4:CE:EC:19:19:C3:73:34:B9:C7:74
 CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "AffirmTrust Premium ECC"
+CKA_LABEL UTF8 "Security Communication RootCA2"
 CKA_CERT_SHA1_HASH MULTILINE_OCTAL
-\270\043\153\000\057\035\026\206\123\001\125\154\021\244\067\312
-\353\377\303\273
+\137\073\214\362\370\020\263\175\170\264\316\354\031\031\303\163
+\064\271\307\164
 END
 CKA_CERT_MD5_HASH MULTILINE_OCTAL
-\144\260\011\125\317\261\325\231\342\276\023\253\246\135\352\115
+\154\071\175\244\016\125\131\262\077\326\101\261\022\120\336\103
 END
 CKA_ISSUER MULTILINE_OCTAL
-\060\105\061\013\060\011\006\003\125\004\006\023\002\125\123\061
-\024\060\022\006\003\125\004\012\014\013\101\146\146\151\162\155
-\124\162\165\163\164\061\040\060\036\006\003\125\004\003\014\027
-\101\146\146\151\162\155\124\162\165\163\164\040\120\162\145\155
-\151\165\155\040\105\103\103
+\060\135\061\013\060\011\006\003\125\004\006\023\002\112\120\061
+\045\060\043\006\003\125\004\012\023\034\123\105\103\117\115\040
+\124\162\165\163\164\040\123\171\163\164\145\155\163\040\103\117
+\056\054\114\124\104\056\061\047\060\045\006\003\125\004\013\023
+\036\123\145\143\165\162\151\164\171\040\103\157\155\155\165\156
+\151\143\141\164\151\157\156\040\122\157\157\164\103\101\062
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\010\164\227\045\212\307\077\172\124
+\002\001\000
 END
 CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
-CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
 CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
 CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
 
 #
-# Certificate "Certum Trusted Network CA"
+# Certificate "Actalis Authentication Root 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
-# Fingerprint (SHA1): 07:E0:32:E0:20:B7:2C:3F:19:2F:06:28:A2:59:3A:19:A7:0F:06:9E
+# 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 (SHA-256): 55:92:60:84:EC:96:3A:64:B9:6E:2A:BE:01:CE:0B:A8:6A:64:FB:FE:BC:C7:AA:B5:AF:C1:55:B3:7F:D7:60:66
+# Fingerprint (SHA1): F3:73:B3:87:06:5A:28:84:8A:F2:F3:4A:CE:19:2B:DD:C7:8E:9C:AC
 CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "Certum Trusted Network CA"
+CKA_LABEL UTF8 "Actalis Authentication Root CA"
 CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
 CKA_SUBJECT MULTILINE_OCTAL
-\060\176\061\013\060\011\006\003\125\004\006\023\002\120\114\061
-\042\060\040\006\003\125\004\012\023\031\125\156\151\172\145\164
-\157\040\124\145\143\150\156\157\154\157\147\151\145\163\040\123
-\056\101\056\061\047\060\045\006\003\125\004\013\023\036\103\145
-\162\164\165\155\040\103\145\162\164\151\146\151\143\141\164\151
-\157\156\040\101\165\164\150\157\162\151\164\171\061\042\060\040
-\006\003\125\004\003\023\031\103\145\162\164\165\155\040\124\162
-\165\163\164\145\144\040\116\145\164\167\157\162\153\040\103\101
+\060\153\061\013\060\011\006\003\125\004\006\023\002\111\124\061
+\016\060\014\006\003\125\004\007\014\005\115\151\154\141\156\061
+\043\060\041\006\003\125\004\012\014\032\101\143\164\141\154\151
+\163\040\123\056\160\056\101\056\057\060\063\063\065\070\065\062
+\060\071\066\067\061\047\060\045\006\003\125\004\003\014\036\101
+\143\164\141\154\151\163\040\101\165\164\150\145\156\164\151\143
+\141\164\151\157\156\040\122\157\157\164\040\103\101
 END
 CKA_ID UTF8 "0"
 CKA_ISSUER MULTILINE_OCTAL
-\060\176\061\013\060\011\006\003\125\004\006\023\002\120\114\061
-\042\060\040\006\003\125\004\012\023\031\125\156\151\172\145\164
-\157\040\124\145\143\150\156\157\154\157\147\151\145\163\040\123
-\056\101\056\061\047\060\045\006\003\125\004\013\023\036\103\145
-\162\164\165\155\040\103\145\162\164\151\146\151\143\141\164\151
-\157\156\040\101\165\164\150\157\162\151\164\171\061\042\060\040
-\006\003\125\004\003\023\031\103\145\162\164\165\155\040\124\162
-\165\163\164\145\144\040\116\145\164\167\157\162\153\040\103\101
+\060\153\061\013\060\011\006\003\125\004\006\023\002\111\124\061
+\016\060\014\006\003\125\004\007\014\005\115\151\154\141\156\061
+\043\060\041\006\003\125\004\012\014\032\101\143\164\141\154\151
+\163\040\123\056\160\056\101\056\057\060\063\063\065\070\065\062
+\060\071\066\067\061\047\060\045\006\003\125\004\003\014\036\101
+\143\164\141\154\151\163\040\101\165\164\150\145\156\164\151\143
+\141\164\151\157\156\040\122\157\157\164\040\103\101
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\003\004\104\300
+\002\010\127\012\021\227\102\304\343\314
 END
 CKA_VALUE MULTILINE_OCTAL
-\060\202\003\273\060\202\002\243\240\003\002\001\002\002\003\004
-\104\300\060\015\006\011\052\206\110\206\367\015\001\001\005\005
-\000\060\176\061\013\060\011\006\003\125\004\006\023\002\120\114
-\061\042\060\040\006\003\125\004\012\023\031\125\156\151\172\145
-\164\157\040\124\145\143\150\156\157\154\157\147\151\145\163\040
-\123\056\101\056\061\047\060\045\006\003\125\004\013\023\036\103
-\145\162\164\165\155\040\103\145\162\164\151\146\151\143\141\164
-\151\157\156\040\101\165\164\150\157\162\151\164\171\061\042\060
-\040\006\003\125\004\003\023\031\103\145\162\164\165\155\040\124
-\162\165\163\164\145\144\040\116\145\164\167\157\162\153\040\103
-\101\060\036\027\015\060\070\061\060\062\062\061\062\060\067\063
-\067\132\027\015\062\071\061\062\063\061\061\062\060\067\063\067
-\132\060\176\061\013\060\011\006\003\125\004\006\023\002\120\114
-\061\042\060\040\006\003\125\004\012\023\031\125\156\151\172\145
-\164\157\040\124\145\143\150\156\157\154\157\147\151\145\163\040
-\123\056\101\056\061\047\060\045\006\003\125\004\013\023\036\103
-\145\162\164\165\155\040\103\145\162\164\151\146\151\143\141\164
-\151\157\156\040\101\165\164\150\157\162\151\164\171\061\042\060
-\040\006\003\125\004\003\023\031\103\145\162\164\165\155\040\124
-\162\165\163\164\145\144\040\116\145\164\167\157\162\153\040\103
-\101\060\202\001\042\060\015\006\011\052\206\110\206\367\015\001
-\001\001\005\000\003\202\001\017\000\060\202\001\012\002\202\001
-\001\000\343\373\175\243\162\272\302\360\311\024\207\365\153\001
-\116\341\156\100\007\272\155\047\135\177\367\133\055\263\132\307
-\121\137\253\244\062\246\141\207\266\156\017\206\322\060\002\227
-\370\327\151\127\241\030\071\135\152\144\171\306\001\131\254\074
-\061\112\070\174\322\004\322\113\050\350\040\137\073\007\242\314
-\115\163\333\363\256\117\307\126\325\132\247\226\211\372\363\253
-\150\324\043\206\131\047\317\011\047\274\254\156\162\203\034\060
-\162\337\340\242\351\322\341\164\165\031\275\052\236\173\025\124
-\004\033\327\103\071\255\125\050\305\342\032\273\364\300\344\256
-\070\111\063\314\166\205\237\071\105\322\244\236\362\022\214\121
-\370\174\344\055\177\365\254\137\353\026\237\261\055\321\272\314
-\221\102\167\114\045\311\220\070\157\333\360\314\373\216\036\227
-\131\076\325\140\116\346\005\050\355\111\171\023\113\272\110\333
-\057\371\162\323\071\312\376\037\330\064\162\365\264\100\317\061
-\001\303\354\336\021\055\027\135\037\270\120\321\136\031\247\151
-\336\007\063\050\312\120\225\371\247\124\313\124\206\120\105\251
-\371\111\002\003\001\000\001\243\102\060\100\060\017\006\003\125
-\035\023\001\001\377\004\005\060\003\001\001\377\060\035\006\003
-\125\035\016\004\026\004\024\010\166\315\313\007\377\044\366\305
-\315\355\273\220\274\342\204\067\106\165\367\060\016\006\003\125
+\060\202\005\273\060\202\003\243\240\003\002\001\002\002\010\127
+\012\021\227\102\304\343\314\060\015\006\011\052\206\110\206\367
+\015\001\001\013\005\000\060\153\061\013\060\011\006\003\125\004
+\006\023\002\111\124\061\016\060\014\006\003\125\004\007\014\005
+\115\151\154\141\156\061\043\060\041\006\003\125\004\012\014\032
+\101\143\164\141\154\151\163\040\123\056\160\056\101\056\057\060
+\063\063\065\070\065\062\060\071\066\067\061\047\060\045\006\003
+\125\004\003\014\036\101\143\164\141\154\151\163\040\101\165\164
+\150\145\156\164\151\143\141\164\151\157\156\040\122\157\157\164
+\040\103\101\060\036\027\015\061\061\060\071\062\062\061\061\062
+\062\060\062\132\027\015\063\060\060\071\062\062\061\061\062\062
+\060\062\132\060\153\061\013\060\011\006\003\125\004\006\023\002
+\111\124\061\016\060\014\006\003\125\004\007\014\005\115\151\154
+\141\156\061\043\060\041\006\003\125\004\012\014\032\101\143\164
+\141\154\151\163\040\123\056\160\056\101\056\057\060\063\063\065
+\070\065\062\060\071\066\067\061\047\060\045\006\003\125\004\003
+\014\036\101\143\164\141\154\151\163\040\101\165\164\150\145\156
+\164\151\143\141\164\151\157\156\040\122\157\157\164\040\103\101
+\060\202\002\042\060\015\006\011\052\206\110\206\367\015\001\001
+\001\005\000\003\202\002\017\000\060\202\002\012\002\202\002\001
+\000\247\306\304\245\051\244\054\357\345\030\305\260\120\243\157
+\121\073\237\012\132\311\302\110\070\012\302\034\240\030\177\221
+\265\207\271\100\077\335\035\150\037\010\203\325\055\036\210\240
+\370\217\126\217\155\231\002\222\220\026\325\137\010\154\211\327
+\341\254\274\040\302\261\340\203\121\212\151\115\000\226\132\157
+\057\300\104\176\243\016\344\221\315\130\356\334\373\307\036\105
+\107\335\047\271\010\001\237\246\041\035\365\101\055\057\114\375
+\050\255\340\212\255\042\264\126\145\216\206\124\217\223\103\051
+\336\071\106\170\243\060\043\272\315\360\175\023\127\300\135\322
+\203\153\110\114\304\253\237\200\132\133\072\275\311\247\042\077
+\200\047\063\133\016\267\212\014\135\007\067\010\313\154\322\172
+\107\042\104\065\305\314\314\056\216\335\052\355\267\175\146\015
+\137\141\121\042\125\033\343\106\343\343\075\320\065\142\232\333
+\257\024\310\133\241\314\211\033\341\060\046\374\240\233\037\201
+\247\107\037\004\353\243\071\222\006\237\231\323\277\323\352\117
+\120\234\031\376\226\207\036\074\145\366\243\030\044\203\206\020
+\347\124\076\250\072\166\044\117\201\041\305\343\017\002\370\223
+\224\107\040\273\376\324\016\323\150\271\335\304\172\204\202\343
+\123\124\171\335\333\234\322\362\007\233\056\266\274\076\355\205
+\155\357\045\021\362\227\032\102\141\367\112\227\350\213\261\020
+\007\372\145\201\262\242\071\317\367\074\377\030\373\306\361\132
+\213\131\342\002\254\173\222\320\116\024\117\131\105\366\014\136
+\050\137\260\350\077\105\317\317\257\233\157\373\204\323\167\132
+\225\157\254\224\204\236\356\274\300\112\217\112\223\370\104\041
+\342\061\105\141\120\116\020\330\343\065\174\114\031\264\336\005
+\277\243\006\237\310\265\315\344\037\327\027\006\015\172\225\164
+\125\015\150\032\374\020\033\142\144\235\155\340\225\240\303\224
+\007\127\015\024\346\275\005\373\270\237\346\337\213\342\306\347
+\176\226\366\123\305\200\064\120\050\130\360\022\120\161\027\060
+\272\346\170\143\274\364\262\255\233\053\262\376\341\071\214\136
+\272\013\040\224\336\173\203\270\377\343\126\215\267\021\351\073
+\214\362\261\301\135\235\244\013\114\053\331\262\030\365\265\237
+\113\002\003\001\000\001\243\143\060\141\060\035\006\003\125\035
+\016\004\026\004\024\122\330\210\072\310\237\170\146\355\211\363
+\173\070\160\224\311\002\002\066\320\060\017\006\003\125\035\023
+\001\001\377\004\005\060\003\001\001\377\060\037\006\003\125\035
+\043\004\030\060\026\200\024\122\330\210\072\310\237\170\146\355
+\211\363\173\070\160\224\311\002\002\066\320\060\016\006\003\125
 \035\017\001\001\377\004\004\003\002\001\006\060\015\006\011\052
-\206\110\206\367\015\001\001\005\005\000\003\202\001\001\000\246
-\250\255\042\316\001\075\246\243\377\142\320\110\235\213\136\162
-\260\170\104\343\334\034\257\011\375\043\110\372\275\052\304\271
-\125\004\265\020\243\215\047\336\013\202\143\320\356\336\014\067
-\171\101\133\042\262\260\232\101\134\246\160\340\324\320\167\313
-\043\323\000\340\154\126\057\341\151\015\015\331\252\277\041\201
-\120\331\006\245\250\377\225\067\320\252\376\342\263\365\231\055
-\105\204\212\345\102\011\327\164\002\057\367\211\330\231\351\274
-\047\324\107\215\272\015\106\034\167\317\024\244\034\271\244\061
-\304\234\050\164\003\064\377\063\031\046\245\351\015\164\267\076
-\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
+\206\110\206\367\015\001\001\013\005\000\003\202\002\001\000\013
+\173\162\207\300\140\246\111\114\210\130\346\035\210\367\024\144
+\110\246\330\130\012\016\117\023\065\337\065\035\324\355\006\061
+\310\201\076\152\325\335\073\032\062\356\220\075\021\322\056\364
+\216\303\143\056\043\146\260\147\276\157\266\300\023\071\140\252
+\242\064\045\223\165\122\336\247\235\255\016\207\211\122\161\152
+\026\074\031\035\203\370\232\051\145\276\364\077\232\331\360\363
+\132\207\041\161\200\115\313\340\070\233\077\273\372\340\060\115
+\317\206\323\145\020\031\030\321\227\002\261\053\162\102\150\254
+\240\275\116\132\332\030\277\153\230\201\320\375\232\276\136\025
+\110\315\021\025\271\300\051\134\264\350\210\367\076\066\256\267
+\142\375\036\142\336\160\170\020\034\110\133\332\274\244\070\272
+\147\355\125\076\136\127\337\324\003\100\114\201\244\322\117\143
+\247\011\102\011\024\374\000\251\302\200\163\117\056\300\100\331
+\021\173\110\352\172\002\300\323\353\050\001\046\130\164\301\300
+\163\042\155\223\225\375\071\175\273\052\343\366\202\343\054\227
+\137\116\037\221\224\372\376\054\243\330\166\032\270\115\262\070
+\117\233\372\035\110\140\171\046\342\363\375\251\320\232\350\160
+\217\111\172\326\345\275\012\016\333\055\363\215\277\353\343\244
+\175\313\307\225\161\350\332\243\174\305\302\370\164\222\004\033
+\206\254\244\042\123\100\266\254\376\114\166\317\373\224\062\300
+\065\237\166\077\156\345\220\156\240\246\046\242\270\054\276\321
+\053\205\375\247\150\310\272\001\053\261\154\164\035\270\163\225
+\347\356\267\307\045\360\000\114\000\262\176\266\013\213\034\363
+\300\120\236\045\271\340\010\336\066\146\377\067\245\321\273\124
+\144\054\311\047\265\113\222\176\145\377\323\055\341\271\116\274
+\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
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
 
-# 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
-# Fingerprint (SHA1): 07:E0:32:E0:20:B7:2C:3F:19:2F:06:28:A2:59:3A:19:A7:0F:06:9E
+# 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 (SHA-256): 55:92:60:84:EC:96:3A:64:B9:6E:2A:BE:01:CE:0B:A8:6A:64:FB:FE:BC:C7:AA:B5:AF:C1:55:B3:7F:D7:60:66
+# Fingerprint (SHA1): F3:73:B3:87:06:5A:28:84:8A:F2:F3:4A:CE:19:2B:DD:C7:8E:9C:AC
 CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "Certum Trusted Network CA"
+CKA_LABEL UTF8 "Actalis Authentication Root CA"
 CKA_CERT_SHA1_HASH MULTILINE_OCTAL
-\007\340\062\340\040\267\054\077\031\057\006\050\242\131\072\031
-\247\017\006\236
+\363\163\263\207\006\132\050\204\212\362\363\112\316\031\053\335
+\307\216\234\254
 END
 CKA_CERT_MD5_HASH MULTILINE_OCTAL
-\325\351\201\100\305\030\151\374\106\054\211\165\142\017\252\170
+\151\301\015\117\007\243\033\303\376\126\075\004\274\021\366\246
 END
 CKA_ISSUER MULTILINE_OCTAL
-\060\176\061\013\060\011\006\003\125\004\006\023\002\120\114\061
-\042\060\040\006\003\125\004\012\023\031\125\156\151\172\145\164
-\157\040\124\145\143\150\156\157\154\157\147\151\145\163\040\123
-\056\101\056\061\047\060\045\006\003\125\004\013\023\036\103\145
-\162\164\165\155\040\103\145\162\164\151\146\151\143\141\164\151
-\157\156\040\101\165\164\150\157\162\151\164\171\061\042\060\040
-\006\003\125\004\003\023\031\103\145\162\164\165\155\040\124\162
-\165\163\164\145\144\040\116\145\164\167\157\162\153\040\103\101
+\060\153\061\013\060\011\006\003\125\004\006\023\002\111\124\061
+\016\060\014\006\003\125\004\007\014\005\115\151\154\141\156\061
+\043\060\041\006\003\125\004\012\014\032\101\143\164\141\154\151
+\163\040\123\056\160\056\101\056\057\060\063\063\065\070\065\062
+\060\071\066\067\061\047\060\045\006\003\125\004\003\014\036\101
+\143\164\141\154\151\163\040\101\165\164\150\145\156\164\151\143
+\141\164\151\157\156\040\122\157\157\164\040\103\101
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\003\004\104\300
+\002\010\127\012\021\227\102\304\343\314
 END
 CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
 CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
@@ -11114,810 +7203,612 @@ CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
 CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
 
 #
-# Certificate "TWCA Root Certification Authority"
+# Certificate "Buypass Class 2 Root CA"
 #
-# 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
-# Fingerprint (SHA1): CF:9E:87:6D:D3:EB:FC:42:26:97:A3:B5:A3:7A:A0:76:A9:06:23:48
+# 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 (SHA-256): 9A:11:40:25:19:7C:5B:B9:5D:94:E6:3D:55:CD:43:79:08:47:B6:46:B2:3C:DF:11:AD:A4:A0:0E:FF:15:FB:48
+# Fingerprint (SHA1): 49:0A:75:74:DE:87:0A:47:FE:58:EE:F6:C7:6B:EB:C6:0B:12:40:99
 CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "TWCA Root Certification Authority"
+CKA_LABEL UTF8 "Buypass Class 2 Root CA"
 CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
 CKA_SUBJECT MULTILINE_OCTAL
-\060\137\061\013\060\011\006\003\125\004\006\023\002\124\127\061
-\022\060\020\006\003\125\004\012\014\011\124\101\111\127\101\116
-\055\103\101\061\020\060\016\006\003\125\004\013\014\007\122\157
-\157\164\040\103\101\061\052\060\050\006\003\125\004\003\014\041
-\124\127\103\101\040\122\157\157\164\040\103\145\162\164\151\146
-\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164
-\171
+\060\116\061\013\060\011\006\003\125\004\006\023\002\116\117\061
+\035\060\033\006\003\125\004\012\014\024\102\165\171\160\141\163
+\163\040\101\123\055\071\070\063\061\066\063\063\062\067\061\040
+\060\036\006\003\125\004\003\014\027\102\165\171\160\141\163\163
+\040\103\154\141\163\163\040\062\040\122\157\157\164\040\103\101
 END
 CKA_ID UTF8 "0"
 CKA_ISSUER MULTILINE_OCTAL
-\060\137\061\013\060\011\006\003\125\004\006\023\002\124\127\061
-\022\060\020\006\003\125\004\012\014\011\124\101\111\127\101\116
-\055\103\101\061\020\060\016\006\003\125\004\013\014\007\122\157
-\157\164\040\103\101\061\052\060\050\006\003\125\004\003\014\041
-\124\127\103\101\040\122\157\157\164\040\103\145\162\164\151\146
-\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164
-\171
+\060\116\061\013\060\011\006\003\125\004\006\023\002\116\117\061
+\035\060\033\006\003\125\004\012\014\024\102\165\171\160\141\163
+\163\040\101\123\055\071\070\063\061\066\063\063\062\067\061\040
+\060\036\006\003\125\004\003\014\027\102\165\171\160\141\163\163
+\040\103\154\141\163\163\040\062\040\122\157\157\164\040\103\101
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\001\001
+\002\001\002
 END
 CKA_VALUE MULTILINE_OCTAL
-\060\202\003\173\060\202\002\143\240\003\002\001\002\002\001\001
-\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060
-\137\061\013\060\011\006\003\125\004\006\023\002\124\127\061\022
-\060\020\006\003\125\004\012\014\011\124\101\111\127\101\116\055
-\103\101\061\020\060\016\006\003\125\004\013\014\007\122\157\157
-\164\040\103\101\061\052\060\050\006\003\125\004\003\014\041\124
-\127\103\101\040\122\157\157\164\040\103\145\162\164\151\146\151
-\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164\171
-\060\036\027\015\060\070\060\070\062\070\060\067\062\064\063\063
-\132\027\015\063\060\061\062\063\061\061\065\065\071\065\071\132
-\060\137\061\013\060\011\006\003\125\004\006\023\002\124\127\061
-\022\060\020\006\003\125\004\012\014\011\124\101\111\127\101\116
-\055\103\101\061\020\060\016\006\003\125\004\013\014\007\122\157
-\157\164\040\103\101\061\052\060\050\006\003\125\004\003\014\041
-\124\127\103\101\040\122\157\157\164\040\103\145\162\164\151\146
-\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164
-\171\060\202\001\042\060\015\006\011\052\206\110\206\367\015\001
-\001\001\005\000\003\202\001\017\000\060\202\001\012\002\202\001
-\001\000\260\176\162\270\244\003\224\346\247\336\011\070\221\112
-\021\100\207\247\174\131\144\024\173\265\021\020\335\376\277\325
-\300\273\126\342\205\045\364\065\162\017\370\123\320\101\341\104
-\001\302\264\034\303\061\102\026\107\205\063\042\166\262\012\157
-\017\345\045\120\117\205\206\276\277\230\056\020\147\036\276\021
-\005\206\005\220\304\131\320\174\170\020\260\200\134\267\341\307
-\053\165\313\174\237\256\265\321\235\043\067\143\247\334\102\242
-\055\222\004\033\120\301\173\270\076\033\311\126\004\213\057\122
-\233\255\251\126\351\301\377\255\251\130\207\060\266\201\367\227
-\105\374\031\127\073\053\157\344\107\364\231\105\376\035\361\370
-\227\243\210\035\067\034\134\217\340\166\045\232\120\370\240\124
-\377\104\220\166\043\322\062\306\303\253\006\277\374\373\277\363
-\255\175\222\142\002\133\051\323\065\243\223\232\103\144\140\135
-\262\372\062\377\073\004\257\115\100\152\371\307\343\357\043\375
-\153\313\345\017\213\070\015\356\012\374\376\017\230\237\060\061
-\335\154\122\145\371\213\201\276\042\341\034\130\003\272\221\033
-\211\007\002\003\001\000\001\243\102\060\100\060\016\006\003\125
-\035\017\001\001\377\004\004\003\002\001\006\060\017\006\003\125
-\035\023\001\001\377\004\005\060\003\001\001\377\060\035\006\003
-\125\035\016\004\026\004\024\152\070\133\046\215\336\213\132\362
-\117\172\124\203\031\030\343\010\065\246\272\060\015\006\011\052
-\206\110\206\367\015\001\001\005\005\000\003\202\001\001\000\074
-\325\167\075\332\337\211\272\207\014\010\124\152\040\120\222\276
-\260\101\075\271\046\144\203\012\057\350\100\300\227\050\047\202
-\060\112\311\223\377\152\347\246\000\177\211\102\232\326\021\345
-\123\316\057\314\362\332\005\304\376\342\120\304\072\206\175\314
-\332\176\020\011\073\222\065\052\123\262\376\353\053\005\331\154
-\135\346\320\357\323\152\146\236\025\050\205\172\350\202\000\254
-\036\247\011\151\126\102\323\150\121\030\276\124\232\277\104\101
-\272\111\276\040\272\151\134\356\270\167\315\316\154\037\255\203
-\226\030\175\016\265\024\071\204\361\050\351\055\243\236\173\036
-\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
+\060\202\005\131\060\202\003\101\240\003\002\001\002\002\001\002
+\060\015\006\011\052\206\110\206\367\015\001\001\013\005\000\060
+\116\061\013\060\011\006\003\125\004\006\023\002\116\117\061\035
+\060\033\006\003\125\004\012\014\024\102\165\171\160\141\163\163
+\040\101\123\055\071\070\063\061\066\063\063\062\067\061\040\060
+\036\006\003\125\004\003\014\027\102\165\171\160\141\163\163\040
+\103\154\141\163\163\040\062\040\122\157\157\164\040\103\101\060
+\036\027\015\061\060\061\060\062\066\060\070\063\070\060\063\132
+\027\015\064\060\061\060\062\066\060\070\063\070\060\063\132\060
+\116\061\013\060\011\006\003\125\004\006\023\002\116\117\061\035
+\060\033\006\003\125\004\012\014\024\102\165\171\160\141\163\163
+\040\101\123\055\071\070\063\061\066\063\063\062\067\061\040\060
+\036\006\003\125\004\003\014\027\102\165\171\160\141\163\163\040
+\103\154\141\163\163\040\062\040\122\157\157\164\040\103\101\060
+\202\002\042\060\015\006\011\052\206\110\206\367\015\001\001\001
+\005\000\003\202\002\017\000\060\202\002\012\002\202\002\001\000
+\327\307\136\367\301\007\324\167\373\103\041\364\364\365\151\344
+\356\062\001\333\243\206\037\344\131\015\272\347\165\203\122\353
+\352\034\141\025\110\273\035\007\312\214\256\260\334\226\235\352
+\303\140\222\206\202\050\163\234\126\006\377\113\144\360\014\052
+\067\111\265\345\317\014\174\356\361\112\273\163\060\145\363\325
+\057\203\266\176\343\347\365\236\253\140\371\323\361\235\222\164
+\212\344\034\226\254\133\200\351\265\364\061\207\243\121\374\307
+\176\241\157\216\123\167\324\227\301\125\063\222\076\030\057\165
+\324\255\206\111\313\225\257\124\006\154\330\006\023\215\133\377
+\341\046\031\131\300\044\272\201\161\171\220\104\120\150\044\224
+\137\270\263\021\361\051\101\141\243\101\313\043\066\325\301\361
+\062\120\020\116\177\364\206\223\354\204\323\216\274\113\277\134
+\001\116\007\075\334\024\212\224\012\244\352\163\373\013\121\350
+\023\007\030\372\016\361\053\321\124\025\175\074\341\367\264\031
+\102\147\142\136\167\340\242\125\354\266\331\151\027\325\072\257
+\104\355\112\305\236\344\172\047\174\345\165\327\252\313\045\347
+\337\153\012\333\017\115\223\116\250\240\315\173\056\362\131\001
+\152\267\015\270\007\201\176\213\070\033\070\346\012\127\231\075
+\356\041\350\243\365\014\026\335\213\354\064\216\234\052\034\000
+\025\027\215\150\203\322\160\237\030\010\315\021\150\325\311\153
+\122\315\304\106\217\334\265\363\330\127\163\036\351\224\071\004
+\277\323\336\070\336\264\123\354\151\034\242\176\304\217\344\033
+\160\255\362\242\371\373\367\026\144\146\151\237\111\121\242\342
+\025\030\147\006\112\177\325\154\265\115\263\063\340\141\353\135
+\276\351\230\017\062\327\035\113\074\056\132\001\122\221\011\362
+\337\352\215\330\006\100\143\252\021\344\376\303\067\236\024\122
+\077\364\342\314\362\141\223\321\375\147\153\327\122\256\277\150
+\253\100\103\240\127\065\123\170\360\123\370\141\102\007\144\306
+\327\157\233\114\070\015\143\254\142\257\066\213\242\163\012\015
+\365\041\275\164\252\115\352\162\003\111\333\307\137\035\142\143
+\307\375\335\221\354\063\356\365\155\264\156\060\150\336\310\326
+\046\260\165\136\173\264\007\040\230\241\166\062\270\115\154\117
+\002\003\001\000\001\243\102\060\100\060\017\006\003\125\035\023
+\001\001\377\004\005\060\003\001\001\377\060\035\006\003\125\035
+\016\004\026\004\024\311\200\167\340\142\222\202\365\106\234\363
+\272\367\114\303\336\270\243\255\071\060\016\006\003\125\035\017
+\001\001\377\004\004\003\002\001\006\060\015\006\011\052\206\110
+\206\367\015\001\001\013\005\000\003\202\002\001\000\123\137\041
+\365\272\260\072\122\071\054\222\260\154\000\311\357\316\040\357
+\006\362\226\236\351\244\164\177\172\026\374\267\365\266\373\025
+\033\077\253\246\300\162\135\020\261\161\356\274\117\343\255\254
+\003\155\056\161\056\257\304\343\255\243\275\014\021\247\264\377
+\112\262\173\020\020\037\247\127\101\262\300\256\364\054\131\326
+\107\020\210\363\041\121\051\060\312\140\206\257\106\253\035\355
+\072\133\260\224\336\104\343\101\010\242\301\354\035\326\375\117
+\266\326\107\320\024\013\312\346\312\265\173\167\176\101\037\136
+\203\307\266\214\071\226\260\077\226\201\101\157\140\220\342\350
+\371\373\042\161\331\175\263\075\106\277\264\204\257\220\034\017
+\217\022\152\257\357\356\036\172\256\002\112\212\027\053\166\376
+\254\124\211\044\054\117\077\266\262\247\116\214\250\221\227\373
+\051\306\173\134\055\271\313\146\266\267\250\133\022\121\205\265
+\011\176\142\170\160\376\251\152\140\266\035\016\171\014\375\312
+\352\044\200\162\303\227\077\362\167\253\103\042\012\307\353\266
+\014\204\202\054\200\153\101\212\010\300\353\245\153\337\231\022
+\313\212\325\136\200\014\221\340\046\010\066\110\305\372\070\021
+\065\377\045\203\055\362\172\277\332\375\216\376\245\313\105\054
+\037\304\210\123\256\167\016\331\232\166\305\216\054\035\243\272
+\325\354\062\256\300\252\254\367\321\172\115\353\324\007\342\110
+\367\042\216\260\244\237\152\316\216\262\262\140\364\243\042\320
+\043\353\224\132\172\151\335\017\277\100\127\254\153\131\120\331
+\243\231\341\156\376\215\001\171\047\043\025\336\222\235\173\011
+\115\132\347\113\110\060\132\030\346\012\155\346\217\340\322\273
+\346\337\174\156\041\202\301\150\071\115\264\230\130\146\142\314
+\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
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
 
-# 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
-# Fingerprint (SHA1): CF:9E:87:6D:D3:EB:FC:42:26:97:A3:B5:A3:7A:A0:76:A9:06:23:48
+# 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 (SHA-256): 9A:11:40:25:19:7C:5B:B9:5D:94:E6:3D:55:CD:43:79:08:47:B6:46:B2:3C:DF:11:AD:A4:A0:0E:FF:15:FB:48
+# Fingerprint (SHA1): 49:0A:75:74:DE:87:0A:47:FE:58:EE:F6:C7:6B:EB:C6:0B:12:40:99
 CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "TWCA Root Certification Authority"
+CKA_LABEL UTF8 "Buypass Class 2 Root CA"
 CKA_CERT_SHA1_HASH MULTILINE_OCTAL
-\317\236\207\155\323\353\374\102\046\227\243\265\243\172\240\166
-\251\006\043\110
+\111\012\165\164\336\207\012\107\376\130\356\366\307\153\353\306
+\013\022\100\231
 END
 CKA_CERT_MD5_HASH MULTILINE_OCTAL
-\252\010\217\366\371\173\267\362\261\247\036\233\352\352\275\171
+\106\247\322\376\105\373\144\132\250\131\220\233\170\104\233\051
 END
 CKA_ISSUER MULTILINE_OCTAL
-\060\137\061\013\060\011\006\003\125\004\006\023\002\124\127\061
-\022\060\020\006\003\125\004\012\014\011\124\101\111\127\101\116
-\055\103\101\061\020\060\016\006\003\125\004\013\014\007\122\157
-\157\164\040\103\101\061\052\060\050\006\003\125\004\003\014\041
-\124\127\103\101\040\122\157\157\164\040\103\145\162\164\151\146
-\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164
-\171
+\060\116\061\013\060\011\006\003\125\004\006\023\002\116\117\061
+\035\060\033\006\003\125\004\012\014\024\102\165\171\160\141\163
+\163\040\101\123\055\071\070\063\061\066\063\063\062\067\061\040
+\060\036\006\003\125\004\003\014\027\102\165\171\160\141\163\163
+\040\103\154\141\163\163\040\062\040\122\157\157\164\040\103\101
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\001\001
+\002\001\002
 END
 CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
-CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
 CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
 CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
 
 #
-# Certificate "Explicitly Distrust DigiNotar Root CA"
+# Certificate "Buypass Class 3 Root CA"
 #
-# Issuer: E=info@diginotar.nl,CN=DigiNotar Root CA,O=DigiNotar,C=NL
-# Serial Number:0f:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff
-# Subject: E=info@diginotar.nl,CN=DigiNotar Root CA,O=DigiNotar,C=NL
-# Not Valid Before: Fri Jul 27 17:19:37 2007
-# Not Valid After : Mon Mar 31 18:19:22 2025
-# Fingerprint (MD5): 0A:A4:D5:CC:BA:B4:FB:A3:59:E3:E6:01:DD:53:D9:4E
-# Fingerprint (SHA1): C1:77:CB:4B:E0:B4:26:8E:F5:C7:CF:45:99:22:B9:B0:CE:BA:21:2F
+# 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 (SHA-256): ED:F7:EB:BC:A2:7A:2A:38:4D:38:7B:7D:40:10:C6:66:E2:ED:B4:84:3E:4C:29:B4:AE:1D:5B:93:32:E6:B2:4D
+# Fingerprint (SHA1): DA:FA:F7:FA:66:84:EC:06:8F:14:50:BD:C7:C2:81:A5:BC:A9:64:57
 CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "Explicitly Distrust DigiNotar Root CA"
+CKA_LABEL UTF8 "Buypass Class 3 Root CA"
 CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
 CKA_SUBJECT MULTILINE_OCTAL
-\060\137\061\013\060\011\006\003\125\004\006\023\002\116\114\061
-\022\060\020\006\003\125\004\012\023\011\104\151\147\151\116\157
-\164\141\162\061\032\060\030\006\003\125\004\003\023\021\104\151
-\147\151\116\157\164\141\162\040\122\157\157\164\040\103\101\061
-\040\060\036\006\011\052\206\110\206\367\015\001\011\001\026\021
-\151\156\146\157\100\144\151\147\151\156\157\164\141\162\056\156
-\154
+\060\116\061\013\060\011\006\003\125\004\006\023\002\116\117\061
+\035\060\033\006\003\125\004\012\014\024\102\165\171\160\141\163
+\163\040\101\123\055\071\070\063\061\066\063\063\062\067\061\040
+\060\036\006\003\125\004\003\014\027\102\165\171\160\141\163\163
+\040\103\154\141\163\163\040\063\040\122\157\157\164\040\103\101
 END
 CKA_ID UTF8 "0"
 CKA_ISSUER MULTILINE_OCTAL
-\060\137\061\013\060\011\006\003\125\004\006\023\002\116\114\061
-\022\060\020\006\003\125\004\012\023\011\104\151\147\151\116\157
-\164\141\162\061\032\060\030\006\003\125\004\003\023\021\104\151
-\147\151\116\157\164\141\162\040\122\157\157\164\040\103\101\061
-\040\060\036\006\011\052\206\110\206\367\015\001\011\001\026\021
-\151\156\146\157\100\144\151\147\151\156\157\164\141\162\056\156
-\154
+\060\116\061\013\060\011\006\003\125\004\006\023\002\116\117\061
+\035\060\033\006\003\125\004\012\014\024\102\165\171\160\141\163
+\163\040\101\123\055\071\070\063\061\066\063\063\062\067\061\040
+\060\036\006\003\125\004\003\014\027\102\165\171\160\141\163\163
+\040\103\154\141\163\163\040\063\040\122\157\157\164\040\103\101
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\020\017\377\377\377\377\377\377\377\377\377\377\377\377\377
-\377\377
+\002\001\002
 END
 CKA_VALUE MULTILINE_OCTAL
-\060\202\005\212\060\202\003\162\240\003\002\001\002\002\020\017
-\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\060
-\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060\137
-\061\013\060\011\006\003\125\004\006\023\002\116\114\061\022\060
-\020\006\003\125\004\012\023\011\104\151\147\151\116\157\164\141
-\162\061\032\060\030\006\003\125\004\003\023\021\104\151\147\151
-\116\157\164\141\162\040\122\157\157\164\040\103\101\061\040\060
-\036\006\011\052\206\110\206\367\015\001\011\001\026\021\151\156
-\146\157\100\144\151\147\151\156\157\164\141\162\056\156\154\060
-\036\027\015\060\067\060\067\062\067\061\067\061\071\063\067\132
-\027\015\062\065\060\063\063\061\061\070\061\071\062\062\132\060
-\137\061\013\060\011\006\003\125\004\006\023\002\116\114\061\022
-\060\020\006\003\125\004\012\023\011\104\151\147\151\116\157\164
-\141\162\061\032\060\030\006\003\125\004\003\023\021\104\151\147
-\151\116\157\164\141\162\040\122\157\157\164\040\103\101\061\040
-\060\036\006\011\052\206\110\206\367\015\001\011\001\026\021\151
-\156\146\157\100\144\151\147\151\156\157\164\141\162\056\156\154
-\060\202\002\042\060\015\006\011\052\206\110\206\367\015\001\001
-\001\005\000\003\202\002\017\000\060\202\002\012\002\202\002\001
-\000\254\260\130\301\000\275\330\041\010\013\053\232\376\156\126
-\060\005\237\033\167\220\020\101\134\303\015\207\021\167\216\201
-\361\312\174\351\214\152\355\070\164\065\273\332\337\371\273\300
-\011\067\264\226\163\201\175\063\032\230\071\367\223\157\225\177
-\075\271\261\165\207\272\121\110\350\213\160\076\225\004\305\330
-\266\303\026\331\210\260\261\207\035\160\332\206\264\017\024\213
-\172\317\020\321\164\066\242\022\173\167\206\112\171\346\173\337
-\002\021\150\245\116\206\256\064\130\233\044\023\170\126\042\045
-\036\001\213\113\121\161\373\202\314\131\226\151\210\132\150\123
-\305\271\015\002\067\313\113\274\146\112\220\176\052\013\005\007
-\355\026\137\125\220\165\330\106\311\033\203\342\010\276\361\043
-\314\231\035\326\052\017\203\040\025\130\047\202\056\372\342\042
-\302\111\261\271\001\201\152\235\155\235\100\167\150\166\116\041
-\052\155\204\100\205\116\166\231\174\202\363\363\267\002\131\324
-\046\001\033\216\337\255\123\006\321\256\030\335\342\262\072\313
-\327\210\070\216\254\133\051\271\031\323\230\371\030\003\317\110
-\202\206\146\013\033\151\017\311\353\070\210\172\046\032\005\114
-\222\327\044\324\226\362\254\122\055\243\107\325\122\366\077\376
-\316\204\006\160\246\252\076\242\362\266\126\064\030\127\242\344
-\201\155\347\312\360\152\323\307\221\153\002\203\101\174\025\357
-\153\232\144\136\343\320\074\345\261\353\173\135\206\373\313\346
-\167\111\315\243\145\334\367\271\234\270\344\013\137\223\317\314
-\060\032\062\034\316\034\143\225\245\371\352\341\164\213\236\351
-\053\251\060\173\240\030\037\016\030\013\345\133\251\323\321\154
-\036\007\147\217\221\113\251\212\274\322\146\252\223\001\210\262
-\221\372\061\134\325\246\301\122\010\011\315\012\143\242\323\042
-\246\350\241\331\071\006\227\365\156\215\002\220\214\024\173\077
-\200\315\033\234\272\304\130\162\043\257\266\126\237\306\172\102
-\063\051\007\077\202\311\346\037\005\015\315\114\050\066\213\323
-\310\076\034\306\210\357\136\356\211\144\351\035\353\332\211\176
-\062\246\151\321\335\314\210\237\321\320\311\146\041\334\006\147
-\305\224\172\232\155\142\114\175\314\340\144\200\262\236\107\216
-\243\002\003\001\000\001\243\102\060\100\060\017\006\003\125\035
-\023\001\001\377\004\005\060\003\001\001\377\060\016\006\003\125
-\035\017\001\001\377\004\004\003\002\001\006\060\035\006\003\125
-\035\016\004\026\004\024\210\150\277\340\216\065\304\073\070\153
-\142\367\050\073\204\201\310\014\327\115\060\015\006\011\052\206
-\110\206\367\015\001\001\005\005\000\003\202\002\001\000\073\002
-\215\313\074\060\350\156\240\255\362\163\263\137\236\045\023\004
-\005\323\366\343\213\273\013\171\316\123\336\344\226\305\321\257
-\163\274\325\303\320\100\125\174\100\177\315\033\137\011\325\362
-\174\237\150\035\273\135\316\172\071\302\214\326\230\173\305\203
-\125\250\325\175\100\312\340\036\367\211\136\143\135\241\023\302
-\135\212\266\212\174\000\363\043\303\355\205\137\161\166\360\150
-\143\252\105\041\071\110\141\170\066\334\361\103\223\324\045\307
-\362\200\145\341\123\002\165\121\374\172\072\357\067\253\204\050
-\127\014\330\324\324\231\126\154\343\242\376\131\204\264\061\350
-\063\370\144\224\224\121\227\253\071\305\113\355\332\335\200\013
-\157\174\051\015\304\216\212\162\015\347\123\024\262\140\101\075
-\204\221\061\150\075\047\104\333\345\336\364\372\143\105\310\114
-\076\230\365\077\101\272\116\313\067\015\272\146\230\361\335\313
-\237\134\367\124\066\202\153\054\274\023\141\227\102\370\170\273
-\314\310\242\237\312\360\150\275\153\035\262\337\215\157\007\235
-\332\216\147\307\107\036\312\271\277\052\102\221\267\143\123\146
-\361\102\243\341\364\132\115\130\153\265\344\244\063\255\134\160
-\035\334\340\362\353\163\024\221\232\003\301\352\000\145\274\007
-\374\317\022\021\042\054\256\240\275\072\340\242\052\330\131\351
-\051\323\030\065\244\254\021\137\031\265\265\033\377\042\112\134
-\306\172\344\027\357\040\251\247\364\077\255\212\247\232\004\045
-\235\016\312\067\346\120\375\214\102\051\004\232\354\271\317\113
-\162\275\342\010\066\257\043\057\142\345\312\001\323\160\333\174
-\202\043\054\026\061\014\306\066\007\220\172\261\037\147\130\304
-\073\130\131\211\260\214\214\120\263\330\206\313\150\243\304\012
-\347\151\113\040\316\301\036\126\113\225\251\043\150\330\060\330
-\303\353\260\125\121\315\345\375\053\270\365\273\021\237\123\124
-\366\064\031\214\171\011\066\312\141\027\045\027\013\202\230\163
-\014\167\164\303\325\015\307\250\022\114\307\247\124\161\107\056
-\054\032\175\311\343\053\073\110\336\047\204\247\143\066\263\175
-\217\240\144\071\044\015\075\173\207\257\146\134\164\033\113\163
-\262\345\214\360\206\231\270\345\305\337\204\301\267\353
-END
-
-# Trust for Certificate "Explicitly Distrust DigiNotar Root CA"
-# Issuer: E=info@diginotar.nl,CN=DigiNotar Root CA,O=DigiNotar,C=NL
-# Serial Number:0f:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff
-# Subject: E=info@diginotar.nl,CN=DigiNotar Root CA,O=DigiNotar,C=NL
-# Not Valid Before: Fri Jul 27 17:19:37 2007
-# Not Valid After : Mon Mar 31 18:19:22 2025
-# Fingerprint (MD5): 0A:A4:D5:CC:BA:B4:FB:A3:59:E3:E6:01:DD:53:D9:4E
-# Fingerprint (SHA1): C1:77:CB:4B:E0:B4:26:8E:F5:C7:CF:45:99:22:B9:B0:CE:BA:21:2F
-CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
-CKA_TOKEN CK_BBOOL CK_TRUE
-CKA_PRIVATE CK_BBOOL CK_FALSE
-CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "Explicitly Distrust DigiNotar Root CA"
-CKA_CERT_SHA1_HASH MULTILINE_OCTAL
-\301\167\313\113\340\264\046\216\365\307\317\105\231\042\271\260
-\316\272\041\057
-END
-CKA_CERT_MD5_HASH MULTILINE_OCTAL
-\012\244\325\314\272\264\373\243\131\343\346\001\335\123\331\116
-END
-CKA_ISSUER MULTILINE_OCTAL
-\060\137\061\013\060\011\006\003\125\004\006\023\002\116\114\061
-\022\060\020\006\003\125\004\012\023\011\104\151\147\151\116\157
-\164\141\162\061\032\060\030\006\003\125\004\003\023\021\104\151
-\147\151\116\157\164\141\162\040\122\157\157\164\040\103\101\061
-\040\060\036\006\011\052\206\110\206\367\015\001\011\001\026\021
-\151\156\146\157\100\144\151\147\151\156\157\164\141\162\056\156
-\154
-END
-CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\020\017\377\377\377\377\377\377\377\377\377\377\377\377\377
-\377\377
+\060\202\005\131\060\202\003\101\240\003\002\001\002\002\001\002
+\060\015\006\011\052\206\110\206\367\015\001\001\013\005\000\060
+\116\061\013\060\011\006\003\125\004\006\023\002\116\117\061\035
+\060\033\006\003\125\004\012\014\024\102\165\171\160\141\163\163
+\040\101\123\055\071\070\063\061\066\063\063\062\067\061\040\060
+\036\006\003\125\004\003\014\027\102\165\171\160\141\163\163\040
+\103\154\141\163\163\040\063\040\122\157\157\164\040\103\101\060
+\036\027\015\061\060\061\060\062\066\060\070\062\070\065\070\132
+\027\015\064\060\061\060\062\066\060\070\062\070\065\070\132\060
+\116\061\013\060\011\006\003\125\004\006\023\002\116\117\061\035
+\060\033\006\003\125\004\012\014\024\102\165\171\160\141\163\163
+\040\101\123\055\071\070\063\061\066\063\063\062\067\061\040\060
+\036\006\003\125\004\003\014\027\102\165\171\160\141\163\163\040
+\103\154\141\163\163\040\063\040\122\157\157\164\040\103\101\060
+\202\002\042\060\015\006\011\052\206\110\206\367\015\001\001\001
+\005\000\003\202\002\017\000\060\202\002\012\002\202\002\001\000
+\245\332\012\225\026\120\343\225\362\136\235\166\061\006\062\172
+\233\361\020\166\270\000\232\265\122\066\315\044\107\260\237\030
+\144\274\232\366\372\325\171\330\220\142\114\042\057\336\070\075
+\326\340\250\351\034\054\333\170\021\351\216\150\121\025\162\307
+\363\063\207\344\240\135\013\134\340\127\007\052\060\365\315\304
+\067\167\050\115\030\221\346\277\325\122\375\161\055\160\076\347
+\306\304\212\343\360\050\013\364\166\230\241\213\207\125\262\072
+\023\374\267\076\047\067\216\042\343\250\117\052\357\140\273\075
+\267\071\303\016\001\107\231\135\022\117\333\103\372\127\241\355
+\371\235\276\021\107\046\133\023\230\253\135\026\212\260\067\034
+\127\235\105\377\210\226\066\277\273\312\007\173\157\207\143\327
+\320\062\152\326\135\154\014\361\263\156\071\342\153\061\056\071
+\000\047\024\336\070\300\354\031\146\206\022\350\235\162\026\023
+\144\122\307\251\067\034\375\202\060\355\204\030\035\364\256\134
+\377\160\023\000\353\261\365\063\172\113\326\125\370\005\215\113
+\151\260\365\263\050\066\134\024\304\121\163\115\153\013\361\064
+\007\333\027\071\327\334\050\173\153\365\237\363\056\301\117\027
+\052\020\363\314\312\350\353\375\153\253\056\232\237\055\202\156
+\004\324\122\001\223\055\075\206\374\176\374\337\357\102\035\246
+\153\357\271\040\306\367\275\240\247\225\375\247\346\211\044\330
+\314\214\064\154\342\043\057\331\022\032\041\271\125\221\157\013
+\221\171\031\014\255\100\210\013\160\342\172\322\016\330\150\110
+\273\202\023\071\020\130\351\330\052\007\306\022\333\130\333\322
+\073\125\020\107\005\025\147\142\176\030\143\246\106\077\011\016
+\124\062\136\277\015\142\172\047\357\200\350\333\331\113\006\132
+\067\132\045\320\010\022\167\324\157\011\120\227\075\310\035\303
+\337\214\105\060\126\306\323\144\253\146\363\300\136\226\234\303
+\304\357\303\174\153\213\072\171\177\263\111\317\075\342\211\237
+\240\060\113\205\271\234\224\044\171\217\175\153\251\105\150\017
+\053\320\361\332\034\313\151\270\312\111\142\155\310\320\143\142
+\335\140\017\130\252\217\241\274\005\245\146\242\317\033\166\262
+\204\144\261\114\071\122\300\060\272\360\214\113\002\260\266\267
+\002\003\001\000\001\243\102\060\100\060\017\006\003\125\035\023
+\001\001\377\004\005\060\003\001\001\377\060\035\006\003\125\035
+\016\004\026\004\024\107\270\315\377\345\157\356\370\262\354\057
+\116\016\371\045\260\216\074\153\303\060\016\006\003\125\035\017
+\001\001\377\004\004\003\002\001\006\060\015\006\011\052\206\110
+\206\367\015\001\001\013\005\000\003\202\002\001\000\000\040\043
+\101\065\004\220\302\100\142\140\357\342\065\114\327\077\254\342
+\064\220\270\241\157\166\372\026\026\244\110\067\054\351\220\302
+\362\074\370\012\237\330\201\345\273\133\332\045\054\244\247\125
+\161\044\062\366\310\013\362\274\152\370\223\254\262\007\302\137
+\237\333\314\310\212\252\276\152\157\341\111\020\314\061\327\200
+\273\273\310\330\242\016\144\127\352\242\365\302\251\061\025\322
+\040\152\354\374\042\001\050\317\206\270\200\036\251\314\021\245
+\074\362\026\263\107\235\374\322\200\041\304\313\320\107\160\101
+\241\312\203\031\010\054\155\362\135\167\234\212\024\023\324\066
+\034\222\360\345\006\067\334\246\346\220\233\070\217\134\153\033
+\106\206\103\102\137\076\001\007\123\124\135\145\175\367\212\163
+\241\232\124\132\037\051\103\024\047\302\205\017\265\210\173\032
+\073\224\267\035\140\247\265\234\347\051\151\127\132\233\223\172
+\103\060\033\003\327\142\310\100\246\252\374\144\344\112\327\221
+\123\001\250\040\210\156\234\137\104\271\313\140\201\064\354\157
+\323\175\332\110\137\353\264\220\274\055\251\034\013\254\034\325
+\242\150\040\200\004\326\374\261\217\057\273\112\061\015\112\206
+\034\353\342\066\051\046\365\332\330\304\362\165\141\317\176\256
+\166\143\112\172\100\145\223\207\370\036\200\214\206\345\206\326
+\217\016\374\123\054\140\350\026\141\032\242\076\103\173\315\071
+\140\124\152\365\362\211\046\001\150\203\110\242\063\350\311\004
+\221\262\021\064\021\076\352\320\103\031\037\003\223\220\014\377
+\121\075\127\364\101\156\341\313\240\276\353\311\143\315\155\314
+\344\370\066\252\150\235\355\275\135\227\160\104\015\266\016\065
+\334\341\014\135\273\240\121\224\313\176\026\353\021\057\243\222
+\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_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_NOT_TRUSTED
-CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_NOT_TRUSTED
-CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_NOT_TRUSTED
-CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
 
-#
-# Certificate "Explicitly Distrusted DigiNotar PKIoverheid G2"
-#
-# Issuer: CN=DigiNotar PKIoverheid CA Organisatie - G2,O=DigiNotar B.V.,C=NL
-# Serial Number: 268435455 (0xfffffff)
-# Subject: CN=DigiNotar PKIoverheid CA Organisatie - G2,O=DigiNotar B.V.,C=NL
-# Not Valid Before: Wed May 12 08:51:39 2010
-# Not Valid After : Mon Mar 23 09:50:05 2020
-# Fingerprint (MD5): 2E:61:A2:D1:78:CE:EE:BF:59:33:B0:23:14:0F:94:1C
-# Fingerprint (SHA1): D5:F2:57:A9:BF:2D:D0:3F:8B:46:57:F9:2B:C9:A4:C6:92:E1:42:42
-CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
-CKA_TOKEN CK_BBOOL CK_TRUE
-CKA_PRIVATE CK_BBOOL CK_FALSE
-CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "Explicitly Distrusted DigiNotar PKIoverheid G2"
-CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
-CKA_SUBJECT MULTILINE_OCTAL
-\060\132\061\013\060\011\006\003\125\004\006\023\002\116\114\061
-\027\060\025\006\003\125\004\012\014\016\104\151\147\151\116\157
-\164\141\162\040\102\056\126\056\061\062\060\060\006\003\125\004
-\003\014\051\104\151\147\151\116\157\164\141\162\040\120\113\111
-\157\166\145\162\150\145\151\144\040\103\101\040\117\162\147\141
-\156\151\163\141\164\151\145\040\055\040\107\062
-END
-CKA_ID UTF8 "0"
-CKA_ISSUER MULTILINE_OCTAL
-\060\132\061\013\060\011\006\003\125\004\006\023\002\116\114\061
-\027\060\025\006\003\125\004\012\014\016\104\151\147\151\116\157
-\164\141\162\040\102\056\126\056\061\062\060\060\006\003\125\004
-\003\014\051\104\151\147\151\116\157\164\141\162\040\120\113\111
-\157\166\145\162\150\145\151\144\040\103\101\040\117\162\147\141
-\156\151\163\141\164\151\145\040\055\040\107\062
-END
-CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\004\017\377\377\377
-END
-CKA_VALUE MULTILINE_OCTAL
-\060\202\006\225\060\202\004\175\240\003\002\001\002\002\004\017
-\377\377\377\060\015\006\011\052\206\110\206\367\015\001\001\013
-\005\000\060\132\061\013\060\011\006\003\125\004\006\023\002\116
-\114\061\027\060\025\006\003\125\004\012\014\016\104\151\147\151
-\116\157\164\141\162\040\102\056\126\056\061\062\060\060\006\003
-\125\004\003\014\051\104\151\147\151\116\157\164\141\162\040\120
-\113\111\157\166\145\162\150\145\151\144\040\103\101\040\117\162
-\147\141\156\151\163\141\164\151\145\040\055\040\107\062\060\036
-\027\015\061\060\060\065\061\062\060\070\065\061\063\071\132\027
-\015\062\060\060\063\062\063\060\071\065\060\060\065\132\060\132
-\061\013\060\011\006\003\125\004\006\023\002\116\114\061\027\060
-\025\006\003\125\004\012\014\016\104\151\147\151\116\157\164\141
-\162\040\102\056\126\056\061\062\060\060\006\003\125\004\003\014
-\051\104\151\147\151\116\157\164\141\162\040\120\113\111\157\166
-\145\162\150\145\151\144\040\103\101\040\117\162\147\141\156\151
-\163\141\164\151\145\040\055\040\107\062\060\202\002\042\060\015
-\006\011\052\206\110\206\367\015\001\001\001\005\000\003\202\002
-\017\000\060\202\002\012\002\202\002\001\000\261\023\031\017\047
-\346\154\324\125\206\113\320\354\211\212\105\221\170\254\107\275
-\107\053\344\374\105\353\117\264\046\163\133\067\323\303\177\366
-\343\336\327\243\370\055\150\305\010\076\113\224\326\344\207\045
-\066\153\204\265\030\164\363\050\130\163\057\233\152\317\274\004
-\036\366\336\335\257\374\113\252\365\333\146\142\045\001\045\202
-\336\362\227\132\020\156\335\135\251\042\261\004\251\043\163\072
-\370\161\255\035\317\204\104\353\107\321\257\155\310\174\050\253
-\307\362\067\172\164\137\137\305\002\024\212\243\132\343\033\154
-\001\343\135\216\331\150\326\364\011\033\062\334\221\265\054\365
-\040\353\214\003\155\046\111\270\223\304\205\135\330\322\233\257
-\126\152\314\005\063\314\240\102\236\064\125\104\234\153\240\324
-\022\320\053\124\315\267\211\015\345\366\353\350\373\205\001\063
-\117\172\153\361\235\162\063\226\016\367\262\204\245\245\047\304
-\047\361\121\163\051\167\272\147\156\376\114\334\264\342\241\241
-\201\057\071\111\215\103\070\023\316\320\245\134\302\207\072\000
-\147\145\102\043\361\066\131\012\035\243\121\310\274\243\224\052
-\061\337\343\074\362\235\032\074\004\260\357\261\012\060\023\163
-\266\327\363\243\114\001\165\024\205\170\300\327\212\071\130\205
-\120\372\056\346\305\276\317\213\077\257\217\066\324\045\011\055
-\322\017\254\162\223\362\277\213\324\120\263\371\025\120\233\231
-\365\024\331\373\213\221\243\062\046\046\240\370\337\073\140\201
-\206\203\171\133\053\353\023\075\051\072\301\155\335\275\236\216
-\207\326\112\256\064\227\005\356\024\246\366\334\070\176\112\351
-\044\124\007\075\227\150\067\106\153\015\307\250\041\257\023\124
-\344\011\152\361\115\106\012\311\135\373\233\117\275\336\373\267
-\124\313\270\070\234\247\071\373\152\055\300\173\215\253\245\247
-\127\354\112\222\212\063\305\341\040\134\163\330\220\222\053\200
-\325\017\206\030\151\174\071\117\204\206\274\367\114\133\363\325
-\264\312\240\302\360\067\042\312\171\122\037\123\346\252\363\220
-\260\073\335\362\050\375\254\353\305\006\044\240\311\324\057\017
-\130\375\265\236\354\017\317\262\131\320\242\004\172\070\152\256
-\162\373\275\360\045\142\224\011\247\005\013\002\003\001\000\001
-\243\202\001\141\060\202\001\135\060\110\006\003\125\035\040\004
-\101\060\077\060\075\006\004\125\035\040\000\060\065\060\063\006
-\010\053\006\001\005\005\007\002\001\026\047\150\164\164\160\072
-\057\057\167\167\167\056\144\151\147\151\156\157\164\141\162\056
-\156\154\057\143\160\163\057\160\153\151\157\166\145\162\150\145
-\151\144\060\017\006\003\125\035\023\001\001\377\004\005\060\003
-\001\001\377\060\016\006\003\125\035\017\001\001\377\004\004\003
-\002\001\006\060\201\205\006\003\125\035\043\004\176\060\174\200
-\024\071\020\213\111\222\134\333\141\022\040\315\111\235\032\216
-\332\234\147\100\271\241\136\244\134\060\132\061\013\060\011\006
-\003\125\004\006\023\002\116\114\061\036\060\034\006\003\125\004
-\012\014\025\123\164\141\141\164\040\144\145\162\040\116\145\144
-\145\162\154\141\156\144\145\156\061\053\060\051\006\003\125\004
-\003\014\042\123\164\141\141\164\040\144\145\162\040\116\145\144
-\145\162\154\141\156\144\145\156\040\122\157\157\164\040\103\101
-\040\055\040\107\062\202\004\000\230\226\364\060\111\006\003\125
-\035\037\004\102\060\100\060\076\240\074\240\072\206\070\150\164
-\164\160\072\057\057\143\162\154\056\160\153\151\157\166\145\162
-\150\145\151\144\056\156\154\057\104\157\155\117\162\147\141\156
-\151\163\141\164\151\145\114\141\164\145\163\164\103\122\114\055
-\107\062\056\143\162\154\060\035\006\003\125\035\016\004\026\004
-\024\274\135\224\073\331\253\173\003\045\163\141\302\333\055\356
-\374\253\217\145\241\060\015\006\011\052\206\110\206\367\015\001
-\001\013\005\000\003\202\002\001\000\217\374\055\114\267\331\055
-\325\037\275\357\313\364\267\150\027\165\235\116\325\367\335\234
-\361\052\046\355\237\242\266\034\003\325\123\263\354\010\317\064
-\342\343\303\364\265\026\057\310\303\276\327\323\163\253\000\066
-\371\032\112\176\326\143\351\136\106\272\245\266\216\025\267\243
-\052\330\103\035\357\135\310\037\201\205\263\213\367\377\074\364
-\331\364\106\010\077\234\274\035\240\331\250\114\315\045\122\116
-\012\261\040\367\037\351\103\331\124\106\201\023\232\300\136\164
-\154\052\230\062\352\374\167\273\015\245\242\061\230\042\176\174
-\174\347\332\244\255\354\267\056\032\031\161\370\110\120\332\103
-\217\054\204\335\301\100\047\343\265\360\025\116\226\324\370\134
-\343\206\051\106\053\327\073\007\353\070\177\310\206\127\227\323
-\357\052\063\304\027\120\325\144\151\153\053\153\105\136\135\057
-\027\312\132\116\317\303\327\071\074\365\073\237\106\271\233\347
-\016\111\227\235\326\325\343\033\017\352\217\001\116\232\023\224
-\131\012\002\007\110\113\032\140\253\177\117\355\013\330\125\015
-\150\157\125\234\151\145\025\102\354\300\334\335\154\254\303\026
-\316\013\035\126\233\244\304\304\322\056\340\017\342\104\047\053
-\120\151\244\334\142\350\212\041\051\102\154\314\000\072\226\166
-\233\357\100\300\244\136\167\204\062\154\046\052\071\146\256\135
-\343\271\271\262\054\150\037\036\232\220\003\071\360\252\263\244
-\314\111\213\030\064\351\067\311\173\051\307\204\174\157\104\025
-\057\354\141\131\004\311\105\313\242\326\122\242\174\177\051\222
-\326\112\305\213\102\250\324\376\352\330\307\207\043\030\344\235
-\172\175\163\100\122\230\240\256\156\343\005\077\005\017\340\245
-\306\155\115\355\203\067\210\234\307\363\334\102\232\152\266\327
-\041\111\066\167\362\357\030\117\305\160\331\236\351\336\267\053
-\213\364\274\176\050\337\015\100\311\205\134\256\235\305\061\377
-\320\134\016\265\250\176\360\351\057\272\257\210\256\345\265\321
-\130\245\257\234\161\247\051\001\220\203\151\067\202\005\272\374
-\011\301\010\156\214\170\073\303\063\002\200\077\104\205\010\035
-\337\125\126\010\255\054\205\055\135\261\003\341\256\252\164\305
-\244\363\116\272\067\230\173\202\271
-END
-
-# Trust for Certificate "Explicitly Distrusted DigiNotar PKIoverheid G2"
-# Issuer: CN=DigiNotar PKIoverheid CA Organisatie - G2,O=DigiNotar B.V.,C=NL
-# Serial Number: 268435455 (0xfffffff)
-# Subject: CN=DigiNotar PKIoverheid CA Organisatie - G2,O=DigiNotar B.V.,C=NL
-# Not Valid Before: Wed May 12 08:51:39 2010
-# Not Valid After : Mon Mar 23 09:50:05 2020
-# Fingerprint (MD5): 2E:61:A2:D1:78:CE:EE:BF:59:33:B0:23:14:0F:94:1C
-# Fingerprint (SHA1): D5:F2:57:A9:BF:2D:D0:3F:8B:46:57:F9:2B:C9:A4:C6:92:E1:42:42
+# 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 (SHA-256): ED:F7:EB:BC:A2:7A:2A:38:4D:38:7B:7D:40:10:C6:66:E2:ED:B4:84:3E:4C:29:B4:AE:1D:5B:93:32:E6:B2:4D
+# Fingerprint (SHA1): DA:FA:F7:FA:66:84:EC:06:8F:14:50:BD:C7:C2:81:A5:BC:A9:64:57
 CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "Explicitly Distrusted DigiNotar PKIoverheid G2"
+CKA_LABEL UTF8 "Buypass Class 3 Root CA"
 CKA_CERT_SHA1_HASH MULTILINE_OCTAL
-\325\362\127\251\277\055\320\077\213\106\127\371\053\311\244\306
-\222\341\102\102
+\332\372\367\372\146\204\354\006\217\024\120\275\307\302\201\245
+\274\251\144\127
 END
 CKA_CERT_MD5_HASH MULTILINE_OCTAL
-\056\141\242\321\170\316\356\277\131\063\260\043\024\017\224\034
+\075\073\030\236\054\144\132\350\325\210\316\016\371\067\302\354
 END
 CKA_ISSUER MULTILINE_OCTAL
-\060\132\061\013\060\011\006\003\125\004\006\023\002\116\114\061
-\027\060\025\006\003\125\004\012\014\016\104\151\147\151\116\157
-\164\141\162\040\102\056\126\056\061\062\060\060\006\003\125\004
-\003\014\051\104\151\147\151\116\157\164\141\162\040\120\113\111
-\157\166\145\162\150\145\151\144\040\103\101\040\117\162\147\141
-\156\151\163\141\164\151\145\040\055\040\107\062
+\060\116\061\013\060\011\006\003\125\004\006\023\002\116\117\061
+\035\060\033\006\003\125\004\012\014\024\102\165\171\160\141\163
+\163\040\101\123\055\071\070\063\061\066\063\063\062\067\061\040
+\060\036\006\003\125\004\003\014\027\102\165\171\160\141\163\163
+\040\103\154\141\163\163\040\063\040\122\157\157\164\040\103\101
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\004\017\377\377\377
+\002\001\002
 END
-CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_NOT_TRUSTED
-CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_NOT_TRUSTED
-CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_NOT_TRUSTED
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
 CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
 
 #
-# Certificate "Security Communication RootCA2"
+# Certificate "T-TeleSec GlobalRoot Class 3"
 #
-# 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
-# Fingerprint (SHA1): 5F:3B:8C:F2:F8:10:B3:7D:78:B4:CE:EC:19:19:C3:73:34:B9:C7:74
+# 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 (SHA-256): FD:73:DA:D3:1C:64:4F:F1:B4:3B:EF:0C:CD:DA:96:71:0B:9C:D9:87:5E:CA:7E:31:70:7A:F3:E9:6D:52:2B:BD
+# Fingerprint (SHA1): 55:A6:72:3E:CB:F2:EC:CD:C3:23:74:70:19:9D:2A:BE:11:E3:81:D1
 CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "Security Communication RootCA2"
+CKA_LABEL UTF8 "T-TeleSec GlobalRoot Class 3"
 CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
 CKA_SUBJECT MULTILINE_OCTAL
-\060\135\061\013\060\011\006\003\125\004\006\023\002\112\120\061
-\045\060\043\006\003\125\004\012\023\034\123\105\103\117\115\040
-\124\162\165\163\164\040\123\171\163\164\145\155\163\040\103\117
-\056\054\114\124\104\056\061\047\060\045\006\003\125\004\013\023
-\036\123\145\143\165\162\151\164\171\040\103\157\155\155\165\156
-\151\143\141\164\151\157\156\040\122\157\157\164\103\101\062
+\060\201\202\061\013\060\011\006\003\125\004\006\023\002\104\105
+\061\053\060\051\006\003\125\004\012\014\042\124\055\123\171\163
+\164\145\155\163\040\105\156\164\145\162\160\162\151\163\145\040
+\123\145\162\166\151\143\145\163\040\107\155\142\110\061\037\060
+\035\006\003\125\004\013\014\026\124\055\123\171\163\164\145\155
+\163\040\124\162\165\163\164\040\103\145\156\164\145\162\061\045
+\060\043\006\003\125\004\003\014\034\124\055\124\145\154\145\123
+\145\143\040\107\154\157\142\141\154\122\157\157\164\040\103\154
+\141\163\163\040\063
 END
 CKA_ID UTF8 "0"
 CKA_ISSUER MULTILINE_OCTAL
-\060\135\061\013\060\011\006\003\125\004\006\023\002\112\120\061
-\045\060\043\006\003\125\004\012\023\034\123\105\103\117\115\040
-\124\162\165\163\164\040\123\171\163\164\145\155\163\040\103\117
-\056\054\114\124\104\056\061\047\060\045\006\003\125\004\013\023
-\036\123\145\143\165\162\151\164\171\040\103\157\155\155\165\156
-\151\143\141\164\151\157\156\040\122\157\157\164\103\101\062
+\060\201\202\061\013\060\011\006\003\125\004\006\023\002\104\105
+\061\053\060\051\006\003\125\004\012\014\042\124\055\123\171\163
+\164\145\155\163\040\105\156\164\145\162\160\162\151\163\145\040
+\123\145\162\166\151\143\145\163\040\107\155\142\110\061\037\060
+\035\006\003\125\004\013\014\026\124\055\123\171\163\164\145\155
+\163\040\124\162\165\163\164\040\103\145\156\164\145\162\061\045
+\060\043\006\003\125\004\003\014\034\124\055\124\145\154\145\123
+\145\143\040\107\154\157\142\141\154\122\157\157\164\040\103\154
+\141\163\163\040\063
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\001\000
+\002\001\001
 END
 CKA_VALUE MULTILINE_OCTAL
-\060\202\003\167\060\202\002\137\240\003\002\001\002\002\001\000
+\060\202\003\303\060\202\002\253\240\003\002\001\002\002\001\001
 \060\015\006\011\052\206\110\206\367\015\001\001\013\005\000\060
-\135\061\013\060\011\006\003\125\004\006\023\002\112\120\061\045
-\060\043\006\003\125\004\012\023\034\123\105\103\117\115\040\124
-\162\165\163\164\040\123\171\163\164\145\155\163\040\103\117\056
-\054\114\124\104\056\061\047\060\045\006\003\125\004\013\023\036
-\123\145\143\165\162\151\164\171\040\103\157\155\155\165\156\151
-\143\141\164\151\157\156\040\122\157\157\164\103\101\062\060\036
-\027\015\060\071\060\065\062\071\060\065\060\060\063\071\132\027
-\015\062\071\060\065\062\071\060\065\060\060\063\071\132\060\135
-\061\013\060\011\006\003\125\004\006\023\002\112\120\061\045\060
-\043\006\003\125\004\012\023\034\123\105\103\117\115\040\124\162
-\165\163\164\040\123\171\163\164\145\155\163\040\103\117\056\054
-\114\124\104\056\061\047\060\045\006\003\125\004\013\023\036\123
-\145\143\165\162\151\164\171\040\103\157\155\155\165\156\151\143
-\141\164\151\157\156\040\122\157\157\164\103\101\062\060\202\001
-\042\060\015\006\011\052\206\110\206\367\015\001\001\001\005\000
-\003\202\001\017\000\060\202\001\012\002\202\001\001\000\320\025
-\071\122\261\122\263\272\305\131\202\304\135\122\256\072\103\145
-\200\113\307\362\226\274\333\066\227\326\246\144\214\250\136\360
-\343\012\034\367\337\227\075\113\256\366\135\354\041\265\101\253
-\315\271\176\166\237\276\371\076\066\064\240\073\301\366\061\021
-\105\164\223\075\127\200\305\371\211\231\312\345\253\152\324\265
-\332\101\220\020\301\326\326\102\211\302\277\364\070\022\225\114
-\124\005\367\066\344\105\203\173\024\145\326\334\014\115\321\336
-\176\014\253\073\304\025\276\072\126\246\132\157\166\151\122\251
-\172\271\310\353\152\232\135\122\320\055\012\153\065\026\011\020
-\204\320\152\312\072\006\000\067\107\344\176\127\117\077\213\353
-\147\270\210\252\305\276\123\125\262\221\304\175\271\260\205\031
-\006\170\056\333\141\032\372\205\365\112\221\241\347\026\325\216
-\242\071\337\224\270\160\037\050\077\213\374\100\136\143\203\074
-\203\052\032\231\153\317\336\131\152\073\374\157\026\327\037\375
-\112\020\353\116\202\026\072\254\047\014\123\361\255\325\044\260
-\153\003\120\301\055\074\026\335\104\064\047\032\165\373\002\003
-\001\000\001\243\102\060\100\060\035\006\003\125\035\016\004\026
-\004\024\012\205\251\167\145\005\230\174\100\201\370\017\227\054
-\070\361\012\354\074\317\060\016\006\003\125\035\017\001\001\377
-\004\004\003\002\001\006\060\017\006\003\125\035\023\001\001\377
-\004\005\060\003\001\001\377\060\015\006\011\052\206\110\206\367
-\015\001\001\013\005\000\003\202\001\001\000\114\072\243\104\254
-\271\105\261\307\223\176\310\013\012\102\337\144\352\034\356\131
-\154\010\272\211\137\152\312\112\225\236\172\217\007\305\332\105
-\162\202\161\016\072\322\314\157\247\264\241\043\273\366\044\237
-\313\027\376\214\246\316\302\322\333\314\215\374\161\374\003\051
-\301\154\135\063\137\144\266\145\073\211\157\030\166\170\365\334
-\242\110\037\031\077\216\223\353\361\372\027\356\315\116\343\004
-\022\125\326\345\344\335\373\076\005\174\342\035\136\306\247\274
-\227\117\150\072\365\351\056\012\103\266\257\127\134\142\150\174
-\267\375\243\212\204\240\254\142\276\053\011\207\064\360\152\001
-\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
+\201\202\061\013\060\011\006\003\125\004\006\023\002\104\105\061
+\053\060\051\006\003\125\004\012\014\042\124\055\123\171\163\164
+\145\155\163\040\105\156\164\145\162\160\162\151\163\145\040\123
+\145\162\166\151\143\145\163\040\107\155\142\110\061\037\060\035
+\006\003\125\004\013\014\026\124\055\123\171\163\164\145\155\163
+\040\124\162\165\163\164\040\103\145\156\164\145\162\061\045\060
+\043\006\003\125\004\003\014\034\124\055\124\145\154\145\123\145
+\143\040\107\154\157\142\141\154\122\157\157\164\040\103\154\141
+\163\163\040\063\060\036\027\015\060\070\061\060\060\061\061\060
+\062\071\065\066\132\027\015\063\063\061\060\060\061\062\063\065
+\071\065\071\132\060\201\202\061\013\060\011\006\003\125\004\006
+\023\002\104\105\061\053\060\051\006\003\125\004\012\014\042\124
+\055\123\171\163\164\145\155\163\040\105\156\164\145\162\160\162
+\151\163\145\040\123\145\162\166\151\143\145\163\040\107\155\142
+\110\061\037\060\035\006\003\125\004\013\014\026\124\055\123\171
+\163\164\145\155\163\040\124\162\165\163\164\040\103\145\156\164
+\145\162\061\045\060\043\006\003\125\004\003\014\034\124\055\124
+\145\154\145\123\145\143\040\107\154\157\142\141\154\122\157\157
+\164\040\103\154\141\163\163\040\063\060\202\001\042\060\015\006
+\011\052\206\110\206\367\015\001\001\001\005\000\003\202\001\017
+\000\060\202\001\012\002\202\001\001\000\275\165\223\360\142\042
+\157\044\256\340\172\166\254\175\275\331\044\325\270\267\374\315
+\360\102\340\353\170\210\126\136\233\232\124\035\115\014\212\366
+\323\317\160\364\122\265\330\223\004\343\106\206\161\101\112\053
+\360\052\054\125\003\326\110\303\340\071\070\355\362\134\074\077
+\104\274\223\075\141\253\116\315\015\276\360\040\047\130\016\104
+\177\004\032\207\245\327\226\024\066\220\320\111\173\241\165\373
+\032\153\163\261\370\316\251\011\054\362\123\325\303\024\104\270
+\206\245\366\213\053\071\332\243\063\124\331\372\162\032\367\042
+\025\034\210\221\153\177\146\345\303\152\200\260\044\363\337\206
+\105\210\375\031\177\165\207\037\037\261\033\012\163\044\133\271
+\145\340\054\124\310\140\323\146\027\077\341\314\124\063\163\221
+\002\072\246\177\173\166\071\242\037\226\266\070\256\265\310\223
+\164\035\236\271\264\345\140\235\057\126\321\340\353\136\133\114
+\022\160\014\154\104\040\253\021\330\364\031\366\322\234\122\067
+\347\372\266\302\061\073\112\324\024\231\255\307\032\365\135\137
+\372\007\270\174\015\037\326\203\036\263\002\003\001\000\001\243
+\102\060\100\060\017\006\003\125\035\023\001\001\377\004\005\060
+\003\001\001\377\060\016\006\003\125\035\017\001\001\377\004\004
+\003\002\001\006\060\035\006\003\125\035\016\004\026\004\024\265
+\003\367\166\073\141\202\152\022\252\030\123\353\003\041\224\277
+\376\316\312\060\015\006\011\052\206\110\206\367\015\001\001\013
+\005\000\003\202\001\001\000\126\075\357\224\325\275\332\163\262
+\130\276\256\220\255\230\047\227\376\001\261\260\122\000\270\115
+\344\033\041\164\033\176\300\356\136\151\052\045\257\134\326\035
+\332\322\171\311\363\227\051\340\206\207\336\004\131\017\361\131
+\324\144\205\113\231\257\045\004\036\311\106\251\227\336\202\262
+\033\160\237\234\366\257\161\061\335\173\005\245\054\323\271\312
+\107\366\312\362\366\347\255\271\110\077\274\026\267\301\155\364
+\352\011\257\354\363\265\347\005\236\246\036\212\123\121\326\223
+\201\314\164\223\366\271\332\246\045\005\164\171\132\176\100\076
+\202\113\046\021\060\156\341\077\101\307\107\000\065\325\365\323
+\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
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
 
-# 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
-# Fingerprint (SHA1): 5F:3B:8C:F2:F8:10:B3:7D:78:B4:CE:EC:19:19:C3:73:34:B9:C7:74
+# 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 (SHA-256): FD:73:DA:D3:1C:64:4F:F1:B4:3B:EF:0C:CD:DA:96:71:0B:9C:D9:87:5E:CA:7E:31:70:7A:F3:E9:6D:52:2B:BD
+# Fingerprint (SHA1): 55:A6:72:3E:CB:F2:EC:CD:C3:23:74:70:19:9D:2A:BE:11:E3:81:D1
 CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "Security Communication RootCA2"
+CKA_LABEL UTF8 "T-TeleSec GlobalRoot Class 3"
 CKA_CERT_SHA1_HASH MULTILINE_OCTAL
-\137\073\214\362\370\020\263\175\170\264\316\354\031\031\303\163
-\064\271\307\164
+\125\246\162\076\313\362\354\315\303\043\164\160\031\235\052\276
+\021\343\201\321
 END
 CKA_CERT_MD5_HASH MULTILINE_OCTAL
-\154\071\175\244\016\125\131\262\077\326\101\261\022\120\336\103
+\312\373\100\250\116\071\222\212\035\376\216\057\304\047\352\357
 END
 CKA_ISSUER MULTILINE_OCTAL
-\060\135\061\013\060\011\006\003\125\004\006\023\002\112\120\061
-\045\060\043\006\003\125\004\012\023\034\123\105\103\117\115\040
-\124\162\165\163\164\040\123\171\163\164\145\155\163\040\103\117
-\056\054\114\124\104\056\061\047\060\045\006\003\125\004\013\023
-\036\123\145\143\165\162\151\164\171\040\103\157\155\155\165\156
-\151\143\141\164\151\157\156\040\122\157\157\164\103\101\062
+\060\201\202\061\013\060\011\006\003\125\004\006\023\002\104\105
+\061\053\060\051\006\003\125\004\012\014\042\124\055\123\171\163
+\164\145\155\163\040\105\156\164\145\162\160\162\151\163\145\040
+\123\145\162\166\151\143\145\163\040\107\155\142\110\061\037\060
+\035\006\003\125\004\013\014\026\124\055\123\171\163\164\145\155
+\163\040\124\162\165\163\164\040\103\145\156\164\145\162\061\045
+\060\043\006\003\125\004\003\014\034\124\055\124\145\154\145\123
+\145\143\040\107\154\157\142\141\154\122\157\157\164\040\103\154
+\141\163\163\040\063
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\001\000
+\002\001\001
 END
 CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
-CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
 CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
 CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
 
 #
-# Certificate "EC-ACC"
+# Certificate "D-TRUST Root Class 3 CA 2 2009"
 #
-# 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
-# Fingerprint (SHA1): 28:90:3A:63:5B:52:80:FA:E6:77:4C:0B:6D:A7:D6:BA:A6:4A:F2:E8
+# 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 (SHA-256): 49:E7:A4:42:AC:F0:EA:62:87:05:00:54:B5:25:64:B6:50:E4:F4:9E:42:E3:48:D6:AA:38:E0:39:E9:57:B1:C1
+# Fingerprint (SHA1): 58:E8:AB:B0:36:15:33:FB:80:F7:9B:1B:6D:29:D3:FF:8D:5F:00:F0
 CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "EC-ACC"
+CKA_LABEL UTF8 "D-TRUST Root Class 3 CA 2 2009"
 CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
 CKA_SUBJECT MULTILINE_OCTAL
-\060\201\363\061\013\060\011\006\003\125\004\006\023\002\105\123
-\061\073\060\071\006\003\125\004\012\023\062\101\147\145\156\143
-\151\141\040\103\141\164\141\154\141\156\141\040\144\145\040\103
-\145\162\164\151\146\151\143\141\143\151\157\040\050\116\111\106
-\040\121\055\060\070\060\061\061\067\066\055\111\051\061\050\060
-\046\006\003\125\004\013\023\037\123\145\162\166\145\151\163\040
-\120\165\142\154\151\143\163\040\144\145\040\103\145\162\164\151
-\146\151\143\141\143\151\157\061\065\060\063\006\003\125\004\013
-\023\054\126\145\147\145\165\040\150\164\164\160\163\072\057\057
-\167\167\167\056\143\141\164\143\145\162\164\056\156\145\164\057
-\166\145\162\141\162\162\145\154\040\050\143\051\060\063\061\065
-\060\063\006\003\125\004\013\023\054\112\145\162\141\162\161\165
-\151\141\040\105\156\164\151\164\141\164\163\040\144\145\040\103
-\145\162\164\151\146\151\143\141\143\151\157\040\103\141\164\141
-\154\141\156\145\163\061\017\060\015\006\003\125\004\003\023\006
-\105\103\055\101\103\103
+\060\115\061\013\060\011\006\003\125\004\006\023\002\104\105\061
+\025\060\023\006\003\125\004\012\014\014\104\055\124\162\165\163
+\164\040\107\155\142\110\061\047\060\045\006\003\125\004\003\014
+\036\104\055\124\122\125\123\124\040\122\157\157\164\040\103\154
+\141\163\163\040\063\040\103\101\040\062\040\062\060\060\071
 END
 CKA_ID UTF8 "0"
 CKA_ISSUER MULTILINE_OCTAL
-\060\201\363\061\013\060\011\006\003\125\004\006\023\002\105\123
-\061\073\060\071\006\003\125\004\012\023\062\101\147\145\156\143
-\151\141\040\103\141\164\141\154\141\156\141\040\144\145\040\103
-\145\162\164\151\146\151\143\141\143\151\157\040\050\116\111\106
-\040\121\055\060\070\060\061\061\067\066\055\111\051\061\050\060
-\046\006\003\125\004\013\023\037\123\145\162\166\145\151\163\040
-\120\165\142\154\151\143\163\040\144\145\040\103\145\162\164\151
-\146\151\143\141\143\151\157\061\065\060\063\006\003\125\004\013
-\023\054\126\145\147\145\165\040\150\164\164\160\163\072\057\057
-\167\167\167\056\143\141\164\143\145\162\164\056\156\145\164\057
-\166\145\162\141\162\162\145\154\040\050\143\051\060\063\061\065
-\060\063\006\003\125\004\013\023\054\112\145\162\141\162\161\165
-\151\141\040\105\156\164\151\164\141\164\163\040\144\145\040\103
-\145\162\164\151\146\151\143\141\143\151\157\040\103\141\164\141
-\154\141\156\145\163\061\017\060\015\006\003\125\004\003\023\006
-\105\103\055\101\103\103
-END
-CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\020\356\053\075\353\324\041\336\024\250\142\254\004\363\335
-\304\001
+\060\115\061\013\060\011\006\003\125\004\006\023\002\104\105\061
+\025\060\023\006\003\125\004\012\014\014\104\055\124\162\165\163
+\164\040\107\155\142\110\061\047\060\045\006\003\125\004\003\014
+\036\104\055\124\122\125\123\124\040\122\157\157\164\040\103\154
+\141\163\163\040\063\040\103\101\040\062\040\062\060\060\071
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\003\011\203\363
 END
 CKA_VALUE MULTILINE_OCTAL
-\060\202\005\126\060\202\004\076\240\003\002\001\002\002\020\356
-\053\075\353\324\041\336\024\250\142\254\004\363\335\304\001\060
-\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060\201
-\363\061\013\060\011\006\003\125\004\006\023\002\105\123\061\073
-\060\071\006\003\125\004\012\023\062\101\147\145\156\143\151\141
-\040\103\141\164\141\154\141\156\141\040\144\145\040\103\145\162
-\164\151\146\151\143\141\143\151\157\040\050\116\111\106\040\121
-\055\060\070\060\061\061\067\066\055\111\051\061\050\060\046\006
-\003\125\004\013\023\037\123\145\162\166\145\151\163\040\120\165
-\142\154\151\143\163\040\144\145\040\103\145\162\164\151\146\151
-\143\141\143\151\157\061\065\060\063\006\003\125\004\013\023\054
-\126\145\147\145\165\040\150\164\164\160\163\072\057\057\167\167
-\167\056\143\141\164\143\145\162\164\056\156\145\164\057\166\145
-\162\141\162\162\145\154\040\050\143\051\060\063\061\065\060\063
-\006\003\125\004\013\023\054\112\145\162\141\162\161\165\151\141
-\040\105\156\164\151\164\141\164\163\040\144\145\040\103\145\162
-\164\151\146\151\143\141\143\151\157\040\103\141\164\141\154\141
-\156\145\163\061\017\060\015\006\003\125\004\003\023\006\105\103
-\055\101\103\103\060\036\027\015\060\063\060\061\060\067\062\063
-\060\060\060\060\132\027\015\063\061\060\061\060\067\062\062\065
-\071\065\071\132\060\201\363\061\013\060\011\006\003\125\004\006
-\023\002\105\123\061\073\060\071\006\003\125\004\012\023\062\101
-\147\145\156\143\151\141\040\103\141\164\141\154\141\156\141\040
-\144\145\040\103\145\162\164\151\146\151\143\141\143\151\157\040
-\050\116\111\106\040\121\055\060\070\060\061\061\067\066\055\111
-\051\061\050\060\046\006\003\125\004\013\023\037\123\145\162\166
-\145\151\163\040\120\165\142\154\151\143\163\040\144\145\040\103
-\145\162\164\151\146\151\143\141\143\151\157\061\065\060\063\006
-\003\125\004\013\023\054\126\145\147\145\165\040\150\164\164\160
-\163\072\057\057\167\167\167\056\143\141\164\143\145\162\164\056
-\156\145\164\057\166\145\162\141\162\162\145\154\040\050\143\051
-\060\063\061\065\060\063\006\003\125\004\013\023\054\112\145\162
-\141\162\161\165\151\141\040\105\156\164\151\164\141\164\163\040
-\144\145\040\103\145\162\164\151\146\151\143\141\143\151\157\040
-\103\141\164\141\154\141\156\145\163\061\017\060\015\006\003\125
-\004\003\023\006\105\103\055\101\103\103\060\202\001\042\060\015
-\006\011\052\206\110\206\367\015\001\001\001\005\000\003\202\001
-\017\000\060\202\001\012\002\202\001\001\000\263\042\307\117\342
-\227\102\225\210\107\203\100\366\035\027\363\203\163\044\036\121
-\363\230\212\303\222\270\377\100\220\005\160\207\140\311\000\251
-\265\224\145\031\042\025\027\302\103\154\146\104\232\015\004\076
-\071\157\245\113\172\252\143\267\212\104\235\331\143\221\204\146
-\340\050\017\272\102\343\156\216\367\024\047\223\151\356\221\016
-\243\137\016\261\353\146\242\162\117\022\023\206\145\172\076\333
-\117\007\364\247\011\140\332\072\102\231\307\262\177\263\026\225
-\034\307\371\064\265\224\205\325\231\136\240\110\240\176\347\027
-\145\270\242\165\270\036\363\345\102\175\257\355\363\212\110\144
-\135\202\024\223\330\300\344\377\263\120\162\362\166\366\263\135
-\102\120\171\320\224\076\153\014\000\276\330\153\016\116\052\354
-\076\322\314\202\242\030\145\063\023\167\236\232\135\032\023\330
-\303\333\075\310\227\172\356\160\355\247\346\174\333\161\317\055
-\224\142\337\155\326\365\070\276\077\245\205\012\031\270\250\330
-\011\165\102\160\304\352\357\313\016\310\064\250\022\042\230\014
-\270\023\224\266\113\354\360\320\220\347\047\002\003\001\000\001
-\243\201\343\060\201\340\060\035\006\003\125\035\021\004\026\060
-\024\201\022\145\143\137\141\143\143\100\143\141\164\143\145\162
-\164\056\156\145\164\060\017\006\003\125\035\023\001\001\377\004
-\005\060\003\001\001\377\060\016\006\003\125\035\017\001\001\377
-\004\004\003\002\001\006\060\035\006\003\125\035\016\004\026\004
-\024\240\303\213\104\252\067\245\105\277\227\200\132\321\361\170
-\242\233\351\135\215\060\177\006\003\125\035\040\004\170\060\166
-\060\164\006\013\053\006\001\004\001\365\170\001\003\001\012\060
-\145\060\054\006\010\053\006\001\005\005\007\002\001\026\040\150
-\164\164\160\163\072\057\057\167\167\167\056\143\141\164\143\145
-\162\164\056\156\145\164\057\166\145\162\141\162\162\145\154\060
-\065\006\010\053\006\001\005\005\007\002\002\060\051\032\047\126
-\145\147\145\165\040\150\164\164\160\163\072\057\057\167\167\167
-\056\143\141\164\143\145\162\164\056\156\145\164\057\166\145\162
-\141\162\162\145\154\040\060\015\006\011\052\206\110\206\367\015
-\001\001\005\005\000\003\202\001\001\000\240\110\133\202\001\366
-\115\110\270\071\125\065\234\200\172\123\231\325\132\377\261\161
-\073\314\071\011\224\136\326\332\357\276\001\133\135\323\036\330
-\375\175\117\315\240\101\340\064\223\277\313\342\206\234\067\222
-\220\126\034\334\353\051\005\345\304\236\307\065\337\212\014\315
-\305\041\103\351\252\210\345\065\300\031\102\143\132\002\136\244
-\110\030\072\205\157\334\235\274\077\235\234\301\207\270\172\141
-\010\351\167\013\177\160\253\172\335\331\227\054\144\036\205\277
-\274\164\226\241\303\172\022\354\014\032\156\203\014\074\350\162
-\106\237\373\110\325\136\227\346\261\241\370\344\357\106\045\224
-\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
+\060\202\004\063\060\202\003\033\240\003\002\001\002\002\003\011
+\203\363\060\015\006\011\052\206\110\206\367\015\001\001\013\005
+\000\060\115\061\013\060\011\006\003\125\004\006\023\002\104\105
+\061\025\060\023\006\003\125\004\012\014\014\104\055\124\162\165
+\163\164\040\107\155\142\110\061\047\060\045\006\003\125\004\003
+\014\036\104\055\124\122\125\123\124\040\122\157\157\164\040\103
+\154\141\163\163\040\063\040\103\101\040\062\040\062\060\060\071
+\060\036\027\015\060\071\061\061\060\065\060\070\063\065\065\070
+\132\027\015\062\071\061\061\060\065\060\070\063\065\065\070\132
+\060\115\061\013\060\011\006\003\125\004\006\023\002\104\105\061
+\025\060\023\006\003\125\004\012\014\014\104\055\124\162\165\163
+\164\040\107\155\142\110\061\047\060\045\006\003\125\004\003\014
+\036\104\055\124\122\125\123\124\040\122\157\157\164\040\103\154
+\141\163\163\040\063\040\103\101\040\062\040\062\060\060\071\060
+\202\001\042\060\015\006\011\052\206\110\206\367\015\001\001\001
+\005\000\003\202\001\017\000\060\202\001\012\002\202\001\001\000
+\323\262\112\317\172\107\357\165\233\043\372\072\057\326\120\105
+\211\065\072\306\153\333\376\333\000\150\250\340\003\021\035\067
+\120\010\237\115\112\150\224\065\263\123\321\224\143\247\040\126
+\257\336\121\170\354\052\075\363\110\110\120\076\012\337\106\125
+\213\047\155\303\020\115\015\221\122\103\330\207\340\135\116\066
+\265\041\312\137\071\100\004\137\133\176\314\243\306\053\251\100
+\036\331\066\204\326\110\363\222\036\064\106\040\044\301\244\121
+\216\112\032\357\120\077\151\135\031\177\105\303\307\001\217\121
+\311\043\350\162\256\264\274\126\011\177\022\313\034\261\257\051
+\220\012\311\125\314\017\323\264\032\355\107\065\132\112\355\234
+\163\004\041\320\252\275\014\023\265\000\312\046\154\304\153\014
+\224\132\225\224\332\120\232\361\377\245\053\146\061\244\311\070
+\240\337\035\037\270\011\056\363\247\350\147\122\253\225\037\340
+\106\076\330\244\303\312\132\305\061\200\350\110\232\237\224\151
+\376\031\335\330\163\174\201\312\226\336\216\355\263\062\005\145
+\204\064\346\346\375\127\020\265\137\166\277\057\260\020\015\305
+\002\003\001\000\001\243\202\001\032\060\202\001\026\060\017\006
+\003\125\035\023\001\001\377\004\005\060\003\001\001\377\060\035
+\006\003\125\035\016\004\026\004\024\375\332\024\304\237\060\336
+\041\275\036\102\071\374\253\143\043\111\340\361\204\060\016\006
+\003\125\035\017\001\001\377\004\004\003\002\001\006\060\201\323
+\006\003\125\035\037\004\201\313\060\201\310\060\201\200\240\176
+\240\174\206\172\154\144\141\160\072\057\057\144\151\162\145\143
+\164\157\162\171\056\144\055\164\162\165\163\164\056\156\145\164
+\057\103\116\075\104\055\124\122\125\123\124\045\062\060\122\157
+\157\164\045\062\060\103\154\141\163\163\045\062\060\063\045\062
+\060\103\101\045\062\060\062\045\062\060\062\060\060\071\054\117
+\075\104\055\124\162\165\163\164\045\062\060\107\155\142\110\054
+\103\075\104\105\077\143\145\162\164\151\146\151\143\141\164\145
+\162\145\166\157\143\141\164\151\157\156\154\151\163\164\060\103
+\240\101\240\077\206\075\150\164\164\160\072\057\057\167\167\167
+\056\144\055\164\162\165\163\164\056\156\145\164\057\143\162\154
+\057\144\055\164\162\165\163\164\137\162\157\157\164\137\143\154
+\141\163\163\137\063\137\143\141\137\062\137\062\060\060\071\056
+\143\162\154\060\015\006\011\052\206\110\206\367\015\001\001\013
+\005\000\003\202\001\001\000\177\227\333\060\310\337\244\234\175
+\041\172\200\160\316\024\022\151\210\024\225\140\104\001\254\262
+\351\060\117\233\120\302\146\330\176\215\060\265\160\061\351\342
+\151\307\363\160\333\040\025\206\320\015\360\276\254\001\165\204
+\316\176\237\115\277\267\140\073\234\363\312\035\342\136\150\330
+\243\235\227\345\100\140\322\066\041\376\320\264\270\027\332\164
+\243\177\324\337\260\230\002\254\157\153\153\054\045\044\162\241
+\145\356\045\132\345\346\062\347\362\337\253\111\372\363\220\151
+\043\333\004\331\347\134\130\374\145\324\227\276\314\374\056\012
+\314\045\052\065\004\370\140\221\025\165\075\101\377\043\037\031
+\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
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
 
-# 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
-# Fingerprint (SHA1): 28:90:3A:63:5B:52:80:FA:E6:77:4C:0B:6D:A7:D6:BA:A6:4A:F2:E8
+# 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 (SHA-256): 49:E7:A4:42:AC:F0:EA:62:87:05:00:54:B5:25:64:B6:50:E4:F4:9E:42:E3:48:D6:AA:38:E0:39:E9:57:B1:C1
+# Fingerprint (SHA1): 58:E8:AB:B0:36:15:33:FB:80:F7:9B:1B:6D:29:D3:FF:8D:5F:00:F0
 CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "EC-ACC"
+CKA_LABEL UTF8 "D-TRUST Root Class 3 CA 2 2009"
 CKA_CERT_SHA1_HASH MULTILINE_OCTAL
-\050\220\072\143\133\122\200\372\346\167\114\013\155\247\326\272
-\246\112\362\350
+\130\350\253\260\066\025\063\373\200\367\233\033\155\051\323\377
+\215\137\000\360
 END
 CKA_CERT_MD5_HASH MULTILINE_OCTAL
-\353\365\235\051\015\141\371\102\037\174\302\272\155\343\025\011
-END
-CKA_ISSUER MULTILINE_OCTAL
-\060\201\363\061\013\060\011\006\003\125\004\006\023\002\105\123
-\061\073\060\071\006\003\125\004\012\023\062\101\147\145\156\143
-\151\141\040\103\141\164\141\154\141\156\141\040\144\145\040\103
-\145\162\164\151\146\151\143\141\143\151\157\040\050\116\111\106
-\040\121\055\060\070\060\061\061\067\066\055\111\051\061\050\060
-\046\006\003\125\004\013\023\037\123\145\162\166\145\151\163\040
-\120\165\142\154\151\143\163\040\144\145\040\103\145\162\164\151
-\146\151\143\141\143\151\157\061\065\060\063\006\003\125\004\013
-\023\054\126\145\147\145\165\040\150\164\164\160\163\072\057\057
-\167\167\167\056\143\141\164\143\145\162\164\056\156\145\164\057
-\166\145\162\141\162\162\145\154\040\050\143\051\060\063\061\065
-\060\063\006\003\125\004\013\023\054\112\145\162\141\162\161\165
-\151\141\040\105\156\164\151\164\141\164\163\040\144\145\040\103
-\145\162\164\151\146\151\143\141\143\151\157\040\103\141\164\141
-\154\141\156\145\163\061\017\060\015\006\003\125\004\003\023\006
-\105\103\055\101\103\103
-END
-CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\020\356\053\075\353\324\041\336\024\250\142\254\004\363\335
-\304\001
+\315\340\045\151\215\107\254\234\211\065\220\367\375\121\075\057
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\115\061\013\060\011\006\003\125\004\006\023\002\104\105\061
+\025\060\023\006\003\125\004\012\014\014\104\055\124\162\165\163
+\164\040\107\155\142\110\061\047\060\045\006\003\125\004\003\014
+\036\104\055\124\122\125\123\124\040\122\157\157\164\040\103\154
+\141\163\163\040\063\040\103\101\040\062\040\062\060\060\071
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\003\011\203\363
 END
 CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
 CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
@@ -11925,388 +7816,311 @@ CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
 CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
 
 #
-# Certificate "Hellenic Academic and Research Institutions RootCA 2011"
+# Certificate "D-TRUST Root Class 3 CA 2 EV 2009"
 #
-# 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
-# Fingerprint (SHA1): FE:45:65:9B:79:03:5B:98:A1:61:B5:51:2E:AC:DA:58:09:48:22:4D
+# 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 (SHA-256): EE:C5:49:6B:98:8C:E9:86:25:B9:34:09:2E:EC:29:08:BE:D0:B0:F3:16:C2:D4:73:0C:84:EA:F1:F3:D3:48:81
+# Fingerprint (SHA1): 96:C9:1B:0B:95:B4:10:98:42:FA:D0:D8:22:79:FE:60:FA:B9:16:83
 CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "Hellenic Academic and Research Institutions RootCA 2011"
+CKA_LABEL UTF8 "D-TRUST Root Class 3 CA 2 EV 2009"
 CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
 CKA_SUBJECT MULTILINE_OCTAL
-\060\201\225\061\013\060\011\006\003\125\004\006\023\002\107\122
-\061\104\060\102\006\003\125\004\012\023\073\110\145\154\154\145
-\156\151\143\040\101\143\141\144\145\155\151\143\040\141\156\144
-\040\122\145\163\145\141\162\143\150\040\111\156\163\164\151\164
-\165\164\151\157\156\163\040\103\145\162\164\056\040\101\165\164
-\150\157\162\151\164\171\061\100\060\076\006\003\125\004\003\023
-\067\110\145\154\154\145\156\151\143\040\101\143\141\144\145\155
-\151\143\040\141\156\144\040\122\145\163\145\141\162\143\150\040
-\111\156\163\164\151\164\165\164\151\157\156\163\040\122\157\157
-\164\103\101\040\062\060\061\061
+\060\120\061\013\060\011\006\003\125\004\006\023\002\104\105\061
+\025\060\023\006\003\125\004\012\014\014\104\055\124\162\165\163
+\164\040\107\155\142\110\061\052\060\050\006\003\125\004\003\014
+\041\104\055\124\122\125\123\124\040\122\157\157\164\040\103\154
+\141\163\163\040\063\040\103\101\040\062\040\105\126\040\062\060
+\060\071
 END
 CKA_ID UTF8 "0"
 CKA_ISSUER MULTILINE_OCTAL
-\060\201\225\061\013\060\011\006\003\125\004\006\023\002\107\122
-\061\104\060\102\006\003\125\004\012\023\073\110\145\154\154\145
-\156\151\143\040\101\143\141\144\145\155\151\143\040\141\156\144
-\040\122\145\163\145\141\162\143\150\040\111\156\163\164\151\164
-\165\164\151\157\156\163\040\103\145\162\164\056\040\101\165\164
-\150\157\162\151\164\171\061\100\060\076\006\003\125\004\003\023
-\067\110\145\154\154\145\156\151\143\040\101\143\141\144\145\155
-\151\143\040\141\156\144\040\122\145\163\145\141\162\143\150\040
-\111\156\163\164\151\164\165\164\151\157\156\163\040\122\157\157
-\164\103\101\040\062\060\061\061
+\060\120\061\013\060\011\006\003\125\004\006\023\002\104\105\061
+\025\060\023\006\003\125\004\012\014\014\104\055\124\162\165\163
+\164\040\107\155\142\110\061\052\060\050\006\003\125\004\003\014
+\041\104\055\124\122\125\123\124\040\122\157\157\164\040\103\154
+\141\163\163\040\063\040\103\101\040\062\040\105\126\040\062\060
+\060\071
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\001\000
+\002\003\011\203\364
 END
 CKA_VALUE MULTILINE_OCTAL
-\060\202\004\061\060\202\003\031\240\003\002\001\002\002\001\000
-\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060
-\201\225\061\013\060\011\006\003\125\004\006\023\002\107\122\061
-\104\060\102\006\003\125\004\012\023\073\110\145\154\154\145\156
-\151\143\040\101\143\141\144\145\155\151\143\040\141\156\144\040
-\122\145\163\145\141\162\143\150\040\111\156\163\164\151\164\165
-\164\151\157\156\163\040\103\145\162\164\056\040\101\165\164\150
-\157\162\151\164\171\061\100\060\076\006\003\125\004\003\023\067
-\110\145\154\154\145\156\151\143\040\101\143\141\144\145\155\151
-\143\040\141\156\144\040\122\145\163\145\141\162\143\150\040\111
-\156\163\164\151\164\165\164\151\157\156\163\040\122\157\157\164
-\103\101\040\062\060\061\061\060\036\027\015\061\061\061\062\060
-\066\061\063\064\071\065\062\132\027\015\063\061\061\062\060\061
-\061\063\064\071\065\062\132\060\201\225\061\013\060\011\006\003
-\125\004\006\023\002\107\122\061\104\060\102\006\003\125\004\012
-\023\073\110\145\154\154\145\156\151\143\040\101\143\141\144\145
-\155\151\143\040\141\156\144\040\122\145\163\145\141\162\143\150
-\040\111\156\163\164\151\164\165\164\151\157\156\163\040\103\145
-\162\164\056\040\101\165\164\150\157\162\151\164\171\061\100\060
-\076\006\003\125\004\003\023\067\110\145\154\154\145\156\151\143
-\040\101\143\141\144\145\155\151\143\040\141\156\144\040\122\145
-\163\145\141\162\143\150\040\111\156\163\164\151\164\165\164\151
-\157\156\163\040\122\157\157\164\103\101\040\062\060\061\061\060
-\202\001\042\060\015\006\011\052\206\110\206\367\015\001\001\001
-\005\000\003\202\001\017\000\060\202\001\012\002\202\001\001\000
-\251\123\000\343\056\246\366\216\372\140\330\055\225\076\370\054
-\052\124\116\315\271\204\141\224\130\117\217\075\213\344\103\363
-\165\211\215\121\344\303\067\322\212\210\115\171\036\267\022\335
-\103\170\112\212\222\346\327\110\325\017\244\072\051\104\065\270
-\007\366\150\035\125\315\070\121\360\214\044\061\205\257\203\311
-\175\351\167\257\355\032\173\235\027\371\263\235\070\120\017\246
-\132\171\221\200\257\067\256\246\323\061\373\265\046\011\235\074
-\132\357\121\305\053\337\226\135\353\062\036\002\332\160\111\354
-\156\014\310\232\067\215\367\361\066\140\113\046\054\202\236\320
-\170\363\015\017\143\244\121\060\341\371\053\047\022\007\330\352
-\275\030\142\230\260\131\067\175\276\356\363\040\121\102\132\203
-\357\223\272\151\025\361\142\235\237\231\071\202\241\267\164\056
-\213\324\305\013\173\057\360\310\012\332\075\171\012\232\223\034
-\245\050\162\163\221\103\232\247\321\115\205\204\271\251\164\217
-\024\100\307\334\336\254\101\144\154\264\031\233\002\143\155\044
-\144\217\104\262\045\352\316\135\164\014\143\062\134\215\207\345
-\002\003\001\000\001\243\201\211\060\201\206\060\017\006\003\125
-\035\023\001\001\377\004\005\060\003\001\001\377\060\013\006\003
-\125\035\017\004\004\003\002\001\006\060\035\006\003\125\035\016
-\004\026\004\024\246\221\102\375\023\141\112\043\236\010\244\051
-\345\330\023\004\043\356\101\045\060\107\006\003\125\035\036\004
-\100\060\076\240\074\060\005\202\003\056\147\162\060\005\202\003
-\056\145\165\060\006\202\004\056\145\144\165\060\006\202\004\056
-\157\162\147\060\005\201\003\056\147\162\060\005\201\003\056\145
-\165\060\006\201\004\056\145\144\165\060\006\201\004\056\157\162
-\147\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000
-\003\202\001\001\000\037\357\171\101\341\173\156\077\262\214\206
-\067\102\112\116\034\067\036\215\146\272\044\201\311\117\022\017
-\041\300\003\227\206\045\155\135\323\042\051\250\154\242\015\251
-\353\075\006\133\231\072\307\314\303\232\064\177\253\016\310\116
-\034\341\372\344\334\315\015\276\277\044\376\154\347\153\302\015
-\310\006\236\116\215\141\050\246\152\375\345\366\142\352\030\074
-\116\240\123\235\262\072\234\353\245\234\221\026\266\115\202\340
-\014\005\110\251\154\365\314\370\313\235\111\264\360\002\245\375
-\160\003\355\212\041\245\256\023\206\111\303\063\163\276\207\073
-\164\213\027\105\046\114\026\221\203\376\147\175\315\115\143\147
-\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
+\060\202\004\103\060\202\003\053\240\003\002\001\002\002\003\011
+\203\364\060\015\006\011\052\206\110\206\367\015\001\001\013\005
+\000\060\120\061\013\060\011\006\003\125\004\006\023\002\104\105
+\061\025\060\023\006\003\125\004\012\014\014\104\055\124\162\165
+\163\164\040\107\155\142\110\061\052\060\050\006\003\125\004\003
+\014\041\104\055\124\122\125\123\124\040\122\157\157\164\040\103
+\154\141\163\163\040\063\040\103\101\040\062\040\105\126\040\062
+\060\060\071\060\036\027\015\060\071\061\061\060\065\060\070\065
+\060\064\066\132\027\015\062\071\061\061\060\065\060\070\065\060
+\064\066\132\060\120\061\013\060\011\006\003\125\004\006\023\002
+\104\105\061\025\060\023\006\003\125\004\012\014\014\104\055\124
+\162\165\163\164\040\107\155\142\110\061\052\060\050\006\003\125
+\004\003\014\041\104\055\124\122\125\123\124\040\122\157\157\164
+\040\103\154\141\163\163\040\063\040\103\101\040\062\040\105\126
+\040\062\060\060\071\060\202\001\042\060\015\006\011\052\206\110
+\206\367\015\001\001\001\005\000\003\202\001\017\000\060\202\001
+\012\002\202\001\001\000\231\361\204\064\160\272\057\267\060\240
+\216\275\174\004\317\276\142\274\231\375\202\227\322\172\012\147
+\226\070\011\366\020\116\225\042\163\231\215\332\025\055\347\005
+\374\031\163\042\267\216\230\000\274\074\075\254\241\154\373\326
+\171\045\113\255\360\314\144\332\210\076\051\270\017\011\323\064
+\335\063\365\142\321\341\315\031\351\356\030\117\114\130\256\342
+\036\326\014\133\025\132\330\072\270\304\030\144\036\343\063\262
+\265\211\167\116\014\277\331\224\153\023\227\157\022\243\376\231
+\251\004\314\025\354\140\150\066\355\010\173\267\365\277\223\355
+\146\061\203\214\306\161\064\207\116\027\352\257\213\221\215\034
+\126\101\256\042\067\136\067\362\035\331\321\055\015\057\151\121
+\247\276\146\246\212\072\052\275\307\032\261\341\024\360\276\072
+\035\271\317\133\261\152\376\264\261\106\040\242\373\036\073\160
+\357\223\230\175\214\163\226\362\305\357\205\160\255\051\046\374
+\036\004\076\034\240\330\017\313\122\203\142\174\356\213\123\225
+\220\251\127\242\352\141\005\330\371\115\304\047\372\156\255\355
+\371\327\121\367\153\245\002\003\001\000\001\243\202\001\044\060
+\202\001\040\060\017\006\003\125\035\023\001\001\377\004\005\060
+\003\001\001\377\060\035\006\003\125\035\016\004\026\004\024\323
+\224\212\114\142\023\052\031\056\314\257\162\212\175\066\327\232
+\034\334\147\060\016\006\003\125\035\017\001\001\377\004\004\003
+\002\001\006\060\201\335\006\003\125\035\037\004\201\325\060\201
+\322\060\201\207\240\201\204\240\201\201\206\177\154\144\141\160
+\072\057\057\144\151\162\145\143\164\157\162\171\056\144\055\164
+\162\165\163\164\056\156\145\164\057\103\116\075\104\055\124\122
+\125\123\124\045\062\060\122\157\157\164\045\062\060\103\154\141
+\163\163\045\062\060\063\045\062\060\103\101\045\062\060\062\045
+\062\060\105\126\045\062\060\062\060\060\071\054\117\075\104\055
+\124\162\165\163\164\045\062\060\107\155\142\110\054\103\075\104
+\105\077\143\145\162\164\151\146\151\143\141\164\145\162\145\166
+\157\143\141\164\151\157\156\154\151\163\164\060\106\240\104\240
+\102\206\100\150\164\164\160\072\057\057\167\167\167\056\144\055
+\164\162\165\163\164\056\156\145\164\057\143\162\154\057\144\055
+\164\162\165\163\164\137\162\157\157\164\137\143\154\141\163\163
+\137\063\137\143\141\137\062\137\145\166\137\062\060\060\071\056
+\143\162\154\060\015\006\011\052\206\110\206\367\015\001\001\013
+\005\000\003\202\001\001\000\064\355\173\132\074\244\224\210\357
+\032\021\165\007\057\263\376\074\372\036\121\046\353\207\366\051
+\336\340\361\324\306\044\011\351\301\317\125\033\264\060\331\316
+\032\376\006\121\246\025\244\055\357\262\113\277\040\050\045\111
+\321\246\066\167\064\350\144\337\122\261\021\307\163\172\315\071
+\236\302\255\214\161\041\362\132\153\257\337\074\116\125\257\262
+\204\145\024\211\271\167\313\052\061\276\317\243\155\317\157\110
+\224\062\106\157\347\161\214\240\246\204\031\067\007\362\003\105
+\011\053\206\165\174\337\137\151\127\000\333\156\330\246\162\042
+\113\120\324\165\230\126\337\267\030\377\103\103\120\256\172\104
+\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
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
 
-# 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
-# Fingerprint (SHA1): FE:45:65:9B:79:03:5B:98:A1:61:B5:51:2E:AC:DA:58:09:48:22:4D
+# 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 (SHA-256): EE:C5:49:6B:98:8C:E9:86:25:B9:34:09:2E:EC:29:08:BE:D0:B0:F3:16:C2:D4:73:0C:84:EA:F1:F3:D3:48:81
+# Fingerprint (SHA1): 96:C9:1B:0B:95:B4:10:98:42:FA:D0:D8:22:79:FE:60:FA:B9:16:83
 CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "Hellenic Academic and Research Institutions RootCA 2011"
+CKA_LABEL UTF8 "D-TRUST Root Class 3 CA 2 EV 2009"
 CKA_CERT_SHA1_HASH MULTILINE_OCTAL
-\376\105\145\233\171\003\133\230\241\141\265\121\056\254\332\130
-\011\110\042\115
+\226\311\033\013\225\264\020\230\102\372\320\330\042\171\376\140
+\372\271\026\203
 END
 CKA_CERT_MD5_HASH MULTILINE_OCTAL
-\163\237\114\113\163\133\171\351\372\272\034\357\156\313\325\311
+\252\306\103\054\136\055\315\304\064\300\120\117\021\002\117\266
 END
 CKA_ISSUER MULTILINE_OCTAL
-\060\201\225\061\013\060\011\006\003\125\004\006\023\002\107\122
-\061\104\060\102\006\003\125\004\012\023\073\110\145\154\154\145
-\156\151\143\040\101\143\141\144\145\155\151\143\040\141\156\144
-\040\122\145\163\145\141\162\143\150\040\111\156\163\164\151\164
-\165\164\151\157\156\163\040\103\145\162\164\056\040\101\165\164
-\150\157\162\151\164\171\061\100\060\076\006\003\125\004\003\023
-\067\110\145\154\154\145\156\151\143\040\101\143\141\144\145\155
-\151\143\040\141\156\144\040\122\145\163\145\141\162\143\150\040
-\111\156\163\164\151\164\165\164\151\157\156\163\040\122\157\157
-\164\103\101\040\062\060\061\061
+\060\120\061\013\060\011\006\003\125\004\006\023\002\104\105\061
+\025\060\023\006\003\125\004\012\014\014\104\055\124\162\165\163
+\164\040\107\155\142\110\061\052\060\050\006\003\125\004\003\014
+\041\104\055\124\122\125\123\124\040\122\157\157\164\040\103\154
+\141\163\163\040\063\040\103\101\040\062\040\105\126\040\062\060
+\060\071
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\001\000
+\002\003\011\203\364
 END
 CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
-CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
 CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
 CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
 
-# Explicitly Distrust "MITM subCA 1 issued by Trustwave", Bug 724929
-# Issuer: E=ca@trustwave.com,CN="Trustwave Organization Issuing CA, Level 2",O="Trustwave Holdings, Inc.",L=Chicago,ST=Illinois,C=US
-# Serial Number: 1800000005 (0x6b49d205)
-# Not Before: Apr  7 15:37:15 2011 GMT
-# Not After : Apr  4 15:37:15 2021 GMT
-CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
-CKA_TOKEN CK_BBOOL CK_TRUE
-CKA_PRIVATE CK_BBOOL CK_FALSE
-CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "MITM subCA 1 issued by Trustwave"
-CKA_ISSUER MULTILINE_OCTAL
-\060\201\253\061\013\060\011\006\003\125\004\006\023\002\125\123
-\061\021\060\017\006\003\125\004\010\023\010\111\154\154\151\156
-\157\151\163\061\020\060\016\006\003\125\004\007\023\007\103\150
-\151\143\141\147\157\061\041\060\037\006\003\125\004\012\023\030
-\124\162\165\163\164\167\141\166\145\040\110\157\154\144\151\156
-\147\163\054\040\111\156\143\056\061\063\060\061\006\003\125\004
-\003\023\052\124\162\165\163\164\167\141\166\145\040\117\162\147
-\141\156\151\172\141\164\151\157\156\040\111\163\163\165\151\156
-\147\040\103\101\054\040\114\145\166\145\154\040\062\061\037\060
-\035\006\011\052\206\110\206\367\015\001\011\001\026\020\143\141
-\100\164\162\165\163\164\167\141\166\145\056\143\157\155
-END
-CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\004\153\111\322\005
-END
-CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_NOT_TRUSTED
-CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_NOT_TRUSTED
-CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_NOT_TRUSTED
-CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
-
-# Explicitly Distrust "MITM subCA 2 issued by Trustwave", Bug 724929
-# Issuer: E=ca@trustwave.com,CN="Trustwave Organization Issuing CA, Level 2",O="Trustwave Holdings, Inc.",L=Chicago,ST=Illinois,C=US
-# Serial Number: 1800000006 (0x6b49d206)
-# Not Before: Apr 18 21:09:30 2011 GMT
-# Not After : Apr 15 21:09:30 2021 GMT
-CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
-CKA_TOKEN CK_BBOOL CK_TRUE
-CKA_PRIVATE CK_BBOOL CK_FALSE
-CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "MITM subCA 2 issued by Trustwave"
-CKA_ISSUER MULTILINE_OCTAL
-\060\201\253\061\013\060\011\006\003\125\004\006\023\002\125\123
-\061\021\060\017\006\003\125\004\010\023\010\111\154\154\151\156
-\157\151\163\061\020\060\016\006\003\125\004\007\023\007\103\150
-\151\143\141\147\157\061\041\060\037\006\003\125\004\012\023\030
-\124\162\165\163\164\167\141\166\145\040\110\157\154\144\151\156
-\147\163\054\040\111\156\143\056\061\063\060\061\006\003\125\004
-\003\023\052\124\162\165\163\164\167\141\166\145\040\117\162\147
-\141\156\151\172\141\164\151\157\156\040\111\163\163\165\151\156
-\147\040\103\101\054\040\114\145\166\145\154\040\062\061\037\060
-\035\006\011\052\206\110\206\367\015\001\011\001\026\020\143\141
-\100\164\162\165\163\164\167\141\166\145\056\143\157\155
-END
-CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\004\153\111\322\006
-END
-CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_NOT_TRUSTED
-CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_NOT_TRUSTED
-CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_NOT_TRUSTED
-CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
-
 #
-# Certificate "Actalis Authentication Root CA"
+# Certificate "CA Disig Root R2"
 #
-# 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
-# Fingerprint (SHA1): F3:73:B3:87:06:5A:28:84:8A:F2:F3:4A:CE:19:2B:DD:C7:8E:9C:AC
+# 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 (SHA-256): E2:3D:4A:03:6D:7B:70:E9:F5:95:B1:42:20:79:D2:B9:1E:DF:BB:1F:B6:51:A0:63:3E:AA:8A:9D:C5:F8:07:03
+# Fingerprint (SHA1): B5:61:EB:EA:A4:DE:E4:25:4B:69:1A:98:A5:57:47:C2:34:C7:D9:71
 CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "Actalis Authentication Root CA"
+CKA_LABEL UTF8 "CA Disig Root R2"
 CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
 CKA_SUBJECT MULTILINE_OCTAL
-\060\153\061\013\060\011\006\003\125\004\006\023\002\111\124\061
-\016\060\014\006\003\125\004\007\014\005\115\151\154\141\156\061
-\043\060\041\006\003\125\004\012\014\032\101\143\164\141\154\151
-\163\040\123\056\160\056\101\056\057\060\063\063\065\070\065\062
-\060\071\066\067\061\047\060\045\006\003\125\004\003\014\036\101
-\143\164\141\154\151\163\040\101\165\164\150\145\156\164\151\143
-\141\164\151\157\156\040\122\157\157\164\040\103\101
+\060\122\061\013\060\011\006\003\125\004\006\023\002\123\113\061
+\023\060\021\006\003\125\004\007\023\012\102\162\141\164\151\163
+\154\141\166\141\061\023\060\021\006\003\125\004\012\023\012\104
+\151\163\151\147\040\141\056\163\056\061\031\060\027\006\003\125
+\004\003\023\020\103\101\040\104\151\163\151\147\040\122\157\157
+\164\040\122\062
 END
 CKA_ID UTF8 "0"
 CKA_ISSUER MULTILINE_OCTAL
-\060\153\061\013\060\011\006\003\125\004\006\023\002\111\124\061
-\016\060\014\006\003\125\004\007\014\005\115\151\154\141\156\061
-\043\060\041\006\003\125\004\012\014\032\101\143\164\141\154\151
-\163\040\123\056\160\056\101\056\057\060\063\063\065\070\065\062
-\060\071\066\067\061\047\060\045\006\003\125\004\003\014\036\101
-\143\164\141\154\151\163\040\101\165\164\150\145\156\164\151\143
-\141\164\151\157\156\040\122\157\157\164\040\103\101
+\060\122\061\013\060\011\006\003\125\004\006\023\002\123\113\061
+\023\060\021\006\003\125\004\007\023\012\102\162\141\164\151\163
+\154\141\166\141\061\023\060\021\006\003\125\004\012\023\012\104
+\151\163\151\147\040\141\056\163\056\061\031\060\027\006\003\125
+\004\003\023\020\103\101\040\104\151\163\151\147\040\122\157\157
+\164\040\122\062
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\010\127\012\021\227\102\304\343\314
+\002\011\000\222\270\210\333\260\212\301\143
 END
 CKA_VALUE MULTILINE_OCTAL
-\060\202\005\273\060\202\003\243\240\003\002\001\002\002\010\127
-\012\021\227\102\304\343\314\060\015\006\011\052\206\110\206\367
-\015\001\001\013\005\000\060\153\061\013\060\011\006\003\125\004
-\006\023\002\111\124\061\016\060\014\006\003\125\004\007\014\005
-\115\151\154\141\156\061\043\060\041\006\003\125\004\012\014\032
-\101\143\164\141\154\151\163\040\123\056\160\056\101\056\057\060
-\063\063\065\070\065\062\060\071\066\067\061\047\060\045\006\003
-\125\004\003\014\036\101\143\164\141\154\151\163\040\101\165\164
-\150\145\156\164\151\143\141\164\151\157\156\040\122\157\157\164
-\040\103\101\060\036\027\015\061\061\060\071\062\062\061\061\062
-\062\060\062\132\027\015\063\060\060\071\062\062\061\061\062\062
-\060\062\132\060\153\061\013\060\011\006\003\125\004\006\023\002
-\111\124\061\016\060\014\006\003\125\004\007\014\005\115\151\154
-\141\156\061\043\060\041\006\003\125\004\012\014\032\101\143\164
-\141\154\151\163\040\123\056\160\056\101\056\057\060\063\063\065
-\070\065\062\060\071\066\067\061\047\060\045\006\003\125\004\003
-\014\036\101\143\164\141\154\151\163\040\101\165\164\150\145\156
-\164\151\143\141\164\151\157\156\040\122\157\157\164\040\103\101
-\060\202\002\042\060\015\006\011\052\206\110\206\367\015\001\001
-\001\005\000\003\202\002\017\000\060\202\002\012\002\202\002\001
-\000\247\306\304\245\051\244\054\357\345\030\305\260\120\243\157
-\121\073\237\012\132\311\302\110\070\012\302\034\240\030\177\221
-\265\207\271\100\077\335\035\150\037\010\203\325\055\036\210\240
-\370\217\126\217\155\231\002\222\220\026\325\137\010\154\211\327
-\341\254\274\040\302\261\340\203\121\212\151\115\000\226\132\157
-\057\300\104\176\243\016\344\221\315\130\356\334\373\307\036\105
-\107\335\047\271\010\001\237\246\041\035\365\101\055\057\114\375
-\050\255\340\212\255\042\264\126\145\216\206\124\217\223\103\051
-\336\071\106\170\243\060\043\272\315\360\175\023\127\300\135\322
-\203\153\110\114\304\253\237\200\132\133\072\275\311\247\042\077
-\200\047\063\133\016\267\212\014\135\007\067\010\313\154\322\172
-\107\042\104\065\305\314\314\056\216\335\052\355\267\175\146\015
-\137\141\121\042\125\033\343\106\343\343\075\320\065\142\232\333
-\257\024\310\133\241\314\211\033\341\060\046\374\240\233\037\201
-\247\107\037\004\353\243\071\222\006\237\231\323\277\323\352\117
-\120\234\031\376\226\207\036\074\145\366\243\030\044\203\206\020
-\347\124\076\250\072\166\044\117\201\041\305\343\017\002\370\223
-\224\107\040\273\376\324\016\323\150\271\335\304\172\204\202\343
-\123\124\171\335\333\234\322\362\007\233\056\266\274\076\355\205
-\155\357\045\021\362\227\032\102\141\367\112\227\350\213\261\020
-\007\372\145\201\262\242\071\317\367\074\377\030\373\306\361\132
-\213\131\342\002\254\173\222\320\116\024\117\131\105\366\014\136
-\050\137\260\350\077\105\317\317\257\233\157\373\204\323\167\132
-\225\157\254\224\204\236\356\274\300\112\217\112\223\370\104\041
-\342\061\105\141\120\116\020\330\343\065\174\114\031\264\336\005
-\277\243\006\237\310\265\315\344\037\327\027\006\015\172\225\164
-\125\015\150\032\374\020\033\142\144\235\155\340\225\240\303\224
-\007\127\015\024\346\275\005\373\270\237\346\337\213\342\306\347
-\176\226\366\123\305\200\064\120\050\130\360\022\120\161\027\060
-\272\346\170\143\274\364\262\255\233\053\262\376\341\071\214\136
-\272\013\040\224\336\173\203\270\377\343\126\215\267\021\351\073
-\214\362\261\301\135\235\244\013\114\053\331\262\030\365\265\237
-\113\002\003\001\000\001\243\143\060\141\060\035\006\003\125\035
-\016\004\026\004\024\122\330\210\072\310\237\170\146\355\211\363
-\173\070\160\224\311\002\002\066\320\060\017\006\003\125\035\023
-\001\001\377\004\005\060\003\001\001\377\060\037\006\003\125\035
-\043\004\030\060\026\200\024\122\330\210\072\310\237\170\146\355
-\211\363\173\070\160\224\311\002\002\066\320\060\016\006\003\125
-\035\017\001\001\377\004\004\003\002\001\006\060\015\006\011\052
-\206\110\206\367\015\001\001\013\005\000\003\202\002\001\000\013
-\173\162\207\300\140\246\111\114\210\130\346\035\210\367\024\144
-\110\246\330\130\012\016\117\023\065\337\065\035\324\355\006\061
-\310\201\076\152\325\335\073\032\062\356\220\075\021\322\056\364
-\216\303\143\056\043\146\260\147\276\157\266\300\023\071\140\252
-\242\064\045\223\165\122\336\247\235\255\016\207\211\122\161\152
-\026\074\031\035\203\370\232\051\145\276\364\077\232\331\360\363
-\132\207\041\161\200\115\313\340\070\233\077\273\372\340\060\115
-\317\206\323\145\020\031\030\321\227\002\261\053\162\102\150\254
-\240\275\116\132\332\030\277\153\230\201\320\375\232\276\136\025
-\110\315\021\025\271\300\051\134\264\350\210\367\076\066\256\267
-\142\375\036\142\336\160\170\020\034\110\133\332\274\244\070\272
-\147\355\125\076\136\127\337\324\003\100\114\201\244\322\117\143
-\247\011\102\011\024\374\000\251\302\200\163\117\056\300\100\331
-\021\173\110\352\172\002\300\323\353\050\001\046\130\164\301\300
-\163\042\155\223\225\375\071\175\273\052\343\366\202\343\054\227
-\137\116\037\221\224\372\376\054\243\330\166\032\270\115\262\070
-\117\233\372\035\110\140\171\046\342\363\375\251\320\232\350\160
-\217\111\172\326\345\275\012\016\333\055\363\215\277\353\343\244
-\175\313\307\225\161\350\332\243\174\305\302\370\164\222\004\033
-\206\254\244\042\123\100\266\254\376\114\166\317\373\224\062\300
-\065\237\166\077\156\345\220\156\240\246\046\242\270\054\276\321
-\053\205\375\247\150\310\272\001\053\261\154\164\035\270\163\225
-\347\356\267\307\045\360\000\114\000\262\176\266\013\213\034\363
-\300\120\236\045\271\340\010\336\066\146\377\067\245\321\273\124
-\144\054\311\047\265\113\222\176\145\377\323\055\341\271\116\274
-\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
+\060\202\005\151\060\202\003\121\240\003\002\001\002\002\011\000
+\222\270\210\333\260\212\301\143\060\015\006\011\052\206\110\206
+\367\015\001\001\013\005\000\060\122\061\013\060\011\006\003\125
+\004\006\023\002\123\113\061\023\060\021\006\003\125\004\007\023
+\012\102\162\141\164\151\163\154\141\166\141\061\023\060\021\006
+\003\125\004\012\023\012\104\151\163\151\147\040\141\056\163\056
+\061\031\060\027\006\003\125\004\003\023\020\103\101\040\104\151
+\163\151\147\040\122\157\157\164\040\122\062\060\036\027\015\061
+\062\060\067\061\071\060\071\061\065\063\060\132\027\015\064\062
+\060\067\061\071\060\071\061\065\063\060\132\060\122\061\013\060
+\011\006\003\125\004\006\023\002\123\113\061\023\060\021\006\003
+\125\004\007\023\012\102\162\141\164\151\163\154\141\166\141\061
+\023\060\021\006\003\125\004\012\023\012\104\151\163\151\147\040
+\141\056\163\056\061\031\060\027\006\003\125\004\003\023\020\103
+\101\040\104\151\163\151\147\040\122\157\157\164\040\122\062\060
+\202\002\042\060\015\006\011\052\206\110\206\367\015\001\001\001
+\005\000\003\202\002\017\000\060\202\002\012\002\202\002\001\000
+\242\243\304\000\011\326\205\135\055\155\024\366\302\303\163\236
+\065\302\161\125\176\201\373\253\106\120\340\301\174\111\170\346
+\253\171\130\074\332\377\174\034\237\330\227\002\170\076\153\101
+\004\351\101\275\276\003\054\105\366\057\144\324\253\135\243\107
+\075\144\233\351\150\232\306\314\033\077\272\276\262\213\064\002
+\056\230\125\031\374\214\157\252\137\332\114\316\115\003\041\243
+\330\322\064\223\126\226\313\114\014\000\026\074\137\032\315\310
+\307\154\246\255\323\061\247\274\350\345\341\146\326\322\373\003
+\264\101\145\311\020\256\016\005\143\306\200\152\151\060\375\322
+\356\220\357\015\047\337\237\225\163\364\341\045\332\154\026\336
+\101\070\064\352\213\374\321\350\004\024\141\055\101\176\254\307
+\167\116\313\121\124\373\136\222\030\033\004\132\150\306\311\304
+\372\267\023\240\230\267\021\053\267\326\127\314\174\236\027\321
+\313\045\376\206\116\044\056\126\014\170\115\236\001\022\246\053
+\247\001\145\156\174\142\035\204\204\337\352\300\153\265\245\052
+\225\203\303\123\021\014\163\035\013\262\106\220\321\102\072\316
+\100\156\225\255\377\306\224\255\156\227\204\216\175\157\236\212
+\200\015\111\155\163\342\173\222\036\303\363\301\363\353\056\005
+\157\331\033\317\067\166\004\310\264\132\344\027\247\313\335\166
+\037\320\031\166\350\054\005\263\326\234\064\330\226\334\141\207
+\221\005\344\104\010\063\301\332\271\010\145\324\256\262\066\015
+\353\272\070\272\014\345\233\236\353\215\146\335\231\317\326\211
+\101\366\004\222\212\051\051\155\153\072\034\347\165\175\002\161
+\016\363\300\347\275\313\031\335\235\140\262\302\146\140\266\261
+\004\356\311\346\206\271\232\146\100\250\347\021\355\201\105\003
+\213\366\147\131\350\301\006\021\275\335\317\200\002\117\145\100
+\170\134\107\120\310\233\346\037\201\173\344\104\250\133\205\232
+\342\336\132\325\307\371\072\104\146\113\344\062\124\174\344\154
+\234\263\016\075\027\242\262\064\022\326\176\262\250\111\273\321
+\172\050\100\276\242\026\037\337\344\067\037\021\163\373\220\012
+\145\103\242\015\174\370\006\001\125\063\175\260\015\270\364\365
+\256\245\102\127\174\066\021\214\173\136\304\003\235\214\171\235
+\002\003\001\000\001\243\102\060\100\060\017\006\003\125\035\023
+\001\001\377\004\005\060\003\001\001\377\060\016\006\003\125\035
+\017\001\001\377\004\004\003\002\001\006\060\035\006\003\125\035
+\016\004\026\004\024\265\231\370\257\260\224\365\343\040\326\012
+\255\316\116\126\244\056\156\102\355\060\015\006\011\052\206\110
+\206\367\015\001\001\013\005\000\003\202\002\001\000\046\006\136
+\160\347\145\063\310\202\156\331\234\027\072\033\172\146\262\001
+\366\170\073\151\136\057\352\377\116\371\050\303\230\052\141\114
+\264\044\022\212\175\155\021\024\367\234\265\312\346\274\236\047
+\216\114\031\310\251\275\172\300\327\066\016\155\205\162\156\250
+\306\242\155\366\372\163\143\177\274\156\171\010\034\235\212\237
+\032\212\123\246\330\273\331\065\125\261\021\305\251\003\263\126
+\073\271\204\223\042\136\176\301\366\022\122\213\352\054\147\274
+\376\066\114\365\270\317\321\263\111\222\073\323\051\016\231\033
+\226\367\141\270\073\304\053\266\170\154\264\043\157\360\375\323
+\262\136\165\037\231\225\250\254\366\332\341\305\061\173\373\321
+\106\263\322\274\147\264\142\124\272\011\367\143\260\223\242\232
+\371\351\122\056\213\140\022\253\374\365\140\126\357\020\134\213
+\304\032\102\334\203\133\144\016\313\265\274\326\117\301\174\074
+\156\215\023\155\373\173\353\060\320\334\115\257\305\325\266\245
+\114\133\161\311\350\061\276\350\070\006\110\241\032\342\352\322
+\336\022\071\130\032\377\200\016\202\165\346\267\311\007\154\016
+\357\377\070\361\230\161\304\267\177\016\025\320\045\151\275\042
+\235\053\355\005\366\106\107\254\355\300\360\324\073\342\354\356
+\226\133\220\023\116\036\126\072\353\260\357\226\273\226\043\021
+\272\362\103\206\164\144\225\310\050\165\337\035\065\272\322\067
+\203\070\123\070\066\073\317\154\351\371\153\016\320\373\004\350
+\117\167\327\145\001\170\206\014\172\076\041\142\361\177\143\161
+\014\311\237\104\333\250\047\242\165\276\156\201\076\327\300\353
+\033\230\017\160\134\064\262\212\314\300\205\030\353\156\172\263
+\367\132\241\007\277\251\102\222\363\140\042\227\344\024\241\007
+\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
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
 
-# 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
-# Fingerprint (SHA1): F3:73:B3:87:06:5A:28:84:8A:F2:F3:4A:CE:19:2B:DD:C7:8E:9C:AC
+# 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 (SHA-256): E2:3D:4A:03:6D:7B:70:E9:F5:95:B1:42:20:79:D2:B9:1E:DF:BB:1F:B6:51:A0:63:3E:AA:8A:9D:C5:F8:07:03
+# Fingerprint (SHA1): B5:61:EB:EA:A4:DE:E4:25:4B:69:1A:98:A5:57:47:C2:34:C7:D9:71
 CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "Actalis Authentication Root CA"
+CKA_LABEL UTF8 "CA Disig Root R2"
 CKA_CERT_SHA1_HASH MULTILINE_OCTAL
-\363\163\263\207\006\132\050\204\212\362\363\112\316\031\053\335
-\307\216\234\254
+\265\141\353\352\244\336\344\045\113\151\032\230\245\127\107\302
+\064\307\331\161
 END
 CKA_CERT_MD5_HASH MULTILINE_OCTAL
-\151\301\015\117\007\243\033\303\376\126\075\004\274\021\366\246
+\046\001\373\330\047\247\027\232\105\124\070\032\103\001\073\003
 END
 CKA_ISSUER MULTILINE_OCTAL
-\060\153\061\013\060\011\006\003\125\004\006\023\002\111\124\061
-\016\060\014\006\003\125\004\007\014\005\115\151\154\141\156\061
-\043\060\041\006\003\125\004\012\014\032\101\143\164\141\154\151
-\163\040\123\056\160\056\101\056\057\060\063\063\065\070\065\062
-\060\071\066\067\061\047\060\045\006\003\125\004\003\014\036\101
-\143\164\141\154\151\163\040\101\165\164\150\145\156\164\151\143
-\141\164\151\157\156\040\122\157\157\164\040\103\101
+\060\122\061\013\060\011\006\003\125\004\006\023\002\123\113\061
+\023\060\021\006\003\125\004\007\023\012\102\162\141\164\151\163
+\154\141\166\141\061\023\060\021\006\003\125\004\012\023\012\104
+\151\163\151\147\040\141\056\163\056\061\031\060\027\006\003\125
+\004\003\023\020\103\101\040\104\151\163\151\147\040\122\157\157
+\164\040\122\062
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\010\127\012\021\227\102\304\343\314
+\002\011\000\222\270\210\333\260\212\301\143
 END
 CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
 CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
@@ -12314,288 +8128,4694 @@ CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
 CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
 
 #
-# Certificate "Trustis FPS Root CA"
+# Certificate "ACCVRAIZ1"
 #
-# 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
-# Fingerprint (SHA1): 3B:C0:38:0B:33:C3:F6:A6:0C:86:15:22:93:D9:DF:F5:4B:81:C0:04
+# 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 (SHA-256): 9A:6E:C0:12:E1:A7:DA:9D:BE:34:19:4D:47:8A:D7:C0:DB:18:22:FB:07:1D:F1:29:81:49:6E:D1:04:38:41:13
+# Fingerprint (SHA1): 93:05:7A:88:15:C6:4F:CE:88:2F:FA:91:16:52:28:78:BC:53:64:17
 CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "Trustis FPS Root CA"
+CKA_LABEL UTF8 "ACCVRAIZ1"
 CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
 CKA_SUBJECT MULTILINE_OCTAL
-\060\105\061\013\060\011\006\003\125\004\006\023\002\107\102\061
-\030\060\026\006\003\125\004\012\023\017\124\162\165\163\164\151
-\163\040\114\151\155\151\164\145\144\061\034\060\032\006\003\125
-\004\013\023\023\124\162\165\163\164\151\163\040\106\120\123\040
-\122\157\157\164\040\103\101
+\060\102\061\022\060\020\006\003\125\004\003\014\011\101\103\103
+\126\122\101\111\132\061\061\020\060\016\006\003\125\004\013\014
+\007\120\113\111\101\103\103\126\061\015\060\013\006\003\125\004
+\012\014\004\101\103\103\126\061\013\060\011\006\003\125\004\006
+\023\002\105\123
 END
 CKA_ID UTF8 "0"
 CKA_ISSUER MULTILINE_OCTAL
-\060\105\061\013\060\011\006\003\125\004\006\023\002\107\102\061
-\030\060\026\006\003\125\004\012\023\017\124\162\165\163\164\151
-\163\040\114\151\155\151\164\145\144\061\034\060\032\006\003\125
-\004\013\023\023\124\162\165\163\164\151\163\040\106\120\123\040
-\122\157\157\164\040\103\101
+\060\102\061\022\060\020\006\003\125\004\003\014\011\101\103\103
+\126\122\101\111\132\061\061\020\060\016\006\003\125\004\013\014
+\007\120\113\111\101\103\103\126\061\015\060\013\006\003\125\004
+\012\014\004\101\103\103\126\061\013\060\011\006\003\125\004\006
+\023\002\105\123
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\020\033\037\255\266\040\371\044\323\066\153\367\307\361\214
-\240\131
+\002\010\136\303\267\246\103\177\244\340
 END
 CKA_VALUE MULTILINE_OCTAL
-\060\202\003\147\060\202\002\117\240\003\002\001\002\002\020\033
-\037\255\266\040\371\044\323\066\153\367\307\361\214\240\131\060
-\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060\105
-\061\013\060\011\006\003\125\004\006\023\002\107\102\061\030\060
-\026\006\003\125\004\012\023\017\124\162\165\163\164\151\163\040
-\114\151\155\151\164\145\144\061\034\060\032\006\003\125\004\013
-\023\023\124\162\165\163\164\151\163\040\106\120\123\040\122\157
-\157\164\040\103\101\060\036\027\015\060\063\061\062\062\063\061
-\062\061\064\060\066\132\027\015\062\064\060\061\062\061\061\061
-\063\066\065\064\132\060\105\061\013\060\011\006\003\125\004\006
-\023\002\107\102\061\030\060\026\006\003\125\004\012\023\017\124
-\162\165\163\164\151\163\040\114\151\155\151\164\145\144\061\034
-\060\032\006\003\125\004\013\023\023\124\162\165\163\164\151\163
-\040\106\120\123\040\122\157\157\164\040\103\101\060\202\001\042
-\060\015\006\011\052\206\110\206\367\015\001\001\001\005\000\003
-\202\001\017\000\060\202\001\012\002\202\001\001\000\305\120\173
-\236\073\065\320\337\304\214\315\216\233\355\243\300\066\231\364
-\102\352\247\076\200\203\017\246\247\131\207\311\220\105\103\176
-\000\352\206\171\052\003\275\075\067\231\211\146\267\345\212\126
-\206\223\234\150\113\150\004\214\223\223\002\076\060\322\067\072
-\042\141\211\034\205\116\175\217\325\257\173\065\366\176\050\107
-\211\061\334\016\171\144\037\231\322\133\272\376\177\140\277\255
-\353\347\074\070\051\152\057\345\221\013\125\377\354\157\130\325
-\055\311\336\114\146\161\217\014\327\004\332\007\346\036\030\343
-\275\051\002\250\372\034\341\133\271\203\250\101\110\274\032\161
-\215\347\142\345\055\262\353\337\174\317\333\253\132\312\061\361
-\114\042\363\005\023\367\202\371\163\171\014\276\327\113\034\300
-\321\025\074\223\101\144\321\346\276\043\027\042\000\211\136\037
-\153\245\254\156\247\113\214\355\243\162\346\257\143\115\057\205
-\322\024\065\232\056\116\214\352\062\230\050\206\241\221\011\101
-\072\264\341\343\362\372\360\311\012\242\101\335\251\343\003\307
-\210\025\073\034\324\032\224\327\237\144\131\022\155\002\003\001
-\000\001\243\123\060\121\060\017\006\003\125\035\023\001\001\377
-\004\005\060\003\001\001\377\060\037\006\003\125\035\043\004\030
-\060\026\200\024\272\372\161\045\171\213\127\101\045\041\206\013
-\161\353\262\144\016\213\041\147\060\035\006\003\125\035\016\004
-\026\004\024\272\372\161\045\171\213\127\101\045\041\206\013\161
-\353\262\144\016\213\041\147\060\015\006\011\052\206\110\206\367
-\015\001\001\005\005\000\003\202\001\001\000\176\130\377\375\065
-\031\175\234\030\117\236\260\053\274\216\214\024\377\054\240\332
-\107\133\303\357\201\055\257\005\352\164\110\133\363\076\116\007
-\307\155\305\263\223\317\042\065\134\266\077\165\047\137\011\226
-\315\240\376\276\100\014\134\022\125\370\223\202\312\051\351\136
-\077\126\127\213\070\066\367\105\032\114\050\315\236\101\270\355
-\126\114\204\244\100\310\270\260\245\053\151\160\004\152\303\370
-\324\022\062\371\016\303\261\334\062\204\104\054\157\313\106\017
-\352\146\101\017\117\361\130\245\246\015\015\017\141\336\245\236
-\135\175\145\241\074\027\347\250\125\116\357\240\307\355\306\104
-\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
-# Fingerprint (SHA1): 3B:C0:38:0B:33:C3:F6:A6:0C:86:15:22:93:D9:DF:F5:4B:81:C0:04
-CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
-CKA_TOKEN CK_BBOOL CK_TRUE
-CKA_PRIVATE CK_BBOOL CK_FALSE
-CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "Trustis FPS Root CA"
-CKA_CERT_SHA1_HASH MULTILINE_OCTAL
-\073\300\070\013\063\303\366\246\014\206\025\042\223\331\337\365
-\113\201\300\004
-END
-CKA_CERT_MD5_HASH MULTILINE_OCTAL
-\060\311\347\036\153\346\024\353\145\262\026\151\040\061\147\115
-END
-CKA_ISSUER MULTILINE_OCTAL
-\060\105\061\013\060\011\006\003\125\004\006\023\002\107\102\061
-\030\060\026\006\003\125\004\012\023\017\124\162\165\163\164\151
-\163\040\114\151\155\151\164\145\144\061\034\060\032\006\003\125
-\004\013\023\023\124\162\165\163\164\151\163\040\106\120\123\040
-\122\157\157\164\040\103\101
-END
-CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\020\033\037\255\266\040\371\044\323\066\153\367\307\361\214
-\240\131
-END
-CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
-CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
-CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
-CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
-
-#
-# Certificate "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
-# Fingerprint (SHA1): 49:0A:75:74:DE:87:0A:47:FE:58:EE:F6:C7:6B:EB:C6:0B:12:40:99
-CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
-CKA_TOKEN CK_BBOOL CK_TRUE
-CKA_PRIVATE CK_BBOOL CK_FALSE
-CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "Buypass Class 2 Root CA"
-CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
-CKA_SUBJECT MULTILINE_OCTAL
-\060\116\061\013\060\011\006\003\125\004\006\023\002\116\117\061
-\035\060\033\006\003\125\004\012\014\024\102\165\171\160\141\163
-\163\040\101\123\055\071\070\063\061\066\063\063\062\067\061\040
-\060\036\006\003\125\004\003\014\027\102\165\171\160\141\163\163
-\040\103\154\141\163\163\040\062\040\122\157\157\164\040\103\101
-END
-CKA_ID UTF8 "0"
-CKA_ISSUER MULTILINE_OCTAL
-\060\116\061\013\060\011\006\003\125\004\006\023\002\116\117\061
-\035\060\033\006\003\125\004\012\014\024\102\165\171\160\141\163
-\163\040\101\123\055\071\070\063\061\066\063\063\062\067\061\040
-\060\036\006\003\125\004\003\014\027\102\165\171\160\141\163\163
-\040\103\154\141\163\163\040\062\040\122\157\157\164\040\103\101
+\060\202\007\323\060\202\005\273\240\003\002\001\002\002\010\136
+\303\267\246\103\177\244\340\060\015\006\011\052\206\110\206\367
+\015\001\001\005\005\000\060\102\061\022\060\020\006\003\125\004
+\003\014\011\101\103\103\126\122\101\111\132\061\061\020\060\016
+\006\003\125\004\013\014\007\120\113\111\101\103\103\126\061\015
+\060\013\006\003\125\004\012\014\004\101\103\103\126\061\013\060
+\011\006\003\125\004\006\023\002\105\123\060\036\027\015\061\061
+\060\065\060\065\060\071\063\067\063\067\132\027\015\063\060\061
+\062\063\061\060\071\063\067\063\067\132\060\102\061\022\060\020
+\006\003\125\004\003\014\011\101\103\103\126\122\101\111\132\061
+\061\020\060\016\006\003\125\004\013\014\007\120\113\111\101\103
+\103\126\061\015\060\013\006\003\125\004\012\014\004\101\103\103
+\126\061\013\060\011\006\003\125\004\006\023\002\105\123\060\202
+\002\042\060\015\006\011\052\206\110\206\367\015\001\001\001\005
+\000\003\202\002\017\000\060\202\002\012\002\202\002\001\000\233
+\251\253\277\141\112\227\257\057\227\146\232\164\137\320\331\226
+\375\317\342\344\146\357\037\037\107\063\302\104\243\337\232\336
+\037\265\124\335\025\174\151\065\021\157\273\310\014\216\152\030
+\036\330\217\331\026\274\020\110\066\134\360\143\263\220\132\134
+\044\067\327\243\326\313\011\161\271\361\001\162\204\260\175\333
+\115\200\315\374\323\157\311\370\332\266\016\202\322\105\205\250
+\033\150\250\075\350\364\104\154\275\241\302\313\003\276\214\076
+\023\000\204\337\112\110\300\343\042\012\350\351\067\247\030\114
+\261\011\015\043\126\177\004\115\331\027\204\030\245\310\332\100
+\224\163\353\316\016\127\074\003\201\072\235\012\241\127\103\151
+\254\127\155\171\220\170\345\265\264\073\330\274\114\215\050\241
+\247\243\247\272\002\116\045\321\052\256\355\256\003\042\270\153
+\040\017\060\050\124\225\177\340\356\316\012\146\235\321\100\055
+\156\042\257\235\032\301\005\031\322\157\300\362\237\370\173\263
+\002\102\373\120\251\035\055\223\017\043\253\306\301\017\222\377
+\320\242\025\365\123\011\161\034\377\105\023\204\346\046\136\370
+\340\210\034\012\374\026\266\250\163\006\270\360\143\204\002\240
+\306\132\354\347\164\337\160\256\243\203\045\352\326\307\227\207
+\223\247\306\212\212\063\227\140\067\020\076\227\076\156\051\025
+\326\241\017\321\210\054\022\237\157\252\244\306\102\353\101\242
+\343\225\103\323\001\205\155\216\273\073\363\043\066\307\376\073
+\340\241\045\007\110\253\311\211\164\377\010\217\200\277\300\226
+\145\363\356\354\113\150\275\235\210\303\061\263\100\361\350\317
+\366\070\273\234\344\321\177\324\345\130\233\174\372\324\363\016
+\233\165\221\344\272\122\056\031\176\321\365\315\132\031\374\272
+\006\366\373\122\250\113\231\004\335\370\371\264\213\120\243\116
+\142\211\360\207\044\372\203\102\301\207\372\325\055\051\052\132
+\161\172\144\152\327\047\140\143\015\333\316\111\365\215\037\220
+\211\062\027\370\163\103\270\322\132\223\206\141\326\341\165\012
+\352\171\146\166\210\117\161\353\004\045\326\012\132\172\223\345
+\271\113\027\100\017\261\266\271\365\336\117\334\340\263\254\073
+\021\160\140\204\112\103\156\231\040\300\051\161\012\300\145\002
+\003\001\000\001\243\202\002\313\060\202\002\307\060\175\006\010
+\053\006\001\005\005\007\001\001\004\161\060\157\060\114\006\010
+\053\006\001\005\005\007\060\002\206\100\150\164\164\160\072\057
+\057\167\167\167\056\141\143\143\166\056\145\163\057\146\151\154
+\145\141\144\155\151\156\057\101\162\143\150\151\166\157\163\057
+\143\145\162\164\151\146\151\143\141\144\157\163\057\162\141\151
+\172\141\143\143\166\061\056\143\162\164\060\037\006\010\053\006
+\001\005\005\007\060\001\206\023\150\164\164\160\072\057\057\157
+\143\163\160\056\141\143\143\166\056\145\163\060\035\006\003\125
+\035\016\004\026\004\024\322\207\264\343\337\067\047\223\125\366
+\126\352\201\345\066\314\214\036\077\275\060\017\006\003\125\035
+\023\001\001\377\004\005\060\003\001\001\377\060\037\006\003\125
+\035\043\004\030\060\026\200\024\322\207\264\343\337\067\047\223
+\125\366\126\352\201\345\066\314\214\036\077\275\060\202\001\163
+\006\003\125\035\040\004\202\001\152\060\202\001\146\060\202\001
+\142\006\004\125\035\040\000\060\202\001\130\060\202\001\042\006
+\010\053\006\001\005\005\007\002\002\060\202\001\024\036\202\001
+\020\000\101\000\165\000\164\000\157\000\162\000\151\000\144\000
+\141\000\144\000\040\000\144\000\145\000\040\000\103\000\145\000
+\162\000\164\000\151\000\146\000\151\000\143\000\141\000\143\000
+\151\000\363\000\156\000\040\000\122\000\141\000\355\000\172\000
+\040\000\144\000\145\000\040\000\154\000\141\000\040\000\101\000
+\103\000\103\000\126\000\040\000\050\000\101\000\147\000\145\000
+\156\000\143\000\151\000\141\000\040\000\144\000\145\000\040\000
+\124\000\145\000\143\000\156\000\157\000\154\000\157\000\147\000
+\355\000\141\000\040\000\171\000\040\000\103\000\145\000\162\000
+\164\000\151\000\146\000\151\000\143\000\141\000\143\000\151\000
+\363\000\156\000\040\000\105\000\154\000\145\000\143\000\164\000
+\162\000\363\000\156\000\151\000\143\000\141\000\054\000\040\000
+\103\000\111\000\106\000\040\000\121\000\064\000\066\000\060\000
+\061\000\061\000\065\000\066\000\105\000\051\000\056\000\040\000
+\103\000\120\000\123\000\040\000\145\000\156\000\040\000\150\000
+\164\000\164\000\160\000\072\000\057\000\057\000\167\000\167\000
+\167\000\056\000\141\000\143\000\143\000\166\000\056\000\145\000
+\163\060\060\006\010\053\006\001\005\005\007\002\001\026\044\150
+\164\164\160\072\057\057\167\167\167\056\141\143\143\166\056\145
+\163\057\154\145\147\151\163\154\141\143\151\157\156\137\143\056
+\150\164\155\060\125\006\003\125\035\037\004\116\060\114\060\112
+\240\110\240\106\206\104\150\164\164\160\072\057\057\167\167\167
+\056\141\143\143\166\056\145\163\057\146\151\154\145\141\144\155
+\151\156\057\101\162\143\150\151\166\157\163\057\143\145\162\164
+\151\146\151\143\141\144\157\163\057\162\141\151\172\141\143\143
+\166\061\137\144\145\162\056\143\162\154\060\016\006\003\125\035
+\017\001\001\377\004\004\003\002\001\006\060\027\006\003\125\035
+\021\004\020\060\016\201\014\141\143\143\166\100\141\143\143\166
+\056\145\163\060\015\006\011\052\206\110\206\367\015\001\001\005
+\005\000\003\202\002\001\000\227\061\002\237\347\375\103\147\110
+\104\024\344\051\207\355\114\050\146\320\217\065\332\115\141\267
+\112\227\115\265\333\220\340\005\056\016\306\171\320\362\227\151
+\017\275\004\107\331\276\333\265\051\332\233\331\256\251\231\325
+\323\074\060\223\365\215\241\250\374\006\215\104\364\312\026\225
+\174\063\334\142\213\250\067\370\047\330\011\055\033\357\310\024
+\047\040\251\144\104\377\056\326\165\252\154\115\140\100\031\111
+\103\124\143\332\342\314\272\146\345\117\104\172\133\331\152\201
+\053\100\325\177\371\001\047\130\054\310\355\110\221\174\077\246
+\000\317\304\051\163\021\066\336\206\031\076\235\356\031\212\033
+\325\260\355\216\075\234\052\300\015\330\075\146\343\074\015\275
+\325\224\134\342\342\247\065\033\004\000\366\077\132\215\352\103
+\275\137\211\035\251\301\260\314\231\342\115\000\012\332\311\047
+\133\347\023\220\134\344\365\063\242\125\155\334\340\011\115\057
+\261\046\133\047\165\000\011\304\142\167\051\010\137\236\131\254
+\266\176\255\237\124\060\042\003\301\036\161\144\376\371\070\012
+\226\030\335\002\024\254\043\313\006\034\036\244\175\215\015\336
+\047\101\350\255\332\025\267\260\043\335\053\250\323\332\045\207
+\355\350\125\104\115\210\364\066\176\204\232\170\254\367\016\126
+\111\016\326\063\045\326\204\120\102\154\040\022\035\052\325\276
+\274\362\160\201\244\160\140\276\005\265\233\236\004\104\276\141
+\043\254\351\245\044\214\021\200\224\132\242\242\271\111\322\301
+\334\321\247\355\061\021\054\236\031\246\356\341\125\341\300\352
+\317\015\204\344\027\267\242\174\245\336\125\045\006\356\314\300
+\207\134\100\332\314\225\077\125\340\065\307\270\204\276\264\135
+\315\172\203\001\162\356\207\346\137\035\256\265\205\306\046\337
+\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
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
+
+# 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 (SHA-256): 9A:6E:C0:12:E1:A7:DA:9D:BE:34:19:4D:47:8A:D7:C0:DB:18:22:FB:07:1D:F1:29:81:49:6E:D1:04:38:41:13
+# Fingerprint (SHA1): 93:05:7A:88:15:C6:4F:CE:88:2F:FA:91:16:52:28:78:BC:53:64:17
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "ACCVRAIZ1"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\223\005\172\210\025\306\117\316\210\057\372\221\026\122\050\170
+\274\123\144\027
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\320\240\132\356\005\266\011\224\041\241\175\361\262\051\202\002
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\102\061\022\060\020\006\003\125\004\003\014\011\101\103\103
+\126\122\101\111\132\061\061\020\060\016\006\003\125\004\013\014
+\007\120\113\111\101\103\103\126\061\015\060\013\006\003\125\004
+\012\014\004\101\103\103\126\061\013\060\011\006\003\125\004\006
+\023\002\105\123
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\010\136\303\267\246\103\177\244\340
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "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 (SHA-256): 59:76:90:07:F7:68:5D:0F:CD:50:87:2F:9F:95:D5:75:5A:5B:2B:45:7D:81:F3:69:2B:61:0A:98:67:2F:0E:1B
+# Fingerprint (SHA1): 9C:BB:48:53:F6:A4:F6:D3:52:A4:E8:32:52:55:60:13:F5:AD:AF:65
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "TWCA Global Root CA"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\121\061\013\060\011\006\003\125\004\006\023\002\124\127\061
+\022\060\020\006\003\125\004\012\023\011\124\101\111\127\101\116
+\055\103\101\061\020\060\016\006\003\125\004\013\023\007\122\157
+\157\164\040\103\101\061\034\060\032\006\003\125\004\003\023\023
+\124\127\103\101\040\107\154\157\142\141\154\040\122\157\157\164
+\040\103\101
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\121\061\013\060\011\006\003\125\004\006\023\002\124\127\061
+\022\060\020\006\003\125\004\012\023\011\124\101\111\127\101\116
+\055\103\101\061\020\060\016\006\003\125\004\013\023\007\122\157
+\157\164\040\103\101\061\034\060\032\006\003\125\004\003\023\023
+\124\127\103\101\040\107\154\157\142\141\154\040\122\157\157\164
+\040\103\101
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\002\014\276
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\005\101\060\202\003\051\240\003\002\001\002\002\002\014
+\276\060\015\006\011\052\206\110\206\367\015\001\001\013\005\000
+\060\121\061\013\060\011\006\003\125\004\006\023\002\124\127\061
+\022\060\020\006\003\125\004\012\023\011\124\101\111\127\101\116
+\055\103\101\061\020\060\016\006\003\125\004\013\023\007\122\157
+\157\164\040\103\101\061\034\060\032\006\003\125\004\003\023\023
+\124\127\103\101\040\107\154\157\142\141\154\040\122\157\157\164
+\040\103\101\060\036\027\015\061\062\060\066\062\067\060\066\062
+\070\063\063\132\027\015\063\060\061\062\063\061\061\065\065\071
+\065\071\132\060\121\061\013\060\011\006\003\125\004\006\023\002
+\124\127\061\022\060\020\006\003\125\004\012\023\011\124\101\111
+\127\101\116\055\103\101\061\020\060\016\006\003\125\004\013\023
+\007\122\157\157\164\040\103\101\061\034\060\032\006\003\125\004
+\003\023\023\124\127\103\101\040\107\154\157\142\141\154\040\122
+\157\157\164\040\103\101\060\202\002\042\060\015\006\011\052\206
+\110\206\367\015\001\001\001\005\000\003\202\002\017\000\060\202
+\002\012\002\202\002\001\000\260\005\333\310\353\214\304\156\212
+\041\357\216\115\234\161\012\037\122\160\355\155\202\234\227\305
+\327\114\116\105\111\313\100\102\265\022\064\154\031\302\164\244
+\061\137\205\002\227\354\103\063\012\123\322\234\214\216\267\270
+\171\333\053\325\152\362\216\146\304\356\053\001\007\222\324\263
+\320\002\337\120\366\125\257\146\016\313\340\107\140\057\053\062
+\071\065\122\072\050\203\370\173\026\306\030\270\142\326\107\045
+\221\316\360\031\022\115\255\143\365\323\077\165\137\051\360\241
+\060\034\052\240\230\246\025\275\356\375\031\066\360\342\221\103
+\217\372\312\326\020\047\111\114\357\335\301\361\205\160\233\312
+\352\250\132\103\374\155\206\157\163\351\067\105\251\360\066\307
+\314\210\165\036\273\154\006\377\233\153\076\027\354\141\252\161
+\174\306\035\242\367\111\351\025\265\074\326\241\141\365\021\367
+\005\157\035\375\021\276\320\060\007\302\051\260\011\116\046\334
+\343\242\250\221\152\037\302\221\105\210\134\345\230\270\161\245
+\025\031\311\174\165\021\314\160\164\117\055\233\035\221\104\375
+\126\050\240\376\273\206\152\310\372\134\013\130\334\306\113\166
+\310\253\042\331\163\017\245\364\132\002\211\077\117\236\042\202
+\356\242\164\123\052\075\123\047\151\035\154\216\062\054\144\000
+\046\143\141\066\116\243\106\267\077\175\263\055\254\155\220\242
+\225\242\316\317\332\202\347\007\064\031\226\351\270\041\252\051
+\176\246\070\276\216\051\112\041\146\171\037\263\303\265\011\147
+\336\326\324\007\106\363\052\332\346\042\067\140\313\201\266\017
+\240\017\351\310\225\177\277\125\221\005\172\317\075\025\300\157
+\336\011\224\001\203\327\064\033\314\100\245\360\270\233\147\325
+\230\221\073\247\204\170\225\046\244\132\010\370\053\164\264\000
+\004\074\337\270\024\216\350\337\251\215\154\147\222\063\035\300
+\267\322\354\222\310\276\011\277\054\051\005\157\002\153\236\357
+\274\277\052\274\133\300\120\217\101\160\161\207\262\115\267\004
+\251\204\243\062\257\256\356\153\027\213\262\261\376\154\341\220
+\214\210\250\227\110\316\310\115\313\363\006\317\137\152\012\102
+\261\036\036\167\057\216\240\346\222\016\006\374\005\042\322\046
+\341\061\121\175\062\334\017\002\003\001\000\001\243\043\060\041
+\060\016\006\003\125\035\017\001\001\377\004\004\003\002\001\006
+\060\017\006\003\125\035\023\001\001\377\004\005\060\003\001\001
+\377\060\015\006\011\052\206\110\206\367\015\001\001\013\005\000
+\003\202\002\001\000\137\064\201\166\357\226\035\325\345\265\331
+\002\143\204\026\301\256\240\160\121\247\367\114\107\065\310\013
+\327\050\075\211\161\331\252\063\101\352\024\033\154\041\000\300
+\154\102\031\176\237\151\133\040\102\337\242\322\332\304\174\227
+\113\215\260\350\254\310\356\245\151\004\231\012\222\246\253\047
+\056\032\115\201\277\204\324\160\036\255\107\376\375\112\235\063
+\340\362\271\304\105\010\041\012\332\151\151\163\162\015\276\064
+\376\224\213\255\303\036\065\327\242\203\357\345\070\307\245\205
+\037\253\317\064\354\077\050\376\014\361\127\206\116\311\125\367
+\034\324\330\245\175\006\172\157\325\337\020\337\201\116\041\145
+\261\266\341\027\171\225\105\006\316\137\314\334\106\211\143\150
+\104\215\223\364\144\160\240\075\235\050\005\303\071\160\270\142
+\173\040\375\344\333\351\010\241\270\236\075\011\307\117\373\054
+\370\223\166\101\336\122\340\341\127\322\235\003\274\167\236\376
+\236\051\136\367\301\121\140\037\336\332\013\262\055\165\267\103
+\110\223\347\366\171\306\204\135\200\131\140\224\374\170\230\217
+\074\223\121\355\100\220\007\337\144\143\044\313\116\161\005\241
+\327\224\032\210\062\361\042\164\042\256\245\246\330\022\151\114
+\140\243\002\356\053\354\324\143\222\013\136\276\057\166\153\243
+\266\046\274\217\003\330\012\362\114\144\106\275\071\142\345\226
+\353\064\143\021\050\314\225\361\255\357\357\334\200\130\110\351
+\113\270\352\145\254\351\374\200\265\265\310\105\371\254\301\237
+\331\271\352\142\210\216\304\361\113\203\022\255\346\213\204\326
+\236\302\353\203\030\237\152\273\033\044\140\063\160\314\354\367
+\062\363\134\331\171\175\357\236\244\376\311\043\303\044\356\025
+\222\261\075\221\117\046\206\275\146\163\044\023\352\244\256\143
+\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
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
+
+# 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 (SHA-256): 59:76:90:07:F7:68:5D:0F:CD:50:87:2F:9F:95:D5:75:5A:5B:2B:45:7D:81:F3:69:2B:61:0A:98:67:2F:0E:1B
+# Fingerprint (SHA1): 9C:BB:48:53:F6:A4:F6:D3:52:A4:E8:32:52:55:60:13:F5:AD:AF:65
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "TWCA Global Root CA"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\234\273\110\123\366\244\366\323\122\244\350\062\122\125\140\023
+\365\255\257\145
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\371\003\176\317\346\236\074\163\172\052\220\007\151\377\053\226
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\121\061\013\060\011\006\003\125\004\006\023\002\124\127\061
+\022\060\020\006\003\125\004\012\023\011\124\101\111\127\101\116
+\055\103\101\061\020\060\016\006\003\125\004\013\023\007\122\157
+\157\164\040\103\101\061\034\060\032\006\003\125\004\003\023\023
+\124\127\103\101\040\107\154\157\142\141\154\040\122\157\157\164
+\040\103\101
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\002\014\276
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "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 (SHA-256): DD:69:36:FE:21:F8:F0:77:C1:23:A1:A5:21:C1:22:24:F7:22:55:B7:3E:03:A7:26:06:93:E8:A2:4B:0F:A3:89
+# Fingerprint (SHA1): 43:13:BB:96:F1:D5:86:9B:C1:4E:6A:92:F6:CF:F6:34:69:87:82:37
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "TeliaSonera Root CA v1"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\067\061\024\060\022\006\003\125\004\012\014\013\124\145\154
+\151\141\123\157\156\145\162\141\061\037\060\035\006\003\125\004
+\003\014\026\124\145\154\151\141\123\157\156\145\162\141\040\122
+\157\157\164\040\103\101\040\166\061
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\067\061\024\060\022\006\003\125\004\012\014\013\124\145\154
+\151\141\123\157\156\145\162\141\061\037\060\035\006\003\125\004
+\003\014\026\124\145\154\151\141\123\157\156\145\162\141\040\122
+\157\157\164\040\103\101\040\166\061
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\021\000\225\276\026\240\367\056\106\361\173\071\202\162\372
+\213\315\226
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\005\070\060\202\003\040\240\003\002\001\002\002\021\000
+\225\276\026\240\367\056\106\361\173\071\202\162\372\213\315\226
+\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060
+\067\061\024\060\022\006\003\125\004\012\014\013\124\145\154\151
+\141\123\157\156\145\162\141\061\037\060\035\006\003\125\004\003
+\014\026\124\145\154\151\141\123\157\156\145\162\141\040\122\157
+\157\164\040\103\101\040\166\061\060\036\027\015\060\067\061\060
+\061\070\061\062\060\060\065\060\132\027\015\063\062\061\060\061
+\070\061\062\060\060\065\060\132\060\067\061\024\060\022\006\003
+\125\004\012\014\013\124\145\154\151\141\123\157\156\145\162\141
+\061\037\060\035\006\003\125\004\003\014\026\124\145\154\151\141
+\123\157\156\145\162\141\040\122\157\157\164\040\103\101\040\166
+\061\060\202\002\042\060\015\006\011\052\206\110\206\367\015\001
+\001\001\005\000\003\202\002\017\000\060\202\002\012\002\202\002
+\001\000\302\276\353\047\360\041\243\363\151\046\125\176\235\305
+\125\026\221\134\375\357\041\277\123\200\172\055\322\221\214\143
+\061\360\354\044\360\303\245\322\162\174\020\155\364\067\267\345
+\346\174\171\352\214\265\202\213\256\110\266\254\000\334\145\165
+\354\052\115\137\301\207\365\040\145\053\201\250\107\076\211\043
+\225\060\026\220\177\350\127\007\110\347\031\256\277\105\147\261
+\067\033\006\052\376\336\371\254\175\203\373\136\272\344\217\227
+\147\276\113\216\215\144\007\127\070\125\151\064\066\075\023\110
+\357\117\342\323\146\036\244\317\032\267\136\066\063\324\264\006
+\275\030\001\375\167\204\120\000\105\365\214\135\350\043\274\176
+\376\065\341\355\120\173\251\060\215\031\323\011\216\150\147\135
+\277\074\227\030\123\273\051\142\305\312\136\162\301\307\226\324
+\333\055\240\264\037\151\003\354\352\342\120\361\014\074\360\254
+\363\123\055\360\034\365\355\154\071\071\163\200\026\310\122\260
+\043\315\340\076\334\335\074\107\240\273\065\212\342\230\150\213
+\276\345\277\162\356\322\372\245\355\022\355\374\230\030\251\046
+\166\334\050\113\020\040\034\323\177\026\167\055\355\157\200\367
+\111\273\123\005\273\135\150\307\324\310\165\026\077\211\132\213
+\367\027\107\324\114\361\322\211\171\076\115\075\230\250\141\336
+\072\036\322\370\136\003\340\301\311\034\214\323\215\115\323\225
+\066\263\067\137\143\143\233\063\024\360\055\046\153\123\174\211
+\214\062\302\156\354\075\041\000\071\311\241\150\342\120\203\056
+\260\072\053\363\066\240\254\057\344\157\141\302\121\011\071\076
+\213\123\271\273\147\332\334\123\271\166\131\066\235\103\345\040
+\340\075\062\140\205\042\121\267\307\063\273\335\025\057\244\170
+\246\007\173\201\106\066\004\206\335\171\065\307\225\054\073\260
+\243\027\065\345\163\037\264\134\131\357\332\352\020\145\173\172
+\320\177\237\263\264\052\067\073\160\213\233\133\271\053\267\354
+\262\121\022\227\123\051\132\324\360\022\020\334\117\002\273\022
+\222\057\142\324\077\151\103\174\015\326\374\130\165\001\210\235
+\130\026\113\336\272\220\377\107\001\211\006\152\366\137\262\220
+\152\263\002\246\002\210\277\263\107\176\052\331\325\372\150\170
+\065\115\002\003\001\000\001\243\077\060\075\060\017\006\003\125
+\035\023\001\001\377\004\005\060\003\001\001\377\060\013\006\003
+\125\035\017\004\004\003\002\001\006\060\035\006\003\125\035\016
+\004\026\004\024\360\217\131\070\000\263\365\217\232\226\014\325
+\353\372\173\252\027\350\023\022\060\015\006\011\052\206\110\206
+\367\015\001\001\005\005\000\003\202\002\001\000\276\344\134\142
+\116\044\364\014\010\377\360\323\014\150\344\223\111\042\077\104
+\047\157\273\155\336\203\146\316\250\314\015\374\365\232\006\345
+\167\024\221\353\235\101\173\231\052\204\345\377\374\041\301\135
+\360\344\037\127\267\165\251\241\137\002\046\377\327\307\367\116
+\336\117\370\367\034\106\300\172\117\100\054\042\065\360\031\261
+\320\153\147\054\260\250\340\300\100\067\065\366\204\134\134\343
+\257\102\170\376\247\311\015\120\352\015\204\166\366\121\357\203
+\123\306\172\377\016\126\111\056\217\172\326\014\346\047\124\343
+\115\012\140\162\142\315\221\007\326\245\277\310\231\153\355\304
+\031\346\253\114\021\070\305\157\061\342\156\111\310\077\166\200
+\046\003\046\051\340\066\366\366\040\123\343\027\160\064\027\235
+\143\150\036\153\354\303\115\206\270\023\060\057\135\106\015\107
+\103\325\033\252\131\016\271\134\215\006\110\255\164\207\137\307
+\374\061\124\101\023\342\307\041\016\236\340\036\015\341\300\173
+\103\205\220\305\212\130\306\145\012\170\127\362\306\043\017\001
+\331\040\113\336\017\373\222\205\165\052\134\163\215\155\173\045
+\221\312\356\105\256\006\113\000\314\323\261\131\120\332\072\210
+\073\051\103\106\136\227\053\124\316\123\157\215\112\347\226\372
+\277\161\016\102\213\174\375\050\240\320\110\312\332\304\201\114
+\273\242\163\223\046\310\353\014\326\046\210\266\300\044\317\273
+\275\133\353\165\175\351\010\216\206\063\054\171\167\011\151\245
+\211\374\263\160\220\207\166\217\323\042\273\102\316\275\163\013
+\040\046\052\320\233\075\160\036\044\154\315\207\166\251\027\226
+\267\317\015\222\373\216\030\251\230\111\321\236\376\140\104\162
+\041\271\031\355\302\365\061\361\071\110\210\220\044\165\124\026
+\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
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
+
+# 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 (SHA-256): DD:69:36:FE:21:F8:F0:77:C1:23:A1:A5:21:C1:22:24:F7:22:55:B7:3E:03:A7:26:06:93:E8:A2:4B:0F:A3:89
+# Fingerprint (SHA1): 43:13:BB:96:F1:D5:86:9B:C1:4E:6A:92:F6:CF:F6:34:69:87:82:37
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "TeliaSonera Root CA v1"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\103\023\273\226\361\325\206\233\301\116\152\222\366\317\366\064
+\151\207\202\067
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\067\101\111\033\030\126\232\046\365\255\302\146\373\100\245\114
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\067\061\024\060\022\006\003\125\004\012\014\013\124\145\154
+\151\141\123\157\156\145\162\141\061\037\060\035\006\003\125\004
+\003\014\026\124\145\154\151\141\123\157\156\145\162\141\040\122
+\157\157\164\040\103\101\040\166\061
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\021\000\225\276\026\240\367\056\106\361\173\071\202\162\372
+\213\315\226
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "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 (SHA-256): 91:E2:F5:78:8D:58:10:EB:A7:BA:58:73:7D:E1:54:8A:8E:CA:CD:01:45:98:BC:0B:14:3E:04:1B:17:05:25:52
+# Fingerprint (SHA1): 59:0D:2D:7D:88:4F:40:2E:61:7E:A5:62:32:17:65:CF:17:D8:94:E9
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "T-TeleSec GlobalRoot Class 2"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\201\202\061\013\060\011\006\003\125\004\006\023\002\104\105
+\061\053\060\051\006\003\125\004\012\014\042\124\055\123\171\163
+\164\145\155\163\040\105\156\164\145\162\160\162\151\163\145\040
+\123\145\162\166\151\143\145\163\040\107\155\142\110\061\037\060
+\035\006\003\125\004\013\014\026\124\055\123\171\163\164\145\155
+\163\040\124\162\165\163\164\040\103\145\156\164\145\162\061\045
+\060\043\006\003\125\004\003\014\034\124\055\124\145\154\145\123
+\145\143\040\107\154\157\142\141\154\122\157\157\164\040\103\154
+\141\163\163\040\062
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\201\202\061\013\060\011\006\003\125\004\006\023\002\104\105
+\061\053\060\051\006\003\125\004\012\014\042\124\055\123\171\163
+\164\145\155\163\040\105\156\164\145\162\160\162\151\163\145\040
+\123\145\162\166\151\143\145\163\040\107\155\142\110\061\037\060
+\035\006\003\125\004\013\014\026\124\055\123\171\163\164\145\155
+\163\040\124\162\165\163\164\040\103\145\156\164\145\162\061\045
+\060\043\006\003\125\004\003\014\034\124\055\124\145\154\145\123
+\145\143\040\107\154\157\142\141\154\122\157\157\164\040\103\154
+\141\163\163\040\062
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\001\001
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\003\303\060\202\002\253\240\003\002\001\002\002\001\001
+\060\015\006\011\052\206\110\206\367\015\001\001\013\005\000\060
+\201\202\061\013\060\011\006\003\125\004\006\023\002\104\105\061
+\053\060\051\006\003\125\004\012\014\042\124\055\123\171\163\164
+\145\155\163\040\105\156\164\145\162\160\162\151\163\145\040\123
+\145\162\166\151\143\145\163\040\107\155\142\110\061\037\060\035
+\006\003\125\004\013\014\026\124\055\123\171\163\164\145\155\163
+\040\124\162\165\163\164\040\103\145\156\164\145\162\061\045\060
+\043\006\003\125\004\003\014\034\124\055\124\145\154\145\123\145
+\143\040\107\154\157\142\141\154\122\157\157\164\040\103\154\141
+\163\163\040\062\060\036\027\015\060\070\061\060\060\061\061\060
+\064\060\061\064\132\027\015\063\063\061\060\060\061\062\063\065
+\071\065\071\132\060\201\202\061\013\060\011\006\003\125\004\006
+\023\002\104\105\061\053\060\051\006\003\125\004\012\014\042\124
+\055\123\171\163\164\145\155\163\040\105\156\164\145\162\160\162
+\151\163\145\040\123\145\162\166\151\143\145\163\040\107\155\142
+\110\061\037\060\035\006\003\125\004\013\014\026\124\055\123\171
+\163\164\145\155\163\040\124\162\165\163\164\040\103\145\156\164
+\145\162\061\045\060\043\006\003\125\004\003\014\034\124\055\124
+\145\154\145\123\145\143\040\107\154\157\142\141\154\122\157\157
+\164\040\103\154\141\163\163\040\062\060\202\001\042\060\015\006
+\011\052\206\110\206\367\015\001\001\001\005\000\003\202\001\017
+\000\060\202\001\012\002\202\001\001\000\252\137\332\033\137\350
+\163\221\345\332\134\364\242\346\107\345\363\150\125\140\005\035
+\002\244\263\233\131\363\036\212\257\064\255\374\015\302\331\110
+\031\356\151\217\311\040\374\041\252\007\031\355\260\134\254\145
+\307\137\355\002\174\173\174\055\033\326\272\271\200\302\030\202
+\026\204\372\146\260\010\306\124\043\201\344\315\271\111\077\366
+\117\156\067\110\050\070\017\305\276\347\150\160\375\071\227\115
+\322\307\230\221\120\252\304\104\263\043\175\071\107\351\122\142
+\326\022\223\136\267\061\226\102\005\373\166\247\036\243\365\302
+\374\351\172\305\154\251\161\117\352\313\170\274\140\257\307\336
+\364\331\313\276\176\063\245\156\224\203\360\064\372\041\253\352
+\216\162\240\077\244\336\060\133\357\206\115\152\225\133\103\104
+\250\020\025\034\345\001\127\305\230\361\346\006\050\221\252\040
+\305\267\123\046\121\103\262\013\021\225\130\341\300\017\166\331
+\300\215\174\201\363\162\160\236\157\376\032\216\331\137\065\306
+\262\157\064\174\276\110\117\342\132\071\327\330\235\170\236\237
+\206\076\003\136\031\213\104\242\325\307\002\003\001\000\001\243
+\102\060\100\060\017\006\003\125\035\023\001\001\377\004\005\060
+\003\001\001\377\060\016\006\003\125\035\017\001\001\377\004\004
+\003\002\001\006\060\035\006\003\125\035\016\004\026\004\024\277
+\131\040\066\000\171\240\240\042\153\214\325\362\141\322\270\054
+\313\202\112\060\015\006\011\052\206\110\206\367\015\001\001\013
+\005\000\003\202\001\001\000\061\003\242\141\013\037\164\350\162
+\066\306\155\371\115\236\372\042\250\341\201\126\317\315\273\237
+\352\253\221\031\070\257\252\174\025\115\363\266\243\215\245\364
+\216\366\104\251\247\350\041\225\255\076\000\142\026\210\360\002
+\272\374\141\043\346\063\233\060\172\153\066\142\173\255\004\043
+\204\130\145\342\333\053\212\347\045\123\067\142\123\137\274\332
+\001\142\051\242\246\047\161\346\072\042\176\301\157\035\225\160
+\040\112\007\064\337\352\377\025\200\345\272\327\172\330\133\165
+\174\005\172\051\107\176\100\250\061\023\167\315\100\073\264\121
+\107\172\056\021\343\107\021\336\235\146\320\213\325\124\146\372
+\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
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
+
+# 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 (SHA-256): 91:E2:F5:78:8D:58:10:EB:A7:BA:58:73:7D:E1:54:8A:8E:CA:CD:01:45:98:BC:0B:14:3E:04:1B:17:05:25:52
+# Fingerprint (SHA1): 59:0D:2D:7D:88:4F:40:2E:61:7E:A5:62:32:17:65:CF:17:D8:94:E9
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "T-TeleSec GlobalRoot Class 2"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\131\015\055\175\210\117\100\056\141\176\245\142\062\027\145\317
+\027\330\224\351
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\053\233\236\344\173\154\037\000\162\032\314\301\167\171\337\152
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\201\202\061\013\060\011\006\003\125\004\006\023\002\104\105
+\061\053\060\051\006\003\125\004\012\014\042\124\055\123\171\163
+\164\145\155\163\040\105\156\164\145\162\160\162\151\163\145\040
+\123\145\162\166\151\143\145\163\040\107\155\142\110\061\037\060
+\035\006\003\125\004\013\014\026\124\055\123\171\163\164\145\155
+\163\040\124\162\165\163\164\040\103\145\156\164\145\162\061\045
+\060\043\006\003\125\004\003\014\034\124\055\124\145\154\145\123
+\145\143\040\107\154\157\142\141\154\122\157\157\164\040\103\154
+\141\163\163\040\062
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\001\001
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "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 (SHA-256): F3:56:BE:A2:44:B7:A9:1E:B3:5D:53:CA:9A:D7:86:4A:CE:01:8E:2D:35:D5:F8:F9:6D:DF:68:A6:F4:1A:A4:74
+# Fingerprint (SHA1): 2B:B1:F5:3E:55:0C:1D:C5:F1:D4:E6:B7:6A:46:4B:55:06:02:AC:21
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Atos TrustedRoot 2011"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\074\061\036\060\034\006\003\125\004\003\014\025\101\164\157
+\163\040\124\162\165\163\164\145\144\122\157\157\164\040\062\060
+\061\061\061\015\060\013\006\003\125\004\012\014\004\101\164\157
+\163\061\013\060\011\006\003\125\004\006\023\002\104\105
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\074\061\036\060\034\006\003\125\004\003\014\025\101\164\157
+\163\040\124\162\165\163\164\145\144\122\157\157\164\040\062\060
+\061\061\061\015\060\013\006\003\125\004\012\014\004\101\164\157
+\163\061\013\060\011\006\003\125\004\006\023\002\104\105
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\010\134\063\313\142\054\137\263\062
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\003\167\060\202\002\137\240\003\002\001\002\002\010\134
+\063\313\142\054\137\263\062\060\015\006\011\052\206\110\206\367
+\015\001\001\013\005\000\060\074\061\036\060\034\006\003\125\004
+\003\014\025\101\164\157\163\040\124\162\165\163\164\145\144\122
+\157\157\164\040\062\060\061\061\061\015\060\013\006\003\125\004
+\012\014\004\101\164\157\163\061\013\060\011\006\003\125\004\006
+\023\002\104\105\060\036\027\015\061\061\060\067\060\067\061\064
+\065\070\063\060\132\027\015\063\060\061\062\063\061\062\063\065
+\071\065\071\132\060\074\061\036\060\034\006\003\125\004\003\014
+\025\101\164\157\163\040\124\162\165\163\164\145\144\122\157\157
+\164\040\062\060\061\061\061\015\060\013\006\003\125\004\012\014
+\004\101\164\157\163\061\013\060\011\006\003\125\004\006\023\002
+\104\105\060\202\001\042\060\015\006\011\052\206\110\206\367\015
+\001\001\001\005\000\003\202\001\017\000\060\202\001\012\002\202
+\001\001\000\225\205\073\227\157\052\073\056\073\317\246\363\051
+\065\276\317\030\254\076\252\331\370\115\240\076\032\107\271\274
+\232\337\362\376\314\076\107\350\172\226\302\044\216\065\364\251
+\014\374\202\375\155\301\162\142\047\275\352\153\353\347\212\314
+\124\076\220\120\317\200\324\225\373\350\265\202\324\024\305\266
+\251\125\045\127\333\261\120\366\260\140\144\131\172\151\317\003
+\267\157\015\276\312\076\157\164\162\352\252\060\052\163\142\276
+\111\221\141\310\021\376\016\003\052\367\152\040\334\002\025\015
+\136\025\152\374\343\202\301\265\305\235\144\011\154\243\131\230
+\007\047\307\033\226\053\141\164\161\154\103\361\367\065\211\020
+\340\236\354\125\241\067\042\242\207\004\005\054\107\175\264\034
+\271\142\051\146\050\312\267\341\223\365\244\224\003\231\271\160
+\205\265\346\110\352\215\120\374\331\336\314\157\007\016\335\013
+\162\235\200\060\026\007\225\077\050\016\375\305\165\117\123\326
+\164\232\264\044\056\216\002\221\317\166\305\233\036\125\164\234
+\170\041\261\360\055\361\013\237\302\325\226\030\037\360\124\042
+\172\214\007\002\003\001\000\001\243\175\060\173\060\035\006\003
+\125\035\016\004\026\004\024\247\245\006\261\054\246\011\140\356
+\321\227\351\160\256\274\073\031\154\333\041\060\017\006\003\125
+\035\023\001\001\377\004\005\060\003\001\001\377\060\037\006\003
+\125\035\043\004\030\060\026\200\024\247\245\006\261\054\246\011
+\140\356\321\227\351\160\256\274\073\031\154\333\041\060\030\006
+\003\125\035\040\004\021\060\017\060\015\006\013\053\006\001\004
+\001\260\055\003\004\001\001\060\016\006\003\125\035\017\001\001
+\377\004\004\003\002\001\206\060\015\006\011\052\206\110\206\367
+\015\001\001\013\005\000\003\202\001\001\000\046\167\064\333\224
+\110\206\052\101\235\054\076\006\220\140\304\214\254\013\124\270
+\037\271\173\323\007\071\344\372\076\173\262\075\116\355\237\043
+\275\227\363\153\134\357\356\375\100\246\337\241\223\241\012\206
+\254\357\040\320\171\001\275\170\367\031\330\044\061\064\004\001
+\246\272\025\232\303\047\334\330\117\017\314\030\143\377\231\017
+\016\221\153\165\026\341\041\374\330\046\307\107\267\246\317\130
+\162\161\176\272\341\115\225\107\073\311\257\155\241\264\301\354
+\211\366\264\017\070\265\342\144\334\045\317\246\333\353\232\134
+\231\241\305\010\336\375\346\332\325\326\132\105\014\304\267\302
+\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
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
+
+# 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 (SHA-256): F3:56:BE:A2:44:B7:A9:1E:B3:5D:53:CA:9A:D7:86:4A:CE:01:8E:2D:35:D5:F8:F9:6D:DF:68:A6:F4:1A:A4:74
+# Fingerprint (SHA1): 2B:B1:F5:3E:55:0C:1D:C5:F1:D4:E6:B7:6A:46:4B:55:06:02:AC:21
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Atos TrustedRoot 2011"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\053\261\365\076\125\014\035\305\361\324\346\267\152\106\113\125
+\006\002\254\041
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\256\271\304\062\113\254\177\135\146\314\167\224\273\052\167\126
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\074\061\036\060\034\006\003\125\004\003\014\025\101\164\157
+\163\040\124\162\165\163\164\145\144\122\157\157\164\040\062\060
+\061\061\061\015\060\013\006\003\125\004\012\014\004\101\164\157
+\163\061\013\060\011\006\003\125\004\006\023\002\104\105
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\010\134\063\313\142\054\137\263\062
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "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
+# Fingerprint (SHA1): 1B:8E:EA:57:96:29:1A:C9:39:EA:B8:0A:81:1A:73:73:C0:93:79:67
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "QuoVadis Root CA 1 G3"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\110\061\013\060\011\006\003\125\004\006\023\002\102\115\061
+\031\060\027\006\003\125\004\012\023\020\121\165\157\126\141\144
+\151\163\040\114\151\155\151\164\145\144\061\036\060\034\006\003
+\125\004\003\023\025\121\165\157\126\141\144\151\163\040\122\157
+\157\164\040\103\101\040\061\040\107\063
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\110\061\013\060\011\006\003\125\004\006\023\002\102\115\061
+\031\060\027\006\003\125\004\012\023\020\121\165\157\126\141\144
+\151\163\040\114\151\155\151\164\145\144\061\036\060\034\006\003
+\125\004\003\023\025\121\165\157\126\141\144\151\163\040\122\157
+\157\164\040\103\101\040\061\040\107\063
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\024\170\130\137\056\255\054\031\113\343\067\007\065\064\023
+\050\265\226\324\145\223
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\005\140\060\202\003\110\240\003\002\001\002\002\024\170
+\130\137\056\255\054\031\113\343\067\007\065\064\023\050\265\226
+\324\145\223\060\015\006\011\052\206\110\206\367\015\001\001\013
+\005\000\060\110\061\013\060\011\006\003\125\004\006\023\002\102
+\115\061\031\060\027\006\003\125\004\012\023\020\121\165\157\126
+\141\144\151\163\040\114\151\155\151\164\145\144\061\036\060\034
+\006\003\125\004\003\023\025\121\165\157\126\141\144\151\163\040
+\122\157\157\164\040\103\101\040\061\040\107\063\060\036\027\015
+\061\062\060\061\061\062\061\067\062\067\064\064\132\027\015\064
+\062\060\061\061\062\061\067\062\067\064\064\132\060\110\061\013
+\060\011\006\003\125\004\006\023\002\102\115\061\031\060\027\006
+\003\125\004\012\023\020\121\165\157\126\141\144\151\163\040\114
+\151\155\151\164\145\144\061\036\060\034\006\003\125\004\003\023
+\025\121\165\157\126\141\144\151\163\040\122\157\157\164\040\103
+\101\040\061\040\107\063\060\202\002\042\060\015\006\011\052\206
+\110\206\367\015\001\001\001\005\000\003\202\002\017\000\060\202
+\002\012\002\202\002\001\000\240\276\120\020\216\351\362\154\100
+\264\004\234\205\271\061\312\334\055\344\021\251\004\074\033\125
+\301\347\130\060\035\044\264\303\357\205\336\214\054\341\301\075
+\337\202\346\117\255\107\207\154\354\133\111\301\112\325\273\217
+\354\207\254\177\202\232\206\354\075\003\231\122\001\322\065\236
+\254\332\360\123\311\146\074\324\254\002\001\332\044\323\073\250
+\002\106\257\244\034\343\370\163\130\166\267\366\016\220\015\265
+\360\317\314\372\371\306\114\345\303\206\060\012\215\027\176\065
+\353\305\337\273\016\234\300\215\207\343\210\070\205\147\372\076
+\307\253\340\023\234\005\030\230\317\223\365\261\222\264\374\043
+\323\317\325\304\047\111\340\236\074\233\010\243\213\135\052\041
+\340\374\071\252\123\332\175\176\317\032\011\123\274\135\005\004
+\317\241\112\217\213\166\202\015\241\370\322\307\024\167\133\220
+\066\007\201\233\076\006\372\122\136\143\305\246\000\376\245\351
+\122\033\122\265\222\071\162\003\011\142\275\260\140\026\156\246
+\335\045\302\003\146\335\363\004\321\100\342\116\213\206\364\157
+\345\203\240\047\204\136\004\301\365\220\275\060\075\304\357\250
+\151\274\070\233\244\244\226\321\142\332\151\300\001\226\256\313
+\304\121\064\352\014\252\377\041\216\131\217\112\134\344\141\232
+\247\322\351\052\170\215\121\075\072\025\356\242\131\216\251\134
+\336\305\371\220\042\345\210\105\161\335\221\231\154\172\237\075
+\075\230\174\136\366\276\026\150\240\136\256\013\043\374\132\017
+\252\042\166\055\311\241\020\035\344\323\104\043\220\210\237\306
+\052\346\327\365\232\263\130\036\057\060\211\010\033\124\242\265
+\230\043\354\010\167\034\225\135\141\321\313\211\234\137\242\112
+\221\232\357\041\252\111\026\010\250\275\141\050\061\311\164\255
+\205\366\331\305\261\213\321\345\020\062\115\137\213\040\072\074
+\111\037\063\205\131\015\333\313\011\165\103\151\163\373\153\161
+\175\360\337\304\114\175\306\243\056\310\225\171\313\163\242\216
+\116\115\044\373\136\344\004\276\162\033\246\047\055\111\132\231
+\172\327\134\011\040\267\177\224\271\117\361\015\034\136\210\102
+\033\021\267\347\221\333\236\154\364\152\337\214\006\230\003\255
+\314\050\357\245\107\363\123\002\003\001\000\001\243\102\060\100
+\060\017\006\003\125\035\023\001\001\377\004\005\060\003\001\001
+\377\060\016\006\003\125\035\017\001\001\377\004\004\003\002\001
+\006\060\035\006\003\125\035\016\004\026\004\024\243\227\326\363
+\136\242\020\341\253\105\237\074\027\144\074\356\001\160\234\314
+\060\015\006\011\052\206\110\206\367\015\001\001\013\005\000\003
+\202\002\001\000\030\372\133\165\374\076\172\307\137\167\307\312
+\337\317\137\303\022\304\100\135\324\062\252\270\152\327\325\025
+\025\106\230\043\245\346\220\133\030\231\114\343\255\102\243\202
+\061\066\210\315\351\373\304\004\226\110\213\001\307\215\001\317
+\133\063\006\226\106\146\164\035\117\355\301\266\271\264\015\141
+\314\143\176\327\056\167\214\226\034\052\043\150\153\205\127\166
+\160\063\023\376\341\117\246\043\167\030\372\032\214\350\275\145
+\311\317\077\364\311\027\334\353\307\274\300\004\056\055\106\057
+\151\146\303\033\217\376\354\076\323\312\224\277\166\012\045\015
+\251\173\002\034\251\320\073\137\013\300\201\072\075\144\341\277
+\247\055\116\275\115\304\330\051\306\042\030\320\305\254\162\002
+\202\077\252\072\242\072\042\227\061\335\010\143\303\165\024\271
+\140\050\055\133\150\340\026\251\146\202\043\121\365\353\123\330
+\061\233\173\351\267\235\113\353\210\026\317\371\135\070\212\111
+\060\217\355\361\353\031\364\167\032\061\030\115\147\124\154\057
+\157\145\371\333\075\354\041\354\136\364\364\213\312\140\145\124
+\321\161\144\364\371\246\243\201\063\066\063\161\360\244\170\137
+\116\255\203\041\336\064\111\215\350\131\254\235\362\166\132\066
+\362\023\364\257\340\011\307\141\052\154\367\340\235\256\273\206
+\112\050\157\056\356\264\171\315\220\063\303\263\166\372\365\360
+\154\235\001\220\372\236\220\366\234\162\317\107\332\303\037\344
+\065\040\123\362\124\321\337\141\203\246\002\342\045\070\336\205
+\062\055\136\163\220\122\135\102\304\316\075\113\341\371\031\204
+\035\325\242\120\314\101\373\101\024\303\275\326\311\132\243\143
+\146\002\200\275\005\072\073\107\234\354\000\046\114\365\210\121
+\277\250\043\177\030\007\260\013\355\213\046\241\144\323\141\112
+\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
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
+
+# 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
+# Fingerprint (SHA1): 1B:8E:EA:57:96:29:1A:C9:39:EA:B8:0A:81:1A:73:73:C0:93:79:67
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "QuoVadis Root CA 1 G3"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\033\216\352\127\226\051\032\311\071\352\270\012\201\032\163\163
+\300\223\171\147
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\244\274\133\077\376\067\232\372\144\360\342\372\005\075\013\253
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\110\061\013\060\011\006\003\125\004\006\023\002\102\115\061
+\031\060\027\006\003\125\004\012\023\020\121\165\157\126\141\144
+\151\163\040\114\151\155\151\164\145\144\061\036\060\034\006\003
+\125\004\003\023\025\121\165\157\126\141\144\151\163\040\122\157
+\157\164\040\103\101\040\061\040\107\063
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\024\170\130\137\056\255\054\031\113\343\067\007\065\064\023
+\050\265\226\324\145\223
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "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
+# Fingerprint (SHA1): 09:3C:61:F3:8B:8B:DC:7D:55:DF:75:38:02:05:00:E1:25:F5:C8:36
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "QuoVadis Root CA 2 G3"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\110\061\013\060\011\006\003\125\004\006\023\002\102\115\061
+\031\060\027\006\003\125\004\012\023\020\121\165\157\126\141\144
+\151\163\040\114\151\155\151\164\145\144\061\036\060\034\006\003
+\125\004\003\023\025\121\165\157\126\141\144\151\163\040\122\157
+\157\164\040\103\101\040\062\040\107\063
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\110\061\013\060\011\006\003\125\004\006\023\002\102\115\061
+\031\060\027\006\003\125\004\012\023\020\121\165\157\126\141\144
+\151\163\040\114\151\155\151\164\145\144\061\036\060\034\006\003
+\125\004\003\023\025\121\165\157\126\141\144\151\163\040\122\157
+\157\164\040\103\101\040\062\040\107\063
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\024\104\127\064\044\133\201\211\233\065\362\316\270\053\073
+\133\247\046\360\165\050
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\005\140\060\202\003\110\240\003\002\001\002\002\024\104
+\127\064\044\133\201\211\233\065\362\316\270\053\073\133\247\046
+\360\165\050\060\015\006\011\052\206\110\206\367\015\001\001\013
+\005\000\060\110\061\013\060\011\006\003\125\004\006\023\002\102
+\115\061\031\060\027\006\003\125\004\012\023\020\121\165\157\126
+\141\144\151\163\040\114\151\155\151\164\145\144\061\036\060\034
+\006\003\125\004\003\023\025\121\165\157\126\141\144\151\163\040
+\122\157\157\164\040\103\101\040\062\040\107\063\060\036\027\015
+\061\062\060\061\061\062\061\070\065\071\063\062\132\027\015\064
+\062\060\061\061\062\061\070\065\071\063\062\132\060\110\061\013
+\060\011\006\003\125\004\006\023\002\102\115\061\031\060\027\006
+\003\125\004\012\023\020\121\165\157\126\141\144\151\163\040\114
+\151\155\151\164\145\144\061\036\060\034\006\003\125\004\003\023
+\025\121\165\157\126\141\144\151\163\040\122\157\157\164\040\103
+\101\040\062\040\107\063\060\202\002\042\060\015\006\011\052\206
+\110\206\367\015\001\001\001\005\000\003\202\002\017\000\060\202
+\002\012\002\202\002\001\000\241\256\045\262\001\030\334\127\210
+\077\106\353\371\257\342\353\043\161\342\232\321\141\146\041\137
+\252\257\047\121\345\156\033\026\324\055\175\120\260\123\167\275
+\170\072\140\342\144\002\233\174\206\233\326\032\216\255\377\037
+\025\177\325\225\036\022\313\346\024\204\004\301\337\066\263\026
+\237\212\343\311\333\230\064\316\330\063\027\050\106\374\247\311
+\360\322\264\325\115\011\162\111\371\362\207\343\251\332\175\241
+\175\153\262\072\045\251\155\122\104\254\370\276\156\373\334\246
+\163\221\220\141\246\003\024\040\362\347\207\243\210\255\255\240
+\214\377\246\013\045\122\045\347\026\001\325\313\270\065\201\014
+\243\073\360\341\341\374\132\135\316\200\161\155\370\111\253\076
+\073\272\270\327\200\001\373\245\353\133\263\305\136\140\052\061
+\240\257\067\350\040\072\237\250\062\054\014\314\011\035\323\236
+\216\135\274\114\230\356\305\032\150\173\354\123\246\351\024\065
+\243\337\315\200\237\014\110\373\034\364\361\277\112\270\372\325
+\214\161\112\307\037\255\376\101\232\263\203\135\362\204\126\357
+\245\127\103\316\051\255\214\253\125\277\304\373\133\001\335\043
+\041\241\130\000\216\303\320\152\023\355\023\343\022\053\200\334
+\147\346\225\262\315\036\042\156\052\370\101\324\362\312\024\007
+\215\212\125\022\306\151\365\270\206\150\057\123\136\260\322\252
+\041\301\230\346\060\343\147\125\307\233\156\254\031\250\125\246
+\105\006\320\043\072\333\353\145\135\052\021\021\360\073\117\312
+\155\364\064\304\161\344\377\000\132\366\134\256\043\140\205\163
+\361\344\020\261\045\256\325\222\273\023\301\014\340\071\332\264
+\071\127\265\253\065\252\162\041\073\203\065\347\061\337\172\041
+\156\270\062\010\175\035\062\221\025\112\142\162\317\343\167\241
+\274\325\021\033\166\001\147\010\340\101\013\303\353\025\156\370
+\244\031\331\242\253\257\342\047\122\126\053\002\212\054\024\044
+\371\277\102\002\277\046\310\306\217\340\156\070\175\123\055\345
+\355\230\263\225\143\150\177\371\065\364\337\210\305\140\065\222
+\300\174\151\034\141\225\026\320\353\336\013\257\076\004\020\105
+\145\130\120\070\257\110\362\131\266\026\362\074\015\220\002\306
+\160\056\001\255\074\025\327\002\003\001\000\001\243\102\060\100
+\060\017\006\003\125\035\023\001\001\377\004\005\060\003\001\001
+\377\060\016\006\003\125\035\017\001\001\377\004\004\003\002\001
+\006\060\035\006\003\125\035\016\004\026\004\024\355\347\157\166
+\132\277\140\354\111\133\306\245\167\273\162\026\161\233\304\075
+\060\015\006\011\052\206\110\206\367\015\001\001\013\005\000\003
+\202\002\001\000\221\337\200\077\103\011\176\161\302\367\353\263
+\210\217\341\121\262\274\075\165\371\050\135\310\274\231\233\173
+\135\252\345\312\341\012\367\350\262\323\237\335\147\061\176\272
+\001\252\307\152\101\073\220\324\010\134\262\140\152\220\360\310
+\316\003\142\371\213\355\373\156\052\334\006\115\074\051\017\211
+\026\212\130\114\110\017\350\204\141\352\074\162\246\167\344\102
+\256\210\243\103\130\171\176\256\312\245\123\015\251\075\160\275
+\040\031\141\244\154\070\374\103\062\341\301\107\377\370\354\361
+\021\042\062\226\234\302\366\133\151\226\173\040\014\103\101\232
+\133\366\131\031\210\336\125\210\067\121\013\170\134\012\036\243
+\102\375\307\235\210\017\300\362\170\002\044\124\223\257\211\207
+\210\311\112\200\035\352\320\156\076\141\056\066\273\065\016\047
+\226\375\146\064\073\141\162\163\361\026\134\107\006\124\111\000
+\172\130\022\260\012\357\205\375\261\270\063\165\152\223\034\022
+\346\140\136\157\035\177\311\037\043\313\204\141\237\036\202\104
+\371\137\255\142\125\044\232\122\230\355\121\347\241\176\227\072
+\346\057\037\021\332\123\200\054\205\236\253\065\020\333\042\137
+\152\305\136\227\123\362\062\002\011\060\243\130\360\015\001\325
+\162\306\261\174\151\173\303\365\066\105\314\141\156\136\114\224
+\305\136\256\350\016\136\213\277\367\315\340\355\241\016\033\063
+\356\124\030\376\017\276\357\176\204\153\103\343\160\230\333\135
+\165\262\015\131\007\205\025\043\071\326\361\337\251\046\017\326
+\110\307\263\246\042\365\063\067\132\225\107\237\173\272\030\025
+\157\377\326\024\144\203\111\322\012\147\041\333\017\065\143\140
+\050\042\343\261\225\203\315\205\246\335\057\017\347\147\122\156
+\273\057\205\174\365\112\163\347\305\076\300\275\041\022\005\077
+\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
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
+
+# 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
+# Fingerprint (SHA1): 09:3C:61:F3:8B:8B:DC:7D:55:DF:75:38:02:05:00:E1:25:F5:C8:36
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "QuoVadis Root CA 2 G3"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\011\074\141\363\213\213\334\175\125\337\165\070\002\005\000\341
+\045\365\310\066
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\257\014\206\156\277\100\055\177\013\076\022\120\272\022\075\006
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\110\061\013\060\011\006\003\125\004\006\023\002\102\115\061
+\031\060\027\006\003\125\004\012\023\020\121\165\157\126\141\144
+\151\163\040\114\151\155\151\164\145\144\061\036\060\034\006\003
+\125\004\003\023\025\121\165\157\126\141\144\151\163\040\122\157
+\157\164\040\103\101\040\062\040\107\063
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\024\104\127\064\044\133\201\211\233\065\362\316\270\053\073
+\133\247\046\360\165\050
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "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
+# Fingerprint (SHA1): 48:12:BD:92:3C:A8:C4:39:06:E7:30:6D:27:96:E6:A4:CF:22:2E:7D
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "QuoVadis Root CA 3 G3"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\110\061\013\060\011\006\003\125\004\006\023\002\102\115\061
+\031\060\027\006\003\125\004\012\023\020\121\165\157\126\141\144
+\151\163\040\114\151\155\151\164\145\144\061\036\060\034\006\003
+\125\004\003\023\025\121\165\157\126\141\144\151\163\040\122\157
+\157\164\040\103\101\040\063\040\107\063
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\110\061\013\060\011\006\003\125\004\006\023\002\102\115\061
+\031\060\027\006\003\125\004\012\023\020\121\165\157\126\141\144
+\151\163\040\114\151\155\151\164\145\144\061\036\060\034\006\003
+\125\004\003\023\025\121\165\157\126\141\144\151\163\040\122\157
+\157\164\040\103\101\040\063\040\107\063
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\024\056\365\233\002\050\247\333\172\377\325\243\251\356\275
+\003\240\317\022\152\035
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\005\140\060\202\003\110\240\003\002\001\002\002\024\056
+\365\233\002\050\247\333\172\377\325\243\251\356\275\003\240\317
+\022\152\035\060\015\006\011\052\206\110\206\367\015\001\001\013
+\005\000\060\110\061\013\060\011\006\003\125\004\006\023\002\102
+\115\061\031\060\027\006\003\125\004\012\023\020\121\165\157\126
+\141\144\151\163\040\114\151\155\151\164\145\144\061\036\060\034
+\006\003\125\004\003\023\025\121\165\157\126\141\144\151\163\040
+\122\157\157\164\040\103\101\040\063\040\107\063\060\036\027\015
+\061\062\060\061\061\062\062\060\062\066\063\062\132\027\015\064
+\062\060\061\061\062\062\060\062\066\063\062\132\060\110\061\013
+\060\011\006\003\125\004\006\023\002\102\115\061\031\060\027\006
+\003\125\004\012\023\020\121\165\157\126\141\144\151\163\040\114
+\151\155\151\164\145\144\061\036\060\034\006\003\125\004\003\023
+\025\121\165\157\126\141\144\151\163\040\122\157\157\164\040\103
+\101\040\063\040\107\063\060\202\002\042\060\015\006\011\052\206
+\110\206\367\015\001\001\001\005\000\003\202\002\017\000\060\202
+\002\012\002\202\002\001\000\263\313\016\020\147\216\352\024\227
+\247\062\052\012\126\066\177\150\114\307\263\157\072\043\024\221
+\377\031\177\245\312\254\356\263\166\235\172\351\213\033\253\153
+\061\333\372\013\123\114\257\305\245\032\171\074\212\114\377\254
+\337\045\336\116\331\202\062\013\104\336\312\333\214\254\243\156
+\026\203\073\246\144\113\062\211\373\026\026\070\176\353\103\342
+\323\164\112\302\142\012\163\012\335\111\263\127\322\260\012\205
+\235\161\074\336\243\313\300\062\363\001\071\040\103\033\065\321
+\123\263\261\356\305\223\151\202\076\026\265\050\106\241\336\352
+\211\011\355\103\270\005\106\212\206\365\131\107\276\033\157\001
+\041\020\271\375\251\322\050\312\020\071\011\312\023\066\317\234
+\255\255\100\164\171\053\002\077\064\377\372\040\151\175\323\356
+\141\365\272\263\347\060\320\067\043\206\162\141\105\051\110\131
+\150\157\167\246\056\201\276\007\115\157\257\316\304\105\023\221
+\024\160\006\217\037\237\370\207\151\261\016\357\303\211\031\353
+\352\034\141\374\172\154\212\334\326\003\013\236\046\272\022\335
+\324\124\071\253\046\243\063\352\165\201\332\055\315\017\117\344
+\003\321\357\025\227\033\153\220\305\002\220\223\146\002\041\261
+\107\336\213\232\112\200\271\125\217\265\242\057\300\326\063\147
+\332\176\304\247\264\004\104\353\107\373\346\130\271\367\014\360
+\173\053\261\300\160\051\303\100\142\055\073\110\151\334\043\074
+\110\353\173\011\171\251\155\332\250\060\230\317\200\162\003\210
+\246\133\106\256\162\171\174\010\003\041\145\256\267\341\034\245
+\261\052\242\061\336\146\004\367\300\164\350\161\336\377\075\131
+\314\226\046\022\213\205\225\127\032\253\153\165\013\104\075\021
+\050\074\173\141\267\342\217\147\117\345\354\074\114\140\200\151
+\127\070\036\001\133\215\125\350\307\337\300\314\167\043\064\111
+\165\174\366\230\021\353\055\336\355\101\056\024\005\002\177\340
+\376\040\353\065\347\021\254\042\316\127\075\336\311\060\155\020
+\003\205\315\361\377\214\026\265\301\262\076\210\154\140\177\220
+\117\225\367\366\055\255\001\071\007\004\372\165\200\175\277\111
+\120\355\357\311\304\174\034\353\200\176\333\266\320\335\023\376
+\311\323\234\327\262\227\251\002\003\001\000\001\243\102\060\100
+\060\017\006\003\125\035\023\001\001\377\004\005\060\003\001\001
+\377\060\016\006\003\125\035\017\001\001\377\004\004\003\002\001
+\006\060\035\006\003\125\035\016\004\026\004\024\306\027\320\274
+\250\352\002\103\362\033\006\231\135\053\220\040\271\327\234\344
+\060\015\006\011\052\206\110\206\367\015\001\001\013\005\000\003
+\202\002\001\000\064\141\331\126\265\022\207\125\115\335\243\065
+\061\106\273\244\007\162\274\137\141\142\350\245\373\013\067\261
+\074\266\263\372\051\235\177\002\365\244\311\250\223\267\172\161
+\050\151\217\163\341\122\220\332\325\276\072\345\267\166\152\126
+\200\041\337\135\346\351\072\236\345\076\366\242\151\307\052\012
+\260\030\107\334\040\160\175\122\243\076\131\174\301\272\311\310
+\025\100\141\312\162\326\160\254\322\267\360\034\344\206\051\360
+\316\357\150\143\320\265\040\212\025\141\232\176\206\230\264\311
+\302\166\373\314\272\060\026\314\243\141\306\164\023\345\153\357
+\243\025\352\003\376\023\213\144\344\323\301\322\350\204\373\111
+\321\020\115\171\146\353\252\375\364\215\061\036\160\024\255\334
+\336\147\023\114\201\025\141\274\267\331\221\167\161\031\201\140
+\273\360\130\245\265\234\013\367\217\042\125\047\300\113\001\155
+\073\231\015\324\035\233\143\147\057\320\356\015\312\146\274\224
+\117\246\255\355\374\356\143\254\127\077\145\045\317\262\206\217
+\320\010\377\270\166\024\156\336\345\047\354\253\170\265\123\271
+\266\077\350\040\371\322\250\276\141\106\312\207\214\204\363\371
+\361\240\150\233\042\036\201\046\233\020\004\221\161\300\006\037
+\334\240\323\271\126\247\343\230\055\177\203\235\337\214\053\234
+\062\216\062\224\360\001\074\042\052\237\103\302\056\303\230\071
+\007\070\173\374\136\000\102\037\363\062\046\171\203\204\366\345
+\360\301\121\022\300\013\036\004\043\014\124\245\114\057\111\305
+\112\321\266\156\140\015\153\374\153\213\205\044\144\267\211\016
+\253\045\107\133\074\317\176\111\275\307\351\012\306\332\367\176
+\016\027\010\323\110\227\320\161\222\360\017\071\076\064\152\034
+\175\330\362\042\256\273\151\364\063\264\246\110\125\321\017\016
+\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
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
+
+# 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
+# Fingerprint (SHA1): 48:12:BD:92:3C:A8:C4:39:06:E7:30:6D:27:96:E6:A4:CF:22:2E:7D
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "QuoVadis Root CA 3 G3"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\110\022\275\222\074\250\304\071\006\347\060\155\047\226\346\244
+\317\042\056\175
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\337\175\271\255\124\157\150\241\337\211\127\003\227\103\260\327
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\110\061\013\060\011\006\003\125\004\006\023\002\102\115\061
+\031\060\027\006\003\125\004\012\023\020\121\165\157\126\141\144
+\151\163\040\114\151\155\151\164\145\144\061\036\060\034\006\003
+\125\004\003\023\025\121\165\157\126\141\144\151\163\040\122\157
+\157\164\040\103\101\040\063\040\107\063
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\024\056\365\233\002\050\247\333\172\377\325\243\251\356\275
+\003\240\317\022\152\035
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "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
+# Fingerprint (SHA1): A1:4B:48:D9:43:EE:0A:0E:40:90:4F:3C:E0:A4:C0:91:93:51:5D:3F
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "DigiCert Assured ID Root G2"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\145\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\025\060\023\006\003\125\004\012\023\014\104\151\147\151\103\145
+\162\164\040\111\156\143\061\031\060\027\006\003\125\004\013\023
+\020\167\167\167\056\144\151\147\151\143\145\162\164\056\143\157
+\155\061\044\060\042\006\003\125\004\003\023\033\104\151\147\151
+\103\145\162\164\040\101\163\163\165\162\145\144\040\111\104\040
+\122\157\157\164\040\107\062
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\145\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\025\060\023\006\003\125\004\012\023\014\104\151\147\151\103\145
+\162\164\040\111\156\143\061\031\060\027\006\003\125\004\013\023
+\020\167\167\167\056\144\151\147\151\143\145\162\164\056\143\157
+\155\061\044\060\042\006\003\125\004\003\023\033\104\151\147\151
+\103\145\162\164\040\101\163\163\165\162\145\144\040\111\104\040
+\122\157\157\164\040\107\062
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\020\013\223\034\072\326\071\147\352\147\043\277\303\257\232
+\364\113
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\003\226\060\202\002\176\240\003\002\001\002\002\020\013
+\223\034\072\326\071\147\352\147\043\277\303\257\232\364\113\060
+\015\006\011\052\206\110\206\367\015\001\001\013\005\000\060\145
+\061\013\060\011\006\003\125\004\006\023\002\125\123\061\025\060
+\023\006\003\125\004\012\023\014\104\151\147\151\103\145\162\164
+\040\111\156\143\061\031\060\027\006\003\125\004\013\023\020\167
+\167\167\056\144\151\147\151\143\145\162\164\056\143\157\155\061
+\044\060\042\006\003\125\004\003\023\033\104\151\147\151\103\145
+\162\164\040\101\163\163\165\162\145\144\040\111\104\040\122\157
+\157\164\040\107\062\060\036\027\015\061\063\060\070\060\061\061
+\062\060\060\060\060\132\027\015\063\070\060\061\061\065\061\062
+\060\060\060\060\132\060\145\061\013\060\011\006\003\125\004\006
+\023\002\125\123\061\025\060\023\006\003\125\004\012\023\014\104
+\151\147\151\103\145\162\164\040\111\156\143\061\031\060\027\006
+\003\125\004\013\023\020\167\167\167\056\144\151\147\151\143\145
+\162\164\056\143\157\155\061\044\060\042\006\003\125\004\003\023
+\033\104\151\147\151\103\145\162\164\040\101\163\163\165\162\145
+\144\040\111\104\040\122\157\157\164\040\107\062\060\202\001\042
+\060\015\006\011\052\206\110\206\367\015\001\001\001\005\000\003
+\202\001\017\000\060\202\001\012\002\202\001\001\000\331\347\050
+\057\122\077\066\162\111\210\223\064\363\370\152\036\061\124\200
+\237\255\124\101\265\107\337\226\250\324\257\200\055\271\012\317
+\165\375\211\245\175\044\372\343\042\014\053\274\225\027\013\063
+\277\031\115\101\006\220\000\275\014\115\020\376\007\265\347\034
+\156\042\125\061\145\227\275\323\027\322\036\142\363\333\352\154
+\120\214\077\204\014\226\317\267\313\003\340\312\155\241\024\114
+\033\211\335\355\000\260\122\174\257\221\154\261\070\023\321\351
+\022\010\300\000\260\034\053\021\332\167\160\066\233\256\316\171
+\207\334\202\160\346\011\164\160\125\151\257\243\150\237\277\335
+\266\171\263\362\235\160\051\125\364\253\377\225\141\363\311\100
+\157\035\321\276\223\273\323\210\052\273\235\277\162\132\126\161
+\073\077\324\363\321\012\376\050\357\243\356\331\231\257\003\323
+\217\140\267\362\222\241\261\275\211\211\037\060\315\303\246\056
+\142\063\256\026\002\167\104\132\347\201\012\074\247\104\056\171
+\270\077\004\274\134\240\207\341\033\257\121\216\315\354\054\372
+\370\376\155\360\072\174\252\213\344\147\225\061\215\002\003\001
+\000\001\243\102\060\100\060\017\006\003\125\035\023\001\001\377
+\004\005\060\003\001\001\377\060\016\006\003\125\035\017\001\001
+\377\004\004\003\002\001\206\060\035\006\003\125\035\016\004\026
+\004\024\316\303\112\271\231\125\362\270\333\140\277\251\176\275
+\126\265\227\066\247\326\060\015\006\011\052\206\110\206\367\015
+\001\001\013\005\000\003\202\001\001\000\312\245\125\214\343\310
+\101\156\151\047\247\165\021\357\074\206\066\157\322\235\306\170
+\070\035\151\226\242\222\151\056\070\154\233\175\004\324\211\245
+\261\061\067\212\311\041\314\253\154\315\213\034\232\326\277\110
+\322\062\146\301\212\300\363\057\072\357\300\343\324\221\206\321
+\120\343\003\333\163\167\157\112\071\123\355\336\046\307\265\175
+\257\053\102\321\165\142\343\112\053\002\307\120\113\340\151\342
+\226\154\016\104\146\020\104\217\255\005\353\370\171\254\246\033
+\350\067\064\235\123\311\141\252\242\122\257\112\160\026\206\302
+\072\310\261\023\160\066\330\317\356\364\012\064\325\133\114\375
+\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
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
+
+# 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
+# Fingerprint (SHA1): A1:4B:48:D9:43:EE:0A:0E:40:90:4F:3C:E0:A4:C0:91:93:51:5D:3F
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "DigiCert Assured ID Root G2"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\241\113\110\331\103\356\012\016\100\220\117\074\340\244\300\221
+\223\121\135\077
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\222\070\271\370\143\044\202\145\054\127\063\346\376\201\217\235
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\145\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\025\060\023\006\003\125\004\012\023\014\104\151\147\151\103\145
+\162\164\040\111\156\143\061\031\060\027\006\003\125\004\013\023
+\020\167\167\167\056\144\151\147\151\143\145\162\164\056\143\157
+\155\061\044\060\042\006\003\125\004\003\023\033\104\151\147\151
+\103\145\162\164\040\101\163\163\165\162\145\144\040\111\104\040
+\122\157\157\164\040\107\062
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\020\013\223\034\072\326\071\147\352\147\043\277\303\257\232
+\364\113
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "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
+# Fingerprint (SHA1): F5:17:A2:4F:9A:48:C6:C9:F8:A2:00:26:9F:DC:0F:48:2C:AB:30:89
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "DigiCert Assured ID Root G3"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\145\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\025\060\023\006\003\125\004\012\023\014\104\151\147\151\103\145
+\162\164\040\111\156\143\061\031\060\027\006\003\125\004\013\023
+\020\167\167\167\056\144\151\147\151\143\145\162\164\056\143\157
+\155\061\044\060\042\006\003\125\004\003\023\033\104\151\147\151
+\103\145\162\164\040\101\163\163\165\162\145\144\040\111\104\040
+\122\157\157\164\040\107\063
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\145\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\025\060\023\006\003\125\004\012\023\014\104\151\147\151\103\145
+\162\164\040\111\156\143\061\031\060\027\006\003\125\004\013\023
+\020\167\167\167\056\144\151\147\151\143\145\162\164\056\143\157
+\155\061\044\060\042\006\003\125\004\003\023\033\104\151\147\151
+\103\145\162\164\040\101\163\163\165\162\145\144\040\111\104\040
+\122\157\157\164\040\107\063
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\020\013\241\132\372\035\337\240\265\111\104\257\315\044\240
+\154\354
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\002\106\060\202\001\315\240\003\002\001\002\002\020\013
+\241\132\372\035\337\240\265\111\104\257\315\044\240\154\354\060
+\012\006\010\052\206\110\316\075\004\003\003\060\145\061\013\060
+\011\006\003\125\004\006\023\002\125\123\061\025\060\023\006\003
+\125\004\012\023\014\104\151\147\151\103\145\162\164\040\111\156
+\143\061\031\060\027\006\003\125\004\013\023\020\167\167\167\056
+\144\151\147\151\143\145\162\164\056\143\157\155\061\044\060\042
+\006\003\125\004\003\023\033\104\151\147\151\103\145\162\164\040
+\101\163\163\165\162\145\144\040\111\104\040\122\157\157\164\040
+\107\063\060\036\027\015\061\063\060\070\060\061\061\062\060\060
+\060\060\132\027\015\063\070\060\061\061\065\061\062\060\060\060
+\060\132\060\145\061\013\060\011\006\003\125\004\006\023\002\125
+\123\061\025\060\023\006\003\125\004\012\023\014\104\151\147\151
+\103\145\162\164\040\111\156\143\061\031\060\027\006\003\125\004
+\013\023\020\167\167\167\056\144\151\147\151\143\145\162\164\056
+\143\157\155\061\044\060\042\006\003\125\004\003\023\033\104\151
+\147\151\103\145\162\164\040\101\163\163\165\162\145\144\040\111
+\104\040\122\157\157\164\040\107\063\060\166\060\020\006\007\052
+\206\110\316\075\002\001\006\005\053\201\004\000\042\003\142\000
+\004\031\347\274\254\104\145\355\315\270\077\130\373\215\261\127
+\251\104\055\005\025\362\357\013\377\020\164\237\265\142\122\137
+\146\176\037\345\334\033\105\171\013\314\306\123\012\235\215\135
+\002\331\251\131\336\002\132\366\225\052\016\215\070\112\212\111
+\306\274\306\003\070\007\137\125\332\176\011\156\342\177\136\320
+\105\040\017\131\166\020\326\240\044\360\055\336\066\362\154\051
+\071\243\102\060\100\060\017\006\003\125\035\023\001\001\377\004
+\005\060\003\001\001\377\060\016\006\003\125\035\017\001\001\377
+\004\004\003\002\001\206\060\035\006\003\125\035\016\004\026\004
+\024\313\320\275\251\341\230\005\121\241\115\067\242\203\171\316
+\215\035\052\344\204\060\012\006\010\052\206\110\316\075\004\003
+\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
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
+
+# 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
+# Fingerprint (SHA1): F5:17:A2:4F:9A:48:C6:C9:F8:A2:00:26:9F:DC:0F:48:2C:AB:30:89
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "DigiCert Assured ID Root G3"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\365\027\242\117\232\110\306\311\370\242\000\046\237\334\017\110
+\054\253\060\211
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\174\177\145\061\014\201\337\215\272\076\231\342\134\255\156\373
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\145\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\025\060\023\006\003\125\004\012\023\014\104\151\147\151\103\145
+\162\164\040\111\156\143\061\031\060\027\006\003\125\004\013\023
+\020\167\167\167\056\144\151\147\151\143\145\162\164\056\143\157
+\155\061\044\060\042\006\003\125\004\003\023\033\104\151\147\151
+\103\145\162\164\040\101\163\163\165\162\145\144\040\111\104\040
+\122\157\157\164\040\107\063
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\020\013\241\132\372\035\337\240\265\111\104\257\315\044\240
+\154\354
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "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
+# Fingerprint (SHA1): DF:3C:24:F9:BF:D6:66:76:1B:26:80:73:FE:06:D1:CC:8D:4F:82:A4
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "DigiCert Global Root G2"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\141\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\025\060\023\006\003\125\004\012\023\014\104\151\147\151\103\145
+\162\164\040\111\156\143\061\031\060\027\006\003\125\004\013\023
+\020\167\167\167\056\144\151\147\151\143\145\162\164\056\143\157
+\155\061\040\060\036\006\003\125\004\003\023\027\104\151\147\151
+\103\145\162\164\040\107\154\157\142\141\154\040\122\157\157\164
+\040\107\062
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\141\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\025\060\023\006\003\125\004\012\023\014\104\151\147\151\103\145
+\162\164\040\111\156\143\061\031\060\027\006\003\125\004\013\023
+\020\167\167\167\056\144\151\147\151\143\145\162\164\056\143\157
+\155\061\040\060\036\006\003\125\004\003\023\027\104\151\147\151
+\103\145\162\164\040\107\154\157\142\141\154\040\122\157\157\164
+\040\107\062
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\020\003\072\361\346\247\021\251\240\273\050\144\261\035\011
+\372\345
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\003\216\060\202\002\166\240\003\002\001\002\002\020\003
+\072\361\346\247\021\251\240\273\050\144\261\035\011\372\345\060
+\015\006\011\052\206\110\206\367\015\001\001\013\005\000\060\141
+\061\013\060\011\006\003\125\004\006\023\002\125\123\061\025\060
+\023\006\003\125\004\012\023\014\104\151\147\151\103\145\162\164
+\040\111\156\143\061\031\060\027\006\003\125\004\013\023\020\167
+\167\167\056\144\151\147\151\143\145\162\164\056\143\157\155\061
+\040\060\036\006\003\125\004\003\023\027\104\151\147\151\103\145
+\162\164\040\107\154\157\142\141\154\040\122\157\157\164\040\107
+\062\060\036\027\015\061\063\060\070\060\061\061\062\060\060\060
+\060\132\027\015\063\070\060\061\061\065\061\062\060\060\060\060
+\132\060\141\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\025\060\023\006\003\125\004\012\023\014\104\151\147\151\103
+\145\162\164\040\111\156\143\061\031\060\027\006\003\125\004\013
+\023\020\167\167\167\056\144\151\147\151\143\145\162\164\056\143
+\157\155\061\040\060\036\006\003\125\004\003\023\027\104\151\147
+\151\103\145\162\164\040\107\154\157\142\141\154\040\122\157\157
+\164\040\107\062\060\202\001\042\060\015\006\011\052\206\110\206
+\367\015\001\001\001\005\000\003\202\001\017\000\060\202\001\012
+\002\202\001\001\000\273\067\315\064\334\173\153\311\262\150\220
+\255\112\165\377\106\272\041\012\010\215\365\031\124\311\373\210
+\333\363\256\362\072\211\221\074\172\346\253\006\032\153\317\254
+\055\350\136\011\044\104\272\142\232\176\326\243\250\176\340\124
+\165\040\005\254\120\267\234\143\032\154\060\334\332\037\031\261
+\327\036\336\375\327\340\313\224\203\067\256\354\037\103\116\335
+\173\054\322\275\056\245\057\344\251\270\255\072\324\231\244\266
+\045\351\233\153\000\140\222\140\377\117\041\111\030\367\147\220
+\253\141\006\234\217\362\272\351\264\351\222\062\153\265\363\127
+\350\135\033\315\214\035\253\225\004\225\111\363\065\055\226\343
+\111\155\335\167\343\373\111\113\264\254\125\007\251\217\225\263
+\264\043\273\114\155\105\360\366\251\262\225\060\264\375\114\125
+\214\047\112\127\024\174\202\235\315\163\222\323\026\112\006\014
+\214\120\321\217\036\011\276\027\241\346\041\312\375\203\345\020
+\274\203\245\012\304\147\050\366\163\024\024\075\106\166\303\207
+\024\211\041\064\115\257\017\105\014\246\111\241\272\273\234\305
+\261\063\203\051\205\002\003\001\000\001\243\102\060\100\060\017
+\006\003\125\035\023\001\001\377\004\005\060\003\001\001\377\060
+\016\006\003\125\035\017\001\001\377\004\004\003\002\001\206\060
+\035\006\003\125\035\016\004\026\004\024\116\042\124\040\030\225
+\346\343\156\346\017\372\372\271\022\355\006\027\217\071\060\015
+\006\011\052\206\110\206\367\015\001\001\013\005\000\003\202\001
+\001\000\140\147\050\224\157\016\110\143\353\061\335\352\147\030
+\325\211\175\074\305\213\112\177\351\276\333\053\027\337\260\137
+\163\167\052\062\023\071\201\147\102\204\043\362\105\147\065\354
+\210\277\370\217\260\141\014\064\244\256\040\114\204\306\333\370
+\065\341\166\331\337\246\102\273\307\104\010\206\177\066\164\044
+\132\332\154\015\024\131\065\275\362\111\335\266\037\311\263\015
+\107\052\075\231\057\273\134\273\265\324\040\341\231\137\123\106
+\025\333\150\233\360\363\060\325\076\061\342\215\204\236\343\212
+\332\332\226\076\065\023\245\137\360\371\160\120\160\107\101\021
+\127\031\116\300\217\256\006\304\225\023\027\057\033\045\237\165
+\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
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
+
+# 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
+# Fingerprint (SHA1): DF:3C:24:F9:BF:D6:66:76:1B:26:80:73:FE:06:D1:CC:8D:4F:82:A4
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "DigiCert Global Root G2"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\337\074\044\371\277\326\146\166\033\046\200\163\376\006\321\314
+\215\117\202\244
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\344\246\212\310\124\254\122\102\106\012\375\162\110\033\052\104
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\141\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\025\060\023\006\003\125\004\012\023\014\104\151\147\151\103\145
+\162\164\040\111\156\143\061\031\060\027\006\003\125\004\013\023
+\020\167\167\167\056\144\151\147\151\143\145\162\164\056\143\157
+\155\061\040\060\036\006\003\125\004\003\023\027\104\151\147\151
+\103\145\162\164\040\107\154\157\142\141\154\040\122\157\157\164
+\040\107\062
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\020\003\072\361\346\247\021\251\240\273\050\144\261\035\011
+\372\345
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "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
+# Fingerprint (SHA1): 7E:04:DE:89:6A:3E:66:6D:00:E6:87:D3:3F:FA:D9:3B:E8:3D:34:9E
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "DigiCert Global Root G3"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\141\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\025\060\023\006\003\125\004\012\023\014\104\151\147\151\103\145
+\162\164\040\111\156\143\061\031\060\027\006\003\125\004\013\023
+\020\167\167\167\056\144\151\147\151\143\145\162\164\056\143\157
+\155\061\040\060\036\006\003\125\004\003\023\027\104\151\147\151
+\103\145\162\164\040\107\154\157\142\141\154\040\122\157\157\164
+\040\107\063
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\141\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\025\060\023\006\003\125\004\012\023\014\104\151\147\151\103\145
+\162\164\040\111\156\143\061\031\060\027\006\003\125\004\013\023
+\020\167\167\167\056\144\151\147\151\143\145\162\164\056\143\157
+\155\061\040\060\036\006\003\125\004\003\023\027\104\151\147\151
+\103\145\162\164\040\107\154\157\142\141\154\040\122\157\157\164
+\040\107\063
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\020\005\125\126\274\362\136\244\065\065\303\244\017\325\253
+\105\162
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\002\077\060\202\001\305\240\003\002\001\002\002\020\005
+\125\126\274\362\136\244\065\065\303\244\017\325\253\105\162\060
+\012\006\010\052\206\110\316\075\004\003\003\060\141\061\013\060
+\011\006\003\125\004\006\023\002\125\123\061\025\060\023\006\003
+\125\004\012\023\014\104\151\147\151\103\145\162\164\040\111\156
+\143\061\031\060\027\006\003\125\004\013\023\020\167\167\167\056
+\144\151\147\151\143\145\162\164\056\143\157\155\061\040\060\036
+\006\003\125\004\003\023\027\104\151\147\151\103\145\162\164\040
+\107\154\157\142\141\154\040\122\157\157\164\040\107\063\060\036
+\027\015\061\063\060\070\060\061\061\062\060\060\060\060\132\027
+\015\063\070\060\061\061\065\061\062\060\060\060\060\132\060\141
+\061\013\060\011\006\003\125\004\006\023\002\125\123\061\025\060
+\023\006\003\125\004\012\023\014\104\151\147\151\103\145\162\164
+\040\111\156\143\061\031\060\027\006\003\125\004\013\023\020\167
+\167\167\056\144\151\147\151\143\145\162\164\056\143\157\155\061
+\040\060\036\006\003\125\004\003\023\027\104\151\147\151\103\145
+\162\164\040\107\154\157\142\141\154\040\122\157\157\164\040\107
+\063\060\166\060\020\006\007\052\206\110\316\075\002\001\006\005
+\053\201\004\000\042\003\142\000\004\335\247\331\273\212\270\013
+\373\013\177\041\322\360\276\276\163\363\063\135\032\274\064\352
+\336\306\233\274\320\225\366\360\314\320\013\272\141\133\121\106
+\176\236\055\237\356\216\143\014\027\354\007\160\365\317\204\056
+\100\203\234\350\077\101\155\073\255\323\244\024\131\066\170\235
+\003\103\356\020\023\154\162\336\256\210\247\241\153\265\103\316
+\147\334\043\377\003\034\243\342\076\243\102\060\100\060\017\006
+\003\125\035\023\001\001\377\004\005\060\003\001\001\377\060\016
+\006\003\125\035\017\001\001\377\004\004\003\002\001\206\060\035
+\006\003\125\035\016\004\026\004\024\263\333\110\244\371\241\305
+\330\256\066\101\314\021\143\151\142\051\274\113\306\060\012\006
+\010\052\206\110\316\075\004\003\003\003\150\000\060\145\002\061
+\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
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
+
+# 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
+# Fingerprint (SHA1): 7E:04:DE:89:6A:3E:66:6D:00:E6:87:D3:3F:FA:D9:3B:E8:3D:34:9E
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "DigiCert Global Root G3"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\176\004\336\211\152\076\146\155\000\346\207\323\077\372\331\073
+\350\075\064\236
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\365\135\244\120\245\373\050\176\036\017\015\314\226\127\126\312
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\141\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\025\060\023\006\003\125\004\012\023\014\104\151\147\151\103\145
+\162\164\040\111\156\143\061\031\060\027\006\003\125\004\013\023
+\020\167\167\167\056\144\151\147\151\143\145\162\164\056\143\157
+\155\061\040\060\036\006\003\125\004\003\023\027\104\151\147\151
+\103\145\162\164\040\107\154\157\142\141\154\040\122\157\157\164
+\040\107\063
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\020\005\125\126\274\362\136\244\065\065\303\244\017\325\253
+\105\162
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "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
+# Fingerprint (SHA1): DD:FB:16:CD:49:31:C9:73:A2:03:7D:3F:C8:3A:4D:7D:77:5D:05:E4
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "DigiCert Trusted Root G4"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\142\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\025\060\023\006\003\125\004\012\023\014\104\151\147\151\103\145
+\162\164\040\111\156\143\061\031\060\027\006\003\125\004\013\023
+\020\167\167\167\056\144\151\147\151\143\145\162\164\056\143\157
+\155\061\041\060\037\006\003\125\004\003\023\030\104\151\147\151
+\103\145\162\164\040\124\162\165\163\164\145\144\040\122\157\157
+\164\040\107\064
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\142\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\025\060\023\006\003\125\004\012\023\014\104\151\147\151\103\145
+\162\164\040\111\156\143\061\031\060\027\006\003\125\004\013\023
+\020\167\167\167\056\144\151\147\151\143\145\162\164\056\143\157
+\155\061\041\060\037\006\003\125\004\003\023\030\104\151\147\151
+\103\145\162\164\040\124\162\165\163\164\145\144\040\122\157\157
+\164\040\107\064
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\020\005\233\033\127\236\216\041\062\342\071\007\275\247\167
+\165\134
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\005\220\060\202\003\170\240\003\002\001\002\002\020\005
+\233\033\127\236\216\041\062\342\071\007\275\247\167\165\134\060
+\015\006\011\052\206\110\206\367\015\001\001\014\005\000\060\142
+\061\013\060\011\006\003\125\004\006\023\002\125\123\061\025\060
+\023\006\003\125\004\012\023\014\104\151\147\151\103\145\162\164
+\040\111\156\143\061\031\060\027\006\003\125\004\013\023\020\167
+\167\167\056\144\151\147\151\143\145\162\164\056\143\157\155\061
+\041\060\037\006\003\125\004\003\023\030\104\151\147\151\103\145
+\162\164\040\124\162\165\163\164\145\144\040\122\157\157\164\040
+\107\064\060\036\027\015\061\063\060\070\060\061\061\062\060\060
+\060\060\132\027\015\063\070\060\061\061\065\061\062\060\060\060
+\060\132\060\142\061\013\060\011\006\003\125\004\006\023\002\125
+\123\061\025\060\023\006\003\125\004\012\023\014\104\151\147\151
+\103\145\162\164\040\111\156\143\061\031\060\027\006\003\125\004
+\013\023\020\167\167\167\056\144\151\147\151\143\145\162\164\056
+\143\157\155\061\041\060\037\006\003\125\004\003\023\030\104\151
+\147\151\103\145\162\164\040\124\162\165\163\164\145\144\040\122
+\157\157\164\040\107\064\060\202\002\042\060\015\006\011\052\206
+\110\206\367\015\001\001\001\005\000\003\202\002\017\000\060\202
+\002\012\002\202\002\001\000\277\346\220\163\150\336\273\344\135
+\112\074\060\042\060\151\063\354\302\247\045\056\311\041\075\362
+\212\330\131\302\341\051\247\075\130\253\166\232\315\256\173\033
+\204\015\304\060\037\363\033\244\070\026\353\126\306\227\155\035
+\253\262\171\362\312\021\322\344\137\326\005\074\122\017\122\037
+\306\236\025\245\176\276\237\251\127\026\131\125\162\257\150\223
+\160\302\262\272\165\231\152\163\062\224\321\020\104\020\056\337
+\202\363\007\204\346\164\073\155\161\342\055\014\033\356\040\325
+\311\040\035\143\051\055\316\354\136\116\310\223\370\041\141\233
+\064\353\005\306\136\354\133\032\274\353\311\317\315\254\064\100
+\137\261\172\146\356\167\310\110\250\146\127\127\237\124\130\216
+\014\053\267\117\247\060\331\126\356\312\173\135\343\255\311\117
+\136\345\065\347\061\313\332\223\136\334\216\217\200\332\266\221
+\230\100\220\171\303\170\307\266\261\304\265\152\030\070\003\020
+\215\330\324\067\244\056\005\175\210\365\202\076\020\221\160\253
+\125\202\101\062\327\333\004\163\052\156\221\001\174\041\114\324
+\274\256\033\003\165\135\170\146\331\072\061\104\232\063\100\277
+\010\327\132\111\244\302\346\251\240\147\335\244\047\274\241\117
+\071\265\021\130\027\367\044\134\106\217\144\367\301\151\210\166
+\230\166\075\131\135\102\166\207\211\227\151\172\110\360\340\242
+\022\033\146\232\164\312\336\113\036\347\016\143\256\346\324\357
+\222\222\072\236\075\334\000\344\105\045\211\266\232\104\031\053
+\176\300\224\264\322\141\155\353\063\331\305\337\113\004\000\314
+\175\034\225\303\217\367\041\262\262\021\267\273\177\362\325\214
+\160\054\101\140\252\261\143\030\104\225\032\166\142\176\366\200
+\260\373\350\144\246\063\321\211\007\341\275\267\346\103\244\030
+\270\246\167\001\341\017\224\014\041\035\262\124\051\045\211\154
+\345\016\122\121\107\164\276\046\254\266\101\165\336\172\254\137
+\215\077\311\274\323\101\021\022\133\345\020\120\353\061\305\312
+\162\026\042\011\337\174\114\165\077\143\354\041\137\304\040\121
+\153\157\261\253\206\213\117\302\326\105\137\235\040\374\241\036
+\305\300\217\242\261\176\012\046\231\365\344\151\057\230\035\055
+\365\331\251\262\035\345\033\002\003\001\000\001\243\102\060\100
+\060\017\006\003\125\035\023\001\001\377\004\005\060\003\001\001
+\377\060\016\006\003\125\035\017\001\001\377\004\004\003\002\001
+\206\060\035\006\003\125\035\016\004\026\004\024\354\327\343\202
+\322\161\135\144\114\337\056\147\077\347\272\230\256\034\017\117
+\060\015\006\011\052\206\110\206\367\015\001\001\014\005\000\003
+\202\002\001\000\273\141\331\175\251\154\276\027\304\221\033\303
+\241\242\000\215\343\144\150\017\126\317\167\256\160\371\375\232
+\112\231\271\311\170\134\014\014\137\344\346\024\051\126\013\066
+\111\135\104\143\340\255\234\226\030\146\033\043\015\075\171\351
+\155\153\326\124\370\322\074\301\103\100\256\035\120\365\122\374
+\220\073\273\230\231\151\153\307\301\247\250\150\244\047\334\235
+\371\047\256\060\205\271\366\147\115\072\076\217\131\071\042\123
+\104\353\310\135\003\312\355\120\172\175\142\041\012\200\310\163
+\146\321\240\005\140\137\350\245\264\247\257\250\367\155\065\234
+\174\132\212\326\242\070\231\363\170\213\364\115\322\040\013\336
+\004\356\214\233\107\201\162\015\300\024\062\357\060\131\056\256
+\340\161\362\126\344\152\227\157\222\120\155\226\215\150\172\232
+\262\066\024\172\006\362\044\271\011\021\120\327\010\261\270\211
+\172\204\043\141\102\051\345\243\315\242\040\101\327\321\234\144
+\331\352\046\241\213\024\327\114\031\262\120\101\161\075\077\115
+\160\043\206\014\112\334\201\322\314\062\224\204\015\010\011\227
+\034\117\300\356\153\040\164\060\322\340\071\064\020\205\041\025
+\001\010\350\125\062\336\161\111\331\050\027\120\115\346\276\115
+\321\165\254\320\312\373\101\270\103\245\252\323\303\005\104\117
+\054\066\233\342\372\342\105\270\043\123\154\006\157\147\125\177
+\106\265\114\077\156\050\132\171\046\322\244\250\142\227\322\036
+\342\355\112\213\274\033\375\107\112\015\337\147\146\176\262\133
+\101\320\073\344\364\073\364\004\143\351\357\302\124\000\121\240
+\212\052\311\316\170\314\325\352\207\004\030\263\316\257\111\210
+\257\363\222\231\266\263\346\141\017\322\205\000\347\120\032\344
+\033\225\235\031\241\271\234\261\233\261\000\036\357\320\017\117
+\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
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
+
+# 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
+# Fingerprint (SHA1): DD:FB:16:CD:49:31:C9:73:A2:03:7D:3F:C8:3A:4D:7D:77:5D:05:E4
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "DigiCert Trusted Root G4"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\335\373\026\315\111\061\311\163\242\003\175\077\310\072\115\175
+\167\135\005\344
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\170\362\374\252\140\037\057\264\353\311\067\272\123\056\165\111
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\142\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\025\060\023\006\003\125\004\012\023\014\104\151\147\151\103\145
+\162\164\040\111\156\143\061\031\060\027\006\003\125\004\013\023
+\020\167\167\167\056\144\151\147\151\143\145\162\164\056\143\157
+\155\061\041\060\037\006\003\125\004\003\023\030\104\151\147\151
+\103\145\162\164\040\124\162\165\163\164\145\144\040\122\157\157
+\164\040\107\064
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\020\005\233\033\127\236\216\041\062\342\071\007\275\247\167
+\165\134
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "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
+# Fingerprint (SHA1): AF:E5:D2:44:A8:D1:19:42:30:FF:47:9F:E2:F8:97:BB:CD:7A:8C:B4
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "COMODO RSA Certification Authority"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\201\205\061\013\060\011\006\003\125\004\006\023\002\107\102
+\061\033\060\031\006\003\125\004\010\023\022\107\162\145\141\164
+\145\162\040\115\141\156\143\150\145\163\164\145\162\061\020\060
+\016\006\003\125\004\007\023\007\123\141\154\146\157\162\144\061
+\032\060\030\006\003\125\004\012\023\021\103\117\115\117\104\117
+\040\103\101\040\114\151\155\151\164\145\144\061\053\060\051\006
+\003\125\004\003\023\042\103\117\115\117\104\117\040\122\123\101
+\040\103\145\162\164\151\146\151\143\141\164\151\157\156\040\101
+\165\164\150\157\162\151\164\171
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\201\205\061\013\060\011\006\003\125\004\006\023\002\107\102
+\061\033\060\031\006\003\125\004\010\023\022\107\162\145\141\164
+\145\162\040\115\141\156\143\150\145\163\164\145\162\061\020\060
+\016\006\003\125\004\007\023\007\123\141\154\146\157\162\144\061
+\032\060\030\006\003\125\004\012\023\021\103\117\115\117\104\117
+\040\103\101\040\114\151\155\151\164\145\144\061\053\060\051\006
+\003\125\004\003\023\042\103\117\115\117\104\117\040\122\123\101
+\040\103\145\162\164\151\146\151\143\141\164\151\157\156\040\101
+\165\164\150\157\162\151\164\171
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\020\114\252\371\312\333\143\157\340\037\367\116\330\133\003
+\206\235
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\005\330\060\202\003\300\240\003\002\001\002\002\020\114
+\252\371\312\333\143\157\340\037\367\116\330\133\003\206\235\060
+\015\006\011\052\206\110\206\367\015\001\001\014\005\000\060\201
+\205\061\013\060\011\006\003\125\004\006\023\002\107\102\061\033
+\060\031\006\003\125\004\010\023\022\107\162\145\141\164\145\162
+\040\115\141\156\143\150\145\163\164\145\162\061\020\060\016\006
+\003\125\004\007\023\007\123\141\154\146\157\162\144\061\032\060
+\030\006\003\125\004\012\023\021\103\117\115\117\104\117\040\103
+\101\040\114\151\155\151\164\145\144\061\053\060\051\006\003\125
+\004\003\023\042\103\117\115\117\104\117\040\122\123\101\040\103
+\145\162\164\151\146\151\143\141\164\151\157\156\040\101\165\164
+\150\157\162\151\164\171\060\036\027\015\061\060\060\061\061\071
+\060\060\060\060\060\060\132\027\015\063\070\060\061\061\070\062
+\063\065\071\065\071\132\060\201\205\061\013\060\011\006\003\125
+\004\006\023\002\107\102\061\033\060\031\006\003\125\004\010\023
+\022\107\162\145\141\164\145\162\040\115\141\156\143\150\145\163
+\164\145\162\061\020\060\016\006\003\125\004\007\023\007\123\141
+\154\146\157\162\144\061\032\060\030\006\003\125\004\012\023\021
+\103\117\115\117\104\117\040\103\101\040\114\151\155\151\164\145
+\144\061\053\060\051\006\003\125\004\003\023\042\103\117\115\117
+\104\117\040\122\123\101\040\103\145\162\164\151\146\151\143\141
+\164\151\157\156\040\101\165\164\150\157\162\151\164\171\060\202
+\002\042\060\015\006\011\052\206\110\206\367\015\001\001\001\005
+\000\003\202\002\017\000\060\202\002\012\002\202\002\001\000\221
+\350\124\222\322\012\126\261\254\015\044\335\305\317\104\147\164
+\231\053\067\243\175\043\160\000\161\274\123\337\304\372\052\022
+\217\113\177\020\126\275\237\160\162\267\141\177\311\113\017\027
+\247\075\343\260\004\141\356\377\021\227\307\364\206\076\012\372
+\076\134\371\223\346\064\172\331\024\153\347\234\263\205\240\202
+\172\166\257\161\220\327\354\375\015\372\234\154\372\337\260\202
+\364\024\176\371\276\304\246\057\117\177\231\177\265\374\147\103
+\162\275\014\000\326\211\353\153\054\323\355\217\230\034\024\253
+\176\345\343\156\374\330\250\344\222\044\332\103\153\142\270\125
+\375\352\301\274\154\266\213\363\016\215\232\344\233\154\151\231
+\370\170\110\060\105\325\255\341\015\074\105\140\374\062\226\121
+\047\274\147\303\312\056\266\153\352\106\307\307\040\240\261\037
+\145\336\110\010\272\244\116\251\362\203\106\067\204\353\350\314
+\201\110\103\147\116\162\052\233\134\275\114\033\050\212\134\042
+\173\264\253\230\331\356\340\121\203\303\011\106\116\155\076\231
+\372\225\027\332\174\063\127\101\074\215\121\355\013\266\134\257
+\054\143\032\337\127\310\077\274\351\135\304\233\257\105\231\342
+\243\132\044\264\272\251\126\075\317\157\252\377\111\130\276\360
+\250\377\364\270\255\351\067\373\272\270\364\013\072\371\350\103
+\102\036\211\330\204\313\023\361\331\273\341\211\140\270\214\050
+\126\254\024\035\234\012\347\161\353\317\016\335\075\251\226\241
+\110\275\074\367\257\265\015\042\114\300\021\201\354\126\073\366
+\323\242\342\133\267\262\004\042\122\225\200\223\151\350\216\114
+\145\361\221\003\055\160\164\002\352\213\147\025\051\151\122\002
+\273\327\337\120\152\125\106\277\240\243\050\141\177\160\320\303
+\242\252\054\041\252\107\316\050\234\006\105\166\277\202\030\047
+\264\325\256\264\313\120\346\153\364\114\206\161\060\351\246\337
+\026\206\340\330\377\100\335\373\320\102\210\177\243\063\072\056
+\134\036\101\021\201\143\316\030\161\153\053\354\246\212\267\061
+\134\072\152\107\340\303\171\131\326\040\032\257\362\152\230\252
+\162\274\127\112\322\113\235\273\020\374\260\114\101\345\355\035
+\075\136\050\235\234\314\277\263\121\332\247\107\345\204\123\002
+\003\001\000\001\243\102\060\100\060\035\006\003\125\035\016\004
+\026\004\024\273\257\176\002\075\372\246\361\074\204\216\255\356
+\070\230\354\331\062\062\324\060\016\006\003\125\035\017\001\001
+\377\004\004\003\002\001\006\060\017\006\003\125\035\023\001\001
+\377\004\005\060\003\001\001\377\060\015\006\011\052\206\110\206
+\367\015\001\001\014\005\000\003\202\002\001\000\012\361\325\106
+\204\267\256\121\273\154\262\115\101\024\000\223\114\234\313\345
+\300\124\317\240\045\216\002\371\375\260\242\015\365\040\230\074
+\023\055\254\126\242\260\326\176\021\222\351\056\272\236\056\232
+\162\261\275\031\104\154\141\065\242\232\264\026\022\151\132\214
+\341\327\076\244\032\350\057\003\364\256\141\035\020\033\052\244
+\213\172\305\376\005\246\341\300\326\310\376\236\256\217\053\272
+\075\231\370\330\163\011\130\106\156\246\234\364\327\047\323\225
+\332\067\203\162\034\323\163\340\242\107\231\003\070\135\325\111
+\171\000\051\034\307\354\233\040\034\007\044\151\127\170\262\071
+\374\072\204\240\265\234\174\215\277\056\223\142\047\267\071\332
+\027\030\256\275\074\011\150\377\204\233\074\325\326\013\003\343
+\127\236\024\367\321\353\117\310\275\207\043\267\266\111\103\171
+\205\134\272\353\222\013\241\306\350\150\250\114\026\261\032\231
+\012\350\123\054\222\273\241\011\030\165\014\145\250\173\313\043
+\267\032\302\050\205\303\033\377\320\053\142\357\244\173\011\221
+\230\147\214\024\001\315\150\006\152\143\041\165\003\200\210\212
+\156\201\306\205\362\251\244\055\347\364\245\044\020\107\203\312
+\315\364\215\171\130\261\006\233\347\032\052\331\235\001\327\224
+\175\355\003\112\312\360\333\350\251\001\076\365\126\231\311\036
+\216\111\075\273\345\011\271\340\117\111\222\075\026\202\100\314
+\314\131\306\346\072\355\022\056\151\074\154\225\261\375\252\035
+\173\177\206\276\036\016\062\106\373\373\023\217\165\177\114\213
+\113\106\143\376\000\064\100\160\301\303\271\241\335\246\160\342
+\004\263\101\274\351\200\221\352\144\234\172\341\042\003\251\234
+\156\157\016\145\117\154\207\207\136\363\156\240\371\165\245\233
+\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
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
+
+# 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
+# Fingerprint (SHA1): AF:E5:D2:44:A8:D1:19:42:30:FF:47:9F:E2:F8:97:BB:CD:7A:8C:B4
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "COMODO RSA Certification Authority"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\257\345\322\104\250\321\031\102\060\377\107\237\342\370\227\273
+\315\172\214\264
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\033\061\260\161\100\066\314\024\066\221\255\304\076\375\354\030
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\201\205\061\013\060\011\006\003\125\004\006\023\002\107\102
+\061\033\060\031\006\003\125\004\010\023\022\107\162\145\141\164
+\145\162\040\115\141\156\143\150\145\163\164\145\162\061\020\060
+\016\006\003\125\004\007\023\007\123\141\154\146\157\162\144\061
+\032\060\030\006\003\125\004\012\023\021\103\117\115\117\104\117
+\040\103\101\040\114\151\155\151\164\145\144\061\053\060\051\006
+\003\125\004\003\023\042\103\117\115\117\104\117\040\122\123\101
+\040\103\145\162\164\151\146\151\143\141\164\151\157\156\040\101
+\165\164\150\157\162\151\164\171
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\020\114\252\371\312\333\143\157\340\037\367\116\330\133\003
+\206\235
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "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
+# Fingerprint (SHA1): 2B:8F:1B:57:33:0D:BB:A2:D0:7A:6C:51:F7:0E:E9:0D:DA:B9:AD:8E
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "USERTrust RSA Certification Authority"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\201\210\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\023\060\021\006\003\125\004\010\023\012\116\145\167\040\112
+\145\162\163\145\171\061\024\060\022\006\003\125\004\007\023\013
+\112\145\162\163\145\171\040\103\151\164\171\061\036\060\034\006
+\003\125\004\012\023\025\124\150\145\040\125\123\105\122\124\122
+\125\123\124\040\116\145\164\167\157\162\153\061\056\060\054\006
+\003\125\004\003\023\045\125\123\105\122\124\162\165\163\164\040
+\122\123\101\040\103\145\162\164\151\146\151\143\141\164\151\157
+\156\040\101\165\164\150\157\162\151\164\171
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\201\210\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\023\060\021\006\003\125\004\010\023\012\116\145\167\040\112
+\145\162\163\145\171\061\024\060\022\006\003\125\004\007\023\013
+\112\145\162\163\145\171\040\103\151\164\171\061\036\060\034\006
+\003\125\004\012\023\025\124\150\145\040\125\123\105\122\124\122
+\125\123\124\040\116\145\164\167\157\162\153\061\056\060\054\006
+\003\125\004\003\023\045\125\123\105\122\124\162\165\163\164\040
+\122\123\101\040\103\145\162\164\151\146\151\143\141\164\151\157
+\156\040\101\165\164\150\157\162\151\164\171
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\020\001\375\155\060\374\243\312\121\250\033\274\144\016\065
+\003\055
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\005\336\060\202\003\306\240\003\002\001\002\002\020\001
+\375\155\060\374\243\312\121\250\033\274\144\016\065\003\055\060
+\015\006\011\052\206\110\206\367\015\001\001\014\005\000\060\201
+\210\061\013\060\011\006\003\125\004\006\023\002\125\123\061\023
+\060\021\006\003\125\004\010\023\012\116\145\167\040\112\145\162
+\163\145\171\061\024\060\022\006\003\125\004\007\023\013\112\145
+\162\163\145\171\040\103\151\164\171\061\036\060\034\006\003\125
+\004\012\023\025\124\150\145\040\125\123\105\122\124\122\125\123
+\124\040\116\145\164\167\157\162\153\061\056\060\054\006\003\125
+\004\003\023\045\125\123\105\122\124\162\165\163\164\040\122\123
+\101\040\103\145\162\164\151\146\151\143\141\164\151\157\156\040
+\101\165\164\150\157\162\151\164\171\060\036\027\015\061\060\060
+\062\060\061\060\060\060\060\060\060\132\027\015\063\070\060\061
+\061\070\062\063\065\071\065\071\132\060\201\210\061\013\060\011
+\006\003\125\004\006\023\002\125\123\061\023\060\021\006\003\125
+\004\010\023\012\116\145\167\040\112\145\162\163\145\171\061\024
+\060\022\006\003\125\004\007\023\013\112\145\162\163\145\171\040
+\103\151\164\171\061\036\060\034\006\003\125\004\012\023\025\124
+\150\145\040\125\123\105\122\124\122\125\123\124\040\116\145\164
+\167\157\162\153\061\056\060\054\006\003\125\004\003\023\045\125
+\123\105\122\124\162\165\163\164\040\122\123\101\040\103\145\162
+\164\151\146\151\143\141\164\151\157\156\040\101\165\164\150\157
+\162\151\164\171\060\202\002\042\060\015\006\011\052\206\110\206
+\367\015\001\001\001\005\000\003\202\002\017\000\060\202\002\012
+\002\202\002\001\000\200\022\145\027\066\016\303\333\010\263\320
+\254\127\015\166\355\315\047\323\114\255\120\203\141\342\252\040
+\115\011\055\144\011\334\316\211\237\314\075\251\354\366\317\301
+\334\361\323\261\326\173\067\050\021\053\107\332\071\306\274\072
+\031\264\137\246\275\175\235\243\143\102\266\166\362\251\073\053
+\221\370\342\157\320\354\026\040\220\011\076\342\350\164\311\030
+\264\221\324\142\144\333\177\243\006\361\210\030\152\220\042\074
+\274\376\023\360\207\024\173\366\344\037\216\324\344\121\306\021
+\147\106\010\121\313\206\024\124\077\274\063\376\176\154\234\377
+\026\235\030\275\121\216\065\246\247\146\310\162\147\333\041\146
+\261\324\233\170\003\300\120\072\350\314\360\334\274\236\114\376
+\257\005\226\065\037\127\132\267\377\316\371\075\267\054\266\366
+\124\335\310\347\022\072\115\256\114\212\267\134\232\264\267\040
+\075\312\177\042\064\256\176\073\150\146\001\104\347\001\116\106
+\123\233\063\140\367\224\276\123\067\220\163\103\363\062\303\123
+\357\333\252\376\164\116\151\307\153\214\140\223\336\304\307\014
+\337\341\062\256\314\223\073\121\170\225\147\213\356\075\126\376
+\014\320\151\017\033\017\363\045\046\153\063\155\367\156\107\372
+\163\103\345\176\016\245\146\261\051\174\062\204\143\125\211\304
+\015\301\223\124\060\031\023\254\323\175\067\247\353\135\072\154
+\065\134\333\101\327\022\332\251\111\013\337\330\200\212\011\223
+\142\216\265\146\317\045\210\315\204\270\261\077\244\071\017\331
+\002\236\353\022\114\225\174\363\153\005\251\136\026\203\314\270
+\147\342\350\023\235\314\133\202\323\114\263\355\133\377\336\345
+\163\254\043\073\055\000\277\065\125\164\011\111\330\111\130\032
+\177\222\066\346\121\222\016\363\046\175\034\115\027\274\311\354
+\103\046\320\277\101\137\100\251\104\104\364\231\347\127\207\236
+\120\037\127\124\250\076\375\164\143\057\261\120\145\011\346\130
+\102\056\103\032\114\264\360\045\107\131\372\004\036\223\324\046
+\106\112\120\201\262\336\276\170\267\374\147\025\341\311\127\204
+\036\017\143\326\351\142\272\326\137\125\056\352\134\306\050\010
+\004\045\071\270\016\053\251\362\114\227\034\007\077\015\122\365
+\355\357\057\202\017\002\003\001\000\001\243\102\060\100\060\035
+\006\003\125\035\016\004\026\004\024\123\171\277\132\252\053\112
+\317\124\200\341\330\233\300\235\362\262\003\146\313\060\016\006
+\003\125\035\017\001\001\377\004\004\003\002\001\006\060\017\006
+\003\125\035\023\001\001\377\004\005\060\003\001\001\377\060\015
+\006\011\052\206\110\206\367\015\001\001\014\005\000\003\202\002
+\001\000\134\324\174\015\317\367\001\175\101\231\145\014\163\305
+\122\237\313\370\317\231\006\177\033\332\103\025\237\236\002\125
+\127\226\024\361\122\074\047\207\224\050\355\037\072\001\067\242
+\166\374\123\120\300\204\233\306\153\116\272\214\041\117\242\216
+\125\142\221\363\151\025\330\274\210\343\304\252\013\375\357\250
+\351\113\125\052\006\040\155\125\170\051\031\356\137\060\134\113
+\044\021\125\377\044\232\156\136\052\053\356\013\115\237\177\367
+\001\070\224\024\225\103\007\011\373\140\251\356\034\253\022\214
+\240\232\136\247\230\152\131\155\213\077\010\373\310\321\105\257
+\030\025\144\220\022\017\163\050\056\305\342\044\116\374\130\354
+\360\364\105\376\042\263\353\057\216\322\331\105\141\005\301\227
+\157\250\166\162\217\213\214\066\257\277\015\005\316\161\215\346
+\246\157\037\154\246\161\142\305\330\320\203\162\014\361\147\021
+\211\014\234\023\114\162\064\337\274\325\161\337\252\161\335\341
+\271\154\214\074\022\135\145\332\275\127\022\266\103\153\377\345
+\336\115\146\021\121\317\231\256\354\027\266\350\161\221\214\336
+\111\376\335\065\161\242\025\047\224\034\317\141\343\046\273\157
+\243\147\045\041\135\346\335\035\013\056\150\033\073\202\257\354
+\203\147\205\324\230\121\164\261\271\231\200\211\377\177\170\031
+\134\171\112\140\056\222\100\256\114\067\052\054\311\307\142\310
+\016\135\367\066\133\312\340\045\045\001\264\335\032\007\234\167
+\000\077\320\334\325\354\075\324\372\273\077\314\205\326\157\177
+\251\055\337\271\002\367\365\227\232\265\065\332\303\147\260\207
+\112\251\050\236\043\216\377\134\047\153\341\260\117\363\007\356
+\000\056\324\131\207\313\122\101\225\352\364\107\327\356\144\101
+\125\174\215\131\002\225\335\142\235\302\271\356\132\050\164\204
+\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
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
+
+# 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
+# Fingerprint (SHA1): 2B:8F:1B:57:33:0D:BB:A2:D0:7A:6C:51:F7:0E:E9:0D:DA:B9:AD:8E
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "USERTrust RSA Certification Authority"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\053\217\033\127\063\015\273\242\320\172\154\121\367\016\351\015
+\332\271\255\216
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\033\376\151\321\221\267\031\063\243\162\250\017\341\125\345\265
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\201\210\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\023\060\021\006\003\125\004\010\023\012\116\145\167\040\112
+\145\162\163\145\171\061\024\060\022\006\003\125\004\007\023\013
+\112\145\162\163\145\171\040\103\151\164\171\061\036\060\034\006
+\003\125\004\012\023\025\124\150\145\040\125\123\105\122\124\122
+\125\123\124\040\116\145\164\167\157\162\153\061\056\060\054\006
+\003\125\004\003\023\045\125\123\105\122\124\162\165\163\164\040
+\122\123\101\040\103\145\162\164\151\146\151\143\141\164\151\157
+\156\040\101\165\164\150\157\162\151\164\171
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\020\001\375\155\060\374\243\312\121\250\033\274\144\016\065
+\003\055
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "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
+# Fingerprint (SHA1): D1:CB:CA:5D:B2:D5:2A:7F:69:3B:67:4D:E5:F0:5A:1D:0C:95:7D:F0
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "USERTrust ECC Certification Authority"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\201\210\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\023\060\021\006\003\125\004\010\023\012\116\145\167\040\112
+\145\162\163\145\171\061\024\060\022\006\003\125\004\007\023\013
+\112\145\162\163\145\171\040\103\151\164\171\061\036\060\034\006
+\003\125\004\012\023\025\124\150\145\040\125\123\105\122\124\122
+\125\123\124\040\116\145\164\167\157\162\153\061\056\060\054\006
+\003\125\004\003\023\045\125\123\105\122\124\162\165\163\164\040
+\105\103\103\040\103\145\162\164\151\146\151\143\141\164\151\157
+\156\040\101\165\164\150\157\162\151\164\171
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\201\210\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\023\060\021\006\003\125\004\010\023\012\116\145\167\040\112
+\145\162\163\145\171\061\024\060\022\006\003\125\004\007\023\013
+\112\145\162\163\145\171\040\103\151\164\171\061\036\060\034\006
+\003\125\004\012\023\025\124\150\145\040\125\123\105\122\124\122
+\125\123\124\040\116\145\164\167\157\162\153\061\056\060\054\006
+\003\125\004\003\023\045\125\123\105\122\124\162\165\163\164\040
+\105\103\103\040\103\145\162\164\151\146\151\143\141\164\151\157
+\156\040\101\165\164\150\157\162\151\164\171
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\020\134\213\231\305\132\224\305\322\161\126\336\315\211\200
+\314\046
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\002\217\060\202\002\025\240\003\002\001\002\002\020\134
+\213\231\305\132\224\305\322\161\126\336\315\211\200\314\046\060
+\012\006\010\052\206\110\316\075\004\003\003\060\201\210\061\013
+\060\011\006\003\125\004\006\023\002\125\123\061\023\060\021\006
+\003\125\004\010\023\012\116\145\167\040\112\145\162\163\145\171
+\061\024\060\022\006\003\125\004\007\023\013\112\145\162\163\145
+\171\040\103\151\164\171\061\036\060\034\006\003\125\004\012\023
+\025\124\150\145\040\125\123\105\122\124\122\125\123\124\040\116
+\145\164\167\157\162\153\061\056\060\054\006\003\125\004\003\023
+\045\125\123\105\122\124\162\165\163\164\040\105\103\103\040\103
+\145\162\164\151\146\151\143\141\164\151\157\156\040\101\165\164
+\150\157\162\151\164\171\060\036\027\015\061\060\060\062\060\061
+\060\060\060\060\060\060\132\027\015\063\070\060\061\061\070\062
+\063\065\071\065\071\132\060\201\210\061\013\060\011\006\003\125
+\004\006\023\002\125\123\061\023\060\021\006\003\125\004\010\023
+\012\116\145\167\040\112\145\162\163\145\171\061\024\060\022\006
+\003\125\004\007\023\013\112\145\162\163\145\171\040\103\151\164
+\171\061\036\060\034\006\003\125\004\012\023\025\124\150\145\040
+\125\123\105\122\124\122\125\123\124\040\116\145\164\167\157\162
+\153\061\056\060\054\006\003\125\004\003\023\045\125\123\105\122
+\124\162\165\163\164\040\105\103\103\040\103\145\162\164\151\146
+\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164
+\171\060\166\060\020\006\007\052\206\110\316\075\002\001\006\005
+\053\201\004\000\042\003\142\000\004\032\254\124\132\251\371\150
+\043\347\172\325\044\157\123\306\132\330\113\253\306\325\266\321
+\346\163\161\256\335\234\326\014\141\375\333\240\211\003\270\005
+\024\354\127\316\356\135\077\342\041\263\316\367\324\212\171\340
+\243\203\176\055\227\320\141\304\361\231\334\045\221\143\253\177
+\060\243\264\160\342\307\241\063\234\363\277\056\134\123\261\137
+\263\175\062\177\212\064\343\171\171\243\102\060\100\060\035\006
+\003\125\035\016\004\026\004\024\072\341\011\206\324\317\031\302
+\226\166\164\111\166\334\340\065\306\143\143\232\060\016\006\003
+\125\035\017\001\001\377\004\004\003\002\001\006\060\017\006\003
+\125\035\023\001\001\377\004\005\060\003\001\001\377\060\012\006
+\010\052\206\110\316\075\004\003\003\003\150\000\060\145\002\060
+\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
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
+
+# 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
+# Fingerprint (SHA1): D1:CB:CA:5D:B2:D5:2A:7F:69:3B:67:4D:E5:F0:5A:1D:0C:95:7D:F0
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "USERTrust ECC Certification Authority"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\321\313\312\135\262\325\052\177\151\073\147\115\345\360\132\035
+\014\225\175\360
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\372\150\274\331\265\177\255\375\311\035\006\203\050\314\044\301
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\201\210\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\023\060\021\006\003\125\004\010\023\012\116\145\167\040\112
+\145\162\163\145\171\061\024\060\022\006\003\125\004\007\023\013
+\112\145\162\163\145\171\040\103\151\164\171\061\036\060\034\006
+\003\125\004\012\023\025\124\150\145\040\125\123\105\122\124\122
+\125\123\124\040\116\145\164\167\157\162\153\061\056\060\054\006
+\003\125\004\003\023\045\125\123\105\122\124\162\165\163\164\040
+\105\103\103\040\103\145\162\164\151\146\151\143\141\164\151\157
+\156\040\101\165\164\150\157\162\151\164\171
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\020\134\213\231\305\132\224\305\322\161\126\336\315\211\200
+\314\046
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "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
+# Fingerprint (SHA1): 1F:24:C6:30:CD:A4:18:EF:20:69:FF:AD:4F:DD:5F:46:3A:1B:69:AA
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "GlobalSign ECC Root CA - R5"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\120\061\044\060\042\006\003\125\004\013\023\033\107\154\157
+\142\141\154\123\151\147\156\040\105\103\103\040\122\157\157\164
+\040\103\101\040\055\040\122\065\061\023\060\021\006\003\125\004
+\012\023\012\107\154\157\142\141\154\123\151\147\156\061\023\060
+\021\006\003\125\004\003\023\012\107\154\157\142\141\154\123\151
+\147\156
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\120\061\044\060\042\006\003\125\004\013\023\033\107\154\157
+\142\141\154\123\151\147\156\040\105\103\103\040\122\157\157\164
+\040\103\101\040\055\040\122\065\061\023\060\021\006\003\125\004
+\012\023\012\107\154\157\142\141\154\123\151\147\156\061\023\060
+\021\006\003\125\004\003\023\012\107\154\157\142\141\154\123\151
+\147\156
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\021\140\131\111\340\046\056\273\125\371\012\167\212\161\371
+\112\330\154
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\002\036\060\202\001\244\240\003\002\001\002\002\021\140
+\131\111\340\046\056\273\125\371\012\167\212\161\371\112\330\154
+\060\012\006\010\052\206\110\316\075\004\003\003\060\120\061\044
+\060\042\006\003\125\004\013\023\033\107\154\157\142\141\154\123
+\151\147\156\040\105\103\103\040\122\157\157\164\040\103\101\040
+\055\040\122\065\061\023\060\021\006\003\125\004\012\023\012\107
+\154\157\142\141\154\123\151\147\156\061\023\060\021\006\003\125
+\004\003\023\012\107\154\157\142\141\154\123\151\147\156\060\036
+\027\015\061\062\061\061\061\063\060\060\060\060\060\060\132\027
+\015\063\070\060\061\061\071\060\063\061\064\060\067\132\060\120
+\061\044\060\042\006\003\125\004\013\023\033\107\154\157\142\141
+\154\123\151\147\156\040\105\103\103\040\122\157\157\164\040\103
+\101\040\055\040\122\065\061\023\060\021\006\003\125\004\012\023
+\012\107\154\157\142\141\154\123\151\147\156\061\023\060\021\006
+\003\125\004\003\023\012\107\154\157\142\141\154\123\151\147\156
+\060\166\060\020\006\007\052\206\110\316\075\002\001\006\005\053
+\201\004\000\042\003\142\000\004\107\105\016\226\373\175\135\277
+\351\071\321\041\370\237\013\266\325\173\036\222\072\110\131\034
+\360\142\061\055\300\172\050\376\032\247\134\263\266\314\227\347
+\105\324\130\372\321\167\155\103\242\300\207\145\064\012\037\172
+\335\353\074\063\241\305\235\115\244\157\101\225\070\177\311\036
+\204\353\321\236\111\222\207\224\207\014\072\205\112\146\237\235
+\131\223\115\227\141\006\206\112\243\102\060\100\060\016\006\003
+\125\035\017\001\001\377\004\004\003\002\001\006\060\017\006\003
+\125\035\023\001\001\377\004\005\060\003\001\001\377\060\035\006
+\003\125\035\016\004\026\004\024\075\346\051\110\233\352\007\312
+\041\104\112\046\336\156\336\322\203\320\237\131\060\012\006\010
+\052\206\110\316\075\004\003\003\003\150\000\060\145\002\061\000
+\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
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
+
+# 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
+# Fingerprint (SHA1): 1F:24:C6:30:CD:A4:18:EF:20:69:FF:AD:4F:DD:5F:46:3A:1B:69:AA
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "GlobalSign ECC Root CA - R5"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\037\044\306\060\315\244\030\357\040\151\377\255\117\335\137\106
+\072\033\151\252
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\237\255\073\034\002\036\212\272\027\164\070\201\014\242\274\010
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\120\061\044\060\042\006\003\125\004\013\023\033\107\154\157
+\142\141\154\123\151\147\156\040\105\103\103\040\122\157\157\164
+\040\103\101\040\055\040\122\065\061\023\060\021\006\003\125\004
+\012\023\012\107\154\157\142\141\154\123\151\147\156\061\023\060
+\021\006\003\125\004\003\023\012\107\154\157\142\141\154\123\151
+\147\156
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\021\140\131\111\340\046\056\273\125\371\012\167\212\161\371
+\112\330\154
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "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
+# Fingerprint (SHA1): D8:EB:6B:41:51:92:59:E0:F3:E7:85:00:C0:3D:B6:88:97:C9:EE:FC
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Staat der Nederlanden Root CA - G3"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\132\061\013\060\011\006\003\125\004\006\023\002\116\114\061
+\036\060\034\006\003\125\004\012\014\025\123\164\141\141\164\040
+\144\145\162\040\116\145\144\145\162\154\141\156\144\145\156\061
+\053\060\051\006\003\125\004\003\014\042\123\164\141\141\164\040
+\144\145\162\040\116\145\144\145\162\154\141\156\144\145\156\040
+\122\157\157\164\040\103\101\040\055\040\107\063
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\132\061\013\060\011\006\003\125\004\006\023\002\116\114\061
+\036\060\034\006\003\125\004\012\014\025\123\164\141\141\164\040
+\144\145\162\040\116\145\144\145\162\154\141\156\144\145\156\061
+\053\060\051\006\003\125\004\003\014\042\123\164\141\141\164\040
+\144\145\162\040\116\145\144\145\162\154\141\156\144\145\156\040
+\122\157\157\164\040\103\101\040\055\040\107\063
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\004\000\230\242\071
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\005\164\060\202\003\134\240\003\002\001\002\002\004\000
+\230\242\071\060\015\006\011\052\206\110\206\367\015\001\001\013
+\005\000\060\132\061\013\060\011\006\003\125\004\006\023\002\116
+\114\061\036\060\034\006\003\125\004\012\014\025\123\164\141\141
+\164\040\144\145\162\040\116\145\144\145\162\154\141\156\144\145
+\156\061\053\060\051\006\003\125\004\003\014\042\123\164\141\141
+\164\040\144\145\162\040\116\145\144\145\162\154\141\156\144\145
+\156\040\122\157\157\164\040\103\101\040\055\040\107\063\060\036
+\027\015\061\063\061\061\061\064\061\061\062\070\064\062\132\027
+\015\062\070\061\061\061\063\062\063\060\060\060\060\132\060\132
+\061\013\060\011\006\003\125\004\006\023\002\116\114\061\036\060
+\034\006\003\125\004\012\014\025\123\164\141\141\164\040\144\145
+\162\040\116\145\144\145\162\154\141\156\144\145\156\061\053\060
+\051\006\003\125\004\003\014\042\123\164\141\141\164\040\144\145
+\162\040\116\145\144\145\162\154\141\156\144\145\156\040\122\157
+\157\164\040\103\101\040\055\040\107\063\060\202\002\042\060\015
+\006\011\052\206\110\206\367\015\001\001\001\005\000\003\202\002
+\017\000\060\202\002\012\002\202\002\001\000\276\062\242\124\017
+\160\373\054\134\131\353\154\304\244\121\350\205\052\263\314\112
+\064\362\260\137\363\016\307\034\075\123\036\210\010\150\330\157
+\075\255\302\236\314\202\147\007\047\207\150\161\072\237\165\226
+\042\106\005\260\355\255\307\133\236\052\336\234\374\072\306\225
+\247\365\027\147\030\347\057\111\010\014\134\317\346\314\064\355
+\170\373\120\261\334\153\062\360\242\376\266\074\344\354\132\227
+\307\077\036\160\010\060\240\334\305\263\155\157\320\202\162\021
+\253\322\201\150\131\202\027\267\170\222\140\372\314\336\077\204
+\353\215\070\063\220\012\162\043\372\065\314\046\161\061\321\162
+\050\222\331\133\043\155\146\265\155\007\102\353\246\063\316\222
+\333\300\366\154\143\170\315\312\116\075\265\345\122\233\361\276
+\073\346\124\140\260\146\036\011\253\007\376\124\211\021\102\321
+\367\044\272\140\170\032\230\367\311\021\375\026\301\065\032\124
+\165\357\103\323\345\256\116\316\347\173\303\306\116\141\121\113
+\253\232\105\113\241\037\101\275\110\123\025\161\144\013\206\263
+\345\056\276\316\244\033\301\051\204\242\265\313\010\043\166\103
+\042\044\037\027\004\324\156\234\306\374\177\053\146\032\354\212
+\345\326\317\115\365\143\011\267\025\071\326\173\254\353\343\174
+\351\116\374\165\102\310\355\130\225\014\006\102\242\234\367\344
+\160\263\337\162\157\132\067\100\211\330\205\244\327\361\013\336
+\103\031\324\112\130\054\214\212\071\236\277\204\207\361\026\073
+\066\014\351\323\264\312\154\031\101\122\011\241\035\260\152\277
+\202\357\160\121\041\062\334\005\166\214\313\367\144\344\003\120
+\257\214\221\147\253\305\362\356\130\330\336\276\367\347\061\317
+\154\311\073\161\301\325\210\265\145\274\300\350\027\027\007\022
+\265\134\322\253\040\223\264\346\202\203\160\066\305\315\243\215
+\255\213\354\243\301\103\207\346\103\342\064\276\225\213\065\355
+\007\071\332\250\035\172\237\066\236\022\260\014\145\022\220\025
+\140\331\046\100\104\343\126\140\245\020\324\152\074\375\101\334
+\016\132\107\266\357\227\141\165\117\331\376\307\262\035\324\355
+\135\111\263\251\152\313\146\204\023\325\134\240\334\337\156\167
+\006\321\161\165\310\127\157\257\017\167\133\002\003\001\000\001
+\243\102\060\100\060\017\006\003\125\035\023\001\001\377\004\005
+\060\003\001\001\377\060\016\006\003\125\035\017\001\001\377\004
+\004\003\002\001\006\060\035\006\003\125\035\016\004\026\004\024
+\124\255\372\307\222\127\256\312\065\234\056\022\373\344\272\135
+\040\334\224\127\060\015\006\011\052\206\110\206\367\015\001\001
+\013\005\000\003\202\002\001\000\060\231\235\005\062\310\136\016
+\073\230\001\072\212\244\347\007\367\172\370\347\232\337\120\103
+\123\227\052\075\312\074\107\230\056\341\025\173\361\222\363\141
+\332\220\045\026\145\300\237\124\135\016\003\073\133\167\002\234
+\204\266\015\230\137\064\335\073\143\302\303\050\201\302\234\051
+\056\051\342\310\303\001\362\063\352\052\252\314\011\010\367\145
+\147\306\315\337\323\266\053\247\275\314\321\016\160\137\270\043
+\321\313\221\116\012\364\310\172\345\331\143\066\301\324\337\374
+\042\227\367\140\135\352\051\057\130\262\275\130\275\215\226\117
+\020\165\277\110\173\075\121\207\241\074\164\042\302\374\007\177
+\200\334\304\254\376\152\301\160\060\260\351\216\151\342\054\151
+\201\224\011\272\335\376\115\300\203\214\224\130\300\106\040\257
+\234\037\002\370\065\125\111\057\106\324\300\360\240\226\002\017
+\063\305\161\363\236\043\175\224\267\375\072\323\011\203\006\041
+\375\140\075\256\062\300\322\356\215\246\360\347\264\202\174\012
+\314\160\311\171\200\370\376\114\367\065\204\031\212\061\373\012
+\331\327\177\233\360\242\232\153\303\005\112\355\101\140\024\060
+\321\252\021\102\156\323\043\002\004\013\306\145\335\335\122\167
+\332\201\153\262\250\372\001\070\271\226\352\052\154\147\227\211
+\224\236\274\341\124\325\344\152\170\357\112\275\053\232\075\100
+\176\306\300\165\322\156\373\150\060\354\354\213\235\371\111\065
+\232\032\054\331\263\225\071\325\036\222\367\246\271\145\057\345
+\075\155\072\110\114\010\334\344\050\022\050\276\175\065\134\352
+\340\026\176\023\033\152\327\076\327\236\374\055\165\262\301\024
+\325\043\003\333\133\157\013\076\170\057\015\336\063\215\026\267
+\110\347\203\232\201\017\173\301\103\115\125\004\027\070\112\121
+\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
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
+
+# 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
+# Fingerprint (SHA1): D8:EB:6B:41:51:92:59:E0:F3:E7:85:00:C0:3D:B6:88:97:C9:EE:FC
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Staat der Nederlanden Root CA - G3"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\330\353\153\101\121\222\131\340\363\347\205\000\300\075\266\210
+\227\311\356\374
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\013\106\147\007\333\020\057\031\214\065\120\140\321\013\364\067
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\132\061\013\060\011\006\003\125\004\006\023\002\116\114\061
+\036\060\034\006\003\125\004\012\014\025\123\164\141\141\164\040
+\144\145\162\040\116\145\144\145\162\154\141\156\144\145\156\061
+\053\060\051\006\003\125\004\003\014\042\123\164\141\141\164\040
+\144\145\162\040\116\145\144\145\162\154\141\156\144\145\156\040
+\122\157\157\164\040\103\101\040\055\040\107\063
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\004\000\230\242\071
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "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
+# Fingerprint (SHA1): DF:71:7E:AA:4A:D9:4E:C9:55:84:99:60:2D:48:DE:5F:BC:F0:3A:25
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "IdenTrust Commercial Root CA 1"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\112\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\022\060\020\006\003\125\004\012\023\011\111\144\145\156\124\162
+\165\163\164\061\047\060\045\006\003\125\004\003\023\036\111\144
+\145\156\124\162\165\163\164\040\103\157\155\155\145\162\143\151
+\141\154\040\122\157\157\164\040\103\101\040\061
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\112\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\022\060\020\006\003\125\004\012\023\011\111\144\145\156\124\162
+\165\163\164\061\047\060\045\006\003\125\004\003\023\036\111\144
+\145\156\124\162\165\163\164\040\103\157\155\155\145\162\143\151
+\141\154\040\122\157\157\164\040\103\101\040\061
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\020\012\001\102\200\000\000\001\105\043\310\104\265\000\000
+\000\002
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\005\140\060\202\003\110\240\003\002\001\002\002\020\012
+\001\102\200\000\000\001\105\043\310\104\265\000\000\000\002\060
+\015\006\011\052\206\110\206\367\015\001\001\013\005\000\060\112
+\061\013\060\011\006\003\125\004\006\023\002\125\123\061\022\060
+\020\006\003\125\004\012\023\011\111\144\145\156\124\162\165\163
+\164\061\047\060\045\006\003\125\004\003\023\036\111\144\145\156
+\124\162\165\163\164\040\103\157\155\155\145\162\143\151\141\154
+\040\122\157\157\164\040\103\101\040\061\060\036\027\015\061\064
+\060\061\061\066\061\070\061\062\062\063\132\027\015\063\064\060
+\061\061\066\061\070\061\062\062\063\132\060\112\061\013\060\011
+\006\003\125\004\006\023\002\125\123\061\022\060\020\006\003\125
+\004\012\023\011\111\144\145\156\124\162\165\163\164\061\047\060
+\045\006\003\125\004\003\023\036\111\144\145\156\124\162\165\163
+\164\040\103\157\155\155\145\162\143\151\141\154\040\122\157\157
+\164\040\103\101\040\061\060\202\002\042\060\015\006\011\052\206
+\110\206\367\015\001\001\001\005\000\003\202\002\017\000\060\202
+\002\012\002\202\002\001\000\247\120\031\336\077\231\075\324\063
+\106\361\157\121\141\202\262\251\117\217\147\211\135\204\331\123
+\335\014\050\331\327\360\377\256\225\103\162\231\371\265\135\174
+\212\301\102\341\061\120\164\321\201\015\174\315\233\041\253\103
+\342\254\255\136\206\156\363\011\212\037\132\062\275\242\353\224
+\371\350\134\012\354\377\230\322\257\161\263\264\123\237\116\207
+\357\222\274\275\354\117\062\060\210\113\027\136\127\304\123\302
+\366\002\227\215\331\142\053\277\044\037\142\215\337\303\270\051
+\113\111\170\074\223\140\210\042\374\231\332\066\310\302\242\324
+\054\124\000\147\065\156\163\277\002\130\360\244\335\345\260\242
+\046\172\312\340\066\245\031\026\365\375\267\357\256\077\100\365
+\155\132\004\375\316\064\312\044\334\164\043\033\135\063\023\022
+\135\304\001\045\366\060\335\002\135\237\340\325\107\275\264\353
+\033\241\273\111\111\330\237\133\002\363\212\344\044\220\344\142
+\117\117\301\257\213\016\164\027\250\321\162\210\152\172\001\111
+\314\264\106\171\306\027\261\332\230\036\007\131\372\165\041\205
+\145\335\220\126\316\373\253\245\140\235\304\235\371\122\260\213
+\275\207\371\217\053\043\012\043\166\073\367\063\341\311\000\363
+\151\371\113\242\340\116\274\176\223\071\204\007\367\104\160\176
+\376\007\132\345\261\254\321\030\314\362\065\345\111\111\010\312
+\126\311\075\373\017\030\175\213\073\301\023\302\115\217\311\117
+\016\067\351\037\241\016\152\337\142\056\313\065\006\121\171\054
+\310\045\070\364\372\113\247\211\134\234\322\343\015\071\206\112
+\164\174\325\131\207\302\077\116\014\134\122\364\075\367\122\202
+\361\352\243\254\375\111\064\032\050\363\101\210\072\023\356\350
+\336\377\231\035\137\272\313\350\036\362\271\120\140\300\061\323
+\163\345\357\276\240\355\063\013\164\276\040\040\304\147\154\360
+\010\003\172\125\200\177\106\116\226\247\364\036\076\341\366\330
+\011\341\063\144\053\143\327\062\136\237\371\300\173\017\170\157
+\227\274\223\232\371\234\022\220\170\172\200\207\025\327\162\164
+\234\125\164\170\261\272\341\156\160\004\272\117\240\272\150\303
+\173\377\061\360\163\075\075\224\052\261\013\101\016\240\376\115
+\210\145\153\171\063\264\327\002\003\001\000\001\243\102\060\100
+\060\016\006\003\125\035\017\001\001\377\004\004\003\002\001\006
+\060\017\006\003\125\035\023\001\001\377\004\005\060\003\001\001
+\377\060\035\006\003\125\035\016\004\026\004\024\355\104\031\300
+\323\360\006\213\356\244\173\276\102\347\046\124\310\216\066\166
+\060\015\006\011\052\206\110\206\367\015\001\001\013\005\000\003
+\202\002\001\000\015\256\220\062\366\246\113\174\104\166\031\141
+\036\047\050\315\136\124\357\045\274\343\010\220\371\051\327\256
+\150\010\341\224\000\130\357\056\056\176\123\122\214\266\134\007
+\352\210\272\231\213\120\224\327\202\200\337\141\011\000\223\255
+\015\024\346\316\301\362\067\224\170\260\137\234\263\242\163\270
+\217\005\223\070\315\215\076\260\270\373\300\317\261\362\354\055
+\055\033\314\354\252\232\263\252\140\202\033\055\073\303\204\075
+\127\212\226\036\234\165\270\323\060\315\140\010\203\220\323\216
+\124\361\115\146\300\135\164\003\100\243\356\205\176\302\037\167
+\234\006\350\301\247\030\135\122\225\355\311\335\045\236\155\372
+\251\355\243\072\064\320\131\173\332\355\120\363\065\277\355\353
+\024\115\061\307\140\364\332\361\207\234\342\110\342\306\305\067
+\373\006\020\372\165\131\146\061\107\051\332\166\232\034\351\202
+\256\357\232\271\121\367\210\043\232\151\225\142\074\345\125\200
+\066\327\124\002\377\361\271\135\316\324\043\157\330\105\204\112
+\133\145\357\211\014\335\024\247\040\313\030\245\045\264\015\371
+\001\360\242\322\364\000\310\164\216\241\052\110\216\145\333\023
+\304\342\045\027\175\353\276\207\133\027\040\124\121\223\112\123
+\003\013\354\135\312\063\355\142\375\105\307\057\133\334\130\240
+\200\071\346\372\327\376\023\024\246\355\075\224\112\102\164\324
+\303\167\131\163\315\217\106\276\125\070\357\372\350\221\062\352
+\227\130\004\042\336\070\303\314\274\155\311\063\072\152\012\151
+\077\240\310\352\162\217\214\143\206\043\275\155\074\226\236\225
+\340\111\114\252\242\271\052\033\234\066\201\170\355\303\350\106
+\342\046\131\104\165\036\331\165\211\121\315\020\204\235\141\140
+\313\135\371\227\042\115\216\230\346\343\177\366\133\273\256\315
+\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
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
+
+# 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
+# Fingerprint (SHA1): DF:71:7E:AA:4A:D9:4E:C9:55:84:99:60:2D:48:DE:5F:BC:F0:3A:25
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "IdenTrust Commercial Root CA 1"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\337\161\176\252\112\331\116\311\125\204\231\140\055\110\336\137
+\274\360\072\045
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\263\076\167\163\165\356\240\323\343\176\111\143\111\131\273\307
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\112\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\022\060\020\006\003\125\004\012\023\011\111\144\145\156\124\162
+\165\163\164\061\047\060\045\006\003\125\004\003\023\036\111\144
+\145\156\124\162\165\163\164\040\103\157\155\155\145\162\143\151
+\141\154\040\122\157\157\164\040\103\101\040\061
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\020\012\001\102\200\000\000\001\105\043\310\104\265\000\000
+\000\002
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "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
+# Fingerprint (SHA1): BA:29:41:60:77:98:3F:F4:F3:EF:F2:31:05:3B:2E:EA:6D:4D:45:FD
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "IdenTrust Public Sector Root CA 1"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\115\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\022\060\020\006\003\125\004\012\023\011\111\144\145\156\124\162
+\165\163\164\061\052\060\050\006\003\125\004\003\023\041\111\144
+\145\156\124\162\165\163\164\040\120\165\142\154\151\143\040\123
+\145\143\164\157\162\040\122\157\157\164\040\103\101\040\061
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\115\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\022\060\020\006\003\125\004\012\023\011\111\144\145\156\124\162
+\165\163\164\061\052\060\050\006\003\125\004\003\023\041\111\144
+\145\156\124\162\165\163\164\040\120\165\142\154\151\143\040\123
+\145\143\164\157\162\040\122\157\157\164\040\103\101\040\061
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\020\012\001\102\200\000\000\001\105\043\317\106\174\000\000
+\000\002
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\005\146\060\202\003\116\240\003\002\001\002\002\020\012
+\001\102\200\000\000\001\105\043\317\106\174\000\000\000\002\060
+\015\006\011\052\206\110\206\367\015\001\001\013\005\000\060\115
+\061\013\060\011\006\003\125\004\006\023\002\125\123\061\022\060
+\020\006\003\125\004\012\023\011\111\144\145\156\124\162\165\163
+\164\061\052\060\050\006\003\125\004\003\023\041\111\144\145\156
+\124\162\165\163\164\040\120\165\142\154\151\143\040\123\145\143
+\164\157\162\040\122\157\157\164\040\103\101\040\061\060\036\027
+\015\061\064\060\061\061\066\061\067\065\063\063\062\132\027\015
+\063\064\060\061\061\066\061\067\065\063\063\062\132\060\115\061
+\013\060\011\006\003\125\004\006\023\002\125\123\061\022\060\020
+\006\003\125\004\012\023\011\111\144\145\156\124\162\165\163\164
+\061\052\060\050\006\003\125\004\003\023\041\111\144\145\156\124
+\162\165\163\164\040\120\165\142\154\151\143\040\123\145\143\164
+\157\162\040\122\157\157\164\040\103\101\040\061\060\202\002\042
+\060\015\006\011\052\206\110\206\367\015\001\001\001\005\000\003
+\202\002\017\000\060\202\002\012\002\202\002\001\000\266\042\224
+\374\244\110\257\350\107\153\012\373\047\166\344\362\077\212\073
+\172\112\054\061\052\214\215\260\251\303\061\153\250\167\166\204
+\046\266\254\201\102\015\010\353\125\130\273\172\370\274\145\175
+\362\240\155\213\250\107\351\142\166\036\021\356\010\024\321\262
+\104\026\364\352\320\372\036\057\136\333\313\163\101\256\274\000
+\260\112\053\100\262\254\341\073\113\302\055\235\344\241\233\354
+\032\072\036\360\010\263\320\344\044\065\007\237\234\264\311\122
+\155\333\007\312\217\265\133\360\203\363\117\307\055\245\310\255
+\313\225\040\244\061\050\127\130\132\344\215\033\232\253\236\015
+\014\362\012\063\071\042\071\012\227\056\363\123\167\271\104\105
+\375\204\313\066\040\201\131\055\232\157\155\110\110\141\312\114
+\337\123\321\257\122\274\104\237\253\057\153\203\162\357\165\200
+\332\006\063\033\135\310\332\143\306\115\315\254\146\061\315\321
+\336\076\207\020\066\341\271\244\172\357\140\120\262\313\312\246
+\126\340\067\257\253\064\023\071\045\350\071\146\344\230\172\252
+\022\230\234\131\146\206\076\255\361\260\312\076\006\017\173\360
+\021\113\067\240\104\155\173\313\250\214\161\364\325\265\221\066
+\314\360\025\306\053\336\121\027\261\227\114\120\075\261\225\131
+\174\005\175\055\041\325\000\277\001\147\242\136\173\246\134\362
+\367\042\361\220\015\223\333\252\104\121\146\314\175\166\003\353
+\152\250\052\070\031\227\166\015\153\212\141\371\274\366\356\166
+\375\160\053\335\051\074\370\012\036\133\102\034\213\126\057\125
+\033\034\241\056\265\307\026\346\370\252\074\222\216\151\266\001
+\301\265\206\235\211\017\013\070\224\124\350\352\334\236\075\045
+\274\123\046\355\325\253\071\252\305\100\114\124\253\262\264\331
+\331\370\327\162\333\034\274\155\275\145\137\357\210\065\052\146
+\057\356\366\263\145\360\063\215\174\230\101\151\106\017\103\034
+\151\372\233\265\320\141\152\315\312\113\331\114\220\106\253\025
+\131\241\107\124\051\056\203\050\137\034\302\242\253\162\027\000
+\006\216\105\354\213\342\063\075\177\332\031\104\344\142\162\303
+\337\042\306\362\126\324\335\137\225\162\355\155\137\367\110\003
+\133\375\305\052\240\366\163\043\204\020\033\001\347\002\003\001
+\000\001\243\102\060\100\060\016\006\003\125\035\017\001\001\377
+\004\004\003\002\001\006\060\017\006\003\125\035\023\001\001\377
+\004\005\060\003\001\001\377\060\035\006\003\125\035\016\004\026
+\004\024\343\161\340\236\330\247\102\331\333\161\221\153\224\223
+\353\303\243\321\024\243\060\015\006\011\052\206\110\206\367\015
+\001\001\013\005\000\003\202\002\001\000\107\372\335\012\260\021
+\221\070\255\115\135\367\345\016\227\124\031\202\110\207\124\214
+\252\144\231\330\132\376\210\001\305\130\245\231\261\043\124\043
+\267\152\035\040\127\345\001\142\101\027\323\011\333\165\313\156
+\124\220\165\376\032\237\201\012\302\335\327\367\011\320\133\162
+\025\344\036\011\152\075\063\363\041\232\346\025\176\255\121\325
+\015\020\355\175\102\300\217\356\300\232\010\325\101\326\134\016
+\041\151\156\200\141\016\025\300\270\317\305\111\022\122\314\276
+\072\314\324\056\070\005\336\065\375\037\157\270\200\150\230\075
+\115\240\312\100\145\322\163\174\365\213\331\012\225\077\330\077
+\043\155\032\321\052\044\031\331\205\263\027\357\170\156\251\130
+\321\043\323\307\023\355\162\045\177\135\261\163\160\320\177\006
+\227\011\204\051\200\141\035\372\136\377\163\254\240\343\211\270
+\034\161\025\306\336\061\177\022\334\341\155\233\257\347\350\237
+\165\170\114\253\106\073\232\316\277\005\030\135\115\025\074\026
+\232\031\120\004\232\262\232\157\145\213\122\137\074\130\004\050
+\045\300\146\141\061\176\271\340\165\271\032\250\201\326\162\027
+\263\305\003\061\065\021\170\170\242\340\351\060\214\177\200\337
+\130\337\074\272\047\226\342\200\064\155\343\230\323\144\047\254
+\110\176\050\167\134\306\045\141\045\370\205\014\145\372\304\062
+\057\245\230\005\344\370\013\147\026\026\306\202\270\062\031\371
+\371\271\171\334\037\315\353\257\253\016\335\033\333\105\344\172
+\347\002\342\225\135\374\151\360\123\151\141\225\165\171\013\136
+\125\346\070\034\224\251\131\063\236\310\161\164\171\177\121\211
+\266\310\152\270\060\310\152\070\303\156\236\341\067\026\352\005
+\142\114\133\022\107\355\247\264\263\130\126\307\111\363\177\022
+\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
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
+
+# 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
+# Fingerprint (SHA1): BA:29:41:60:77:98:3F:F4:F3:EF:F2:31:05:3B:2E:EA:6D:4D:45:FD
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "IdenTrust Public Sector Root CA 1"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\272\051\101\140\167\230\077\364\363\357\362\061\005\073\056\352
+\155\115\105\375
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\067\006\245\260\374\211\235\272\364\153\214\032\144\315\325\272
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\115\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\022\060\020\006\003\125\004\012\023\011\111\144\145\156\124\162
+\165\163\164\061\052\060\050\006\003\125\004\003\023\041\111\144
+\145\156\124\162\165\163\164\040\120\165\142\154\151\143\040\123
+\145\143\164\157\162\040\122\157\157\164\040\103\101\040\061
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\020\012\001\102\200\000\000\001\105\043\317\106\174\000\000
+\000\002
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "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
+# Fingerprint (SHA1): 8C:F4:27:FD:79:0C:3A:D1:66:06:8D:E8:1E:57:EF:BB:93:22:72:D4
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Entrust Root Certification Authority - G2"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\201\276\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\026\060\024\006\003\125\004\012\023\015\105\156\164\162\165
+\163\164\054\040\111\156\143\056\061\050\060\046\006\003\125\004
+\013\023\037\123\145\145\040\167\167\167\056\145\156\164\162\165
+\163\164\056\156\145\164\057\154\145\147\141\154\055\164\145\162
+\155\163\061\071\060\067\006\003\125\004\013\023\060\050\143\051
+\040\062\060\060\071\040\105\156\164\162\165\163\164\054\040\111
+\156\143\056\040\055\040\146\157\162\040\141\165\164\150\157\162
+\151\172\145\144\040\165\163\145\040\157\156\154\171\061\062\060
+\060\006\003\125\004\003\023\051\105\156\164\162\165\163\164\040
+\122\157\157\164\040\103\145\162\164\151\146\151\143\141\164\151
+\157\156\040\101\165\164\150\157\162\151\164\171\040\055\040\107
+\062
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\201\276\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\026\060\024\006\003\125\004\012\023\015\105\156\164\162\165
+\163\164\054\040\111\156\143\056\061\050\060\046\006\003\125\004
+\013\023\037\123\145\145\040\167\167\167\056\145\156\164\162\165
+\163\164\056\156\145\164\057\154\145\147\141\154\055\164\145\162
+\155\163\061\071\060\067\006\003\125\004\013\023\060\050\143\051
+\040\062\060\060\071\040\105\156\164\162\165\163\164\054\040\111
+\156\143\056\040\055\040\146\157\162\040\141\165\164\150\157\162
+\151\172\145\144\040\165\163\145\040\157\156\154\171\061\062\060
+\060\006\003\125\004\003\023\051\105\156\164\162\165\163\164\040
+\122\157\157\164\040\103\145\162\164\151\146\151\143\141\164\151
+\157\156\040\101\165\164\150\157\162\151\164\171\040\055\040\107
+\062
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\004\112\123\214\050
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\004\076\060\202\003\046\240\003\002\001\002\002\004\112
+\123\214\050\060\015\006\011\052\206\110\206\367\015\001\001\013
+\005\000\060\201\276\061\013\060\011\006\003\125\004\006\023\002
+\125\123\061\026\060\024\006\003\125\004\012\023\015\105\156\164
+\162\165\163\164\054\040\111\156\143\056\061\050\060\046\006\003
+\125\004\013\023\037\123\145\145\040\167\167\167\056\145\156\164
+\162\165\163\164\056\156\145\164\057\154\145\147\141\154\055\164
+\145\162\155\163\061\071\060\067\006\003\125\004\013\023\060\050
+\143\051\040\062\060\060\071\040\105\156\164\162\165\163\164\054
+\040\111\156\143\056\040\055\040\146\157\162\040\141\165\164\150
+\157\162\151\172\145\144\040\165\163\145\040\157\156\154\171\061
+\062\060\060\006\003\125\004\003\023\051\105\156\164\162\165\163
+\164\040\122\157\157\164\040\103\145\162\164\151\146\151\143\141
+\164\151\157\156\040\101\165\164\150\157\162\151\164\171\040\055
+\040\107\062\060\036\027\015\060\071\060\067\060\067\061\067\062
+\065\065\064\132\027\015\063\060\061\062\060\067\061\067\065\065
+\065\064\132\060\201\276\061\013\060\011\006\003\125\004\006\023
+\002\125\123\061\026\060\024\006\003\125\004\012\023\015\105\156
+\164\162\165\163\164\054\040\111\156\143\056\061\050\060\046\006
+\003\125\004\013\023\037\123\145\145\040\167\167\167\056\145\156
+\164\162\165\163\164\056\156\145\164\057\154\145\147\141\154\055
+\164\145\162\155\163\061\071\060\067\006\003\125\004\013\023\060
+\050\143\051\040\062\060\060\071\040\105\156\164\162\165\163\164
+\054\040\111\156\143\056\040\055\040\146\157\162\040\141\165\164
+\150\157\162\151\172\145\144\040\165\163\145\040\157\156\154\171
+\061\062\060\060\006\003\125\004\003\023\051\105\156\164\162\165
+\163\164\040\122\157\157\164\040\103\145\162\164\151\146\151\143
+\141\164\151\157\156\040\101\165\164\150\157\162\151\164\171\040
+\055\040\107\062\060\202\001\042\060\015\006\011\052\206\110\206
+\367\015\001\001\001\005\000\003\202\001\017\000\060\202\001\012
+\002\202\001\001\000\272\204\266\162\333\236\014\153\342\231\351
+\060\001\247\166\352\062\270\225\101\032\311\332\141\116\130\162
+\317\376\366\202\171\277\163\141\006\012\245\047\330\263\137\323
+\105\116\034\162\326\116\062\362\162\212\017\367\203\031\320\152
+\200\200\000\105\036\260\307\347\232\277\022\127\047\034\243\150
+\057\012\207\275\152\153\016\136\145\363\034\167\325\324\205\215
+\160\041\264\263\062\347\213\242\325\206\071\002\261\270\322\107
+\316\344\311\111\304\073\247\336\373\124\175\127\276\360\350\156
+\302\171\262\072\013\125\342\120\230\026\062\023\134\057\170\126
+\301\302\224\263\362\132\344\047\232\237\044\327\306\354\320\233
+\045\202\343\314\302\304\105\305\214\227\172\006\153\052\021\237
+\251\012\156\110\073\157\333\324\021\031\102\367\217\007\277\365
+\123\137\234\076\364\027\054\346\151\254\116\062\114\142\167\352
+\267\350\345\273\064\274\031\213\256\234\121\347\267\176\265\123
+\261\063\042\345\155\317\160\074\032\372\342\233\147\266\203\364
+\215\245\257\142\114\115\340\130\254\144\064\022\003\370\266\215
+\224\143\044\244\161\002\003\001\000\001\243\102\060\100\060\016
+\006\003\125\035\017\001\001\377\004\004\003\002\001\006\060\017
+\006\003\125\035\023\001\001\377\004\005\060\003\001\001\377\060
+\035\006\003\125\035\016\004\026\004\024\152\162\046\172\320\036
+\357\175\347\073\151\121\324\154\215\237\220\022\146\253\060\015
+\006\011\052\206\110\206\367\015\001\001\013\005\000\003\202\001
+\001\000\171\237\035\226\306\266\171\077\042\215\207\323\207\003
+\004\140\152\153\232\056\131\211\163\021\254\103\321\365\023\377
+\215\071\053\300\362\275\117\160\214\251\057\352\027\304\013\124
+\236\324\033\226\230\063\074\250\255\142\242\000\166\253\131\151
+\156\006\035\176\304\271\104\215\230\257\022\324\141\333\012\031
+\106\107\363\353\367\143\301\100\005\100\245\322\267\364\265\232
+\066\277\251\210\166\210\004\125\004\053\234\207\177\032\067\074
+\176\055\245\032\330\324\211\136\312\275\254\075\154\330\155\257
+\325\363\166\017\315\073\210\070\042\235\154\223\232\304\075\277
+\202\033\145\077\246\017\135\252\374\345\262\025\312\265\255\306
+\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
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
+
+# 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
+# Fingerprint (SHA1): 8C:F4:27:FD:79:0C:3A:D1:66:06:8D:E8:1E:57:EF:BB:93:22:72:D4
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Entrust Root Certification Authority - G2"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\214\364\047\375\171\014\072\321\146\006\215\350\036\127\357\273
+\223\042\162\324
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\113\342\311\221\226\145\014\364\016\132\223\222\240\012\376\262
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\201\276\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\026\060\024\006\003\125\004\012\023\015\105\156\164\162\165
+\163\164\054\040\111\156\143\056\061\050\060\046\006\003\125\004
+\013\023\037\123\145\145\040\167\167\167\056\145\156\164\162\165
+\163\164\056\156\145\164\057\154\145\147\141\154\055\164\145\162
+\155\163\061\071\060\067\006\003\125\004\013\023\060\050\143\051
+\040\062\060\060\071\040\105\156\164\162\165\163\164\054\040\111
+\156\143\056\040\055\040\146\157\162\040\141\165\164\150\157\162
+\151\172\145\144\040\165\163\145\040\157\156\154\171\061\062\060
+\060\006\003\125\004\003\023\051\105\156\164\162\165\163\164\040
+\122\157\157\164\040\103\145\162\164\151\146\151\143\141\164\151
+\157\156\040\101\165\164\150\157\162\151\164\171\040\055\040\107
+\062
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\004\112\123\214\050
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "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
+# Fingerprint (SHA1): 20:D8:06:40:DF:9B:25:F5:12:25:3A:11:EA:F7:59:8A:EB:14:B5:47
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Entrust Root Certification Authority - EC1"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\201\277\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\026\060\024\006\003\125\004\012\023\015\105\156\164\162\165
+\163\164\054\040\111\156\143\056\061\050\060\046\006\003\125\004
+\013\023\037\123\145\145\040\167\167\167\056\145\156\164\162\165
+\163\164\056\156\145\164\057\154\145\147\141\154\055\164\145\162
+\155\163\061\071\060\067\006\003\125\004\013\023\060\050\143\051
+\040\062\060\061\062\040\105\156\164\162\165\163\164\054\040\111
+\156\143\056\040\055\040\146\157\162\040\141\165\164\150\157\162
+\151\172\145\144\040\165\163\145\040\157\156\154\171\061\063\060
+\061\006\003\125\004\003\023\052\105\156\164\162\165\163\164\040
+\122\157\157\164\040\103\145\162\164\151\146\151\143\141\164\151
+\157\156\040\101\165\164\150\157\162\151\164\171\040\055\040\105
+\103\061
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\201\277\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\026\060\024\006\003\125\004\012\023\015\105\156\164\162\165
+\163\164\054\040\111\156\143\056\061\050\060\046\006\003\125\004
+\013\023\037\123\145\145\040\167\167\167\056\145\156\164\162\165
+\163\164\056\156\145\164\057\154\145\147\141\154\055\164\145\162
+\155\163\061\071\060\067\006\003\125\004\013\023\060\050\143\051
+\040\062\060\061\062\040\105\156\164\162\165\163\164\054\040\111
+\156\143\056\040\055\040\146\157\162\040\141\165\164\150\157\162
+\151\172\145\144\040\165\163\145\040\157\156\154\171\061\063\060
+\061\006\003\125\004\003\023\052\105\156\164\162\165\163\164\040
+\122\157\157\164\040\103\145\162\164\151\146\151\143\141\164\151
+\157\156\040\101\165\164\150\157\162\151\164\171\040\055\040\105
+\103\061
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\015\000\246\213\171\051\000\000\000\000\120\320\221\371
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\002\371\060\202\002\200\240\003\002\001\002\002\015\000
+\246\213\171\051\000\000\000\000\120\320\221\371\060\012\006\010
+\052\206\110\316\075\004\003\003\060\201\277\061\013\060\011\006
+\003\125\004\006\023\002\125\123\061\026\060\024\006\003\125\004
+\012\023\015\105\156\164\162\165\163\164\054\040\111\156\143\056
+\061\050\060\046\006\003\125\004\013\023\037\123\145\145\040\167
+\167\167\056\145\156\164\162\165\163\164\056\156\145\164\057\154
+\145\147\141\154\055\164\145\162\155\163\061\071\060\067\006\003
+\125\004\013\023\060\050\143\051\040\062\060\061\062\040\105\156
+\164\162\165\163\164\054\040\111\156\143\056\040\055\040\146\157
+\162\040\141\165\164\150\157\162\151\172\145\144\040\165\163\145
+\040\157\156\154\171\061\063\060\061\006\003\125\004\003\023\052
+\105\156\164\162\165\163\164\040\122\157\157\164\040\103\145\162
+\164\151\146\151\143\141\164\151\157\156\040\101\165\164\150\157
+\162\151\164\171\040\055\040\105\103\061\060\036\027\015\061\062
+\061\062\061\070\061\065\062\065\063\066\132\027\015\063\067\061
+\062\061\070\061\065\065\065\063\066\132\060\201\277\061\013\060
+\011\006\003\125\004\006\023\002\125\123\061\026\060\024\006\003
+\125\004\012\023\015\105\156\164\162\165\163\164\054\040\111\156
+\143\056\061\050\060\046\006\003\125\004\013\023\037\123\145\145
+\040\167\167\167\056\145\156\164\162\165\163\164\056\156\145\164
+\057\154\145\147\141\154\055\164\145\162\155\163\061\071\060\067
+\006\003\125\004\013\023\060\050\143\051\040\062\060\061\062\040
+\105\156\164\162\165\163\164\054\040\111\156\143\056\040\055\040
+\146\157\162\040\141\165\164\150\157\162\151\172\145\144\040\165
+\163\145\040\157\156\154\171\061\063\060\061\006\003\125\004\003
+\023\052\105\156\164\162\165\163\164\040\122\157\157\164\040\103
+\145\162\164\151\146\151\143\141\164\151\157\156\040\101\165\164
+\150\157\162\151\164\171\040\055\040\105\103\061\060\166\060\020
+\006\007\052\206\110\316\075\002\001\006\005\053\201\004\000\042
+\003\142\000\004\204\023\311\320\272\155\101\173\342\154\320\353
+\125\137\146\002\032\044\364\133\211\151\107\343\270\302\175\361
+\362\002\305\237\240\366\133\325\213\006\031\206\117\123\020\155
+\007\044\047\241\240\370\325\107\031\141\114\175\312\223\047\352
+\164\014\357\157\226\011\376\143\354\160\135\066\255\147\167\256
+\311\235\174\125\104\072\242\143\121\037\365\343\142\324\251\107
+\007\076\314\040\243\102\060\100\060\016\006\003\125\035\017\001
+\001\377\004\004\003\002\001\006\060\017\006\003\125\035\023\001
+\001\377\004\005\060\003\001\001\377\060\035\006\003\125\035\016
+\004\026\004\024\267\143\347\032\335\215\351\010\246\125\203\244
+\340\152\120\101\145\021\102\111\060\012\006\010\052\206\110\316
+\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
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
+
+# 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
+# Fingerprint (SHA1): 20:D8:06:40:DF:9B:25:F5:12:25:3A:11:EA:F7:59:8A:EB:14:B5:47
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Entrust Root Certification Authority - EC1"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\040\330\006\100\337\233\045\365\022\045\072\021\352\367\131\212
+\353\024\265\107
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\266\176\035\360\130\305\111\154\044\073\075\355\230\030\355\274
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\201\277\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\026\060\024\006\003\125\004\012\023\015\105\156\164\162\165
+\163\164\054\040\111\156\143\056\061\050\060\046\006\003\125\004
+\013\023\037\123\145\145\040\167\167\167\056\145\156\164\162\165
+\163\164\056\156\145\164\057\154\145\147\141\154\055\164\145\162
+\155\163\061\071\060\067\006\003\125\004\013\023\060\050\143\051
+\040\062\060\061\062\040\105\156\164\162\165\163\164\054\040\111
+\156\143\056\040\055\040\146\157\162\040\141\165\164\150\157\162
+\151\172\145\144\040\165\163\145\040\157\156\154\171\061\063\060
+\061\006\003\125\004\003\023\052\105\156\164\162\165\163\164\040
+\122\157\157\164\040\103\145\162\164\151\146\151\143\141\164\151
+\157\156\040\101\165\164\150\157\162\151\164\171\040\055\040\105
+\103\061
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\015\000\246\213\171\051\000\000\000\000\120\320\221\371
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "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
+# Fingerprint (SHA1): E2:B8:29:4B:55:84:AB:6B:58:C2:90:46:6C:AC:3F:B8:39:8F:84:83
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "CFCA EV ROOT"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\126\061\013\060\011\006\003\125\004\006\023\002\103\116\061
+\060\060\056\006\003\125\004\012\014\047\103\150\151\156\141\040
+\106\151\156\141\156\143\151\141\154\040\103\145\162\164\151\146
+\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164
+\171\061\025\060\023\006\003\125\004\003\014\014\103\106\103\101
+\040\105\126\040\122\117\117\124
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\126\061\013\060\011\006\003\125\004\006\023\002\103\116\061
+\060\060\056\006\003\125\004\012\014\047\103\150\151\156\141\040
+\106\151\156\141\156\143\151\141\154\040\103\145\162\164\151\146
+\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164
+\171\061\025\060\023\006\003\125\004\003\014\014\103\106\103\101
+\040\105\126\040\122\117\117\124
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\004\030\112\314\326
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\005\215\060\202\003\165\240\003\002\001\002\002\004\030
+\112\314\326\060\015\006\011\052\206\110\206\367\015\001\001\013
+\005\000\060\126\061\013\060\011\006\003\125\004\006\023\002\103
+\116\061\060\060\056\006\003\125\004\012\014\047\103\150\151\156
+\141\040\106\151\156\141\156\143\151\141\154\040\103\145\162\164
+\151\146\151\143\141\164\151\157\156\040\101\165\164\150\157\162
+\151\164\171\061\025\060\023\006\003\125\004\003\014\014\103\106
+\103\101\040\105\126\040\122\117\117\124\060\036\027\015\061\062
+\060\070\060\070\060\063\060\067\060\061\132\027\015\062\071\061
+\062\063\061\060\063\060\067\060\061\132\060\126\061\013\060\011
+\006\003\125\004\006\023\002\103\116\061\060\060\056\006\003\125
+\004\012\014\047\103\150\151\156\141\040\106\151\156\141\156\143
+\151\141\154\040\103\145\162\164\151\146\151\143\141\164\151\157
+\156\040\101\165\164\150\157\162\151\164\171\061\025\060\023\006
+\003\125\004\003\014\014\103\106\103\101\040\105\126\040\122\117
+\117\124\060\202\002\042\060\015\006\011\052\206\110\206\367\015
+\001\001\001\005\000\003\202\002\017\000\060\202\002\012\002\202
+\002\001\000\327\135\153\315\020\077\037\005\131\325\005\115\067
+\261\016\354\230\053\216\025\035\372\223\113\027\202\041\161\020
+\122\327\121\144\160\026\302\125\151\115\216\025\155\237\277\014
+\033\302\340\243\147\326\014\254\317\042\256\257\167\124\052\113
+\114\212\123\122\172\303\356\056\336\263\161\045\301\351\135\075
+\356\241\057\243\367\052\074\311\043\035\152\253\035\241\247\361
+\363\354\240\325\104\317\025\317\162\057\035\143\227\350\231\371
+\375\223\244\124\200\114\122\324\122\253\056\111\337\220\315\270
+\137\276\077\336\241\312\115\040\324\045\350\204\051\123\267\261
+\210\037\377\372\332\220\237\012\251\055\101\077\261\361\030\051
+\356\026\131\054\064\111\032\250\006\327\250\210\322\003\162\172
+\062\342\352\150\115\156\054\226\145\173\312\131\372\362\342\335
+\356\060\054\373\314\106\254\304\143\353\157\177\066\053\064\163
+\022\224\177\337\314\046\236\361\162\135\120\145\131\217\151\263
+\207\136\062\157\303\030\212\265\225\217\260\172\067\336\132\105
+\073\307\066\341\357\147\321\071\323\227\133\163\142\031\110\055
+\207\034\006\373\164\230\040\111\163\360\005\322\033\261\240\243
+\267\033\160\323\210\151\271\132\326\070\364\142\334\045\213\170
+\277\370\350\176\270\134\311\225\117\137\247\055\271\040\153\317
+\153\335\365\015\364\202\267\364\262\146\056\020\050\366\227\132
+\173\226\026\217\001\031\055\154\156\177\071\130\006\144\203\001
+\203\203\303\115\222\335\062\306\207\244\067\351\026\316\252\055
+\150\257\012\201\145\072\160\301\233\255\115\155\124\312\052\055
+\113\205\033\263\200\346\160\105\015\153\136\065\360\177\073\270
+\234\344\004\160\211\022\045\223\332\012\231\042\140\152\143\140
+\116\166\006\230\116\275\203\255\035\130\212\045\205\322\307\145
+\036\055\216\306\337\266\306\341\177\212\004\041\025\051\164\360
+\076\234\220\235\014\056\361\212\076\132\252\014\011\036\307\325
+\074\243\355\227\303\036\064\372\070\371\010\016\343\300\135\053
+\203\321\126\152\311\266\250\124\123\056\170\062\147\075\202\177
+\164\320\373\341\266\005\140\271\160\333\216\013\371\023\130\157
+\161\140\020\122\020\271\301\101\011\357\162\037\147\061\170\377
+\226\005\215\002\003\001\000\001\243\143\060\141\060\037\006\003
+\125\035\043\004\030\060\026\200\024\343\376\055\375\050\320\013
+\265\272\266\242\304\277\006\252\005\214\223\373\057\060\017\006
+\003\125\035\023\001\001\377\004\005\060\003\001\001\377\060\016
+\006\003\125\035\017\001\001\377\004\004\003\002\001\006\060\035
+\006\003\125\035\016\004\026\004\024\343\376\055\375\050\320\013
+\265\272\266\242\304\277\006\252\005\214\223\373\057\060\015\006
+\011\052\206\110\206\367\015\001\001\013\005\000\003\202\002\001
+\000\045\306\272\153\353\207\313\336\202\071\226\075\360\104\247
+\153\204\163\003\336\235\053\117\272\040\177\274\170\262\317\227
+\260\033\234\363\327\171\056\365\110\266\322\373\027\210\346\323
+\172\077\355\123\023\320\342\057\152\171\313\000\043\050\346\036
+\067\127\065\211\204\302\166\117\064\066\255\147\303\316\101\006
+\210\305\367\356\330\032\270\326\013\177\120\377\223\252\027\113
+\214\354\355\122\140\262\244\006\352\116\353\364\153\031\375\353
+\365\032\340\045\052\232\334\307\101\066\367\310\164\005\204\071
+\225\071\326\013\073\244\047\372\010\330\134\036\370\004\140\122
+\021\050\050\003\377\357\123\146\000\245\112\064\026\146\174\375
+\011\244\256\236\147\032\157\101\013\153\006\023\233\217\206\161
+\005\264\057\215\211\146\063\051\166\124\232\021\370\047\372\262
+\077\221\340\316\015\033\363\060\032\255\277\042\135\033\323\277
+\045\005\115\341\222\032\177\231\237\074\104\223\312\324\100\111
+\154\200\207\327\004\072\303\062\122\065\016\126\370\245\335\175
+\304\213\015\021\037\123\313\036\262\027\266\150\167\132\340\324
+\313\310\007\256\365\072\056\216\067\267\320\001\113\103\051\167
+\214\071\227\217\202\132\370\121\345\211\240\030\347\150\177\135
+\012\056\373\243\107\016\075\246\043\172\306\001\307\217\310\136
+\277\155\200\126\276\212\044\272\063\352\237\341\062\021\236\361
+\322\117\200\366\033\100\257\070\236\021\120\171\163\022\022\315
+\346\154\235\054\210\162\074\060\201\006\221\042\352\131\255\332
+\031\056\042\302\215\271\214\207\340\146\274\163\043\137\041\144
+\143\200\110\365\240\074\030\075\224\310\110\101\035\100\272\136
+\376\376\126\071\241\310\317\136\236\031\144\106\020\332\027\221
+\267\005\200\254\213\231\222\175\347\242\330\007\013\066\047\347
+\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
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
+
+# 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
+# Fingerprint (SHA1): E2:B8:29:4B:55:84:AB:6B:58:C2:90:46:6C:AC:3F:B8:39:8F:84:83
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "CFCA EV ROOT"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\342\270\051\113\125\204\253\153\130\302\220\106\154\254\077\270
+\071\217\204\203
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\164\341\266\355\046\172\172\104\060\063\224\253\173\047\201\060
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\126\061\013\060\011\006\003\125\004\006\023\002\103\116\061
+\060\060\056\006\003\125\004\012\014\047\103\150\151\156\141\040
+\106\151\156\141\156\143\151\141\154\040\103\145\162\164\151\146
+\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164
+\171\061\025\060\023\006\003\125\004\003\014\014\103\106\103\101
+\040\105\126\040\122\117\117\124
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\004\030\112\314\326
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "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
+# Fingerprint (SHA1): 0F:F9:40:76:18:D3:D7:6A:4B:98:F0:A8:35:9E:0C:FD:27:AC:CC:ED
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "OISTE WISeKey Global Root GB CA"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\155\061\013\060\011\006\003\125\004\006\023\002\103\110\061
+\020\060\016\006\003\125\004\012\023\007\127\111\123\145\113\145
+\171\061\042\060\040\006\003\125\004\013\023\031\117\111\123\124
+\105\040\106\157\165\156\144\141\164\151\157\156\040\105\156\144
+\157\162\163\145\144\061\050\060\046\006\003\125\004\003\023\037
+\117\111\123\124\105\040\127\111\123\145\113\145\171\040\107\154
+\157\142\141\154\040\122\157\157\164\040\107\102\040\103\101
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\155\061\013\060\011\006\003\125\004\006\023\002\103\110\061
+\020\060\016\006\003\125\004\012\023\007\127\111\123\145\113\145
+\171\061\042\060\040\006\003\125\004\013\023\031\117\111\123\124
+\105\040\106\157\165\156\144\141\164\151\157\156\040\105\156\144
+\157\162\163\145\144\061\050\060\046\006\003\125\004\003\023\037
+\117\111\123\124\105\040\127\111\123\145\113\145\171\040\107\154
+\157\142\141\154\040\122\157\157\164\040\107\102\040\103\101
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\020\166\261\040\122\164\360\205\207\106\263\370\043\032\366
+\302\300
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\003\265\060\202\002\235\240\003\002\001\002\002\020\166
+\261\040\122\164\360\205\207\106\263\370\043\032\366\302\300\060
+\015\006\011\052\206\110\206\367\015\001\001\013\005\000\060\155
+\061\013\060\011\006\003\125\004\006\023\002\103\110\061\020\060
+\016\006\003\125\004\012\023\007\127\111\123\145\113\145\171\061
+\042\060\040\006\003\125\004\013\023\031\117\111\123\124\105\040
+\106\157\165\156\144\141\164\151\157\156\040\105\156\144\157\162
+\163\145\144\061\050\060\046\006\003\125\004\003\023\037\117\111
+\123\124\105\040\127\111\123\145\113\145\171\040\107\154\157\142
+\141\154\040\122\157\157\164\040\107\102\040\103\101\060\036\027
+\015\061\064\061\062\060\061\061\065\060\060\063\062\132\027\015
+\063\071\061\062\060\061\061\065\061\060\063\061\132\060\155\061
+\013\060\011\006\003\125\004\006\023\002\103\110\061\020\060\016
+\006\003\125\004\012\023\007\127\111\123\145\113\145\171\061\042
+\060\040\006\003\125\004\013\023\031\117\111\123\124\105\040\106
+\157\165\156\144\141\164\151\157\156\040\105\156\144\157\162\163
+\145\144\061\050\060\046\006\003\125\004\003\023\037\117\111\123
+\124\105\040\127\111\123\145\113\145\171\040\107\154\157\142\141
+\154\040\122\157\157\164\040\107\102\040\103\101\060\202\001\042
+\060\015\006\011\052\206\110\206\367\015\001\001\001\005\000\003
+\202\001\017\000\060\202\001\012\002\202\001\001\000\330\027\267
+\034\112\044\052\326\227\261\312\342\036\373\175\070\357\230\365
+\262\071\230\116\047\270\021\135\173\322\045\224\210\202\025\046
+\152\033\061\273\250\133\041\041\053\330\017\116\237\132\361\261
+\132\344\171\326\062\043\053\341\123\314\231\105\134\173\117\255
+\274\277\207\112\013\113\227\132\250\366\110\354\175\173\015\315
+\041\006\337\236\025\375\101\212\110\267\040\364\241\172\033\127
+\324\135\120\377\272\147\330\043\231\037\310\077\343\336\377\157
+\133\167\261\153\156\270\311\144\367\341\312\101\106\016\051\161
+\320\271\043\374\311\201\137\116\367\157\337\277\204\255\163\144
+\273\267\102\216\151\366\324\166\035\176\235\247\270\127\212\121
+\147\162\327\324\250\270\225\124\100\163\003\366\352\364\353\376
+\050\102\167\077\235\043\033\262\266\075\200\024\007\114\056\117
+\367\325\012\026\015\275\146\103\067\176\043\103\171\303\100\206
+\365\114\051\332\216\232\255\015\245\004\207\210\036\205\343\351
+\123\325\233\310\213\003\143\170\353\340\031\112\156\273\057\153
+\063\144\130\223\255\151\277\217\033\357\202\110\307\002\003\001
+\000\001\243\121\060\117\060\013\006\003\125\035\017\004\004\003
+\002\001\206\060\017\006\003\125\035\023\001\001\377\004\005\060
+\003\001\001\377\060\035\006\003\125\035\016\004\026\004\024\065
+\017\310\066\143\136\342\243\354\371\073\146\025\316\121\122\343
+\221\232\075\060\020\006\011\053\006\001\004\001\202\067\025\001
+\004\003\002\001\000\060\015\006\011\052\206\110\206\367\015\001
+\001\013\005\000\003\202\001\001\000\100\114\373\207\262\231\201
+\220\176\235\305\260\260\046\315\210\173\053\062\215\156\270\041
+\161\130\227\175\256\067\024\257\076\347\367\232\342\175\366\161
+\230\231\004\252\103\164\170\243\343\111\141\076\163\214\115\224
+\340\371\161\304\266\026\016\123\170\037\326\242\207\057\002\071
+\201\051\074\257\025\230\041\060\376\050\220\000\214\321\341\313
+\372\136\310\375\370\020\106\073\242\170\102\221\027\164\125\012
+\336\120\147\115\146\321\247\377\375\331\300\265\250\243\212\316
+\146\365\017\103\315\247\053\127\173\143\106\152\252\056\122\330
+\364\355\341\155\255\051\220\170\110\272\341\043\252\243\211\354
+\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
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
+
+# 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
+# Fingerprint (SHA1): 0F:F9:40:76:18:D3:D7:6A:4B:98:F0:A8:35:9E:0C:FD:27:AC:CC:ED
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "OISTE WISeKey Global Root GB CA"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\017\371\100\166\030\323\327\152\113\230\360\250\065\236\014\375
+\047\254\314\355
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\244\353\271\141\050\056\267\057\230\260\065\046\220\231\121\035
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\155\061\013\060\011\006\003\125\004\006\023\002\103\110\061
+\020\060\016\006\003\125\004\012\023\007\127\111\123\145\113\145
+\171\061\042\060\040\006\003\125\004\013\023\031\117\111\123\124
+\105\040\106\157\165\156\144\141\164\151\157\156\040\105\156\144
+\157\162\163\145\144\061\050\060\046\006\003\125\004\003\023\037
+\117\111\123\124\105\040\127\111\123\145\113\145\171\040\107\154
+\157\142\141\154\040\122\157\157\164\040\107\102\040\103\101
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\020\166\261\040\122\164\360\205\207\106\263\370\043\032\366
+\302\300
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "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
+# Fingerprint (SHA1): E2:52:FA:95:3F:ED:DB:24:60:BD:6E:28:F3:9C:CC:CF:5E:B3:3F:DE
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "SZAFIR ROOT CA2"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\121\061\013\060\011\006\003\125\004\006\023\002\120\114\061
+\050\060\046\006\003\125\004\012\014\037\113\162\141\152\157\167
+\141\040\111\172\142\141\040\122\157\172\154\151\143\172\145\156
+\151\157\167\141\040\123\056\101\056\061\030\060\026\006\003\125
+\004\003\014\017\123\132\101\106\111\122\040\122\117\117\124\040
+\103\101\062
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\121\061\013\060\011\006\003\125\004\006\023\002\120\114\061
+\050\060\046\006\003\125\004\012\014\037\113\162\141\152\157\167
+\141\040\111\172\142\141\040\122\157\172\154\151\143\172\145\156
+\151\157\167\141\040\123\056\101\056\061\030\060\026\006\003\125
+\004\003\014\017\123\132\101\106\111\122\040\122\117\117\124\040
+\103\101\062
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\024\076\212\135\007\354\125\322\062\325\267\343\266\137\001
+\353\055\334\344\326\344
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\003\162\060\202\002\132\240\003\002\001\002\002\024\076
+\212\135\007\354\125\322\062\325\267\343\266\137\001\353\055\334
+\344\326\344\060\015\006\011\052\206\110\206\367\015\001\001\013
+\005\000\060\121\061\013\060\011\006\003\125\004\006\023\002\120
+\114\061\050\060\046\006\003\125\004\012\014\037\113\162\141\152
+\157\167\141\040\111\172\142\141\040\122\157\172\154\151\143\172
+\145\156\151\157\167\141\040\123\056\101\056\061\030\060\026\006
+\003\125\004\003\014\017\123\132\101\106\111\122\040\122\117\117
+\124\040\103\101\062\060\036\027\015\061\065\061\060\061\071\060
+\067\064\063\063\060\132\027\015\063\065\061\060\061\071\060\067
+\064\063\063\060\132\060\121\061\013\060\011\006\003\125\004\006
+\023\002\120\114\061\050\060\046\006\003\125\004\012\014\037\113
+\162\141\152\157\167\141\040\111\172\142\141\040\122\157\172\154
+\151\143\172\145\156\151\157\167\141\040\123\056\101\056\061\030
+\060\026\006\003\125\004\003\014\017\123\132\101\106\111\122\040
+\122\117\117\124\040\103\101\062\060\202\001\042\060\015\006\011
+\052\206\110\206\367\015\001\001\001\005\000\003\202\001\017\000
+\060\202\001\012\002\202\001\001\000\267\274\076\120\250\113\315
+\100\265\316\141\347\226\312\264\241\332\014\042\260\372\265\173
+\166\000\167\214\013\317\175\250\206\314\046\121\344\040\075\205
+\014\326\130\343\347\364\052\030\235\332\321\256\046\356\353\123
+\334\364\220\326\023\112\014\220\074\303\364\332\322\216\015\222
+\072\334\261\261\377\070\336\303\272\055\137\200\271\002\275\112
+\235\033\017\264\303\302\301\147\003\335\334\033\234\075\263\260
+\336\000\036\250\064\107\273\232\353\376\013\024\275\066\204\332
+\015\040\277\372\133\313\251\026\040\255\071\140\356\057\165\266
+\347\227\234\371\076\375\176\115\157\115\057\357\210\015\152\372
+\335\361\075\156\040\245\240\022\264\115\160\271\316\327\162\073
+\211\223\247\200\204\034\047\111\162\111\265\377\073\225\236\301
+\314\310\001\354\350\016\212\012\226\347\263\246\207\345\326\371
+\005\053\015\227\100\160\074\272\254\165\132\234\325\115\235\002
+\012\322\113\233\146\113\106\007\027\145\255\237\154\210\000\334
+\042\211\340\341\144\324\147\274\061\171\141\074\273\312\101\315
+\134\152\000\310\074\070\216\130\257\002\003\001\000\001\243\102
+\060\100\060\017\006\003\125\035\023\001\001\377\004\005\060\003
+\001\001\377\060\016\006\003\125\035\017\001\001\377\004\004\003
+\002\001\006\060\035\006\003\125\035\016\004\026\004\024\056\026
+\251\112\030\265\313\314\365\157\120\363\043\137\370\135\347\254
+\360\310\060\015\006\011\052\206\110\206\367\015\001\001\013\005
+\000\003\202\001\001\000\265\163\370\003\334\131\133\035\166\351
+\243\052\173\220\050\262\115\300\063\117\252\232\261\324\270\344
+\047\377\251\226\231\316\106\340\155\174\114\242\070\244\006\160
+\360\364\101\021\354\077\107\215\077\162\207\371\073\375\244\157
+\053\123\000\340\377\071\271\152\007\016\353\035\034\366\242\162
+\220\313\202\075\021\202\213\322\273\237\052\257\041\346\143\206
+\235\171\031\357\367\273\014\065\220\303\212\355\117\017\365\314
+\022\331\244\076\273\240\374\040\225\137\117\046\057\021\043\203
+\116\165\007\017\277\233\321\264\035\351\020\004\376\312\140\217
+\242\114\270\255\317\341\220\017\315\256\012\307\135\173\267\120
+\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
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
+
+# 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
+# Fingerprint (SHA1): E2:52:FA:95:3F:ED:DB:24:60:BD:6E:28:F3:9C:CC:CF:5E:B3:3F:DE
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "SZAFIR ROOT CA2"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\342\122\372\225\077\355\333\044\140\275\156\050\363\234\314\317
+\136\263\077\336
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\021\144\301\211\260\044\261\214\261\007\176\211\236\121\236\231
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\121\061\013\060\011\006\003\125\004\006\023\002\120\114\061
+\050\060\046\006\003\125\004\012\014\037\113\162\141\152\157\167
+\141\040\111\172\142\141\040\122\157\172\154\151\143\172\145\156
+\151\157\167\141\040\123\056\101\056\061\030\060\026\006\003\125
+\004\003\014\017\123\132\101\106\111\122\040\122\117\117\124\040
+\103\101\062
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\024\076\212\135\007\354\125\322\062\325\267\343\266\137\001
+\353\055\334\344\326\344
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "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
+# Fingerprint (SHA1): D3:DD:48:3E:2B:BF:4C:05:E8:AF:10:F5:FA:76:26:CF:D3:DC:30:92
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Certum Trusted Network CA 2"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\201\200\061\013\060\011\006\003\125\004\006\023\002\120\114
+\061\042\060\040\006\003\125\004\012\023\031\125\156\151\172\145
+\164\157\040\124\145\143\150\156\157\154\157\147\151\145\163\040
+\123\056\101\056\061\047\060\045\006\003\125\004\013\023\036\103
+\145\162\164\165\155\040\103\145\162\164\151\146\151\143\141\164
+\151\157\156\040\101\165\164\150\157\162\151\164\171\061\044\060
+\042\006\003\125\004\003\023\033\103\145\162\164\165\155\040\124
+\162\165\163\164\145\144\040\116\145\164\167\157\162\153\040\103
+\101\040\062
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\201\200\061\013\060\011\006\003\125\004\006\023\002\120\114
+\061\042\060\040\006\003\125\004\012\023\031\125\156\151\172\145
+\164\157\040\124\145\143\150\156\157\154\157\147\151\145\163\040
+\123\056\101\056\061\047\060\045\006\003\125\004\013\023\036\103
+\145\162\164\165\155\040\103\145\162\164\151\146\151\143\141\164
+\151\157\156\040\101\165\164\150\157\162\151\164\171\061\044\060
+\042\006\003\125\004\003\023\033\103\145\162\164\165\155\040\124
+\162\165\163\164\145\144\040\116\145\164\167\157\162\153\040\103
+\101\040\062
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\020\041\326\320\112\117\045\017\311\062\067\374\252\136\022
+\215\351
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\005\322\060\202\003\272\240\003\002\001\002\002\020\041
+\326\320\112\117\045\017\311\062\067\374\252\136\022\215\351\060
+\015\006\011\052\206\110\206\367\015\001\001\015\005\000\060\201
+\200\061\013\060\011\006\003\125\004\006\023\002\120\114\061\042
+\060\040\006\003\125\004\012\023\031\125\156\151\172\145\164\157
+\040\124\145\143\150\156\157\154\157\147\151\145\163\040\123\056
+\101\056\061\047\060\045\006\003\125\004\013\023\036\103\145\162
+\164\165\155\040\103\145\162\164\151\146\151\143\141\164\151\157
+\156\040\101\165\164\150\157\162\151\164\171\061\044\060\042\006
+\003\125\004\003\023\033\103\145\162\164\165\155\040\124\162\165
+\163\164\145\144\040\116\145\164\167\157\162\153\040\103\101\040
+\062\060\042\030\017\062\060\061\061\061\060\060\066\060\070\063
+\071\065\066\132\030\017\062\060\064\066\061\060\060\066\060\070
+\063\071\065\066\132\060\201\200\061\013\060\011\006\003\125\004
+\006\023\002\120\114\061\042\060\040\006\003\125\004\012\023\031
+\125\156\151\172\145\164\157\040\124\145\143\150\156\157\154\157
+\147\151\145\163\040\123\056\101\056\061\047\060\045\006\003\125
+\004\013\023\036\103\145\162\164\165\155\040\103\145\162\164\151
+\146\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151
+\164\171\061\044\060\042\006\003\125\004\003\023\033\103\145\162
+\164\165\155\040\124\162\165\163\164\145\144\040\116\145\164\167
+\157\162\153\040\103\101\040\062\060\202\002\042\060\015\006\011
+\052\206\110\206\367\015\001\001\001\005\000\003\202\002\017\000
+\060\202\002\012\002\202\002\001\000\275\371\170\370\346\325\200
+\014\144\235\206\033\226\144\147\077\042\072\036\165\001\175\357
+\373\134\147\214\311\314\134\153\251\221\346\271\102\345\040\113
+\233\332\233\173\271\231\135\331\233\200\113\327\204\100\053\047
+\323\350\272\060\273\076\011\032\247\111\225\357\053\100\044\302
+\227\307\247\356\233\045\357\250\012\000\227\205\132\252\235\334
+\051\311\342\065\007\353\160\115\112\326\301\263\126\270\241\101
+\070\233\321\373\061\177\217\340\137\341\261\077\017\216\026\111
+\140\327\006\215\030\371\252\046\020\253\052\323\320\321\147\215
+\033\106\276\107\060\325\056\162\321\305\143\332\347\143\171\104
+\176\113\143\044\211\206\056\064\077\051\114\122\213\052\247\300
+\342\221\050\211\271\300\133\371\035\331\347\047\255\377\232\002
+\227\301\306\120\222\233\002\054\275\251\271\064\131\012\277\204
+\112\377\337\376\263\237\353\331\236\340\230\043\354\246\153\167
+\026\052\333\314\255\073\034\244\207\334\106\163\136\031\142\150
+\105\127\344\220\202\102\273\102\326\360\141\340\301\243\075\146
+\243\135\364\030\356\210\311\215\027\105\051\231\062\165\002\061
+\356\051\046\310\153\002\346\265\142\105\177\067\025\132\043\150
+\211\324\076\336\116\047\260\360\100\014\274\115\027\313\115\242
+\263\036\320\006\132\335\366\223\317\127\165\231\365\372\206\032
+\147\170\263\277\226\376\064\334\275\347\122\126\345\263\345\165
+\173\327\101\221\005\334\135\151\343\225\015\103\271\374\203\226
+\071\225\173\154\200\132\117\023\162\306\327\175\051\172\104\272
+\122\244\052\325\101\106\011\040\376\042\240\266\133\060\215\274
+\211\014\325\327\160\370\207\122\375\332\357\254\121\056\007\263
+\116\376\320\011\332\160\357\230\372\126\346\155\333\265\127\113
+\334\345\054\045\025\310\236\056\170\116\370\332\234\236\206\054
+\312\127\363\032\345\310\222\213\032\202\226\172\303\274\120\022
+\151\330\016\132\106\213\072\353\046\372\043\311\266\260\201\276
+\102\000\244\370\326\376\060\056\307\322\106\366\345\216\165\375
+\362\314\271\320\207\133\314\006\020\140\273\203\065\267\136\147
+\336\107\354\231\110\361\244\241\025\376\255\214\142\216\071\125
+\117\071\026\271\261\143\235\377\267\002\003\001\000\001\243\102
+\060\100\060\017\006\003\125\035\023\001\001\377\004\005\060\003
+\001\001\377\060\035\006\003\125\035\016\004\026\004\024\266\241
+\124\071\002\303\240\077\216\212\274\372\324\370\034\246\321\072
+\016\375\060\016\006\003\125\035\017\001\001\377\004\004\003\002
+\001\006\060\015\006\011\052\206\110\206\367\015\001\001\015\005
+\000\003\202\002\001\000\161\245\016\316\344\351\277\077\070\325
+\211\132\304\002\141\373\114\305\024\027\055\213\117\123\153\020
+\027\374\145\204\307\020\111\220\336\333\307\046\223\210\046\157
+\160\326\002\136\071\240\367\217\253\226\265\245\023\134\201\024
+\155\016\201\202\021\033\212\116\306\117\245\335\142\036\104\337
+\011\131\364\133\167\013\067\351\213\040\306\370\012\116\056\130
+\034\353\063\320\317\206\140\311\332\373\200\057\236\114\140\204
+\170\075\041\144\326\373\101\037\030\017\347\311\165\161\275\275
+\134\336\064\207\076\101\260\016\366\271\326\077\011\023\226\024
+\057\336\232\035\132\271\126\316\065\072\260\137\160\115\136\343
+\051\361\043\050\162\131\266\253\302\214\146\046\034\167\054\046
+\166\065\213\050\247\151\240\371\073\365\043\335\205\020\164\311
+\220\003\126\221\347\257\272\107\324\022\227\021\042\343\242\111
+\224\154\347\267\224\113\272\055\244\332\063\213\114\246\104\377
+\132\074\306\035\144\330\265\061\344\246\074\172\250\127\013\333
+\355\141\032\313\361\316\163\167\143\244\207\157\114\121\070\326
+\344\137\307\237\266\201\052\344\205\110\171\130\136\073\370\333
+\002\202\147\301\071\333\303\164\113\075\066\036\371\051\223\210
+\150\133\250\104\031\041\360\247\350\201\015\054\350\223\066\264
+\067\262\312\260\033\046\172\232\045\037\232\232\200\236\113\052
+\077\373\243\232\376\163\062\161\302\236\306\162\341\212\150\047
+\361\344\017\264\304\114\245\141\223\370\227\020\007\052\060\045
+\251\271\310\161\270\357\150\314\055\176\365\340\176\017\202\250
+\157\266\272\154\203\103\167\315\212\222\027\241\236\133\170\026
+\075\105\342\063\162\335\341\146\312\231\323\311\305\046\375\015
+\150\004\106\256\266\331\233\214\276\031\276\261\306\362\031\343
+\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
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
+
+# 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
+# Fingerprint (SHA1): D3:DD:48:3E:2B:BF:4C:05:E8:AF:10:F5:FA:76:26:CF:D3:DC:30:92
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Certum Trusted Network CA 2"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\323\335\110\076\053\277\114\005\350\257\020\365\372\166\046\317
+\323\334\060\222
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\155\106\236\331\045\155\010\043\133\136\164\175\036\047\333\362
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\201\200\061\013\060\011\006\003\125\004\006\023\002\120\114
+\061\042\060\040\006\003\125\004\012\023\031\125\156\151\172\145
+\164\157\040\124\145\143\150\156\157\154\157\147\151\145\163\040
+\123\056\101\056\061\047\060\045\006\003\125\004\013\023\036\103
+\145\162\164\165\155\040\103\145\162\164\151\146\151\143\141\164
+\151\157\156\040\101\165\164\150\157\162\151\164\171\061\044\060
+\042\006\003\125\004\003\023\033\103\145\162\164\165\155\040\124
+\162\165\163\164\145\144\040\116\145\164\167\157\162\153\040\103
+\101\040\062
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\020\041\326\320\112\117\045\017\311\062\067\374\252\136\022
+\215\351
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "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
+# Fingerprint (SHA1): 01:0C:06:95:A6:98:19:14:FF:BF:5F:C6:B0:B6:95:EA:29:E9:12:A6
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Hellenic Academic and Research Institutions RootCA 2015"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\201\246\061\013\060\011\006\003\125\004\006\023\002\107\122
+\061\017\060\015\006\003\125\004\007\023\006\101\164\150\145\156
+\163\061\104\060\102\006\003\125\004\012\023\073\110\145\154\154
+\145\156\151\143\040\101\143\141\144\145\155\151\143\040\141\156
+\144\040\122\145\163\145\141\162\143\150\040\111\156\163\164\151
+\164\165\164\151\157\156\163\040\103\145\162\164\056\040\101\165
+\164\150\157\162\151\164\171\061\100\060\076\006\003\125\004\003
+\023\067\110\145\154\154\145\156\151\143\040\101\143\141\144\145
+\155\151\143\040\141\156\144\040\122\145\163\145\141\162\143\150
+\040\111\156\163\164\151\164\165\164\151\157\156\163\040\122\157
+\157\164\103\101\040\062\060\061\065
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\201\246\061\013\060\011\006\003\125\004\006\023\002\107\122
+\061\017\060\015\006\003\125\004\007\023\006\101\164\150\145\156
+\163\061\104\060\102\006\003\125\004\012\023\073\110\145\154\154
+\145\156\151\143\040\101\143\141\144\145\155\151\143\040\141\156
+\144\040\122\145\163\145\141\162\143\150\040\111\156\163\164\151
+\164\165\164\151\157\156\163\040\103\145\162\164\056\040\101\165
+\164\150\157\162\151\164\171\061\100\060\076\006\003\125\004\003
+\023\067\110\145\154\154\145\156\151\143\040\101\143\141\144\145
+\155\151\143\040\141\156\144\040\122\145\163\145\141\162\143\150
+\040\111\156\163\164\151\164\165\164\151\157\156\163\040\122\157
+\157\164\103\101\040\062\060\061\065
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\001\000
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\006\013\060\202\003\363\240\003\002\001\002\002\001\000
+\060\015\006\011\052\206\110\206\367\015\001\001\013\005\000\060
+\201\246\061\013\060\011\006\003\125\004\006\023\002\107\122\061
+\017\060\015\006\003\125\004\007\023\006\101\164\150\145\156\163
+\061\104\060\102\006\003\125\004\012\023\073\110\145\154\154\145
+\156\151\143\040\101\143\141\144\145\155\151\143\040\141\156\144
+\040\122\145\163\145\141\162\143\150\040\111\156\163\164\151\164
+\165\164\151\157\156\163\040\103\145\162\164\056\040\101\165\164
+\150\157\162\151\164\171\061\100\060\076\006\003\125\004\003\023
+\067\110\145\154\154\145\156\151\143\040\101\143\141\144\145\155
+\151\143\040\141\156\144\040\122\145\163\145\141\162\143\150\040
+\111\156\163\164\151\164\165\164\151\157\156\163\040\122\157\157
+\164\103\101\040\062\060\061\065\060\036\027\015\061\065\060\067
+\060\067\061\060\061\061\062\061\132\027\015\064\060\060\066\063
+\060\061\060\061\061\062\061\132\060\201\246\061\013\060\011\006
+\003\125\004\006\023\002\107\122\061\017\060\015\006\003\125\004
+\007\023\006\101\164\150\145\156\163\061\104\060\102\006\003\125
+\004\012\023\073\110\145\154\154\145\156\151\143\040\101\143\141
+\144\145\155\151\143\040\141\156\144\040\122\145\163\145\141\162
+\143\150\040\111\156\163\164\151\164\165\164\151\157\156\163\040
+\103\145\162\164\056\040\101\165\164\150\157\162\151\164\171\061
+\100\060\076\006\003\125\004\003\023\067\110\145\154\154\145\156
+\151\143\040\101\143\141\144\145\155\151\143\040\141\156\144\040
+\122\145\163\145\141\162\143\150\040\111\156\163\164\151\164\165
+\164\151\157\156\163\040\122\157\157\164\103\101\040\062\060\061
+\065\060\202\002\042\060\015\006\011\052\206\110\206\367\015\001
+\001\001\005\000\003\202\002\017\000\060\202\002\012\002\202\002
+\001\000\302\370\251\077\033\211\374\074\074\004\135\075\220\066
+\260\221\072\171\074\146\132\357\155\071\001\111\032\264\267\317
+\177\115\043\123\267\220\000\343\023\052\050\246\061\361\221\000
+\343\050\354\256\041\101\316\037\332\375\175\022\133\001\203\017
+\271\260\137\231\341\362\022\203\200\115\006\076\337\254\257\347
+\241\210\153\061\257\360\213\320\030\063\270\333\105\152\064\364
+\002\200\044\050\012\002\025\225\136\166\052\015\231\072\024\133
+\366\313\313\123\274\023\115\001\210\067\224\045\033\102\274\042
+\330\216\243\226\136\072\331\062\333\076\350\360\020\145\355\164
+\341\057\247\174\257\047\064\273\051\175\233\266\317\011\310\345
+\323\012\374\210\145\145\164\012\334\163\034\134\315\100\261\034
+\324\266\204\214\114\120\317\150\216\250\131\256\302\047\116\202
+\242\065\335\024\364\037\377\262\167\325\207\057\252\156\175\044
+\047\347\306\313\046\346\345\376\147\007\143\330\105\015\335\072
+\131\145\071\130\172\222\231\162\075\234\204\136\210\041\270\325
+\364\054\374\331\160\122\117\170\270\275\074\053\213\225\230\365
+\263\321\150\317\040\024\176\114\134\137\347\213\345\365\065\201
+\031\067\327\021\010\267\146\276\323\112\316\203\127\000\072\303
+\201\370\027\313\222\066\135\321\243\330\165\033\341\213\047\352
+\172\110\101\375\105\031\006\255\047\231\116\301\160\107\335\265
+\237\201\123\022\345\261\214\110\135\061\103\027\343\214\306\172
+\143\226\113\051\060\116\204\116\142\031\136\074\316\227\220\245
+\177\001\353\235\340\370\213\211\335\045\230\075\222\266\176\357
+\331\361\121\121\175\055\046\310\151\131\141\340\254\152\270\052
+\066\021\004\172\120\275\062\204\276\057\334\162\325\327\035\026
+\107\344\107\146\040\077\364\226\305\257\216\001\172\245\017\172
+\144\365\015\030\207\331\256\210\325\372\204\301\072\300\151\050
+\055\362\015\150\121\252\343\245\167\306\244\220\016\241\067\213
+\061\043\107\301\011\010\353\156\367\170\233\327\202\374\204\040
+\231\111\031\266\022\106\261\373\105\125\026\251\243\145\254\234
+\007\017\352\153\334\037\056\006\162\354\206\210\022\344\055\333
+\137\005\057\344\360\003\323\046\063\347\200\302\315\102\241\027
+\064\013\002\003\001\000\001\243\102\060\100\060\017\006\003\125
+\035\023\001\001\377\004\005\060\003\001\001\377\060\016\006\003
+\125\035\017\001\001\377\004\004\003\002\001\006\060\035\006\003
+\125\035\016\004\026\004\024\161\025\147\310\310\311\275\165\135
+\162\320\070\030\152\235\363\161\044\124\013\060\015\006\011\052
+\206\110\206\367\015\001\001\013\005\000\003\202\002\001\000\165
+\273\155\124\113\252\020\130\106\064\362\142\327\026\066\135\010
+\136\325\154\310\207\275\264\056\106\362\061\370\174\352\102\265
+\223\026\125\334\241\014\022\240\332\141\176\017\130\130\163\144
+\162\307\350\105\216\334\251\362\046\077\306\171\214\261\123\010
+\063\201\260\126\023\276\346\121\134\330\233\012\117\113\234\126
+\123\002\351\117\366\015\140\352\115\102\125\350\174\033\041\041
+\323\033\072\314\167\362\270\220\361\150\307\371\132\376\372\055
+\364\277\311\365\105\033\316\070\020\052\067\212\171\243\264\343
+\011\154\205\206\223\377\211\226\047\170\201\217\147\343\106\164
+\124\216\331\015\151\342\112\364\115\164\003\377\262\167\355\225
+\147\227\344\261\305\253\277\152\043\350\324\224\342\104\050\142
+\304\113\342\360\330\342\051\153\032\160\176\044\141\223\173\117
+\003\062\045\015\105\044\053\226\264\106\152\277\112\013\367\232
+\217\301\254\032\305\147\363\157\064\322\372\163\143\214\357\026
+\260\250\244\106\052\370\353\022\354\162\264\357\370\053\176\214
+\122\300\213\204\124\371\057\076\343\125\250\334\146\261\331\341
+\137\330\263\214\131\064\131\244\253\117\154\273\037\030\333\165
+\253\330\313\222\315\224\070\141\016\007\006\037\113\106\020\361
+\025\276\215\205\134\073\112\053\201\171\017\264\151\237\111\120
+\227\115\367\016\126\135\300\225\152\302\066\303\033\150\311\365
+\052\334\107\232\276\262\316\305\045\350\372\003\271\332\371\026
+\156\221\204\365\034\050\310\374\046\314\327\034\220\126\247\137
+\157\072\004\274\315\170\211\013\216\017\057\243\252\117\242\033
+\022\075\026\010\100\017\361\106\114\327\252\173\010\301\012\365
+\155\047\336\002\217\312\303\265\053\312\351\353\310\041\123\070
+\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
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
+
+# 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
+# Fingerprint (SHA1): 01:0C:06:95:A6:98:19:14:FF:BF:5F:C6:B0:B6:95:EA:29:E9:12:A6
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Hellenic Academic and Research Institutions RootCA 2015"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\001\014\006\225\246\230\031\024\377\277\137\306\260\266\225\352
+\051\351\022\246
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\312\377\342\333\003\331\313\113\351\017\255\204\375\173\030\316
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\201\246\061\013\060\011\006\003\125\004\006\023\002\107\122
+\061\017\060\015\006\003\125\004\007\023\006\101\164\150\145\156
+\163\061\104\060\102\006\003\125\004\012\023\073\110\145\154\154
+\145\156\151\143\040\101\143\141\144\145\155\151\143\040\141\156
+\144\040\122\145\163\145\141\162\143\150\040\111\156\163\164\151
+\164\165\164\151\157\156\163\040\103\145\162\164\056\040\101\165
+\164\150\157\162\151\164\171\061\100\060\076\006\003\125\004\003
+\023\067\110\145\154\154\145\156\151\143\040\101\143\141\144\145
+\155\151\143\040\141\156\144\040\122\145\163\145\141\162\143\150
+\040\111\156\163\164\151\164\165\164\151\157\156\163\040\122\157
+\157\164\103\101\040\062\060\061\065
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\001\000
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "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
+# Fingerprint (SHA1): 9F:F1:71:8D:92:D5:9A:F3:7D:74:97:B4:BC:6F:84:68:0B:BA:B6:66
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Hellenic Academic and Research Institutions ECC RootCA 2015"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\201\252\061\013\060\011\006\003\125\004\006\023\002\107\122
+\061\017\060\015\006\003\125\004\007\023\006\101\164\150\145\156
+\163\061\104\060\102\006\003\125\004\012\023\073\110\145\154\154
+\145\156\151\143\040\101\143\141\144\145\155\151\143\040\141\156
+\144\040\122\145\163\145\141\162\143\150\040\111\156\163\164\151
+\164\165\164\151\157\156\163\040\103\145\162\164\056\040\101\165
+\164\150\157\162\151\164\171\061\104\060\102\006\003\125\004\003
+\023\073\110\145\154\154\145\156\151\143\040\101\143\141\144\145
+\155\151\143\040\141\156\144\040\122\145\163\145\141\162\143\150
+\040\111\156\163\164\151\164\165\164\151\157\156\163\040\105\103
+\103\040\122\157\157\164\103\101\040\062\060\061\065
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\201\252\061\013\060\011\006\003\125\004\006\023\002\107\122
+\061\017\060\015\006\003\125\004\007\023\006\101\164\150\145\156
+\163\061\104\060\102\006\003\125\004\012\023\073\110\145\154\154
+\145\156\151\143\040\101\143\141\144\145\155\151\143\040\141\156
+\144\040\122\145\163\145\141\162\143\150\040\111\156\163\164\151
+\164\165\164\151\157\156\163\040\103\145\162\164\056\040\101\165
+\164\150\157\162\151\164\171\061\104\060\102\006\003\125\004\003
+\023\073\110\145\154\154\145\156\151\143\040\101\143\141\144\145
+\155\151\143\040\141\156\144\040\122\145\163\145\141\162\143\150
+\040\111\156\163\164\151\164\165\164\151\157\156\163\040\105\103
+\103\040\122\157\157\164\103\101\040\062\060\061\065
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\001\000
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\002\303\060\202\002\112\240\003\002\001\002\002\001\000
+\060\012\006\010\052\206\110\316\075\004\003\002\060\201\252\061
+\013\060\011\006\003\125\004\006\023\002\107\122\061\017\060\015
+\006\003\125\004\007\023\006\101\164\150\145\156\163\061\104\060
+\102\006\003\125\004\012\023\073\110\145\154\154\145\156\151\143
+\040\101\143\141\144\145\155\151\143\040\141\156\144\040\122\145
+\163\145\141\162\143\150\040\111\156\163\164\151\164\165\164\151
+\157\156\163\040\103\145\162\164\056\040\101\165\164\150\157\162
+\151\164\171\061\104\060\102\006\003\125\004\003\023\073\110\145
+\154\154\145\156\151\143\040\101\143\141\144\145\155\151\143\040
+\141\156\144\040\122\145\163\145\141\162\143\150\040\111\156\163
+\164\151\164\165\164\151\157\156\163\040\105\103\103\040\122\157
+\157\164\103\101\040\062\060\061\065\060\036\027\015\061\065\060
+\067\060\067\061\060\063\067\061\062\132\027\015\064\060\060\066
+\063\060\061\060\063\067\061\062\132\060\201\252\061\013\060\011
+\006\003\125\004\006\023\002\107\122\061\017\060\015\006\003\125
+\004\007\023\006\101\164\150\145\156\163\061\104\060\102\006\003
+\125\004\012\023\073\110\145\154\154\145\156\151\143\040\101\143
+\141\144\145\155\151\143\040\141\156\144\040\122\145\163\145\141
+\162\143\150\040\111\156\163\164\151\164\165\164\151\157\156\163
+\040\103\145\162\164\056\040\101\165\164\150\157\162\151\164\171
+\061\104\060\102\006\003\125\004\003\023\073\110\145\154\154\145
+\156\151\143\040\101\143\141\144\145\155\151\143\040\141\156\144
+\040\122\145\163\145\141\162\143\150\040\111\156\163\164\151\164
+\165\164\151\157\156\163\040\105\103\103\040\122\157\157\164\103
+\101\040\062\060\061\065\060\166\060\020\006\007\052\206\110\316
+\075\002\001\006\005\053\201\004\000\042\003\142\000\004\222\240
+\101\350\113\202\204\134\342\370\061\021\231\206\144\116\011\045
+\057\235\101\057\012\256\065\117\164\225\262\121\144\153\215\153
+\346\077\160\225\360\005\104\107\246\162\070\120\166\225\002\132
+\216\256\050\236\371\055\116\231\357\054\110\157\114\045\051\350
+\321\161\133\337\035\301\165\067\264\327\372\173\172\102\234\152
+\012\126\132\174\151\013\252\200\011\044\154\176\301\106\243\102
+\060\100\060\017\006\003\125\035\023\001\001\377\004\005\060\003
+\001\001\377\060\016\006\003\125\035\017\001\001\377\004\004\003
+\002\001\006\060\035\006\003\125\035\016\004\026\004\024\264\042
+\013\202\231\044\001\016\234\273\344\016\375\277\373\227\040\223
+\231\052\060\012\006\010\052\206\110\316\075\004\003\002\003\147
+\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
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
+
+# 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
+# Fingerprint (SHA1): 9F:F1:71:8D:92:D5:9A:F3:7D:74:97:B4:BC:6F:84:68:0B:BA:B6:66
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Hellenic Academic and Research Institutions ECC RootCA 2015"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\237\361\161\215\222\325\232\363\175\164\227\264\274\157\204\150
+\013\272\266\146
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\201\345\264\027\353\302\365\341\113\015\101\173\111\222\376\357
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\201\252\061\013\060\011\006\003\125\004\006\023\002\107\122
+\061\017\060\015\006\003\125\004\007\023\006\101\164\150\145\156
+\163\061\104\060\102\006\003\125\004\012\023\073\110\145\154\154
+\145\156\151\143\040\101\143\141\144\145\155\151\143\040\141\156
+\144\040\122\145\163\145\141\162\143\150\040\111\156\163\164\151
+\164\165\164\151\157\156\163\040\103\145\162\164\056\040\101\165
+\164\150\157\162\151\164\171\061\104\060\102\006\003\125\004\003
+\023\073\110\145\154\154\145\156\151\143\040\101\143\141\144\145
+\155\151\143\040\141\156\144\040\122\145\163\145\141\162\143\150
+\040\111\156\163\164\151\164\165\164\151\157\156\163\040\105\103
+\103\040\122\157\157\164\103\101\040\062\060\061\065
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\001\000
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "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
+# Fingerprint (SHA1): CA:BD:2A:79:A1:07:6A:31:F2:1D:25:36:35:CB:03:9D:43:29:A5:E8
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "ISRG Root X1"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\117\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\051\060\047\006\003\125\004\012\023\040\111\156\164\145\162\156
+\145\164\040\123\145\143\165\162\151\164\171\040\122\145\163\145
+\141\162\143\150\040\107\162\157\165\160\061\025\060\023\006\003
+\125\004\003\023\014\111\123\122\107\040\122\157\157\164\040\130
+\061
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\117\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\051\060\047\006\003\125\004\012\023\040\111\156\164\145\162\156
+\145\164\040\123\145\143\165\162\151\164\171\040\122\145\163\145
+\141\162\143\150\040\107\162\157\165\160\061\025\060\023\006\003
+\125\004\003\023\014\111\123\122\107\040\122\157\157\164\040\130
+\061
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\021\000\202\020\317\260\322\100\343\131\104\143\340\273\143
+\202\213\000
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\005\153\060\202\003\123\240\003\002\001\002\002\021\000
+\202\020\317\260\322\100\343\131\104\143\340\273\143\202\213\000
+\060\015\006\011\052\206\110\206\367\015\001\001\013\005\000\060
+\117\061\013\060\011\006\003\125\004\006\023\002\125\123\061\051
+\060\047\006\003\125\004\012\023\040\111\156\164\145\162\156\145
+\164\040\123\145\143\165\162\151\164\171\040\122\145\163\145\141
+\162\143\150\040\107\162\157\165\160\061\025\060\023\006\003\125
+\004\003\023\014\111\123\122\107\040\122\157\157\164\040\130\061
+\060\036\027\015\061\065\060\066\060\064\061\061\060\064\063\070
+\132\027\015\063\065\060\066\060\064\061\061\060\064\063\070\132
+\060\117\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\051\060\047\006\003\125\004\012\023\040\111\156\164\145\162\156
+\145\164\040\123\145\143\165\162\151\164\171\040\122\145\163\145
+\141\162\143\150\040\107\162\157\165\160\061\025\060\023\006\003
+\125\004\003\023\014\111\123\122\107\040\122\157\157\164\040\130
+\061\060\202\002\042\060\015\006\011\052\206\110\206\367\015\001
+\001\001\005\000\003\202\002\017\000\060\202\002\012\002\202\002
+\001\000\255\350\044\163\364\024\067\363\233\236\053\127\050\034
+\207\276\334\267\337\070\220\214\156\074\346\127\240\170\367\165
+\302\242\376\365\152\156\366\000\117\050\333\336\150\206\154\104
+\223\266\261\143\375\024\022\153\277\037\322\352\061\233\041\176
+\321\063\074\272\110\365\335\171\337\263\270\377\022\361\041\232
+\113\301\212\206\161\151\112\146\146\154\217\176\074\160\277\255
+\051\042\006\363\344\300\346\200\256\342\113\217\267\231\176\224
+\003\237\323\107\227\174\231\110\043\123\350\070\256\117\012\157
+\203\056\321\111\127\214\200\164\266\332\057\320\070\215\173\003
+\160\041\033\165\362\060\074\372\217\256\335\332\143\253\353\026
+\117\302\216\021\113\176\317\013\350\377\265\167\056\364\262\173
+\112\340\114\022\045\014\160\215\003\051\240\341\123\044\354\023
+\331\356\031\277\020\263\112\214\077\211\243\141\121\336\254\207
+\007\224\364\143\161\354\056\342\157\133\230\201\341\211\134\064
+\171\154\166\357\073\220\142\171\346\333\244\232\057\046\305\320
+\020\341\016\336\331\020\216\026\373\267\367\250\367\307\345\002
+\007\230\217\066\010\225\347\342\067\226\015\066\165\236\373\016
+\162\261\035\233\274\003\371\111\005\330\201\335\005\264\052\326
+\101\351\254\001\166\225\012\017\330\337\325\275\022\037\065\057
+\050\027\154\322\230\301\250\011\144\167\156\107\067\272\316\254
+\131\136\150\235\177\162\326\211\305\006\101\051\076\131\076\335
+\046\365\044\311\021\247\132\243\114\100\037\106\241\231\265\247
+\072\121\156\206\073\236\175\162\247\022\005\170\131\355\076\121
+\170\025\013\003\217\215\320\057\005\262\076\173\112\034\113\163
+\005\022\374\306\352\340\120\023\174\103\223\164\263\312\164\347
+\216\037\001\010\320\060\324\133\161\066\264\007\272\301\060\060
+\134\110\267\202\073\230\246\175\140\212\242\243\051\202\314\272
+\275\203\004\033\242\203\003\101\241\326\005\361\033\302\266\360
+\250\174\206\073\106\250\110\052\210\334\166\232\166\277\037\152
+\245\075\031\217\353\070\363\144\336\310\053\015\012\050\377\367
+\333\342\025\102\324\042\320\047\135\341\171\376\030\347\160\210
+\255\116\346\331\213\072\306\335\047\121\156\377\274\144\365\063
+\103\117\002\003\001\000\001\243\102\060\100\060\016\006\003\125
+\035\017\001\001\377\004\004\003\002\001\006\060\017\006\003\125
+\035\023\001\001\377\004\005\060\003\001\001\377\060\035\006\003
+\125\035\016\004\026\004\024\171\264\131\346\173\266\345\344\001
+\163\200\010\210\310\032\130\366\351\233\156\060\015\006\011\052
+\206\110\206\367\015\001\001\013\005\000\003\202\002\001\000\125
+\037\130\251\274\262\250\120\320\014\261\330\032\151\040\047\051
+\010\254\141\165\134\212\156\370\202\345\151\057\325\366\126\113
+\271\270\163\020\131\323\041\227\176\347\114\161\373\262\322\140
+\255\071\250\013\352\027\041\126\205\361\120\016\131\353\316\340
+\131\351\272\311\025\357\206\235\217\204\200\366\344\351\221\220
+\334\027\233\142\033\105\360\146\225\322\174\157\302\352\073\357
+\037\317\313\326\256\047\361\251\260\310\256\375\175\176\232\372
+\042\004\353\377\331\177\352\221\053\042\261\027\016\217\362\212
+\064\133\130\330\374\001\311\124\271\270\046\314\212\210\063\211
+\114\055\204\074\202\337\356\226\127\005\272\054\273\367\304\267
+\307\116\073\202\276\061\310\042\163\163\222\321\302\200\244\071
+\071\020\063\043\202\114\074\237\206\262\125\230\035\276\051\206
+\214\042\233\236\342\153\073\127\072\202\160\115\334\011\307\211
+\313\012\007\115\154\350\135\216\311\357\316\253\307\273\265\053
+\116\105\326\112\320\046\314\345\162\312\010\152\245\225\343\025
+\241\367\244\355\311\054\137\245\373\377\254\050\002\056\276\327
+\173\273\343\161\173\220\026\323\007\136\106\123\174\067\007\102
+\214\323\304\226\234\325\231\265\052\340\225\032\200\110\256\114
+\071\007\316\314\107\244\122\225\053\272\270\373\255\322\063\123
+\175\345\035\115\155\325\241\261\307\102\157\346\100\047\065\134
+\243\050\267\007\215\347\215\063\220\347\043\237\373\120\234\171
+\154\106\325\264\025\263\226\156\176\233\014\226\072\270\122\055
+\077\326\133\341\373\010\302\204\376\044\250\243\211\332\254\152
+\341\030\052\261\250\103\141\133\323\037\334\073\215\166\362\055
+\350\215\165\337\027\063\154\075\123\373\173\313\101\137\377\334
+\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
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
+
+# 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
+# Fingerprint (SHA1): CA:BD:2A:79:A1:07:6A:31:F2:1D:25:36:35:CB:03:9D:43:29:A5:E8
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "ISRG Root X1"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\312\275\052\171\241\007\152\061\362\035\045\066\065\313\003\235
+\103\051\245\350
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\014\322\371\340\332\027\163\351\355\206\115\245\343\160\347\116
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\117\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\051\060\047\006\003\125\004\012\023\040\111\156\164\145\162\156
+\145\164\040\123\145\143\165\162\151\164\171\040\122\145\163\145
+\141\162\143\150\040\107\162\157\165\160\061\025\060\023\006\003
+\125\004\003\023\014\111\123\122\107\040\122\157\157\164\040\130
+\061
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\001\002
+\002\021\000\202\020\317\260\322\100\343\131\104\143\340\273\143
+\202\213\000
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "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
+# Fingerprint (SHA1): EC:50:35:07:B2:15:C4:95:62:19:E2:A8:9A:5B:42:99:2C:4C:2C:20
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "AC RAIZ FNMT-RCM"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\073\061\013\060\011\006\003\125\004\006\023\002\105\123\061
+\021\060\017\006\003\125\004\012\014\010\106\116\115\124\055\122
+\103\115\061\031\060\027\006\003\125\004\013\014\020\101\103\040
+\122\101\111\132\040\106\116\115\124\055\122\103\115
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\073\061\013\060\011\006\003\125\004\006\023\002\105\123\061
+\021\060\017\006\003\125\004\012\014\010\106\116\115\124\055\122
+\103\115\061\031\060\027\006\003\125\004\013\014\020\101\103\040
+\122\101\111\132\040\106\116\115\124\055\122\103\115
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\017\135\223\215\060\147\066\310\006\035\032\307\124\204\151
+\007
 END
 CKA_VALUE MULTILINE_OCTAL
-\060\202\005\131\060\202\003\101\240\003\002\001\002\002\001\002
-\060\015\006\011\052\206\110\206\367\015\001\001\013\005\000\060
-\116\061\013\060\011\006\003\125\004\006\023\002\116\117\061\035
-\060\033\006\003\125\004\012\014\024\102\165\171\160\141\163\163
-\040\101\123\055\071\070\063\061\066\063\063\062\067\061\040\060
-\036\006\003\125\004\003\014\027\102\165\171\160\141\163\163\040
-\103\154\141\163\163\040\062\040\122\157\157\164\040\103\101\060
-\036\027\015\061\060\061\060\062\066\060\070\063\070\060\063\132
-\027\015\064\060\061\060\062\066\060\070\063\070\060\063\132\060
-\116\061\013\060\011\006\003\125\004\006\023\002\116\117\061\035
-\060\033\006\003\125\004\012\014\024\102\165\171\160\141\163\163
-\040\101\123\055\071\070\063\061\066\063\063\062\067\061\040\060
-\036\006\003\125\004\003\014\027\102\165\171\160\141\163\163\040
-\103\154\141\163\163\040\062\040\122\157\157\164\040\103\101\060
-\202\002\042\060\015\006\011\052\206\110\206\367\015\001\001\001
-\005\000\003\202\002\017\000\060\202\002\012\002\202\002\001\000
-\327\307\136\367\301\007\324\167\373\103\041\364\364\365\151\344
-\356\062\001\333\243\206\037\344\131\015\272\347\165\203\122\353
-\352\034\141\025\110\273\035\007\312\214\256\260\334\226\235\352
-\303\140\222\206\202\050\163\234\126\006\377\113\144\360\014\052
-\067\111\265\345\317\014\174\356\361\112\273\163\060\145\363\325
-\057\203\266\176\343\347\365\236\253\140\371\323\361\235\222\164
-\212\344\034\226\254\133\200\351\265\364\061\207\243\121\374\307
-\176\241\157\216\123\167\324\227\301\125\063\222\076\030\057\165
-\324\255\206\111\313\225\257\124\006\154\330\006\023\215\133\377
-\341\046\031\131\300\044\272\201\161\171\220\104\120\150\044\224
-\137\270\263\021\361\051\101\141\243\101\313\043\066\325\301\361
-\062\120\020\116\177\364\206\223\354\204\323\216\274\113\277\134
-\001\116\007\075\334\024\212\224\012\244\352\163\373\013\121\350
-\023\007\030\372\016\361\053\321\124\025\175\074\341\367\264\031
-\102\147\142\136\167\340\242\125\354\266\331\151\027\325\072\257
-\104\355\112\305\236\344\172\047\174\345\165\327\252\313\045\347
-\337\153\012\333\017\115\223\116\250\240\315\173\056\362\131\001
-\152\267\015\270\007\201\176\213\070\033\070\346\012\127\231\075
-\356\041\350\243\365\014\026\335\213\354\064\216\234\052\034\000
-\025\027\215\150\203\322\160\237\030\010\315\021\150\325\311\153
-\122\315\304\106\217\334\265\363\330\127\163\036\351\224\071\004
-\277\323\336\070\336\264\123\354\151\034\242\176\304\217\344\033
-\160\255\362\242\371\373\367\026\144\146\151\237\111\121\242\342
-\025\030\147\006\112\177\325\154\265\115\263\063\340\141\353\135
-\276\351\230\017\062\327\035\113\074\056\132\001\122\221\011\362
-\337\352\215\330\006\100\143\252\021\344\376\303\067\236\024\122
-\077\364\342\314\362\141\223\321\375\147\153\327\122\256\277\150
-\253\100\103\240\127\065\123\170\360\123\370\141\102\007\144\306
-\327\157\233\114\070\015\143\254\142\257\066\213\242\163\012\015
-\365\041\275\164\252\115\352\162\003\111\333\307\137\035\142\143
-\307\375\335\221\354\063\356\365\155\264\156\060\150\336\310\326
-\046\260\165\136\173\264\007\040\230\241\166\062\270\115\154\117
-\002\003\001\000\001\243\102\060\100\060\017\006\003\125\035\023
-\001\001\377\004\005\060\003\001\001\377\060\035\006\003\125\035
-\016\004\026\004\024\311\200\167\340\142\222\202\365\106\234\363
-\272\367\114\303\336\270\243\255\071\060\016\006\003\125\035\017
-\001\001\377\004\004\003\002\001\006\060\015\006\011\052\206\110
-\206\367\015\001\001\013\005\000\003\202\002\001\000\123\137\041
-\365\272\260\072\122\071\054\222\260\154\000\311\357\316\040\357
-\006\362\226\236\351\244\164\177\172\026\374\267\365\266\373\025
-\033\077\253\246\300\162\135\020\261\161\356\274\117\343\255\254
-\003\155\056\161\056\257\304\343\255\243\275\014\021\247\264\377
-\112\262\173\020\020\037\247\127\101\262\300\256\364\054\131\326
-\107\020\210\363\041\121\051\060\312\140\206\257\106\253\035\355
-\072\133\260\224\336\104\343\101\010\242\301\354\035\326\375\117
-\266\326\107\320\024\013\312\346\312\265\173\167\176\101\037\136
-\203\307\266\214\071\226\260\077\226\201\101\157\140\220\342\350
-\371\373\042\161\331\175\263\075\106\277\264\204\257\220\034\017
-\217\022\152\257\357\356\036\172\256\002\112\212\027\053\166\376
-\254\124\211\044\054\117\077\266\262\247\116\214\250\221\227\373
-\051\306\173\134\055\271\313\146\266\267\250\133\022\121\205\265
-\011\176\142\170\160\376\251\152\140\266\035\016\171\014\375\312
-\352\044\200\162\303\227\077\362\167\253\103\042\012\307\353\266
-\014\204\202\054\200\153\101\212\010\300\353\245\153\337\231\022
-\313\212\325\136\200\014\221\340\046\010\066\110\305\372\070\021
-\065\377\045\203\055\362\172\277\332\375\216\376\245\313\105\054
-\037\304\210\123\256\167\016\331\232\166\305\216\054\035\243\272
-\325\354\062\256\300\252\254\367\321\172\115\353\324\007\342\110
-\367\042\216\260\244\237\152\316\216\262\262\140\364\243\042\320
-\043\353\224\132\172\151\335\017\277\100\127\254\153\131\120\331
-\243\231\341\156\376\215\001\171\047\043\025\336\222\235\173\011
-\115\132\347\113\110\060\132\030\346\012\155\346\217\340\322\273
-\346\337\174\156\041\202\301\150\071\115\264\230\130\146\142\314
-\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
+\060\202\005\203\060\202\003\153\240\003\002\001\002\002\017\135
+\223\215\060\147\066\310\006\035\032\307\124\204\151\007\060\015
+\006\011\052\206\110\206\367\015\001\001\013\005\000\060\073\061
+\013\060\011\006\003\125\004\006\023\002\105\123\061\021\060\017
+\006\003\125\004\012\014\010\106\116\115\124\055\122\103\115\061
+\031\060\027\006\003\125\004\013\014\020\101\103\040\122\101\111
+\132\040\106\116\115\124\055\122\103\115\060\036\027\015\060\070
+\061\060\062\071\061\065\065\071\065\066\132\027\015\063\060\060
+\061\060\061\060\060\060\060\060\060\132\060\073\061\013\060\011
+\006\003\125\004\006\023\002\105\123\061\021\060\017\006\003\125
+\004\012\014\010\106\116\115\124\055\122\103\115\061\031\060\027
+\006\003\125\004\013\014\020\101\103\040\122\101\111\132\040\106
+\116\115\124\055\122\103\115\060\202\002\042\060\015\006\011\052
+\206\110\206\367\015\001\001\001\005\000\003\202\002\017\000\060
+\202\002\012\002\202\002\001\000\272\161\200\172\114\206\156\177
+\310\023\155\300\306\175\034\000\227\217\054\014\043\273\020\232
+\100\251\032\267\207\210\370\233\126\152\373\346\173\216\213\222
+\216\247\045\135\131\021\333\066\056\267\121\027\037\251\010\037
+\004\027\044\130\252\067\112\030\337\345\071\324\127\375\327\301
+\054\221\001\221\342\042\324\003\300\130\374\167\107\354\217\076
+\164\103\272\254\064\215\115\070\166\147\216\260\310\157\060\063
+\130\161\134\264\365\153\156\324\001\120\270\023\176\154\112\243
+\111\321\040\031\356\274\300\051\030\145\247\336\376\357\335\012
+\220\041\347\032\147\222\102\020\230\137\117\060\274\076\034\105
+\264\020\327\150\100\024\300\100\372\347\167\027\172\346\013\217
+\145\133\074\331\232\122\333\265\275\236\106\317\075\353\221\005
+\002\300\226\262\166\114\115\020\226\073\222\372\234\177\017\231
+\337\276\043\065\105\036\002\134\376\265\250\233\231\045\332\136
+\363\042\303\071\365\344\052\056\323\306\037\304\154\252\305\034
+\152\001\005\112\057\322\305\301\250\064\046\135\146\245\322\002
+\041\371\030\267\006\365\116\231\157\250\253\114\121\350\317\120
+\030\305\167\310\071\011\054\111\222\062\231\250\273\027\027\171
+\260\132\305\346\243\304\131\145\107\065\203\136\251\350\065\013
+\231\273\344\315\040\306\233\112\006\071\265\150\374\042\272\356
+\125\214\053\116\352\363\261\343\374\266\231\232\325\102\372\161
+\115\010\317\207\036\152\161\175\371\323\264\351\245\161\201\173
+\302\116\107\226\245\366\166\205\243\050\217\351\200\156\201\123
+\245\155\137\270\110\371\302\371\066\246\056\111\377\270\226\302
+\214\007\263\233\210\130\374\353\033\034\336\055\160\342\227\222
+\060\241\211\343\274\125\250\047\326\113\355\220\255\213\372\143
+\045\131\055\250\065\335\312\227\063\274\345\315\307\235\321\354
+\357\136\016\112\220\006\046\143\255\271\331\065\055\007\272\166
+\145\054\254\127\217\175\364\007\224\327\201\002\226\135\243\007
+\111\325\172\320\127\371\033\347\123\106\165\252\260\171\102\313
+\150\161\010\351\140\275\071\151\316\364\257\303\126\100\307\255
+\122\242\011\344\157\206\107\212\037\353\050\047\135\203\040\257
+\004\311\154\126\232\213\106\365\002\003\001\000\001\243\201\203
+\060\201\200\060\017\006\003\125\035\023\001\001\377\004\005\060
+\003\001\001\377\060\016\006\003\125\035\017\001\001\377\004\004
+\003\002\001\006\060\035\006\003\125\035\016\004\026\004\024\367
+\175\305\375\304\350\232\033\167\144\247\365\035\240\314\277\207
+\140\232\155\060\076\006\003\125\035\040\004\067\060\065\060\063
+\006\004\125\035\040\000\060\053\060\051\006\010\053\006\001\005
+\005\007\002\001\026\035\150\164\164\160\072\057\057\167\167\167
+\056\143\145\162\164\056\146\156\155\164\056\145\163\057\144\160
+\143\163\057\060\015\006\011\052\206\110\206\367\015\001\001\013
+\005\000\003\202\002\001\000\007\220\112\337\363\043\116\360\303
+\234\121\145\233\234\042\242\212\014\205\363\163\051\153\115\376
+\001\342\251\014\143\001\277\004\147\245\235\230\137\375\001\023
+\372\354\232\142\351\206\376\266\142\322\156\114\224\373\300\165
+\105\174\145\014\370\262\067\317\254\017\317\215\157\371\031\367
+\217\354\036\362\160\236\360\312\270\357\267\377\166\067\166\133
+\366\156\210\363\257\142\062\042\223\015\072\152\216\024\146\014
+\055\123\164\127\145\036\325\262\335\043\201\073\245\146\043\047
+\147\011\217\341\167\252\103\315\145\121\010\355\121\130\376\346
+\071\371\313\107\204\244\025\361\166\273\244\356\244\073\304\137
+\357\262\063\226\021\030\267\311\145\276\030\341\243\244\334\372
+\030\371\323\274\023\233\071\172\064\272\323\101\373\372\062\212
+\052\267\053\206\013\151\203\070\276\315\212\056\013\160\255\215
+\046\222\356\036\365\001\053\012\331\326\227\233\156\340\250\031
+\034\072\041\213\014\036\100\255\003\347\335\146\176\365\271\040
+\015\003\350\226\371\202\105\324\071\340\240\000\135\327\230\346
+\175\236\147\163\303\232\052\367\253\213\241\072\024\357\064\274
+\122\016\211\230\232\004\100\204\035\176\105\151\223\127\316\353
+\316\370\120\174\117\034\156\004\103\233\371\326\073\043\030\351
+\352\216\321\115\106\215\361\073\344\152\312\272\373\043\267\233
+\372\231\001\051\132\130\132\055\343\371\324\155\016\046\255\301
+\156\064\274\062\370\014\005\372\145\243\333\073\067\203\042\351
+\326\334\162\063\375\135\362\040\275\166\074\043\332\050\367\371
+\033\353\131\144\325\334\137\162\176\040\374\315\211\265\220\147
+\115\142\172\077\116\255\035\303\071\376\172\364\050\026\337\101
+\366\110\200\005\327\017\121\171\254\020\253\324\354\003\146\346
+\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
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
 
-# 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
-# Fingerprint (SHA1): 49:0A:75:74:DE:87:0A:47:FE:58:EE:F6:C7:6B:EB:C6:0B:12:40:99
+# 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
+# Fingerprint (SHA1): EC:50:35:07:B2:15:C4:95:62:19:E2:A8:9A:5B:42:99:2C:4C:2C:20
 CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "Buypass Class 2 Root CA"
+CKA_LABEL UTF8 "AC RAIZ FNMT-RCM"
 CKA_CERT_SHA1_HASH MULTILINE_OCTAL
-\111\012\165\164\336\207\012\107\376\130\356\366\307\153\353\306
-\013\022\100\231
+\354\120\065\007\262\025\304\225\142\031\342\250\232\133\102\231
+\054\114\054\040
 END
 CKA_CERT_MD5_HASH MULTILINE_OCTAL
-\106\247\322\376\105\373\144\132\250\131\220\233\170\104\233\051
+\342\011\004\264\323\275\321\240\024\375\032\322\107\304\127\035
 END
 CKA_ISSUER MULTILINE_OCTAL
-\060\116\061\013\060\011\006\003\125\004\006\023\002\116\117\061
-\035\060\033\006\003\125\004\012\014\024\102\165\171\160\141\163
-\163\040\101\123\055\071\070\063\061\066\063\063\062\067\061\040
-\060\036\006\003\125\004\003\014\027\102\165\171\160\141\163\163
-\040\103\154\141\163\163\040\062\040\122\157\157\164\040\103\101
+\060\073\061\013\060\011\006\003\125\004\006\023\002\105\123\061
+\021\060\017\006\003\125\004\012\014\010\106\116\115\124\055\122
+\103\115\061\031\060\027\006\003\125\004\013\014\020\101\103\040
+\122\101\111\132\040\106\116\115\124\055\122\103\115
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\001\002
+\002\017\135\223\215\060\147\066\310\006\035\032\307\124\204\151
+\007
 END
 CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
 CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
@@ -12603,982 +12823,952 @@ CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
 CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
 
 #
-# Certificate "Buypass Class 3 Root CA"
+# Certificate "Amazon Root CA 1"
 #
-# 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
-# Fingerprint (SHA1): DA:FA:F7:FA:66:84:EC:06:8F:14:50:BD:C7:C2:81:A5:BC:A9:64:57
+# 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
+# Fingerprint (SHA1): 8D:A7:F9:65:EC:5E:FC:37:91:0F:1C:6E:59:FD:C1:CC:6A:6E:DE:16
 CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "Buypass Class 3 Root CA"
+CKA_LABEL UTF8 "Amazon Root CA 1"
 CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
 CKA_SUBJECT MULTILINE_OCTAL
-\060\116\061\013\060\011\006\003\125\004\006\023\002\116\117\061
-\035\060\033\006\003\125\004\012\014\024\102\165\171\160\141\163
-\163\040\101\123\055\071\070\063\061\066\063\063\062\067\061\040
-\060\036\006\003\125\004\003\014\027\102\165\171\160\141\163\163
-\040\103\154\141\163\163\040\063\040\122\157\157\164\040\103\101
+\060\071\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\017\060\015\006\003\125\004\012\023\006\101\155\141\172\157\156
+\061\031\060\027\006\003\125\004\003\023\020\101\155\141\172\157
+\156\040\122\157\157\164\040\103\101\040\061
 END
 CKA_ID UTF8 "0"
 CKA_ISSUER MULTILINE_OCTAL
-\060\116\061\013\060\011\006\003\125\004\006\023\002\116\117\061
-\035\060\033\006\003\125\004\012\014\024\102\165\171\160\141\163
-\163\040\101\123\055\071\070\063\061\066\063\063\062\067\061\040
-\060\036\006\003\125\004\003\014\027\102\165\171\160\141\163\163
-\040\103\154\141\163\163\040\063\040\122\157\157\164\040\103\101
+\060\071\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\017\060\015\006\003\125\004\012\023\006\101\155\141\172\157\156
+\061\031\060\027\006\003\125\004\003\023\020\101\155\141\172\157
+\156\040\122\157\157\164\040\103\101\040\061
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\001\002
+\002\023\006\154\237\317\231\277\214\012\071\342\360\170\212\103
+\346\226\066\133\312
 END
 CKA_VALUE MULTILINE_OCTAL
-\060\202\005\131\060\202\003\101\240\003\002\001\002\002\001\002
-\060\015\006\011\052\206\110\206\367\015\001\001\013\005\000\060
-\116\061\013\060\011\006\003\125\004\006\023\002\116\117\061\035
-\060\033\006\003\125\004\012\014\024\102\165\171\160\141\163\163
-\040\101\123\055\071\070\063\061\066\063\063\062\067\061\040\060
-\036\006\003\125\004\003\014\027\102\165\171\160\141\163\163\040
-\103\154\141\163\163\040\063\040\122\157\157\164\040\103\101\060
-\036\027\015\061\060\061\060\062\066\060\070\062\070\065\070\132
-\027\015\064\060\061\060\062\066\060\070\062\070\065\070\132\060
-\116\061\013\060\011\006\003\125\004\006\023\002\116\117\061\035
-\060\033\006\003\125\004\012\014\024\102\165\171\160\141\163\163
-\040\101\123\055\071\070\063\061\066\063\063\062\067\061\040\060
-\036\006\003\125\004\003\014\027\102\165\171\160\141\163\163\040
-\103\154\141\163\163\040\063\040\122\157\157\164\040\103\101\060
-\202\002\042\060\015\006\011\052\206\110\206\367\015\001\001\001
-\005\000\003\202\002\017\000\060\202\002\012\002\202\002\001\000
-\245\332\012\225\026\120\343\225\362\136\235\166\061\006\062\172
-\233\361\020\166\270\000\232\265\122\066\315\044\107\260\237\030
-\144\274\232\366\372\325\171\330\220\142\114\042\057\336\070\075
-\326\340\250\351\034\054\333\170\021\351\216\150\121\025\162\307
-\363\063\207\344\240\135\013\134\340\127\007\052\060\365\315\304
-\067\167\050\115\030\221\346\277\325\122\375\161\055\160\076\347
-\306\304\212\343\360\050\013\364\166\230\241\213\207\125\262\072
-\023\374\267\076\047\067\216\042\343\250\117\052\357\140\273\075
-\267\071\303\016\001\107\231\135\022\117\333\103\372\127\241\355
-\371\235\276\021\107\046\133\023\230\253\135\026\212\260\067\034
-\127\235\105\377\210\226\066\277\273\312\007\173\157\207\143\327
-\320\062\152\326\135\154\014\361\263\156\071\342\153\061\056\071
-\000\047\024\336\070\300\354\031\146\206\022\350\235\162\026\023
-\144\122\307\251\067\034\375\202\060\355\204\030\035\364\256\134
-\377\160\023\000\353\261\365\063\172\113\326\125\370\005\215\113
-\151\260\365\263\050\066\134\024\304\121\163\115\153\013\361\064
-\007\333\027\071\327\334\050\173\153\365\237\363\056\301\117\027
-\052\020\363\314\312\350\353\375\153\253\056\232\237\055\202\156
-\004\324\122\001\223\055\075\206\374\176\374\337\357\102\035\246
-\153\357\271\040\306\367\275\240\247\225\375\247\346\211\044\330
-\314\214\064\154\342\043\057\331\022\032\041\271\125\221\157\013
-\221\171\031\014\255\100\210\013\160\342\172\322\016\330\150\110
-\273\202\023\071\020\130\351\330\052\007\306\022\333\130\333\322
-\073\125\020\107\005\025\147\142\176\030\143\246\106\077\011\016
-\124\062\136\277\015\142\172\047\357\200\350\333\331\113\006\132
-\067\132\045\320\010\022\167\324\157\011\120\227\075\310\035\303
-\337\214\105\060\126\306\323\144\253\146\363\300\136\226\234\303
-\304\357\303\174\153\213\072\171\177\263\111\317\075\342\211\237
-\240\060\113\205\271\234\224\044\171\217\175\153\251\105\150\017
-\053\320\361\332\034\313\151\270\312\111\142\155\310\320\143\142
-\335\140\017\130\252\217\241\274\005\245\146\242\317\033\166\262
-\204\144\261\114\071\122\300\060\272\360\214\113\002\260\266\267
-\002\003\001\000\001\243\102\060\100\060\017\006\003\125\035\023
-\001\001\377\004\005\060\003\001\001\377\060\035\006\003\125\035
-\016\004\026\004\024\107\270\315\377\345\157\356\370\262\354\057
-\116\016\371\045\260\216\074\153\303\060\016\006\003\125\035\017
-\001\001\377\004\004\003\002\001\006\060\015\006\011\052\206\110
-\206\367\015\001\001\013\005\000\003\202\002\001\000\000\040\043
-\101\065\004\220\302\100\142\140\357\342\065\114\327\077\254\342
-\064\220\270\241\157\166\372\026\026\244\110\067\054\351\220\302
-\362\074\370\012\237\330\201\345\273\133\332\045\054\244\247\125
-\161\044\062\366\310\013\362\274\152\370\223\254\262\007\302\137
-\237\333\314\310\212\252\276\152\157\341\111\020\314\061\327\200
-\273\273\310\330\242\016\144\127\352\242\365\302\251\061\025\322
-\040\152\354\374\042\001\050\317\206\270\200\036\251\314\021\245
-\074\362\026\263\107\235\374\322\200\041\304\313\320\107\160\101
-\241\312\203\031\010\054\155\362\135\167\234\212\024\023\324\066
-\034\222\360\345\006\067\334\246\346\220\233\070\217\134\153\033
-\106\206\103\102\137\076\001\007\123\124\135\145\175\367\212\163
-\241\232\124\132\037\051\103\024\047\302\205\017\265\210\173\032
-\073\224\267\035\140\247\265\234\347\051\151\127\132\233\223\172
-\103\060\033\003\327\142\310\100\246\252\374\144\344\112\327\221
-\123\001\250\040\210\156\234\137\104\271\313\140\201\064\354\157
-\323\175\332\110\137\353\264\220\274\055\251\034\013\254\034\325
-\242\150\040\200\004\326\374\261\217\057\273\112\061\015\112\206
-\034\353\342\066\051\046\365\332\330\304\362\165\141\317\176\256
-\166\143\112\172\100\145\223\207\370\036\200\214\206\345\206\326
-\217\016\374\123\054\140\350\026\141\032\242\076\103\173\315\071
-\140\124\152\365\362\211\046\001\150\203\110\242\063\350\311\004
-\221\262\021\064\021\076\352\320\103\031\037\003\223\220\014\377
-\121\075\127\364\101\156\341\313\240\276\353\311\143\315\155\314
-\344\370\066\252\150\235\355\275\135\227\160\104\015\266\016\065
-\334\341\014\135\273\240\121\224\313\176\026\353\021\057\243\222
-\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
+\060\202\003\101\060\202\002\051\240\003\002\001\002\002\023\006
+\154\237\317\231\277\214\012\071\342\360\170\212\103\346\226\066
+\133\312\060\015\006\011\052\206\110\206\367\015\001\001\013\005
+\000\060\071\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\017\060\015\006\003\125\004\012\023\006\101\155\141\172\157
+\156\061\031\060\027\006\003\125\004\003\023\020\101\155\141\172
+\157\156\040\122\157\157\164\040\103\101\040\061\060\036\027\015
+\061\065\060\065\062\066\060\060\060\060\060\060\132\027\015\063
+\070\060\061\061\067\060\060\060\060\060\060\132\060\071\061\013
+\060\011\006\003\125\004\006\023\002\125\123\061\017\060\015\006
+\003\125\004\012\023\006\101\155\141\172\157\156\061\031\060\027
+\006\003\125\004\003\023\020\101\155\141\172\157\156\040\122\157
+\157\164\040\103\101\040\061\060\202\001\042\060\015\006\011\052
+\206\110\206\367\015\001\001\001\005\000\003\202\001\017\000\060
+\202\001\012\002\202\001\001\000\262\170\200\161\312\170\325\343
+\161\257\107\200\120\164\175\156\330\327\210\166\364\231\150\367
+\130\041\140\371\164\204\001\057\254\002\055\206\323\240\103\172
+\116\262\244\320\066\272\001\276\215\333\110\310\007\027\066\114
+\364\356\210\043\307\076\353\067\365\265\031\370\111\150\260\336
+\327\271\166\070\035\141\236\244\376\202\066\245\345\112\126\344
+\105\341\371\375\264\026\372\164\332\234\233\065\071\057\372\260
+\040\120\006\154\172\320\200\262\246\371\257\354\107\031\217\120
+\070\007\334\242\207\071\130\370\272\325\251\371\110\147\060\226
+\356\224\170\136\157\211\243\121\300\060\206\146\241\105\146\272
+\124\353\243\303\221\371\110\334\377\321\350\060\055\175\055\164
+\160\065\327\210\044\367\236\304\131\156\273\163\207\027\362\062
+\106\050\270\103\372\267\035\252\312\264\362\237\044\016\055\113
+\367\161\134\136\151\377\352\225\002\313\070\212\256\120\070\157
+\333\373\055\142\033\305\307\036\124\341\167\340\147\310\017\234
+\207\043\326\077\100\040\177\040\200\304\200\114\076\073\044\046
+\216\004\256\154\232\310\252\015\002\003\001\000\001\243\102\060
+\100\060\017\006\003\125\035\023\001\001\377\004\005\060\003\001
+\001\377\060\016\006\003\125\035\017\001\001\377\004\004\003\002
+\001\206\060\035\006\003\125\035\016\004\026\004\024\204\030\314
+\205\064\354\274\014\224\224\056\010\131\234\307\262\020\116\012
+\010\060\015\006\011\052\206\110\206\367\015\001\001\013\005\000
+\003\202\001\001\000\230\362\067\132\101\220\241\032\305\166\121
+\050\040\066\043\016\256\346\050\273\252\370\224\256\110\244\060
+\177\033\374\044\215\113\264\310\241\227\366\266\361\172\160\310
+\123\223\314\010\050\343\230\045\317\043\244\371\336\041\323\174
+\205\011\255\116\232\165\072\302\013\152\211\170\166\104\107\030
+\145\154\215\101\216\073\177\232\313\364\265\247\120\327\005\054
+\067\350\003\113\255\351\141\240\002\156\365\362\360\305\262\355
+\133\267\334\372\224\134\167\236\023\245\177\122\255\225\362\370
+\223\073\336\213\134\133\312\132\122\133\140\257\024\367\113\357
+\243\373\237\100\225\155\061\124\374\102\323\307\106\037\043\255
+\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
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
 
-# 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
-# Fingerprint (SHA1): DA:FA:F7:FA:66:84:EC:06:8F:14:50:BD:C7:C2:81:A5:BC:A9:64:57
+# 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
+# Fingerprint (SHA1): 8D:A7:F9:65:EC:5E:FC:37:91:0F:1C:6E:59:FD:C1:CC:6A:6E:DE:16
 CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "Buypass Class 3 Root CA"
+CKA_LABEL UTF8 "Amazon Root CA 1"
 CKA_CERT_SHA1_HASH MULTILINE_OCTAL
-\332\372\367\372\146\204\354\006\217\024\120\275\307\302\201\245
-\274\251\144\127
+\215\247\371\145\354\136\374\067\221\017\034\156\131\375\301\314
+\152\156\336\026
 END
 CKA_CERT_MD5_HASH MULTILINE_OCTAL
-\075\073\030\236\054\144\132\350\325\210\316\016\371\067\302\354
+\103\306\277\256\354\376\255\057\030\306\210\150\060\374\310\346
 END
 CKA_ISSUER MULTILINE_OCTAL
-\060\116\061\013\060\011\006\003\125\004\006\023\002\116\117\061
-\035\060\033\006\003\125\004\012\014\024\102\165\171\160\141\163
-\163\040\101\123\055\071\070\063\061\066\063\063\062\067\061\040
-\060\036\006\003\125\004\003\014\027\102\165\171\160\141\163\163
-\040\103\154\141\163\163\040\063\040\122\157\157\164\040\103\101
+\060\071\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\017\060\015\006\003\125\004\012\023\006\101\155\141\172\157\156
+\061\031\060\027\006\003\125\004\003\023\020\101\155\141\172\157
+\156\040\122\157\157\164\040\103\101\040\061
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\001\002
+\002\023\006\154\237\317\231\277\214\012\071\342\360\170\212\103
+\346\226\066\133\312
 END
 CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
-CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
 CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
 CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
 
 #
-# Certificate "T-TeleSec GlobalRoot Class 3"
+# Certificate "Amazon Root CA 2"
 #
-# 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
-# Fingerprint (SHA1): 55:A6:72:3E:CB:F2:EC:CD:C3:23:74:70:19:9D:2A:BE:11:E3:81:D1
+# 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
+# Fingerprint (SHA1): 5A:8C:EF:45:D7:A6:98:59:76:7A:8C:8B:44:96:B5:78:CF:47:4B:1A
 CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "T-TeleSec GlobalRoot Class 3"
+CKA_LABEL UTF8 "Amazon Root CA 2"
 CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
 CKA_SUBJECT MULTILINE_OCTAL
-\060\201\202\061\013\060\011\006\003\125\004\006\023\002\104\105
-\061\053\060\051\006\003\125\004\012\014\042\124\055\123\171\163
-\164\145\155\163\040\105\156\164\145\162\160\162\151\163\145\040
-\123\145\162\166\151\143\145\163\040\107\155\142\110\061\037\060
-\035\006\003\125\004\013\014\026\124\055\123\171\163\164\145\155
-\163\040\124\162\165\163\164\040\103\145\156\164\145\162\061\045
-\060\043\006\003\125\004\003\014\034\124\055\124\145\154\145\123
-\145\143\040\107\154\157\142\141\154\122\157\157\164\040\103\154
-\141\163\163\040\063
+\060\071\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\017\060\015\006\003\125\004\012\023\006\101\155\141\172\157\156
+\061\031\060\027\006\003\125\004\003\023\020\101\155\141\172\157
+\156\040\122\157\157\164\040\103\101\040\062
 END
 CKA_ID UTF8 "0"
 CKA_ISSUER MULTILINE_OCTAL
-\060\201\202\061\013\060\011\006\003\125\004\006\023\002\104\105
-\061\053\060\051\006\003\125\004\012\014\042\124\055\123\171\163
-\164\145\155\163\040\105\156\164\145\162\160\162\151\163\145\040
-\123\145\162\166\151\143\145\163\040\107\155\142\110\061\037\060
-\035\006\003\125\004\013\014\026\124\055\123\171\163\164\145\155
-\163\040\124\162\165\163\164\040\103\145\156\164\145\162\061\045
-\060\043\006\003\125\004\003\014\034\124\055\124\145\154\145\123
-\145\143\040\107\154\157\142\141\154\122\157\157\164\040\103\154
-\141\163\163\040\063
+\060\071\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\017\060\015\006\003\125\004\012\023\006\101\155\141\172\157\156
+\061\031\060\027\006\003\125\004\003\023\020\101\155\141\172\157
+\156\040\122\157\157\164\040\103\101\040\062
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\001\001
+\002\023\006\154\237\322\226\065\206\237\012\017\345\206\170\370
+\133\046\273\212\067
 END
 CKA_VALUE MULTILINE_OCTAL
-\060\202\003\303\060\202\002\253\240\003\002\001\002\002\001\001
-\060\015\006\011\052\206\110\206\367\015\001\001\013\005\000\060
-\201\202\061\013\060\011\006\003\125\004\006\023\002\104\105\061
-\053\060\051\006\003\125\004\012\014\042\124\055\123\171\163\164
-\145\155\163\040\105\156\164\145\162\160\162\151\163\145\040\123
-\145\162\166\151\143\145\163\040\107\155\142\110\061\037\060\035
-\006\003\125\004\013\014\026\124\055\123\171\163\164\145\155\163
-\040\124\162\165\163\164\040\103\145\156\164\145\162\061\045\060
-\043\006\003\125\004\003\014\034\124\055\124\145\154\145\123\145
-\143\040\107\154\157\142\141\154\122\157\157\164\040\103\154\141
-\163\163\040\063\060\036\027\015\060\070\061\060\060\061\061\060
-\062\071\065\066\132\027\015\063\063\061\060\060\061\062\063\065
-\071\065\071\132\060\201\202\061\013\060\011\006\003\125\004\006
-\023\002\104\105\061\053\060\051\006\003\125\004\012\014\042\124
-\055\123\171\163\164\145\155\163\040\105\156\164\145\162\160\162
-\151\163\145\040\123\145\162\166\151\143\145\163\040\107\155\142
-\110\061\037\060\035\006\003\125\004\013\014\026\124\055\123\171
-\163\164\145\155\163\040\124\162\165\163\164\040\103\145\156\164
-\145\162\061\045\060\043\006\003\125\004\003\014\034\124\055\124
-\145\154\145\123\145\143\040\107\154\157\142\141\154\122\157\157
-\164\040\103\154\141\163\163\040\063\060\202\001\042\060\015\006
-\011\052\206\110\206\367\015\001\001\001\005\000\003\202\001\017
-\000\060\202\001\012\002\202\001\001\000\275\165\223\360\142\042
-\157\044\256\340\172\166\254\175\275\331\044\325\270\267\374\315
-\360\102\340\353\170\210\126\136\233\232\124\035\115\014\212\366
-\323\317\160\364\122\265\330\223\004\343\106\206\161\101\112\053
-\360\052\054\125\003\326\110\303\340\071\070\355\362\134\074\077
-\104\274\223\075\141\253\116\315\015\276\360\040\047\130\016\104
-\177\004\032\207\245\327\226\024\066\220\320\111\173\241\165\373
-\032\153\163\261\370\316\251\011\054\362\123\325\303\024\104\270
-\206\245\366\213\053\071\332\243\063\124\331\372\162\032\367\042
-\025\034\210\221\153\177\146\345\303\152\200\260\044\363\337\206
-\105\210\375\031\177\165\207\037\037\261\033\012\163\044\133\271
-\145\340\054\124\310\140\323\146\027\077\341\314\124\063\163\221
-\002\072\246\177\173\166\071\242\037\226\266\070\256\265\310\223
-\164\035\236\271\264\345\140\235\057\126\321\340\353\136\133\114
-\022\160\014\154\104\040\253\021\330\364\031\366\322\234\122\067
-\347\372\266\302\061\073\112\324\024\231\255\307\032\365\135\137
-\372\007\270\174\015\037\326\203\036\263\002\003\001\000\001\243
-\102\060\100\060\017\006\003\125\035\023\001\001\377\004\005\060
-\003\001\001\377\060\016\006\003\125\035\017\001\001\377\004\004
-\003\002\001\006\060\035\006\003\125\035\016\004\026\004\024\265
-\003\367\166\073\141\202\152\022\252\030\123\353\003\041\224\277
-\376\316\312\060\015\006\011\052\206\110\206\367\015\001\001\013
-\005\000\003\202\001\001\000\126\075\357\224\325\275\332\163\262
-\130\276\256\220\255\230\047\227\376\001\261\260\122\000\270\115
-\344\033\041\164\033\176\300\356\136\151\052\045\257\134\326\035
-\332\322\171\311\363\227\051\340\206\207\336\004\131\017\361\131
-\324\144\205\113\231\257\045\004\036\311\106\251\227\336\202\262
-\033\160\237\234\366\257\161\061\335\173\005\245\054\323\271\312
-\107\366\312\362\366\347\255\271\110\077\274\026\267\301\155\364
-\352\011\257\354\363\265\347\005\236\246\036\212\123\121\326\223
-\201\314\164\223\366\271\332\246\045\005\164\171\132\176\100\076
-\202\113\046\021\060\156\341\077\101\307\107\000\065\325\365\323
-\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
+\060\202\005\101\060\202\003\051\240\003\002\001\002\002\023\006
+\154\237\322\226\065\206\237\012\017\345\206\170\370\133\046\273
+\212\067\060\015\006\011\052\206\110\206\367\015\001\001\014\005
+\000\060\071\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\017\060\015\006\003\125\004\012\023\006\101\155\141\172\157
+\156\061\031\060\027\006\003\125\004\003\023\020\101\155\141\172
+\157\156\040\122\157\157\164\040\103\101\040\062\060\036\027\015
+\061\065\060\065\062\066\060\060\060\060\060\060\132\027\015\064
+\060\060\065\062\066\060\060\060\060\060\060\132\060\071\061\013
+\060\011\006\003\125\004\006\023\002\125\123\061\017\060\015\006
+\003\125\004\012\023\006\101\155\141\172\157\156\061\031\060\027
+\006\003\125\004\003\023\020\101\155\141\172\157\156\040\122\157
+\157\164\040\103\101\040\062\060\202\002\042\060\015\006\011\052
+\206\110\206\367\015\001\001\001\005\000\003\202\002\017\000\060
+\202\002\012\002\202\002\001\000\255\226\237\055\234\112\114\112
+\201\171\121\231\354\212\313\153\140\121\023\274\115\155\006\374
+\260\010\215\335\031\020\152\307\046\014\065\330\300\157\040\204
+\351\224\261\233\205\003\303\133\333\112\350\310\370\220\166\331
+\133\117\343\114\350\006\066\115\314\232\254\075\014\220\053\222
+\324\006\031\140\254\067\104\171\205\201\202\255\132\067\340\015
+\314\235\246\114\122\166\352\103\235\267\004\321\120\366\125\340
+\325\322\246\111\205\351\067\351\312\176\256\134\225\115\110\232
+\077\256\040\132\155\210\225\331\064\270\122\032\103\220\260\277
+\154\005\271\266\170\267\352\320\344\072\074\022\123\142\377\112
+\362\173\276\065\005\251\022\064\343\363\144\164\142\054\075\000
+\111\132\050\376\062\104\273\207\335\145\047\002\161\073\332\112
+\367\037\332\315\367\041\125\220\117\017\354\256\202\341\237\153
+\331\105\323\273\360\137\207\355\074\054\071\206\332\077\336\354
+\162\125\353\171\243\255\333\335\174\260\272\034\316\374\336\117
+\065\166\317\017\370\170\037\152\066\121\106\047\141\133\351\236
+\317\360\242\125\175\174\045\212\157\057\264\305\317\204\056\053
+\375\015\121\020\154\373\137\033\274\033\176\305\256\073\230\001
+\061\222\377\013\127\364\232\262\271\127\351\253\357\015\166\321
+\360\356\364\316\206\247\340\156\351\264\151\241\337\151\366\063
+\306\151\056\227\023\236\245\207\260\127\020\201\067\311\123\263
+\273\177\366\222\321\234\320\030\364\222\156\332\203\117\246\143
+\231\114\245\373\136\357\041\144\172\040\137\154\144\205\025\313
+\067\351\142\014\013\052\026\334\001\056\062\332\076\113\365\236
+\072\366\027\100\224\357\236\221\010\206\372\276\143\250\132\063
+\354\313\164\103\225\371\154\151\122\066\307\051\157\374\125\003
+\134\037\373\237\275\107\353\347\111\107\225\013\116\211\042\011
+\111\340\365\141\036\361\277\056\212\162\156\200\131\377\127\072
+\371\165\062\243\116\137\354\355\050\142\331\115\163\362\314\201
+\027\140\355\315\353\334\333\247\312\305\176\002\275\362\124\010
+\124\375\264\055\011\054\027\124\112\230\321\124\341\121\147\010
+\322\355\156\176\157\077\322\055\201\131\051\146\313\220\071\225
+\021\036\164\047\376\335\353\257\002\003\001\000\001\243\102\060
+\100\060\017\006\003\125\035\023\001\001\377\004\005\060\003\001
+\001\377\060\016\006\003\125\035\017\001\001\377\004\004\003\002
+\001\206\060\035\006\003\125\035\016\004\026\004\024\260\014\360
+\114\060\364\005\130\002\110\375\063\345\122\257\113\204\343\146
+\122\060\015\006\011\052\206\110\206\367\015\001\001\014\005\000
+\003\202\002\001\000\252\250\200\217\016\170\243\340\242\324\315
+\346\365\230\172\073\352\000\003\260\227\016\223\274\132\250\366
+\054\214\162\207\251\261\374\177\163\375\143\161\170\245\207\131
+\317\060\341\015\020\262\023\132\155\202\365\152\346\200\237\240
+\005\013\150\344\107\153\307\152\337\266\375\167\062\162\345\030
+\372\011\364\240\223\054\135\322\214\165\205\166\145\220\014\003
+\171\267\061\043\143\255\170\203\011\206\150\204\312\377\371\317
+\046\232\222\171\347\315\113\305\347\141\247\027\313\363\251\022
+\223\223\153\247\350\057\123\222\304\140\130\260\314\002\121\030
+\133\205\215\142\131\143\266\255\264\336\232\373\046\367\000\047
+\300\135\125\067\164\231\311\120\177\343\131\056\104\343\054\045
+\356\354\114\062\167\264\237\032\351\113\135\040\305\332\375\034
+\207\026\306\103\350\324\273\046\232\105\160\136\251\013\067\123
+\342\106\173\047\375\340\106\362\211\267\314\102\266\313\050\046
+\156\331\245\311\072\310\101\023\140\367\120\214\025\256\262\155
+\032\025\032\127\170\346\222\052\331\145\220\202\077\154\002\257
+\256\022\072\047\226\066\004\327\035\242\200\143\251\233\361\345
+\272\264\174\024\260\116\311\261\037\164\137\070\366\121\352\233
+\372\054\242\021\324\251\055\047\032\105\261\257\262\116\161\015
+\300\130\106\326\151\006\313\123\313\263\376\153\101\315\101\176
+\175\114\017\174\162\171\172\131\315\136\112\016\254\233\251\230
+\163\171\174\264\364\314\271\270\007\014\262\164\134\270\307\157
+\210\241\220\247\364\252\371\277\147\072\364\032\025\142\036\267
+\237\276\075\261\051\257\147\241\022\362\130\020\031\123\003\060
+\033\270\032\211\366\234\275\227\003\216\243\011\363\035\213\041
+\361\264\337\344\034\321\237\145\002\006\352\134\326\023\263\204
+\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
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
 
-# 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
-# Fingerprint (SHA1): 55:A6:72:3E:CB:F2:EC:CD:C3:23:74:70:19:9D:2A:BE:11:E3:81:D1
+# 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
+# Fingerprint (SHA1): 5A:8C:EF:45:D7:A6:98:59:76:7A:8C:8B:44:96:B5:78:CF:47:4B:1A
 CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "T-TeleSec GlobalRoot Class 3"
+CKA_LABEL UTF8 "Amazon Root CA 2"
 CKA_CERT_SHA1_HASH MULTILINE_OCTAL
-\125\246\162\076\313\362\354\315\303\043\164\160\031\235\052\276
-\021\343\201\321
+\132\214\357\105\327\246\230\131\166\172\214\213\104\226\265\170
+\317\107\113\032
 END
 CKA_CERT_MD5_HASH MULTILINE_OCTAL
-\312\373\100\250\116\071\222\212\035\376\216\057\304\047\352\357
-END
-CKA_ISSUER MULTILINE_OCTAL
-\060\201\202\061\013\060\011\006\003\125\004\006\023\002\104\105
-\061\053\060\051\006\003\125\004\012\014\042\124\055\123\171\163
-\164\145\155\163\040\105\156\164\145\162\160\162\151\163\145\040
-\123\145\162\166\151\143\145\163\040\107\155\142\110\061\037\060
-\035\006\003\125\004\013\014\026\124\055\123\171\163\164\145\155
-\163\040\124\162\165\163\164\040\103\145\156\164\145\162\061\045
-\060\043\006\003\125\004\003\014\034\124\055\124\145\154\145\123
-\145\143\040\107\154\157\142\141\154\122\157\157\164\040\103\154
-\141\163\163\040\063
+\310\345\215\316\250\102\342\172\300\052\134\174\236\046\277\146
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\071\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\017\060\015\006\003\125\004\012\023\006\101\155\141\172\157\156
+\061\031\060\027\006\003\125\004\003\023\020\101\155\141\172\157
+\156\040\122\157\157\164\040\103\101\040\062
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\001\001
+\002\023\006\154\237\322\226\065\206\237\012\017\345\206\170\370
+\133\046\273\212\067
 END
 CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
-CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
 CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
 CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
 
 #
-# Certificate "EE Certification Centre Root CA"
+# Certificate "Amazon Root CA 3"
 #
-# Issuer: E=pki@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@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
-# Fingerprint (SHA1): C9:A8:B9:E7:55:80:5E:58:E3:53:77:A7:25:EB:AF:C3:7B:27:CC:D7
+# 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
+# Fingerprint (SHA1): 0D:44:DD:8C:3C:8C:1A:1A:58:75:64:81:E9:0F:2E:2A:FF:B3:D2:6E
 CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "EE Certification Centre Root CA"
+CKA_LABEL UTF8 "Amazon Root CA 3"
 CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
 CKA_SUBJECT MULTILINE_OCTAL
-\060\165\061\013\060\011\006\003\125\004\006\023\002\105\105\061
-\042\060\040\006\003\125\004\012\014\031\101\123\040\123\145\162
-\164\151\146\151\164\163\145\145\162\151\155\151\163\153\145\163
-\153\165\163\061\050\060\046\006\003\125\004\003\014\037\105\105
-\040\103\145\162\164\151\146\151\143\141\164\151\157\156\040\103
-\145\156\164\162\145\040\122\157\157\164\040\103\101\061\030\060
-\026\006\011\052\206\110\206\367\015\001\011\001\026\011\160\153
-\151\100\163\153\056\145\145
+\060\071\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\017\060\015\006\003\125\004\012\023\006\101\155\141\172\157\156
+\061\031\060\027\006\003\125\004\003\023\020\101\155\141\172\157
+\156\040\122\157\157\164\040\103\101\040\063
 END
 CKA_ID UTF8 "0"
 CKA_ISSUER MULTILINE_OCTAL
-\060\165\061\013\060\011\006\003\125\004\006\023\002\105\105\061
-\042\060\040\006\003\125\004\012\014\031\101\123\040\123\145\162
-\164\151\146\151\164\163\145\145\162\151\155\151\163\153\145\163
-\153\165\163\061\050\060\046\006\003\125\004\003\014\037\105\105
-\040\103\145\162\164\151\146\151\143\141\164\151\157\156\040\103
-\145\156\164\162\145\040\122\157\157\164\040\103\101\061\030\060
-\026\006\011\052\206\110\206\367\015\001\011\001\026\011\160\153
-\151\100\163\153\056\145\145
+\060\071\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\017\060\015\006\003\125\004\012\023\006\101\155\141\172\157\156
+\061\031\060\027\006\003\125\004\003\023\020\101\155\141\172\157
+\156\040\122\157\157\164\040\103\101\040\063
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\020\124\200\371\240\163\355\077\000\114\312\211\330\343\161
-\346\112
+\002\023\006\154\237\325\164\227\066\146\077\073\013\232\331\350
+\236\166\003\362\112
 END
 CKA_VALUE MULTILINE_OCTAL
-\060\202\004\003\060\202\002\353\240\003\002\001\002\002\020\124
-\200\371\240\163\355\077\000\114\312\211\330\343\161\346\112\060
-\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060\165
-\061\013\060\011\006\003\125\004\006\023\002\105\105\061\042\060
-\040\006\003\125\004\012\014\031\101\123\040\123\145\162\164\151
-\146\151\164\163\145\145\162\151\155\151\163\153\145\163\153\165
-\163\061\050\060\046\006\003\125\004\003\014\037\105\105\040\103
-\145\162\164\151\146\151\143\141\164\151\157\156\040\103\145\156
-\164\162\145\040\122\157\157\164\040\103\101\061\030\060\026\006
-\011\052\206\110\206\367\015\001\011\001\026\011\160\153\151\100
-\163\153\056\145\145\060\042\030\017\062\060\061\060\061\060\063
-\060\061\060\061\060\063\060\132\030\017\062\060\063\060\061\062
-\061\067\062\063\065\071\065\071\132\060\165\061\013\060\011\006
-\003\125\004\006\023\002\105\105\061\042\060\040\006\003\125\004
-\012\014\031\101\123\040\123\145\162\164\151\146\151\164\163\145
-\145\162\151\155\151\163\153\145\163\153\165\163\061\050\060\046
-\006\003\125\004\003\014\037\105\105\040\103\145\162\164\151\146
-\151\143\141\164\151\157\156\040\103\145\156\164\162\145\040\122
-\157\157\164\040\103\101\061\030\060\026\006\011\052\206\110\206
-\367\015\001\011\001\026\011\160\153\151\100\163\153\056\145\145
-\060\202\001\042\060\015\006\011\052\206\110\206\367\015\001\001
-\001\005\000\003\202\001\017\000\060\202\001\012\002\202\001\001
-\000\310\040\300\354\340\305\113\253\007\170\225\363\104\356\373
-\013\014\377\164\216\141\273\261\142\352\043\330\253\241\145\062
-\172\353\216\027\117\226\330\012\173\221\242\143\154\307\214\114
-\056\171\277\251\005\374\151\134\225\215\142\371\271\160\355\303
-\121\175\320\223\346\154\353\060\113\341\274\175\277\122\233\316
-\156\173\145\362\070\261\300\242\062\357\142\262\150\340\141\123
-\301\066\225\377\354\224\272\066\256\234\034\247\062\017\345\174
-\264\306\157\164\375\173\030\350\254\127\355\006\040\113\062\060
-\130\133\375\315\250\346\241\374\160\274\216\222\163\333\227\247
-\174\041\256\075\301\365\110\207\154\047\275\237\045\164\201\125
-\260\367\165\366\075\244\144\153\326\117\347\316\100\255\017\335
-\062\323\274\212\022\123\230\311\211\373\020\035\115\176\315\176
-\037\126\015\041\160\205\366\040\203\037\366\272\037\004\217\352
-\167\210\065\304\377\352\116\241\213\115\077\143\033\104\303\104
-\324\045\166\312\267\215\327\036\112\146\144\315\134\305\234\203
-\341\302\010\210\232\354\116\243\361\076\034\054\331\154\035\241
-\113\002\003\001\000\001\243\201\212\060\201\207\060\017\006\003
-\125\035\023\001\001\377\004\005\060\003\001\001\377\060\016\006
-\003\125\035\017\001\001\377\004\004\003\002\001\006\060\035\006
-\003\125\035\016\004\026\004\024\022\362\132\076\352\126\034\277
-\315\006\254\361\361\045\311\251\113\324\024\231\060\105\006\003
-\125\035\045\004\076\060\074\006\010\053\006\001\005\005\007\003
-\002\006\010\053\006\001\005\005\007\003\001\006\010\053\006\001
-\005\005\007\003\003\006\010\053\006\001\005\005\007\003\004\006
-\010\053\006\001\005\005\007\003\010\006\010\053\006\001\005\005
-\007\003\011\060\015\006\011\052\206\110\206\367\015\001\001\005
-\005\000\003\202\001\001\000\173\366\344\300\015\252\031\107\267
-\115\127\243\376\255\273\261\152\325\017\236\333\344\143\305\216
-\241\120\126\223\226\270\070\300\044\042\146\274\123\024\141\225
-\277\320\307\052\226\071\077\175\050\263\020\100\041\152\304\257
-\260\122\167\030\341\226\330\126\135\343\335\066\136\035\247\120
-\124\240\305\052\344\252\214\224\212\117\235\065\377\166\244\006
-\023\221\242\242\175\000\104\077\125\323\202\074\032\325\133\274
-\126\114\042\056\106\103\212\044\100\055\363\022\270\073\160\032
-\244\226\271\032\257\207\101\032\152\030\015\006\117\307\076\156
-\271\051\115\015\111\211\021\207\062\133\346\113\004\310\344\134
-\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
+\060\202\001\266\060\202\001\133\240\003\002\001\002\002\023\006
+\154\237\325\164\227\066\146\077\073\013\232\331\350\236\166\003
+\362\112\060\012\006\010\052\206\110\316\075\004\003\002\060\071
+\061\013\060\011\006\003\125\004\006\023\002\125\123\061\017\060
+\015\006\003\125\004\012\023\006\101\155\141\172\157\156\061\031
+\060\027\006\003\125\004\003\023\020\101\155\141\172\157\156\040
+\122\157\157\164\040\103\101\040\063\060\036\027\015\061\065\060
+\065\062\066\060\060\060\060\060\060\132\027\015\064\060\060\065
+\062\066\060\060\060\060\060\060\132\060\071\061\013\060\011\006
+\003\125\004\006\023\002\125\123\061\017\060\015\006\003\125\004
+\012\023\006\101\155\141\172\157\156\061\031\060\027\006\003\125
+\004\003\023\020\101\155\141\172\157\156\040\122\157\157\164\040
+\103\101\040\063\060\131\060\023\006\007\052\206\110\316\075\002
+\001\006\010\052\206\110\316\075\003\001\007\003\102\000\004\051
+\227\247\306\101\177\300\015\233\350\001\033\126\306\362\122\245
+\272\055\262\022\350\322\056\327\372\311\305\330\252\155\037\163
+\201\073\073\230\153\071\174\063\245\305\116\206\216\200\027\150
+\142\105\127\175\104\130\035\263\067\345\147\010\353\146\336\243
+\102\060\100\060\017\006\003\125\035\023\001\001\377\004\005\060
+\003\001\001\377\060\016\006\003\125\035\017\001\001\377\004\004
+\003\002\001\206\060\035\006\003\125\035\016\004\026\004\024\253
+\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
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
 
-# Trust for "EE Certification Centre Root CA"
-# Issuer: E=pki@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@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
-# Fingerprint (SHA1): C9:A8:B9:E7:55:80:5E:58:E3:53:77:A7:25:EB:AF:C3:7B:27:CC:D7
+# 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
+# Fingerprint (SHA1): 0D:44:DD:8C:3C:8C:1A:1A:58:75:64:81:E9:0F:2E:2A:FF:B3:D2:6E
 CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "EE Certification Centre Root CA"
+CKA_LABEL UTF8 "Amazon Root CA 3"
 CKA_CERT_SHA1_HASH MULTILINE_OCTAL
-\311\250\271\347\125\200\136\130\343\123\167\247\045\353\257\303
-\173\047\314\327
+\015\104\335\214\074\214\032\032\130\165\144\201\351\017\056\052
+\377\263\322\156
 END
 CKA_CERT_MD5_HASH MULTILINE_OCTAL
-\103\136\210\324\175\032\112\176\375\204\056\122\353\001\324\157
+\240\324\357\013\367\265\330\111\225\052\354\365\304\374\201\207
 END
 CKA_ISSUER MULTILINE_OCTAL
-\060\165\061\013\060\011\006\003\125\004\006\023\002\105\105\061
-\042\060\040\006\003\125\004\012\014\031\101\123\040\123\145\162
-\164\151\146\151\164\163\145\145\162\151\155\151\163\153\145\163
-\153\165\163\061\050\060\046\006\003\125\004\003\014\037\105\105
-\040\103\145\162\164\151\146\151\143\141\164\151\157\156\040\103
-\145\156\164\162\145\040\122\157\157\164\040\103\101\061\030\060
-\026\006\011\052\206\110\206\367\015\001\011\001\026\011\160\153
-\151\100\163\153\056\145\145
+\060\071\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\017\060\015\006\003\125\004\012\023\006\101\155\141\172\157\156
+\061\031\060\027\006\003\125\004\003\023\020\101\155\141\172\157
+\156\040\122\157\157\164\040\103\101\040\063
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\020\124\200\371\240\163\355\077\000\114\312\211\330\343\161
-\346\112
+\002\023\006\154\237\325\164\227\066\146\077\073\013\232\331\350
+\236\166\003\362\112
 END
 CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
-CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
 CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
 CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
 
-# Explicitly Distrust "TURKTRUST Mis-issued Intermediate CA 1", Bug 825022
-# Issuer: O=T..RKTRUST Bilgi ..leti..im ve Bili..im G..venli..i Hizmetleri A...,C=TR,CN=T..RKTRUST Elektronik Sunucu Sertifikas.. Hizmetleri
-# Serial Number: 2087 (0x827)
-# Subject: CN=*.EGO.GOV.TR,OU=EGO BILGI ISLEM,O=EGO,L=ANKARA,ST=ANKARA,C=TR
-# Not Valid Before: Mon Aug 08 07:07:51 2011
-# Not Valid After : Tue Jul 06 07:07:51 2021
-# Fingerprint (MD5): F8:F5:25:FF:0C:31:CF:85:E1:0C:86:17:C1:CE:1F:8E
-# Fingerprint (SHA1): C6:9F:28:C8:25:13:9E:65:A6:46:C4:34:AC:A5:A1:D2:00:29:5D:B1
-CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
-CKA_TOKEN CK_BBOOL CK_TRUE
-CKA_PRIVATE CK_BBOOL CK_FALSE
-CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "TURKTRUST Mis-issued Intermediate CA 1"
-CKA_ISSUER MULTILINE_OCTAL
-\060\201\254\061\075\060\073\006\003\125\004\003\014\064\124\303
-\234\122\113\124\122\125\123\124\040\105\154\145\153\164\162\157
-\156\151\153\040\123\165\156\165\143\165\040\123\145\162\164\151
-\146\151\153\141\163\304\261\040\110\151\172\155\145\164\154\145
-\162\151\061\013\060\011\006\003\125\004\006\023\002\124\122\061
-\136\060\134\006\003\125\004\012\014\125\124\303\234\122\113\124
-\122\125\123\124\040\102\151\154\147\151\040\304\260\154\145\164
-\151\305\237\151\155\040\166\145\040\102\151\154\151\305\237\151
-\155\040\107\303\274\166\145\156\154\151\304\237\151\040\110\151
-\172\155\145\164\154\145\162\151\040\101\056\305\236\056\040\050
-\143\051\040\113\141\163\304\261\155\040\040\062\060\060\065
-END
-CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\002\010\047
-END
-CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_NOT_TRUSTED
-CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_NOT_TRUSTED
-CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_NOT_TRUSTED
-CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
-
-# Explicitly Distrust "TURKTRUST Mis-issued Intermediate CA 2", Bug 825022
-# Issuer: O=T..RKTRUST Bilgi ..leti..im ve Bili..im G..venli..i Hizmetleri A...,C=TR,CN=T..RKTRUST Elektronik Sunucu Sertifikas.. Hizmetleri
-# Serial Number: 2148 (0x864)
-# Subject: E=ileti@kktcmerkezbankasi.org,CN=e-islem.kktcmerkezbankasi.org,O=KKTC Merkez Bankasi,L=Lefkosa,ST=Lefkosa,C=TR
-# Not Valid Before: Mon Aug 08 07:07:51 2011
-# Not Valid After : Thu Aug 05 07:07:51 2021
-# Fingerprint (MD5): BF:C3:EC:AD:0F:42:4F:B4:B5:38:DB:35:BF:AD:84:A2
-# Fingerprint (SHA1): F9:2B:E5:26:6C:C0:5D:B2:DC:0D:C3:F2:DC:74:E0:2D:EF:D9:49:CB
-CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
-CKA_TOKEN CK_BBOOL CK_TRUE
-CKA_PRIVATE CK_BBOOL CK_FALSE
-CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "TURKTRUST Mis-issued Intermediate CA 2"
-CKA_ISSUER MULTILINE_OCTAL
-\060\201\254\061\075\060\073\006\003\125\004\003\014\064\124\303
-\234\122\113\124\122\125\123\124\040\105\154\145\153\164\162\157
-\156\151\153\040\123\165\156\165\143\165\040\123\145\162\164\151
-\146\151\153\141\163\304\261\040\110\151\172\155\145\164\154\145
-\162\151\061\013\060\011\006\003\125\004\006\023\002\124\122\061
-\136\060\134\006\003\125\004\012\014\125\124\303\234\122\113\124
-\122\125\123\124\040\102\151\154\147\151\040\304\260\154\145\164
-\151\305\237\151\155\040\166\145\040\102\151\154\151\305\237\151
-\155\040\107\303\274\166\145\156\154\151\304\237\151\040\110\151
-\172\155\145\164\154\145\162\151\040\101\056\305\236\056\040\050
-\143\051\040\113\141\163\304\261\155\040\040\062\060\060\065
-END
-CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\002\010\144
-END
-CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_NOT_TRUSTED
-CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_NOT_TRUSTED
-CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_NOT_TRUSTED
-CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
-
 #
-# Certificate "D-TRUST Root Class 3 CA 2 2009"
+# Certificate "Amazon Root CA 4"
 #
-# 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
-# Fingerprint (SHA1): 58:E8:AB:B0:36:15:33:FB:80:F7:9B:1B:6D:29:D3:FF:8D:5F:00:F0
+# 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
+# Fingerprint (SHA1): F6:10:84:07:D6:F8:BB:67:98:0C:C2:E2:44:C2:EB:AE:1C:EF:63:BE
 CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "D-TRUST Root Class 3 CA 2 2009"
+CKA_LABEL UTF8 "Amazon Root CA 4"
 CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
 CKA_SUBJECT MULTILINE_OCTAL
-\060\115\061\013\060\011\006\003\125\004\006\023\002\104\105\061
-\025\060\023\006\003\125\004\012\014\014\104\055\124\162\165\163
-\164\040\107\155\142\110\061\047\060\045\006\003\125\004\003\014
-\036\104\055\124\122\125\123\124\040\122\157\157\164\040\103\154
-\141\163\163\040\063\040\103\101\040\062\040\062\060\060\071
+\060\071\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\017\060\015\006\003\125\004\012\023\006\101\155\141\172\157\156
+\061\031\060\027\006\003\125\004\003\023\020\101\155\141\172\157
+\156\040\122\157\157\164\040\103\101\040\064
 END
 CKA_ID UTF8 "0"
 CKA_ISSUER MULTILINE_OCTAL
-\060\115\061\013\060\011\006\003\125\004\006\023\002\104\105\061
-\025\060\023\006\003\125\004\012\014\014\104\055\124\162\165\163
-\164\040\107\155\142\110\061\047\060\045\006\003\125\004\003\014
-\036\104\055\124\122\125\123\124\040\122\157\157\164\040\103\154
-\141\163\163\040\063\040\103\101\040\062\040\062\060\060\071
+\060\071\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\017\060\015\006\003\125\004\012\023\006\101\155\141\172\157\156
+\061\031\060\027\006\003\125\004\003\023\020\101\155\141\172\157
+\156\040\122\157\157\164\040\103\101\040\064
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\003\011\203\363
+\002\023\006\154\237\327\301\273\020\114\051\103\345\161\173\173
+\054\310\032\301\016
 END
 CKA_VALUE MULTILINE_OCTAL
-\060\202\004\063\060\202\003\033\240\003\002\001\002\002\003\011
-\203\363\060\015\006\011\052\206\110\206\367\015\001\001\013\005
-\000\060\115\061\013\060\011\006\003\125\004\006\023\002\104\105
-\061\025\060\023\006\003\125\004\012\014\014\104\055\124\162\165
-\163\164\040\107\155\142\110\061\047\060\045\006\003\125\004\003
-\014\036\104\055\124\122\125\123\124\040\122\157\157\164\040\103
-\154\141\163\163\040\063\040\103\101\040\062\040\062\060\060\071
-\060\036\027\015\060\071\061\061\060\065\060\070\063\065\065\070
-\132\027\015\062\071\061\061\060\065\060\070\063\065\065\070\132
-\060\115\061\013\060\011\006\003\125\004\006\023\002\104\105\061
-\025\060\023\006\003\125\004\012\014\014\104\055\124\162\165\163
-\164\040\107\155\142\110\061\047\060\045\006\003\125\004\003\014
-\036\104\055\124\122\125\123\124\040\122\157\157\164\040\103\154
-\141\163\163\040\063\040\103\101\040\062\040\062\060\060\071\060
-\202\001\042\060\015\006\011\052\206\110\206\367\015\001\001\001
-\005\000\003\202\001\017\000\060\202\001\012\002\202\001\001\000
-\323\262\112\317\172\107\357\165\233\043\372\072\057\326\120\105
-\211\065\072\306\153\333\376\333\000\150\250\340\003\021\035\067
-\120\010\237\115\112\150\224\065\263\123\321\224\143\247\040\126
-\257\336\121\170\354\052\075\363\110\110\120\076\012\337\106\125
-\213\047\155\303\020\115\015\221\122\103\330\207\340\135\116\066
-\265\041\312\137\071\100\004\137\133\176\314\243\306\053\251\100
-\036\331\066\204\326\110\363\222\036\064\106\040\044\301\244\121
-\216\112\032\357\120\077\151\135\031\177\105\303\307\001\217\121
-\311\043\350\162\256\264\274\126\011\177\022\313\034\261\257\051
-\220\012\311\125\314\017\323\264\032\355\107\065\132\112\355\234
-\163\004\041\320\252\275\014\023\265\000\312\046\154\304\153\014
-\224\132\225\224\332\120\232\361\377\245\053\146\061\244\311\070
-\240\337\035\037\270\011\056\363\247\350\147\122\253\225\037\340
-\106\076\330\244\303\312\132\305\061\200\350\110\232\237\224\151
-\376\031\335\330\163\174\201\312\226\336\216\355\263\062\005\145
-\204\064\346\346\375\127\020\265\137\166\277\057\260\020\015\305
-\002\003\001\000\001\243\202\001\032\060\202\001\026\060\017\006
-\003\125\035\023\001\001\377\004\005\060\003\001\001\377\060\035
-\006\003\125\035\016\004\026\004\024\375\332\024\304\237\060\336
-\041\275\036\102\071\374\253\143\043\111\340\361\204\060\016\006
-\003\125\035\017\001\001\377\004\004\003\002\001\006\060\201\323
-\006\003\125\035\037\004\201\313\060\201\310\060\201\200\240\176
-\240\174\206\172\154\144\141\160\072\057\057\144\151\162\145\143
-\164\157\162\171\056\144\055\164\162\165\163\164\056\156\145\164
-\057\103\116\075\104\055\124\122\125\123\124\045\062\060\122\157
-\157\164\045\062\060\103\154\141\163\163\045\062\060\063\045\062
-\060\103\101\045\062\060\062\045\062\060\062\060\060\071\054\117
-\075\104\055\124\162\165\163\164\045\062\060\107\155\142\110\054
-\103\075\104\105\077\143\145\162\164\151\146\151\143\141\164\145
-\162\145\166\157\143\141\164\151\157\156\154\151\163\164\060\103
-\240\101\240\077\206\075\150\164\164\160\072\057\057\167\167\167
-\056\144\055\164\162\165\163\164\056\156\145\164\057\143\162\154
-\057\144\055\164\162\165\163\164\137\162\157\157\164\137\143\154
-\141\163\163\137\063\137\143\141\137\062\137\062\060\060\071\056
-\143\162\154\060\015\006\011\052\206\110\206\367\015\001\001\013
-\005\000\003\202\001\001\000\177\227\333\060\310\337\244\234\175
-\041\172\200\160\316\024\022\151\210\024\225\140\104\001\254\262
-\351\060\117\233\120\302\146\330\176\215\060\265\160\061\351\342
-\151\307\363\160\333\040\025\206\320\015\360\276\254\001\165\204
-\316\176\237\115\277\267\140\073\234\363\312\035\342\136\150\330
-\243\235\227\345\100\140\322\066\041\376\320\264\270\027\332\164
-\243\177\324\337\260\230\002\254\157\153\153\054\045\044\162\241
-\145\356\045\132\345\346\062\347\362\337\253\111\372\363\220\151
-\043\333\004\331\347\134\130\374\145\324\227\276\314\374\056\012
-\314\045\052\065\004\370\140\221\025\165\075\101\377\043\037\031
-\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
+\060\202\001\362\060\202\001\170\240\003\002\001\002\002\023\006
+\154\237\327\301\273\020\114\051\103\345\161\173\173\054\310\032
+\301\016\060\012\006\010\052\206\110\316\075\004\003\003\060\071
+\061\013\060\011\006\003\125\004\006\023\002\125\123\061\017\060
+\015\006\003\125\004\012\023\006\101\155\141\172\157\156\061\031
+\060\027\006\003\125\004\003\023\020\101\155\141\172\157\156\040
+\122\157\157\164\040\103\101\040\064\060\036\027\015\061\065\060
+\065\062\066\060\060\060\060\060\060\132\027\015\064\060\060\065
+\062\066\060\060\060\060\060\060\132\060\071\061\013\060\011\006
+\003\125\004\006\023\002\125\123\061\017\060\015\006\003\125\004
+\012\023\006\101\155\141\172\157\156\061\031\060\027\006\003\125
+\004\003\023\020\101\155\141\172\157\156\040\122\157\157\164\040
+\103\101\040\064\060\166\060\020\006\007\052\206\110\316\075\002
+\001\006\005\053\201\004\000\042\003\142\000\004\322\253\212\067
+\117\243\123\015\376\301\212\173\113\250\173\106\113\143\260\142
+\366\055\033\333\010\161\041\322\000\350\143\275\232\047\373\360
+\071\156\135\352\075\245\311\201\252\243\133\040\230\105\135\026
+\333\375\350\020\155\343\234\340\343\275\137\204\142\363\160\144
+\063\240\313\044\057\160\272\210\241\052\240\165\370\201\256\142
+\006\304\201\333\071\156\051\260\036\372\056\134\243\102\060\100
+\060\017\006\003\125\035\023\001\001\377\004\005\060\003\001\001
+\377\060\016\006\003\125\035\017\001\001\377\004\004\003\002\001
+\206\060\035\006\003\125\035\016\004\026\004\024\323\354\307\072
+\145\156\314\341\332\166\232\126\373\234\363\206\155\127\345\201
+\060\012\006\010\052\206\110\316\075\004\003\003\003\150\000\060
+\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
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
 
-# 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
-# Fingerprint (SHA1): 58:E8:AB:B0:36:15:33:FB:80:F7:9B:1B:6D:29:D3:FF:8D:5F:00:F0
+# 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
+# Fingerprint (SHA1): F6:10:84:07:D6:F8:BB:67:98:0C:C2:E2:44:C2:EB:AE:1C:EF:63:BE
 CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "D-TRUST Root Class 3 CA 2 2009"
+CKA_LABEL UTF8 "Amazon Root CA 4"
 CKA_CERT_SHA1_HASH MULTILINE_OCTAL
-\130\350\253\260\066\025\063\373\200\367\233\033\155\051\323\377
-\215\137\000\360
+\366\020\204\007\326\370\273\147\230\014\302\342\104\302\353\256
+\034\357\143\276
 END
 CKA_CERT_MD5_HASH MULTILINE_OCTAL
-\315\340\045\151\215\107\254\234\211\065\220\367\375\121\075\057
+\211\274\047\325\353\027\215\006\152\151\325\375\211\107\264\315
 END
 CKA_ISSUER MULTILINE_OCTAL
-\060\115\061\013\060\011\006\003\125\004\006\023\002\104\105\061
-\025\060\023\006\003\125\004\012\014\014\104\055\124\162\165\163
-\164\040\107\155\142\110\061\047\060\045\006\003\125\004\003\014
-\036\104\055\124\122\125\123\124\040\122\157\157\164\040\103\154
-\141\163\163\040\063\040\103\101\040\062\040\062\060\060\071
+\060\071\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\017\060\015\006\003\125\004\012\023\006\101\155\141\172\157\156
+\061\031\060\027\006\003\125\004\003\023\020\101\155\141\172\157
+\156\040\122\157\157\164\040\103\101\040\064
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\003\011\203\363
+\002\023\006\154\237\327\301\273\020\114\051\103\345\161\173\173
+\054\310\032\301\016
 END
 CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
-CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
 CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
 CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
 
 #
-# Certificate "D-TRUST Root Class 3 CA 2 EV 2009"
+# Certificate "Symantec Class 1 Public Primary Certification Authority - G6"
 #
-# 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
-# Fingerprint (SHA1): 96:C9:1B:0B:95:B4:10:98:42:FA:D0:D8:22:79:FE:60:FA:B9:16:83
+# 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
+# Fingerprint (SHA1): 51:7F:61:1E:29:91:6B:53:82:FB:72:E7:44:D9:8D:C3:CC:53:6D:64
 CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "D-TRUST Root Class 3 CA 2 EV 2009"
+CKA_LABEL UTF8 "Symantec Class 1 Public Primary Certification Authority - G6"
 CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
 CKA_SUBJECT MULTILINE_OCTAL
-\060\120\061\013\060\011\006\003\125\004\006\023\002\104\105\061
-\025\060\023\006\003\125\004\012\014\014\104\055\124\162\165\163
-\164\040\107\155\142\110\061\052\060\050\006\003\125\004\003\014
-\041\104\055\124\122\125\123\124\040\122\157\157\164\040\103\154
-\141\163\163\040\063\040\103\101\040\062\040\105\126\040\062\060
-\060\071
+\060\201\224\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\035\060\033\006\003\125\004\012\023\024\123\171\155\141\156
+\164\145\143\040\103\157\162\160\157\162\141\164\151\157\156\061
+\037\060\035\006\003\125\004\013\023\026\123\171\155\141\156\164
+\145\143\040\124\162\165\163\164\040\116\145\164\167\157\162\153
+\061\105\060\103\006\003\125\004\003\023\074\123\171\155\141\156
+\164\145\143\040\103\154\141\163\163\040\061\040\120\165\142\154
+\151\143\040\120\162\151\155\141\162\171\040\103\145\162\164\151
+\146\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151
+\164\171\040\055\040\107\066
 END
 CKA_ID UTF8 "0"
 CKA_ISSUER MULTILINE_OCTAL
-\060\120\061\013\060\011\006\003\125\004\006\023\002\104\105\061
-\025\060\023\006\003\125\004\012\014\014\104\055\124\162\165\163
-\164\040\107\155\142\110\061\052\060\050\006\003\125\004\003\014
-\041\104\055\124\122\125\123\124\040\122\157\157\164\040\103\154
-\141\163\163\040\063\040\103\101\040\062\040\105\126\040\062\060
-\060\071
+\060\201\224\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\035\060\033\006\003\125\004\012\023\024\123\171\155\141\156
+\164\145\143\040\103\157\162\160\157\162\141\164\151\157\156\061
+\037\060\035\006\003\125\004\013\023\026\123\171\155\141\156\164
+\145\143\040\124\162\165\163\164\040\116\145\164\167\157\162\153
+\061\105\060\103\006\003\125\004\003\023\074\123\171\155\141\156
+\164\145\143\040\103\154\141\163\163\040\061\040\120\165\142\154
+\151\143\040\120\162\151\155\141\162\171\040\103\145\162\164\151
+\146\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151
+\164\171\040\055\040\107\066
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\003\011\203\364
+\002\020\044\062\165\362\035\057\322\011\063\367\264\152\312\320
+\363\230
 END
 CKA_VALUE MULTILINE_OCTAL
-\060\202\004\103\060\202\003\053\240\003\002\001\002\002\003\011
-\203\364\060\015\006\011\052\206\110\206\367\015\001\001\013\005
-\000\060\120\061\013\060\011\006\003\125\004\006\023\002\104\105
-\061\025\060\023\006\003\125\004\012\014\014\104\055\124\162\165
-\163\164\040\107\155\142\110\061\052\060\050\006\003\125\004\003
-\014\041\104\055\124\122\125\123\124\040\122\157\157\164\040\103
-\154\141\163\163\040\063\040\103\101\040\062\040\105\126\040\062
-\060\060\071\060\036\027\015\060\071\061\061\060\065\060\070\065
-\060\064\066\132\027\015\062\071\061\061\060\065\060\070\065\060
-\064\066\132\060\120\061\013\060\011\006\003\125\004\006\023\002
-\104\105\061\025\060\023\006\003\125\004\012\014\014\104\055\124
-\162\165\163\164\040\107\155\142\110\061\052\060\050\006\003\125
-\004\003\014\041\104\055\124\122\125\123\124\040\122\157\157\164
-\040\103\154\141\163\163\040\063\040\103\101\040\062\040\105\126
-\040\062\060\060\071\060\202\001\042\060\015\006\011\052\206\110
-\206\367\015\001\001\001\005\000\003\202\001\017\000\060\202\001
-\012\002\202\001\001\000\231\361\204\064\160\272\057\267\060\240
-\216\275\174\004\317\276\142\274\231\375\202\227\322\172\012\147
-\226\070\011\366\020\116\225\042\163\231\215\332\025\055\347\005
-\374\031\163\042\267\216\230\000\274\074\075\254\241\154\373\326
-\171\045\113\255\360\314\144\332\210\076\051\270\017\011\323\064
-\335\063\365\142\321\341\315\031\351\356\030\117\114\130\256\342
-\036\326\014\133\025\132\330\072\270\304\030\144\036\343\063\262
-\265\211\167\116\014\277\331\224\153\023\227\157\022\243\376\231
-\251\004\314\025\354\140\150\066\355\010\173\267\365\277\223\355
-\146\061\203\214\306\161\064\207\116\027\352\257\213\221\215\034
-\126\101\256\042\067\136\067\362\035\331\321\055\015\057\151\121
-\247\276\146\246\212\072\052\275\307\032\261\341\024\360\276\072
-\035\271\317\133\261\152\376\264\261\106\040\242\373\036\073\160
-\357\223\230\175\214\163\226\362\305\357\205\160\255\051\046\374
-\036\004\076\034\240\330\017\313\122\203\142\174\356\213\123\225
-\220\251\127\242\352\141\005\330\371\115\304\047\372\156\255\355
-\371\327\121\367\153\245\002\003\001\000\001\243\202\001\044\060
-\202\001\040\060\017\006\003\125\035\023\001\001\377\004\005\060
-\003\001\001\377\060\035\006\003\125\035\016\004\026\004\024\323
-\224\212\114\142\023\052\031\056\314\257\162\212\175\066\327\232
-\034\334\147\060\016\006\003\125\035\017\001\001\377\004\004\003
-\002\001\006\060\201\335\006\003\125\035\037\004\201\325\060\201
-\322\060\201\207\240\201\204\240\201\201\206\177\154\144\141\160
-\072\057\057\144\151\162\145\143\164\157\162\171\056\144\055\164
-\162\165\163\164\056\156\145\164\057\103\116\075\104\055\124\122
-\125\123\124\045\062\060\122\157\157\164\045\062\060\103\154\141
-\163\163\045\062\060\063\045\062\060\103\101\045\062\060\062\045
-\062\060\105\126\045\062\060\062\060\060\071\054\117\075\104\055
-\124\162\165\163\164\045\062\060\107\155\142\110\054\103\075\104
-\105\077\143\145\162\164\151\146\151\143\141\164\145\162\145\166
-\157\143\141\164\151\157\156\154\151\163\164\060\106\240\104\240
-\102\206\100\150\164\164\160\072\057\057\167\167\167\056\144\055
-\164\162\165\163\164\056\156\145\164\057\143\162\154\057\144\055
-\164\162\165\163\164\137\162\157\157\164\137\143\154\141\163\163
-\137\063\137\143\141\137\062\137\145\166\137\062\060\060\071\056
-\143\162\154\060\015\006\011\052\206\110\206\367\015\001\001\013
-\005\000\003\202\001\001\000\064\355\173\132\074\244\224\210\357
-\032\021\165\007\057\263\376\074\372\036\121\046\353\207\366\051
-\336\340\361\324\306\044\011\351\301\317\125\033\264\060\331\316
-\032\376\006\121\246\025\244\055\357\262\113\277\040\050\045\111
-\321\246\066\167\064\350\144\337\122\261\021\307\163\172\315\071
-\236\302\255\214\161\041\362\132\153\257\337\074\116\125\257\262
-\204\145\024\211\271\167\313\052\061\276\317\243\155\317\157\110
-\224\062\106\157\347\161\214\240\246\204\031\067\007\362\003\105
-\011\053\206\165\174\337\137\151\127\000\333\156\330\246\162\042
-\113\120\324\165\230\126\337\267\030\377\103\103\120\256\172\104
-\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
+\060\202\003\366\060\202\002\336\240\003\002\001\002\002\020\044
+\062\165\362\035\057\322\011\063\367\264\152\312\320\363\230\060
+\015\006\011\052\206\110\206\367\015\001\001\013\005\000\060\201
+\224\061\013\060\011\006\003\125\004\006\023\002\125\123\061\035
+\060\033\006\003\125\004\012\023\024\123\171\155\141\156\164\145
+\143\040\103\157\162\160\157\162\141\164\151\157\156\061\037\060
+\035\006\003\125\004\013\023\026\123\171\155\141\156\164\145\143
+\040\124\162\165\163\164\040\116\145\164\167\157\162\153\061\105
+\060\103\006\003\125\004\003\023\074\123\171\155\141\156\164\145
+\143\040\103\154\141\163\163\040\061\040\120\165\142\154\151\143
+\040\120\162\151\155\141\162\171\040\103\145\162\164\151\146\151
+\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164\171
+\040\055\040\107\066\060\036\027\015\061\061\061\060\061\070\060
+\060\060\060\060\060\132\027\015\063\067\061\062\060\061\062\063
+\065\071\065\071\132\060\201\224\061\013\060\011\006\003\125\004
+\006\023\002\125\123\061\035\060\033\006\003\125\004\012\023\024
+\123\171\155\141\156\164\145\143\040\103\157\162\160\157\162\141
+\164\151\157\156\061\037\060\035\006\003\125\004\013\023\026\123
+\171\155\141\156\164\145\143\040\124\162\165\163\164\040\116\145
+\164\167\157\162\153\061\105\060\103\006\003\125\004\003\023\074
+\123\171\155\141\156\164\145\143\040\103\154\141\163\163\040\061
+\040\120\165\142\154\151\143\040\120\162\151\155\141\162\171\040
+\103\145\162\164\151\146\151\143\141\164\151\157\156\040\101\165
+\164\150\157\162\151\164\171\040\055\040\107\066\060\202\001\042
+\060\015\006\011\052\206\110\206\367\015\001\001\001\005\000\003
+\202\001\017\000\060\202\001\012\002\202\001\001\000\307\071\327
+\111\144\251\231\202\042\114\352\105\331\007\026\343\173\364\203
+\350\231\163\372\153\261\066\340\232\167\240\100\302\201\215\001
+\307\314\214\275\217\175\367\171\343\172\114\003\115\331\373\375
+\207\070\050\054\335\232\213\124\010\333\147\373\033\214\376\050
+\222\057\276\267\262\110\247\201\241\330\136\210\303\314\071\100
+\101\132\321\334\345\332\020\237\057\332\001\115\375\056\106\174
+\371\056\047\012\151\067\356\221\243\033\152\314\104\277\033\307
+\303\324\021\262\120\140\227\011\275\056\042\365\101\204\146\237
+\315\100\246\251\000\200\301\037\225\222\237\336\363\110\357\333
+\035\167\141\374\177\337\356\226\244\162\320\266\076\377\170\047
+\257\313\222\025\151\010\333\143\020\342\346\227\254\156\334\254
+\366\242\316\036\107\231\271\211\267\022\346\241\324\315\131\021
+\147\303\157\205\330\102\116\050\276\131\125\131\004\225\253\217
+\067\200\277\015\360\374\037\072\144\061\130\201\170\327\342\065
+\366\040\077\051\270\217\026\156\076\110\334\265\114\007\341\362
+\032\352\176\012\171\326\250\275\353\135\206\053\115\002\003\001
+\000\001\243\102\060\100\060\016\006\003\125\035\017\001\001\377
+\004\004\003\002\001\006\060\017\006\003\125\035\023\001\001\377
+\004\005\060\003\001\001\377\060\035\006\003\125\035\016\004\026
+\004\024\063\101\350\310\071\022\025\223\110\362\226\062\056\132
+\365\332\224\137\123\140\060\015\006\011\052\206\110\206\367\015
+\001\001\013\005\000\003\202\001\001\000\025\343\163\127\261\027
+\266\137\111\151\104\246\366\136\172\147\254\322\336\165\111\253
+\376\045\125\307\072\311\104\025\020\156\277\061\153\313\331\007
+\223\177\034\205\143\000\343\062\022\340\314\313\373\071\154\217
+\342\123\342\074\100\063\331\244\214\107\346\255\130\373\211\257
+\343\336\206\051\126\064\054\105\270\022\372\104\211\156\055\024
+\045\050\044\001\145\326\352\122\254\005\156\126\022\011\075\320
+\164\364\327\275\006\312\250\072\215\126\102\372\215\162\076\164
+\361\003\162\337\207\033\136\016\172\125\226\054\070\267\230\205
+\315\115\063\104\311\224\217\132\061\060\067\113\243\072\022\263
+\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
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+# For Email Distrust After: Wed Aug 31 00:00:00 2022
+CKA_NSS_EMAIL_DISTRUST_AFTER MULTILINE_OCTAL
+\062\062\060\070\063\061\060\060\060\060\060\060\132
+END
+
+# 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
+# Fingerprint (SHA1): 51:7F:61:1E:29:91:6B:53:82:FB:72:E7:44:D9:8D:C3:CC:53:6D:64
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Symantec Class 1 Public Primary Certification Authority - G6"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\121\177\141\036\051\221\153\123\202\373\162\347\104\331\215\303
+\314\123\155\144
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\057\250\264\332\366\144\113\036\202\371\106\075\124\032\174\260
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\201\224\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\035\060\033\006\003\125\004\012\023\024\123\171\155\141\156
+\164\145\143\040\103\157\162\160\157\162\141\164\151\157\156\061
+\037\060\035\006\003\125\004\013\023\026\123\171\155\141\156\164
+\145\143\040\124\162\165\163\164\040\116\145\164\167\157\162\153
+\061\105\060\103\006\003\125\004\003\023\074\123\171\155\141\156
+\164\145\143\040\103\154\141\163\163\040\061\040\120\165\142\154
+\151\143\040\120\162\151\155\141\162\171\040\103\145\162\164\151
+\146\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151
+\164\171\040\055\040\107\066
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\020\044\062\165\362\035\057\322\011\063\367\264\152\312\320
+\363\230
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "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
+# Fingerprint (SHA1): 40:B3:31:A0:E9:BF:E8:55:BC:39:93:CA:70:4F:4E:C2:51:D4:1D:8F
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Symantec Class 2 Public Primary Certification Authority - G6"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\201\224\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\035\060\033\006\003\125\004\012\023\024\123\171\155\141\156
+\164\145\143\040\103\157\162\160\157\162\141\164\151\157\156\061
+\037\060\035\006\003\125\004\013\023\026\123\171\155\141\156\164
+\145\143\040\124\162\165\163\164\040\116\145\164\167\157\162\153
+\061\105\060\103\006\003\125\004\003\023\074\123\171\155\141\156
+\164\145\143\040\103\154\141\163\163\040\062\040\120\165\142\154
+\151\143\040\120\162\151\155\141\162\171\040\103\145\162\164\151
+\146\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151
+\164\171\040\055\040\107\066
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\201\224\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\035\060\033\006\003\125\004\012\023\024\123\171\155\141\156
+\164\145\143\040\103\157\162\160\157\162\141\164\151\157\156\061
+\037\060\035\006\003\125\004\013\023\026\123\171\155\141\156\164
+\145\143\040\124\162\165\163\164\040\116\145\164\167\157\162\153
+\061\105\060\103\006\003\125\004\003\023\074\123\171\155\141\156
+\164\145\143\040\103\154\141\163\163\040\062\040\120\165\142\154
+\151\143\040\120\162\151\155\141\162\171\040\103\145\162\164\151
+\146\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151
+\164\171\040\055\040\107\066
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\020\144\202\236\374\067\036\164\135\374\227\377\227\310\261
+\377\101
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\003\366\060\202\002\336\240\003\002\001\002\002\020\144
+\202\236\374\067\036\164\135\374\227\377\227\310\261\377\101\060
+\015\006\011\052\206\110\206\367\015\001\001\013\005\000\060\201
+\224\061\013\060\011\006\003\125\004\006\023\002\125\123\061\035
+\060\033\006\003\125\004\012\023\024\123\171\155\141\156\164\145
+\143\040\103\157\162\160\157\162\141\164\151\157\156\061\037\060
+\035\006\003\125\004\013\023\026\123\171\155\141\156\164\145\143
+\040\124\162\165\163\164\040\116\145\164\167\157\162\153\061\105
+\060\103\006\003\125\004\003\023\074\123\171\155\141\156\164\145
+\143\040\103\154\141\163\163\040\062\040\120\165\142\154\151\143
+\040\120\162\151\155\141\162\171\040\103\145\162\164\151\146\151
+\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164\171
+\040\055\040\107\066\060\036\027\015\061\061\061\060\061\070\060
+\060\060\060\060\060\132\027\015\063\067\061\062\060\061\062\063
+\065\071\065\071\132\060\201\224\061\013\060\011\006\003\125\004
+\006\023\002\125\123\061\035\060\033\006\003\125\004\012\023\024
+\123\171\155\141\156\164\145\143\040\103\157\162\160\157\162\141
+\164\151\157\156\061\037\060\035\006\003\125\004\013\023\026\123
+\171\155\141\156\164\145\143\040\124\162\165\163\164\040\116\145
+\164\167\157\162\153\061\105\060\103\006\003\125\004\003\023\074
+\123\171\155\141\156\164\145\143\040\103\154\141\163\163\040\062
+\040\120\165\142\154\151\143\040\120\162\151\155\141\162\171\040
+\103\145\162\164\151\146\151\143\141\164\151\157\156\040\101\165
+\164\150\157\162\151\164\171\040\055\040\107\066\060\202\001\042
+\060\015\006\011\052\206\110\206\367\015\001\001\001\005\000\003
+\202\001\017\000\060\202\001\012\002\202\001\001\000\315\314\351
+\005\310\143\205\313\077\100\143\027\275\030\372\065\346\004\147
+\127\145\230\051\244\117\311\134\217\017\064\322\370\332\250\023
+\142\252\270\036\120\147\170\260\026\114\240\071\251\025\172\256
+\355\322\242\300\360\220\067\051\030\046\134\350\015\074\266\154
+\111\077\301\340\334\331\113\266\024\031\013\246\323\226\341\326
+\011\343\031\046\034\371\037\145\113\371\032\103\034\000\203\326
+\320\252\111\242\324\333\346\142\070\272\120\024\103\155\371\061
+\370\126\026\331\070\002\221\317\353\154\335\273\071\116\231\341
+\060\147\105\361\324\360\215\303\337\376\362\070\007\041\175\000
+\136\126\104\263\344\140\275\221\053\234\253\133\004\162\017\262
+\050\331\162\253\005\040\102\045\251\133\003\152\040\020\314\061
+\360\053\332\065\054\320\373\232\227\116\360\202\113\053\330\137
+\066\243\013\055\257\143\015\035\045\177\241\156\134\142\241\215
+\050\076\241\374\034\040\370\001\057\272\125\232\021\260\031\322
+\310\120\171\153\016\152\005\327\252\004\066\262\243\362\341\137
+\167\247\167\234\345\036\334\351\337\152\301\145\135\002\003\001
+\000\001\243\102\060\100\060\016\006\003\125\035\017\001\001\377
+\004\004\003\002\001\006\060\017\006\003\125\035\023\001\001\377
+\004\005\060\003\001\001\377\060\035\006\003\125\035\016\004\026
+\004\024\207\214\040\225\310\230\112\321\326\200\006\112\220\064
+\104\337\034\115\277\260\060\015\006\011\052\206\110\206\367\015
+\001\001\013\005\000\003\202\001\001\000\201\216\262\245\146\226
+\267\041\245\266\357\157\043\132\137\333\201\305\102\245\170\301
+\151\375\364\074\327\371\134\153\160\162\032\374\132\227\115\000
+\200\210\210\202\212\303\161\015\216\305\211\233\054\355\215\013
+\322\162\124\365\175\324\134\103\127\351\363\256\245\002\021\366
+\166\053\201\127\335\175\332\164\060\375\124\107\366\340\026\156
+\246\264\012\110\346\347\165\007\017\051\031\071\316\171\364\266
+\154\305\137\231\325\037\113\372\337\155\054\074\015\124\200\160
+\360\210\013\200\317\306\150\242\270\035\160\331\166\214\374\356
+\245\311\317\255\035\317\231\045\127\132\142\105\313\026\153\275
+\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
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+# For Email Distrust After: Wed Aug 31 00:00:00 2022
+CKA_NSS_EMAIL_DISTRUST_AFTER MULTILINE_OCTAL
+\062\062\060\070\063\061\060\060\060\060\060\060\132
+END
 
-# 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
-# Fingerprint (SHA1): 96:C9:1B:0B:95:B4:10:98:42:FA:D0:D8:22:79:FE:60:FA:B9:16:83
+# 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
+# Fingerprint (SHA1): 40:B3:31:A0:E9:BF:E8:55:BC:39:93:CA:70:4F:4E:C2:51:D4:1D:8F
 CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "D-TRUST Root Class 3 CA 2 EV 2009"
+CKA_LABEL UTF8 "Symantec Class 2 Public Primary Certification Authority - G6"
 CKA_CERT_SHA1_HASH MULTILINE_OCTAL
-\226\311\033\013\225\264\020\230\102\372\320\330\042\171\376\140
-\372\271\026\203
+\100\263\061\240\351\277\350\125\274\071\223\312\160\117\116\302
+\121\324\035\217
 END
 CKA_CERT_MD5_HASH MULTILINE_OCTAL
-\252\306\103\054\136\055\315\304\064\300\120\117\021\002\117\266
+\175\013\203\345\373\174\255\007\117\040\251\265\337\143\355\171
 END
 CKA_ISSUER MULTILINE_OCTAL
-\060\120\061\013\060\011\006\003\125\004\006\023\002\104\105\061
-\025\060\023\006\003\125\004\012\014\014\104\055\124\162\165\163
-\164\040\107\155\142\110\061\052\060\050\006\003\125\004\003\014
-\041\104\055\124\122\125\123\124\040\122\157\157\164\040\103\154
-\141\163\163\040\063\040\103\101\040\062\040\105\126\040\062\060
-\060\071
+\060\201\224\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\035\060\033\006\003\125\004\012\023\024\123\171\155\141\156
+\164\145\143\040\103\157\162\160\157\162\141\164\151\157\156\061
+\037\060\035\006\003\125\004\013\023\026\123\171\155\141\156\164
+\145\143\040\124\162\165\163\164\040\116\145\164\167\157\162\153
+\061\105\060\103\006\003\125\004\003\023\074\123\171\155\141\156
+\164\145\143\040\103\154\141\163\163\040\062\040\120\165\142\154
+\151\143\040\120\162\151\155\141\162\171\040\103\145\162\164\151
+\146\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151
+\164\171\040\055\040\107\066
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\003\011\203\364
+\002\020\144\202\236\374\067\036\164\135\374\227\377\227\310\261
+\377\101
 END
-CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
-CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
 CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
 CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
 
 #
-# Certificate "Swisscom Root CA 2"
+# Certificate "D-TRUST Root CA 3 2013"
 #
-# 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
-# Fingerprint (SHA1): 77:47:4F:C6:30:E4:0F:4C:47:64:3F:84:BA:B8:C6:95:4A:8A:41:EC
+# Issuer: CN=D-TRUST Root CA 3 2013,O=D-Trust GmbH,C=DE
+# Serial Number: 1039788 (0xfddac)
+# Subject: CN=D-TRUST Root CA 3 2013,O=D-Trust GmbH,C=DE
+# Not Valid Before: Fri Sep 20 08:25:51 2013
+# Not Valid After : Wed Sep 20 08:25:51 2028
+# Fingerprint (SHA-256): A1:A8:6D:04:12:1E:B8:7F:02:7C:66:F5:33:03:C2:8E:57:39:F9:43:FC:84:B3:8A:D6:AF:00:90:35:DD:94:57
+# Fingerprint (SHA1): 6C:7C:CC:E7:D4:AE:51:5F:99:08:CD:3F:F6:E8:C3:78:DF:6F:EF:97
 CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "Swisscom Root CA 2"
+CKA_LABEL UTF8 "D-TRUST Root CA 3 2013"
 CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
 CKA_SUBJECT MULTILINE_OCTAL
-\060\144\061\013\060\011\006\003\125\004\006\023\002\143\150\061
-\021\060\017\006\003\125\004\012\023\010\123\167\151\163\163\143
-\157\155\061\045\060\043\006\003\125\004\013\023\034\104\151\147
-\151\164\141\154\040\103\145\162\164\151\146\151\143\141\164\145
-\040\123\145\162\166\151\143\145\163\061\033\060\031\006\003\125
-\004\003\023\022\123\167\151\163\163\143\157\155\040\122\157\157
-\164\040\103\101\040\062
+\060\105\061\013\060\011\006\003\125\004\006\023\002\104\105\061
+\025\060\023\006\003\125\004\012\014\014\104\055\124\162\165\163
+\164\040\107\155\142\110\061\037\060\035\006\003\125\004\003\014
+\026\104\055\124\122\125\123\124\040\122\157\157\164\040\103\101
+\040\063\040\062\060\061\063
 END
 CKA_ID UTF8 "0"
 CKA_ISSUER MULTILINE_OCTAL
-\060\144\061\013\060\011\006\003\125\004\006\023\002\143\150\061
-\021\060\017\006\003\125\004\012\023\010\123\167\151\163\163\143
-\157\155\061\045\060\043\006\003\125\004\013\023\034\104\151\147
-\151\164\141\154\040\103\145\162\164\151\146\151\143\141\164\145
-\040\123\145\162\166\151\143\145\163\061\033\060\031\006\003\125
-\004\003\023\022\123\167\151\163\163\143\157\155\040\122\157\157
-\164\040\103\101\040\062
+\060\105\061\013\060\011\006\003\125\004\006\023\002\104\105\061
+\025\060\023\006\003\125\004\012\014\014\104\055\124\162\165\163
+\164\040\107\155\142\110\061\037\060\035\006\003\125\004\003\014
+\026\104\055\124\122\125\123\124\040\122\157\157\164\040\103\101
+\040\063\040\062\060\061\063
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\020\036\236\050\350\110\362\345\357\303\174\112\036\132\030
-\147\266
+\002\003\017\335\254
 END
 CKA_VALUE MULTILINE_OCTAL
-\060\202\005\331\060\202\003\301\240\003\002\001\002\002\020\036
-\236\050\350\110\362\345\357\303\174\112\036\132\030\147\266\060
-\015\006\011\052\206\110\206\367\015\001\001\013\005\000\060\144
-\061\013\060\011\006\003\125\004\006\023\002\143\150\061\021\060
-\017\006\003\125\004\012\023\010\123\167\151\163\163\143\157\155
-\061\045\060\043\006\003\125\004\013\023\034\104\151\147\151\164
-\141\154\040\103\145\162\164\151\146\151\143\141\164\145\040\123
-\145\162\166\151\143\145\163\061\033\060\031\006\003\125\004\003
-\023\022\123\167\151\163\163\143\157\155\040\122\157\157\164\040
-\103\101\040\062\060\036\027\015\061\061\060\066\062\064\060\070
-\063\070\061\064\132\027\015\063\061\060\066\062\065\060\067\063
-\070\061\064\132\060\144\061\013\060\011\006\003\125\004\006\023
-\002\143\150\061\021\060\017\006\003\125\004\012\023\010\123\167
-\151\163\163\143\157\155\061\045\060\043\006\003\125\004\013\023
-\034\104\151\147\151\164\141\154\040\103\145\162\164\151\146\151
-\143\141\164\145\040\123\145\162\166\151\143\145\163\061\033\060
-\031\006\003\125\004\003\023\022\123\167\151\163\163\143\157\155
-\040\122\157\157\164\040\103\101\040\062\060\202\002\042\060\015
-\006\011\052\206\110\206\367\015\001\001\001\005\000\003\202\002
-\017\000\060\202\002\012\002\202\002\001\000\225\102\116\204\235
-\121\346\323\011\350\162\132\043\151\333\170\160\216\026\361\053
-\217\015\003\316\223\314\056\000\010\173\253\063\214\364\351\100
-\346\027\114\253\236\270\107\024\062\167\062\335\050\014\336\030
-\113\137\166\237\370\071\073\374\116\211\330\174\305\147\357\253
-\322\271\064\137\153\072\363\144\066\316\302\260\317\023\150\312
-\310\313\353\265\342\075\056\041\337\352\054\324\340\371\160\226
-\114\377\152\130\230\267\027\344\033\122\345\176\007\000\035\137
-\332\346\076\225\004\267\151\210\071\241\101\140\045\141\113\225
-\071\150\142\034\261\013\005\211\300\066\202\024\041\077\256\333
-\241\375\274\157\034\140\206\266\123\224\111\271\053\106\305\117
-\000\053\277\241\273\313\077\340\307\127\034\127\350\326\151\370
-\301\044\122\235\210\125\335\302\207\056\164\043\320\024\375\052
-\107\132\273\246\235\375\224\344\321\212\245\137\206\143\166\205
-\313\257\377\111\050\374\200\355\114\171\322\273\344\300\357\001
-\356\120\101\010\065\043\160\053\251\026\264\214\156\205\351\266
-\021\317\061\335\123\046\033\337\055\132\112\002\100\374\304\300
-\266\351\061\032\010\050\345\140\303\037\304\220\216\020\142\140
-\104\015\354\012\276\125\030\161\054\245\364\262\274\025\142\377
-\034\343\276\035\332\036\127\263\074\176\315\202\035\221\343\113
-\353\054\122\064\260\212\375\022\116\226\260\353\160\177\236\071
-\367\146\102\261\253\254\122\332\166\100\127\173\052\275\350\156
-\003\262\013\200\205\210\235\014\307\302\167\260\232\232\127\364
-\270\372\023\134\150\223\072\147\244\227\320\033\231\267\206\062
-\113\140\330\316\357\320\014\177\225\237\157\207\117\207\212\216
-\137\010\174\252\133\374\132\276\241\221\237\125\175\116\260\013
-\151\314\260\224\250\247\207\362\323\112\120\334\137\162\260\026
-\165\036\313\264\030\142\232\260\247\071\252\233\237\146\330\215
-\246\154\226\025\343\346\362\370\361\203\142\154\273\125\351\141
-\223\243\075\365\261\127\213\117\043\260\233\345\224\152\057\337
-\214\337\225\121\051\140\241\013\051\344\134\125\130\267\250\374
-\231\356\045\115\114\016\263\323\114\217\204\350\051\017\375\020
-\124\002\205\310\371\345\303\213\317\347\017\002\003\001\000\001
-\243\201\206\060\201\203\060\016\006\003\125\035\017\001\001\377
-\004\004\003\002\001\206\060\035\006\003\125\035\041\004\026\060
-\024\060\022\006\007\140\205\164\001\123\002\001\006\007\140\205
-\164\001\123\002\001\060\022\006\003\125\035\023\001\001\377\004
-\010\060\006\001\001\377\002\001\007\060\035\006\003\125\035\016
-\004\026\004\024\115\046\040\042\211\113\323\325\244\012\241\157
-\336\342\022\201\305\361\074\056\060\037\006\003\125\035\043\004
-\030\060\026\200\024\115\046\040\042\211\113\323\325\244\012\241
-\157\336\342\022\201\305\361\074\056\060\015\006\011\052\206\110
-\206\367\015\001\001\013\005\000\003\202\002\001\000\062\012\262
-\244\033\313\175\276\202\127\211\271\152\177\363\364\301\056\021
-\175\270\031\076\171\267\250\250\162\067\146\233\032\355\254\023
-\073\016\277\142\360\234\337\236\173\241\123\110\016\101\172\312
-\040\247\027\033\266\170\354\100\221\363\102\255\020\303\134\357
-\377\140\131\177\315\205\243\213\075\110\034\045\002\074\147\175
-\365\062\351\057\060\345\175\245\172\070\320\363\146\052\146\036
-\215\063\203\212\157\174\156\250\132\165\232\270\327\332\130\110
-\104\107\250\114\372\114\111\012\112\302\022\067\250\100\014\303
-\310\341\320\127\015\227\062\225\307\072\237\227\323\127\370\013
-\336\345\162\363\243\333\377\265\330\131\262\163\335\115\052\161
-\262\272\111\365\313\034\325\365\171\310\231\263\374\301\114\164
-\343\264\275\051\067\025\004\050\036\336\105\106\160\354\257\272
-\170\016\212\052\316\000\171\334\300\137\031\147\054\153\113\357
-\150\150\013\103\343\254\301\142\011\357\246\335\145\141\240\257
-\204\125\110\221\122\034\306\045\221\052\320\301\042\043\141\131
-\257\105\021\205\035\001\044\064\217\317\263\377\027\162\040\023
-\302\200\252\041\054\161\071\016\320\217\134\301\323\321\216\042
-\162\106\114\035\226\256\117\161\261\341\005\051\226\131\364\273
-\236\165\075\317\015\067\015\142\333\046\214\143\251\043\337\147
-\006\074\174\072\332\064\102\341\146\264\106\004\336\306\226\230
-\017\113\110\172\044\062\165\221\237\254\367\150\351\052\271\125
-\145\316\135\141\323\047\160\330\067\376\237\271\257\240\056\126
-\267\243\145\121\355\073\253\024\277\114\121\003\350\137\212\005
-\233\356\212\156\234\357\277\150\372\310\332\013\343\102\311\320
-\027\024\234\267\112\340\257\223\047\041\125\046\265\144\057\215
-\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
+\060\202\004\016\060\202\002\366\240\003\002\001\002\002\003\017
+\335\254\060\015\006\011\052\206\110\206\367\015\001\001\013\005
+\000\060\105\061\013\060\011\006\003\125\004\006\023\002\104\105
+\061\025\060\023\006\003\125\004\012\014\014\104\055\124\162\165
+\163\164\040\107\155\142\110\061\037\060\035\006\003\125\004\003
+\014\026\104\055\124\122\125\123\124\040\122\157\157\164\040\103
+\101\040\063\040\062\060\061\063\060\036\027\015\061\063\060\071
+\062\060\060\070\062\065\065\061\132\027\015\062\070\060\071\062
+\060\060\070\062\065\065\061\132\060\105\061\013\060\011\006\003
+\125\004\006\023\002\104\105\061\025\060\023\006\003\125\004\012
+\014\014\104\055\124\162\165\163\164\040\107\155\142\110\061\037
+\060\035\006\003\125\004\003\014\026\104\055\124\122\125\123\124
+\040\122\157\157\164\040\103\101\040\063\040\062\060\061\063\060
+\202\001\042\060\015\006\011\052\206\110\206\367\015\001\001\001
+\005\000\003\202\001\017\000\060\202\001\012\002\202\001\001\000
+\304\173\102\222\202\037\354\355\124\230\216\022\300\312\011\337
+\223\156\072\223\134\033\344\020\167\236\116\151\210\154\366\341
+\151\362\366\233\242\141\261\275\007\040\164\230\145\361\214\046
+\010\315\250\065\312\200\066\321\143\155\350\104\172\202\303\154
+\136\336\273\350\066\322\304\150\066\214\237\062\275\204\042\340
+\334\302\356\020\106\071\155\257\223\071\256\207\346\303\274\011
+\311\054\153\147\133\331\233\166\165\114\013\340\273\305\327\274
+\076\171\362\137\276\321\220\127\371\256\366\146\137\061\277\323
+\155\217\247\272\112\363\043\145\273\267\357\243\045\327\012\352
+\130\266\357\210\372\372\171\262\122\130\325\360\254\214\241\121
+\164\051\225\252\121\073\220\062\003\237\034\162\164\220\336\075
+\355\141\322\345\343\375\144\107\345\271\267\112\251\367\037\256
+\226\206\004\254\057\343\244\201\167\267\132\026\377\330\017\077
+\366\267\170\314\244\257\372\133\074\022\133\250\122\211\162\357
+\210\363\325\104\201\206\225\043\237\173\335\274\331\064\357\174
+\224\074\252\300\101\302\343\235\120\032\300\344\031\042\374\263
+\002\003\001\000\001\243\202\001\005\060\202\001\001\060\017\006
+\003\125\035\023\001\001\377\004\005\060\003\001\001\377\060\035
+\006\003\125\035\016\004\026\004\024\077\220\310\175\307\025\157
+\363\044\217\251\303\057\113\242\017\041\262\057\347\060\016\006
+\003\125\035\017\001\001\377\004\004\003\002\001\006\060\201\276
+\006\003\125\035\037\004\201\266\060\201\263\060\164\240\162\240
+\160\206\156\154\144\141\160\072\057\057\144\151\162\145\143\164
+\157\162\171\056\144\055\164\162\165\163\164\056\156\145\164\057
+\103\116\075\104\055\124\122\125\123\124\045\062\060\122\157\157
+\164\045\062\060\103\101\045\062\060\063\045\062\060\062\060\061
+\063\054\117\075\104\055\124\162\165\163\164\045\062\060\107\155
+\142\110\054\103\075\104\105\077\143\145\162\164\151\146\151\143
+\141\164\145\162\145\166\157\143\141\164\151\157\156\154\151\163
+\164\060\073\240\071\240\067\206\065\150\164\164\160\072\057\057
+\143\162\154\056\144\055\164\162\165\163\164\056\156\145\164\057
+\143\162\154\057\144\055\164\162\165\163\164\137\162\157\157\164
+\137\143\141\137\063\137\062\060\061\063\056\143\162\154\060\015
+\006\011\052\206\110\206\367\015\001\001\013\005\000\003\202\001
+\001\000\016\131\016\130\344\164\110\043\104\317\064\041\265\234
+\024\032\255\232\113\267\263\210\155\134\251\027\160\360\052\237
+\215\173\371\173\205\372\307\071\350\020\010\260\065\053\137\317
+\002\322\323\234\310\013\036\356\005\124\256\067\223\004\011\175
+\154\217\302\164\274\370\034\224\276\061\001\100\055\363\044\040
+\267\204\125\054\134\310\365\164\112\020\031\213\243\307\355\065
+\326\011\110\323\016\300\272\071\250\260\106\002\260\333\306\210
+\131\302\276\374\173\261\053\317\176\142\207\125\226\314\001\157
+\233\147\041\225\065\213\370\020\374\161\033\267\113\067\151\246
+\073\326\354\213\356\301\260\363\045\311\217\222\175\241\352\303
+\312\104\277\046\245\164\222\234\343\164\353\235\164\331\313\115
+\207\330\374\264\151\154\213\240\103\007\140\170\227\351\331\223
+\174\302\106\274\233\067\122\243\355\212\074\023\251\173\123\113
+\111\232\021\005\054\013\156\126\254\037\056\202\154\340\151\147
+\265\016\155\055\331\344\300\025\361\077\372\030\162\341\025\155
+\047\133\055\060\050\053\237\110\232\144\053\231\357\362\165\111
+\137\134
 END
 CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
 
-# 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
-# Fingerprint (SHA1): 77:47:4F:C6:30:E4:0F:4C:47:64:3F:84:BA:B8:C6:95:4A:8A:41:EC
+# Trust for "D-TRUST Root CA 3 2013"
+# Issuer: CN=D-TRUST Root CA 3 2013,O=D-Trust GmbH,C=DE
+# Serial Number: 1039788 (0xfddac)
+# Subject: CN=D-TRUST Root CA 3 2013,O=D-Trust GmbH,C=DE
+# Not Valid Before: Fri Sep 20 08:25:51 2013
+# Not Valid After : Wed Sep 20 08:25:51 2028
+# Fingerprint (SHA-256): A1:A8:6D:04:12:1E:B8:7F:02:7C:66:F5:33:03:C2:8E:57:39:F9:43:FC:84:B3:8A:D6:AF:00:90:35:DD:94:57
+# Fingerprint (SHA1): 6C:7C:CC:E7:D4:AE:51:5F:99:08:CD:3F:F6:E8:C3:78:DF:6F:EF:97
 CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "Swisscom Root CA 2"
+CKA_LABEL UTF8 "D-TRUST Root CA 3 2013"
 CKA_CERT_SHA1_HASH MULTILINE_OCTAL
-\167\107\117\306\060\344\017\114\107\144\077\204\272\270\306\225
-\112\212\101\354
+\154\174\314\347\324\256\121\137\231\010\315\077\366\350\303\170
+\337\157\357\227
 END
 CKA_CERT_MD5_HASH MULTILINE_OCTAL
-\133\004\151\354\245\203\224\143\030\247\206\320\344\362\156\031
+\267\042\146\230\176\326\003\340\301\161\346\165\315\126\105\277
 END
 CKA_ISSUER MULTILINE_OCTAL
-\060\144\061\013\060\011\006\003\125\004\006\023\002\143\150\061
-\021\060\017\006\003\125\004\012\023\010\123\167\151\163\163\143
-\157\155\061\045\060\043\006\003\125\004\013\023\034\104\151\147
-\151\164\141\154\040\103\145\162\164\151\146\151\143\141\164\145
-\040\123\145\162\166\151\143\145\163\061\033\060\031\006\003\125
-\004\003\023\022\123\167\151\163\163\143\157\155\040\122\157\157
-\164\040\103\101\040\062
+\060\105\061\013\060\011\006\003\125\004\006\023\002\104\105\061
+\025\060\023\006\003\125\004\012\014\014\104\055\124\162\165\163
+\164\040\107\155\142\110\061\037\060\035\006\003\125\004\003\014
+\026\104\055\124\122\125\123\124\040\122\157\157\164\040\103\101
+\040\063\040\062\060\061\063
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\020\036\236\050\350\110\362\345\357\303\174\112\036\132\030
-\147\266
+\002\003\017\335\254
 END
 CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
 CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
@@ -13586,522 +13776,509 @@ CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
 CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
 
 #
-# Certificate "CA Disig Root R2"
+# Certificate "TUBITAK Kamu SM SSL Kok Sertifikasi - Surum 1"
 #
-# 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
-# Fingerprint (SHA1): B5:61:EB:EA:A4:DE:E4:25:4B:69:1A:98:A5:57:47:C2:34:C7:D9:71
+# Issuer: CN=TUBITAK Kamu SM SSL Kok Sertifikasi - Surum 1,OU=Kamu Sertifikasyon Merkezi - Kamu SM,O=Turkiye Bilimsel ve Teknolojik Arastirma Kurumu - TUBITAK,L=Gebze - Kocaeli,C=TR
+# Serial Number: 1 (0x1)
+# Subject: CN=TUBITAK Kamu SM SSL Kok Sertifikasi - Surum 1,OU=Kamu Sertifikasyon Merkezi - Kamu SM,O=Turkiye Bilimsel ve Teknolojik Arastirma Kurumu - TUBITAK,L=Gebze - Kocaeli,C=TR
+# Not Valid Before: Mon Nov 25 08:25:55 2013
+# Not Valid After : Sun Oct 25 08:25:55 2043
+# Fingerprint (SHA-256): 46:ED:C3:68:90:46:D5:3A:45:3F:B3:10:4A:B8:0D:CA:EC:65:8B:26:60:EA:16:29:DD:7E:86:79:90:64:87:16
+# Fingerprint (SHA1): 31:43:64:9B:EC:CE:27:EC:ED:3A:3F:0B:8F:0D:E4:E8:91:DD:EE:CA
 CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "CA Disig Root R2"
+CKA_LABEL UTF8 "TUBITAK Kamu SM SSL Kok Sertifikasi - Surum 1"
 CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
 CKA_SUBJECT MULTILINE_OCTAL
-\060\122\061\013\060\011\006\003\125\004\006\023\002\123\113\061
-\023\060\021\006\003\125\004\007\023\012\102\162\141\164\151\163
-\154\141\166\141\061\023\060\021\006\003\125\004\012\023\012\104
-\151\163\151\147\040\141\056\163\056\061\031\060\027\006\003\125
-\004\003\023\020\103\101\040\104\151\163\151\147\040\122\157\157
-\164\040\122\062
+\060\201\322\061\013\060\011\006\003\125\004\006\023\002\124\122
+\061\030\060\026\006\003\125\004\007\023\017\107\145\142\172\145
+\040\055\040\113\157\143\141\145\154\151\061\102\060\100\006\003
+\125\004\012\023\071\124\165\162\153\151\171\145\040\102\151\154
+\151\155\163\145\154\040\166\145\040\124\145\153\156\157\154\157
+\152\151\153\040\101\162\141\163\164\151\162\155\141\040\113\165
+\162\165\155\165\040\055\040\124\125\102\111\124\101\113\061\055
+\060\053\006\003\125\004\013\023\044\113\141\155\165\040\123\145
+\162\164\151\146\151\153\141\163\171\157\156\040\115\145\162\153
+\145\172\151\040\055\040\113\141\155\165\040\123\115\061\066\060
+\064\006\003\125\004\003\023\055\124\125\102\111\124\101\113\040
+\113\141\155\165\040\123\115\040\123\123\114\040\113\157\153\040
+\123\145\162\164\151\146\151\153\141\163\151\040\055\040\123\165
+\162\165\155\040\061
 END
 CKA_ID UTF8 "0"
 CKA_ISSUER MULTILINE_OCTAL
-\060\122\061\013\060\011\006\003\125\004\006\023\002\123\113\061
-\023\060\021\006\003\125\004\007\023\012\102\162\141\164\151\163
-\154\141\166\141\061\023\060\021\006\003\125\004\012\023\012\104
-\151\163\151\147\040\141\056\163\056\061\031\060\027\006\003\125
-\004\003\023\020\103\101\040\104\151\163\151\147\040\122\157\157
-\164\040\122\062
+\060\201\322\061\013\060\011\006\003\125\004\006\023\002\124\122
+\061\030\060\026\006\003\125\004\007\023\017\107\145\142\172\145
+\040\055\040\113\157\143\141\145\154\151\061\102\060\100\006\003
+\125\004\012\023\071\124\165\162\153\151\171\145\040\102\151\154
+\151\155\163\145\154\040\166\145\040\124\145\153\156\157\154\157
+\152\151\153\040\101\162\141\163\164\151\162\155\141\040\113\165
+\162\165\155\165\040\055\040\124\125\102\111\124\101\113\061\055
+\060\053\006\003\125\004\013\023\044\113\141\155\165\040\123\145
+\162\164\151\146\151\153\141\163\171\157\156\040\115\145\162\153
+\145\172\151\040\055\040\113\141\155\165\040\123\115\061\066\060
+\064\006\003\125\004\003\023\055\124\125\102\111\124\101\113\040
+\113\141\155\165\040\123\115\040\123\123\114\040\113\157\153\040
+\123\145\162\164\151\146\151\153\141\163\151\040\055\040\123\165
+\162\165\155\040\061
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\011\000\222\270\210\333\260\212\301\143
+\002\001\001
 END
 CKA_VALUE MULTILINE_OCTAL
-\060\202\005\151\060\202\003\121\240\003\002\001\002\002\011\000
-\222\270\210\333\260\212\301\143\060\015\006\011\052\206\110\206
-\367\015\001\001\013\005\000\060\122\061\013\060\011\006\003\125
-\004\006\023\002\123\113\061\023\060\021\006\003\125\004\007\023
-\012\102\162\141\164\151\163\154\141\166\141\061\023\060\021\006
-\003\125\004\012\023\012\104\151\163\151\147\040\141\056\163\056
-\061\031\060\027\006\003\125\004\003\023\020\103\101\040\104\151
-\163\151\147\040\122\157\157\164\040\122\062\060\036\027\015\061
-\062\060\067\061\071\060\071\061\065\063\060\132\027\015\064\062
-\060\067\061\071\060\071\061\065\063\060\132\060\122\061\013\060
-\011\006\003\125\004\006\023\002\123\113\061\023\060\021\006\003
-\125\004\007\023\012\102\162\141\164\151\163\154\141\166\141\061
-\023\060\021\006\003\125\004\012\023\012\104\151\163\151\147\040
-\141\056\163\056\061\031\060\027\006\003\125\004\003\023\020\103
-\101\040\104\151\163\151\147\040\122\157\157\164\040\122\062\060
-\202\002\042\060\015\006\011\052\206\110\206\367\015\001\001\001
-\005\000\003\202\002\017\000\060\202\002\012\002\202\002\001\000
-\242\243\304\000\011\326\205\135\055\155\024\366\302\303\163\236
-\065\302\161\125\176\201\373\253\106\120\340\301\174\111\170\346
-\253\171\130\074\332\377\174\034\237\330\227\002\170\076\153\101
-\004\351\101\275\276\003\054\105\366\057\144\324\253\135\243\107
-\075\144\233\351\150\232\306\314\033\077\272\276\262\213\064\002
-\056\230\125\031\374\214\157\252\137\332\114\316\115\003\041\243
-\330\322\064\223\126\226\313\114\014\000\026\074\137\032\315\310
-\307\154\246\255\323\061\247\274\350\345\341\146\326\322\373\003
-\264\101\145\311\020\256\016\005\143\306\200\152\151\060\375\322
-\356\220\357\015\047\337\237\225\163\364\341\045\332\154\026\336
-\101\070\064\352\213\374\321\350\004\024\141\055\101\176\254\307
-\167\116\313\121\124\373\136\222\030\033\004\132\150\306\311\304
-\372\267\023\240\230\267\021\053\267\326\127\314\174\236\027\321
-\313\045\376\206\116\044\056\126\014\170\115\236\001\022\246\053
-\247\001\145\156\174\142\035\204\204\337\352\300\153\265\245\052
-\225\203\303\123\021\014\163\035\013\262\106\220\321\102\072\316
-\100\156\225\255\377\306\224\255\156\227\204\216\175\157\236\212
-\200\015\111\155\163\342\173\222\036\303\363\301\363\353\056\005
-\157\331\033\317\067\166\004\310\264\132\344\027\247\313\335\166
-\037\320\031\166\350\054\005\263\326\234\064\330\226\334\141\207
-\221\005\344\104\010\063\301\332\271\010\145\324\256\262\066\015
-\353\272\070\272\014\345\233\236\353\215\146\335\231\317\326\211
-\101\366\004\222\212\051\051\155\153\072\034\347\165\175\002\161
-\016\363\300\347\275\313\031\335\235\140\262\302\146\140\266\261
-\004\356\311\346\206\271\232\146\100\250\347\021\355\201\105\003
-\213\366\147\131\350\301\006\021\275\335\317\200\002\117\145\100
-\170\134\107\120\310\233\346\037\201\173\344\104\250\133\205\232
-\342\336\132\325\307\371\072\104\146\113\344\062\124\174\344\154
-\234\263\016\075\027\242\262\064\022\326\176\262\250\111\273\321
-\172\050\100\276\242\026\037\337\344\067\037\021\163\373\220\012
-\145\103\242\015\174\370\006\001\125\063\175\260\015\270\364\365
-\256\245\102\127\174\066\021\214\173\136\304\003\235\214\171\235
-\002\003\001\000\001\243\102\060\100\060\017\006\003\125\035\023
-\001\001\377\004\005\060\003\001\001\377\060\016\006\003\125\035
-\017\001\001\377\004\004\003\002\001\006\060\035\006\003\125\035
-\016\004\026\004\024\265\231\370\257\260\224\365\343\040\326\012
-\255\316\116\126\244\056\156\102\355\060\015\006\011\052\206\110
-\206\367\015\001\001\013\005\000\003\202\002\001\000\046\006\136
-\160\347\145\063\310\202\156\331\234\027\072\033\172\146\262\001
-\366\170\073\151\136\057\352\377\116\371\050\303\230\052\141\114
-\264\044\022\212\175\155\021\024\367\234\265\312\346\274\236\047
-\216\114\031\310\251\275\172\300\327\066\016\155\205\162\156\250
-\306\242\155\366\372\163\143\177\274\156\171\010\034\235\212\237
-\032\212\123\246\330\273\331\065\125\261\021\305\251\003\263\126
-\073\271\204\223\042\136\176\301\366\022\122\213\352\054\147\274
-\376\066\114\365\270\317\321\263\111\222\073\323\051\016\231\033
-\226\367\141\270\073\304\053\266\170\154\264\043\157\360\375\323
-\262\136\165\037\231\225\250\254\366\332\341\305\061\173\373\321
-\106\263\322\274\147\264\142\124\272\011\367\143\260\223\242\232
-\371\351\122\056\213\140\022\253\374\365\140\126\357\020\134\213
-\304\032\102\334\203\133\144\016\313\265\274\326\117\301\174\074
-\156\215\023\155\373\173\353\060\320\334\115\257\305\325\266\245
-\114\133\161\311\350\061\276\350\070\006\110\241\032\342\352\322
-\336\022\071\130\032\377\200\016\202\165\346\267\311\007\154\016
-\357\377\070\361\230\161\304\267\177\016\025\320\045\151\275\042
-\235\053\355\005\366\106\107\254\355\300\360\324\073\342\354\356
-\226\133\220\023\116\036\126\072\353\260\357\226\273\226\043\021
-\272\362\103\206\164\144\225\310\050\165\337\035\065\272\322\067
-\203\070\123\070\066\073\317\154\351\371\153\016\320\373\004\350
-\117\167\327\145\001\170\206\014\172\076\041\142\361\177\143\161
-\014\311\237\104\333\250\047\242\165\276\156\201\076\327\300\353
-\033\230\017\160\134\064\262\212\314\300\205\030\353\156\172\263
-\367\132\241\007\277\251\102\222\363\140\042\227\344\024\241\007
-\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
+\060\202\004\143\060\202\003\113\240\003\002\001\002\002\001\001
+\060\015\006\011\052\206\110\206\367\015\001\001\013\005\000\060
+\201\322\061\013\060\011\006\003\125\004\006\023\002\124\122\061
+\030\060\026\006\003\125\004\007\023\017\107\145\142\172\145\040
+\055\040\113\157\143\141\145\154\151\061\102\060\100\006\003\125
+\004\012\023\071\124\165\162\153\151\171\145\040\102\151\154\151
+\155\163\145\154\040\166\145\040\124\145\153\156\157\154\157\152
+\151\153\040\101\162\141\163\164\151\162\155\141\040\113\165\162
+\165\155\165\040\055\040\124\125\102\111\124\101\113\061\055\060
+\053\006\003\125\004\013\023\044\113\141\155\165\040\123\145\162
+\164\151\146\151\153\141\163\171\157\156\040\115\145\162\153\145
+\172\151\040\055\040\113\141\155\165\040\123\115\061\066\060\064
+\006\003\125\004\003\023\055\124\125\102\111\124\101\113\040\113
+\141\155\165\040\123\115\040\123\123\114\040\113\157\153\040\123
+\145\162\164\151\146\151\153\141\163\151\040\055\040\123\165\162
+\165\155\040\061\060\036\027\015\061\063\061\061\062\065\060\070
+\062\065\065\065\132\027\015\064\063\061\060\062\065\060\070\062
+\065\065\065\132\060\201\322\061\013\060\011\006\003\125\004\006
+\023\002\124\122\061\030\060\026\006\003\125\004\007\023\017\107
+\145\142\172\145\040\055\040\113\157\143\141\145\154\151\061\102
+\060\100\006\003\125\004\012\023\071\124\165\162\153\151\171\145
+\040\102\151\154\151\155\163\145\154\040\166\145\040\124\145\153
+\156\157\154\157\152\151\153\040\101\162\141\163\164\151\162\155
+\141\040\113\165\162\165\155\165\040\055\040\124\125\102\111\124
+\101\113\061\055\060\053\006\003\125\004\013\023\044\113\141\155
+\165\040\123\145\162\164\151\146\151\153\141\163\171\157\156\040
+\115\145\162\153\145\172\151\040\055\040\113\141\155\165\040\123
+\115\061\066\060\064\006\003\125\004\003\023\055\124\125\102\111
+\124\101\113\040\113\141\155\165\040\123\115\040\123\123\114\040
+\113\157\153\040\123\145\162\164\151\146\151\153\141\163\151\040
+\055\040\123\165\162\165\155\040\061\060\202\001\042\060\015\006
+\011\052\206\110\206\367\015\001\001\001\005\000\003\202\001\017
+\000\060\202\001\012\002\202\001\001\000\257\165\060\063\252\273
+\153\323\231\054\022\067\204\331\215\173\227\200\323\156\347\377
+\233\120\225\076\220\225\126\102\327\031\174\046\204\215\222\372
+\001\035\072\017\342\144\070\267\214\274\350\210\371\213\044\253
+\056\243\365\067\344\100\216\030\045\171\203\165\037\073\377\154
+\250\305\306\126\370\264\355\212\104\243\253\154\114\374\035\320
+\334\357\150\275\317\344\252\316\360\125\367\242\064\324\203\153
+\067\174\034\302\376\265\003\354\127\316\274\264\265\305\355\000
+\017\123\067\052\115\364\117\014\203\373\206\317\313\376\214\116
+\275\207\371\247\213\041\127\234\172\337\003\147\211\054\235\227
+\141\247\020\270\125\220\177\016\055\047\070\164\337\347\375\332
+\116\022\343\115\025\042\002\310\340\340\374\017\255\212\327\311
+\124\120\314\073\017\312\026\200\204\320\121\126\303\216\126\177
+\211\042\063\057\346\205\012\275\245\250\033\066\336\323\334\054
+\155\073\307\023\275\131\043\054\346\345\244\367\330\013\355\352
+\220\100\104\250\225\273\223\325\320\200\064\266\106\170\016\037
+\000\223\106\341\356\351\371\354\117\027\002\003\001\000\001\243
+\102\060\100\060\035\006\003\125\035\016\004\026\004\024\145\077
+\307\212\206\306\074\335\074\124\134\065\370\072\355\122\014\107
+\127\310\060\016\006\003\125\035\017\001\001\377\004\004\003\002
+\001\006\060\017\006\003\125\035\023\001\001\377\004\005\060\003
+\001\001\377\060\015\006\011\052\206\110\206\367\015\001\001\013
+\005\000\003\202\001\001\000\052\077\341\361\062\216\256\341\230
+\134\113\136\317\153\036\152\011\322\042\251\022\307\136\127\175
+\163\126\144\200\204\172\223\344\011\271\020\315\237\052\047\341
+\000\167\276\110\310\065\250\201\237\344\270\054\311\177\016\260
+\322\113\067\135\352\271\325\013\136\064\275\364\163\051\303\355
+\046\025\234\176\010\123\212\130\215\320\113\050\337\301\263\337
+\040\363\371\343\343\072\337\314\234\224\330\116\117\303\153\027
+\267\367\162\350\255\146\063\265\045\123\253\340\370\114\251\235
+\375\362\015\272\256\271\331\252\306\153\371\223\273\256\253\270
+\227\074\003\032\272\103\306\226\271\105\162\070\263\247\241\226
+\075\221\173\176\300\041\123\114\207\355\362\013\124\225\121\223
+\325\042\245\015\212\361\223\016\076\124\016\260\330\311\116\334
+\362\061\062\126\352\144\371\352\265\235\026\146\102\162\363\177
+\323\261\061\103\374\244\216\027\361\155\043\253\224\146\370\255
+\373\017\010\156\046\055\177\027\007\011\262\214\373\120\300\237
+\226\215\317\266\375\000\235\132\024\232\277\002\104\365\301\302
+\237\042\136\242\017\241\343
 END
 CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
 
-# 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
-# Fingerprint (SHA1): B5:61:EB:EA:A4:DE:E4:25:4B:69:1A:98:A5:57:47:C2:34:C7:D9:71
+# Trust for "TUBITAK Kamu SM SSL Kok Sertifikasi - Surum 1"
+# Issuer: CN=TUBITAK Kamu SM SSL Kok Sertifikasi - Surum 1,OU=Kamu Sertifikasyon Merkezi - Kamu SM,O=Turkiye Bilimsel ve Teknolojik Arastirma Kurumu - TUBITAK,L=Gebze - Kocaeli,C=TR
+# Serial Number: 1 (0x1)
+# Subject: CN=TUBITAK Kamu SM SSL Kok Sertifikasi - Surum 1,OU=Kamu Sertifikasyon Merkezi - Kamu SM,O=Turkiye Bilimsel ve Teknolojik Arastirma Kurumu - TUBITAK,L=Gebze - Kocaeli,C=TR
+# Not Valid Before: Mon Nov 25 08:25:55 2013
+# Not Valid After : Sun Oct 25 08:25:55 2043
+# Fingerprint (SHA-256): 46:ED:C3:68:90:46:D5:3A:45:3F:B3:10:4A:B8:0D:CA:EC:65:8B:26:60:EA:16:29:DD:7E:86:79:90:64:87:16
+# Fingerprint (SHA1): 31:43:64:9B:EC:CE:27:EC:ED:3A:3F:0B:8F:0D:E4:E8:91:DD:EE:CA
 CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "CA Disig Root R2"
+CKA_LABEL UTF8 "TUBITAK Kamu SM SSL Kok Sertifikasi - Surum 1"
 CKA_CERT_SHA1_HASH MULTILINE_OCTAL
-\265\141\353\352\244\336\344\045\113\151\032\230\245\127\107\302
-\064\307\331\161
-END
-CKA_CERT_MD5_HASH MULTILINE_OCTAL
-\046\001\373\330\047\247\027\232\105\124\070\032\103\001\073\003
-END
-CKA_ISSUER MULTILINE_OCTAL
-\060\122\061\013\060\011\006\003\125\004\006\023\002\123\113\061
-\023\060\021\006\003\125\004\007\023\012\102\162\141\164\151\163
-\154\141\166\141\061\023\060\021\006\003\125\004\012\023\012\104
-\151\163\151\147\040\141\056\163\056\061\031\060\027\006\003\125
-\004\003\023\020\103\101\040\104\151\163\151\147\040\122\157\157
-\164\040\122\062
+\061\103\144\233\354\316\047\354\355\072\077\013\217\015\344\350
+\221\335\356\312
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\334\000\201\334\151\057\076\057\260\073\366\075\132\221\216\111
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\201\322\061\013\060\011\006\003\125\004\006\023\002\124\122
+\061\030\060\026\006\003\125\004\007\023\017\107\145\142\172\145
+\040\055\040\113\157\143\141\145\154\151\061\102\060\100\006\003
+\125\004\012\023\071\124\165\162\153\151\171\145\040\102\151\154
+\151\155\163\145\154\040\166\145\040\124\145\153\156\157\154\157
+\152\151\153\040\101\162\141\163\164\151\162\155\141\040\113\165
+\162\165\155\165\040\055\040\124\125\102\111\124\101\113\061\055
+\060\053\006\003\125\004\013\023\044\113\141\155\165\040\123\145
+\162\164\151\146\151\153\141\163\171\157\156\040\115\145\162\153
+\145\172\151\040\055\040\113\141\155\165\040\123\115\061\066\060
+\064\006\003\125\004\003\023\055\124\125\102\111\124\101\113\040
+\113\141\155\165\040\123\115\040\123\123\114\040\113\157\153\040
+\123\145\162\164\151\146\151\153\141\163\151\040\055\040\123\165
+\162\165\155\040\061
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\011\000\222\270\210\333\260\212\301\143
+\002\001\001
 END
 CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
-CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
 CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
 CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
 
 #
-# Certificate "ACCVRAIZ1"
+# Certificate "GDCA TrustAUTH R5 ROOT"
 #
-# 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
-# Fingerprint (SHA1): 93:05:7A:88:15:C6:4F:CE:88:2F:FA:91:16:52:28:78:BC:53:64:17
+# Issuer: CN=GDCA TrustAUTH R5 ROOT,O="GUANG DONG CERTIFICATE AUTHORITY CO.,LTD.",C=CN
+# Serial Number:7d:09:97:fe:f0:47:ea:7a
+# Subject: CN=GDCA TrustAUTH R5 ROOT,O="GUANG DONG CERTIFICATE AUTHORITY CO.,LTD.",C=CN
+# Not Valid Before: Wed Nov 26 05:13:15 2014
+# Not Valid After : Mon Dec 31 15:59:59 2040
+# Fingerprint (SHA-256): BF:FF:8F:D0:44:33:48:7D:6A:8A:A6:0C:1A:29:76:7A:9F:C2:BB:B0:5E:42:0F:71:3A:13:B9:92:89:1D:38:93
+# Fingerprint (SHA1): 0F:36:38:5B:81:1A:25:C3:9B:31:4E:83:CA:E9:34:66:70:CC:74:B4
 CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "ACCVRAIZ1"
+CKA_LABEL UTF8 "GDCA TrustAUTH R5 ROOT"
 CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
 CKA_SUBJECT MULTILINE_OCTAL
-\060\102\061\022\060\020\006\003\125\004\003\014\011\101\103\103
-\126\122\101\111\132\061\061\020\060\016\006\003\125\004\013\014
-\007\120\113\111\101\103\103\126\061\015\060\013\006\003\125\004
-\012\014\004\101\103\103\126\061\013\060\011\006\003\125\004\006
-\023\002\105\123
+\060\142\061\013\060\011\006\003\125\004\006\023\002\103\116\061
+\062\060\060\006\003\125\004\012\014\051\107\125\101\116\107\040
+\104\117\116\107\040\103\105\122\124\111\106\111\103\101\124\105
+\040\101\125\124\110\117\122\111\124\131\040\103\117\056\054\114
+\124\104\056\061\037\060\035\006\003\125\004\003\014\026\107\104
+\103\101\040\124\162\165\163\164\101\125\124\110\040\122\065\040
+\122\117\117\124
 END
 CKA_ID UTF8 "0"
 CKA_ISSUER MULTILINE_OCTAL
-\060\102\061\022\060\020\006\003\125\004\003\014\011\101\103\103
-\126\122\101\111\132\061\061\020\060\016\006\003\125\004\013\014
-\007\120\113\111\101\103\103\126\061\015\060\013\006\003\125\004
-\012\014\004\101\103\103\126\061\013\060\011\006\003\125\004\006
-\023\002\105\123
+\060\142\061\013\060\011\006\003\125\004\006\023\002\103\116\061
+\062\060\060\006\003\125\004\012\014\051\107\125\101\116\107\040
+\104\117\116\107\040\103\105\122\124\111\106\111\103\101\124\105
+\040\101\125\124\110\117\122\111\124\131\040\103\117\056\054\114
+\124\104\056\061\037\060\035\006\003\125\004\003\014\026\107\104
+\103\101\040\124\162\165\163\164\101\125\124\110\040\122\065\040
+\122\117\117\124
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\010\136\303\267\246\103\177\244\340
+\002\010\175\011\227\376\360\107\352\172
 END
 CKA_VALUE MULTILINE_OCTAL
-\060\202\007\323\060\202\005\273\240\003\002\001\002\002\010\136
-\303\267\246\103\177\244\340\060\015\006\011\052\206\110\206\367
-\015\001\001\005\005\000\060\102\061\022\060\020\006\003\125\004
-\003\014\011\101\103\103\126\122\101\111\132\061\061\020\060\016
-\006\003\125\004\013\014\007\120\113\111\101\103\103\126\061\015
-\060\013\006\003\125\004\012\014\004\101\103\103\126\061\013\060
-\011\006\003\125\004\006\023\002\105\123\060\036\027\015\061\061
-\060\065\060\065\060\071\063\067\063\067\132\027\015\063\060\061
-\062\063\061\060\071\063\067\063\067\132\060\102\061\022\060\020
-\006\003\125\004\003\014\011\101\103\103\126\122\101\111\132\061
-\061\020\060\016\006\003\125\004\013\014\007\120\113\111\101\103
-\103\126\061\015\060\013\006\003\125\004\012\014\004\101\103\103
-\126\061\013\060\011\006\003\125\004\006\023\002\105\123\060\202
+\060\202\005\210\060\202\003\160\240\003\002\001\002\002\010\175
+\011\227\376\360\107\352\172\060\015\006\011\052\206\110\206\367
+\015\001\001\013\005\000\060\142\061\013\060\011\006\003\125\004
+\006\023\002\103\116\061\062\060\060\006\003\125\004\012\014\051
+\107\125\101\116\107\040\104\117\116\107\040\103\105\122\124\111
+\106\111\103\101\124\105\040\101\125\124\110\117\122\111\124\131
+\040\103\117\056\054\114\124\104\056\061\037\060\035\006\003\125
+\004\003\014\026\107\104\103\101\040\124\162\165\163\164\101\125
+\124\110\040\122\065\040\122\117\117\124\060\036\027\015\061\064
+\061\061\062\066\060\065\061\063\061\065\132\027\015\064\060\061
+\062\063\061\061\065\065\071\065\071\132\060\142\061\013\060\011
+\006\003\125\004\006\023\002\103\116\061\062\060\060\006\003\125
+\004\012\014\051\107\125\101\116\107\040\104\117\116\107\040\103
+\105\122\124\111\106\111\103\101\124\105\040\101\125\124\110\117
+\122\111\124\131\040\103\117\056\054\114\124\104\056\061\037\060
+\035\006\003\125\004\003\014\026\107\104\103\101\040\124\162\165
+\163\164\101\125\124\110\040\122\065\040\122\117\117\124\060\202
 \002\042\060\015\006\011\052\206\110\206\367\015\001\001\001\005
-\000\003\202\002\017\000\060\202\002\012\002\202\002\001\000\233
-\251\253\277\141\112\227\257\057\227\146\232\164\137\320\331\226
-\375\317\342\344\146\357\037\037\107\063\302\104\243\337\232\336
-\037\265\124\335\025\174\151\065\021\157\273\310\014\216\152\030
-\036\330\217\331\026\274\020\110\066\134\360\143\263\220\132\134
-\044\067\327\243\326\313\011\161\271\361\001\162\204\260\175\333
-\115\200\315\374\323\157\311\370\332\266\016\202\322\105\205\250
-\033\150\250\075\350\364\104\154\275\241\302\313\003\276\214\076
-\023\000\204\337\112\110\300\343\042\012\350\351\067\247\030\114
-\261\011\015\043\126\177\004\115\331\027\204\030\245\310\332\100
-\224\163\353\316\016\127\074\003\201\072\235\012\241\127\103\151
-\254\127\155\171\220\170\345\265\264\073\330\274\114\215\050\241
-\247\243\247\272\002\116\045\321\052\256\355\256\003\042\270\153
-\040\017\060\050\124\225\177\340\356\316\012\146\235\321\100\055
-\156\042\257\235\032\301\005\031\322\157\300\362\237\370\173\263
-\002\102\373\120\251\035\055\223\017\043\253\306\301\017\222\377
-\320\242\025\365\123\011\161\034\377\105\023\204\346\046\136\370
-\340\210\034\012\374\026\266\250\163\006\270\360\143\204\002\240
-\306\132\354\347\164\337\160\256\243\203\045\352\326\307\227\207
-\223\247\306\212\212\063\227\140\067\020\076\227\076\156\051\025
-\326\241\017\321\210\054\022\237\157\252\244\306\102\353\101\242
-\343\225\103\323\001\205\155\216\273\073\363\043\066\307\376\073
-\340\241\045\007\110\253\311\211\164\377\010\217\200\277\300\226
-\145\363\356\354\113\150\275\235\210\303\061\263\100\361\350\317
-\366\070\273\234\344\321\177\324\345\130\233\174\372\324\363\016
-\233\165\221\344\272\122\056\031\176\321\365\315\132\031\374\272
-\006\366\373\122\250\113\231\004\335\370\371\264\213\120\243\116
-\142\211\360\207\044\372\203\102\301\207\372\325\055\051\052\132
-\161\172\144\152\327\047\140\143\015\333\316\111\365\215\037\220
-\211\062\027\370\163\103\270\322\132\223\206\141\326\341\165\012
-\352\171\146\166\210\117\161\353\004\045\326\012\132\172\223\345
-\271\113\027\100\017\261\266\271\365\336\117\334\340\263\254\073
-\021\160\140\204\112\103\156\231\040\300\051\161\012\300\145\002
-\003\001\000\001\243\202\002\313\060\202\002\307\060\175\006\010
-\053\006\001\005\005\007\001\001\004\161\060\157\060\114\006\010
-\053\006\001\005\005\007\060\002\206\100\150\164\164\160\072\057
-\057\167\167\167\056\141\143\143\166\056\145\163\057\146\151\154
-\145\141\144\155\151\156\057\101\162\143\150\151\166\157\163\057
-\143\145\162\164\151\146\151\143\141\144\157\163\057\162\141\151
-\172\141\143\143\166\061\056\143\162\164\060\037\006\010\053\006
-\001\005\005\007\060\001\206\023\150\164\164\160\072\057\057\157
-\143\163\160\056\141\143\143\166\056\145\163\060\035\006\003\125
-\035\016\004\026\004\024\322\207\264\343\337\067\047\223\125\366
-\126\352\201\345\066\314\214\036\077\275\060\017\006\003\125\035
-\023\001\001\377\004\005\060\003\001\001\377\060\037\006\003\125
-\035\043\004\030\060\026\200\024\322\207\264\343\337\067\047\223
-\125\366\126\352\201\345\066\314\214\036\077\275\060\202\001\163
-\006\003\125\035\040\004\202\001\152\060\202\001\146\060\202\001
-\142\006\004\125\035\040\000\060\202\001\130\060\202\001\042\006
-\010\053\006\001\005\005\007\002\002\060\202\001\024\036\202\001
-\020\000\101\000\165\000\164\000\157\000\162\000\151\000\144\000
-\141\000\144\000\040\000\144\000\145\000\040\000\103\000\145\000
-\162\000\164\000\151\000\146\000\151\000\143\000\141\000\143\000
-\151\000\363\000\156\000\040\000\122\000\141\000\355\000\172\000
-\040\000\144\000\145\000\040\000\154\000\141\000\040\000\101\000
-\103\000\103\000\126\000\040\000\050\000\101\000\147\000\145\000
-\156\000\143\000\151\000\141\000\040\000\144\000\145\000\040\000
-\124\000\145\000\143\000\156\000\157\000\154\000\157\000\147\000
-\355\000\141\000\040\000\171\000\040\000\103\000\145\000\162\000
-\164\000\151\000\146\000\151\000\143\000\141\000\143\000\151\000
-\363\000\156\000\040\000\105\000\154\000\145\000\143\000\164\000
-\162\000\363\000\156\000\151\000\143\000\141\000\054\000\040\000
-\103\000\111\000\106\000\040\000\121\000\064\000\066\000\060\000
-\061\000\061\000\065\000\066\000\105\000\051\000\056\000\040\000
-\103\000\120\000\123\000\040\000\145\000\156\000\040\000\150\000
-\164\000\164\000\160\000\072\000\057\000\057\000\167\000\167\000
-\167\000\056\000\141\000\143\000\143\000\166\000\056\000\145\000
-\163\060\060\006\010\053\006\001\005\005\007\002\001\026\044\150
-\164\164\160\072\057\057\167\167\167\056\141\143\143\166\056\145
-\163\057\154\145\147\151\163\154\141\143\151\157\156\137\143\056
-\150\164\155\060\125\006\003\125\035\037\004\116\060\114\060\112
-\240\110\240\106\206\104\150\164\164\160\072\057\057\167\167\167
-\056\141\143\143\166\056\145\163\057\146\151\154\145\141\144\155
-\151\156\057\101\162\143\150\151\166\157\163\057\143\145\162\164
-\151\146\151\143\141\144\157\163\057\162\141\151\172\141\143\143
-\166\061\137\144\145\162\056\143\162\154\060\016\006\003\125\035
-\017\001\001\377\004\004\003\002\001\006\060\027\006\003\125\035
-\021\004\020\060\016\201\014\141\143\143\166\100\141\143\143\166
-\056\145\163\060\015\006\011\052\206\110\206\367\015\001\001\005
-\005\000\003\202\002\001\000\227\061\002\237\347\375\103\147\110
-\104\024\344\051\207\355\114\050\146\320\217\065\332\115\141\267
-\112\227\115\265\333\220\340\005\056\016\306\171\320\362\227\151
-\017\275\004\107\331\276\333\265\051\332\233\331\256\251\231\325
-\323\074\060\223\365\215\241\250\374\006\215\104\364\312\026\225
-\174\063\334\142\213\250\067\370\047\330\011\055\033\357\310\024
-\047\040\251\144\104\377\056\326\165\252\154\115\140\100\031\111
-\103\124\143\332\342\314\272\146\345\117\104\172\133\331\152\201
-\053\100\325\177\371\001\047\130\054\310\355\110\221\174\077\246
-\000\317\304\051\163\021\066\336\206\031\076\235\356\031\212\033
-\325\260\355\216\075\234\052\300\015\330\075\146\343\074\015\275
-\325\224\134\342\342\247\065\033\004\000\366\077\132\215\352\103
-\275\137\211\035\251\301\260\314\231\342\115\000\012\332\311\047
-\133\347\023\220\134\344\365\063\242\125\155\334\340\011\115\057
-\261\046\133\047\165\000\011\304\142\167\051\010\137\236\131\254
-\266\176\255\237\124\060\042\003\301\036\161\144\376\371\070\012
-\226\030\335\002\024\254\043\313\006\034\036\244\175\215\015\336
-\047\101\350\255\332\025\267\260\043\335\053\250\323\332\045\207
-\355\350\125\104\115\210\364\066\176\204\232\170\254\367\016\126
-\111\016\326\063\045\326\204\120\102\154\040\022\035\052\325\276
-\274\362\160\201\244\160\140\276\005\265\233\236\004\104\276\141
-\043\254\351\245\044\214\021\200\224\132\242\242\271\111\322\301
-\334\321\247\355\061\021\054\236\031\246\356\341\125\341\300\352
-\317\015\204\344\027\267\242\174\245\336\125\045\006\356\314\300
-\207\134\100\332\314\225\077\125\340\065\307\270\204\276\264\135
-\315\172\203\001\162\356\207\346\137\035\256\265\205\306\046\337
-\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
+\000\003\202\002\017\000\060\202\002\012\002\202\002\001\000\331
+\243\026\360\310\164\164\167\233\357\063\015\073\006\176\125\374
+\265\140\217\166\206\022\102\175\126\146\076\210\202\355\162\143
+\016\236\213\335\064\054\002\121\121\303\031\375\131\124\204\311
+\361\153\263\114\260\351\350\106\135\070\306\242\247\056\021\127
+\272\202\025\242\234\217\155\260\231\112\012\362\353\211\160\143
+\116\171\304\267\133\275\242\135\261\362\101\002\053\255\251\072
+\243\354\171\012\354\137\072\343\375\357\200\074\255\064\233\032
+\253\210\046\173\126\242\202\206\037\353\065\211\203\177\137\256
+\051\116\075\266\156\354\256\301\360\047\233\256\343\364\354\357
+\256\177\367\206\075\162\172\353\245\373\131\116\247\353\225\214
+\042\071\171\341\055\010\217\314\274\221\270\101\367\024\301\043
+\251\303\255\232\105\104\263\262\327\054\315\306\051\342\120\020
+\256\134\313\202\216\027\030\066\175\227\346\210\232\260\115\064
+\011\364\054\271\132\146\052\260\027\233\236\036\166\235\112\146
+\061\101\337\077\373\305\006\357\033\266\176\032\106\066\367\144
+\143\073\343\071\030\043\347\147\165\024\325\165\127\222\067\275
+\276\152\033\046\120\362\066\046\006\220\305\160\001\144\155\166
+\146\341\221\333\156\007\300\141\200\056\262\056\057\214\160\247
+\321\073\074\263\221\344\156\266\304\073\160\362\154\222\227\011
+\315\107\175\030\300\363\273\236\017\326\213\256\007\266\132\017
+\316\013\014\107\247\345\076\270\275\175\307\233\065\240\141\227
+\072\101\165\027\314\053\226\167\052\222\041\036\331\225\166\040
+\147\150\317\015\275\337\326\037\011\152\232\342\314\163\161\244
+\057\175\022\200\267\123\060\106\136\113\124\231\017\147\311\245
+\310\362\040\301\202\354\235\021\337\302\002\373\032\073\321\355
+\040\232\357\145\144\222\020\015\052\342\336\160\361\030\147\202
+\214\141\336\270\274\321\057\234\373\017\320\053\355\033\166\271
+\344\071\125\370\370\241\035\270\252\200\000\114\202\347\262\177
+\011\270\274\060\240\057\015\365\122\236\216\367\222\263\012\000
+\035\000\124\227\006\340\261\007\331\307\017\134\145\175\074\155
+\131\127\344\355\245\215\351\100\123\237\025\113\240\161\366\032
+\041\343\332\160\006\041\130\024\207\205\167\171\252\202\171\002
+\003\001\000\001\243\102\060\100\060\035\006\003\125\035\016\004
+\026\004\024\342\311\100\237\115\316\350\232\241\174\317\016\077
+\145\305\051\210\152\031\121\060\017\006\003\125\035\023\001\001
+\377\004\005\060\003\001\001\377\060\016\006\003\125\035\017\001
+\001\377\004\004\003\002\001\206\060\015\006\011\052\206\110\206
+\367\015\001\001\013\005\000\003\202\002\001\000\321\111\127\340
+\247\314\150\130\272\001\017\053\031\315\215\260\141\105\254\021
+\355\143\120\151\370\037\177\276\026\217\375\235\353\013\252\062
+\107\166\322\147\044\355\275\174\063\062\227\052\307\005\206\146
+\015\027\175\024\025\033\324\353\375\037\232\366\136\227\151\267
+\032\045\244\012\263\221\077\137\066\254\213\354\127\250\076\347
+\201\212\030\127\071\205\164\032\102\307\351\133\023\137\217\371
+\010\351\222\164\215\365\107\322\253\073\326\373\170\146\116\066
+\175\371\351\222\351\004\336\375\111\143\374\155\373\024\161\223
+\147\057\107\112\267\271\377\036\052\163\160\106\060\277\132\362
+\057\171\245\341\215\014\331\371\262\143\067\214\067\145\205\160
+\152\134\133\011\162\271\255\143\074\261\335\370\374\062\277\067
+\206\344\273\216\230\047\176\272\037\026\341\160\021\362\003\337
+\045\142\062\047\046\030\062\204\237\377\000\072\023\272\232\115
+\364\117\270\024\160\042\261\312\053\220\316\051\301\160\364\057
+\235\177\362\220\036\326\132\337\267\106\374\346\206\372\313\340
+\040\166\172\272\246\313\365\174\336\142\245\261\213\356\336\202
+\146\212\116\072\060\037\077\200\313\255\047\272\014\136\327\320
+\261\126\312\167\161\262\265\165\241\120\251\100\103\027\302\050
+\331\317\122\213\133\310\143\324\102\076\240\063\172\106\056\367
+\012\040\106\124\176\152\117\061\361\201\176\102\164\070\145\163
+\047\356\306\174\270\216\327\245\072\327\230\241\234\214\020\125
+\323\333\113\354\100\220\362\315\156\127\322\142\016\174\127\223
+\261\247\155\315\235\203\273\052\347\345\266\073\161\130\255\375
+\321\105\274\132\221\356\123\025\157\323\105\011\165\156\272\220
+\135\036\004\317\067\337\036\250\146\261\214\346\040\152\357\374
+\110\116\164\230\102\257\051\157\056\152\307\373\175\321\146\061
+\042\314\206\000\176\146\203\014\102\364\275\064\222\303\032\352
+\117\312\176\162\115\013\160\214\246\110\273\246\241\024\366\373
+\130\104\231\024\256\252\013\223\151\240\051\045\112\245\313\053
+\335\212\146\007\026\170\025\127\161\033\354\365\107\204\363\236
+\061\067\172\325\177\044\255\344\274\375\375\314\156\203\350\014
+\250\267\101\154\007\335\275\074\206\227\057\322
 END
 CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
 
-# 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
-# Fingerprint (SHA1): 93:05:7A:88:15:C6:4F:CE:88:2F:FA:91:16:52:28:78:BC:53:64:17
+# Trust for "GDCA TrustAUTH R5 ROOT"
+# Issuer: CN=GDCA TrustAUTH R5 ROOT,O="GUANG DONG CERTIFICATE AUTHORITY CO.,LTD.",C=CN
+# Serial Number:7d:09:97:fe:f0:47:ea:7a
+# Subject: CN=GDCA TrustAUTH R5 ROOT,O="GUANG DONG CERTIFICATE AUTHORITY CO.,LTD.",C=CN
+# Not Valid Before: Wed Nov 26 05:13:15 2014
+# Not Valid After : Mon Dec 31 15:59:59 2040
+# Fingerprint (SHA-256): BF:FF:8F:D0:44:33:48:7D:6A:8A:A6:0C:1A:29:76:7A:9F:C2:BB:B0:5E:42:0F:71:3A:13:B9:92:89:1D:38:93
+# Fingerprint (SHA1): 0F:36:38:5B:81:1A:25:C3:9B:31:4E:83:CA:E9:34:66:70:CC:74:B4
 CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "ACCVRAIZ1"
+CKA_LABEL UTF8 "GDCA TrustAUTH R5 ROOT"
 CKA_CERT_SHA1_HASH MULTILINE_OCTAL
-\223\005\172\210\025\306\117\316\210\057\372\221\026\122\050\170
-\274\123\144\027
+\017\066\070\133\201\032\045\303\233\061\116\203\312\351\064\146
+\160\314\164\264
 END
 CKA_CERT_MD5_HASH MULTILINE_OCTAL
-\320\240\132\356\005\266\011\224\041\241\175\361\262\051\202\002
+\143\314\331\075\064\065\134\157\123\243\342\010\160\110\037\264
 END
 CKA_ISSUER MULTILINE_OCTAL
-\060\102\061\022\060\020\006\003\125\004\003\014\011\101\103\103
-\126\122\101\111\132\061\061\020\060\016\006\003\125\004\013\014
-\007\120\113\111\101\103\103\126\061\015\060\013\006\003\125\004
-\012\014\004\101\103\103\126\061\013\060\011\006\003\125\004\006
-\023\002\105\123
+\060\142\061\013\060\011\006\003\125\004\006\023\002\103\116\061
+\062\060\060\006\003\125\004\012\014\051\107\125\101\116\107\040
+\104\117\116\107\040\103\105\122\124\111\106\111\103\101\124\105
+\040\101\125\124\110\117\122\111\124\131\040\103\117\056\054\114
+\124\104\056\061\037\060\035\006\003\125\004\003\014\026\107\104
+\103\101\040\124\162\165\163\164\101\125\124\110\040\122\065\040
+\122\117\117\124
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\010\136\303\267\246\103\177\244\340
+\002\010\175\011\227\376\360\107\352\172
 END
 CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
-CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
 CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
 CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
 
 #
-# Certificate "TWCA Global Root CA"
+# Certificate "TrustCor RootCert CA-1"
 #
-# 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
-# Fingerprint (SHA1): 9C:BB:48:53:F6:A4:F6:D3:52:A4:E8:32:52:55:60:13:F5:AD:AF:65
+# Issuer: CN=TrustCor RootCert CA-1,OU=TrustCor Certificate Authority,O=TrustCor Systems S. de R.L.,L=Panama City,ST=Panama,C=PA
+# Serial Number:00:da:9b:ec:71:f3:03:b0:19
+# Subject: CN=TrustCor RootCert CA-1,OU=TrustCor Certificate Authority,O=TrustCor Systems S. de R.L.,L=Panama City,ST=Panama,C=PA
+# Not Valid Before: Thu Feb 04 12:32:16 2016
+# Not Valid After : Mon Dec 31 17:23:16 2029
+# Fingerprint (SHA-256): D4:0E:9C:86:CD:8F:E4:68:C1:77:69:59:F4:9E:A7:74:FA:54:86:84:B6:C4:06:F3:90:92:61:F4:DC:E2:57:5C
+# Fingerprint (SHA1): FF:BD:CD:E7:82:C8:43:5E:3C:6F:26:86:5C:CA:A8:3A:45:5B:C3:0A
 CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "TWCA Global Root CA"
+CKA_LABEL UTF8 "TrustCor RootCert CA-1"
 CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
 CKA_SUBJECT MULTILINE_OCTAL
-\060\121\061\013\060\011\006\003\125\004\006\023\002\124\127\061
-\022\060\020\006\003\125\004\012\023\011\124\101\111\127\101\116
-\055\103\101\061\020\060\016\006\003\125\004\013\023\007\122\157
-\157\164\040\103\101\061\034\060\032\006\003\125\004\003\023\023
-\124\127\103\101\040\107\154\157\142\141\154\040\122\157\157\164
-\040\103\101
+\060\201\244\061\013\060\011\006\003\125\004\006\023\002\120\101
+\061\017\060\015\006\003\125\004\010\014\006\120\141\156\141\155
+\141\061\024\060\022\006\003\125\004\007\014\013\120\141\156\141
+\155\141\040\103\151\164\171\061\044\060\042\006\003\125\004\012
+\014\033\124\162\165\163\164\103\157\162\040\123\171\163\164\145
+\155\163\040\123\056\040\144\145\040\122\056\114\056\061\047\060
+\045\006\003\125\004\013\014\036\124\162\165\163\164\103\157\162
+\040\103\145\162\164\151\146\151\143\141\164\145\040\101\165\164
+\150\157\162\151\164\171\061\037\060\035\006\003\125\004\003\014
+\026\124\162\165\163\164\103\157\162\040\122\157\157\164\103\145
+\162\164\040\103\101\055\061
 END
 CKA_ID UTF8 "0"
 CKA_ISSUER MULTILINE_OCTAL
-\060\121\061\013\060\011\006\003\125\004\006\023\002\124\127\061
-\022\060\020\006\003\125\004\012\023\011\124\101\111\127\101\116
-\055\103\101\061\020\060\016\006\003\125\004\013\023\007\122\157
-\157\164\040\103\101\061\034\060\032\006\003\125\004\003\023\023
-\124\127\103\101\040\107\154\157\142\141\154\040\122\157\157\164
-\040\103\101
+\060\201\244\061\013\060\011\006\003\125\004\006\023\002\120\101
+\061\017\060\015\006\003\125\004\010\014\006\120\141\156\141\155
+\141\061\024\060\022\006\003\125\004\007\014\013\120\141\156\141
+\155\141\040\103\151\164\171\061\044\060\042\006\003\125\004\012
+\014\033\124\162\165\163\164\103\157\162\040\123\171\163\164\145
+\155\163\040\123\056\040\144\145\040\122\056\114\056\061\047\060
+\045\006\003\125\004\013\014\036\124\162\165\163\164\103\157\162
+\040\103\145\162\164\151\146\151\143\141\164\145\040\101\165\164
+\150\157\162\151\164\171\061\037\060\035\006\003\125\004\003\014
+\026\124\162\165\163\164\103\157\162\040\122\157\157\164\103\145
+\162\164\040\103\101\055\061
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\002\014\276
+\002\011\000\332\233\354\161\363\003\260\031
 END
 CKA_VALUE MULTILINE_OCTAL
-\060\202\005\101\060\202\003\051\240\003\002\001\002\002\002\014
-\276\060\015\006\011\052\206\110\206\367\015\001\001\013\005\000
-\060\121\061\013\060\011\006\003\125\004\006\023\002\124\127\061
-\022\060\020\006\003\125\004\012\023\011\124\101\111\127\101\116
-\055\103\101\061\020\060\016\006\003\125\004\013\023\007\122\157
-\157\164\040\103\101\061\034\060\032\006\003\125\004\003\023\023
-\124\127\103\101\040\107\154\157\142\141\154\040\122\157\157\164
-\040\103\101\060\036\027\015\061\062\060\066\062\067\060\066\062
-\070\063\063\132\027\015\063\060\061\062\063\061\061\065\065\071
-\065\071\132\060\121\061\013\060\011\006\003\125\004\006\023\002
-\124\127\061\022\060\020\006\003\125\004\012\023\011\124\101\111
-\127\101\116\055\103\101\061\020\060\016\006\003\125\004\013\023
-\007\122\157\157\164\040\103\101\061\034\060\032\006\003\125\004
-\003\023\023\124\127\103\101\040\107\154\157\142\141\154\040\122
-\157\157\164\040\103\101\060\202\002\042\060\015\006\011\052\206
-\110\206\367\015\001\001\001\005\000\003\202\002\017\000\060\202
-\002\012\002\202\002\001\000\260\005\333\310\353\214\304\156\212
-\041\357\216\115\234\161\012\037\122\160\355\155\202\234\227\305
-\327\114\116\105\111\313\100\102\265\022\064\154\031\302\164\244
-\061\137\205\002\227\354\103\063\012\123\322\234\214\216\267\270
-\171\333\053\325\152\362\216\146\304\356\053\001\007\222\324\263
-\320\002\337\120\366\125\257\146\016\313\340\107\140\057\053\062
-\071\065\122\072\050\203\370\173\026\306\030\270\142\326\107\045
-\221\316\360\031\022\115\255\143\365\323\077\165\137\051\360\241
-\060\034\052\240\230\246\025\275\356\375\031\066\360\342\221\103
-\217\372\312\326\020\047\111\114\357\335\301\361\205\160\233\312
-\352\250\132\103\374\155\206\157\163\351\067\105\251\360\066\307
-\314\210\165\036\273\154\006\377\233\153\076\027\354\141\252\161
-\174\306\035\242\367\111\351\025\265\074\326\241\141\365\021\367
-\005\157\035\375\021\276\320\060\007\302\051\260\011\116\046\334
-\343\242\250\221\152\037\302\221\105\210\134\345\230\270\161\245
-\025\031\311\174\165\021\314\160\164\117\055\233\035\221\104\375
-\126\050\240\376\273\206\152\310\372\134\013\130\334\306\113\166
-\310\253\042\331\163\017\245\364\132\002\211\077\117\236\042\202
-\356\242\164\123\052\075\123\047\151\035\154\216\062\054\144\000
-\046\143\141\066\116\243\106\267\077\175\263\055\254\155\220\242
-\225\242\316\317\332\202\347\007\064\031\226\351\270\041\252\051
-\176\246\070\276\216\051\112\041\146\171\037\263\303\265\011\147
-\336\326\324\007\106\363\052\332\346\042\067\140\313\201\266\017
-\240\017\351\310\225\177\277\125\221\005\172\317\075\025\300\157
-\336\011\224\001\203\327\064\033\314\100\245\360\270\233\147\325
-\230\221\073\247\204\170\225\046\244\132\010\370\053\164\264\000
-\004\074\337\270\024\216\350\337\251\215\154\147\222\063\035\300
-\267\322\354\222\310\276\011\277\054\051\005\157\002\153\236\357
-\274\277\052\274\133\300\120\217\101\160\161\207\262\115\267\004
-\251\204\243\062\257\256\356\153\027\213\262\261\376\154\341\220
-\214\210\250\227\110\316\310\115\313\363\006\317\137\152\012\102
-\261\036\036\167\057\216\240\346\222\016\006\374\005\042\322\046
-\341\061\121\175\062\334\017\002\003\001\000\001\243\043\060\041
-\060\016\006\003\125\035\017\001\001\377\004\004\003\002\001\006
-\060\017\006\003\125\035\023\001\001\377\004\005\060\003\001\001
-\377\060\015\006\011\052\206\110\206\367\015\001\001\013\005\000
-\003\202\002\001\000\137\064\201\166\357\226\035\325\345\265\331
-\002\143\204\026\301\256\240\160\121\247\367\114\107\065\310\013
-\327\050\075\211\161\331\252\063\101\352\024\033\154\041\000\300
-\154\102\031\176\237\151\133\040\102\337\242\322\332\304\174\227
-\113\215\260\350\254\310\356\245\151\004\231\012\222\246\253\047
-\056\032\115\201\277\204\324\160\036\255\107\376\375\112\235\063
-\340\362\271\304\105\010\041\012\332\151\151\163\162\015\276\064
-\376\224\213\255\303\036\065\327\242\203\357\345\070\307\245\205
-\037\253\317\064\354\077\050\376\014\361\127\206\116\311\125\367
-\034\324\330\245\175\006\172\157\325\337\020\337\201\116\041\145
-\261\266\341\027\171\225\105\006\316\137\314\334\106\211\143\150
-\104\215\223\364\144\160\240\075\235\050\005\303\071\160\270\142
-\173\040\375\344\333\351\010\241\270\236\075\011\307\117\373\054
-\370\223\166\101\336\122\340\341\127\322\235\003\274\167\236\376
-\236\051\136\367\301\121\140\037\336\332\013\262\055\165\267\103
-\110\223\347\366\171\306\204\135\200\131\140\224\374\170\230\217
-\074\223\121\355\100\220\007\337\144\143\044\313\116\161\005\241
-\327\224\032\210\062\361\042\164\042\256\245\246\330\022\151\114
-\140\243\002\356\053\354\324\143\222\013\136\276\057\166\153\243
-\266\046\274\217\003\330\012\362\114\144\106\275\071\142\345\226
-\353\064\143\021\050\314\225\361\255\357\357\334\200\130\110\351
-\113\270\352\145\254\351\374\200\265\265\310\105\371\254\301\237
-\331\271\352\142\210\216\304\361\113\203\022\255\346\213\204\326
-\236\302\353\203\030\237\152\273\033\044\140\063\160\314\354\367
-\062\363\134\331\171\175\357\236\244\376\311\043\303\044\356\025
-\222\261\075\221\117\046\206\275\146\163\044\023\352\244\256\143
-\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
+\060\202\004\060\060\202\003\030\240\003\002\001\002\002\011\000
+\332\233\354\161\363\003\260\031\060\015\006\011\052\206\110\206
+\367\015\001\001\013\005\000\060\201\244\061\013\060\011\006\003
+\125\004\006\023\002\120\101\061\017\060\015\006\003\125\004\010
+\014\006\120\141\156\141\155\141\061\024\060\022\006\003\125\004
+\007\014\013\120\141\156\141\155\141\040\103\151\164\171\061\044
+\060\042\006\003\125\004\012\014\033\124\162\165\163\164\103\157
+\162\040\123\171\163\164\145\155\163\040\123\056\040\144\145\040
+\122\056\114\056\061\047\060\045\006\003\125\004\013\014\036\124
+\162\165\163\164\103\157\162\040\103\145\162\164\151\146\151\143
+\141\164\145\040\101\165\164\150\157\162\151\164\171\061\037\060
+\035\006\003\125\004\003\014\026\124\162\165\163\164\103\157\162
+\040\122\157\157\164\103\145\162\164\040\103\101\055\061\060\036
+\027\015\061\066\060\062\060\064\061\062\063\062\061\066\132\027
+\015\062\071\061\062\063\061\061\067\062\063\061\066\132\060\201
+\244\061\013\060\011\006\003\125\004\006\023\002\120\101\061\017
+\060\015\006\003\125\004\010\014\006\120\141\156\141\155\141\061
+\024\060\022\006\003\125\004\007\014\013\120\141\156\141\155\141
+\040\103\151\164\171\061\044\060\042\006\003\125\004\012\014\033
+\124\162\165\163\164\103\157\162\040\123\171\163\164\145\155\163
+\040\123\056\040\144\145\040\122\056\114\056\061\047\060\045\006
+\003\125\004\013\014\036\124\162\165\163\164\103\157\162\040\103
+\145\162\164\151\146\151\143\141\164\145\040\101\165\164\150\157
+\162\151\164\171\061\037\060\035\006\003\125\004\003\014\026\124
+\162\165\163\164\103\157\162\040\122\157\157\164\103\145\162\164
+\040\103\101\055\061\060\202\001\042\060\015\006\011\052\206\110
+\206\367\015\001\001\001\005\000\003\202\001\017\000\060\202\001
+\012\002\202\001\001\000\277\216\267\225\342\302\046\022\153\063
+\031\307\100\130\012\253\131\252\215\000\243\374\200\307\120\173
+\216\324\040\046\272\062\022\330\043\124\111\045\020\042\230\235
+\106\322\301\311\236\116\033\056\054\016\070\363\032\045\150\034
+\246\132\005\346\036\213\110\277\230\226\164\076\151\312\351\265
+\170\245\006\274\325\000\136\011\012\362\047\172\122\374\055\325
+\261\352\264\211\141\044\363\032\023\333\251\317\122\355\014\044
+\272\271\236\354\176\000\164\372\223\255\154\051\222\256\121\264
+\273\323\127\277\263\363\250\215\234\364\044\113\052\326\231\236
+\364\236\376\300\176\102\072\347\013\225\123\332\267\150\016\220
+\114\373\160\077\217\112\054\224\363\046\335\143\151\251\224\330
+\020\116\305\107\010\220\231\033\027\115\271\154\156\357\140\225
+\021\216\041\200\265\275\240\163\330\320\262\167\304\105\352\132
+\046\373\146\166\166\370\006\037\141\155\017\125\305\203\267\020
+\126\162\006\007\245\363\261\032\003\005\144\016\235\132\212\326
+\206\160\033\044\336\376\050\212\053\320\152\260\374\172\242\334
+\262\171\016\213\145\017\002\003\001\000\001\243\143\060\141\060
+\035\006\003\125\035\016\004\026\004\024\356\153\111\074\172\077
+\015\343\261\011\267\212\310\253\031\237\163\063\120\347\060\037
+\006\003\125\035\043\004\030\060\026\200\024\356\153\111\074\172
+\077\015\343\261\011\267\212\310\253\031\237\163\063\120\347\060
+\017\006\003\125\035\023\001\001\377\004\005\060\003\001\001\377
+\060\016\006\003\125\035\017\001\001\377\004\004\003\002\001\206
+\060\015\006\011\052\206\110\206\367\015\001\001\013\005\000\003
+\202\001\001\000\045\030\324\221\217\023\356\217\036\035\021\123
+\332\055\104\051\031\240\036\153\061\236\115\016\236\255\075\134
+\101\157\225\053\044\241\171\230\072\070\066\373\273\146\236\110
+\377\220\220\357\075\324\270\233\264\207\165\077\040\233\316\162
+\317\241\125\301\115\144\242\031\006\241\007\063\014\013\051\345
+\361\352\253\243\354\265\012\164\220\307\175\162\362\327\134\237
+\221\357\221\213\267\334\355\146\242\317\216\146\073\274\237\072
+\002\340\047\335\026\230\300\225\324\012\244\344\201\232\165\224
+\065\234\220\137\210\067\006\255\131\225\012\260\321\147\323\031
+\312\211\347\062\132\066\034\076\202\250\132\223\276\306\320\144
+\221\266\317\331\266\030\317\333\176\322\145\243\246\304\216\027
+\061\301\373\176\166\333\323\205\343\130\262\167\172\166\073\154
+\057\120\034\347\333\366\147\171\037\365\202\225\232\007\247\024
+\257\217\334\050\041\147\011\322\326\115\132\034\031\034\216\167
+\134\303\224\044\075\062\153\113\176\324\170\224\203\276\067\115
+\316\137\307\036\116\074\340\211\063\225\013\017\245\062\326\074
+\132\171\054\031
 END
 CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
+# For Server Distrust After: Wed Nov 30 00:00:00 2022
+CKA_NSS_SERVER_DISTRUST_AFTER MULTILINE_OCTAL
+\062\062\061\061\063\060\060\060\060\060\060\060\132
+END
+# For Email Distrust After: Wed Nov 30 00:00:00 2022
+CKA_NSS_EMAIL_DISTRUST_AFTER MULTILINE_OCTAL
+\062\062\061\061\063\060\060\060\060\060\060\060\132
+END
 
-# 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
-# Fingerprint (SHA1): 9C:BB:48:53:F6:A4:F6:D3:52:A4:E8:32:52:55:60:13:F5:AD:AF:65
+# Trust for "TrustCor RootCert CA-1"
+# Issuer: CN=TrustCor RootCert CA-1,OU=TrustCor Certificate Authority,O=TrustCor Systems S. de R.L.,L=Panama City,ST=Panama,C=PA
+# Serial Number:00:da:9b:ec:71:f3:03:b0:19
+# Subject: CN=TrustCor RootCert CA-1,OU=TrustCor Certificate Authority,O=TrustCor Systems S. de R.L.,L=Panama City,ST=Panama,C=PA
+# Not Valid Before: Thu Feb 04 12:32:16 2016
+# Not Valid After : Mon Dec 31 17:23:16 2029
+# Fingerprint (SHA-256): D4:0E:9C:86:CD:8F:E4:68:C1:77:69:59:F4:9E:A7:74:FA:54:86:84:B6:C4:06:F3:90:92:61:F4:DC:E2:57:5C
+# Fingerprint (SHA1): FF:BD:CD:E7:82:C8:43:5E:3C:6F:26:86:5C:CA:A8:3A:45:5B:C3:0A
 CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "TWCA Global Root CA"
+CKA_LABEL UTF8 "TrustCor RootCert CA-1"
 CKA_CERT_SHA1_HASH MULTILINE_OCTAL
-\234\273\110\123\366\244\366\323\122\244\350\062\122\125\140\023
-\365\255\257\145
+\377\275\315\347\202\310\103\136\074\157\046\206\134\312\250\072
+\105\133\303\012
 END
 CKA_CERT_MD5_HASH MULTILINE_OCTAL
-\371\003\176\317\346\236\074\163\172\052\220\007\151\377\053\226
+\156\205\361\334\032\000\323\042\325\262\262\254\153\067\005\105
 END
 CKA_ISSUER MULTILINE_OCTAL
-\060\121\061\013\060\011\006\003\125\004\006\023\002\124\127\061
-\022\060\020\006\003\125\004\012\023\011\124\101\111\127\101\116
-\055\103\101\061\020\060\016\006\003\125\004\013\023\007\122\157
-\157\164\040\103\101\061\034\060\032\006\003\125\004\003\023\023
-\124\127\103\101\040\107\154\157\142\141\154\040\122\157\157\164
-\040\103\101
+\060\201\244\061\013\060\011\006\003\125\004\006\023\002\120\101
+\061\017\060\015\006\003\125\004\010\014\006\120\141\156\141\155
+\141\061\024\060\022\006\003\125\004\007\014\013\120\141\156\141
+\155\141\040\103\151\164\171\061\044\060\042\006\003\125\004\012
+\014\033\124\162\165\163\164\103\157\162\040\123\171\163\164\145
+\155\163\040\123\056\040\144\145\040\122\056\114\056\061\047\060
+\045\006\003\125\004\013\014\036\124\162\165\163\164\103\157\162
+\040\103\145\162\164\151\146\151\143\141\164\145\040\101\165\164
+\150\157\162\151\164\171\061\037\060\035\006\003\125\004\003\014
+\026\124\162\165\163\164\103\157\162\040\122\157\157\164\103\145
+\162\164\040\103\101\055\061
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\002\014\276
+\002\011\000\332\233\354\161\363\003\260\031
 END
 CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
 CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
@@ -14109,496 +14286,362 @@ CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
 CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
 
 #
-# Certificate "TeliaSonera Root CA v1"
+# Certificate "TrustCor RootCert CA-2"
 #
-# 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
-# Fingerprint (SHA1): 43:13:BB:96:F1:D5:86:9B:C1:4E:6A:92:F6:CF:F6:34:69:87:82:37
+# Issuer: CN=TrustCor RootCert CA-2,OU=TrustCor Certificate Authority,O=TrustCor Systems S. de R.L.,L=Panama City,ST=Panama,C=PA
+# Serial Number:25:a1:df:ca:33:cb:59:02
+# Subject: CN=TrustCor RootCert CA-2,OU=TrustCor Certificate Authority,O=TrustCor Systems S. de R.L.,L=Panama City,ST=Panama,C=PA
+# Not Valid Before: Thu Feb 04 12:32:23 2016
+# Not Valid After : Sun Dec 31 17:26:39 2034
+# Fingerprint (SHA-256): 07:53:E9:40:37:8C:1B:D5:E3:83:6E:39:5D:AE:A5:CB:83:9E:50:46:F1:BD:0E:AE:19:51:CF:10:FE:C7:C9:65
+# Fingerprint (SHA1): B8:BE:6D:CB:56:F1:55:B9:63:D4:12:CA:4E:06:34:C7:94:B2:1C:C0
 CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "TeliaSonera Root CA v1"
+CKA_LABEL UTF8 "TrustCor RootCert CA-2"
 CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
 CKA_SUBJECT MULTILINE_OCTAL
-\060\067\061\024\060\022\006\003\125\004\012\014\013\124\145\154
-\151\141\123\157\156\145\162\141\061\037\060\035\006\003\125\004
-\003\014\026\124\145\154\151\141\123\157\156\145\162\141\040\122
-\157\157\164\040\103\101\040\166\061
+\060\201\244\061\013\060\011\006\003\125\004\006\023\002\120\101
+\061\017\060\015\006\003\125\004\010\014\006\120\141\156\141\155
+\141\061\024\060\022\006\003\125\004\007\014\013\120\141\156\141
+\155\141\040\103\151\164\171\061\044\060\042\006\003\125\004\012
+\014\033\124\162\165\163\164\103\157\162\040\123\171\163\164\145
+\155\163\040\123\056\040\144\145\040\122\056\114\056\061\047\060
+\045\006\003\125\004\013\014\036\124\162\165\163\164\103\157\162
+\040\103\145\162\164\151\146\151\143\141\164\145\040\101\165\164
+\150\157\162\151\164\171\061\037\060\035\006\003\125\004\003\014
+\026\124\162\165\163\164\103\157\162\040\122\157\157\164\103\145
+\162\164\040\103\101\055\062
 END
 CKA_ID UTF8 "0"
 CKA_ISSUER MULTILINE_OCTAL
-\060\067\061\024\060\022\006\003\125\004\012\014\013\124\145\154
-\151\141\123\157\156\145\162\141\061\037\060\035\006\003\125\004
-\003\014\026\124\145\154\151\141\123\157\156\145\162\141\040\122
-\157\157\164\040\103\101\040\166\061
+\060\201\244\061\013\060\011\006\003\125\004\006\023\002\120\101
+\061\017\060\015\006\003\125\004\010\014\006\120\141\156\141\155
+\141\061\024\060\022\006\003\125\004\007\014\013\120\141\156\141
+\155\141\040\103\151\164\171\061\044\060\042\006\003\125\004\012
+\014\033\124\162\165\163\164\103\157\162\040\123\171\163\164\145
+\155\163\040\123\056\040\144\145\040\122\056\114\056\061\047\060
+\045\006\003\125\004\013\014\036\124\162\165\163\164\103\157\162
+\040\103\145\162\164\151\146\151\143\141\164\145\040\101\165\164
+\150\157\162\151\164\171\061\037\060\035\006\003\125\004\003\014
+\026\124\162\165\163\164\103\157\162\040\122\157\157\164\103\145
+\162\164\040\103\101\055\062
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\021\000\225\276\026\240\367\056\106\361\173\071\202\162\372
-\213\315\226
+\002\010\045\241\337\312\063\313\131\002
 END
 CKA_VALUE MULTILINE_OCTAL
-\060\202\005\070\060\202\003\040\240\003\002\001\002\002\021\000
-\225\276\026\240\367\056\106\361\173\071\202\162\372\213\315\226
-\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060
-\067\061\024\060\022\006\003\125\004\012\014\013\124\145\154\151
-\141\123\157\156\145\162\141\061\037\060\035\006\003\125\004\003
-\014\026\124\145\154\151\141\123\157\156\145\162\141\040\122\157
-\157\164\040\103\101\040\166\061\060\036\027\015\060\067\061\060
-\061\070\061\062\060\060\065\060\132\027\015\063\062\061\060\061
-\070\061\062\060\060\065\060\132\060\067\061\024\060\022\006\003
-\125\004\012\014\013\124\145\154\151\141\123\157\156\145\162\141
-\061\037\060\035\006\003\125\004\003\014\026\124\145\154\151\141
-\123\157\156\145\162\141\040\122\157\157\164\040\103\101\040\166
-\061\060\202\002\042\060\015\006\011\052\206\110\206\367\015\001
-\001\001\005\000\003\202\002\017\000\060\202\002\012\002\202\002
-\001\000\302\276\353\047\360\041\243\363\151\046\125\176\235\305
-\125\026\221\134\375\357\041\277\123\200\172\055\322\221\214\143
-\061\360\354\044\360\303\245\322\162\174\020\155\364\067\267\345
-\346\174\171\352\214\265\202\213\256\110\266\254\000\334\145\165
-\354\052\115\137\301\207\365\040\145\053\201\250\107\076\211\043
-\225\060\026\220\177\350\127\007\110\347\031\256\277\105\147\261
-\067\033\006\052\376\336\371\254\175\203\373\136\272\344\217\227
-\147\276\113\216\215\144\007\127\070\125\151\064\066\075\023\110
-\357\117\342\323\146\036\244\317\032\267\136\066\063\324\264\006
-\275\030\001\375\167\204\120\000\105\365\214\135\350\043\274\176
-\376\065\341\355\120\173\251\060\215\031\323\011\216\150\147\135
-\277\074\227\030\123\273\051\142\305\312\136\162\301\307\226\324
-\333\055\240\264\037\151\003\354\352\342\120\361\014\074\360\254
-\363\123\055\360\034\365\355\154\071\071\163\200\026\310\122\260
-\043\315\340\076\334\335\074\107\240\273\065\212\342\230\150\213
-\276\345\277\162\356\322\372\245\355\022\355\374\230\030\251\046
-\166\334\050\113\020\040\034\323\177\026\167\055\355\157\200\367
-\111\273\123\005\273\135\150\307\324\310\165\026\077\211\132\213
-\367\027\107\324\114\361\322\211\171\076\115\075\230\250\141\336
-\072\036\322\370\136\003\340\301\311\034\214\323\215\115\323\225
-\066\263\067\137\143\143\233\063\024\360\055\046\153\123\174\211
-\214\062\302\156\354\075\041\000\071\311\241\150\342\120\203\056
-\260\072\053\363\066\240\254\057\344\157\141\302\121\011\071\076
-\213\123\271\273\147\332\334\123\271\166\131\066\235\103\345\040
-\340\075\062\140\205\042\121\267\307\063\273\335\025\057\244\170
-\246\007\173\201\106\066\004\206\335\171\065\307\225\054\073\260
-\243\027\065\345\163\037\264\134\131\357\332\352\020\145\173\172
-\320\177\237\263\264\052\067\073\160\213\233\133\271\053\267\354
-\262\121\022\227\123\051\132\324\360\022\020\334\117\002\273\022
-\222\057\142\324\077\151\103\174\015\326\374\130\165\001\210\235
-\130\026\113\336\272\220\377\107\001\211\006\152\366\137\262\220
-\152\263\002\246\002\210\277\263\107\176\052\331\325\372\150\170
-\065\115\002\003\001\000\001\243\077\060\075\060\017\006\003\125
-\035\023\001\001\377\004\005\060\003\001\001\377\060\013\006\003
-\125\035\017\004\004\003\002\001\006\060\035\006\003\125\035\016
-\004\026\004\024\360\217\131\070\000\263\365\217\232\226\014\325
-\353\372\173\252\027\350\023\022\060\015\006\011\052\206\110\206
-\367\015\001\001\005\005\000\003\202\002\001\000\276\344\134\142
-\116\044\364\014\010\377\360\323\014\150\344\223\111\042\077\104
-\047\157\273\155\336\203\146\316\250\314\015\374\365\232\006\345
-\167\024\221\353\235\101\173\231\052\204\345\377\374\041\301\135
-\360\344\037\127\267\165\251\241\137\002\046\377\327\307\367\116
-\336\117\370\367\034\106\300\172\117\100\054\042\065\360\031\261
-\320\153\147\054\260\250\340\300\100\067\065\366\204\134\134\343
-\257\102\170\376\247\311\015\120\352\015\204\166\366\121\357\203
-\123\306\172\377\016\126\111\056\217\172\326\014\346\047\124\343
-\115\012\140\162\142\315\221\007\326\245\277\310\231\153\355\304
-\031\346\253\114\021\070\305\157\061\342\156\111\310\077\166\200
-\046\003\046\051\340\066\366\366\040\123\343\027\160\064\027\235
-\143\150\036\153\354\303\115\206\270\023\060\057\135\106\015\107
-\103\325\033\252\131\016\271\134\215\006\110\255\164\207\137\307
-\374\061\124\101\023\342\307\041\016\236\340\036\015\341\300\173
-\103\205\220\305\212\130\306\145\012\170\127\362\306\043\017\001
-\331\040\113\336\017\373\222\205\165\052\134\163\215\155\173\045
-\221\312\356\105\256\006\113\000\314\323\261\131\120\332\072\210
-\073\051\103\106\136\227\053\124\316\123\157\215\112\347\226\372
-\277\161\016\102\213\174\375\050\240\320\110\312\332\304\201\114
-\273\242\163\223\046\310\353\014\326\046\210\266\300\044\317\273
-\275\133\353\165\175\351\010\216\206\063\054\171\167\011\151\245
-\211\374\263\160\220\207\166\217\323\042\273\102\316\275\163\013
-\040\046\052\320\233\075\160\036\044\154\315\207\166\251\027\226
-\267\317\015\222\373\216\030\251\230\111\321\236\376\140\104\162
-\041\271\031\355\302\365\061\361\071\110\210\220\044\165\124\026
-\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
+\060\202\006\057\060\202\004\027\240\003\002\001\002\002\010\045
+\241\337\312\063\313\131\002\060\015\006\011\052\206\110\206\367
+\015\001\001\013\005\000\060\201\244\061\013\060\011\006\003\125
+\004\006\023\002\120\101\061\017\060\015\006\003\125\004\010\014
+\006\120\141\156\141\155\141\061\024\060\022\006\003\125\004\007
+\014\013\120\141\156\141\155\141\040\103\151\164\171\061\044\060
+\042\006\003\125\004\012\014\033\124\162\165\163\164\103\157\162
+\040\123\171\163\164\145\155\163\040\123\056\040\144\145\040\122
+\056\114\056\061\047\060\045\006\003\125\004\013\014\036\124\162
+\165\163\164\103\157\162\040\103\145\162\164\151\146\151\143\141
+\164\145\040\101\165\164\150\157\162\151\164\171\061\037\060\035
+\006\003\125\004\003\014\026\124\162\165\163\164\103\157\162\040
+\122\157\157\164\103\145\162\164\040\103\101\055\062\060\036\027
+\015\061\066\060\062\060\064\061\062\063\062\062\063\132\027\015
+\063\064\061\062\063\061\061\067\062\066\063\071\132\060\201\244
+\061\013\060\011\006\003\125\004\006\023\002\120\101\061\017\060
+\015\006\003\125\004\010\014\006\120\141\156\141\155\141\061\024
+\060\022\006\003\125\004\007\014\013\120\141\156\141\155\141\040
+\103\151\164\171\061\044\060\042\006\003\125\004\012\014\033\124
+\162\165\163\164\103\157\162\040\123\171\163\164\145\155\163\040
+\123\056\040\144\145\040\122\056\114\056\061\047\060\045\006\003
+\125\004\013\014\036\124\162\165\163\164\103\157\162\040\103\145
+\162\164\151\146\151\143\141\164\145\040\101\165\164\150\157\162
+\151\164\171\061\037\060\035\006\003\125\004\003\014\026\124\162
+\165\163\164\103\157\162\040\122\157\157\164\103\145\162\164\040
+\103\101\055\062\060\202\002\042\060\015\006\011\052\206\110\206
+\367\015\001\001\001\005\000\003\202\002\017\000\060\202\002\012
+\002\202\002\001\000\247\040\156\302\052\242\142\044\225\220\166
+\310\070\176\200\322\253\301\233\145\005\224\364\301\012\020\325
+\002\254\355\237\223\307\207\310\260\047\053\102\014\075\012\076
+\101\132\236\165\335\215\312\340\233\354\150\062\244\151\222\150
+\214\013\201\016\126\240\076\032\335\054\045\024\202\057\227\323
+\144\106\364\124\251\334\072\124\055\061\053\231\202\362\331\052
+\327\357\161\000\270\061\244\276\172\044\007\303\102\040\362\212
+\324\222\004\033\145\126\114\154\324\373\266\141\132\107\043\264
+\330\151\264\267\072\320\164\074\014\165\241\214\116\166\241\351
+\333\052\245\073\372\316\260\377\176\152\050\375\047\034\310\261
+\351\051\361\127\156\144\264\320\301\025\155\016\276\056\016\106
+\310\136\364\121\376\357\016\143\072\073\161\272\317\157\131\312
+\014\343\233\135\111\270\114\342\127\261\230\212\102\127\234\166
+\357\357\275\321\150\250\322\364\011\273\167\065\276\045\202\010
+\304\026\054\104\040\126\251\104\021\167\357\135\264\035\252\136
+\153\076\213\062\366\007\057\127\004\222\312\365\376\235\302\351
+\350\263\216\114\113\002\061\331\344\074\110\202\047\367\030\202
+\166\110\072\161\261\023\241\071\325\056\305\064\302\035\142\205
+\337\003\376\115\364\257\075\337\134\133\215\372\160\341\245\176
+\047\307\206\056\152\217\022\306\204\136\103\121\120\234\031\233
+\170\346\374\366\355\107\176\173\075\146\357\023\023\210\137\074
+\241\143\373\371\254\207\065\237\363\202\236\244\077\012\234\061
+\151\213\231\244\210\112\216\156\146\115\357\026\304\017\171\050
+\041\140\015\205\026\175\327\124\070\361\222\126\375\265\063\114
+\203\334\327\020\237\113\375\306\370\102\275\272\174\163\002\340
+\377\175\315\133\341\324\254\141\173\127\325\112\173\133\324\205
+\130\047\135\277\370\053\140\254\240\046\256\024\041\047\306\167
+\232\063\200\074\136\106\077\367\303\261\243\206\063\306\350\136
+\015\271\065\054\252\106\301\205\002\165\200\240\353\044\373\025
+\252\344\147\177\156\167\077\364\004\212\057\174\173\343\027\141
+\360\335\011\251\040\310\276\011\244\320\176\104\303\262\060\112
+\070\252\251\354\030\232\007\202\053\333\270\234\030\255\332\340
+\106\027\254\317\135\002\003\001\000\001\243\143\060\141\060\035
+\006\003\125\035\016\004\026\004\024\331\376\041\100\156\224\236
+\274\233\075\234\175\230\040\031\345\214\060\142\262\060\037\006
+\003\125\035\043\004\030\060\026\200\024\331\376\041\100\156\224
+\236\274\233\075\234\175\230\040\031\345\214\060\142\262\060\017
+\006\003\125\035\023\001\001\377\004\005\060\003\001\001\377\060
+\016\006\003\125\035\017\001\001\377\004\004\003\002\001\206\060
+\015\006\011\052\206\110\206\367\015\001\001\013\005\000\003\202
+\002\001\000\236\105\236\014\073\266\357\341\072\310\174\321\000
+\075\317\342\352\006\265\262\072\273\006\113\150\172\320\043\227
+\164\247\054\360\010\330\171\132\327\132\204\212\330\022\232\033
+\331\175\134\115\160\305\245\371\253\345\243\211\211\335\001\372
+\354\335\371\351\222\227\333\260\106\102\363\323\142\252\225\376
+\061\147\024\151\130\220\012\252\013\356\067\043\307\120\121\264
+\365\176\236\343\173\367\344\314\102\062\055\111\014\313\377\111
+\014\233\036\064\375\156\156\226\212\171\003\266\157\333\011\313
+\375\137\145\024\067\341\070\365\363\141\026\130\344\265\155\015
+\013\004\033\077\120\055\177\263\307\172\032\026\200\140\370\212
+\037\351\033\052\306\371\272\001\032\151\277\322\130\307\124\127
+\010\217\341\071\140\167\113\254\131\204\032\210\361\335\313\117
+\170\327\347\341\063\055\374\356\101\372\040\260\276\313\367\070
+\224\300\341\320\205\017\273\355\054\163\253\355\376\222\166\032
+\144\177\133\015\063\011\007\063\173\006\077\021\244\134\160\074
+\205\300\317\343\220\250\203\167\372\333\346\305\214\150\147\020
+\147\245\122\055\360\304\231\217\177\277\321\153\342\265\107\326
+\331\320\205\231\115\224\233\017\113\215\356\000\132\107\035\021
+\003\254\101\030\257\207\267\157\014\072\217\312\317\334\003\301
+\242\011\310\345\375\200\136\310\140\102\001\033\032\123\132\273
+\067\246\267\274\272\204\351\036\154\032\324\144\332\324\103\376
+\223\213\113\362\054\171\026\020\324\223\013\210\217\241\330\206
+\024\106\221\107\233\050\044\357\127\122\116\134\102\234\252\367
+\111\354\047\350\100\036\263\246\211\042\162\234\365\015\063\264
+\130\243\060\073\335\324\152\124\223\276\032\115\363\223\224\367
+\374\204\013\077\204\040\134\064\003\104\305\332\255\274\012\301
+\002\317\036\345\224\331\363\216\133\330\114\360\235\354\141\027
+\273\024\062\124\014\002\051\223\036\222\206\366\177\357\347\222
+\005\016\131\335\231\010\056\056\372\234\000\122\323\305\146\051
+\344\247\227\104\244\016\050\201\023\065\305\366\157\144\346\101
+\304\325\057\314\064\105\045\317\101\000\226\075\112\056\302\226
+\230\117\116\112\234\227\267\333\037\222\062\310\377\017\121\156
+\326\354\011
 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
-# Fingerprint (SHA1): 43:13:BB:96:F1:D5:86:9B:C1:4E:6A:92:F6:CF:F6:34:69:87:82:37
-CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
-CKA_TOKEN CK_BBOOL CK_TRUE
-CKA_PRIVATE CK_BBOOL CK_FALSE
-CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "TeliaSonera Root CA v1"
-CKA_CERT_SHA1_HASH MULTILINE_OCTAL
-\103\023\273\226\361\325\206\233\301\116\152\222\366\317\366\064
-\151\207\202\067
-END
-CKA_CERT_MD5_HASH MULTILINE_OCTAL
-\067\101\111\033\030\126\232\046\365\255\302\146\373\100\245\114
-END
-CKA_ISSUER MULTILINE_OCTAL
-\060\067\061\024\060\022\006\003\125\004\012\014\013\124\145\154
-\151\141\123\157\156\145\162\141\061\037\060\035\006\003\125\004
-\003\014\026\124\145\154\151\141\123\157\156\145\162\141\040\122
-\157\157\164\040\103\101\040\166\061
+# For Server Distrust After: Wed Nov 30 00:00:00 2022
+CKA_NSS_SERVER_DISTRUST_AFTER MULTILINE_OCTAL
+\062\062\061\061\063\060\060\060\060\060\060\060\132
 END
-CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\021\000\225\276\026\240\367\056\106\361\173\071\202\162\372
-\213\315\226
+# For Email Distrust After: Wed Nov 30 00:00:00 2022
+CKA_NSS_EMAIL_DISTRUST_AFTER MULTILINE_OCTAL
+\062\062\061\061\063\060\060\060\060\060\060\060\132
 END
-CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
-CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
-CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
-CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
 
-#
-# Certificate "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
-# Fingerprint (SHA1): 51:C6:E7:08:49:06:6E:F3:92:D4:5C:A0:0D:6D:A3:62:8F:C3:52:39
-CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
-CKA_TOKEN CK_BBOOL CK_TRUE
-CKA_PRIVATE CK_BBOOL CK_FALSE
-CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "E-Tugra Certification Authority"
-CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
-CKA_SUBJECT MULTILINE_OCTAL
-\060\201\262\061\013\060\011\006\003\125\004\006\023\002\124\122
-\061\017\060\015\006\003\125\004\007\014\006\101\156\153\141\162
-\141\061\100\060\076\006\003\125\004\012\014\067\105\055\124\165
-\304\237\162\141\040\105\102\107\040\102\151\154\151\305\237\151
-\155\040\124\145\153\156\157\154\157\152\151\154\145\162\151\040
-\166\145\040\110\151\172\155\145\164\154\145\162\151\040\101\056
-\305\236\056\061\046\060\044\006\003\125\004\013\014\035\105\055
-\124\165\147\162\141\040\123\145\162\164\151\146\151\153\141\163
-\171\157\156\040\115\145\162\153\145\172\151\061\050\060\046\006
-\003\125\004\003\014\037\105\055\124\165\147\162\141\040\103\145
-\162\164\151\146\151\143\141\164\151\157\156\040\101\165\164\150
-\157\162\151\164\171
-END
-CKA_ID UTF8 "0"
-CKA_ISSUER MULTILINE_OCTAL
-\060\201\262\061\013\060\011\006\003\125\004\006\023\002\124\122
-\061\017\060\015\006\003\125\004\007\014\006\101\156\153\141\162
-\141\061\100\060\076\006\003\125\004\012\014\067\105\055\124\165
-\304\237\162\141\040\105\102\107\040\102\151\154\151\305\237\151
-\155\040\124\145\153\156\157\154\157\152\151\154\145\162\151\040
-\166\145\040\110\151\172\155\145\164\154\145\162\151\040\101\056
-\305\236\056\061\046\060\044\006\003\125\004\013\014\035\105\055
-\124\165\147\162\141\040\123\145\162\164\151\146\151\153\141\163
-\171\157\156\040\115\145\162\153\145\172\151\061\050\060\046\006
-\003\125\004\003\014\037\105\055\124\165\147\162\141\040\103\145
-\162\164\151\146\151\143\141\164\151\157\156\040\101\165\164\150
-\157\162\151\164\171
-END
-CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\010\152\150\076\234\121\233\313\123
-END
-CKA_VALUE MULTILINE_OCTAL
-\060\202\006\113\060\202\004\063\240\003\002\001\002\002\010\152
-\150\076\234\121\233\313\123\060\015\006\011\052\206\110\206\367
-\015\001\001\013\005\000\060\201\262\061\013\060\011\006\003\125
-\004\006\023\002\124\122\061\017\060\015\006\003\125\004\007\014
-\006\101\156\153\141\162\141\061\100\060\076\006\003\125\004\012
-\014\067\105\055\124\165\304\237\162\141\040\105\102\107\040\102
-\151\154\151\305\237\151\155\040\124\145\153\156\157\154\157\152
-\151\154\145\162\151\040\166\145\040\110\151\172\155\145\164\154
-\145\162\151\040\101\056\305\236\056\061\046\060\044\006\003\125
-\004\013\014\035\105\055\124\165\147\162\141\040\123\145\162\164
-\151\146\151\153\141\163\171\157\156\040\115\145\162\153\145\172
-\151\061\050\060\046\006\003\125\004\003\014\037\105\055\124\165
-\147\162\141\040\103\145\162\164\151\146\151\143\141\164\151\157
-\156\040\101\165\164\150\157\162\151\164\171\060\036\027\015\061
-\063\060\063\060\065\061\062\060\071\064\070\132\027\015\062\063
-\060\063\060\063\061\062\060\071\064\070\132\060\201\262\061\013
-\060\011\006\003\125\004\006\023\002\124\122\061\017\060\015\006
-\003\125\004\007\014\006\101\156\153\141\162\141\061\100\060\076
-\006\003\125\004\012\014\067\105\055\124\165\304\237\162\141\040
-\105\102\107\040\102\151\154\151\305\237\151\155\040\124\145\153
-\156\157\154\157\152\151\154\145\162\151\040\166\145\040\110\151
-\172\155\145\164\154\145\162\151\040\101\056\305\236\056\061\046
-\060\044\006\003\125\004\013\014\035\105\055\124\165\147\162\141
-\040\123\145\162\164\151\146\151\153\141\163\171\157\156\040\115
-\145\162\153\145\172\151\061\050\060\046\006\003\125\004\003\014
-\037\105\055\124\165\147\162\141\040\103\145\162\164\151\146\151
-\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164\171
-\060\202\002\042\060\015\006\011\052\206\110\206\367\015\001\001
-\001\005\000\003\202\002\017\000\060\202\002\012\002\202\002\001
-\000\342\365\077\223\005\121\036\205\142\124\136\172\013\365\030
-\007\203\256\176\257\174\367\324\212\153\245\143\103\071\271\113
-\367\303\306\144\211\075\224\056\124\200\122\071\071\007\113\113
-\335\205\007\166\207\314\277\057\225\114\314\175\247\075\274\107
-\017\230\160\370\214\205\036\164\216\222\155\033\100\321\231\015
-\273\165\156\310\251\153\232\300\204\061\257\312\103\313\353\053
-\064\350\217\227\153\001\233\325\016\112\010\252\133\222\164\205
-\103\323\200\256\241\210\133\256\263\352\136\313\026\232\167\104
-\310\241\366\124\150\316\336\217\227\053\272\133\100\002\014\144
-\027\300\265\223\315\341\361\023\146\316\014\171\357\321\221\050
-\253\137\240\022\122\060\163\031\216\217\341\214\007\242\303\273
-\112\360\352\037\025\250\356\045\314\244\106\370\033\042\357\263
-\016\103\272\054\044\270\305\054\134\324\034\370\135\144\275\303
-\223\136\050\247\077\047\361\216\036\323\052\120\005\243\125\331
-\313\347\071\123\300\230\236\214\124\142\213\046\260\367\175\215
-\174\344\306\236\146\102\125\202\107\347\262\130\215\146\367\007
-\174\056\066\346\120\034\077\333\103\044\305\277\206\107\171\263
-\171\034\367\132\364\023\354\154\370\077\342\131\037\225\356\102
-\076\271\255\250\062\205\111\227\106\376\113\061\217\132\313\255
-\164\107\037\351\221\267\337\050\004\042\240\324\017\135\342\171
-\117\352\154\205\206\275\250\246\316\344\372\303\341\263\256\336
-\074\121\356\313\023\174\001\177\204\016\135\121\224\236\023\014
-\266\056\245\114\371\071\160\066\157\226\312\056\014\104\125\305
-\312\372\135\002\243\337\326\144\214\132\263\001\012\251\265\012
-\107\027\377\357\221\100\052\216\241\106\072\061\230\345\021\374
-\314\273\111\126\212\374\271\320\141\232\157\145\154\346\303\313
-\076\165\111\376\217\247\342\211\305\147\327\235\106\023\116\061
-\166\073\044\263\236\021\145\206\253\177\357\035\324\370\274\347
-\254\132\134\267\132\107\134\125\316\125\264\042\161\133\133\013
-\360\317\334\240\141\144\352\251\327\150\012\143\247\340\015\077
-\240\257\323\252\322\176\357\121\240\346\121\053\125\222\025\027
-\123\313\267\146\016\146\114\370\371\165\114\220\347\022\160\307
-\105\002\003\001\000\001\243\143\060\141\060\035\006\003\125\035
-\016\004\026\004\024\056\343\333\262\111\320\234\124\171\134\372
-\047\052\376\314\116\322\350\116\124\060\017\006\003\125\035\023
-\001\001\377\004\005\060\003\001\001\377\060\037\006\003\125\035
-\043\004\030\060\026\200\024\056\343\333\262\111\320\234\124\171
-\134\372\047\052\376\314\116\322\350\116\124\060\016\006\003\125
-\035\017\001\001\377\004\004\003\002\001\006\060\015\006\011\052
-\206\110\206\367\015\001\001\013\005\000\003\202\002\001\000\005
-\067\072\364\115\267\105\342\105\165\044\217\266\167\122\350\034
-\330\020\223\145\363\362\131\006\244\076\036\051\354\135\321\320
-\253\174\340\012\220\110\170\355\116\230\003\231\376\050\140\221
-\035\060\035\270\143\174\250\346\065\265\372\323\141\166\346\326
-\007\113\312\151\232\262\204\172\167\223\105\027\025\237\044\320
-\230\023\022\377\273\240\056\375\116\114\207\370\316\134\252\230
-\033\005\340\000\106\112\202\200\245\063\213\050\334\355\070\323
-\337\345\076\351\376\373\131\335\141\204\117\322\124\226\023\141
-\023\076\217\200\151\276\223\107\265\065\103\322\132\273\075\134
-\357\263\102\107\315\073\125\023\006\260\011\333\375\143\366\072
-\210\012\231\157\176\341\316\033\123\152\104\146\043\121\010\173
-\274\133\122\242\375\006\067\070\100\141\217\112\226\270\220\067
-\370\146\307\170\220\000\025\056\213\255\121\065\123\007\250\153
-\150\256\371\116\074\007\046\315\010\005\160\314\071\077\166\275
-\245\323\147\046\001\206\246\123\322\140\073\174\103\177\125\212
-\274\225\032\301\050\071\114\037\103\322\221\364\162\131\212\271
-\126\374\077\264\235\332\160\234\166\132\214\103\120\356\216\060
-\162\115\337\377\111\367\306\251\147\331\155\254\002\021\342\072
-\026\045\247\130\010\313\157\123\101\234\110\070\107\150\063\321
-\327\307\217\324\164\041\324\303\005\220\172\377\316\226\210\261
-\025\051\135\043\253\320\140\241\022\117\336\364\027\315\062\345
-\311\277\310\103\255\375\056\216\361\257\342\364\230\372\022\037
-\040\330\300\247\014\205\305\220\364\073\055\226\046\261\054\276
-\114\253\353\261\322\212\311\333\170\023\017\036\011\235\155\217
-\000\237\002\332\301\372\037\172\172\011\304\112\346\210\052\227
-\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
-# Fingerprint (SHA1): 51:C6:E7:08:49:06:6E:F3:92:D4:5C:A0:0D:6D:A3:62:8F:C3:52:39
+# Trust for "TrustCor RootCert CA-2"
+# Issuer: CN=TrustCor RootCert CA-2,OU=TrustCor Certificate Authority,O=TrustCor Systems S. de R.L.,L=Panama City,ST=Panama,C=PA
+# Serial Number:25:a1:df:ca:33:cb:59:02
+# Subject: CN=TrustCor RootCert CA-2,OU=TrustCor Certificate Authority,O=TrustCor Systems S. de R.L.,L=Panama City,ST=Panama,C=PA
+# Not Valid Before: Thu Feb 04 12:32:23 2016
+# Not Valid After : Sun Dec 31 17:26:39 2034
+# Fingerprint (SHA-256): 07:53:E9:40:37:8C:1B:D5:E3:83:6E:39:5D:AE:A5:CB:83:9E:50:46:F1:BD:0E:AE:19:51:CF:10:FE:C7:C9:65
+# Fingerprint (SHA1): B8:BE:6D:CB:56:F1:55:B9:63:D4:12:CA:4E:06:34:C7:94:B2:1C:C0
 CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "E-Tugra Certification Authority"
+CKA_LABEL UTF8 "TrustCor RootCert CA-2"
 CKA_CERT_SHA1_HASH MULTILINE_OCTAL
-\121\306\347\010\111\006\156\363\222\324\134\240\015\155\243\142
-\217\303\122\071
+\270\276\155\313\126\361\125\271\143\324\022\312\116\006\064\307
+\224\262\034\300
 END
 CKA_CERT_MD5_HASH MULTILINE_OCTAL
-\270\241\003\143\260\275\041\161\160\212\157\023\072\273\171\111
-END
-CKA_ISSUER MULTILINE_OCTAL
-\060\201\262\061\013\060\011\006\003\125\004\006\023\002\124\122
-\061\017\060\015\006\003\125\004\007\014\006\101\156\153\141\162
-\141\061\100\060\076\006\003\125\004\012\014\067\105\055\124\165
-\304\237\162\141\040\105\102\107\040\102\151\154\151\305\237\151
-\155\040\124\145\153\156\157\154\157\152\151\154\145\162\151\040
-\166\145\040\110\151\172\155\145\164\154\145\162\151\040\101\056
-\305\236\056\061\046\060\044\006\003\125\004\013\014\035\105\055
-\124\165\147\162\141\040\123\145\162\164\151\146\151\153\141\163
-\171\157\156\040\115\145\162\153\145\172\151\061\050\060\046\006
-\003\125\004\003\014\037\105\055\124\165\147\162\141\040\103\145
-\162\164\151\146\151\143\141\164\151\157\156\040\101\165\164\150
-\157\162\151\164\171
+\242\341\370\030\013\272\105\325\307\101\052\273\067\122\105\144
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\201\244\061\013\060\011\006\003\125\004\006\023\002\120\101
+\061\017\060\015\006\003\125\004\010\014\006\120\141\156\141\155
+\141\061\024\060\022\006\003\125\004\007\014\013\120\141\156\141
+\155\141\040\103\151\164\171\061\044\060\042\006\003\125\004\012
+\014\033\124\162\165\163\164\103\157\162\040\123\171\163\164\145
+\155\163\040\123\056\040\144\145\040\122\056\114\056\061\047\060
+\045\006\003\125\004\013\014\036\124\162\165\163\164\103\157\162
+\040\103\145\162\164\151\146\151\143\141\164\145\040\101\165\164
+\150\157\162\151\164\171\061\037\060\035\006\003\125\004\003\014
+\026\124\162\165\163\164\103\157\162\040\122\157\157\164\103\145
+\162\164\040\103\101\055\062
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\010\152\150\076\234\121\233\313\123
+\002\010\045\241\337\312\063\313\131\002
 END
 CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
-CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
 CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
 CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
 
 #
-# Certificate "T-TeleSec GlobalRoot Class 2"
+# Certificate "TrustCor ECA-1"
 #
-# 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
-# Fingerprint (SHA1): 59:0D:2D:7D:88:4F:40:2E:61:7E:A5:62:32:17:65:CF:17:D8:94:E9
+# Issuer: CN=TrustCor ECA-1,OU=TrustCor Certificate Authority,O=TrustCor Systems S. de R.L.,L=Panama City,ST=Panama,C=PA
+# Serial Number:00:84:82:2c:5f:1c:62:d0:40
+# Subject: CN=TrustCor ECA-1,OU=TrustCor Certificate Authority,O=TrustCor Systems S. de R.L.,L=Panama City,ST=Panama,C=PA
+# Not Valid Before: Thu Feb 04 12:32:33 2016
+# Not Valid After : Mon Dec 31 17:28:07 2029
+# Fingerprint (SHA-256): 5A:88:5D:B1:9C:01:D9:12:C5:75:93:88:93:8C:AF:BB:DF:03:1A:B2:D4:8E:91:EE:15:58:9B:42:97:1D:03:9C
+# Fingerprint (SHA1): 58:D1:DF:95:95:67:6B:63:C0:F0:5B:1C:17:4D:8B:84:0B:C8:78:BD
 CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "T-TeleSec GlobalRoot Class 2"
+CKA_LABEL UTF8 "TrustCor ECA-1"
 CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
 CKA_SUBJECT MULTILINE_OCTAL
-\060\201\202\061\013\060\011\006\003\125\004\006\023\002\104\105
-\061\053\060\051\006\003\125\004\012\014\042\124\055\123\171\163
-\164\145\155\163\040\105\156\164\145\162\160\162\151\163\145\040
-\123\145\162\166\151\143\145\163\040\107\155\142\110\061\037\060
-\035\006\003\125\004\013\014\026\124\055\123\171\163\164\145\155
-\163\040\124\162\165\163\164\040\103\145\156\164\145\162\061\045
-\060\043\006\003\125\004\003\014\034\124\055\124\145\154\145\123
-\145\143\040\107\154\157\142\141\154\122\157\157\164\040\103\154
-\141\163\163\040\062
+\060\201\234\061\013\060\011\006\003\125\004\006\023\002\120\101
+\061\017\060\015\006\003\125\004\010\014\006\120\141\156\141\155
+\141\061\024\060\022\006\003\125\004\007\014\013\120\141\156\141
+\155\141\040\103\151\164\171\061\044\060\042\006\003\125\004\012
+\014\033\124\162\165\163\164\103\157\162\040\123\171\163\164\145
+\155\163\040\123\056\040\144\145\040\122\056\114\056\061\047\060
+\045\006\003\125\004\013\014\036\124\162\165\163\164\103\157\162
+\040\103\145\162\164\151\146\151\143\141\164\145\040\101\165\164
+\150\157\162\151\164\171\061\027\060\025\006\003\125\004\003\014
+\016\124\162\165\163\164\103\157\162\040\105\103\101\055\061
 END
 CKA_ID UTF8 "0"
 CKA_ISSUER MULTILINE_OCTAL
-\060\201\202\061\013\060\011\006\003\125\004\006\023\002\104\105
-\061\053\060\051\006\003\125\004\012\014\042\124\055\123\171\163
-\164\145\155\163\040\105\156\164\145\162\160\162\151\163\145\040
-\123\145\162\166\151\143\145\163\040\107\155\142\110\061\037\060
-\035\006\003\125\004\013\014\026\124\055\123\171\163\164\145\155
-\163\040\124\162\165\163\164\040\103\145\156\164\145\162\061\045
-\060\043\006\003\125\004\003\014\034\124\055\124\145\154\145\123
-\145\143\040\107\154\157\142\141\154\122\157\157\164\040\103\154
-\141\163\163\040\062
+\060\201\234\061\013\060\011\006\003\125\004\006\023\002\120\101
+\061\017\060\015\006\003\125\004\010\014\006\120\141\156\141\155
+\141\061\024\060\022\006\003\125\004\007\014\013\120\141\156\141
+\155\141\040\103\151\164\171\061\044\060\042\006\003\125\004\012
+\014\033\124\162\165\163\164\103\157\162\040\123\171\163\164\145
+\155\163\040\123\056\040\144\145\040\122\056\114\056\061\047\060
+\045\006\003\125\004\013\014\036\124\162\165\163\164\103\157\162
+\040\103\145\162\164\151\146\151\143\141\164\145\040\101\165\164
+\150\157\162\151\164\171\061\027\060\025\006\003\125\004\003\014
+\016\124\162\165\163\164\103\157\162\040\105\103\101\055\061
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\001\001
+\002\011\000\204\202\054\137\034\142\320\100
 END
 CKA_VALUE MULTILINE_OCTAL
-\060\202\003\303\060\202\002\253\240\003\002\001\002\002\001\001
-\060\015\006\011\052\206\110\206\367\015\001\001\013\005\000\060
-\201\202\061\013\060\011\006\003\125\004\006\023\002\104\105\061
-\053\060\051\006\003\125\004\012\014\042\124\055\123\171\163\164
-\145\155\163\040\105\156\164\145\162\160\162\151\163\145\040\123
-\145\162\166\151\143\145\163\040\107\155\142\110\061\037\060\035
-\006\003\125\004\013\014\026\124\055\123\171\163\164\145\155\163
-\040\124\162\165\163\164\040\103\145\156\164\145\162\061\045\060
-\043\006\003\125\004\003\014\034\124\055\124\145\154\145\123\145
-\143\040\107\154\157\142\141\154\122\157\157\164\040\103\154\141
-\163\163\040\062\060\036\027\015\060\070\061\060\060\061\061\060
-\064\060\061\064\132\027\015\063\063\061\060\060\061\062\063\065
-\071\065\071\132\060\201\202\061\013\060\011\006\003\125\004\006
-\023\002\104\105\061\053\060\051\006\003\125\004\012\014\042\124
-\055\123\171\163\164\145\155\163\040\105\156\164\145\162\160\162
-\151\163\145\040\123\145\162\166\151\143\145\163\040\107\155\142
-\110\061\037\060\035\006\003\125\004\013\014\026\124\055\123\171
-\163\164\145\155\163\040\124\162\165\163\164\040\103\145\156\164
-\145\162\061\045\060\043\006\003\125\004\003\014\034\124\055\124
-\145\154\145\123\145\143\040\107\154\157\142\141\154\122\157\157
-\164\040\103\154\141\163\163\040\062\060\202\001\042\060\015\006
-\011\052\206\110\206\367\015\001\001\001\005\000\003\202\001\017
-\000\060\202\001\012\002\202\001\001\000\252\137\332\033\137\350
-\163\221\345\332\134\364\242\346\107\345\363\150\125\140\005\035
-\002\244\263\233\131\363\036\212\257\064\255\374\015\302\331\110
-\031\356\151\217\311\040\374\041\252\007\031\355\260\134\254\145
-\307\137\355\002\174\173\174\055\033\326\272\271\200\302\030\202
-\026\204\372\146\260\010\306\124\043\201\344\315\271\111\077\366
-\117\156\067\110\050\070\017\305\276\347\150\160\375\071\227\115
-\322\307\230\221\120\252\304\104\263\043\175\071\107\351\122\142
-\326\022\223\136\267\061\226\102\005\373\166\247\036\243\365\302
-\374\351\172\305\154\251\161\117\352\313\170\274\140\257\307\336
-\364\331\313\276\176\063\245\156\224\203\360\064\372\041\253\352
-\216\162\240\077\244\336\060\133\357\206\115\152\225\133\103\104
-\250\020\025\034\345\001\127\305\230\361\346\006\050\221\252\040
-\305\267\123\046\121\103\262\013\021\225\130\341\300\017\166\331
-\300\215\174\201\363\162\160\236\157\376\032\216\331\137\065\306
-\262\157\064\174\276\110\117\342\132\071\327\330\235\170\236\237
-\206\076\003\136\031\213\104\242\325\307\002\003\001\000\001\243
-\102\060\100\060\017\006\003\125\035\023\001\001\377\004\005\060
-\003\001\001\377\060\016\006\003\125\035\017\001\001\377\004\004
-\003\002\001\006\060\035\006\003\125\035\016\004\026\004\024\277
-\131\040\066\000\171\240\240\042\153\214\325\362\141\322\270\054
-\313\202\112\060\015\006\011\052\206\110\206\367\015\001\001\013
-\005\000\003\202\001\001\000\061\003\242\141\013\037\164\350\162
-\066\306\155\371\115\236\372\042\250\341\201\126\317\315\273\237
-\352\253\221\031\070\257\252\174\025\115\363\266\243\215\245\364
-\216\366\104\251\247\350\041\225\255\076\000\142\026\210\360\002
-\272\374\141\043\346\063\233\060\172\153\066\142\173\255\004\043
-\204\130\145\342\333\053\212\347\045\123\067\142\123\137\274\332
-\001\142\051\242\246\047\161\346\072\042\176\301\157\035\225\160
-\040\112\007\064\337\352\377\025\200\345\272\327\172\330\133\165
-\174\005\172\051\107\176\100\250\061\023\167\315\100\073\264\121
-\107\172\056\021\343\107\021\336\235\146\320\213\325\124\146\372
-\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
+\060\202\004\040\060\202\003\010\240\003\002\001\002\002\011\000
+\204\202\054\137\034\142\320\100\060\015\006\011\052\206\110\206
+\367\015\001\001\013\005\000\060\201\234\061\013\060\011\006\003
+\125\004\006\023\002\120\101\061\017\060\015\006\003\125\004\010
+\014\006\120\141\156\141\155\141\061\024\060\022\006\003\125\004
+\007\014\013\120\141\156\141\155\141\040\103\151\164\171\061\044
+\060\042\006\003\125\004\012\014\033\124\162\165\163\164\103\157
+\162\040\123\171\163\164\145\155\163\040\123\056\040\144\145\040
+\122\056\114\056\061\047\060\045\006\003\125\004\013\014\036\124
+\162\165\163\164\103\157\162\040\103\145\162\164\151\146\151\143
+\141\164\145\040\101\165\164\150\157\162\151\164\171\061\027\060
+\025\006\003\125\004\003\014\016\124\162\165\163\164\103\157\162
+\040\105\103\101\055\061\060\036\027\015\061\066\060\062\060\064
+\061\062\063\062\063\063\132\027\015\062\071\061\062\063\061\061
+\067\062\070\060\067\132\060\201\234\061\013\060\011\006\003\125
+\004\006\023\002\120\101\061\017\060\015\006\003\125\004\010\014
+\006\120\141\156\141\155\141\061\024\060\022\006\003\125\004\007
+\014\013\120\141\156\141\155\141\040\103\151\164\171\061\044\060
+\042\006\003\125\004\012\014\033\124\162\165\163\164\103\157\162
+\040\123\171\163\164\145\155\163\040\123\056\040\144\145\040\122
+\056\114\056\061\047\060\045\006\003\125\004\013\014\036\124\162
+\165\163\164\103\157\162\040\103\145\162\164\151\146\151\143\141
+\164\145\040\101\165\164\150\157\162\151\164\171\061\027\060\025
+\006\003\125\004\003\014\016\124\162\165\163\164\103\157\162\040
+\105\103\101\055\061\060\202\001\042\060\015\006\011\052\206\110
+\206\367\015\001\001\001\005\000\003\202\001\017\000\060\202\001
+\012\002\202\001\001\000\317\217\340\021\265\237\250\166\166\333
+\337\017\124\357\163\143\051\202\255\107\306\243\153\355\376\137
+\063\370\103\121\351\032\063\221\061\027\240\164\304\324\247\001
+\346\262\222\076\152\235\355\016\371\164\230\100\323\077\003\200
+\006\202\100\350\261\342\247\121\247\035\203\046\153\253\336\372
+\027\221\053\330\306\254\036\261\236\031\001\325\227\246\352\015
+\267\304\125\037\047\174\322\010\325\166\037\051\025\207\100\071
+\335\070\105\021\165\320\232\247\064\340\277\315\310\122\035\271
+\107\176\015\270\273\306\014\366\163\127\026\132\176\103\221\037
+\125\072\306\155\104\004\252\234\251\234\247\114\211\027\203\256
+\243\004\136\122\200\213\036\022\045\021\031\327\014\175\175\061
+\104\101\352\333\257\260\034\357\201\320\054\305\232\041\233\075
+\355\102\073\120\046\362\354\316\161\141\006\142\041\124\116\177
+\301\235\076\177\040\214\200\313\052\330\227\142\310\203\063\221
+\175\260\242\132\017\127\350\073\314\362\045\262\324\174\057\354
+\115\306\241\072\025\172\347\266\135\065\365\366\110\112\066\105
+\146\324\272\230\130\301\002\003\001\000\001\243\143\060\141\060
+\035\006\003\125\035\016\004\026\004\024\104\236\110\365\314\155
+\110\324\240\113\177\376\131\044\057\203\227\231\232\206\060\037
+\006\003\125\035\043\004\030\060\026\200\024\104\236\110\365\314
+\155\110\324\240\113\177\376\131\044\057\203\227\231\232\206\060
+\017\006\003\125\035\023\001\001\377\004\005\060\003\001\001\377
+\060\016\006\003\125\035\017\001\001\377\004\004\003\002\001\206
+\060\015\006\011\052\206\110\206\367\015\001\001\013\005\000\003
+\202\001\001\000\005\076\065\134\025\160\233\311\307\163\141\157
+\162\053\324\302\217\362\103\135\002\316\304\224\271\224\021\203
+\147\135\342\147\154\165\166\277\273\014\252\066\306\255\107\223
+\143\334\036\176\326\336\056\376\351\031\062\070\003\177\024\366
+\000\163\054\131\261\041\006\341\373\254\030\225\014\243\377\231
+\226\367\053\047\233\325\044\314\035\335\301\072\340\230\104\260
+\304\344\076\167\261\163\251\144\054\366\034\001\174\077\135\105
+\205\300\205\347\045\217\225\334\027\363\074\237\032\156\260\312
+\343\035\052\351\114\143\372\044\141\142\326\332\176\266\034\154
+\365\002\035\324\052\335\125\220\353\052\021\107\074\056\136\164
+\262\202\042\245\175\123\037\105\354\047\221\175\347\042\026\350
+\300\150\066\330\306\361\117\200\104\062\371\341\321\321\035\252
+\336\250\253\234\004\257\255\040\016\144\230\115\245\153\300\110
+\130\226\151\115\334\007\214\121\223\242\337\237\017\075\213\140
+\264\202\215\252\010\116\142\105\340\371\013\322\340\340\074\133
+\336\134\161\047\045\302\346\003\201\213\020\123\343\307\125\242
+\264\237\327\346
 END
 CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
+# For Server Distrust After: Wed Nov 30 00:00:00 2022
+CKA_NSS_SERVER_DISTRUST_AFTER MULTILINE_OCTAL
+\062\062\061\061\063\060\060\060\060\060\060\060\132
+END
+# For Email Distrust After: Wed Nov 30 00:00:00 2022
+CKA_NSS_EMAIL_DISTRUST_AFTER MULTILINE_OCTAL
+\062\062\061\061\063\060\060\060\060\060\060\060\132
+END
 
-# 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
-# Fingerprint (SHA1): 59:0D:2D:7D:88:4F:40:2E:61:7E:A5:62:32:17:65:CF:17:D8:94:E9
+# Trust for "TrustCor ECA-1"
+# Issuer: CN=TrustCor ECA-1,OU=TrustCor Certificate Authority,O=TrustCor Systems S. de R.L.,L=Panama City,ST=Panama,C=PA
+# Serial Number:00:84:82:2c:5f:1c:62:d0:40
+# Subject: CN=TrustCor ECA-1,OU=TrustCor Certificate Authority,O=TrustCor Systems S. de R.L.,L=Panama City,ST=Panama,C=PA
+# Not Valid Before: Thu Feb 04 12:32:33 2016
+# Not Valid After : Mon Dec 31 17:28:07 2029
+# Fingerprint (SHA-256): 5A:88:5D:B1:9C:01:D9:12:C5:75:93:88:93:8C:AF:BB:DF:03:1A:B2:D4:8E:91:EE:15:58:9B:42:97:1D:03:9C
+# Fingerprint (SHA1): 58:D1:DF:95:95:67:6B:63:C0:F0:5B:1C:17:4D:8B:84:0B:C8:78:BD
 CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "T-TeleSec GlobalRoot Class 2"
+CKA_LABEL UTF8 "TrustCor ECA-1"
 CKA_CERT_SHA1_HASH MULTILINE_OCTAL
-\131\015\055\175\210\117\100\056\141\176\245\142\062\027\145\317
-\027\330\224\351
+\130\321\337\225\225\147\153\143\300\360\133\034\027\115\213\204
+\013\310\170\275
 END
 CKA_CERT_MD5_HASH MULTILINE_OCTAL
-\053\233\236\344\173\154\037\000\162\032\314\301\167\171\337\152
+\047\222\043\035\012\365\100\174\351\346\153\235\330\365\347\154
 END
 CKA_ISSUER MULTILINE_OCTAL
-\060\201\202\061\013\060\011\006\003\125\004\006\023\002\104\105
-\061\053\060\051\006\003\125\004\012\014\042\124\055\123\171\163
-\164\145\155\163\040\105\156\164\145\162\160\162\151\163\145\040
-\123\145\162\166\151\143\145\163\040\107\155\142\110\061\037\060
-\035\006\003\125\004\013\014\026\124\055\123\171\163\164\145\155
-\163\040\124\162\165\163\164\040\103\145\156\164\145\162\061\045
-\060\043\006\003\125\004\003\014\034\124\055\124\145\154\145\123
-\145\143\040\107\154\157\142\141\154\122\157\157\164\040\103\154
-\141\163\163\040\062
+\060\201\234\061\013\060\011\006\003\125\004\006\023\002\120\101
+\061\017\060\015\006\003\125\004\010\014\006\120\141\156\141\155
+\141\061\024\060\022\006\003\125\004\007\014\013\120\141\156\141
+\155\141\040\103\151\164\171\061\044\060\042\006\003\125\004\012
+\014\033\124\162\165\163\164\103\157\162\040\123\171\163\164\145
+\155\163\040\123\056\040\144\145\040\122\056\114\056\061\047\060
+\045\006\003\125\004\013\014\036\124\162\165\163\164\103\157\162
+\040\103\145\162\164\151\146\151\143\141\164\145\040\101\165\164
+\150\157\162\151\164\171\061\027\060\025\006\003\125\004\003\014
+\016\124\162\165\163\164\103\157\162\040\105\103\101\055\061
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\001\001
+\002\011\000\204\202\054\137\034\142\320\100
 END
 CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
 CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
@@ -14606,125 +14649,178 @@ CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
 CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
 
 #
-# Certificate "Atos TrustedRoot 2011"
+# Certificate "SSL.com Root Certification Authority RSA"
 #
-# 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
-# Fingerprint (SHA1): 2B:B1:F5:3E:55:0C:1D:C5:F1:D4:E6:B7:6A:46:4B:55:06:02:AC:21
+# Issuer: CN=SSL.com Root Certification Authority RSA,O=SSL Corporation,L=Houston,ST=Texas,C=US
+# Serial Number:7b:2c:9b:d3:16:80:32:99
+# Subject: CN=SSL.com Root Certification Authority RSA,O=SSL Corporation,L=Houston,ST=Texas,C=US
+# Not Valid Before: Fri Feb 12 17:39:39 2016
+# Not Valid After : Tue Feb 12 17:39:39 2041
+# Fingerprint (SHA-256): 85:66:6A:56:2E:E0:BE:5C:E9:25:C1:D8:89:0A:6F:76:A8:7E:C1:6D:4D:7D:5F:29:EA:74:19:CF:20:12:3B:69
+# Fingerprint (SHA1): B7:AB:33:08:D1:EA:44:77:BA:14:80:12:5A:6F:BD:A9:36:49:0C:BB
 CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "Atos TrustedRoot 2011"
+CKA_LABEL UTF8 "SSL.com Root Certification Authority RSA"
 CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
 CKA_SUBJECT MULTILINE_OCTAL
-\060\074\061\036\060\034\006\003\125\004\003\014\025\101\164\157
-\163\040\124\162\165\163\164\145\144\122\157\157\164\040\062\060
-\061\061\061\015\060\013\006\003\125\004\012\014\004\101\164\157
-\163\061\013\060\011\006\003\125\004\006\023\002\104\105
+\060\174\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\016\060\014\006\003\125\004\010\014\005\124\145\170\141\163\061
+\020\060\016\006\003\125\004\007\014\007\110\157\165\163\164\157
+\156\061\030\060\026\006\003\125\004\012\014\017\123\123\114\040
+\103\157\162\160\157\162\141\164\151\157\156\061\061\060\057\006
+\003\125\004\003\014\050\123\123\114\056\143\157\155\040\122\157
+\157\164\040\103\145\162\164\151\146\151\143\141\164\151\157\156
+\040\101\165\164\150\157\162\151\164\171\040\122\123\101
 END
 CKA_ID UTF8 "0"
 CKA_ISSUER MULTILINE_OCTAL
-\060\074\061\036\060\034\006\003\125\004\003\014\025\101\164\157
-\163\040\124\162\165\163\164\145\144\122\157\157\164\040\062\060
-\061\061\061\015\060\013\006\003\125\004\012\014\004\101\164\157
-\163\061\013\060\011\006\003\125\004\006\023\002\104\105
+\060\174\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\016\060\014\006\003\125\004\010\014\005\124\145\170\141\163\061
+\020\060\016\006\003\125\004\007\014\007\110\157\165\163\164\157
+\156\061\030\060\026\006\003\125\004\012\014\017\123\123\114\040
+\103\157\162\160\157\162\141\164\151\157\156\061\061\060\057\006
+\003\125\004\003\014\050\123\123\114\056\143\157\155\040\122\157
+\157\164\040\103\145\162\164\151\146\151\143\141\164\151\157\156
+\040\101\165\164\150\157\162\151\164\171\040\122\123\101
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\010\134\063\313\142\054\137\263\062
+\002\010\173\054\233\323\026\200\062\231
 END
 CKA_VALUE MULTILINE_OCTAL
-\060\202\003\167\060\202\002\137\240\003\002\001\002\002\010\134
-\063\313\142\054\137\263\062\060\015\006\011\052\206\110\206\367
-\015\001\001\013\005\000\060\074\061\036\060\034\006\003\125\004
-\003\014\025\101\164\157\163\040\124\162\165\163\164\145\144\122
-\157\157\164\040\062\060\061\061\061\015\060\013\006\003\125\004
-\012\014\004\101\164\157\163\061\013\060\011\006\003\125\004\006
-\023\002\104\105\060\036\027\015\061\061\060\067\060\067\061\064
-\065\070\063\060\132\027\015\063\060\061\062\063\061\062\063\065
-\071\065\071\132\060\074\061\036\060\034\006\003\125\004\003\014
-\025\101\164\157\163\040\124\162\165\163\164\145\144\122\157\157
-\164\040\062\060\061\061\061\015\060\013\006\003\125\004\012\014
-\004\101\164\157\163\061\013\060\011\006\003\125\004\006\023\002
-\104\105\060\202\001\042\060\015\006\011\052\206\110\206\367\015
-\001\001\001\005\000\003\202\001\017\000\060\202\001\012\002\202
-\001\001\000\225\205\073\227\157\052\073\056\073\317\246\363\051
-\065\276\317\030\254\076\252\331\370\115\240\076\032\107\271\274
-\232\337\362\376\314\076\107\350\172\226\302\044\216\065\364\251
-\014\374\202\375\155\301\162\142\047\275\352\153\353\347\212\314
-\124\076\220\120\317\200\324\225\373\350\265\202\324\024\305\266
-\251\125\045\127\333\261\120\366\260\140\144\131\172\151\317\003
-\267\157\015\276\312\076\157\164\162\352\252\060\052\163\142\276
-\111\221\141\310\021\376\016\003\052\367\152\040\334\002\025\015
-\136\025\152\374\343\202\301\265\305\235\144\011\154\243\131\230
-\007\047\307\033\226\053\141\164\161\154\103\361\367\065\211\020
-\340\236\354\125\241\067\042\242\207\004\005\054\107\175\264\034
-\271\142\051\146\050\312\267\341\223\365\244\224\003\231\271\160
-\205\265\346\110\352\215\120\374\331\336\314\157\007\016\335\013
-\162\235\200\060\026\007\225\077\050\016\375\305\165\117\123\326
-\164\232\264\044\056\216\002\221\317\166\305\233\036\125\164\234
-\170\041\261\360\055\361\013\237\302\325\226\030\037\360\124\042
-\172\214\007\002\003\001\000\001\243\175\060\173\060\035\006\003
-\125\035\016\004\026\004\024\247\245\006\261\054\246\011\140\356
-\321\227\351\160\256\274\073\031\154\333\041\060\017\006\003\125
+\060\202\005\335\060\202\003\305\240\003\002\001\002\002\010\173
+\054\233\323\026\200\062\231\060\015\006\011\052\206\110\206\367
+\015\001\001\013\005\000\060\174\061\013\060\011\006\003\125\004
+\006\023\002\125\123\061\016\060\014\006\003\125\004\010\014\005
+\124\145\170\141\163\061\020\060\016\006\003\125\004\007\014\007
+\110\157\165\163\164\157\156\061\030\060\026\006\003\125\004\012
+\014\017\123\123\114\040\103\157\162\160\157\162\141\164\151\157
+\156\061\061\060\057\006\003\125\004\003\014\050\123\123\114\056
+\143\157\155\040\122\157\157\164\040\103\145\162\164\151\146\151
+\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164\171
+\040\122\123\101\060\036\027\015\061\066\060\062\061\062\061\067
+\063\071\063\071\132\027\015\064\061\060\062\061\062\061\067\063
+\071\063\071\132\060\174\061\013\060\011\006\003\125\004\006\023
+\002\125\123\061\016\060\014\006\003\125\004\010\014\005\124\145
+\170\141\163\061\020\060\016\006\003\125\004\007\014\007\110\157
+\165\163\164\157\156\061\030\060\026\006\003\125\004\012\014\017
+\123\123\114\040\103\157\162\160\157\162\141\164\151\157\156\061
+\061\060\057\006\003\125\004\003\014\050\123\123\114\056\143\157
+\155\040\122\157\157\164\040\103\145\162\164\151\146\151\143\141
+\164\151\157\156\040\101\165\164\150\157\162\151\164\171\040\122
+\123\101\060\202\002\042\060\015\006\011\052\206\110\206\367\015
+\001\001\001\005\000\003\202\002\017\000\060\202\002\012\002\202
+\002\001\000\371\017\335\243\053\175\313\320\052\376\354\147\205
+\246\347\056\033\272\167\341\343\365\257\244\354\372\112\135\221
+\304\127\107\153\030\167\153\166\362\375\223\344\075\017\302\026
+\236\013\146\303\126\224\236\027\203\205\316\126\357\362\026\375
+\000\142\365\042\011\124\350\145\027\116\101\271\340\117\106\227
+\252\033\310\270\156\142\136\151\261\137\333\052\002\176\374\154
+\312\363\101\330\355\320\350\374\077\141\110\355\260\003\024\035
+\020\016\113\031\340\273\116\354\206\145\377\066\363\136\147\002
+\013\235\206\125\141\375\172\070\355\376\342\031\000\267\157\241
+\120\142\165\164\074\240\372\310\045\222\264\156\172\042\307\370
+\036\241\343\262\335\221\061\253\053\035\004\377\245\112\004\067
+\351\205\244\063\053\375\342\326\125\064\174\031\244\112\150\307
+\262\250\323\267\312\241\223\210\353\301\227\274\214\371\035\331
+\042\204\044\164\307\004\075\152\251\051\223\314\353\270\133\341
+\376\137\045\252\064\130\310\301\043\124\235\033\230\021\303\070
+\234\176\075\206\154\245\017\100\206\174\002\364\134\002\117\050
+\313\256\161\237\017\072\310\063\376\021\045\065\352\374\272\305
+\140\075\331\174\030\325\262\251\323\165\170\003\162\042\312\072
+\303\037\357\054\345\056\251\372\236\054\266\121\106\375\257\003
+\326\352\140\150\352\205\026\066\153\205\351\036\300\263\335\304
+\044\334\200\052\201\101\155\224\076\310\340\311\201\101\000\236
+\136\277\177\305\010\230\242\030\054\102\100\263\371\157\070\047
+\113\116\200\364\075\201\107\340\210\174\352\034\316\265\165\134
+\121\056\034\053\177\032\162\050\347\000\265\321\164\306\327\344
+\237\255\007\223\266\123\065\065\374\067\344\303\366\135\026\276
+\041\163\336\222\012\370\240\143\152\274\226\222\152\076\370\274
+\145\125\233\336\365\015\211\046\004\374\045\032\246\045\151\313
+\302\155\312\174\342\131\137\227\254\353\357\056\310\274\327\033
+\131\074\053\314\362\031\310\223\153\047\143\031\317\374\351\046
+\370\312\161\233\177\223\376\064\147\204\116\231\353\374\263\170
+\011\063\160\272\146\246\166\355\033\163\353\032\245\015\304\042
+\023\040\224\126\012\116\054\154\116\261\375\317\234\011\272\242
+\063\355\207\002\003\001\000\001\243\143\060\141\060\035\006\003
+\125\035\016\004\026\004\024\335\004\011\007\242\365\172\175\122
+\123\022\222\225\356\070\200\045\015\246\131\060\017\006\003\125
 \035\023\001\001\377\004\005\060\003\001\001\377\060\037\006\003
-\125\035\043\004\030\060\026\200\024\247\245\006\261\054\246\011
-\140\356\321\227\351\160\256\274\073\031\154\333\041\060\030\006
-\003\125\035\040\004\021\060\017\060\015\006\013\053\006\001\004
-\001\260\055\003\004\001\001\060\016\006\003\125\035\017\001\001
-\377\004\004\003\002\001\206\060\015\006\011\052\206\110\206\367
-\015\001\001\013\005\000\003\202\001\001\000\046\167\064\333\224
-\110\206\052\101\235\054\076\006\220\140\304\214\254\013\124\270
-\037\271\173\323\007\071\344\372\076\173\262\075\116\355\237\043
-\275\227\363\153\134\357\356\375\100\246\337\241\223\241\012\206
-\254\357\040\320\171\001\275\170\367\031\330\044\061\064\004\001
-\246\272\025\232\303\047\334\330\117\017\314\030\143\377\231\017
-\016\221\153\165\026\341\041\374\330\046\307\107\267\246\317\130
-\162\161\176\272\341\115\225\107\073\311\257\155\241\264\301\354
-\211\366\264\017\070\265\342\144\334\045\317\246\333\353\232\134
-\231\241\305\010\336\375\346\332\325\326\132\105\014\304\267\302
-\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
+\125\035\043\004\030\060\026\200\024\335\004\011\007\242\365\172
+\175\122\123\022\222\225\356\070\200\045\015\246\131\060\016\006
+\003\125\035\017\001\001\377\004\004\003\002\001\206\060\015\006
+\011\052\206\110\206\367\015\001\001\013\005\000\003\202\002\001
+\000\040\030\021\224\051\373\046\235\034\036\036\160\141\361\225
+\162\223\161\044\255\150\223\130\216\062\257\033\263\160\003\374
+\045\053\164\205\220\075\170\152\364\271\213\245\227\073\265\030
+\221\273\036\247\371\100\133\221\371\125\231\257\036\021\320\134
+\035\247\146\343\261\224\007\014\062\071\246\352\033\260\171\330
+\035\234\160\104\343\212\335\304\371\225\037\212\070\103\077\001
+\205\245\107\247\075\106\262\274\345\042\150\367\173\234\330\054
+\076\012\041\310\055\063\254\277\305\201\231\061\164\301\165\161
+\305\276\261\360\043\105\364\235\153\374\031\143\235\243\274\004
+\306\030\013\045\273\123\211\017\263\200\120\336\105\356\104\177
+\253\224\170\144\230\323\366\050\335\207\330\160\145\164\373\016
+\271\023\353\247\017\141\251\062\226\314\336\273\355\143\114\030
+\273\251\100\367\240\124\156\040\210\161\165\030\352\172\264\064
+\162\340\043\047\167\134\266\220\352\206\045\100\253\357\063\017
+\313\237\202\276\242\040\373\366\265\055\032\346\302\205\261\164
+\017\373\310\145\002\244\122\001\107\335\111\042\301\277\330\353
+\153\254\176\336\354\143\063\025\267\043\010\217\306\017\215\101
+\132\335\216\305\271\217\345\105\077\170\333\272\322\033\100\261
+\376\161\115\077\340\201\242\272\136\264\354\025\340\223\335\010
+\037\176\341\125\231\013\041\336\223\236\012\373\346\243\111\275
+\066\060\376\347\167\262\240\165\227\265\055\201\210\027\145\040
+\367\332\220\000\237\311\122\314\062\312\065\174\365\075\017\330
+\053\327\365\046\154\311\006\064\226\026\352\160\131\032\062\171
+\171\013\266\210\177\017\122\110\075\277\154\330\242\104\056\321
+\116\267\162\130\323\211\023\225\376\104\253\370\327\213\033\156
+\234\274\054\240\133\325\152\000\257\137\067\341\325\372\020\013
+\230\234\206\347\046\217\316\360\354\156\212\127\013\200\343\116
+\262\300\240\143\141\220\272\125\150\067\164\152\266\222\333\237
+\241\206\042\266\145\047\016\354\266\237\102\140\344\147\302\265
+\332\101\013\304\323\213\141\033\274\372\037\221\053\327\104\007
+\136\272\051\254\331\305\351\357\123\110\132\353\200\361\050\130
+\041\315\260\006\125\373\047\077\123\220\160\251\004\036\127\047
+\271
 END
 CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
 
-# 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
-# Fingerprint (SHA1): 2B:B1:F5:3E:55:0C:1D:C5:F1:D4:E6:B7:6A:46:4B:55:06:02:AC:21
+# Trust for "SSL.com Root Certification Authority RSA"
+# Issuer: CN=SSL.com Root Certification Authority RSA,O=SSL Corporation,L=Houston,ST=Texas,C=US
+# Serial Number:7b:2c:9b:d3:16:80:32:99
+# Subject: CN=SSL.com Root Certification Authority RSA,O=SSL Corporation,L=Houston,ST=Texas,C=US
+# Not Valid Before: Fri Feb 12 17:39:39 2016
+# Not Valid After : Tue Feb 12 17:39:39 2041
+# Fingerprint (SHA-256): 85:66:6A:56:2E:E0:BE:5C:E9:25:C1:D8:89:0A:6F:76:A8:7E:C1:6D:4D:7D:5F:29:EA:74:19:CF:20:12:3B:69
+# Fingerprint (SHA1): B7:AB:33:08:D1:EA:44:77:BA:14:80:12:5A:6F:BD:A9:36:49:0C:BB
 CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "Atos TrustedRoot 2011"
+CKA_LABEL UTF8 "SSL.com Root Certification Authority RSA"
 CKA_CERT_SHA1_HASH MULTILINE_OCTAL
-\053\261\365\076\125\014\035\305\361\324\346\267\152\106\113\125
-\006\002\254\041
+\267\253\063\010\321\352\104\167\272\024\200\022\132\157\275\251
+\066\111\014\273
 END
 CKA_CERT_MD5_HASH MULTILINE_OCTAL
-\256\271\304\062\113\254\177\135\146\314\167\224\273\052\167\126
+\206\151\022\300\160\361\354\254\254\302\325\274\245\133\241\051
 END
 CKA_ISSUER MULTILINE_OCTAL
-\060\074\061\036\060\034\006\003\125\004\003\014\025\101\164\157
-\163\040\124\162\165\163\164\145\144\122\157\157\164\040\062\060
-\061\061\061\015\060\013\006\003\125\004\012\014\004\101\164\157
-\163\061\013\060\011\006\003\125\004\006\023\002\104\105
+\060\174\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\016\060\014\006\003\125\004\010\014\005\124\145\170\141\163\061
+\020\060\016\006\003\125\004\007\014\007\110\157\165\163\164\157
+\156\061\030\060\026\006\003\125\004\012\014\017\123\123\114\040
+\103\157\162\160\157\162\141\164\151\157\156\061\061\060\057\006
+\003\125\004\003\014\050\123\123\114\056\143\157\155\040\122\157
+\157\164\040\103\145\162\164\151\146\151\143\141\164\151\157\156
+\040\101\165\164\150\157\162\151\164\171\040\122\123\101
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\010\134\063\313\142\054\137\263\062
+\002\010\173\054\233\323\026\200\062\231
 END
 CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
 CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
@@ -14732,161 +14828,125 @@ CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
 CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
 
 #
-# Certificate "QuoVadis Root CA 1 G3"
+# Certificate "SSL.com Root Certification Authority ECC"
 #
-# 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
-# Fingerprint (SHA1): 1B:8E:EA:57:96:29:1A:C9:39:EA:B8:0A:81:1A:73:73:C0:93:79:67
+# Issuer: CN=SSL.com Root Certification Authority ECC,O=SSL Corporation,L=Houston,ST=Texas,C=US
+# Serial Number:75:e6:df:cb:c1:68:5b:a8
+# Subject: CN=SSL.com Root Certification Authority ECC,O=SSL Corporation,L=Houston,ST=Texas,C=US
+# Not Valid Before: Fri Feb 12 18:14:03 2016
+# Not Valid After : Tue Feb 12 18:14:03 2041
+# Fingerprint (SHA-256): 34:17:BB:06:CC:60:07:DA:1B:96:1C:92:0B:8A:B4:CE:3F:AD:82:0E:4A:A3:0B:9A:CB:C4:A7:4E:BD:CE:BC:65
+# Fingerprint (SHA1): C3:19:7C:39:24:E6:54:AF:1B:C4:AB:20:95:7A:E2:C3:0E:13:02:6A
 CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "QuoVadis Root CA 1 G3"
+CKA_LABEL UTF8 "SSL.com Root Certification Authority ECC"
 CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
 CKA_SUBJECT MULTILINE_OCTAL
-\060\110\061\013\060\011\006\003\125\004\006\023\002\102\115\061
-\031\060\027\006\003\125\004\012\023\020\121\165\157\126\141\144
-\151\163\040\114\151\155\151\164\145\144\061\036\060\034\006\003
-\125\004\003\023\025\121\165\157\126\141\144\151\163\040\122\157
-\157\164\040\103\101\040\061\040\107\063
+\060\174\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\016\060\014\006\003\125\004\010\014\005\124\145\170\141\163\061
+\020\060\016\006\003\125\004\007\014\007\110\157\165\163\164\157
+\156\061\030\060\026\006\003\125\004\012\014\017\123\123\114\040
+\103\157\162\160\157\162\141\164\151\157\156\061\061\060\057\006
+\003\125\004\003\014\050\123\123\114\056\143\157\155\040\122\157
+\157\164\040\103\145\162\164\151\146\151\143\141\164\151\157\156
+\040\101\165\164\150\157\162\151\164\171\040\105\103\103
 END
 CKA_ID UTF8 "0"
 CKA_ISSUER MULTILINE_OCTAL
-\060\110\061\013\060\011\006\003\125\004\006\023\002\102\115\061
-\031\060\027\006\003\125\004\012\023\020\121\165\157\126\141\144
-\151\163\040\114\151\155\151\164\145\144\061\036\060\034\006\003
-\125\004\003\023\025\121\165\157\126\141\144\151\163\040\122\157
-\157\164\040\103\101\040\061\040\107\063
+\060\174\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\016\060\014\006\003\125\004\010\014\005\124\145\170\141\163\061
+\020\060\016\006\003\125\004\007\014\007\110\157\165\163\164\157
+\156\061\030\060\026\006\003\125\004\012\014\017\123\123\114\040
+\103\157\162\160\157\162\141\164\151\157\156\061\061\060\057\006
+\003\125\004\003\014\050\123\123\114\056\143\157\155\040\122\157
+\157\164\040\103\145\162\164\151\146\151\143\141\164\151\157\156
+\040\101\165\164\150\157\162\151\164\171\040\105\103\103
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\024\170\130\137\056\255\054\031\113\343\067\007\065\064\023
-\050\265\226\324\145\223
+\002\010\165\346\337\313\301\150\133\250
 END
 CKA_VALUE MULTILINE_OCTAL
-\060\202\005\140\060\202\003\110\240\003\002\001\002\002\024\170
-\130\137\056\255\054\031\113\343\067\007\065\064\023\050\265\226
-\324\145\223\060\015\006\011\052\206\110\206\367\015\001\001\013
-\005\000\060\110\061\013\060\011\006\003\125\004\006\023\002\102
-\115\061\031\060\027\006\003\125\004\012\023\020\121\165\157\126
-\141\144\151\163\040\114\151\155\151\164\145\144\061\036\060\034
-\006\003\125\004\003\023\025\121\165\157\126\141\144\151\163\040
-\122\157\157\164\040\103\101\040\061\040\107\063\060\036\027\015
-\061\062\060\061\061\062\061\067\062\067\064\064\132\027\015\064
-\062\060\061\061\062\061\067\062\067\064\064\132\060\110\061\013
-\060\011\006\003\125\004\006\023\002\102\115\061\031\060\027\006
-\003\125\004\012\023\020\121\165\157\126\141\144\151\163\040\114
-\151\155\151\164\145\144\061\036\060\034\006\003\125\004\003\023
-\025\121\165\157\126\141\144\151\163\040\122\157\157\164\040\103
-\101\040\061\040\107\063\060\202\002\042\060\015\006\011\052\206
-\110\206\367\015\001\001\001\005\000\003\202\002\017\000\060\202
-\002\012\002\202\002\001\000\240\276\120\020\216\351\362\154\100
-\264\004\234\205\271\061\312\334\055\344\021\251\004\074\033\125
-\301\347\130\060\035\044\264\303\357\205\336\214\054\341\301\075
-\337\202\346\117\255\107\207\154\354\133\111\301\112\325\273\217
-\354\207\254\177\202\232\206\354\075\003\231\122\001\322\065\236
-\254\332\360\123\311\146\074\324\254\002\001\332\044\323\073\250
-\002\106\257\244\034\343\370\163\130\166\267\366\016\220\015\265
-\360\317\314\372\371\306\114\345\303\206\060\012\215\027\176\065
-\353\305\337\273\016\234\300\215\207\343\210\070\205\147\372\076
-\307\253\340\023\234\005\030\230\317\223\365\261\222\264\374\043
-\323\317\325\304\047\111\340\236\074\233\010\243\213\135\052\041
-\340\374\071\252\123\332\175\176\317\032\011\123\274\135\005\004
-\317\241\112\217\213\166\202\015\241\370\322\307\024\167\133\220
-\066\007\201\233\076\006\372\122\136\143\305\246\000\376\245\351
-\122\033\122\265\222\071\162\003\011\142\275\260\140\026\156\246
-\335\045\302\003\146\335\363\004\321\100\342\116\213\206\364\157
-\345\203\240\047\204\136\004\301\365\220\275\060\075\304\357\250
-\151\274\070\233\244\244\226\321\142\332\151\300\001\226\256\313
-\304\121\064\352\014\252\377\041\216\131\217\112\134\344\141\232
-\247\322\351\052\170\215\121\075\072\025\356\242\131\216\251\134
-\336\305\371\220\042\345\210\105\161\335\221\231\154\172\237\075
-\075\230\174\136\366\276\026\150\240\136\256\013\043\374\132\017
-\252\042\166\055\311\241\020\035\344\323\104\043\220\210\237\306
-\052\346\327\365\232\263\130\036\057\060\211\010\033\124\242\265
-\230\043\354\010\167\034\225\135\141\321\313\211\234\137\242\112
-\221\232\357\041\252\111\026\010\250\275\141\050\061\311\164\255
-\205\366\331\305\261\213\321\345\020\062\115\137\213\040\072\074
-\111\037\063\205\131\015\333\313\011\165\103\151\163\373\153\161
-\175\360\337\304\114\175\306\243\056\310\225\171\313\163\242\216
-\116\115\044\373\136\344\004\276\162\033\246\047\055\111\132\231
-\172\327\134\011\040\267\177\224\271\117\361\015\034\136\210\102
-\033\021\267\347\221\333\236\154\364\152\337\214\006\230\003\255
-\314\050\357\245\107\363\123\002\003\001\000\001\243\102\060\100
-\060\017\006\003\125\035\023\001\001\377\004\005\060\003\001\001
-\377\060\016\006\003\125\035\017\001\001\377\004\004\003\002\001
-\006\060\035\006\003\125\035\016\004\026\004\024\243\227\326\363
-\136\242\020\341\253\105\237\074\027\144\074\356\001\160\234\314
-\060\015\006\011\052\206\110\206\367\015\001\001\013\005\000\003
-\202\002\001\000\030\372\133\165\374\076\172\307\137\167\307\312
-\337\317\137\303\022\304\100\135\324\062\252\270\152\327\325\025
-\025\106\230\043\245\346\220\133\030\231\114\343\255\102\243\202
-\061\066\210\315\351\373\304\004\226\110\213\001\307\215\001\317
-\133\063\006\226\106\146\164\035\117\355\301\266\271\264\015\141
-\314\143\176\327\056\167\214\226\034\052\043\150\153\205\127\166
-\160\063\023\376\341\117\246\043\167\030\372\032\214\350\275\145
-\311\317\077\364\311\027\334\353\307\274\300\004\056\055\106\057
-\151\146\303\033\217\376\354\076\323\312\224\277\166\012\045\015
-\251\173\002\034\251\320\073\137\013\300\201\072\075\144\341\277
-\247\055\116\275\115\304\330\051\306\042\030\320\305\254\162\002
-\202\077\252\072\242\072\042\227\061\335\010\143\303\165\024\271
-\140\050\055\133\150\340\026\251\146\202\043\121\365\353\123\330
-\061\233\173\351\267\235\113\353\210\026\317\371\135\070\212\111
-\060\217\355\361\353\031\364\167\032\061\030\115\147\124\154\057
-\157\145\371\333\075\354\041\354\136\364\364\213\312\140\145\124
-\321\161\144\364\371\246\243\201\063\066\063\161\360\244\170\137
-\116\255\203\041\336\064\111\215\350\131\254\235\362\166\132\066
-\362\023\364\257\340\011\307\141\052\154\367\340\235\256\273\206
-\112\050\157\056\356\264\171\315\220\063\303\263\166\372\365\360
-\154\235\001\220\372\236\220\366\234\162\317\107\332\303\037\344
-\065\040\123\362\124\321\337\141\203\246\002\342\045\070\336\205
-\062\055\136\163\220\122\135\102\304\316\075\113\341\371\031\204
-\035\325\242\120\314\101\373\101\024\303\275\326\311\132\243\143
-\146\002\200\275\005\072\073\107\234\354\000\046\114\365\210\121
-\277\250\043\177\030\007\260\013\355\213\046\241\144\323\141\112
-\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
+\060\202\002\215\060\202\002\024\240\003\002\001\002\002\010\165
+\346\337\313\301\150\133\250\060\012\006\010\052\206\110\316\075
+\004\003\002\060\174\061\013\060\011\006\003\125\004\006\023\002
+\125\123\061\016\060\014\006\003\125\004\010\014\005\124\145\170
+\141\163\061\020\060\016\006\003\125\004\007\014\007\110\157\165
+\163\164\157\156\061\030\060\026\006\003\125\004\012\014\017\123
+\123\114\040\103\157\162\160\157\162\141\164\151\157\156\061\061
+\060\057\006\003\125\004\003\014\050\123\123\114\056\143\157\155
+\040\122\157\157\164\040\103\145\162\164\151\146\151\143\141\164
+\151\157\156\040\101\165\164\150\157\162\151\164\171\040\105\103
+\103\060\036\027\015\061\066\060\062\061\062\061\070\061\064\060
+\063\132\027\015\064\061\060\062\061\062\061\070\061\064\060\063
+\132\060\174\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\016\060\014\006\003\125\004\010\014\005\124\145\170\141\163
+\061\020\060\016\006\003\125\004\007\014\007\110\157\165\163\164
+\157\156\061\030\060\026\006\003\125\004\012\014\017\123\123\114
+\040\103\157\162\160\157\162\141\164\151\157\156\061\061\060\057
+\006\003\125\004\003\014\050\123\123\114\056\143\157\155\040\122
+\157\157\164\040\103\145\162\164\151\146\151\143\141\164\151\157
+\156\040\101\165\164\150\157\162\151\164\171\040\105\103\103\060
+\166\060\020\006\007\052\206\110\316\075\002\001\006\005\053\201
+\004\000\042\003\142\000\004\105\156\251\120\304\246\043\066\236
+\137\050\215\027\313\226\042\144\077\334\172\216\035\314\010\263
+\242\161\044\272\216\111\271\004\033\107\226\130\253\055\225\310
+\355\236\010\065\310\047\353\211\214\123\130\353\142\212\376\360
+\133\017\153\061\122\143\101\073\211\315\354\354\266\215\031\323
+\064\007\334\273\306\006\177\302\105\225\354\313\177\250\043\340
+\011\351\201\372\363\107\323\243\143\060\141\060\035\006\003\125
+\035\016\004\026\004\024\202\321\205\163\060\347\065\004\323\216
+\002\222\373\345\244\321\304\041\350\315\060\017\006\003\125\035
+\023\001\001\377\004\005\060\003\001\001\377\060\037\006\003\125
+\035\043\004\030\060\026\200\024\202\321\205\163\060\347\065\004
+\323\216\002\222\373\345\244\321\304\041\350\315\060\016\006\003
+\125\035\017\001\001\377\004\004\003\002\001\206\060\012\006\010
+\052\206\110\316\075\004\003\002\003\147\000\060\144\002\060\157
+\347\353\131\021\244\140\317\141\260\226\173\355\005\371\057\023
+\221\334\355\345\374\120\153\021\106\106\263\034\041\000\142\273
+\276\303\347\350\315\007\231\371\015\013\135\162\076\304\252\002
+\060\037\274\272\013\342\060\044\373\174\155\200\125\012\231\076
+\200\015\063\345\146\243\263\243\273\245\325\213\217\011\054\246
+\135\176\342\360\007\010\150\155\322\174\151\156\137\337\345\152
+\145
 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
-# Fingerprint (SHA1): 1B:8E:EA:57:96:29:1A:C9:39:EA:B8:0A:81:1A:73:73:C0:93:79:67
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
+
+# Trust for "SSL.com Root Certification Authority ECC"
+# Issuer: CN=SSL.com Root Certification Authority ECC,O=SSL Corporation,L=Houston,ST=Texas,C=US
+# Serial Number:75:e6:df:cb:c1:68:5b:a8
+# Subject: CN=SSL.com Root Certification Authority ECC,O=SSL Corporation,L=Houston,ST=Texas,C=US
+# Not Valid Before: Fri Feb 12 18:14:03 2016
+# Not Valid After : Tue Feb 12 18:14:03 2041
+# Fingerprint (SHA-256): 34:17:BB:06:CC:60:07:DA:1B:96:1C:92:0B:8A:B4:CE:3F:AD:82:0E:4A:A3:0B:9A:CB:C4:A7:4E:BD:CE:BC:65
+# Fingerprint (SHA1): C3:19:7C:39:24:E6:54:AF:1B:C4:AB:20:95:7A:E2:C3:0E:13:02:6A
 CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "QuoVadis Root CA 1 G3"
+CKA_LABEL UTF8 "SSL.com Root Certification Authority ECC"
 CKA_CERT_SHA1_HASH MULTILINE_OCTAL
-\033\216\352\127\226\051\032\311\071\352\270\012\201\032\163\163
-\300\223\171\147
+\303\031\174\071\044\346\124\257\033\304\253\040\225\172\342\303
+\016\023\002\152
 END
 CKA_CERT_MD5_HASH MULTILINE_OCTAL
-\244\274\133\077\376\067\232\372\144\360\342\372\005\075\013\253
+\056\332\344\071\177\234\217\067\321\160\237\046\027\121\072\216
 END
 CKA_ISSUER MULTILINE_OCTAL
-\060\110\061\013\060\011\006\003\125\004\006\023\002\102\115\061
-\031\060\027\006\003\125\004\012\023\020\121\165\157\126\141\144
-\151\163\040\114\151\155\151\164\145\144\061\036\060\034\006\003
-\125\004\003\023\025\121\165\157\126\141\144\151\163\040\122\157
-\157\164\040\103\101\040\061\040\107\063
+\060\174\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\016\060\014\006\003\125\004\010\014\005\124\145\170\141\163\061
+\020\060\016\006\003\125\004\007\014\007\110\157\165\163\164\157
+\156\061\030\060\026\006\003\125\004\012\014\017\123\123\114\040
+\103\157\162\160\157\162\141\164\151\157\156\061\061\060\057\006
+\003\125\004\003\014\050\123\123\114\056\143\157\155\040\122\157
+\157\164\040\103\145\162\164\151\146\151\143\141\164\151\157\156
+\040\101\165\164\150\157\162\151\164\171\040\105\103\103
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\024\170\130\137\056\255\054\031\113\343\067\007\065\064\023
-\050\265\226\324\145\223
+\002\010\165\346\337\313\301\150\133\250
 END
 CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
 CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
@@ -14894,161 +14954,181 @@ CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
 CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
 
 #
-# Certificate "QuoVadis Root CA 2 G3"
+# Certificate "SSL.com EV Root Certification Authority RSA R2"
 #
-# 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
-# Fingerprint (SHA1): 09:3C:61:F3:8B:8B:DC:7D:55:DF:75:38:02:05:00:E1:25:F5:C8:36
+# Issuer: CN=SSL.com EV Root Certification Authority RSA R2,O=SSL Corporation,L=Houston,ST=Texas,C=US
+# Serial Number:56:b6:29:cd:34:bc:78:f6
+# Subject: CN=SSL.com EV Root Certification Authority RSA R2,O=SSL Corporation,L=Houston,ST=Texas,C=US
+# Not Valid Before: Wed May 31 18:14:37 2017
+# Not Valid After : Fri May 30 18:14:37 2042
+# Fingerprint (SHA-256): 2E:7B:F1:6C:C2:24:85:A7:BB:E2:AA:86:96:75:07:61:B0:AE:39:BE:3B:2F:E9:D0:CC:6D:4E:F7:34:91:42:5C
+# Fingerprint (SHA1): 74:3A:F0:52:9B:D0:32:A0:F4:4A:83:CD:D4:BA:A9:7B:7C:2E:C4:9A
 CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "QuoVadis Root CA 2 G3"
+CKA_LABEL UTF8 "SSL.com EV Root Certification Authority RSA R2"
 CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
 CKA_SUBJECT MULTILINE_OCTAL
-\060\110\061\013\060\011\006\003\125\004\006\023\002\102\115\061
-\031\060\027\006\003\125\004\012\023\020\121\165\157\126\141\144
-\151\163\040\114\151\155\151\164\145\144\061\036\060\034\006\003
-\125\004\003\023\025\121\165\157\126\141\144\151\163\040\122\157
-\157\164\040\103\101\040\062\040\107\063
+\060\201\202\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\016\060\014\006\003\125\004\010\014\005\124\145\170\141\163
+\061\020\060\016\006\003\125\004\007\014\007\110\157\165\163\164
+\157\156\061\030\060\026\006\003\125\004\012\014\017\123\123\114
+\040\103\157\162\160\157\162\141\164\151\157\156\061\067\060\065
+\006\003\125\004\003\014\056\123\123\114\056\143\157\155\040\105
+\126\040\122\157\157\164\040\103\145\162\164\151\146\151\143\141
+\164\151\157\156\040\101\165\164\150\157\162\151\164\171\040\122
+\123\101\040\122\062
 END
 CKA_ID UTF8 "0"
 CKA_ISSUER MULTILINE_OCTAL
-\060\110\061\013\060\011\006\003\125\004\006\023\002\102\115\061
-\031\060\027\006\003\125\004\012\023\020\121\165\157\126\141\144
-\151\163\040\114\151\155\151\164\145\144\061\036\060\034\006\003
-\125\004\003\023\025\121\165\157\126\141\144\151\163\040\122\157
-\157\164\040\103\101\040\062\040\107\063
+\060\201\202\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\016\060\014\006\003\125\004\010\014\005\124\145\170\141\163
+\061\020\060\016\006\003\125\004\007\014\007\110\157\165\163\164
+\157\156\061\030\060\026\006\003\125\004\012\014\017\123\123\114
+\040\103\157\162\160\157\162\141\164\151\157\156\061\067\060\065
+\006\003\125\004\003\014\056\123\123\114\056\143\157\155\040\105
+\126\040\122\157\157\164\040\103\145\162\164\151\146\151\143\141
+\164\151\157\156\040\101\165\164\150\157\162\151\164\171\040\122
+\123\101\040\122\062
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\024\104\127\064\044\133\201\211\233\065\362\316\270\053\073
-\133\247\046\360\165\050
+\002\010\126\266\051\315\064\274\170\366
 END
 CKA_VALUE MULTILINE_OCTAL
-\060\202\005\140\060\202\003\110\240\003\002\001\002\002\024\104
-\127\064\044\133\201\211\233\065\362\316\270\053\073\133\247\046
-\360\165\050\060\015\006\011\052\206\110\206\367\015\001\001\013
-\005\000\060\110\061\013\060\011\006\003\125\004\006\023\002\102
-\115\061\031\060\027\006\003\125\004\012\023\020\121\165\157\126
-\141\144\151\163\040\114\151\155\151\164\145\144\061\036\060\034
-\006\003\125\004\003\023\025\121\165\157\126\141\144\151\163\040
-\122\157\157\164\040\103\101\040\062\040\107\063\060\036\027\015
-\061\062\060\061\061\062\061\070\065\071\063\062\132\027\015\064
-\062\060\061\061\062\061\070\065\071\063\062\132\060\110\061\013
-\060\011\006\003\125\004\006\023\002\102\115\061\031\060\027\006
-\003\125\004\012\023\020\121\165\157\126\141\144\151\163\040\114
-\151\155\151\164\145\144\061\036\060\034\006\003\125\004\003\023
-\025\121\165\157\126\141\144\151\163\040\122\157\157\164\040\103
-\101\040\062\040\107\063\060\202\002\042\060\015\006\011\052\206
-\110\206\367\015\001\001\001\005\000\003\202\002\017\000\060\202
-\002\012\002\202\002\001\000\241\256\045\262\001\030\334\127\210
-\077\106\353\371\257\342\353\043\161\342\232\321\141\146\041\137
-\252\257\047\121\345\156\033\026\324\055\175\120\260\123\167\275
-\170\072\140\342\144\002\233\174\206\233\326\032\216\255\377\037
-\025\177\325\225\036\022\313\346\024\204\004\301\337\066\263\026
-\237\212\343\311\333\230\064\316\330\063\027\050\106\374\247\311
-\360\322\264\325\115\011\162\111\371\362\207\343\251\332\175\241
-\175\153\262\072\045\251\155\122\104\254\370\276\156\373\334\246
-\163\221\220\141\246\003\024\040\362\347\207\243\210\255\255\240
-\214\377\246\013\045\122\045\347\026\001\325\313\270\065\201\014
-\243\073\360\341\341\374\132\135\316\200\161\155\370\111\253\076
-\073\272\270\327\200\001\373\245\353\133\263\305\136\140\052\061
-\240\257\067\350\040\072\237\250\062\054\014\314\011\035\323\236
-\216\135\274\114\230\356\305\032\150\173\354\123\246\351\024\065
-\243\337\315\200\237\014\110\373\034\364\361\277\112\270\372\325
-\214\161\112\307\037\255\376\101\232\263\203\135\362\204\126\357
-\245\127\103\316\051\255\214\253\125\277\304\373\133\001\335\043
-\041\241\130\000\216\303\320\152\023\355\023\343\022\053\200\334
-\147\346\225\262\315\036\042\156\052\370\101\324\362\312\024\007
-\215\212\125\022\306\151\365\270\206\150\057\123\136\260\322\252
-\041\301\230\346\060\343\147\125\307\233\156\254\031\250\125\246
-\105\006\320\043\072\333\353\145\135\052\021\021\360\073\117\312
-\155\364\064\304\161\344\377\000\132\366\134\256\043\140\205\163
-\361\344\020\261\045\256\325\222\273\023\301\014\340\071\332\264
-\071\127\265\253\065\252\162\041\073\203\065\347\061\337\172\041
-\156\270\062\010\175\035\062\221\025\112\142\162\317\343\167\241
-\274\325\021\033\166\001\147\010\340\101\013\303\353\025\156\370
-\244\031\331\242\253\257\342\047\122\126\053\002\212\054\024\044
-\371\277\102\002\277\046\310\306\217\340\156\070\175\123\055\345
-\355\230\263\225\143\150\177\371\065\364\337\210\305\140\065\222
-\300\174\151\034\141\225\026\320\353\336\013\257\076\004\020\105
-\145\130\120\070\257\110\362\131\266\026\362\074\015\220\002\306
-\160\056\001\255\074\025\327\002\003\001\000\001\243\102\060\100
-\060\017\006\003\125\035\023\001\001\377\004\005\060\003\001\001
-\377\060\016\006\003\125\035\017\001\001\377\004\004\003\002\001
-\006\060\035\006\003\125\035\016\004\026\004\024\355\347\157\166
-\132\277\140\354\111\133\306\245\167\273\162\026\161\233\304\075
-\060\015\006\011\052\206\110\206\367\015\001\001\013\005\000\003
-\202\002\001\000\221\337\200\077\103\011\176\161\302\367\353\263
-\210\217\341\121\262\274\075\165\371\050\135\310\274\231\233\173
-\135\252\345\312\341\012\367\350\262\323\237\335\147\061\176\272
-\001\252\307\152\101\073\220\324\010\134\262\140\152\220\360\310
-\316\003\142\371\213\355\373\156\052\334\006\115\074\051\017\211
-\026\212\130\114\110\017\350\204\141\352\074\162\246\167\344\102
-\256\210\243\103\130\171\176\256\312\245\123\015\251\075\160\275
-\040\031\141\244\154\070\374\103\062\341\301\107\377\370\354\361
-\021\042\062\226\234\302\366\133\151\226\173\040\014\103\101\232
-\133\366\131\031\210\336\125\210\067\121\013\170\134\012\036\243
-\102\375\307\235\210\017\300\362\170\002\044\124\223\257\211\207
-\210\311\112\200\035\352\320\156\076\141\056\066\273\065\016\047
-\226\375\146\064\073\141\162\163\361\026\134\107\006\124\111\000
-\172\130\022\260\012\357\205\375\261\270\063\165\152\223\034\022
-\346\140\136\157\035\177\311\037\043\313\204\141\237\036\202\104
-\371\137\255\142\125\044\232\122\230\355\121\347\241\176\227\072
-\346\057\037\021\332\123\200\054\205\236\253\065\020\333\042\137
-\152\305\136\227\123\362\062\002\011\060\243\130\360\015\001\325
-\162\306\261\174\151\173\303\365\066\105\314\141\156\136\114\224
-\305\136\256\350\016\136\213\277\367\315\340\355\241\016\033\063
-\356\124\030\376\017\276\357\176\204\153\103\343\160\230\333\135
-\165\262\015\131\007\205\025\043\071\326\361\337\251\046\017\326
-\110\307\263\246\042\365\063\067\132\225\107\237\173\272\030\025
-\157\377\326\024\144\203\111\322\012\147\041\333\017\065\143\140
-\050\042\343\261\225\203\315\205\246\335\057\017\347\147\122\156
-\273\057\205\174\365\112\163\347\305\076\300\275\041\022\005\077
-\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
+\060\202\005\353\060\202\003\323\240\003\002\001\002\002\010\126
+\266\051\315\064\274\170\366\060\015\006\011\052\206\110\206\367
+\015\001\001\013\005\000\060\201\202\061\013\060\011\006\003\125
+\004\006\023\002\125\123\061\016\060\014\006\003\125\004\010\014
+\005\124\145\170\141\163\061\020\060\016\006\003\125\004\007\014
+\007\110\157\165\163\164\157\156\061\030\060\026\006\003\125\004
+\012\014\017\123\123\114\040\103\157\162\160\157\162\141\164\151
+\157\156\061\067\060\065\006\003\125\004\003\014\056\123\123\114
+\056\143\157\155\040\105\126\040\122\157\157\164\040\103\145\162
+\164\151\146\151\143\141\164\151\157\156\040\101\165\164\150\157
+\162\151\164\171\040\122\123\101\040\122\062\060\036\027\015\061
+\067\060\065\063\061\061\070\061\064\063\067\132\027\015\064\062
+\060\065\063\060\061\070\061\064\063\067\132\060\201\202\061\013
+\060\011\006\003\125\004\006\023\002\125\123\061\016\060\014\006
+\003\125\004\010\014\005\124\145\170\141\163\061\020\060\016\006
+\003\125\004\007\014\007\110\157\165\163\164\157\156\061\030\060
+\026\006\003\125\004\012\014\017\123\123\114\040\103\157\162\160
+\157\162\141\164\151\157\156\061\067\060\065\006\003\125\004\003
+\014\056\123\123\114\056\143\157\155\040\105\126\040\122\157\157
+\164\040\103\145\162\164\151\146\151\143\141\164\151\157\156\040
+\101\165\164\150\157\162\151\164\171\040\122\123\101\040\122\062
+\060\202\002\042\060\015\006\011\052\206\110\206\367\015\001\001
+\001\005\000\003\202\002\017\000\060\202\002\012\002\202\002\001
+\000\217\066\145\100\341\326\115\300\327\264\351\106\332\153\352
+\063\107\315\114\371\175\175\276\275\055\075\360\333\170\341\206
+\245\331\272\011\127\150\355\127\076\240\320\010\101\203\347\050
+\101\044\037\343\162\025\320\001\032\373\136\160\043\262\313\237
+\071\343\317\305\116\306\222\155\046\306\173\273\263\332\047\235
+\012\206\351\201\067\005\376\360\161\161\354\303\034\351\143\242
+\027\024\235\357\033\147\323\205\125\002\002\326\111\311\314\132
+\341\261\367\157\062\237\311\324\073\210\101\250\234\275\313\253
+\333\155\173\011\037\242\114\162\220\332\053\010\374\317\074\124
+\316\147\017\250\317\135\226\031\013\304\343\162\353\255\321\175
+\035\047\357\222\353\020\277\133\353\073\257\317\200\335\301\322
+\226\004\133\172\176\244\251\074\070\166\244\142\216\240\071\136
+\352\167\317\135\000\131\217\146\054\076\007\242\243\005\046\021
+\151\227\352\205\267\017\226\013\113\310\100\341\120\272\056\212
+\313\367\017\232\042\347\177\232\067\023\315\362\115\023\153\041
+\321\300\314\042\362\241\106\366\104\151\234\312\141\065\007\000
+\157\326\141\010\021\352\272\270\366\351\263\140\345\115\271\354
+\237\024\146\311\127\130\333\315\207\151\370\212\206\022\003\107
+\277\146\023\166\254\167\175\064\044\205\203\315\327\252\234\220
+\032\237\041\054\177\170\267\144\270\330\350\246\364\170\263\125
+\313\204\322\062\304\170\256\243\217\141\335\316\010\123\255\354
+\210\374\025\344\232\015\346\237\032\167\316\114\217\270\024\025
+\075\142\234\206\070\006\000\146\022\344\131\166\132\123\300\002
+\230\242\020\053\150\104\173\216\171\316\063\112\166\252\133\201
+\026\033\265\212\330\320\000\173\136\142\264\011\326\206\143\016
+\246\005\225\111\272\050\213\210\223\262\064\034\330\244\125\156
+\267\034\320\336\231\125\073\043\364\042\340\371\051\146\046\354
+\040\120\167\333\112\013\217\276\345\002\140\160\101\136\324\256
+\120\071\042\024\046\313\262\073\163\164\125\107\007\171\201\071
+\250\060\023\104\345\004\212\256\226\023\045\102\017\271\123\304
+\233\374\315\344\034\336\074\372\253\326\006\112\037\147\246\230
+\060\034\335\054\333\334\030\225\127\146\306\377\134\213\126\365
+\167\002\003\001\000\001\243\143\060\141\060\017\006\003\125\035
+\023\001\001\377\004\005\060\003\001\001\377\060\037\006\003\125
+\035\043\004\030\060\026\200\024\371\140\273\324\343\325\064\366
+\270\365\006\200\045\247\163\333\106\151\250\236\060\035\006\003
+\125\035\016\004\026\004\024\371\140\273\324\343\325\064\366\270
+\365\006\200\045\247\163\333\106\151\250\236\060\016\006\003\125
+\035\017\001\001\377\004\004\003\002\001\206\060\015\006\011\052
+\206\110\206\367\015\001\001\013\005\000\003\202\002\001\000\126
+\263\216\313\012\235\111\216\277\244\304\221\273\146\027\005\121
+\230\165\373\345\120\054\172\236\361\024\372\253\323\212\076\377
+\221\051\217\143\213\330\264\251\124\001\015\276\223\206\057\371
+\112\155\307\136\365\127\371\312\125\034\022\276\107\017\066\305
+\337\152\267\333\165\302\107\045\177\271\361\143\370\150\055\125
+\004\321\362\215\260\244\317\274\074\136\037\170\347\245\240\040
+\160\260\004\305\267\367\162\247\336\042\015\275\063\045\106\214
+\144\222\046\343\076\056\143\226\332\233\214\075\370\030\011\327
+\003\314\175\206\202\340\312\004\007\121\120\327\377\222\325\014
+\357\332\206\237\231\327\353\267\257\150\342\071\046\224\272\150
+\267\277\203\323\352\172\147\075\142\147\256\045\345\162\350\342
+\344\354\256\022\366\113\053\074\237\351\260\100\363\070\124\263
+\375\267\150\310\332\306\217\121\074\262\373\221\334\034\347\233
+\235\341\267\015\162\217\342\244\304\251\170\371\353\024\254\306
+\103\005\302\145\071\050\030\002\303\202\262\235\005\276\145\355
+\226\137\145\164\074\373\011\065\056\173\234\023\375\033\017\135
+\307\155\201\072\126\017\314\073\341\257\002\057\042\254\106\312
+\106\074\240\034\114\326\104\264\136\056\134\025\146\011\341\046
+\051\376\306\122\141\272\261\163\377\303\014\234\345\154\152\224
+\077\024\312\100\026\225\204\363\131\251\254\137\114\141\223\155
+\321\073\314\242\225\014\042\246\147\147\104\056\271\331\322\212
+\101\263\146\013\132\373\175\043\245\362\032\260\377\336\233\203
+\224\056\321\077\337\222\267\221\257\005\073\145\307\240\154\261
+\315\142\022\303\220\033\343\045\316\064\274\157\167\166\261\020
+\303\367\005\032\300\326\257\164\142\110\027\167\222\151\220\141
+\034\336\225\200\164\124\217\030\034\303\363\003\320\277\244\103
+\165\206\123\030\172\012\056\011\034\066\237\221\375\202\212\042
+\113\321\016\120\045\335\313\003\014\027\311\203\000\010\116\065
+\115\212\213\355\360\002\224\146\054\104\177\313\225\047\226\027
+\255\011\060\254\266\161\027\156\213\027\366\034\011\324\055\073
+\230\245\161\323\124\023\331\140\363\365\113\146\117\372\361\356
+\040\022\215\264\254\127\261\105\143\241\254\166\251\302\373
 END
 CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
 
-# 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
-# Fingerprint (SHA1): 09:3C:61:F3:8B:8B:DC:7D:55:DF:75:38:02:05:00:E1:25:F5:C8:36
+# Trust for "SSL.com EV Root Certification Authority RSA R2"
+# Issuer: CN=SSL.com EV Root Certification Authority RSA R2,O=SSL Corporation,L=Houston,ST=Texas,C=US
+# Serial Number:56:b6:29:cd:34:bc:78:f6
+# Subject: CN=SSL.com EV Root Certification Authority RSA R2,O=SSL Corporation,L=Houston,ST=Texas,C=US
+# Not Valid Before: Wed May 31 18:14:37 2017
+# Not Valid After : Fri May 30 18:14:37 2042
+# Fingerprint (SHA-256): 2E:7B:F1:6C:C2:24:85:A7:BB:E2:AA:86:96:75:07:61:B0:AE:39:BE:3B:2F:E9:D0:CC:6D:4E:F7:34:91:42:5C
+# Fingerprint (SHA1): 74:3A:F0:52:9B:D0:32:A0:F4:4A:83:CD:D4:BA:A9:7B:7C:2E:C4:9A
 CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "QuoVadis Root CA 2 G3"
+CKA_LABEL UTF8 "SSL.com EV Root Certification Authority RSA R2"
 CKA_CERT_SHA1_HASH MULTILINE_OCTAL
-\011\074\141\363\213\213\334\175\125\337\165\070\002\005\000\341
-\045\365\310\066
+\164\072\360\122\233\320\062\240\364\112\203\315\324\272\251\173
+\174\056\304\232
 END
 CKA_CERT_MD5_HASH MULTILINE_OCTAL
-\257\014\206\156\277\100\055\177\013\076\022\120\272\022\075\006
+\341\036\061\130\032\256\124\123\002\366\027\152\021\173\115\225
 END
 CKA_ISSUER MULTILINE_OCTAL
-\060\110\061\013\060\011\006\003\125\004\006\023\002\102\115\061
-\031\060\027\006\003\125\004\012\023\020\121\165\157\126\141\144
-\151\163\040\114\151\155\151\164\145\144\061\036\060\034\006\003
-\125\004\003\023\025\121\165\157\126\141\144\151\163\040\122\157
-\157\164\040\103\101\040\062\040\107\063
+\060\201\202\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\016\060\014\006\003\125\004\010\014\005\124\145\170\141\163
+\061\020\060\016\006\003\125\004\007\014\007\110\157\165\163\164
+\157\156\061\030\060\026\006\003\125\004\012\014\017\123\123\114
+\040\103\157\162\160\157\162\141\164\151\157\156\061\067\060\065
+\006\003\125\004\003\014\056\123\123\114\056\143\157\155\040\105
+\126\040\122\157\157\164\040\103\145\162\164\151\146\151\143\141
+\164\151\157\156\040\101\165\164\150\157\162\151\164\171\040\122
+\123\101\040\122\062
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\024\104\127\064\044\133\201\211\233\065\362\316\270\053\073
-\133\247\046\360\165\050
+\002\010\126\266\051\315\064\274\170\366
 END
 CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
 CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
@@ -15056,300 +15136,292 @@ CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
 CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
 
 #
-# Certificate "QuoVadis Root CA 3 G3"
+# Certificate "SSL.com EV Root Certification Authority ECC"
 #
-# 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
-# Fingerprint (SHA1): 48:12:BD:92:3C:A8:C4:39:06:E7:30:6D:27:96:E6:A4:CF:22:2E:7D
+# Issuer: CN=SSL.com EV Root Certification Authority ECC,O=SSL Corporation,L=Houston,ST=Texas,C=US
+# Serial Number:2c:29:9c:5b:16:ed:05:95
+# Subject: CN=SSL.com EV Root Certification Authority ECC,O=SSL Corporation,L=Houston,ST=Texas,C=US
+# Not Valid Before: Fri Feb 12 18:15:23 2016
+# Not Valid After : Tue Feb 12 18:15:23 2041
+# Fingerprint (SHA-256): 22:A2:C1:F7:BD:ED:70:4C:C1:E7:01:B5:F4:08:C3:10:88:0F:E9:56:B5:DE:2A:4A:44:F9:9C:87:3A:25:A7:C8
+# Fingerprint (SHA1): 4C:DD:51:A3:D1:F5:20:32:14:B0:C6:C5:32:23:03:91:C7:46:42:6D
 CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "QuoVadis Root CA 3 G3"
+CKA_LABEL UTF8 "SSL.com EV Root Certification Authority ECC"
 CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
 CKA_SUBJECT MULTILINE_OCTAL
-\060\110\061\013\060\011\006\003\125\004\006\023\002\102\115\061
-\031\060\027\006\003\125\004\012\023\020\121\165\157\126\141\144
-\151\163\040\114\151\155\151\164\145\144\061\036\060\034\006\003
-\125\004\003\023\025\121\165\157\126\141\144\151\163\040\122\157
-\157\164\040\103\101\040\063\040\107\063
+\060\177\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\016\060\014\006\003\125\004\010\014\005\124\145\170\141\163\061
+\020\060\016\006\003\125\004\007\014\007\110\157\165\163\164\157
+\156\061\030\060\026\006\003\125\004\012\014\017\123\123\114\040
+\103\157\162\160\157\162\141\164\151\157\156\061\064\060\062\006
+\003\125\004\003\014\053\123\123\114\056\143\157\155\040\105\126
+\040\122\157\157\164\040\103\145\162\164\151\146\151\143\141\164
+\151\157\156\040\101\165\164\150\157\162\151\164\171\040\105\103
+\103
 END
 CKA_ID UTF8 "0"
 CKA_ISSUER MULTILINE_OCTAL
-\060\110\061\013\060\011\006\003\125\004\006\023\002\102\115\061
-\031\060\027\006\003\125\004\012\023\020\121\165\157\126\141\144
-\151\163\040\114\151\155\151\164\145\144\061\036\060\034\006\003
-\125\004\003\023\025\121\165\157\126\141\144\151\163\040\122\157
-\157\164\040\103\101\040\063\040\107\063
+\060\177\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\016\060\014\006\003\125\004\010\014\005\124\145\170\141\163\061
+\020\060\016\006\003\125\004\007\014\007\110\157\165\163\164\157
+\156\061\030\060\026\006\003\125\004\012\014\017\123\123\114\040
+\103\157\162\160\157\162\141\164\151\157\156\061\064\060\062\006
+\003\125\004\003\014\053\123\123\114\056\143\157\155\040\105\126
+\040\122\157\157\164\040\103\145\162\164\151\146\151\143\141\164
+\151\157\156\040\101\165\164\150\157\162\151\164\171\040\105\103
+\103
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\024\056\365\233\002\050\247\333\172\377\325\243\251\356\275
-\003\240\317\022\152\035
+\002\010\054\051\234\133\026\355\005\225
 END
 CKA_VALUE MULTILINE_OCTAL
-\060\202\005\140\060\202\003\110\240\003\002\001\002\002\024\056
-\365\233\002\050\247\333\172\377\325\243\251\356\275\003\240\317
-\022\152\035\060\015\006\011\052\206\110\206\367\015\001\001\013
-\005\000\060\110\061\013\060\011\006\003\125\004\006\023\002\102
-\115\061\031\060\027\006\003\125\004\012\023\020\121\165\157\126
-\141\144\151\163\040\114\151\155\151\164\145\144\061\036\060\034
-\006\003\125\004\003\023\025\121\165\157\126\141\144\151\163\040
-\122\157\157\164\040\103\101\040\063\040\107\063\060\036\027\015
-\061\062\060\061\061\062\062\060\062\066\063\062\132\027\015\064
-\062\060\061\061\062\062\060\062\066\063\062\132\060\110\061\013
-\060\011\006\003\125\004\006\023\002\102\115\061\031\060\027\006
-\003\125\004\012\023\020\121\165\157\126\141\144\151\163\040\114
-\151\155\151\164\145\144\061\036\060\034\006\003\125\004\003\023
-\025\121\165\157\126\141\144\151\163\040\122\157\157\164\040\103
-\101\040\063\040\107\063\060\202\002\042\060\015\006\011\052\206
-\110\206\367\015\001\001\001\005\000\003\202\002\017\000\060\202
-\002\012\002\202\002\001\000\263\313\016\020\147\216\352\024\227
-\247\062\052\012\126\066\177\150\114\307\263\157\072\043\024\221
-\377\031\177\245\312\254\356\263\166\235\172\351\213\033\253\153
-\061\333\372\013\123\114\257\305\245\032\171\074\212\114\377\254
-\337\045\336\116\331\202\062\013\104\336\312\333\214\254\243\156
-\026\203\073\246\144\113\062\211\373\026\026\070\176\353\103\342
-\323\164\112\302\142\012\163\012\335\111\263\127\322\260\012\205
-\235\161\074\336\243\313\300\062\363\001\071\040\103\033\065\321
-\123\263\261\356\305\223\151\202\076\026\265\050\106\241\336\352
-\211\011\355\103\270\005\106\212\206\365\131\107\276\033\157\001
-\041\020\271\375\251\322\050\312\020\071\011\312\023\066\317\234
-\255\255\100\164\171\053\002\077\064\377\372\040\151\175\323\356
-\141\365\272\263\347\060\320\067\043\206\162\141\105\051\110\131
-\150\157\167\246\056\201\276\007\115\157\257\316\304\105\023\221
-\024\160\006\217\037\237\370\207\151\261\016\357\303\211\031\353
-\352\034\141\374\172\154\212\334\326\003\013\236\046\272\022\335
-\324\124\071\253\046\243\063\352\165\201\332\055\315\017\117\344
-\003\321\357\025\227\033\153\220\305\002\220\223\146\002\041\261
-\107\336\213\232\112\200\271\125\217\265\242\057\300\326\063\147
-\332\176\304\247\264\004\104\353\107\373\346\130\271\367\014\360
-\173\053\261\300\160\051\303\100\142\055\073\110\151\334\043\074
-\110\353\173\011\171\251\155\332\250\060\230\317\200\162\003\210
-\246\133\106\256\162\171\174\010\003\041\145\256\267\341\034\245
-\261\052\242\061\336\146\004\367\300\164\350\161\336\377\075\131
-\314\226\046\022\213\205\225\127\032\253\153\165\013\104\075\021
-\050\074\173\141\267\342\217\147\117\345\354\074\114\140\200\151
-\127\070\036\001\133\215\125\350\307\337\300\314\167\043\064\111
-\165\174\366\230\021\353\055\336\355\101\056\024\005\002\177\340
-\376\040\353\065\347\021\254\042\316\127\075\336\311\060\155\020
-\003\205\315\361\377\214\026\265\301\262\076\210\154\140\177\220
-\117\225\367\366\055\255\001\071\007\004\372\165\200\175\277\111
-\120\355\357\311\304\174\034\353\200\176\333\266\320\335\023\376
-\311\323\234\327\262\227\251\002\003\001\000\001\243\102\060\100
+\060\202\002\224\060\202\002\032\240\003\002\001\002\002\010\054
+\051\234\133\026\355\005\225\060\012\006\010\052\206\110\316\075
+\004\003\002\060\177\061\013\060\011\006\003\125\004\006\023\002
+\125\123\061\016\060\014\006\003\125\004\010\014\005\124\145\170
+\141\163\061\020\060\016\006\003\125\004\007\014\007\110\157\165
+\163\164\157\156\061\030\060\026\006\003\125\004\012\014\017\123
+\123\114\040\103\157\162\160\157\162\141\164\151\157\156\061\064
+\060\062\006\003\125\004\003\014\053\123\123\114\056\143\157\155
+\040\105\126\040\122\157\157\164\040\103\145\162\164\151\146\151
+\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164\171
+\040\105\103\103\060\036\027\015\061\066\060\062\061\062\061\070
+\061\065\062\063\132\027\015\064\061\060\062\061\062\061\070\061
+\065\062\063\132\060\177\061\013\060\011\006\003\125\004\006\023
+\002\125\123\061\016\060\014\006\003\125\004\010\014\005\124\145
+\170\141\163\061\020\060\016\006\003\125\004\007\014\007\110\157
+\165\163\164\157\156\061\030\060\026\006\003\125\004\012\014\017
+\123\123\114\040\103\157\162\160\157\162\141\164\151\157\156\061
+\064\060\062\006\003\125\004\003\014\053\123\123\114\056\143\157
+\155\040\105\126\040\122\157\157\164\040\103\145\162\164\151\146
+\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164
+\171\040\105\103\103\060\166\060\020\006\007\052\206\110\316\075
+\002\001\006\005\053\201\004\000\042\003\142\000\004\252\022\107
+\220\230\033\373\357\303\100\007\203\040\116\361\060\202\242\006
+\321\362\222\206\141\362\366\041\150\312\000\304\307\352\103\000
+\124\206\334\375\037\337\000\270\101\142\134\334\160\026\062\336
+\037\231\324\314\305\007\310\010\037\141\026\007\121\075\175\134
+\007\123\343\065\070\214\337\315\237\331\056\015\112\266\031\056
+\132\160\132\006\355\276\360\241\260\312\320\011\051\243\143\060
+\141\060\035\006\003\125\035\016\004\026\004\024\133\312\136\345
+\336\322\201\252\315\250\055\144\121\266\331\162\233\227\346\117
 \060\017\006\003\125\035\023\001\001\377\004\005\060\003\001\001
-\377\060\016\006\003\125\035\017\001\001\377\004\004\003\002\001
-\006\060\035\006\003\125\035\016\004\026\004\024\306\027\320\274
-\250\352\002\103\362\033\006\231\135\053\220\040\271\327\234\344
-\060\015\006\011\052\206\110\206\367\015\001\001\013\005\000\003
-\202\002\001\000\064\141\331\126\265\022\207\125\115\335\243\065
-\061\106\273\244\007\162\274\137\141\142\350\245\373\013\067\261
-\074\266\263\372\051\235\177\002\365\244\311\250\223\267\172\161
-\050\151\217\163\341\122\220\332\325\276\072\345\267\166\152\126
-\200\041\337\135\346\351\072\236\345\076\366\242\151\307\052\012
-\260\030\107\334\040\160\175\122\243\076\131\174\301\272\311\310
-\025\100\141\312\162\326\160\254\322\267\360\034\344\206\051\360
-\316\357\150\143\320\265\040\212\025\141\232\176\206\230\264\311
-\302\166\373\314\272\060\026\314\243\141\306\164\023\345\153\357
-\243\025\352\003\376\023\213\144\344\323\301\322\350\204\373\111
-\321\020\115\171\146\353\252\375\364\215\061\036\160\024\255\334
-\336\147\023\114\201\025\141\274\267\331\221\167\161\031\201\140
-\273\360\130\245\265\234\013\367\217\042\125\047\300\113\001\155
-\073\231\015\324\035\233\143\147\057\320\356\015\312\146\274\224
-\117\246\255\355\374\356\143\254\127\077\145\045\317\262\206\217
-\320\010\377\270\166\024\156\336\345\047\354\253\170\265\123\271
-\266\077\350\040\371\322\250\276\141\106\312\207\214\204\363\371
-\361\240\150\233\042\036\201\046\233\020\004\221\161\300\006\037
-\334\240\323\271\126\247\343\230\055\177\203\235\337\214\053\234
-\062\216\062\224\360\001\074\042\052\237\103\302\056\303\230\071
-\007\070\173\374\136\000\102\037\363\062\046\171\203\204\366\345
-\360\301\121\022\300\013\036\004\043\014\124\245\114\057\111\305
-\112\321\266\156\140\015\153\374\153\213\205\044\144\267\211\016
-\253\045\107\133\074\317\176\111\275\307\351\012\306\332\367\176
-\016\027\010\323\110\227\320\161\222\360\017\071\076\064\152\034
-\175\330\362\042\256\273\151\364\063\264\246\110\125\321\017\016
-\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
+\377\060\037\006\003\125\035\043\004\030\060\026\200\024\133\312
+\136\345\336\322\201\252\315\250\055\144\121\266\331\162\233\227
+\346\117\060\016\006\003\125\035\017\001\001\377\004\004\003\002
+\001\206\060\012\006\010\052\206\110\316\075\004\003\002\003\150
+\000\060\145\002\061\000\212\346\100\211\067\353\351\325\023\331
+\312\324\153\044\363\260\075\207\106\130\032\354\261\337\157\373
+\126\272\160\153\307\070\314\350\261\214\117\017\367\361\147\166
+\016\203\320\036\121\217\002\060\075\366\043\050\046\114\306\140
+\207\223\046\233\262\065\036\272\326\367\074\321\034\316\372\045
+\074\246\032\201\025\133\363\022\017\154\356\145\212\311\207\250
+\371\007\340\142\232\214\134\112
 END
 CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
 
-# 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
-# Fingerprint (SHA1): 48:12:BD:92:3C:A8:C4:39:06:E7:30:6D:27:96:E6:A4:CF:22:2E:7D
+# Trust for "SSL.com EV Root Certification Authority ECC"
+# Issuer: CN=SSL.com EV Root Certification Authority ECC,O=SSL Corporation,L=Houston,ST=Texas,C=US
+# Serial Number:2c:29:9c:5b:16:ed:05:95
+# Subject: CN=SSL.com EV Root Certification Authority ECC,O=SSL Corporation,L=Houston,ST=Texas,C=US
+# Not Valid Before: Fri Feb 12 18:15:23 2016
+# Not Valid After : Tue Feb 12 18:15:23 2041
+# Fingerprint (SHA-256): 22:A2:C1:F7:BD:ED:70:4C:C1:E7:01:B5:F4:08:C3:10:88:0F:E9:56:B5:DE:2A:4A:44:F9:9C:87:3A:25:A7:C8
+# Fingerprint (SHA1): 4C:DD:51:A3:D1:F5:20:32:14:B0:C6:C5:32:23:03:91:C7:46:42:6D
 CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "QuoVadis Root CA 3 G3"
+CKA_LABEL UTF8 "SSL.com EV Root Certification Authority ECC"
 CKA_CERT_SHA1_HASH MULTILINE_OCTAL
-\110\022\275\222\074\250\304\071\006\347\060\155\047\226\346\244
-\317\042\056\175
+\114\335\121\243\321\365\040\062\024\260\306\305\062\043\003\221
+\307\106\102\155
 END
 CKA_CERT_MD5_HASH MULTILINE_OCTAL
-\337\175\271\255\124\157\150\241\337\211\127\003\227\103\260\327
+\131\123\042\145\203\102\001\124\300\316\102\271\132\174\362\220
 END
 CKA_ISSUER MULTILINE_OCTAL
-\060\110\061\013\060\011\006\003\125\004\006\023\002\102\115\061
-\031\060\027\006\003\125\004\012\023\020\121\165\157\126\141\144
-\151\163\040\114\151\155\151\164\145\144\061\036\060\034\006\003
-\125\004\003\023\025\121\165\157\126\141\144\151\163\040\122\157
-\157\164\040\103\101\040\063\040\107\063
+\060\177\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\016\060\014\006\003\125\004\010\014\005\124\145\170\141\163\061
+\020\060\016\006\003\125\004\007\014\007\110\157\165\163\164\157
+\156\061\030\060\026\006\003\125\004\012\014\017\123\123\114\040
+\103\157\162\160\157\162\141\164\151\157\156\061\064\060\062\006
+\003\125\004\003\014\053\123\123\114\056\143\157\155\040\105\126
+\040\122\157\157\164\040\103\145\162\164\151\146\151\143\141\164
+\151\157\156\040\101\165\164\150\157\162\151\164\171\040\105\103
+\103
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\024\056\365\233\002\050\247\333\172\377\325\243\251\356\275
-\003\240\317\022\152\035
+\002\010\054\051\234\133\026\355\005\225
 END
 CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
-CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
 CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
 CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
 
 #
-# Certificate "DigiCert Assured ID Root G2"
+# Certificate "GlobalSign Root CA - R6"
 #
-# 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
-# Fingerprint (SHA1): A1:4B:48:D9:43:EE:0A:0E:40:90:4F:3C:E0:A4:C0:91:93:51:5D:3F
+# Issuer: CN=GlobalSign,O=GlobalSign,OU=GlobalSign Root CA - R6
+# Serial Number:45:e6:bb:03:83:33:c3:85:65:48:e6:ff:45:51
+# Subject: CN=GlobalSign,O=GlobalSign,OU=GlobalSign Root CA - R6
+# Not Valid Before: Wed Dec 10 00:00:00 2014
+# Not Valid After : Sun Dec 10 00:00:00 2034
+# Fingerprint (SHA-256): 2C:AB:EA:FE:37:D0:6C:A2:2A:BA:73:91:C0:03:3D:25:98:29:52:C4:53:64:73:49:76:3A:3A:B5:AD:6C:CF:69
+# Fingerprint (SHA1): 80:94:64:0E:B5:A7:A1:CA:11:9C:1F:DD:D5:9F:81:02:63:A7:FB:D1
 CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "DigiCert Assured ID Root G2"
+CKA_LABEL UTF8 "GlobalSign Root CA - R6"
 CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
 CKA_SUBJECT MULTILINE_OCTAL
-\060\145\061\013\060\011\006\003\125\004\006\023\002\125\123\061
-\025\060\023\006\003\125\004\012\023\014\104\151\147\151\103\145
-\162\164\040\111\156\143\061\031\060\027\006\003\125\004\013\023
-\020\167\167\167\056\144\151\147\151\143\145\162\164\056\143\157
-\155\061\044\060\042\006\003\125\004\003\023\033\104\151\147\151
-\103\145\162\164\040\101\163\163\165\162\145\144\040\111\104\040
-\122\157\157\164\040\107\062
+\060\114\061\040\060\036\006\003\125\004\013\023\027\107\154\157
+\142\141\154\123\151\147\156\040\122\157\157\164\040\103\101\040
+\055\040\122\066\061\023\060\021\006\003\125\004\012\023\012\107
+\154\157\142\141\154\123\151\147\156\061\023\060\021\006\003\125
+\004\003\023\012\107\154\157\142\141\154\123\151\147\156
 END
 CKA_ID UTF8 "0"
 CKA_ISSUER MULTILINE_OCTAL
-\060\145\061\013\060\011\006\003\125\004\006\023\002\125\123\061
-\025\060\023\006\003\125\004\012\023\014\104\151\147\151\103\145
-\162\164\040\111\156\143\061\031\060\027\006\003\125\004\013\023
-\020\167\167\167\056\144\151\147\151\143\145\162\164\056\143\157
-\155\061\044\060\042\006\003\125\004\003\023\033\104\151\147\151
-\103\145\162\164\040\101\163\163\165\162\145\144\040\111\104\040
-\122\157\157\164\040\107\062
+\060\114\061\040\060\036\006\003\125\004\013\023\027\107\154\157
+\142\141\154\123\151\147\156\040\122\157\157\164\040\103\101\040
+\055\040\122\066\061\023\060\021\006\003\125\004\012\023\012\107
+\154\157\142\141\154\123\151\147\156\061\023\060\021\006\003\125
+\004\003\023\012\107\154\157\142\141\154\123\151\147\156
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\020\013\223\034\072\326\071\147\352\147\043\277\303\257\232
-\364\113
+\002\016\105\346\273\003\203\063\303\205\145\110\346\377\105\121
 END
 CKA_VALUE MULTILINE_OCTAL
-\060\202\003\226\060\202\002\176\240\003\002\001\002\002\020\013
-\223\034\072\326\071\147\352\147\043\277\303\257\232\364\113\060
-\015\006\011\052\206\110\206\367\015\001\001\013\005\000\060\145
-\061\013\060\011\006\003\125\004\006\023\002\125\123\061\025\060
-\023\006\003\125\004\012\023\014\104\151\147\151\103\145\162\164
-\040\111\156\143\061\031\060\027\006\003\125\004\013\023\020\167
-\167\167\056\144\151\147\151\143\145\162\164\056\143\157\155\061
-\044\060\042\006\003\125\004\003\023\033\104\151\147\151\103\145
-\162\164\040\101\163\163\165\162\145\144\040\111\104\040\122\157
-\157\164\040\107\062\060\036\027\015\061\063\060\070\060\061\061
-\062\060\060\060\060\132\027\015\063\070\060\061\061\065\061\062
-\060\060\060\060\132\060\145\061\013\060\011\006\003\125\004\006
-\023\002\125\123\061\025\060\023\006\003\125\004\012\023\014\104
-\151\147\151\103\145\162\164\040\111\156\143\061\031\060\027\006
-\003\125\004\013\023\020\167\167\167\056\144\151\147\151\143\145
-\162\164\056\143\157\155\061\044\060\042\006\003\125\004\003\023
-\033\104\151\147\151\103\145\162\164\040\101\163\163\165\162\145
-\144\040\111\104\040\122\157\157\164\040\107\062\060\202\001\042
-\060\015\006\011\052\206\110\206\367\015\001\001\001\005\000\003
-\202\001\017\000\060\202\001\012\002\202\001\001\000\331\347\050
-\057\122\077\066\162\111\210\223\064\363\370\152\036\061\124\200
-\237\255\124\101\265\107\337\226\250\324\257\200\055\271\012\317
-\165\375\211\245\175\044\372\343\042\014\053\274\225\027\013\063
-\277\031\115\101\006\220\000\275\014\115\020\376\007\265\347\034
-\156\042\125\061\145\227\275\323\027\322\036\142\363\333\352\154
-\120\214\077\204\014\226\317\267\313\003\340\312\155\241\024\114
-\033\211\335\355\000\260\122\174\257\221\154\261\070\023\321\351
-\022\010\300\000\260\034\053\021\332\167\160\066\233\256\316\171
-\207\334\202\160\346\011\164\160\125\151\257\243\150\237\277\335
-\266\171\263\362\235\160\051\125\364\253\377\225\141\363\311\100
-\157\035\321\276\223\273\323\210\052\273\235\277\162\132\126\161
-\073\077\324\363\321\012\376\050\357\243\356\331\231\257\003\323
-\217\140\267\362\222\241\261\275\211\211\037\060\315\303\246\056
-\142\063\256\026\002\167\104\132\347\201\012\074\247\104\056\171
-\270\077\004\274\134\240\207\341\033\257\121\216\315\354\054\372
-\370\376\155\360\072\174\252\213\344\147\225\061\215\002\003\001
-\000\001\243\102\060\100\060\017\006\003\125\035\023\001\001\377
-\004\005\060\003\001\001\377\060\016\006\003\125\035\017\001\001
-\377\004\004\003\002\001\206\060\035\006\003\125\035\016\004\026
-\004\024\316\303\112\271\231\125\362\270\333\140\277\251\176\275
-\126\265\227\066\247\326\060\015\006\011\052\206\110\206\367\015
-\001\001\013\005\000\003\202\001\001\000\312\245\125\214\343\310
-\101\156\151\047\247\165\021\357\074\206\066\157\322\235\306\170
-\070\035\151\226\242\222\151\056\070\154\233\175\004\324\211\245
-\261\061\067\212\311\041\314\253\154\315\213\034\232\326\277\110
-\322\062\146\301\212\300\363\057\072\357\300\343\324\221\206\321
-\120\343\003\333\163\167\157\112\071\123\355\336\046\307\265\175
-\257\053\102\321\165\142\343\112\053\002\307\120\113\340\151\342
-\226\154\016\104\146\020\104\217\255\005\353\370\171\254\246\033
-\350\067\064\235\123\311\141\252\242\122\257\112\160\026\206\302
-\072\310\261\023\160\066\330\317\356\364\012\064\325\133\114\375
-\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
+\060\202\005\203\060\202\003\153\240\003\002\001\002\002\016\105
+\346\273\003\203\063\303\205\145\110\346\377\105\121\060\015\006
+\011\052\206\110\206\367\015\001\001\014\005\000\060\114\061\040
+\060\036\006\003\125\004\013\023\027\107\154\157\142\141\154\123
+\151\147\156\040\122\157\157\164\040\103\101\040\055\040\122\066
+\061\023\060\021\006\003\125\004\012\023\012\107\154\157\142\141
+\154\123\151\147\156\061\023\060\021\006\003\125\004\003\023\012
+\107\154\157\142\141\154\123\151\147\156\060\036\027\015\061\064
+\061\062\061\060\060\060\060\060\060\060\132\027\015\063\064\061
+\062\061\060\060\060\060\060\060\060\132\060\114\061\040\060\036
+\006\003\125\004\013\023\027\107\154\157\142\141\154\123\151\147
+\156\040\122\157\157\164\040\103\101\040\055\040\122\066\061\023
+\060\021\006\003\125\004\012\023\012\107\154\157\142\141\154\123
+\151\147\156\061\023\060\021\006\003\125\004\003\023\012\107\154
+\157\142\141\154\123\151\147\156\060\202\002\042\060\015\006\011
+\052\206\110\206\367\015\001\001\001\005\000\003\202\002\017\000
+\060\202\002\012\002\202\002\001\000\225\007\350\163\312\146\371
+\354\024\312\173\074\367\015\010\361\264\105\013\054\202\264\110
+\306\353\133\074\256\203\270\101\222\063\024\244\157\177\351\052
+\314\306\260\210\153\305\266\211\321\306\262\377\024\316\121\024
+\041\354\112\335\033\132\306\326\207\356\115\072\025\006\355\144
+\146\013\222\200\312\104\336\163\224\116\363\247\211\177\117\170
+\143\010\310\022\120\155\102\146\057\115\271\171\050\115\122\032
+\212\032\200\267\031\201\016\176\304\212\274\144\114\041\034\103
+\150\327\075\074\212\305\262\146\325\220\232\267\061\006\305\276
+\342\155\062\006\246\036\371\271\353\252\243\270\277\276\202\143
+\120\320\360\030\211\337\344\017\171\365\352\242\037\052\322\160
+\056\173\347\274\223\273\155\123\342\110\174\214\020\007\070\377
+\146\262\167\141\176\340\352\214\074\252\264\244\366\363\225\112
+\022\007\155\375\214\262\211\317\320\240\141\167\310\130\164\260
+\324\043\072\367\135\072\312\242\333\235\011\336\135\104\055\220
+\361\201\315\127\222\372\176\274\120\004\143\064\337\153\223\030
+\276\153\066\262\071\344\254\044\066\267\360\357\266\034\023\127
+\223\266\336\262\370\342\205\267\163\242\270\065\252\105\362\340
+\235\066\241\157\124\212\361\162\126\156\056\210\305\121\102\104
+\025\224\356\243\305\070\226\233\116\116\132\013\107\363\006\066
+\111\167\060\274\161\067\345\246\354\041\010\165\374\346\141\026
+\077\167\325\331\221\227\204\012\154\324\002\115\164\300\024\355
+\375\071\373\203\362\136\024\241\004\260\013\351\376\356\217\341
+\156\013\262\010\263\141\146\011\152\261\006\072\145\226\131\300
+\360\065\375\311\332\050\215\032\021\207\160\201\012\250\232\165
+\035\236\072\206\005\000\236\333\200\326\045\371\334\005\236\047
+\131\114\166\071\133\352\371\245\241\330\203\017\321\377\337\060
+\021\371\205\317\063\110\365\312\155\144\024\054\172\130\117\323
+\113\010\111\305\225\144\032\143\016\171\075\365\263\214\312\130
+\255\234\102\105\171\156\016\207\031\134\124\261\145\266\277\214
+\233\334\023\351\015\157\270\056\334\147\156\311\213\021\265\204
+\024\212\000\031\160\203\171\221\227\221\324\032\047\277\067\036
+\062\007\330\024\143\074\050\114\257\002\003\001\000\001\243\143
+\060\141\060\016\006\003\125\035\017\001\001\377\004\004\003\002
+\001\006\060\017\006\003\125\035\023\001\001\377\004\005\060\003
+\001\001\377\060\035\006\003\125\035\016\004\026\004\024\256\154
+\005\243\223\023\342\242\347\342\327\034\326\307\360\177\310\147
+\123\240\060\037\006\003\125\035\043\004\030\060\026\200\024\256
+\154\005\243\223\023\342\242\347\342\327\034\326\307\360\177\310
+\147\123\240\060\015\006\011\052\206\110\206\367\015\001\001\014
+\005\000\003\202\002\001\000\203\045\355\350\321\375\225\122\315
+\236\300\004\240\221\151\346\134\320\204\336\334\255\242\117\350
+\107\170\326\145\230\251\133\250\074\207\174\002\212\321\156\267
+\026\163\346\137\300\124\230\325\164\276\301\315\342\021\221\255
+\043\030\075\335\341\162\104\226\264\225\136\300\173\216\231\170
+\026\103\023\126\127\263\242\263\073\265\167\334\100\162\254\243
+\353\233\065\076\261\010\041\241\347\304\103\067\171\062\276\265
+\347\234\054\114\274\103\051\231\216\060\323\254\041\340\343\035
+\372\330\007\063\166\124\000\042\052\271\115\040\056\160\150\332
+\345\123\374\203\134\323\235\362\377\104\014\104\146\362\322\343
+\275\106\000\032\155\002\272\045\135\215\241\061\121\335\124\106
+\034\115\333\231\226\357\032\034\004\134\246\025\357\170\340\171
+\376\135\333\076\252\114\125\375\232\025\251\157\341\246\373\337
+\160\060\351\303\356\102\106\355\302\223\005\211\372\175\143\173
+\077\320\161\201\174\000\350\230\256\016\170\064\303\045\373\257
+\012\237\040\153\335\073\023\217\022\214\342\101\032\110\172\163
+\240\167\151\307\266\134\177\202\310\036\376\130\033\050\053\250
+\154\255\136\155\300\005\322\173\267\353\200\376\045\067\376\002
+\233\150\254\102\135\303\356\365\314\334\360\120\165\322\066\151
+\234\346\173\004\337\156\006\151\266\336\012\011\110\131\207\353
+\173\024\140\172\144\252\151\103\357\221\307\114\354\030\335\154
+\357\123\055\214\231\341\136\362\162\076\317\124\310\275\147\354
+\244\017\114\105\377\323\271\060\043\007\114\217\020\277\206\226
+\331\231\132\264\231\127\034\244\314\273\025\211\123\272\054\005
+\017\344\304\236\031\261\030\064\325\114\235\272\355\367\037\257
+\044\225\004\170\250\003\273\356\201\345\332\137\174\213\112\241
+\220\164\045\247\263\076\113\310\054\126\275\307\310\357\070\342
+\134\222\360\171\367\234\204\272\164\055\141\001\040\176\176\321
+\362\117\007\131\137\213\055\103\122\353\106\014\224\341\365\146
+\107\171\167\325\124\133\037\255\044\067\313\105\132\116\240\104
+\110\310\330\260\231\305\025\204\011\366\326\111\111\300\145\270
+\346\032\161\156\240\250\361\202\350\105\076\154\326\002\327\012
+\147\203\005\132\311\244\020
 END
 CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
 
-# 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
-# Fingerprint (SHA1): A1:4B:48:D9:43:EE:0A:0E:40:90:4F:3C:E0:A4:C0:91:93:51:5D:3F
+# Trust for "GlobalSign Root CA - R6"
+# Issuer: CN=GlobalSign,O=GlobalSign,OU=GlobalSign Root CA - R6
+# Serial Number:45:e6:bb:03:83:33:c3:85:65:48:e6:ff:45:51
+# Subject: CN=GlobalSign,O=GlobalSign,OU=GlobalSign Root CA - R6
+# Not Valid Before: Wed Dec 10 00:00:00 2014
+# Not Valid After : Sun Dec 10 00:00:00 2034
+# Fingerprint (SHA-256): 2C:AB:EA:FE:37:D0:6C:A2:2A:BA:73:91:C0:03:3D:25:98:29:52:C4:53:64:73:49:76:3A:3A:B5:AD:6C:CF:69
+# Fingerprint (SHA1): 80:94:64:0E:B5:A7:A1:CA:11:9C:1F:DD:D5:9F:81:02:63:A7:FB:D1
 CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "DigiCert Assured ID Root G2"
+CKA_LABEL UTF8 "GlobalSign Root CA - R6"
 CKA_CERT_SHA1_HASH MULTILINE_OCTAL
-\241\113\110\331\103\356\012\016\100\220\117\074\340\244\300\221
-\223\121\135\077
+\200\224\144\016\265\247\241\312\021\234\037\335\325\237\201\002
+\143\247\373\321
 END
 CKA_CERT_MD5_HASH MULTILINE_OCTAL
-\222\070\271\370\143\044\202\145\054\127\063\346\376\201\217\235
+\117\335\007\344\324\042\144\071\036\014\067\102\352\321\306\256
 END
 CKA_ISSUER MULTILINE_OCTAL
-\060\145\061\013\060\011\006\003\125\004\006\023\002\125\123\061
-\025\060\023\006\003\125\004\012\023\014\104\151\147\151\103\145
-\162\164\040\111\156\143\061\031\060\027\006\003\125\004\013\023
-\020\167\167\167\056\144\151\147\151\143\145\162\164\056\143\157
-\155\061\044\060\042\006\003\125\004\003\023\033\104\151\147\151
-\103\145\162\164\040\101\163\163\165\162\145\144\040\111\104\040
-\122\157\157\164\040\107\062
+\060\114\061\040\060\036\006\003\125\004\013\023\027\107\154\157
+\142\141\154\123\151\147\156\040\122\157\157\164\040\103\101\040
+\055\040\122\066\061\023\060\021\006\003\125\004\012\023\012\107
+\154\157\142\141\154\123\151\147\156\061\023\060\021\006\003\125
+\004\003\023\012\107\154\157\142\141\154\123\151\147\156
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\020\013\223\034\072\326\071\147\352\147\043\277\303\257\232
-\364\113
+\002\016\105\346\273\003\203\063\303\205\145\110\346\377\105\121
 END
 CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
 CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
@@ -15357,117 +15429,121 @@ CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
 CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
 
 #
-# Certificate "DigiCert Assured ID Root G3"
+# Certificate "OISTE WISeKey Global Root GC CA"
 #
-# 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
-# Fingerprint (SHA1): F5:17:A2:4F:9A:48:C6:C9:F8:A2:00:26:9F:DC:0F:48:2C:AB:30:89
+# Issuer: CN=OISTE WISeKey Global Root GC CA,OU=OISTE Foundation Endorsed,O=WISeKey,C=CH
+# Serial Number:21:2a:56:0c:ae:da:0c:ab:40:45:bf:2b:a2:2d:3a:ea
+# Subject: CN=OISTE WISeKey Global Root GC CA,OU=OISTE Foundation Endorsed,O=WISeKey,C=CH
+# Not Valid Before: Tue May 09 09:48:34 2017
+# Not Valid After : Fri May 09 09:58:33 2042
+# Fingerprint (SHA-256): 85:60:F9:1C:36:24:DA:BA:95:70:B5:FE:A0:DB:E3:6F:F1:1A:83:23:BE:94:86:85:4F:B3:F3:4A:55:71:19:8D
+# Fingerprint (SHA1): E0:11:84:5E:34:DE:BE:88:81:B9:9C:F6:16:26:D1:96:1F:C3:B9:31
 CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "DigiCert Assured ID Root G3"
+CKA_LABEL UTF8 "OISTE WISeKey Global Root GC CA"
 CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
 CKA_SUBJECT MULTILINE_OCTAL
-\060\145\061\013\060\011\006\003\125\004\006\023\002\125\123\061
-\025\060\023\006\003\125\004\012\023\014\104\151\147\151\103\145
-\162\164\040\111\156\143\061\031\060\027\006\003\125\004\013\023
-\020\167\167\167\056\144\151\147\151\143\145\162\164\056\143\157
-\155\061\044\060\042\006\003\125\004\003\023\033\104\151\147\151
-\103\145\162\164\040\101\163\163\165\162\145\144\040\111\104\040
-\122\157\157\164\040\107\063
+\060\155\061\013\060\011\006\003\125\004\006\023\002\103\110\061
+\020\060\016\006\003\125\004\012\023\007\127\111\123\145\113\145
+\171\061\042\060\040\006\003\125\004\013\023\031\117\111\123\124
+\105\040\106\157\165\156\144\141\164\151\157\156\040\105\156\144
+\157\162\163\145\144\061\050\060\046\006\003\125\004\003\023\037
+\117\111\123\124\105\040\127\111\123\145\113\145\171\040\107\154
+\157\142\141\154\040\122\157\157\164\040\107\103\040\103\101
 END
 CKA_ID UTF8 "0"
 CKA_ISSUER MULTILINE_OCTAL
-\060\145\061\013\060\011\006\003\125\004\006\023\002\125\123\061
-\025\060\023\006\003\125\004\012\023\014\104\151\147\151\103\145
-\162\164\040\111\156\143\061\031\060\027\006\003\125\004\013\023
-\020\167\167\167\056\144\151\147\151\143\145\162\164\056\143\157
-\155\061\044\060\042\006\003\125\004\003\023\033\104\151\147\151
-\103\145\162\164\040\101\163\163\165\162\145\144\040\111\104\040
-\122\157\157\164\040\107\063
+\060\155\061\013\060\011\006\003\125\004\006\023\002\103\110\061
+\020\060\016\006\003\125\004\012\023\007\127\111\123\145\113\145
+\171\061\042\060\040\006\003\125\004\013\023\031\117\111\123\124
+\105\040\106\157\165\156\144\141\164\151\157\156\040\105\156\144
+\157\162\163\145\144\061\050\060\046\006\003\125\004\003\023\037
+\117\111\123\124\105\040\127\111\123\145\113\145\171\040\107\154
+\157\142\141\154\040\122\157\157\164\040\107\103\040\103\101
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\020\013\241\132\372\035\337\240\265\111\104\257\315\044\240
-\154\354
+\002\020\041\052\126\014\256\332\014\253\100\105\277\053\242\055
+\072\352
 END
 CKA_VALUE MULTILINE_OCTAL
-\060\202\002\106\060\202\001\315\240\003\002\001\002\002\020\013
-\241\132\372\035\337\240\265\111\104\257\315\044\240\154\354\060
-\012\006\010\052\206\110\316\075\004\003\003\060\145\061\013\060
-\011\006\003\125\004\006\023\002\125\123\061\025\060\023\006\003
-\125\004\012\023\014\104\151\147\151\103\145\162\164\040\111\156
-\143\061\031\060\027\006\003\125\004\013\023\020\167\167\167\056
-\144\151\147\151\143\145\162\164\056\143\157\155\061\044\060\042
-\006\003\125\004\003\023\033\104\151\147\151\103\145\162\164\040
-\101\163\163\165\162\145\144\040\111\104\040\122\157\157\164\040
-\107\063\060\036\027\015\061\063\060\070\060\061\061\062\060\060
-\060\060\132\027\015\063\070\060\061\061\065\061\062\060\060\060
-\060\132\060\145\061\013\060\011\006\003\125\004\006\023\002\125
-\123\061\025\060\023\006\003\125\004\012\023\014\104\151\147\151
-\103\145\162\164\040\111\156\143\061\031\060\027\006\003\125\004
-\013\023\020\167\167\167\056\144\151\147\151\143\145\162\164\056
-\143\157\155\061\044\060\042\006\003\125\004\003\023\033\104\151
-\147\151\103\145\162\164\040\101\163\163\165\162\145\144\040\111
-\104\040\122\157\157\164\040\107\063\060\166\060\020\006\007\052
+\060\202\002\151\060\202\001\357\240\003\002\001\002\002\020\041
+\052\126\014\256\332\014\253\100\105\277\053\242\055\072\352\060
+\012\006\010\052\206\110\316\075\004\003\003\060\155\061\013\060
+\011\006\003\125\004\006\023\002\103\110\061\020\060\016\006\003
+\125\004\012\023\007\127\111\123\145\113\145\171\061\042\060\040
+\006\003\125\004\013\023\031\117\111\123\124\105\040\106\157\165
+\156\144\141\164\151\157\156\040\105\156\144\157\162\163\145\144
+\061\050\060\046\006\003\125\004\003\023\037\117\111\123\124\105
+\040\127\111\123\145\113\145\171\040\107\154\157\142\141\154\040
+\122\157\157\164\040\107\103\040\103\101\060\036\027\015\061\067
+\060\065\060\071\060\071\064\070\063\064\132\027\015\064\062\060
+\065\060\071\060\071\065\070\063\063\132\060\155\061\013\060\011
+\006\003\125\004\006\023\002\103\110\061\020\060\016\006\003\125
+\004\012\023\007\127\111\123\145\113\145\171\061\042\060\040\006
+\003\125\004\013\023\031\117\111\123\124\105\040\106\157\165\156
+\144\141\164\151\157\156\040\105\156\144\157\162\163\145\144\061
+\050\060\046\006\003\125\004\003\023\037\117\111\123\124\105\040
+\127\111\123\145\113\145\171\040\107\154\157\142\141\154\040\122
+\157\157\164\040\107\103\040\103\101\060\166\060\020\006\007\052
 \206\110\316\075\002\001\006\005\053\201\004\000\042\003\142\000
-\004\031\347\274\254\104\145\355\315\270\077\130\373\215\261\127
-\251\104\055\005\025\362\357\013\377\020\164\237\265\142\122\137
-\146\176\037\345\334\033\105\171\013\314\306\123\012\235\215\135
-\002\331\251\131\336\002\132\366\225\052\016\215\070\112\212\111
-\306\274\306\003\070\007\137\125\332\176\011\156\342\177\136\320
-\105\040\017\131\166\020\326\240\044\360\055\336\066\362\154\051
-\071\243\102\060\100\060\017\006\003\125\035\023\001\001\377\004
-\005\060\003\001\001\377\060\016\006\003\125\035\017\001\001\377
-\004\004\003\002\001\206\060\035\006\003\125\035\016\004\026\004
-\024\313\320\275\251\341\230\005\121\241\115\067\242\203\171\316
-\215\035\052\344\204\060\012\006\010\052\206\110\316\075\004\003
-\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
+\004\114\351\120\300\306\017\162\030\274\330\361\272\263\211\342
+\171\112\243\026\247\153\124\044\333\121\377\352\364\011\044\303
+\013\042\237\313\152\047\202\201\015\322\300\257\061\344\164\202
+\156\312\045\331\214\165\235\361\333\320\232\242\113\041\176\026
+\247\143\220\322\071\324\261\207\170\137\030\226\017\120\033\065
+\067\017\152\306\334\331\023\115\244\216\220\067\346\275\133\061
+\221\243\124\060\122\060\016\006\003\125\035\017\001\001\377\004
+\004\003\002\001\006\060\017\006\003\125\035\023\001\001\377\004
+\005\060\003\001\001\377\060\035\006\003\125\035\016\004\026\004
+\024\110\207\024\254\343\303\236\220\140\072\327\312\211\356\323
+\255\214\264\120\146\060\020\006\011\053\006\001\004\001\202\067
+\025\001\004\003\002\001\000\060\012\006\010\052\206\110\316\075
+\004\003\003\003\150\000\060\145\002\060\046\307\151\133\334\325
+\347\262\347\310\014\214\214\303\335\171\214\033\143\325\311\122
+\224\116\115\202\112\163\036\262\200\204\251\045\300\114\132\155
+\111\051\140\170\023\342\176\110\353\144\002\061\000\333\064\040
+\062\010\377\232\111\002\266\210\336\024\257\135\154\231\161\215
+\032\077\213\327\340\242\066\206\034\007\202\072\166\123\375\302
+\242\355\357\173\260\200\117\130\017\113\123\071\275
 END
 CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
 
-# 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
-# Fingerprint (SHA1): F5:17:A2:4F:9A:48:C6:C9:F8:A2:00:26:9F:DC:0F:48:2C:AB:30:89
+# Trust for "OISTE WISeKey Global Root GC CA"
+# Issuer: CN=OISTE WISeKey Global Root GC CA,OU=OISTE Foundation Endorsed,O=WISeKey,C=CH
+# Serial Number:21:2a:56:0c:ae:da:0c:ab:40:45:bf:2b:a2:2d:3a:ea
+# Subject: CN=OISTE WISeKey Global Root GC CA,OU=OISTE Foundation Endorsed,O=WISeKey,C=CH
+# Not Valid Before: Tue May 09 09:48:34 2017
+# Not Valid After : Fri May 09 09:58:33 2042
+# Fingerprint (SHA-256): 85:60:F9:1C:36:24:DA:BA:95:70:B5:FE:A0:DB:E3:6F:F1:1A:83:23:BE:94:86:85:4F:B3:F3:4A:55:71:19:8D
+# Fingerprint (SHA1): E0:11:84:5E:34:DE:BE:88:81:B9:9C:F6:16:26:D1:96:1F:C3:B9:31
 CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "DigiCert Assured ID Root G3"
+CKA_LABEL UTF8 "OISTE WISeKey Global Root GC CA"
 CKA_CERT_SHA1_HASH MULTILINE_OCTAL
-\365\027\242\117\232\110\306\311\370\242\000\046\237\334\017\110
-\054\253\060\211
+\340\021\204\136\064\336\276\210\201\271\234\366\026\046\321\226
+\037\303\271\061
 END
 CKA_CERT_MD5_HASH MULTILINE_OCTAL
-\174\177\145\061\014\201\337\215\272\076\231\342\134\255\156\373
+\251\326\271\055\057\223\144\370\245\151\312\221\351\150\007\043
 END
 CKA_ISSUER MULTILINE_OCTAL
-\060\145\061\013\060\011\006\003\125\004\006\023\002\125\123\061
-\025\060\023\006\003\125\004\012\023\014\104\151\147\151\103\145
-\162\164\040\111\156\143\061\031\060\027\006\003\125\004\013\023
-\020\167\167\167\056\144\151\147\151\143\145\162\164\056\143\157
-\155\061\044\060\042\006\003\125\004\003\023\033\104\151\147\151
-\103\145\162\164\040\101\163\163\165\162\145\144\040\111\104\040
-\122\157\157\164\040\107\063
+\060\155\061\013\060\011\006\003\125\004\006\023\002\103\110\061
+\020\060\016\006\003\125\004\012\023\007\127\111\123\145\113\145
+\171\061\042\060\040\006\003\125\004\013\023\031\117\111\123\124
+\105\040\106\157\165\156\144\141\164\151\157\156\040\105\156\144
+\157\162\163\145\144\061\050\060\046\006\003\125\004\003\023\037
+\117\111\123\124\105\040\127\111\123\145\113\145\171\040\107\154
+\157\142\141\154\040\122\157\157\164\040\107\103\040\103\101
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\020\013\241\132\372\035\337\240\265\111\104\257\315\044\240
-\154\354
+\002\020\041\052\126\014\256\332\014\253\100\105\277\053\242\055
+\072\352
 END
 CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
 CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
@@ -15475,138 +15551,158 @@ CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
 CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
 
 #
-# Certificate "DigiCert Global Root G2"
+# Certificate "UCA Global G2 Root"
 #
-# 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
-# Fingerprint (SHA1): DF:3C:24:F9:BF:D6:66:76:1B:26:80:73:FE:06:D1:CC:8D:4F:82:A4
+# Issuer: CN=UCA Global G2 Root,O=UniTrust,C=CN
+# Serial Number:5d:df:b1:da:5a:a3:ed:5d:be:5a:65:20:65:03:90:ef
+# Subject: CN=UCA Global G2 Root,O=UniTrust,C=CN
+# Not Valid Before: Fri Mar 11 00:00:00 2016
+# Not Valid After : Mon Dec 31 00:00:00 2040
+# Fingerprint (SHA-256): 9B:EA:11:C9:76:FE:01:47:64:C1:BE:56:A6:F9:14:B5:A5:60:31:7A:BD:99:88:39:33:82:E5:16:1A:A0:49:3C
+# Fingerprint (SHA1): 28:F9:78:16:19:7A:FF:18:25:18:AA:44:FE:C1:A0:CE:5C:B6:4C:8A
 CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "DigiCert Global Root G2"
+CKA_LABEL UTF8 "UCA Global G2 Root"
 CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
 CKA_SUBJECT MULTILINE_OCTAL
-\060\141\061\013\060\011\006\003\125\004\006\023\002\125\123\061
-\025\060\023\006\003\125\004\012\023\014\104\151\147\151\103\145
-\162\164\040\111\156\143\061\031\060\027\006\003\125\004\013\023
-\020\167\167\167\056\144\151\147\151\143\145\162\164\056\143\157
-\155\061\040\060\036\006\003\125\004\003\023\027\104\151\147\151
-\103\145\162\164\040\107\154\157\142\141\154\040\122\157\157\164
-\040\107\062
+\060\075\061\013\060\011\006\003\125\004\006\023\002\103\116\061
+\021\060\017\006\003\125\004\012\014\010\125\156\151\124\162\165
+\163\164\061\033\060\031\006\003\125\004\003\014\022\125\103\101
+\040\107\154\157\142\141\154\040\107\062\040\122\157\157\164
 END
 CKA_ID UTF8 "0"
 CKA_ISSUER MULTILINE_OCTAL
-\060\141\061\013\060\011\006\003\125\004\006\023\002\125\123\061
-\025\060\023\006\003\125\004\012\023\014\104\151\147\151\103\145
-\162\164\040\111\156\143\061\031\060\027\006\003\125\004\013\023
-\020\167\167\167\056\144\151\147\151\143\145\162\164\056\143\157
-\155\061\040\060\036\006\003\125\004\003\023\027\104\151\147\151
-\103\145\162\164\040\107\154\157\142\141\154\040\122\157\157\164
-\040\107\062
+\060\075\061\013\060\011\006\003\125\004\006\023\002\103\116\061
+\021\060\017\006\003\125\004\012\014\010\125\156\151\124\162\165
+\163\164\061\033\060\031\006\003\125\004\003\014\022\125\103\101
+\040\107\154\157\142\141\154\040\107\062\040\122\157\157\164
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\020\003\072\361\346\247\021\251\240\273\050\144\261\035\011
-\372\345
-END
-CKA_VALUE MULTILINE_OCTAL
-\060\202\003\216\060\202\002\166\240\003\002\001\002\002\020\003
-\072\361\346\247\021\251\240\273\050\144\261\035\011\372\345\060
-\015\006\011\052\206\110\206\367\015\001\001\013\005\000\060\141
-\061\013\060\011\006\003\125\004\006\023\002\125\123\061\025\060
-\023\006\003\125\004\012\023\014\104\151\147\151\103\145\162\164
-\040\111\156\143\061\031\060\027\006\003\125\004\013\023\020\167
-\167\167\056\144\151\147\151\143\145\162\164\056\143\157\155\061
-\040\060\036\006\003\125\004\003\023\027\104\151\147\151\103\145
-\162\164\040\107\154\157\142\141\154\040\122\157\157\164\040\107
-\062\060\036\027\015\061\063\060\070\060\061\061\062\060\060\060
-\060\132\027\015\063\070\060\061\061\065\061\062\060\060\060\060
-\132\060\141\061\013\060\011\006\003\125\004\006\023\002\125\123
-\061\025\060\023\006\003\125\004\012\023\014\104\151\147\151\103
-\145\162\164\040\111\156\143\061\031\060\027\006\003\125\004\013
-\023\020\167\167\167\056\144\151\147\151\143\145\162\164\056\143
-\157\155\061\040\060\036\006\003\125\004\003\023\027\104\151\147
-\151\103\145\162\164\040\107\154\157\142\141\154\040\122\157\157
-\164\040\107\062\060\202\001\042\060\015\006\011\052\206\110\206
-\367\015\001\001\001\005\000\003\202\001\017\000\060\202\001\012
-\002\202\001\001\000\273\067\315\064\334\173\153\311\262\150\220
-\255\112\165\377\106\272\041\012\010\215\365\031\124\311\373\210
-\333\363\256\362\072\211\221\074\172\346\253\006\032\153\317\254
-\055\350\136\011\044\104\272\142\232\176\326\243\250\176\340\124
-\165\040\005\254\120\267\234\143\032\154\060\334\332\037\031\261
-\327\036\336\375\327\340\313\224\203\067\256\354\037\103\116\335
-\173\054\322\275\056\245\057\344\251\270\255\072\324\231\244\266
-\045\351\233\153\000\140\222\140\377\117\041\111\030\367\147\220
-\253\141\006\234\217\362\272\351\264\351\222\062\153\265\363\127
-\350\135\033\315\214\035\253\225\004\225\111\363\065\055\226\343
-\111\155\335\167\343\373\111\113\264\254\125\007\251\217\225\263
-\264\043\273\114\155\105\360\366\251\262\225\060\264\375\114\125
-\214\047\112\127\024\174\202\235\315\163\222\323\026\112\006\014
-\214\120\321\217\036\011\276\027\241\346\041\312\375\203\345\020
-\274\203\245\012\304\147\050\366\163\024\024\075\106\166\303\207
-\024\211\041\064\115\257\017\105\014\246\111\241\272\273\234\305
-\261\063\203\051\205\002\003\001\000\001\243\102\060\100\060\017
-\006\003\125\035\023\001\001\377\004\005\060\003\001\001\377\060
-\016\006\003\125\035\017\001\001\377\004\004\003\002\001\206\060
-\035\006\003\125\035\016\004\026\004\024\116\042\124\040\030\225
-\346\343\156\346\017\372\372\271\022\355\006\027\217\071\060\015
-\006\011\052\206\110\206\367\015\001\001\013\005\000\003\202\001
-\001\000\140\147\050\224\157\016\110\143\353\061\335\352\147\030
-\325\211\175\074\305\213\112\177\351\276\333\053\027\337\260\137
-\163\167\052\062\023\071\201\147\102\204\043\362\105\147\065\354
-\210\277\370\217\260\141\014\064\244\256\040\114\204\306\333\370
-\065\341\166\331\337\246\102\273\307\104\010\206\177\066\164\044
-\132\332\154\015\024\131\065\275\362\111\335\266\037\311\263\015
-\107\052\075\231\057\273\134\273\265\324\040\341\231\137\123\106
-\025\333\150\233\360\363\060\325\076\061\342\215\204\236\343\212
-\332\332\226\076\065\023\245\137\360\371\160\120\160\107\101\021
-\127\031\116\300\217\256\006\304\225\023\027\057\033\045\237\165
-\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
+\002\020\135\337\261\332\132\243\355\135\276\132\145\040\145\003
+\220\357
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\005\106\060\202\003\056\240\003\002\001\002\002\020\135
+\337\261\332\132\243\355\135\276\132\145\040\145\003\220\357\060
+\015\006\011\052\206\110\206\367\015\001\001\013\005\000\060\075
+\061\013\060\011\006\003\125\004\006\023\002\103\116\061\021\060
+\017\006\003\125\004\012\014\010\125\156\151\124\162\165\163\164
+\061\033\060\031\006\003\125\004\003\014\022\125\103\101\040\107
+\154\157\142\141\154\040\107\062\040\122\157\157\164\060\036\027
+\015\061\066\060\063\061\061\060\060\060\060\060\060\132\027\015
+\064\060\061\062\063\061\060\060\060\060\060\060\132\060\075\061
+\013\060\011\006\003\125\004\006\023\002\103\116\061\021\060\017
+\006\003\125\004\012\014\010\125\156\151\124\162\165\163\164\061
+\033\060\031\006\003\125\004\003\014\022\125\103\101\040\107\154
+\157\142\141\154\040\107\062\040\122\157\157\164\060\202\002\042
+\060\015\006\011\052\206\110\206\367\015\001\001\001\005\000\003
+\202\002\017\000\060\202\002\012\002\202\002\001\000\305\346\053
+\157\174\357\046\005\047\243\201\044\332\157\313\001\371\231\232
+\251\062\302\042\207\141\101\221\073\313\303\150\033\006\305\114
+\251\053\301\147\027\042\035\053\355\371\051\211\223\242\170\275
+\222\153\240\243\015\242\176\312\223\263\246\321\214\065\325\165
+\371\027\366\317\105\305\345\172\354\167\223\240\217\043\256\016
+\032\003\177\276\324\320\355\056\173\253\106\043\133\377\054\346
+\124\172\224\300\052\025\360\311\215\260\172\073\044\341\327\150
+\342\061\074\006\063\106\266\124\021\246\245\057\042\124\052\130
+\015\001\002\361\372\025\121\147\154\300\372\327\266\033\177\321
+\126\210\057\032\072\215\073\273\202\021\340\107\000\320\122\207
+\253\373\206\176\017\044\153\100\235\064\147\274\215\307\055\206
+\157\171\076\216\251\074\027\113\177\260\231\343\260\161\140\334
+\013\365\144\303\316\103\274\155\161\271\322\336\047\133\212\350
+\330\306\256\341\131\175\317\050\055\065\270\225\126\032\361\262
+\130\113\267\022\067\310\174\263\355\113\200\341\215\372\062\043
+\266\157\267\110\225\010\261\104\116\205\214\072\002\124\040\057
+\337\277\127\117\073\072\220\041\327\301\046\065\124\040\354\307
+\077\107\354\357\132\277\113\172\301\255\073\027\120\134\142\330
+\017\113\112\334\053\372\156\274\163\222\315\354\307\120\350\101
+\226\327\251\176\155\330\351\035\217\212\265\271\130\222\272\112
+\222\053\014\126\375\200\353\010\360\136\051\156\033\034\014\257
+\217\223\211\255\333\275\243\236\041\312\211\031\354\337\265\303
+\032\353\026\376\170\066\114\326\156\320\076\027\034\220\027\153
+\046\272\373\172\057\277\021\034\030\016\055\163\003\217\240\345
+\065\240\132\342\114\165\035\161\341\071\070\123\170\100\314\203
+\223\327\012\236\235\133\217\212\344\345\340\110\344\110\262\107
+\315\116\052\165\052\173\362\042\366\311\276\011\221\226\127\172
+\210\210\254\356\160\254\371\334\051\343\014\034\073\022\116\104
+\326\247\116\260\046\310\363\331\032\227\221\150\352\357\215\106
+\006\322\126\105\130\232\074\014\017\203\270\005\045\303\071\317
+\073\244\064\211\267\171\022\057\107\305\347\251\227\151\374\246
+\167\147\265\337\173\361\172\145\025\344\141\126\145\002\003\001
+\000\001\243\102\060\100\060\016\006\003\125\035\017\001\001\377
+\004\004\003\002\001\006\060\017\006\003\125\035\023\001\001\377
+\004\005\060\003\001\001\377\060\035\006\003\125\035\016\004\026
+\004\024\201\304\214\314\365\344\060\377\245\014\010\137\214\025
+\147\041\164\001\337\337\060\015\006\011\052\206\110\206\367\015
+\001\001\013\005\000\003\202\002\001\000\023\145\042\365\216\053
+\255\104\344\313\377\271\150\346\303\200\110\075\004\173\372\043
+\057\172\355\066\332\262\316\155\366\346\236\345\137\130\217\313
+\067\062\241\310\145\266\256\070\075\065\033\076\274\073\266\004
+\320\274\371\111\365\233\367\205\305\066\266\313\274\370\310\071
+\325\344\137\007\275\025\124\227\164\312\312\355\117\272\272\144
+\166\237\201\270\204\105\111\114\215\157\242\353\261\314\321\303
+\224\332\104\302\346\342\352\030\350\242\037\047\005\272\327\345
+\326\251\315\335\357\166\230\215\000\016\315\033\372\003\267\216
+\200\130\016\047\077\122\373\224\242\312\136\145\311\326\204\332
+\271\065\161\363\046\300\117\167\346\201\047\322\167\073\232\024
+\157\171\364\366\320\341\323\224\272\320\127\121\275\047\005\015
+\301\375\310\022\060\356\157\215\021\053\010\235\324\324\277\200
+\105\024\232\210\104\332\060\352\264\247\343\356\357\133\202\325
+\076\326\255\170\222\333\134\074\363\330\255\372\270\153\177\304
+\066\050\266\002\025\212\124\054\234\260\027\163\216\320\067\243
+\024\074\230\225\000\014\051\005\133\236\111\111\261\137\307\343
+\313\317\047\145\216\065\027\267\127\310\060\331\101\133\271\024
+\266\350\302\017\224\061\247\224\230\314\152\353\265\341\047\365
+\020\250\001\350\216\022\142\350\210\314\265\177\106\227\300\233
+\020\146\070\032\066\106\137\042\150\075\337\311\306\023\047\253
+\123\006\254\242\074\206\006\145\157\261\176\261\051\104\232\243
+\272\111\151\050\151\217\327\345\137\255\004\206\144\157\032\240
+\014\305\010\142\316\200\243\320\363\354\150\336\276\063\307\027
+\133\177\200\304\114\114\261\246\204\212\303\073\270\011\315\024
+\201\272\030\343\124\127\066\376\333\057\174\107\241\072\063\310
+\371\130\073\104\117\261\312\002\211\004\226\050\150\305\113\270
+\046\211\273\326\063\057\120\325\376\232\211\272\030\062\222\124
+\306\133\340\235\371\136\345\015\042\233\366\332\342\310\041\262
+\142\041\252\206\100\262\056\144\323\137\310\343\176\021\147\105
+\037\005\376\343\242\357\263\250\263\363\175\217\370\014\037\042
+\037\055\160\264\270\001\064\166\060\000\345\043\170\247\126\327
+\120\037\212\373\006\365\302\031\360\320
 END
 CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
 
-# 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
-# Fingerprint (SHA1): DF:3C:24:F9:BF:D6:66:76:1B:26:80:73:FE:06:D1:CC:8D:4F:82:A4
+# Trust for "UCA Global G2 Root"
+# Issuer: CN=UCA Global G2 Root,O=UniTrust,C=CN
+# Serial Number:5d:df:b1:da:5a:a3:ed:5d:be:5a:65:20:65:03:90:ef
+# Subject: CN=UCA Global G2 Root,O=UniTrust,C=CN
+# Not Valid Before: Fri Mar 11 00:00:00 2016
+# Not Valid After : Mon Dec 31 00:00:00 2040
+# Fingerprint (SHA-256): 9B:EA:11:C9:76:FE:01:47:64:C1:BE:56:A6:F9:14:B5:A5:60:31:7A:BD:99:88:39:33:82:E5:16:1A:A0:49:3C
+# Fingerprint (SHA1): 28:F9:78:16:19:7A:FF:18:25:18:AA:44:FE:C1:A0:CE:5C:B6:4C:8A
 CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "DigiCert Global Root G2"
+CKA_LABEL UTF8 "UCA Global G2 Root"
 CKA_CERT_SHA1_HASH MULTILINE_OCTAL
-\337\074\044\371\277\326\146\166\033\046\200\163\376\006\321\314
-\215\117\202\244
+\050\371\170\026\031\172\377\030\045\030\252\104\376\301\240\316
+\134\266\114\212
 END
 CKA_CERT_MD5_HASH MULTILINE_OCTAL
-\344\246\212\310\124\254\122\102\106\012\375\162\110\033\052\104
+\200\376\360\304\112\360\134\142\062\237\034\272\170\251\120\370
 END
 CKA_ISSUER MULTILINE_OCTAL
-\060\141\061\013\060\011\006\003\125\004\006\023\002\125\123\061
-\025\060\023\006\003\125\004\012\023\014\104\151\147\151\103\145
-\162\164\040\111\156\143\061\031\060\027\006\003\125\004\013\023
-\020\167\167\167\056\144\151\147\151\143\145\162\164\056\143\157
-\155\061\040\060\036\006\003\125\004\003\023\027\104\151\147\151
-\103\145\162\164\040\107\154\157\142\141\154\040\122\157\157\164
-\040\107\062
+\060\075\061\013\060\011\006\003\125\004\006\023\002\103\116\061
+\021\060\017\006\003\125\004\012\014\010\125\156\151\124\162\165
+\163\164\061\033\060\031\006\003\125\004\003\014\022\125\103\101
+\040\107\154\157\142\141\154\040\107\062\040\122\157\157\164
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\020\003\072\361\346\247\021\251\240\273\050\144\261\035\011
-\372\345
+\002\020\135\337\261\332\132\243\355\135\276\132\145\040\145\003
+\220\357
 END
 CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
 CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
@@ -15614,288 +15710,344 @@ CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
 CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
 
 #
-# Certificate "DigiCert Global Root G3"
+# Certificate "UCA Extended Validation Root"
 #
-# 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
-# Fingerprint (SHA1): 7E:04:DE:89:6A:3E:66:6D:00:E6:87:D3:3F:FA:D9:3B:E8:3D:34:9E
+# Issuer: CN=UCA Extended Validation Root,O=UniTrust,C=CN
+# Serial Number:4f:d2:2b:8f:f5:64:c8:33:9e:4f:34:58:66:23:70:60
+# Subject: CN=UCA Extended Validation Root,O=UniTrust,C=CN
+# Not Valid Before: Fri Mar 13 00:00:00 2015
+# Not Valid After : Fri Dec 31 00:00:00 2038
+# Fingerprint (SHA-256): D4:3A:F9:B3:54:73:75:5C:96:84:FC:06:D7:D8:CB:70:EE:5C:28:E7:73:FB:29:4E:B4:1E:E7:17:22:92:4D:24
+# Fingerprint (SHA1): A3:A1:B0:6F:24:61:23:4A:E3:36:A5:C2:37:FC:A6:FF:DD:F0:D7:3A
 CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "DigiCert Global Root G3"
+CKA_LABEL UTF8 "UCA Extended Validation Root"
 CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
 CKA_SUBJECT MULTILINE_OCTAL
-\060\141\061\013\060\011\006\003\125\004\006\023\002\125\123\061
-\025\060\023\006\003\125\004\012\023\014\104\151\147\151\103\145
-\162\164\040\111\156\143\061\031\060\027\006\003\125\004\013\023
-\020\167\167\167\056\144\151\147\151\143\145\162\164\056\143\157
-\155\061\040\060\036\006\003\125\004\003\023\027\104\151\147\151
-\103\145\162\164\040\107\154\157\142\141\154\040\122\157\157\164
-\040\107\063
+\060\107\061\013\060\011\006\003\125\004\006\023\002\103\116\061
+\021\060\017\006\003\125\004\012\014\010\125\156\151\124\162\165
+\163\164\061\045\060\043\006\003\125\004\003\014\034\125\103\101
+\040\105\170\164\145\156\144\145\144\040\126\141\154\151\144\141
+\164\151\157\156\040\122\157\157\164
 END
 CKA_ID UTF8 "0"
 CKA_ISSUER MULTILINE_OCTAL
-\060\141\061\013\060\011\006\003\125\004\006\023\002\125\123\061
-\025\060\023\006\003\125\004\012\023\014\104\151\147\151\103\145
-\162\164\040\111\156\143\061\031\060\027\006\003\125\004\013\023
-\020\167\167\167\056\144\151\147\151\143\145\162\164\056\143\157
-\155\061\040\060\036\006\003\125\004\003\023\027\104\151\147\151
-\103\145\162\164\040\107\154\157\142\141\154\040\122\157\157\164
-\040\107\063
+\060\107\061\013\060\011\006\003\125\004\006\023\002\103\116\061
+\021\060\017\006\003\125\004\012\014\010\125\156\151\124\162\165
+\163\164\061\045\060\043\006\003\125\004\003\014\034\125\103\101
+\040\105\170\164\145\156\144\145\144\040\126\141\154\151\144\141
+\164\151\157\156\040\122\157\157\164
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\020\005\125\126\274\362\136\244\065\065\303\244\017\325\253
-\105\162
+\002\020\117\322\053\217\365\144\310\063\236\117\064\130\146\043
+\160\140
 END
 CKA_VALUE MULTILINE_OCTAL
-\060\202\002\077\060\202\001\305\240\003\002\001\002\002\020\005
-\125\126\274\362\136\244\065\065\303\244\017\325\253\105\162\060
-\012\006\010\052\206\110\316\075\004\003\003\060\141\061\013\060
-\011\006\003\125\004\006\023\002\125\123\061\025\060\023\006\003
-\125\004\012\023\014\104\151\147\151\103\145\162\164\040\111\156
-\143\061\031\060\027\006\003\125\004\013\023\020\167\167\167\056
-\144\151\147\151\143\145\162\164\056\143\157\155\061\040\060\036
-\006\003\125\004\003\023\027\104\151\147\151\103\145\162\164\040
-\107\154\157\142\141\154\040\122\157\157\164\040\107\063\060\036
-\027\015\061\063\060\070\060\061\061\062\060\060\060\060\132\027
-\015\063\070\060\061\061\065\061\062\060\060\060\060\132\060\141
-\061\013\060\011\006\003\125\004\006\023\002\125\123\061\025\060
-\023\006\003\125\004\012\023\014\104\151\147\151\103\145\162\164
-\040\111\156\143\061\031\060\027\006\003\125\004\013\023\020\167
-\167\167\056\144\151\147\151\143\145\162\164\056\143\157\155\061
-\040\060\036\006\003\125\004\003\023\027\104\151\147\151\103\145
-\162\164\040\107\154\157\142\141\154\040\122\157\157\164\040\107
-\063\060\166\060\020\006\007\052\206\110\316\075\002\001\006\005
-\053\201\004\000\042\003\142\000\004\335\247\331\273\212\270\013
-\373\013\177\041\322\360\276\276\163\363\063\135\032\274\064\352
-\336\306\233\274\320\225\366\360\314\320\013\272\141\133\121\106
-\176\236\055\237\356\216\143\014\027\354\007\160\365\317\204\056
-\100\203\234\350\077\101\155\073\255\323\244\024\131\066\170\235
-\003\103\356\020\023\154\162\336\256\210\247\241\153\265\103\316
-\147\334\043\377\003\034\243\342\076\243\102\060\100\060\017\006
-\003\125\035\023\001\001\377\004\005\060\003\001\001\377\060\016
-\006\003\125\035\017\001\001\377\004\004\003\002\001\206\060\035
-\006\003\125\035\016\004\026\004\024\263\333\110\244\371\241\305
-\330\256\066\101\314\021\143\151\142\051\274\113\306\060\012\006
-\010\052\206\110\316\075\004\003\003\003\150\000\060\145\002\061
-\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
+\060\202\005\132\060\202\003\102\240\003\002\001\002\002\020\117
+\322\053\217\365\144\310\063\236\117\064\130\146\043\160\140\060
+\015\006\011\052\206\110\206\367\015\001\001\013\005\000\060\107
+\061\013\060\011\006\003\125\004\006\023\002\103\116\061\021\060
+\017\006\003\125\004\012\014\010\125\156\151\124\162\165\163\164
+\061\045\060\043\006\003\125\004\003\014\034\125\103\101\040\105
+\170\164\145\156\144\145\144\040\126\141\154\151\144\141\164\151
+\157\156\040\122\157\157\164\060\036\027\015\061\065\060\063\061
+\063\060\060\060\060\060\060\132\027\015\063\070\061\062\063\061
+\060\060\060\060\060\060\132\060\107\061\013\060\011\006\003\125
+\004\006\023\002\103\116\061\021\060\017\006\003\125\004\012\014
+\010\125\156\151\124\162\165\163\164\061\045\060\043\006\003\125
+\004\003\014\034\125\103\101\040\105\170\164\145\156\144\145\144
+\040\126\141\154\151\144\141\164\151\157\156\040\122\157\157\164
+\060\202\002\042\060\015\006\011\052\206\110\206\367\015\001\001
+\001\005\000\003\202\002\017\000\060\202\002\012\002\202\002\001
+\000\251\011\007\050\023\002\260\231\340\144\252\036\103\026\172
+\163\261\221\240\165\076\250\372\343\070\000\172\354\211\152\040
+\017\213\305\260\233\063\003\132\206\306\130\206\325\301\205\273
+\117\306\234\100\115\312\276\356\151\226\270\255\201\060\232\174
+\222\005\353\005\053\232\110\320\270\166\076\226\310\040\273\322
+\260\361\217\330\254\105\106\377\252\147\140\264\167\176\152\037
+\074\032\122\172\004\075\007\074\205\015\204\320\037\166\012\367
+\152\024\337\162\343\064\174\127\116\126\001\076\171\361\252\051
+\073\154\372\370\217\155\115\310\065\337\256\353\334\044\356\171
+\105\247\205\266\005\210\336\210\135\045\174\227\144\147\011\331
+\277\132\025\005\206\363\011\036\354\130\062\063\021\363\167\144
+\260\166\037\344\020\065\027\033\362\016\261\154\244\052\243\163
+\374\011\037\036\062\031\123\021\347\331\263\054\056\166\056\241
+\243\336\176\152\210\011\350\362\007\212\370\262\315\020\347\342
+\163\100\223\273\010\321\077\341\374\013\224\263\045\357\174\246
+\327\321\257\237\377\226\232\365\221\173\230\013\167\324\176\350
+\007\322\142\265\225\071\343\363\361\155\017\016\145\204\212\143
+\124\305\200\266\340\236\113\175\107\046\247\001\010\135\321\210
+\236\327\303\062\104\372\202\112\012\150\124\177\070\123\003\314
+\244\000\063\144\121\131\013\243\202\221\172\136\354\026\302\363
+\052\346\142\332\052\333\131\142\020\045\112\052\201\013\107\007
+\103\006\160\207\322\372\223\021\051\172\110\115\353\224\307\160
+\115\257\147\325\121\261\200\040\001\001\264\172\010\246\220\177
+\116\340\357\007\101\207\257\152\245\136\213\373\317\120\262\232
+\124\257\303\211\272\130\055\365\060\230\261\066\162\071\176\111
+\004\375\051\247\114\171\344\005\127\333\224\271\026\123\215\106
+\263\035\225\141\127\126\177\257\360\026\133\141\130\157\066\120
+\021\013\330\254\053\225\026\032\016\037\010\315\066\064\145\020
+\142\146\325\200\137\024\040\137\055\014\240\170\012\150\326\054
+\327\351\157\053\322\112\005\223\374\236\157\153\147\377\210\361
+\116\245\151\112\122\067\005\352\306\026\215\322\304\231\321\202
+\053\073\272\065\165\367\121\121\130\363\310\007\335\344\264\003
+\177\002\003\001\000\001\243\102\060\100\060\035\006\003\125\035
+\016\004\026\004\024\331\164\072\344\060\075\015\367\022\334\176
+\132\005\237\036\064\232\367\341\024\060\017\006\003\125\035\023
+\001\001\377\004\005\060\003\001\001\377\060\016\006\003\125\035
+\017\001\001\377\004\004\003\002\001\206\060\015\006\011\052\206
+\110\206\367\015\001\001\013\005\000\003\202\002\001\000\066\215
+\227\314\102\025\144\051\067\233\046\054\326\373\256\025\151\054
+\153\032\032\367\137\266\371\007\114\131\352\363\311\310\271\256
+\314\272\056\172\334\300\365\260\055\300\073\257\237\160\005\021
+\152\237\045\117\001\051\160\343\345\014\341\352\132\174\334\111
+\273\301\036\052\201\365\026\113\162\221\310\242\061\271\252\332
+\374\235\037\363\135\100\002\023\374\116\034\006\312\263\024\220
+\124\027\031\022\032\361\037\327\014\151\132\366\161\170\364\224
+\175\221\013\216\354\220\124\216\274\157\241\114\253\374\164\144
+\375\161\232\370\101\007\241\315\221\344\074\232\340\233\062\071
+\163\253\052\325\151\310\170\221\046\061\175\342\307\060\361\374
+\024\170\167\022\016\023\364\335\026\224\277\113\147\173\160\123
+\205\312\260\273\363\070\115\054\220\071\300\015\302\135\153\351
+\342\345\325\210\215\326\054\277\253\033\276\265\050\207\022\027
+\164\156\374\175\374\217\320\207\046\260\033\373\271\154\253\342
+\236\075\025\301\073\056\147\002\130\221\237\357\370\102\037\054
+\267\150\365\165\255\317\265\366\377\021\175\302\360\044\245\255
+\323\372\240\074\251\372\135\334\245\240\357\104\244\276\326\350
+\345\344\023\226\027\173\006\076\062\355\307\267\102\274\166\243
+\330\145\070\053\070\065\121\041\016\016\157\056\064\023\100\341
+\053\147\014\155\112\101\060\030\043\132\062\125\231\311\027\340
+\074\336\366\354\171\255\053\130\031\242\255\054\042\032\225\216
+\276\226\220\135\102\127\304\371\024\003\065\053\034\055\121\127
+\010\247\072\336\077\344\310\264\003\163\302\301\046\200\273\013
+\102\037\255\015\257\046\162\332\314\276\263\243\203\130\015\202
+\305\037\106\121\343\234\030\314\215\233\215\354\111\353\165\120
+\325\214\050\131\312\164\064\332\214\013\041\253\036\352\033\345
+\307\375\025\076\300\027\252\373\043\156\046\106\313\372\371\261
+\162\153\151\317\042\204\013\142\017\254\331\031\000\224\242\166
+\074\324\055\232\355\004\236\055\006\142\020\067\122\034\205\162
+\033\047\345\314\306\061\354\067\354\143\131\233\013\035\166\314
+\176\062\232\210\225\010\066\122\273\336\166\137\166\111\111\255
+\177\275\145\040\262\311\301\053\166\030\166\237\126\261
 END
 CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
 
-# 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
-# Fingerprint (SHA1): 7E:04:DE:89:6A:3E:66:6D:00:E6:87:D3:3F:FA:D9:3B:E8:3D:34:9E
+# Trust for "UCA Extended Validation Root"
+# Issuer: CN=UCA Extended Validation Root,O=UniTrust,C=CN
+# Serial Number:4f:d2:2b:8f:f5:64:c8:33:9e:4f:34:58:66:23:70:60
+# Subject: CN=UCA Extended Validation Root,O=UniTrust,C=CN
+# Not Valid Before: Fri Mar 13 00:00:00 2015
+# Not Valid After : Fri Dec 31 00:00:00 2038
+# Fingerprint (SHA-256): D4:3A:F9:B3:54:73:75:5C:96:84:FC:06:D7:D8:CB:70:EE:5C:28:E7:73:FB:29:4E:B4:1E:E7:17:22:92:4D:24
+# Fingerprint (SHA1): A3:A1:B0:6F:24:61:23:4A:E3:36:A5:C2:37:FC:A6:FF:DD:F0:D7:3A
 CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "DigiCert Global Root G3"
+CKA_LABEL UTF8 "UCA Extended Validation Root"
 CKA_CERT_SHA1_HASH MULTILINE_OCTAL
-\176\004\336\211\152\076\146\155\000\346\207\323\077\372\331\073
-\350\075\064\236
+\243\241\260\157\044\141\043\112\343\066\245\302\067\374\246\377
+\335\360\327\072
 END
 CKA_CERT_MD5_HASH MULTILINE_OCTAL
-\365\135\244\120\245\373\050\176\036\017\015\314\226\127\126\312
+\241\363\137\103\306\064\233\332\277\214\176\005\123\255\226\342
 END
 CKA_ISSUER MULTILINE_OCTAL
-\060\141\061\013\060\011\006\003\125\004\006\023\002\125\123\061
-\025\060\023\006\003\125\004\012\023\014\104\151\147\151\103\145
-\162\164\040\111\156\143\061\031\060\027\006\003\125\004\013\023
-\020\167\167\167\056\144\151\147\151\143\145\162\164\056\143\157
-\155\061\040\060\036\006\003\125\004\003\023\027\104\151\147\151
-\103\145\162\164\040\107\154\157\142\141\154\040\122\157\157\164
-\040\107\063
+\060\107\061\013\060\011\006\003\125\004\006\023\002\103\116\061
+\021\060\017\006\003\125\004\012\014\010\125\156\151\124\162\165
+\163\164\061\045\060\043\006\003\125\004\003\014\034\125\103\101
+\040\105\170\164\145\156\144\145\144\040\126\141\154\151\144\141
+\164\151\157\156\040\122\157\157\164
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\020\005\125\126\274\362\136\244\065\065\303\244\017\325\253
-\105\162
+\002\020\117\322\053\217\365\144\310\063\236\117\064\130\146\043
+\160\140
 END
 CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
-CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
 CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
 CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
 
 #
-# Certificate "DigiCert Trusted Root G4"
+# Certificate "Certigna Root CA"
 #
-# 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
-# Fingerprint (SHA1): DD:FB:16:CD:49:31:C9:73:A2:03:7D:3F:C8:3A:4D:7D:77:5D:05:E4
+# Issuer: CN=Certigna Root CA,OU=0002 48146308100036,O=Dhimyotis,C=FR
+# Serial Number:00:ca:e9:1b:89:f1:55:03:0d:a3:e6:41:6d:c4:e3:a6:e1
+# Subject: CN=Certigna Root CA,OU=0002 48146308100036,O=Dhimyotis,C=FR
+# Not Valid Before: Tue Oct 01 08:32:27 2013
+# Not Valid After : Sat Oct 01 08:32:27 2033
+# Fingerprint (SHA-256): D4:8D:3D:23:EE:DB:50:A4:59:E5:51:97:60:1C:27:77:4B:9D:7B:18:C9:4D:5A:05:95:11:A1:02:50:B9:31:68
+# Fingerprint (SHA1): 2D:0D:52:14:FF:9E:AD:99:24:01:74:20:47:6E:6C:85:27:27:F5:43
 CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "DigiCert Trusted Root G4"
+CKA_LABEL UTF8 "Certigna Root CA"
 CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
 CKA_SUBJECT MULTILINE_OCTAL
-\060\142\061\013\060\011\006\003\125\004\006\023\002\125\123\061
-\025\060\023\006\003\125\004\012\023\014\104\151\147\151\103\145
-\162\164\040\111\156\143\061\031\060\027\006\003\125\004\013\023
-\020\167\167\167\056\144\151\147\151\143\145\162\164\056\143\157
-\155\061\041\060\037\006\003\125\004\003\023\030\104\151\147\151
-\103\145\162\164\040\124\162\165\163\164\145\144\040\122\157\157
-\164\040\107\064
+\060\132\061\013\060\011\006\003\125\004\006\023\002\106\122\061
+\022\060\020\006\003\125\004\012\014\011\104\150\151\155\171\157
+\164\151\163\061\034\060\032\006\003\125\004\013\014\023\060\060
+\060\062\040\064\070\061\064\066\063\060\070\061\060\060\060\063
+\066\061\031\060\027\006\003\125\004\003\014\020\103\145\162\164
+\151\147\156\141\040\122\157\157\164\040\103\101
 END
 CKA_ID UTF8 "0"
 CKA_ISSUER MULTILINE_OCTAL
-\060\142\061\013\060\011\006\003\125\004\006\023\002\125\123\061
-\025\060\023\006\003\125\004\012\023\014\104\151\147\151\103\145
-\162\164\040\111\156\143\061\031\060\027\006\003\125\004\013\023
-\020\167\167\167\056\144\151\147\151\143\145\162\164\056\143\157
-\155\061\041\060\037\006\003\125\004\003\023\030\104\151\147\151
-\103\145\162\164\040\124\162\165\163\164\145\144\040\122\157\157
-\164\040\107\064
+\060\132\061\013\060\011\006\003\125\004\006\023\002\106\122\061
+\022\060\020\006\003\125\004\012\014\011\104\150\151\155\171\157
+\164\151\163\061\034\060\032\006\003\125\004\013\014\023\060\060
+\060\062\040\064\070\061\064\066\063\060\070\061\060\060\060\063
+\066\061\031\060\027\006\003\125\004\003\014\020\103\145\162\164
+\151\147\156\141\040\122\157\157\164\040\103\101
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\020\005\233\033\127\236\216\041\062\342\071\007\275\247\167
-\165\134
+\002\021\000\312\351\033\211\361\125\003\015\243\346\101\155\304
+\343\246\341
 END
 CKA_VALUE MULTILINE_OCTAL
-\060\202\005\220\060\202\003\170\240\003\002\001\002\002\020\005
-\233\033\127\236\216\041\062\342\071\007\275\247\167\165\134\060
-\015\006\011\052\206\110\206\367\015\001\001\014\005\000\060\142
-\061\013\060\011\006\003\125\004\006\023\002\125\123\061\025\060
-\023\006\003\125\004\012\023\014\104\151\147\151\103\145\162\164
-\040\111\156\143\061\031\060\027\006\003\125\004\013\023\020\167
-\167\167\056\144\151\147\151\143\145\162\164\056\143\157\155\061
-\041\060\037\006\003\125\004\003\023\030\104\151\147\151\103\145
-\162\164\040\124\162\165\163\164\145\144\040\122\157\157\164\040
-\107\064\060\036\027\015\061\063\060\070\060\061\061\062\060\060
-\060\060\132\027\015\063\070\060\061\061\065\061\062\060\060\060
-\060\132\060\142\061\013\060\011\006\003\125\004\006\023\002\125
-\123\061\025\060\023\006\003\125\004\012\023\014\104\151\147\151
-\103\145\162\164\040\111\156\143\061\031\060\027\006\003\125\004
-\013\023\020\167\167\167\056\144\151\147\151\143\145\162\164\056
-\143\157\155\061\041\060\037\006\003\125\004\003\023\030\104\151
-\147\151\103\145\162\164\040\124\162\165\163\164\145\144\040\122
-\157\157\164\040\107\064\060\202\002\042\060\015\006\011\052\206
-\110\206\367\015\001\001\001\005\000\003\202\002\017\000\060\202
-\002\012\002\202\002\001\000\277\346\220\163\150\336\273\344\135
-\112\074\060\042\060\151\063\354\302\247\045\056\311\041\075\362
-\212\330\131\302\341\051\247\075\130\253\166\232\315\256\173\033
-\204\015\304\060\037\363\033\244\070\026\353\126\306\227\155\035
-\253\262\171\362\312\021\322\344\137\326\005\074\122\017\122\037
-\306\236\025\245\176\276\237\251\127\026\131\125\162\257\150\223
-\160\302\262\272\165\231\152\163\062\224\321\020\104\020\056\337
-\202\363\007\204\346\164\073\155\161\342\055\014\033\356\040\325
-\311\040\035\143\051\055\316\354\136\116\310\223\370\041\141\233
-\064\353\005\306\136\354\133\032\274\353\311\317\315\254\064\100
-\137\261\172\146\356\167\310\110\250\146\127\127\237\124\130\216
-\014\053\267\117\247\060\331\126\356\312\173\135\343\255\311\117
-\136\345\065\347\061\313\332\223\136\334\216\217\200\332\266\221
-\230\100\220\171\303\170\307\266\261\304\265\152\030\070\003\020
-\215\330\324\067\244\056\005\175\210\365\202\076\020\221\160\253
-\125\202\101\062\327\333\004\163\052\156\221\001\174\041\114\324
-\274\256\033\003\165\135\170\146\331\072\061\104\232\063\100\277
-\010\327\132\111\244\302\346\251\240\147\335\244\047\274\241\117
-\071\265\021\130\027\367\044\134\106\217\144\367\301\151\210\166
-\230\166\075\131\135\102\166\207\211\227\151\172\110\360\340\242
-\022\033\146\232\164\312\336\113\036\347\016\143\256\346\324\357
-\222\222\072\236\075\334\000\344\105\045\211\266\232\104\031\053
-\176\300\224\264\322\141\155\353\063\331\305\337\113\004\000\314
-\175\034\225\303\217\367\041\262\262\021\267\273\177\362\325\214
-\160\054\101\140\252\261\143\030\104\225\032\166\142\176\366\200
-\260\373\350\144\246\063\321\211\007\341\275\267\346\103\244\030
-\270\246\167\001\341\017\224\014\041\035\262\124\051\045\211\154
-\345\016\122\121\107\164\276\046\254\266\101\165\336\172\254\137
-\215\077\311\274\323\101\021\022\133\345\020\120\353\061\305\312
-\162\026\042\011\337\174\114\165\077\143\354\041\137\304\040\121
-\153\157\261\253\206\213\117\302\326\105\137\235\040\374\241\036
-\305\300\217\242\261\176\012\046\231\365\344\151\057\230\035\055
-\365\331\251\262\035\345\033\002\003\001\000\001\243\102\060\100
-\060\017\006\003\125\035\023\001\001\377\004\005\060\003\001\001
-\377\060\016\006\003\125\035\017\001\001\377\004\004\003\002\001
-\206\060\035\006\003\125\035\016\004\026\004\024\354\327\343\202
-\322\161\135\144\114\337\056\147\077\347\272\230\256\034\017\117
-\060\015\006\011\052\206\110\206\367\015\001\001\014\005\000\003
-\202\002\001\000\273\141\331\175\251\154\276\027\304\221\033\303
-\241\242\000\215\343\144\150\017\126\317\167\256\160\371\375\232
-\112\231\271\311\170\134\014\014\137\344\346\024\051\126\013\066
-\111\135\104\143\340\255\234\226\030\146\033\043\015\075\171\351
-\155\153\326\124\370\322\074\301\103\100\256\035\120\365\122\374
-\220\073\273\230\231\151\153\307\301\247\250\150\244\047\334\235
-\371\047\256\060\205\271\366\147\115\072\076\217\131\071\042\123
-\104\353\310\135\003\312\355\120\172\175\142\041\012\200\310\163
-\146\321\240\005\140\137\350\245\264\247\257\250\367\155\065\234
-\174\132\212\326\242\070\231\363\170\213\364\115\322\040\013\336
-\004\356\214\233\107\201\162\015\300\024\062\357\060\131\056\256
-\340\161\362\126\344\152\227\157\222\120\155\226\215\150\172\232
-\262\066\024\172\006\362\044\271\011\021\120\327\010\261\270\211
-\172\204\043\141\102\051\345\243\315\242\040\101\327\321\234\144
-\331\352\046\241\213\024\327\114\031\262\120\101\161\075\077\115
-\160\043\206\014\112\334\201\322\314\062\224\204\015\010\011\227
-\034\117\300\356\153\040\164\060\322\340\071\064\020\205\041\025
-\001\010\350\125\062\336\161\111\331\050\027\120\115\346\276\115
-\321\165\254\320\312\373\101\270\103\245\252\323\303\005\104\117
-\054\066\233\342\372\342\105\270\043\123\154\006\157\147\125\177
-\106\265\114\077\156\050\132\171\046\322\244\250\142\227\322\036
-\342\355\112\213\274\033\375\107\112\015\337\147\146\176\262\133
-\101\320\073\344\364\073\364\004\143\351\357\302\124\000\121\240
-\212\052\311\316\170\314\325\352\207\004\030\263\316\257\111\210
-\257\363\222\231\266\263\346\141\017\322\205\000\347\120\032\344
-\033\225\235\031\241\271\234\261\233\261\000\036\357\320\017\117
-\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
+\060\202\006\133\060\202\004\103\240\003\002\001\002\002\021\000
+\312\351\033\211\361\125\003\015\243\346\101\155\304\343\246\341
+\060\015\006\011\052\206\110\206\367\015\001\001\013\005\000\060
+\132\061\013\060\011\006\003\125\004\006\023\002\106\122\061\022
+\060\020\006\003\125\004\012\014\011\104\150\151\155\171\157\164
+\151\163\061\034\060\032\006\003\125\004\013\014\023\060\060\060
+\062\040\064\070\061\064\066\063\060\070\061\060\060\060\063\066
+\061\031\060\027\006\003\125\004\003\014\020\103\145\162\164\151
+\147\156\141\040\122\157\157\164\040\103\101\060\036\027\015\061
+\063\061\060\060\061\060\070\063\062\062\067\132\027\015\063\063
+\061\060\060\061\060\070\063\062\062\067\132\060\132\061\013\060
+\011\006\003\125\004\006\023\002\106\122\061\022\060\020\006\003
+\125\004\012\014\011\104\150\151\155\171\157\164\151\163\061\034
+\060\032\006\003\125\004\013\014\023\060\060\060\062\040\064\070
+\061\064\066\063\060\070\061\060\060\060\063\066\061\031\060\027
+\006\003\125\004\003\014\020\103\145\162\164\151\147\156\141\040
+\122\157\157\164\040\103\101\060\202\002\042\060\015\006\011\052
+\206\110\206\367\015\001\001\001\005\000\003\202\002\017\000\060
+\202\002\012\002\202\002\001\000\315\030\071\145\032\131\261\352
+\144\026\016\214\224\044\225\174\203\323\305\071\046\334\014\357
+\026\127\215\327\330\254\243\102\177\202\312\355\315\133\333\016
+\267\055\355\105\010\027\262\331\263\313\326\027\122\162\050\333
+\216\116\236\212\266\013\371\236\204\232\115\166\336\042\051\134
+\322\263\322\006\076\060\071\251\164\243\222\126\034\241\157\114
+\012\040\155\237\043\172\264\306\332\054\344\035\054\334\263\050
+\320\023\362\114\116\002\111\241\124\100\236\346\345\005\240\055
+\204\310\377\230\154\320\353\212\032\204\010\036\267\150\043\356
+\043\325\160\316\155\121\151\020\356\241\172\302\321\042\061\302
+\202\205\322\362\125\166\120\174\045\172\311\204\134\013\254\335
+\102\116\053\347\202\242\044\211\313\220\262\320\356\043\272\146
+\114\273\142\244\371\123\132\144\173\174\230\372\243\110\236\017
+\225\256\247\030\364\152\354\056\003\105\257\360\164\370\052\315
+\172\135\321\276\104\046\062\051\361\361\365\154\314\176\002\041
+\013\237\157\244\077\276\235\123\342\317\175\251\054\174\130\032
+\227\341\075\067\067\030\146\050\322\100\305\121\212\214\303\055
+\316\123\210\044\130\144\060\026\305\252\340\326\012\246\100\337
+\170\366\365\004\174\151\023\204\274\321\321\247\006\317\001\367
+\150\300\250\127\273\072\141\255\004\214\223\343\255\374\360\333
+\104\155\131\334\111\131\256\254\232\231\066\060\101\173\166\063
+\042\207\243\302\222\206\156\371\160\356\256\207\207\225\033\304
+\172\275\061\363\324\322\345\231\377\276\110\354\165\365\170\026
+\035\246\160\301\177\074\033\241\222\373\317\310\074\326\305\223
+\012\217\365\125\072\166\225\316\131\230\212\011\225\167\062\232
+\203\272\054\004\072\227\275\324\057\276\327\154\233\242\312\175
+\155\046\311\125\325\317\303\171\122\010\011\231\007\044\055\144
+\045\153\246\041\151\233\152\335\164\115\153\227\172\101\275\253
+\027\371\220\027\110\217\066\371\055\325\305\333\356\252\205\105
+\101\372\315\072\105\261\150\346\066\114\233\220\127\354\043\271
+\207\010\302\304\011\361\227\206\052\050\115\342\164\300\332\304
+\214\333\337\342\241\027\131\316\044\131\164\061\332\177\375\060
+\155\331\334\341\152\341\374\137\002\003\001\000\001\243\202\001
+\032\060\202\001\026\060\017\006\003\125\035\023\001\001\377\004
+\005\060\003\001\001\377\060\016\006\003\125\035\017\001\001\377
+\004\004\003\002\001\006\060\035\006\003\125\035\016\004\026\004
+\024\030\207\126\340\156\167\356\044\065\074\116\163\232\037\326
+\341\342\171\176\053\060\037\006\003\125\035\043\004\030\060\026
+\200\024\030\207\126\340\156\167\356\044\065\074\116\163\232\037
+\326\341\342\171\176\053\060\104\006\003\125\035\040\004\075\060
+\073\060\071\006\004\125\035\040\000\060\061\060\057\006\010\053
+\006\001\005\005\007\002\001\026\043\150\164\164\160\163\072\057
+\057\167\167\167\167\056\143\145\162\164\151\147\156\141\056\146
+\162\057\141\165\164\157\162\151\164\145\163\057\060\155\006\003
+\125\035\037\004\146\060\144\060\057\240\055\240\053\206\051\150
+\164\164\160\072\057\057\143\162\154\056\143\145\162\164\151\147
+\156\141\056\146\162\057\143\145\162\164\151\147\156\141\162\157
+\157\164\143\141\056\143\162\154\060\061\240\057\240\055\206\053
+\150\164\164\160\072\057\057\143\162\154\056\144\150\151\155\171
+\157\164\151\163\056\143\157\155\057\143\145\162\164\151\147\156
+\141\162\157\157\164\143\141\056\143\162\154\060\015\006\011\052
+\206\110\206\367\015\001\001\013\005\000\003\202\002\001\000\224
+\270\236\117\360\343\225\010\042\347\315\150\101\367\034\125\325
+\174\000\342\055\072\211\135\150\070\057\121\042\013\112\215\313
+\351\273\135\076\273\134\075\261\050\376\344\123\125\023\317\241
+\220\033\002\035\137\146\106\011\063\050\341\015\044\227\160\323
+\020\037\352\144\127\226\273\135\332\347\304\214\117\114\144\106
+\035\134\207\343\131\336\102\321\233\250\176\246\211\335\217\034
+\311\060\202\355\073\234\315\300\351\031\340\152\330\002\165\067
+\253\367\064\050\050\221\362\004\012\117\065\343\140\046\001\372
+\320\021\214\371\021\152\356\257\075\303\120\323\217\137\063\171
+\074\206\250\163\105\220\214\040\266\162\163\027\043\276\007\145
+\345\170\222\015\272\001\300\353\214\034\146\277\254\206\167\001
+\224\015\234\346\351\071\215\037\246\121\214\231\014\071\167\341
+\264\233\372\034\147\127\157\152\152\216\251\053\114\127\171\172
+\127\042\317\315\137\143\106\215\134\131\072\206\370\062\107\142
+\243\147\015\030\221\334\373\246\153\365\110\141\163\043\131\216
+\002\247\274\104\352\364\111\235\361\124\130\371\140\257\332\030
+\244\057\050\105\334\172\240\210\206\135\363\073\347\377\051\065
+\200\374\144\103\224\346\343\034\157\276\255\016\052\143\231\053
+\311\176\205\366\161\350\006\003\225\376\336\217\110\034\132\324
+\222\350\053\356\347\061\333\272\004\152\207\230\347\305\137\357
+\175\247\042\367\001\330\115\371\211\320\016\232\005\131\244\236
+\230\331\157\053\312\160\276\144\302\125\243\364\351\257\303\222
+\051\334\210\026\044\231\074\215\046\230\266\133\267\314\316\267
+\067\007\375\046\331\230\205\044\377\131\043\003\232\355\235\235
+\250\344\136\070\316\327\122\015\157\322\077\155\261\005\153\111
+\316\212\221\106\163\364\366\057\360\250\163\167\016\145\254\241
+\215\146\122\151\176\113\150\014\307\036\067\047\203\245\214\307
+\002\344\024\315\111\001\260\163\263\375\306\220\072\157\322\154
+\355\073\356\354\221\276\242\103\135\213\000\112\146\045\104\160
+\336\100\017\370\174\025\367\242\316\074\327\136\023\214\201\027
+\030\027\321\275\361\167\020\072\324\145\071\301\047\254\127\054
+\045\124\377\242\332\117\212\141\071\136\256\075\112\214\275
 END
 CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
 
-# 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
-# Fingerprint (SHA1): DD:FB:16:CD:49:31:C9:73:A2:03:7D:3F:C8:3A:4D:7D:77:5D:05:E4
+# Trust for "Certigna Root CA"
+# Issuer: CN=Certigna Root CA,OU=0002 48146308100036,O=Dhimyotis,C=FR
+# Serial Number:00:ca:e9:1b:89:f1:55:03:0d:a3:e6:41:6d:c4:e3:a6:e1
+# Subject: CN=Certigna Root CA,OU=0002 48146308100036,O=Dhimyotis,C=FR
+# Not Valid Before: Tue Oct 01 08:32:27 2013
+# Not Valid After : Sat Oct 01 08:32:27 2033
+# Fingerprint (SHA-256): D4:8D:3D:23:EE:DB:50:A4:59:E5:51:97:60:1C:27:77:4B:9D:7B:18:C9:4D:5A:05:95:11:A1:02:50:B9:31:68
+# Fingerprint (SHA1): 2D:0D:52:14:FF:9E:AD:99:24:01:74:20:47:6E:6C:85:27:27:F5:43
 CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "DigiCert Trusted Root G4"
+CKA_LABEL UTF8 "Certigna Root CA"
 CKA_CERT_SHA1_HASH MULTILINE_OCTAL
-\335\373\026\315\111\061\311\163\242\003\175\077\310\072\115\175
-\167\135\005\344
+\055\015\122\024\377\236\255\231\044\001\164\040\107\156\154\205
+\047\047\365\103
 END
 CKA_CERT_MD5_HASH MULTILINE_OCTAL
-\170\362\374\252\140\037\057\264\353\311\067\272\123\056\165\111
+\016\134\060\142\047\353\133\274\327\256\142\272\351\325\337\167
 END
 CKA_ISSUER MULTILINE_OCTAL
-\060\142\061\013\060\011\006\003\125\004\006\023\002\125\123\061
-\025\060\023\006\003\125\004\012\023\014\104\151\147\151\103\145
-\162\164\040\111\156\143\061\031\060\027\006\003\125\004\013\023
-\020\167\167\167\056\144\151\147\151\143\145\162\164\056\143\157
-\155\061\041\060\037\006\003\125\004\003\023\030\104\151\147\151
-\103\145\162\164\040\124\162\165\163\164\145\144\040\122\157\157
-\164\040\107\064
+\060\132\061\013\060\011\006\003\125\004\006\023\002\106\122\061
+\022\060\020\006\003\125\004\012\014\011\104\150\151\155\171\157
+\164\151\163\061\034\060\032\006\003\125\004\013\014\023\060\060
+\060\062\040\064\070\061\064\066\063\060\070\061\060\060\060\063
+\066\061\031\060\027\006\003\125\004\003\014\020\103\145\162\164
+\151\147\156\141\040\122\157\157\164\040\103\101
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\020\005\233\033\127\236\216\041\062\342\071\007\275\247\167
-\165\134
+\002\021\000\312\351\033\211\361\125\003\015\243\346\101\155\304
+\343\246\341
 END
 CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
 CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
@@ -15903,180 +16055,138 @@ CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
 CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
 
 #
-# Certificate "COMODO RSA Certification Authority"
+# Certificate "emSign Root CA - G1"
 #
-# 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
-# Fingerprint (SHA1): AF:E5:D2:44:A8:D1:19:42:30:FF:47:9F:E2:F8:97:BB:CD:7A:8C:B4
+# Issuer: CN=emSign Root CA - G1,O=eMudhra Technologies Limited,OU=emSign PKI,C=IN
+# Serial Number:31:f5:e4:62:0c:6c:58:ed:d6:d8
+# Subject: CN=emSign Root CA - G1,O=eMudhra Technologies Limited,OU=emSign PKI,C=IN
+# Not Valid Before: Sun Feb 18 18:30:00 2018
+# Not Valid After : Wed Feb 18 18:30:00 2043
+# Fingerprint (SHA-256): 40:F6:AF:03:46:A9:9A:A1:CD:1D:55:5A:4E:9C:CE:62:C7:F9:63:46:03:EE:40:66:15:83:3D:C8:C8:D0:03:67
+# Fingerprint (SHA1): 8A:C7:AD:8F:73:AC:4E:C1:B5:75:4D:A5:40:F4:FC:CF:7C:B5:8E:8C
 CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "COMODO RSA Certification Authority"
+CKA_LABEL UTF8 "emSign Root CA - G1"
 CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
 CKA_SUBJECT MULTILINE_OCTAL
-\060\201\205\061\013\060\011\006\003\125\004\006\023\002\107\102
-\061\033\060\031\006\003\125\004\010\023\022\107\162\145\141\164
-\145\162\040\115\141\156\143\150\145\163\164\145\162\061\020\060
-\016\006\003\125\004\007\023\007\123\141\154\146\157\162\144\061
-\032\060\030\006\003\125\004\012\023\021\103\117\115\117\104\117
-\040\103\101\040\114\151\155\151\164\145\144\061\053\060\051\006
-\003\125\004\003\023\042\103\117\115\117\104\117\040\122\123\101
-\040\103\145\162\164\151\146\151\143\141\164\151\157\156\040\101
-\165\164\150\157\162\151\164\171
+\060\147\061\013\060\011\006\003\125\004\006\023\002\111\116\061
+\023\060\021\006\003\125\004\013\023\012\145\155\123\151\147\156
+\040\120\113\111\061\045\060\043\006\003\125\004\012\023\034\145
+\115\165\144\150\162\141\040\124\145\143\150\156\157\154\157\147
+\151\145\163\040\114\151\155\151\164\145\144\061\034\060\032\006
+\003\125\004\003\023\023\145\155\123\151\147\156\040\122\157\157
+\164\040\103\101\040\055\040\107\061
 END
 CKA_ID UTF8 "0"
 CKA_ISSUER MULTILINE_OCTAL
-\060\201\205\061\013\060\011\006\003\125\004\006\023\002\107\102
-\061\033\060\031\006\003\125\004\010\023\022\107\162\145\141\164
-\145\162\040\115\141\156\143\150\145\163\164\145\162\061\020\060
-\016\006\003\125\004\007\023\007\123\141\154\146\157\162\144\061
-\032\060\030\006\003\125\004\012\023\021\103\117\115\117\104\117
-\040\103\101\040\114\151\155\151\164\145\144\061\053\060\051\006
-\003\125\004\003\023\042\103\117\115\117\104\117\040\122\123\101
-\040\103\145\162\164\151\146\151\143\141\164\151\157\156\040\101
-\165\164\150\157\162\151\164\171
+\060\147\061\013\060\011\006\003\125\004\006\023\002\111\116\061
+\023\060\021\006\003\125\004\013\023\012\145\155\123\151\147\156
+\040\120\113\111\061\045\060\043\006\003\125\004\012\023\034\145
+\115\165\144\150\162\141\040\124\145\143\150\156\157\154\157\147
+\151\145\163\040\114\151\155\151\164\145\144\061\034\060\032\006
+\003\125\004\003\023\023\145\155\123\151\147\156\040\122\157\157
+\164\040\103\101\040\055\040\107\061
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\020\114\252\371\312\333\143\157\340\037\367\116\330\133\003
-\206\235
+\002\012\061\365\344\142\014\154\130\355\326\330
 END
 CKA_VALUE MULTILINE_OCTAL
-\060\202\005\330\060\202\003\300\240\003\002\001\002\002\020\114
-\252\371\312\333\143\157\340\037\367\116\330\133\003\206\235\060
-\015\006\011\052\206\110\206\367\015\001\001\014\005\000\060\201
-\205\061\013\060\011\006\003\125\004\006\023\002\107\102\061\033
-\060\031\006\003\125\004\010\023\022\107\162\145\141\164\145\162
-\040\115\141\156\143\150\145\163\164\145\162\061\020\060\016\006
-\003\125\004\007\023\007\123\141\154\146\157\162\144\061\032\060
-\030\006\003\125\004\012\023\021\103\117\115\117\104\117\040\103
-\101\040\114\151\155\151\164\145\144\061\053\060\051\006\003\125
-\004\003\023\042\103\117\115\117\104\117\040\122\123\101\040\103
-\145\162\164\151\146\151\143\141\164\151\157\156\040\101\165\164
-\150\157\162\151\164\171\060\036\027\015\061\060\060\061\061\071
-\060\060\060\060\060\060\132\027\015\063\070\060\061\061\070\062
-\063\065\071\065\071\132\060\201\205\061\013\060\011\006\003\125
-\004\006\023\002\107\102\061\033\060\031\006\003\125\004\010\023
-\022\107\162\145\141\164\145\162\040\115\141\156\143\150\145\163
-\164\145\162\061\020\060\016\006\003\125\004\007\023\007\123\141
-\154\146\157\162\144\061\032\060\030\006\003\125\004\012\023\021
-\103\117\115\117\104\117\040\103\101\040\114\151\155\151\164\145
-\144\061\053\060\051\006\003\125\004\003\023\042\103\117\115\117
-\104\117\040\122\123\101\040\103\145\162\164\151\146\151\143\141
-\164\151\157\156\040\101\165\164\150\157\162\151\164\171\060\202
-\002\042\060\015\006\011\052\206\110\206\367\015\001\001\001\005
-\000\003\202\002\017\000\060\202\002\012\002\202\002\001\000\221
-\350\124\222\322\012\126\261\254\015\044\335\305\317\104\147\164
-\231\053\067\243\175\043\160\000\161\274\123\337\304\372\052\022
-\217\113\177\020\126\275\237\160\162\267\141\177\311\113\017\027
-\247\075\343\260\004\141\356\377\021\227\307\364\206\076\012\372
-\076\134\371\223\346\064\172\331\024\153\347\234\263\205\240\202
-\172\166\257\161\220\327\354\375\015\372\234\154\372\337\260\202
-\364\024\176\371\276\304\246\057\117\177\231\177\265\374\147\103
-\162\275\014\000\326\211\353\153\054\323\355\217\230\034\024\253
-\176\345\343\156\374\330\250\344\222\044\332\103\153\142\270\125
-\375\352\301\274\154\266\213\363\016\215\232\344\233\154\151\231
-\370\170\110\060\105\325\255\341\015\074\105\140\374\062\226\121
-\047\274\147\303\312\056\266\153\352\106\307\307\040\240\261\037
-\145\336\110\010\272\244\116\251\362\203\106\067\204\353\350\314
-\201\110\103\147\116\162\052\233\134\275\114\033\050\212\134\042
-\173\264\253\230\331\356\340\121\203\303\011\106\116\155\076\231
-\372\225\027\332\174\063\127\101\074\215\121\355\013\266\134\257
-\054\143\032\337\127\310\077\274\351\135\304\233\257\105\231\342
-\243\132\044\264\272\251\126\075\317\157\252\377\111\130\276\360
-\250\377\364\270\255\351\067\373\272\270\364\013\072\371\350\103
-\102\036\211\330\204\313\023\361\331\273\341\211\140\270\214\050
-\126\254\024\035\234\012\347\161\353\317\016\335\075\251\226\241
-\110\275\074\367\257\265\015\042\114\300\021\201\354\126\073\366
-\323\242\342\133\267\262\004\042\122\225\200\223\151\350\216\114
-\145\361\221\003\055\160\164\002\352\213\147\025\051\151\122\002
-\273\327\337\120\152\125\106\277\240\243\050\141\177\160\320\303
-\242\252\054\041\252\107\316\050\234\006\105\166\277\202\030\047
-\264\325\256\264\313\120\346\153\364\114\206\161\060\351\246\337
-\026\206\340\330\377\100\335\373\320\102\210\177\243\063\072\056
-\134\036\101\021\201\143\316\030\161\153\053\354\246\212\267\061
-\134\072\152\107\340\303\171\131\326\040\032\257\362\152\230\252
-\162\274\127\112\322\113\235\273\020\374\260\114\101\345\355\035
-\075\136\050\235\234\314\277\263\121\332\247\107\345\204\123\002
-\003\001\000\001\243\102\060\100\060\035\006\003\125\035\016\004
-\026\004\024\273\257\176\002\075\372\246\361\074\204\216\255\356
-\070\230\354\331\062\062\324\060\016\006\003\125\035\017\001\001
-\377\004\004\003\002\001\006\060\017\006\003\125\035\023\001\001
-\377\004\005\060\003\001\001\377\060\015\006\011\052\206\110\206
-\367\015\001\001\014\005\000\003\202\002\001\000\012\361\325\106
-\204\267\256\121\273\154\262\115\101\024\000\223\114\234\313\345
-\300\124\317\240\045\216\002\371\375\260\242\015\365\040\230\074
-\023\055\254\126\242\260\326\176\021\222\351\056\272\236\056\232
-\162\261\275\031\104\154\141\065\242\232\264\026\022\151\132\214
-\341\327\076\244\032\350\057\003\364\256\141\035\020\033\052\244
-\213\172\305\376\005\246\341\300\326\310\376\236\256\217\053\272
-\075\231\370\330\163\011\130\106\156\246\234\364\327\047\323\225
-\332\067\203\162\034\323\163\340\242\107\231\003\070\135\325\111
-\171\000\051\034\307\354\233\040\034\007\044\151\127\170\262\071
-\374\072\204\240\265\234\174\215\277\056\223\142\047\267\071\332
-\027\030\256\275\074\011\150\377\204\233\074\325\326\013\003\343
-\127\236\024\367\321\353\117\310\275\207\043\267\266\111\103\171
-\205\134\272\353\222\013\241\306\350\150\250\114\026\261\032\231
-\012\350\123\054\222\273\241\011\030\165\014\145\250\173\313\043
-\267\032\302\050\205\303\033\377\320\053\142\357\244\173\011\221
-\230\147\214\024\001\315\150\006\152\143\041\165\003\200\210\212
-\156\201\306\205\362\251\244\055\347\364\245\044\020\107\203\312
-\315\364\215\171\130\261\006\233\347\032\052\331\235\001\327\224
-\175\355\003\112\312\360\333\350\251\001\076\365\126\231\311\036
-\216\111\075\273\345\011\271\340\117\111\222\075\026\202\100\314
-\314\131\306\346\072\355\022\056\151\074\154\225\261\375\252\035
-\173\177\206\276\036\016\062\106\373\373\023\217\165\177\114\213
-\113\106\143\376\000\064\100\160\301\303\271\241\335\246\160\342
-\004\263\101\274\351\200\221\352\144\234\172\341\042\003\251\234
-\156\157\016\145\117\154\207\207\136\363\156\240\371\165\245\233
-\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
+\060\202\003\224\060\202\002\174\240\003\002\001\002\002\012\061
+\365\344\142\014\154\130\355\326\330\060\015\006\011\052\206\110
+\206\367\015\001\001\013\005\000\060\147\061\013\060\011\006\003
+\125\004\006\023\002\111\116\061\023\060\021\006\003\125\004\013
+\023\012\145\155\123\151\147\156\040\120\113\111\061\045\060\043
+\006\003\125\004\012\023\034\145\115\165\144\150\162\141\040\124
+\145\143\150\156\157\154\157\147\151\145\163\040\114\151\155\151
+\164\145\144\061\034\060\032\006\003\125\004\003\023\023\145\155
+\123\151\147\156\040\122\157\157\164\040\103\101\040\055\040\107
+\061\060\036\027\015\061\070\060\062\061\070\061\070\063\060\060
+\060\132\027\015\064\063\060\062\061\070\061\070\063\060\060\060
+\132\060\147\061\013\060\011\006\003\125\004\006\023\002\111\116
+\061\023\060\021\006\003\125\004\013\023\012\145\155\123\151\147
+\156\040\120\113\111\061\045\060\043\006\003\125\004\012\023\034
+\145\115\165\144\150\162\141\040\124\145\143\150\156\157\154\157
+\147\151\145\163\040\114\151\155\151\164\145\144\061\034\060\032
+\006\003\125\004\003\023\023\145\155\123\151\147\156\040\122\157
+\157\164\040\103\101\040\055\040\107\061\060\202\001\042\060\015
+\006\011\052\206\110\206\367\015\001\001\001\005\000\003\202\001
+\017\000\060\202\001\012\002\202\001\001\000\223\113\273\351\146
+\212\356\235\133\325\064\223\320\033\036\303\347\236\270\144\063
+\177\143\170\150\264\315\056\161\165\327\233\040\306\115\051\274
+\266\150\140\212\367\041\232\126\065\132\363\166\275\330\315\232
+\377\223\126\113\245\131\006\241\223\064\051\335\026\064\165\116
+\362\201\264\307\226\116\255\031\025\122\112\376\074\160\165\160
+\315\257\053\253\025\232\063\074\252\263\213\252\315\103\375\365
+\352\160\377\355\317\021\073\224\316\116\062\026\323\043\100\052
+\167\263\257\074\001\054\154\355\231\054\213\331\116\151\230\262
+\367\217\101\260\062\170\141\326\015\137\303\372\242\100\222\035
+\134\027\346\160\076\065\347\242\267\302\142\342\253\244\070\114
+\265\071\065\157\352\003\151\372\072\124\150\205\155\326\362\057
+\103\125\036\221\015\016\330\325\152\244\226\321\023\074\054\170
+\120\350\072\222\322\027\126\345\065\032\100\034\076\215\054\355
+\071\337\102\340\203\101\164\337\243\315\302\206\140\110\150\343
+\151\013\124\000\213\344\166\151\041\015\171\116\064\010\136\024
+\302\314\261\267\255\327\174\160\212\307\205\002\003\001\000\001
+\243\102\060\100\060\035\006\003\125\035\016\004\026\004\024\373
+\357\015\206\236\260\343\335\251\271\361\041\027\177\076\374\360
+\167\053\032\060\016\006\003\125\035\017\001\001\377\004\004\003
+\002\001\006\060\017\006\003\125\035\023\001\001\377\004\005\060
+\003\001\001\377\060\015\006\011\052\206\110\206\367\015\001\001
+\013\005\000\003\202\001\001\000\131\377\362\214\365\207\175\161
+\075\243\237\033\133\321\332\370\323\234\153\066\275\233\251\141
+\353\336\026\054\164\075\236\346\165\332\327\272\247\274\102\027
+\347\075\221\353\345\175\335\076\234\361\317\222\254\154\110\314
+\302\042\077\151\073\305\266\025\057\243\065\306\150\052\034\127
+\257\071\357\215\320\065\303\030\014\173\000\126\034\315\213\031
+\164\336\276\017\022\340\320\252\241\077\002\064\261\160\316\235
+\030\326\010\003\011\106\356\140\340\176\266\304\111\004\121\175
+\160\140\274\252\262\377\171\162\172\246\035\075\137\052\370\312
+\342\375\071\267\107\271\353\176\337\004\043\257\372\234\006\007
+\351\373\143\223\200\100\265\306\154\012\061\050\316\014\237\317
+\263\043\065\200\101\215\154\304\067\173\201\057\200\241\100\102
+\205\351\331\070\215\350\241\123\315\001\277\151\350\132\006\362
+\105\013\220\372\256\341\277\235\362\256\127\074\245\256\262\126
+\364\213\145\100\351\375\061\201\054\364\071\011\330\356\153\247
+\264\246\035\025\245\230\367\001\201\330\205\175\363\121\134\161
+\210\336\272\314\037\200\176\112
 END
 CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
 
-# 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
-# Fingerprint (SHA1): AF:E5:D2:44:A8:D1:19:42:30:FF:47:9F:E2:F8:97:BB:CD:7A:8C:B4
+# Trust for "emSign Root CA - G1"
+# Issuer: CN=emSign Root CA - G1,O=eMudhra Technologies Limited,OU=emSign PKI,C=IN
+# Serial Number:31:f5:e4:62:0c:6c:58:ed:d6:d8
+# Subject: CN=emSign Root CA - G1,O=eMudhra Technologies Limited,OU=emSign PKI,C=IN
+# Not Valid Before: Sun Feb 18 18:30:00 2018
+# Not Valid After : Wed Feb 18 18:30:00 2043
+# Fingerprint (SHA-256): 40:F6:AF:03:46:A9:9A:A1:CD:1D:55:5A:4E:9C:CE:62:C7:F9:63:46:03:EE:40:66:15:83:3D:C8:C8:D0:03:67
+# Fingerprint (SHA1): 8A:C7:AD:8F:73:AC:4E:C1:B5:75:4D:A5:40:F4:FC:CF:7C:B5:8E:8C
 CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "COMODO RSA Certification Authority"
+CKA_LABEL UTF8 "emSign Root CA - G1"
 CKA_CERT_SHA1_HASH MULTILINE_OCTAL
-\257\345\322\104\250\321\031\102\060\377\107\237\342\370\227\273
-\315\172\214\264
+\212\307\255\217\163\254\116\301\265\165\115\245\100\364\374\317
+\174\265\216\214
 END
 CKA_CERT_MD5_HASH MULTILINE_OCTAL
-\033\061\260\161\100\066\314\024\066\221\255\304\076\375\354\030
+\234\102\204\127\335\313\013\247\056\225\255\266\363\332\274\254
 END
 CKA_ISSUER MULTILINE_OCTAL
-\060\201\205\061\013\060\011\006\003\125\004\006\023\002\107\102
-\061\033\060\031\006\003\125\004\010\023\022\107\162\145\141\164
-\145\162\040\115\141\156\143\150\145\163\164\145\162\061\020\060
-\016\006\003\125\004\007\023\007\123\141\154\146\157\162\144\061
-\032\060\030\006\003\125\004\012\023\021\103\117\115\117\104\117
-\040\103\101\040\114\151\155\151\164\145\144\061\053\060\051\006
-\003\125\004\003\023\042\103\117\115\117\104\117\040\122\123\101
-\040\103\145\162\164\151\146\151\143\141\164\151\157\156\040\101
-\165\164\150\157\162\151\164\171
+\060\147\061\013\060\011\006\003\125\004\006\023\002\111\116\061
+\023\060\021\006\003\125\004\013\023\012\145\155\123\151\147\156
+\040\120\113\111\061\045\060\043\006\003\125\004\012\023\034\145
+\115\165\144\150\162\141\040\124\145\143\150\156\157\154\157\147
+\151\145\163\040\114\151\155\151\164\145\144\061\034\060\032\006
+\003\125\004\003\023\023\145\155\123\151\147\156\040\122\157\157
+\164\040\103\101\040\055\040\107\061
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\020\114\252\371\312\333\143\157\340\037\367\116\330\133\003
-\206\235
+\002\012\061\365\344\142\014\154\130\355\326\330
 END
 CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
 CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
@@ -16084,181 +16194,118 @@ CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
 CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
 
 #
-# Certificate "USERTrust RSA Certification Authority"
+# Certificate "emSign ECC Root CA - G3"
 #
-# 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
-# Fingerprint (SHA1): 2B:8F:1B:57:33:0D:BB:A2:D0:7A:6C:51:F7:0E:E9:0D:DA:B9:AD:8E
+# Issuer: CN=emSign ECC Root CA - G3,O=eMudhra Technologies Limited,OU=emSign PKI,C=IN
+# Serial Number:3c:f6:07:a9:68:70:0e:da:8b:84
+# Subject: CN=emSign ECC Root CA - G3,O=eMudhra Technologies Limited,OU=emSign PKI,C=IN
+# Not Valid Before: Sun Feb 18 18:30:00 2018
+# Not Valid After : Wed Feb 18 18:30:00 2043
+# Fingerprint (SHA-256): 86:A1:EC:BA:08:9C:4A:8D:3B:BE:27:34:C6:12:BA:34:1D:81:3E:04:3C:F9:E8:A8:62:CD:5C:57:A3:6B:BE:6B
+# Fingerprint (SHA1): 30:43:FA:4F:F2:57:DC:A0:C3:80:EE:2E:58:EA:78:B2:3F:E6:BB:C1
 CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "USERTrust RSA Certification Authority"
+CKA_LABEL UTF8 "emSign ECC Root CA - G3"
 CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
 CKA_SUBJECT MULTILINE_OCTAL
-\060\201\210\061\013\060\011\006\003\125\004\006\023\002\125\123
-\061\023\060\021\006\003\125\004\010\023\012\116\145\167\040\112
-\145\162\163\145\171\061\024\060\022\006\003\125\004\007\023\013
-\112\145\162\163\145\171\040\103\151\164\171\061\036\060\034\006
-\003\125\004\012\023\025\124\150\145\040\125\123\105\122\124\122
-\125\123\124\040\116\145\164\167\157\162\153\061\056\060\054\006
-\003\125\004\003\023\045\125\123\105\122\124\162\165\163\164\040
-\122\123\101\040\103\145\162\164\151\146\151\143\141\164\151\157
-\156\040\101\165\164\150\157\162\151\164\171
+\060\153\061\013\060\011\006\003\125\004\006\023\002\111\116\061
+\023\060\021\006\003\125\004\013\023\012\145\155\123\151\147\156
+\040\120\113\111\061\045\060\043\006\003\125\004\012\023\034\145
+\115\165\144\150\162\141\040\124\145\143\150\156\157\154\157\147
+\151\145\163\040\114\151\155\151\164\145\144\061\040\060\036\006
+\003\125\004\003\023\027\145\155\123\151\147\156\040\105\103\103
+\040\122\157\157\164\040\103\101\040\055\040\107\063
 END
 CKA_ID UTF8 "0"
 CKA_ISSUER MULTILINE_OCTAL
-\060\201\210\061\013\060\011\006\003\125\004\006\023\002\125\123
-\061\023\060\021\006\003\125\004\010\023\012\116\145\167\040\112
-\145\162\163\145\171\061\024\060\022\006\003\125\004\007\023\013
-\112\145\162\163\145\171\040\103\151\164\171\061\036\060\034\006
-\003\125\004\012\023\025\124\150\145\040\125\123\105\122\124\122
-\125\123\124\040\116\145\164\167\157\162\153\061\056\060\054\006
-\003\125\004\003\023\045\125\123\105\122\124\162\165\163\164\040
-\122\123\101\040\103\145\162\164\151\146\151\143\141\164\151\157
-\156\040\101\165\164\150\157\162\151\164\171
+\060\153\061\013\060\011\006\003\125\004\006\023\002\111\116\061
+\023\060\021\006\003\125\004\013\023\012\145\155\123\151\147\156
+\040\120\113\111\061\045\060\043\006\003\125\004\012\023\034\145
+\115\165\144\150\162\141\040\124\145\143\150\156\157\154\157\147
+\151\145\163\040\114\151\155\151\164\145\144\061\040\060\036\006
+\003\125\004\003\023\027\145\155\123\151\147\156\040\105\103\103
+\040\122\157\157\164\040\103\101\040\055\040\107\063
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\020\001\375\155\060\374\243\312\121\250\033\274\144\016\065
-\003\055
+\002\012\074\366\007\251\150\160\016\332\213\204
 END
 CKA_VALUE MULTILINE_OCTAL
-\060\202\005\336\060\202\003\306\240\003\002\001\002\002\020\001
-\375\155\060\374\243\312\121\250\033\274\144\016\065\003\055\060
-\015\006\011\052\206\110\206\367\015\001\001\014\005\000\060\201
-\210\061\013\060\011\006\003\125\004\006\023\002\125\123\061\023
-\060\021\006\003\125\004\010\023\012\116\145\167\040\112\145\162
-\163\145\171\061\024\060\022\006\003\125\004\007\023\013\112\145
-\162\163\145\171\040\103\151\164\171\061\036\060\034\006\003\125
-\004\012\023\025\124\150\145\040\125\123\105\122\124\122\125\123
-\124\040\116\145\164\167\157\162\153\061\056\060\054\006\003\125
-\004\003\023\045\125\123\105\122\124\162\165\163\164\040\122\123
-\101\040\103\145\162\164\151\146\151\143\141\164\151\157\156\040
-\101\165\164\150\157\162\151\164\171\060\036\027\015\061\060\060
-\062\060\061\060\060\060\060\060\060\132\027\015\063\070\060\061
-\061\070\062\063\065\071\065\071\132\060\201\210\061\013\060\011
-\006\003\125\004\006\023\002\125\123\061\023\060\021\006\003\125
-\004\010\023\012\116\145\167\040\112\145\162\163\145\171\061\024
-\060\022\006\003\125\004\007\023\013\112\145\162\163\145\171\040
-\103\151\164\171\061\036\060\034\006\003\125\004\012\023\025\124
-\150\145\040\125\123\105\122\124\122\125\123\124\040\116\145\164
-\167\157\162\153\061\056\060\054\006\003\125\004\003\023\045\125
-\123\105\122\124\162\165\163\164\040\122\123\101\040\103\145\162
-\164\151\146\151\143\141\164\151\157\156\040\101\165\164\150\157
-\162\151\164\171\060\202\002\042\060\015\006\011\052\206\110\206
-\367\015\001\001\001\005\000\003\202\002\017\000\060\202\002\012
-\002\202\002\001\000\200\022\145\027\066\016\303\333\010\263\320
-\254\127\015\166\355\315\047\323\114\255\120\203\141\342\252\040
-\115\011\055\144\011\334\316\211\237\314\075\251\354\366\317\301
-\334\361\323\261\326\173\067\050\021\053\107\332\071\306\274\072
-\031\264\137\246\275\175\235\243\143\102\266\166\362\251\073\053
-\221\370\342\157\320\354\026\040\220\011\076\342\350\164\311\030
-\264\221\324\142\144\333\177\243\006\361\210\030\152\220\042\074
-\274\376\023\360\207\024\173\366\344\037\216\324\344\121\306\021
-\147\106\010\121\313\206\024\124\077\274\063\376\176\154\234\377
-\026\235\030\275\121\216\065\246\247\146\310\162\147\333\041\146
-\261\324\233\170\003\300\120\072\350\314\360\334\274\236\114\376
-\257\005\226\065\037\127\132\267\377\316\371\075\267\054\266\366
-\124\335\310\347\022\072\115\256\114\212\267\134\232\264\267\040
-\075\312\177\042\064\256\176\073\150\146\001\104\347\001\116\106
-\123\233\063\140\367\224\276\123\067\220\163\103\363\062\303\123
-\357\333\252\376\164\116\151\307\153\214\140\223\336\304\307\014
-\337\341\062\256\314\223\073\121\170\225\147\213\356\075\126\376
-\014\320\151\017\033\017\363\045\046\153\063\155\367\156\107\372
-\163\103\345\176\016\245\146\261\051\174\062\204\143\125\211\304
-\015\301\223\124\060\031\023\254\323\175\067\247\353\135\072\154
-\065\134\333\101\327\022\332\251\111\013\337\330\200\212\011\223
-\142\216\265\146\317\045\210\315\204\270\261\077\244\071\017\331
-\002\236\353\022\114\225\174\363\153\005\251\136\026\203\314\270
-\147\342\350\023\235\314\133\202\323\114\263\355\133\377\336\345
-\163\254\043\073\055\000\277\065\125\164\011\111\330\111\130\032
-\177\222\066\346\121\222\016\363\046\175\034\115\027\274\311\354
-\103\046\320\277\101\137\100\251\104\104\364\231\347\127\207\236
-\120\037\127\124\250\076\375\164\143\057\261\120\145\011\346\130
-\102\056\103\032\114\264\360\045\107\131\372\004\036\223\324\046
-\106\112\120\201\262\336\276\170\267\374\147\025\341\311\127\204
-\036\017\143\326\351\142\272\326\137\125\056\352\134\306\050\010
-\004\045\071\270\016\053\251\362\114\227\034\007\077\015\122\365
-\355\357\057\202\017\002\003\001\000\001\243\102\060\100\060\035
-\006\003\125\035\016\004\026\004\024\123\171\277\132\252\053\112
-\317\124\200\341\330\233\300\235\362\262\003\146\313\060\016\006
-\003\125\035\017\001\001\377\004\004\003\002\001\006\060\017\006
-\003\125\035\023\001\001\377\004\005\060\003\001\001\377\060\015
-\006\011\052\206\110\206\367\015\001\001\014\005\000\003\202\002
-\001\000\134\324\174\015\317\367\001\175\101\231\145\014\163\305
-\122\237\313\370\317\231\006\177\033\332\103\025\237\236\002\125
-\127\226\024\361\122\074\047\207\224\050\355\037\072\001\067\242
-\166\374\123\120\300\204\233\306\153\116\272\214\041\117\242\216
-\125\142\221\363\151\025\330\274\210\343\304\252\013\375\357\250
-\351\113\125\052\006\040\155\125\170\051\031\356\137\060\134\113
-\044\021\125\377\044\232\156\136\052\053\356\013\115\237\177\367
-\001\070\224\024\225\103\007\011\373\140\251\356\034\253\022\214
-\240\232\136\247\230\152\131\155\213\077\010\373\310\321\105\257
-\030\025\144\220\022\017\163\050\056\305\342\044\116\374\130\354
-\360\364\105\376\042\263\353\057\216\322\331\105\141\005\301\227
-\157\250\166\162\217\213\214\066\257\277\015\005\316\161\215\346
-\246\157\037\154\246\161\142\305\330\320\203\162\014\361\147\021
-\211\014\234\023\114\162\064\337\274\325\161\337\252\161\335\341
-\271\154\214\074\022\135\145\332\275\127\022\266\103\153\377\345
-\336\115\146\021\121\317\231\256\354\027\266\350\161\221\214\336
-\111\376\335\065\161\242\025\047\224\034\317\141\343\046\273\157
-\243\147\045\041\135\346\335\035\013\056\150\033\073\202\257\354
-\203\147\205\324\230\121\164\261\271\231\200\211\377\177\170\031
-\134\171\112\140\056\222\100\256\114\067\052\054\311\307\142\310
-\016\135\367\066\133\312\340\045\045\001\264\335\032\007\234\167
-\000\077\320\334\325\354\075\324\372\273\077\314\205\326\157\177
-\251\055\337\271\002\367\365\227\232\265\065\332\303\147\260\207
-\112\251\050\236\043\216\377\134\047\153\341\260\117\363\007\356
-\000\056\324\131\207\313\122\101\225\352\364\107\327\356\144\101
-\125\174\215\131\002\225\335\142\235\302\271\356\132\050\164\204
-\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
+\060\202\002\116\060\202\001\323\240\003\002\001\002\002\012\074
+\366\007\251\150\160\016\332\213\204\060\012\006\010\052\206\110
+\316\075\004\003\003\060\153\061\013\060\011\006\003\125\004\006
+\023\002\111\116\061\023\060\021\006\003\125\004\013\023\012\145
+\155\123\151\147\156\040\120\113\111\061\045\060\043\006\003\125
+\004\012\023\034\145\115\165\144\150\162\141\040\124\145\143\150
+\156\157\154\157\147\151\145\163\040\114\151\155\151\164\145\144
+\061\040\060\036\006\003\125\004\003\023\027\145\155\123\151\147
+\156\040\105\103\103\040\122\157\157\164\040\103\101\040\055\040
+\107\063\060\036\027\015\061\070\060\062\061\070\061\070\063\060
+\060\060\132\027\015\064\063\060\062\061\070\061\070\063\060\060
+\060\132\060\153\061\013\060\011\006\003\125\004\006\023\002\111
+\116\061\023\060\021\006\003\125\004\013\023\012\145\155\123\151
+\147\156\040\120\113\111\061\045\060\043\006\003\125\004\012\023
+\034\145\115\165\144\150\162\141\040\124\145\143\150\156\157\154
+\157\147\151\145\163\040\114\151\155\151\164\145\144\061\040\060
+\036\006\003\125\004\003\023\027\145\155\123\151\147\156\040\105
+\103\103\040\122\157\157\164\040\103\101\040\055\040\107\063\060
+\166\060\020\006\007\052\206\110\316\075\002\001\006\005\053\201
+\004\000\042\003\142\000\004\043\245\014\270\055\022\365\050\363
+\261\262\335\342\002\022\200\236\071\137\111\115\237\311\045\064
+\131\164\354\273\006\034\347\300\162\257\350\256\057\341\101\124
+\207\024\250\112\262\350\174\202\346\133\152\265\334\263\165\316
+\213\006\320\206\043\277\106\325\216\017\077\004\364\327\034\222
+\176\366\245\143\302\365\137\216\056\117\241\030\031\002\053\062
+\012\202\144\175\026\223\321\243\102\060\100\060\035\006\003\125
+\035\016\004\026\004\024\174\135\002\204\023\324\314\212\233\201
+\316\027\034\056\051\036\234\110\143\102\060\016\006\003\125\035
+\017\001\001\377\004\004\003\002\001\006\060\017\006\003\125\035
+\023\001\001\377\004\005\060\003\001\001\377\060\012\006\010\052
+\206\110\316\075\004\003\003\003\151\000\060\146\002\061\000\276
+\363\141\317\002\020\035\144\225\007\270\030\156\210\205\005\057
+\203\010\027\220\312\037\212\114\350\015\033\172\261\255\325\201
+\011\107\357\073\254\010\004\174\134\231\261\355\107\007\322\002
+\061\000\235\272\125\374\251\112\350\355\355\346\166\001\102\173
+\310\370\140\331\215\121\213\125\073\373\214\173\353\145\011\303
+\370\226\315\107\250\202\362\026\125\167\044\176\022\020\225\004
+\054\243
 END
 CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
 
-# 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
-# Fingerprint (SHA1): 2B:8F:1B:57:33:0D:BB:A2:D0:7A:6C:51:F7:0E:E9:0D:DA:B9:AD:8E
+# Trust for "emSign ECC Root CA - G3"
+# Issuer: CN=emSign ECC Root CA - G3,O=eMudhra Technologies Limited,OU=emSign PKI,C=IN
+# Serial Number:3c:f6:07:a9:68:70:0e:da:8b:84
+# Subject: CN=emSign ECC Root CA - G3,O=eMudhra Technologies Limited,OU=emSign PKI,C=IN
+# Not Valid Before: Sun Feb 18 18:30:00 2018
+# Not Valid After : Wed Feb 18 18:30:00 2043
+# Fingerprint (SHA-256): 86:A1:EC:BA:08:9C:4A:8D:3B:BE:27:34:C6:12:BA:34:1D:81:3E:04:3C:F9:E8:A8:62:CD:5C:57:A3:6B:BE:6B
+# Fingerprint (SHA1): 30:43:FA:4F:F2:57:DC:A0:C3:80:EE:2E:58:EA:78:B2:3F:E6:BB:C1
 CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "USERTrust RSA Certification Authority"
+CKA_LABEL UTF8 "emSign ECC Root CA - G3"
 CKA_CERT_SHA1_HASH MULTILINE_OCTAL
-\053\217\033\127\063\015\273\242\320\172\154\121\367\016\351\015
-\332\271\255\216
+\060\103\372\117\362\127\334\240\303\200\356\056\130\352\170\262
+\077\346\273\301
 END
 CKA_CERT_MD5_HASH MULTILINE_OCTAL
-\033\376\151\321\221\267\031\063\243\162\250\017\341\125\345\265
+\316\013\162\321\237\210\216\320\120\003\350\343\270\213\147\100
 END
 CKA_ISSUER MULTILINE_OCTAL
-\060\201\210\061\013\060\011\006\003\125\004\006\023\002\125\123
-\061\023\060\021\006\003\125\004\010\023\012\116\145\167\040\112
-\145\162\163\145\171\061\024\060\022\006\003\125\004\007\023\013
-\112\145\162\163\145\171\040\103\151\164\171\061\036\060\034\006
-\003\125\004\012\023\025\124\150\145\040\125\123\105\122\124\122
-\125\123\124\040\116\145\164\167\157\162\153\061\056\060\054\006
-\003\125\004\003\023\045\125\123\105\122\124\162\165\163\164\040
-\122\123\101\040\103\145\162\164\151\146\151\143\141\164\151\157
-\156\040\101\165\164\150\157\162\151\164\171
+\060\153\061\013\060\011\006\003\125\004\006\023\002\111\116\061
+\023\060\021\006\003\125\004\013\023\012\145\155\123\151\147\156
+\040\120\113\111\061\045\060\043\006\003\125\004\012\023\034\145
+\115\165\144\150\162\141\040\124\145\143\150\156\157\154\157\147
+\151\145\163\040\114\151\155\151\164\145\144\061\040\060\036\006
+\003\125\004\003\023\027\145\155\123\151\147\156\040\105\103\103
+\040\122\157\157\164\040\103\101\040\055\040\107\063
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\020\001\375\155\060\374\243\312\121\250\033\274\144\016\065
-\003\055
+\002\012\074\366\007\251\150\160\016\332\213\204
 END
 CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
 CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
@@ -16266,128 +16313,133 @@ CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
 CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
 
 #
-# Certificate "USERTrust ECC Certification Authority"
+# Certificate "emSign Root CA - C1"
 #
-# 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
-# Fingerprint (SHA1): D1:CB:CA:5D:B2:D5:2A:7F:69:3B:67:4D:E5:F0:5A:1D:0C:95:7D:F0
+# Issuer: CN=emSign Root CA - C1,O=eMudhra Inc,OU=emSign PKI,C=US
+# Serial Number:00:ae:cf:00:ba:c4:cf:32:f8:43:b2
+# Subject: CN=emSign Root CA - C1,O=eMudhra Inc,OU=emSign PKI,C=US
+# Not Valid Before: Sun Feb 18 18:30:00 2018
+# Not Valid After : Wed Feb 18 18:30:00 2043
+# Fingerprint (SHA-256): 12:56:09:AA:30:1D:A0:A2:49:B9:7A:82:39:CB:6A:34:21:6F:44:DC:AC:9F:39:54:B1:42:92:F2:E8:C8:60:8F
+# Fingerprint (SHA1): E7:2E:F1:DF:FC:B2:09:28:CF:5D:D4:D5:67:37:B1:51:CB:86:4F:01
 CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "USERTrust ECC Certification Authority"
+CKA_LABEL UTF8 "emSign Root CA - C1"
 CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
 CKA_SUBJECT MULTILINE_OCTAL
-\060\201\210\061\013\060\011\006\003\125\004\006\023\002\125\123
-\061\023\060\021\006\003\125\004\010\023\012\116\145\167\040\112
-\145\162\163\145\171\061\024\060\022\006\003\125\004\007\023\013
-\112\145\162\163\145\171\040\103\151\164\171\061\036\060\034\006
-\003\125\004\012\023\025\124\150\145\040\125\123\105\122\124\122
-\125\123\124\040\116\145\164\167\157\162\153\061\056\060\054\006
-\003\125\004\003\023\045\125\123\105\122\124\162\165\163\164\040
-\105\103\103\040\103\145\162\164\151\146\151\143\141\164\151\157
-\156\040\101\165\164\150\157\162\151\164\171
+\060\126\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\023\060\021\006\003\125\004\013\023\012\145\155\123\151\147\156
+\040\120\113\111\061\024\060\022\006\003\125\004\012\023\013\145
+\115\165\144\150\162\141\040\111\156\143\061\034\060\032\006\003
+\125\004\003\023\023\145\155\123\151\147\156\040\122\157\157\164
+\040\103\101\040\055\040\103\061
 END
 CKA_ID UTF8 "0"
 CKA_ISSUER MULTILINE_OCTAL
-\060\201\210\061\013\060\011\006\003\125\004\006\023\002\125\123
-\061\023\060\021\006\003\125\004\010\023\012\116\145\167\040\112
-\145\162\163\145\171\061\024\060\022\006\003\125\004\007\023\013
-\112\145\162\163\145\171\040\103\151\164\171\061\036\060\034\006
-\003\125\004\012\023\025\124\150\145\040\125\123\105\122\124\122
-\125\123\124\040\116\145\164\167\157\162\153\061\056\060\054\006
-\003\125\004\003\023\045\125\123\105\122\124\162\165\163\164\040
-\105\103\103\040\103\145\162\164\151\146\151\143\141\164\151\157
-\156\040\101\165\164\150\157\162\151\164\171
+\060\126\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\023\060\021\006\003\125\004\013\023\012\145\155\123\151\147\156
+\040\120\113\111\061\024\060\022\006\003\125\004\012\023\013\145
+\115\165\144\150\162\141\040\111\156\143\061\034\060\032\006\003
+\125\004\003\023\023\145\155\123\151\147\156\040\122\157\157\164
+\040\103\101\040\055\040\103\061
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\020\134\213\231\305\132\224\305\322\161\126\336\315\211\200
-\314\046
+\002\013\000\256\317\000\272\304\317\062\370\103\262
 END
 CKA_VALUE MULTILINE_OCTAL
-\060\202\002\217\060\202\002\025\240\003\002\001\002\002\020\134
-\213\231\305\132\224\305\322\161\126\336\315\211\200\314\046\060
-\012\006\010\052\206\110\316\075\004\003\003\060\201\210\061\013
-\060\011\006\003\125\004\006\023\002\125\123\061\023\060\021\006
-\003\125\004\010\023\012\116\145\167\040\112\145\162\163\145\171
-\061\024\060\022\006\003\125\004\007\023\013\112\145\162\163\145
-\171\040\103\151\164\171\061\036\060\034\006\003\125\004\012\023
-\025\124\150\145\040\125\123\105\122\124\122\125\123\124\040\116
-\145\164\167\157\162\153\061\056\060\054\006\003\125\004\003\023
-\045\125\123\105\122\124\162\165\163\164\040\105\103\103\040\103
-\145\162\164\151\146\151\143\141\164\151\157\156\040\101\165\164
-\150\157\162\151\164\171\060\036\027\015\061\060\060\062\060\061
-\060\060\060\060\060\060\132\027\015\063\070\060\061\061\070\062
-\063\065\071\065\071\132\060\201\210\061\013\060\011\006\003\125
-\004\006\023\002\125\123\061\023\060\021\006\003\125\004\010\023
-\012\116\145\167\040\112\145\162\163\145\171\061\024\060\022\006
-\003\125\004\007\023\013\112\145\162\163\145\171\040\103\151\164
-\171\061\036\060\034\006\003\125\004\012\023\025\124\150\145\040
-\125\123\105\122\124\122\125\123\124\040\116\145\164\167\157\162
-\153\061\056\060\054\006\003\125\004\003\023\045\125\123\105\122
-\124\162\165\163\164\040\105\103\103\040\103\145\162\164\151\146
-\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164
-\171\060\166\060\020\006\007\052\206\110\316\075\002\001\006\005
-\053\201\004\000\042\003\142\000\004\032\254\124\132\251\371\150
-\043\347\172\325\044\157\123\306\132\330\113\253\306\325\266\321
-\346\163\161\256\335\234\326\014\141\375\333\240\211\003\270\005
-\024\354\127\316\356\135\077\342\041\263\316\367\324\212\171\340
-\243\203\176\055\227\320\141\304\361\231\334\045\221\143\253\177
-\060\243\264\160\342\307\241\063\234\363\277\056\134\123\261\137
-\263\175\062\177\212\064\343\171\171\243\102\060\100\060\035\006
-\003\125\035\016\004\026\004\024\072\341\011\206\324\317\031\302
-\226\166\164\111\166\334\340\065\306\143\143\232\060\016\006\003
-\125\035\017\001\001\377\004\004\003\002\001\006\060\017\006\003
-\125\035\023\001\001\377\004\005\060\003\001\001\377\060\012\006
-\010\052\206\110\316\075\004\003\003\003\150\000\060\145\002\060
-\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
+\060\202\003\163\060\202\002\133\240\003\002\001\002\002\013\000
+\256\317\000\272\304\317\062\370\103\262\060\015\006\011\052\206
+\110\206\367\015\001\001\013\005\000\060\126\061\013\060\011\006
+\003\125\004\006\023\002\125\123\061\023\060\021\006\003\125\004
+\013\023\012\145\155\123\151\147\156\040\120\113\111\061\024\060
+\022\006\003\125\004\012\023\013\145\115\165\144\150\162\141\040
+\111\156\143\061\034\060\032\006\003\125\004\003\023\023\145\155
+\123\151\147\156\040\122\157\157\164\040\103\101\040\055\040\103
+\061\060\036\027\015\061\070\060\062\061\070\061\070\063\060\060
+\060\132\027\015\064\063\060\062\061\070\061\070\063\060\060\060
+\132\060\126\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\023\060\021\006\003\125\004\013\023\012\145\155\123\151\147
+\156\040\120\113\111\061\024\060\022\006\003\125\004\012\023\013
+\145\115\165\144\150\162\141\040\111\156\143\061\034\060\032\006
+\003\125\004\003\023\023\145\155\123\151\147\156\040\122\157\157
+\164\040\103\101\040\055\040\103\061\060\202\001\042\060\015\006
+\011\052\206\110\206\367\015\001\001\001\005\000\003\202\001\017
+\000\060\202\001\012\002\202\001\001\000\317\353\251\271\361\231
+\005\314\330\050\041\112\363\163\064\121\204\126\020\365\240\117
+\054\022\343\372\023\232\047\320\317\371\171\032\164\137\035\171
+\071\374\133\370\160\216\340\222\122\367\344\045\371\124\203\331
+\035\323\310\132\205\077\136\307\266\007\356\076\300\316\232\257
+\254\126\102\052\071\045\160\326\277\265\173\066\255\254\366\163
+\334\315\327\035\212\203\245\373\053\220\025\067\153\034\046\107
+\334\073\051\126\223\152\263\301\152\072\235\075\365\301\227\070
+\130\005\213\034\021\343\344\264\270\135\205\035\203\376\170\137
+\013\105\150\030\110\245\106\163\064\073\376\017\310\166\273\307
+\030\363\005\321\206\363\205\355\347\271\331\062\255\125\210\316
+\246\266\221\260\117\254\176\025\043\226\366\077\360\040\064\026
+\336\012\306\304\004\105\171\177\247\375\276\322\251\245\257\234
+\305\043\052\367\074\041\154\275\257\217\116\305\072\262\363\064
+\022\374\337\200\032\111\244\324\251\225\367\236\211\136\242\211
+\254\224\313\250\150\233\257\212\145\047\315\211\356\335\214\265
+\153\051\160\103\240\151\013\344\271\017\002\003\001\000\001\243
+\102\060\100\060\035\006\003\125\035\016\004\026\004\024\376\241
+\340\160\036\052\003\071\122\132\102\276\134\221\205\172\030\252
+\115\265\060\016\006\003\125\035\017\001\001\377\004\004\003\002
+\001\006\060\017\006\003\125\035\023\001\001\377\004\005\060\003
+\001\001\377\060\015\006\011\052\206\110\206\367\015\001\001\013
+\005\000\003\202\001\001\000\302\112\126\372\025\041\173\050\242
+\351\345\035\373\370\055\304\071\226\101\114\073\047\054\304\154
+\030\025\200\306\254\257\107\131\057\046\013\343\066\260\357\073
+\376\103\227\111\062\231\022\025\133\337\021\051\377\253\123\370
+\273\301\170\017\254\234\123\257\127\275\150\214\075\151\063\360
+\243\240\043\143\073\144\147\042\104\255\325\161\313\126\052\170
+\222\243\117\022\061\066\066\342\336\376\000\304\243\140\017\047
+\255\240\260\212\265\066\172\122\241\275\047\364\040\047\142\350
+\115\224\044\023\344\012\004\351\074\253\056\310\103\011\112\306
+\141\004\345\111\064\176\323\304\310\365\017\300\252\351\272\124
+\136\363\143\053\117\117\120\324\376\271\173\231\214\075\300\056
+\274\002\053\323\304\100\344\212\007\061\036\233\316\046\231\023
+\373\021\352\232\042\014\021\031\307\136\033\201\120\060\310\226
+\022\156\347\313\101\177\221\073\242\107\267\124\200\033\334\000
+\314\232\220\352\303\303\120\006\142\014\060\300\025\110\247\250
+\131\174\341\256\042\242\342\012\172\017\372\142\253\122\114\341
+\361\337\312\276\203\015\102
 END
 CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
 
-# 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
-# Fingerprint (SHA1): D1:CB:CA:5D:B2:D5:2A:7F:69:3B:67:4D:E5:F0:5A:1D:0C:95:7D:F0
+# Trust for "emSign Root CA - C1"
+# Issuer: CN=emSign Root CA - C1,O=eMudhra Inc,OU=emSign PKI,C=US
+# Serial Number:00:ae:cf:00:ba:c4:cf:32:f8:43:b2
+# Subject: CN=emSign Root CA - C1,O=eMudhra Inc,OU=emSign PKI,C=US
+# Not Valid Before: Sun Feb 18 18:30:00 2018
+# Not Valid After : Wed Feb 18 18:30:00 2043
+# Fingerprint (SHA-256): 12:56:09:AA:30:1D:A0:A2:49:B9:7A:82:39:CB:6A:34:21:6F:44:DC:AC:9F:39:54:B1:42:92:F2:E8:C8:60:8F
+# Fingerprint (SHA1): E7:2E:F1:DF:FC:B2:09:28:CF:5D:D4:D5:67:37:B1:51:CB:86:4F:01
 CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "USERTrust ECC Certification Authority"
+CKA_LABEL UTF8 "emSign Root CA - C1"
 CKA_CERT_SHA1_HASH MULTILINE_OCTAL
-\321\313\312\135\262\325\052\177\151\073\147\115\345\360\132\035
-\014\225\175\360
+\347\056\361\337\374\262\011\050\317\135\324\325\147\067\261\121
+\313\206\117\001
 END
 CKA_CERT_MD5_HASH MULTILINE_OCTAL
-\372\150\274\331\265\177\255\375\311\035\006\203\050\314\044\301
+\330\343\135\001\041\372\170\132\260\337\272\322\356\052\137\150
 END
 CKA_ISSUER MULTILINE_OCTAL
-\060\201\210\061\013\060\011\006\003\125\004\006\023\002\125\123
-\061\023\060\021\006\003\125\004\010\023\012\116\145\167\040\112
-\145\162\163\145\171\061\024\060\022\006\003\125\004\007\023\013
-\112\145\162\163\145\171\040\103\151\164\171\061\036\060\034\006
-\003\125\004\012\023\025\124\150\145\040\125\123\105\122\124\122
-\125\123\124\040\116\145\164\167\157\162\153\061\056\060\054\006
-\003\125\004\003\023\045\125\123\105\122\124\162\165\163\164\040
-\105\103\103\040\103\145\162\164\151\146\151\143\141\164\151\157
-\156\040\101\165\164\150\157\162\151\164\171
+\060\126\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\023\060\021\006\003\125\004\013\023\012\145\155\123\151\147\156
+\040\120\113\111\061\024\060\022\006\003\125\004\012\023\013\145
+\115\165\144\150\162\141\040\111\156\143\061\034\060\032\006\003
+\125\004\003\023\023\145\155\123\151\147\156\040\122\157\157\164
+\040\103\101\040\055\040\103\061
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\020\134\213\231\305\132\224\305\322\161\126\336\315\211\200
-\314\046
+\002\013\000\256\317\000\272\304\317\062\370\103\262
 END
 CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
 CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
@@ -16395,108 +16447,112 @@ CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
 CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
 
 #
-# Certificate "GlobalSign ECC Root CA - R4"
+# Certificate "emSign ECC Root CA - C3"
 #
-# 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
-# Fingerprint (SHA1): 69:69:56:2E:40:80:F4:24:A1:E7:19:9F:14:BA:F3:EE:58:AB:6A:BB
+# Issuer: CN=emSign ECC Root CA - C3,O=eMudhra Inc,OU=emSign PKI,C=US
+# Serial Number:7b:71:b6:82:56:b8:12:7c:9c:a8
+# Subject: CN=emSign ECC Root CA - C3,O=eMudhra Inc,OU=emSign PKI,C=US
+# Not Valid Before: Sun Feb 18 18:30:00 2018
+# Not Valid After : Wed Feb 18 18:30:00 2043
+# Fingerprint (SHA-256): BC:4D:80:9B:15:18:9D:78:DB:3E:1D:8C:F4:F9:72:6A:79:5D:A1:64:3C:A5:F1:35:8E:1D:DB:0E:DC:0D:7E:B3
+# Fingerprint (SHA1): B6:AF:43:C2:9B:81:53:7D:F6:EF:6B:C3:1F:1F:60:15:0C:EE:48:66
 CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "GlobalSign ECC Root CA - R4"
+CKA_LABEL UTF8 "emSign ECC Root CA - C3"
 CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
 CKA_SUBJECT MULTILINE_OCTAL
-\060\120\061\044\060\042\006\003\125\004\013\023\033\107\154\157
-\142\141\154\123\151\147\156\040\105\103\103\040\122\157\157\164
-\040\103\101\040\055\040\122\064\061\023\060\021\006\003\125\004
-\012\023\012\107\154\157\142\141\154\123\151\147\156\061\023\060
-\021\006\003\125\004\003\023\012\107\154\157\142\141\154\123\151
-\147\156
+\060\132\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\023\060\021\006\003\125\004\013\023\012\145\155\123\151\147\156
+\040\120\113\111\061\024\060\022\006\003\125\004\012\023\013\145
+\115\165\144\150\162\141\040\111\156\143\061\040\060\036\006\003
+\125\004\003\023\027\145\155\123\151\147\156\040\105\103\103\040
+\122\157\157\164\040\103\101\040\055\040\103\063
 END
 CKA_ID UTF8 "0"
 CKA_ISSUER MULTILINE_OCTAL
-\060\120\061\044\060\042\006\003\125\004\013\023\033\107\154\157
-\142\141\154\123\151\147\156\040\105\103\103\040\122\157\157\164
-\040\103\101\040\055\040\122\064\061\023\060\021\006\003\125\004
-\012\023\012\107\154\157\142\141\154\123\151\147\156\061\023\060
-\021\006\003\125\004\003\023\012\107\154\157\142\141\154\123\151
-\147\156
+\060\132\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\023\060\021\006\003\125\004\013\023\012\145\155\123\151\147\156
+\040\120\113\111\061\024\060\022\006\003\125\004\012\023\013\145
+\115\165\144\150\162\141\040\111\156\143\061\040\060\036\006\003
+\125\004\003\023\027\145\155\123\151\147\156\040\105\103\103\040
+\122\157\157\164\040\103\101\040\055\040\103\063
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\021\052\070\244\034\226\012\004\336\102\262\050\245\013\350
-\064\230\002
+\002\012\173\161\266\202\126\270\022\174\234\250
 END
 CKA_VALUE MULTILINE_OCTAL
-\060\202\001\341\060\202\001\207\240\003\002\001\002\002\021\052
-\070\244\034\226\012\004\336\102\262\050\245\013\350\064\230\002
-\060\012\006\010\052\206\110\316\075\004\003\002\060\120\061\044
-\060\042\006\003\125\004\013\023\033\107\154\157\142\141\154\123
-\151\147\156\040\105\103\103\040\122\157\157\164\040\103\101\040
-\055\040\122\064\061\023\060\021\006\003\125\004\012\023\012\107
-\154\157\142\141\154\123\151\147\156\061\023\060\021\006\003\125
-\004\003\023\012\107\154\157\142\141\154\123\151\147\156\060\036
-\027\015\061\062\061\061\061\063\060\060\060\060\060\060\132\027
-\015\063\070\060\061\061\071\060\063\061\064\060\067\132\060\120
-\061\044\060\042\006\003\125\004\013\023\033\107\154\157\142\141
-\154\123\151\147\156\040\105\103\103\040\122\157\157\164\040\103
-\101\040\055\040\122\064\061\023\060\021\006\003\125\004\012\023
-\012\107\154\157\142\141\154\123\151\147\156\061\023\060\021\006
-\003\125\004\003\023\012\107\154\157\142\141\154\123\151\147\156
-\060\131\060\023\006\007\052\206\110\316\075\002\001\006\010\052
-\206\110\316\075\003\001\007\003\102\000\004\270\306\171\323\217
-\154\045\016\237\056\071\031\034\003\244\256\232\345\071\007\011
-\026\312\143\261\271\206\370\212\127\301\127\316\102\372\163\241
-\367\145\102\377\036\301\000\262\156\163\016\377\307\041\345\030
-\244\252\331\161\077\250\324\271\316\214\035\243\102\060\100\060
-\016\006\003\125\035\017\001\001\377\004\004\003\002\001\006\060
-\017\006\003\125\035\023\001\001\377\004\005\060\003\001\001\377
-\060\035\006\003\125\035\016\004\026\004\024\124\260\173\255\105
-\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
+\060\202\002\053\060\202\001\261\240\003\002\001\002\002\012\173
+\161\266\202\126\270\022\174\234\250\060\012\006\010\052\206\110
+\316\075\004\003\003\060\132\061\013\060\011\006\003\125\004\006
+\023\002\125\123\061\023\060\021\006\003\125\004\013\023\012\145
+\155\123\151\147\156\040\120\113\111\061\024\060\022\006\003\125
+\004\012\023\013\145\115\165\144\150\162\141\040\111\156\143\061
+\040\060\036\006\003\125\004\003\023\027\145\155\123\151\147\156
+\040\105\103\103\040\122\157\157\164\040\103\101\040\055\040\103
+\063\060\036\027\015\061\070\060\062\061\070\061\070\063\060\060
+\060\132\027\015\064\063\060\062\061\070\061\070\063\060\060\060
+\132\060\132\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\023\060\021\006\003\125\004\013\023\012\145\155\123\151\147
+\156\040\120\113\111\061\024\060\022\006\003\125\004\012\023\013
+\145\115\165\144\150\162\141\040\111\156\143\061\040\060\036\006
+\003\125\004\003\023\027\145\155\123\151\147\156\040\105\103\103
+\040\122\157\157\164\040\103\101\040\055\040\103\063\060\166\060
+\020\006\007\052\206\110\316\075\002\001\006\005\053\201\004\000
+\042\003\142\000\004\375\245\141\256\173\046\020\035\351\267\042
+\060\256\006\364\201\263\261\102\161\225\071\274\323\122\343\257
+\257\371\362\227\065\222\066\106\016\207\225\215\271\071\132\351
+\273\337\320\376\310\007\101\074\273\125\157\203\243\152\373\142
+\260\201\211\002\160\175\110\305\112\343\351\042\124\042\115\223
+\273\102\014\257\167\234\043\246\175\327\141\021\316\145\307\370
+\177\376\365\362\251\243\102\060\100\060\035\006\003\125\035\016
+\004\026\004\024\373\132\110\320\200\040\100\362\250\351\000\007
+\151\031\167\247\346\303\364\317\060\016\006\003\125\035\017\001
+\001\377\004\004\003\002\001\006\060\017\006\003\125\035\023\001
+\001\377\004\005\060\003\001\001\377\060\012\006\010\052\206\110
+\316\075\004\003\003\003\150\000\060\145\002\061\000\264\330\057
+\002\211\375\266\114\142\272\103\116\023\204\162\265\256\335\034
+\336\326\265\334\126\217\130\100\132\055\336\040\114\042\203\312
+\223\250\176\356\022\100\307\326\207\117\370\337\205\002\060\034
+\024\144\344\174\226\203\021\234\260\321\132\141\113\246\017\111
+\323\000\374\241\374\344\245\377\177\255\327\060\320\307\167\177
+\276\201\007\125\060\120\040\024\365\127\070\012\250\061\121
 END
 CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
 
-# 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
-# Fingerprint (SHA1): 69:69:56:2E:40:80:F4:24:A1:E7:19:9F:14:BA:F3:EE:58:AB:6A:BB
+# Trust for "emSign ECC Root CA - C3"
+# Issuer: CN=emSign ECC Root CA - C3,O=eMudhra Inc,OU=emSign PKI,C=US
+# Serial Number:7b:71:b6:82:56:b8:12:7c:9c:a8
+# Subject: CN=emSign ECC Root CA - C3,O=eMudhra Inc,OU=emSign PKI,C=US
+# Not Valid Before: Sun Feb 18 18:30:00 2018
+# Not Valid After : Wed Feb 18 18:30:00 2043
+# Fingerprint (SHA-256): BC:4D:80:9B:15:18:9D:78:DB:3E:1D:8C:F4:F9:72:6A:79:5D:A1:64:3C:A5:F1:35:8E:1D:DB:0E:DC:0D:7E:B3
+# Fingerprint (SHA1): B6:AF:43:C2:9B:81:53:7D:F6:EF:6B:C3:1F:1F:60:15:0C:EE:48:66
 CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "GlobalSign ECC Root CA - R4"
+CKA_LABEL UTF8 "emSign ECC Root CA - C3"
 CKA_CERT_SHA1_HASH MULTILINE_OCTAL
-\151\151\126\056\100\200\364\044\241\347\031\237\024\272\363\356
-\130\253\152\273
+\266\257\103\302\233\201\123\175\366\357\153\303\037\037\140\025
+\014\356\110\146
 END
 CKA_CERT_MD5_HASH MULTILINE_OCTAL
-\040\360\047\150\321\176\240\235\016\346\052\312\337\134\211\216
+\076\123\263\243\201\356\327\020\370\323\260\035\027\222\365\325
 END
 CKA_ISSUER MULTILINE_OCTAL
-\060\120\061\044\060\042\006\003\125\004\013\023\033\107\154\157
-\142\141\154\123\151\147\156\040\105\103\103\040\122\157\157\164
-\040\103\101\040\055\040\122\064\061\023\060\021\006\003\125\004
-\012\023\012\107\154\157\142\141\154\123\151\147\156\061\023\060
-\021\006\003\125\004\003\023\012\107\154\157\142\141\154\123\151
-\147\156
+\060\132\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\023\060\021\006\003\125\004\013\023\012\145\155\123\151\147\156
+\040\120\113\111\061\024\060\022\006\003\125\004\012\023\013\145
+\115\165\144\150\162\141\040\111\156\143\061\040\060\036\006\003
+\125\004\003\023\027\145\155\123\151\147\156\040\105\103\103\040
+\122\157\157\164\040\103\101\040\055\040\103\063
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\021\052\070\244\034\226\012\004\336\102\262\050\245\013\350
-\064\230\002
+\002\012\173\161\266\202\126\270\022\174\234\250
 END
 CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
 CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
@@ -16504,440 +16560,674 @@ CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
 CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
 
 #
-# Certificate "GlobalSign ECC Root CA - R5"
+# Certificate "Hongkong Post Root CA 3"
 #
-# 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
-# Fingerprint (SHA1): 1F:24:C6:30:CD:A4:18:EF:20:69:FF:AD:4F:DD:5F:46:3A:1B:69:AA
+# Issuer: CN=Hongkong Post Root CA 3,O=Hongkong Post,L=Hong Kong,ST=Hong Kong,C=HK
+# Serial Number:08:16:5f:8a:4c:a5:ec:00:c9:93:40:df:c4:c6:ae:23:b8:1c:5a:a4
+# Subject: CN=Hongkong Post Root CA 3,O=Hongkong Post,L=Hong Kong,ST=Hong Kong,C=HK
+# Not Valid Before: Sat Jun 03 02:29:46 2017
+# Not Valid After : Tue Jun 03 02:29:46 2042
+# Fingerprint (SHA-256): 5A:2F:C0:3F:0C:83:B0:90:BB:FA:40:60:4B:09:88:44:6C:76:36:18:3D:F9:84:6E:17:10:1A:44:7F:B8:EF:D6
+# Fingerprint (SHA1): 58:A2:D0:EC:20:52:81:5B:C1:F3:F8:64:02:24:4E:C2:8E:02:4B:02
 CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "GlobalSign ECC Root CA - R5"
+CKA_LABEL UTF8 "Hongkong Post Root CA 3"
 CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
 CKA_SUBJECT MULTILINE_OCTAL
-\060\120\061\044\060\042\006\003\125\004\013\023\033\107\154\157
-\142\141\154\123\151\147\156\040\105\103\103\040\122\157\157\164
-\040\103\101\040\055\040\122\065\061\023\060\021\006\003\125\004
-\012\023\012\107\154\157\142\141\154\123\151\147\156\061\023\060
-\021\006\003\125\004\003\023\012\107\154\157\142\141\154\123\151
-\147\156
+\060\157\061\013\060\011\006\003\125\004\006\023\002\110\113\061
+\022\060\020\006\003\125\004\010\023\011\110\157\156\147\040\113
+\157\156\147\061\022\060\020\006\003\125\004\007\023\011\110\157
+\156\147\040\113\157\156\147\061\026\060\024\006\003\125\004\012
+\023\015\110\157\156\147\153\157\156\147\040\120\157\163\164\061
+\040\060\036\006\003\125\004\003\023\027\110\157\156\147\153\157
+\156\147\040\120\157\163\164\040\122\157\157\164\040\103\101\040
+\063
 END
 CKA_ID UTF8 "0"
 CKA_ISSUER MULTILINE_OCTAL
-\060\120\061\044\060\042\006\003\125\004\013\023\033\107\154\157
-\142\141\154\123\151\147\156\040\105\103\103\040\122\157\157\164
-\040\103\101\040\055\040\122\065\061\023\060\021\006\003\125\004
-\012\023\012\107\154\157\142\141\154\123\151\147\156\061\023\060
-\021\006\003\125\004\003\023\012\107\154\157\142\141\154\123\151
-\147\156
+\060\157\061\013\060\011\006\003\125\004\006\023\002\110\113\061
+\022\060\020\006\003\125\004\010\023\011\110\157\156\147\040\113
+\157\156\147\061\022\060\020\006\003\125\004\007\023\011\110\157
+\156\147\040\113\157\156\147\061\026\060\024\006\003\125\004\012
+\023\015\110\157\156\147\153\157\156\147\040\120\157\163\164\061
+\040\060\036\006\003\125\004\003\023\027\110\157\156\147\153\157
+\156\147\040\120\157\163\164\040\122\157\157\164\040\103\101\040
+\063
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\021\140\131\111\340\046\056\273\125\371\012\167\212\161\371
-\112\330\154
+\002\024\010\026\137\212\114\245\354\000\311\223\100\337\304\306
+\256\043\270\034\132\244
 END
 CKA_VALUE MULTILINE_OCTAL
-\060\202\002\036\060\202\001\244\240\003\002\001\002\002\021\140
-\131\111\340\046\056\273\125\371\012\167\212\161\371\112\330\154
-\060\012\006\010\052\206\110\316\075\004\003\003\060\120\061\044
-\060\042\006\003\125\004\013\023\033\107\154\157\142\141\154\123
-\151\147\156\040\105\103\103\040\122\157\157\164\040\103\101\040
-\055\040\122\065\061\023\060\021\006\003\125\004\012\023\012\107
-\154\157\142\141\154\123\151\147\156\061\023\060\021\006\003\125
-\004\003\023\012\107\154\157\142\141\154\123\151\147\156\060\036
-\027\015\061\062\061\061\061\063\060\060\060\060\060\060\132\027
-\015\063\070\060\061\061\071\060\063\061\064\060\067\132\060\120
-\061\044\060\042\006\003\125\004\013\023\033\107\154\157\142\141
-\154\123\151\147\156\040\105\103\103\040\122\157\157\164\040\103
-\101\040\055\040\122\065\061\023\060\021\006\003\125\004\012\023
-\012\107\154\157\142\141\154\123\151\147\156\061\023\060\021\006
-\003\125\004\003\023\012\107\154\157\142\141\154\123\151\147\156
-\060\166\060\020\006\007\052\206\110\316\075\002\001\006\005\053
-\201\004\000\042\003\142\000\004\107\105\016\226\373\175\135\277
-\351\071\321\041\370\237\013\266\325\173\036\222\072\110\131\034
-\360\142\061\055\300\172\050\376\032\247\134\263\266\314\227\347
-\105\324\130\372\321\167\155\103\242\300\207\145\064\012\037\172
-\335\353\074\063\241\305\235\115\244\157\101\225\070\177\311\036
-\204\353\321\236\111\222\207\224\207\014\072\205\112\146\237\235
-\131\223\115\227\141\006\206\112\243\102\060\100\060\016\006\003
-\125\035\017\001\001\377\004\004\003\002\001\006\060\017\006\003
-\125\035\023\001\001\377\004\005\060\003\001\001\377\060\035\006
-\003\125\035\016\004\026\004\024\075\346\051\110\233\352\007\312
-\041\104\112\046\336\156\336\322\203\320\237\131\060\012\006\010
-\052\206\110\316\075\004\003\003\003\150\000\060\145\002\061\000
-\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
+\060\202\005\317\060\202\003\267\240\003\002\001\002\002\024\010
+\026\137\212\114\245\354\000\311\223\100\337\304\306\256\043\270
+\034\132\244\060\015\006\011\052\206\110\206\367\015\001\001\013
+\005\000\060\157\061\013\060\011\006\003\125\004\006\023\002\110
+\113\061\022\060\020\006\003\125\004\010\023\011\110\157\156\147
+\040\113\157\156\147\061\022\060\020\006\003\125\004\007\023\011
+\110\157\156\147\040\113\157\156\147\061\026\060\024\006\003\125
+\004\012\023\015\110\157\156\147\153\157\156\147\040\120\157\163
+\164\061\040\060\036\006\003\125\004\003\023\027\110\157\156\147
+\153\157\156\147\040\120\157\163\164\040\122\157\157\164\040\103
+\101\040\063\060\036\027\015\061\067\060\066\060\063\060\062\062
+\071\064\066\132\027\015\064\062\060\066\060\063\060\062\062\071
+\064\066\132\060\157\061\013\060\011\006\003\125\004\006\023\002
+\110\113\061\022\060\020\006\003\125\004\010\023\011\110\157\156
+\147\040\113\157\156\147\061\022\060\020\006\003\125\004\007\023
+\011\110\157\156\147\040\113\157\156\147\061\026\060\024\006\003
+\125\004\012\023\015\110\157\156\147\153\157\156\147\040\120\157
+\163\164\061\040\060\036\006\003\125\004\003\023\027\110\157\156
+\147\153\157\156\147\040\120\157\163\164\040\122\157\157\164\040
+\103\101\040\063\060\202\002\042\060\015\006\011\052\206\110\206
+\367\015\001\001\001\005\000\003\202\002\017\000\060\202\002\012
+\002\202\002\001\000\263\210\327\352\316\017\040\116\276\346\326
+\003\155\356\131\374\302\127\337\051\150\241\203\016\076\150\307
+\150\130\234\034\140\113\211\103\014\271\324\025\262\356\301\116
+\165\351\265\247\357\345\351\065\231\344\314\034\347\113\137\215
+\063\060\040\063\123\331\246\273\325\076\023\216\351\037\207\111
+\255\120\055\120\312\030\276\001\130\242\023\160\226\273\211\210
+\126\200\134\370\275\054\074\341\114\127\210\273\323\271\225\357
+\313\307\366\332\061\164\050\246\346\124\211\365\101\061\312\345
+\046\032\315\202\340\160\332\073\051\273\325\003\365\231\272\125
+\365\144\321\140\016\263\211\111\270\212\057\005\322\204\105\050
+\174\217\150\120\022\170\374\013\265\123\313\302\230\034\204\243
+\236\260\276\043\244\332\334\310\053\036\332\156\105\036\211\230
+\332\371\000\056\006\351\014\073\160\325\120\045\210\231\313\315
+\163\140\367\325\377\065\147\305\241\274\136\253\315\112\270\105
+\353\310\150\036\015\015\024\106\022\343\322\144\142\212\102\230
+\274\264\306\010\010\370\375\250\114\144\234\166\001\275\057\251
+\154\063\017\330\077\050\270\074\151\001\102\206\176\151\301\311
+\006\312\345\172\106\145\351\302\326\120\101\056\077\267\344\355
+\154\327\277\046\001\021\242\026\051\112\153\064\006\220\354\023
+\322\266\373\152\166\322\074\355\360\326\055\335\341\025\354\243
+\233\057\054\311\076\053\344\151\073\377\162\045\261\066\206\133
+\307\177\153\213\125\033\112\305\040\141\075\256\313\120\341\010
+\072\276\260\217\143\101\123\060\010\131\074\230\035\167\272\143
+\221\172\312\020\120\140\277\360\327\274\225\207\217\227\305\376
+\227\152\001\224\243\174\133\205\035\052\071\072\320\124\241\321
+\071\161\235\375\041\371\265\173\360\342\340\002\217\156\226\044
+\045\054\240\036\054\250\304\211\247\357\355\231\006\057\266\012
+\114\117\333\242\314\067\032\257\107\205\055\212\137\304\064\064
+\114\000\375\030\223\147\023\321\067\346\110\264\213\006\305\127
+\173\031\206\012\171\313\000\311\122\257\102\377\067\217\341\243
+\036\172\075\120\253\143\006\347\025\265\077\266\105\067\224\067
+\261\176\362\110\303\177\305\165\376\227\215\105\217\032\247\032
+\162\050\032\100\017\002\003\001\000\001\243\143\060\141\060\017
+\006\003\125\035\023\001\001\377\004\005\060\003\001\001\377\060
+\016\006\003\125\035\017\001\001\377\004\004\003\002\001\006\060
+\037\006\003\125\035\043\004\030\060\026\200\024\027\235\315\036
+\213\326\071\053\160\323\134\324\240\270\037\260\000\374\305\141
+\060\035\006\003\125\035\016\004\026\004\024\027\235\315\036\213
+\326\071\053\160\323\134\324\240\270\037\260\000\374\305\141\060
+\015\006\011\052\206\110\206\367\015\001\001\013\005\000\003\202
+\002\001\000\126\325\173\156\346\042\001\322\102\233\030\325\016
+\327\146\043\134\343\376\240\307\222\322\351\224\255\113\242\306
+\354\022\174\164\325\110\322\131\024\231\300\353\271\321\353\364
+\110\060\133\255\247\127\163\231\251\323\345\267\321\056\131\044
+\130\334\150\056\056\142\330\152\344\160\013\055\040\120\040\244
+\062\225\321\000\230\273\323\375\367\062\362\111\256\306\172\340
+\107\276\156\316\313\243\162\072\055\151\135\313\310\350\105\071
+\324\372\102\301\021\114\167\135\222\373\152\377\130\104\345\353
+\201\236\257\240\231\255\276\251\001\146\313\070\035\074\337\103
+\037\364\115\156\264\272\027\106\374\175\375\207\201\171\152\015
+\063\017\372\057\370\024\271\200\263\135\115\252\227\341\371\344
+\030\305\370\325\070\214\046\074\375\362\050\342\356\132\111\210
+\054\337\171\075\216\236\220\074\275\101\112\072\335\133\366\232
+\264\316\077\045\060\177\062\175\242\003\224\320\334\172\241\122
+\336\156\223\215\030\046\375\125\254\275\217\233\322\317\257\347
+\206\054\313\037\011\157\243\157\251\204\324\163\277\115\241\164
+\033\116\043\140\362\314\016\252\177\244\234\114\045\250\262\146
+\073\070\377\331\224\060\366\162\204\276\150\125\020\017\306\163
+\054\026\151\223\007\376\261\105\355\273\242\125\152\260\332\265
+\112\002\045\047\205\327\267\267\206\104\026\211\154\200\053\076
+\227\251\234\325\176\125\114\306\336\105\020\034\352\351\073\237
+\003\123\356\356\172\001\002\026\170\324\350\302\276\106\166\210
+\023\077\042\273\110\022\035\122\000\264\002\176\041\032\036\234
+\045\364\363\075\136\036\322\034\371\263\055\266\367\067\134\306
+\313\041\116\260\367\231\107\030\205\301\053\272\125\256\006\352
+\320\007\262\334\253\320\202\226\165\316\322\120\376\231\347\317
+\057\237\347\166\321\141\052\373\041\273\061\320\252\237\107\244
+\262\042\312\026\072\120\127\304\133\103\147\305\145\142\003\111
+\001\353\103\331\330\370\236\255\317\261\143\016\105\364\240\132
+\054\233\055\305\246\300\255\250\107\364\047\114\070\015\056\033
+\111\073\122\364\350\210\203\053\124\050\324\362\065\122\264\062
+\203\142\151\144\014\221\234\237\227\352\164\026\375\037\021\006
+\232\233\364
 END
 CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
 
-# 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
-# Fingerprint (SHA1): 1F:24:C6:30:CD:A4:18:EF:20:69:FF:AD:4F:DD:5F:46:3A:1B:69:AA
+# Trust for "Hongkong Post Root CA 3"
+# Issuer: CN=Hongkong Post Root CA 3,O=Hongkong Post,L=Hong Kong,ST=Hong Kong,C=HK
+# Serial Number:08:16:5f:8a:4c:a5:ec:00:c9:93:40:df:c4:c6:ae:23:b8:1c:5a:a4
+# Subject: CN=Hongkong Post Root CA 3,O=Hongkong Post,L=Hong Kong,ST=Hong Kong,C=HK
+# Not Valid Before: Sat Jun 03 02:29:46 2017
+# Not Valid After : Tue Jun 03 02:29:46 2042
+# Fingerprint (SHA-256): 5A:2F:C0:3F:0C:83:B0:90:BB:FA:40:60:4B:09:88:44:6C:76:36:18:3D:F9:84:6E:17:10:1A:44:7F:B8:EF:D6
+# Fingerprint (SHA1): 58:A2:D0:EC:20:52:81:5B:C1:F3:F8:64:02:24:4E:C2:8E:02:4B:02
 CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "GlobalSign ECC Root CA - R5"
+CKA_LABEL UTF8 "Hongkong Post Root CA 3"
 CKA_CERT_SHA1_HASH MULTILINE_OCTAL
-\037\044\306\060\315\244\030\357\040\151\377\255\117\335\137\106
-\072\033\151\252
+\130\242\320\354\040\122\201\133\301\363\370\144\002\044\116\302
+\216\002\113\002
 END
 CKA_CERT_MD5_HASH MULTILINE_OCTAL
-\237\255\073\034\002\036\212\272\027\164\070\201\014\242\274\010
+\021\374\237\275\163\060\002\212\375\077\363\130\271\313\040\360
 END
 CKA_ISSUER MULTILINE_OCTAL
-\060\120\061\044\060\042\006\003\125\004\013\023\033\107\154\157
-\142\141\154\123\151\147\156\040\105\103\103\040\122\157\157\164
-\040\103\101\040\055\040\122\065\061\023\060\021\006\003\125\004
-\012\023\012\107\154\157\142\141\154\123\151\147\156\061\023\060
-\021\006\003\125\004\003\023\012\107\154\157\142\141\154\123\151
-\147\156
+\060\157\061\013\060\011\006\003\125\004\006\023\002\110\113\061
+\022\060\020\006\003\125\004\010\023\011\110\157\156\147\040\113
+\157\156\147\061\022\060\020\006\003\125\004\007\023\011\110\157
+\156\147\040\113\157\156\147\061\026\060\024\006\003\125\004\012
+\023\015\110\157\156\147\153\157\156\147\040\120\157\163\164\061
+\040\060\036\006\003\125\004\003\023\027\110\157\156\147\153\157
+\156\147\040\120\157\163\164\040\122\157\157\164\040\103\101\040
+\063
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\021\140\131\111\340\046\056\273\125\371\012\167\212\161\371
-\112\330\154
+\002\024\010\026\137\212\114\245\354\000\311\223\100\337\304\306
+\256\043\270\034\132\244
 END
 CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
-CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
 CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
 CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
 
 #
-# Certificate "Staat der Nederlanden Root CA - G3"
+# Certificate "Entrust Root Certification Authority - G4"
 #
-# 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
-# Fingerprint (SHA1): D8:EB:6B:41:51:92:59:E0:F3:E7:85:00:C0:3D:B6:88:97:C9:EE:FC
+# Issuer: CN=Entrust Root Certification Authority - G4,OU="(c) 2015 Entrust, Inc. - for authorized use only",OU=See www.entrust.net/legal-terms,O="Entrust, Inc.",C=US
+# Serial Number:00:d9:b5:43:7f:af:a9:39:0f:00:00:00:00:55:65:ad:58
+# Subject: CN=Entrust Root Certification Authority - G4,OU="(c) 2015 Entrust, Inc. - for authorized use only",OU=See www.entrust.net/legal-terms,O="Entrust, Inc.",C=US
+# Not Valid Before: Wed May 27 11:11:16 2015
+# Not Valid After : Sun Dec 27 11:41:16 2037
+# Fingerprint (SHA-256): DB:35:17:D1:F6:73:2A:2D:5A:B9:7C:53:3E:C7:07:79:EE:32:70:A6:2F:B4:AC:42:38:37:24:60:E6:F0:1E:88
+# Fingerprint (SHA1): 14:88:4E:86:26:37:B0:26:AF:59:62:5C:40:77:EC:35:29:BA:96:01
 CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "Staat der Nederlanden Root CA - G3"
+CKA_LABEL UTF8 "Entrust Root Certification Authority - G4"
 CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
 CKA_SUBJECT MULTILINE_OCTAL
-\060\132\061\013\060\011\006\003\125\004\006\023\002\116\114\061
-\036\060\034\006\003\125\004\012\014\025\123\164\141\141\164\040
-\144\145\162\040\116\145\144\145\162\154\141\156\144\145\156\061
-\053\060\051\006\003\125\004\003\014\042\123\164\141\141\164\040
-\144\145\162\040\116\145\144\145\162\154\141\156\144\145\156\040
-\122\157\157\164\040\103\101\040\055\040\107\063
+\060\201\276\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\026\060\024\006\003\125\004\012\023\015\105\156\164\162\165
+\163\164\054\040\111\156\143\056\061\050\060\046\006\003\125\004
+\013\023\037\123\145\145\040\167\167\167\056\145\156\164\162\165
+\163\164\056\156\145\164\057\154\145\147\141\154\055\164\145\162
+\155\163\061\071\060\067\006\003\125\004\013\023\060\050\143\051
+\040\062\060\061\065\040\105\156\164\162\165\163\164\054\040\111
+\156\143\056\040\055\040\146\157\162\040\141\165\164\150\157\162
+\151\172\145\144\040\165\163\145\040\157\156\154\171\061\062\060
+\060\006\003\125\004\003\023\051\105\156\164\162\165\163\164\040
+\122\157\157\164\040\103\145\162\164\151\146\151\143\141\164\151
+\157\156\040\101\165\164\150\157\162\151\164\171\040\055\040\107
+\064
 END
 CKA_ID UTF8 "0"
 CKA_ISSUER MULTILINE_OCTAL
-\060\132\061\013\060\011\006\003\125\004\006\023\002\116\114\061
-\036\060\034\006\003\125\004\012\014\025\123\164\141\141\164\040
-\144\145\162\040\116\145\144\145\162\154\141\156\144\145\156\061
-\053\060\051\006\003\125\004\003\014\042\123\164\141\141\164\040
-\144\145\162\040\116\145\144\145\162\154\141\156\144\145\156\040
-\122\157\157\164\040\103\101\040\055\040\107\063
+\060\201\276\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\026\060\024\006\003\125\004\012\023\015\105\156\164\162\165
+\163\164\054\040\111\156\143\056\061\050\060\046\006\003\125\004
+\013\023\037\123\145\145\040\167\167\167\056\145\156\164\162\165
+\163\164\056\156\145\164\057\154\145\147\141\154\055\164\145\162
+\155\163\061\071\060\067\006\003\125\004\013\023\060\050\143\051
+\040\062\060\061\065\040\105\156\164\162\165\163\164\054\040\111
+\156\143\056\040\055\040\146\157\162\040\141\165\164\150\157\162
+\151\172\145\144\040\165\163\145\040\157\156\154\171\061\062\060
+\060\006\003\125\004\003\023\051\105\156\164\162\165\163\164\040
+\122\157\157\164\040\103\145\162\164\151\146\151\143\141\164\151
+\157\156\040\101\165\164\150\157\162\151\164\171\040\055\040\107
+\064
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\004\000\230\242\071
+\002\021\000\331\265\103\177\257\251\071\017\000\000\000\000\125
+\145\255\130
 END
 CKA_VALUE MULTILINE_OCTAL
-\060\202\005\164\060\202\003\134\240\003\002\001\002\002\004\000
-\230\242\071\060\015\006\011\052\206\110\206\367\015\001\001\013
-\005\000\060\132\061\013\060\011\006\003\125\004\006\023\002\116
-\114\061\036\060\034\006\003\125\004\012\014\025\123\164\141\141
-\164\040\144\145\162\040\116\145\144\145\162\154\141\156\144\145
-\156\061\053\060\051\006\003\125\004\003\014\042\123\164\141\141
-\164\040\144\145\162\040\116\145\144\145\162\154\141\156\144\145
-\156\040\122\157\157\164\040\103\101\040\055\040\107\063\060\036
-\027\015\061\063\061\061\061\064\061\061\062\070\064\062\132\027
-\015\062\070\061\061\061\063\062\063\060\060\060\060\132\060\132
-\061\013\060\011\006\003\125\004\006\023\002\116\114\061\036\060
-\034\006\003\125\004\012\014\025\123\164\141\141\164\040\144\145
-\162\040\116\145\144\145\162\154\141\156\144\145\156\061\053\060
-\051\006\003\125\004\003\014\042\123\164\141\141\164\040\144\145
-\162\040\116\145\144\145\162\154\141\156\144\145\156\040\122\157
-\157\164\040\103\101\040\055\040\107\063\060\202\002\042\060\015
-\006\011\052\206\110\206\367\015\001\001\001\005\000\003\202\002
-\017\000\060\202\002\012\002\202\002\001\000\276\062\242\124\017
-\160\373\054\134\131\353\154\304\244\121\350\205\052\263\314\112
-\064\362\260\137\363\016\307\034\075\123\036\210\010\150\330\157
-\075\255\302\236\314\202\147\007\047\207\150\161\072\237\165\226
-\042\106\005\260\355\255\307\133\236\052\336\234\374\072\306\225
-\247\365\027\147\030\347\057\111\010\014\134\317\346\314\064\355
-\170\373\120\261\334\153\062\360\242\376\266\074\344\354\132\227
-\307\077\036\160\010\060\240\334\305\263\155\157\320\202\162\021
-\253\322\201\150\131\202\027\267\170\222\140\372\314\336\077\204
-\353\215\070\063\220\012\162\043\372\065\314\046\161\061\321\162
-\050\222\331\133\043\155\146\265\155\007\102\353\246\063\316\222
-\333\300\366\154\143\170\315\312\116\075\265\345\122\233\361\276
-\073\346\124\140\260\146\036\011\253\007\376\124\211\021\102\321
-\367\044\272\140\170\032\230\367\311\021\375\026\301\065\032\124
-\165\357\103\323\345\256\116\316\347\173\303\306\116\141\121\113
-\253\232\105\113\241\037\101\275\110\123\025\161\144\013\206\263
-\345\056\276\316\244\033\301\051\204\242\265\313\010\043\166\103
-\042\044\037\027\004\324\156\234\306\374\177\053\146\032\354\212
-\345\326\317\115\365\143\011\267\025\071\326\173\254\353\343\174
-\351\116\374\165\102\310\355\130\225\014\006\102\242\234\367\344
-\160\263\337\162\157\132\067\100\211\330\205\244\327\361\013\336
-\103\031\324\112\130\054\214\212\071\236\277\204\207\361\026\073
-\066\014\351\323\264\312\154\031\101\122\011\241\035\260\152\277
-\202\357\160\121\041\062\334\005\166\214\313\367\144\344\003\120
-\257\214\221\147\253\305\362\356\130\330\336\276\367\347\061\317
-\154\311\073\161\301\325\210\265\145\274\300\350\027\027\007\022
-\265\134\322\253\040\223\264\346\202\203\160\066\305\315\243\215
-\255\213\354\243\301\103\207\346\103\342\064\276\225\213\065\355
-\007\071\332\250\035\172\237\066\236\022\260\014\145\022\220\025
-\140\331\046\100\104\343\126\140\245\020\324\152\074\375\101\334
-\016\132\107\266\357\227\141\165\117\331\376\307\262\035\324\355
-\135\111\263\251\152\313\146\204\023\325\134\240\334\337\156\167
-\006\321\161\165\310\127\157\257\017\167\133\002\003\001\000\001
-\243\102\060\100\060\017\006\003\125\035\023\001\001\377\004\005
-\060\003\001\001\377\060\016\006\003\125\035\017\001\001\377\004
-\004\003\002\001\006\060\035\006\003\125\035\016\004\026\004\024
-\124\255\372\307\222\127\256\312\065\234\056\022\373\344\272\135
-\040\334\224\127\060\015\006\011\052\206\110\206\367\015\001\001
-\013\005\000\003\202\002\001\000\060\231\235\005\062\310\136\016
-\073\230\001\072\212\244\347\007\367\172\370\347\232\337\120\103
-\123\227\052\075\312\074\107\230\056\341\025\173\361\222\363\141
-\332\220\045\026\145\300\237\124\135\016\003\073\133\167\002\234
-\204\266\015\230\137\064\335\073\143\302\303\050\201\302\234\051
-\056\051\342\310\303\001\362\063\352\052\252\314\011\010\367\145
-\147\306\315\337\323\266\053\247\275\314\321\016\160\137\270\043
-\321\313\221\116\012\364\310\172\345\331\143\066\301\324\337\374
-\042\227\367\140\135\352\051\057\130\262\275\130\275\215\226\117
-\020\165\277\110\173\075\121\207\241\074\164\042\302\374\007\177
-\200\334\304\254\376\152\301\160\060\260\351\216\151\342\054\151
-\201\224\011\272\335\376\115\300\203\214\224\130\300\106\040\257
-\234\037\002\370\065\125\111\057\106\324\300\360\240\226\002\017
-\063\305\161\363\236\043\175\224\267\375\072\323\011\203\006\041
-\375\140\075\256\062\300\322\356\215\246\360\347\264\202\174\012
-\314\160\311\171\200\370\376\114\367\065\204\031\212\061\373\012
-\331\327\177\233\360\242\232\153\303\005\112\355\101\140\024\060
-\321\252\021\102\156\323\043\002\004\013\306\145\335\335\122\167
-\332\201\153\262\250\372\001\070\271\226\352\052\154\147\227\211
-\224\236\274\341\124\325\344\152\170\357\112\275\053\232\075\100
-\176\306\300\165\322\156\373\150\060\354\354\213\235\371\111\065
-\232\032\054\331\263\225\071\325\036\222\367\246\271\145\057\345
-\075\155\072\110\114\010\334\344\050\022\050\276\175\065\134\352
-\340\026\176\023\033\152\327\076\327\236\374\055\165\262\301\024
-\325\043\003\333\133\157\013\076\170\057\015\336\063\215\026\267
-\110\347\203\232\201\017\173\301\103\115\125\004\027\070\112\121
-\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
+\060\202\006\113\060\202\004\063\240\003\002\001\002\002\021\000
+\331\265\103\177\257\251\071\017\000\000\000\000\125\145\255\130
+\060\015\006\011\052\206\110\206\367\015\001\001\013\005\000\060
+\201\276\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\026\060\024\006\003\125\004\012\023\015\105\156\164\162\165\163
+\164\054\040\111\156\143\056\061\050\060\046\006\003\125\004\013
+\023\037\123\145\145\040\167\167\167\056\145\156\164\162\165\163
+\164\056\156\145\164\057\154\145\147\141\154\055\164\145\162\155
+\163\061\071\060\067\006\003\125\004\013\023\060\050\143\051\040
+\062\060\061\065\040\105\156\164\162\165\163\164\054\040\111\156
+\143\056\040\055\040\146\157\162\040\141\165\164\150\157\162\151
+\172\145\144\040\165\163\145\040\157\156\154\171\061\062\060\060
+\006\003\125\004\003\023\051\105\156\164\162\165\163\164\040\122
+\157\157\164\040\103\145\162\164\151\146\151\143\141\164\151\157
+\156\040\101\165\164\150\157\162\151\164\171\040\055\040\107\064
+\060\036\027\015\061\065\060\065\062\067\061\061\061\061\061\066
+\132\027\015\063\067\061\062\062\067\061\061\064\061\061\066\132
+\060\201\276\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\026\060\024\006\003\125\004\012\023\015\105\156\164\162\165
+\163\164\054\040\111\156\143\056\061\050\060\046\006\003\125\004
+\013\023\037\123\145\145\040\167\167\167\056\145\156\164\162\165
+\163\164\056\156\145\164\057\154\145\147\141\154\055\164\145\162
+\155\163\061\071\060\067\006\003\125\004\013\023\060\050\143\051
+\040\062\060\061\065\040\105\156\164\162\165\163\164\054\040\111
+\156\143\056\040\055\040\146\157\162\040\141\165\164\150\157\162
+\151\172\145\144\040\165\163\145\040\157\156\154\171\061\062\060
+\060\006\003\125\004\003\023\051\105\156\164\162\165\163\164\040
+\122\157\157\164\040\103\145\162\164\151\146\151\143\141\164\151
+\157\156\040\101\165\164\150\157\162\151\164\171\040\055\040\107
+\064\060\202\002\042\060\015\006\011\052\206\110\206\367\015\001
+\001\001\005\000\003\202\002\017\000\060\202\002\012\002\202\002
+\001\000\261\354\054\102\356\342\321\060\377\245\222\107\342\055
+\303\272\144\227\155\312\367\015\265\131\301\263\313\250\150\031
+\330\257\204\155\060\160\135\176\363\056\322\123\231\341\376\037
+\136\331\110\257\135\023\215\333\377\143\063\115\323\000\002\274
+\304\370\321\006\010\224\171\130\212\025\336\051\263\375\375\304
+\117\350\252\342\240\073\171\315\277\153\103\062\335\331\164\020
+\271\367\364\150\324\273\320\207\325\252\113\212\052\157\052\004
+\265\262\246\307\240\172\346\110\253\322\321\131\314\326\176\043
+\346\227\154\360\102\345\334\121\113\025\101\355\111\112\311\336
+\020\227\326\166\301\357\245\265\066\024\227\065\330\170\042\065
+\122\357\103\275\333\047\333\141\126\202\064\334\313\210\140\014
+\013\132\345\054\001\306\124\257\327\252\301\020\173\322\005\132
+\270\100\236\206\247\303\220\206\002\126\122\011\172\234\322\047
+\202\123\112\145\122\152\365\074\347\250\362\234\257\213\275\323
+\016\324\324\136\156\207\236\152\075\105\035\321\135\033\364\351
+\012\254\140\231\373\211\264\377\230\054\317\174\035\351\002\252
+\004\232\036\270\334\210\156\045\263\154\146\367\074\220\363\127
+\301\263\057\365\155\362\373\312\241\370\051\235\106\213\263\152
+\366\346\147\007\276\054\147\012\052\037\132\262\076\127\304\323
+\041\041\143\145\122\221\033\261\231\216\171\176\346\353\215\000
+\331\132\252\352\163\350\244\202\002\107\226\376\133\216\124\141
+\243\353\057\113\060\260\213\043\165\162\174\041\074\310\366\361
+\164\324\034\173\243\005\125\356\273\115\073\062\276\232\167\146
+\236\254\151\220\042\007\037\141\072\226\276\345\232\117\314\005
+\074\050\131\323\301\014\124\250\131\141\275\310\162\114\350\334
+\237\207\177\275\234\110\066\136\225\243\016\271\070\044\125\374
+\165\146\353\002\343\010\064\051\112\306\343\053\057\063\240\332
+\243\206\245\022\227\375\200\053\332\024\102\343\222\275\076\362
+\135\136\147\164\056\034\210\107\051\064\137\342\062\250\234\045
+\067\214\272\230\000\227\213\111\226\036\375\045\212\254\334\332
+\330\135\164\156\146\260\377\104\337\241\030\306\276\110\057\067
+\224\170\370\225\112\077\177\023\136\135\131\375\164\206\103\143
+\163\111\002\003\001\000\001\243\102\060\100\060\017\006\003\125
+\035\023\001\001\377\004\005\060\003\001\001\377\060\016\006\003
+\125\035\017\001\001\377\004\004\003\002\001\006\060\035\006\003
+\125\035\016\004\026\004\024\237\070\304\126\043\303\071\350\240
+\161\154\350\124\114\344\350\072\261\277\147\060\015\006\011\052
+\206\110\206\367\015\001\001\013\005\000\003\202\002\001\000\022
+\345\102\246\173\213\017\014\344\106\245\266\140\100\207\214\045
+\176\255\270\150\056\133\306\100\166\074\003\370\311\131\364\363
+\253\142\316\020\215\264\132\144\214\150\300\260\162\103\064\322
+\033\013\366\054\123\322\312\220\113\206\146\374\252\203\042\364
+\213\032\157\046\110\254\166\167\010\277\305\230\134\364\046\211
+\236\173\303\271\144\062\001\177\323\303\335\130\155\354\261\253
+\204\125\164\167\204\004\047\122\153\206\114\316\335\271\145\377
+\326\306\136\237\232\020\231\113\165\152\376\152\351\227\040\344
+\344\166\172\306\320\044\252\220\315\040\220\272\107\144\373\177
+\007\263\123\170\265\012\142\362\163\103\316\101\053\201\152\056
+\205\026\224\123\324\153\137\162\042\253\121\055\102\325\000\234
+\231\277\336\273\224\073\127\375\232\365\206\313\126\073\133\210
+\001\345\174\050\113\003\371\111\203\174\262\177\174\343\355\216
+\241\177\140\123\216\125\235\120\064\022\017\267\227\173\154\207
+\112\104\347\365\155\354\200\067\360\130\031\156\112\150\166\360
+\037\222\344\352\265\222\323\141\121\020\013\255\247\331\137\307
+\137\334\037\243\134\214\241\176\233\267\236\323\126\157\146\136
+\007\226\040\355\013\164\373\146\116\213\021\025\351\201\111\176
+\157\260\324\120\177\042\327\137\145\002\015\246\364\205\036\330
+\256\006\113\112\247\322\061\146\302\370\316\345\010\246\244\002
+\226\104\150\127\304\325\063\317\031\057\024\304\224\034\173\244
+\331\360\237\016\261\200\342\321\236\021\144\251\210\021\072\166
+\202\345\142\302\200\330\244\203\355\223\357\174\057\220\260\062
+\114\226\025\150\110\122\324\231\010\300\044\350\034\343\263\245
+\041\016\222\300\220\037\317\040\137\312\073\070\307\267\155\072
+\363\346\104\270\016\061\153\210\216\160\353\234\027\122\250\101
+\224\056\207\266\347\246\022\305\165\337\133\300\012\156\173\244
+\344\136\206\371\066\224\337\167\303\351\015\300\071\361\171\273
+\106\216\253\103\131\047\267\040\273\043\351\126\100\041\354\061
+\075\145\252\103\362\075\337\160\104\341\272\115\046\020\073\230
+\237\363\310\216\033\070\126\041\152\121\223\323\221\312\106\332
+\211\267\075\123\203\054\010\037\213\217\123\335\377\254\037
+END
+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
+
+# Trust for "Entrust Root Certification Authority - G4"
+# Issuer: CN=Entrust Root Certification Authority - G4,OU="(c) 2015 Entrust, Inc. - for authorized use only",OU=See www.entrust.net/legal-terms,O="Entrust, Inc.",C=US
+# Serial Number:00:d9:b5:43:7f:af:a9:39:0f:00:00:00:00:55:65:ad:58
+# Subject: CN=Entrust Root Certification Authority - G4,OU="(c) 2015 Entrust, Inc. - for authorized use only",OU=See www.entrust.net/legal-terms,O="Entrust, Inc.",C=US
+# Not Valid Before: Wed May 27 11:11:16 2015
+# Not Valid After : Sun Dec 27 11:41:16 2037
+# Fingerprint (SHA-256): DB:35:17:D1:F6:73:2A:2D:5A:B9:7C:53:3E:C7:07:79:EE:32:70:A6:2F:B4:AC:42:38:37:24:60:E6:F0:1E:88
+# Fingerprint (SHA1): 14:88:4E:86:26:37:B0:26:AF:59:62:5C:40:77:EC:35:29:BA:96:01
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Entrust Root Certification Authority - G4"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\024\210\116\206\046\067\260\046\257\131\142\134\100\167\354\065
+\051\272\226\001
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\211\123\361\203\043\267\174\216\005\361\214\161\070\116\037\210
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\201\276\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\026\060\024\006\003\125\004\012\023\015\105\156\164\162\165
+\163\164\054\040\111\156\143\056\061\050\060\046\006\003\125\004
+\013\023\037\123\145\145\040\167\167\167\056\145\156\164\162\165
+\163\164\056\156\145\164\057\154\145\147\141\154\055\164\145\162
+\155\163\061\071\060\067\006\003\125\004\013\023\060\050\143\051
+\040\062\060\061\065\040\105\156\164\162\165\163\164\054\040\111
+\156\143\056\040\055\040\146\157\162\040\141\165\164\150\157\162
+\151\172\145\144\040\165\163\145\040\157\156\154\171\061\062\060
+\060\006\003\125\004\003\023\051\105\156\164\162\165\163\164\040
+\122\157\157\164\040\103\145\162\164\151\146\151\143\141\164\151
+\157\156\040\101\165\164\150\157\162\151\164\171\040\055\040\107
+\064
 END
-CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\021\000\331\265\103\177\257\251\071\017\000\000\000\000\125
+\145\255\130
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
 
-# 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
-# Fingerprint (SHA1): D8:EB:6B:41:51:92:59:E0:F3:E7:85:00:C0:3D:B6:88:97:C9:EE:FC
+#
+# Certificate "Microsoft ECC Root Certificate Authority 2017"
+#
+# Issuer: CN=Microsoft ECC Root Certificate Authority 2017,O=Microsoft Corporation,C=US
+# Serial Number:66:f2:3d:af:87:de:8b:b1:4a:ea:0c:57:31:01:c2:ec
+# Subject: CN=Microsoft ECC Root Certificate Authority 2017,O=Microsoft Corporation,C=US
+# Not Valid Before: Wed Dec 18 23:06:45 2019
+# Not Valid After : Fri Jul 18 23:16:04 2042
+# Fingerprint (SHA-256): 35:8D:F3:9D:76:4A:F9:E1:B7:66:E9:C9:72:DF:35:2E:E1:5C:FA:C2:27:AF:6A:D1:D7:0E:8E:4A:6E:DC:BA:02
+# Fingerprint (SHA1): 99:9A:64:C3:7F:F4:7D:9F:AB:95:F1:47:69:89:14:60:EE:C4:C3:C5
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Microsoft ECC Root Certificate Authority 2017"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\145\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\036\060\034\006\003\125\004\012\023\025\115\151\143\162\157\163
+\157\146\164\040\103\157\162\160\157\162\141\164\151\157\156\061
+\066\060\064\006\003\125\004\003\023\055\115\151\143\162\157\163
+\157\146\164\040\105\103\103\040\122\157\157\164\040\103\145\162
+\164\151\146\151\143\141\164\145\040\101\165\164\150\157\162\151
+\164\171\040\062\060\061\067
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\145\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\036\060\034\006\003\125\004\012\023\025\115\151\143\162\157\163
+\157\146\164\040\103\157\162\160\157\162\141\164\151\157\156\061
+\066\060\064\006\003\125\004\003\023\055\115\151\143\162\157\163
+\157\146\164\040\105\103\103\040\122\157\157\164\040\103\145\162
+\164\151\146\151\143\141\164\145\040\101\165\164\150\157\162\151
+\164\171\040\062\060\061\067
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\020\146\362\075\257\207\336\213\261\112\352\014\127\061\001
+\302\354
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\002\131\060\202\001\337\240\003\002\001\002\002\020\146
+\362\075\257\207\336\213\261\112\352\014\127\061\001\302\354\060
+\012\006\010\052\206\110\316\075\004\003\003\060\145\061\013\060
+\011\006\003\125\004\006\023\002\125\123\061\036\060\034\006\003
+\125\004\012\023\025\115\151\143\162\157\163\157\146\164\040\103
+\157\162\160\157\162\141\164\151\157\156\061\066\060\064\006\003
+\125\004\003\023\055\115\151\143\162\157\163\157\146\164\040\105
+\103\103\040\122\157\157\164\040\103\145\162\164\151\146\151\143
+\141\164\145\040\101\165\164\150\157\162\151\164\171\040\062\060
+\061\067\060\036\027\015\061\071\061\062\061\070\062\063\060\066
+\064\065\132\027\015\064\062\060\067\061\070\062\063\061\066\060
+\064\132\060\145\061\013\060\011\006\003\125\004\006\023\002\125
+\123\061\036\060\034\006\003\125\004\012\023\025\115\151\143\162
+\157\163\157\146\164\040\103\157\162\160\157\162\141\164\151\157
+\156\061\066\060\064\006\003\125\004\003\023\055\115\151\143\162
+\157\163\157\146\164\040\105\103\103\040\122\157\157\164\040\103
+\145\162\164\151\146\151\143\141\164\145\040\101\165\164\150\157
+\162\151\164\171\040\062\060\061\067\060\166\060\020\006\007\052
+\206\110\316\075\002\001\006\005\053\201\004\000\042\003\142\000
+\004\324\274\075\002\102\165\101\023\043\315\200\004\206\002\121
+\057\152\250\201\142\013\145\314\366\312\235\036\157\112\146\121
+\242\003\331\235\221\372\266\026\261\214\156\336\174\315\333\171
+\246\057\316\273\316\161\057\345\245\253\050\354\143\004\146\231
+\370\372\362\223\020\005\341\201\050\102\343\306\150\364\346\033
+\204\140\112\211\257\355\171\017\073\316\361\366\104\365\001\170
+\300\243\124\060\122\060\016\006\003\125\035\017\001\001\377\004
+\004\003\002\001\206\060\017\006\003\125\035\023\001\001\377\004
+\005\060\003\001\001\377\060\035\006\003\125\035\016\004\026\004
+\024\310\313\231\162\160\122\014\370\346\276\262\004\127\051\052
+\317\102\020\355\065\060\020\006\011\053\006\001\004\001\202\067
+\025\001\004\003\002\001\000\060\012\006\010\052\206\110\316\075
+\004\003\003\003\150\000\060\145\002\060\130\362\115\352\014\371
+\137\136\356\140\051\313\072\362\333\326\062\204\031\077\174\325
+\057\302\261\314\223\256\120\273\011\062\306\306\355\176\311\066
+\224\022\344\150\205\006\242\033\320\057\002\061\000\231\351\026
+\264\016\372\126\110\324\244\060\026\221\170\333\124\214\145\001
+\212\347\120\146\302\061\267\071\272\270\032\042\007\116\374\153
+\124\026\040\377\053\265\347\114\014\115\246\117\163
+END
+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
+
+# Trust for "Microsoft ECC Root Certificate Authority 2017"
+# Issuer: CN=Microsoft ECC Root Certificate Authority 2017,O=Microsoft Corporation,C=US
+# Serial Number:66:f2:3d:af:87:de:8b:b1:4a:ea:0c:57:31:01:c2:ec
+# Subject: CN=Microsoft ECC Root Certificate Authority 2017,O=Microsoft Corporation,C=US
+# Not Valid Before: Wed Dec 18 23:06:45 2019
+# Not Valid After : Fri Jul 18 23:16:04 2042
+# Fingerprint (SHA-256): 35:8D:F3:9D:76:4A:F9:E1:B7:66:E9:C9:72:DF:35:2E:E1:5C:FA:C2:27:AF:6A:D1:D7:0E:8E:4A:6E:DC:BA:02
+# Fingerprint (SHA1): 99:9A:64:C3:7F:F4:7D:9F:AB:95:F1:47:69:89:14:60:EE:C4:C3:C5
 CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "Staat der Nederlanden Root CA - G3"
+CKA_LABEL UTF8 "Microsoft ECC Root Certificate Authority 2017"
 CKA_CERT_SHA1_HASH MULTILINE_OCTAL
-\330\353\153\101\121\222\131\340\363\347\205\000\300\075\266\210
-\227\311\356\374
+\231\232\144\303\177\364\175\237\253\225\361\107\151\211\024\140
+\356\304\303\305
 END
 CKA_CERT_MD5_HASH MULTILINE_OCTAL
-\013\106\147\007\333\020\057\031\214\065\120\140\321\013\364\067
+\335\241\003\346\112\223\020\321\277\360\031\102\313\376\355\147
 END
 CKA_ISSUER MULTILINE_OCTAL
-\060\132\061\013\060\011\006\003\125\004\006\023\002\116\114\061
-\036\060\034\006\003\125\004\012\014\025\123\164\141\141\164\040
-\144\145\162\040\116\145\144\145\162\154\141\156\144\145\156\061
-\053\060\051\006\003\125\004\003\014\042\123\164\141\141\164\040
-\144\145\162\040\116\145\144\145\162\154\141\156\144\145\156\040
-\122\157\157\164\040\103\101\040\055\040\107\063
+\060\145\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\036\060\034\006\003\125\004\012\023\025\115\151\143\162\157\163
+\157\146\164\040\103\157\162\160\157\162\141\164\151\157\156\061
+\066\060\064\006\003\125\004\003\023\055\115\151\143\162\157\163
+\157\146\164\040\105\103\103\040\122\157\157\164\040\103\145\162
+\164\151\146\151\143\141\164\145\040\101\165\164\150\157\162\151
+\164\171\040\062\060\061\067
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\004\000\230\242\071
+\002\020\146\362\075\257\207\336\213\261\112\352\014\127\061\001
+\302\354
 END
 CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
-CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
 CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
 CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
 
 #
-# Certificate "Staat der Nederlanden EV Root CA"
+# Certificate "Microsoft RSA Root Certificate Authority 2017"
 #
-# 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
-# Fingerprint (SHA1): 76:E2:7E:C1:4F:DB:82:C1:C0:A6:75:B5:05:BE:3D:29:B4:ED:DB:BB
+# Issuer: CN=Microsoft RSA Root Certificate Authority 2017,O=Microsoft Corporation,C=US
+# Serial Number:1e:d3:97:09:5f:d8:b4:b3:47:70:1e:aa:be:7f:45:b3
+# Subject: CN=Microsoft RSA Root Certificate Authority 2017,O=Microsoft Corporation,C=US
+# Not Valid Before: Wed Dec 18 22:51:22 2019
+# Not Valid After : Fri Jul 18 23:00:23 2042
+# Fingerprint (SHA-256): C7:41:F7:0F:4B:2A:8D:88:BF:2E:71:C1:41:22:EF:53:EF:10:EB:A0:CF:A5:E6:4C:FA:20:F4:18:85:30:73:E0
+# Fingerprint (SHA1): 73:A5:E6:4A:3B:FF:83:16:FF:0E:DC:CC:61:8A:90:6E:4E:AE:4D:74
 CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "Staat der Nederlanden EV Root CA"
+CKA_LABEL UTF8 "Microsoft RSA Root Certificate Authority 2017"
 CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
 CKA_SUBJECT MULTILINE_OCTAL
-\060\130\061\013\060\011\006\003\125\004\006\023\002\116\114\061
-\036\060\034\006\003\125\004\012\014\025\123\164\141\141\164\040
-\144\145\162\040\116\145\144\145\162\154\141\156\144\145\156\061
-\051\060\047\006\003\125\004\003\014\040\123\164\141\141\164\040
-\144\145\162\040\116\145\144\145\162\154\141\156\144\145\156\040
-\105\126\040\122\157\157\164\040\103\101
+\060\145\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\036\060\034\006\003\125\004\012\023\025\115\151\143\162\157\163
+\157\146\164\040\103\157\162\160\157\162\141\164\151\157\156\061
+\066\060\064\006\003\125\004\003\023\055\115\151\143\162\157\163
+\157\146\164\040\122\123\101\040\122\157\157\164\040\103\145\162
+\164\151\146\151\143\141\164\145\040\101\165\164\150\157\162\151
+\164\171\040\062\060\061\067
 END
 CKA_ID UTF8 "0"
 CKA_ISSUER MULTILINE_OCTAL
-\060\130\061\013\060\011\006\003\125\004\006\023\002\116\114\061
-\036\060\034\006\003\125\004\012\014\025\123\164\141\141\164\040
-\144\145\162\040\116\145\144\145\162\154\141\156\144\145\156\061
-\051\060\047\006\003\125\004\003\014\040\123\164\141\141\164\040
-\144\145\162\040\116\145\144\145\162\154\141\156\144\145\156\040
-\105\126\040\122\157\157\164\040\103\101
+\060\145\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\036\060\034\006\003\125\004\012\023\025\115\151\143\162\157\163
+\157\146\164\040\103\157\162\160\157\162\141\164\151\157\156\061
+\066\060\064\006\003\125\004\003\023\055\115\151\143\162\157\163
+\157\146\164\040\122\123\101\040\122\157\157\164\040\103\145\162
+\164\151\146\151\143\141\164\145\040\101\165\164\150\157\162\151
+\164\171\040\062\060\061\067
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\004\000\230\226\215
+\002\020\036\323\227\011\137\330\264\263\107\160\036\252\276\177
+\105\263
 END
 CKA_VALUE MULTILINE_OCTAL
-\060\202\005\160\060\202\003\130\240\003\002\001\002\002\004\000
-\230\226\215\060\015\006\011\052\206\110\206\367\015\001\001\013
-\005\000\060\130\061\013\060\011\006\003\125\004\006\023\002\116
-\114\061\036\060\034\006\003\125\004\012\014\025\123\164\141\141
-\164\040\144\145\162\040\116\145\144\145\162\154\141\156\144\145
-\156\061\051\060\047\006\003\125\004\003\014\040\123\164\141\141
-\164\040\144\145\162\040\116\145\144\145\162\154\141\156\144\145
-\156\040\105\126\040\122\157\157\164\040\103\101\060\036\027\015
-\061\060\061\062\060\070\061\061\061\071\062\071\132\027\015\062
-\062\061\062\060\070\061\061\061\060\062\070\132\060\130\061\013
-\060\011\006\003\125\004\006\023\002\116\114\061\036\060\034\006
-\003\125\004\012\014\025\123\164\141\141\164\040\144\145\162\040
-\116\145\144\145\162\154\141\156\144\145\156\061\051\060\047\006
-\003\125\004\003\014\040\123\164\141\141\164\040\144\145\162\040
-\116\145\144\145\162\154\141\156\144\145\156\040\105\126\040\122
-\157\157\164\040\103\101\060\202\002\042\060\015\006\011\052\206
-\110\206\367\015\001\001\001\005\000\003\202\002\017\000\060\202
-\002\012\002\202\002\001\000\343\307\176\211\371\044\113\072\322
-\063\203\065\054\151\354\334\011\244\343\121\250\045\053\171\270
-\010\075\340\221\272\204\205\306\205\244\312\346\311\056\123\244
-\311\044\036\375\125\146\161\135\054\305\140\150\004\267\331\302
-\122\046\070\210\244\326\073\100\246\302\315\077\315\230\223\263
-\124\024\130\226\125\325\120\376\206\255\244\143\177\134\207\366
-\216\346\047\222\147\027\222\002\003\054\334\326\146\164\355\335
-\147\377\301\141\215\143\117\017\233\155\027\060\046\357\253\322
-\037\020\240\371\305\177\026\151\201\003\107\355\036\150\215\162
-\241\115\262\046\306\272\154\137\155\326\257\321\261\023\216\251
-\255\363\136\151\165\046\030\076\101\053\041\177\356\213\135\007
-\006\235\103\304\051\012\053\374\052\076\206\313\074\203\072\371
-\311\015\332\305\231\342\274\170\101\063\166\341\277\057\135\345
-\244\230\120\014\025\335\340\372\234\177\070\150\320\262\246\172
-\247\321\061\275\176\212\130\047\103\263\272\063\221\323\247\230
-\025\134\232\346\323\017\165\331\374\101\230\227\076\252\045\333
-\217\222\056\260\173\014\137\361\143\251\067\371\233\165\151\114
-\050\046\045\332\325\362\022\160\105\125\343\337\163\136\067\365
-\041\154\220\216\065\132\311\323\043\353\323\300\276\170\254\102
-\050\130\146\245\106\155\160\002\327\020\371\113\124\374\135\206
-\112\207\317\177\312\105\254\021\132\265\040\121\215\057\210\107
-\227\071\300\317\272\300\102\001\100\231\110\041\013\153\247\322
-\375\226\325\321\276\106\235\111\340\013\246\240\042\116\070\320
-\301\074\060\274\160\217\054\165\314\320\305\214\121\073\075\224
-\010\144\046\141\175\271\303\145\217\024\234\041\320\252\375\027
-\162\003\217\275\233\214\346\136\123\236\271\235\357\202\273\341
-\274\342\162\101\133\041\224\323\105\067\224\321\337\011\071\135
-\347\043\252\232\035\312\155\250\012\206\205\212\202\276\102\007
-\326\362\070\202\163\332\207\133\345\074\323\236\076\247\073\236
-\364\003\263\371\361\175\023\164\002\377\273\241\345\372\000\171
-\034\246\146\101\210\134\140\127\246\056\011\304\272\375\232\317
-\247\037\100\303\273\314\132\012\125\113\073\070\166\121\270\143
-\213\204\224\026\346\126\363\002\003\001\000\001\243\102\060\100
-\060\017\006\003\125\035\023\001\001\377\004\005\060\003\001\001
-\377\060\016\006\003\125\035\017\001\001\377\004\004\003\002\001
-\006\060\035\006\003\125\035\016\004\026\004\024\376\253\000\220
-\230\236\044\374\251\314\032\212\373\047\270\277\060\156\250\073
-\060\015\006\011\052\206\110\206\367\015\001\001\013\005\000\003
-\202\002\001\000\317\167\054\156\126\276\116\263\266\204\000\224
-\253\107\311\015\322\166\307\206\237\035\007\323\266\264\273\010
-\170\257\151\322\013\111\336\063\305\254\255\302\210\002\175\006
-\267\065\002\301\140\311\277\304\350\224\336\324\323\251\023\045
-\132\376\156\242\256\175\005\334\175\363\154\360\176\246\215\356
-\331\327\316\130\027\350\251\051\256\163\110\207\347\233\312\156
-\051\241\144\137\031\023\367\256\006\020\377\121\306\233\115\125
-\045\117\223\231\020\001\123\165\361\023\316\307\246\101\101\322
-\277\210\245\177\105\374\254\270\245\265\063\014\202\304\373\007
-\366\152\345\045\204\137\006\312\301\206\071\021\333\130\315\167
-\073\054\302\114\017\136\232\343\360\253\076\141\033\120\044\302
-\300\364\361\031\360\021\051\266\245\030\002\233\327\143\114\160
-\214\107\243\003\103\134\271\135\106\240\015\157\377\131\216\276
-\335\237\162\303\133\053\337\214\133\316\345\014\106\154\222\262
-\012\243\114\124\102\030\025\022\030\275\332\374\272\164\156\377
-\301\266\240\144\330\251\137\125\256\237\134\152\166\226\330\163
-\147\207\373\115\177\134\356\151\312\163\020\373\212\251\375\236
-\275\066\070\111\111\207\364\016\024\360\351\207\270\077\247\117
-\172\132\216\171\324\223\344\273\150\122\204\254\154\351\363\230
-\160\125\162\062\371\064\253\053\111\265\315\040\142\344\072\172
-\147\143\253\226\334\155\256\227\354\374\237\166\126\210\056\146
-\317\133\266\311\244\260\327\005\272\341\047\057\223\273\046\052
-\242\223\260\033\363\216\276\035\100\243\271\066\217\076\202\032
-\032\136\210\352\120\370\131\342\203\106\051\013\343\104\134\341
-\225\266\151\220\232\024\157\227\256\201\317\150\357\231\232\276
-\265\347\341\177\370\372\023\107\026\114\314\155\010\100\347\213
-\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
+\060\202\005\250\060\202\003\220\240\003\002\001\002\002\020\036
+\323\227\011\137\330\264\263\107\160\036\252\276\177\105\263\060
+\015\006\011\052\206\110\206\367\015\001\001\014\005\000\060\145
+\061\013\060\011\006\003\125\004\006\023\002\125\123\061\036\060
+\034\006\003\125\004\012\023\025\115\151\143\162\157\163\157\146
+\164\040\103\157\162\160\157\162\141\164\151\157\156\061\066\060
+\064\006\003\125\004\003\023\055\115\151\143\162\157\163\157\146
+\164\040\122\123\101\040\122\157\157\164\040\103\145\162\164\151
+\146\151\143\141\164\145\040\101\165\164\150\157\162\151\164\171
+\040\062\060\061\067\060\036\027\015\061\071\061\062\061\070\062
+\062\065\061\062\062\132\027\015\064\062\060\067\061\070\062\063
+\060\060\062\063\132\060\145\061\013\060\011\006\003\125\004\006
+\023\002\125\123\061\036\060\034\006\003\125\004\012\023\025\115
+\151\143\162\157\163\157\146\164\040\103\157\162\160\157\162\141
+\164\151\157\156\061\066\060\064\006\003\125\004\003\023\055\115
+\151\143\162\157\163\157\146\164\040\122\123\101\040\122\157\157
+\164\040\103\145\162\164\151\146\151\143\141\164\145\040\101\165
+\164\150\157\162\151\164\171\040\062\060\061\067\060\202\002\042
+\060\015\006\011\052\206\110\206\367\015\001\001\001\005\000\003
+\202\002\017\000\060\202\002\012\002\202\002\001\000\312\133\276
+\224\063\214\051\225\221\026\012\225\275\107\142\301\211\363\231
+\066\337\106\220\311\245\355\170\152\157\107\221\150\370\047\147
+\120\063\035\241\246\373\340\345\103\243\204\002\127\001\135\234
+\110\100\202\123\020\274\277\307\073\150\220\266\202\055\345\364
+\145\320\314\155\031\314\225\371\173\254\112\224\255\016\336\113
+\103\035\207\007\222\023\220\200\203\144\065\071\004\374\345\351
+\154\263\266\037\120\224\070\145\120\134\027\106\271\266\205\265
+\034\265\027\350\326\105\235\330\262\046\260\312\304\160\112\256
+\140\244\335\263\331\354\374\073\325\127\162\274\077\310\311\262
+\336\113\153\370\043\154\003\300\005\275\225\307\315\163\073\146
+\200\144\343\032\254\056\371\107\005\362\006\266\233\163\365\170
+\063\133\307\241\373\047\052\241\264\232\221\214\221\323\072\202
+\076\166\100\264\315\122\141\121\160\050\077\305\305\132\362\311
+\214\111\273\024\133\115\310\377\147\115\114\022\226\255\365\376
+\170\250\227\207\327\375\136\040\200\334\241\113\042\373\324\211
+\255\272\316\107\227\107\125\173\217\105\310\147\050\204\225\034
+\150\060\357\357\111\340\065\173\144\347\230\260\224\332\115\205
+\073\076\125\304\050\257\127\363\236\023\333\106\047\237\036\242
+\136\104\203\244\245\312\325\023\263\113\077\304\343\302\346\206
+\141\244\122\060\271\172\040\117\157\017\070\123\313\063\014\023
+\053\217\326\232\275\052\310\055\261\034\175\113\121\312\107\321
+\110\047\162\135\207\353\325\105\346\110\145\235\257\122\220\272
+\133\242\030\145\127\022\237\150\271\324\025\153\224\304\151\042
+\230\364\063\340\355\371\121\216\101\120\311\064\117\166\220\254
+\374\070\301\330\341\173\271\343\343\224\341\106\151\313\016\012
+\120\153\023\272\254\017\067\132\267\022\265\220\201\036\126\256
+\127\042\206\331\311\322\321\327\121\343\253\073\306\125\375\036
+\016\323\164\012\321\332\252\352\151\270\227\050\217\110\304\007
+\370\122\103\072\364\312\125\065\054\260\246\152\300\234\371\362
+\201\341\022\152\300\105\331\147\263\316\377\043\242\211\012\124
+\324\024\271\052\250\327\354\371\253\315\045\130\062\171\217\220
+\133\230\071\304\010\006\301\254\177\016\075\000\245\002\003\001
+\000\001\243\124\060\122\060\016\006\003\125\035\017\001\001\377
+\004\004\003\002\001\206\060\017\006\003\125\035\023\001\001\377
+\004\005\060\003\001\001\377\060\035\006\003\125\035\016\004\026
+\004\024\011\313\131\177\206\262\160\217\032\303\071\343\300\331
+\351\277\273\115\262\043\060\020\006\011\053\006\001\004\001\202
+\067\025\001\004\003\002\001\000\060\015\006\011\052\206\110\206
+\367\015\001\001\014\005\000\003\202\002\001\000\254\257\076\135
+\302\021\226\211\216\243\347\222\326\227\025\270\023\242\246\102
+\056\002\315\026\005\131\047\312\040\350\272\270\350\032\354\115
+\250\227\126\256\145\103\261\217\000\233\122\315\125\315\123\071
+\155\142\114\213\015\133\174\056\104\277\203\020\217\363\123\202
+\200\303\117\072\307\156\021\077\346\343\026\221\204\373\155\204
+\177\064\164\255\211\247\316\271\327\327\237\204\144\222\276\225
+\241\255\011\123\063\335\356\012\352\112\121\216\157\125\253\272
+\265\224\106\256\214\177\330\242\120\045\145\140\200\106\333\063
+\004\256\154\265\230\164\124\045\334\223\344\370\343\125\025\075
+\270\155\303\012\244\022\301\151\205\156\337\144\361\123\231\341
+\112\165\040\235\225\017\344\326\334\003\361\131\030\350\107\211
+\262\127\132\224\266\251\330\027\053\027\111\345\166\313\301\126
+\231\072\067\261\377\151\054\221\221\223\341\337\114\243\067\166
+\115\241\237\370\155\036\035\323\372\354\373\364\105\035\023\155
+\317\367\131\345\042\047\162\053\206\363\127\273\060\355\044\115
+\334\175\126\273\243\263\370\064\171\211\301\340\362\002\141\367
+\246\374\017\273\034\027\013\256\101\331\174\275\047\243\375\056
+\072\321\223\224\261\163\035\044\213\257\133\040\211\255\267\147
+\146\171\365\072\306\246\226\063\376\123\222\310\106\261\021\221
+\306\231\177\217\311\326\146\061\040\101\020\207\055\014\326\301
+\257\064\230\312\144\203\373\023\127\321\301\360\074\172\214\245
+\301\375\225\041\240\161\301\223\147\161\022\352\217\210\012\151
+\031\144\231\043\126\373\254\052\056\160\276\146\304\014\204\357
+\345\213\363\223\001\370\152\220\223\147\113\262\150\243\265\142
+\217\351\077\214\172\073\136\017\347\214\270\306\174\357\067\375
+\164\342\310\117\063\162\341\224\071\155\275\022\257\276\014\116
+\160\174\033\157\215\263\062\223\163\104\026\155\350\364\367\340
+\225\200\217\226\135\070\244\364\253\336\012\060\207\223\330\115
+\000\161\142\105\047\113\072\102\204\133\177\145\267\147\064\122
+\055\234\026\153\252\250\330\173\243\102\114\161\307\014\312\076
+\203\344\246\357\267\001\060\136\121\243\171\365\160\151\246\101
+\104\017\206\260\054\221\306\075\352\256\017\204
 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
-# Fingerprint (SHA1): 76:E2:7E:C1:4F:DB:82:C1:C0:A6:75:B5:05:BE:3D:29:B4:ED:DB:BB
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
+
+# Trust for "Microsoft RSA Root Certificate Authority 2017"
+# Issuer: CN=Microsoft RSA Root Certificate Authority 2017,O=Microsoft Corporation,C=US
+# Serial Number:1e:d3:97:09:5f:d8:b4:b3:47:70:1e:aa:be:7f:45:b3
+# Subject: CN=Microsoft RSA Root Certificate Authority 2017,O=Microsoft Corporation,C=US
+# Not Valid Before: Wed Dec 18 22:51:22 2019
+# Not Valid After : Fri Jul 18 23:00:23 2042
+# Fingerprint (SHA-256): C7:41:F7:0F:4B:2A:8D:88:BF:2E:71:C1:41:22:EF:53:EF:10:EB:A0:CF:A5:E6:4C:FA:20:F4:18:85:30:73:E0
+# Fingerprint (SHA1): 73:A5:E6:4A:3B:FF:83:16:FF:0E:DC:CC:61:8A:90:6E:4E:AE:4D:74
 CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "Staat der Nederlanden EV Root CA"
+CKA_LABEL UTF8 "Microsoft RSA Root Certificate Authority 2017"
 CKA_CERT_SHA1_HASH MULTILINE_OCTAL
-\166\342\176\301\117\333\202\301\300\246\165\265\005\276\075\051
-\264\355\333\273
+\163\245\346\112\073\377\203\026\377\016\334\314\141\212\220\156
+\116\256\115\164
 END
 CKA_CERT_MD5_HASH MULTILINE_OCTAL
-\374\006\257\173\350\032\361\232\264\350\322\160\037\300\365\272
+\020\377\000\377\317\311\370\307\172\300\356\065\216\311\017\107
 END
 CKA_ISSUER MULTILINE_OCTAL
-\060\130\061\013\060\011\006\003\125\004\006\023\002\116\114\061
-\036\060\034\006\003\125\004\012\014\025\123\164\141\141\164\040
-\144\145\162\040\116\145\144\145\162\154\141\156\144\145\156\061
-\051\060\047\006\003\125\004\003\014\040\123\164\141\141\164\040
-\144\145\162\040\116\145\144\145\162\154\141\156\144\145\156\040
-\105\126\040\122\157\157\164\040\103\101
+\060\145\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\036\060\034\006\003\125\004\012\023\025\115\151\143\162\157\163
+\157\146\164\040\103\157\162\160\157\162\141\164\151\157\156\061
+\066\060\064\006\003\125\004\003\023\055\115\151\143\162\157\163
+\157\146\164\040\122\123\101\040\122\157\157\164\040\103\145\162
+\164\151\146\151\143\141\164\145\040\101\165\164\150\157\162\151
+\164\171\040\062\060\061\067
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\004\000\230\226\215
+\002\020\036\323\227\011\137\330\264\263\107\160\036\252\276\177
+\105\263
 END
 CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
 CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
@@ -16945,161 +17235,590 @@ CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
 CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
 
 #
-# Certificate "IdenTrust Commercial Root CA 1"
+# Certificate "e-Szigno Root CA 2017"
 #
-# 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
-# Fingerprint (SHA1): DF:71:7E:AA:4A:D9:4E:C9:55:84:99:60:2D:48:DE:5F:BC:F0:3A:25
+# Issuer: CN=e-Szigno Root CA 2017,OID.2.5.4.97=VATHU-23584497,O=Microsec Ltd.,L=Budapest,C=HU
+# Serial Number:01:54:48:ef:21:fd:97:59:0d:f5:04:0a
+# Subject: CN=e-Szigno Root CA 2017,OID.2.5.4.97=VATHU-23584497,O=Microsec Ltd.,L=Budapest,C=HU
+# Not Valid Before: Tue Aug 22 12:07:06 2017
+# Not Valid After : Fri Aug 22 12:07:06 2042
+# Fingerprint (SHA-256): BE:B0:0B:30:83:9B:9B:C3:2C:32:E4:44:79:05:95:06:41:F2:64:21:B1:5E:D0:89:19:8B:51:8A:E2:EA:1B:99
+# Fingerprint (SHA1): 89:D4:83:03:4F:9E:9A:48:80:5F:72:37:D4:A9:A6:EF:CB:7C:1F:D1
 CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "IdenTrust Commercial Root CA 1"
+CKA_LABEL UTF8 "e-Szigno Root CA 2017"
 CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
 CKA_SUBJECT MULTILINE_OCTAL
-\060\112\061\013\060\011\006\003\125\004\006\023\002\125\123\061
-\022\060\020\006\003\125\004\012\023\011\111\144\145\156\124\162
-\165\163\164\061\047\060\045\006\003\125\004\003\023\036\111\144
-\145\156\124\162\165\163\164\040\103\157\155\155\145\162\143\151
-\141\154\040\122\157\157\164\040\103\101\040\061
+\060\161\061\013\060\011\006\003\125\004\006\023\002\110\125\061
+\021\060\017\006\003\125\004\007\014\010\102\165\144\141\160\145
+\163\164\061\026\060\024\006\003\125\004\012\014\015\115\151\143
+\162\157\163\145\143\040\114\164\144\056\061\027\060\025\006\003
+\125\004\141\014\016\126\101\124\110\125\055\062\063\065\070\064
+\064\071\067\061\036\060\034\006\003\125\004\003\014\025\145\055
+\123\172\151\147\156\157\040\122\157\157\164\040\103\101\040\062
+\060\061\067
 END
 CKA_ID UTF8 "0"
 CKA_ISSUER MULTILINE_OCTAL
-\060\112\061\013\060\011\006\003\125\004\006\023\002\125\123\061
-\022\060\020\006\003\125\004\012\023\011\111\144\145\156\124\162
-\165\163\164\061\047\060\045\006\003\125\004\003\023\036\111\144
-\145\156\124\162\165\163\164\040\103\157\155\155\145\162\143\151
-\141\154\040\122\157\157\164\040\103\101\040\061
+\060\161\061\013\060\011\006\003\125\004\006\023\002\110\125\061
+\021\060\017\006\003\125\004\007\014\010\102\165\144\141\160\145
+\163\164\061\026\060\024\006\003\125\004\012\014\015\115\151\143
+\162\157\163\145\143\040\114\164\144\056\061\027\060\025\006\003
+\125\004\141\014\016\126\101\124\110\125\055\062\063\065\070\064
+\064\071\067\061\036\060\034\006\003\125\004\003\014\025\145\055
+\123\172\151\147\156\157\040\122\157\157\164\040\103\101\040\062
+\060\061\067
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\020\012\001\102\200\000\000\001\105\043\310\104\265\000\000
-\000\002
+\002\014\001\124\110\357\041\375\227\131\015\365\004\012
 END
 CKA_VALUE MULTILINE_OCTAL
-\060\202\005\140\060\202\003\110\240\003\002\001\002\002\020\012
-\001\102\200\000\000\001\105\043\310\104\265\000\000\000\002\060
-\015\006\011\052\206\110\206\367\015\001\001\013\005\000\060\112
-\061\013\060\011\006\003\125\004\006\023\002\125\123\061\022\060
-\020\006\003\125\004\012\023\011\111\144\145\156\124\162\165\163
-\164\061\047\060\045\006\003\125\004\003\023\036\111\144\145\156
-\124\162\165\163\164\040\103\157\155\155\145\162\143\151\141\154
-\040\122\157\157\164\040\103\101\040\061\060\036\027\015\061\064
-\060\061\061\066\061\070\061\062\062\063\132\027\015\063\064\060
-\061\061\066\061\070\061\062\062\063\132\060\112\061\013\060\011
-\006\003\125\004\006\023\002\125\123\061\022\060\020\006\003\125
-\004\012\023\011\111\144\145\156\124\162\165\163\164\061\047\060
-\045\006\003\125\004\003\023\036\111\144\145\156\124\162\165\163
-\164\040\103\157\155\155\145\162\143\151\141\154\040\122\157\157
-\164\040\103\101\040\061\060\202\002\042\060\015\006\011\052\206
-\110\206\367\015\001\001\001\005\000\003\202\002\017\000\060\202
-\002\012\002\202\002\001\000\247\120\031\336\077\231\075\324\063
-\106\361\157\121\141\202\262\251\117\217\147\211\135\204\331\123
-\335\014\050\331\327\360\377\256\225\103\162\231\371\265\135\174
-\212\301\102\341\061\120\164\321\201\015\174\315\233\041\253\103
-\342\254\255\136\206\156\363\011\212\037\132\062\275\242\353\224
-\371\350\134\012\354\377\230\322\257\161\263\264\123\237\116\207
-\357\222\274\275\354\117\062\060\210\113\027\136\127\304\123\302
-\366\002\227\215\331\142\053\277\044\037\142\215\337\303\270\051
-\113\111\170\074\223\140\210\042\374\231\332\066\310\302\242\324
-\054\124\000\147\065\156\163\277\002\130\360\244\335\345\260\242
-\046\172\312\340\066\245\031\026\365\375\267\357\256\077\100\365
-\155\132\004\375\316\064\312\044\334\164\043\033\135\063\023\022
-\135\304\001\045\366\060\335\002\135\237\340\325\107\275\264\353
-\033\241\273\111\111\330\237\133\002\363\212\344\044\220\344\142
-\117\117\301\257\213\016\164\027\250\321\162\210\152\172\001\111
-\314\264\106\171\306\027\261\332\230\036\007\131\372\165\041\205
-\145\335\220\126\316\373\253\245\140\235\304\235\371\122\260\213
-\275\207\371\217\053\043\012\043\166\073\367\063\341\311\000\363
-\151\371\113\242\340\116\274\176\223\071\204\007\367\104\160\176
-\376\007\132\345\261\254\321\030\314\362\065\345\111\111\010\312
-\126\311\075\373\017\030\175\213\073\301\023\302\115\217\311\117
-\016\067\351\037\241\016\152\337\142\056\313\065\006\121\171\054
-\310\045\070\364\372\113\247\211\134\234\322\343\015\071\206\112
-\164\174\325\131\207\302\077\116\014\134\122\364\075\367\122\202
-\361\352\243\254\375\111\064\032\050\363\101\210\072\023\356\350
-\336\377\231\035\137\272\313\350\036\362\271\120\140\300\061\323
-\163\345\357\276\240\355\063\013\164\276\040\040\304\147\154\360
-\010\003\172\125\200\177\106\116\226\247\364\036\076\341\366\330
-\011\341\063\144\053\143\327\062\136\237\371\300\173\017\170\157
-\227\274\223\232\371\234\022\220\170\172\200\207\025\327\162\164
-\234\125\164\170\261\272\341\156\160\004\272\117\240\272\150\303
-\173\377\061\360\163\075\075\224\052\261\013\101\016\240\376\115
-\210\145\153\171\063\264\327\002\003\001\000\001\243\102\060\100
-\060\016\006\003\125\035\017\001\001\377\004\004\003\002\001\006
-\060\017\006\003\125\035\023\001\001\377\004\005\060\003\001\001
-\377\060\035\006\003\125\035\016\004\026\004\024\355\104\031\300
-\323\360\006\213\356\244\173\276\102\347\046\124\310\216\066\166
-\060\015\006\011\052\206\110\206\367\015\001\001\013\005\000\003
-\202\002\001\000\015\256\220\062\366\246\113\174\104\166\031\141
-\036\047\050\315\136\124\357\045\274\343\010\220\371\051\327\256
-\150\010\341\224\000\130\357\056\056\176\123\122\214\266\134\007
-\352\210\272\231\213\120\224\327\202\200\337\141\011\000\223\255
-\015\024\346\316\301\362\067\224\170\260\137\234\263\242\163\270
-\217\005\223\070\315\215\076\260\270\373\300\317\261\362\354\055
-\055\033\314\354\252\232\263\252\140\202\033\055\073\303\204\075
-\127\212\226\036\234\165\270\323\060\315\140\010\203\220\323\216
-\124\361\115\146\300\135\164\003\100\243\356\205\176\302\037\167
-\234\006\350\301\247\030\135\122\225\355\311\335\045\236\155\372
-\251\355\243\072\064\320\131\173\332\355\120\363\065\277\355\353
-\024\115\061\307\140\364\332\361\207\234\342\110\342\306\305\067
-\373\006\020\372\165\131\146\061\107\051\332\166\232\034\351\202
-\256\357\232\271\121\367\210\043\232\151\225\142\074\345\125\200
-\066\327\124\002\377\361\271\135\316\324\043\157\330\105\204\112
-\133\145\357\211\014\335\024\247\040\313\030\245\045\264\015\371
-\001\360\242\322\364\000\310\164\216\241\052\110\216\145\333\023
-\304\342\045\027\175\353\276\207\133\027\040\124\121\223\112\123
-\003\013\354\135\312\063\355\142\375\105\307\057\133\334\130\240
-\200\071\346\372\327\376\023\024\246\355\075\224\112\102\164\324
-\303\167\131\163\315\217\106\276\125\070\357\372\350\221\062\352
-\227\130\004\042\336\070\303\314\274\155\311\063\072\152\012\151
-\077\240\310\352\162\217\214\143\206\043\275\155\074\226\236\225
-\340\111\114\252\242\271\052\033\234\066\201\170\355\303\350\106
-\342\046\131\104\165\036\331\165\211\121\315\020\204\235\141\140
-\313\135\371\227\042\115\216\230\346\343\177\366\133\273\256\315
-\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
+\060\202\002\100\060\202\001\345\240\003\002\001\002\002\014\001
+\124\110\357\041\375\227\131\015\365\004\012\060\012\006\010\052
+\206\110\316\075\004\003\002\060\161\061\013\060\011\006\003\125
+\004\006\023\002\110\125\061\021\060\017\006\003\125\004\007\014
+\010\102\165\144\141\160\145\163\164\061\026\060\024\006\003\125
+\004\012\014\015\115\151\143\162\157\163\145\143\040\114\164\144
+\056\061\027\060\025\006\003\125\004\141\014\016\126\101\124\110
+\125\055\062\063\065\070\064\064\071\067\061\036\060\034\006\003
+\125\004\003\014\025\145\055\123\172\151\147\156\157\040\122\157
+\157\164\040\103\101\040\062\060\061\067\060\036\027\015\061\067
+\060\070\062\062\061\062\060\067\060\066\132\027\015\064\062\060
+\070\062\062\061\062\060\067\060\066\132\060\161\061\013\060\011
+\006\003\125\004\006\023\002\110\125\061\021\060\017\006\003\125
+\004\007\014\010\102\165\144\141\160\145\163\164\061\026\060\024
+\006\003\125\004\012\014\015\115\151\143\162\157\163\145\143\040
+\114\164\144\056\061\027\060\025\006\003\125\004\141\014\016\126
+\101\124\110\125\055\062\063\065\070\064\064\071\067\061\036\060
+\034\006\003\125\004\003\014\025\145\055\123\172\151\147\156\157
+\040\122\157\157\164\040\103\101\040\062\060\061\067\060\131\060
+\023\006\007\052\206\110\316\075\002\001\006\010\052\206\110\316
+\075\003\001\007\003\102\000\004\226\334\075\212\330\260\173\157
+\306\047\276\104\220\261\263\126\025\173\216\103\044\175\032\204
+\131\356\143\150\262\306\136\207\320\025\110\036\250\220\255\275
+\123\242\332\336\072\220\246\140\137\150\062\265\206\101\337\207
+\133\054\173\305\376\174\172\332\243\143\060\141\060\017\006\003
+\125\035\023\001\001\377\004\005\060\003\001\001\377\060\016\006
+\003\125\035\017\001\001\377\004\004\003\002\001\006\060\035\006
+\003\125\035\016\004\026\004\024\207\021\025\010\321\252\301\170
+\014\261\257\316\306\311\220\357\277\060\004\300\060\037\006\003
+\125\035\043\004\030\060\026\200\024\207\021\025\010\321\252\301
+\170\014\261\257\316\306\311\220\357\277\060\004\300\060\012\006
+\010\052\206\110\316\075\004\003\002\003\111\000\060\106\002\041
+\000\265\127\335\327\212\125\013\066\341\206\104\372\324\331\150
+\215\270\334\043\212\212\015\324\057\175\352\163\354\277\115\154
+\250\002\041\000\313\245\264\022\372\347\265\350\317\176\223\374
+\363\065\217\157\116\132\174\264\274\116\262\374\162\252\133\131
+\371\347\334\061
+END
+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
+
+# Trust for "e-Szigno Root CA 2017"
+# Issuer: CN=e-Szigno Root CA 2017,OID.2.5.4.97=VATHU-23584497,O=Microsec Ltd.,L=Budapest,C=HU
+# Serial Number:01:54:48:ef:21:fd:97:59:0d:f5:04:0a
+# Subject: CN=e-Szigno Root CA 2017,OID.2.5.4.97=VATHU-23584497,O=Microsec Ltd.,L=Budapest,C=HU
+# Not Valid Before: Tue Aug 22 12:07:06 2017
+# Not Valid After : Fri Aug 22 12:07:06 2042
+# Fingerprint (SHA-256): BE:B0:0B:30:83:9B:9B:C3:2C:32:E4:44:79:05:95:06:41:F2:64:21:B1:5E:D0:89:19:8B:51:8A:E2:EA:1B:99
+# Fingerprint (SHA1): 89:D4:83:03:4F:9E:9A:48:80:5F:72:37:D4:A9:A6:EF:CB:7C:1F:D1
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "e-Szigno Root CA 2017"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\211\324\203\003\117\236\232\110\200\137\162\067\324\251\246\357
+\313\174\037\321
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\336\037\366\236\204\256\247\264\041\316\036\130\175\321\204\230
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\161\061\013\060\011\006\003\125\004\006\023\002\110\125\061
+\021\060\017\006\003\125\004\007\014\010\102\165\144\141\160\145
+\163\164\061\026\060\024\006\003\125\004\012\014\015\115\151\143
+\162\157\163\145\143\040\114\164\144\056\061\027\060\025\006\003
+\125\004\141\014\016\126\101\124\110\125\055\062\063\065\070\064
+\064\071\067\061\036\060\034\006\003\125\004\003\014\025\145\055
+\123\172\151\147\156\157\040\122\157\157\164\040\103\101\040\062
+\060\061\067
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\014\001\124\110\357\041\375\227\131\015\365\004\012
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "certSIGN Root CA G2"
+#
+# Issuer: OU=certSIGN ROOT CA G2,O=CERTSIGN SA,C=RO
+# Serial Number:11:00:34:b6:4e:c6:36:2d:36
+# Subject: OU=certSIGN ROOT CA G2,O=CERTSIGN SA,C=RO
+# Not Valid Before: Mon Feb 06 09:27:35 2017
+# Not Valid After : Thu Feb 06 09:27:35 2042
+# Fingerprint (SHA-256): 65:7C:FE:2F:A7:3F:AA:38:46:25:71:F3:32:A2:36:3A:46:FC:E7:02:09:51:71:07:02:CD:FB:B6:EE:DA:33:05
+# Fingerprint (SHA1): 26:F9:93:B4:ED:3D:28:27:B0:B9:4B:A7:E9:15:1D:A3:8D:92:E5:32
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "certSIGN Root CA G2"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\101\061\013\060\011\006\003\125\004\006\023\002\122\117\061
+\024\060\022\006\003\125\004\012\023\013\103\105\122\124\123\111
+\107\116\040\123\101\061\034\060\032\006\003\125\004\013\023\023
+\143\145\162\164\123\111\107\116\040\122\117\117\124\040\103\101
+\040\107\062
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\101\061\013\060\011\006\003\125\004\006\023\002\122\117\061
+\024\060\022\006\003\125\004\012\023\013\103\105\122\124\123\111
+\107\116\040\123\101\061\034\060\032\006\003\125\004\013\023\023
+\143\145\162\164\123\111\107\116\040\122\117\117\124\040\103\101
+\040\107\062
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\011\021\000\064\266\116\306\066\055\066
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\005\107\060\202\003\057\240\003\002\001\002\002\011\021
+\000\064\266\116\306\066\055\066\060\015\006\011\052\206\110\206
+\367\015\001\001\013\005\000\060\101\061\013\060\011\006\003\125
+\004\006\023\002\122\117\061\024\060\022\006\003\125\004\012\023
+\013\103\105\122\124\123\111\107\116\040\123\101\061\034\060\032
+\006\003\125\004\013\023\023\143\145\162\164\123\111\107\116\040
+\122\117\117\124\040\103\101\040\107\062\060\036\027\015\061\067
+\060\062\060\066\060\071\062\067\063\065\132\027\015\064\062\060
+\062\060\066\060\071\062\067\063\065\132\060\101\061\013\060\011
+\006\003\125\004\006\023\002\122\117\061\024\060\022\006\003\125
+\004\012\023\013\103\105\122\124\123\111\107\116\040\123\101\061
+\034\060\032\006\003\125\004\013\023\023\143\145\162\164\123\111
+\107\116\040\122\117\117\124\040\103\101\040\107\062\060\202\002
+\042\060\015\006\011\052\206\110\206\367\015\001\001\001\005\000
+\003\202\002\017\000\060\202\002\012\002\202\002\001\000\300\305
+\165\031\221\175\104\164\164\207\376\016\073\226\334\330\001\026
+\314\356\143\221\347\013\157\316\073\012\151\032\174\302\343\257
+\202\216\206\327\136\217\127\353\323\041\131\375\071\067\102\060
+\276\120\352\266\017\251\210\330\056\055\151\041\347\321\067\030
+\116\175\221\325\026\137\153\133\000\302\071\103\015\066\205\122
+\271\123\145\017\035\102\345\217\317\005\323\356\334\014\032\331
+\270\213\170\042\147\344\151\260\150\305\074\344\154\132\106\347
+\315\307\372\357\304\354\113\275\152\244\254\375\314\050\121\357
+\222\264\051\253\253\065\232\114\344\304\010\306\046\314\370\151
+\237\344\234\360\051\323\134\371\306\026\045\236\043\303\040\301
+\075\017\077\070\100\260\376\202\104\070\252\132\032\212\153\143
+\130\070\264\025\323\266\021\151\173\036\124\356\214\032\042\254
+\162\227\077\043\131\233\311\042\204\301\007\117\314\177\342\127
+\312\022\160\273\246\145\363\151\165\143\275\225\373\033\227\315
+\344\250\257\366\321\116\250\331\212\161\044\315\066\075\274\226
+\304\361\154\251\256\345\317\015\156\050\015\260\016\265\312\121
+\173\170\024\303\040\057\177\373\024\125\341\021\231\375\325\012
+\241\236\002\343\142\137\353\065\113\054\270\162\350\076\075\117
+\254\054\273\056\206\342\243\166\217\345\223\052\317\245\253\310
+\134\215\113\006\377\022\106\254\170\313\024\007\065\340\251\337
+\213\351\257\025\117\026\211\133\275\366\215\306\131\256\210\205
+\016\301\211\353\037\147\305\105\216\377\155\067\066\053\170\146
+\203\221\121\053\075\377\121\167\166\142\241\354\147\076\076\201
+\203\340\126\251\120\037\037\172\231\253\143\277\204\027\167\361
+\015\073\337\367\234\141\263\065\230\212\072\262\354\074\032\067
+\077\176\217\222\317\331\022\024\144\332\020\002\025\101\377\117
+\304\353\034\243\311\372\231\367\106\351\341\030\331\261\270\062
+\055\313\024\014\120\330\203\145\203\356\271\134\317\313\005\132
+\114\372\031\227\153\326\135\023\323\302\134\124\274\062\163\240
+\170\365\361\155\036\313\237\245\246\237\042\334\321\121\236\202
+\171\144\140\051\023\076\243\375\117\162\152\253\342\324\345\270
+\044\125\054\104\113\212\210\104\234\312\204\323\052\073\002\003
+\001\000\001\243\102\060\100\060\017\006\003\125\035\023\001\001
+\377\004\005\060\003\001\001\377\060\016\006\003\125\035\017\001
+\001\377\004\004\003\002\001\006\060\035\006\003\125\035\016\004
+\026\004\024\202\041\055\146\306\327\240\340\025\353\316\114\011
+\167\304\140\236\124\156\003\060\015\006\011\052\206\110\206\367
+\015\001\001\013\005\000\003\202\002\001\000\140\336\032\270\347
+\362\140\202\325\003\063\201\313\006\212\361\042\111\351\350\352
+\221\177\306\063\136\150\031\003\206\073\103\001\317\007\160\344
+\010\036\145\205\221\346\021\042\267\365\002\043\216\256\271\036
+\175\037\176\154\346\275\045\325\225\032\362\005\246\257\205\002
+\157\256\370\326\061\377\045\311\112\310\307\212\251\331\237\113
+\111\233\021\127\231\222\103\021\336\266\063\244\314\327\215\144
+\175\324\315\074\050\054\264\232\226\352\115\365\304\104\304\045
+\252\040\200\330\051\125\367\340\101\374\006\046\377\271\066\365
+\103\024\003\146\170\341\021\261\332\040\137\106\000\170\000\041
+\245\036\000\050\141\170\157\250\001\001\217\235\064\232\377\364
+\070\220\373\270\321\263\162\006\311\161\346\201\305\171\355\013
+\246\171\362\023\013\234\367\135\016\173\044\223\264\110\333\206
+\137\336\120\206\170\347\100\346\061\250\220\166\160\141\257\234
+\067\054\021\265\202\267\252\256\044\064\133\162\014\151\015\315
+\131\237\366\161\257\234\013\321\012\070\371\006\042\203\123\045
+\014\374\121\304\346\276\342\071\225\013\044\255\257\321\225\344
+\226\327\164\144\153\161\116\002\074\252\205\363\040\243\103\071
+\166\133\154\120\376\232\234\024\036\145\024\212\025\275\243\202
+\105\132\111\126\152\322\234\261\143\062\345\141\340\123\042\016
+\247\012\111\352\313\176\037\250\342\142\200\366\020\105\122\230
+\006\030\336\245\315\057\177\252\324\351\076\010\162\354\043\003
+\002\074\246\252\330\274\147\164\075\024\027\373\124\113\027\343
+\323\171\075\155\153\111\311\050\016\056\164\120\277\014\331\106
+\072\020\206\311\247\077\351\240\354\177\353\245\167\130\151\161
+\346\203\012\067\362\206\111\152\276\171\010\220\366\002\026\144
+\076\345\332\114\176\014\064\311\371\137\266\263\050\121\247\247
+\053\252\111\372\215\145\051\116\343\153\023\247\224\243\055\121
+\155\170\014\104\313\337\336\010\157\316\243\144\253\323\225\204
+\324\271\122\124\162\173\226\045\314\274\151\343\110\156\015\320
+\307\235\047\232\252\370\023\222\335\036\337\143\237\065\251\026
+\066\354\214\270\203\364\075\211\217\315\264\027\136\327\263\027
+\101\020\135\047\163\140\205\127\111\042\007
+END
+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
+
+# Trust for "certSIGN Root CA G2"
+# Issuer: OU=certSIGN ROOT CA G2,O=CERTSIGN SA,C=RO
+# Serial Number:11:00:34:b6:4e:c6:36:2d:36
+# Subject: OU=certSIGN ROOT CA G2,O=CERTSIGN SA,C=RO
+# Not Valid Before: Mon Feb 06 09:27:35 2017
+# Not Valid After : Thu Feb 06 09:27:35 2042
+# Fingerprint (SHA-256): 65:7C:FE:2F:A7:3F:AA:38:46:25:71:F3:32:A2:36:3A:46:FC:E7:02:09:51:71:07:02:CD:FB:B6:EE:DA:33:05
+# Fingerprint (SHA1): 26:F9:93:B4:ED:3D:28:27:B0:B9:4B:A7:E9:15:1D:A3:8D:92:E5:32
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "certSIGN Root CA G2"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\046\371\223\264\355\075\050\047\260\271\113\247\351\025\035\243
+\215\222\345\062
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\214\361\165\212\306\031\317\224\267\367\145\040\207\303\227\307
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\101\061\013\060\011\006\003\125\004\006\023\002\122\117\061
+\024\060\022\006\003\125\004\012\023\013\103\105\122\124\123\111
+\107\116\040\123\101\061\034\060\032\006\003\125\004\013\023\023
+\143\145\162\164\123\111\107\116\040\122\117\117\124\040\103\101
+\040\107\062
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\011\021\000\064\266\116\306\066\055\066
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "Trustwave Global Certification Authority"
+#
+# Issuer: CN=Trustwave Global Certification Authority,O="Trustwave Holdings, Inc.",L=Chicago,ST=Illinois,C=US
+# Serial Number:05:f7:0e:86:da:49:f3:46:35:2e:ba:b2
+# Subject: CN=Trustwave Global Certification Authority,O="Trustwave Holdings, Inc.",L=Chicago,ST=Illinois,C=US
+# Not Valid Before: Wed Aug 23 19:34:12 2017
+# Not Valid After : Sat Aug 23 19:34:12 2042
+# Fingerprint (SHA-256): 97:55:20:15:F5:DD:FC:3C:87:88:C0:06:94:45:55:40:88:94:45:00:84:F1:00:86:70:86:BC:1A:2B:B5:8D:C8
+# Fingerprint (SHA1): 2F:8F:36:4F:E1:58:97:44:21:59:87:A5:2A:9A:D0:69:95:26:7F:B5
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Trustwave Global Certification Authority"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\201\210\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\021\060\017\006\003\125\004\010\014\010\111\154\154\151\156
+\157\151\163\061\020\060\016\006\003\125\004\007\014\007\103\150
+\151\143\141\147\157\061\041\060\037\006\003\125\004\012\014\030
+\124\162\165\163\164\167\141\166\145\040\110\157\154\144\151\156
+\147\163\054\040\111\156\143\056\061\061\060\057\006\003\125\004
+\003\014\050\124\162\165\163\164\167\141\166\145\040\107\154\157
+\142\141\154\040\103\145\162\164\151\146\151\143\141\164\151\157
+\156\040\101\165\164\150\157\162\151\164\171
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\201\210\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\021\060\017\006\003\125\004\010\014\010\111\154\154\151\156
+\157\151\163\061\020\060\016\006\003\125\004\007\014\007\103\150
+\151\143\141\147\157\061\041\060\037\006\003\125\004\012\014\030
+\124\162\165\163\164\167\141\166\145\040\110\157\154\144\151\156
+\147\163\054\040\111\156\143\056\061\061\060\057\006\003\125\004
+\003\014\050\124\162\165\163\164\167\141\166\145\040\107\154\157
+\142\141\154\040\103\145\162\164\151\146\151\143\141\164\151\157
+\156\040\101\165\164\150\157\162\151\164\171
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\014\005\367\016\206\332\111\363\106\065\056\272\262
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\005\332\060\202\003\302\240\003\002\001\002\002\014\005
+\367\016\206\332\111\363\106\065\056\272\262\060\015\006\011\052
+\206\110\206\367\015\001\001\013\005\000\060\201\210\061\013\060
+\011\006\003\125\004\006\023\002\125\123\061\021\060\017\006\003
+\125\004\010\014\010\111\154\154\151\156\157\151\163\061\020\060
+\016\006\003\125\004\007\014\007\103\150\151\143\141\147\157\061
+\041\060\037\006\003\125\004\012\014\030\124\162\165\163\164\167
+\141\166\145\040\110\157\154\144\151\156\147\163\054\040\111\156
+\143\056\061\061\060\057\006\003\125\004\003\014\050\124\162\165
+\163\164\167\141\166\145\040\107\154\157\142\141\154\040\103\145
+\162\164\151\146\151\143\141\164\151\157\156\040\101\165\164\150
+\157\162\151\164\171\060\036\027\015\061\067\060\070\062\063\061
+\071\063\064\061\062\132\027\015\064\062\060\070\062\063\061\071
+\063\064\061\062\132\060\201\210\061\013\060\011\006\003\125\004
+\006\023\002\125\123\061\021\060\017\006\003\125\004\010\014\010
+\111\154\154\151\156\157\151\163\061\020\060\016\006\003\125\004
+\007\014\007\103\150\151\143\141\147\157\061\041\060\037\006\003
+\125\004\012\014\030\124\162\165\163\164\167\141\166\145\040\110
+\157\154\144\151\156\147\163\054\040\111\156\143\056\061\061\060
+\057\006\003\125\004\003\014\050\124\162\165\163\164\167\141\166
+\145\040\107\154\157\142\141\154\040\103\145\162\164\151\146\151
+\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164\171
+\060\202\002\042\060\015\006\011\052\206\110\206\367\015\001\001
+\001\005\000\003\202\002\017\000\060\202\002\012\002\202\002\001
+\000\271\135\121\050\113\074\067\222\321\202\316\275\035\275\315
+\335\270\253\317\012\076\341\135\345\334\252\011\271\127\002\076
+\346\143\141\337\362\017\202\143\256\243\367\254\163\321\174\347
+\263\013\257\010\000\011\131\177\315\051\052\210\223\207\027\030
+\200\355\210\262\264\266\020\037\055\326\137\125\242\023\135\321
+\306\353\006\126\211\210\376\254\062\235\375\134\303\005\307\156
+\356\206\211\272\210\003\235\162\041\206\220\256\217\003\245\334
+\237\210\050\313\243\222\111\017\354\320\017\342\155\104\117\200
+\152\262\324\347\240\012\123\001\272\216\227\221\166\156\274\374
+\325\153\066\346\100\210\326\173\057\137\005\350\054\155\021\363
+\347\262\276\222\104\114\322\227\244\376\322\162\201\103\007\234
+\351\021\076\365\213\032\131\175\037\150\130\335\004\000\054\226
+\363\103\263\176\230\031\164\331\234\163\331\030\276\101\307\064
+\171\331\364\142\302\103\271\263\047\260\042\313\371\075\122\307
+\060\107\263\311\076\270\152\342\347\350\201\160\136\102\213\117
+\046\245\376\072\302\040\156\273\370\026\216\315\014\251\264\033
+\154\166\020\341\130\171\106\076\124\316\200\250\127\011\067\051
+\033\231\023\217\014\310\326\054\034\373\005\350\010\225\075\145
+\106\334\356\315\151\342\115\217\207\050\116\064\013\076\317\024
+\331\273\335\266\120\232\255\167\324\031\326\332\032\210\310\116
+\033\047\165\330\262\010\361\256\203\060\271\021\016\315\207\360
+\204\215\025\162\174\241\357\314\362\210\141\272\364\151\273\014
+\214\013\165\127\004\270\116\052\024\056\075\017\034\036\062\246
+\142\066\356\146\342\042\270\005\100\143\020\042\363\063\035\164
+\162\212\054\365\071\051\240\323\347\033\200\204\055\305\075\343
+\115\261\375\032\157\272\145\007\073\130\354\102\105\046\373\330
+\332\045\162\304\366\000\261\042\171\275\343\174\131\142\112\234
+\005\157\075\316\346\326\107\143\231\306\044\157\162\022\310\254
+\177\220\264\013\221\160\350\267\346\026\020\161\027\316\336\006
+\117\110\101\175\065\112\243\211\362\311\113\173\101\021\155\147
+\267\010\230\114\345\021\031\256\102\200\334\373\220\005\324\370
+\120\312\276\344\255\307\302\224\327\026\235\346\027\217\257\066
+\373\002\003\001\000\001\243\102\060\100\060\017\006\003\125\035
+\023\001\001\377\004\005\060\003\001\001\377\060\035\006\003\125
+\035\016\004\026\004\024\231\340\031\147\015\142\333\166\263\332
+\075\270\133\350\375\102\322\061\016\207\060\016\006\003\125\035
+\017\001\001\377\004\004\003\002\001\006\060\015\006\011\052\206
+\110\206\367\015\001\001\013\005\000\003\202\002\001\000\230\163
+\160\342\260\323\355\071\354\114\140\331\251\022\206\027\036\226
+\320\350\124\050\073\144\055\041\246\370\235\126\023\152\110\075
+\117\307\076\051\333\155\130\203\124\075\207\175\043\005\324\344
+\034\334\350\070\145\206\305\165\247\132\333\065\005\275\167\336
+\273\051\067\100\005\007\303\224\122\237\312\144\335\361\033\053
+\334\106\012\020\002\061\375\112\150\015\007\144\220\346\036\365
+\052\241\250\273\074\135\371\243\010\013\021\014\361\077\055\020
+\224\157\376\342\064\207\203\326\317\345\033\065\155\322\003\341
+\260\015\250\240\252\106\047\202\066\247\025\266\010\246\102\124
+\127\266\231\132\342\013\171\220\327\127\022\121\065\031\210\101
+\150\045\324\067\027\204\025\373\001\162\334\225\336\122\046\040
+\230\046\342\166\365\047\157\372\000\073\112\141\331\015\313\121
+\223\052\375\026\006\226\247\043\232\043\110\376\121\275\266\304
+\260\261\124\316\336\154\101\255\026\147\176\333\375\070\315\271
+\070\116\262\301\140\313\235\027\337\130\236\172\142\262\046\217
+\164\225\233\344\133\035\322\017\335\230\034\233\131\271\043\323
+\061\240\246\377\070\335\317\040\117\351\130\126\072\147\303\321
+\366\231\231\235\272\066\266\200\057\210\107\117\206\277\104\072
+\200\344\067\034\246\272\352\227\230\021\320\204\142\107\144\036
+\252\356\100\277\064\261\234\217\116\341\362\222\117\037\216\363
+\236\227\336\363\246\171\152\211\161\117\113\047\027\110\376\354
+\364\120\017\117\111\175\314\105\343\275\172\100\305\101\334\141
+\126\047\006\151\345\162\101\201\323\266\001\211\240\057\072\162
+\171\376\072\060\277\101\354\307\142\076\221\113\307\331\061\166
+\102\371\367\074\143\354\046\214\163\014\175\032\035\352\250\174
+\207\250\302\047\174\341\063\101\017\317\317\374\000\240\042\200
+\236\112\247\157\000\260\101\105\267\042\312\150\110\305\102\242
+\256\335\035\362\340\156\116\005\130\261\300\220\026\052\244\075
+\020\100\276\217\142\143\203\251\234\202\175\055\002\351\203\060
+\174\313\047\311\375\036\146\000\260\056\323\041\057\216\063\026
+\154\230\355\020\250\007\326\314\223\317\333\321\151\034\344\312
+\311\340\266\234\351\316\161\161\336\154\077\026\244\171
 END
 CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
+
+# Trust for "Trustwave Global Certification Authority"
+# Issuer: CN=Trustwave Global Certification Authority,O="Trustwave Holdings, Inc.",L=Chicago,ST=Illinois,C=US
+# Serial Number:05:f7:0e:86:da:49:f3:46:35:2e:ba:b2
+# Subject: CN=Trustwave Global Certification Authority,O="Trustwave Holdings, Inc.",L=Chicago,ST=Illinois,C=US
+# Not Valid Before: Wed Aug 23 19:34:12 2017
+# Not Valid After : Sat Aug 23 19:34:12 2042
+# Fingerprint (SHA-256): 97:55:20:15:F5:DD:FC:3C:87:88:C0:06:94:45:55:40:88:94:45:00:84:F1:00:86:70:86:BC:1A:2B:B5:8D:C8
+# Fingerprint (SHA1): 2F:8F:36:4F:E1:58:97:44:21:59:87:A5:2A:9A:D0:69:95:26:7F:B5
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Trustwave Global Certification Authority"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\057\217\066\117\341\130\227\104\041\131\207\245\052\232\320\151
+\225\046\177\265
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\370\034\030\055\057\272\137\155\241\154\274\307\253\221\307\016
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\201\210\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\021\060\017\006\003\125\004\010\014\010\111\154\154\151\156
+\157\151\163\061\020\060\016\006\003\125\004\007\014\007\103\150
+\151\143\141\147\157\061\041\060\037\006\003\125\004\012\014\030
+\124\162\165\163\164\167\141\166\145\040\110\157\154\144\151\156
+\147\163\054\040\111\156\143\056\061\061\060\057\006\003\125\004
+\003\014\050\124\162\165\163\164\167\141\166\145\040\107\154\157
+\142\141\154\040\103\145\162\164\151\146\151\143\141\164\151\157
+\156\040\101\165\164\150\157\162\151\164\171
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\014\005\367\016\206\332\111\363\106\065\056\272\262
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
 
-# 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
-# Fingerprint (SHA1): DF:71:7E:AA:4A:D9:4E:C9:55:84:99:60:2D:48:DE:5F:BC:F0:3A:25
+#
+# Certificate "Trustwave Global ECC P256 Certification Authority"
+#
+# Issuer: CN=Trustwave Global ECC P256 Certification Authority,O="Trustwave Holdings, Inc.",L=Chicago,ST=Illinois,C=US
+# Serial Number:0d:6a:5f:08:3f:28:5c:3e:51:95:df:5d
+# Subject: CN=Trustwave Global ECC P256 Certification Authority,O="Trustwave Holdings, Inc.",L=Chicago,ST=Illinois,C=US
+# Not Valid Before: Wed Aug 23 19:35:10 2017
+# Not Valid After : Sat Aug 23 19:35:10 2042
+# Fingerprint (SHA-256): 94:5B:BC:82:5E:A5:54:F4:89:D1:FD:51:A7:3D:DF:2E:A6:24:AC:70:19:A0:52:05:22:5C:22:A7:8C:CF:A8:B4
+# Fingerprint (SHA1): B4:90:82:DD:45:0C:BE:8B:5B:B1:66:D3:E2:A4:08:26:CD:ED:42:CF
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Trustwave Global ECC P256 Certification Authority"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\201\221\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\021\060\017\006\003\125\004\010\023\010\111\154\154\151\156
+\157\151\163\061\020\060\016\006\003\125\004\007\023\007\103\150
+\151\143\141\147\157\061\041\060\037\006\003\125\004\012\023\030
+\124\162\165\163\164\167\141\166\145\040\110\157\154\144\151\156
+\147\163\054\040\111\156\143\056\061\072\060\070\006\003\125\004
+\003\023\061\124\162\165\163\164\167\141\166\145\040\107\154\157
+\142\141\154\040\105\103\103\040\120\062\065\066\040\103\145\162
+\164\151\146\151\143\141\164\151\157\156\040\101\165\164\150\157
+\162\151\164\171
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\201\221\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\021\060\017\006\003\125\004\010\023\010\111\154\154\151\156
+\157\151\163\061\020\060\016\006\003\125\004\007\023\007\103\150
+\151\143\141\147\157\061\041\060\037\006\003\125\004\012\023\030
+\124\162\165\163\164\167\141\166\145\040\110\157\154\144\151\156
+\147\163\054\040\111\156\143\056\061\072\060\070\006\003\125\004
+\003\023\061\124\162\165\163\164\167\141\166\145\040\107\154\157
+\142\141\154\040\105\103\103\040\120\062\065\066\040\103\145\162
+\164\151\146\151\143\141\164\151\157\156\040\101\165\164\150\157
+\162\151\164\171
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\014\015\152\137\010\077\050\134\076\121\225\337\135
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\002\140\060\202\002\007\240\003\002\001\002\002\014\015
+\152\137\010\077\050\134\076\121\225\337\135\060\012\006\010\052
+\206\110\316\075\004\003\002\060\201\221\061\013\060\011\006\003
+\125\004\006\023\002\125\123\061\021\060\017\006\003\125\004\010
+\023\010\111\154\154\151\156\157\151\163\061\020\060\016\006\003
+\125\004\007\023\007\103\150\151\143\141\147\157\061\041\060\037
+\006\003\125\004\012\023\030\124\162\165\163\164\167\141\166\145
+\040\110\157\154\144\151\156\147\163\054\040\111\156\143\056\061
+\072\060\070\006\003\125\004\003\023\061\124\162\165\163\164\167
+\141\166\145\040\107\154\157\142\141\154\040\105\103\103\040\120
+\062\065\066\040\103\145\162\164\151\146\151\143\141\164\151\157
+\156\040\101\165\164\150\157\162\151\164\171\060\036\027\015\061
+\067\060\070\062\063\061\071\063\065\061\060\132\027\015\064\062
+\060\070\062\063\061\071\063\065\061\060\132\060\201\221\061\013
+\060\011\006\003\125\004\006\023\002\125\123\061\021\060\017\006
+\003\125\004\010\023\010\111\154\154\151\156\157\151\163\061\020
+\060\016\006\003\125\004\007\023\007\103\150\151\143\141\147\157
+\061\041\060\037\006\003\125\004\012\023\030\124\162\165\163\164
+\167\141\166\145\040\110\157\154\144\151\156\147\163\054\040\111
+\156\143\056\061\072\060\070\006\003\125\004\003\023\061\124\162
+\165\163\164\167\141\166\145\040\107\154\157\142\141\154\040\105
+\103\103\040\120\062\065\066\040\103\145\162\164\151\146\151\143
+\141\164\151\157\156\040\101\165\164\150\157\162\151\164\171\060
+\131\060\023\006\007\052\206\110\316\075\002\001\006\010\052\206
+\110\316\075\003\001\007\003\102\000\004\176\373\154\346\043\343
+\163\062\010\312\140\346\123\234\272\164\215\030\260\170\220\122
+\200\335\070\300\112\035\321\250\314\223\244\227\006\070\312\015
+\025\142\306\216\001\052\145\235\252\337\064\221\056\201\301\344
+\063\222\061\304\375\011\072\246\077\255\243\103\060\101\060\017
+\006\003\125\035\023\001\001\377\004\005\060\003\001\001\377\060
+\017\006\003\125\035\017\001\001\377\004\005\003\003\007\006\000
+\060\035\006\003\125\035\016\004\026\004\024\243\101\006\254\220
+\155\321\112\353\165\245\112\020\231\263\261\241\213\112\367\060
+\012\006\010\052\206\110\316\075\004\003\002\003\107\000\060\104
+\002\040\007\346\124\332\016\240\132\262\256\021\237\207\305\266
+\377\151\336\045\276\370\240\267\010\363\104\316\052\337\010\041
+\014\067\002\040\055\046\003\240\005\275\153\321\366\134\370\145
+\314\206\155\263\234\064\110\143\204\011\305\215\167\032\342\314
+\234\341\164\173
+END
+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
+
+# Trust for "Trustwave Global ECC P256 Certification Authority"
+# Issuer: CN=Trustwave Global ECC P256 Certification Authority,O="Trustwave Holdings, Inc.",L=Chicago,ST=Illinois,C=US
+# Serial Number:0d:6a:5f:08:3f:28:5c:3e:51:95:df:5d
+# Subject: CN=Trustwave Global ECC P256 Certification Authority,O="Trustwave Holdings, Inc.",L=Chicago,ST=Illinois,C=US
+# Not Valid Before: Wed Aug 23 19:35:10 2017
+# Not Valid After : Sat Aug 23 19:35:10 2042
+# Fingerprint (SHA-256): 94:5B:BC:82:5E:A5:54:F4:89:D1:FD:51:A7:3D:DF:2E:A6:24:AC:70:19:A0:52:05:22:5C:22:A7:8C:CF:A8:B4
+# Fingerprint (SHA1): B4:90:82:DD:45:0C:BE:8B:5B:B1:66:D3:E2:A4:08:26:CD:ED:42:CF
 CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "IdenTrust Commercial Root CA 1"
+CKA_LABEL UTF8 "Trustwave Global ECC P256 Certification Authority"
 CKA_CERT_SHA1_HASH MULTILINE_OCTAL
-\337\161\176\252\112\331\116\311\125\204\231\140\055\110\336\137
-\274\360\072\045
+\264\220\202\335\105\014\276\213\133\261\146\323\342\244\010\046
+\315\355\102\317
 END
 CKA_CERT_MD5_HASH MULTILINE_OCTAL
-\263\076\167\163\165\356\240\323\343\176\111\143\111\131\273\307
+\133\104\343\215\135\066\206\046\350\015\005\322\131\247\203\124
 END
 CKA_ISSUER MULTILINE_OCTAL
-\060\112\061\013\060\011\006\003\125\004\006\023\002\125\123\061
-\022\060\020\006\003\125\004\012\023\011\111\144\145\156\124\162
-\165\163\164\061\047\060\045\006\003\125\004\003\023\036\111\144
-\145\156\124\162\165\163\164\040\103\157\155\155\145\162\143\151
-\141\154\040\122\157\157\164\040\103\101\040\061
+\060\201\221\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\021\060\017\006\003\125\004\010\023\010\111\154\154\151\156
+\157\151\163\061\020\060\016\006\003\125\004\007\023\007\103\150
+\151\143\141\147\157\061\041\060\037\006\003\125\004\012\023\030
+\124\162\165\163\164\167\141\166\145\040\110\157\154\144\151\156
+\147\163\054\040\111\156\143\056\061\072\060\070\006\003\125\004
+\003\023\061\124\162\165\163\164\167\141\166\145\040\107\154\157
+\142\141\154\040\105\103\103\040\120\062\065\066\040\103\145\162
+\164\151\146\151\143\141\164\151\157\156\040\101\165\164\150\157
+\162\151\164\171
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\020\012\001\102\200\000\000\001\105\043\310\104\265\000\000
-\000\002
+\002\014\015\152\137\010\077\050\134\076\121\225\337\135
 END
 CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
 CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
@@ -17107,638 +17826,878 @@ CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
 CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
 
 #
-# Certificate "IdenTrust Public Sector Root CA 1"
+# Certificate "Trustwave Global ECC P384 Certification Authority"
 #
-# 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
-# Fingerprint (SHA1): BA:29:41:60:77:98:3F:F4:F3:EF:F2:31:05:3B:2E:EA:6D:4D:45:FD
+# Issuer: CN=Trustwave Global ECC P384 Certification Authority,O="Trustwave Holdings, Inc.",L=Chicago,ST=Illinois,C=US
+# Serial Number:08:bd:85:97:6c:99:27:a4:80:68:47:3b
+# Subject: CN=Trustwave Global ECC P384 Certification Authority,O="Trustwave Holdings, Inc.",L=Chicago,ST=Illinois,C=US
+# Not Valid Before: Wed Aug 23 19:36:43 2017
+# Not Valid After : Sat Aug 23 19:36:43 2042
+# Fingerprint (SHA-256): 55:90:38:59:C8:C0:C3:EB:B8:75:9E:CE:4E:25:57:22:5F:F5:75:8B:BD:38:EB:D4:82:76:60:1E:1B:D5:80:97
+# Fingerprint (SHA1): E7:F3:A3:C8:CF:6F:C3:04:2E:6D:0E:67:32:C5:9E:68:95:0D:5E:D2
 CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "IdenTrust Public Sector Root CA 1"
+CKA_LABEL UTF8 "Trustwave Global ECC P384 Certification Authority"
 CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
 CKA_SUBJECT MULTILINE_OCTAL
-\060\115\061\013\060\011\006\003\125\004\006\023\002\125\123\061
-\022\060\020\006\003\125\004\012\023\011\111\144\145\156\124\162
-\165\163\164\061\052\060\050\006\003\125\004\003\023\041\111\144
-\145\156\124\162\165\163\164\040\120\165\142\154\151\143\040\123
-\145\143\164\157\162\040\122\157\157\164\040\103\101\040\061
+\060\201\221\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\021\060\017\006\003\125\004\010\023\010\111\154\154\151\156
+\157\151\163\061\020\060\016\006\003\125\004\007\023\007\103\150
+\151\143\141\147\157\061\041\060\037\006\003\125\004\012\023\030
+\124\162\165\163\164\167\141\166\145\040\110\157\154\144\151\156
+\147\163\054\040\111\156\143\056\061\072\060\070\006\003\125\004
+\003\023\061\124\162\165\163\164\167\141\166\145\040\107\154\157
+\142\141\154\040\105\103\103\040\120\063\070\064\040\103\145\162
+\164\151\146\151\143\141\164\151\157\156\040\101\165\164\150\157
+\162\151\164\171
 END
 CKA_ID UTF8 "0"
 CKA_ISSUER MULTILINE_OCTAL
-\060\115\061\013\060\011\006\003\125\004\006\023\002\125\123\061
-\022\060\020\006\003\125\004\012\023\011\111\144\145\156\124\162
-\165\163\164\061\052\060\050\006\003\125\004\003\023\041\111\144
-\145\156\124\162\165\163\164\040\120\165\142\154\151\143\040\123
-\145\143\164\157\162\040\122\157\157\164\040\103\101\040\061
+\060\201\221\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\021\060\017\006\003\125\004\010\023\010\111\154\154\151\156
+\157\151\163\061\020\060\016\006\003\125\004\007\023\007\103\150
+\151\143\141\147\157\061\041\060\037\006\003\125\004\012\023\030
+\124\162\165\163\164\167\141\166\145\040\110\157\154\144\151\156
+\147\163\054\040\111\156\143\056\061\072\060\070\006\003\125\004
+\003\023\061\124\162\165\163\164\167\141\166\145\040\107\154\157
+\142\141\154\040\105\103\103\040\120\063\070\064\040\103\145\162
+\164\151\146\151\143\141\164\151\157\156\040\101\165\164\150\157
+\162\151\164\171
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\020\012\001\102\200\000\000\001\105\043\317\106\174\000\000
-\000\002
+\002\014\010\275\205\227\154\231\047\244\200\150\107\073
 END
 CKA_VALUE MULTILINE_OCTAL
-\060\202\005\146\060\202\003\116\240\003\002\001\002\002\020\012
-\001\102\200\000\000\001\105\043\317\106\174\000\000\000\002\060
-\015\006\011\052\206\110\206\367\015\001\001\013\005\000\060\115
-\061\013\060\011\006\003\125\004\006\023\002\125\123\061\022\060
-\020\006\003\125\004\012\023\011\111\144\145\156\124\162\165\163
-\164\061\052\060\050\006\003\125\004\003\023\041\111\144\145\156
-\124\162\165\163\164\040\120\165\142\154\151\143\040\123\145\143
-\164\157\162\040\122\157\157\164\040\103\101\040\061\060\036\027
-\015\061\064\060\061\061\066\061\067\065\063\063\062\132\027\015
-\063\064\060\061\061\066\061\067\065\063\063\062\132\060\115\061
-\013\060\011\006\003\125\004\006\023\002\125\123\061\022\060\020
-\006\003\125\004\012\023\011\111\144\145\156\124\162\165\163\164
-\061\052\060\050\006\003\125\004\003\023\041\111\144\145\156\124
-\162\165\163\164\040\120\165\142\154\151\143\040\123\145\143\164
-\157\162\040\122\157\157\164\040\103\101\040\061\060\202\002\042
-\060\015\006\011\052\206\110\206\367\015\001\001\001\005\000\003
-\202\002\017\000\060\202\002\012\002\202\002\001\000\266\042\224
-\374\244\110\257\350\107\153\012\373\047\166\344\362\077\212\073
-\172\112\054\061\052\214\215\260\251\303\061\153\250\167\166\204
-\046\266\254\201\102\015\010\353\125\130\273\172\370\274\145\175
-\362\240\155\213\250\107\351\142\166\036\021\356\010\024\321\262
-\104\026\364\352\320\372\036\057\136\333\313\163\101\256\274\000
-\260\112\053\100\262\254\341\073\113\302\055\235\344\241\233\354
-\032\072\036\360\010\263\320\344\044\065\007\237\234\264\311\122
-\155\333\007\312\217\265\133\360\203\363\117\307\055\245\310\255
-\313\225\040\244\061\050\127\130\132\344\215\033\232\253\236\015
-\014\362\012\063\071\042\071\012\227\056\363\123\167\271\104\105
-\375\204\313\066\040\201\131\055\232\157\155\110\110\141\312\114
-\337\123\321\257\122\274\104\237\253\057\153\203\162\357\165\200
-\332\006\063\033\135\310\332\143\306\115\315\254\146\061\315\321
-\336\076\207\020\066\341\271\244\172\357\140\120\262\313\312\246
-\126\340\067\257\253\064\023\071\045\350\071\146\344\230\172\252
-\022\230\234\131\146\206\076\255\361\260\312\076\006\017\173\360
-\021\113\067\240\104\155\173\313\250\214\161\364\325\265\221\066
-\314\360\025\306\053\336\121\027\261\227\114\120\075\261\225\131
-\174\005\175\055\041\325\000\277\001\147\242\136\173\246\134\362
-\367\042\361\220\015\223\333\252\104\121\146\314\175\166\003\353
-\152\250\052\070\031\227\166\015\153\212\141\371\274\366\356\166
-\375\160\053\335\051\074\370\012\036\133\102\034\213\126\057\125
-\033\034\241\056\265\307\026\346\370\252\074\222\216\151\266\001
-\301\265\206\235\211\017\013\070\224\124\350\352\334\236\075\045
-\274\123\046\355\325\253\071\252\305\100\114\124\253\262\264\331
-\331\370\327\162\333\034\274\155\275\145\137\357\210\065\052\146
-\057\356\366\263\145\360\063\215\174\230\101\151\106\017\103\034
-\151\372\233\265\320\141\152\315\312\113\331\114\220\106\253\025
-\131\241\107\124\051\056\203\050\137\034\302\242\253\162\027\000
-\006\216\105\354\213\342\063\075\177\332\031\104\344\142\162\303
-\337\042\306\362\126\324\335\137\225\162\355\155\137\367\110\003
-\133\375\305\052\240\366\163\043\204\020\033\001\347\002\003\001
-\000\001\243\102\060\100\060\016\006\003\125\035\017\001\001\377
-\004\004\003\002\001\006\060\017\006\003\125\035\023\001\001\377
-\004\005\060\003\001\001\377\060\035\006\003\125\035\016\004\026
-\004\024\343\161\340\236\330\247\102\331\333\161\221\153\224\223
-\353\303\243\321\024\243\060\015\006\011\052\206\110\206\367\015
-\001\001\013\005\000\003\202\002\001\000\107\372\335\012\260\021
-\221\070\255\115\135\367\345\016\227\124\031\202\110\207\124\214
-\252\144\231\330\132\376\210\001\305\130\245\231\261\043\124\043
-\267\152\035\040\127\345\001\142\101\027\323\011\333\165\313\156
-\124\220\165\376\032\237\201\012\302\335\327\367\011\320\133\162
-\025\344\036\011\152\075\063\363\041\232\346\025\176\255\121\325
-\015\020\355\175\102\300\217\356\300\232\010\325\101\326\134\016
-\041\151\156\200\141\016\025\300\270\317\305\111\022\122\314\276
-\072\314\324\056\070\005\336\065\375\037\157\270\200\150\230\075
-\115\240\312\100\145\322\163\174\365\213\331\012\225\077\330\077
-\043\155\032\321\052\044\031\331\205\263\027\357\170\156\251\130
-\321\043\323\307\023\355\162\045\177\135\261\163\160\320\177\006
-\227\011\204\051\200\141\035\372\136\377\163\254\240\343\211\270
-\034\161\025\306\336\061\177\022\334\341\155\233\257\347\350\237
-\165\170\114\253\106\073\232\316\277\005\030\135\115\025\074\026
-\232\031\120\004\232\262\232\157\145\213\122\137\074\130\004\050
-\045\300\146\141\061\176\271\340\165\271\032\250\201\326\162\027
-\263\305\003\061\065\021\170\170\242\340\351\060\214\177\200\337
-\130\337\074\272\047\226\342\200\064\155\343\230\323\144\047\254
-\110\176\050\167\134\306\045\141\045\370\205\014\145\372\304\062
-\057\245\230\005\344\370\013\147\026\026\306\202\270\062\031\371
-\371\271\171\334\037\315\353\257\253\016\335\033\333\105\344\172
-\347\002\342\225\135\374\151\360\123\151\141\225\165\171\013\136
-\125\346\070\034\224\251\131\063\236\310\161\164\171\177\121\211
-\266\310\152\270\060\310\152\070\303\156\236\341\067\026\352\005
-\142\114\133\022\107\355\247\264\263\130\126\307\111\363\177\022
-\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
+\060\202\002\235\060\202\002\044\240\003\002\001\002\002\014\010
+\275\205\227\154\231\047\244\200\150\107\073\060\012\006\010\052
+\206\110\316\075\004\003\003\060\201\221\061\013\060\011\006\003
+\125\004\006\023\002\125\123\061\021\060\017\006\003\125\004\010
+\023\010\111\154\154\151\156\157\151\163\061\020\060\016\006\003
+\125\004\007\023\007\103\150\151\143\141\147\157\061\041\060\037
+\006\003\125\004\012\023\030\124\162\165\163\164\167\141\166\145
+\040\110\157\154\144\151\156\147\163\054\040\111\156\143\056\061
+\072\060\070\006\003\125\004\003\023\061\124\162\165\163\164\167
+\141\166\145\040\107\154\157\142\141\154\040\105\103\103\040\120
+\063\070\064\040\103\145\162\164\151\146\151\143\141\164\151\157
+\156\040\101\165\164\150\157\162\151\164\171\060\036\027\015\061
+\067\060\070\062\063\061\071\063\066\064\063\132\027\015\064\062
+\060\070\062\063\061\071\063\066\064\063\132\060\201\221\061\013
+\060\011\006\003\125\004\006\023\002\125\123\061\021\060\017\006
+\003\125\004\010\023\010\111\154\154\151\156\157\151\163\061\020
+\060\016\006\003\125\004\007\023\007\103\150\151\143\141\147\157
+\061\041\060\037\006\003\125\004\012\023\030\124\162\165\163\164
+\167\141\166\145\040\110\157\154\144\151\156\147\163\054\040\111
+\156\143\056\061\072\060\070\006\003\125\004\003\023\061\124\162
+\165\163\164\167\141\166\145\040\107\154\157\142\141\154\040\105
+\103\103\040\120\063\070\064\040\103\145\162\164\151\146\151\143
+\141\164\151\157\156\040\101\165\164\150\157\162\151\164\171\060
+\166\060\020\006\007\052\206\110\316\075\002\001\006\005\053\201
+\004\000\042\003\142\000\004\153\332\015\165\065\010\061\107\005
+\256\105\231\125\361\021\023\056\112\370\020\061\043\243\176\203
+\323\177\050\010\072\046\032\072\317\227\202\037\200\267\047\011
+\217\321\216\060\304\012\233\016\254\130\004\253\367\066\175\224
+\043\244\233\012\212\213\253\353\375\071\045\146\361\136\376\214
+\256\215\101\171\235\011\140\316\050\251\323\212\155\363\326\105
+\324\362\230\204\070\145\240\243\103\060\101\060\017\006\003\125
+\035\023\001\001\377\004\005\060\003\001\001\377\060\017\006\003
+\125\035\017\001\001\377\004\005\003\003\007\006\000\060\035\006
+\003\125\035\016\004\026\004\024\125\251\204\211\322\301\062\275
+\030\313\154\246\007\116\310\347\235\276\202\220\060\012\006\010
+\052\206\110\316\075\004\003\003\003\147\000\060\144\002\060\067
+\001\222\227\105\022\176\240\363\076\255\031\072\162\335\364\120
+\223\003\022\276\104\322\117\101\244\214\234\235\037\243\366\302
+\222\347\110\024\376\116\233\245\221\127\256\306\067\162\273\002
+\060\147\045\012\261\014\136\356\251\143\222\157\345\220\013\376
+\146\042\312\107\375\212\061\367\203\376\172\277\020\276\030\053
+\036\217\366\051\036\224\131\357\216\041\067\313\121\230\245\156
+\113
+END
+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
+
+# Trust for "Trustwave Global ECC P384 Certification Authority"
+# Issuer: CN=Trustwave Global ECC P384 Certification Authority,O="Trustwave Holdings, Inc.",L=Chicago,ST=Illinois,C=US
+# Serial Number:08:bd:85:97:6c:99:27:a4:80:68:47:3b
+# Subject: CN=Trustwave Global ECC P384 Certification Authority,O="Trustwave Holdings, Inc.",L=Chicago,ST=Illinois,C=US
+# Not Valid Before: Wed Aug 23 19:36:43 2017
+# Not Valid After : Sat Aug 23 19:36:43 2042
+# Fingerprint (SHA-256): 55:90:38:59:C8:C0:C3:EB:B8:75:9E:CE:4E:25:57:22:5F:F5:75:8B:BD:38:EB:D4:82:76:60:1E:1B:D5:80:97
+# Fingerprint (SHA1): E7:F3:A3:C8:CF:6F:C3:04:2E:6D:0E:67:32:C5:9E:68:95:0D:5E:D2
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Trustwave Global ECC P384 Certification Authority"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\347\363\243\310\317\157\303\004\056\155\016\147\062\305\236\150
+\225\015\136\322
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\352\317\140\304\073\271\025\051\100\241\227\355\170\047\223\326
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\201\221\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\021\060\017\006\003\125\004\010\023\010\111\154\154\151\156
+\157\151\163\061\020\060\016\006\003\125\004\007\023\007\103\150
+\151\143\141\147\157\061\041\060\037\006\003\125\004\012\023\030
+\124\162\165\163\164\167\141\166\145\040\110\157\154\144\151\156
+\147\163\054\040\111\156\143\056\061\072\060\070\006\003\125\004
+\003\023\061\124\162\165\163\164\167\141\166\145\040\107\154\157
+\142\141\154\040\105\103\103\040\120\063\070\064\040\103\145\162
+\164\151\146\151\143\141\164\151\157\156\040\101\165\164\150\157
+\162\151\164\171
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\014\010\275\205\227\154\231\047\244\200\150\107\073
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "NAVER Global Root Certification Authority"
+#
+# Issuer: CN=NAVER Global Root Certification Authority,O=NAVER BUSINESS PLATFORM Corp.,C=KR
+# Serial Number:01:94:30:1e:a2:0b:dd:f5:c5:33:2a:b1:43:44:71:f8:d6:50:4d:0d
+# Subject: CN=NAVER Global Root Certification Authority,O=NAVER BUSINESS PLATFORM Corp.,C=KR
+# Not Valid Before: Fri Aug 18 08:58:42 2017
+# Not Valid After : Tue Aug 18 23:59:59 2037
+# Fingerprint (SHA-256): 88:F4:38:DC:F8:FF:D1:FA:8F:42:91:15:FF:E5:F8:2A:E1:E0:6E:0C:70:C3:75:FA:AD:71:7B:34:A4:9E:72:65
+# Fingerprint (SHA1): 8F:6B:F2:A9:27:4A:DA:14:A0:C4:F4:8E:61:27:F9:C0:1E:78:5D:D1
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "NAVER Global Root Certification Authority"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\151\061\013\060\011\006\003\125\004\006\023\002\113\122\061
+\046\060\044\006\003\125\004\012\014\035\116\101\126\105\122\040
+\102\125\123\111\116\105\123\123\040\120\114\101\124\106\117\122
+\115\040\103\157\162\160\056\061\062\060\060\006\003\125\004\003
+\014\051\116\101\126\105\122\040\107\154\157\142\141\154\040\122
+\157\157\164\040\103\145\162\164\151\146\151\143\141\164\151\157
+\156\040\101\165\164\150\157\162\151\164\171
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\151\061\013\060\011\006\003\125\004\006\023\002\113\122\061
+\046\060\044\006\003\125\004\012\014\035\116\101\126\105\122\040
+\102\125\123\111\116\105\123\123\040\120\114\101\124\106\117\122
+\115\040\103\157\162\160\056\061\062\060\060\006\003\125\004\003
+\014\051\116\101\126\105\122\040\107\154\157\142\141\154\040\122
+\157\157\164\040\103\145\162\164\151\146\151\143\141\164\151\157
+\156\040\101\165\164\150\157\162\151\164\171
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\024\001\224\060\036\242\013\335\365\305\063\052\261\103\104
+\161\370\326\120\115\015
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\005\242\060\202\003\212\240\003\002\001\002\002\024\001
+\224\060\036\242\013\335\365\305\063\052\261\103\104\161\370\326
+\120\115\015\060\015\006\011\052\206\110\206\367\015\001\001\014
+\005\000\060\151\061\013\060\011\006\003\125\004\006\023\002\113
+\122\061\046\060\044\006\003\125\004\012\014\035\116\101\126\105
+\122\040\102\125\123\111\116\105\123\123\040\120\114\101\124\106
+\117\122\115\040\103\157\162\160\056\061\062\060\060\006\003\125
+\004\003\014\051\116\101\126\105\122\040\107\154\157\142\141\154
+\040\122\157\157\164\040\103\145\162\164\151\146\151\143\141\164
+\151\157\156\040\101\165\164\150\157\162\151\164\171\060\036\027
+\015\061\067\060\070\061\070\060\070\065\070\064\062\132\027\015
+\063\067\060\070\061\070\062\063\065\071\065\071\132\060\151\061
+\013\060\011\006\003\125\004\006\023\002\113\122\061\046\060\044
+\006\003\125\004\012\014\035\116\101\126\105\122\040\102\125\123
+\111\116\105\123\123\040\120\114\101\124\106\117\122\115\040\103
+\157\162\160\056\061\062\060\060\006\003\125\004\003\014\051\116
+\101\126\105\122\040\107\154\157\142\141\154\040\122\157\157\164
+\040\103\145\162\164\151\146\151\143\141\164\151\157\156\040\101
+\165\164\150\157\162\151\164\171\060\202\002\042\060\015\006\011
+\052\206\110\206\367\015\001\001\001\005\000\003\202\002\017\000
+\060\202\002\012\002\202\002\001\000\266\324\361\223\134\265\100
+\211\012\253\015\220\133\120\143\256\220\224\164\027\105\162\326
+\173\145\132\051\113\247\126\240\113\270\057\102\165\351\331\173
+\044\132\061\145\253\027\027\321\063\072\331\021\334\100\066\207
+\337\307\152\351\046\136\131\212\167\343\350\110\234\061\026\372
+\076\221\261\312\311\243\342\237\316\041\123\243\002\066\060\313
+\122\002\345\332\062\135\303\305\346\371\356\021\307\213\311\104
+\036\204\223\030\112\264\237\345\022\144\151\320\046\205\142\001
+\266\311\002\035\276\203\121\273\134\332\370\255\025\152\231\367
+\222\124\367\064\133\351\277\352\051\201\022\324\123\221\226\263
+\221\132\335\376\220\163\050\373\060\106\265\312\010\007\307\161
+\162\311\146\323\064\227\366\214\364\030\112\341\320\075\132\105
+\266\151\247\051\373\043\316\210\330\022\234\000\110\250\246\017
+\263\073\222\215\161\016\164\305\213\310\114\371\364\233\216\270
+\074\151\355\157\073\120\057\130\355\304\260\320\034\033\152\014
+\342\274\104\252\330\315\024\135\224\170\141\277\016\156\332\052
+\274\057\014\013\161\246\263\026\077\234\346\371\314\237\123\065
+\342\003\240\240\030\277\273\361\276\364\326\214\207\015\102\367
+\006\271\361\155\355\004\224\250\376\266\323\006\306\100\141\337
+\235\235\363\124\166\316\123\072\001\246\222\101\354\004\243\217
+\015\242\325\011\312\326\313\232\361\357\103\135\300\253\245\101
+\317\134\123\160\160\311\210\246\055\324\153\141\163\120\046\206
+\141\016\137\033\302\053\342\214\325\273\235\301\003\102\272\224
+\332\137\251\260\312\314\115\012\357\107\151\003\057\042\373\361
+\050\316\277\135\120\145\250\220\155\263\164\260\010\307\254\250
+\321\353\076\234\374\135\032\203\056\053\313\265\363\104\235\072
+\247\027\141\226\242\161\323\160\226\025\115\267\114\163\356\031
+\134\305\133\076\101\376\254\165\140\073\033\143\316\000\335\332
+\010\220\142\264\345\055\356\110\247\153\027\231\124\276\207\112
+\343\251\136\004\114\353\020\155\124\326\357\361\350\362\142\026
+\313\200\153\355\075\355\365\037\060\245\256\113\311\023\355\212
+\001\001\311\270\121\130\300\146\072\261\146\113\304\325\061\002
+\142\351\164\204\014\333\115\106\055\002\003\001\000\001\243\102
+\060\100\060\035\006\003\125\035\016\004\026\004\024\322\237\210
+\337\241\315\054\275\354\365\073\001\001\223\063\047\262\353\140
+\113\060\016\006\003\125\035\017\001\001\377\004\004\003\002\001
+\006\060\017\006\003\125\035\023\001\001\377\004\005\060\003\001
+\001\377\060\015\006\011\052\206\110\206\367\015\001\001\014\005
+\000\003\202\002\001\000\062\312\200\263\235\075\124\006\335\322
+\322\056\360\244\001\041\013\147\110\312\155\216\340\310\252\015
+\252\215\041\127\217\306\076\172\312\333\121\324\122\263\324\226
+\204\245\130\140\177\345\013\216\037\365\334\012\025\201\345\073
+\266\267\042\057\011\234\023\026\261\154\014\065\010\155\253\143
+\162\355\334\276\354\307\127\346\060\040\161\326\327\020\301\023
+\125\001\214\052\103\344\101\361\317\072\172\123\222\316\242\003
+\005\015\070\337\002\273\020\056\331\073\322\233\172\300\241\246
+\370\265\061\346\364\165\311\271\123\231\165\107\042\132\024\025
+\307\170\033\266\235\351\014\370\033\166\361\205\204\336\241\332
+\022\357\244\342\020\227\172\170\336\014\121\227\250\041\100\213
+\206\275\015\360\136\116\113\066\273\073\040\037\212\102\126\341
+\013\032\277\173\320\042\103\054\104\214\373\345\052\264\154\034
+\034\272\224\340\023\176\041\346\232\302\313\305\102\144\264\036
+\224\173\010\045\310\161\314\207\105\127\205\323\237\051\142\042
+\203\121\227\000\030\227\167\152\230\222\311\174\140\154\337\154
+\175\112\344\160\114\302\236\270\035\367\320\064\307\017\314\373
+\247\377\003\276\255\160\220\332\013\335\310\155\227\137\232\177
+\011\062\101\375\315\242\314\132\155\114\362\252\111\376\146\370
+\351\330\065\353\016\050\036\356\110\057\072\320\171\011\070\174
+\246\042\202\223\225\320\003\276\276\002\240\005\335\040\042\343
+\157\035\210\064\140\306\346\012\271\011\165\013\360\007\350\151
+\226\065\307\373\043\201\216\070\071\270\105\053\103\170\242\321
+\054\024\377\015\050\162\162\225\233\136\011\333\211\104\230\252
+\241\111\273\161\122\362\277\366\377\047\241\066\257\270\266\167
+\210\335\072\244\155\233\064\220\334\024\135\060\277\267\353\027
+\344\207\267\161\320\241\327\167\025\324\102\327\362\363\061\231
+\135\233\335\026\155\077\352\006\043\370\106\242\042\355\223\366
+\335\232\346\052\207\261\230\124\361\042\367\153\105\343\342\216
+\166\035\232\215\304\006\215\066\267\024\363\235\124\151\267\216
+\074\325\244\155\223\201\267\255\366\275\144\173\302\311\150\071
+\240\222\234\315\064\206\221\220\372\144\121\235\376\376\353\245
+\365\165\336\211\367\162
 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
-# Fingerprint (SHA1): BA:29:41:60:77:98:3F:F4:F3:EF:F2:31:05:3B:2E:EA:6D:4D:45:FD
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
+
+# Trust for "NAVER Global Root Certification Authority"
+# Issuer: CN=NAVER Global Root Certification Authority,O=NAVER BUSINESS PLATFORM Corp.,C=KR
+# Serial Number:01:94:30:1e:a2:0b:dd:f5:c5:33:2a:b1:43:44:71:f8:d6:50:4d:0d
+# Subject: CN=NAVER Global Root Certification Authority,O=NAVER BUSINESS PLATFORM Corp.,C=KR
+# Not Valid Before: Fri Aug 18 08:58:42 2017
+# Not Valid After : Tue Aug 18 23:59:59 2037
+# Fingerprint (SHA-256): 88:F4:38:DC:F8:FF:D1:FA:8F:42:91:15:FF:E5:F8:2A:E1:E0:6E:0C:70:C3:75:FA:AD:71:7B:34:A4:9E:72:65
+# Fingerprint (SHA1): 8F:6B:F2:A9:27:4A:DA:14:A0:C4:F4:8E:61:27:F9:C0:1E:78:5D:D1
 CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "IdenTrust Public Sector Root CA 1"
+CKA_LABEL UTF8 "NAVER Global Root Certification Authority"
 CKA_CERT_SHA1_HASH MULTILINE_OCTAL
-\272\051\101\140\167\230\077\364\363\357\362\061\005\073\056\352
-\155\115\105\375
+\217\153\362\251\047\112\332\024\240\304\364\216\141\047\371\300
+\036\170\135\321
 END
 CKA_CERT_MD5_HASH MULTILINE_OCTAL
-\067\006\245\260\374\211\235\272\364\153\214\032\144\315\325\272
+\310\176\101\366\045\073\365\011\263\027\350\106\075\277\320\233
 END
 CKA_ISSUER MULTILINE_OCTAL
-\060\115\061\013\060\011\006\003\125\004\006\023\002\125\123\061
-\022\060\020\006\003\125\004\012\023\011\111\144\145\156\124\162
-\165\163\164\061\052\060\050\006\003\125\004\003\023\041\111\144
-\145\156\124\162\165\163\164\040\120\165\142\154\151\143\040\123
-\145\143\164\157\162\040\122\157\157\164\040\103\101\040\061
+\060\151\061\013\060\011\006\003\125\004\006\023\002\113\122\061
+\046\060\044\006\003\125\004\012\014\035\116\101\126\105\122\040
+\102\125\123\111\116\105\123\123\040\120\114\101\124\106\117\122
+\115\040\103\157\162\160\056\061\062\060\060\006\003\125\004\003
+\014\051\116\101\126\105\122\040\107\154\157\142\141\154\040\122
+\157\157\164\040\103\145\162\164\151\146\151\143\141\164\151\157
+\156\040\101\165\164\150\157\162\151\164\171
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\020\012\001\102\200\000\000\001\105\043\317\106\174\000\000
-\000\002
+\002\024\001\224\060\036\242\013\335\365\305\063\052\261\103\104
+\161\370\326\120\115\015
 END
 CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
-CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
 CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
 CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
 
 #
-# Certificate "Entrust Root Certification Authority - G2"
+# Certificate "AC RAIZ FNMT-RCM SERVIDORES SEGUROS"
 #
-# 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
-# Fingerprint (SHA1): 8C:F4:27:FD:79:0C:3A:D1:66:06:8D:E8:1E:57:EF:BB:93:22:72:D4
+# Issuer: CN=AC RAIZ FNMT-RCM SERVIDORES SEGUROS,OID.2.5.4.97=VATES-Q2826004J,OU=Ceres,O=FNMT-RCM,C=ES
+# Serial Number:62:f6:32:6c:e5:c4:e3:68:5c:1b:62:dd:9c:2e:9d:95
+# Subject: CN=AC RAIZ FNMT-RCM SERVIDORES SEGUROS,OID.2.5.4.97=VATES-Q2826004J,OU=Ceres,O=FNMT-RCM,C=ES
+# Not Valid Before: Thu Dec 20 09:37:33 2018
+# Not Valid After : Sun Dec 20 09:37:33 2043
+# Fingerprint (SHA-256): 55:41:53:B1:3D:2C:F9:DD:B7:53:BF:BE:1A:4E:0A:E0:8D:0A:A4:18:70:58:FE:60:A2:B8:62:B2:E4:B8:7B:CB
+# Fingerprint (SHA1): 62:FF:D9:9E:C0:65:0D:03:CE:75:93:D2:ED:3F:2D:32:C9:E3:E5:4A
 CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "Entrust Root Certification Authority - G2"
+CKA_LABEL UTF8 "AC RAIZ FNMT-RCM SERVIDORES SEGUROS"
 CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
 CKA_SUBJECT MULTILINE_OCTAL
-\060\201\276\061\013\060\011\006\003\125\004\006\023\002\125\123
-\061\026\060\024\006\003\125\004\012\023\015\105\156\164\162\165
-\163\164\054\040\111\156\143\056\061\050\060\046\006\003\125\004
-\013\023\037\123\145\145\040\167\167\167\056\145\156\164\162\165
-\163\164\056\156\145\164\057\154\145\147\141\154\055\164\145\162
-\155\163\061\071\060\067\006\003\125\004\013\023\060\050\143\051
-\040\062\060\060\071\040\105\156\164\162\165\163\164\054\040\111
-\156\143\056\040\055\040\146\157\162\040\141\165\164\150\157\162
-\151\172\145\144\040\165\163\145\040\157\156\154\171\061\062\060
-\060\006\003\125\004\003\023\051\105\156\164\162\165\163\164\040
-\122\157\157\164\040\103\145\162\164\151\146\151\143\141\164\151
-\157\156\040\101\165\164\150\157\162\151\164\171\040\055\040\107
-\062
+\060\170\061\013\060\011\006\003\125\004\006\023\002\105\123\061
+\021\060\017\006\003\125\004\012\014\010\106\116\115\124\055\122
+\103\115\061\016\060\014\006\003\125\004\013\014\005\103\145\162
+\145\163\061\030\060\026\006\003\125\004\141\014\017\126\101\124
+\105\123\055\121\062\070\062\066\060\060\064\112\061\054\060\052
+\006\003\125\004\003\014\043\101\103\040\122\101\111\132\040\106
+\116\115\124\055\122\103\115\040\123\105\122\126\111\104\117\122
+\105\123\040\123\105\107\125\122\117\123
 END
 CKA_ID UTF8 "0"
 CKA_ISSUER MULTILINE_OCTAL
-\060\201\276\061\013\060\011\006\003\125\004\006\023\002\125\123
-\061\026\060\024\006\003\125\004\012\023\015\105\156\164\162\165
-\163\164\054\040\111\156\143\056\061\050\060\046\006\003\125\004
-\013\023\037\123\145\145\040\167\167\167\056\145\156\164\162\165
-\163\164\056\156\145\164\057\154\145\147\141\154\055\164\145\162
-\155\163\061\071\060\067\006\003\125\004\013\023\060\050\143\051
-\040\062\060\060\071\040\105\156\164\162\165\163\164\054\040\111
-\156\143\056\040\055\040\146\157\162\040\141\165\164\150\157\162
-\151\172\145\144\040\165\163\145\040\157\156\154\171\061\062\060
-\060\006\003\125\004\003\023\051\105\156\164\162\165\163\164\040
-\122\157\157\164\040\103\145\162\164\151\146\151\143\141\164\151
-\157\156\040\101\165\164\150\157\162\151\164\171\040\055\040\107
-\062
+\060\170\061\013\060\011\006\003\125\004\006\023\002\105\123\061
+\021\060\017\006\003\125\004\012\014\010\106\116\115\124\055\122
+\103\115\061\016\060\014\006\003\125\004\013\014\005\103\145\162
+\145\163\061\030\060\026\006\003\125\004\141\014\017\126\101\124
+\105\123\055\121\062\070\062\066\060\060\064\112\061\054\060\052
+\006\003\125\004\003\014\043\101\103\040\122\101\111\132\040\106
+\116\115\124\055\122\103\115\040\123\105\122\126\111\104\117\122
+\105\123\040\123\105\107\125\122\117\123
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\004\112\123\214\050
+\002\020\142\366\062\154\345\304\343\150\134\033\142\335\234\056
+\235\225
 END
 CKA_VALUE MULTILINE_OCTAL
-\060\202\004\076\060\202\003\046\240\003\002\001\002\002\004\112
-\123\214\050\060\015\006\011\052\206\110\206\367\015\001\001\013
-\005\000\060\201\276\061\013\060\011\006\003\125\004\006\023\002
-\125\123\061\026\060\024\006\003\125\004\012\023\015\105\156\164
-\162\165\163\164\054\040\111\156\143\056\061\050\060\046\006\003
-\125\004\013\023\037\123\145\145\040\167\167\167\056\145\156\164
-\162\165\163\164\056\156\145\164\057\154\145\147\141\154\055\164
-\145\162\155\163\061\071\060\067\006\003\125\004\013\023\060\050
-\143\051\040\062\060\060\071\040\105\156\164\162\165\163\164\054
-\040\111\156\143\056\040\055\040\146\157\162\040\141\165\164\150
-\157\162\151\172\145\144\040\165\163\145\040\157\156\154\171\061
-\062\060\060\006\003\125\004\003\023\051\105\156\164\162\165\163
-\164\040\122\157\157\164\040\103\145\162\164\151\146\151\143\141
-\164\151\157\156\040\101\165\164\150\157\162\151\164\171\040\055
-\040\107\062\060\036\027\015\060\071\060\067\060\067\061\067\062
-\065\065\064\132\027\015\063\060\061\062\060\067\061\067\065\065
-\065\064\132\060\201\276\061\013\060\011\006\003\125\004\006\023
-\002\125\123\061\026\060\024\006\003\125\004\012\023\015\105\156
-\164\162\165\163\164\054\040\111\156\143\056\061\050\060\046\006
-\003\125\004\013\023\037\123\145\145\040\167\167\167\056\145\156
-\164\162\165\163\164\056\156\145\164\057\154\145\147\141\154\055
-\164\145\162\155\163\061\071\060\067\006\003\125\004\013\023\060
-\050\143\051\040\062\060\060\071\040\105\156\164\162\165\163\164
-\054\040\111\156\143\056\040\055\040\146\157\162\040\141\165\164
-\150\157\162\151\172\145\144\040\165\163\145\040\157\156\154\171
-\061\062\060\060\006\003\125\004\003\023\051\105\156\164\162\165
-\163\164\040\122\157\157\164\040\103\145\162\164\151\146\151\143
-\141\164\151\157\156\040\101\165\164\150\157\162\151\164\171\040
-\055\040\107\062\060\202\001\042\060\015\006\011\052\206\110\206
-\367\015\001\001\001\005\000\003\202\001\017\000\060\202\001\012
-\002\202\001\001\000\272\204\266\162\333\236\014\153\342\231\351
-\060\001\247\166\352\062\270\225\101\032\311\332\141\116\130\162
-\317\376\366\202\171\277\163\141\006\012\245\047\330\263\137\323
-\105\116\034\162\326\116\062\362\162\212\017\367\203\031\320\152
-\200\200\000\105\036\260\307\347\232\277\022\127\047\034\243\150
-\057\012\207\275\152\153\016\136\145\363\034\167\325\324\205\215
-\160\041\264\263\062\347\213\242\325\206\071\002\261\270\322\107
-\316\344\311\111\304\073\247\336\373\124\175\127\276\360\350\156
-\302\171\262\072\013\125\342\120\230\026\062\023\134\057\170\126
-\301\302\224\263\362\132\344\047\232\237\044\327\306\354\320\233
-\045\202\343\314\302\304\105\305\214\227\172\006\153\052\021\237
-\251\012\156\110\073\157\333\324\021\031\102\367\217\007\277\365
-\123\137\234\076\364\027\054\346\151\254\116\062\114\142\167\352
-\267\350\345\273\064\274\031\213\256\234\121\347\267\176\265\123
-\261\063\042\345\155\317\160\074\032\372\342\233\147\266\203\364
-\215\245\257\142\114\115\340\130\254\144\064\022\003\370\266\215
-\224\143\044\244\161\002\003\001\000\001\243\102\060\100\060\016
-\006\003\125\035\017\001\001\377\004\004\003\002\001\006\060\017
-\006\003\125\035\023\001\001\377\004\005\060\003\001\001\377\060
-\035\006\003\125\035\016\004\026\004\024\152\162\046\172\320\036
-\357\175\347\073\151\121\324\154\215\237\220\022\146\253\060\015
-\006\011\052\206\110\206\367\015\001\001\013\005\000\003\202\001
-\001\000\171\237\035\226\306\266\171\077\042\215\207\323\207\003
-\004\140\152\153\232\056\131\211\163\021\254\103\321\365\023\377
-\215\071\053\300\362\275\117\160\214\251\057\352\027\304\013\124
-\236\324\033\226\230\063\074\250\255\142\242\000\166\253\131\151
-\156\006\035\176\304\271\104\215\230\257\022\324\141\333\012\031
-\106\107\363\353\367\143\301\100\005\100\245\322\267\364\265\232
-\066\277\251\210\166\210\004\125\004\053\234\207\177\032\067\074
-\176\055\245\032\330\324\211\136\312\275\254\075\154\330\155\257
-\325\363\166\017\315\073\210\070\042\235\154\223\232\304\075\277
-\202\033\145\077\246\017\135\252\374\345\262\025\312\265\255\306
-\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
+\060\202\002\156\060\202\001\363\240\003\002\001\002\002\020\142
+\366\062\154\345\304\343\150\134\033\142\335\234\056\235\225\060
+\012\006\010\052\206\110\316\075\004\003\003\060\170\061\013\060
+\011\006\003\125\004\006\023\002\105\123\061\021\060\017\006\003
+\125\004\012\014\010\106\116\115\124\055\122\103\115\061\016\060
+\014\006\003\125\004\013\014\005\103\145\162\145\163\061\030\060
+\026\006\003\125\004\141\014\017\126\101\124\105\123\055\121\062
+\070\062\066\060\060\064\112\061\054\060\052\006\003\125\004\003
+\014\043\101\103\040\122\101\111\132\040\106\116\115\124\055\122
+\103\115\040\123\105\122\126\111\104\117\122\105\123\040\123\105
+\107\125\122\117\123\060\036\027\015\061\070\061\062\062\060\060
+\071\063\067\063\063\132\027\015\064\063\061\062\062\060\060\071
+\063\067\063\063\132\060\170\061\013\060\011\006\003\125\004\006
+\023\002\105\123\061\021\060\017\006\003\125\004\012\014\010\106
+\116\115\124\055\122\103\115\061\016\060\014\006\003\125\004\013
+\014\005\103\145\162\145\163\061\030\060\026\006\003\125\004\141
+\014\017\126\101\124\105\123\055\121\062\070\062\066\060\060\064
+\112\061\054\060\052\006\003\125\004\003\014\043\101\103\040\122
+\101\111\132\040\106\116\115\124\055\122\103\115\040\123\105\122
+\126\111\104\117\122\105\123\040\123\105\107\125\122\117\123\060
+\166\060\020\006\007\052\206\110\316\075\002\001\006\005\053\201
+\004\000\042\003\142\000\004\366\272\127\123\310\312\253\337\066
+\112\122\041\344\227\322\203\147\236\360\145\121\320\136\207\307
+\107\261\131\362\127\107\233\000\002\223\104\027\151\333\102\307
+\261\262\072\030\016\264\135\214\263\146\135\241\064\371\066\054
+\111\333\363\106\374\263\104\151\104\023\146\375\327\305\375\257
+\066\115\316\003\115\007\161\317\257\152\005\322\242\103\132\012
+\122\157\001\003\116\216\213\243\102\060\100\060\017\006\003\125
+\035\023\001\001\377\004\005\060\003\001\001\377\060\016\006\003
+\125\035\017\001\001\377\004\004\003\002\001\006\060\035\006\003
+\125\035\016\004\026\004\024\001\271\057\357\277\021\206\140\362
+\117\320\101\156\253\163\037\347\322\156\111\060\012\006\010\052
+\206\110\316\075\004\003\003\003\151\000\060\146\002\061\000\256
+\112\343\053\100\303\164\021\362\225\255\026\043\336\116\014\032
+\346\135\245\044\136\153\104\173\374\070\342\117\313\234\105\027
+\021\114\024\047\046\125\071\165\112\003\314\023\220\237\222\002
+\061\000\372\112\154\140\210\163\363\356\270\230\142\251\316\053
+\302\331\212\246\160\061\035\257\260\224\114\353\117\306\343\321
+\363\142\247\074\377\223\056\007\134\111\001\147\151\022\002\162
+\277\347
 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
-# Fingerprint (SHA1): 8C:F4:27:FD:79:0C:3A:D1:66:06:8D:E8:1E:57:EF:BB:93:22:72:D4
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
+
+# Trust for "AC RAIZ FNMT-RCM SERVIDORES SEGUROS"
+# Issuer: CN=AC RAIZ FNMT-RCM SERVIDORES SEGUROS,OID.2.5.4.97=VATES-Q2826004J,OU=Ceres,O=FNMT-RCM,C=ES
+# Serial Number:62:f6:32:6c:e5:c4:e3:68:5c:1b:62:dd:9c:2e:9d:95
+# Subject: CN=AC RAIZ FNMT-RCM SERVIDORES SEGUROS,OID.2.5.4.97=VATES-Q2826004J,OU=Ceres,O=FNMT-RCM,C=ES
+# Not Valid Before: Thu Dec 20 09:37:33 2018
+# Not Valid After : Sun Dec 20 09:37:33 2043
+# Fingerprint (SHA-256): 55:41:53:B1:3D:2C:F9:DD:B7:53:BF:BE:1A:4E:0A:E0:8D:0A:A4:18:70:58:FE:60:A2:B8:62:B2:E4:B8:7B:CB
+# Fingerprint (SHA1): 62:FF:D9:9E:C0:65:0D:03:CE:75:93:D2:ED:3F:2D:32:C9:E3:E5:4A
 CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "Entrust Root Certification Authority - G2"
+CKA_LABEL UTF8 "AC RAIZ FNMT-RCM SERVIDORES SEGUROS"
 CKA_CERT_SHA1_HASH MULTILINE_OCTAL
-\214\364\047\375\171\014\072\321\146\006\215\350\036\127\357\273
-\223\042\162\324
+\142\377\331\236\300\145\015\003\316\165\223\322\355\077\055\062
+\311\343\345\112
 END
 CKA_CERT_MD5_HASH MULTILINE_OCTAL
-\113\342\311\221\226\145\014\364\016\132\223\222\240\012\376\262
+\031\066\234\122\003\057\322\321\273\043\314\335\036\022\125\273
 END
 CKA_ISSUER MULTILINE_OCTAL
-\060\201\276\061\013\060\011\006\003\125\004\006\023\002\125\123
-\061\026\060\024\006\003\125\004\012\023\015\105\156\164\162\165
-\163\164\054\040\111\156\143\056\061\050\060\046\006\003\125\004
-\013\023\037\123\145\145\040\167\167\167\056\145\156\164\162\165
-\163\164\056\156\145\164\057\154\145\147\141\154\055\164\145\162
-\155\163\061\071\060\067\006\003\125\004\013\023\060\050\143\051
-\040\062\060\060\071\040\105\156\164\162\165\163\164\054\040\111
-\156\143\056\040\055\040\146\157\162\040\141\165\164\150\157\162
-\151\172\145\144\040\165\163\145\040\157\156\154\171\061\062\060
-\060\006\003\125\004\003\023\051\105\156\164\162\165\163\164\040
-\122\157\157\164\040\103\145\162\164\151\146\151\143\141\164\151
-\157\156\040\101\165\164\150\157\162\151\164\171\040\055\040\107
-\062
+\060\170\061\013\060\011\006\003\125\004\006\023\002\105\123\061
+\021\060\017\006\003\125\004\012\014\010\106\116\115\124\055\122
+\103\115\061\016\060\014\006\003\125\004\013\014\005\103\145\162
+\145\163\061\030\060\026\006\003\125\004\141\014\017\126\101\124
+\105\123\055\121\062\070\062\066\060\060\064\112\061\054\060\052
+\006\003\125\004\003\014\043\101\103\040\122\101\111\132\040\106
+\116\115\124\055\122\103\115\040\123\105\122\126\111\104\117\122
+\105\123\040\123\105\107\125\122\117\123
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\004\112\123\214\050
+\002\020\142\366\062\154\345\304\343\150\134\033\142\335\234\056
+\235\225
 END
 CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
-CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
 CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
 CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
 
 #
-# Certificate "Entrust Root Certification Authority - EC1"
+# Certificate "GlobalSign Secure Mail Root R45"
 #
-# 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
-# Fingerprint (SHA1): 20:D8:06:40:DF:9B:25:F5:12:25:3A:11:EA:F7:59:8A:EB:14:B5:47
+# Issuer: CN=GlobalSign Secure Mail Root R45,O=GlobalSign nv-sa,C=BE
+# Serial Number:76:53:fe:a8:4c:50:ab:9f:8d:32:b5:1d:03:8f:57:dc
+# Subject: CN=GlobalSign Secure Mail Root R45,O=GlobalSign nv-sa,C=BE
+# Not Valid Before: Wed Mar 18 00:00:00 2020
+# Not Valid After : Sat Mar 18 00:00:00 2045
+# Fingerprint (SHA-256): 31:9A:F0:A7:72:9E:6F:89:26:9C:13:1E:A6:A3:A1:6F:CD:86:38:9F:DC:AB:3C:47:A4:A6:75:C1:61:A3:F9:74
+# Fingerprint (SHA1): 76:18:D1:F3:80:24:3D:52:40:C6:11:6A:AD:57:77:09:7D:81:30:A0
 CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "Entrust Root Certification Authority - EC1"
+CKA_LABEL UTF8 "GlobalSign Secure Mail Root R45"
 CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
 CKA_SUBJECT MULTILINE_OCTAL
-\060\201\277\061\013\060\011\006\003\125\004\006\023\002\125\123
-\061\026\060\024\006\003\125\004\012\023\015\105\156\164\162\165
-\163\164\054\040\111\156\143\056\061\050\060\046\006\003\125\004
-\013\023\037\123\145\145\040\167\167\167\056\145\156\164\162\165
-\163\164\056\156\145\164\057\154\145\147\141\154\055\164\145\162
-\155\163\061\071\060\067\006\003\125\004\013\023\060\050\143\051
-\040\062\060\061\062\040\105\156\164\162\165\163\164\054\040\111
-\156\143\056\040\055\040\146\157\162\040\141\165\164\150\157\162
-\151\172\145\144\040\165\163\145\040\157\156\154\171\061\063\060
-\061\006\003\125\004\003\023\052\105\156\164\162\165\163\164\040
-\122\157\157\164\040\103\145\162\164\151\146\151\143\141\164\151
-\157\156\040\101\165\164\150\157\162\151\164\171\040\055\040\105
-\103\061
+\060\122\061\013\060\011\006\003\125\004\006\023\002\102\105\061
+\031\060\027\006\003\125\004\012\023\020\107\154\157\142\141\154
+\123\151\147\156\040\156\166\055\163\141\061\050\060\046\006\003
+\125\004\003\023\037\107\154\157\142\141\154\123\151\147\156\040
+\123\145\143\165\162\145\040\115\141\151\154\040\122\157\157\164
+\040\122\064\065
 END
 CKA_ID UTF8 "0"
 CKA_ISSUER MULTILINE_OCTAL
-\060\201\277\061\013\060\011\006\003\125\004\006\023\002\125\123
-\061\026\060\024\006\003\125\004\012\023\015\105\156\164\162\165
-\163\164\054\040\111\156\143\056\061\050\060\046\006\003\125\004
-\013\023\037\123\145\145\040\167\167\167\056\145\156\164\162\165
-\163\164\056\156\145\164\057\154\145\147\141\154\055\164\145\162
-\155\163\061\071\060\067\006\003\125\004\013\023\060\050\143\051
-\040\062\060\061\062\040\105\156\164\162\165\163\164\054\040\111
-\156\143\056\040\055\040\146\157\162\040\141\165\164\150\157\162
-\151\172\145\144\040\165\163\145\040\157\156\154\171\061\063\060
-\061\006\003\125\004\003\023\052\105\156\164\162\165\163\164\040
-\122\157\157\164\040\103\145\162\164\151\146\151\143\141\164\151
-\157\156\040\101\165\164\150\157\162\151\164\171\040\055\040\105
-\103\061
+\060\122\061\013\060\011\006\003\125\004\006\023\002\102\105\061
+\031\060\027\006\003\125\004\012\023\020\107\154\157\142\141\154
+\123\151\147\156\040\156\166\055\163\141\061\050\060\046\006\003
+\125\004\003\023\037\107\154\157\142\141\154\123\151\147\156\040
+\123\145\143\165\162\145\040\115\141\151\154\040\122\157\157\164
+\040\122\064\065
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\020\166\123\376\250\114\120\253\237\215\062\265\035\003\217
+\127\334
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\005\160\060\202\003\130\240\003\002\001\002\002\020\166
+\123\376\250\114\120\253\237\215\062\265\035\003\217\127\334\060
+\015\006\011\052\206\110\206\367\015\001\001\014\005\000\060\122
+\061\013\060\011\006\003\125\004\006\023\002\102\105\061\031\060
+\027\006\003\125\004\012\023\020\107\154\157\142\141\154\123\151
+\147\156\040\156\166\055\163\141\061\050\060\046\006\003\125\004
+\003\023\037\107\154\157\142\141\154\123\151\147\156\040\123\145
+\143\165\162\145\040\115\141\151\154\040\122\157\157\164\040\122
+\064\065\060\036\027\015\062\060\060\063\061\070\060\060\060\060
+\060\060\132\027\015\064\065\060\063\061\070\060\060\060\060\060
+\060\132\060\122\061\013\060\011\006\003\125\004\006\023\002\102
+\105\061\031\060\027\006\003\125\004\012\023\020\107\154\157\142
+\141\154\123\151\147\156\040\156\166\055\163\141\061\050\060\046
+\006\003\125\004\003\023\037\107\154\157\142\141\154\123\151\147
+\156\040\123\145\143\165\162\145\040\115\141\151\154\040\122\157
+\157\164\040\122\064\065\060\202\002\042\060\015\006\011\052\206
+\110\206\367\015\001\001\001\005\000\003\202\002\017\000\060\202
+\002\012\002\202\002\001\000\334\171\314\155\006\371\155\273\340
+\126\004\154\177\340\165\314\055\005\111\350\113\334\124\354\133
+\167\225\162\277\177\142\235\205\251\212\044\120\137\123\345\333
+\164\157\244\051\133\023\052\011\255\232\305\057\302\367\166\073
+\241\105\106\252\103\346\044\376\053\260\157\062\160\031\106\132
+\171\046\057\374\075\175\137\144\313\127\314\141\141\250\331\225
+\156\343\225\240\156\177\107\022\030\326\357\003\311\373\212\372
+\232\275\202\025\251\125\167\113\021\117\131\340\153\303\161\363
+\014\330\124\325\201\150\076\023\271\025\056\207\212\074\104\047
+\066\142\044\156\370\054\005\162\060\141\275\102\221\043\304\235
+\045\247\331\124\232\024\243\061\255\200\171\014\247\143\154\230
+\243\254\127\107\063\037\145\226\341\320\322\065\332\371\161\367
+\241\246\045\265\101\135\337\076\140\330\321\366\237\245\362\270
+\314\023\252\217\371\262\156\341\203\055\223\335\076\205\032\335
+\350\261\134\046\001\313\111\205\374\374\322\324\177\205\142\206
+\164\371\313\354\065\042\242\014\060\217\073\253\171\353\126\362
+\372\102\363\355\371\037\105\211\100\051\255\352\222\164\352\122
+\375\126\264\053\332\242\355\165\302\156\253\316\122\220\113\366
+\336\360\111\217\232\110\324\210\031\155\105\346\314\214\271\335
+\144\140\140\002\100\370\271\317\274\130\353\075\205\271\306\012
+\323\234\007\146\217\307\030\071\043\106\341\074\036\243\057\120
+\141\222\013\075\053\154\361\243\107\070\127\221\253\015\217\306
+\235\115\004\322\046\122\134\345\245\375\052\055\026\052\001\151
+\347\251\175\341\066\267\261\052\305\331\261\215\275\271\213\316
+\314\213\241\076\013\110\315\120\225\064\304\330\010\131\330\153
+\046\364\276\365\324\042\027\000\127\311\256\233\004\060\063\237
+\013\373\337\126\242\311\156\124\166\332\261\227\142\047\131\017
+\021\212\042\033\144\226\077\250\361\267\044\112\215\074\123\174
+\155\203\166\075\262\046\110\163\365\104\026\001\055\011\052\216
+\026\226\120\320\163\006\135\273\042\110\202\114\012\106\132\077
+\200\377\134\362\362\232\254\054\010\340\326\352\360\022\070\201
+\117\246\020\355\106\253\314\026\234\013\317\144\246\231\002\205
+\104\147\106\255\375\115\347\002\003\001\000\001\243\102\060\100
+\060\016\006\003\125\035\017\001\001\377\004\004\003\002\001\206
+\060\017\006\003\125\035\023\001\001\377\004\005\060\003\001\001
+\377\060\035\006\003\125\035\016\004\026\004\024\240\223\025\050
+\156\356\217\010\262\065\306\236\142\171\164\247\261\016\053\173
+\060\015\006\011\052\206\110\206\367\015\001\001\014\005\000\003
+\202\002\001\000\105\012\370\321\134\254\142\201\320\004\327\266
+\377\127\121\211\013\014\313\336\044\145\067\373\253\236\355\146
+\364\352\014\031\151\211\270\031\261\060\126\264\331\366\367\276
+\306\256\227\313\105\366\021\214\072\060\144\114\301\237\131\300
+\106\102\010\006\107\144\027\170\340\225\007\006\326\214\242\254
+\251\331\077\323\173\126\117\374\304\207\050\337\266\053\026\043
+\300\237\037\133\343\326\104\136\042\117\043\004\214\065\026\265
+\171\007\206\134\057\227\342\366\010\144\246\334\333\250\212\343
+\244\173\167\015\321\051\223\050\040\264\123\243\113\116\137\336
+\301\366\165\043\374\037\074\170\117\160\061\170\057\242\065\124
+\161\004\254\310\304\155\303\366\221\261\376\315\356\104\156\201
+\366\100\305\076\052\001\277\253\114\261\003\077\015\021\344\017
+\322\044\343\042\210\233\237\137\107\075\121\111\340\011\067\176
+\027\041\061\166\267\147\161\110\050\113\045\327\020\350\237\141
+\131\026\305\076\062\116\037\014\316\243\314\017\344\307\021\007
+\042\057\070\010\335\133\227\353\102\154\131\232\232\356\172\320
+\235\337\305\333\011\103\056\012\252\031\075\153\350\152\060\172
+\127\346\277\263\152\071\251\217\343\361\117\145\150\266\275\237
+\050\217\241\026\132\011\120\072\062\056\035\057\104\021\102\246
+\000\346\061\230\377\055\241\017\346\244\140\126\317\171\327\262
+\116\327\260\372\156\014\127\043\307\316\037\245\261\114\155\031
+\111\236\016\177\160\217\161\077\130\050\237\165\335\141\340\072
+\267\071\266\356\227\324\065\121\373\213\111\140\310\074\146\256
+\227\356\215\046\131\127\273\170\360\172\120\060\011\260\140\252
+\237\116\334\311\076\036\072\334\142\223\063\260\072\124\164\157
+\054\061\105\321\153\021\062\152\150\166\366\075\366\152\023\136
+\044\230\347\352\035\232\317\170\202\007\140\367\115\020\323\201
+\232\105\215\236\257\233\334\200\307\103\262\225\150\244\303\016
+\350\012\107\025\277\124\063\334\001\347\325\246\036\163\330\172
+\262\277\057\255\343\125\060\236\337\016\101\274\340\021\365\241
+\014\250\042\341\343\000\243\116\160\174\222\343\004\321\172\102
+\212\165\220\131\343\233\321\114\242\144\275\163\171\233\157\362
+\263\301\366\074
+END
+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
+
+# Trust for "GlobalSign Secure Mail Root R45"
+# Issuer: CN=GlobalSign Secure Mail Root R45,O=GlobalSign nv-sa,C=BE
+# Serial Number:76:53:fe:a8:4c:50:ab:9f:8d:32:b5:1d:03:8f:57:dc
+# Subject: CN=GlobalSign Secure Mail Root R45,O=GlobalSign nv-sa,C=BE
+# Not Valid Before: Wed Mar 18 00:00:00 2020
+# Not Valid After : Sat Mar 18 00:00:00 2045
+# Fingerprint (SHA-256): 31:9A:F0:A7:72:9E:6F:89:26:9C:13:1E:A6:A3:A1:6F:CD:86:38:9F:DC:AB:3C:47:A4:A6:75:C1:61:A3:F9:74
+# Fingerprint (SHA1): 76:18:D1:F3:80:24:3D:52:40:C6:11:6A:AD:57:77:09:7D:81:30:A0
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "GlobalSign Secure Mail Root R45"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\166\030\321\363\200\044\075\122\100\306\021\152\255\127\167\011
+\175\201\060\240
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\223\304\173\263\016\124\107\034\103\054\213\276\160\205\142\051
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\122\061\013\060\011\006\003\125\004\006\023\002\102\105\061
+\031\060\027\006\003\125\004\012\023\020\107\154\157\142\141\154
+\123\151\147\156\040\156\166\055\163\141\061\050\060\046\006\003
+\125\004\003\023\037\107\154\157\142\141\154\123\151\147\156\040
+\123\145\143\165\162\145\040\115\141\151\154\040\122\157\157\164
+\040\122\064\065
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\020\166\123\376\250\114\120\253\237\215\062\265\035\003\217
+\127\334
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "GlobalSign Secure Mail Root E45"
+#
+# Issuer: CN=GlobalSign Secure Mail Root E45,O=GlobalSign nv-sa,C=BE
+# Serial Number:76:53:fe:aa:27:1d:95:46:5d:d6:f1:9e:e5:b8:90:0a
+# Subject: CN=GlobalSign Secure Mail Root E45,O=GlobalSign nv-sa,C=BE
+# Not Valid Before: Wed Mar 18 00:00:00 2020
+# Not Valid After : Sat Mar 18 00:00:00 2045
+# Fingerprint (SHA-256): 5C:BF:6F:B8:1F:D4:17:EA:41:28:CD:6F:81:72:A3:C9:40:20:94:F7:4A:B2:ED:3A:06:B4:40:5D:04:F3:0B:19
+# Fingerprint (SHA1): 18:2E:1F:32:4F:89:DF:BE:FE:88:89:F0:93:C2:C4:A0:2B:67:75:21
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "GlobalSign Secure Mail Root E45"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\122\061\013\060\011\006\003\125\004\006\023\002\102\105\061
+\031\060\027\006\003\125\004\012\023\020\107\154\157\142\141\154
+\123\151\147\156\040\156\166\055\163\141\061\050\060\046\006\003
+\125\004\003\023\037\107\154\157\142\141\154\123\151\147\156\040
+\123\145\143\165\162\145\040\115\141\151\154\040\122\157\157\164
+\040\105\064\065
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\122\061\013\060\011\006\003\125\004\006\023\002\102\105\061
+\031\060\027\006\003\125\004\012\023\020\107\154\157\142\141\154
+\123\151\147\156\040\156\166\055\163\141\061\050\060\046\006\003
+\125\004\003\023\037\107\154\157\142\141\154\123\151\147\156\040
+\123\145\143\165\162\145\040\115\141\151\154\040\122\157\157\164
+\040\105\064\065
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\015\000\246\213\171\051\000\000\000\000\120\320\221\371
+\002\020\166\123\376\252\047\035\225\106\135\326\361\236\345\270
+\220\012
 END
 CKA_VALUE MULTILINE_OCTAL
-\060\202\002\371\060\202\002\200\240\003\002\001\002\002\015\000
-\246\213\171\051\000\000\000\000\120\320\221\371\060\012\006\010
-\052\206\110\316\075\004\003\003\060\201\277\061\013\060\011\006
-\003\125\004\006\023\002\125\123\061\026\060\024\006\003\125\004
-\012\023\015\105\156\164\162\165\163\164\054\040\111\156\143\056
-\061\050\060\046\006\003\125\004\013\023\037\123\145\145\040\167
-\167\167\056\145\156\164\162\165\163\164\056\156\145\164\057\154
-\145\147\141\154\055\164\145\162\155\163\061\071\060\067\006\003
-\125\004\013\023\060\050\143\051\040\062\060\061\062\040\105\156
-\164\162\165\163\164\054\040\111\156\143\056\040\055\040\146\157
-\162\040\141\165\164\150\157\162\151\172\145\144\040\165\163\145
-\040\157\156\154\171\061\063\060\061\006\003\125\004\003\023\052
-\105\156\164\162\165\163\164\040\122\157\157\164\040\103\145\162
-\164\151\146\151\143\141\164\151\157\156\040\101\165\164\150\157
-\162\151\164\171\040\055\040\105\103\061\060\036\027\015\061\062
-\061\062\061\070\061\065\062\065\063\066\132\027\015\063\067\061
-\062\061\070\061\065\065\065\063\066\132\060\201\277\061\013\060
-\011\006\003\125\004\006\023\002\125\123\061\026\060\024\006\003
-\125\004\012\023\015\105\156\164\162\165\163\164\054\040\111\156
-\143\056\061\050\060\046\006\003\125\004\013\023\037\123\145\145
-\040\167\167\167\056\145\156\164\162\165\163\164\056\156\145\164
-\057\154\145\147\141\154\055\164\145\162\155\163\061\071\060\067
-\006\003\125\004\013\023\060\050\143\051\040\062\060\061\062\040
-\105\156\164\162\165\163\164\054\040\111\156\143\056\040\055\040
-\146\157\162\040\141\165\164\150\157\162\151\172\145\144\040\165
-\163\145\040\157\156\154\171\061\063\060\061\006\003\125\004\003
-\023\052\105\156\164\162\165\163\164\040\122\157\157\164\040\103
-\145\162\164\151\146\151\143\141\164\151\157\156\040\101\165\164
-\150\157\162\151\164\171\040\055\040\105\103\061\060\166\060\020
-\006\007\052\206\110\316\075\002\001\006\005\053\201\004\000\042
-\003\142\000\004\204\023\311\320\272\155\101\173\342\154\320\353
-\125\137\146\002\032\044\364\133\211\151\107\343\270\302\175\361
-\362\002\305\237\240\366\133\325\213\006\031\206\117\123\020\155
-\007\044\047\241\240\370\325\107\031\141\114\175\312\223\047\352
-\164\014\357\157\226\011\376\143\354\160\135\066\255\147\167\256
-\311\235\174\125\104\072\242\143\121\037\365\343\142\324\251\107
-\007\076\314\040\243\102\060\100\060\016\006\003\125\035\017\001
-\001\377\004\004\003\002\001\006\060\017\006\003\125\035\023\001
-\001\377\004\005\060\003\001\001\377\060\035\006\003\125\035\016
-\004\026\004\024\267\143\347\032\335\215\351\010\246\125\203\244
-\340\152\120\101\145\021\102\111\060\012\006\010\052\206\110\316
-\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
+\060\202\002\041\060\202\001\247\240\003\002\001\002\002\020\166
+\123\376\252\047\035\225\106\135\326\361\236\345\270\220\012\060
+\012\006\010\052\206\110\316\075\004\003\003\060\122\061\013\060
+\011\006\003\125\004\006\023\002\102\105\061\031\060\027\006\003
+\125\004\012\023\020\107\154\157\142\141\154\123\151\147\156\040
+\156\166\055\163\141\061\050\060\046\006\003\125\004\003\023\037
+\107\154\157\142\141\154\123\151\147\156\040\123\145\143\165\162
+\145\040\115\141\151\154\040\122\157\157\164\040\105\064\065\060
+\036\027\015\062\060\060\063\061\070\060\060\060\060\060\060\132
+\027\015\064\065\060\063\061\070\060\060\060\060\060\060\132\060
+\122\061\013\060\011\006\003\125\004\006\023\002\102\105\061\031
+\060\027\006\003\125\004\012\023\020\107\154\157\142\141\154\123
+\151\147\156\040\156\166\055\163\141\061\050\060\046\006\003\125
+\004\003\023\037\107\154\157\142\141\154\123\151\147\156\040\123
+\145\143\165\162\145\040\115\141\151\154\040\122\157\157\164\040
+\105\064\065\060\166\060\020\006\007\052\206\110\316\075\002\001
+\006\005\053\201\004\000\042\003\142\000\004\371\171\213\201\107
+\067\211\226\077\105\111\120\177\032\046\013\223\062\176\056\300
+\300\247\010\232\303\156\217\233\076\013\042\354\067\123\267\157
+\212\260\274\047\067\113\155\251\106\073\331\037\377\245\241\104
+\273\055\163\277\236\101\007\134\123\233\121\010\072\132\273\157
+\070\307\026\221\170\302\112\023\151\035\202\337\132\057\000\210
+\226\242\056\034\164\371\235\176\146\067\212\243\102\060\100\060
+\016\006\003\125\035\017\001\001\377\004\004\003\002\001\206\060
+\017\006\003\125\035\023\001\001\377\004\005\060\003\001\001\377
+\060\035\006\003\125\035\016\004\026\004\024\337\023\136\213\137
+\302\100\002\375\126\267\224\114\266\036\325\246\261\024\226\060
+\012\006\010\052\206\110\316\075\004\003\003\003\150\000\060\145
+\002\060\023\260\276\327\161\040\076\344\253\234\316\066\022\175
+\137\114\037\052\265\151\105\063\137\323\055\132\262\344\210\307
+\336\012\066\102\062\171\235\246\153\272\341\371\104\052\173\212
+\303\022\002\061\000\240\146\034\116\207\235\207\311\355\231\114
+\033\012\356\055\140\303\067\307\035\315\265\162\260\331\306\357
+\274\362\377\077\360\122\335\010\347\252\144\171\303\344\151\127
+\221\057\244\313\174
 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
-# Fingerprint (SHA1): 20:D8:06:40:DF:9B:25:F5:12:25:3A:11:EA:F7:59:8A:EB:14:B5:47
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
+
+# Trust for "GlobalSign Secure Mail Root E45"
+# Issuer: CN=GlobalSign Secure Mail Root E45,O=GlobalSign nv-sa,C=BE
+# Serial Number:76:53:fe:aa:27:1d:95:46:5d:d6:f1:9e:e5:b8:90:0a
+# Subject: CN=GlobalSign Secure Mail Root E45,O=GlobalSign nv-sa,C=BE
+# Not Valid Before: Wed Mar 18 00:00:00 2020
+# Not Valid After : Sat Mar 18 00:00:00 2045
+# Fingerprint (SHA-256): 5C:BF:6F:B8:1F:D4:17:EA:41:28:CD:6F:81:72:A3:C9:40:20:94:F7:4A:B2:ED:3A:06:B4:40:5D:04:F3:0B:19
+# Fingerprint (SHA1): 18:2E:1F:32:4F:89:DF:BE:FE:88:89:F0:93:C2:C4:A0:2B:67:75:21
 CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "Entrust Root Certification Authority - EC1"
+CKA_LABEL UTF8 "GlobalSign Secure Mail Root E45"
 CKA_CERT_SHA1_HASH MULTILINE_OCTAL
-\040\330\006\100\337\233\045\365\022\045\072\021\352\367\131\212
-\353\024\265\107
+\030\056\037\062\117\211\337\276\376\210\211\360\223\302\304\240
+\053\147\165\041
 END
 CKA_CERT_MD5_HASH MULTILINE_OCTAL
-\266\176\035\360\130\305\111\154\044\073\075\355\230\030\355\274
+\305\374\306\056\237\364\122\055\052\250\244\272\373\147\062\377
 END
 CKA_ISSUER MULTILINE_OCTAL
-\060\201\277\061\013\060\011\006\003\125\004\006\023\002\125\123
-\061\026\060\024\006\003\125\004\012\023\015\105\156\164\162\165
-\163\164\054\040\111\156\143\056\061\050\060\046\006\003\125\004
-\013\023\037\123\145\145\040\167\167\167\056\145\156\164\162\165
-\163\164\056\156\145\164\057\154\145\147\141\154\055\164\145\162
-\155\163\061\071\060\067\006\003\125\004\013\023\060\050\143\051
-\040\062\060\061\062\040\105\156\164\162\165\163\164\054\040\111
-\156\143\056\040\055\040\146\157\162\040\141\165\164\150\157\162
-\151\172\145\144\040\165\163\145\040\157\156\154\171\061\063\060
-\061\006\003\125\004\003\023\052\105\156\164\162\165\163\164\040
-\122\157\157\164\040\103\145\162\164\151\146\151\143\141\164\151
-\157\156\040\101\165\164\150\157\162\151\164\171\040\055\040\105
-\103\061
+\060\122\061\013\060\011\006\003\125\004\006\023\002\102\105\061
+\031\060\027\006\003\125\004\012\023\020\107\154\157\142\141\154
+\123\151\147\156\040\156\166\055\163\141\061\050\060\046\006\003
+\125\004\003\023\037\107\154\157\142\141\154\123\151\147\156\040
+\123\145\143\165\162\145\040\115\141\151\154\040\122\157\157\164
+\040\105\064\065
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\015\000\246\213\171\051\000\000\000\000\120\320\221\371
+\002\020\166\123\376\252\047\035\225\106\135\326\361\236\345\270
+\220\012
 END
-CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
 CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
 CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
 CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
 
 #
-# Certificate "CFCA EV ROOT"
+# Certificate "GlobalSign Root R46"
 #
-# 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
-# Fingerprint (SHA1): E2:B8:29:4B:55:84:AB:6B:58:C2:90:46:6C:AC:3F:B8:39:8F:84:83
+# Issuer: CN=GlobalSign Root R46,O=GlobalSign nv-sa,C=BE
+# Serial Number:11:d2:bb:b9:d7:23:18:9e:40:5f:0a:9d:2d:d0:df:25:67:d1
+# Subject: CN=GlobalSign Root R46,O=GlobalSign nv-sa,C=BE
+# Not Valid Before: Wed Mar 20 00:00:00 2019
+# Not Valid After : Tue Mar 20 00:00:00 2046
+# Fingerprint (SHA-256): 4F:A3:12:6D:8D:3A:11:D1:C4:85:5A:4F:80:7C:BA:D6:CF:91:9D:3A:5A:88:B0:3B:EA:2C:63:72:D9:3C:40:C9
+# Fingerprint (SHA1): 53:A2:B0:4B:CA:6B:D6:45:E6:39:8A:8E:C4:0D:D2:BF:77:C3:A2:90
 CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "CFCA EV ROOT"
+CKA_LABEL UTF8 "GlobalSign Root R46"
 CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
 CKA_SUBJECT MULTILINE_OCTAL
-\060\126\061\013\060\011\006\003\125\004\006\023\002\103\116\061
-\060\060\056\006\003\125\004\012\014\047\103\150\151\156\141\040
-\106\151\156\141\156\143\151\141\154\040\103\145\162\164\151\146
-\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164
-\171\061\025\060\023\006\003\125\004\003\014\014\103\106\103\101
-\040\105\126\040\122\117\117\124
+\060\106\061\013\060\011\006\003\125\004\006\023\002\102\105\061
+\031\060\027\006\003\125\004\012\023\020\107\154\157\142\141\154
+\123\151\147\156\040\156\166\055\163\141\061\034\060\032\006\003
+\125\004\003\023\023\107\154\157\142\141\154\123\151\147\156\040
+\122\157\157\164\040\122\064\066
 END
 CKA_ID UTF8 "0"
 CKA_ISSUER MULTILINE_OCTAL
-\060\126\061\013\060\011\006\003\125\004\006\023\002\103\116\061
-\060\060\056\006\003\125\004\012\014\047\103\150\151\156\141\040
-\106\151\156\141\156\143\151\141\154\040\103\145\162\164\151\146
-\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164
-\171\061\025\060\023\006\003\125\004\003\014\014\103\106\103\101
-\040\105\126\040\122\117\117\124
+\060\106\061\013\060\011\006\003\125\004\006\023\002\102\105\061
+\031\060\027\006\003\125\004\012\023\020\107\154\157\142\141\154
+\123\151\147\156\040\156\166\055\163\141\061\034\060\032\006\003
+\125\004\003\023\023\107\154\157\142\141\154\123\151\147\156\040
+\122\157\157\164\040\122\064\066
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\004\030\112\314\326
+\002\022\021\322\273\271\327\043\030\236\100\137\012\235\055\320
+\337\045\147\321
 END
 CKA_VALUE MULTILINE_OCTAL
-\060\202\005\215\060\202\003\165\240\003\002\001\002\002\004\030
-\112\314\326\060\015\006\011\052\206\110\206\367\015\001\001\013
-\005\000\060\126\061\013\060\011\006\003\125\004\006\023\002\103
-\116\061\060\060\056\006\003\125\004\012\014\047\103\150\151\156
-\141\040\106\151\156\141\156\143\151\141\154\040\103\145\162\164
-\151\146\151\143\141\164\151\157\156\040\101\165\164\150\157\162
-\151\164\171\061\025\060\023\006\003\125\004\003\014\014\103\106
-\103\101\040\105\126\040\122\117\117\124\060\036\027\015\061\062
-\060\070\060\070\060\063\060\067\060\061\132\027\015\062\071\061
-\062\063\061\060\063\060\067\060\061\132\060\126\061\013\060\011
-\006\003\125\004\006\023\002\103\116\061\060\060\056\006\003\125
-\004\012\014\047\103\150\151\156\141\040\106\151\156\141\156\143
-\151\141\154\040\103\145\162\164\151\146\151\143\141\164\151\157
-\156\040\101\165\164\150\157\162\151\164\171\061\025\060\023\006
-\003\125\004\003\014\014\103\106\103\101\040\105\126\040\122\117
-\117\124\060\202\002\042\060\015\006\011\052\206\110\206\367\015
-\001\001\001\005\000\003\202\002\017\000\060\202\002\012\002\202
-\002\001\000\327\135\153\315\020\077\037\005\131\325\005\115\067
-\261\016\354\230\053\216\025\035\372\223\113\027\202\041\161\020
-\122\327\121\144\160\026\302\125\151\115\216\025\155\237\277\014
-\033\302\340\243\147\326\014\254\317\042\256\257\167\124\052\113
-\114\212\123\122\172\303\356\056\336\263\161\045\301\351\135\075
-\356\241\057\243\367\052\074\311\043\035\152\253\035\241\247\361
-\363\354\240\325\104\317\025\317\162\057\035\143\227\350\231\371
-\375\223\244\124\200\114\122\324\122\253\056\111\337\220\315\270
-\137\276\077\336\241\312\115\040\324\045\350\204\051\123\267\261
-\210\037\377\372\332\220\237\012\251\055\101\077\261\361\030\051
-\356\026\131\054\064\111\032\250\006\327\250\210\322\003\162\172
-\062\342\352\150\115\156\054\226\145\173\312\131\372\362\342\335
-\356\060\054\373\314\106\254\304\143\353\157\177\066\053\064\163
-\022\224\177\337\314\046\236\361\162\135\120\145\131\217\151\263
-\207\136\062\157\303\030\212\265\225\217\260\172\067\336\132\105
-\073\307\066\341\357\147\321\071\323\227\133\163\142\031\110\055
-\207\034\006\373\164\230\040\111\163\360\005\322\033\261\240\243
-\267\033\160\323\210\151\271\132\326\070\364\142\334\045\213\170
-\277\370\350\176\270\134\311\225\117\137\247\055\271\040\153\317
-\153\335\365\015\364\202\267\364\262\146\056\020\050\366\227\132
-\173\226\026\217\001\031\055\154\156\177\071\130\006\144\203\001
-\203\203\303\115\222\335\062\306\207\244\067\351\026\316\252\055
-\150\257\012\201\145\072\160\301\233\255\115\155\124\312\052\055
-\113\205\033\263\200\346\160\105\015\153\136\065\360\177\073\270
-\234\344\004\160\211\022\045\223\332\012\231\042\140\152\143\140
-\116\166\006\230\116\275\203\255\035\130\212\045\205\322\307\145
-\036\055\216\306\337\266\306\341\177\212\004\041\025\051\164\360
-\076\234\220\235\014\056\361\212\076\132\252\014\011\036\307\325
-\074\243\355\227\303\036\064\372\070\371\010\016\343\300\135\053
-\203\321\126\152\311\266\250\124\123\056\170\062\147\075\202\177
-\164\320\373\341\266\005\140\271\160\333\216\013\371\023\130\157
-\161\140\020\122\020\271\301\101\011\357\162\037\147\061\170\377
-\226\005\215\002\003\001\000\001\243\143\060\141\060\037\006\003
-\125\035\043\004\030\060\026\200\024\343\376\055\375\050\320\013
-\265\272\266\242\304\277\006\252\005\214\223\373\057\060\017\006
-\003\125\035\023\001\001\377\004\005\060\003\001\001\377\060\016
-\006\003\125\035\017\001\001\377\004\004\003\002\001\006\060\035
-\006\003\125\035\016\004\026\004\024\343\376\055\375\050\320\013
-\265\272\266\242\304\277\006\252\005\214\223\373\057\060\015\006
-\011\052\206\110\206\367\015\001\001\013\005\000\003\202\002\001
-\000\045\306\272\153\353\207\313\336\202\071\226\075\360\104\247
-\153\204\163\003\336\235\053\117\272\040\177\274\170\262\317\227
-\260\033\234\363\327\171\056\365\110\266\322\373\027\210\346\323
-\172\077\355\123\023\320\342\057\152\171\313\000\043\050\346\036
-\067\127\065\211\204\302\166\117\064\066\255\147\303\316\101\006
-\210\305\367\356\330\032\270\326\013\177\120\377\223\252\027\113
-\214\354\355\122\140\262\244\006\352\116\353\364\153\031\375\353
-\365\032\340\045\052\232\334\307\101\066\367\310\164\005\204\071
-\225\071\326\013\073\244\047\372\010\330\134\036\370\004\140\122
-\021\050\050\003\377\357\123\146\000\245\112\064\026\146\174\375
-\011\244\256\236\147\032\157\101\013\153\006\023\233\217\206\161
-\005\264\057\215\211\146\063\051\166\124\232\021\370\047\372\262
-\077\221\340\316\015\033\363\060\032\255\277\042\135\033\323\277
-\045\005\115\341\222\032\177\231\237\074\104\223\312\324\100\111
-\154\200\207\327\004\072\303\062\122\065\016\126\370\245\335\175
-\304\213\015\021\037\123\313\036\262\027\266\150\167\132\340\324
-\313\310\007\256\365\072\056\216\067\267\320\001\113\103\051\167
-\214\071\227\217\202\132\370\121\345\211\240\030\347\150\177\135
-\012\056\373\243\107\016\075\246\043\172\306\001\307\217\310\136
-\277\155\200\126\276\212\044\272\063\352\237\341\062\021\236\361
-\322\117\200\366\033\100\257\070\236\021\120\171\163\022\022\315
-\346\154\235\054\210\162\074\060\201\006\221\042\352\131\255\332
-\031\056\042\302\215\271\214\207\340\146\274\163\043\137\041\144
-\143\200\110\365\240\074\030\075\224\310\110\101\035\100\272\136
-\376\376\126\071\241\310\317\136\236\031\144\106\020\332\027\221
-\267\005\200\254\213\231\222\175\347\242\330\007\013\066\047\347
-\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
+\060\202\005\132\060\202\003\102\240\003\002\001\002\002\022\021
+\322\273\271\327\043\030\236\100\137\012\235\055\320\337\045\147
+\321\060\015\006\011\052\206\110\206\367\015\001\001\014\005\000
+\060\106\061\013\060\011\006\003\125\004\006\023\002\102\105\061
+\031\060\027\006\003\125\004\012\023\020\107\154\157\142\141\154
+\123\151\147\156\040\156\166\055\163\141\061\034\060\032\006\003
+\125\004\003\023\023\107\154\157\142\141\154\123\151\147\156\040
+\122\157\157\164\040\122\064\066\060\036\027\015\061\071\060\063
+\062\060\060\060\060\060\060\060\132\027\015\064\066\060\063\062
+\060\060\060\060\060\060\060\132\060\106\061\013\060\011\006\003
+\125\004\006\023\002\102\105\061\031\060\027\006\003\125\004\012
+\023\020\107\154\157\142\141\154\123\151\147\156\040\156\166\055
+\163\141\061\034\060\032\006\003\125\004\003\023\023\107\154\157
+\142\141\154\123\151\147\156\040\122\157\157\164\040\122\064\066
+\060\202\002\042\060\015\006\011\052\206\110\206\367\015\001\001
+\001\005\000\003\202\002\017\000\060\202\002\012\002\202\002\001
+\000\254\254\164\062\350\263\145\345\272\355\103\046\035\246\211
+\015\105\272\051\210\262\244\035\143\335\323\301\054\011\127\211
+\071\241\125\351\147\064\167\014\156\344\125\035\122\045\322\023
+\153\136\341\035\251\267\175\211\062\137\015\236\237\054\172\143
+\140\100\037\246\260\266\170\217\231\124\226\010\130\256\344\006
+\274\142\005\002\026\277\257\250\043\003\266\224\017\274\156\154
+\302\313\325\246\273\014\351\366\301\002\373\041\336\146\335\027
+\253\164\102\357\360\164\057\045\364\352\153\125\133\220\333\235
+\337\136\207\012\100\373\255\031\153\373\367\312\140\210\336\332
+\301\217\326\256\325\177\324\074\203\356\327\026\114\203\105\063
+\153\047\320\206\320\034\055\153\363\253\175\361\205\251\365\050
+\322\255\357\363\204\113\034\207\374\023\243\072\162\242\132\021
+\053\326\047\161\047\355\201\055\155\146\201\222\207\264\033\130
+\172\314\077\012\372\106\117\115\170\134\370\053\110\343\004\204
+\313\135\366\264\152\263\145\374\102\236\121\046\043\040\313\075
+\024\371\201\355\145\026\000\117\032\144\227\146\010\317\214\173
+\343\053\300\235\371\024\362\033\361\126\152\026\277\054\205\205
+\315\170\070\232\353\102\152\002\064\030\203\027\116\224\126\370
+\266\202\265\363\226\335\075\363\276\177\040\167\076\173\031\043
+\153\054\324\162\163\103\127\175\340\370\327\151\117\027\066\004
+\371\300\220\140\067\105\336\346\014\330\164\215\256\234\242\155
+\164\135\102\276\006\365\331\144\156\002\020\254\211\260\114\073
+\007\115\100\176\044\305\212\230\202\171\216\244\247\202\040\215
+\043\372\047\161\311\337\306\101\164\240\115\366\221\026\334\106
+\214\137\051\143\061\131\161\014\330\157\302\266\062\175\373\346
+\135\123\246\176\025\374\273\165\174\135\354\370\366\027\034\354
+\307\153\031\313\363\173\360\053\007\245\331\154\171\124\166\154
+\235\034\246\156\016\351\171\014\250\043\152\243\337\033\060\061
+\237\261\124\173\376\152\313\146\252\334\145\320\242\236\112\232
+\007\041\153\201\217\333\304\131\372\336\042\300\004\234\343\252
+\133\066\223\350\075\275\172\241\235\013\166\261\013\307\235\375
+\317\230\250\006\302\370\052\243\241\203\240\267\045\162\245\002
+\343\002\003\001\000\001\243\102\060\100\060\016\006\003\125\035
+\017\001\001\377\004\004\003\002\001\206\060\017\006\003\125\035
+\023\001\001\377\004\005\060\003\001\001\377\060\035\006\003\125
+\035\016\004\026\004\024\003\134\253\163\201\207\250\314\260\246
+\325\224\342\066\226\111\377\005\231\054\060\015\006\011\052\206
+\110\206\367\015\001\001\014\005\000\003\202\002\001\000\174\170
+\354\366\002\054\273\133\176\222\053\135\071\334\276\330\035\242
+\102\063\115\371\357\244\052\073\104\151\036\254\331\105\243\116
+\074\247\330\044\121\262\124\034\223\116\304\357\173\223\205\140
+\046\352\011\110\340\365\273\307\351\150\322\273\152\061\161\314
+\171\256\021\250\360\231\375\345\037\274\057\250\314\127\353\166
+\304\041\246\107\123\125\115\150\277\005\244\356\327\046\253\142
+\332\103\067\113\342\306\265\345\262\203\031\072\307\323\333\115
+\236\010\172\363\356\317\076\142\373\254\350\140\314\321\307\241
+\134\203\105\304\105\314\363\027\153\024\311\004\002\076\322\044
+\246\171\351\036\316\242\347\301\131\025\237\035\342\113\232\076
+\237\166\010\055\153\330\272\127\024\332\203\352\376\214\125\351
+\320\116\251\314\167\061\261\104\021\172\134\261\076\323\024\105
+\025\030\142\044\023\322\313\115\316\134\203\301\066\362\020\265
+\016\210\155\270\341\126\237\211\336\226\146\071\107\144\054\156
+\115\256\142\173\277\140\164\031\270\126\254\222\254\026\062\355
+\255\150\125\376\230\272\323\064\336\364\311\141\303\016\206\366
+\113\204\140\356\015\173\265\062\130\171\221\125\054\201\103\263
+\164\037\172\252\045\236\035\327\241\213\271\315\102\056\004\244
+\146\203\115\211\065\266\154\250\066\112\171\041\170\042\320\102
+\274\321\100\061\220\241\276\004\317\312\147\355\365\360\200\323
+\140\311\203\052\042\005\320\007\073\122\277\014\236\252\053\371
+\273\346\037\217\045\272\205\215\027\036\002\376\135\120\004\127
+\317\376\055\274\357\134\300\032\253\266\237\044\306\337\163\150
+\110\220\054\024\364\077\122\032\344\322\313\024\303\141\151\317
+\342\371\030\305\272\063\237\024\243\004\135\271\161\367\265\224
+\330\366\063\301\132\301\064\213\174\233\335\223\072\347\023\242
+\160\141\237\257\217\353\330\305\165\370\063\146\324\164\147\072
+\067\167\234\347\335\244\017\166\103\146\212\103\362\237\373\014
+\102\170\143\321\342\017\157\173\324\241\075\164\227\205\267\110
+\071\101\326\040\374\320\072\263\372\350\157\304\212\272\161\067
+\276\213\227\261\170\061\117\263\347\266\003\023\316\124\235\256
+\045\131\314\177\065\137\010\367\100\105\061\170\052\172
 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
-# Fingerprint (SHA1): E2:B8:29:4B:55:84:AB:6B:58:C2:90:46:6C:AC:3F:B8:39:8F:84:83
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
+
+# Trust for "GlobalSign Root R46"
+# Issuer: CN=GlobalSign Root R46,O=GlobalSign nv-sa,C=BE
+# Serial Number:11:d2:bb:b9:d7:23:18:9e:40:5f:0a:9d:2d:d0:df:25:67:d1
+# Subject: CN=GlobalSign Root R46,O=GlobalSign nv-sa,C=BE
+# Not Valid Before: Wed Mar 20 00:00:00 2019
+# Not Valid After : Tue Mar 20 00:00:00 2046
+# Fingerprint (SHA-256): 4F:A3:12:6D:8D:3A:11:D1:C4:85:5A:4F:80:7C:BA:D6:CF:91:9D:3A:5A:88:B0:3B:EA:2C:63:72:D9:3C:40:C9
+# Fingerprint (SHA1): 53:A2:B0:4B:CA:6B:D6:45:E6:39:8A:8E:C4:0D:D2:BF:77:C3:A2:90
 CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "CFCA EV ROOT"
+CKA_LABEL UTF8 "GlobalSign Root R46"
 CKA_CERT_SHA1_HASH MULTILINE_OCTAL
-\342\270\051\113\125\204\253\153\130\302\220\106\154\254\077\270
-\071\217\204\203
+\123\242\260\113\312\153\326\105\346\071\212\216\304\015\322\277
+\167\303\242\220
 END
 CKA_CERT_MD5_HASH MULTILINE_OCTAL
-\164\341\266\355\046\172\172\104\060\063\224\253\173\047\201\060
+\304\024\060\344\372\146\103\224\052\152\033\044\137\031\320\357
 END
 CKA_ISSUER MULTILINE_OCTAL
-\060\126\061\013\060\011\006\003\125\004\006\023\002\103\116\061
-\060\060\056\006\003\125\004\012\014\047\103\150\151\156\141\040
-\106\151\156\141\156\143\151\141\154\040\103\145\162\164\151\146
-\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164
-\171\061\025\060\023\006\003\125\004\003\014\014\103\106\103\101
-\040\105\126\040\122\117\117\124
+\060\106\061\013\060\011\006\003\125\004\006\023\002\102\105\061
+\031\060\027\006\003\125\004\012\023\020\107\154\157\142\141\154
+\123\151\147\156\040\156\166\055\163\141\061\034\060\032\006\003
+\125\004\003\023\023\107\154\157\142\141\154\123\151\147\156\040
+\122\157\157\164\040\122\064\066
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\004\030\112\314\326
+\002\022\021\322\273\271\327\043\030\236\100\137\012\235\055\320
+\337\045\147\321
 END
 CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
 CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
@@ -17746,306 +18705,273 @@ CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
 CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
 
 #
-# Certificate "Certinomis - Root CA"
+# Certificate "GlobalSign Root E46"
 #
-# 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
-# Fingerprint (SHA1): 9D:70:BB:01:A5:A4:A0:18:11:2E:F7:1C:01:B9:32:C5:34:E7:88:A8
+# Issuer: CN=GlobalSign Root E46,O=GlobalSign nv-sa,C=BE
+# Serial Number:11:d2:bb:ba:33:6e:d4:bc:e6:24:68:c5:0d:84:1d:98:e8:43
+# Subject: CN=GlobalSign Root E46,O=GlobalSign nv-sa,C=BE
+# Not Valid Before: Wed Mar 20 00:00:00 2019
+# Not Valid After : Tue Mar 20 00:00:00 2046
+# Fingerprint (SHA-256): CB:B9:C4:4D:84:B8:04:3E:10:50:EA:31:A6:9F:51:49:55:D7:BF:D2:E2:C6:B4:93:01:01:9A:D6:1D:9F:50:58
+# Fingerprint (SHA1): 39:B4:6C:D5:FE:80:06:EB:E2:2F:4A:BB:08:33:A0:AF:DB:B9:DD:84
 CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "Certinomis - Root CA"
+CKA_LABEL UTF8 "GlobalSign Root E46"
 CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
 CKA_SUBJECT MULTILINE_OCTAL
-\060\132\061\013\060\011\006\003\125\004\006\023\002\106\122\061
-\023\060\021\006\003\125\004\012\023\012\103\145\162\164\151\156
-\157\155\151\163\061\027\060\025\006\003\125\004\013\023\016\060
-\060\060\062\040\064\063\063\071\071\070\071\060\063\061\035\060
-\033\006\003\125\004\003\023\024\103\145\162\164\151\156\157\155
-\151\163\040\055\040\122\157\157\164\040\103\101
+\060\106\061\013\060\011\006\003\125\004\006\023\002\102\105\061
+\031\060\027\006\003\125\004\012\023\020\107\154\157\142\141\154
+\123\151\147\156\040\156\166\055\163\141\061\034\060\032\006\003
+\125\004\003\023\023\107\154\157\142\141\154\123\151\147\156\040
+\122\157\157\164\040\105\064\066
 END
 CKA_ID UTF8 "0"
 CKA_ISSUER MULTILINE_OCTAL
-\060\132\061\013\060\011\006\003\125\004\006\023\002\106\122\061
-\023\060\021\006\003\125\004\012\023\012\103\145\162\164\151\156
-\157\155\151\163\061\027\060\025\006\003\125\004\013\023\016\060
-\060\060\062\040\064\063\063\071\071\070\071\060\063\061\035\060
-\033\006\003\125\004\003\023\024\103\145\162\164\151\156\157\155
-\151\163\040\055\040\122\157\157\164\040\103\101
+\060\106\061\013\060\011\006\003\125\004\006\023\002\102\105\061
+\031\060\027\006\003\125\004\012\023\020\107\154\157\142\141\154
+\123\151\147\156\040\156\166\055\163\141\061\034\060\032\006\003
+\125\004\003\023\023\107\154\157\142\141\154\123\151\147\156\040
+\122\157\157\164\040\105\064\066
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\001\001
+\002\022\021\322\273\272\063\156\324\274\346\044\150\305\015\204
+\035\230\350\103
 END
 CKA_VALUE MULTILINE_OCTAL
-\060\202\005\222\060\202\003\172\240\003\002\001\002\002\001\001
-\060\015\006\011\052\206\110\206\367\015\001\001\013\005\000\060
-\132\061\013\060\011\006\003\125\004\006\023\002\106\122\061\023
-\060\021\006\003\125\004\012\023\012\103\145\162\164\151\156\157
-\155\151\163\061\027\060\025\006\003\125\004\013\023\016\060\060
-\060\062\040\064\063\063\071\071\070\071\060\063\061\035\060\033
-\006\003\125\004\003\023\024\103\145\162\164\151\156\157\155\151
-\163\040\055\040\122\157\157\164\040\103\101\060\036\027\015\061
-\063\061\060\062\061\060\071\061\067\061\070\132\027\015\063\063
-\061\060\062\061\060\071\061\067\061\070\132\060\132\061\013\060
-\011\006\003\125\004\006\023\002\106\122\061\023\060\021\006\003
-\125\004\012\023\012\103\145\162\164\151\156\157\155\151\163\061
-\027\060\025\006\003\125\004\013\023\016\060\060\060\062\040\064
-\063\063\071\071\070\071\060\063\061\035\060\033\006\003\125\004
-\003\023\024\103\145\162\164\151\156\157\155\151\163\040\055\040
-\122\157\157\164\040\103\101\060\202\002\042\060\015\006\011\052
-\206\110\206\367\015\001\001\001\005\000\003\202\002\017\000\060
-\202\002\012\002\202\002\001\000\324\314\011\012\054\077\222\366
-\177\024\236\013\234\232\152\035\100\060\144\375\252\337\016\036
-\006\133\237\120\205\352\315\215\253\103\147\336\260\372\176\200
-\226\236\204\170\222\110\326\343\071\356\316\344\131\130\227\345
-\056\047\230\352\223\250\167\233\112\360\357\164\200\055\353\060
-\037\265\331\307\200\234\142\047\221\210\360\112\211\335\334\210
-\346\024\371\325\003\057\377\225\333\275\237\354\054\372\024\025
-\131\225\012\306\107\174\151\030\271\247\003\371\312\166\251\317
-\307\157\264\136\005\376\356\301\122\262\165\062\207\354\355\051
-\146\073\363\112\026\202\366\326\232\333\162\230\351\336\360\305
-\114\245\253\265\352\001\342\214\056\144\177\144\157\375\243\045
-\223\213\310\242\016\111\215\064\360\037\354\130\105\056\064\252
-\204\120\275\347\262\112\023\270\260\017\256\070\135\260\251\033
-\346\163\311\132\241\331\146\100\252\251\115\246\064\002\255\204
-\176\262\043\301\373\052\306\147\364\064\266\260\225\152\063\117
-\161\104\265\255\300\171\063\210\340\277\355\243\240\024\264\234
-\011\260\012\343\140\276\370\370\146\210\315\133\361\167\005\340
-\265\163\156\301\175\106\056\216\113\047\246\315\065\012\375\345
-\115\175\252\052\243\051\307\132\150\004\350\345\326\223\244\142
-\302\305\346\364\117\306\371\237\032\215\202\111\031\212\312\131
-\103\072\350\015\062\301\364\114\023\003\157\156\246\077\221\163
-\313\312\163\157\022\040\213\356\300\202\170\336\113\056\302\111
-\303\035\355\026\366\044\364\047\033\134\127\061\334\125\356\250
-\036\157\154\254\342\105\314\127\127\212\165\127\031\340\265\130
-\231\111\066\061\074\063\001\155\026\112\315\270\052\203\204\206
-\233\371\140\322\037\155\221\003\323\140\246\325\075\232\335\167
-\220\075\065\244\237\017\136\365\122\104\151\271\300\272\334\317
-\175\337\174\331\304\254\206\042\062\274\173\153\221\357\172\370
-\027\150\260\342\123\125\140\055\257\076\302\203\330\331\011\053
-\360\300\144\333\207\213\221\314\221\353\004\375\166\264\225\232
-\346\024\006\033\325\064\035\276\330\377\164\034\123\205\231\340
-\131\122\112\141\355\210\236\153\111\211\106\176\040\132\331\347
-\112\345\152\356\322\145\021\103\002\003\001\000\001\243\143\060
-\141\060\016\006\003\125\035\017\001\001\377\004\004\003\002\001
-\006\060\017\006\003\125\035\023\001\001\377\004\005\060\003\001
-\001\377\060\035\006\003\125\035\016\004\026\004\024\357\221\114
-\365\245\303\060\350\057\010\352\323\161\042\244\222\150\170\164
-\331\060\037\006\003\125\035\043\004\030\060\026\200\024\357\221
-\114\365\245\303\060\350\057\010\352\323\161\042\244\222\150\170
-\164\331\060\015\006\011\052\206\110\206\367\015\001\001\013\005
-\000\003\202\002\001\000\176\075\124\332\042\135\032\130\076\073
-\124\047\272\272\314\310\343\032\152\352\076\371\022\353\126\137
-\075\120\316\340\352\110\046\046\317\171\126\176\221\034\231\077
-\320\241\221\034\054\017\117\230\225\131\123\275\320\042\330\210
-\135\234\067\374\373\144\301\170\214\213\232\140\011\352\325\372
-\041\137\320\164\145\347\120\305\277\056\271\013\013\255\265\260
-\027\246\022\214\324\142\170\352\126\152\354\012\322\100\303\074
-\005\060\076\115\224\267\237\112\003\323\175\047\113\266\376\104
-\316\372\031\063\032\155\244\102\321\335\314\310\310\327\026\122
-\203\117\065\224\263\022\125\175\345\342\102\353\344\234\223\011
-\300\114\133\007\253\307\155\021\240\120\027\224\043\250\265\012
-\222\017\262\172\301\140\054\070\314\032\246\133\377\362\014\343
-\252\037\034\334\270\240\223\047\336\143\343\177\041\237\072\345
-\236\372\340\023\152\165\353\226\134\142\221\224\216\147\123\266
-\211\370\022\011\313\157\122\133\003\162\206\120\225\010\324\215
-\207\206\025\037\225\044\330\244\157\232\316\244\235\233\155\322
-\262\166\006\206\306\126\010\305\353\011\332\066\302\033\133\101
-\276\141\052\343\160\346\270\246\370\266\132\304\275\041\367\377
-\252\137\241\154\166\071\146\326\352\114\125\341\000\063\233\023
-\230\143\311\157\320\001\040\011\067\122\347\014\117\076\315\274
-\365\137\226\047\247\040\002\225\340\056\350\007\101\005\037\025
-\156\326\260\344\031\340\017\002\223\000\047\162\305\213\321\124
-\037\135\112\303\100\227\176\125\246\174\301\063\004\024\001\035
-\111\040\151\013\031\223\235\156\130\042\367\100\014\106\014\043
-\143\363\071\322\177\166\121\247\364\310\241\361\014\166\042\043
-\106\122\051\055\342\243\101\007\126\151\230\322\005\011\274\151
-\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
+\060\202\002\013\060\202\001\221\240\003\002\001\002\002\022\021
+\322\273\272\063\156\324\274\346\044\150\305\015\204\035\230\350
+\103\060\012\006\010\052\206\110\316\075\004\003\003\060\106\061
+\013\060\011\006\003\125\004\006\023\002\102\105\061\031\060\027
+\006\003\125\004\012\023\020\107\154\157\142\141\154\123\151\147
+\156\040\156\166\055\163\141\061\034\060\032\006\003\125\004\003
+\023\023\107\154\157\142\141\154\123\151\147\156\040\122\157\157
+\164\040\105\064\066\060\036\027\015\061\071\060\063\062\060\060
+\060\060\060\060\060\132\027\015\064\066\060\063\062\060\060\060
+\060\060\060\060\132\060\106\061\013\060\011\006\003\125\004\006
+\023\002\102\105\061\031\060\027\006\003\125\004\012\023\020\107
+\154\157\142\141\154\123\151\147\156\040\156\166\055\163\141\061
+\034\060\032\006\003\125\004\003\023\023\107\154\157\142\141\154
+\123\151\147\156\040\122\157\157\164\040\105\064\066\060\166\060
+\020\006\007\052\206\110\316\075\002\001\006\005\053\201\004\000
+\042\003\142\000\004\234\016\261\317\267\350\236\122\167\165\064
+\372\245\106\247\255\062\031\062\264\007\251\047\312\224\273\014
+\322\012\020\307\332\211\260\227\014\160\023\011\001\216\330\352
+\107\352\276\262\200\053\315\374\050\015\333\254\274\244\206\067
+\355\160\010\000\165\352\223\013\173\056\122\234\043\150\043\006
+\103\354\222\057\123\204\333\373\107\024\007\350\137\224\147\135
+\311\172\201\074\040\243\102\060\100\060\016\006\003\125\035\017
+\001\001\377\004\004\003\002\001\206\060\017\006\003\125\035\023
+\001\001\377\004\005\060\003\001\001\377\060\035\006\003\125\035
+\016\004\026\004\024\061\012\220\217\266\306\235\322\104\113\200
+\265\242\346\037\261\022\117\033\225\060\012\006\010\052\206\110
+\316\075\004\003\003\003\150\000\060\145\002\061\000\337\124\220
+\355\233\357\213\224\002\223\027\202\231\276\263\236\054\366\013
+\221\214\237\112\024\261\366\144\274\273\150\121\023\014\003\367
+\025\213\204\140\271\213\377\122\216\347\214\274\034\002\060\074
+\371\021\324\214\116\300\301\141\302\025\114\252\253\035\013\061
+\137\073\034\342\000\227\104\061\346\376\163\226\057\332\226\323
+\376\010\007\263\064\211\274\005\237\367\036\206\356\213\160
 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
-# Fingerprint (SHA1): 9D:70:BB:01:A5:A4:A0:18:11:2E:F7:1C:01:B9:32:C5:34:E7:88:A8
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
+
+# Trust for "GlobalSign Root E46"
+# Issuer: CN=GlobalSign Root E46,O=GlobalSign nv-sa,C=BE
+# Serial Number:11:d2:bb:ba:33:6e:d4:bc:e6:24:68:c5:0d:84:1d:98:e8:43
+# Subject: CN=GlobalSign Root E46,O=GlobalSign nv-sa,C=BE
+# Not Valid Before: Wed Mar 20 00:00:00 2019
+# Not Valid After : Tue Mar 20 00:00:00 2046
+# Fingerprint (SHA-256): CB:B9:C4:4D:84:B8:04:3E:10:50:EA:31:A6:9F:51:49:55:D7:BF:D2:E2:C6:B4:93:01:01:9A:D6:1D:9F:50:58
+# Fingerprint (SHA1): 39:B4:6C:D5:FE:80:06:EB:E2:2F:4A:BB:08:33:A0:AF:DB:B9:DD:84
 CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "Certinomis - Root CA"
+CKA_LABEL UTF8 "GlobalSign Root E46"
 CKA_CERT_SHA1_HASH MULTILINE_OCTAL
-\235\160\273\001\245\244\240\030\021\056\367\034\001\271\062\305
-\064\347\210\250
+\071\264\154\325\376\200\006\353\342\057\112\273\010\063\240\257
+\333\271\335\204
 END
 CKA_CERT_MD5_HASH MULTILINE_OCTAL
-\024\012\375\215\250\050\265\070\151\333\126\176\141\042\003\077
+\265\270\146\355\336\010\203\343\311\342\001\064\006\254\121\157
 END
 CKA_ISSUER MULTILINE_OCTAL
-\060\132\061\013\060\011\006\003\125\004\006\023\002\106\122\061
-\023\060\021\006\003\125\004\012\023\012\103\145\162\164\151\156
-\157\155\151\163\061\027\060\025\006\003\125\004\013\023\016\060
-\060\060\062\040\064\063\063\071\071\070\071\060\063\061\035\060
-\033\006\003\125\004\003\023\024\103\145\162\164\151\156\157\155
-\151\163\040\055\040\122\157\157\164\040\103\101
+\060\106\061\013\060\011\006\003\125\004\006\023\002\102\105\061
+\031\060\027\006\003\125\004\012\023\020\107\154\157\142\141\154
+\123\151\147\156\040\156\166\055\163\141\061\034\060\032\006\003
+\125\004\003\023\023\107\154\157\142\141\154\123\151\147\156\040
+\122\157\157\164\040\105\064\066
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\001\001
+\002\022\021\322\273\272\063\156\324\274\346\044\150\305\015\204
+\035\230\350\103
 END
 CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
 CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
 CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
 CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
-
-#
-# Certificate "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
-# Fingerprint (SHA1): 0F:F9:40:76:18:D3:D7:6A:4B:98:F0:A8:35:9E:0C:FD:27:AC:CC:ED
+
+#
+# Certificate "GLOBALTRUST 2020"
+#
+# Issuer: CN=GLOBALTRUST 2020,O=e-commerce monitoring GmbH,C=AT
+# Serial Number:5a:4b:bd:5a:fb:4f:8a:5b:fa:65:e5
+# Subject: CN=GLOBALTRUST 2020,O=e-commerce monitoring GmbH,C=AT
+# Not Valid Before: Mon Feb 10 00:00:00 2020
+# Not Valid After : Sun Jun 10 00:00:00 2040
+# Fingerprint (SHA-256): 9A:29:6A:51:82:D1:D4:51:A2:E3:7F:43:9B:74:DA:AF:A2:67:52:33:29:F9:0F:9A:0D:20:07:C3:34:E2:3C:9A
+# Fingerprint (SHA1): D0:67:C1:13:51:01:0C:AA:D0:C7:6A:65:37:31:16:26:4F:53:71:A2
 CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "OISTE WISeKey Global Root GB CA"
+CKA_LABEL UTF8 "GLOBALTRUST 2020"
 CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
 CKA_SUBJECT MULTILINE_OCTAL
-\060\155\061\013\060\011\006\003\125\004\006\023\002\103\110\061
-\020\060\016\006\003\125\004\012\023\007\127\111\123\145\113\145
-\171\061\042\060\040\006\003\125\004\013\023\031\117\111\123\124
-\105\040\106\157\165\156\144\141\164\151\157\156\040\105\156\144
-\157\162\163\145\144\061\050\060\046\006\003\125\004\003\023\037
-\117\111\123\124\105\040\127\111\123\145\113\145\171\040\107\154
-\157\142\141\154\040\122\157\157\164\040\107\102\040\103\101
+\060\115\061\013\060\011\006\003\125\004\006\023\002\101\124\061
+\043\060\041\006\003\125\004\012\023\032\145\055\143\157\155\155
+\145\162\143\145\040\155\157\156\151\164\157\162\151\156\147\040
+\107\155\142\110\061\031\060\027\006\003\125\004\003\023\020\107
+\114\117\102\101\114\124\122\125\123\124\040\062\060\062\060
 END
 CKA_ID UTF8 "0"
 CKA_ISSUER MULTILINE_OCTAL
-\060\155\061\013\060\011\006\003\125\004\006\023\002\103\110\061
-\020\060\016\006\003\125\004\012\023\007\127\111\123\145\113\145
-\171\061\042\060\040\006\003\125\004\013\023\031\117\111\123\124
-\105\040\106\157\165\156\144\141\164\151\157\156\040\105\156\144
-\157\162\163\145\144\061\050\060\046\006\003\125\004\003\023\037
-\117\111\123\124\105\040\127\111\123\145\113\145\171\040\107\154
-\157\142\141\154\040\122\157\157\164\040\107\102\040\103\101
+\060\115\061\013\060\011\006\003\125\004\006\023\002\101\124\061
+\043\060\041\006\003\125\004\012\023\032\145\055\143\157\155\155
+\145\162\143\145\040\155\157\156\151\164\157\162\151\156\147\040
+\107\155\142\110\061\031\060\027\006\003\125\004\003\023\020\107
+\114\117\102\101\114\124\122\125\123\124\040\062\060\062\060
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\020\166\261\040\122\164\360\205\207\106\263\370\043\032\366
-\302\300
+\002\013\132\113\275\132\373\117\212\133\372\145\345
 END
 CKA_VALUE MULTILINE_OCTAL
-\060\202\003\265\060\202\002\235\240\003\002\001\002\002\020\166
-\261\040\122\164\360\205\207\106\263\370\043\032\366\302\300\060
-\015\006\011\052\206\110\206\367\015\001\001\013\005\000\060\155
-\061\013\060\011\006\003\125\004\006\023\002\103\110\061\020\060
-\016\006\003\125\004\012\023\007\127\111\123\145\113\145\171\061
-\042\060\040\006\003\125\004\013\023\031\117\111\123\124\105\040
-\106\157\165\156\144\141\164\151\157\156\040\105\156\144\157\162
-\163\145\144\061\050\060\046\006\003\125\004\003\023\037\117\111
-\123\124\105\040\127\111\123\145\113\145\171\040\107\154\157\142
-\141\154\040\122\157\157\164\040\107\102\040\103\101\060\036\027
-\015\061\064\061\062\060\061\061\065\060\060\063\062\132\027\015
-\063\071\061\062\060\061\061\065\061\060\063\061\132\060\155\061
-\013\060\011\006\003\125\004\006\023\002\103\110\061\020\060\016
-\006\003\125\004\012\023\007\127\111\123\145\113\145\171\061\042
-\060\040\006\003\125\004\013\023\031\117\111\123\124\105\040\106
-\157\165\156\144\141\164\151\157\156\040\105\156\144\157\162\163
-\145\144\061\050\060\046\006\003\125\004\003\023\037\117\111\123
-\124\105\040\127\111\123\145\113\145\171\040\107\154\157\142\141
-\154\040\122\157\157\164\040\107\102\040\103\101\060\202\001\042
-\060\015\006\011\052\206\110\206\367\015\001\001\001\005\000\003
-\202\001\017\000\060\202\001\012\002\202\001\001\000\330\027\267
-\034\112\044\052\326\227\261\312\342\036\373\175\070\357\230\365
-\262\071\230\116\047\270\021\135\173\322\045\224\210\202\025\046
-\152\033\061\273\250\133\041\041\053\330\017\116\237\132\361\261
-\132\344\171\326\062\043\053\341\123\314\231\105\134\173\117\255
-\274\277\207\112\013\113\227\132\250\366\110\354\175\173\015\315
-\041\006\337\236\025\375\101\212\110\267\040\364\241\172\033\127
-\324\135\120\377\272\147\330\043\231\037\310\077\343\336\377\157
-\133\167\261\153\156\270\311\144\367\341\312\101\106\016\051\161
-\320\271\043\374\311\201\137\116\367\157\337\277\204\255\163\144
-\273\267\102\216\151\366\324\166\035\176\235\247\270\127\212\121
-\147\162\327\324\250\270\225\124\100\163\003\366\352\364\353\376
-\050\102\167\077\235\043\033\262\266\075\200\024\007\114\056\117
-\367\325\012\026\015\275\146\103\067\176\043\103\171\303\100\206
-\365\114\051\332\216\232\255\015\245\004\207\210\036\205\343\351
-\123\325\233\310\213\003\143\170\353\340\031\112\156\273\057\153
-\063\144\130\223\255\151\277\217\033\357\202\110\307\002\003\001
-\000\001\243\121\060\117\060\013\006\003\125\035\017\004\004\003
-\002\001\206\060\017\006\003\125\035\023\001\001\377\004\005\060
-\003\001\001\377\060\035\006\003\125\035\016\004\026\004\024\065
-\017\310\066\143\136\342\243\354\371\073\146\025\316\121\122\343
-\221\232\075\060\020\006\011\053\006\001\004\001\202\067\025\001
-\004\003\002\001\000\060\015\006\011\052\206\110\206\367\015\001
-\001\013\005\000\003\202\001\001\000\100\114\373\207\262\231\201
-\220\176\235\305\260\260\046\315\210\173\053\062\215\156\270\041
-\161\130\227\175\256\067\024\257\076\347\367\232\342\175\366\161
-\230\231\004\252\103\164\170\243\343\111\141\076\163\214\115\224
-\340\371\161\304\266\026\016\123\170\037\326\242\207\057\002\071
-\201\051\074\257\025\230\041\060\376\050\220\000\214\321\341\313
-\372\136\310\375\370\020\106\073\242\170\102\221\027\164\125\012
-\336\120\147\115\146\321\247\377\375\331\300\265\250\243\212\316
-\146\365\017\103\315\247\053\127\173\143\106\152\252\056\122\330
-\364\355\341\155\255\051\220\170\110\272\341\043\252\243\211\354
-\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
+\060\202\005\202\060\202\003\152\240\003\002\001\002\002\013\132
+\113\275\132\373\117\212\133\372\145\345\060\015\006\011\052\206
+\110\206\367\015\001\001\013\005\000\060\115\061\013\060\011\006
+\003\125\004\006\023\002\101\124\061\043\060\041\006\003\125\004
+\012\023\032\145\055\143\157\155\155\145\162\143\145\040\155\157
+\156\151\164\157\162\151\156\147\040\107\155\142\110\061\031\060
+\027\006\003\125\004\003\023\020\107\114\117\102\101\114\124\122
+\125\123\124\040\062\060\062\060\060\036\027\015\062\060\060\062
+\061\060\060\060\060\060\060\060\132\027\015\064\060\060\066\061
+\060\060\060\060\060\060\060\132\060\115\061\013\060\011\006\003
+\125\004\006\023\002\101\124\061\043\060\041\006\003\125\004\012
+\023\032\145\055\143\157\155\155\145\162\143\145\040\155\157\156
+\151\164\157\162\151\156\147\040\107\155\142\110\061\031\060\027
+\006\003\125\004\003\023\020\107\114\117\102\101\114\124\122\125
+\123\124\040\062\060\062\060\060\202\002\042\060\015\006\011\052
+\206\110\206\367\015\001\001\001\005\000\003\202\002\017\000\060
+\202\002\012\002\202\002\001\000\256\056\126\255\033\034\357\366
+\225\217\240\167\033\053\323\143\217\204\115\105\242\017\237\133
+\105\253\131\173\121\064\371\354\213\212\170\305\335\153\257\275
+\304\337\223\105\036\277\221\070\013\256\016\026\347\101\163\370
+\333\273\321\270\121\340\313\203\073\163\070\156\167\212\017\131
+\143\046\315\247\052\316\124\373\270\342\300\174\107\316\140\174
+\077\262\163\362\300\031\266\212\222\207\065\015\220\050\242\344
+\025\004\143\076\272\257\356\174\136\314\246\213\120\262\070\367
+\101\143\312\316\377\151\217\150\016\225\066\345\314\271\214\011
+\312\113\335\061\220\226\310\314\037\375\126\226\064\333\216\034
+\352\054\276\205\056\143\335\252\251\225\323\375\051\225\023\360
+\310\230\223\331\055\026\107\220\021\203\242\072\042\242\050\127
+\242\353\376\300\214\050\240\246\175\347\052\102\073\202\200\143
+\245\143\037\031\314\174\262\146\250\302\323\155\067\157\342\176
+\006\121\331\105\204\037\022\316\044\122\144\205\013\110\200\116
+\207\261\042\042\060\252\353\256\276\340\002\340\100\350\260\102
+\200\003\121\252\264\176\252\104\327\103\141\363\242\153\026\211
+\111\244\243\244\053\212\002\304\170\364\150\212\301\344\172\066
+\261\157\033\226\033\167\111\215\324\311\006\162\217\317\123\343
+\334\027\205\040\112\334\230\047\323\221\046\053\107\036\151\007
+\257\336\242\344\344\324\153\013\263\136\174\324\044\200\107\051
+\151\073\156\350\254\375\100\353\330\355\161\161\053\362\350\130
+\035\353\101\227\042\305\037\324\071\320\047\217\207\343\030\364
+\340\251\106\015\365\164\072\202\056\320\156\054\221\243\061\134
+\073\106\352\173\004\020\126\136\200\035\365\245\145\350\202\374
+\342\007\214\142\105\365\040\336\106\160\206\241\274\223\323\036
+\164\246\154\260\054\367\003\014\210\014\313\324\162\123\206\274
+\140\106\363\230\152\302\361\277\103\371\160\040\167\312\067\101
+\171\125\122\143\215\133\022\237\305\150\304\210\235\254\362\060
+\253\267\243\061\227\147\255\217\027\017\154\307\163\355\044\224
+\153\310\203\232\320\232\067\111\004\253\261\026\310\154\111\111
+\055\253\241\320\214\222\362\101\112\171\041\045\333\143\327\266
+\234\247\176\102\151\373\072\143\002\003\001\000\001\243\143\060
+\141\060\017\006\003\125\035\023\001\001\377\004\005\060\003\001
+\001\377\060\016\006\003\125\035\017\001\001\377\004\004\003\002
+\001\006\060\035\006\003\125\035\016\004\026\004\024\334\056\037
+\321\141\067\171\344\253\325\325\263\022\161\150\075\152\150\234
+\042\060\037\006\003\125\035\043\004\030\060\026\200\024\334\056
+\037\321\141\067\171\344\253\325\325\263\022\161\150\075\152\150
+\234\042\060\015\006\011\052\206\110\206\367\015\001\001\013\005
+\000\003\202\002\001\000\221\360\102\002\150\100\356\303\150\300
+\124\057\337\354\142\303\303\236\212\240\061\050\252\203\216\244
+\126\226\022\020\206\126\272\227\162\322\124\060\174\255\031\325
+\035\150\157\373\024\102\330\215\016\363\265\321\245\343\002\102
+\136\334\350\106\130\007\065\002\060\340\274\164\112\301\103\052
+\377\333\032\320\260\257\154\303\375\313\263\365\177\155\003\056
+\131\126\235\055\055\065\214\262\326\103\027\054\222\012\313\135
+\350\214\017\113\160\103\320\202\377\250\314\277\244\224\300\276
+\207\275\212\343\223\173\306\217\233\026\235\047\145\274\172\305
+\102\202\154\134\007\320\251\301\210\140\104\351\230\205\026\137
+\370\217\312\001\020\316\045\303\371\140\033\240\305\227\303\323
+\054\210\061\242\275\060\354\320\320\300\022\361\301\071\343\345
+\365\370\326\112\335\064\315\373\157\301\117\343\000\213\126\342
+\222\367\050\262\102\167\162\043\147\307\077\021\025\262\304\003
+\005\276\273\021\173\012\277\250\156\347\377\130\103\317\233\147
+\240\200\007\266\035\312\255\155\352\101\021\176\055\164\223\373
+\302\274\276\121\104\305\357\150\045\047\200\343\310\240\324\022
+\354\331\245\067\035\067\174\264\221\312\332\324\261\226\201\357
+\150\134\166\020\111\257\176\245\067\200\261\034\122\275\063\201
+\114\217\371\335\145\331\024\315\212\045\130\364\342\305\203\245
+\011\220\324\154\024\143\265\100\337\353\300\374\304\130\176\015
+\024\026\207\124\047\156\126\344\160\204\270\154\062\022\176\202
+\061\103\276\327\335\174\241\255\256\326\253\040\022\357\012\303
+\020\214\111\226\065\334\013\165\136\261\117\325\117\064\016\021
+\040\007\165\103\105\351\243\021\332\254\243\231\302\266\171\047
+\342\271\357\310\342\366\065\051\172\164\372\305\177\202\005\142
+\246\012\352\150\262\171\107\006\156\362\127\250\025\063\306\367
+\170\112\075\102\173\153\176\376\367\106\352\321\353\216\357\210
+\150\133\350\301\331\161\176\375\144\357\377\147\107\210\130\045
+\057\076\206\007\275\373\250\345\202\250\254\245\323\151\103\315
+\061\210\111\204\123\222\300\261\071\033\071\203\001\060\304\362
+\251\372\320\003\275\162\067\140\126\037\066\174\275\071\221\365
+\155\015\277\173\327\222
 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
-# Fingerprint (SHA1): 0F:F9:40:76:18:D3:D7:6A:4B:98:F0:A8:35:9E:0C:FD:27:AC:CC:ED
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
+
+# Trust for "GLOBALTRUST 2020"
+# Issuer: CN=GLOBALTRUST 2020,O=e-commerce monitoring GmbH,C=AT
+# Serial Number:5a:4b:bd:5a:fb:4f:8a:5b:fa:65:e5
+# Subject: CN=GLOBALTRUST 2020,O=e-commerce monitoring GmbH,C=AT
+# Not Valid Before: Mon Feb 10 00:00:00 2020
+# Not Valid After : Sun Jun 10 00:00:00 2040
+# Fingerprint (SHA-256): 9A:29:6A:51:82:D1:D4:51:A2:E3:7F:43:9B:74:DA:AF:A2:67:52:33:29:F9:0F:9A:0D:20:07:C3:34:E2:3C:9A
+# Fingerprint (SHA1): D0:67:C1:13:51:01:0C:AA:D0:C7:6A:65:37:31:16:26:4F:53:71:A2
 CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "OISTE WISeKey Global Root GB CA"
+CKA_LABEL UTF8 "GLOBALTRUST 2020"
 CKA_CERT_SHA1_HASH MULTILINE_OCTAL
-\017\371\100\166\030\323\327\152\113\230\360\250\065\236\014\375
-\047\254\314\355
+\320\147\301\023\121\001\014\252\320\307\152\145\067\061\026\046
+\117\123\161\242
 END
 CKA_CERT_MD5_HASH MULTILINE_OCTAL
-\244\353\271\141\050\056\267\057\230\260\065\046\220\231\121\035
+\212\307\157\313\155\343\314\242\361\174\203\372\016\170\327\350
 END
 CKA_ISSUER MULTILINE_OCTAL
-\060\155\061\013\060\011\006\003\125\004\006\023\002\103\110\061
-\020\060\016\006\003\125\004\012\023\007\127\111\123\145\113\145
-\171\061\042\060\040\006\003\125\004\013\023\031\117\111\123\124
-\105\040\106\157\165\156\144\141\164\151\157\156\040\105\156\144
-\157\162\163\145\144\061\050\060\046\006\003\125\004\003\023\037
-\117\111\123\124\105\040\127\111\123\145\113\145\171\040\107\154
-\157\142\141\154\040\122\157\157\164\040\107\102\040\103\101
+\060\115\061\013\060\011\006\003\125\004\006\023\002\101\124\061
+\043\060\041\006\003\125\004\012\023\032\145\055\143\157\155\155
+\145\162\143\145\040\155\157\156\151\164\157\162\151\156\147\040
+\107\155\142\110\061\031\060\027\006\003\125\004\003\023\020\107
+\114\117\102\101\114\124\122\125\123\124\040\062\060\062\060
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\020\166\261\040\122\164\360\205\207\106\263\370\043\032\366
-\302\300
+\002\013\132\113\275\132\373\117\212\133\372\145\345
 END
 CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
 CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
@@ -18053,314 +18979,307 @@ CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
 CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
 
 #
-# Certificate "SZAFIR ROOT CA2"
+# Certificate "ANF Secure Server Root CA"
 #
-# 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
-# Fingerprint (SHA1): E2:52:FA:95:3F:ED:DB:24:60:BD:6E:28:F3:9C:CC:CF:5E:B3:3F:DE
+# Issuer: CN=ANF Secure Server Root CA,OU=ANF CA Raiz,O=ANF Autoridad de Certificacion,C=ES,serialNumber=G63287510
+# Serial Number:0d:d3:e3:bc:6c:f9:6b:b1
+# Subject: CN=ANF Secure Server Root CA,OU=ANF CA Raiz,O=ANF Autoridad de Certificacion,C=ES,serialNumber=G63287510
+# Not Valid Before: Wed Sep 04 10:00:38 2019
+# Not Valid After : Tue Aug 30 10:00:38 2039
+# Fingerprint (SHA-256): FB:8F:EC:75:91:69:B9:10:6B:1E:51:16:44:C6:18:C5:13:04:37:3F:6C:06:43:08:8D:8B:EF:FD:1B:99:75:99
+# Fingerprint (SHA1): 5B:6E:68:D0:CC:15:B6:A0:5F:1E:C1:5F:AE:02:FC:6B:2F:5D:6F:74
 CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "SZAFIR ROOT CA2"
+CKA_LABEL UTF8 "ANF Secure Server Root CA"
 CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
 CKA_SUBJECT MULTILINE_OCTAL
-\060\121\061\013\060\011\006\003\125\004\006\023\002\120\114\061
-\050\060\046\006\003\125\004\012\014\037\113\162\141\152\157\167
-\141\040\111\172\142\141\040\122\157\172\154\151\143\172\145\156
-\151\157\167\141\040\123\056\101\056\061\030\060\026\006\003\125
-\004\003\014\017\123\132\101\106\111\122\040\122\117\117\124\040
-\103\101\062
+\060\201\204\061\022\060\020\006\003\125\004\005\023\011\107\066
+\063\062\070\067\065\061\060\061\013\060\011\006\003\125\004\006
+\023\002\105\123\061\047\060\045\006\003\125\004\012\023\036\101
+\116\106\040\101\165\164\157\162\151\144\141\144\040\144\145\040
+\103\145\162\164\151\146\151\143\141\143\151\157\156\061\024\060
+\022\006\003\125\004\013\023\013\101\116\106\040\103\101\040\122
+\141\151\172\061\042\060\040\006\003\125\004\003\023\031\101\116
+\106\040\123\145\143\165\162\145\040\123\145\162\166\145\162\040
+\122\157\157\164\040\103\101
 END
 CKA_ID UTF8 "0"
 CKA_ISSUER MULTILINE_OCTAL
-\060\121\061\013\060\011\006\003\125\004\006\023\002\120\114\061
-\050\060\046\006\003\125\004\012\014\037\113\162\141\152\157\167
-\141\040\111\172\142\141\040\122\157\172\154\151\143\172\145\156
-\151\157\167\141\040\123\056\101\056\061\030\060\026\006\003\125
-\004\003\014\017\123\132\101\106\111\122\040\122\117\117\124\040
-\103\101\062
+\060\201\204\061\022\060\020\006\003\125\004\005\023\011\107\066
+\063\062\070\067\065\061\060\061\013\060\011\006\003\125\004\006
+\023\002\105\123\061\047\060\045\006\003\125\004\012\023\036\101
+\116\106\040\101\165\164\157\162\151\144\141\144\040\144\145\040
+\103\145\162\164\151\146\151\143\141\143\151\157\156\061\024\060
+\022\006\003\125\004\013\023\013\101\116\106\040\103\101\040\122
+\141\151\172\061\042\060\040\006\003\125\004\003\023\031\101\116
+\106\040\123\145\143\165\162\145\040\123\145\162\166\145\162\040
+\122\157\157\164\040\103\101
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\024\076\212\135\007\354\125\322\062\325\267\343\266\137\001
-\353\055\334\344\326\344
+\002\010\015\323\343\274\154\371\153\261
 END
 CKA_VALUE MULTILINE_OCTAL
-\060\202\003\162\060\202\002\132\240\003\002\001\002\002\024\076
-\212\135\007\354\125\322\062\325\267\343\266\137\001\353\055\334
-\344\326\344\060\015\006\011\052\206\110\206\367\015\001\001\013
-\005\000\060\121\061\013\060\011\006\003\125\004\006\023\002\120
-\114\061\050\060\046\006\003\125\004\012\014\037\113\162\141\152
-\157\167\141\040\111\172\142\141\040\122\157\172\154\151\143\172
-\145\156\151\157\167\141\040\123\056\101\056\061\030\060\026\006
-\003\125\004\003\014\017\123\132\101\106\111\122\040\122\117\117
-\124\040\103\101\062\060\036\027\015\061\065\061\060\061\071\060
-\067\064\063\063\060\132\027\015\063\065\061\060\061\071\060\067
-\064\063\063\060\132\060\121\061\013\060\011\006\003\125\004\006
-\023\002\120\114\061\050\060\046\006\003\125\004\012\014\037\113
-\162\141\152\157\167\141\040\111\172\142\141\040\122\157\172\154
-\151\143\172\145\156\151\157\167\141\040\123\056\101\056\061\030
-\060\026\006\003\125\004\003\014\017\123\132\101\106\111\122\040
-\122\117\117\124\040\103\101\062\060\202\001\042\060\015\006\011
-\052\206\110\206\367\015\001\001\001\005\000\003\202\001\017\000
-\060\202\001\012\002\202\001\001\000\267\274\076\120\250\113\315
-\100\265\316\141\347\226\312\264\241\332\014\042\260\372\265\173
-\166\000\167\214\013\317\175\250\206\314\046\121\344\040\075\205
-\014\326\130\343\347\364\052\030\235\332\321\256\046\356\353\123
-\334\364\220\326\023\112\014\220\074\303\364\332\322\216\015\222
-\072\334\261\261\377\070\336\303\272\055\137\200\271\002\275\112
-\235\033\017\264\303\302\301\147\003\335\334\033\234\075\263\260
-\336\000\036\250\064\107\273\232\353\376\013\024\275\066\204\332
-\015\040\277\372\133\313\251\026\040\255\071\140\356\057\165\266
-\347\227\234\371\076\375\176\115\157\115\057\357\210\015\152\372
-\335\361\075\156\040\245\240\022\264\115\160\271\316\327\162\073
-\211\223\247\200\204\034\047\111\162\111\265\377\073\225\236\301
-\314\310\001\354\350\016\212\012\226\347\263\246\207\345\326\371
-\005\053\015\227\100\160\074\272\254\165\132\234\325\115\235\002
-\012\322\113\233\146\113\106\007\027\145\255\237\154\210\000\334
-\042\211\340\341\144\324\147\274\061\171\141\074\273\312\101\315
-\134\152\000\310\074\070\216\130\257\002\003\001\000\001\243\102
-\060\100\060\017\006\003\125\035\023\001\001\377\004\005\060\003
-\001\001\377\060\016\006\003\125\035\017\001\001\377\004\004\003
-\002\001\006\060\035\006\003\125\035\016\004\026\004\024\056\026
-\251\112\030\265\313\314\365\157\120\363\043\137\370\135\347\254
-\360\310\060\015\006\011\052\206\110\206\367\015\001\001\013\005
-\000\003\202\001\001\000\265\163\370\003\334\131\133\035\166\351
-\243\052\173\220\050\262\115\300\063\117\252\232\261\324\270\344
-\047\377\251\226\231\316\106\340\155\174\114\242\070\244\006\160
-\360\364\101\021\354\077\107\215\077\162\207\371\073\375\244\157
-\053\123\000\340\377\071\271\152\007\016\353\035\034\366\242\162
-\220\313\202\075\021\202\213\322\273\237\052\257\041\346\143\206
-\235\171\031\357\367\273\014\065\220\303\212\355\117\017\365\314
-\022\331\244\076\273\240\374\040\225\137\117\046\057\021\043\203
-\116\165\007\017\277\233\321\264\035\351\020\004\376\312\140\217
-\242\114\270\255\317\341\220\017\315\256\012\307\135\173\267\120
-\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
+\060\202\005\357\060\202\003\327\240\003\002\001\002\002\010\015
+\323\343\274\154\371\153\261\060\015\006\011\052\206\110\206\367
+\015\001\001\013\005\000\060\201\204\061\022\060\020\006\003\125
+\004\005\023\011\107\066\063\062\070\067\065\061\060\061\013\060
+\011\006\003\125\004\006\023\002\105\123\061\047\060\045\006\003
+\125\004\012\023\036\101\116\106\040\101\165\164\157\162\151\144
+\141\144\040\144\145\040\103\145\162\164\151\146\151\143\141\143
+\151\157\156\061\024\060\022\006\003\125\004\013\023\013\101\116
+\106\040\103\101\040\122\141\151\172\061\042\060\040\006\003\125
+\004\003\023\031\101\116\106\040\123\145\143\165\162\145\040\123
+\145\162\166\145\162\040\122\157\157\164\040\103\101\060\036\027
+\015\061\071\060\071\060\064\061\060\060\060\063\070\132\027\015
+\063\071\060\070\063\060\061\060\060\060\063\070\132\060\201\204
+\061\022\060\020\006\003\125\004\005\023\011\107\066\063\062\070
+\067\065\061\060\061\013\060\011\006\003\125\004\006\023\002\105
+\123\061\047\060\045\006\003\125\004\012\023\036\101\116\106\040
+\101\165\164\157\162\151\144\141\144\040\144\145\040\103\145\162
+\164\151\146\151\143\141\143\151\157\156\061\024\060\022\006\003
+\125\004\013\023\013\101\116\106\040\103\101\040\122\141\151\172
+\061\042\060\040\006\003\125\004\003\023\031\101\116\106\040\123
+\145\143\165\162\145\040\123\145\162\166\145\162\040\122\157\157
+\164\040\103\101\060\202\002\042\060\015\006\011\052\206\110\206
+\367\015\001\001\001\005\000\003\202\002\017\000\060\202\002\012
+\002\202\002\001\000\333\353\153\053\346\144\124\225\202\220\243
+\162\244\031\001\235\234\013\201\137\163\111\272\247\254\363\004
+\116\173\226\013\354\021\340\133\246\034\316\033\322\015\203\034
+\053\270\236\035\176\105\062\140\017\007\351\167\130\176\237\152
+\310\141\116\266\046\301\114\215\377\114\357\064\262\037\145\330
+\271\170\365\255\251\161\271\357\117\130\035\245\336\164\040\227
+\241\355\150\114\336\222\027\113\274\253\377\145\232\236\373\107
+\331\127\162\363\011\241\256\166\104\023\156\234\055\104\071\274
+\371\307\073\244\130\075\101\275\264\302\111\243\310\015\322\227
+\057\007\145\122\000\247\156\310\257\150\354\364\024\226\266\127
+\037\126\303\071\237\053\155\344\363\076\366\065\144\332\014\034
+\241\204\113\057\113\113\342\054\044\235\155\223\100\353\265\043
+\216\062\312\157\105\323\250\211\173\036\317\036\372\133\103\213
+\315\315\250\017\152\312\014\136\271\236\107\217\360\331\266\012
+\013\130\145\027\063\271\043\344\167\031\175\313\112\056\222\173
+\117\057\020\167\261\215\057\150\234\142\314\340\120\370\354\221
+\247\124\114\127\011\325\166\143\305\350\145\036\356\155\152\317
+\011\235\372\174\117\255\140\010\375\126\231\017\025\054\173\251
+\200\253\214\141\217\112\007\166\102\336\075\364\335\262\044\063
+\133\270\265\243\104\311\254\177\167\074\035\043\354\202\251\246
+\342\310\006\114\002\376\254\134\231\231\013\057\020\212\246\364
+\177\325\207\164\015\131\111\105\366\360\161\134\071\051\326\277
+\112\043\213\365\137\001\143\322\207\163\050\265\113\012\365\370
+\253\202\054\176\163\045\062\035\013\143\012\027\201\000\377\266
+\166\136\347\264\261\100\312\041\273\325\200\121\345\110\122\147
+\054\322\141\211\007\015\017\316\102\167\300\104\163\234\104\120
+\240\333\020\012\055\225\034\201\257\344\034\345\024\036\361\066
+\101\001\002\057\175\163\247\336\102\314\114\351\211\015\126\367
+\237\221\324\003\306\154\311\217\333\330\034\340\100\230\135\146
+\231\230\200\156\055\377\001\305\316\313\106\037\254\002\306\103
+\346\256\242\204\074\305\116\036\075\155\311\024\114\343\056\101
+\273\312\071\277\066\074\052\031\252\101\207\116\245\316\113\062
+\171\335\220\111\177\002\003\001\000\001\243\143\060\141\060\037
+\006\003\125\035\043\004\030\060\026\200\024\234\137\320\154\143
+\243\137\223\312\223\230\010\255\214\207\245\054\134\301\067\060
+\035\006\003\125\035\016\004\026\004\024\234\137\320\154\143\243
+\137\223\312\223\230\010\255\214\207\245\054\134\301\067\060\016
+\006\003\125\035\017\001\001\377\004\004\003\002\001\206\060\017
+\006\003\125\035\023\001\001\377\004\005\060\003\001\001\377\060
+\015\006\011\052\206\110\206\367\015\001\001\013\005\000\003\202
+\002\001\000\116\036\271\212\306\240\230\077\156\303\151\300\152
+\134\111\122\254\313\053\135\170\070\301\325\124\204\237\223\360
+\207\031\075\054\146\211\353\015\102\374\314\360\165\205\077\213
+\364\200\135\171\345\027\147\275\065\202\342\362\074\216\175\133
+\066\313\132\200\000\051\362\316\053\054\361\217\252\155\005\223
+\154\162\307\126\353\337\120\043\050\345\105\020\075\350\147\243
+\257\016\125\017\220\011\142\357\113\131\242\366\123\361\300\065
+\344\057\301\044\275\171\057\116\040\042\073\375\032\040\260\244
+\016\054\160\355\164\077\270\023\225\006\121\310\350\207\046\312
+\244\133\152\026\041\222\335\163\140\236\020\030\336\074\201\352
+\350\030\303\174\211\362\213\120\076\275\021\342\025\003\250\066
+\175\063\001\154\110\025\327\210\220\231\004\305\314\346\007\364
+\274\364\220\355\023\342\352\213\303\217\243\063\017\301\051\114
+\023\116\332\025\126\161\163\162\202\120\366\232\063\174\242\261
+\250\032\064\164\145\134\316\321\353\253\123\340\032\200\330\352
+\072\111\344\046\060\233\345\034\212\250\251\025\062\206\231\222
+\012\020\043\126\022\340\366\316\114\342\273\276\333\215\222\163
+\001\146\057\142\076\262\162\047\105\066\355\115\126\343\227\231
+\377\072\065\076\245\124\112\122\131\113\140\333\356\376\170\021
+\177\112\334\024\171\140\266\153\144\003\333\025\203\341\242\276
+\366\043\227\120\360\011\063\066\247\161\226\045\363\271\102\175
+\333\070\077\054\130\254\350\102\341\016\330\323\073\114\056\202
+\351\203\056\153\061\331\335\107\206\117\155\227\221\056\117\342
+\050\161\065\026\321\362\163\376\045\053\007\107\044\143\047\310
+\370\366\331\153\374\022\061\126\010\300\123\102\257\234\320\063
+\176\374\006\360\061\104\003\024\361\130\352\362\152\015\251\021
+\262\203\276\305\032\277\007\352\131\334\243\210\065\357\234\166
+\062\074\115\006\042\316\025\345\335\236\330\217\332\336\322\304
+\071\345\027\201\317\070\107\353\177\210\155\131\033\337\237\102
+\024\256\176\317\250\260\146\145\332\067\257\237\252\075\352\050
+\266\336\325\061\130\026\202\133\352\273\031\165\002\163\032\312
+\110\032\041\223\220\012\216\223\204\247\175\073\043\030\222\211
+\240\215\254
 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
-# Fingerprint (SHA1): E2:52:FA:95:3F:ED:DB:24:60:BD:6E:28:F3:9C:CC:CF:5E:B3:3F:DE
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
+
+# Trust for "ANF Secure Server Root CA"
+# Issuer: CN=ANF Secure Server Root CA,OU=ANF CA Raiz,O=ANF Autoridad de Certificacion,C=ES,serialNumber=G63287510
+# Serial Number:0d:d3:e3:bc:6c:f9:6b:b1
+# Subject: CN=ANF Secure Server Root CA,OU=ANF CA Raiz,O=ANF Autoridad de Certificacion,C=ES,serialNumber=G63287510
+# Not Valid Before: Wed Sep 04 10:00:38 2019
+# Not Valid After : Tue Aug 30 10:00:38 2039
+# Fingerprint (SHA-256): FB:8F:EC:75:91:69:B9:10:6B:1E:51:16:44:C6:18:C5:13:04:37:3F:6C:06:43:08:8D:8B:EF:FD:1B:99:75:99
+# Fingerprint (SHA1): 5B:6E:68:D0:CC:15:B6:A0:5F:1E:C1:5F:AE:02:FC:6B:2F:5D:6F:74
 CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "SZAFIR ROOT CA2"
+CKA_LABEL UTF8 "ANF Secure Server Root CA"
 CKA_CERT_SHA1_HASH MULTILINE_OCTAL
-\342\122\372\225\077\355\333\044\140\275\156\050\363\234\314\317
-\136\263\077\336
+\133\156\150\320\314\025\266\240\137\036\301\137\256\002\374\153
+\057\135\157\164
 END
 CKA_CERT_MD5_HASH MULTILINE_OCTAL
-\021\144\301\211\260\044\261\214\261\007\176\211\236\121\236\231
+\046\246\104\132\331\257\116\057\262\035\266\145\260\116\350\226
 END
 CKA_ISSUER MULTILINE_OCTAL
-\060\121\061\013\060\011\006\003\125\004\006\023\002\120\114\061
-\050\060\046\006\003\125\004\012\014\037\113\162\141\152\157\167
-\141\040\111\172\142\141\040\122\157\172\154\151\143\172\145\156
-\151\157\167\141\040\123\056\101\056\061\030\060\026\006\003\125
-\004\003\014\017\123\132\101\106\111\122\040\122\117\117\124\040
-\103\101\062
+\060\201\204\061\022\060\020\006\003\125\004\005\023\011\107\066
+\063\062\070\067\065\061\060\061\013\060\011\006\003\125\004\006
+\023\002\105\123\061\047\060\045\006\003\125\004\012\023\036\101
+\116\106\040\101\165\164\157\162\151\144\141\144\040\144\145\040
+\103\145\162\164\151\146\151\143\141\143\151\157\156\061\024\060
+\022\006\003\125\004\013\023\013\101\116\106\040\103\101\040\122
+\141\151\172\061\042\060\040\006\003\125\004\003\023\031\101\116
+\106\040\123\145\143\165\162\145\040\123\145\162\166\145\162\040
+\122\157\157\164\040\103\101
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\024\076\212\135\007\354\125\322\062\325\267\343\266\137\001
-\353\055\334\344\326\344
+\002\010\015\323\343\274\154\371\153\261
 END
 CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
-CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
 CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
 CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
 
 #
-# Certificate "Certum Trusted Network CA 2"
+# Certificate "Certum EC-384 CA"
 #
-# 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
-# Fingerprint (SHA1): D3:DD:48:3E:2B:BF:4C:05:E8:AF:10:F5:FA:76:26:CF:D3:DC:30:92
+# Issuer: CN=Certum EC-384 CA,OU=Certum Certification Authority,O=Asseco Data Systems S.A.,C=PL
+# Serial Number:78:8f:27:5c:81:12:52:20:a5:04:d0:2d:dd:ba:73:f4
+# Subject: CN=Certum EC-384 CA,OU=Certum Certification Authority,O=Asseco Data Systems S.A.,C=PL
+# Not Valid Before: Mon Mar 26 07:24:54 2018
+# Not Valid After : Thu Mar 26 07:24:54 2043
+# Fingerprint (SHA-256): 6B:32:80:85:62:53:18:AA:50:D1:73:C9:8D:8B:DA:09:D5:7E:27:41:3D:11:4C:F7:87:A0:F5:D0:6C:03:0C:F6
+# Fingerprint (SHA1): F3:3E:78:3C:AC:DF:F4:A2:CC:AC:67:55:69:56:D7:E5:16:3C:E1:ED
 CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "Certum Trusted Network CA 2"
+CKA_LABEL UTF8 "Certum EC-384 CA"
 CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
 CKA_SUBJECT MULTILINE_OCTAL
-\060\201\200\061\013\060\011\006\003\125\004\006\023\002\120\114
-\061\042\060\040\006\003\125\004\012\023\031\125\156\151\172\145
-\164\157\040\124\145\143\150\156\157\154\157\147\151\145\163\040
-\123\056\101\056\061\047\060\045\006\003\125\004\013\023\036\103
-\145\162\164\165\155\040\103\145\162\164\151\146\151\143\141\164
-\151\157\156\040\101\165\164\150\157\162\151\164\171\061\044\060
-\042\006\003\125\004\003\023\033\103\145\162\164\165\155\040\124
-\162\165\163\164\145\144\040\116\145\164\167\157\162\153\040\103
-\101\040\062
+\060\164\061\013\060\011\006\003\125\004\006\023\002\120\114\061
+\041\060\037\006\003\125\004\012\023\030\101\163\163\145\143\157
+\040\104\141\164\141\040\123\171\163\164\145\155\163\040\123\056
+\101\056\061\047\060\045\006\003\125\004\013\023\036\103\145\162
+\164\165\155\040\103\145\162\164\151\146\151\143\141\164\151\157
+\156\040\101\165\164\150\157\162\151\164\171\061\031\060\027\006
+\003\125\004\003\023\020\103\145\162\164\165\155\040\105\103\055
+\063\070\064\040\103\101
 END
 CKA_ID UTF8 "0"
-CKA_ISSUER MULTILINE_OCTAL
-\060\201\200\061\013\060\011\006\003\125\004\006\023\002\120\114
-\061\042\060\040\006\003\125\004\012\023\031\125\156\151\172\145
-\164\157\040\124\145\143\150\156\157\154\157\147\151\145\163\040
-\123\056\101\056\061\047\060\045\006\003\125\004\013\023\036\103
-\145\162\164\165\155\040\103\145\162\164\151\146\151\143\141\164
-\151\157\156\040\101\165\164\150\157\162\151\164\171\061\044\060
-\042\006\003\125\004\003\023\033\103\145\162\164\165\155\040\124
-\162\165\163\164\145\144\040\116\145\164\167\157\162\153\040\103
-\101\040\062
-END
-CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\020\041\326\320\112\117\045\017\311\062\067\374\252\136\022
-\215\351
-END
-CKA_VALUE MULTILINE_OCTAL
-\060\202\005\322\060\202\003\272\240\003\002\001\002\002\020\041
-\326\320\112\117\045\017\311\062\067\374\252\136\022\215\351\060
-\015\006\011\052\206\110\206\367\015\001\001\015\005\000\060\201
-\200\061\013\060\011\006\003\125\004\006\023\002\120\114\061\042
-\060\040\006\003\125\004\012\023\031\125\156\151\172\145\164\157
-\040\124\145\143\150\156\157\154\157\147\151\145\163\040\123\056
+CKA_ISSUER MULTILINE_OCTAL
+\060\164\061\013\060\011\006\003\125\004\006\023\002\120\114\061
+\041\060\037\006\003\125\004\012\023\030\101\163\163\145\143\157
+\040\104\141\164\141\040\123\171\163\164\145\155\163\040\123\056
 \101\056\061\047\060\045\006\003\125\004\013\023\036\103\145\162
 \164\165\155\040\103\145\162\164\151\146\151\143\141\164\151\157
-\156\040\101\165\164\150\157\162\151\164\171\061\044\060\042\006
-\003\125\004\003\023\033\103\145\162\164\165\155\040\124\162\165
-\163\164\145\144\040\116\145\164\167\157\162\153\040\103\101\040
-\062\060\042\030\017\062\060\061\061\061\060\060\066\060\070\063
-\071\065\066\132\030\017\062\060\064\066\061\060\060\066\060\070
-\063\071\065\066\132\060\201\200\061\013\060\011\006\003\125\004
-\006\023\002\120\114\061\042\060\040\006\003\125\004\012\023\031
-\125\156\151\172\145\164\157\040\124\145\143\150\156\157\154\157
-\147\151\145\163\040\123\056\101\056\061\047\060\045\006\003\125
-\004\013\023\036\103\145\162\164\165\155\040\103\145\162\164\151
-\146\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151
-\164\171\061\044\060\042\006\003\125\004\003\023\033\103\145\162
-\164\165\155\040\124\162\165\163\164\145\144\040\116\145\164\167
-\157\162\153\040\103\101\040\062\060\202\002\042\060\015\006\011
-\052\206\110\206\367\015\001\001\001\005\000\003\202\002\017\000
-\060\202\002\012\002\202\002\001\000\275\371\170\370\346\325\200
-\014\144\235\206\033\226\144\147\077\042\072\036\165\001\175\357
-\373\134\147\214\311\314\134\153\251\221\346\271\102\345\040\113
-\233\332\233\173\271\231\135\331\233\200\113\327\204\100\053\047
-\323\350\272\060\273\076\011\032\247\111\225\357\053\100\044\302
-\227\307\247\356\233\045\357\250\012\000\227\205\132\252\235\334
-\051\311\342\065\007\353\160\115\112\326\301\263\126\270\241\101
-\070\233\321\373\061\177\217\340\137\341\261\077\017\216\026\111
-\140\327\006\215\030\371\252\046\020\253\052\323\320\321\147\215
-\033\106\276\107\060\325\056\162\321\305\143\332\347\143\171\104
-\176\113\143\044\211\206\056\064\077\051\114\122\213\052\247\300
-\342\221\050\211\271\300\133\371\035\331\347\047\255\377\232\002
-\227\301\306\120\222\233\002\054\275\251\271\064\131\012\277\204
-\112\377\337\376\263\237\353\331\236\340\230\043\354\246\153\167
-\026\052\333\314\255\073\034\244\207\334\106\163\136\031\142\150
-\105\127\344\220\202\102\273\102\326\360\141\340\301\243\075\146
-\243\135\364\030\356\210\311\215\027\105\051\231\062\165\002\061
-\356\051\046\310\153\002\346\265\142\105\177\067\025\132\043\150
-\211\324\076\336\116\047\260\360\100\014\274\115\027\313\115\242
-\263\036\320\006\132\335\366\223\317\127\165\231\365\372\206\032
-\147\170\263\277\226\376\064\334\275\347\122\126\345\263\345\165
-\173\327\101\221\005\334\135\151\343\225\015\103\271\374\203\226
-\071\225\173\154\200\132\117\023\162\306\327\175\051\172\104\272
-\122\244\052\325\101\106\011\040\376\042\240\266\133\060\215\274
-\211\014\325\327\160\370\207\122\375\332\357\254\121\056\007\263
-\116\376\320\011\332\160\357\230\372\126\346\155\333\265\127\113
-\334\345\054\045\025\310\236\056\170\116\370\332\234\236\206\054
-\312\127\363\032\345\310\222\213\032\202\226\172\303\274\120\022
-\151\330\016\132\106\213\072\353\046\372\043\311\266\260\201\276
-\102\000\244\370\326\376\060\056\307\322\106\366\345\216\165\375
-\362\314\271\320\207\133\314\006\020\140\273\203\065\267\136\147
-\336\107\354\231\110\361\244\241\025\376\255\214\142\216\071\125
-\117\071\026\271\261\143\235\377\267\002\003\001\000\001\243\102
-\060\100\060\017\006\003\125\035\023\001\001\377\004\005\060\003
-\001\001\377\060\035\006\003\125\035\016\004\026\004\024\266\241
-\124\071\002\303\240\077\216\212\274\372\324\370\034\246\321\072
-\016\375\060\016\006\003\125\035\017\001\001\377\004\004\003\002
-\001\006\060\015\006\011\052\206\110\206\367\015\001\001\015\005
-\000\003\202\002\001\000\161\245\016\316\344\351\277\077\070\325
-\211\132\304\002\141\373\114\305\024\027\055\213\117\123\153\020
-\027\374\145\204\307\020\111\220\336\333\307\046\223\210\046\157
-\160\326\002\136\071\240\367\217\253\226\265\245\023\134\201\024
-\155\016\201\202\021\033\212\116\306\117\245\335\142\036\104\337
-\011\131\364\133\167\013\067\351\213\040\306\370\012\116\056\130
-\034\353\063\320\317\206\140\311\332\373\200\057\236\114\140\204
-\170\075\041\144\326\373\101\037\030\017\347\311\165\161\275\275
-\134\336\064\207\076\101\260\016\366\271\326\077\011\023\226\024
-\057\336\232\035\132\271\126\316\065\072\260\137\160\115\136\343
-\051\361\043\050\162\131\266\253\302\214\146\046\034\167\054\046
-\166\065\213\050\247\151\240\371\073\365\043\335\205\020\164\311
-\220\003\126\221\347\257\272\107\324\022\227\021\042\343\242\111
-\224\154\347\267\224\113\272\055\244\332\063\213\114\246\104\377
-\132\074\306\035\144\330\265\061\344\246\074\172\250\127\013\333
-\355\141\032\313\361\316\163\167\143\244\207\157\114\121\070\326
-\344\137\307\237\266\201\052\344\205\110\171\130\136\073\370\333
-\002\202\147\301\071\333\303\164\113\075\066\036\371\051\223\210
-\150\133\250\104\031\041\360\247\350\201\015\054\350\223\066\264
-\067\262\312\260\033\046\172\232\045\037\232\232\200\236\113\052
-\077\373\243\232\376\163\062\161\302\236\306\162\341\212\150\047
-\361\344\017\264\304\114\245\141\223\370\227\020\007\052\060\045
-\251\271\310\161\270\357\150\314\055\176\365\340\176\017\202\250
-\157\266\272\154\203\103\167\315\212\222\027\241\236\133\170\026
-\075\105\342\063\162\335\341\146\312\231\323\311\305\046\375\015
-\150\004\106\256\266\331\233\214\276\031\276\261\306\362\031\343
-\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
+\156\040\101\165\164\150\157\162\151\164\171\061\031\060\027\006
+\003\125\004\003\023\020\103\145\162\164\165\155\040\105\103\055
+\063\070\064\040\103\101
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\020\170\217\047\134\201\022\122\040\245\004\320\055\335\272
+\163\364
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\002\145\060\202\001\353\240\003\002\001\002\002\020\170
+\217\047\134\201\022\122\040\245\004\320\055\335\272\163\364\060
+\012\006\010\052\206\110\316\075\004\003\003\060\164\061\013\060
+\011\006\003\125\004\006\023\002\120\114\061\041\060\037\006\003
+\125\004\012\023\030\101\163\163\145\143\157\040\104\141\164\141
+\040\123\171\163\164\145\155\163\040\123\056\101\056\061\047\060
+\045\006\003\125\004\013\023\036\103\145\162\164\165\155\040\103
+\145\162\164\151\146\151\143\141\164\151\157\156\040\101\165\164
+\150\157\162\151\164\171\061\031\060\027\006\003\125\004\003\023
+\020\103\145\162\164\165\155\040\105\103\055\063\070\064\040\103
+\101\060\036\027\015\061\070\060\063\062\066\060\067\062\064\065
+\064\132\027\015\064\063\060\063\062\066\060\067\062\064\065\064
+\132\060\164\061\013\060\011\006\003\125\004\006\023\002\120\114
+\061\041\060\037\006\003\125\004\012\023\030\101\163\163\145\143
+\157\040\104\141\164\141\040\123\171\163\164\145\155\163\040\123
+\056\101\056\061\047\060\045\006\003\125\004\013\023\036\103\145
+\162\164\165\155\040\103\145\162\164\151\146\151\143\141\164\151
+\157\156\040\101\165\164\150\157\162\151\164\171\061\031\060\027
+\006\003\125\004\003\023\020\103\145\162\164\165\155\040\105\103
+\055\063\070\064\040\103\101\060\166\060\020\006\007\052\206\110
+\316\075\002\001\006\005\053\201\004\000\042\003\142\000\004\304
+\050\216\253\030\133\152\276\156\144\067\143\344\315\354\253\072
+\367\314\241\270\016\202\111\327\206\051\237\241\224\362\343\140
+\170\230\201\170\006\115\362\354\232\016\127\140\203\237\264\346
+\027\057\032\263\135\002\133\211\043\074\302\021\005\052\247\210
+\023\030\363\120\204\327\275\064\054\047\211\125\377\316\114\347
+\337\246\037\050\304\360\124\303\271\174\267\123\255\353\302\243
+\102\060\100\060\017\006\003\125\035\023\001\001\377\004\005\060
+\003\001\001\377\060\035\006\003\125\035\016\004\026\004\024\215
+\006\146\164\044\166\072\363\211\367\274\326\275\107\175\057\274
+\020\137\113\060\016\006\003\125\035\017\001\001\377\004\004\003
+\002\001\006\060\012\006\010\052\206\110\316\075\004\003\003\003
+\150\000\060\145\002\060\003\125\055\246\346\030\304\174\357\311
+\120\156\301\047\017\234\207\257\156\325\033\010\030\275\222\051
+\301\357\224\221\170\322\072\034\125\211\142\345\033\011\036\272
+\144\153\361\166\264\324\002\061\000\264\102\204\231\377\253\347
+\236\373\221\227\047\135\334\260\133\060\161\316\136\070\032\152
+\331\045\347\352\367\141\222\126\370\352\332\066\302\207\145\226
+\056\162\045\057\177\337\303\023\311
 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
-# Fingerprint (SHA1): D3:DD:48:3E:2B:BF:4C:05:E8:AF:10:F5:FA:76:26:CF:D3:DC:30:92
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
+
+# Trust for "Certum EC-384 CA"
+# Issuer: CN=Certum EC-384 CA,OU=Certum Certification Authority,O=Asseco Data Systems S.A.,C=PL
+# Serial Number:78:8f:27:5c:81:12:52:20:a5:04:d0:2d:dd:ba:73:f4
+# Subject: CN=Certum EC-384 CA,OU=Certum Certification Authority,O=Asseco Data Systems S.A.,C=PL
+# Not Valid Before: Mon Mar 26 07:24:54 2018
+# Not Valid After : Thu Mar 26 07:24:54 2043
+# Fingerprint (SHA-256): 6B:32:80:85:62:53:18:AA:50:D1:73:C9:8D:8B:DA:09:D5:7E:27:41:3D:11:4C:F7:87:A0:F5:D0:6C:03:0C:F6
+# Fingerprint (SHA1): F3:3E:78:3C:AC:DF:F4:A2:CC:AC:67:55:69:56:D7:E5:16:3C:E1:ED
 CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "Certum Trusted Network CA 2"
+CKA_LABEL UTF8 "Certum EC-384 CA"
 CKA_CERT_SHA1_HASH MULTILINE_OCTAL
-\323\335\110\076\053\277\114\005\350\257\020\365\372\166\046\317
-\323\334\060\222
+\363\076\170\074\254\337\364\242\314\254\147\125\151\126\327\345
+\026\074\341\355
 END
 CKA_CERT_MD5_HASH MULTILINE_OCTAL
-\155\106\236\331\045\155\010\043\133\136\164\175\036\047\333\362
+\266\145\263\226\140\227\022\241\354\116\341\075\243\306\311\361
 END
 CKA_ISSUER MULTILINE_OCTAL
-\060\201\200\061\013\060\011\006\003\125\004\006\023\002\120\114
-\061\042\060\040\006\003\125\004\012\023\031\125\156\151\172\145
-\164\157\040\124\145\143\150\156\157\154\157\147\151\145\163\040
-\123\056\101\056\061\047\060\045\006\003\125\004\013\023\036\103
-\145\162\164\165\155\040\103\145\162\164\151\146\151\143\141\164
-\151\157\156\040\101\165\164\150\157\162\151\164\171\061\044\060
-\042\006\003\125\004\003\023\033\103\145\162\164\165\155\040\124
-\162\165\163\164\145\144\040\116\145\164\167\157\162\153\040\103
-\101\040\062
+\060\164\061\013\060\011\006\003\125\004\006\023\002\120\114\061
+\041\060\037\006\003\125\004\012\023\030\101\163\163\145\143\157
+\040\104\141\164\141\040\123\171\163\164\145\155\163\040\123\056
+\101\056\061\047\060\045\006\003\125\004\013\023\036\103\145\162
+\164\165\155\040\103\145\162\164\151\146\151\143\141\164\151\157
+\156\040\101\165\164\150\157\162\151\164\171\061\031\060\027\006
+\003\125\004\003\023\020\103\145\162\164\165\155\040\105\103\055
+\063\070\064\040\103\101
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\020\041\326\320\112\117\045\017\311\062\067\374\252\136\022
-\215\351
+\002\020\170\217\047\134\201\022\122\040\245\004\320\055\335\272
+\163\364
 END
 CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
 CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
@@ -18368,187 +19287,178 @@ CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
 CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
 
 #
-# Certificate "Hellenic Academic and Research Institutions RootCA 2015"
+# Certificate "Certum Trusted Root CA"
 #
-# 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
-# Fingerprint (SHA1): 01:0C:06:95:A6:98:19:14:FF:BF:5F:C6:B0:B6:95:EA:29:E9:12:A6
+# Issuer: CN=Certum Trusted Root CA,OU=Certum Certification Authority,O=Asseco Data Systems S.A.,C=PL
+# Serial Number:1e:bf:59:50:b8:c9:80:37:4c:06:f7:eb:55:4f:b5:ed
+# Subject: CN=Certum Trusted Root CA,OU=Certum Certification Authority,O=Asseco Data Systems S.A.,C=PL
+# Not Valid Before: Fri Mar 16 12:10:13 2018
+# Not Valid After : Mon Mar 16 12:10:13 2043
+# Fingerprint (SHA-256): FE:76:96:57:38:55:77:3E:37:A9:5E:7A:D4:D9:CC:96:C3:01:57:C1:5D:31:76:5B:A9:B1:57:04:E1:AE:78:FD
+# Fingerprint (SHA1): C8:83:44:C0:18:AE:9F:CC:F1:87:B7:8F:22:D1:C5:D7:45:84:BA:E5
 CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "Hellenic Academic and Research Institutions RootCA 2015"
+CKA_LABEL UTF8 "Certum Trusted Root CA"
 CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
 CKA_SUBJECT MULTILINE_OCTAL
-\060\201\246\061\013\060\011\006\003\125\004\006\023\002\107\122
-\061\017\060\015\006\003\125\004\007\023\006\101\164\150\145\156
-\163\061\104\060\102\006\003\125\004\012\023\073\110\145\154\154
-\145\156\151\143\040\101\143\141\144\145\155\151\143\040\141\156
-\144\040\122\145\163\145\141\162\143\150\040\111\156\163\164\151
-\164\165\164\151\157\156\163\040\103\145\162\164\056\040\101\165
-\164\150\157\162\151\164\171\061\100\060\076\006\003\125\004\003
-\023\067\110\145\154\154\145\156\151\143\040\101\143\141\144\145
-\155\151\143\040\141\156\144\040\122\145\163\145\141\162\143\150
-\040\111\156\163\164\151\164\165\164\151\157\156\163\040\122\157
-\157\164\103\101\040\062\060\061\065
+\060\172\061\013\060\011\006\003\125\004\006\023\002\120\114\061
+\041\060\037\006\003\125\004\012\023\030\101\163\163\145\143\157
+\040\104\141\164\141\040\123\171\163\164\145\155\163\040\123\056
+\101\056\061\047\060\045\006\003\125\004\013\023\036\103\145\162
+\164\165\155\040\103\145\162\164\151\146\151\143\141\164\151\157
+\156\040\101\165\164\150\157\162\151\164\171\061\037\060\035\006
+\003\125\004\003\023\026\103\145\162\164\165\155\040\124\162\165
+\163\164\145\144\040\122\157\157\164\040\103\101
 END
 CKA_ID UTF8 "0"
 CKA_ISSUER MULTILINE_OCTAL
-\060\201\246\061\013\060\011\006\003\125\004\006\023\002\107\122
-\061\017\060\015\006\003\125\004\007\023\006\101\164\150\145\156
-\163\061\104\060\102\006\003\125\004\012\023\073\110\145\154\154
-\145\156\151\143\040\101\143\141\144\145\155\151\143\040\141\156
-\144\040\122\145\163\145\141\162\143\150\040\111\156\163\164\151
-\164\165\164\151\157\156\163\040\103\145\162\164\056\040\101\165
-\164\150\157\162\151\164\171\061\100\060\076\006\003\125\004\003
-\023\067\110\145\154\154\145\156\151\143\040\101\143\141\144\145
-\155\151\143\040\141\156\144\040\122\145\163\145\141\162\143\150
-\040\111\156\163\164\151\164\165\164\151\157\156\163\040\122\157
-\157\164\103\101\040\062\060\061\065
+\060\172\061\013\060\011\006\003\125\004\006\023\002\120\114\061
+\041\060\037\006\003\125\004\012\023\030\101\163\163\145\143\157
+\040\104\141\164\141\040\123\171\163\164\145\155\163\040\123\056
+\101\056\061\047\060\045\006\003\125\004\013\023\036\103\145\162
+\164\165\155\040\103\145\162\164\151\146\151\143\141\164\151\157
+\156\040\101\165\164\150\157\162\151\164\171\061\037\060\035\006
+\003\125\004\003\023\026\103\145\162\164\165\155\040\124\162\165
+\163\164\145\144\040\122\157\157\164\040\103\101
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\001\000
+\002\020\036\277\131\120\270\311\200\067\114\006\367\353\125\117
+\265\355
 END
 CKA_VALUE MULTILINE_OCTAL
-\060\202\006\013\060\202\003\363\240\003\002\001\002\002\001\000
-\060\015\006\011\052\206\110\206\367\015\001\001\013\005\000\060
-\201\246\061\013\060\011\006\003\125\004\006\023\002\107\122\061
-\017\060\015\006\003\125\004\007\023\006\101\164\150\145\156\163
-\061\104\060\102\006\003\125\004\012\023\073\110\145\154\154\145
-\156\151\143\040\101\143\141\144\145\155\151\143\040\141\156\144
-\040\122\145\163\145\141\162\143\150\040\111\156\163\164\151\164
-\165\164\151\157\156\163\040\103\145\162\164\056\040\101\165\164
-\150\157\162\151\164\171\061\100\060\076\006\003\125\004\003\023
-\067\110\145\154\154\145\156\151\143\040\101\143\141\144\145\155
-\151\143\040\141\156\144\040\122\145\163\145\141\162\143\150\040
-\111\156\163\164\151\164\165\164\151\157\156\163\040\122\157\157
-\164\103\101\040\062\060\061\065\060\036\027\015\061\065\060\067
-\060\067\061\060\061\061\062\061\132\027\015\064\060\060\066\063
-\060\061\060\061\061\062\061\132\060\201\246\061\013\060\011\006
-\003\125\004\006\023\002\107\122\061\017\060\015\006\003\125\004
-\007\023\006\101\164\150\145\156\163\061\104\060\102\006\003\125
-\004\012\023\073\110\145\154\154\145\156\151\143\040\101\143\141
-\144\145\155\151\143\040\141\156\144\040\122\145\163\145\141\162
-\143\150\040\111\156\163\164\151\164\165\164\151\157\156\163\040
-\103\145\162\164\056\040\101\165\164\150\157\162\151\164\171\061
-\100\060\076\006\003\125\004\003\023\067\110\145\154\154\145\156
-\151\143\040\101\143\141\144\145\155\151\143\040\141\156\144\040
-\122\145\163\145\141\162\143\150\040\111\156\163\164\151\164\165
-\164\151\157\156\163\040\122\157\157\164\103\101\040\062\060\061
-\065\060\202\002\042\060\015\006\011\052\206\110\206\367\015\001
-\001\001\005\000\003\202\002\017\000\060\202\002\012\002\202\002
-\001\000\302\370\251\077\033\211\374\074\074\004\135\075\220\066
-\260\221\072\171\074\146\132\357\155\071\001\111\032\264\267\317
-\177\115\043\123\267\220\000\343\023\052\050\246\061\361\221\000
-\343\050\354\256\041\101\316\037\332\375\175\022\133\001\203\017
-\271\260\137\231\341\362\022\203\200\115\006\076\337\254\257\347
-\241\210\153\061\257\360\213\320\030\063\270\333\105\152\064\364
-\002\200\044\050\012\002\025\225\136\166\052\015\231\072\024\133
-\366\313\313\123\274\023\115\001\210\067\224\045\033\102\274\042
-\330\216\243\226\136\072\331\062\333\076\350\360\020\145\355\164
-\341\057\247\174\257\047\064\273\051\175\233\266\317\011\310\345
-\323\012\374\210\145\145\164\012\334\163\034\134\315\100\261\034
-\324\266\204\214\114\120\317\150\216\250\131\256\302\047\116\202
-\242\065\335\024\364\037\377\262\167\325\207\057\252\156\175\044
-\047\347\306\313\046\346\345\376\147\007\143\330\105\015\335\072
-\131\145\071\130\172\222\231\162\075\234\204\136\210\041\270\325
-\364\054\374\331\160\122\117\170\270\275\074\053\213\225\230\365
-\263\321\150\317\040\024\176\114\134\137\347\213\345\365\065\201
-\031\067\327\021\010\267\146\276\323\112\316\203\127\000\072\303
-\201\370\027\313\222\066\135\321\243\330\165\033\341\213\047\352
-\172\110\101\375\105\031\006\255\047\231\116\301\160\107\335\265
-\237\201\123\022\345\261\214\110\135\061\103\027\343\214\306\172
-\143\226\113\051\060\116\204\116\142\031\136\074\316\227\220\245
-\177\001\353\235\340\370\213\211\335\045\230\075\222\266\176\357
-\331\361\121\121\175\055\046\310\151\131\141\340\254\152\270\052
-\066\021\004\172\120\275\062\204\276\057\334\162\325\327\035\026
-\107\344\107\146\040\077\364\226\305\257\216\001\172\245\017\172
-\144\365\015\030\207\331\256\210\325\372\204\301\072\300\151\050
-\055\362\015\150\121\252\343\245\167\306\244\220\016\241\067\213
-\061\043\107\301\011\010\353\156\367\170\233\327\202\374\204\040
-\231\111\031\266\022\106\261\373\105\125\026\251\243\145\254\234
-\007\017\352\153\334\037\056\006\162\354\206\210\022\344\055\333
-\137\005\057\344\360\003\323\046\063\347\200\302\315\102\241\027
-\064\013\002\003\001\000\001\243\102\060\100\060\017\006\003\125
-\035\023\001\001\377\004\005\060\003\001\001\377\060\016\006\003
-\125\035\017\001\001\377\004\004\003\002\001\006\060\035\006\003
-\125\035\016\004\026\004\024\161\025\147\310\310\311\275\165\135
-\162\320\070\030\152\235\363\161\044\124\013\060\015\006\011\052
-\206\110\206\367\015\001\001\013\005\000\003\202\002\001\000\165
-\273\155\124\113\252\020\130\106\064\362\142\327\026\066\135\010
-\136\325\154\310\207\275\264\056\106\362\061\370\174\352\102\265
-\223\026\125\334\241\014\022\240\332\141\176\017\130\130\163\144
-\162\307\350\105\216\334\251\362\046\077\306\171\214\261\123\010
-\063\201\260\126\023\276\346\121\134\330\233\012\117\113\234\126
-\123\002\351\117\366\015\140\352\115\102\125\350\174\033\041\041
-\323\033\072\314\167\362\270\220\361\150\307\371\132\376\372\055
-\364\277\311\365\105\033\316\070\020\052\067\212\171\243\264\343
-\011\154\205\206\223\377\211\226\047\170\201\217\147\343\106\164
-\124\216\331\015\151\342\112\364\115\164\003\377\262\167\355\225
-\147\227\344\261\305\253\277\152\043\350\324\224\342\104\050\142
-\304\113\342\360\330\342\051\153\032\160\176\044\141\223\173\117
-\003\062\045\015\105\044\053\226\264\106\152\277\112\013\367\232
-\217\301\254\032\305\147\363\157\064\322\372\163\143\214\357\026
-\260\250\244\106\052\370\353\022\354\162\264\357\370\053\176\214
-\122\300\213\204\124\371\057\076\343\125\250\334\146\261\331\341
-\137\330\263\214\131\064\131\244\253\117\154\273\037\030\333\165
-\253\330\313\222\315\224\070\141\016\007\006\037\113\106\020\361
-\025\276\215\205\134\073\112\053\201\171\017\264\151\237\111\120
-\227\115\367\016\126\135\300\225\152\302\066\303\033\150\311\365
-\052\334\107\232\276\262\316\305\045\350\372\003\271\332\371\026
-\156\221\204\365\034\050\310\374\046\314\327\034\220\126\247\137
-\157\072\004\274\315\170\211\013\216\017\057\243\252\117\242\033
-\022\075\026\010\100\017\361\106\114\327\252\173\010\301\012\365
-\155\047\336\002\217\312\303\265\053\312\351\353\310\041\123\070
-\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
+\060\202\005\300\060\202\003\250\240\003\002\001\002\002\020\036
+\277\131\120\270\311\200\067\114\006\367\353\125\117\265\355\060
+\015\006\011\052\206\110\206\367\015\001\001\015\005\000\060\172
+\061\013\060\011\006\003\125\004\006\023\002\120\114\061\041\060
+\037\006\003\125\004\012\023\030\101\163\163\145\143\157\040\104
+\141\164\141\040\123\171\163\164\145\155\163\040\123\056\101\056
+\061\047\060\045\006\003\125\004\013\023\036\103\145\162\164\165
+\155\040\103\145\162\164\151\146\151\143\141\164\151\157\156\040
+\101\165\164\150\157\162\151\164\171\061\037\060\035\006\003\125
+\004\003\023\026\103\145\162\164\165\155\040\124\162\165\163\164
+\145\144\040\122\157\157\164\040\103\101\060\036\027\015\061\070
+\060\063\061\066\061\062\061\060\061\063\132\027\015\064\063\060
+\063\061\066\061\062\061\060\061\063\132\060\172\061\013\060\011
+\006\003\125\004\006\023\002\120\114\061\041\060\037\006\003\125
+\004\012\023\030\101\163\163\145\143\157\040\104\141\164\141\040
+\123\171\163\164\145\155\163\040\123\056\101\056\061\047\060\045
+\006\003\125\004\013\023\036\103\145\162\164\165\155\040\103\145
+\162\164\151\146\151\143\141\164\151\157\156\040\101\165\164\150
+\157\162\151\164\171\061\037\060\035\006\003\125\004\003\023\026
+\103\145\162\164\165\155\040\124\162\165\163\164\145\144\040\122
+\157\157\164\040\103\101\060\202\002\042\060\015\006\011\052\206
+\110\206\367\015\001\001\001\005\000\003\202\002\017\000\060\202
+\002\012\002\202\002\001\000\321\055\216\273\267\066\352\155\067
+\221\237\116\223\247\005\344\051\003\045\316\034\202\367\174\231
+\237\101\006\315\355\243\272\300\333\011\054\301\174\337\051\176
+\113\145\057\223\247\324\001\153\003\050\030\243\330\235\005\301
+\052\330\105\361\221\336\337\073\320\200\002\214\317\070\017\352
+\247\134\170\021\244\301\310\205\134\045\323\323\262\347\045\317
+\021\124\227\253\065\300\036\166\034\357\000\123\237\071\334\024
+\245\054\042\045\263\162\162\374\215\263\345\076\010\036\024\052
+\067\013\210\074\312\260\364\310\302\241\256\274\301\276\051\147
+\125\342\374\255\131\134\376\275\127\054\260\220\215\302\355\067
+\266\174\231\210\265\325\003\232\075\025\015\075\072\250\250\105
+\360\225\116\045\131\035\315\230\151\273\323\314\062\311\215\357
+\201\376\255\175\211\273\272\140\023\312\145\225\147\240\363\031
+\366\003\126\324\152\323\047\342\241\255\203\360\112\022\042\167
+\034\005\163\342\031\161\102\300\354\165\106\232\220\130\340\152
+\216\053\245\106\060\004\216\031\262\027\343\276\251\272\177\126
+\361\044\003\327\262\041\050\166\016\066\060\114\171\325\101\232
+\232\250\270\065\272\014\072\362\104\033\040\210\367\305\045\327
+\075\306\343\076\103\335\207\376\304\352\365\123\076\114\145\377
+\073\112\313\170\132\153\027\137\015\307\303\117\116\232\052\242
+\355\127\115\042\342\106\232\077\017\221\064\044\175\125\343\214
+\225\067\323\032\360\011\053\054\322\311\215\264\015\000\253\147
+\051\050\330\001\365\031\004\266\035\276\166\376\162\134\304\205
+\312\322\200\101\337\005\250\243\325\204\220\117\013\363\340\077
+\233\031\322\067\211\077\362\173\122\034\214\366\341\367\074\007
+\227\214\016\242\131\201\014\262\220\075\323\343\131\106\355\017
+\251\247\336\200\153\132\252\007\266\031\313\274\127\363\227\041
+\172\014\261\053\164\076\353\332\247\147\055\114\304\230\236\066
+\011\166\146\146\374\032\077\352\110\124\034\276\060\275\200\120
+\277\174\265\316\000\366\014\141\331\347\044\003\340\343\001\201
+\016\275\330\205\064\210\275\262\066\250\173\134\010\345\104\200
+\214\157\370\057\325\041\312\035\034\320\373\304\265\207\321\072
+\116\307\166\265\065\110\265\002\003\001\000\001\243\102\060\100
+\060\017\006\003\125\035\023\001\001\377\004\005\060\003\001\001
+\377\060\035\006\003\125\035\016\004\026\004\024\214\373\034\165
+\274\002\323\237\116\056\110\331\371\140\124\252\304\263\117\372
+\060\016\006\003\125\035\017\001\001\377\004\004\003\002\001\006
+\060\015\006\011\052\206\110\206\367\015\001\001\015\005\000\003
+\202\002\001\000\110\242\325\000\013\056\320\077\274\034\325\265
+\124\111\036\132\153\364\344\362\340\100\067\340\314\024\173\271
+\311\372\065\265\165\027\223\152\005\151\205\234\315\117\031\170
+\133\031\201\363\143\076\303\316\133\217\365\057\136\001\166\023
+\077\054\000\271\315\226\122\071\111\155\004\116\305\351\017\206
+\015\341\372\263\137\202\022\361\072\316\146\006\044\064\053\350
+\314\312\347\151\334\207\235\302\064\327\171\321\323\167\270\252
+\131\130\376\235\046\372\070\206\076\235\212\207\144\127\345\027
+\072\342\371\215\271\343\063\170\301\220\330\270\335\267\203\121
+\344\304\314\043\325\006\174\346\121\323\315\064\061\300\366\106
+\273\013\255\374\075\020\005\052\073\112\221\045\356\214\324\204
+\207\200\052\274\011\214\252\072\023\137\350\064\171\120\301\020
+\031\371\323\050\036\324\321\121\060\051\263\256\220\147\326\037
+\012\143\261\305\251\306\102\061\143\027\224\357\151\313\057\372
+\214\024\175\304\103\030\211\331\360\062\100\346\200\342\106\137
+\345\343\301\000\131\250\371\350\040\274\211\054\016\107\064\013
+\352\127\302\123\066\374\247\324\257\061\315\376\002\345\165\372
+\271\047\011\371\363\365\073\312\175\237\251\042\313\210\311\252
+\321\107\075\066\167\250\131\144\153\047\317\357\047\301\343\044
+\265\206\367\256\176\062\115\260\171\150\321\071\350\220\130\303
+\203\274\017\054\326\227\353\316\014\341\040\307\332\267\076\303
+\077\277\057\334\064\244\373\053\041\315\147\217\113\364\343\352
+\324\077\347\117\272\271\245\223\105\034\146\037\041\372\144\136
+\157\340\166\224\062\313\165\365\156\345\366\217\307\270\244\314
+\250\226\175\144\373\044\132\112\003\154\153\070\306\350\003\103
+\232\367\127\271\263\051\151\223\070\364\003\362\273\373\202\153
+\007\040\321\122\037\232\144\002\173\230\146\333\134\115\132\017
+\320\204\225\240\074\024\103\006\312\312\333\270\101\066\332\152
+\104\147\207\257\257\343\105\021\025\151\010\262\276\026\071\227
+\044\157\022\105\321\147\135\011\250\311\025\332\372\322\246\137
+\023\141\037\277\205\254\264\255\255\005\224\010\203\036\165\027
+\323\161\073\223\120\043\131\240\355\074\221\124\235\166\000\305
+\303\270\070\333
 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
-# Fingerprint (SHA1): 01:0C:06:95:A6:98:19:14:FF:BF:5F:C6:B0:B6:95:EA:29:E9:12:A6
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
+
+# Trust for "Certum Trusted Root CA"
+# Issuer: CN=Certum Trusted Root CA,OU=Certum Certification Authority,O=Asseco Data Systems S.A.,C=PL
+# Serial Number:1e:bf:59:50:b8:c9:80:37:4c:06:f7:eb:55:4f:b5:ed
+# Subject: CN=Certum Trusted Root CA,OU=Certum Certification Authority,O=Asseco Data Systems S.A.,C=PL
+# Not Valid Before: Fri Mar 16 12:10:13 2018
+# Not Valid After : Mon Mar 16 12:10:13 2043
+# Fingerprint (SHA-256): FE:76:96:57:38:55:77:3E:37:A9:5E:7A:D4:D9:CC:96:C3:01:57:C1:5D:31:76:5B:A9:B1:57:04:E1:AE:78:FD
+# Fingerprint (SHA1): C8:83:44:C0:18:AE:9F:CC:F1:87:B7:8F:22:D1:C5:D7:45:84:BA:E5
 CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "Hellenic Academic and Research Institutions RootCA 2015"
+CKA_LABEL UTF8 "Certum Trusted Root CA"
 CKA_CERT_SHA1_HASH MULTILINE_OCTAL
-\001\014\006\225\246\230\031\024\377\277\137\306\260\266\225\352
-\051\351\022\246
+\310\203\104\300\030\256\237\314\361\207\267\217\042\321\305\327
+\105\204\272\345
 END
 CKA_CERT_MD5_HASH MULTILINE_OCTAL
-\312\377\342\333\003\331\313\113\351\017\255\204\375\173\030\316
+\121\341\302\347\376\114\204\257\131\016\057\364\124\157\352\051
 END
 CKA_ISSUER MULTILINE_OCTAL
-\060\201\246\061\013\060\011\006\003\125\004\006\023\002\107\122
-\061\017\060\015\006\003\125\004\007\023\006\101\164\150\145\156
-\163\061\104\060\102\006\003\125\004\012\023\073\110\145\154\154
-\145\156\151\143\040\101\143\141\144\145\155\151\143\040\141\156
-\144\040\122\145\163\145\141\162\143\150\040\111\156\163\164\151
-\164\165\164\151\157\156\163\040\103\145\162\164\056\040\101\165
-\164\150\157\162\151\164\171\061\100\060\076\006\003\125\004\003
-\023\067\110\145\154\154\145\156\151\143\040\101\143\141\144\145
-\155\151\143\040\141\156\144\040\122\145\163\145\141\162\143\150
-\040\111\156\163\164\151\164\165\164\151\157\156\163\040\122\157
-\157\164\103\101\040\062\060\061\065
+\060\172\061\013\060\011\006\003\125\004\006\023\002\120\114\061
+\041\060\037\006\003\125\004\012\023\030\101\163\163\145\143\157
+\040\104\141\164\141\040\123\171\163\164\145\155\163\040\123\056
+\101\056\061\047\060\045\006\003\125\004\013\023\036\103\145\162
+\164\165\155\040\103\145\162\164\151\146\151\143\141\164\151\157
+\156\040\101\165\164\150\157\162\151\164\171\061\037\060\035\006
+\003\125\004\003\023\026\103\145\162\164\165\155\040\124\162\165
+\163\164\145\144\040\122\157\157\164\040\103\101
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\001\000
+\002\020\036\277\131\120\270\311\200\067\114\006\367\353\125\117
+\265\355
 END
 CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
 CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
@@ -18556,300 +19466,348 @@ CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
 CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
 
 #
-# Certificate "Hellenic Academic and Research Institutions ECC RootCA 2015"
+# Certificate "TunTrust Root CA"
 #
-# 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
-# Fingerprint (SHA1): 9F:F1:71:8D:92:D5:9A:F3:7D:74:97:B4:BC:6F:84:68:0B:BA:B6:66
+# Issuer: CN=TunTrust Root CA,O=Agence Nationale de Certification Electronique,C=TN
+# Serial Number:13:02:d5:e2:40:4c:92:46:86:16:67:5d:b4:bb:bb:b2:6b:3e:fc:13
+# Subject: CN=TunTrust Root CA,O=Agence Nationale de Certification Electronique,C=TN
+# Not Valid Before: Fri Apr 26 08:57:56 2019
+# Not Valid After : Tue Apr 26 08:57:56 2044
+# Fingerprint (SHA-256): 2E:44:10:2A:B5:8C:B8:54:19:45:1C:8E:19:D9:AC:F3:66:2C:AF:BC:61:4B:6A:53:96:0A:30:F7:D0:E2:EB:41
+# Fingerprint (SHA1): CF:E9:70:84:0F:E0:73:0F:9D:F6:0C:7F:2C:4B:EE:20:46:34:9C:BB
 CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "Hellenic Academic and Research Institutions ECC RootCA 2015"
+CKA_LABEL UTF8 "TunTrust Root CA"
 CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
 CKA_SUBJECT MULTILINE_OCTAL
-\060\201\252\061\013\060\011\006\003\125\004\006\023\002\107\122
-\061\017\060\015\006\003\125\004\007\023\006\101\164\150\145\156
-\163\061\104\060\102\006\003\125\004\012\023\073\110\145\154\154
-\145\156\151\143\040\101\143\141\144\145\155\151\143\040\141\156
-\144\040\122\145\163\145\141\162\143\150\040\111\156\163\164\151
-\164\165\164\151\157\156\163\040\103\145\162\164\056\040\101\165
-\164\150\157\162\151\164\171\061\104\060\102\006\003\125\004\003
-\023\073\110\145\154\154\145\156\151\143\040\101\143\141\144\145
-\155\151\143\040\141\156\144\040\122\145\163\145\141\162\143\150
-\040\111\156\163\164\151\164\165\164\151\157\156\163\040\105\103
-\103\040\122\157\157\164\103\101\040\062\060\061\065
+\060\141\061\013\060\011\006\003\125\004\006\023\002\124\116\061
+\067\060\065\006\003\125\004\012\014\056\101\147\145\156\143\145
+\040\116\141\164\151\157\156\141\154\145\040\144\145\040\103\145
+\162\164\151\146\151\143\141\164\151\157\156\040\105\154\145\143
+\164\162\157\156\151\161\165\145\061\031\060\027\006\003\125\004
+\003\014\020\124\165\156\124\162\165\163\164\040\122\157\157\164
+\040\103\101
 END
 CKA_ID UTF8 "0"
 CKA_ISSUER MULTILINE_OCTAL
-\060\201\252\061\013\060\011\006\003\125\004\006\023\002\107\122
-\061\017\060\015\006\003\125\004\007\023\006\101\164\150\145\156
-\163\061\104\060\102\006\003\125\004\012\023\073\110\145\154\154
-\145\156\151\143\040\101\143\141\144\145\155\151\143\040\141\156
-\144\040\122\145\163\145\141\162\143\150\040\111\156\163\164\151
-\164\165\164\151\157\156\163\040\103\145\162\164\056\040\101\165
-\164\150\157\162\151\164\171\061\104\060\102\006\003\125\004\003
-\023\073\110\145\154\154\145\156\151\143\040\101\143\141\144\145
-\155\151\143\040\141\156\144\040\122\145\163\145\141\162\143\150
-\040\111\156\163\164\151\164\165\164\151\157\156\163\040\105\103
-\103\040\122\157\157\164\103\101\040\062\060\061\065
+\060\141\061\013\060\011\006\003\125\004\006\023\002\124\116\061
+\067\060\065\006\003\125\004\012\014\056\101\147\145\156\143\145
+\040\116\141\164\151\157\156\141\154\145\040\144\145\040\103\145
+\162\164\151\146\151\143\141\164\151\157\156\040\105\154\145\143
+\164\162\157\156\151\161\165\145\061\031\060\027\006\003\125\004
+\003\014\020\124\165\156\124\162\165\163\164\040\122\157\157\164
+\040\103\101
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\001\000
+\002\024\023\002\325\342\100\114\222\106\206\026\147\135\264\273
+\273\262\153\076\374\023
 END
 CKA_VALUE MULTILINE_OCTAL
-\060\202\002\303\060\202\002\112\240\003\002\001\002\002\001\000
-\060\012\006\010\052\206\110\316\075\004\003\002\060\201\252\061
-\013\060\011\006\003\125\004\006\023\002\107\122\061\017\060\015
-\006\003\125\004\007\023\006\101\164\150\145\156\163\061\104\060
-\102\006\003\125\004\012\023\073\110\145\154\154\145\156\151\143
-\040\101\143\141\144\145\155\151\143\040\141\156\144\040\122\145
-\163\145\141\162\143\150\040\111\156\163\164\151\164\165\164\151
-\157\156\163\040\103\145\162\164\056\040\101\165\164\150\157\162
-\151\164\171\061\104\060\102\006\003\125\004\003\023\073\110\145
-\154\154\145\156\151\143\040\101\143\141\144\145\155\151\143\040
-\141\156\144\040\122\145\163\145\141\162\143\150\040\111\156\163
-\164\151\164\165\164\151\157\156\163\040\105\103\103\040\122\157
-\157\164\103\101\040\062\060\061\065\060\036\027\015\061\065\060
-\067\060\067\061\060\063\067\061\062\132\027\015\064\060\060\066
-\063\060\061\060\063\067\061\062\132\060\201\252\061\013\060\011
-\006\003\125\004\006\023\002\107\122\061\017\060\015\006\003\125
-\004\007\023\006\101\164\150\145\156\163\061\104\060\102\006\003
-\125\004\012\023\073\110\145\154\154\145\156\151\143\040\101\143
-\141\144\145\155\151\143\040\141\156\144\040\122\145\163\145\141
-\162\143\150\040\111\156\163\164\151\164\165\164\151\157\156\163
-\040\103\145\162\164\056\040\101\165\164\150\157\162\151\164\171
-\061\104\060\102\006\003\125\004\003\023\073\110\145\154\154\145
-\156\151\143\040\101\143\141\144\145\155\151\143\040\141\156\144
-\040\122\145\163\145\141\162\143\150\040\111\156\163\164\151\164
-\165\164\151\157\156\163\040\105\103\103\040\122\157\157\164\103
-\101\040\062\060\061\065\060\166\060\020\006\007\052\206\110\316
-\075\002\001\006\005\053\201\004\000\042\003\142\000\004\222\240
-\101\350\113\202\204\134\342\370\061\021\231\206\144\116\011\045
-\057\235\101\057\012\256\065\117\164\225\262\121\144\153\215\153
-\346\077\160\225\360\005\104\107\246\162\070\120\166\225\002\132
-\216\256\050\236\371\055\116\231\357\054\110\157\114\045\051\350
-\321\161\133\337\035\301\165\067\264\327\372\173\172\102\234\152
-\012\126\132\174\151\013\252\200\011\044\154\176\301\106\243\102
-\060\100\060\017\006\003\125\035\023\001\001\377\004\005\060\003
-\001\001\377\060\016\006\003\125\035\017\001\001\377\004\004\003
-\002\001\006\060\035\006\003\125\035\016\004\026\004\024\264\042
-\013\202\231\044\001\016\234\273\344\016\375\277\373\227\040\223
-\231\052\060\012\006\010\052\206\110\316\075\004\003\002\003\147
-\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
+\060\202\005\263\060\202\003\233\240\003\002\001\002\002\024\023
+\002\325\342\100\114\222\106\206\026\147\135\264\273\273\262\153
+\076\374\023\060\015\006\011\052\206\110\206\367\015\001\001\013
+\005\000\060\141\061\013\060\011\006\003\125\004\006\023\002\124
+\116\061\067\060\065\006\003\125\004\012\014\056\101\147\145\156
+\143\145\040\116\141\164\151\157\156\141\154\145\040\144\145\040
+\103\145\162\164\151\146\151\143\141\164\151\157\156\040\105\154
+\145\143\164\162\157\156\151\161\165\145\061\031\060\027\006\003
+\125\004\003\014\020\124\165\156\124\162\165\163\164\040\122\157
+\157\164\040\103\101\060\036\027\015\061\071\060\064\062\066\060
+\070\065\067\065\066\132\027\015\064\064\060\064\062\066\060\070
+\065\067\065\066\132\060\141\061\013\060\011\006\003\125\004\006
+\023\002\124\116\061\067\060\065\006\003\125\004\012\014\056\101
+\147\145\156\143\145\040\116\141\164\151\157\156\141\154\145\040
+\144\145\040\103\145\162\164\151\146\151\143\141\164\151\157\156
+\040\105\154\145\143\164\162\157\156\151\161\165\145\061\031\060
+\027\006\003\125\004\003\014\020\124\165\156\124\162\165\163\164
+\040\122\157\157\164\040\103\101\060\202\002\042\060\015\006\011
+\052\206\110\206\367\015\001\001\001\005\000\003\202\002\017\000
+\060\202\002\012\002\202\002\001\000\303\315\323\374\275\004\123
+\335\014\040\072\325\210\056\005\113\101\365\203\202\176\367\131
+\237\236\236\143\350\163\332\366\006\251\117\037\264\371\013\037
+\071\214\232\040\320\176\006\324\354\064\331\206\274\165\133\207
+\210\360\322\331\324\243\012\262\154\033\353\111\054\076\254\135
+\330\224\003\240\354\064\345\060\304\065\175\373\046\115\033\156
+\060\124\330\365\200\105\234\071\255\234\311\045\004\115\232\220
+\076\116\100\156\212\153\315\051\147\306\314\055\340\164\350\005
+\127\012\110\120\372\172\103\332\176\354\133\232\016\142\166\376
+\352\235\035\205\162\354\021\273\065\350\037\047\277\301\241\307
+\273\110\026\335\126\327\314\116\240\341\271\254\333\325\203\031
+\032\205\321\224\227\327\312\243\145\013\363\070\371\002\256\335
+\366\147\317\311\077\365\212\054\107\032\231\157\005\015\375\320
+\035\202\061\374\051\314\000\130\227\221\114\200\000\034\063\205
+\226\057\313\101\302\213\020\204\303\011\044\211\037\265\017\331
+\331\167\107\030\222\224\140\134\307\231\003\074\376\367\225\247
+\175\120\241\200\302\251\203\255\130\226\125\041\333\206\131\324
+\257\306\274\335\201\156\007\333\140\142\376\354\020\156\332\150
+\001\364\203\033\251\076\242\133\043\327\144\306\337\334\242\175
+\330\113\272\202\322\121\370\146\277\006\106\344\171\052\046\066
+\171\217\037\116\231\035\262\217\014\016\034\377\311\135\300\375
+\220\020\246\261\067\363\315\072\044\156\264\205\220\277\200\271
+\014\214\325\233\326\310\361\126\077\032\200\211\172\251\342\033
+\062\121\054\076\362\337\173\366\135\172\051\031\216\345\310\275
+\066\161\213\135\114\302\035\077\255\130\242\317\075\160\115\246
+\120\230\045\334\043\371\270\130\101\010\161\277\117\270\204\240
+\217\000\124\025\374\221\155\130\247\226\073\353\113\226\047\315
+\153\242\241\206\254\015\174\124\346\146\114\146\137\220\276\041
+\232\002\106\055\344\203\302\200\271\317\113\076\350\177\074\001
+\354\217\136\315\177\322\050\102\001\225\212\342\227\075\020\041
+\175\366\235\034\305\064\241\354\054\016\012\122\054\022\125\160
+\044\075\313\302\024\065\103\135\047\116\276\300\275\252\174\226
+\347\374\236\141\255\104\323\000\227\002\003\001\000\001\243\143
+\060\141\060\035\006\003\125\035\016\004\026\004\024\006\232\233
+\037\123\175\361\365\244\310\323\206\076\241\163\131\264\367\104
+\041\060\017\006\003\125\035\023\001\001\377\004\005\060\003\001
+\001\377\060\037\006\003\125\035\043\004\030\060\026\200\024\006
+\232\233\037\123\175\361\365\244\310\323\206\076\241\163\131\264
+\367\104\041\060\016\006\003\125\035\017\001\001\377\004\004\003
+\002\001\006\060\015\006\011\052\206\110\206\367\015\001\001\013
+\005\000\003\202\002\001\000\252\005\156\266\335\025\311\277\263
+\306\040\366\006\107\260\206\223\045\323\215\271\310\000\077\227
+\365\122\047\210\161\311\164\375\353\312\144\333\133\357\036\135
+\272\277\321\353\356\134\151\272\026\310\363\271\217\323\066\056
+\100\111\007\015\131\336\213\020\260\111\005\342\377\221\077\113
+\267\335\002\216\370\201\050\134\314\334\155\257\137\024\234\175
+\130\170\015\366\200\011\271\351\016\227\051\031\270\267\353\370
+\026\313\125\022\344\306\175\273\304\354\370\265\034\116\076\147
+\277\305\137\033\155\155\107\050\252\004\130\141\326\166\277\042
+\177\320\007\152\247\144\123\360\227\215\235\200\077\273\301\007
+\333\145\257\346\233\062\232\303\124\223\304\034\010\303\104\373
+\173\143\021\103\321\152\032\141\152\171\155\220\117\051\216\107
+\005\301\022\151\151\326\306\066\061\341\374\372\200\272\134\117
+\304\353\267\062\254\370\165\141\027\327\020\031\271\361\322\011
+\357\172\102\235\133\132\013\324\306\225\116\052\316\377\007\327
+\117\176\030\006\210\361\031\265\331\230\273\256\161\304\034\347
+\164\131\130\357\014\211\317\213\037\165\223\032\004\024\222\110
+\120\251\353\127\051\000\026\343\066\034\310\370\277\360\063\325
+\101\017\304\314\074\335\351\063\103\001\221\020\053\036\321\271
+\135\315\062\031\213\217\214\040\167\327\042\304\102\334\204\026
+\233\045\155\350\264\125\161\177\260\174\263\323\161\111\271\317
+\122\244\004\077\334\075\240\273\257\063\236\012\060\140\216\333
+\235\135\224\250\275\140\347\142\200\166\201\203\014\214\314\060
+\106\111\342\014\322\250\257\353\141\161\357\347\042\142\251\367
+\134\144\154\237\026\214\147\066\047\105\365\011\173\277\366\020
+\012\361\260\215\124\103\214\004\272\243\077\357\342\065\307\371
+\164\340\157\064\101\320\277\163\145\127\040\371\233\147\172\146
+\150\044\116\200\145\275\020\231\006\131\362\145\257\270\306\107
+\273\375\220\170\213\101\163\056\257\125\037\334\073\222\162\156
+\204\323\320\141\114\015\314\166\127\342\055\205\042\025\066\015
+\353\001\235\353\330\353\304\204\231\373\300\014\314\062\350\343
+\167\332\203\104\213\236\125\050\300\213\130\323\220\076\116\033
+\000\361\025\255\203\053\232
 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
-# Fingerprint (SHA1): 9F:F1:71:8D:92:D5:9A:F3:7D:74:97:B4:BC:6F:84:68:0B:BA:B6:66
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
+
+# Trust for "TunTrust Root CA"
+# Issuer: CN=TunTrust Root CA,O=Agence Nationale de Certification Electronique,C=TN
+# Serial Number:13:02:d5:e2:40:4c:92:46:86:16:67:5d:b4:bb:bb:b2:6b:3e:fc:13
+# Subject: CN=TunTrust Root CA,O=Agence Nationale de Certification Electronique,C=TN
+# Not Valid Before: Fri Apr 26 08:57:56 2019
+# Not Valid After : Tue Apr 26 08:57:56 2044
+# Fingerprint (SHA-256): 2E:44:10:2A:B5:8C:B8:54:19:45:1C:8E:19:D9:AC:F3:66:2C:AF:BC:61:4B:6A:53:96:0A:30:F7:D0:E2:EB:41
+# Fingerprint (SHA1): CF:E9:70:84:0F:E0:73:0F:9D:F6:0C:7F:2C:4B:EE:20:46:34:9C:BB
 CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "Hellenic Academic and Research Institutions ECC RootCA 2015"
+CKA_LABEL UTF8 "TunTrust Root CA"
 CKA_CERT_SHA1_HASH MULTILINE_OCTAL
-\237\361\161\215\222\325\232\363\175\164\227\264\274\157\204\150
-\013\272\266\146
+\317\351\160\204\017\340\163\017\235\366\014\177\054\113\356\040
+\106\064\234\273
 END
 CKA_CERT_MD5_HASH MULTILINE_OCTAL
-\201\345\264\027\353\302\365\341\113\015\101\173\111\222\376\357
+\205\023\271\220\133\066\134\266\136\270\132\370\340\061\127\264
 END
 CKA_ISSUER MULTILINE_OCTAL
-\060\201\252\061\013\060\011\006\003\125\004\006\023\002\107\122
-\061\017\060\015\006\003\125\004\007\023\006\101\164\150\145\156
-\163\061\104\060\102\006\003\125\004\012\023\073\110\145\154\154
-\145\156\151\143\040\101\143\141\144\145\155\151\143\040\141\156
-\144\040\122\145\163\145\141\162\143\150\040\111\156\163\164\151
-\164\165\164\151\157\156\163\040\103\145\162\164\056\040\101\165
-\164\150\157\162\151\164\171\061\104\060\102\006\003\125\004\003
-\023\073\110\145\154\154\145\156\151\143\040\101\143\141\144\145
-\155\151\143\040\141\156\144\040\122\145\163\145\141\162\143\150
-\040\111\156\163\164\151\164\165\164\151\157\156\163\040\105\103
-\103\040\122\157\157\164\103\101\040\062\060\061\065
+\060\141\061\013\060\011\006\003\125\004\006\023\002\124\116\061
+\067\060\065\006\003\125\004\012\014\056\101\147\145\156\143\145
+\040\116\141\164\151\157\156\141\154\145\040\144\145\040\103\145
+\162\164\151\146\151\143\141\164\151\157\156\040\105\154\145\143
+\164\162\157\156\151\161\165\145\061\031\060\027\006\003\125\004
+\003\014\020\124\165\156\124\162\165\163\164\040\122\157\157\164
+\040\103\101
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\001\000
+\002\024\023\002\325\342\100\114\222\106\206\026\147\135\264\273
+\273\262\153\076\374\023
 END
 CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
-CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
 CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
 CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
 
 #
-# Certificate "ISRG Root X1"
+# Certificate "HARICA TLS RSA Root CA 2021"
 #
-# 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
-# Fingerprint (SHA1): CA:BD:2A:79:A1:07:6A:31:F2:1D:25:36:35:CB:03:9D:43:29:A5:E8
+# Issuer: CN=HARICA TLS RSA Root CA 2021,O=Hellenic Academic and Research Institutions CA,C=GR
+# Serial Number:39:ca:93:1c:ef:43:f3:c6:8e:93:c7:f4:64:89:38:7e
+# Subject: CN=HARICA TLS RSA Root CA 2021,O=Hellenic Academic and Research Institutions CA,C=GR
+# Not Valid Before: Fri Feb 19 10:55:38 2021
+# Not Valid After : Mon Feb 13 10:55:37 2045
+# Fingerprint (SHA-256): D9:5D:0E:8E:DA:79:52:5B:F9:BE:B1:1B:14:D2:10:0D:32:94:98:5F:0C:62:D9:FA:BD:9C:D9:99:EC:CB:7B:1D
+# Fingerprint (SHA1): 02:2D:05:82:FA:88:CE:14:0C:06:79:DE:7F:14:10:E9:45:D7:A5:6D
 CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "ISRG Root X1"
+CKA_LABEL UTF8 "HARICA TLS RSA Root CA 2021"
 CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
 CKA_SUBJECT MULTILINE_OCTAL
-\060\117\061\013\060\011\006\003\125\004\006\023\002\125\123\061
-\051\060\047\006\003\125\004\012\023\040\111\156\164\145\162\156
-\145\164\040\123\145\143\165\162\151\164\171\040\122\145\163\145
-\141\162\143\150\040\107\162\157\165\160\061\025\060\023\006\003
-\125\004\003\023\014\111\123\122\107\040\122\157\157\164\040\130
-\061
-END
-CKA_ID UTF8 "0"
-CKA_ISSUER MULTILINE_OCTAL
-\060\117\061\013\060\011\006\003\125\004\006\023\002\125\123\061
-\051\060\047\006\003\125\004\012\023\040\111\156\164\145\162\156
-\145\164\040\123\145\143\165\162\151\164\171\040\122\145\163\145
-\141\162\143\150\040\107\162\157\165\160\061\025\060\023\006\003
-\125\004\003\023\014\111\123\122\107\040\122\157\157\164\040\130
-\061
-END
-CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\021\000\202\020\317\260\322\100\343\131\104\143\340\273\143
-\202\213\000
-END
-CKA_VALUE MULTILINE_OCTAL
-\060\202\005\153\060\202\003\123\240\003\002\001\002\002\021\000
-\202\020\317\260\322\100\343\131\104\143\340\273\143\202\213\000
-\060\015\006\011\052\206\110\206\367\015\001\001\013\005\000\060
-\117\061\013\060\011\006\003\125\004\006\023\002\125\123\061\051
-\060\047\006\003\125\004\012\023\040\111\156\164\145\162\156\145
-\164\040\123\145\143\165\162\151\164\171\040\122\145\163\145\141
-\162\143\150\040\107\162\157\165\160\061\025\060\023\006\003\125
-\004\003\023\014\111\123\122\107\040\122\157\157\164\040\130\061
-\060\036\027\015\061\065\060\066\060\064\061\061\060\064\063\070
-\132\027\015\063\065\060\066\060\064\061\061\060\064\063\070\132
-\060\117\061\013\060\011\006\003\125\004\006\023\002\125\123\061
-\051\060\047\006\003\125\004\012\023\040\111\156\164\145\162\156
-\145\164\040\123\145\143\165\162\151\164\171\040\122\145\163\145
-\141\162\143\150\040\107\162\157\165\160\061\025\060\023\006\003
-\125\004\003\023\014\111\123\122\107\040\122\157\157\164\040\130
-\061\060\202\002\042\060\015\006\011\052\206\110\206\367\015\001
-\001\001\005\000\003\202\002\017\000\060\202\002\012\002\202\002
-\001\000\255\350\044\163\364\024\067\363\233\236\053\127\050\034
-\207\276\334\267\337\070\220\214\156\074\346\127\240\170\367\165
-\302\242\376\365\152\156\366\000\117\050\333\336\150\206\154\104
-\223\266\261\143\375\024\022\153\277\037\322\352\061\233\041\176
-\321\063\074\272\110\365\335\171\337\263\270\377\022\361\041\232
-\113\301\212\206\161\151\112\146\146\154\217\176\074\160\277\255
-\051\042\006\363\344\300\346\200\256\342\113\217\267\231\176\224
-\003\237\323\107\227\174\231\110\043\123\350\070\256\117\012\157
-\203\056\321\111\127\214\200\164\266\332\057\320\070\215\173\003
-\160\041\033\165\362\060\074\372\217\256\335\332\143\253\353\026
-\117\302\216\021\113\176\317\013\350\377\265\167\056\364\262\173
-\112\340\114\022\045\014\160\215\003\051\240\341\123\044\354\023
-\331\356\031\277\020\263\112\214\077\211\243\141\121\336\254\207
-\007\224\364\143\161\354\056\342\157\133\230\201\341\211\134\064
-\171\154\166\357\073\220\142\171\346\333\244\232\057\046\305\320
-\020\341\016\336\331\020\216\026\373\267\367\250\367\307\345\002
-\007\230\217\066\010\225\347\342\067\226\015\066\165\236\373\016
-\162\261\035\233\274\003\371\111\005\330\201\335\005\264\052\326
-\101\351\254\001\166\225\012\017\330\337\325\275\022\037\065\057
-\050\027\154\322\230\301\250\011\144\167\156\107\067\272\316\254
-\131\136\150\235\177\162\326\211\305\006\101\051\076\131\076\335
-\046\365\044\311\021\247\132\243\114\100\037\106\241\231\265\247
-\072\121\156\206\073\236\175\162\247\022\005\170\131\355\076\121
-\170\025\013\003\217\215\320\057\005\262\076\173\112\034\113\163
-\005\022\374\306\352\340\120\023\174\103\223\164\263\312\164\347
-\216\037\001\010\320\060\324\133\161\066\264\007\272\301\060\060
-\134\110\267\202\073\230\246\175\140\212\242\243\051\202\314\272
-\275\203\004\033\242\203\003\101\241\326\005\361\033\302\266\360
-\250\174\206\073\106\250\110\052\210\334\166\232\166\277\037\152
-\245\075\031\217\353\070\363\144\336\310\053\015\012\050\377\367
-\333\342\025\102\324\042\320\047\135\341\171\376\030\347\160\210
-\255\116\346\331\213\072\306\335\047\121\156\377\274\144\365\063
-\103\117\002\003\001\000\001\243\102\060\100\060\016\006\003\125
-\035\017\001\001\377\004\004\003\002\001\006\060\017\006\003\125
-\035\023\001\001\377\004\005\060\003\001\001\377\060\035\006\003
-\125\035\016\004\026\004\024\171\264\131\346\173\266\345\344\001
-\163\200\010\210\310\032\130\366\351\233\156\060\015\006\011\052
-\206\110\206\367\015\001\001\013\005\000\003\202\002\001\000\125
-\037\130\251\274\262\250\120\320\014\261\330\032\151\040\047\051
-\010\254\141\165\134\212\156\370\202\345\151\057\325\366\126\113
-\271\270\163\020\131\323\041\227\176\347\114\161\373\262\322\140
-\255\071\250\013\352\027\041\126\205\361\120\016\131\353\316\340
-\131\351\272\311\025\357\206\235\217\204\200\366\344\351\221\220
-\334\027\233\142\033\105\360\146\225\322\174\157\302\352\073\357
-\037\317\313\326\256\047\361\251\260\310\256\375\175\176\232\372
-\042\004\353\377\331\177\352\221\053\042\261\027\016\217\362\212
-\064\133\130\330\374\001\311\124\271\270\046\314\212\210\063\211
-\114\055\204\074\202\337\356\226\127\005\272\054\273\367\304\267
-\307\116\073\202\276\061\310\042\163\163\222\321\302\200\244\071
-\071\020\063\043\202\114\074\237\206\262\125\230\035\276\051\206
-\214\042\233\236\342\153\073\127\072\202\160\115\334\011\307\211
-\313\012\007\115\154\350\135\216\311\357\316\253\307\273\265\053
-\116\105\326\112\320\046\314\345\162\312\010\152\245\225\343\025
-\241\367\244\355\311\054\137\245\373\377\254\050\002\056\276\327
-\173\273\343\161\173\220\026\323\007\136\106\123\174\067\007\102
-\214\323\304\226\234\325\231\265\052\340\225\032\200\110\256\114
-\071\007\316\314\107\244\122\225\053\272\270\373\255\322\063\123
-\175\345\035\115\155\325\241\261\307\102\157\346\100\047\065\134
-\243\050\267\007\215\347\215\063\220\347\043\237\373\120\234\171
-\154\106\325\264\025\263\226\156\176\233\014\226\072\270\122\055
-\077\326\133\341\373\010\302\204\376\044\250\243\211\332\254\152
-\341\030\052\261\250\103\141\133\323\037\334\073\215\166\362\055
-\350\215\165\337\027\063\154\075\123\373\173\313\101\137\377\334
-\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
+\060\154\061\013\060\011\006\003\125\004\006\023\002\107\122\061
+\067\060\065\006\003\125\004\012\014\056\110\145\154\154\145\156
+\151\143\040\101\143\141\144\145\155\151\143\040\141\156\144\040
+\122\145\163\145\141\162\143\150\040\111\156\163\164\151\164\165
+\164\151\157\156\163\040\103\101\061\044\060\042\006\003\125\004
+\003\014\033\110\101\122\111\103\101\040\124\114\123\040\122\123
+\101\040\122\157\157\164\040\103\101\040\062\060\062\061
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\154\061\013\060\011\006\003\125\004\006\023\002\107\122\061
+\067\060\065\006\003\125\004\012\014\056\110\145\154\154\145\156
+\151\143\040\101\143\141\144\145\155\151\143\040\141\156\144\040
+\122\145\163\145\141\162\143\150\040\111\156\163\164\151\164\165
+\164\151\157\156\163\040\103\101\061\044\060\042\006\003\125\004
+\003\014\033\110\101\122\111\103\101\040\124\114\123\040\122\123
+\101\040\122\157\157\164\040\103\101\040\062\060\062\061
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\020\071\312\223\034\357\103\363\306\216\223\307\364\144\211
+\070\176
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\005\244\060\202\003\214\240\003\002\001\002\002\020\071
+\312\223\034\357\103\363\306\216\223\307\364\144\211\070\176\060
+\015\006\011\052\206\110\206\367\015\001\001\013\005\000\060\154
+\061\013\060\011\006\003\125\004\006\023\002\107\122\061\067\060
+\065\006\003\125\004\012\014\056\110\145\154\154\145\156\151\143
+\040\101\143\141\144\145\155\151\143\040\141\156\144\040\122\145
+\163\145\141\162\143\150\040\111\156\163\164\151\164\165\164\151
+\157\156\163\040\103\101\061\044\060\042\006\003\125\004\003\014
+\033\110\101\122\111\103\101\040\124\114\123\040\122\123\101\040
+\122\157\157\164\040\103\101\040\062\060\062\061\060\036\027\015
+\062\061\060\062\061\071\061\060\065\065\063\070\132\027\015\064
+\065\060\062\061\063\061\060\065\065\063\067\132\060\154\061\013
+\060\011\006\003\125\004\006\023\002\107\122\061\067\060\065\006
+\003\125\004\012\014\056\110\145\154\154\145\156\151\143\040\101
+\143\141\144\145\155\151\143\040\141\156\144\040\122\145\163\145
+\141\162\143\150\040\111\156\163\164\151\164\165\164\151\157\156
+\163\040\103\101\061\044\060\042\006\003\125\004\003\014\033\110
+\101\122\111\103\101\040\124\114\123\040\122\123\101\040\122\157
+\157\164\040\103\101\040\062\060\062\061\060\202\002\042\060\015
+\006\011\052\206\110\206\367\015\001\001\001\005\000\003\202\002
+\017\000\060\202\002\012\002\202\002\001\000\213\302\347\257\145
+\233\005\147\226\311\015\044\271\320\016\144\374\316\342\044\030
+\054\204\177\167\121\313\004\021\066\270\136\355\151\161\247\236
+\344\045\011\227\147\301\107\302\317\221\026\066\142\075\070\004
+\341\121\202\377\254\322\264\151\335\056\354\021\243\105\356\153
+\153\073\114\277\214\215\244\036\235\021\271\351\070\371\172\016
+\014\230\342\043\035\321\116\143\324\347\270\101\104\373\153\257
+\153\332\037\323\305\221\210\133\244\211\222\321\201\346\214\071
+\130\240\326\151\103\251\255\230\122\130\156\333\012\373\153\317
+\150\372\343\244\136\072\105\163\230\007\352\137\002\162\336\014
+\245\263\237\256\251\035\267\035\263\374\212\131\347\156\162\145
+\255\365\060\224\043\007\363\202\026\113\065\230\234\123\273\057
+\312\344\132\331\307\215\035\374\230\231\373\054\244\202\153\360
+\052\037\216\013\137\161\134\134\256\102\173\051\211\201\313\003
+\243\231\312\210\236\013\100\011\101\063\333\346\130\172\375\256
+\231\160\300\132\017\326\023\206\161\057\166\151\374\220\335\333
+\055\156\321\362\233\365\032\153\236\157\025\214\172\360\113\050
+\240\042\070\200\044\154\066\244\073\362\060\221\363\170\023\317
+\301\077\065\253\361\035\021\043\265\103\042\236\001\222\267\030
+\002\345\021\321\202\333\025\000\314\141\067\301\052\174\232\341
+\320\272\263\120\106\356\202\254\235\061\370\373\043\342\003\000
+\110\160\243\011\046\171\025\123\140\363\070\134\255\070\352\201
+\000\143\024\271\063\136\335\013\333\240\105\007\032\063\011\370
+\115\264\247\002\246\151\364\302\131\005\210\145\205\126\256\113
+\313\340\336\074\175\055\032\310\351\373\037\243\141\112\326\052
+\023\255\167\114\032\030\233\221\017\130\330\006\124\305\227\370
+\252\077\040\212\246\205\246\167\366\246\374\034\342\356\156\224
+\063\052\203\120\204\012\345\117\206\370\120\105\170\000\201\353
+\133\150\343\046\215\314\173\134\121\364\024\054\100\276\032\140
+\035\172\162\141\035\037\143\055\210\252\316\242\105\220\010\374
+\153\276\263\120\052\132\375\250\110\030\106\326\220\100\222\220
+\012\204\136\150\061\370\353\355\015\323\035\306\175\231\030\125
+\126\047\145\056\215\105\305\044\354\316\343\002\003\001\000\001
+\243\102\060\100\060\017\006\003\125\035\023\001\001\377\004\005
+\060\003\001\001\377\060\035\006\003\125\035\016\004\026\004\024
+\012\110\043\246\140\244\222\012\063\352\223\133\305\127\352\045
+\115\275\022\356\060\016\006\003\125\035\017\001\001\377\004\004
+\003\002\001\206\060\015\006\011\052\206\110\206\367\015\001\001
+\013\005\000\003\202\002\001\000\076\220\110\252\156\142\025\045
+\146\173\014\325\214\213\211\235\327\355\116\007\357\234\320\024
+\137\136\120\275\150\226\220\244\024\021\252\150\155\011\065\071
+\100\011\332\364\011\054\064\245\173\131\204\111\051\227\164\310
+\007\036\107\155\362\316\034\120\046\343\236\075\100\123\077\367
+\177\226\166\020\305\106\245\320\040\113\120\364\065\073\030\364
+\125\152\101\033\107\006\150\074\273\011\010\142\331\137\125\102
+\252\254\123\205\254\225\126\066\126\253\344\005\214\305\250\332
+\037\243\151\275\123\017\304\377\334\312\343\176\362\114\210\206
+\107\106\032\363\000\365\200\221\242\334\103\102\224\233\040\360
+\321\315\262\353\054\123\302\123\170\112\117\004\224\101\232\217
+\047\062\301\345\111\031\277\361\362\302\213\250\012\071\061\050
+\264\175\142\066\054\115\354\037\063\266\176\167\155\176\120\360
+\237\016\327\021\217\317\030\305\343\047\376\046\357\005\235\317
+\317\067\305\320\173\332\073\260\026\204\014\072\223\326\276\027
+\333\017\076\016\031\170\011\307\251\002\162\042\113\367\067\166
+\272\165\304\205\003\132\143\325\261\165\005\302\271\275\224\255
+\214\025\231\247\223\175\366\305\363\252\164\317\004\205\224\230
+\000\364\342\371\312\044\145\277\340\142\257\310\305\372\262\311
+\236\126\110\332\171\375\226\166\025\276\243\216\126\304\263\064
+\374\276\107\364\301\264\250\374\325\060\210\150\356\313\256\311
+\143\304\166\276\254\070\030\341\136\134\317\256\072\042\121\353
+\321\213\263\363\053\063\007\124\207\372\264\262\023\173\272\123
+\004\142\001\235\361\300\117\356\341\072\324\213\040\020\372\002
+\127\346\357\301\013\267\220\106\234\031\051\214\334\157\240\112
+\151\151\224\267\044\145\240\377\254\077\316\001\373\041\056\375
+\150\370\233\362\245\317\061\070\134\025\252\346\227\000\301\337
+\132\245\247\071\252\351\204\177\074\121\250\072\331\224\133\214
+\277\117\010\161\345\333\250\134\324\322\246\376\000\243\306\026
+\307\017\350\200\316\034\050\144\164\031\010\323\102\343\316\000
+\135\177\261\334\023\260\341\005\313\321\040\252\206\164\236\071
+\347\221\375\377\133\326\367\255\246\057\003\013\155\343\127\124
+\353\166\123\030\215\021\230\272
 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
-# Fingerprint (SHA1): CA:BD:2A:79:A1:07:6A:31:F2:1D:25:36:35:CB:03:9D:43:29:A5:E8
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
+
+# Trust for "HARICA TLS RSA Root CA 2021"
+# Issuer: CN=HARICA TLS RSA Root CA 2021,O=Hellenic Academic and Research Institutions CA,C=GR
+# Serial Number:39:ca:93:1c:ef:43:f3:c6:8e:93:c7:f4:64:89:38:7e
+# Subject: CN=HARICA TLS RSA Root CA 2021,O=Hellenic Academic and Research Institutions CA,C=GR
+# Not Valid Before: Fri Feb 19 10:55:38 2021
+# Not Valid After : Mon Feb 13 10:55:37 2045
+# Fingerprint (SHA-256): D9:5D:0E:8E:DA:79:52:5B:F9:BE:B1:1B:14:D2:10:0D:32:94:98:5F:0C:62:D9:FA:BD:9C:D9:99:EC:CB:7B:1D
+# Fingerprint (SHA1): 02:2D:05:82:FA:88:CE:14:0C:06:79:DE:7F:14:10:E9:45:D7:A5:6D
 CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "ISRG Root X1"
+CKA_LABEL UTF8 "HARICA TLS RSA Root CA 2021"
 CKA_CERT_SHA1_HASH MULTILINE_OCTAL
-\312\275\052\171\241\007\152\061\362\035\045\066\065\313\003\235
-\103\051\245\350
+\002\055\005\202\372\210\316\024\014\006\171\336\177\024\020\351
+\105\327\245\155
 END
 CKA_CERT_MD5_HASH MULTILINE_OCTAL
-\014\322\371\340\332\027\163\351\355\206\115\245\343\160\347\116
+\145\107\233\130\206\335\054\360\374\242\204\037\036\226\304\221
 END
 CKA_ISSUER MULTILINE_OCTAL
-\060\117\061\013\060\011\006\003\125\004\006\023\002\125\123\061
-\051\060\047\006\003\125\004\012\023\040\111\156\164\145\162\156
-\145\164\040\123\145\143\165\162\151\164\171\040\122\145\163\145
-\141\162\143\150\040\107\162\157\165\160\061\025\060\023\006\003
-\125\004\003\023\014\111\123\122\107\040\122\157\157\164\040\130
-\061
+\060\154\061\013\060\011\006\003\125\004\006\023\002\107\122\061
+\067\060\065\006\003\125\004\012\014\056\110\145\154\154\145\156
+\151\143\040\101\143\141\144\145\155\151\143\040\141\156\144\040
+\122\145\163\145\141\162\143\150\040\111\156\163\164\151\164\165
+\164\151\157\156\163\040\103\101\061\044\060\042\006\003\125\004
+\003\014\033\110\101\122\111\103\101\040\124\114\123\040\122\123
+\101\040\122\157\157\164\040\103\101\040\062\060\062\061
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\021\000\202\020\317\260\322\100\343\131\104\143\340\273\143
-\202\213\000
+\002\020\071\312\223\034\357\103\363\306\216\223\307\364\144\211
+\070\176
 END
 CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
 CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
@@ -18857,160 +19815,120 @@ CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
 CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
 
 #
-# Certificate "AC RAIZ FNMT-RCM"
+# Certificate "HARICA TLS ECC Root CA 2021"
 #
-# 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
-# Fingerprint (SHA1): EC:50:35:07:B2:15:C4:95:62:19:E2:A8:9A:5B:42:99:2C:4C:2C:20
+# Issuer: CN=HARICA TLS ECC Root CA 2021,O=Hellenic Academic and Research Institutions CA,C=GR
+# Serial Number:67:74:9d:8d:77:d8:3b:6a:db:22:f4:ff:59:e2:bf:ce
+# Subject: CN=HARICA TLS ECC Root CA 2021,O=Hellenic Academic and Research Institutions CA,C=GR
+# Not Valid Before: Fri Feb 19 11:01:10 2021
+# Not Valid After : Mon Feb 13 11:01:09 2045
+# Fingerprint (SHA-256): 3F:99:CC:47:4A:CF:CE:4D:FE:D5:87:94:66:5E:47:8D:15:47:73:9F:2E:78:0F:1B:B4:CA:9B:13:30:97:D4:01
+# Fingerprint (SHA1): BC:B0:C1:9D:E9:98:92:70:19:38:57:E9:8D:A7:B4:5D:6E:EE:01:48
 CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "AC RAIZ FNMT-RCM"
+CKA_LABEL UTF8 "HARICA TLS ECC Root CA 2021"
 CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
 CKA_SUBJECT MULTILINE_OCTAL
-\060\073\061\013\060\011\006\003\125\004\006\023\002\105\123\061
-\021\060\017\006\003\125\004\012\014\010\106\116\115\124\055\122
-\103\115\061\031\060\027\006\003\125\004\013\014\020\101\103\040
-\122\101\111\132\040\106\116\115\124\055\122\103\115
+\060\154\061\013\060\011\006\003\125\004\006\023\002\107\122\061
+\067\060\065\006\003\125\004\012\014\056\110\145\154\154\145\156
+\151\143\040\101\143\141\144\145\155\151\143\040\141\156\144\040
+\122\145\163\145\141\162\143\150\040\111\156\163\164\151\164\165
+\164\151\157\156\163\040\103\101\061\044\060\042\006\003\125\004
+\003\014\033\110\101\122\111\103\101\040\124\114\123\040\105\103
+\103\040\122\157\157\164\040\103\101\040\062\060\062\061
 END
 CKA_ID UTF8 "0"
 CKA_ISSUER MULTILINE_OCTAL
-\060\073\061\013\060\011\006\003\125\004\006\023\002\105\123\061
-\021\060\017\006\003\125\004\012\014\010\106\116\115\124\055\122
-\103\115\061\031\060\027\006\003\125\004\013\014\020\101\103\040
-\122\101\111\132\040\106\116\115\124\055\122\103\115
+\060\154\061\013\060\011\006\003\125\004\006\023\002\107\122\061
+\067\060\065\006\003\125\004\012\014\056\110\145\154\154\145\156
+\151\143\040\101\143\141\144\145\155\151\143\040\141\156\144\040
+\122\145\163\145\141\162\143\150\040\111\156\163\164\151\164\165
+\164\151\157\156\163\040\103\101\061\044\060\042\006\003\125\004
+\003\014\033\110\101\122\111\103\101\040\124\114\123\040\105\103
+\103\040\122\157\157\164\040\103\101\040\062\060\062\061
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\017\135\223\215\060\147\066\310\006\035\032\307\124\204\151
-\007
+\002\020\147\164\235\215\167\330\073\152\333\042\364\377\131\342
+\277\316
 END
 CKA_VALUE MULTILINE_OCTAL
-\060\202\005\203\060\202\003\153\240\003\002\001\002\002\017\135
-\223\215\060\147\066\310\006\035\032\307\124\204\151\007\060\015
-\006\011\052\206\110\206\367\015\001\001\013\005\000\060\073\061
-\013\060\011\006\003\125\004\006\023\002\105\123\061\021\060\017
-\006\003\125\004\012\014\010\106\116\115\124\055\122\103\115\061
-\031\060\027\006\003\125\004\013\014\020\101\103\040\122\101\111
-\132\040\106\116\115\124\055\122\103\115\060\036\027\015\060\070
-\061\060\062\071\061\065\065\071\065\066\132\027\015\063\060\060
-\061\060\061\060\060\060\060\060\060\132\060\073\061\013\060\011
-\006\003\125\004\006\023\002\105\123\061\021\060\017\006\003\125
-\004\012\014\010\106\116\115\124\055\122\103\115\061\031\060\027
-\006\003\125\004\013\014\020\101\103\040\122\101\111\132\040\106
-\116\115\124\055\122\103\115\060\202\002\042\060\015\006\011\052
-\206\110\206\367\015\001\001\001\005\000\003\202\002\017\000\060
-\202\002\012\002\202\002\001\000\272\161\200\172\114\206\156\177
-\310\023\155\300\306\175\034\000\227\217\054\014\043\273\020\232
-\100\251\032\267\207\210\370\233\126\152\373\346\173\216\213\222
-\216\247\045\135\131\021\333\066\056\267\121\027\037\251\010\037
-\004\027\044\130\252\067\112\030\337\345\071\324\127\375\327\301
-\054\221\001\221\342\042\324\003\300\130\374\167\107\354\217\076
-\164\103\272\254\064\215\115\070\166\147\216\260\310\157\060\063
-\130\161\134\264\365\153\156\324\001\120\270\023\176\154\112\243
-\111\321\040\031\356\274\300\051\030\145\247\336\376\357\335\012
-\220\041\347\032\147\222\102\020\230\137\117\060\274\076\034\105
-\264\020\327\150\100\024\300\100\372\347\167\027\172\346\013\217
-\145\133\074\331\232\122\333\265\275\236\106\317\075\353\221\005
-\002\300\226\262\166\114\115\020\226\073\222\372\234\177\017\231
-\337\276\043\065\105\036\002\134\376\265\250\233\231\045\332\136
-\363\042\303\071\365\344\052\056\323\306\037\304\154\252\305\034
-\152\001\005\112\057\322\305\301\250\064\046\135\146\245\322\002
-\041\371\030\267\006\365\116\231\157\250\253\114\121\350\317\120
-\030\305\167\310\071\011\054\111\222\062\231\250\273\027\027\171
-\260\132\305\346\243\304\131\145\107\065\203\136\251\350\065\013
-\231\273\344\315\040\306\233\112\006\071\265\150\374\042\272\356
-\125\214\053\116\352\363\261\343\374\266\231\232\325\102\372\161
-\115\010\317\207\036\152\161\175\371\323\264\351\245\161\201\173
-\302\116\107\226\245\366\166\205\243\050\217\351\200\156\201\123
-\245\155\137\270\110\371\302\371\066\246\056\111\377\270\226\302
-\214\007\263\233\210\130\374\353\033\034\336\055\160\342\227\222
-\060\241\211\343\274\125\250\047\326\113\355\220\255\213\372\143
-\045\131\055\250\065\335\312\227\063\274\345\315\307\235\321\354
-\357\136\016\112\220\006\046\143\255\271\331\065\055\007\272\166
-\145\054\254\127\217\175\364\007\224\327\201\002\226\135\243\007
-\111\325\172\320\127\371\033\347\123\106\165\252\260\171\102\313
-\150\161\010\351\140\275\071\151\316\364\257\303\126\100\307\255
-\122\242\011\344\157\206\107\212\037\353\050\047\135\203\040\257
-\004\311\154\126\232\213\106\365\002\003\001\000\001\243\201\203
-\060\201\200\060\017\006\003\125\035\023\001\001\377\004\005\060
-\003\001\001\377\060\016\006\003\125\035\017\001\001\377\004\004
-\003\002\001\006\060\035\006\003\125\035\016\004\026\004\024\367
-\175\305\375\304\350\232\033\167\144\247\365\035\240\314\277\207
-\140\232\155\060\076\006\003\125\035\040\004\067\060\065\060\063
-\006\004\125\035\040\000\060\053\060\051\006\010\053\006\001\005
-\005\007\002\001\026\035\150\164\164\160\072\057\057\167\167\167
-\056\143\145\162\164\056\146\156\155\164\056\145\163\057\144\160
-\143\163\057\060\015\006\011\052\206\110\206\367\015\001\001\013
-\005\000\003\202\002\001\000\007\220\112\337\363\043\116\360\303
-\234\121\145\233\234\042\242\212\014\205\363\163\051\153\115\376
-\001\342\251\014\143\001\277\004\147\245\235\230\137\375\001\023
-\372\354\232\142\351\206\376\266\142\322\156\114\224\373\300\165
-\105\174\145\014\370\262\067\317\254\017\317\215\157\371\031\367
-\217\354\036\362\160\236\360\312\270\357\267\377\166\067\166\133
-\366\156\210\363\257\142\062\042\223\015\072\152\216\024\146\014
-\055\123\164\127\145\036\325\262\335\043\201\073\245\146\043\047
-\147\011\217\341\167\252\103\315\145\121\010\355\121\130\376\346
-\071\371\313\107\204\244\025\361\166\273\244\356\244\073\304\137
-\357\262\063\226\021\030\267\311\145\276\030\341\243\244\334\372
-\030\371\323\274\023\233\071\172\064\272\323\101\373\372\062\212
-\052\267\053\206\013\151\203\070\276\315\212\056\013\160\255\215
-\046\222\356\036\365\001\053\012\331\326\227\233\156\340\250\031
-\034\072\041\213\014\036\100\255\003\347\335\146\176\365\271\040
-\015\003\350\226\371\202\105\324\071\340\240\000\135\327\230\346
-\175\236\147\163\303\232\052\367\253\213\241\072\024\357\064\274
-\122\016\211\230\232\004\100\204\035\176\105\151\223\127\316\353
-\316\370\120\174\117\034\156\004\103\233\371\326\073\043\030\351
-\352\216\321\115\106\215\361\073\344\152\312\272\373\043\267\233
-\372\231\001\051\132\130\132\055\343\371\324\155\016\046\255\301
-\156\064\274\062\370\014\005\372\145\243\333\073\067\203\042\351
-\326\334\162\063\375\135\362\040\275\166\074\043\332\050\367\371
-\033\353\131\144\325\334\137\162\176\040\374\315\211\265\220\147
-\115\142\172\077\116\255\035\303\071\376\172\364\050\026\337\101
-\366\110\200\005\327\017\121\171\254\020\253\324\354\003\146\346
-\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
+\060\202\002\124\060\202\001\333\240\003\002\001\002\002\020\147
+\164\235\215\167\330\073\152\333\042\364\377\131\342\277\316\060
+\012\006\010\052\206\110\316\075\004\003\003\060\154\061\013\060
+\011\006\003\125\004\006\023\002\107\122\061\067\060\065\006\003
+\125\004\012\014\056\110\145\154\154\145\156\151\143\040\101\143
+\141\144\145\155\151\143\040\141\156\144\040\122\145\163\145\141
+\162\143\150\040\111\156\163\164\151\164\165\164\151\157\156\163
+\040\103\101\061\044\060\042\006\003\125\004\003\014\033\110\101
+\122\111\103\101\040\124\114\123\040\105\103\103\040\122\157\157
+\164\040\103\101\040\062\060\062\061\060\036\027\015\062\061\060
+\062\061\071\061\061\060\061\061\060\132\027\015\064\065\060\062
+\061\063\061\061\060\061\060\071\132\060\154\061\013\060\011\006
+\003\125\004\006\023\002\107\122\061\067\060\065\006\003\125\004
+\012\014\056\110\145\154\154\145\156\151\143\040\101\143\141\144
+\145\155\151\143\040\141\156\144\040\122\145\163\145\141\162\143
+\150\040\111\156\163\164\151\164\165\164\151\157\156\163\040\103
+\101\061\044\060\042\006\003\125\004\003\014\033\110\101\122\111
+\103\101\040\124\114\123\040\105\103\103\040\122\157\157\164\040
+\103\101\040\062\060\062\061\060\166\060\020\006\007\052\206\110
+\316\075\002\001\006\005\053\201\004\000\042\003\142\000\004\070
+\010\376\261\240\226\322\172\254\257\111\072\320\300\340\303\073
+\050\252\361\162\155\145\000\107\210\204\374\232\046\153\252\113
+\272\154\004\012\210\136\027\362\125\207\374\060\260\064\342\064
+\130\127\032\204\123\351\060\331\251\362\226\164\303\121\037\130
+\111\061\314\230\116\140\021\207\165\323\162\224\220\117\233\020
+\045\052\250\170\055\276\220\101\130\220\025\162\247\241\267\243
+\102\060\100\060\017\006\003\125\035\023\001\001\377\004\005\060
+\003\001\001\377\060\035\006\003\125\035\016\004\026\004\024\311
+\033\123\201\022\376\004\325\026\321\252\274\232\157\267\240\225
+\031\156\312\060\016\006\003\125\035\017\001\001\377\004\004\003
+\002\001\206\060\012\006\010\052\206\110\316\075\004\003\003\003
+\147\000\060\144\002\060\021\336\256\370\334\116\210\260\251\360
+\042\255\302\121\100\357\140\161\055\356\217\002\304\135\003\160
+\111\244\222\352\305\024\210\160\246\323\015\260\252\312\054\100
+\234\373\351\202\156\232\002\060\053\107\232\007\306\321\302\201
+\174\312\013\226\030\101\033\243\364\060\011\236\265\043\050\015
+\237\024\266\074\123\242\114\006\151\175\372\154\221\306\052\111
+\105\346\354\267\023\341\072\154
 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
-# Fingerprint (SHA1): EC:50:35:07:B2:15:C4:95:62:19:E2:A8:9A:5B:42:99:2C:4C:2C:20
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
+
+# Trust for "HARICA TLS ECC Root CA 2021"
+# Issuer: CN=HARICA TLS ECC Root CA 2021,O=Hellenic Academic and Research Institutions CA,C=GR
+# Serial Number:67:74:9d:8d:77:d8:3b:6a:db:22:f4:ff:59:e2:bf:ce
+# Subject: CN=HARICA TLS ECC Root CA 2021,O=Hellenic Academic and Research Institutions CA,C=GR
+# Not Valid Before: Fri Feb 19 11:01:10 2021
+# Not Valid After : Mon Feb 13 11:01:09 2045
+# Fingerprint (SHA-256): 3F:99:CC:47:4A:CF:CE:4D:FE:D5:87:94:66:5E:47:8D:15:47:73:9F:2E:78:0F:1B:B4:CA:9B:13:30:97:D4:01
+# Fingerprint (SHA1): BC:B0:C1:9D:E9:98:92:70:19:38:57:E9:8D:A7:B4:5D:6E:EE:01:48
 CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "AC RAIZ FNMT-RCM"
+CKA_LABEL UTF8 "HARICA TLS ECC Root CA 2021"
 CKA_CERT_SHA1_HASH MULTILINE_OCTAL
-\354\120\065\007\262\025\304\225\142\031\342\250\232\133\102\231
-\054\114\054\040
+\274\260\301\235\351\230\222\160\031\070\127\351\215\247\264\135
+\156\356\001\110
 END
 CKA_CERT_MD5_HASH MULTILINE_OCTAL
-\342\011\004\264\323\275\321\240\024\375\032\322\107\304\127\035
+\256\367\114\345\146\065\321\267\233\214\042\223\164\323\113\260
 END
 CKA_ISSUER MULTILINE_OCTAL
-\060\073\061\013\060\011\006\003\125\004\006\023\002\105\123\061
-\021\060\017\006\003\125\004\012\014\010\106\116\115\124\055\122
-\103\115\061\031\060\027\006\003\125\004\013\014\020\101\103\040
-\122\101\111\132\040\106\116\115\124\055\122\103\115
+\060\154\061\013\060\011\006\003\125\004\006\023\002\107\122\061
+\067\060\065\006\003\125\004\012\014\056\110\145\154\154\145\156
+\151\143\040\101\143\141\144\145\155\151\143\040\141\156\144\040
+\122\145\163\145\141\162\143\150\040\111\156\163\164\151\164\165
+\164\151\157\156\163\040\103\101\061\044\060\042\006\003\125\004
+\003\014\033\110\101\122\111\103\101\040\124\114\123\040\105\103
+\103\040\122\157\157\164\040\103\101\040\062\060\062\061
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\017\135\223\215\060\147\066\310\006\035\032\307\124\204\151
-\007
+\002\020\147\164\235\215\167\330\073\152\333\042\364\377\131\342
+\277\316
 END
 CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
 CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
@@ -19018,281 +19936,476 @@ CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
 CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
 
 #
-# Certificate "Amazon Root CA 1"
+# Certificate "HARICA Client RSA Root CA 2021"
 #
-# 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
-# Fingerprint (SHA1): 8D:A7:F9:65:EC:5E:FC:37:91:0F:1C:6E:59:FD:C1:CC:6A:6E:DE:16
+# Issuer: CN=HARICA Client RSA Root CA 2021,O=Hellenic Academic and Research Institutions CA,C=GR
+# Serial Number:55:52:f8:1e:db:1b:24:2c:9e:bb:96:18:cd:02:28:3e
+# Subject: CN=HARICA Client RSA Root CA 2021,O=Hellenic Academic and Research Institutions CA,C=GR
+# Not Valid Before: Fri Feb 19 10:58:46 2021
+# Not Valid After : Mon Feb 13 10:58:45 2045
+# Fingerprint (SHA-256): 1B:E7:AB:E3:06:86:B1:63:48:AF:D1:C6:1B:68:66:A0:EA:7F:48:21:E6:7D:5E:8A:F9:37:CF:80:11:BC:75:0D
+# Fingerprint (SHA1): 46:C6:90:0A:77:3A:B6:BC:F4:65:AD:AC:FC:E3:F7:07:00:6E:DE:6E
 CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "Amazon Root CA 1"
+CKA_LABEL UTF8 "HARICA Client RSA Root CA 2021"
 CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
 CKA_SUBJECT MULTILINE_OCTAL
-\060\071\061\013\060\011\006\003\125\004\006\023\002\125\123\061
-\017\060\015\006\003\125\004\012\023\006\101\155\141\172\157\156
-\061\031\060\027\006\003\125\004\003\023\020\101\155\141\172\157
-\156\040\122\157\157\164\040\103\101\040\061
+\060\157\061\013\060\011\006\003\125\004\006\023\002\107\122\061
+\067\060\065\006\003\125\004\012\014\056\110\145\154\154\145\156
+\151\143\040\101\143\141\144\145\155\151\143\040\141\156\144\040
+\122\145\163\145\141\162\143\150\040\111\156\163\164\151\164\165
+\164\151\157\156\163\040\103\101\061\047\060\045\006\003\125\004
+\003\014\036\110\101\122\111\103\101\040\103\154\151\145\156\164
+\040\122\123\101\040\122\157\157\164\040\103\101\040\062\060\062
+\061
 END
 CKA_ID UTF8 "0"
 CKA_ISSUER MULTILINE_OCTAL
-\060\071\061\013\060\011\006\003\125\004\006\023\002\125\123\061
-\017\060\015\006\003\125\004\012\023\006\101\155\141\172\157\156
-\061\031\060\027\006\003\125\004\003\023\020\101\155\141\172\157
-\156\040\122\157\157\164\040\103\101\040\061
-END
-CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\023\006\154\237\317\231\277\214\012\071\342\360\170\212\103
-\346\226\066\133\312
-END
-CKA_VALUE MULTILINE_OCTAL
-\060\202\003\101\060\202\002\051\240\003\002\001\002\002\023\006
-\154\237\317\231\277\214\012\071\342\360\170\212\103\346\226\066
-\133\312\060\015\006\011\052\206\110\206\367\015\001\001\013\005
-\000\060\071\061\013\060\011\006\003\125\004\006\023\002\125\123
-\061\017\060\015\006\003\125\004\012\023\006\101\155\141\172\157
-\156\061\031\060\027\006\003\125\004\003\023\020\101\155\141\172
-\157\156\040\122\157\157\164\040\103\101\040\061\060\036\027\015
-\061\065\060\065\062\066\060\060\060\060\060\060\132\027\015\063
-\070\060\061\061\067\060\060\060\060\060\060\132\060\071\061\013
-\060\011\006\003\125\004\006\023\002\125\123\061\017\060\015\006
-\003\125\004\012\023\006\101\155\141\172\157\156\061\031\060\027
-\006\003\125\004\003\023\020\101\155\141\172\157\156\040\122\157
-\157\164\040\103\101\040\061\060\202\001\042\060\015\006\011\052
-\206\110\206\367\015\001\001\001\005\000\003\202\001\017\000\060
-\202\001\012\002\202\001\001\000\262\170\200\161\312\170\325\343
-\161\257\107\200\120\164\175\156\330\327\210\166\364\231\150\367
-\130\041\140\371\164\204\001\057\254\002\055\206\323\240\103\172
-\116\262\244\320\066\272\001\276\215\333\110\310\007\027\066\114
-\364\356\210\043\307\076\353\067\365\265\031\370\111\150\260\336
-\327\271\166\070\035\141\236\244\376\202\066\245\345\112\126\344
-\105\341\371\375\264\026\372\164\332\234\233\065\071\057\372\260
-\040\120\006\154\172\320\200\262\246\371\257\354\107\031\217\120
-\070\007\334\242\207\071\130\370\272\325\251\371\110\147\060\226
-\356\224\170\136\157\211\243\121\300\060\206\146\241\105\146\272
-\124\353\243\303\221\371\110\334\377\321\350\060\055\175\055\164
-\160\065\327\210\044\367\236\304\131\156\273\163\207\027\362\062
-\106\050\270\103\372\267\035\252\312\264\362\237\044\016\055\113
-\367\161\134\136\151\377\352\225\002\313\070\212\256\120\070\157
-\333\373\055\142\033\305\307\036\124\341\167\340\147\310\017\234
-\207\043\326\077\100\040\177\040\200\304\200\114\076\073\044\046
-\216\004\256\154\232\310\252\015\002\003\001\000\001\243\102\060
-\100\060\017\006\003\125\035\023\001\001\377\004\005\060\003\001
-\001\377\060\016\006\003\125\035\017\001\001\377\004\004\003\002
-\001\206\060\035\006\003\125\035\016\004\026\004\024\204\030\314
-\205\064\354\274\014\224\224\056\010\131\234\307\262\020\116\012
-\010\060\015\006\011\052\206\110\206\367\015\001\001\013\005\000
-\003\202\001\001\000\230\362\067\132\101\220\241\032\305\166\121
-\050\040\066\043\016\256\346\050\273\252\370\224\256\110\244\060
-\177\033\374\044\215\113\264\310\241\227\366\266\361\172\160\310
-\123\223\314\010\050\343\230\045\317\043\244\371\336\041\323\174
-\205\011\255\116\232\165\072\302\013\152\211\170\166\104\107\030
-\145\154\215\101\216\073\177\232\313\364\265\247\120\327\005\054
-\067\350\003\113\255\351\141\240\002\156\365\362\360\305\262\355
-\133\267\334\372\224\134\167\236\023\245\177\122\255\225\362\370
-\223\073\336\213\134\133\312\132\122\133\140\257\024\367\113\357
-\243\373\237\100\225\155\061\124\374\102\323\307\106\037\043\255
-\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
+\060\157\061\013\060\011\006\003\125\004\006\023\002\107\122\061
+\067\060\065\006\003\125\004\012\014\056\110\145\154\154\145\156
+\151\143\040\101\143\141\144\145\155\151\143\040\141\156\144\040
+\122\145\163\145\141\162\143\150\040\111\156\163\164\151\164\165
+\164\151\157\156\163\040\103\101\061\047\060\045\006\003\125\004
+\003\014\036\110\101\122\111\103\101\040\103\154\151\145\156\164
+\040\122\123\101\040\122\157\157\164\040\103\101\040\062\060\062
+\061
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\020\125\122\370\036\333\033\044\054\236\273\226\030\315\002
+\050\076
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\005\252\060\202\003\222\240\003\002\001\002\002\020\125
+\122\370\036\333\033\044\054\236\273\226\030\315\002\050\076\060
+\015\006\011\052\206\110\206\367\015\001\001\013\005\000\060\157
+\061\013\060\011\006\003\125\004\006\023\002\107\122\061\067\060
+\065\006\003\125\004\012\014\056\110\145\154\154\145\156\151\143
+\040\101\143\141\144\145\155\151\143\040\141\156\144\040\122\145
+\163\145\141\162\143\150\040\111\156\163\164\151\164\165\164\151
+\157\156\163\040\103\101\061\047\060\045\006\003\125\004\003\014
+\036\110\101\122\111\103\101\040\103\154\151\145\156\164\040\122
+\123\101\040\122\157\157\164\040\103\101\040\062\060\062\061\060
+\036\027\015\062\061\060\062\061\071\061\060\065\070\064\066\132
+\027\015\064\065\060\062\061\063\061\060\065\070\064\065\132\060
+\157\061\013\060\011\006\003\125\004\006\023\002\107\122\061\067
+\060\065\006\003\125\004\012\014\056\110\145\154\154\145\156\151
+\143\040\101\143\141\144\145\155\151\143\040\141\156\144\040\122
+\145\163\145\141\162\143\150\040\111\156\163\164\151\164\165\164
+\151\157\156\163\040\103\101\061\047\060\045\006\003\125\004\003
+\014\036\110\101\122\111\103\101\040\103\154\151\145\156\164\040
+\122\123\101\040\122\157\157\164\040\103\101\040\062\060\062\061
+\060\202\002\042\060\015\006\011\052\206\110\206\367\015\001\001
+\001\005\000\003\202\002\017\000\060\202\002\012\002\202\002\001
+\000\201\333\127\102\220\054\164\065\364\370\270\164\031\115\253
+\011\132\167\105\201\163\142\260\065\237\370\320\267\063\000\207
+\023\266\226\253\016\124\022\060\007\274\233\267\110\327\321\031
+\203\256\216\330\251\361\251\000\204\260\214\136\236\350\014\217
+\124\151\277\366\324\010\117\046\160\376\030\101\143\032\263\062
+\213\100\370\007\253\127\061\360\306\026\166\147\232\264\335\057
+\362\321\153\305\320\222\204\221\161\156\017\056\143\351\037\123
+\244\335\122\023\314\011\203\051\201\014\305\123\165\104\261\016
+\147\123\030\320\303\037\210\113\237\224\044\264\051\274\273\350
+\116\375\157\322\025\035\111\334\215\160\362\021\032\040\121\125
+\021\272\210\157\304\367\120\171\326\252\061\342\204\075\136\062
+\310\167\052\120\161\345\013\057\351\266\352\357\253\012\063\071
+\016\375\217\245\147\103\202\216\230\151\011\011\033\100\315\070
+\147\107\352\311\354\227\161\022\336\044\365\162\074\321\367\103
+\114\046\367\220\262\211\351\105\113\125\075\061\005\172\101\342
+\225\272\103\300\027\305\266\205\075\031\215\144\160\363\133\254
+\315\237\323\051\165\207\113\225\147\152\246\370\321\335\274\220
+\206\211\103\051\251\067\133\365\135\260\046\132\123\102\166\220
+\053\317\236\126\154\053\124\317\134\232\145\337\133\213\110\140
+\070\174\373\305\013\317\166\004\143\002\063\052\175\365\203\147
+\347\372\306\103\375\053\017\324\046\057\167\244\062\301\044\352
+\144\235\277\263\070\161\061\104\362\107\270\242\146\101\241\373
+\233\173\274\307\106\152\165\277\132\242\214\350\152\104\301\270
+\226\265\300\062\010\055\173\164\065\163\262\312\306\376\257\021
+\162\030\366\347\310\302\317\245\052\352\173\326\131\350\174\240
+\262\152\100\011\151\016\245\226\333\321\000\271\361\210\156\066
+\360\210\262\235\361\122\362\303\174\277\060\211\074\012\151\371
+\042\244\145\341\233\340\164\306\261\205\227\226\054\256\224\217
+\120\246\071\022\037\276\107\362\201\170\323\165\066\236\175\132
+\040\227\342\122\256\231\237\306\174\233\146\363\376\330\317\356
+\275\227\006\035\055\205\334\076\066\123\226\173\040\272\350\310
+\341\255\226\142\076\021\174\263\000\204\236\247\114\161\253\112
+\067\002\003\001\000\001\243\102\060\100\060\017\006\003\125\035
+\023\001\001\377\004\005\060\003\001\001\377\060\035\006\003\125
+\035\016\004\026\004\024\240\326\007\075\136\044\367\173\240\104
+\056\044\122\015\031\252\053\004\221\247\060\016\006\003\125\035
+\017\001\001\377\004\004\003\002\001\206\060\015\006\011\052\206
+\110\206\367\015\001\001\013\005\000\003\202\002\001\000\015\107
+\371\011\146\061\122\354\171\356\302\250\362\150\076\355\226\105
+\313\072\246\230\143\077\352\053\115\116\003\320\034\202\341\313
+\323\345\326\253\133\147\050\274\235\376\014\231\012\200\125\247
+\316\033\043\141\015\260\127\360\376\340\312\276\346\220\333\203
+\054\276\203\216\364\171\266\376\320\015\102\247\130\037\151\352
+\201\365\005\245\376\106\150\353\154\170\311\340\352\347\346\336
+\061\305\322\325\054\202\143\050\235\135\250\032\176\210\346\347
+\053\361\054\325\320\005\236\334\055\275\067\146\324\004\242\247
+\255\277\072\302\250\073\255\377\215\235\063\340\271\232\204\241
+\207\037\166\364\202\164\327\016\371\060\110\076\133\210\076\252
+\134\153\326\057\014\350\216\163\302\030\221\203\071\266\146\132
+\320\037\140\047\135\115\343\366\072\015\146\120\234\170\173\253
+\363\023\020\256\017\057\253\350\144\263\030\040\235\106\065\144
+\045\163\352\233\020\134\130\065\211\261\106\110\247\364\254\324
+\035\236\133\314\251\245\032\023\117\044\120\252\331\033\155\261
+\100\373\235\335\130\164\304\302\157\024\162\354\333\065\237\270
+\124\165\105\303\246\310\032\050\065\072\256\145\362\251\230\316
+\257\133\311\070\214\061\073\177\314\334\226\375\342\133\326\320
+\131\364\166\272\013\313\117\203\020\307\100\320\035\140\351\052
+\345\110\130\167\014\105\151\276\031\161\004\044\342\343\044\037
+\112\310\301\076\231\365\226\230\070\110\045\241\025\260\033\327
+\342\204\030\133\366\161\065\232\150\173\100\314\030\134\014\044
+\235\324\225\365\231\252\106\352\256\254\277\364\024\031\044\350
+\214\354\343\365\274\006\150\212\052\014\005\137\012\227\165\247
+\334\176\300\375\327\172\030\337\060\321\070\113\037\260\230\160
+\277\314\174\163\360\156\304\061\245\244\227\035\254\277\316\154
+\041\112\276\047\043\147\363\006\126\201\012\221\216\266\341\003
+\005\063\054\332\064\010\115\116\120\043\255\037\245\305\324\172
+\376\352\011\354\247\050\140\213\106\174\265\352\233\335\117\371
+\347\153\025\306\210\317\103\333\345\047\334\004\126\156\157\106
+\025\361\126\055\350\134\014\163\303\043\201\070\040\313\311\014
+\151\317\054\253\073\204\140\063\031\122\375\151\024\063
 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
-# Fingerprint (SHA1): 8D:A7:F9:65:EC:5E:FC:37:91:0F:1C:6E:59:FD:C1:CC:6A:6E:DE:16
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
+
+# Trust for "HARICA Client RSA Root CA 2021"
+# Issuer: CN=HARICA Client RSA Root CA 2021,O=Hellenic Academic and Research Institutions CA,C=GR
+# Serial Number:55:52:f8:1e:db:1b:24:2c:9e:bb:96:18:cd:02:28:3e
+# Subject: CN=HARICA Client RSA Root CA 2021,O=Hellenic Academic and Research Institutions CA,C=GR
+# Not Valid Before: Fri Feb 19 10:58:46 2021
+# Not Valid After : Mon Feb 13 10:58:45 2045
+# Fingerprint (SHA-256): 1B:E7:AB:E3:06:86:B1:63:48:AF:D1:C6:1B:68:66:A0:EA:7F:48:21:E6:7D:5E:8A:F9:37:CF:80:11:BC:75:0D
+# Fingerprint (SHA1): 46:C6:90:0A:77:3A:B6:BC:F4:65:AD:AC:FC:E3:F7:07:00:6E:DE:6E
 CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "Amazon Root CA 1"
+CKA_LABEL UTF8 "HARICA Client RSA Root CA 2021"
 CKA_CERT_SHA1_HASH MULTILINE_OCTAL
-\215\247\371\145\354\136\374\067\221\017\034\156\131\375\301\314
-\152\156\336\026
+\106\306\220\012\167\072\266\274\364\145\255\254\374\343\367\007
+\000\156\336\156
 END
 CKA_CERT_MD5_HASH MULTILINE_OCTAL
-\103\306\277\256\354\376\255\057\030\306\210\150\060\374\310\346
+\157\355\134\327\210\314\070\251\334\351\335\331\135\333\330\355
 END
 CKA_ISSUER MULTILINE_OCTAL
-\060\071\061\013\060\011\006\003\125\004\006\023\002\125\123\061
-\017\060\015\006\003\125\004\012\023\006\101\155\141\172\157\156
-\061\031\060\027\006\003\125\004\003\023\020\101\155\141\172\157
-\156\040\122\157\157\164\040\103\101\040\061
+\060\157\061\013\060\011\006\003\125\004\006\023\002\107\122\061
+\067\060\065\006\003\125\004\012\014\056\110\145\154\154\145\156
+\151\143\040\101\143\141\144\145\155\151\143\040\141\156\144\040
+\122\145\163\145\141\162\143\150\040\111\156\163\164\151\164\165
+\164\151\157\156\163\040\103\101\061\047\060\045\006\003\125\004
+\003\014\036\110\101\122\111\103\101\040\103\154\151\145\156\164
+\040\122\123\101\040\122\157\157\164\040\103\101\040\062\060\062
+\061
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\023\006\154\237\317\231\277\214\012\071\342\360\170\212\103
-\346\226\066\133\312
+\002\020\125\122\370\036\333\033\044\054\236\273\226\030\315\002
+\050\076
 END
-CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
 CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
 CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
 CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
 
 #
-# Certificate "Amazon Root CA 2"
+# Certificate "HARICA Client ECC Root CA 2021"
 #
-# 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
-# Fingerprint (SHA1): 5A:8C:EF:45:D7:A6:98:59:76:7A:8C:8B:44:96:B5:78:CF:47:4B:1A
+# Issuer: CN=HARICA Client ECC Root CA 2021,O=Hellenic Academic and Research Institutions CA,C=GR
+# Serial Number:31:68:d9:d8:e1:62:57:1e:d2:19:44:88:e6:10:7d:f0
+# Subject: CN=HARICA Client ECC Root CA 2021,O=Hellenic Academic and Research Institutions CA,C=GR
+# Not Valid Before: Fri Feb 19 11:03:34 2021
+# Not Valid After : Mon Feb 13 11:03:33 2045
+# Fingerprint (SHA-256): 8D:D4:B5:37:3C:B0:DE:36:76:9C:12:33:92:80:D8:27:46:B3:AA:6C:D4:26:E7:97:A3:1B:AB:E4:27:9C:F0:0B
+# Fingerprint (SHA1): BE:64:D3:DA:14:4B:D2:6B:CD:AF:8F:DB:A6:A6:72:F8:DE:26:F9:00
 CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "Amazon Root CA 2"
+CKA_LABEL UTF8 "HARICA Client ECC Root CA 2021"
 CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
 CKA_SUBJECT MULTILINE_OCTAL
-\060\071\061\013\060\011\006\003\125\004\006\023\002\125\123\061
-\017\060\015\006\003\125\004\012\023\006\101\155\141\172\157\156
-\061\031\060\027\006\003\125\004\003\023\020\101\155\141\172\157
-\156\040\122\157\157\164\040\103\101\040\062
+\060\157\061\013\060\011\006\003\125\004\006\023\002\107\122\061
+\067\060\065\006\003\125\004\012\014\056\110\145\154\154\145\156
+\151\143\040\101\143\141\144\145\155\151\143\040\141\156\144\040
+\122\145\163\145\141\162\143\150\040\111\156\163\164\151\164\165
+\164\151\157\156\163\040\103\101\061\047\060\045\006\003\125\004
+\003\014\036\110\101\122\111\103\101\040\103\154\151\145\156\164
+\040\105\103\103\040\122\157\157\164\040\103\101\040\062\060\062
+\061
 END
 CKA_ID UTF8 "0"
 CKA_ISSUER MULTILINE_OCTAL
-\060\071\061\013\060\011\006\003\125\004\006\023\002\125\123\061
-\017\060\015\006\003\125\004\012\023\006\101\155\141\172\157\156
-\061\031\060\027\006\003\125\004\003\023\020\101\155\141\172\157
-\156\040\122\157\157\164\040\103\101\040\062
+\060\157\061\013\060\011\006\003\125\004\006\023\002\107\122\061
+\067\060\065\006\003\125\004\012\014\056\110\145\154\154\145\156
+\151\143\040\101\143\141\144\145\155\151\143\040\141\156\144\040
+\122\145\163\145\141\162\143\150\040\111\156\163\164\151\164\165
+\164\151\157\156\163\040\103\101\061\047\060\045\006\003\125\004
+\003\014\036\110\101\122\111\103\101\040\103\154\151\145\156\164
+\040\105\103\103\040\122\157\157\164\040\103\101\040\062\060\062
+\061
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\023\006\154\237\322\226\065\206\237\012\017\345\206\170\370
-\133\046\273\212\067
+\002\020\061\150\331\330\341\142\127\036\322\031\104\210\346\020
+\175\360
 END
 CKA_VALUE MULTILINE_OCTAL
-\060\202\005\101\060\202\003\051\240\003\002\001\002\002\023\006
-\154\237\322\226\065\206\237\012\017\345\206\170\370\133\046\273
-\212\067\060\015\006\011\052\206\110\206\367\015\001\001\014\005
-\000\060\071\061\013\060\011\006\003\125\004\006\023\002\125\123
-\061\017\060\015\006\003\125\004\012\023\006\101\155\141\172\157
-\156\061\031\060\027\006\003\125\004\003\023\020\101\155\141\172
-\157\156\040\122\157\157\164\040\103\101\040\062\060\036\027\015
-\061\065\060\065\062\066\060\060\060\060\060\060\132\027\015\064
-\060\060\065\062\066\060\060\060\060\060\060\132\060\071\061\013
-\060\011\006\003\125\004\006\023\002\125\123\061\017\060\015\006
-\003\125\004\012\023\006\101\155\141\172\157\156\061\031\060\027
-\006\003\125\004\003\023\020\101\155\141\172\157\156\040\122\157
-\157\164\040\103\101\040\062\060\202\002\042\060\015\006\011\052
-\206\110\206\367\015\001\001\001\005\000\003\202\002\017\000\060
-\202\002\012\002\202\002\001\000\255\226\237\055\234\112\114\112
-\201\171\121\231\354\212\313\153\140\121\023\274\115\155\006\374
-\260\010\215\335\031\020\152\307\046\014\065\330\300\157\040\204
-\351\224\261\233\205\003\303\133\333\112\350\310\370\220\166\331
-\133\117\343\114\350\006\066\115\314\232\254\075\014\220\053\222
-\324\006\031\140\254\067\104\171\205\201\202\255\132\067\340\015
-\314\235\246\114\122\166\352\103\235\267\004\321\120\366\125\340
-\325\322\246\111\205\351\067\351\312\176\256\134\225\115\110\232
-\077\256\040\132\155\210\225\331\064\270\122\032\103\220\260\277
-\154\005\271\266\170\267\352\320\344\072\074\022\123\142\377\112
-\362\173\276\065\005\251\022\064\343\363\144\164\142\054\075\000
-\111\132\050\376\062\104\273\207\335\145\047\002\161\073\332\112
-\367\037\332\315\367\041\125\220\117\017\354\256\202\341\237\153
-\331\105\323\273\360\137\207\355\074\054\071\206\332\077\336\354
-\162\125\353\171\243\255\333\335\174\260\272\034\316\374\336\117
-\065\166\317\017\370\170\037\152\066\121\106\047\141\133\351\236
-\317\360\242\125\175\174\045\212\157\057\264\305\317\204\056\053
-\375\015\121\020\154\373\137\033\274\033\176\305\256\073\230\001
-\061\222\377\013\127\364\232\262\271\127\351\253\357\015\166\321
-\360\356\364\316\206\247\340\156\351\264\151\241\337\151\366\063
-\306\151\056\227\023\236\245\207\260\127\020\201\067\311\123\263
-\273\177\366\222\321\234\320\030\364\222\156\332\203\117\246\143
-\231\114\245\373\136\357\041\144\172\040\137\154\144\205\025\313
-\067\351\142\014\013\052\026\334\001\056\062\332\076\113\365\236
-\072\366\027\100\224\357\236\221\010\206\372\276\143\250\132\063
-\354\313\164\103\225\371\154\151\122\066\307\051\157\374\125\003
-\134\037\373\237\275\107\353\347\111\107\225\013\116\211\042\011
-\111\340\365\141\036\361\277\056\212\162\156\200\131\377\127\072
-\371\165\062\243\116\137\354\355\050\142\331\115\163\362\314\201
-\027\140\355\315\353\334\333\247\312\305\176\002\275\362\124\010
-\124\375\264\055\011\054\027\124\112\230\321\124\341\121\147\010
-\322\355\156\176\157\077\322\055\201\131\051\146\313\220\071\225
-\021\036\164\047\376\335\353\257\002\003\001\000\001\243\102\060
-\100\060\017\006\003\125\035\023\001\001\377\004\005\060\003\001
-\001\377\060\016\006\003\125\035\017\001\001\377\004\004\003\002
-\001\206\060\035\006\003\125\035\016\004\026\004\024\260\014\360
-\114\060\364\005\130\002\110\375\063\345\122\257\113\204\343\146
-\122\060\015\006\011\052\206\110\206\367\015\001\001\014\005\000
-\003\202\002\001\000\252\250\200\217\016\170\243\340\242\324\315
-\346\365\230\172\073\352\000\003\260\227\016\223\274\132\250\366
-\054\214\162\207\251\261\374\177\163\375\143\161\170\245\207\131
-\317\060\341\015\020\262\023\132\155\202\365\152\346\200\237\240
-\005\013\150\344\107\153\307\152\337\266\375\167\062\162\345\030
-\372\011\364\240\223\054\135\322\214\165\205\166\145\220\014\003
-\171\267\061\043\143\255\170\203\011\206\150\204\312\377\371\317
-\046\232\222\171\347\315\113\305\347\141\247\027\313\363\251\022
-\223\223\153\247\350\057\123\222\304\140\130\260\314\002\121\030
-\133\205\215\142\131\143\266\255\264\336\232\373\046\367\000\047
-\300\135\125\067\164\231\311\120\177\343\131\056\104\343\054\045
-\356\354\114\062\167\264\237\032\351\113\135\040\305\332\375\034
-\207\026\306\103\350\324\273\046\232\105\160\136\251\013\067\123
-\342\106\173\047\375\340\106\362\211\267\314\102\266\313\050\046
-\156\331\245\311\072\310\101\023\140\367\120\214\025\256\262\155
-\032\025\032\127\170\346\222\052\331\145\220\202\077\154\002\257
-\256\022\072\047\226\066\004\327\035\242\200\143\251\233\361\345
-\272\264\174\024\260\116\311\261\037\164\137\070\366\121\352\233
-\372\054\242\021\324\251\055\047\032\105\261\257\262\116\161\015
-\300\130\106\326\151\006\313\123\313\263\376\153\101\315\101\176
-\175\114\017\174\162\171\172\131\315\136\112\016\254\233\251\230
-\163\171\174\264\364\314\271\270\007\014\262\164\134\270\307\157
-\210\241\220\247\364\252\371\277\147\072\364\032\025\142\036\267
-\237\276\075\261\051\257\147\241\022\362\130\020\031\123\003\060
-\033\270\032\211\366\234\275\227\003\216\243\011\363\035\213\041
-\361\264\337\344\034\321\237\145\002\006\352\134\326\023\263\204
-\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
+\060\202\002\132\060\202\001\341\240\003\002\001\002\002\020\061
+\150\331\330\341\142\127\036\322\031\104\210\346\020\175\360\060
+\012\006\010\052\206\110\316\075\004\003\003\060\157\061\013\060
+\011\006\003\125\004\006\023\002\107\122\061\067\060\065\006\003
+\125\004\012\014\056\110\145\154\154\145\156\151\143\040\101\143
+\141\144\145\155\151\143\040\141\156\144\040\122\145\163\145\141
+\162\143\150\040\111\156\163\164\151\164\165\164\151\157\156\163
+\040\103\101\061\047\060\045\006\003\125\004\003\014\036\110\101
+\122\111\103\101\040\103\154\151\145\156\164\040\105\103\103\040
+\122\157\157\164\040\103\101\040\062\060\062\061\060\036\027\015
+\062\061\060\062\061\071\061\061\060\063\063\064\132\027\015\064
+\065\060\062\061\063\061\061\060\063\063\063\132\060\157\061\013
+\060\011\006\003\125\004\006\023\002\107\122\061\067\060\065\006
+\003\125\004\012\014\056\110\145\154\154\145\156\151\143\040\101
+\143\141\144\145\155\151\143\040\141\156\144\040\122\145\163\145
+\141\162\143\150\040\111\156\163\164\151\164\165\164\151\157\156
+\163\040\103\101\061\047\060\045\006\003\125\004\003\014\036\110
+\101\122\111\103\101\040\103\154\151\145\156\164\040\105\103\103
+\040\122\157\157\164\040\103\101\040\062\060\062\061\060\166\060
+\020\006\007\052\206\110\316\075\002\001\006\005\053\201\004\000
+\042\003\142\000\004\007\030\255\225\226\224\320\134\017\202\367
+\052\100\372\002\311\311\075\066\246\243\004\152\301\155\225\001
+\210\140\022\124\154\134\242\053\156\023\072\210\225\014\034\046
+\206\066\112\211\031\267\030\336\073\350\250\120\037\312\337\133
+\277\111\200\025\333\343\060\341\035\132\307\052\212\001\007\376
+\155\054\064\357\050\050\227\274\301\371\127\206\225\213\065\317
+\236\132\321\150\225\243\102\060\100\060\017\006\003\125\035\023
+\001\001\377\004\005\060\003\001\001\377\060\035\006\003\125\035
+\016\004\026\004\024\122\010\322\276\062\201\045\375\365\032\227
+\354\116\137\032\273\123\315\220\255\060\016\006\003\125\035\017
+\001\001\377\004\004\003\002\001\206\060\012\006\010\052\206\110
+\316\075\004\003\003\003\147\000\060\144\002\060\114\061\105\106
+\117\250\346\276\303\167\262\032\030\113\055\210\173\130\346\253
+\224\153\104\003\260\027\377\337\202\163\104\121\054\375\223\035
+\006\173\024\322\211\354\100\014\357\041\001\056\002\060\057\311
+\056\132\154\054\035\331\225\340\236\260\271\134\122\174\366\370
+\070\312\056\361\324\035\362\242\111\242\225\370\301\130\136\117
+\376\163\012\357\061\260\253\043\130\023\214\213\336\073
 END
 CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
+
+# Trust for "HARICA Client ECC Root CA 2021"
+# Issuer: CN=HARICA Client ECC Root CA 2021,O=Hellenic Academic and Research Institutions CA,C=GR
+# Serial Number:31:68:d9:d8:e1:62:57:1e:d2:19:44:88:e6:10:7d:f0
+# Subject: CN=HARICA Client ECC Root CA 2021,O=Hellenic Academic and Research Institutions CA,C=GR
+# Not Valid Before: Fri Feb 19 11:03:34 2021
+# Not Valid After : Mon Feb 13 11:03:33 2045
+# Fingerprint (SHA-256): 8D:D4:B5:37:3C:B0:DE:36:76:9C:12:33:92:80:D8:27:46:B3:AA:6C:D4:26:E7:97:A3:1B:AB:E4:27:9C:F0:0B
+# Fingerprint (SHA1): BE:64:D3:DA:14:4B:D2:6B:CD:AF:8F:DB:A6:A6:72:F8:DE:26:F9:00
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "HARICA Client ECC Root CA 2021"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\276\144\323\332\024\113\322\153\315\257\217\333\246\246\162\370
+\336\046\371\000
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\255\270\120\246\251\202\172\154\075\032\252\244\322\143\244\104
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\157\061\013\060\011\006\003\125\004\006\023\002\107\122\061
+\067\060\065\006\003\125\004\012\014\056\110\145\154\154\145\156
+\151\143\040\101\143\141\144\145\155\151\143\040\141\156\144\040
+\122\145\163\145\141\162\143\150\040\111\156\163\164\151\164\165
+\164\151\157\156\163\040\103\101\061\047\060\045\006\003\125\004
+\003\014\036\110\101\122\111\103\101\040\103\154\151\145\156\164
+\040\105\103\103\040\122\157\157\164\040\103\101\040\062\060\062
+\061
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\020\061\150\331\330\341\142\127\036\322\031\104\210\346\020
+\175\360
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
 
-# 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
-# Fingerprint (SHA1): 5A:8C:EF:45:D7:A6:98:59:76:7A:8C:8B:44:96:B5:78:CF:47:4B:1A
+#
+# Certificate "Autoridad de Certificacion Firmaprofesional CIF A62634068"
+#
+# Issuer: CN=Autoridad de Certificacion Firmaprofesional CIF A62634068,C=ES
+# Serial Number:1b:70:e9:d2:ff:ae:6c:71
+# Subject: CN=Autoridad de Certificacion Firmaprofesional CIF A62634068,C=ES
+# Not Valid Before: Tue Sep 23 15:22:07 2014
+# Not Valid After : Mon May 05 15:22:07 2036
+# Fingerprint (SHA-256): 57:DE:05:83:EF:D2:B2:6E:03:61:DA:99:DA:9D:F4:64:8D:EF:7E:E8:44:1C:3B:72:8A:FA:9B:CD:E0:F9:B2:6A
+# Fingerprint (SHA1): 0B:BE:C2:27:22:49:CB:39:AA:DB:35:5C:53:E3:8C:AE:78:FF:B6:FE
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Autoridad de Certificacion Firmaprofesional CIF A62634068"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\121\061\013\060\011\006\003\125\004\006\023\002\105\123\061
+\102\060\100\006\003\125\004\003\014\071\101\165\164\157\162\151
+\144\141\144\040\144\145\040\103\145\162\164\151\146\151\143\141
+\143\151\157\156\040\106\151\162\155\141\160\162\157\146\145\163
+\151\157\156\141\154\040\103\111\106\040\101\066\062\066\063\064
+\060\066\070
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\121\061\013\060\011\006\003\125\004\006\023\002\105\123\061
+\102\060\100\006\003\125\004\003\014\071\101\165\164\157\162\151
+\144\141\144\040\144\145\040\103\145\162\164\151\146\151\143\141
+\143\151\157\156\040\106\151\162\155\141\160\162\157\146\145\163
+\151\157\156\141\154\040\103\111\106\040\101\066\062\066\063\064
+\060\066\070
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\010\033\160\351\322\377\256\154\161
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\006\024\060\202\003\374\240\003\002\001\002\002\010\033
+\160\351\322\377\256\154\161\060\015\006\011\052\206\110\206\367
+\015\001\001\013\005\000\060\121\061\013\060\011\006\003\125\004
+\006\023\002\105\123\061\102\060\100\006\003\125\004\003\014\071
+\101\165\164\157\162\151\144\141\144\040\144\145\040\103\145\162
+\164\151\146\151\143\141\143\151\157\156\040\106\151\162\155\141
+\160\162\157\146\145\163\151\157\156\141\154\040\103\111\106\040
+\101\066\062\066\063\064\060\066\070\060\036\027\015\061\064\060
+\071\062\063\061\065\062\062\060\067\132\027\015\063\066\060\065
+\060\065\061\065\062\062\060\067\132\060\121\061\013\060\011\006
+\003\125\004\006\023\002\105\123\061\102\060\100\006\003\125\004
+\003\014\071\101\165\164\157\162\151\144\141\144\040\144\145\040
+\103\145\162\164\151\146\151\143\141\143\151\157\156\040\106\151
+\162\155\141\160\162\157\146\145\163\151\157\156\141\154\040\103
+\111\106\040\101\066\062\066\063\064\060\066\070\060\202\002\042
+\060\015\006\011\052\206\110\206\367\015\001\001\001\005\000\003
+\202\002\017\000\060\202\002\012\002\202\002\001\000\312\226\153
+\216\352\370\373\361\242\065\340\177\114\332\340\303\122\327\175
+\266\020\310\002\136\263\103\052\304\117\152\262\312\034\135\050
+\232\170\021\032\151\131\127\257\265\040\102\344\213\017\346\337
+\133\246\003\222\057\365\021\344\142\327\062\161\070\331\004\014
+\161\253\075\121\176\017\007\337\143\005\134\351\277\224\157\301
+\051\202\300\264\332\121\260\301\074\273\255\067\112\134\312\361
+\113\066\016\044\253\277\303\204\167\375\250\120\364\261\347\306
+\057\322\055\131\215\172\012\116\226\151\122\002\252\066\230\354
+\374\372\024\203\014\067\037\311\222\067\177\327\201\055\345\304
+\271\340\076\064\376\147\364\076\146\321\323\364\100\317\136\142
+\064\017\160\006\076\040\030\132\316\367\162\033\045\154\223\164
+\024\223\243\163\261\016\252\207\020\043\131\137\040\005\031\107
+\355\150\216\222\022\312\135\374\326\053\262\222\074\040\317\341
+\137\257\040\276\240\166\177\166\345\354\032\206\141\063\076\347
+\173\264\077\240\017\216\242\271\152\157\271\207\046\157\101\154
+\210\246\120\375\152\143\013\365\223\026\033\031\217\262\355\233
+\233\311\220\365\001\014\337\031\075\017\076\070\043\311\057\217
+\014\321\002\376\033\125\326\116\320\215\074\257\117\244\363\376
+\257\052\323\005\235\171\010\241\313\127\061\264\234\310\220\262
+\147\364\030\026\223\072\374\107\330\321\170\226\061\037\272\053
+\014\137\135\231\255\143\211\132\044\040\166\330\337\375\253\116
+\246\042\252\235\136\346\047\212\175\150\051\243\347\212\270\332
+\021\273\027\055\231\235\023\044\106\367\305\342\330\237\216\177
+\307\217\164\155\132\262\350\162\365\254\356\044\020\255\057\024
+\332\377\055\232\106\161\107\276\102\337\273\001\333\364\177\323
+\050\217\061\131\133\323\311\002\246\264\122\312\156\227\373\103
+\305\010\046\157\212\364\273\375\237\050\252\015\325\105\363\023
+\072\035\330\300\170\217\101\147\074\036\224\144\256\173\013\305
+\350\331\001\210\071\032\227\206\144\101\325\073\207\014\156\372
+\017\306\275\110\024\277\071\115\324\236\101\266\217\226\035\143
+\226\223\331\225\006\170\061\150\236\067\006\073\200\211\105\141
+\071\043\307\033\104\243\025\345\034\370\222\060\273\002\003\001
+\000\001\243\201\357\060\201\354\060\035\006\003\125\035\016\004
+\026\004\024\145\315\353\253\065\036\000\076\176\325\164\300\034
+\264\163\107\016\032\144\057\060\022\006\003\125\035\023\001\001
+\377\004\010\060\006\001\001\377\002\001\001\060\201\246\006\003
+\125\035\040\004\201\236\060\201\233\060\201\230\006\004\125\035
+\040\000\060\201\217\060\057\006\010\053\006\001\005\005\007\002
+\001\026\043\150\164\164\160\072\057\057\167\167\167\056\146\151
+\162\155\141\160\162\157\146\145\163\151\157\156\141\154\056\143
+\157\155\057\143\160\163\060\134\006\010\053\006\001\005\005\007
+\002\002\060\120\036\116\000\120\000\141\000\163\000\145\000\157
+\000\040\000\144\000\145\000\040\000\154\000\141\000\040\000\102
+\000\157\000\156\000\141\000\156\000\157\000\166\000\141\000\040
+\000\064\000\067\000\040\000\102\000\141\000\162\000\143\000\145
+\000\154\000\157\000\156\000\141\000\040\000\060\000\070\000\060
+\000\061\000\067\060\016\006\003\125\035\017\001\001\377\004\004
+\003\002\001\006\060\015\006\011\052\206\110\206\367\015\001\001
+\013\005\000\003\202\002\001\000\164\207\050\002\053\167\037\146
+\211\144\355\217\164\056\106\034\273\250\370\370\013\035\203\266
+\072\247\350\105\212\007\267\340\076\040\313\341\010\333\023\010
+\370\050\241\065\262\200\263\013\121\300\323\126\232\215\063\105
+\111\257\111\360\340\075\007\172\105\023\132\377\310\227\330\323
+\030\054\175\226\370\335\242\145\103\160\223\220\025\272\220\337
+\350\031\260\333\054\212\140\017\267\157\224\007\036\035\246\311
+\205\366\275\064\370\100\170\142\020\160\072\276\175\113\071\201
+\251\020\324\226\101\273\370\137\034\013\035\010\362\261\260\211
+\172\362\367\240\340\304\217\213\170\265\073\130\245\043\216\117
+\125\376\066\073\340\014\267\312\052\060\101\040\264\200\315\256
+\374\166\146\163\250\256\156\341\174\332\003\350\224\040\346\042
+\243\320\037\220\135\040\123\024\046\127\332\124\227\337\026\104
+\020\001\036\210\146\217\162\070\223\335\040\267\064\276\327\361
+\356\143\216\107\171\050\006\374\363\131\105\045\140\042\063\033
+\243\137\250\272\052\332\032\075\315\100\352\214\356\005\025\225
+\325\245\054\040\057\247\230\050\356\105\374\361\270\210\000\054
+\217\102\332\121\325\234\345\023\150\161\105\103\213\236\013\041
+\074\113\134\005\334\032\237\230\216\332\275\042\236\162\315\255
+\012\313\314\243\147\233\050\164\304\233\327\032\074\004\130\246
+\202\235\255\307\173\157\377\200\226\351\370\215\152\275\030\220
+\035\377\111\032\220\122\067\223\057\074\002\135\202\166\013\121
+\347\026\307\127\370\070\371\247\315\233\042\124\357\143\260\025
+\155\123\145\003\112\136\112\240\262\247\216\111\000\131\070\325
+\307\364\200\144\365\156\225\120\270\021\176\025\160\070\112\260
+\177\320\304\062\160\300\031\377\311\070\055\024\054\146\364\102
+\104\346\125\166\033\200\025\127\377\300\247\247\252\071\252\330
+\323\160\320\056\272\353\224\152\372\137\064\206\347\142\265\375
+\212\360\060\205\224\311\257\044\002\057\157\326\335\147\376\343
+\260\125\117\004\230\117\244\101\126\342\223\320\152\350\326\363
+\373\145\340\316\165\304\061\131\014\356\202\310\014\140\063\112
+\031\272\204\147\047\017\274\102\135\275\044\124\015\354\035\160
+\006\137\244\274\372\040\174\125
+END
+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
+
+# Trust for "Autoridad de Certificacion Firmaprofesional CIF A62634068"
+# Issuer: CN=Autoridad de Certificacion Firmaprofesional CIF A62634068,C=ES
+# Serial Number:1b:70:e9:d2:ff:ae:6c:71
+# Subject: CN=Autoridad de Certificacion Firmaprofesional CIF A62634068,C=ES
+# Not Valid Before: Tue Sep 23 15:22:07 2014
+# Not Valid After : Mon May 05 15:22:07 2036
+# Fingerprint (SHA-256): 57:DE:05:83:EF:D2:B2:6E:03:61:DA:99:DA:9D:F4:64:8D:EF:7E:E8:44:1C:3B:72:8A:FA:9B:CD:E0:F9:B2:6A
+# Fingerprint (SHA1): 0B:BE:C2:27:22:49:CB:39:AA:DB:35:5C:53:E3:8C:AE:78:FF:B6:FE
 CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "Amazon Root CA 2"
+CKA_LABEL UTF8 "Autoridad de Certificacion Firmaprofesional CIF A62634068"
 CKA_CERT_SHA1_HASH MULTILINE_OCTAL
-\132\214\357\105\327\246\230\131\166\172\214\213\104\226\265\170
-\317\107\113\032
+\013\276\302\047\042\111\313\071\252\333\065\134\123\343\214\256
+\170\377\266\376
 END
 CKA_CERT_MD5_HASH MULTILINE_OCTAL
-\310\345\215\316\250\102\342\172\300\052\134\174\236\046\277\146
+\116\156\233\124\114\312\267\372\110\344\220\261\025\113\034\243
 END
 CKA_ISSUER MULTILINE_OCTAL
-\060\071\061\013\060\011\006\003\125\004\006\023\002\125\123\061
-\017\060\015\006\003\125\004\012\023\006\101\155\141\172\157\156
-\061\031\060\027\006\003\125\004\003\023\020\101\155\141\172\157
-\156\040\122\157\157\164\040\103\101\040\062
+\060\121\061\013\060\011\006\003\125\004\006\023\002\105\123\061
+\102\060\100\006\003\125\004\003\014\071\101\165\164\157\162\151
+\144\141\144\040\144\145\040\103\145\162\164\151\146\151\143\141
+\143\151\157\156\040\106\151\162\155\141\160\162\157\146\145\163
+\151\157\156\141\154\040\103\111\106\040\101\066\062\066\063\064
+\060\066\070
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\023\006\154\237\322\226\065\206\237\012\017\345\206\170\370
-\133\046\273\212\067
+\002\010\033\160\351\322\377\256\154\161
 END
 CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
 CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
@@ -19300,1255 +20413,1488 @@ CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
 CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
 
 #
-# Certificate "Amazon Root CA 3"
+# Certificate "vTrus ECC Root CA"
 #
-# 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
-# Fingerprint (SHA1): 0D:44:DD:8C:3C:8C:1A:1A:58:75:64:81:E9:0F:2E:2A:FF:B3:D2:6E
+# Issuer: CN=vTrus ECC Root CA,O="iTrusChina Co.,Ltd.",C=CN
+# Serial Number:6e:6a:bc:59:aa:53:be:98:39:67:a2:d2:6b:a4:3b:e6:6d:1c:d6:da
+# Subject: CN=vTrus ECC Root CA,O="iTrusChina Co.,Ltd.",C=CN
+# Not Valid Before: Tue Jul 31 07:26:44 2018
+# Not Valid After : Fri Jul 31 07:26:44 2043
+# Fingerprint (SHA-256): 30:FB:BA:2C:32:23:8E:2A:98:54:7A:F9:79:31:E5:50:42:8B:9B:3F:1C:8E:EB:66:33:DC:FA:86:C5:B2:7D:D3
+# Fingerprint (SHA1): F6:9C:DB:B0:FC:F6:02:13:B6:52:32:A6:A3:91:3F:16:70:DA:C3:E1
 CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "Amazon Root CA 3"
+CKA_LABEL UTF8 "vTrus ECC Root CA"
 CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
 CKA_SUBJECT MULTILINE_OCTAL
-\060\071\061\013\060\011\006\003\125\004\006\023\002\125\123\061
-\017\060\015\006\003\125\004\012\023\006\101\155\141\172\157\156
-\061\031\060\027\006\003\125\004\003\023\020\101\155\141\172\157
-\156\040\122\157\157\164\040\103\101\040\063
+\060\107\061\013\060\011\006\003\125\004\006\023\002\103\116\061
+\034\060\032\006\003\125\004\012\023\023\151\124\162\165\163\103
+\150\151\156\141\040\103\157\056\054\114\164\144\056\061\032\060
+\030\006\003\125\004\003\023\021\166\124\162\165\163\040\105\103
+\103\040\122\157\157\164\040\103\101
 END
 CKA_ID UTF8 "0"
 CKA_ISSUER MULTILINE_OCTAL
-\060\071\061\013\060\011\006\003\125\004\006\023\002\125\123\061
-\017\060\015\006\003\125\004\012\023\006\101\155\141\172\157\156
-\061\031\060\027\006\003\125\004\003\023\020\101\155\141\172\157
-\156\040\122\157\157\164\040\103\101\040\063
+\060\107\061\013\060\011\006\003\125\004\006\023\002\103\116\061
+\034\060\032\006\003\125\004\012\023\023\151\124\162\165\163\103
+\150\151\156\141\040\103\157\056\054\114\164\144\056\061\032\060
+\030\006\003\125\004\003\023\021\166\124\162\165\163\040\105\103
+\103\040\122\157\157\164\040\103\101
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\023\006\154\237\325\164\227\066\146\077\073\013\232\331\350
-\236\166\003\362\112
+\002\024\156\152\274\131\252\123\276\230\071\147\242\322\153\244
+\073\346\155\034\326\332
 END
 CKA_VALUE MULTILINE_OCTAL
-\060\202\001\266\060\202\001\133\240\003\002\001\002\002\023\006
-\154\237\325\164\227\066\146\077\073\013\232\331\350\236\166\003
-\362\112\060\012\006\010\052\206\110\316\075\004\003\002\060\071
-\061\013\060\011\006\003\125\004\006\023\002\125\123\061\017\060
-\015\006\003\125\004\012\023\006\101\155\141\172\157\156\061\031
-\060\027\006\003\125\004\003\023\020\101\155\141\172\157\156\040
-\122\157\157\164\040\103\101\040\063\060\036\027\015\061\065\060
-\065\062\066\060\060\060\060\060\060\132\027\015\064\060\060\065
-\062\066\060\060\060\060\060\060\132\060\071\061\013\060\011\006
-\003\125\004\006\023\002\125\123\061\017\060\015\006\003\125\004
-\012\023\006\101\155\141\172\157\156\061\031\060\027\006\003\125
-\004\003\023\020\101\155\141\172\157\156\040\122\157\157\164\040
-\103\101\040\063\060\131\060\023\006\007\052\206\110\316\075\002
-\001\006\010\052\206\110\316\075\003\001\007\003\102\000\004\051
-\227\247\306\101\177\300\015\233\350\001\033\126\306\362\122\245
-\272\055\262\022\350\322\056\327\372\311\305\330\252\155\037\163
-\201\073\073\230\153\071\174\063\245\305\116\206\216\200\027\150
-\142\105\127\175\104\130\035\263\067\345\147\010\353\146\336\243
-\102\060\100\060\017\006\003\125\035\023\001\001\377\004\005\060
-\003\001\001\377\060\016\006\003\125\035\017\001\001\377\004\004
-\003\002\001\206\060\035\006\003\125\035\016\004\026\004\024\253
-\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
+\060\202\002\017\060\202\001\225\240\003\002\001\002\002\024\156
+\152\274\131\252\123\276\230\071\147\242\322\153\244\073\346\155
+\034\326\332\060\012\006\010\052\206\110\316\075\004\003\003\060
+\107\061\013\060\011\006\003\125\004\006\023\002\103\116\061\034
+\060\032\006\003\125\004\012\023\023\151\124\162\165\163\103\150
+\151\156\141\040\103\157\056\054\114\164\144\056\061\032\060\030
+\006\003\125\004\003\023\021\166\124\162\165\163\040\105\103\103
+\040\122\157\157\164\040\103\101\060\036\027\015\061\070\060\067
+\063\061\060\067\062\066\064\064\132\027\015\064\063\060\067\063
+\061\060\067\062\066\064\064\132\060\107\061\013\060\011\006\003
+\125\004\006\023\002\103\116\061\034\060\032\006\003\125\004\012
+\023\023\151\124\162\165\163\103\150\151\156\141\040\103\157\056
+\054\114\164\144\056\061\032\060\030\006\003\125\004\003\023\021
+\166\124\162\165\163\040\105\103\103\040\122\157\157\164\040\103
+\101\060\166\060\020\006\007\052\206\110\316\075\002\001\006\005
+\053\201\004\000\042\003\142\000\004\145\120\112\256\214\171\226
+\112\252\034\010\303\243\242\315\376\131\126\101\167\375\046\224
+\102\273\035\315\010\333\163\262\133\165\363\317\234\116\202\364
+\277\370\141\046\205\154\326\205\133\162\160\322\375\333\142\264
+\337\123\213\275\261\104\130\142\102\011\307\372\177\133\020\347
+\376\100\375\300\330\303\053\062\347\160\246\267\246\040\125\035
+\173\200\135\113\217\147\114\361\020\243\102\060\100\060\035\006
+\003\125\035\016\004\026\004\024\230\071\315\276\330\262\214\367
+\262\253\341\255\044\257\173\174\241\333\037\317\060\017\006\003
+\125\035\023\001\001\377\004\005\060\003\001\001\377\060\016\006
+\003\125\035\017\001\001\377\004\004\003\002\001\006\060\012\006
+\010\052\206\110\316\075\004\003\003\003\150\000\060\145\002\060
+\127\235\335\126\361\307\343\351\270\111\120\153\233\151\303\157
+\354\303\175\045\344\127\225\023\100\233\122\323\073\363\100\031
+\274\046\307\055\006\236\265\173\066\237\365\045\324\143\153\000
+\002\061\000\351\323\306\236\126\232\052\314\241\332\077\310\146
+\053\323\130\234\040\205\372\253\221\212\160\160\021\070\140\144
+\013\142\011\221\130\000\371\115\373\064\150\332\011\255\041\006
+\030\224\316
 END
 CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
+
+# Trust for "vTrus ECC Root CA"
+# Issuer: CN=vTrus ECC Root CA,O="iTrusChina Co.,Ltd.",C=CN
+# Serial Number:6e:6a:bc:59:aa:53:be:98:39:67:a2:d2:6b:a4:3b:e6:6d:1c:d6:da
+# Subject: CN=vTrus ECC Root CA,O="iTrusChina Co.,Ltd.",C=CN
+# Not Valid Before: Tue Jul 31 07:26:44 2018
+# Not Valid After : Fri Jul 31 07:26:44 2043
+# Fingerprint (SHA-256): 30:FB:BA:2C:32:23:8E:2A:98:54:7A:F9:79:31:E5:50:42:8B:9B:3F:1C:8E:EB:66:33:DC:FA:86:C5:B2:7D:D3
+# Fingerprint (SHA1): F6:9C:DB:B0:FC:F6:02:13:B6:52:32:A6:A3:91:3F:16:70:DA:C3:E1
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "vTrus ECC Root CA"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\366\234\333\260\374\366\002\023\266\122\062\246\243\221\077\026
+\160\332\303\341
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\336\113\301\365\122\214\233\103\341\076\217\125\124\027\215\205
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\107\061\013\060\011\006\003\125\004\006\023\002\103\116\061
+\034\060\032\006\003\125\004\012\023\023\151\124\162\165\163\103
+\150\151\156\141\040\103\157\056\054\114\164\144\056\061\032\060
+\030\006\003\125\004\003\023\021\166\124\162\165\163\040\105\103
+\103\040\122\157\157\164\040\103\101
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\024\156\152\274\131\252\123\276\230\071\147\242\322\153\244
+\073\346\155\034\326\332
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
 
-# 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
-# Fingerprint (SHA1): 0D:44:DD:8C:3C:8C:1A:1A:58:75:64:81:E9:0F:2E:2A:FF:B3:D2:6E
+#
+# Certificate "vTrus Root CA"
+#
+# Issuer: CN=vTrus Root CA,O="iTrusChina Co.,Ltd.",C=CN
+# Serial Number:43:e3:71:13:d8:b3:59:14:5d:b7:ce:8c:fd:35:fd:6f:bc:05:8d:45
+# Subject: CN=vTrus Root CA,O="iTrusChina Co.,Ltd.",C=CN
+# Not Valid Before: Tue Jul 31 07:24:05 2018
+# Not Valid After : Fri Jul 31 07:24:05 2043
+# Fingerprint (SHA-256): 8A:71:DE:65:59:33:6F:42:6C:26:E5:38:80:D0:0D:88:A1:8D:A4:C6:A9:1F:0D:CB:61:94:E2:06:C5:C9:63:87
+# Fingerprint (SHA1): 84:1A:69:FB:F5:CD:1A:25:34:13:3D:E3:F8:FC:B8:99:D0:C9:14:B7
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "vTrus Root CA"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\103\061\013\060\011\006\003\125\004\006\023\002\103\116\061
+\034\060\032\006\003\125\004\012\023\023\151\124\162\165\163\103
+\150\151\156\141\040\103\157\056\054\114\164\144\056\061\026\060
+\024\006\003\125\004\003\023\015\166\124\162\165\163\040\122\157
+\157\164\040\103\101
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\103\061\013\060\011\006\003\125\004\006\023\002\103\116\061
+\034\060\032\006\003\125\004\012\023\023\151\124\162\165\163\103
+\150\151\156\141\040\103\157\056\054\114\164\144\056\061\026\060
+\024\006\003\125\004\003\023\015\166\124\162\165\163\040\122\157
+\157\164\040\103\101
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\024\103\343\161\023\330\263\131\024\135\267\316\214\375\065
+\375\157\274\005\215\105
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\005\126\060\202\003\076\240\003\002\001\002\002\024\103
+\343\161\023\330\263\131\024\135\267\316\214\375\065\375\157\274
+\005\215\105\060\015\006\011\052\206\110\206\367\015\001\001\013
+\005\000\060\103\061\013\060\011\006\003\125\004\006\023\002\103
+\116\061\034\060\032\006\003\125\004\012\023\023\151\124\162\165
+\163\103\150\151\156\141\040\103\157\056\054\114\164\144\056\061
+\026\060\024\006\003\125\004\003\023\015\166\124\162\165\163\040
+\122\157\157\164\040\103\101\060\036\027\015\061\070\060\067\063
+\061\060\067\062\064\060\065\132\027\015\064\063\060\067\063\061
+\060\067\062\064\060\065\132\060\103\061\013\060\011\006\003\125
+\004\006\023\002\103\116\061\034\060\032\006\003\125\004\012\023
+\023\151\124\162\165\163\103\150\151\156\141\040\103\157\056\054
+\114\164\144\056\061\026\060\024\006\003\125\004\003\023\015\166
+\124\162\165\163\040\122\157\157\164\040\103\101\060\202\002\042
+\060\015\006\011\052\206\110\206\367\015\001\001\001\005\000\003
+\202\002\017\000\060\202\002\012\002\202\002\001\000\275\125\174
+\141\323\270\035\004\142\005\240\256\154\267\160\264\101\352\113
+\003\136\020\077\220\132\034\213\073\260\146\213\154\110\246\034
+\042\272\325\100\222\356\063\262\043\131\311\216\274\130\332\213
+\236\320\031\362\057\131\306\214\143\132\272\237\243\013\260\263
+\232\134\272\021\270\022\351\014\273\317\156\154\200\207\051\024
+\003\054\215\044\232\310\144\203\265\152\254\023\054\063\361\237
+\334\054\141\074\032\077\160\125\233\255\000\122\177\317\004\271
+\376\066\372\234\300\026\256\142\376\226\114\103\176\125\024\276
+\032\263\322\155\302\257\166\146\225\153\052\260\224\167\205\136
+\004\017\142\035\143\165\367\153\347\313\133\232\160\354\076\147
+\005\360\376\007\010\200\317\050\333\005\306\024\047\057\206\175
+\360\047\336\377\346\176\063\110\347\013\036\130\321\047\053\123
+\016\127\112\145\327\373\242\200\140\374\114\274\065\123\001\152
+\227\162\202\257\361\035\160\350\234\365\357\136\302\154\307\107
+\176\132\224\205\046\115\073\272\353\114\350\260\011\302\145\302
+\235\235\011\233\116\265\227\005\254\365\006\240\367\066\005\176
+\364\220\262\153\304\264\371\144\352\351\032\012\310\015\250\355
+\047\311\324\347\263\271\253\202\042\220\047\075\052\350\174\220
+\357\274\117\375\342\012\044\247\336\145\044\244\135\352\300\166
+\060\323\167\120\370\015\004\233\224\066\001\163\312\006\130\246
+\323\073\334\372\004\106\023\125\212\311\104\107\270\121\071\032
+\056\350\064\342\171\313\131\112\012\177\274\246\357\037\003\147
+\152\131\053\045\142\223\331\123\031\146\074\047\142\051\206\115
+\244\153\356\377\324\116\272\325\264\342\216\110\132\000\031\011
+\361\005\331\316\221\261\367\353\351\071\117\366\157\004\103\232
+\125\365\076\005\024\275\277\263\131\264\330\216\063\204\243\220
+\122\252\263\002\225\140\371\014\114\150\371\356\325\027\015\370
+\161\127\265\045\344\051\356\145\135\257\321\356\074\027\013\132
+\103\305\245\206\352\044\236\342\005\007\334\064\102\022\221\326
+\071\164\256\114\101\202\333\362\246\110\321\263\233\363\063\252
+\363\246\300\305\116\365\364\235\166\143\346\002\306\042\113\301
+\225\077\120\144\054\124\345\266\360\074\051\317\127\002\003\001
+\000\001\243\102\060\100\060\035\006\003\125\035\016\004\026\004
+\024\124\142\160\143\361\165\204\103\130\216\321\026\040\261\306
+\254\032\274\366\211\060\017\006\003\125\035\023\001\001\377\004
+\005\060\003\001\001\377\060\016\006\003\125\035\017\001\001\377
+\004\004\003\002\001\006\060\015\006\011\052\206\110\206\367\015
+\001\001\013\005\000\003\202\002\001\000\051\272\222\111\247\255
+\360\361\160\303\344\227\360\237\251\045\325\153\236\064\376\346
+\032\144\366\072\153\122\262\020\170\032\237\114\332\212\332\354
+\034\067\122\340\102\113\373\154\166\312\044\013\071\022\025\235
+\237\021\055\374\171\144\334\340\340\365\335\340\127\311\245\262
+\166\160\120\244\376\267\012\160\325\240\064\361\165\327\115\111
+\272\021\321\263\330\354\202\377\353\016\304\277\144\055\175\143
+\156\027\170\354\135\174\210\310\353\216\127\166\331\131\004\372
+\274\122\037\105\254\360\172\200\354\354\157\166\256\221\333\020
+\216\004\334\222\337\240\366\346\256\111\323\301\154\022\033\314
+\051\252\371\010\245\342\067\024\312\261\270\146\357\032\202\344
+\360\370\361\247\026\151\267\333\251\141\074\237\365\061\313\344
+\000\106\302\057\164\261\261\327\201\356\250\046\225\274\210\257
+\114\065\007\052\002\312\170\024\155\107\053\100\126\351\313\052
+\140\241\147\003\240\316\214\274\260\162\147\304\061\316\333\064
+\345\045\003\140\045\173\161\230\344\300\033\053\137\164\102\322
+\113\305\131\010\007\207\276\305\303\177\347\226\331\341\334\050
+\227\326\217\005\343\365\233\116\312\035\120\107\005\123\260\312
+\071\347\205\240\211\301\005\073\001\067\323\077\111\342\167\353
+\043\310\210\146\073\075\071\166\041\106\361\354\137\043\270\353
+\242\146\165\164\301\100\367\330\150\232\223\342\055\251\056\275
+\034\243\036\310\164\306\244\055\172\040\253\073\270\260\106\375
+\157\335\137\122\125\165\142\360\227\240\174\327\070\375\045\337
+\315\240\233\020\317\213\270\070\136\136\305\264\246\002\066\241
+\036\137\034\317\342\226\235\051\252\375\230\256\122\341\363\101
+\122\373\251\056\162\226\237\047\343\252\163\175\370\032\043\146
+\173\073\253\145\260\062\001\113\025\076\075\242\117\014\053\065
+\242\306\331\147\022\065\060\315\166\056\026\263\231\236\115\117
+\116\055\073\064\103\341\232\016\015\244\146\227\272\322\034\112
+\114\054\052\213\213\201\117\161\032\251\335\134\173\173\010\305
+\000\015\067\100\343\174\173\124\137\057\205\137\166\366\367\247
+\260\034\127\126\301\162\350\255\242\257\215\063\111\272\037\212
+\334\346\164\174\140\206\157\207\227\173
+END
+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
+
+# Trust for "vTrus Root CA"
+# Issuer: CN=vTrus Root CA,O="iTrusChina Co.,Ltd.",C=CN
+# Serial Number:43:e3:71:13:d8:b3:59:14:5d:b7:ce:8c:fd:35:fd:6f:bc:05:8d:45
+# Subject: CN=vTrus Root CA,O="iTrusChina Co.,Ltd.",C=CN
+# Not Valid Before: Tue Jul 31 07:24:05 2018
+# Not Valid After : Fri Jul 31 07:24:05 2043
+# Fingerprint (SHA-256): 8A:71:DE:65:59:33:6F:42:6C:26:E5:38:80:D0:0D:88:A1:8D:A4:C6:A9:1F:0D:CB:61:94:E2:06:C5:C9:63:87
+# Fingerprint (SHA1): 84:1A:69:FB:F5:CD:1A:25:34:13:3D:E3:F8:FC:B8:99:D0:C9:14:B7
 CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "Amazon Root CA 3"
+CKA_LABEL UTF8 "vTrus Root CA"
 CKA_CERT_SHA1_HASH MULTILINE_OCTAL
-\015\104\335\214\074\214\032\032\130\165\144\201\351\017\056\052
-\377\263\322\156
+\204\032\151\373\365\315\032\045\064\023\075\343\370\374\270\231
+\320\311\024\267
 END
 CKA_CERT_MD5_HASH MULTILINE_OCTAL
-\240\324\357\013\367\265\330\111\225\052\354\365\304\374\201\207
+\270\311\067\337\372\153\061\204\144\305\352\021\152\033\165\374
 END
 CKA_ISSUER MULTILINE_OCTAL
-\060\071\061\013\060\011\006\003\125\004\006\023\002\125\123\061
-\017\060\015\006\003\125\004\012\023\006\101\155\141\172\157\156
-\061\031\060\027\006\003\125\004\003\023\020\101\155\141\172\157
-\156\040\122\157\157\164\040\103\101\040\063
+\060\103\061\013\060\011\006\003\125\004\006\023\002\103\116\061
+\034\060\032\006\003\125\004\012\023\023\151\124\162\165\163\103
+\150\151\156\141\040\103\157\056\054\114\164\144\056\061\026\060
+\024\006\003\125\004\003\023\015\166\124\162\165\163\040\122\157
+\157\164\040\103\101
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\023\006\154\237\325\164\227\066\146\077\073\013\232\331\350
-\236\166\003\362\112
+\002\024\103\343\161\023\330\263\131\024\135\267\316\214\375\065
+\375\157\274\005\215\105
 END
 CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
-CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
 CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
 CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
 
 #
-# Certificate "Amazon Root CA 4"
+# Certificate "ISRG Root X2"
 #
-# 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
-# Fingerprint (SHA1): F6:10:84:07:D6:F8:BB:67:98:0C:C2:E2:44:C2:EB:AE:1C:EF:63:BE
+# Issuer: CN=ISRG Root X2,O=Internet Security Research Group,C=US
+# Serial Number:41:d2:9d:d1:72:ea:ee:a7:80:c1:2c:6c:e9:2f:87:52
+# Subject: CN=ISRG Root X2,O=Internet Security Research Group,C=US
+# Not Valid Before: Fri Sep 04 00:00:00 2020
+# Not Valid After : Mon Sep 17 16:00:00 2040
+# Fingerprint (SHA-256): 69:72:9B:8E:15:A8:6E:FC:17:7A:57:AF:B7:17:1D:FC:64:AD:D2:8C:2F:CA:8C:F1:50:7E:34:45:3C:CB:14:70
+# Fingerprint (SHA1): BD:B1:B9:3C:D5:97:8D:45:C6:26:14:55:F8:DB:95:C7:5A:D1:53:AF
 CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "Amazon Root CA 4"
+CKA_LABEL UTF8 "ISRG Root X2"
 CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
 CKA_SUBJECT MULTILINE_OCTAL
-\060\071\061\013\060\011\006\003\125\004\006\023\002\125\123\061
-\017\060\015\006\003\125\004\012\023\006\101\155\141\172\157\156
-\061\031\060\027\006\003\125\004\003\023\020\101\155\141\172\157
-\156\040\122\157\157\164\040\103\101\040\064
+\060\117\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\051\060\047\006\003\125\004\012\023\040\111\156\164\145\162\156
+\145\164\040\123\145\143\165\162\151\164\171\040\122\145\163\145
+\141\162\143\150\040\107\162\157\165\160\061\025\060\023\006\003
+\125\004\003\023\014\111\123\122\107\040\122\157\157\164\040\130
+\062
 END
 CKA_ID UTF8 "0"
 CKA_ISSUER MULTILINE_OCTAL
-\060\071\061\013\060\011\006\003\125\004\006\023\002\125\123\061
-\017\060\015\006\003\125\004\012\023\006\101\155\141\172\157\156
-\061\031\060\027\006\003\125\004\003\023\020\101\155\141\172\157
-\156\040\122\157\157\164\040\103\101\040\064
+\060\117\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\051\060\047\006\003\125\004\012\023\040\111\156\164\145\162\156
+\145\164\040\123\145\143\165\162\151\164\171\040\122\145\163\145
+\141\162\143\150\040\107\162\157\165\160\061\025\060\023\006\003
+\125\004\003\023\014\111\123\122\107\040\122\157\157\164\040\130
+\062
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\023\006\154\237\327\301\273\020\114\051\103\345\161\173\173
-\054\310\032\301\016
+\002\020\101\322\235\321\162\352\356\247\200\301\054\154\351\057
+\207\122
 END
 CKA_VALUE MULTILINE_OCTAL
-\060\202\001\362\060\202\001\170\240\003\002\001\002\002\023\006
-\154\237\327\301\273\020\114\051\103\345\161\173\173\054\310\032
-\301\016\060\012\006\010\052\206\110\316\075\004\003\003\060\071
-\061\013\060\011\006\003\125\004\006\023\002\125\123\061\017\060
-\015\006\003\125\004\012\023\006\101\155\141\172\157\156\061\031
-\060\027\006\003\125\004\003\023\020\101\155\141\172\157\156\040
-\122\157\157\164\040\103\101\040\064\060\036\027\015\061\065\060
-\065\062\066\060\060\060\060\060\060\132\027\015\064\060\060\065
-\062\066\060\060\060\060\060\060\132\060\071\061\013\060\011\006
-\003\125\004\006\023\002\125\123\061\017\060\015\006\003\125\004
-\012\023\006\101\155\141\172\157\156\061\031\060\027\006\003\125
-\004\003\023\020\101\155\141\172\157\156\040\122\157\157\164\040
-\103\101\040\064\060\166\060\020\006\007\052\206\110\316\075\002
-\001\006\005\053\201\004\000\042\003\142\000\004\322\253\212\067
-\117\243\123\015\376\301\212\173\113\250\173\106\113\143\260\142
-\366\055\033\333\010\161\041\322\000\350\143\275\232\047\373\360
-\071\156\135\352\075\245\311\201\252\243\133\040\230\105\135\026
-\333\375\350\020\155\343\234\340\343\275\137\204\142\363\160\144
-\063\240\313\044\057\160\272\210\241\052\240\165\370\201\256\142
-\006\304\201\333\071\156\051\260\036\372\056\134\243\102\060\100
-\060\017\006\003\125\035\023\001\001\377\004\005\060\003\001\001
-\377\060\016\006\003\125\035\017\001\001\377\004\004\003\002\001
-\206\060\035\006\003\125\035\016\004\026\004\024\323\354\307\072
-\145\156\314\341\332\166\232\126\373\234\363\206\155\127\345\201
-\060\012\006\010\052\206\110\316\075\004\003\003\003\150\000\060
-\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
+\060\202\002\033\060\202\001\241\240\003\002\001\002\002\020\101
+\322\235\321\162\352\356\247\200\301\054\154\351\057\207\122\060
+\012\006\010\052\206\110\316\075\004\003\003\060\117\061\013\060
+\011\006\003\125\004\006\023\002\125\123\061\051\060\047\006\003
+\125\004\012\023\040\111\156\164\145\162\156\145\164\040\123\145
+\143\165\162\151\164\171\040\122\145\163\145\141\162\143\150\040
+\107\162\157\165\160\061\025\060\023\006\003\125\004\003\023\014
+\111\123\122\107\040\122\157\157\164\040\130\062\060\036\027\015
+\062\060\060\071\060\064\060\060\060\060\060\060\132\027\015\064
+\060\060\071\061\067\061\066\060\060\060\060\132\060\117\061\013
+\060\011\006\003\125\004\006\023\002\125\123\061\051\060\047\006
+\003\125\004\012\023\040\111\156\164\145\162\156\145\164\040\123
+\145\143\165\162\151\164\171\040\122\145\163\145\141\162\143\150
+\040\107\162\157\165\160\061\025\060\023\006\003\125\004\003\023
+\014\111\123\122\107\040\122\157\157\164\040\130\062\060\166\060
+\020\006\007\052\206\110\316\075\002\001\006\005\053\201\004\000
+\042\003\142\000\004\315\233\325\237\200\203\012\354\011\112\363
+\026\112\076\134\317\167\254\336\147\005\015\035\007\266\334\026
+\373\132\213\024\333\342\161\140\304\272\105\225\021\211\216\352
+\006\337\367\052\026\034\244\271\305\305\062\340\003\340\036\202
+\030\070\213\327\105\330\012\152\156\346\000\167\373\002\121\175
+\042\330\012\156\232\133\167\337\360\372\101\354\071\334\165\312
+\150\007\014\037\352\243\102\060\100\060\016\006\003\125\035\017
+\001\001\377\004\004\003\002\001\006\060\017\006\003\125\035\023
+\001\001\377\004\005\060\003\001\001\377\060\035\006\003\125\035
+\016\004\026\004\024\174\102\226\256\336\113\110\073\372\222\370
+\236\214\317\155\213\251\162\067\225\060\012\006\010\052\206\110
+\316\075\004\003\003\003\150\000\060\145\002\060\173\171\116\106
+\120\204\302\104\207\106\033\105\160\377\130\231\336\364\375\244
+\322\125\246\040\055\164\326\064\274\101\243\120\137\001\047\126
+\264\276\047\165\006\257\022\056\165\230\215\374\002\061\000\213
+\365\167\154\324\310\145\252\340\013\054\356\024\235\047\067\244
+\371\123\245\121\344\051\203\327\370\220\061\133\102\237\012\365
+\376\256\000\150\347\214\111\017\266\157\133\133\025\362\347
 END
 CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
+
+# Trust for "ISRG Root X2"
+# Issuer: CN=ISRG Root X2,O=Internet Security Research Group,C=US
+# Serial Number:41:d2:9d:d1:72:ea:ee:a7:80:c1:2c:6c:e9:2f:87:52
+# Subject: CN=ISRG Root X2,O=Internet Security Research Group,C=US
+# Not Valid Before: Fri Sep 04 00:00:00 2020
+# Not Valid After : Mon Sep 17 16:00:00 2040
+# Fingerprint (SHA-256): 69:72:9B:8E:15:A8:6E:FC:17:7A:57:AF:B7:17:1D:FC:64:AD:D2:8C:2F:CA:8C:F1:50:7E:34:45:3C:CB:14:70
+# Fingerprint (SHA1): BD:B1:B9:3C:D5:97:8D:45:C6:26:14:55:F8:DB:95:C7:5A:D1:53:AF
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "ISRG Root X2"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\275\261\271\074\325\227\215\105\306\046\024\125\370\333\225\307
+\132\321\123\257
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\323\236\304\036\043\074\246\337\317\243\176\155\340\024\346\345
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\117\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\051\060\047\006\003\125\004\012\023\040\111\156\164\145\162\156
+\145\164\040\123\145\143\165\162\151\164\171\040\122\145\163\145
+\141\162\143\150\040\107\162\157\165\160\061\025\060\023\006\003
+\125\004\003\023\014\111\123\122\107\040\122\157\157\164\040\130
+\062
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\020\101\322\235\321\162\352\356\247\200\301\054\154\351\057
+\207\122
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
 
-# 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
-# Fingerprint (SHA1): F6:10:84:07:D6:F8:BB:67:98:0C:C2:E2:44:C2:EB:AE:1C:EF:63:BE
+#
+# Certificate "HiPKI Root CA - G1"
+#
+# Issuer: CN=HiPKI Root CA - G1,O="Chunghwa Telecom Co., Ltd.",C=TW
+# Serial Number:2d:dd:ac:ce:62:97:94:a1:43:e8:b0:cd:76:6a:5e:60
+# Subject: CN=HiPKI Root CA - G1,O="Chunghwa Telecom Co., Ltd.",C=TW
+# Not Valid Before: Fri Feb 22 09:46:04 2019
+# Not Valid After : Thu Dec 31 15:59:59 2037
+# Fingerprint (SHA-256): F0:15:CE:3C:C2:39:BF:EF:06:4B:E9:F1:D2:C4:17:E1:A0:26:4A:0A:94:BE:1F:0C:8D:12:18:64:EB:69:49:CC
+# Fingerprint (SHA1): 6A:92:E4:A8:EE:1B:EC:96:45:37:E3:29:57:49:CD:96:E3:E5:D2:60
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "HiPKI Root CA - G1"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\117\061\013\060\011\006\003\125\004\006\023\002\124\127\061
+\043\060\041\006\003\125\004\012\014\032\103\150\165\156\147\150
+\167\141\040\124\145\154\145\143\157\155\040\103\157\056\054\040
+\114\164\144\056\061\033\060\031\006\003\125\004\003\014\022\110
+\151\120\113\111\040\122\157\157\164\040\103\101\040\055\040\107
+\061
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\117\061\013\060\011\006\003\125\004\006\023\002\124\127\061
+\043\060\041\006\003\125\004\012\014\032\103\150\165\156\147\150
+\167\141\040\124\145\154\145\143\157\155\040\103\157\056\054\040
+\114\164\144\056\061\033\060\031\006\003\125\004\003\014\022\110
+\151\120\113\111\040\122\157\157\164\040\103\101\040\055\040\107
+\061
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\020\055\335\254\316\142\227\224\241\103\350\260\315\166\152
+\136\140
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\005\152\060\202\003\122\240\003\002\001\002\002\020\055
+\335\254\316\142\227\224\241\103\350\260\315\166\152\136\140\060
+\015\006\011\052\206\110\206\367\015\001\001\013\005\000\060\117
+\061\013\060\011\006\003\125\004\006\023\002\124\127\061\043\060
+\041\006\003\125\004\012\014\032\103\150\165\156\147\150\167\141
+\040\124\145\154\145\143\157\155\040\103\157\056\054\040\114\164
+\144\056\061\033\060\031\006\003\125\004\003\014\022\110\151\120
+\113\111\040\122\157\157\164\040\103\101\040\055\040\107\061\060
+\036\027\015\061\071\060\062\062\062\060\071\064\066\060\064\132
+\027\015\063\067\061\062\063\061\061\065\065\071\065\071\132\060
+\117\061\013\060\011\006\003\125\004\006\023\002\124\127\061\043
+\060\041\006\003\125\004\012\014\032\103\150\165\156\147\150\167
+\141\040\124\145\154\145\143\157\155\040\103\157\056\054\040\114
+\164\144\056\061\033\060\031\006\003\125\004\003\014\022\110\151
+\120\113\111\040\122\157\157\164\040\103\101\040\055\040\107\061
+\060\202\002\042\060\015\006\011\052\206\110\206\367\015\001\001
+\001\005\000\003\202\002\017\000\060\202\002\012\002\202\002\001
+\000\364\036\177\122\163\062\014\163\344\275\023\164\243\324\060
+\250\320\256\113\330\266\337\165\107\146\364\174\347\071\004\036
+\152\160\040\322\132\107\162\147\125\364\245\350\235\325\036\041
+\241\360\147\272\314\041\150\276\104\123\277\215\371\342\334\057
+\125\310\067\077\037\244\300\234\263\344\167\134\240\106\376\167
+\372\032\240\070\352\355\232\162\336\053\275\224\127\072\272\354
+\171\347\137\175\102\144\071\172\046\066\367\044\360\325\057\272
+\225\230\021\146\255\227\065\326\165\001\200\340\257\364\204\141
+\214\015\036\137\174\207\226\136\101\257\353\207\352\370\135\361
+\056\210\005\076\114\042\273\332\037\052\335\122\106\144\071\363
+\102\316\331\236\014\263\260\167\227\144\234\300\364\243\056\037
+\225\007\260\027\337\060\333\000\030\226\114\241\201\113\335\004
+\155\123\243\075\374\007\254\324\305\067\202\353\344\225\010\031
+\050\202\322\102\072\243\330\123\354\171\211\140\110\140\310\162
+\222\120\334\003\217\203\077\262\102\127\132\333\152\351\021\227
+\335\205\050\274\060\114\253\343\302\261\105\104\107\037\340\212
+\026\007\226\322\041\017\123\300\355\251\176\324\116\354\233\011
+\354\257\102\254\060\326\277\321\020\105\340\246\026\262\245\305
+\323\117\163\224\063\161\002\241\152\243\326\063\227\117\041\143
+\036\133\217\331\301\136\105\161\167\017\201\135\137\041\232\255
+\203\314\372\136\326\215\043\137\033\075\101\257\040\165\146\132
+\112\366\237\373\253\030\367\161\300\266\035\061\354\073\040\353
+\313\342\270\365\256\222\262\367\341\204\113\362\242\362\223\232
+\042\236\323\024\157\066\124\275\037\136\131\025\271\163\250\301
+\174\157\173\142\351\026\154\107\132\145\363\016\021\233\106\331
+\375\155\334\326\234\300\264\175\245\260\335\077\126\157\241\371
+\366\344\022\110\375\006\177\022\127\266\251\043\117\133\003\303
+\340\161\052\043\267\367\260\261\073\274\230\275\326\230\250\014
+\153\366\216\022\147\246\362\262\130\344\002\011\023\074\251\273
+\020\264\322\060\105\361\354\367\000\021\337\145\370\334\053\103
+\125\277\026\227\304\017\325\054\141\204\252\162\206\376\346\072
+\176\302\077\175\356\374\057\024\076\346\205\335\120\157\267\111
+\355\002\003\001\000\001\243\102\060\100\060\017\006\003\125\035
+\023\001\001\377\004\005\060\003\001\001\377\060\035\006\003\125
+\035\016\004\026\004\024\362\167\027\372\136\250\376\366\075\161
+\325\150\272\311\106\014\070\330\257\260\060\016\006\003\125\035
+\017\001\001\377\004\004\003\002\001\206\060\015\006\011\052\206
+\110\206\367\015\001\001\013\005\000\003\202\002\001\000\120\121
+\360\165\334\160\004\343\377\252\165\324\161\242\313\236\217\250
+\251\323\257\165\307\124\317\072\034\004\231\042\254\304\021\342
+\357\063\112\246\043\035\016\015\107\330\067\307\157\257\064\177
+\117\201\153\065\117\351\162\245\061\342\170\347\367\116\224\030
+\133\100\175\317\153\041\124\206\346\225\172\373\306\312\352\234
+\110\116\127\011\135\057\254\364\245\264\227\063\130\325\254\171
+\251\314\137\371\205\372\122\305\215\370\221\024\353\072\015\027
+\320\122\302\173\343\302\163\216\106\170\006\070\054\350\134\332
+\146\304\364\244\360\126\031\063\051\132\145\222\005\107\106\112
+\253\204\303\036\047\241\037\021\222\231\047\165\223\017\274\066
+\073\227\127\217\046\133\014\273\234\017\324\156\060\007\324\334
+\137\066\150\146\071\203\226\047\046\212\310\304\071\376\232\041
+\157\325\162\206\351\177\142\345\227\116\320\044\320\100\260\320
+\165\010\216\275\150\356\010\327\156\174\020\160\106\033\174\340
+\210\262\236\162\206\231\001\343\277\237\111\031\264\045\276\126
+\145\256\027\143\345\036\337\350\377\107\245\277\341\046\005\204
+\344\260\300\257\347\010\231\250\014\136\046\200\105\324\370\150
+\057\226\217\256\342\112\034\234\026\014\023\157\070\207\366\273
+\310\064\137\222\003\121\171\160\246\337\313\365\231\115\171\315
+\116\274\127\237\103\116\153\056\053\030\370\152\163\214\272\305
+\065\357\071\152\101\036\317\161\250\242\262\206\007\133\072\311
+\341\357\077\145\004\200\107\062\104\160\225\116\061\147\152\164
+\133\020\105\165\352\260\237\320\346\065\376\116\237\213\314\053
+\222\105\133\156\045\140\205\106\315\321\252\260\166\146\223\167
+\226\276\203\276\070\266\044\116\046\013\314\355\172\126\032\340
+\351\132\306\144\255\114\172\000\110\104\057\271\100\273\023\076
+\276\025\170\235\205\201\112\052\127\336\325\031\103\332\333\312
+\133\107\206\203\013\077\266\015\166\170\163\171\042\136\261\200
+\037\317\276\321\077\126\020\230\053\225\207\241\037\235\144\024
+\140\071\054\263\000\125\056\344\365\263\016\127\304\221\101\000
+\234\077\350\245\337\352\366\377\310\360\255\155\122\250\027\253
+\233\141\374\022\121\065\344\045\375\257\252\152\206\071
+END
+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
+
+# Trust for "HiPKI Root CA - G1"
+# Issuer: CN=HiPKI Root CA - G1,O="Chunghwa Telecom Co., Ltd.",C=TW
+# Serial Number:2d:dd:ac:ce:62:97:94:a1:43:e8:b0:cd:76:6a:5e:60
+# Subject: CN=HiPKI Root CA - G1,O="Chunghwa Telecom Co., Ltd.",C=TW
+# Not Valid Before: Fri Feb 22 09:46:04 2019
+# Not Valid After : Thu Dec 31 15:59:59 2037
+# Fingerprint (SHA-256): F0:15:CE:3C:C2:39:BF:EF:06:4B:E9:F1:D2:C4:17:E1:A0:26:4A:0A:94:BE:1F:0C:8D:12:18:64:EB:69:49:CC
+# Fingerprint (SHA1): 6A:92:E4:A8:EE:1B:EC:96:45:37:E3:29:57:49:CD:96:E3:E5:D2:60
 CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "Amazon Root CA 4"
+CKA_LABEL UTF8 "HiPKI Root CA - G1"
 CKA_CERT_SHA1_HASH MULTILINE_OCTAL
-\366\020\204\007\326\370\273\147\230\014\302\342\104\302\353\256
-\034\357\143\276
+\152\222\344\250\356\033\354\226\105\067\343\051\127\111\315\226
+\343\345\322\140
 END
 CKA_CERT_MD5_HASH MULTILINE_OCTAL
-\211\274\047\325\353\027\215\006\152\151\325\375\211\107\264\315
+\151\105\337\026\145\113\350\150\232\217\166\137\377\200\236\323
 END
 CKA_ISSUER MULTILINE_OCTAL
-\060\071\061\013\060\011\006\003\125\004\006\023\002\125\123\061
-\017\060\015\006\003\125\004\012\023\006\101\155\141\172\157\156
-\061\031\060\027\006\003\125\004\003\023\020\101\155\141\172\157
-\156\040\122\157\157\164\040\103\101\040\064
+\060\117\061\013\060\011\006\003\125\004\006\023\002\124\127\061
+\043\060\041\006\003\125\004\012\014\032\103\150\165\156\147\150
+\167\141\040\124\145\154\145\143\157\155\040\103\157\056\054\040
+\114\164\144\056\061\033\060\031\006\003\125\004\003\014\022\110
+\151\120\113\111\040\122\157\157\164\040\103\101\040\055\040\107
+\061
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\023\006\154\237\327\301\273\020\114\051\103\345\161\173\173
-\054\310\032\301\016
+\002\020\055\335\254\316\142\227\224\241\103\350\260\315\166\152
+\136\140
 END
 CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
-CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
 CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
 CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
 
 #
-# Certificate "LuxTrust Global Root 2"
+# Certificate "GlobalSign ECC Root CA - R4"
 #
-# 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
-# Fingerprint (SHA1): 1E:0E:56:19:0A:D1:8B:25:98:B2:04:44:FF:66:8A:04:17:99:5F:3F
+# Issuer: CN=GlobalSign,O=GlobalSign,OU=GlobalSign ECC Root CA - R4
+# Serial Number:02:03:e5:7e:f5:3f:93:fd:a5:09:21:b2:a6
+# 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): B0:85:D7:0B:96:4F:19:1A:73:E4:AF:0D:54:AE:7A:0E:07:AA:FD:AF:9B:71:DD:08:62:13:8A:B7:32:5A:24:A2
+# Fingerprint (SHA1): 6B:A0:B0:98:E1:71:EF:5A:AD:FE:48:15:80:77:10:F4:BD:6F:0B:28
 CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "LuxTrust Global Root 2"
+CKA_LABEL UTF8 "GlobalSign ECC Root CA - R4"
 CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
 CKA_SUBJECT MULTILINE_OCTAL
-\060\106\061\013\060\011\006\003\125\004\006\023\002\114\125\061
-\026\060\024\006\003\125\004\012\014\015\114\165\170\124\162\165
-\163\164\040\123\056\101\056\061\037\060\035\006\003\125\004\003
-\014\026\114\165\170\124\162\165\163\164\040\107\154\157\142\141
-\154\040\122\157\157\164\040\062
+\060\120\061\044\060\042\006\003\125\004\013\023\033\107\154\157
+\142\141\154\123\151\147\156\040\105\103\103\040\122\157\157\164
+\040\103\101\040\055\040\122\064\061\023\060\021\006\003\125\004
+\012\023\012\107\154\157\142\141\154\123\151\147\156\061\023\060
+\021\006\003\125\004\003\023\012\107\154\157\142\141\154\123\151
+\147\156
 END
 CKA_ID UTF8 "0"
 CKA_ISSUER MULTILINE_OCTAL
-\060\106\061\013\060\011\006\003\125\004\006\023\002\114\125\061
-\026\060\024\006\003\125\004\012\014\015\114\165\170\124\162\165
-\163\164\040\123\056\101\056\061\037\060\035\006\003\125\004\003
-\014\026\114\165\170\124\162\165\163\164\040\107\154\157\142\141
-\154\040\122\157\157\164\040\062
+\060\120\061\044\060\042\006\003\125\004\013\023\033\107\154\157
+\142\141\154\123\151\147\156\040\105\103\103\040\122\157\157\164
+\040\103\101\040\055\040\122\064\061\023\060\021\006\003\125\004
+\012\023\012\107\154\157\142\141\154\123\151\147\156\061\023\060
+\021\006\003\125\004\003\023\012\107\154\157\142\141\154\123\151
+\147\156
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\024\012\176\246\337\113\104\236\332\152\044\205\236\346\270
-\025\323\026\177\273\261
+\002\015\002\003\345\176\365\077\223\375\245\011\041\262\246
 END
 CKA_VALUE MULTILINE_OCTAL
-\060\202\005\303\060\202\003\253\240\003\002\001\002\002\024\012
-\176\246\337\113\104\236\332\152\044\205\236\346\270\025\323\026
-\177\273\261\060\015\006\011\052\206\110\206\367\015\001\001\013
-\005\000\060\106\061\013\060\011\006\003\125\004\006\023\002\114
-\125\061\026\060\024\006\003\125\004\012\014\015\114\165\170\124
-\162\165\163\164\040\123\056\101\056\061\037\060\035\006\003\125
-\004\003\014\026\114\165\170\124\162\165\163\164\040\107\154\157
-\142\141\154\040\122\157\157\164\040\062\060\036\027\015\061\065
-\060\063\060\065\061\063\062\061\065\067\132\027\015\063\065\060
-\063\060\065\061\063\062\061\065\067\132\060\106\061\013\060\011
-\006\003\125\004\006\023\002\114\125\061\026\060\024\006\003\125
-\004\012\014\015\114\165\170\124\162\165\163\164\040\123\056\101
-\056\061\037\060\035\006\003\125\004\003\014\026\114\165\170\124
-\162\165\163\164\040\107\154\157\142\141\154\040\122\157\157\164
-\040\062\060\202\002\042\060\015\006\011\052\206\110\206\367\015
-\001\001\001\005\000\003\202\002\017\000\060\202\002\012\002\202
-\002\001\000\327\205\227\277\021\230\351\360\142\203\114\074\207
-\371\123\152\067\013\362\017\074\207\316\157\334\046\051\275\305
-\211\272\311\203\075\367\356\312\133\306\155\111\163\264\311\106
-\243\033\064\023\077\301\211\105\127\364\331\261\373\066\145\113
-\373\010\342\110\161\021\310\156\073\236\235\337\211\145\067\246
-\205\366\073\104\030\266\306\067\060\142\104\222\227\151\175\102
-\060\044\344\015\014\211\153\143\336\305\341\337\116\251\024\154
-\123\340\141\316\366\027\057\035\074\275\346\042\114\035\223\365
-\020\304\241\166\354\152\336\305\154\337\226\264\126\100\102\300
-\142\222\060\241\055\025\224\240\322\040\006\011\156\152\155\345
-\353\267\276\324\360\361\025\174\213\346\116\272\023\314\113\047
-\136\231\074\027\135\217\201\177\063\075\117\323\077\033\354\134
-\077\360\074\114\165\156\362\246\325\235\332\055\007\143\002\306
-\162\351\224\274\114\111\225\117\210\122\310\333\350\151\202\370
-\314\064\133\042\360\206\247\211\275\110\012\155\146\201\155\310
-\310\144\373\001\341\364\341\336\331\236\335\333\133\324\052\231
-\046\025\033\036\114\222\051\202\236\325\222\201\222\101\160\031
-\367\244\345\223\113\274\167\147\061\335\034\375\061\160\015\027
-\231\014\371\014\071\031\052\027\265\060\161\125\325\017\256\130
-\341\075\057\064\233\317\237\366\170\205\302\223\172\162\076\146
-\217\234\026\021\140\217\236\211\157\147\276\340\107\132\073\014
-\232\147\213\317\106\306\256\070\243\362\247\274\346\326\205\153
-\063\044\160\042\113\313\010\233\273\310\370\002\051\035\276\040
-\014\106\277\153\207\233\263\052\146\102\065\106\154\252\272\255
-\371\230\173\351\120\125\024\061\277\261\332\055\355\200\255\150
-\044\373\151\253\330\161\023\060\346\147\263\207\100\375\211\176
-\362\103\321\021\337\057\145\057\144\316\137\024\271\261\277\061
-\275\207\170\132\131\145\210\252\374\131\062\110\206\326\114\271
-\051\113\225\323\166\363\167\045\155\102\034\070\203\115\375\243
-\137\233\177\055\254\171\033\016\102\061\227\143\244\373\212\151
-\325\042\015\064\220\060\056\250\264\340\155\266\224\254\274\213
-\116\327\160\374\305\070\216\144\045\341\115\071\220\316\311\207
-\204\130\161\002\003\001\000\001\243\201\250\060\201\245\060\017
-\006\003\125\035\023\001\001\377\004\005\060\003\001\001\377\060
-\102\006\003\125\035\040\004\073\060\071\060\067\006\007\053\201
-\053\001\001\001\012\060\054\060\052\006\010\053\006\001\005\005
-\007\002\001\026\036\150\164\164\160\163\072\057\057\162\145\160
-\157\163\151\164\157\162\171\056\154\165\170\164\162\165\163\164
-\056\154\165\060\016\006\003\125\035\017\001\001\377\004\004\003
-\002\001\006\060\037\006\003\125\035\043\004\030\060\026\200\024
-\377\030\050\166\371\110\005\054\241\256\361\053\033\053\262\123
-\370\113\174\263\060\035\006\003\125\035\016\004\026\004\024\377
-\030\050\166\371\110\005\054\241\256\361\053\033\053\262\123\370
-\113\174\263\060\015\006\011\052\206\110\206\367\015\001\001\013
-\005\000\003\202\002\001\000\152\031\024\355\156\171\301\054\207
-\324\015\160\176\327\366\170\311\013\004\116\304\261\316\223\160
-\376\260\124\300\062\315\231\060\144\027\277\017\345\342\063\375
-\007\066\100\162\016\032\266\152\131\326\000\345\150\040\335\056
-\162\015\037\152\144\061\040\204\175\111\246\132\067\353\105\311
-\205\365\324\307\027\231\007\346\233\125\344\014\350\251\264\316
-\214\133\265\021\134\317\212\016\015\326\254\167\201\376\062\234
-\044\236\162\316\124\363\320\157\242\126\326\354\303\067\054\145
-\130\276\127\000\032\362\065\372\353\173\061\135\302\301\022\075
-\226\201\210\226\211\301\131\134\172\346\177\160\064\347\203\342
-\261\341\341\270\130\357\324\225\344\140\234\360\226\227\162\214
-\353\204\002\056\145\217\244\267\322\177\147\335\310\323\236\134
-\252\251\244\240\045\024\006\233\354\117\176\055\013\177\035\165
-\361\063\330\355\316\270\165\155\076\133\271\230\035\061\015\126
-\330\103\017\060\221\262\004\153\335\126\276\225\200\125\147\276
-\330\315\203\331\030\356\056\017\206\055\222\236\160\023\354\336
-\121\311\103\170\002\245\115\310\371\137\304\221\130\106\026\167
-\132\164\252\100\274\007\237\060\271\261\367\022\027\335\343\377
-\044\100\035\172\152\321\117\030\012\252\220\035\353\100\036\337
-\241\036\104\222\020\232\362\215\341\321\113\106\236\350\105\102
-\227\352\105\231\363\354\146\325\002\372\362\246\112\044\252\336
-\316\271\312\371\077\223\157\371\243\272\352\245\076\231\255\375
-\377\173\231\365\145\356\360\131\050\147\327\220\225\244\023\204
-\251\204\301\350\316\316\165\223\143\032\274\074\352\325\144\037
-\055\052\022\071\306\303\132\062\355\107\221\026\016\274\070\301
-\120\336\217\312\052\220\064\034\356\101\224\234\136\031\056\370
-\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
+\060\202\001\334\060\202\001\203\240\003\002\001\002\002\015\002
+\003\345\176\365\077\223\375\245\011\041\262\246\060\012\006\010
+\052\206\110\316\075\004\003\002\060\120\061\044\060\042\006\003
+\125\004\013\023\033\107\154\157\142\141\154\123\151\147\156\040
+\105\103\103\040\122\157\157\164\040\103\101\040\055\040\122\064
+\061\023\060\021\006\003\125\004\012\023\012\107\154\157\142\141
+\154\123\151\147\156\061\023\060\021\006\003\125\004\003\023\012
+\107\154\157\142\141\154\123\151\147\156\060\036\027\015\061\062
+\061\061\061\063\060\060\060\060\060\060\132\027\015\063\070\060
+\061\061\071\060\063\061\064\060\067\132\060\120\061\044\060\042
+\006\003\125\004\013\023\033\107\154\157\142\141\154\123\151\147
+\156\040\105\103\103\040\122\157\157\164\040\103\101\040\055\040
+\122\064\061\023\060\021\006\003\125\004\012\023\012\107\154\157
+\142\141\154\123\151\147\156\061\023\060\021\006\003\125\004\003
+\023\012\107\154\157\142\141\154\123\151\147\156\060\131\060\023
+\006\007\052\206\110\316\075\002\001\006\010\052\206\110\316\075
+\003\001\007\003\102\000\004\270\306\171\323\217\154\045\016\237
+\056\071\031\034\003\244\256\232\345\071\007\011\026\312\143\261
+\271\206\370\212\127\301\127\316\102\372\163\241\367\145\102\377
+\036\301\000\262\156\163\016\377\307\041\345\030\244\252\331\161
+\077\250\324\271\316\214\035\243\102\060\100\060\016\006\003\125
+\035\017\001\001\377\004\004\003\002\001\206\060\017\006\003\125
+\035\023\001\001\377\004\005\060\003\001\001\377\060\035\006\003
+\125\035\016\004\026\004\024\124\260\173\255\105\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\107\000\060\104\002\040\042\117
+\164\162\271\140\257\361\346\234\240\026\005\120\137\303\136\073
+\156\141\164\357\276\001\304\276\030\110\131\141\202\062\002\040
+\046\235\124\143\100\336\067\140\120\317\310\330\355\235\202\256
+\067\230\274\243\217\114\114\251\064\053\154\357\373\225\233\046
 END
 CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
 
-# 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
-# Fingerprint (SHA1): 1E:0E:56:19:0A:D1:8B:25:98:B2:04:44:FF:66:8A:04:17:99:5F:3F
+# Trust for "GlobalSign ECC Root CA - R4"
+# Issuer: CN=GlobalSign,O=GlobalSign,OU=GlobalSign ECC Root CA - R4
+# Serial Number:02:03:e5:7e:f5:3f:93:fd:a5:09:21:b2:a6
+# 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): B0:85:D7:0B:96:4F:19:1A:73:E4:AF:0D:54:AE:7A:0E:07:AA:FD:AF:9B:71:DD:08:62:13:8A:B7:32:5A:24:A2
+# Fingerprint (SHA1): 6B:A0:B0:98:E1:71:EF:5A:AD:FE:48:15:80:77:10:F4:BD:6F:0B:28
 CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "LuxTrust Global Root 2"
+CKA_LABEL UTF8 "GlobalSign ECC Root CA - R4"
 CKA_CERT_SHA1_HASH MULTILINE_OCTAL
-\036\016\126\031\012\321\213\045\230\262\004\104\377\146\212\004
-\027\231\137\077
+\153\240\260\230\341\161\357\132\255\376\110\025\200\167\020\364
+\275\157\013\050
 END
 CKA_CERT_MD5_HASH MULTILINE_OCTAL
-\262\341\011\000\141\257\367\361\221\157\304\255\215\136\073\174
+\046\051\370\155\341\210\277\242\145\177\252\304\315\017\177\374
 END
 CKA_ISSUER MULTILINE_OCTAL
-\060\106\061\013\060\011\006\003\125\004\006\023\002\114\125\061
-\026\060\024\006\003\125\004\012\014\015\114\165\170\124\162\165
-\163\164\040\123\056\101\056\061\037\060\035\006\003\125\004\003
-\014\026\114\165\170\124\162\165\163\164\040\107\154\157\142\141
-\154\040\122\157\157\164\040\062
+\060\120\061\044\060\042\006\003\125\004\013\023\033\107\154\157
+\142\141\154\123\151\147\156\040\105\103\103\040\122\157\157\164
+\040\103\101\040\055\040\122\064\061\023\060\021\006\003\125\004
+\012\023\012\107\154\157\142\141\154\123\151\147\156\061\023\060
+\021\006\003\125\004\003\023\012\107\154\157\142\141\154\123\151
+\147\156
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\024\012\176\246\337\113\104\236\332\152\044\205\236\346\270
-\025\323\026\177\273\261
+\002\015\002\003\345\176\365\077\223\375\245\011\041\262\246
 END
 CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
-CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
 CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
 CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
 
 #
-# Certificate "Symantec Class 1 Public Primary Certification Authority - G6"
+# Certificate "GTS Root R1"
 #
-# 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
-# Fingerprint (SHA1): 51:7F:61:1E:29:91:6B:53:82:FB:72:E7:44:D9:8D:C3:CC:53:6D:64
+# Issuer: CN=GTS Root R1,O=Google Trust Services LLC,C=US
+# Serial Number:02:03:e5:93:6f:31:b0:13:49:88:6b:a2:17
+# Subject: CN=GTS Root R1,O=Google Trust Services LLC,C=US
+# Not Valid Before: Wed Jun 22 00:00:00 2016
+# Not Valid After : Sun Jun 22 00:00:00 2036
+# Fingerprint (SHA-256): D9:47:43:2A:BD:E7:B7:FA:90:FC:2E:6B:59:10:1B:12:80:E0:E1:C7:E4:E4:0F:A3:C6:88:7F:FF:57:A7:F4:CF
+# Fingerprint (SHA1): E5:8C:1C:C4:91:3B:38:63:4B:E9:10:6E:E3:AD:8E:6B:9D:D9:81:4A
 CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "Symantec Class 1 Public Primary Certification Authority - G6"
+CKA_LABEL UTF8 "GTS Root R1"
 CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
 CKA_SUBJECT MULTILINE_OCTAL
-\060\201\224\061\013\060\011\006\003\125\004\006\023\002\125\123
-\061\035\060\033\006\003\125\004\012\023\024\123\171\155\141\156
-\164\145\143\040\103\157\162\160\157\162\141\164\151\157\156\061
-\037\060\035\006\003\125\004\013\023\026\123\171\155\141\156\164
-\145\143\040\124\162\165\163\164\040\116\145\164\167\157\162\153
-\061\105\060\103\006\003\125\004\003\023\074\123\171\155\141\156
-\164\145\143\040\103\154\141\163\163\040\061\040\120\165\142\154
-\151\143\040\120\162\151\155\141\162\171\040\103\145\162\164\151
-\146\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151
-\164\171\040\055\040\107\066
+\060\107\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\042\060\040\006\003\125\004\012\023\031\107\157\157\147\154\145
+\040\124\162\165\163\164\040\123\145\162\166\151\143\145\163\040
+\114\114\103\061\024\060\022\006\003\125\004\003\023\013\107\124
+\123\040\122\157\157\164\040\122\061
 END
 CKA_ID UTF8 "0"
 CKA_ISSUER MULTILINE_OCTAL
-\060\201\224\061\013\060\011\006\003\125\004\006\023\002\125\123
-\061\035\060\033\006\003\125\004\012\023\024\123\171\155\141\156
-\164\145\143\040\103\157\162\160\157\162\141\164\151\157\156\061
-\037\060\035\006\003\125\004\013\023\026\123\171\155\141\156\164
-\145\143\040\124\162\165\163\164\040\116\145\164\167\157\162\153
-\061\105\060\103\006\003\125\004\003\023\074\123\171\155\141\156
-\164\145\143\040\103\154\141\163\163\040\061\040\120\165\142\154
-\151\143\040\120\162\151\155\141\162\171\040\103\145\162\164\151
-\146\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151
-\164\171\040\055\040\107\066
+\060\107\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\042\060\040\006\003\125\004\012\023\031\107\157\157\147\154\145
+\040\124\162\165\163\164\040\123\145\162\166\151\143\145\163\040
+\114\114\103\061\024\060\022\006\003\125\004\003\023\013\107\124
+\123\040\122\157\157\164\040\122\061
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\020\044\062\165\362\035\057\322\011\063\367\264\152\312\320
-\363\230
+\002\015\002\003\345\223\157\061\260\023\111\210\153\242\027
 END
 CKA_VALUE MULTILINE_OCTAL
-\060\202\003\366\060\202\002\336\240\003\002\001\002\002\020\044
-\062\165\362\035\057\322\011\063\367\264\152\312\320\363\230\060
-\015\006\011\052\206\110\206\367\015\001\001\013\005\000\060\201
-\224\061\013\060\011\006\003\125\004\006\023\002\125\123\061\035
-\060\033\006\003\125\004\012\023\024\123\171\155\141\156\164\145
-\143\040\103\157\162\160\157\162\141\164\151\157\156\061\037\060
-\035\006\003\125\004\013\023\026\123\171\155\141\156\164\145\143
-\040\124\162\165\163\164\040\116\145\164\167\157\162\153\061\105
-\060\103\006\003\125\004\003\023\074\123\171\155\141\156\164\145
-\143\040\103\154\141\163\163\040\061\040\120\165\142\154\151\143
-\040\120\162\151\155\141\162\171\040\103\145\162\164\151\146\151
-\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164\171
-\040\055\040\107\066\060\036\027\015\061\061\061\060\061\070\060
-\060\060\060\060\060\132\027\015\063\067\061\062\060\061\062\063
-\065\071\065\071\132\060\201\224\061\013\060\011\006\003\125\004
-\006\023\002\125\123\061\035\060\033\006\003\125\004\012\023\024
-\123\171\155\141\156\164\145\143\040\103\157\162\160\157\162\141
-\164\151\157\156\061\037\060\035\006\003\125\004\013\023\026\123
-\171\155\141\156\164\145\143\040\124\162\165\163\164\040\116\145
-\164\167\157\162\153\061\105\060\103\006\003\125\004\003\023\074
-\123\171\155\141\156\164\145\143\040\103\154\141\163\163\040\061
-\040\120\165\142\154\151\143\040\120\162\151\155\141\162\171\040
-\103\145\162\164\151\146\151\143\141\164\151\157\156\040\101\165
-\164\150\157\162\151\164\171\040\055\040\107\066\060\202\001\042
-\060\015\006\011\052\206\110\206\367\015\001\001\001\005\000\003
-\202\001\017\000\060\202\001\012\002\202\001\001\000\307\071\327
-\111\144\251\231\202\042\114\352\105\331\007\026\343\173\364\203
-\350\231\163\372\153\261\066\340\232\167\240\100\302\201\215\001
-\307\314\214\275\217\175\367\171\343\172\114\003\115\331\373\375
-\207\070\050\054\335\232\213\124\010\333\147\373\033\214\376\050
-\222\057\276\267\262\110\247\201\241\330\136\210\303\314\071\100
-\101\132\321\334\345\332\020\237\057\332\001\115\375\056\106\174
-\371\056\047\012\151\067\356\221\243\033\152\314\104\277\033\307
-\303\324\021\262\120\140\227\011\275\056\042\365\101\204\146\237
-\315\100\246\251\000\200\301\037\225\222\237\336\363\110\357\333
-\035\167\141\374\177\337\356\226\244\162\320\266\076\377\170\047
-\257\313\222\025\151\010\333\143\020\342\346\227\254\156\334\254
-\366\242\316\036\107\231\271\211\267\022\346\241\324\315\131\021
-\147\303\157\205\330\102\116\050\276\131\125\131\004\225\253\217
-\067\200\277\015\360\374\037\072\144\061\130\201\170\327\342\065
-\366\040\077\051\270\217\026\156\076\110\334\265\114\007\341\362
-\032\352\176\012\171\326\250\275\353\135\206\053\115\002\003\001
-\000\001\243\102\060\100\060\016\006\003\125\035\017\001\001\377
-\004\004\003\002\001\006\060\017\006\003\125\035\023\001\001\377
-\004\005\060\003\001\001\377\060\035\006\003\125\035\016\004\026
-\004\024\063\101\350\310\071\022\025\223\110\362\226\062\056\132
-\365\332\224\137\123\140\060\015\006\011\052\206\110\206\367\015
-\001\001\013\005\000\003\202\001\001\000\025\343\163\127\261\027
-\266\137\111\151\104\246\366\136\172\147\254\322\336\165\111\253
-\376\045\125\307\072\311\104\025\020\156\277\061\153\313\331\007
-\223\177\034\205\143\000\343\062\022\340\314\313\373\071\154\217
-\342\123\342\074\100\063\331\244\214\107\346\255\130\373\211\257
-\343\336\206\051\126\064\054\105\270\022\372\104\211\156\055\024
-\045\050\044\001\145\326\352\122\254\005\156\126\022\011\075\320
-\164\364\327\275\006\312\250\072\215\126\102\372\215\162\076\164
-\361\003\162\337\207\033\136\016\172\125\226\054\070\267\230\205
-\315\115\063\104\311\224\217\132\061\060\067\113\243\072\022\263
-\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
+\060\202\005\127\060\202\003\077\240\003\002\001\002\002\015\002
+\003\345\223\157\061\260\023\111\210\153\242\027\060\015\006\011
+\052\206\110\206\367\015\001\001\014\005\000\060\107\061\013\060
+\011\006\003\125\004\006\023\002\125\123\061\042\060\040\006\003
+\125\004\012\023\031\107\157\157\147\154\145\040\124\162\165\163
+\164\040\123\145\162\166\151\143\145\163\040\114\114\103\061\024
+\060\022\006\003\125\004\003\023\013\107\124\123\040\122\157\157
+\164\040\122\061\060\036\027\015\061\066\060\066\062\062\060\060
+\060\060\060\060\132\027\015\063\066\060\066\062\062\060\060\060
+\060\060\060\132\060\107\061\013\060\011\006\003\125\004\006\023
+\002\125\123\061\042\060\040\006\003\125\004\012\023\031\107\157
+\157\147\154\145\040\124\162\165\163\164\040\123\145\162\166\151
+\143\145\163\040\114\114\103\061\024\060\022\006\003\125\004\003
+\023\013\107\124\123\040\122\157\157\164\040\122\061\060\202\002
+\042\060\015\006\011\052\206\110\206\367\015\001\001\001\005\000
+\003\202\002\017\000\060\202\002\012\002\202\002\001\000\266\021
+\002\213\036\343\241\167\233\073\334\277\224\076\267\225\247\100
+\074\241\375\202\371\175\062\006\202\161\366\366\214\177\373\350
+\333\274\152\056\227\227\243\214\113\371\053\366\261\371\316\204
+\035\261\371\305\227\336\357\271\362\243\351\274\022\211\136\247
+\252\122\253\370\043\047\313\244\261\234\143\333\327\231\176\360
+\012\136\353\150\246\364\306\132\107\015\115\020\063\343\116\261
+\023\243\310\030\154\113\354\374\011\220\337\235\144\051\045\043
+\007\241\264\322\075\056\140\340\317\322\011\207\273\315\110\360
+\115\302\302\172\210\212\273\272\317\131\031\326\257\217\260\007
+\260\236\061\361\202\301\300\337\056\246\155\154\031\016\265\330
+\176\046\032\105\003\075\260\171\244\224\050\255\017\177\046\345
+\250\010\376\226\350\074\150\224\123\356\203\072\210\053\025\226
+\011\262\340\172\214\056\165\326\234\353\247\126\144\217\226\117
+\150\256\075\227\302\204\217\300\274\100\300\013\134\275\366\207
+\263\065\154\254\030\120\177\204\340\114\315\222\323\040\351\063
+\274\122\231\257\062\265\051\263\045\052\264\110\371\162\341\312
+\144\367\346\202\020\215\350\235\302\212\210\372\070\146\212\374
+\143\371\001\371\170\375\173\134\167\372\166\207\372\354\337\261
+\016\171\225\127\264\275\046\357\326\001\321\353\026\012\273\216
+\013\265\305\305\212\125\253\323\254\352\221\113\051\314\031\244
+\062\045\116\052\361\145\104\320\002\316\252\316\111\264\352\237
+\174\203\260\100\173\347\103\253\247\154\243\217\175\211\201\372
+\114\245\377\325\216\303\316\113\340\265\330\263\216\105\317\166
+\300\355\100\053\375\123\017\260\247\325\073\015\261\212\242\003
+\336\061\255\314\167\352\157\173\076\326\337\221\042\022\346\276
+\372\330\062\374\020\143\024\121\162\336\135\326\026\223\275\051
+\150\063\357\072\146\354\007\212\046\337\023\327\127\145\170\047
+\336\136\111\024\000\242\000\177\232\250\041\266\251\261\225\260
+\245\271\015\026\021\332\307\154\110\074\100\340\176\015\132\315
+\126\074\321\227\005\271\313\113\355\071\113\234\304\077\322\125
+\023\156\044\260\326\161\372\364\301\272\314\355\033\365\376\201
+\101\330\000\230\075\072\310\256\172\230\067\030\005\225\002\003
+\001\000\001\243\102\060\100\060\016\006\003\125\035\017\001\001
+\377\004\004\003\002\001\206\060\017\006\003\125\035\023\001\001
+\377\004\005\060\003\001\001\377\060\035\006\003\125\035\016\004
+\026\004\024\344\257\053\046\161\032\053\110\047\205\057\122\146
+\054\357\360\211\023\161\076\060\015\006\011\052\206\110\206\367
+\015\001\001\014\005\000\003\202\002\001\000\237\252\102\046\333
+\013\233\276\377\036\226\222\056\076\242\145\112\152\230\272\042
+\313\175\301\072\330\202\012\006\306\366\245\336\300\116\207\146
+\171\241\371\246\130\234\252\371\265\346\140\347\340\350\261\036
+\102\101\063\013\067\075\316\211\160\025\312\265\044\250\317\153
+\265\322\100\041\230\317\042\064\317\073\305\042\204\340\305\016
+\212\174\135\210\344\065\044\316\233\076\032\124\036\156\333\262
+\207\247\374\363\372\201\125\024\142\012\131\251\042\005\061\076
+\202\326\356\333\127\064\274\063\225\323\027\033\350\047\242\213
+\173\116\046\032\172\132\144\266\321\254\067\361\375\240\363\070
+\354\162\360\021\165\235\313\064\122\215\346\166\153\027\306\337
+\206\253\047\216\111\053\165\146\201\020\041\246\352\076\364\256
+\045\377\174\025\336\316\214\045\077\312\142\160\012\367\057\011
+\146\007\310\077\034\374\360\333\105\060\337\142\210\301\265\017
+\235\303\237\112\336\131\131\107\305\207\042\066\346\202\247\355
+\012\271\342\007\240\215\173\172\112\074\161\322\342\003\241\037
+\062\007\335\033\344\102\316\014\000\105\141\200\265\013\040\131
+\051\170\275\371\125\313\143\305\074\114\364\266\377\333\152\137
+\061\153\231\236\054\301\153\120\244\327\346\030\024\275\205\077
+\147\253\106\237\240\377\102\247\072\177\134\313\135\260\160\035
+\053\064\365\324\166\011\014\353\170\114\131\005\363\063\102\303
+\141\025\020\033\167\115\316\042\214\324\205\362\105\175\267\123
+\352\357\100\132\224\012\134\040\137\116\100\135\142\042\166\337
+\377\316\141\275\214\043\170\322\067\002\340\216\336\321\021\067
+\211\366\277\355\111\007\142\256\222\354\100\032\257\024\011\331
+\320\116\262\242\367\276\356\356\330\377\334\032\055\336\270\066
+\161\342\374\171\267\224\045\321\110\163\133\241\065\347\263\231
+\147\165\301\031\072\053\107\116\323\102\216\375\061\310\026\146
+\332\322\014\074\333\263\216\311\241\015\200\017\173\026\167\024
+\277\377\333\011\224\262\223\274\040\130\025\351\333\161\103\363
+\336\020\303\000\334\250\052\225\266\302\326\077\220\153\166\333
+\154\376\214\274\362\160\065\014\334\231\031\065\334\327\310\106
+\143\325\066\161\256\127\373\267\202\155\334
 END
 CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
 
-# 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
-# Fingerprint (SHA1): 51:7F:61:1E:29:91:6B:53:82:FB:72:E7:44:D9:8D:C3:CC:53:6D:64
+# Trust for "GTS Root R1"
+# Issuer: CN=GTS Root R1,O=Google Trust Services LLC,C=US
+# Serial Number:02:03:e5:93:6f:31:b0:13:49:88:6b:a2:17
+# Subject: CN=GTS Root R1,O=Google Trust Services LLC,C=US
+# Not Valid Before: Wed Jun 22 00:00:00 2016
+# Not Valid After : Sun Jun 22 00:00:00 2036
+# Fingerprint (SHA-256): D9:47:43:2A:BD:E7:B7:FA:90:FC:2E:6B:59:10:1B:12:80:E0:E1:C7:E4:E4:0F:A3:C6:88:7F:FF:57:A7:F4:CF
+# Fingerprint (SHA1): E5:8C:1C:C4:91:3B:38:63:4B:E9:10:6E:E3:AD:8E:6B:9D:D9:81:4A
 CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "Symantec Class 1 Public Primary Certification Authority - G6"
+CKA_LABEL UTF8 "GTS Root R1"
 CKA_CERT_SHA1_HASH MULTILINE_OCTAL
-\121\177\141\036\051\221\153\123\202\373\162\347\104\331\215\303
-\314\123\155\144
+\345\214\034\304\221\073\070\143\113\351\020\156\343\255\216\153
+\235\331\201\112
 END
 CKA_CERT_MD5_HASH MULTILINE_OCTAL
-\057\250\264\332\366\144\113\036\202\371\106\075\124\032\174\260
+\005\376\320\277\161\250\243\166\143\332\001\340\330\122\334\100
 END
 CKA_ISSUER MULTILINE_OCTAL
-\060\201\224\061\013\060\011\006\003\125\004\006\023\002\125\123
-\061\035\060\033\006\003\125\004\012\023\024\123\171\155\141\156
-\164\145\143\040\103\157\162\160\157\162\141\164\151\157\156\061
-\037\060\035\006\003\125\004\013\023\026\123\171\155\141\156\164
-\145\143\040\124\162\165\163\164\040\116\145\164\167\157\162\153
-\061\105\060\103\006\003\125\004\003\023\074\123\171\155\141\156
-\164\145\143\040\103\154\141\163\163\040\061\040\120\165\142\154
-\151\143\040\120\162\151\155\141\162\171\040\103\145\162\164\151
-\146\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151
-\164\171\040\055\040\107\066
+\060\107\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\042\060\040\006\003\125\004\012\023\031\107\157\157\147\154\145
+\040\124\162\165\163\164\040\123\145\162\166\151\143\145\163\040
+\114\114\103\061\024\060\022\006\003\125\004\003\023\013\107\124
+\123\040\122\157\157\164\040\122\061
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\020\044\062\165\362\035\057\322\011\063\367\264\152\312\320
-\363\230
+\002\015\002\003\345\223\157\061\260\023\111\210\153\242\027
 END
-CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
 CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
 CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
 CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
 
 #
-# Certificate "Symantec Class 2 Public Primary Certification Authority - G6"
+# Certificate "GTS Root R2"
 #
-# 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
-# Fingerprint (SHA1): 40:B3:31:A0:E9:BF:E8:55:BC:39:93:CA:70:4F:4E:C2:51:D4:1D:8F
+# Issuer: CN=GTS Root R2,O=Google Trust Services LLC,C=US
+# Serial Number:02:03:e5:ae:c5:8d:04:25:1a:ab:11:25:aa
+# Subject: CN=GTS Root R2,O=Google Trust Services LLC,C=US
+# Not Valid Before: Wed Jun 22 00:00:00 2016
+# Not Valid After : Sun Jun 22 00:00:00 2036
+# Fingerprint (SHA-256): 8D:25:CD:97:22:9D:BF:70:35:6B:DA:4E:B3:CC:73:40:31:E2:4C:F0:0F:AF:CF:D3:2D:C7:6E:B5:84:1C:7E:A8
+# Fingerprint (SHA1): 9A:44:49:76:32:DB:DE:FA:D0:BC:FB:5A:7B:17:BD:9E:56:09:24:94
 CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "Symantec Class 2 Public Primary Certification Authority - G6"
+CKA_LABEL UTF8 "GTS Root R2"
 CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
-CKA_SUBJECT MULTILINE_OCTAL
-\060\201\224\061\013\060\011\006\003\125\004\006\023\002\125\123
-\061\035\060\033\006\003\125\004\012\023\024\123\171\155\141\156
-\164\145\143\040\103\157\162\160\157\162\141\164\151\157\156\061
-\037\060\035\006\003\125\004\013\023\026\123\171\155\141\156\164
-\145\143\040\124\162\165\163\164\040\116\145\164\167\157\162\153
-\061\105\060\103\006\003\125\004\003\023\074\123\171\155\141\156
-\164\145\143\040\103\154\141\163\163\040\062\040\120\165\142\154
-\151\143\040\120\162\151\155\141\162\171\040\103\145\162\164\151
-\146\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151
-\164\171\040\055\040\107\066
-END
-CKA_ID UTF8 "0"
-CKA_ISSUER MULTILINE_OCTAL
-\060\201\224\061\013\060\011\006\003\125\004\006\023\002\125\123
-\061\035\060\033\006\003\125\004\012\023\024\123\171\155\141\156
-\164\145\143\040\103\157\162\160\157\162\141\164\151\157\156\061
-\037\060\035\006\003\125\004\013\023\026\123\171\155\141\156\164
-\145\143\040\124\162\165\163\164\040\116\145\164\167\157\162\153
-\061\105\060\103\006\003\125\004\003\023\074\123\171\155\141\156
-\164\145\143\040\103\154\141\163\163\040\062\040\120\165\142\154
-\151\143\040\120\162\151\155\141\162\171\040\103\145\162\164\151
-\146\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151
-\164\171\040\055\040\107\066
+CKA_SUBJECT MULTILINE_OCTAL
+\060\107\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\042\060\040\006\003\125\004\012\023\031\107\157\157\147\154\145
+\040\124\162\165\163\164\040\123\145\162\166\151\143\145\163\040
+\114\114\103\061\024\060\022\006\003\125\004\003\023\013\107\124
+\123\040\122\157\157\164\040\122\062
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\107\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\042\060\040\006\003\125\004\012\023\031\107\157\157\147\154\145
+\040\124\162\165\163\164\040\123\145\162\166\151\143\145\163\040
+\114\114\103\061\024\060\022\006\003\125\004\003\023\013\107\124
+\123\040\122\157\157\164\040\122\062
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\020\144\202\236\374\067\036\164\135\374\227\377\227\310\261
-\377\101
+\002\015\002\003\345\256\305\215\004\045\032\253\021\045\252
 END
 CKA_VALUE MULTILINE_OCTAL
-\060\202\003\366\060\202\002\336\240\003\002\001\002\002\020\144
-\202\236\374\067\036\164\135\374\227\377\227\310\261\377\101\060
-\015\006\011\052\206\110\206\367\015\001\001\013\005\000\060\201
-\224\061\013\060\011\006\003\125\004\006\023\002\125\123\061\035
-\060\033\006\003\125\004\012\023\024\123\171\155\141\156\164\145
-\143\040\103\157\162\160\157\162\141\164\151\157\156\061\037\060
-\035\006\003\125\004\013\023\026\123\171\155\141\156\164\145\143
-\040\124\162\165\163\164\040\116\145\164\167\157\162\153\061\105
-\060\103\006\003\125\004\003\023\074\123\171\155\141\156\164\145
-\143\040\103\154\141\163\163\040\062\040\120\165\142\154\151\143
-\040\120\162\151\155\141\162\171\040\103\145\162\164\151\146\151
-\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164\171
-\040\055\040\107\066\060\036\027\015\061\061\061\060\061\070\060
-\060\060\060\060\060\132\027\015\063\067\061\062\060\061\062\063
-\065\071\065\071\132\060\201\224\061\013\060\011\006\003\125\004
-\006\023\002\125\123\061\035\060\033\006\003\125\004\012\023\024
-\123\171\155\141\156\164\145\143\040\103\157\162\160\157\162\141
-\164\151\157\156\061\037\060\035\006\003\125\004\013\023\026\123
-\171\155\141\156\164\145\143\040\124\162\165\163\164\040\116\145
-\164\167\157\162\153\061\105\060\103\006\003\125\004\003\023\074
-\123\171\155\141\156\164\145\143\040\103\154\141\163\163\040\062
-\040\120\165\142\154\151\143\040\120\162\151\155\141\162\171\040
-\103\145\162\164\151\146\151\143\141\164\151\157\156\040\101\165
-\164\150\157\162\151\164\171\040\055\040\107\066\060\202\001\042
-\060\015\006\011\052\206\110\206\367\015\001\001\001\005\000\003
-\202\001\017\000\060\202\001\012\002\202\001\001\000\315\314\351
-\005\310\143\205\313\077\100\143\027\275\030\372\065\346\004\147
-\127\145\230\051\244\117\311\134\217\017\064\322\370\332\250\023
-\142\252\270\036\120\147\170\260\026\114\240\071\251\025\172\256
-\355\322\242\300\360\220\067\051\030\046\134\350\015\074\266\154
-\111\077\301\340\334\331\113\266\024\031\013\246\323\226\341\326
-\011\343\031\046\034\371\037\145\113\371\032\103\034\000\203\326
-\320\252\111\242\324\333\346\142\070\272\120\024\103\155\371\061
-\370\126\026\331\070\002\221\317\353\154\335\273\071\116\231\341
-\060\147\105\361\324\360\215\303\337\376\362\070\007\041\175\000
-\136\126\104\263\344\140\275\221\053\234\253\133\004\162\017\262
-\050\331\162\253\005\040\102\045\251\133\003\152\040\020\314\061
-\360\053\332\065\054\320\373\232\227\116\360\202\113\053\330\137
-\066\243\013\055\257\143\015\035\045\177\241\156\134\142\241\215
-\050\076\241\374\034\040\370\001\057\272\125\232\021\260\031\322
-\310\120\171\153\016\152\005\327\252\004\066\262\243\362\341\137
-\167\247\167\234\345\036\334\351\337\152\301\145\135\002\003\001
-\000\001\243\102\060\100\060\016\006\003\125\035\017\001\001\377
-\004\004\003\002\001\006\060\017\006\003\125\035\023\001\001\377
-\004\005\060\003\001\001\377\060\035\006\003\125\035\016\004\026
-\004\024\207\214\040\225\310\230\112\321\326\200\006\112\220\064
-\104\337\034\115\277\260\060\015\006\011\052\206\110\206\367\015
-\001\001\013\005\000\003\202\001\001\000\201\216\262\245\146\226
-\267\041\245\266\357\157\043\132\137\333\201\305\102\245\170\301
-\151\375\364\074\327\371\134\153\160\162\032\374\132\227\115\000
-\200\210\210\202\212\303\161\015\216\305\211\233\054\355\215\013
-\322\162\124\365\175\324\134\103\127\351\363\256\245\002\021\366
-\166\053\201\127\335\175\332\164\060\375\124\107\366\340\026\156
-\246\264\012\110\346\347\165\007\017\051\031\071\316\171\364\266
-\154\305\137\231\325\037\113\372\337\155\054\074\015\124\200\160
-\360\210\013\200\317\306\150\242\270\035\160\331\166\214\374\356
-\245\311\317\255\035\317\231\045\127\132\142\105\313\026\153\275
-\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
+\060\202\005\127\060\202\003\077\240\003\002\001\002\002\015\002
+\003\345\256\305\215\004\045\032\253\021\045\252\060\015\006\011
+\052\206\110\206\367\015\001\001\014\005\000\060\107\061\013\060
+\011\006\003\125\004\006\023\002\125\123\061\042\060\040\006\003
+\125\004\012\023\031\107\157\157\147\154\145\040\124\162\165\163
+\164\040\123\145\162\166\151\143\145\163\040\114\114\103\061\024
+\060\022\006\003\125\004\003\023\013\107\124\123\040\122\157\157
+\164\040\122\062\060\036\027\015\061\066\060\066\062\062\060\060
+\060\060\060\060\132\027\015\063\066\060\066\062\062\060\060\060
+\060\060\060\132\060\107\061\013\060\011\006\003\125\004\006\023
+\002\125\123\061\042\060\040\006\003\125\004\012\023\031\107\157
+\157\147\154\145\040\124\162\165\163\164\040\123\145\162\166\151
+\143\145\163\040\114\114\103\061\024\060\022\006\003\125\004\003
+\023\013\107\124\123\040\122\157\157\164\040\122\062\060\202\002
+\042\060\015\006\011\052\206\110\206\367\015\001\001\001\005\000
+\003\202\002\017\000\060\202\002\012\002\202\002\001\000\316\336
+\375\246\373\354\354\024\064\074\007\006\132\154\131\367\031\065
+\335\367\301\235\125\252\323\315\073\244\223\162\357\012\372\155
+\235\366\360\205\200\133\241\110\122\237\071\305\267\356\050\254
+\357\313\166\150\024\271\337\255\001\154\231\037\304\042\035\237
+\376\162\167\340\054\133\257\344\004\277\117\162\240\032\064\230
+\350\071\150\354\225\045\173\166\241\346\151\271\205\031\275\211
+\214\376\255\355\066\352\163\274\377\203\342\313\175\301\322\316
+\112\263\215\005\236\213\111\223\337\301\133\320\156\136\360\056
+\060\056\202\374\372\274\264\027\012\110\345\210\233\305\233\153
+\336\260\312\264\003\360\332\364\220\270\145\144\367\134\114\255
+\350\176\146\136\231\327\270\302\076\310\320\023\235\255\356\344
+\105\173\211\125\367\212\037\142\122\204\022\263\302\100\227\343
+\212\037\107\221\246\164\132\322\370\261\143\050\020\270\263\011
+\270\126\167\100\242\046\230\171\306\376\337\045\356\076\345\240
+\177\324\141\017\121\113\074\077\214\332\341\160\164\330\302\150
+\241\371\301\014\351\241\342\177\273\125\074\166\006\356\152\116
+\314\222\210\060\115\232\275\117\013\110\232\204\265\230\243\325
+\373\163\301\127\141\335\050\126\165\023\256\207\216\347\014\121
+\011\020\165\210\114\274\215\371\173\074\324\042\110\037\052\334
+\353\153\273\104\261\313\063\161\062\106\257\255\112\361\214\350
+\164\072\254\347\032\042\163\200\322\060\367\045\102\307\042\073
+\073\022\255\226\056\306\303\166\007\252\040\267\065\111\127\351
+\222\111\350\166\026\162\061\147\053\226\176\212\243\307\224\126
+\042\277\152\113\176\001\041\262\043\062\337\344\232\104\155\131
+\133\135\365\000\240\034\233\306\170\227\215\220\377\233\310\252
+\264\257\021\121\071\136\331\373\147\255\325\133\021\235\062\232
+\033\275\325\272\133\245\311\313\045\151\123\125\047\134\340\312
+\066\313\210\141\373\036\267\320\313\356\026\373\323\246\114\336
+\222\245\324\342\337\365\006\124\336\056\235\113\264\223\060\252
+\201\316\335\032\334\121\163\015\117\160\351\345\266\026\041\031
+\171\262\346\211\013\165\144\312\325\253\274\011\301\030\241\377
+\324\124\241\205\074\375\024\044\003\262\207\323\244\267\002\003
+\001\000\001\243\102\060\100\060\016\006\003\125\035\017\001\001
+\377\004\004\003\002\001\206\060\017\006\003\125\035\023\001\001
+\377\004\005\060\003\001\001\377\060\035\006\003\125\035\016\004
+\026\004\024\273\377\312\216\043\237\117\231\312\333\342\150\246
+\245\025\047\027\036\331\016\060\015\006\011\052\206\110\206\367
+\015\001\001\014\005\000\003\202\002\001\000\037\312\316\335\307
+\276\241\237\331\047\114\013\334\027\230\021\152\210\336\075\346
+\161\126\162\262\236\032\116\234\325\053\230\044\135\233\153\173
+\260\063\202\011\275\337\045\106\352\230\236\266\033\376\203\074
+\322\142\141\301\004\355\316\340\305\311\310\023\023\125\347\250
+\143\255\214\173\001\376\167\060\341\316\150\233\005\370\022\356
+\171\061\240\101\105\065\050\012\161\244\044\117\214\334\074\202
+\007\137\146\334\175\020\376\014\141\263\005\225\356\341\256\201
+\017\250\370\307\217\115\250\043\002\046\153\035\203\122\125\316
+\265\057\000\312\200\100\340\341\164\254\140\365\207\200\235\256
+\066\144\221\135\260\150\030\352\212\141\311\167\250\227\304\311
+\307\245\374\125\113\363\360\177\271\145\075\047\150\320\314\153
+\372\123\235\341\221\032\311\135\032\226\155\062\207\355\003\040
+\310\002\316\132\276\331\352\375\262\115\304\057\033\337\137\172
+\365\370\213\306\356\061\072\045\121\125\147\215\144\062\173\351
+\236\303\202\272\052\055\351\036\264\340\110\006\242\374\147\257
+\037\042\002\163\373\040\012\257\235\124\113\241\315\377\140\107
+\260\077\135\357\033\126\275\227\041\226\055\012\321\136\235\070
+\002\107\154\271\364\366\043\045\270\240\152\232\053\167\010\372
+\304\261\050\220\046\130\010\074\342\176\252\327\075\157\272\061
+\210\012\005\353\047\265\241\111\356\240\105\124\173\346\047\145
+\231\040\041\250\243\274\373\030\226\273\122\157\014\355\203\121
+\114\351\131\342\040\140\305\302\145\222\202\214\363\020\037\016
+\212\227\276\167\202\155\077\217\035\135\274\111\047\275\314\117
+\017\341\316\166\206\004\043\305\300\214\022\133\375\333\204\240
+\044\361\110\377\144\174\320\276\134\026\321\357\231\255\300\037
+\373\313\256\274\070\042\006\046\144\332\332\227\016\077\050\025
+\104\250\117\000\312\360\232\314\317\164\152\264\076\074\353\225
+\354\265\323\132\330\201\231\351\103\030\067\353\263\273\321\130
+\142\101\363\146\322\217\252\170\225\124\040\303\132\056\164\053
+\325\321\276\030\151\300\254\325\244\317\071\272\121\204\003\145
+\351\142\300\142\376\330\115\125\226\342\320\021\372\110\064\021
+\354\236\355\005\035\344\310\326\035\206\313
 END
 CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
 
-# 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
-# Fingerprint (SHA1): 40:B3:31:A0:E9:BF:E8:55:BC:39:93:CA:70:4F:4E:C2:51:D4:1D:8F
+# Trust for "GTS Root R2"
+# Issuer: CN=GTS Root R2,O=Google Trust Services LLC,C=US
+# Serial Number:02:03:e5:ae:c5:8d:04:25:1a:ab:11:25:aa
+# Subject: CN=GTS Root R2,O=Google Trust Services LLC,C=US
+# Not Valid Before: Wed Jun 22 00:00:00 2016
+# Not Valid After : Sun Jun 22 00:00:00 2036
+# Fingerprint (SHA-256): 8D:25:CD:97:22:9D:BF:70:35:6B:DA:4E:B3:CC:73:40:31:E2:4C:F0:0F:AF:CF:D3:2D:C7:6E:B5:84:1C:7E:A8
+# Fingerprint (SHA1): 9A:44:49:76:32:DB:DE:FA:D0:BC:FB:5A:7B:17:BD:9E:56:09:24:94
 CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "Symantec Class 2 Public Primary Certification Authority - G6"
+CKA_LABEL UTF8 "GTS Root R2"
 CKA_CERT_SHA1_HASH MULTILINE_OCTAL
-\100\263\061\240\351\277\350\125\274\071\223\312\160\117\116\302
-\121\324\035\217
+\232\104\111\166\062\333\336\372\320\274\373\132\173\027\275\236
+\126\011\044\224
 END
 CKA_CERT_MD5_HASH MULTILINE_OCTAL
-\175\013\203\345\373\174\255\007\117\040\251\265\337\143\355\171
+\036\071\300\123\346\036\051\202\013\312\122\125\066\135\127\334
 END
 CKA_ISSUER MULTILINE_OCTAL
-\060\201\224\061\013\060\011\006\003\125\004\006\023\002\125\123
-\061\035\060\033\006\003\125\004\012\023\024\123\171\155\141\156
-\164\145\143\040\103\157\162\160\157\162\141\164\151\157\156\061
-\037\060\035\006\003\125\004\013\023\026\123\171\155\141\156\164
-\145\143\040\124\162\165\163\164\040\116\145\164\167\157\162\153
-\061\105\060\103\006\003\125\004\003\023\074\123\171\155\141\156
-\164\145\143\040\103\154\141\163\163\040\062\040\120\165\142\154
-\151\143\040\120\162\151\155\141\162\171\040\103\145\162\164\151
-\146\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151
-\164\171\040\055\040\107\066
+\060\107\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\042\060\040\006\003\125\004\012\023\031\107\157\157\147\154\145
+\040\124\162\165\163\164\040\123\145\162\166\151\143\145\163\040
+\114\114\103\061\024\060\022\006\003\125\004\003\023\013\107\124
+\123\040\122\157\157\164\040\122\062
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\020\144\202\236\374\067\036\164\135\374\227\377\227\310\261
-\377\101
+\002\015\002\003\345\256\305\215\004\045\032\253\021\045\252
 END
-CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
 CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
 CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
 CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
 
 #
-# Certificate "Symantec Class 1 Public Primary Certification Authority - G4"
+# Certificate "GTS Root R3"
 #
-# 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
-# Fingerprint (SHA1): 84:F2:E3:DD:83:13:3E:A9:1D:19:52:7F:02:D7:29:BF:C1:5F:E6:67
+# Issuer: CN=GTS Root R3,O=Google Trust Services LLC,C=US
+# Serial Number:02:03:e5:b8:82:eb:20:f8:25:27:6d:3d:66
+# Subject: CN=GTS Root R3,O=Google Trust Services LLC,C=US
+# Not Valid Before: Wed Jun 22 00:00:00 2016
+# Not Valid After : Sun Jun 22 00:00:00 2036
+# Fingerprint (SHA-256): 34:D8:A7:3E:E2:08:D9:BC:DB:0D:95:65:20:93:4B:4E:40:E6:94:82:59:6E:8B:6F:73:C8:42:6B:01:0A:6F:48
+# Fingerprint (SHA1): ED:E5:71:80:2B:C8:92:B9:5B:83:3C:D2:32:68:3F:09:CD:A0:1E:46
 CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "Symantec Class 1 Public Primary Certification Authority - G4"
+CKA_LABEL UTF8 "GTS Root R3"
 CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
 CKA_SUBJECT MULTILINE_OCTAL
-\060\201\224\061\013\060\011\006\003\125\004\006\023\002\125\123
-\061\035\060\033\006\003\125\004\012\023\024\123\171\155\141\156
-\164\145\143\040\103\157\162\160\157\162\141\164\151\157\156\061
-\037\060\035\006\003\125\004\013\023\026\123\171\155\141\156\164
-\145\143\040\124\162\165\163\164\040\116\145\164\167\157\162\153
-\061\105\060\103\006\003\125\004\003\023\074\123\171\155\141\156
-\164\145\143\040\103\154\141\163\163\040\061\040\120\165\142\154
-\151\143\040\120\162\151\155\141\162\171\040\103\145\162\164\151
-\146\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151
-\164\171\040\055\040\107\064
+\060\107\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\042\060\040\006\003\125\004\012\023\031\107\157\157\147\154\145
+\040\124\162\165\163\164\040\123\145\162\166\151\143\145\163\040
+\114\114\103\061\024\060\022\006\003\125\004\003\023\013\107\124
+\123\040\122\157\157\164\040\122\063
 END
 CKA_ID UTF8 "0"
 CKA_ISSUER MULTILINE_OCTAL
-\060\201\224\061\013\060\011\006\003\125\004\006\023\002\125\123
-\061\035\060\033\006\003\125\004\012\023\024\123\171\155\141\156
-\164\145\143\040\103\157\162\160\157\162\141\164\151\157\156\061
-\037\060\035\006\003\125\004\013\023\026\123\171\155\141\156\164
-\145\143\040\124\162\165\163\164\040\116\145\164\167\157\162\153
-\061\105\060\103\006\003\125\004\003\023\074\123\171\155\141\156
-\164\145\143\040\103\154\141\163\163\040\061\040\120\165\142\154
-\151\143\040\120\162\151\155\141\162\171\040\103\145\162\164\151
-\146\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151
-\164\171\040\055\040\107\064
+\060\107\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\042\060\040\006\003\125\004\012\023\031\107\157\157\147\154\145
+\040\124\162\165\163\164\040\123\145\162\166\151\143\145\163\040
+\114\114\103\061\024\060\022\006\003\125\004\003\023\013\107\124
+\123\040\122\157\157\164\040\122\063
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\020\041\156\063\245\313\323\210\244\157\051\007\264\047\074
-\304\330
+\002\015\002\003\345\270\202\353\040\370\045\047\155\075\146
 END
 CKA_VALUE MULTILINE_OCTAL
-\060\202\002\250\060\202\002\055\240\003\002\001\002\002\020\041
-\156\063\245\313\323\210\244\157\051\007\264\047\074\304\330\060
-\012\006\010\052\206\110\316\075\004\003\003\060\201\224\061\013
-\060\011\006\003\125\004\006\023\002\125\123\061\035\060\033\006
-\003\125\004\012\023\024\123\171\155\141\156\164\145\143\040\103
-\157\162\160\157\162\141\164\151\157\156\061\037\060\035\006\003
-\125\004\013\023\026\123\171\155\141\156\164\145\143\040\124\162
-\165\163\164\040\116\145\164\167\157\162\153\061\105\060\103\006
-\003\125\004\003\023\074\123\171\155\141\156\164\145\143\040\103
-\154\141\163\163\040\061\040\120\165\142\154\151\143\040\120\162
-\151\155\141\162\171\040\103\145\162\164\151\146\151\143\141\164
-\151\157\156\040\101\165\164\150\157\162\151\164\171\040\055\040
-\107\064\060\036\027\015\061\061\061\060\060\065\060\060\060\060
-\060\060\132\027\015\063\070\060\061\061\070\062\063\065\071\065
-\071\132\060\201\224\061\013\060\011\006\003\125\004\006\023\002
-\125\123\061\035\060\033\006\003\125\004\012\023\024\123\171\155
-\141\156\164\145\143\040\103\157\162\160\157\162\141\164\151\157
-\156\061\037\060\035\006\003\125\004\013\023\026\123\171\155\141
-\156\164\145\143\040\124\162\165\163\164\040\116\145\164\167\157
-\162\153\061\105\060\103\006\003\125\004\003\023\074\123\171\155
-\141\156\164\145\143\040\103\154\141\163\163\040\061\040\120\165
-\142\154\151\143\040\120\162\151\155\141\162\171\040\103\145\162
-\164\151\146\151\143\141\164\151\157\156\040\101\165\164\150\157
-\162\151\164\171\040\055\040\107\064\060\166\060\020\006\007\052
-\206\110\316\075\002\001\006\005\053\201\004\000\042\003\142\000
-\004\327\146\265\033\333\256\263\140\356\106\352\210\143\165\073
-\052\224\155\363\137\022\366\343\017\236\266\012\024\123\110\122
-\310\334\072\263\313\110\040\046\022\116\372\211\204\324\337\221
-\344\051\175\050\001\331\333\030\103\151\241\037\265\323\206\026
-\334\307\177\147\043\337\337\061\061\203\003\065\160\261\113\267
-\310\027\273\121\313\334\224\027\333\352\011\073\166\022\336\252
-\265\243\102\060\100\060\016\006\003\125\035\017\001\001\377\004
-\004\003\002\001\006\060\017\006\003\125\035\023\001\001\377\004
-\005\060\003\001\001\377\060\035\006\003\125\035\016\004\026\004
-\024\145\300\215\045\365\014\272\227\167\220\077\236\056\340\132
-\365\316\325\341\344\060\012\006\010\052\206\110\316\075\004\003
-\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
+\060\202\002\011\060\202\001\216\240\003\002\001\002\002\015\002
+\003\345\270\202\353\040\370\045\047\155\075\146\060\012\006\010
+\052\206\110\316\075\004\003\003\060\107\061\013\060\011\006\003
+\125\004\006\023\002\125\123\061\042\060\040\006\003\125\004\012
+\023\031\107\157\157\147\154\145\040\124\162\165\163\164\040\123
+\145\162\166\151\143\145\163\040\114\114\103\061\024\060\022\006
+\003\125\004\003\023\013\107\124\123\040\122\157\157\164\040\122
+\063\060\036\027\015\061\066\060\066\062\062\060\060\060\060\060
+\060\132\027\015\063\066\060\066\062\062\060\060\060\060\060\060
+\132\060\107\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\042\060\040\006\003\125\004\012\023\031\107\157\157\147\154
+\145\040\124\162\165\163\164\040\123\145\162\166\151\143\145\163
+\040\114\114\103\061\024\060\022\006\003\125\004\003\023\013\107
+\124\123\040\122\157\157\164\040\122\063\060\166\060\020\006\007
+\052\206\110\316\075\002\001\006\005\053\201\004\000\042\003\142
+\000\004\037\117\063\207\063\051\212\241\204\336\313\307\041\130
+\101\211\352\126\235\053\113\205\306\035\114\047\274\177\046\121
+\162\157\342\237\326\243\312\314\105\024\106\213\255\357\176\206
+\214\354\261\176\057\377\251\161\235\030\204\105\004\101\125\156
+\053\352\046\177\273\220\001\343\113\031\272\344\124\226\105\011
+\261\325\154\221\104\255\204\023\216\232\214\015\200\014\062\366
+\340\047\243\102\060\100\060\016\006\003\125\035\017\001\001\377
+\004\004\003\002\001\206\060\017\006\003\125\035\023\001\001\377
+\004\005\060\003\001\001\377\060\035\006\003\125\035\016\004\026
+\004\024\301\361\046\272\240\055\256\205\201\317\323\361\052\022
+\275\270\012\147\375\274\060\012\006\010\052\206\110\316\075\004
+\003\003\003\151\000\060\146\002\061\000\366\341\040\225\024\173
+\124\243\220\026\021\277\204\310\352\157\153\027\236\036\106\230
+\040\233\237\323\015\331\254\323\057\315\174\370\133\056\125\273
+\277\335\222\367\244\014\334\061\341\242\002\061\000\374\227\146
+\146\345\103\026\023\203\335\307\337\057\276\024\070\355\001\316
+\261\027\032\021\165\351\275\003\217\046\176\204\345\311\140\246
+\225\327\124\131\267\347\021\054\211\324\271\356\027
 END
 CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
 
-# 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
-# Fingerprint (SHA1): 84:F2:E3:DD:83:13:3E:A9:1D:19:52:7F:02:D7:29:BF:C1:5F:E6:67
+# Trust for "GTS Root R3"
+# Issuer: CN=GTS Root R3,O=Google Trust Services LLC,C=US
+# Serial Number:02:03:e5:b8:82:eb:20:f8:25:27:6d:3d:66
+# Subject: CN=GTS Root R3,O=Google Trust Services LLC,C=US
+# Not Valid Before: Wed Jun 22 00:00:00 2016
+# Not Valid After : Sun Jun 22 00:00:00 2036
+# Fingerprint (SHA-256): 34:D8:A7:3E:E2:08:D9:BC:DB:0D:95:65:20:93:4B:4E:40:E6:94:82:59:6E:8B:6F:73:C8:42:6B:01:0A:6F:48
+# Fingerprint (SHA1): ED:E5:71:80:2B:C8:92:B9:5B:83:3C:D2:32:68:3F:09:CD:A0:1E:46
 CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "Symantec Class 1 Public Primary Certification Authority - G4"
+CKA_LABEL UTF8 "GTS Root R3"
 CKA_CERT_SHA1_HASH MULTILINE_OCTAL
-\204\362\343\335\203\023\076\251\035\031\122\177\002\327\051\277
-\301\137\346\147
+\355\345\161\200\053\310\222\271\133\203\074\322\062\150\077\011
+\315\240\036\106
 END
 CKA_CERT_MD5_HASH MULTILINE_OCTAL
-\004\345\200\077\125\377\131\207\244\062\322\025\245\345\252\346
+\076\347\235\130\002\224\106\121\224\345\340\042\112\213\347\163
 END
 CKA_ISSUER MULTILINE_OCTAL
-\060\201\224\061\013\060\011\006\003\125\004\006\023\002\125\123
-\061\035\060\033\006\003\125\004\012\023\024\123\171\155\141\156
-\164\145\143\040\103\157\162\160\157\162\141\164\151\157\156\061
-\037\060\035\006\003\125\004\013\023\026\123\171\155\141\156\164
-\145\143\040\124\162\165\163\164\040\116\145\164\167\157\162\153
-\061\105\060\103\006\003\125\004\003\023\074\123\171\155\141\156
-\164\145\143\040\103\154\141\163\163\040\061\040\120\165\142\154
-\151\143\040\120\162\151\155\141\162\171\040\103\145\162\164\151
-\146\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151
-\164\171\040\055\040\107\064
+\060\107\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\042\060\040\006\003\125\004\012\023\031\107\157\157\147\154\145
+\040\124\162\165\163\164\040\123\145\162\166\151\143\145\163\040
+\114\114\103\061\024\060\022\006\003\125\004\003\023\013\107\124
+\123\040\122\157\157\164\040\122\063
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\020\041\156\063\245\313\323\210\244\157\051\007\264\047\074
-\304\330
+\002\015\002\003\345\270\202\353\040\370\045\047\155\075\146
 END
-CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
 CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
 CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
 CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
 
 #
-# Certificate "Symantec Class 2 Public Primary Certification Authority - G4"
+# Certificate "GTS Root R4"
 #
-# 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
-# Fingerprint (SHA1): 67:24:90:2E:48:01:B0:22:96:40:10:46:B4:B1:67:2C:A9:75:FD:2B
+# Issuer: CN=GTS Root R4,O=Google Trust Services LLC,C=US
+# Serial Number:02:03:e5:c0:68:ef:63:1a:9c:72:90:50:52
+# Subject: CN=GTS Root R4,O=Google Trust Services LLC,C=US
+# Not Valid Before: Wed Jun 22 00:00:00 2016
+# Not Valid After : Sun Jun 22 00:00:00 2036
+# Fingerprint (SHA-256): 34:9D:FA:40:58:C5:E2:63:12:3B:39:8A:E7:95:57:3C:4E:13:13:C8:3F:E6:8F:93:55:6C:D5:E8:03:1B:3C:7D
+# Fingerprint (SHA1): 77:D3:03:67:B5:E0:0C:15:F6:0C:38:61:DF:7C:E1:3B:92:46:4D:47
 CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "Symantec Class 2 Public Primary Certification Authority - G4"
+CKA_LABEL UTF8 "GTS Root R4"
 CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
 CKA_SUBJECT MULTILINE_OCTAL
-\060\201\224\061\013\060\011\006\003\125\004\006\023\002\125\123
-\061\035\060\033\006\003\125\004\012\023\024\123\171\155\141\156
-\164\145\143\040\103\157\162\160\157\162\141\164\151\157\156\061
-\037\060\035\006\003\125\004\013\023\026\123\171\155\141\156\164
-\145\143\040\124\162\165\163\164\040\116\145\164\167\157\162\153
-\061\105\060\103\006\003\125\004\003\023\074\123\171\155\141\156
-\164\145\143\040\103\154\141\163\163\040\062\040\120\165\142\154
-\151\143\040\120\162\151\155\141\162\171\040\103\145\162\164\151
-\146\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151
-\164\171\040\055\040\107\064
+\060\107\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\042\060\040\006\003\125\004\012\023\031\107\157\157\147\154\145
+\040\124\162\165\163\164\040\123\145\162\166\151\143\145\163\040
+\114\114\103\061\024\060\022\006\003\125\004\003\023\013\107\124
+\123\040\122\157\157\164\040\122\064
 END
 CKA_ID UTF8 "0"
 CKA_ISSUER MULTILINE_OCTAL
-\060\201\224\061\013\060\011\006\003\125\004\006\023\002\125\123
-\061\035\060\033\006\003\125\004\012\023\024\123\171\155\141\156
-\164\145\143\040\103\157\162\160\157\162\141\164\151\157\156\061
-\037\060\035\006\003\125\004\013\023\026\123\171\155\141\156\164
-\145\143\040\124\162\165\163\164\040\116\145\164\167\157\162\153
-\061\105\060\103\006\003\125\004\003\023\074\123\171\155\141\156
-\164\145\143\040\103\154\141\163\163\040\062\040\120\165\142\154
-\151\143\040\120\162\151\155\141\162\171\040\103\145\162\164\151
-\146\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151
-\164\171\040\055\040\107\064
+\060\107\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\042\060\040\006\003\125\004\012\023\031\107\157\157\147\154\145
+\040\124\162\165\163\164\040\123\145\162\166\151\143\145\163\040
+\114\114\103\061\024\060\022\006\003\125\004\003\023\013\107\124
+\123\040\122\157\157\164\040\122\064
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\020\064\027\145\022\100\073\267\126\200\055\200\313\171\125
-\246\036
+\002\015\002\003\345\300\150\357\143\032\234\162\220\120\122
 END
 CKA_VALUE MULTILINE_OCTAL
-\060\202\002\250\060\202\002\055\240\003\002\001\002\002\020\064
-\027\145\022\100\073\267\126\200\055\200\313\171\125\246\036\060
-\012\006\010\052\206\110\316\075\004\003\003\060\201\224\061\013
-\060\011\006\003\125\004\006\023\002\125\123\061\035\060\033\006
-\003\125\004\012\023\024\123\171\155\141\156\164\145\143\040\103
-\157\162\160\157\162\141\164\151\157\156\061\037\060\035\006\003
-\125\004\013\023\026\123\171\155\141\156\164\145\143\040\124\162
-\165\163\164\040\116\145\164\167\157\162\153\061\105\060\103\006
-\003\125\004\003\023\074\123\171\155\141\156\164\145\143\040\103
-\154\141\163\163\040\062\040\120\165\142\154\151\143\040\120\162
-\151\155\141\162\171\040\103\145\162\164\151\146\151\143\141\164
-\151\157\156\040\101\165\164\150\157\162\151\164\171\040\055\040
-\107\064\060\036\027\015\061\061\061\060\060\065\060\060\060\060
-\060\060\132\027\015\063\070\060\061\061\070\062\063\065\071\065
-\071\132\060\201\224\061\013\060\011\006\003\125\004\006\023\002
-\125\123\061\035\060\033\006\003\125\004\012\023\024\123\171\155
-\141\156\164\145\143\040\103\157\162\160\157\162\141\164\151\157
-\156\061\037\060\035\006\003\125\004\013\023\026\123\171\155\141
-\156\164\145\143\040\124\162\165\163\164\040\116\145\164\167\157
-\162\153\061\105\060\103\006\003\125\004\003\023\074\123\171\155
-\141\156\164\145\143\040\103\154\141\163\163\040\062\040\120\165
-\142\154\151\143\040\120\162\151\155\141\162\171\040\103\145\162
-\164\151\146\151\143\141\164\151\157\156\040\101\165\164\150\157
-\162\151\164\171\040\055\040\107\064\060\166\060\020\006\007\052
-\206\110\316\075\002\001\006\005\053\201\004\000\042\003\142\000
-\004\321\331\112\216\114\015\204\112\121\272\174\357\323\314\372
-\072\232\265\247\143\023\075\001\340\111\076\372\301\107\311\222
-\263\072\327\376\157\234\367\232\072\017\365\016\012\012\303\077
-\310\347\022\024\216\325\325\155\230\054\263\161\062\012\353\052
-\275\366\327\152\040\013\147\105\234\322\262\277\123\042\146\011
-\135\333\021\363\361\005\063\130\243\342\270\317\174\315\202\233
-\275\243\102\060\100\060\016\006\003\125\035\017\001\001\377\004
-\004\003\002\001\006\060\017\006\003\125\035\023\001\001\377\004
-\005\060\003\001\001\377\060\035\006\003\125\035\016\004\026\004
-\024\075\062\363\072\251\014\220\204\371\242\214\151\006\141\124
-\057\207\162\376\005\060\012\006\010\052\206\110\316\075\004\003
-\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
+\060\202\002\011\060\202\001\216\240\003\002\001\002\002\015\002
+\003\345\300\150\357\143\032\234\162\220\120\122\060\012\006\010
+\052\206\110\316\075\004\003\003\060\107\061\013\060\011\006\003
+\125\004\006\023\002\125\123\061\042\060\040\006\003\125\004\012
+\023\031\107\157\157\147\154\145\040\124\162\165\163\164\040\123
+\145\162\166\151\143\145\163\040\114\114\103\061\024\060\022\006
+\003\125\004\003\023\013\107\124\123\040\122\157\157\164\040\122
+\064\060\036\027\015\061\066\060\066\062\062\060\060\060\060\060
+\060\132\027\015\063\066\060\066\062\062\060\060\060\060\060\060
+\132\060\107\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\042\060\040\006\003\125\004\012\023\031\107\157\157\147\154
+\145\040\124\162\165\163\164\040\123\145\162\166\151\143\145\163
+\040\114\114\103\061\024\060\022\006\003\125\004\003\023\013\107
+\124\123\040\122\157\157\164\040\122\064\060\166\060\020\006\007
+\052\206\110\316\075\002\001\006\005\053\201\004\000\042\003\142
+\000\004\363\164\163\247\150\213\140\256\103\270\065\305\201\060
+\173\113\111\235\373\301\141\316\346\336\106\275\153\325\141\030
+\065\256\100\335\163\367\211\221\060\132\353\074\356\205\174\242
+\100\166\073\251\306\270\107\330\052\347\222\221\152\163\351\261
+\162\071\237\051\237\242\230\323\137\136\130\206\145\017\241\204
+\145\006\321\334\213\311\307\163\310\214\152\057\345\304\253\321
+\035\212\243\102\060\100\060\016\006\003\125\035\017\001\001\377
+\004\004\003\002\001\206\060\017\006\003\125\035\023\001\001\377
+\004\005\060\003\001\001\377\060\035\006\003\125\035\016\004\026
+\004\024\200\114\326\353\164\377\111\066\243\325\330\374\265\076
+\305\152\360\224\035\214\060\012\006\010\052\206\110\316\075\004
+\003\003\003\151\000\060\146\002\061\000\350\100\377\203\336\003
+\364\237\256\035\172\247\056\271\257\117\366\203\035\016\055\205
+\001\035\321\331\152\354\017\302\257\307\136\126\136\134\325\034
+\130\042\050\013\367\060\266\057\261\174\002\061\000\360\141\074
+\247\364\240\202\343\041\325\204\035\163\206\234\055\257\312\064
+\233\361\237\271\043\066\342\274\140\003\235\200\263\232\126\310
+\341\342\273\024\171\312\315\041\324\224\265\111\103
 END
 CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
 
-# 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
-# Fingerprint (SHA1): 67:24:90:2E:48:01:B0:22:96:40:10:46:B4:B1:67:2C:A9:75:FD:2B
+# Trust for "GTS Root R4"
+# Issuer: CN=GTS Root R4,O=Google Trust Services LLC,C=US
+# Serial Number:02:03:e5:c0:68:ef:63:1a:9c:72:90:50:52
+# Subject: CN=GTS Root R4,O=Google Trust Services LLC,C=US
+# Not Valid Before: Wed Jun 22 00:00:00 2016
+# Not Valid After : Sun Jun 22 00:00:00 2036
+# Fingerprint (SHA-256): 34:9D:FA:40:58:C5:E2:63:12:3B:39:8A:E7:95:57:3C:4E:13:13:C8:3F:E6:8F:93:55:6C:D5:E8:03:1B:3C:7D
+# Fingerprint (SHA1): 77:D3:03:67:B5:E0:0C:15:F6:0C:38:61:DF:7C:E1:3B:92:46:4D:47
 CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "Symantec Class 2 Public Primary Certification Authority - G4"
+CKA_LABEL UTF8 "GTS Root R4"
 CKA_CERT_SHA1_HASH MULTILINE_OCTAL
-\147\044\220\056\110\001\260\042\226\100\020\106\264\261\147\054
-\251\165\375\053
+\167\323\003\147\265\340\014\025\366\014\070\141\337\174\341\073
+\222\106\115\107
 END
 CKA_CERT_MD5_HASH MULTILINE_OCTAL
-\160\325\060\361\332\224\227\324\327\164\337\276\355\150\336\226
+\103\226\203\167\031\115\166\263\235\145\122\344\035\042\245\350
 END
 CKA_ISSUER MULTILINE_OCTAL
-\060\201\224\061\013\060\011\006\003\125\004\006\023\002\125\123
-\061\035\060\033\006\003\125\004\012\023\024\123\171\155\141\156
-\164\145\143\040\103\157\162\160\157\162\141\164\151\157\156\061
-\037\060\035\006\003\125\004\013\023\026\123\171\155\141\156\164
-\145\143\040\124\162\165\163\164\040\116\145\164\167\157\162\153
-\061\105\060\103\006\003\125\004\003\023\074\123\171\155\141\156
-\164\145\143\040\103\154\141\163\163\040\062\040\120\165\142\154
-\151\143\040\120\162\151\155\141\162\171\040\103\145\162\164\151
-\146\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151
-\164\171\040\055\040\107\064
+\060\107\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\042\060\040\006\003\125\004\012\023\031\107\157\157\147\154\145
+\040\124\162\165\163\164\040\123\145\162\166\151\143\145\163\040
+\114\114\103\061\024\060\022\006\003\125\004\003\023\013\107\124
+\123\040\122\157\157\164\040\122\064
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\020\064\027\145\022\100\073\267\126\200\055\200\313\171\125
-\246\036
+\002\015\002\003\345\300\150\357\143\032\234\162\220\120\122
 END
-CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
 CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
 CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
 CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
 
 #
-# Certificate "D-TRUST Root CA 3 2013"
+# Certificate "Telia Root CA v2"
 #
-# Issuer: CN=D-TRUST Root CA 3 2013,O=D-Trust GmbH,C=DE
-# Serial Number: 1039788 (0xfddac)
-# Subject: CN=D-TRUST Root CA 3 2013,O=D-Trust GmbH,C=DE
-# Not Valid Before: Fri Sep 20 08:25:51 2013
-# Not Valid After : Wed Sep 20 08:25:51 2028
-# Fingerprint (SHA-256): A1:A8:6D:04:12:1E:B8:7F:02:7C:66:F5:33:03:C2:8E:57:39:F9:43:FC:84:B3:8A:D6:AF:00:90:35:DD:94:57
-# Fingerprint (SHA1): 6C:7C:CC:E7:D4:AE:51:5F:99:08:CD:3F:F6:E8:C3:78:DF:6F:EF:97
+# Issuer: CN=Telia Root CA v2,O=Telia Finland Oyj,C=FI
+# Serial Number:01:67:5f:27:d6:fe:7a:e3:e4:ac:be:09:5b:05:9e
+# Subject: CN=Telia Root CA v2,O=Telia Finland Oyj,C=FI
+# Not Valid Before: Thu Nov 29 11:55:54 2018
+# Not Valid After : Sun Nov 29 11:55:54 2043
+# Fingerprint (SHA-256): 24:2B:69:74:2F:CB:1E:5B:2A:BF:98:89:8B:94:57:21:87:54:4E:5B:4D:99:11:78:65:73:62:1F:6A:74:B8:2C
+# Fingerprint (SHA1): B9:99:CD:D1:73:50:8A:C4:47:05:08:9C:8C:88:FB:BE:A0:2B:40:CD
 CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "D-TRUST Root CA 3 2013"
+CKA_LABEL UTF8 "Telia Root CA v2"
 CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
 CKA_SUBJECT MULTILINE_OCTAL
-\060\105\061\013\060\011\006\003\125\004\006\023\002\104\105\061
-\025\060\023\006\003\125\004\012\014\014\104\055\124\162\165\163
-\164\040\107\155\142\110\061\037\060\035\006\003\125\004\003\014
-\026\104\055\124\122\125\123\124\040\122\157\157\164\040\103\101
-\040\063\040\062\060\061\063
+\060\104\061\013\060\011\006\003\125\004\006\023\002\106\111\061
+\032\060\030\006\003\125\004\012\014\021\124\145\154\151\141\040
+\106\151\156\154\141\156\144\040\117\171\152\061\031\060\027\006
+\003\125\004\003\014\020\124\145\154\151\141\040\122\157\157\164
+\040\103\101\040\166\062
 END
 CKA_ID UTF8 "0"
 CKA_ISSUER MULTILINE_OCTAL
-\060\105\061\013\060\011\006\003\125\004\006\023\002\104\105\061
-\025\060\023\006\003\125\004\012\014\014\104\055\124\162\165\163
-\164\040\107\155\142\110\061\037\060\035\006\003\125\004\003\014
-\026\104\055\124\122\125\123\124\040\122\157\157\164\040\103\101
-\040\063\040\062\060\061\063
+\060\104\061\013\060\011\006\003\125\004\006\023\002\106\111\061
+\032\060\030\006\003\125\004\012\014\021\124\145\154\151\141\040
+\106\151\156\154\141\156\144\040\117\171\152\061\031\060\027\006
+\003\125\004\003\014\020\124\145\154\151\141\040\122\157\157\164
+\040\103\101\040\166\062
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\003\017\335\254
+\002\017\001\147\137\047\326\376\172\343\344\254\276\011\133\005
+\236
 END
 CKA_VALUE MULTILINE_OCTAL
-\060\202\004\016\060\202\002\366\240\003\002\001\002\002\003\017
-\335\254\060\015\006\011\052\206\110\206\367\015\001\001\013\005
-\000\060\105\061\013\060\011\006\003\125\004\006\023\002\104\105
-\061\025\060\023\006\003\125\004\012\014\014\104\055\124\162\165
-\163\164\040\107\155\142\110\061\037\060\035\006\003\125\004\003
-\014\026\104\055\124\122\125\123\124\040\122\157\157\164\040\103
-\101\040\063\040\062\060\061\063\060\036\027\015\061\063\060\071
-\062\060\060\070\062\065\065\061\132\027\015\062\070\060\071\062
-\060\060\070\062\065\065\061\132\060\105\061\013\060\011\006\003
-\125\004\006\023\002\104\105\061\025\060\023\006\003\125\004\012
-\014\014\104\055\124\162\165\163\164\040\107\155\142\110\061\037
-\060\035\006\003\125\004\003\014\026\104\055\124\122\125\123\124
-\040\122\157\157\164\040\103\101\040\063\040\062\060\061\063\060
-\202\001\042\060\015\006\011\052\206\110\206\367\015\001\001\001
-\005\000\003\202\001\017\000\060\202\001\012\002\202\001\001\000
-\304\173\102\222\202\037\354\355\124\230\216\022\300\312\011\337
-\223\156\072\223\134\033\344\020\167\236\116\151\210\154\366\341
-\151\362\366\233\242\141\261\275\007\040\164\230\145\361\214\046
-\010\315\250\065\312\200\066\321\143\155\350\104\172\202\303\154
-\136\336\273\350\066\322\304\150\066\214\237\062\275\204\042\340
-\334\302\356\020\106\071\155\257\223\071\256\207\346\303\274\011
-\311\054\153\147\133\331\233\166\165\114\013\340\273\305\327\274
-\076\171\362\137\276\321\220\127\371\256\366\146\137\061\277\323
-\155\217\247\272\112\363\043\145\273\267\357\243\045\327\012\352
-\130\266\357\210\372\372\171\262\122\130\325\360\254\214\241\121
-\164\051\225\252\121\073\220\062\003\237\034\162\164\220\336\075
-\355\141\322\345\343\375\144\107\345\271\267\112\251\367\037\256
-\226\206\004\254\057\343\244\201\167\267\132\026\377\330\017\077
-\366\267\170\314\244\257\372\133\074\022\133\250\122\211\162\357
-\210\363\325\104\201\206\225\043\237\173\335\274\331\064\357\174
-\224\074\252\300\101\302\343\235\120\032\300\344\031\042\374\263
-\002\003\001\000\001\243\202\001\005\060\202\001\001\060\017\006
-\003\125\035\023\001\001\377\004\005\060\003\001\001\377\060\035
-\006\003\125\035\016\004\026\004\024\077\220\310\175\307\025\157
-\363\044\217\251\303\057\113\242\017\041\262\057\347\060\016\006
-\003\125\035\017\001\001\377\004\004\003\002\001\006\060\201\276
-\006\003\125\035\037\004\201\266\060\201\263\060\164\240\162\240
-\160\206\156\154\144\141\160\072\057\057\144\151\162\145\143\164
-\157\162\171\056\144\055\164\162\165\163\164\056\156\145\164\057
-\103\116\075\104\055\124\122\125\123\124\045\062\060\122\157\157
-\164\045\062\060\103\101\045\062\060\063\045\062\060\062\060\061
-\063\054\117\075\104\055\124\162\165\163\164\045\062\060\107\155
-\142\110\054\103\075\104\105\077\143\145\162\164\151\146\151\143
-\141\164\145\162\145\166\157\143\141\164\151\157\156\154\151\163
-\164\060\073\240\071\240\067\206\065\150\164\164\160\072\057\057
-\143\162\154\056\144\055\164\162\165\163\164\056\156\145\164\057
-\143\162\154\057\144\055\164\162\165\163\164\137\162\157\157\164
-\137\143\141\137\063\137\062\060\061\063\056\143\162\154\060\015
-\006\011\052\206\110\206\367\015\001\001\013\005\000\003\202\001
-\001\000\016\131\016\130\344\164\110\043\104\317\064\041\265\234
-\024\032\255\232\113\267\263\210\155\134\251\027\160\360\052\237
-\215\173\371\173\205\372\307\071\350\020\010\260\065\053\137\317
-\002\322\323\234\310\013\036\356\005\124\256\067\223\004\011\175
-\154\217\302\164\274\370\034\224\276\061\001\100\055\363\044\040
-\267\204\125\054\134\310\365\164\112\020\031\213\243\307\355\065
-\326\011\110\323\016\300\272\071\250\260\106\002\260\333\306\210
-\131\302\276\374\173\261\053\317\176\142\207\125\226\314\001\157
-\233\147\041\225\065\213\370\020\374\161\033\267\113\067\151\246
-\073\326\354\213\356\301\260\363\045\311\217\222\175\241\352\303
-\312\104\277\046\245\164\222\234\343\164\353\235\164\331\313\115
-\207\330\374\264\151\154\213\240\103\007\140\170\227\351\331\223
-\174\302\106\274\233\067\122\243\355\212\074\023\251\173\123\113
-\111\232\021\005\054\013\156\126\254\037\056\202\154\340\151\147
-\265\016\155\055\331\344\300\025\361\077\372\030\162\341\025\155
-\047\133\055\060\050\053\237\110\232\144\053\231\357\362\165\111
-\137\134
+\060\202\005\164\060\202\003\134\240\003\002\001\002\002\017\001
+\147\137\047\326\376\172\343\344\254\276\011\133\005\236\060\015
+\006\011\052\206\110\206\367\015\001\001\013\005\000\060\104\061
+\013\060\011\006\003\125\004\006\023\002\106\111\061\032\060\030
+\006\003\125\004\012\014\021\124\145\154\151\141\040\106\151\156
+\154\141\156\144\040\117\171\152\061\031\060\027\006\003\125\004
+\003\014\020\124\145\154\151\141\040\122\157\157\164\040\103\101
+\040\166\062\060\036\027\015\061\070\061\061\062\071\061\061\065
+\065\065\064\132\027\015\064\063\061\061\062\071\061\061\065\065
+\065\064\132\060\104\061\013\060\011\006\003\125\004\006\023\002
+\106\111\061\032\060\030\006\003\125\004\012\014\021\124\145\154
+\151\141\040\106\151\156\154\141\156\144\040\117\171\152\061\031
+\060\027\006\003\125\004\003\014\020\124\145\154\151\141\040\122
+\157\157\164\040\103\101\040\166\062\060\202\002\042\060\015\006
+\011\052\206\110\206\367\015\001\001\001\005\000\003\202\002\017
+\000\060\202\002\012\002\202\002\001\000\262\320\077\007\274\342
+\173\320\153\231\370\342\167\151\347\316\235\244\003\274\202\155
+\241\376\201\145\037\114\047\254\216\000\272\026\173\353\060\152
+\000\300\263\164\150\176\262\257\307\325\142\263\172\077\120\312
+\214\066\104\044\143\322\066\351\014\205\366\103\166\325\114\241
+\140\162\147\342\050\063\245\313\061\270\072\042\043\064\270\175
+\275\126\042\100\235\352\364\173\003\255\150\374\262\201\117\230
+\320\164\352\215\345\175\315\143\303\243\366\336\222\302\130\031
+\340\226\273\305\304\251\075\245\164\226\376\257\371\211\252\275
+\225\027\124\330\170\104\361\014\167\025\222\340\230\102\247\244
+\326\252\040\222\315\301\240\263\226\262\072\204\102\215\175\325
+\225\344\326\333\351\142\304\130\263\171\305\214\323\065\063\203
+\237\165\241\122\047\141\070\361\131\075\216\120\340\275\171\074
+\347\154\226\376\136\331\002\145\264\216\134\320\021\064\337\135
+\277\122\247\201\000\303\177\231\105\231\025\325\027\310\012\123
+\354\143\363\231\175\314\151\022\206\302\027\360\001\236\277\204
+\274\321\122\313\033\222\146\316\244\123\345\241\277\304\333\011
+\326\346\211\126\053\310\343\174\336\343\377\211\345\065\156\050
+\350\154\013\043\121\251\045\005\353\110\370\335\261\312\372\154
+\010\121\357\267\030\154\104\312\046\341\163\306\211\006\201\345
+\212\254\260\342\051\306\271\044\263\153\104\021\364\245\103\302
+\114\103\345\160\066\214\266\063\127\172\225\056\202\240\364\134
+\020\263\141\203\366\002\005\206\056\174\055\154\334\003\106\156
+\065\223\325\172\225\057\336\040\330\133\176\224\220\004\152\272
+\131\075\004\005\165\235\067\242\016\056\075\353\301\244\122\203
+\376\320\153\324\146\216\334\306\351\022\116\035\052\127\252\020
+\274\174\136\202\175\246\246\311\362\055\271\365\027\047\255\321
+\016\211\124\053\225\372\300\255\035\230\024\170\063\102\206\012
+\251\163\265\373\164\015\267\033\060\031\304\132\016\034\047\267
+\332\030\320\377\212\310\005\272\361\252\034\242\067\267\346\110
+\244\106\054\224\352\250\166\142\107\213\020\123\007\110\127\154
+\342\222\115\266\256\005\313\334\301\112\136\217\254\075\031\116
+\302\355\140\165\053\333\301\312\102\325\002\003\001\000\001\243
+\143\060\141\060\037\006\003\125\035\043\004\030\060\026\200\024
+\162\254\344\063\171\252\105\207\366\375\254\035\236\326\307\057
+\206\330\044\071\060\035\006\003\125\035\016\004\026\004\024\162
+\254\344\063\171\252\105\207\366\375\254\035\236\326\307\057\206
+\330\044\071\060\016\006\003\125\035\017\001\001\377\004\004\003
+\002\001\006\060\017\006\003\125\035\023\001\001\377\004\005\060
+\003\001\001\377\060\015\006\011\052\206\110\206\367\015\001\001
+\013\005\000\003\202\002\001\000\240\073\131\247\011\224\076\066
+\204\322\176\057\071\245\226\227\372\021\255\374\147\363\161\011
+\362\262\211\204\147\104\257\271\357\355\226\354\234\144\333\062
+\060\157\147\232\254\176\137\262\253\001\066\176\201\372\344\204
+\136\322\254\066\340\153\142\305\175\113\016\202\155\322\166\142
+\321\376\227\370\237\060\174\030\371\264\122\167\202\035\166\333
+\323\035\251\360\301\232\000\275\155\165\330\175\347\372\307\070
+\243\234\160\350\106\171\003\257\056\164\333\165\370\156\123\014
+\003\310\231\032\211\065\031\074\323\311\124\174\250\360\054\346
+\156\007\171\157\152\341\346\352\221\202\151\012\035\303\176\131
+\242\236\153\106\025\230\133\323\257\106\035\142\310\316\200\122
+\111\021\077\311\004\022\303\023\174\077\073\212\226\333\074\240
+\036\012\264\213\124\262\044\147\015\357\202\313\276\074\175\321
+\342\177\256\026\326\126\130\271\332\040\261\203\025\241\357\212
+\115\062\157\101\057\023\122\202\224\327\032\301\170\242\121\335
+\053\160\155\267\032\371\367\260\340\147\227\126\333\174\141\123
+\011\003\050\002\100\307\263\330\375\234\160\152\306\050\303\205
+\351\342\355\032\223\240\336\113\230\242\204\076\005\167\001\226
+\075\373\264\040\017\234\162\002\172\022\057\325\243\272\121\170
+\257\052\053\104\145\116\265\375\012\350\301\315\171\207\141\053
+\336\200\127\105\277\147\361\233\221\136\245\244\354\131\110\020
+\015\070\307\260\372\303\104\155\004\365\170\120\034\222\226\133
+\332\365\270\056\272\133\317\345\360\152\235\113\057\130\163\055
+\117\055\304\034\076\364\263\077\253\025\016\073\031\101\212\244
+\301\127\022\146\161\114\372\123\343\127\353\142\225\011\236\124
+\335\321\302\074\127\074\275\070\255\230\144\267\270\003\232\123
+\126\140\135\263\330\102\033\134\113\022\212\034\353\353\175\306
+\172\151\307\047\177\244\370\213\362\344\224\146\207\113\351\224
+\007\011\022\171\212\262\353\164\004\334\316\364\104\131\340\026
+\312\305\054\130\327\074\173\317\142\206\152\120\175\065\066\146
+\247\373\067\347\050\307\330\320\255\245\151\224\217\350\301\337
+\044\370\033\007\061\207\201\330\135\366\350\050\330\112\122\200
+\254\023\356\120\024\036\230\307
 END
 CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
-# Trust for "D-TRUST Root CA 3 2013"
-# Issuer: CN=D-TRUST Root CA 3 2013,O=D-Trust GmbH,C=DE
-# Serial Number: 1039788 (0xfddac)
-# Subject: CN=D-TRUST Root CA 3 2013,O=D-Trust GmbH,C=DE
-# Not Valid Before: Fri Sep 20 08:25:51 2013
-# Not Valid After : Wed Sep 20 08:25:51 2028
-# Fingerprint (SHA-256): A1:A8:6D:04:12:1E:B8:7F:02:7C:66:F5:33:03:C2:8E:57:39:F9:43:FC:84:B3:8A:D6:AF:00:90:35:DD:94:57
-# Fingerprint (SHA1): 6C:7C:CC:E7:D4:AE:51:5F:99:08:CD:3F:F6:E8:C3:78:DF:6F:EF:97
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
+
+# Trust for "Telia Root CA v2"
+# Issuer: CN=Telia Root CA v2,O=Telia Finland Oyj,C=FI
+# Serial Number:01:67:5f:27:d6:fe:7a:e3:e4:ac:be:09:5b:05:9e
+# Subject: CN=Telia Root CA v2,O=Telia Finland Oyj,C=FI
+# Not Valid Before: Thu Nov 29 11:55:54 2018
+# Not Valid After : Sun Nov 29 11:55:54 2043
+# Fingerprint (SHA-256): 24:2B:69:74:2F:CB:1E:5B:2A:BF:98:89:8B:94:57:21:87:54:4E:5B:4D:99:11:78:65:73:62:1F:6A:74:B8:2C
+# Fingerprint (SHA1): B9:99:CD:D1:73:50:8A:C4:47:05:08:9C:8C:88:FB:BE:A0:2B:40:CD
 CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "D-TRUST Root CA 3 2013"
+CKA_LABEL UTF8 "Telia Root CA v2"
 CKA_CERT_SHA1_HASH MULTILINE_OCTAL
-\154\174\314\347\324\256\121\137\231\010\315\077\366\350\303\170
-\337\157\357\227
+\271\231\315\321\163\120\212\304\107\005\010\234\214\210\373\276
+\240\053\100\315
 END
 CKA_CERT_MD5_HASH MULTILINE_OCTAL
-\267\042\146\230\176\326\003\340\301\161\346\165\315\126\105\277
+\016\217\254\252\202\337\205\261\364\334\020\034\374\231\331\110
 END
 CKA_ISSUER MULTILINE_OCTAL
-\060\105\061\013\060\011\006\003\125\004\006\023\002\104\105\061
-\025\060\023\006\003\125\004\012\014\014\104\055\124\162\165\163
-\164\040\107\155\142\110\061\037\060\035\006\003\125\004\003\014
-\026\104\055\124\122\125\123\124\040\122\157\157\164\040\103\101
-\040\063\040\062\060\061\063
+\060\104\061\013\060\011\006\003\125\004\006\023\002\106\111\061
+\032\060\030\006\003\125\004\012\014\021\124\145\154\151\141\040
+\106\151\156\154\141\156\144\040\117\171\152\061\031\060\027\006
+\003\125\004\003\014\020\124\145\154\151\141\040\122\157\157\164
+\040\103\101\040\166\062
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\003\017\335\254
+\002\017\001\147\137\047\326\376\172\343\344\254\276\011\133\005
+\236
 END
-CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
 CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
 CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
 CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
 
 #
-# Certificate "TUBITAK Kamu SM SSL Kok Sertifikasi - Surum 1"
+# Certificate "D-TRUST BR Root CA 1 2020"
 #
-# Issuer: CN=TUBITAK Kamu SM SSL Kok Sertifikasi - Surum 1,OU=Kamu Sertifikasyon Merkezi - Kamu SM,O=Turkiye Bilimsel ve Teknolojik Arastirma Kurumu - TUBITAK,L=Gebze - Kocaeli,C=TR
-# Serial Number: 1 (0x1)
-# Subject: CN=TUBITAK Kamu SM SSL Kok Sertifikasi - Surum 1,OU=Kamu Sertifikasyon Merkezi - Kamu SM,O=Turkiye Bilimsel ve Teknolojik Arastirma Kurumu - TUBITAK,L=Gebze - Kocaeli,C=TR
-# Not Valid Before: Mon Nov 25 08:25:55 2013
-# Not Valid After : Sun Oct 25 08:25:55 2043
-# Fingerprint (SHA-256): 46:ED:C3:68:90:46:D5:3A:45:3F:B3:10:4A:B8:0D:CA:EC:65:8B:26:60:EA:16:29:DD:7E:86:79:90:64:87:16
-# Fingerprint (SHA1): 31:43:64:9B:EC:CE:27:EC:ED:3A:3F:0B:8F:0D:E4:E8:91:DD:EE:CA
+# Issuer: CN=D-TRUST BR Root CA 1 2020,O=D-Trust GmbH,C=DE
+# Serial Number:7c:c9:8f:2b:84:d7:df:ea:0f:c9:65:9a:d3:4b:4d:96
+# Subject: CN=D-TRUST BR Root CA 1 2020,O=D-Trust GmbH,C=DE
+# Not Valid Before: Tue Feb 11 09:45:00 2020
+# Not Valid After : Sun Feb 11 09:44:59 2035
+# Fingerprint (SHA-256): E5:9A:AA:81:60:09:C2:2B:FF:5B:25:BA:D3:7D:F3:06:F0:49:79:7C:1F:81:D8:5A:B0:89:E6:57:BD:8F:00:44
+# Fingerprint (SHA1): 1F:5B:98:F0:E3:B5:F7:74:3C:ED:E6:B0:36:7D:32:CD:F4:09:41:67
 CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "TUBITAK Kamu SM SSL Kok Sertifikasi - Surum 1"
+CKA_LABEL UTF8 "D-TRUST BR Root CA 1 2020"
 CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
 CKA_SUBJECT MULTILINE_OCTAL
-\060\201\322\061\013\060\011\006\003\125\004\006\023\002\124\122
-\061\030\060\026\006\003\125\004\007\023\017\107\145\142\172\145
-\040\055\040\113\157\143\141\145\154\151\061\102\060\100\006\003
-\125\004\012\023\071\124\165\162\153\151\171\145\040\102\151\154
-\151\155\163\145\154\040\166\145\040\124\145\153\156\157\154\157
-\152\151\153\040\101\162\141\163\164\151\162\155\141\040\113\165
-\162\165\155\165\040\055\040\124\125\102\111\124\101\113\061\055
-\060\053\006\003\125\004\013\023\044\113\141\155\165\040\123\145
-\162\164\151\146\151\153\141\163\171\157\156\040\115\145\162\153
-\145\172\151\040\055\040\113\141\155\165\040\123\115\061\066\060
-\064\006\003\125\004\003\023\055\124\125\102\111\124\101\113\040
-\113\141\155\165\040\123\115\040\123\123\114\040\113\157\153\040
-\123\145\162\164\151\146\151\153\141\163\151\040\055\040\123\165
-\162\165\155\040\061
+\060\110\061\013\060\011\006\003\125\004\006\023\002\104\105\061
+\025\060\023\006\003\125\004\012\023\014\104\055\124\162\165\163
+\164\040\107\155\142\110\061\042\060\040\006\003\125\004\003\023
+\031\104\055\124\122\125\123\124\040\102\122\040\122\157\157\164
+\040\103\101\040\061\040\062\060\062\060
 END
 CKA_ID UTF8 "0"
 CKA_ISSUER MULTILINE_OCTAL
-\060\201\322\061\013\060\011\006\003\125\004\006\023\002\124\122
-\061\030\060\026\006\003\125\004\007\023\017\107\145\142\172\145
-\040\055\040\113\157\143\141\145\154\151\061\102\060\100\006\003
-\125\004\012\023\071\124\165\162\153\151\171\145\040\102\151\154
-\151\155\163\145\154\040\166\145\040\124\145\153\156\157\154\157
-\152\151\153\040\101\162\141\163\164\151\162\155\141\040\113\165
-\162\165\155\165\040\055\040\124\125\102\111\124\101\113\061\055
-\060\053\006\003\125\004\013\023\044\113\141\155\165\040\123\145
-\162\164\151\146\151\153\141\163\171\157\156\040\115\145\162\153
-\145\172\151\040\055\040\113\141\155\165\040\123\115\061\066\060
-\064\006\003\125\004\003\023\055\124\125\102\111\124\101\113\040
-\113\141\155\165\040\123\115\040\123\123\114\040\113\157\153\040
-\123\145\162\164\151\146\151\153\141\163\151\040\055\040\123\165
-\162\165\155\040\061
+\060\110\061\013\060\011\006\003\125\004\006\023\002\104\105\061
+\025\060\023\006\003\125\004\012\023\014\104\055\124\162\165\163
+\164\040\107\155\142\110\061\042\060\040\006\003\125\004\003\023
+\031\104\055\124\122\125\123\124\040\102\122\040\122\157\157\164
+\040\103\101\040\061\040\062\060\062\060
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\001\001
+\002\020\174\311\217\053\204\327\337\352\017\311\145\232\323\113
+\115\226
 END
 CKA_VALUE MULTILINE_OCTAL
-\060\202\004\143\060\202\003\113\240\003\002\001\002\002\001\001
-\060\015\006\011\052\206\110\206\367\015\001\001\013\005\000\060
-\201\322\061\013\060\011\006\003\125\004\006\023\002\124\122\061
-\030\060\026\006\003\125\004\007\023\017\107\145\142\172\145\040
-\055\040\113\157\143\141\145\154\151\061\102\060\100\006\003\125
-\004\012\023\071\124\165\162\153\151\171\145\040\102\151\154\151
-\155\163\145\154\040\166\145\040\124\145\153\156\157\154\157\152
-\151\153\040\101\162\141\163\164\151\162\155\141\040\113\165\162
-\165\155\165\040\055\040\124\125\102\111\124\101\113\061\055\060
-\053\006\003\125\004\013\023\044\113\141\155\165\040\123\145\162
-\164\151\146\151\153\141\163\171\157\156\040\115\145\162\153\145
-\172\151\040\055\040\113\141\155\165\040\123\115\061\066\060\064
-\006\003\125\004\003\023\055\124\125\102\111\124\101\113\040\113
-\141\155\165\040\123\115\040\123\123\114\040\113\157\153\040\123
-\145\162\164\151\146\151\153\141\163\151\040\055\040\123\165\162
-\165\155\040\061\060\036\027\015\061\063\061\061\062\065\060\070
-\062\065\065\065\132\027\015\064\063\061\060\062\065\060\070\062
-\065\065\065\132\060\201\322\061\013\060\011\006\003\125\004\006
-\023\002\124\122\061\030\060\026\006\003\125\004\007\023\017\107
-\145\142\172\145\040\055\040\113\157\143\141\145\154\151\061\102
-\060\100\006\003\125\004\012\023\071\124\165\162\153\151\171\145
-\040\102\151\154\151\155\163\145\154\040\166\145\040\124\145\153
-\156\157\154\157\152\151\153\040\101\162\141\163\164\151\162\155
-\141\040\113\165\162\165\155\165\040\055\040\124\125\102\111\124
-\101\113\061\055\060\053\006\003\125\004\013\023\044\113\141\155
-\165\040\123\145\162\164\151\146\151\153\141\163\171\157\156\040
-\115\145\162\153\145\172\151\040\055\040\113\141\155\165\040\123
-\115\061\066\060\064\006\003\125\004\003\023\055\124\125\102\111
-\124\101\113\040\113\141\155\165\040\123\115\040\123\123\114\040
-\113\157\153\040\123\145\162\164\151\146\151\153\141\163\151\040
-\055\040\123\165\162\165\155\040\061\060\202\001\042\060\015\006
-\011\052\206\110\206\367\015\001\001\001\005\000\003\202\001\017
-\000\060\202\001\012\002\202\001\001\000\257\165\060\063\252\273
-\153\323\231\054\022\067\204\331\215\173\227\200\323\156\347\377
-\233\120\225\076\220\225\126\102\327\031\174\046\204\215\222\372
-\001\035\072\017\342\144\070\267\214\274\350\210\371\213\044\253
-\056\243\365\067\344\100\216\030\045\171\203\165\037\073\377\154
-\250\305\306\126\370\264\355\212\104\243\253\154\114\374\035\320
-\334\357\150\275\317\344\252\316\360\125\367\242\064\324\203\153
-\067\174\034\302\376\265\003\354\127\316\274\264\265\305\355\000
-\017\123\067\052\115\364\117\014\203\373\206\317\313\376\214\116
-\275\207\371\247\213\041\127\234\172\337\003\147\211\054\235\227
-\141\247\020\270\125\220\177\016\055\047\070\164\337\347\375\332
-\116\022\343\115\025\042\002\310\340\340\374\017\255\212\327\311
-\124\120\314\073\017\312\026\200\204\320\121\126\303\216\126\177
-\211\042\063\057\346\205\012\275\245\250\033\066\336\323\334\054
-\155\073\307\023\275\131\043\054\346\345\244\367\330\013\355\352
-\220\100\104\250\225\273\223\325\320\200\064\266\106\170\016\037
-\000\223\106\341\356\351\371\354\117\027\002\003\001\000\001\243
-\102\060\100\060\035\006\003\125\035\016\004\026\004\024\145\077
-\307\212\206\306\074\335\074\124\134\065\370\072\355\122\014\107
-\127\310\060\016\006\003\125\035\017\001\001\377\004\004\003\002
-\001\006\060\017\006\003\125\035\023\001\001\377\004\005\060\003
-\001\001\377\060\015\006\011\052\206\110\206\367\015\001\001\013
-\005\000\003\202\001\001\000\052\077\341\361\062\216\256\341\230
-\134\113\136\317\153\036\152\011\322\042\251\022\307\136\127\175
-\163\126\144\200\204\172\223\344\011\271\020\315\237\052\047\341
-\000\167\276\110\310\065\250\201\237\344\270\054\311\177\016\260
-\322\113\067\135\352\271\325\013\136\064\275\364\163\051\303\355
-\046\025\234\176\010\123\212\130\215\320\113\050\337\301\263\337
-\040\363\371\343\343\072\337\314\234\224\330\116\117\303\153\027
-\267\367\162\350\255\146\063\265\045\123\253\340\370\114\251\235
-\375\362\015\272\256\271\331\252\306\153\371\223\273\256\253\270
-\227\074\003\032\272\103\306\226\271\105\162\070\263\247\241\226
-\075\221\173\176\300\041\123\114\207\355\362\013\124\225\121\223
-\325\042\245\015\212\361\223\016\076\124\016\260\330\311\116\334
-\362\061\062\126\352\144\371\352\265\235\026\146\102\162\363\177
-\323\261\061\103\374\244\216\027\361\155\043\253\224\146\370\255
-\373\017\010\156\046\055\177\027\007\011\262\214\373\120\300\237
-\226\215\317\266\375\000\235\132\024\232\277\002\104\365\301\302
-\237\042\136\242\017\241\343
+\060\202\002\333\060\202\002\140\240\003\002\001\002\002\020\174
+\311\217\053\204\327\337\352\017\311\145\232\323\113\115\226\060
+\012\006\010\052\206\110\316\075\004\003\003\060\110\061\013\060
+\011\006\003\125\004\006\023\002\104\105\061\025\060\023\006\003
+\125\004\012\023\014\104\055\124\162\165\163\164\040\107\155\142
+\110\061\042\060\040\006\003\125\004\003\023\031\104\055\124\122
+\125\123\124\040\102\122\040\122\157\157\164\040\103\101\040\061
+\040\062\060\062\060\060\036\027\015\062\060\060\062\061\061\060
+\071\064\065\060\060\132\027\015\063\065\060\062\061\061\060\071
+\064\064\065\071\132\060\110\061\013\060\011\006\003\125\004\006
+\023\002\104\105\061\025\060\023\006\003\125\004\012\023\014\104
+\055\124\162\165\163\164\040\107\155\142\110\061\042\060\040\006
+\003\125\004\003\023\031\104\055\124\122\125\123\124\040\102\122
+\040\122\157\157\164\040\103\101\040\061\040\062\060\062\060\060
+\166\060\020\006\007\052\206\110\316\075\002\001\006\005\053\201
+\004\000\042\003\142\000\004\306\313\307\050\321\373\204\365\232
+\357\102\024\040\341\103\153\156\165\255\374\053\003\204\324\166
+\223\045\327\131\073\101\145\153\036\346\064\052\273\164\366\022
+\316\350\155\347\253\344\074\116\077\104\010\213\315\026\161\313
+\277\222\231\364\244\327\074\120\124\122\220\205\203\170\224\147
+\147\243\034\011\031\075\165\064\205\336\355\140\175\307\014\264
+\101\122\271\156\345\356\102\243\202\001\015\060\202\001\011\060
+\017\006\003\125\035\023\001\001\377\004\005\060\003\001\001\377
+\060\035\006\003\125\035\016\004\026\004\024\163\221\020\253\377
+\125\263\132\174\011\045\325\262\272\010\240\153\253\037\155\060
+\016\006\003\125\035\017\001\001\377\004\004\003\002\001\006\060
+\201\306\006\003\125\035\037\004\201\276\060\201\273\060\076\240
+\074\240\072\206\070\150\164\164\160\072\057\057\143\162\154\056
+\144\055\164\162\165\163\164\056\156\145\164\057\143\162\154\057
+\144\055\164\162\165\163\164\137\142\162\137\162\157\157\164\137
+\143\141\137\061\137\062\060\062\060\056\143\162\154\060\171\240
+\167\240\165\206\163\154\144\141\160\072\057\057\144\151\162\145
+\143\164\157\162\171\056\144\055\164\162\165\163\164\056\156\145
+\164\057\103\116\075\104\055\124\122\125\123\124\045\062\060\102
+\122\045\062\060\122\157\157\164\045\062\060\103\101\045\062\060
+\061\045\062\060\062\060\062\060\054\117\075\104\055\124\162\165
+\163\164\045\062\060\107\155\142\110\054\103\075\104\105\077\143
+\145\162\164\151\146\151\143\141\164\145\162\145\166\157\143\141
+\164\151\157\156\154\151\163\164\060\012\006\010\052\206\110\316
+\075\004\003\003\003\151\000\060\146\002\061\000\224\220\055\023
+\372\341\143\370\141\143\350\255\205\170\124\221\234\270\223\070
+\076\032\101\332\100\026\123\102\010\312\057\216\361\076\201\126
+\300\252\330\355\030\304\260\256\364\076\372\046\002\061\000\363
+\050\342\306\333\053\231\373\267\121\270\044\243\244\224\172\032
+\077\346\066\342\003\127\063\212\060\313\202\307\326\024\021\325
+\165\143\133\024\225\234\037\001\317\330\325\162\247\017\073
 END
 CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
-# Trust for "TUBITAK Kamu SM SSL Kok Sertifikasi - Surum 1"
-# Issuer: CN=TUBITAK Kamu SM SSL Kok Sertifikasi - Surum 1,OU=Kamu Sertifikasyon Merkezi - Kamu SM,O=Turkiye Bilimsel ve Teknolojik Arastirma Kurumu - TUBITAK,L=Gebze - Kocaeli,C=TR
-# Serial Number: 1 (0x1)
-# Subject: CN=TUBITAK Kamu SM SSL Kok Sertifikasi - Surum 1,OU=Kamu Sertifikasyon Merkezi - Kamu SM,O=Turkiye Bilimsel ve Teknolojik Arastirma Kurumu - TUBITAK,L=Gebze - Kocaeli,C=TR
-# Not Valid Before: Mon Nov 25 08:25:55 2013
-# Not Valid After : Sun Oct 25 08:25:55 2043
-# Fingerprint (SHA-256): 46:ED:C3:68:90:46:D5:3A:45:3F:B3:10:4A:B8:0D:CA:EC:65:8B:26:60:EA:16:29:DD:7E:86:79:90:64:87:16
-# Fingerprint (SHA1): 31:43:64:9B:EC:CE:27:EC:ED:3A:3F:0B:8F:0D:E4:E8:91:DD:EE:CA
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
+
+# Trust for "D-TRUST BR Root CA 1 2020"
+# Issuer: CN=D-TRUST BR Root CA 1 2020,O=D-Trust GmbH,C=DE
+# Serial Number:7c:c9:8f:2b:84:d7:df:ea:0f:c9:65:9a:d3:4b:4d:96
+# Subject: CN=D-TRUST BR Root CA 1 2020,O=D-Trust GmbH,C=DE
+# Not Valid Before: Tue Feb 11 09:45:00 2020
+# Not Valid After : Sun Feb 11 09:44:59 2035
+# Fingerprint (SHA-256): E5:9A:AA:81:60:09:C2:2B:FF:5B:25:BA:D3:7D:F3:06:F0:49:79:7C:1F:81:D8:5A:B0:89:E6:57:BD:8F:00:44
+# Fingerprint (SHA1): 1F:5B:98:F0:E3:B5:F7:74:3C:ED:E6:B0:36:7D:32:CD:F4:09:41:67
 CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
-CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "TUBITAK Kamu SM SSL Kok Sertifikasi - Surum 1"
-CKA_CERT_SHA1_HASH MULTILINE_OCTAL
-\061\103\144\233\354\316\047\354\355\072\077\013\217\015\344\350
-\221\335\356\312
-END
-CKA_CERT_MD5_HASH MULTILINE_OCTAL
-\334\000\201\334\151\057\076\057\260\073\366\075\132\221\216\111
-END
-CKA_ISSUER MULTILINE_OCTAL
-\060\201\322\061\013\060\011\006\003\125\004\006\023\002\124\122
-\061\030\060\026\006\003\125\004\007\023\017\107\145\142\172\145
-\040\055\040\113\157\143\141\145\154\151\061\102\060\100\006\003
-\125\004\012\023\071\124\165\162\153\151\171\145\040\102\151\154
-\151\155\163\145\154\040\166\145\040\124\145\153\156\157\154\157
-\152\151\153\040\101\162\141\163\164\151\162\155\141\040\113\165
-\162\165\155\165\040\055\040\124\125\102\111\124\101\113\061\055
-\060\053\006\003\125\004\013\023\044\113\141\155\165\040\123\145
-\162\164\151\146\151\153\141\163\171\157\156\040\115\145\162\153
-\145\172\151\040\055\040\113\141\155\165\040\123\115\061\066\060
-\064\006\003\125\004\003\023\055\124\125\102\111\124\101\113\040
-\113\141\155\165\040\123\115\040\123\123\114\040\113\157\153\040
-\123\145\162\164\151\146\151\153\141\163\151\040\055\040\123\165
-\162\165\155\040\061
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "D-TRUST BR Root CA 1 2020"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\037\133\230\360\343\265\367\164\074\355\346\260\066\175\062\315
+\364\011\101\147
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\265\252\113\325\355\367\343\125\056\217\162\012\363\165\270\355
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\110\061\013\060\011\006\003\125\004\006\023\002\104\105\061
+\025\060\023\006\003\125\004\012\023\014\104\055\124\162\165\163
+\164\040\107\155\142\110\061\042\060\040\006\003\125\004\003\023
+\031\104\055\124\122\125\123\124\040\102\122\040\122\157\157\164
+\040\103\101\040\061\040\062\060\062\060
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\001\001
+\002\020\174\311\217\053\204\327\337\352\017\311\145\232\323\113
+\115\226
 END
 CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
 CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
@@ -20556,167 +21902,122 @@ CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
 CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
 
 #
-# Certificate "GDCA TrustAUTH R5 ROOT"
+# Certificate "D-TRUST EV Root CA 1 2020"
 #
-# Issuer: CN=GDCA TrustAUTH R5 ROOT,O="GUANG DONG CERTIFICATE AUTHORITY CO.,LTD.",C=CN
-# Serial Number:7d:09:97:fe:f0:47:ea:7a
-# Subject: CN=GDCA TrustAUTH R5 ROOT,O="GUANG DONG CERTIFICATE AUTHORITY CO.,LTD.",C=CN
-# Not Valid Before: Wed Nov 26 05:13:15 2014
-# Not Valid After : Mon Dec 31 15:59:59 2040
-# Fingerprint (SHA-256): BF:FF:8F:D0:44:33:48:7D:6A:8A:A6:0C:1A:29:76:7A:9F:C2:BB:B0:5E:42:0F:71:3A:13:B9:92:89:1D:38:93
-# Fingerprint (SHA1): 0F:36:38:5B:81:1A:25:C3:9B:31:4E:83:CA:E9:34:66:70:CC:74:B4
+# Issuer: CN=D-TRUST EV Root CA 1 2020,O=D-Trust GmbH,C=DE
+# Serial Number:5f:02:41:d7:7a:87:7c:4c:03:a3:ac:96:8d:fb:ff:d0
+# Subject: CN=D-TRUST EV Root CA 1 2020,O=D-Trust GmbH,C=DE
+# Not Valid Before: Tue Feb 11 10:00:00 2020
+# Not Valid After : Sun Feb 11 09:59:59 2035
+# Fingerprint (SHA-256): 08:17:0D:1A:A3:64:53:90:1A:2F:95:92:45:E3:47:DB:0C:8D:37:AB:AA:BC:56:B8:1A:A1:00:DC:95:89:70:DB
+# Fingerprint (SHA1): 61:DB:8C:21:59:69:03:90:D8:7C:9C:12:86:54:CF:9D:3D:F4:DD:07
 CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "GDCA TrustAUTH R5 ROOT"
+CKA_LABEL UTF8 "D-TRUST EV Root CA 1 2020"
 CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
 CKA_SUBJECT MULTILINE_OCTAL
-\060\142\061\013\060\011\006\003\125\004\006\023\002\103\116\061
-\062\060\060\006\003\125\004\012\014\051\107\125\101\116\107\040
-\104\117\116\107\040\103\105\122\124\111\106\111\103\101\124\105
-\040\101\125\124\110\117\122\111\124\131\040\103\117\056\054\114
-\124\104\056\061\037\060\035\006\003\125\004\003\014\026\107\104
-\103\101\040\124\162\165\163\164\101\125\124\110\040\122\065\040
-\122\117\117\124
+\060\110\061\013\060\011\006\003\125\004\006\023\002\104\105\061
+\025\060\023\006\003\125\004\012\023\014\104\055\124\162\165\163
+\164\040\107\155\142\110\061\042\060\040\006\003\125\004\003\023
+\031\104\055\124\122\125\123\124\040\105\126\040\122\157\157\164
+\040\103\101\040\061\040\062\060\062\060
 END
 CKA_ID UTF8 "0"
 CKA_ISSUER MULTILINE_OCTAL
-\060\142\061\013\060\011\006\003\125\004\006\023\002\103\116\061
-\062\060\060\006\003\125\004\012\014\051\107\125\101\116\107\040
-\104\117\116\107\040\103\105\122\124\111\106\111\103\101\124\105
-\040\101\125\124\110\117\122\111\124\131\040\103\117\056\054\114
-\124\104\056\061\037\060\035\006\003\125\004\003\014\026\107\104
-\103\101\040\124\162\165\163\164\101\125\124\110\040\122\065\040
-\122\117\117\124
+\060\110\061\013\060\011\006\003\125\004\006\023\002\104\105\061
+\025\060\023\006\003\125\004\012\023\014\104\055\124\162\165\163
+\164\040\107\155\142\110\061\042\060\040\006\003\125\004\003\023
+\031\104\055\124\122\125\123\124\040\105\126\040\122\157\157\164
+\040\103\101\040\061\040\062\060\062\060
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\010\175\011\227\376\360\107\352\172
+\002\020\137\002\101\327\172\207\174\114\003\243\254\226\215\373
+\377\320
 END
 CKA_VALUE MULTILINE_OCTAL
-\060\202\005\210\060\202\003\160\240\003\002\001\002\002\010\175
-\011\227\376\360\107\352\172\060\015\006\011\052\206\110\206\367
-\015\001\001\013\005\000\060\142\061\013\060\011\006\003\125\004
-\006\023\002\103\116\061\062\060\060\006\003\125\004\012\014\051
-\107\125\101\116\107\040\104\117\116\107\040\103\105\122\124\111
-\106\111\103\101\124\105\040\101\125\124\110\117\122\111\124\131
-\040\103\117\056\054\114\124\104\056\061\037\060\035\006\003\125
-\004\003\014\026\107\104\103\101\040\124\162\165\163\164\101\125
-\124\110\040\122\065\040\122\117\117\124\060\036\027\015\061\064
-\061\061\062\066\060\065\061\063\061\065\132\027\015\064\060\061
-\062\063\061\061\065\065\071\065\071\132\060\142\061\013\060\011
-\006\003\125\004\006\023\002\103\116\061\062\060\060\006\003\125
-\004\012\014\051\107\125\101\116\107\040\104\117\116\107\040\103
-\105\122\124\111\106\111\103\101\124\105\040\101\125\124\110\117
-\122\111\124\131\040\103\117\056\054\114\124\104\056\061\037\060
-\035\006\003\125\004\003\014\026\107\104\103\101\040\124\162\165
-\163\164\101\125\124\110\040\122\065\040\122\117\117\124\060\202
-\002\042\060\015\006\011\052\206\110\206\367\015\001\001\001\005
-\000\003\202\002\017\000\060\202\002\012\002\202\002\001\000\331
-\243\026\360\310\164\164\167\233\357\063\015\073\006\176\125\374
-\265\140\217\166\206\022\102\175\126\146\076\210\202\355\162\143
-\016\236\213\335\064\054\002\121\121\303\031\375\131\124\204\311
-\361\153\263\114\260\351\350\106\135\070\306\242\247\056\021\127
-\272\202\025\242\234\217\155\260\231\112\012\362\353\211\160\143
-\116\171\304\267\133\275\242\135\261\362\101\002\053\255\251\072
-\243\354\171\012\354\137\072\343\375\357\200\074\255\064\233\032
-\253\210\046\173\126\242\202\206\037\353\065\211\203\177\137\256
-\051\116\075\266\156\354\256\301\360\047\233\256\343\364\354\357
-\256\177\367\206\075\162\172\353\245\373\131\116\247\353\225\214
-\042\071\171\341\055\010\217\314\274\221\270\101\367\024\301\043
-\251\303\255\232\105\104\263\262\327\054\315\306\051\342\120\020
-\256\134\313\202\216\027\030\066\175\227\346\210\232\260\115\064
-\011\364\054\271\132\146\052\260\027\233\236\036\166\235\112\146
-\061\101\337\077\373\305\006\357\033\266\176\032\106\066\367\144
-\143\073\343\071\030\043\347\147\165\024\325\165\127\222\067\275
-\276\152\033\046\120\362\066\046\006\220\305\160\001\144\155\166
-\146\341\221\333\156\007\300\141\200\056\262\056\057\214\160\247
-\321\073\074\263\221\344\156\266\304\073\160\362\154\222\227\011
-\315\107\175\030\300\363\273\236\017\326\213\256\007\266\132\017
-\316\013\014\107\247\345\076\270\275\175\307\233\065\240\141\227
-\072\101\165\027\314\053\226\167\052\222\041\036\331\225\166\040
-\147\150\317\015\275\337\326\037\011\152\232\342\314\163\161\244
-\057\175\022\200\267\123\060\106\136\113\124\231\017\147\311\245
-\310\362\040\301\202\354\235\021\337\302\002\373\032\073\321\355
-\040\232\357\145\144\222\020\015\052\342\336\160\361\030\147\202
-\214\141\336\270\274\321\057\234\373\017\320\053\355\033\166\271
-\344\071\125\370\370\241\035\270\252\200\000\114\202\347\262\177
-\011\270\274\060\240\057\015\365\122\236\216\367\222\263\012\000
-\035\000\124\227\006\340\261\007\331\307\017\134\145\175\074\155
-\131\127\344\355\245\215\351\100\123\237\025\113\240\161\366\032
-\041\343\332\160\006\041\130\024\207\205\167\171\252\202\171\002
-\003\001\000\001\243\102\060\100\060\035\006\003\125\035\016\004
-\026\004\024\342\311\100\237\115\316\350\232\241\174\317\016\077
-\145\305\051\210\152\031\121\060\017\006\003\125\035\023\001\001
-\377\004\005\060\003\001\001\377\060\016\006\003\125\035\017\001
-\001\377\004\004\003\002\001\206\060\015\006\011\052\206\110\206
-\367\015\001\001\013\005\000\003\202\002\001\000\321\111\127\340
-\247\314\150\130\272\001\017\053\031\315\215\260\141\105\254\021
-\355\143\120\151\370\037\177\276\026\217\375\235\353\013\252\062
-\107\166\322\147\044\355\275\174\063\062\227\052\307\005\206\146
-\015\027\175\024\025\033\324\353\375\037\232\366\136\227\151\267
-\032\045\244\012\263\221\077\137\066\254\213\354\127\250\076\347
-\201\212\030\127\071\205\164\032\102\307\351\133\023\137\217\371
-\010\351\222\164\215\365\107\322\253\073\326\373\170\146\116\066
-\175\371\351\222\351\004\336\375\111\143\374\155\373\024\161\223
-\147\057\107\112\267\271\377\036\052\163\160\106\060\277\132\362
-\057\171\245\341\215\014\331\371\262\143\067\214\067\145\205\160
-\152\134\133\011\162\271\255\143\074\261\335\370\374\062\277\067
-\206\344\273\216\230\047\176\272\037\026\341\160\021\362\003\337
-\045\142\062\047\046\030\062\204\237\377\000\072\023\272\232\115
-\364\117\270\024\160\042\261\312\053\220\316\051\301\160\364\057
-\235\177\362\220\036\326\132\337\267\106\374\346\206\372\313\340
-\040\166\172\272\246\313\365\174\336\142\245\261\213\356\336\202
-\146\212\116\072\060\037\077\200\313\255\047\272\014\136\327\320
-\261\126\312\167\161\262\265\165\241\120\251\100\103\027\302\050
-\331\317\122\213\133\310\143\324\102\076\240\063\172\106\056\367
-\012\040\106\124\176\152\117\061\361\201\176\102\164\070\145\163
-\047\356\306\174\270\216\327\245\072\327\230\241\234\214\020\125
-\323\333\113\354\100\220\362\315\156\127\322\142\016\174\127\223
-\261\247\155\315\235\203\273\052\347\345\266\073\161\130\255\375
-\321\105\274\132\221\356\123\025\157\323\105\011\165\156\272\220
-\135\036\004\317\067\337\036\250\146\261\214\346\040\152\357\374
-\110\116\164\230\102\257\051\157\056\152\307\373\175\321\146\061
-\042\314\206\000\176\146\203\014\102\364\275\064\222\303\032\352
-\117\312\176\162\115\013\160\214\246\110\273\246\241\024\366\373
-\130\104\231\024\256\252\013\223\151\240\051\045\112\245\313\053
-\335\212\146\007\026\170\025\127\161\033\354\365\107\204\363\236
-\061\067\172\325\177\044\255\344\274\375\375\314\156\203\350\014
-\250\267\101\154\007\335\275\074\206\227\057\322
+\060\202\002\333\060\202\002\140\240\003\002\001\002\002\020\137
+\002\101\327\172\207\174\114\003\243\254\226\215\373\377\320\060
+\012\006\010\052\206\110\316\075\004\003\003\060\110\061\013\060
+\011\006\003\125\004\006\023\002\104\105\061\025\060\023\006\003
+\125\004\012\023\014\104\055\124\162\165\163\164\040\107\155\142
+\110\061\042\060\040\006\003\125\004\003\023\031\104\055\124\122
+\125\123\124\040\105\126\040\122\157\157\164\040\103\101\040\061
+\040\062\060\062\060\060\036\027\015\062\060\060\062\061\061\061
+\060\060\060\060\060\132\027\015\063\065\060\062\061\061\060\071
+\065\071\065\071\132\060\110\061\013\060\011\006\003\125\004\006
+\023\002\104\105\061\025\060\023\006\003\125\004\012\023\014\104
+\055\124\162\165\163\164\040\107\155\142\110\061\042\060\040\006
+\003\125\004\003\023\031\104\055\124\122\125\123\124\040\105\126
+\040\122\157\157\164\040\103\101\040\061\040\062\060\062\060\060
+\166\060\020\006\007\052\206\110\316\075\002\001\006\005\053\201
+\004\000\042\003\142\000\004\361\013\335\206\103\040\031\337\227
+\205\350\042\112\233\317\235\230\277\264\005\046\311\313\343\246
+\322\217\305\236\170\173\061\211\251\211\255\047\074\145\020\202
+\374\337\303\235\116\360\063\043\304\322\062\365\034\260\337\063
+\027\135\305\360\261\212\371\357\271\267\024\312\051\112\302\017
+\251\177\165\145\111\052\060\147\364\144\367\326\032\167\332\303
+\302\227\141\102\173\111\255\243\202\001\015\060\202\001\011\060
+\017\006\003\125\035\023\001\001\377\004\005\060\003\001\001\377
+\060\035\006\003\125\035\016\004\026\004\024\177\020\001\026\067
+\072\244\050\344\120\370\244\367\354\153\062\266\376\351\213\060
+\016\006\003\125\035\017\001\001\377\004\004\003\002\001\006\060
+\201\306\006\003\125\035\037\004\201\276\060\201\273\060\076\240
+\074\240\072\206\070\150\164\164\160\072\057\057\143\162\154\056
+\144\055\164\162\165\163\164\056\156\145\164\057\143\162\154\057
+\144\055\164\162\165\163\164\137\145\166\137\162\157\157\164\137
+\143\141\137\061\137\062\060\062\060\056\143\162\154\060\171\240
+\167\240\165\206\163\154\144\141\160\072\057\057\144\151\162\145
+\143\164\157\162\171\056\144\055\164\162\165\163\164\056\156\145
+\164\057\103\116\075\104\055\124\122\125\123\124\045\062\060\105
+\126\045\062\060\122\157\157\164\045\062\060\103\101\045\062\060
+\061\045\062\060\062\060\062\060\054\117\075\104\055\124\162\165
+\163\164\045\062\060\107\155\142\110\054\103\075\104\105\077\143
+\145\162\164\151\146\151\143\141\164\145\162\145\166\157\143\141
+\164\151\157\156\154\151\163\164\060\012\006\010\052\206\110\316
+\075\004\003\003\003\151\000\060\146\002\061\000\312\074\306\052
+\165\302\136\165\142\071\066\000\140\132\213\301\223\231\314\331
+\333\101\073\073\207\231\027\073\325\314\117\312\042\367\240\200
+\313\371\264\261\033\126\365\162\322\374\031\321\002\061\000\221
+\367\060\223\077\020\106\053\161\244\320\073\104\233\300\051\002
+\005\262\101\167\121\363\171\132\236\216\024\240\116\102\322\133
+\201\363\064\152\003\347\042\070\120\133\355\031\117\103\026
 END
 CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
-# Trust for "GDCA TrustAUTH R5 ROOT"
-# Issuer: CN=GDCA TrustAUTH R5 ROOT,O="GUANG DONG CERTIFICATE AUTHORITY CO.,LTD.",C=CN
-# Serial Number:7d:09:97:fe:f0:47:ea:7a
-# Subject: CN=GDCA TrustAUTH R5 ROOT,O="GUANG DONG CERTIFICATE AUTHORITY CO.,LTD.",C=CN
-# Not Valid Before: Wed Nov 26 05:13:15 2014
-# Not Valid After : Mon Dec 31 15:59:59 2040
-# Fingerprint (SHA-256): BF:FF:8F:D0:44:33:48:7D:6A:8A:A6:0C:1A:29:76:7A:9F:C2:BB:B0:5E:42:0F:71:3A:13:B9:92:89:1D:38:93
-# Fingerprint (SHA1): 0F:36:38:5B:81:1A:25:C3:9B:31:4E:83:CA:E9:34:66:70:CC:74:B4
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
+
+# Trust for "D-TRUST EV Root CA 1 2020"
+# Issuer: CN=D-TRUST EV Root CA 1 2020,O=D-Trust GmbH,C=DE
+# Serial Number:5f:02:41:d7:7a:87:7c:4c:03:a3:ac:96:8d:fb:ff:d0
+# Subject: CN=D-TRUST EV Root CA 1 2020,O=D-Trust GmbH,C=DE
+# Not Valid Before: Tue Feb 11 10:00:00 2020
+# Not Valid After : Sun Feb 11 09:59:59 2035
+# Fingerprint (SHA-256): 08:17:0D:1A:A3:64:53:90:1A:2F:95:92:45:E3:47:DB:0C:8D:37:AB:AA:BC:56:B8:1A:A1:00:DC:95:89:70:DB
+# Fingerprint (SHA1): 61:DB:8C:21:59:69:03:90:D8:7C:9C:12:86:54:CF:9D:3D:F4:DD:07
 CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "GDCA TrustAUTH R5 ROOT"
+CKA_LABEL UTF8 "D-TRUST EV Root CA 1 2020"
 CKA_CERT_SHA1_HASH MULTILINE_OCTAL
-\017\066\070\133\201\032\045\303\233\061\116\203\312\351\064\146
-\160\314\164\264
+\141\333\214\041\131\151\003\220\330\174\234\022\206\124\317\235
+\075\364\335\007
 END
 CKA_CERT_MD5_HASH MULTILINE_OCTAL
-\143\314\331\075\064\065\134\157\123\243\342\010\160\110\037\264
+\214\055\235\160\237\110\231\021\006\021\373\351\313\060\300\156
 END
 CKA_ISSUER MULTILINE_OCTAL
-\060\142\061\013\060\011\006\003\125\004\006\023\002\103\116\061
-\062\060\060\006\003\125\004\012\014\051\107\125\101\116\107\040
-\104\117\116\107\040\103\105\122\124\111\106\111\103\101\124\105
-\040\101\125\124\110\117\122\111\124\131\040\103\117\056\054\114
-\124\104\056\061\037\060\035\006\003\125\004\003\014\026\107\104
-\103\101\040\124\162\165\163\164\101\125\124\110\040\122\065\040
-\122\117\117\124
+\060\110\061\013\060\011\006\003\125\004\006\023\002\104\105\061
+\025\060\023\006\003\125\004\012\023\014\104\055\124\162\165\163
+\164\040\107\155\142\110\061\042\060\040\006\003\125\004\003\023
+\031\104\055\124\122\125\123\124\040\105\126\040\122\157\157\164
+\040\103\101\040\061\040\062\060\062\060
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\010\175\011\227\376\360\107\352\172
+\002\020\137\002\101\327\172\207\174\114\003\243\254\226\215\373
+\377\320
 END
 CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
 CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
@@ -20724,1274 +22025,1401 @@ CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
 CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
 
 #
-# Certificate "TrustCor RootCert CA-1"
+# Certificate "DigiCert TLS ECC P384 Root G5"
 #
-# Issuer: CN=TrustCor RootCert CA-1,OU=TrustCor Certificate Authority,O=TrustCor Systems S. de R.L.,L=Panama City,ST=Panama,C=PA
-# Serial Number:00:da:9b:ec:71:f3:03:b0:19
-# Subject: CN=TrustCor RootCert CA-1,OU=TrustCor Certificate Authority,O=TrustCor Systems S. de R.L.,L=Panama City,ST=Panama,C=PA
-# Not Valid Before: Thu Feb 04 12:32:16 2016
-# Not Valid After : Mon Dec 31 17:23:16 2029
-# Fingerprint (SHA-256): D4:0E:9C:86:CD:8F:E4:68:C1:77:69:59:F4:9E:A7:74:FA:54:86:84:B6:C4:06:F3:90:92:61:F4:DC:E2:57:5C
-# Fingerprint (SHA1): FF:BD:CD:E7:82:C8:43:5E:3C:6F:26:86:5C:CA:A8:3A:45:5B:C3:0A
+# Issuer: CN=DigiCert TLS ECC P384 Root G5,O="DigiCert, Inc.",C=US
+# Serial Number:09:e0:93:65:ac:f7:d9:c8:b9:3e:1c:0b:04:2a:2e:f3
+# Subject: CN=DigiCert TLS ECC P384 Root G5,O="DigiCert, Inc.",C=US
+# Not Valid Before: Fri Jan 15 00:00:00 2021
+# Not Valid After : Sun Jan 14 23:59:59 2046
+# Fingerprint (SHA-256): 01:8E:13:F0:77:25:32:CF:80:9B:D1:B1:72:81:86:72:83:FC:48:C6:E1:3B:E9:C6:98:12:85:4A:49:0C:1B:05
+# Fingerprint (SHA1): 17:F3:DE:5E:9F:0F:19:E9:8E:F6:1F:32:26:6E:20:C4:07:AE:30:EE
 CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "TrustCor RootCert CA-1"
+CKA_LABEL UTF8 "DigiCert TLS ECC P384 Root G5"
 CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
 CKA_SUBJECT MULTILINE_OCTAL
-\060\201\244\061\013\060\011\006\003\125\004\006\023\002\120\101
-\061\017\060\015\006\003\125\004\010\014\006\120\141\156\141\155
-\141\061\024\060\022\006\003\125\004\007\014\013\120\141\156\141
-\155\141\040\103\151\164\171\061\044\060\042\006\003\125\004\012
-\014\033\124\162\165\163\164\103\157\162\040\123\171\163\164\145
-\155\163\040\123\056\040\144\145\040\122\056\114\056\061\047\060
-\045\006\003\125\004\013\014\036\124\162\165\163\164\103\157\162
-\040\103\145\162\164\151\146\151\143\141\164\145\040\101\165\164
-\150\157\162\151\164\171\061\037\060\035\006\003\125\004\003\014
-\026\124\162\165\163\164\103\157\162\040\122\157\157\164\103\145
-\162\164\040\103\101\055\061
+\060\116\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\027\060\025\006\003\125\004\012\023\016\104\151\147\151\103\145
+\162\164\054\040\111\156\143\056\061\046\060\044\006\003\125\004
+\003\023\035\104\151\147\151\103\145\162\164\040\124\114\123\040
+\105\103\103\040\120\063\070\064\040\122\157\157\164\040\107\065
 END
 CKA_ID UTF8 "0"
 CKA_ISSUER MULTILINE_OCTAL
-\060\201\244\061\013\060\011\006\003\125\004\006\023\002\120\101
-\061\017\060\015\006\003\125\004\010\014\006\120\141\156\141\155
-\141\061\024\060\022\006\003\125\004\007\014\013\120\141\156\141
-\155\141\040\103\151\164\171\061\044\060\042\006\003\125\004\012
-\014\033\124\162\165\163\164\103\157\162\040\123\171\163\164\145
-\155\163\040\123\056\040\144\145\040\122\056\114\056\061\047\060
-\045\006\003\125\004\013\014\036\124\162\165\163\164\103\157\162
-\040\103\145\162\164\151\146\151\143\141\164\145\040\101\165\164
-\150\157\162\151\164\171\061\037\060\035\006\003\125\004\003\014
-\026\124\162\165\163\164\103\157\162\040\122\157\157\164\103\145
-\162\164\040\103\101\055\061
+\060\116\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\027\060\025\006\003\125\004\012\023\016\104\151\147\151\103\145
+\162\164\054\040\111\156\143\056\061\046\060\044\006\003\125\004
+\003\023\035\104\151\147\151\103\145\162\164\040\124\114\123\040
+\105\103\103\040\120\063\070\064\040\122\157\157\164\040\107\065
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\011\000\332\233\354\161\363\003\260\031
+\002\020\011\340\223\145\254\367\331\310\271\076\034\013\004\052
+\056\363
 END
 CKA_VALUE MULTILINE_OCTAL
-\060\202\004\060\060\202\003\030\240\003\002\001\002\002\011\000
-\332\233\354\161\363\003\260\031\060\015\006\011\052\206\110\206
-\367\015\001\001\013\005\000\060\201\244\061\013\060\011\006\003
-\125\004\006\023\002\120\101\061\017\060\015\006\003\125\004\010
-\014\006\120\141\156\141\155\141\061\024\060\022\006\003\125\004
-\007\014\013\120\141\156\141\155\141\040\103\151\164\171\061\044
-\060\042\006\003\125\004\012\014\033\124\162\165\163\164\103\157
-\162\040\123\171\163\164\145\155\163\040\123\056\040\144\145\040
-\122\056\114\056\061\047\060\045\006\003\125\004\013\014\036\124
-\162\165\163\164\103\157\162\040\103\145\162\164\151\146\151\143
-\141\164\145\040\101\165\164\150\157\162\151\164\171\061\037\060
-\035\006\003\125\004\003\014\026\124\162\165\163\164\103\157\162
-\040\122\157\157\164\103\145\162\164\040\103\101\055\061\060\036
-\027\015\061\066\060\062\060\064\061\062\063\062\061\066\132\027
-\015\062\071\061\062\063\061\061\067\062\063\061\066\132\060\201
-\244\061\013\060\011\006\003\125\004\006\023\002\120\101\061\017
-\060\015\006\003\125\004\010\014\006\120\141\156\141\155\141\061
-\024\060\022\006\003\125\004\007\014\013\120\141\156\141\155\141
-\040\103\151\164\171\061\044\060\042\006\003\125\004\012\014\033
-\124\162\165\163\164\103\157\162\040\123\171\163\164\145\155\163
-\040\123\056\040\144\145\040\122\056\114\056\061\047\060\045\006
-\003\125\004\013\014\036\124\162\165\163\164\103\157\162\040\103
-\145\162\164\151\146\151\143\141\164\145\040\101\165\164\150\157
-\162\151\164\171\061\037\060\035\006\003\125\004\003\014\026\124
-\162\165\163\164\103\157\162\040\122\157\157\164\103\145\162\164
-\040\103\101\055\061\060\202\001\042\060\015\006\011\052\206\110
-\206\367\015\001\001\001\005\000\003\202\001\017\000\060\202\001
-\012\002\202\001\001\000\277\216\267\225\342\302\046\022\153\063
-\031\307\100\130\012\253\131\252\215\000\243\374\200\307\120\173
-\216\324\040\046\272\062\022\330\043\124\111\045\020\042\230\235
-\106\322\301\311\236\116\033\056\054\016\070\363\032\045\150\034
-\246\132\005\346\036\213\110\277\230\226\164\076\151\312\351\265
-\170\245\006\274\325\000\136\011\012\362\047\172\122\374\055\325
-\261\352\264\211\141\044\363\032\023\333\251\317\122\355\014\044
-\272\271\236\354\176\000\164\372\223\255\154\051\222\256\121\264
-\273\323\127\277\263\363\250\215\234\364\044\113\052\326\231\236
-\364\236\376\300\176\102\072\347\013\225\123\332\267\150\016\220
-\114\373\160\077\217\112\054\224\363\046\335\143\151\251\224\330
-\020\116\305\107\010\220\231\033\027\115\271\154\156\357\140\225
-\021\216\041\200\265\275\240\163\330\320\262\167\304\105\352\132
-\046\373\146\166\166\370\006\037\141\155\017\125\305\203\267\020
-\126\162\006\007\245\363\261\032\003\005\144\016\235\132\212\326
-\206\160\033\044\336\376\050\212\053\320\152\260\374\172\242\334
-\262\171\016\213\145\017\002\003\001\000\001\243\143\060\141\060
-\035\006\003\125\035\016\004\026\004\024\356\153\111\074\172\077
-\015\343\261\011\267\212\310\253\031\237\163\063\120\347\060\037
-\006\003\125\035\043\004\030\060\026\200\024\356\153\111\074\172
-\077\015\343\261\011\267\212\310\253\031\237\163\063\120\347\060
-\017\006\003\125\035\023\001\001\377\004\005\060\003\001\001\377
-\060\016\006\003\125\035\017\001\001\377\004\004\003\002\001\206
-\060\015\006\011\052\206\110\206\367\015\001\001\013\005\000\003
-\202\001\001\000\045\030\324\221\217\023\356\217\036\035\021\123
-\332\055\104\051\031\240\036\153\061\236\115\016\236\255\075\134
-\101\157\225\053\044\241\171\230\072\070\066\373\273\146\236\110
-\377\220\220\357\075\324\270\233\264\207\165\077\040\233\316\162
-\317\241\125\301\115\144\242\031\006\241\007\063\014\013\051\345
-\361\352\253\243\354\265\012\164\220\307\175\162\362\327\134\237
-\221\357\221\213\267\334\355\146\242\317\216\146\073\274\237\072
-\002\340\047\335\026\230\300\225\324\012\244\344\201\232\165\224
-\065\234\220\137\210\067\006\255\131\225\012\260\321\147\323\031
-\312\211\347\062\132\066\034\076\202\250\132\223\276\306\320\144
-\221\266\317\331\266\030\317\333\176\322\145\243\246\304\216\027
-\061\301\373\176\166\333\323\205\343\130\262\167\172\166\073\154
-\057\120\034\347\333\366\147\171\037\365\202\225\232\007\247\024
-\257\217\334\050\041\147\011\322\326\115\132\034\031\034\216\167
-\134\303\224\044\075\062\153\113\176\324\170\224\203\276\067\115
-\316\137\307\036\116\074\340\211\063\225\013\017\245\062\326\074
-\132\171\054\031
+\060\202\002\031\060\202\001\237\240\003\002\001\002\002\020\011
+\340\223\145\254\367\331\310\271\076\034\013\004\052\056\363\060
+\012\006\010\052\206\110\316\075\004\003\003\060\116\061\013\060
+\011\006\003\125\004\006\023\002\125\123\061\027\060\025\006\003
+\125\004\012\023\016\104\151\147\151\103\145\162\164\054\040\111
+\156\143\056\061\046\060\044\006\003\125\004\003\023\035\104\151
+\147\151\103\145\162\164\040\124\114\123\040\105\103\103\040\120
+\063\070\064\040\122\157\157\164\040\107\065\060\036\027\015\062
+\061\060\061\061\065\060\060\060\060\060\060\132\027\015\064\066
+\060\061\061\064\062\063\065\071\065\071\132\060\116\061\013\060
+\011\006\003\125\004\006\023\002\125\123\061\027\060\025\006\003
+\125\004\012\023\016\104\151\147\151\103\145\162\164\054\040\111
+\156\143\056\061\046\060\044\006\003\125\004\003\023\035\104\151
+\147\151\103\145\162\164\040\124\114\123\040\105\103\103\040\120
+\063\070\064\040\122\157\157\164\040\107\065\060\166\060\020\006
+\007\052\206\110\316\075\002\001\006\005\053\201\004\000\042\003
+\142\000\004\301\104\241\317\021\227\120\232\336\043\202\065\007
+\315\320\313\030\235\322\361\177\167\065\117\073\335\224\162\122
+\355\302\073\370\354\372\173\153\130\040\354\231\256\311\374\150
+\263\165\271\333\011\354\310\023\365\116\306\012\035\146\060\114
+\273\037\107\012\074\141\020\102\051\174\245\010\016\340\042\351
+\323\065\150\316\233\143\237\204\265\231\115\130\240\216\365\124
+\347\225\311\243\102\060\100\060\035\006\003\125\035\016\004\026
+\004\024\301\121\105\120\131\253\076\347\054\132\372\040\042\022
+\007\200\210\174\021\152\060\016\006\003\125\035\017\001\001\377
+\004\004\003\002\001\206\060\017\006\003\125\035\023\001\001\377
+\004\005\060\003\001\001\377\060\012\006\010\052\206\110\316\075
+\004\003\003\003\150\000\060\145\002\061\000\211\152\215\107\347
+\354\374\156\125\003\331\147\154\046\116\203\306\375\311\373\053
+\023\274\267\172\214\264\145\322\151\151\143\023\143\073\046\120
+\056\001\241\171\006\221\235\110\277\302\276\002\060\107\303\025
+\173\261\240\221\231\111\223\250\074\174\350\106\006\213\054\362
+\061\000\224\235\142\310\211\275\031\204\024\351\245\373\001\270
+\015\166\103\214\056\123\313\174\337\014\027\226\120
+END
+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
+
+# Trust for "DigiCert TLS ECC P384 Root G5"
+# Issuer: CN=DigiCert TLS ECC P384 Root G5,O="DigiCert, Inc.",C=US
+# Serial Number:09:e0:93:65:ac:f7:d9:c8:b9:3e:1c:0b:04:2a:2e:f3
+# Subject: CN=DigiCert TLS ECC P384 Root G5,O="DigiCert, Inc.",C=US
+# Not Valid Before: Fri Jan 15 00:00:00 2021
+# Not Valid After : Sun Jan 14 23:59:59 2046
+# Fingerprint (SHA-256): 01:8E:13:F0:77:25:32:CF:80:9B:D1:B1:72:81:86:72:83:FC:48:C6:E1:3B:E9:C6:98:12:85:4A:49:0C:1B:05
+# Fingerprint (SHA1): 17:F3:DE:5E:9F:0F:19:E9:8E:F6:1F:32:26:6E:20:C4:07:AE:30:EE
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "DigiCert TLS ECC P384 Root G5"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\027\363\336\136\237\017\031\351\216\366\037\062\046\156\040\304
+\007\256\060\356
 END
-CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\323\161\004\152\103\034\333\246\131\341\250\243\252\305\161\355
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\116\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\027\060\025\006\003\125\004\012\023\016\104\151\147\151\103\145
+\162\164\054\040\111\156\143\056\061\046\060\044\006\003\125\004
+\003\023\035\104\151\147\151\103\145\162\164\040\124\114\123\040
+\105\103\103\040\120\063\070\064\040\122\157\157\164\040\107\065
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\020\011\340\223\145\254\367\331\310\271\076\034\013\004\052
+\056\363
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
 
-# Trust for "TrustCor RootCert CA-1"
-# Issuer: CN=TrustCor RootCert CA-1,OU=TrustCor Certificate Authority,O=TrustCor Systems S. de R.L.,L=Panama City,ST=Panama,C=PA
-# Serial Number:00:da:9b:ec:71:f3:03:b0:19
-# Subject: CN=TrustCor RootCert CA-1,OU=TrustCor Certificate Authority,O=TrustCor Systems S. de R.L.,L=Panama City,ST=Panama,C=PA
-# Not Valid Before: Thu Feb 04 12:32:16 2016
-# Not Valid After : Mon Dec 31 17:23:16 2029
-# Fingerprint (SHA-256): D4:0E:9C:86:CD:8F:E4:68:C1:77:69:59:F4:9E:A7:74:FA:54:86:84:B6:C4:06:F3:90:92:61:F4:DC:E2:57:5C
-# Fingerprint (SHA1): FF:BD:CD:E7:82:C8:43:5E:3C:6F:26:86:5C:CA:A8:3A:45:5B:C3:0A
+#
+# Certificate "DigiCert TLS RSA4096 Root G5"
+#
+# Issuer: CN=DigiCert TLS RSA4096 Root G5,O="DigiCert, Inc.",C=US
+# Serial Number:08:f9:b4:78:a8:fa:7e:da:6a:33:37:89:de:7c:cf:8a
+# Subject: CN=DigiCert TLS RSA4096 Root G5,O="DigiCert, Inc.",C=US
+# Not Valid Before: Fri Jan 15 00:00:00 2021
+# Not Valid After : Sun Jan 14 23:59:59 2046
+# Fingerprint (SHA-256): 37:1A:00:DC:05:33:B3:72:1A:7E:EB:40:E8:41:9E:70:79:9D:2B:0A:0F:2C:1D:80:69:31:65:F7:CE:C4:AD:75
+# Fingerprint (SHA1): A7:88:49:DC:5D:7C:75:8C:8C:DE:39:98:56:B3:AA:D0:B2:A5:71:35
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "DigiCert TLS RSA4096 Root G5"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\115\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\027\060\025\006\003\125\004\012\023\016\104\151\147\151\103\145
+\162\164\054\040\111\156\143\056\061\045\060\043\006\003\125\004
+\003\023\034\104\151\147\151\103\145\162\164\040\124\114\123\040
+\122\123\101\064\060\071\066\040\122\157\157\164\040\107\065
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\115\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\027\060\025\006\003\125\004\012\023\016\104\151\147\151\103\145
+\162\164\054\040\111\156\143\056\061\045\060\043\006\003\125\004
+\003\023\034\104\151\147\151\103\145\162\164\040\124\114\123\040
+\122\123\101\064\060\071\066\040\122\157\157\164\040\107\065
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\020\010\371\264\170\250\372\176\332\152\063\067\211\336\174
+\317\212
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\005\146\060\202\003\116\240\003\002\001\002\002\020\010
+\371\264\170\250\372\176\332\152\063\067\211\336\174\317\212\060
+\015\006\011\052\206\110\206\367\015\001\001\014\005\000\060\115
+\061\013\060\011\006\003\125\004\006\023\002\125\123\061\027\060
+\025\006\003\125\004\012\023\016\104\151\147\151\103\145\162\164
+\054\040\111\156\143\056\061\045\060\043\006\003\125\004\003\023
+\034\104\151\147\151\103\145\162\164\040\124\114\123\040\122\123
+\101\064\060\071\066\040\122\157\157\164\040\107\065\060\036\027
+\015\062\061\060\061\061\065\060\060\060\060\060\060\132\027\015
+\064\066\060\061\061\064\062\063\065\071\065\071\132\060\115\061
+\013\060\011\006\003\125\004\006\023\002\125\123\061\027\060\025
+\006\003\125\004\012\023\016\104\151\147\151\103\145\162\164\054
+\040\111\156\143\056\061\045\060\043\006\003\125\004\003\023\034
+\104\151\147\151\103\145\162\164\040\124\114\123\040\122\123\101
+\064\060\071\066\040\122\157\157\164\040\107\065\060\202\002\042
+\060\015\006\011\052\206\110\206\367\015\001\001\001\005\000\003
+\202\002\017\000\060\202\002\012\002\202\002\001\000\263\320\364
+\311\171\021\235\375\374\146\201\347\314\325\344\274\354\201\076
+\152\065\216\056\267\347\336\257\371\007\115\317\060\235\352\011
+\013\231\275\154\127\332\030\112\270\170\254\072\071\250\246\110
+\254\056\162\345\275\353\361\032\315\347\244\003\251\077\021\264
+\330\057\211\026\373\224\001\075\273\057\370\023\005\241\170\034
+\216\050\340\105\340\203\364\131\033\225\263\256\176\003\105\345
+\276\302\102\376\356\362\074\266\205\023\230\062\235\026\250\051
+\302\013\034\070\334\237\061\167\134\277\047\243\374\047\254\267
+\053\275\164\233\027\055\362\201\332\135\260\341\043\027\076\210
+\112\022\043\320\352\317\235\336\003\027\261\102\112\240\026\114
+\244\155\223\351\077\072\356\072\174\235\130\235\364\116\217\374
+\073\043\310\155\270\342\005\332\314\353\354\303\061\364\327\247
+\051\124\200\317\104\133\114\157\060\236\363\314\335\037\224\103
+\235\115\177\160\160\015\324\072\321\067\360\154\235\233\300\024
+\223\130\357\315\101\070\165\274\023\003\225\174\177\343\134\351
+\325\015\325\342\174\020\142\252\153\360\075\166\363\077\243\350
+\260\301\375\357\252\127\115\254\206\247\030\264\051\301\054\016
+\277\144\276\051\214\330\002\055\315\134\057\362\177\357\025\364
+\014\025\254\012\260\361\323\015\117\152\115\167\227\001\240\361
+\146\267\267\316\357\316\354\354\245\165\312\254\343\341\143\367
+\270\241\004\310\274\173\077\135\055\026\042\126\355\110\111\376
+\247\057\171\060\045\233\272\153\055\077\235\073\304\027\347\035
+\056\373\362\317\246\374\343\024\054\226\230\041\214\264\221\351
+\031\140\203\362\060\053\006\163\120\325\230\073\006\351\307\212
+\014\140\214\050\370\122\233\156\341\366\115\273\006\044\233\327
+\053\046\077\375\052\057\161\365\326\044\276\177\061\236\017\155
+\350\217\117\115\243\077\377\065\352\337\111\136\101\217\206\371
+\361\167\171\113\033\264\243\136\057\373\106\002\320\146\023\136
+\136\205\117\316\330\160\210\173\316\001\265\226\227\327\315\175
+\375\202\370\302\044\301\312\001\071\117\215\242\301\024\100\037
+\234\146\325\014\011\106\326\362\320\321\110\166\126\072\103\313
+\266\012\021\071\272\214\023\154\006\265\236\317\353\002\003\001
+\000\001\243\102\060\100\060\035\006\003\125\035\016\004\026\004
+\024\121\063\034\355\066\100\257\027\323\045\315\151\150\362\257
+\116\043\076\263\101\060\016\006\003\125\035\017\001\001\377\004
+\004\003\002\001\206\060\017\006\003\125\035\023\001\001\377\004
+\005\060\003\001\001\377\060\015\006\011\052\206\110\206\367\015
+\001\001\014\005\000\003\202\002\001\000\140\246\257\133\137\127
+\332\211\333\113\120\251\304\043\065\041\377\320\141\060\204\221
+\267\077\020\317\045\216\311\277\106\064\331\301\041\046\034\160
+\031\162\036\243\311\207\376\251\103\144\226\072\310\123\004\012
+\266\101\273\304\107\000\331\237\030\030\073\262\016\363\064\352
+\044\367\335\257\040\140\256\222\050\137\066\347\135\344\336\307
+\074\333\120\071\255\273\075\050\115\226\174\166\306\133\364\301
+\333\024\245\253\031\142\007\030\100\137\227\221\334\234\307\253
+\265\121\015\346\151\123\125\314\071\175\332\305\021\125\162\305
+\073\213\211\370\064\055\244\027\345\027\346\231\175\060\210\041
+\067\315\060\027\075\270\362\274\250\165\240\103\334\076\211\113
+\220\256\155\003\340\034\243\240\226\011\273\175\243\267\052\020
+\104\113\106\007\064\143\355\061\271\004\356\243\233\232\256\346
+\061\170\364\352\044\141\073\253\130\144\377\273\207\047\142\045
+\201\337\334\241\057\366\355\247\377\172\217\121\056\060\370\244
+\001\322\205\071\137\001\231\226\157\132\133\160\031\106\376\206
+\140\076\255\200\020\011\335\071\045\057\130\177\273\322\164\360
+\367\106\037\106\071\112\330\123\320\363\056\073\161\245\324\157
+\374\363\147\344\007\217\335\046\031\341\215\133\372\243\223\021
+\233\351\310\072\303\125\150\232\222\341\122\166\070\350\341\272
+\275\373\117\325\357\263\347\110\203\061\360\202\041\343\266\276
+\247\253\157\357\237\337\114\317\001\270\142\152\043\075\347\011
+\115\200\033\173\060\244\303\335\007\177\064\276\244\046\262\366
+\101\350\011\035\343\040\230\252\067\117\377\367\361\342\051\160
+\061\107\077\164\320\024\026\372\041\212\002\325\212\011\224\167
+\056\362\131\050\213\174\120\222\012\146\170\070\203\165\304\265
+\132\250\021\306\345\301\235\146\125\317\123\304\257\327\165\205
+\251\102\023\126\354\041\167\201\223\132\014\352\226\331\111\312
+\241\010\362\227\073\155\233\004\030\044\104\216\174\001\362\334
+\045\330\136\206\232\261\071\333\365\221\062\152\321\246\160\212
+\242\367\336\244\105\205\046\250\036\214\135\051\133\310\113\330
+\232\152\003\136\160\362\205\117\154\113\150\057\312\124\366\214
+\332\062\376\303\153\203\077\070\306\176
+END
+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
+
+# Trust for "DigiCert TLS RSA4096 Root G5"
+# Issuer: CN=DigiCert TLS RSA4096 Root G5,O="DigiCert, Inc.",C=US
+# Serial Number:08:f9:b4:78:a8:fa:7e:da:6a:33:37:89:de:7c:cf:8a
+# Subject: CN=DigiCert TLS RSA4096 Root G5,O="DigiCert, Inc.",C=US
+# Not Valid Before: Fri Jan 15 00:00:00 2021
+# Not Valid After : Sun Jan 14 23:59:59 2046
+# Fingerprint (SHA-256): 37:1A:00:DC:05:33:B3:72:1A:7E:EB:40:E8:41:9E:70:79:9D:2B:0A:0F:2C:1D:80:69:31:65:F7:CE:C4:AD:75
+# Fingerprint (SHA1): A7:88:49:DC:5D:7C:75:8C:8C:DE:39:98:56:B3:AA:D0:B2:A5:71:35
 CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "TrustCor RootCert CA-1"
+CKA_LABEL UTF8 "DigiCert TLS RSA4096 Root G5"
 CKA_CERT_SHA1_HASH MULTILINE_OCTAL
-\377\275\315\347\202\310\103\136\074\157\046\206\134\312\250\072
-\105\133\303\012
+\247\210\111\334\135\174\165\214\214\336\071\230\126\263\252\320
+\262\245\161\065
 END
 CKA_CERT_MD5_HASH MULTILINE_OCTAL
-\156\205\361\334\032\000\323\042\325\262\262\254\153\067\005\105
+\254\376\367\064\226\251\362\263\264\022\113\344\047\101\157\341
 END
 CKA_ISSUER MULTILINE_OCTAL
-\060\201\244\061\013\060\011\006\003\125\004\006\023\002\120\101
-\061\017\060\015\006\003\125\004\010\014\006\120\141\156\141\155
-\141\061\024\060\022\006\003\125\004\007\014\013\120\141\156\141
-\155\141\040\103\151\164\171\061\044\060\042\006\003\125\004\012
-\014\033\124\162\165\163\164\103\157\162\040\123\171\163\164\145
-\155\163\040\123\056\040\144\145\040\122\056\114\056\061\047\060
-\045\006\003\125\004\013\014\036\124\162\165\163\164\103\157\162
-\040\103\145\162\164\151\146\151\143\141\164\145\040\101\165\164
-\150\157\162\151\164\171\061\037\060\035\006\003\125\004\003\014
-\026\124\162\165\163\164\103\157\162\040\122\157\157\164\103\145
-\162\164\040\103\101\055\061
+\060\115\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\027\060\025\006\003\125\004\012\023\016\104\151\147\151\103\145
+\162\164\054\040\111\156\143\056\061\045\060\043\006\003\125\004
+\003\023\034\104\151\147\151\103\145\162\164\040\124\114\123\040
+\122\123\101\064\060\071\066\040\122\157\157\164\040\107\065
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\011\000\332\233\354\161\363\003\260\031
+\002\020\010\371\264\170\250\372\176\332\152\063\067\211\336\174
+\317\212
 END
 CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
-CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
 CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
 CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
 
 #
-# Certificate "TrustCor RootCert CA-2"
+# Certificate "DigiCert SMIME ECC P384 Root G5"
 #
-# Issuer: CN=TrustCor RootCert CA-2,OU=TrustCor Certificate Authority,O=TrustCor Systems S. de R.L.,L=Panama City,ST=Panama,C=PA
-# Serial Number:25:a1:df:ca:33:cb:59:02
-# Subject: CN=TrustCor RootCert CA-2,OU=TrustCor Certificate Authority,O=TrustCor Systems S. de R.L.,L=Panama City,ST=Panama,C=PA
-# Not Valid Before: Thu Feb 04 12:32:23 2016
-# Not Valid After : Sun Dec 31 17:26:39 2034
-# Fingerprint (SHA-256): 07:53:E9:40:37:8C:1B:D5:E3:83:6E:39:5D:AE:A5:CB:83:9E:50:46:F1:BD:0E:AE:19:51:CF:10:FE:C7:C9:65
-# Fingerprint (SHA1): B8:BE:6D:CB:56:F1:55:B9:63:D4:12:CA:4E:06:34:C7:94:B2:1C:C0
+# Issuer: CN=DigiCert SMIME ECC P384 Root G5,O="DigiCert, Inc.",C=US
+# Serial Number:05:3f:6e:a0:06:01:72:7d:ed:3f:c3:a3:b6:a3:d6:ef
+# Subject: CN=DigiCert SMIME ECC P384 Root G5,O="DigiCert, Inc.",C=US
+# Not Valid Before: Fri Jan 15 00:00:00 2021
+# Not Valid After : Sun Jan 14 23:59:59 2046
+# Fingerprint (SHA-256): E8:E8:17:65:36:A6:0C:C2:C4:E1:01:87:C3:BE:FC:A2:0E:F2:63:49:70:18:F5:66:D5:BE:A0:F9:4D:0C:11:1B
+# Fingerprint (SHA1): 1C:B8:A7:08:C9:0D:20:79:01:A0:B2:36:7F:F0:95:65:E4:53:24:FE
 CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "TrustCor RootCert CA-2"
+CKA_LABEL UTF8 "DigiCert SMIME ECC P384 Root G5"
 CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
 CKA_SUBJECT MULTILINE_OCTAL
-\060\201\244\061\013\060\011\006\003\125\004\006\023\002\120\101
-\061\017\060\015\006\003\125\004\010\014\006\120\141\156\141\155
-\141\061\024\060\022\006\003\125\004\007\014\013\120\141\156\141
-\155\141\040\103\151\164\171\061\044\060\042\006\003\125\004\012
-\014\033\124\162\165\163\164\103\157\162\040\123\171\163\164\145
-\155\163\040\123\056\040\144\145\040\122\056\114\056\061\047\060
-\045\006\003\125\004\013\014\036\124\162\165\163\164\103\157\162
-\040\103\145\162\164\151\146\151\143\141\164\145\040\101\165\164
-\150\157\162\151\164\171\061\037\060\035\006\003\125\004\003\014
-\026\124\162\165\163\164\103\157\162\040\122\157\157\164\103\145
-\162\164\040\103\101\055\062
+\060\120\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\027\060\025\006\003\125\004\012\023\016\104\151\147\151\103\145
+\162\164\054\040\111\156\143\056\061\050\060\046\006\003\125\004
+\003\023\037\104\151\147\151\103\145\162\164\040\123\115\111\115
+\105\040\105\103\103\040\120\063\070\064\040\122\157\157\164\040
+\107\065
 END
 CKA_ID UTF8 "0"
 CKA_ISSUER MULTILINE_OCTAL
-\060\201\244\061\013\060\011\006\003\125\004\006\023\002\120\101
-\061\017\060\015\006\003\125\004\010\014\006\120\141\156\141\155
-\141\061\024\060\022\006\003\125\004\007\014\013\120\141\156\141
-\155\141\040\103\151\164\171\061\044\060\042\006\003\125\004\012
-\014\033\124\162\165\163\164\103\157\162\040\123\171\163\164\145
-\155\163\040\123\056\040\144\145\040\122\056\114\056\061\047\060
-\045\006\003\125\004\013\014\036\124\162\165\163\164\103\157\162
-\040\103\145\162\164\151\146\151\143\141\164\145\040\101\165\164
-\150\157\162\151\164\171\061\037\060\035\006\003\125\004\003\014
-\026\124\162\165\163\164\103\157\162\040\122\157\157\164\103\145
-\162\164\040\103\101\055\062
+\060\120\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\027\060\025\006\003\125\004\012\023\016\104\151\147\151\103\145
+\162\164\054\040\111\156\143\056\061\050\060\046\006\003\125\004
+\003\023\037\104\151\147\151\103\145\162\164\040\123\115\111\115
+\105\040\105\103\103\040\120\063\070\064\040\122\157\157\164\040
+\107\065
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\010\045\241\337\312\063\313\131\002
+\002\020\005\077\156\240\006\001\162\175\355\077\303\243\266\243
+\326\357
 END
 CKA_VALUE MULTILINE_OCTAL
-\060\202\006\057\060\202\004\027\240\003\002\001\002\002\010\045
-\241\337\312\063\313\131\002\060\015\006\011\052\206\110\206\367
-\015\001\001\013\005\000\060\201\244\061\013\060\011\006\003\125
-\004\006\023\002\120\101\061\017\060\015\006\003\125\004\010\014
-\006\120\141\156\141\155\141\061\024\060\022\006\003\125\004\007
-\014\013\120\141\156\141\155\141\040\103\151\164\171\061\044\060
-\042\006\003\125\004\012\014\033\124\162\165\163\164\103\157\162
-\040\123\171\163\164\145\155\163\040\123\056\040\144\145\040\122
-\056\114\056\061\047\060\045\006\003\125\004\013\014\036\124\162
-\165\163\164\103\157\162\040\103\145\162\164\151\146\151\143\141
-\164\145\040\101\165\164\150\157\162\151\164\171\061\037\060\035
-\006\003\125\004\003\014\026\124\162\165\163\164\103\157\162\040
-\122\157\157\164\103\145\162\164\040\103\101\055\062\060\036\027
-\015\061\066\060\062\060\064\061\062\063\062\062\063\132\027\015
-\063\064\061\062\063\061\061\067\062\066\063\071\132\060\201\244
-\061\013\060\011\006\003\125\004\006\023\002\120\101\061\017\060
-\015\006\003\125\004\010\014\006\120\141\156\141\155\141\061\024
-\060\022\006\003\125\004\007\014\013\120\141\156\141\155\141\040
-\103\151\164\171\061\044\060\042\006\003\125\004\012\014\033\124
-\162\165\163\164\103\157\162\040\123\171\163\164\145\155\163\040
-\123\056\040\144\145\040\122\056\114\056\061\047\060\045\006\003
-\125\004\013\014\036\124\162\165\163\164\103\157\162\040\103\145
-\162\164\151\146\151\143\141\164\145\040\101\165\164\150\157\162
-\151\164\171\061\037\060\035\006\003\125\004\003\014\026\124\162
-\165\163\164\103\157\162\040\122\157\157\164\103\145\162\164\040
-\103\101\055\062\060\202\002\042\060\015\006\011\052\206\110\206
-\367\015\001\001\001\005\000\003\202\002\017\000\060\202\002\012
-\002\202\002\001\000\247\040\156\302\052\242\142\044\225\220\166
-\310\070\176\200\322\253\301\233\145\005\224\364\301\012\020\325
-\002\254\355\237\223\307\207\310\260\047\053\102\014\075\012\076
-\101\132\236\165\335\215\312\340\233\354\150\062\244\151\222\150
-\214\013\201\016\126\240\076\032\335\054\045\024\202\057\227\323
-\144\106\364\124\251\334\072\124\055\061\053\231\202\362\331\052
-\327\357\161\000\270\061\244\276\172\044\007\303\102\040\362\212
-\324\222\004\033\145\126\114\154\324\373\266\141\132\107\043\264
-\330\151\264\267\072\320\164\074\014\165\241\214\116\166\241\351
-\333\052\245\073\372\316\260\377\176\152\050\375\047\034\310\261
-\351\051\361\127\156\144\264\320\301\025\155\016\276\056\016\106
-\310\136\364\121\376\357\016\143\072\073\161\272\317\157\131\312
-\014\343\233\135\111\270\114\342\127\261\230\212\102\127\234\166
-\357\357\275\321\150\250\322\364\011\273\167\065\276\045\202\010
-\304\026\054\104\040\126\251\104\021\167\357\135\264\035\252\136
-\153\076\213\062\366\007\057\127\004\222\312\365\376\235\302\351
-\350\263\216\114\113\002\061\331\344\074\110\202\047\367\030\202
-\166\110\072\161\261\023\241\071\325\056\305\064\302\035\142\205
-\337\003\376\115\364\257\075\337\134\133\215\372\160\341\245\176
-\047\307\206\056\152\217\022\306\204\136\103\121\120\234\031\233
-\170\346\374\366\355\107\176\173\075\146\357\023\023\210\137\074
-\241\143\373\371\254\207\065\237\363\202\236\244\077\012\234\061
-\151\213\231\244\210\112\216\156\146\115\357\026\304\017\171\050
-\041\140\015\205\026\175\327\124\070\361\222\126\375\265\063\114
-\203\334\327\020\237\113\375\306\370\102\275\272\174\163\002\340
-\377\175\315\133\341\324\254\141\173\127\325\112\173\133\324\205
-\130\047\135\277\370\053\140\254\240\046\256\024\041\047\306\167
-\232\063\200\074\136\106\077\367\303\261\243\206\063\306\350\136
-\015\271\065\054\252\106\301\205\002\165\200\240\353\044\373\025
-\252\344\147\177\156\167\077\364\004\212\057\174\173\343\027\141
-\360\335\011\251\040\310\276\011\244\320\176\104\303\262\060\112
-\070\252\251\354\030\232\007\202\053\333\270\234\030\255\332\340
-\106\027\254\317\135\002\003\001\000\001\243\143\060\141\060\035
-\006\003\125\035\016\004\026\004\024\331\376\041\100\156\224\236
-\274\233\075\234\175\230\040\031\345\214\060\142\262\060\037\006
-\003\125\035\043\004\030\060\026\200\024\331\376\041\100\156\224
-\236\274\233\075\234\175\230\040\031\345\214\060\142\262\060\017
-\006\003\125\035\023\001\001\377\004\005\060\003\001\001\377\060
-\016\006\003\125\035\017\001\001\377\004\004\003\002\001\206\060
-\015\006\011\052\206\110\206\367\015\001\001\013\005\000\003\202
-\002\001\000\236\105\236\014\073\266\357\341\072\310\174\321\000
-\075\317\342\352\006\265\262\072\273\006\113\150\172\320\043\227
-\164\247\054\360\010\330\171\132\327\132\204\212\330\022\232\033
-\331\175\134\115\160\305\245\371\253\345\243\211\211\335\001\372
-\354\335\371\351\222\227\333\260\106\102\363\323\142\252\225\376
-\061\147\024\151\130\220\012\252\013\356\067\043\307\120\121\264
-\365\176\236\343\173\367\344\314\102\062\055\111\014\313\377\111
-\014\233\036\064\375\156\156\226\212\171\003\266\157\333\011\313
-\375\137\145\024\067\341\070\365\363\141\026\130\344\265\155\015
-\013\004\033\077\120\055\177\263\307\172\032\026\200\140\370\212
-\037\351\033\052\306\371\272\001\032\151\277\322\130\307\124\127
-\010\217\341\071\140\167\113\254\131\204\032\210\361\335\313\117
-\170\327\347\341\063\055\374\356\101\372\040\260\276\313\367\070
-\224\300\341\320\205\017\273\355\054\163\253\355\376\222\166\032
-\144\177\133\015\063\011\007\063\173\006\077\021\244\134\160\074
-\205\300\317\343\220\250\203\167\372\333\346\305\214\150\147\020
-\147\245\122\055\360\304\231\217\177\277\321\153\342\265\107\326
-\331\320\205\231\115\224\233\017\113\215\356\000\132\107\035\021
-\003\254\101\030\257\207\267\157\014\072\217\312\317\334\003\301
-\242\011\310\345\375\200\136\310\140\102\001\033\032\123\132\273
-\067\246\267\274\272\204\351\036\154\032\324\144\332\324\103\376
-\223\213\113\362\054\171\026\020\324\223\013\210\217\241\330\206
-\024\106\221\107\233\050\044\357\127\122\116\134\102\234\252\367
-\111\354\047\350\100\036\263\246\211\042\162\234\365\015\063\264
-\130\243\060\073\335\324\152\124\223\276\032\115\363\223\224\367
-\374\204\013\077\204\040\134\064\003\104\305\332\255\274\012\301
-\002\317\036\345\224\331\363\216\133\330\114\360\235\354\141\027
-\273\024\062\124\014\002\051\223\036\222\206\366\177\357\347\222
-\005\016\131\335\231\010\056\056\372\234\000\122\323\305\146\051
-\344\247\227\104\244\016\050\201\023\065\305\366\157\144\346\101
-\304\325\057\314\064\105\045\317\101\000\226\075\112\056\302\226
-\230\117\116\112\234\227\267\333\037\222\062\310\377\017\121\156
-\326\354\011
+\060\202\002\034\060\202\001\243\240\003\002\001\002\002\020\005
+\077\156\240\006\001\162\175\355\077\303\243\266\243\326\357\060
+\012\006\010\052\206\110\316\075\004\003\003\060\120\061\013\060
+\011\006\003\125\004\006\023\002\125\123\061\027\060\025\006\003
+\125\004\012\023\016\104\151\147\151\103\145\162\164\054\040\111
+\156\143\056\061\050\060\046\006\003\125\004\003\023\037\104\151
+\147\151\103\145\162\164\040\123\115\111\115\105\040\105\103\103
+\040\120\063\070\064\040\122\157\157\164\040\107\065\060\036\027
+\015\062\061\060\061\061\065\060\060\060\060\060\060\132\027\015
+\064\066\060\061\061\064\062\063\065\071\065\071\132\060\120\061
+\013\060\011\006\003\125\004\006\023\002\125\123\061\027\060\025
+\006\003\125\004\012\023\016\104\151\147\151\103\145\162\164\054
+\040\111\156\143\056\061\050\060\046\006\003\125\004\003\023\037
+\104\151\147\151\103\145\162\164\040\123\115\111\115\105\040\105
+\103\103\040\120\063\070\064\040\122\157\157\164\040\107\065\060
+\166\060\020\006\007\052\206\110\316\075\002\001\006\005\053\201
+\004\000\042\003\142\000\004\026\235\125\345\266\324\373\373\147
+\153\032\324\241\252\322\167\225\076\210\345\007\237\266\160\146
+\040\050\244\210\354\160\065\257\263\062\377\067\023\112\236\274
+\001\003\336\204\301\270\306\346\145\107\211\362\023\125\277\315
+\245\036\010\140\177\255\177\350\141\222\051\317\011\107\136\013
+\034\300\037\244\277\362\133\274\230\357\231\114\314\160\153\266
+\272\320\050\035\277\276\004\243\102\060\100\060\035\006\003\125
+\035\016\004\026\004\024\163\172\153\226\333\102\007\213\122\146
+\302\144\062\027\376\340\147\220\056\255\060\016\006\003\125\035
+\017\001\001\377\004\004\003\002\001\206\060\017\006\003\125\035
+\023\001\001\377\004\005\060\003\001\001\377\060\012\006\010\052
+\206\110\316\075\004\003\003\003\147\000\060\144\002\060\067\104
+\365\062\200\343\161\353\364\155\317\174\314\221\232\303\156\161
+\330\322\043\135\222\115\202\102\155\134\141\225\366\221\365\247
+\010\366\152\227\351\234\224\055\230\160\375\063\266\011\002\060
+\007\074\057\271\130\202\136\017\243\142\250\223\147\360\040\303
+\151\277\003\054\073\120\247\073\257\101\070\311\122\110\221\326
+\016\373\274\140\060\174\144\077\022\036\105\177\121\076\364\246
 END
 CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
-# Trust for "TrustCor RootCert CA-2"
-# Issuer: CN=TrustCor RootCert CA-2,OU=TrustCor Certificate Authority,O=TrustCor Systems S. de R.L.,L=Panama City,ST=Panama,C=PA
-# Serial Number:25:a1:df:ca:33:cb:59:02
-# Subject: CN=TrustCor RootCert CA-2,OU=TrustCor Certificate Authority,O=TrustCor Systems S. de R.L.,L=Panama City,ST=Panama,C=PA
-# Not Valid Before: Thu Feb 04 12:32:23 2016
-# Not Valid After : Sun Dec 31 17:26:39 2034
-# Fingerprint (SHA-256): 07:53:E9:40:37:8C:1B:D5:E3:83:6E:39:5D:AE:A5:CB:83:9E:50:46:F1:BD:0E:AE:19:51:CF:10:FE:C7:C9:65
-# Fingerprint (SHA1): B8:BE:6D:CB:56:F1:55:B9:63:D4:12:CA:4E:06:34:C7:94:B2:1C:C0
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
+
+# Trust for "DigiCert SMIME ECC P384 Root G5"
+# Issuer: CN=DigiCert SMIME ECC P384 Root G5,O="DigiCert, Inc.",C=US
+# Serial Number:05:3f:6e:a0:06:01:72:7d:ed:3f:c3:a3:b6:a3:d6:ef
+# Subject: CN=DigiCert SMIME ECC P384 Root G5,O="DigiCert, Inc.",C=US
+# Not Valid Before: Fri Jan 15 00:00:00 2021
+# Not Valid After : Sun Jan 14 23:59:59 2046
+# Fingerprint (SHA-256): E8:E8:17:65:36:A6:0C:C2:C4:E1:01:87:C3:BE:FC:A2:0E:F2:63:49:70:18:F5:66:D5:BE:A0:F9:4D:0C:11:1B
+# Fingerprint (SHA1): 1C:B8:A7:08:C9:0D:20:79:01:A0:B2:36:7F:F0:95:65:E4:53:24:FE
 CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "TrustCor RootCert CA-2"
+CKA_LABEL UTF8 "DigiCert SMIME ECC P384 Root G5"
 CKA_CERT_SHA1_HASH MULTILINE_OCTAL
-\270\276\155\313\126\361\125\271\143\324\022\312\116\006\064\307
-\224\262\034\300
+\034\270\247\010\311\015\040\171\001\240\262\066\177\360\225\145
+\344\123\044\376
 END
 CKA_CERT_MD5_HASH MULTILINE_OCTAL
-\242\341\370\030\013\272\105\325\307\101\052\273\067\122\105\144
+\246\376\364\122\066\104\330\356\015\267\003\013\357\164\263\003
 END
 CKA_ISSUER MULTILINE_OCTAL
-\060\201\244\061\013\060\011\006\003\125\004\006\023\002\120\101
-\061\017\060\015\006\003\125\004\010\014\006\120\141\156\141\155
-\141\061\024\060\022\006\003\125\004\007\014\013\120\141\156\141
-\155\141\040\103\151\164\171\061\044\060\042\006\003\125\004\012
-\014\033\124\162\165\163\164\103\157\162\040\123\171\163\164\145
-\155\163\040\123\056\040\144\145\040\122\056\114\056\061\047\060
-\045\006\003\125\004\013\014\036\124\162\165\163\164\103\157\162
-\040\103\145\162\164\151\146\151\143\141\164\145\040\101\165\164
-\150\157\162\151\164\171\061\037\060\035\006\003\125\004\003\014
-\026\124\162\165\163\164\103\157\162\040\122\157\157\164\103\145
-\162\164\040\103\101\055\062
+\060\120\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\027\060\025\006\003\125\004\012\023\016\104\151\147\151\103\145
+\162\164\054\040\111\156\143\056\061\050\060\046\006\003\125\004
+\003\023\037\104\151\147\151\103\145\162\164\040\123\115\111\115
+\105\040\105\103\103\040\120\063\070\064\040\122\157\157\164\040
+\107\065
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\020\005\077\156\240\006\001\162\175\355\077\303\243\266\243
+\326\357
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "DigiCert SMIME RSA4096 Root G5"
+#
+# Issuer: CN=DigiCert SMIME RSA4096 Root G5,O="DigiCert, Inc.",C=US
+# Serial Number:05:f6:ba:04:23:83:46:cb:7d:5c:e6:b9:5b:ba:1c:55
+# Subject: CN=DigiCert SMIME RSA4096 Root G5,O="DigiCert, Inc.",C=US
+# Not Valid Before: Fri Jan 15 00:00:00 2021
+# Not Valid After : Sun Jan 14 23:59:59 2046
+# Fingerprint (SHA-256): 90:37:0D:3E:FA:88:BF:58:C3:01:05:BA:25:10:4A:35:84:60:A7:FA:52:DF:C2:01:1D:F2:33:A0:F4:17:91:2A
+# Fingerprint (SHA1): 5B:C5:AD:E2:9A:A7:54:DA:84:89:53:A5:FE:D7:5B:46:86:D0:57:08
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "DigiCert SMIME RSA4096 Root G5"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\117\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\027\060\025\006\003\125\004\012\023\016\104\151\147\151\103\145
+\162\164\054\040\111\156\143\056\061\047\060\045\006\003\125\004
+\003\023\036\104\151\147\151\103\145\162\164\040\123\115\111\115
+\105\040\122\123\101\064\060\071\066\040\122\157\157\164\040\107
+\065
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\117\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\027\060\025\006\003\125\004\012\023\016\104\151\147\151\103\145
+\162\164\054\040\111\156\143\056\061\047\060\045\006\003\125\004
+\003\023\036\104\151\147\151\103\145\162\164\040\123\115\111\115
+\105\040\122\123\101\064\060\071\066\040\122\157\157\164\040\107
+\065
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\020\005\366\272\004\043\203\106\313\175\134\346\271\133\272
+\034\125
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\005\152\060\202\003\122\240\003\002\001\002\002\020\005
+\366\272\004\043\203\106\313\175\134\346\271\133\272\034\125\060
+\015\006\011\052\206\110\206\367\015\001\001\014\005\000\060\117
+\061\013\060\011\006\003\125\004\006\023\002\125\123\061\027\060
+\025\006\003\125\004\012\023\016\104\151\147\151\103\145\162\164
+\054\040\111\156\143\056\061\047\060\045\006\003\125\004\003\023
+\036\104\151\147\151\103\145\162\164\040\123\115\111\115\105\040
+\122\123\101\064\060\071\066\040\122\157\157\164\040\107\065\060
+\036\027\015\062\061\060\061\061\065\060\060\060\060\060\060\132
+\027\015\064\066\060\061\061\064\062\063\065\071\065\071\132\060
+\117\061\013\060\011\006\003\125\004\006\023\002\125\123\061\027
+\060\025\006\003\125\004\012\023\016\104\151\147\151\103\145\162
+\164\054\040\111\156\143\056\061\047\060\045\006\003\125\004\003
+\023\036\104\151\147\151\103\145\162\164\040\123\115\111\115\105
+\040\122\123\101\064\060\071\066\040\122\157\157\164\040\107\065
+\060\202\002\042\060\015\006\011\052\206\110\206\367\015\001\001
+\001\005\000\003\202\002\017\000\060\202\002\012\002\202\002\001
+\000\340\152\133\331\370\371\175\354\265\173\357\137\335\134\064
+\330\332\135\321\313\145\165\253\041\174\133\000\324\202\157\105
+\205\101\212\251\022\002\162\062\360\024\365\003\165\273\143\227
+\111\017\100\231\013\032\036\126\247\322\320\341\253\335\345\004
+\033\343\037\024\022\002\210\365\240\200\011\366\047\232\120\360
+\272\343\242\340\254\152\024\221\265\153\070\020\172\242\061\341
+\221\033\267\271\360\053\133\310\167\011\166\267\121\304\066\012
+\231\123\124\104\045\267\011\065\206\027\005\126\223\075\101\267
+\002\327\142\037\212\222\021\207\352\021\155\352\010\021\334\261
+\170\110\111\222\366\264\121\200\170\043\330\376\341\126\032\072
+\220\023\126\064\211\325\342\225\213\137\336\262\314\373\077\070
+\267\205\367\352\236\277\056\241\056\057\115\175\152\021\056\066
+\240\377\021\010\004\225\125\340\033\073\147\223\251\224\125\352
+\062\355\006\072\177\302\177\343\255\023\047\321\064\101\263\060
+\303\277\264\210\370\003\202\244\337\076\253\170\167\240\131\223
+\161\347\335\353\000\004\173\314\110\071\050\340\036\243\025\151
+\310\066\262\241\013\227\337\125\326\357\221\234\244\366\026\367
+\121\012\356\003\043\221\334\004\377\340\335\070\366\042\003\000
+\302\007\161\032\022\311\327\106\052\224\033\315\326\273\033\356
+\277\276\115\120\130\260\013\315\060\166\051\365\317\345\266\152
+\057\166\260\260\151\152\320\155\145\030\065\176\223\274\162\027
+\301\125\102\315\057\302\045\273\364\375\035\241\144\042\124\135
+\342\236\162\101\204\156\161\226\352\105\007\266\136\172\112\206
+\235\163\144\167\070\003\322\017\123\245\125\040\304\115\377\150
+\157\125\251\352\335\161\344\117\331\205\243\174\116\051\002\236
+\013\011\362\032\123\314\000\246\335\321\064\366\015\301\060\261
+\234\002\144\254\065\355\245\260\051\261\322\225\063\017\322\040
+\063\275\354\043\113\362\031\371\332\230\144\344\054\061\037\056
+\341\215\034\004\225\050\115\214\130\315\113\345\163\202\206\214
+\354\250\326\171\134\373\144\273\334\014\114\050\366\027\257\342
+\150\326\026\206\230\333\374\001\334\061\272\370\234\016\371\050
+\106\112\341\375\226\006\105\171\021\150\027\145\134\213\046\207
+\133\002\003\001\000\001\243\102\060\100\060\035\006\003\125\035
+\016\004\026\004\024\321\243\324\127\035\117\125\333\165\114\134
+\102\236\143\026\316\264\306\073\037\060\016\006\003\125\035\017
+\001\001\377\004\004\003\002\001\206\060\017\006\003\125\035\023
+\001\001\377\004\005\060\003\001\001\377\060\015\006\011\052\206
+\110\206\367\015\001\001\014\005\000\003\202\002\001\000\007\247
+\012\336\123\273\232\353\160\277\262\066\220\315\344\247\270\361
+\014\344\135\132\035\170\145\374\311\270\036\043\021\127\174\151
+\065\155\001\377\123\120\277\007\016\272\307\001\077\130\052\224
+\165\003\253\034\013\043\334\033\212\036\067\075\035\130\217\163
+\331\263\052\157\337\020\240\133\014\247\312\260\177\271\044\242
+\001\065\062\345\136\106\101\353\330\177\163\347\102\351\244\121
+\046\167\201\012\250\353\017\012\120\235\176\212\040\147\374\013
+\216\072\021\323\305\214\140\030\331\113\261\374\324\361\264\111
+\116\256\207\341\321\373\166\241\137\363\006\317\227\226\014\351
+\236\165\201\134\123\015\042\374\066\346\111\156\164\333\000\205
+\215\174\042\240\216\373\020\114\324\142\023\133\357\113\162\046
+\213\374\116\212\217\376\227\020\123\305\170\213\102\144\033\137
+\340\211\375\273\011\177\120\340\124\205\046\021\152\035\145\371
+\111\051\334\174\066\337\373\075\367\322\254\356\062\215\156\246
+\175\071\234\105\304\312\015\365\073\264\171\123\245\057\126\307
+\121\305\212\114\144\135\220\103\043\216\153\114\027\170\314\350
+\277\365\073\344\250\110\317\255\233\014\337\062\112\323\331\022
+\216\043\170\015\055\257\237\257\236\074\011\302\227\000\355\072
+\151\034\161\077\071\337\323\217\304\146\365\357\066\224\017\363
+\335\222\266\226\137\220\246\335\163\252\246\040\224\224\045\152
+\011\014\162\344\023\043\140\114\243\312\027\056\173\147\000\333
+\320\315\352\172\037\071\046\127\211\060\167\313\116\345\225\105
+\117\137\373\066\134\075\371\040\265\072\020\045\117\223\062\132
+\356\301\226\350\351\126\004\260\111\141\115\354\170\250\235\030
+\301\377\330\352\057\126\357\225\053\173\004\136\147\343\125\100
+\355\071\004\371\013\171\365\152\214\134\017\211\232\220\307\315
+\213\336\333\046\065\241\156\315\263\102\362\242\017\073\014\216
+\223\377\024\317\374\367\223\367\344\101\010\156\031\122\021\017
+\123\031\163\170\014\317\330\205\201\370\255\125\310\260\236\106
+\143\257\234\122\356\134\277\360\300\133\067\036\011\040\322\076
+\043\306\241\025\112\016\066\176\060\305\171\152\274\042\210\331
+\014\122\100\037\335\116\017\147\046\026\322\255\027\034
+END
+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
+
+# Trust for "DigiCert SMIME RSA4096 Root G5"
+# Issuer: CN=DigiCert SMIME RSA4096 Root G5,O="DigiCert, Inc.",C=US
+# Serial Number:05:f6:ba:04:23:83:46:cb:7d:5c:e6:b9:5b:ba:1c:55
+# Subject: CN=DigiCert SMIME RSA4096 Root G5,O="DigiCert, Inc.",C=US
+# Not Valid Before: Fri Jan 15 00:00:00 2021
+# Not Valid After : Sun Jan 14 23:59:59 2046
+# Fingerprint (SHA-256): 90:37:0D:3E:FA:88:BF:58:C3:01:05:BA:25:10:4A:35:84:60:A7:FA:52:DF:C2:01:1D:F2:33:A0:F4:17:91:2A
+# Fingerprint (SHA1): 5B:C5:AD:E2:9A:A7:54:DA:84:89:53:A5:FE:D7:5B:46:86:D0:57:08
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "DigiCert SMIME RSA4096 Root G5"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\133\305\255\342\232\247\124\332\204\211\123\245\376\327\133\106
+\206\320\127\010
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\321\173\340\265\077\065\162\237\175\276\013\245\244\035\251\156
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\117\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\027\060\025\006\003\125\004\012\023\016\104\151\147\151\103\145
+\162\164\054\040\111\156\143\056\061\047\060\045\006\003\125\004
+\003\023\036\104\151\147\151\103\145\162\164\040\123\115\111\115
+\105\040\122\123\101\064\060\071\066\040\122\157\157\164\040\107
+\065
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\010\045\241\337\312\063\313\131\002
+\002\020\005\366\272\004\043\203\106\313\175\134\346\271\133\272
+\034\125
 END
-CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
 CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
 CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
 CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
 
 #
-# Certificate "TrustCor ECA-1"
+# Certificate "Certainly Root R1"
 #
-# Issuer: CN=TrustCor ECA-1,OU=TrustCor Certificate Authority,O=TrustCor Systems S. de R.L.,L=Panama City,ST=Panama,C=PA
-# Serial Number:00:84:82:2c:5f:1c:62:d0:40
-# Subject: CN=TrustCor ECA-1,OU=TrustCor Certificate Authority,O=TrustCor Systems S. de R.L.,L=Panama City,ST=Panama,C=PA
-# Not Valid Before: Thu Feb 04 12:32:33 2016
-# Not Valid After : Mon Dec 31 17:28:07 2029
-# Fingerprint (SHA-256): 5A:88:5D:B1:9C:01:D9:12:C5:75:93:88:93:8C:AF:BB:DF:03:1A:B2:D4:8E:91:EE:15:58:9B:42:97:1D:03:9C
-# Fingerprint (SHA1): 58:D1:DF:95:95:67:6B:63:C0:F0:5B:1C:17:4D:8B:84:0B:C8:78:BD
+# Issuer: CN=Certainly Root R1,O=Certainly,C=US
+# Serial Number:00:8e:0f:f9:4b:90:71:68:65:33:54:f4:d4:44:39:b7:e0
+# Subject: CN=Certainly Root R1,O=Certainly,C=US
+# Not Valid Before: Thu Apr 01 00:00:00 2021
+# Not Valid After : Sun Apr 01 00:00:00 2046
+# Fingerprint (SHA-256): 77:B8:2C:D8:64:4C:43:05:F7:AC:C5:CB:15:6B:45:67:50:04:03:3D:51:C6:0C:62:02:A8:E0:C3:34:67:D3:A0
+# Fingerprint (SHA1): A0:50:EE:0F:28:71:F4:27:B2:12:6D:6F:50:96:25:BA:CC:86:42:AF
 CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "TrustCor ECA-1"
+CKA_LABEL UTF8 "Certainly Root R1"
 CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
 CKA_SUBJECT MULTILINE_OCTAL
-\060\201\234\061\013\060\011\006\003\125\004\006\023\002\120\101
-\061\017\060\015\006\003\125\004\010\014\006\120\141\156\141\155
-\141\061\024\060\022\006\003\125\004\007\014\013\120\141\156\141
-\155\141\040\103\151\164\171\061\044\060\042\006\003\125\004\012
-\014\033\124\162\165\163\164\103\157\162\040\123\171\163\164\145
-\155\163\040\123\056\040\144\145\040\122\056\114\056\061\047\060
-\045\006\003\125\004\013\014\036\124\162\165\163\164\103\157\162
-\040\103\145\162\164\151\146\151\143\141\164\145\040\101\165\164
-\150\157\162\151\164\171\061\027\060\025\006\003\125\004\003\014
-\016\124\162\165\163\164\103\157\162\040\105\103\101\055\061
+\060\075\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\022\060\020\006\003\125\004\012\023\011\103\145\162\164\141\151
+\156\154\171\061\032\060\030\006\003\125\004\003\023\021\103\145
+\162\164\141\151\156\154\171\040\122\157\157\164\040\122\061
 END
 CKA_ID UTF8 "0"
 CKA_ISSUER MULTILINE_OCTAL
-\060\201\234\061\013\060\011\006\003\125\004\006\023\002\120\101
-\061\017\060\015\006\003\125\004\010\014\006\120\141\156\141\155
-\141\061\024\060\022\006\003\125\004\007\014\013\120\141\156\141
-\155\141\040\103\151\164\171\061\044\060\042\006\003\125\004\012
-\014\033\124\162\165\163\164\103\157\162\040\123\171\163\164\145
-\155\163\040\123\056\040\144\145\040\122\056\114\056\061\047\060
-\045\006\003\125\004\013\014\036\124\162\165\163\164\103\157\162
-\040\103\145\162\164\151\146\151\143\141\164\145\040\101\165\164
-\150\157\162\151\164\171\061\027\060\025\006\003\125\004\003\014
-\016\124\162\165\163\164\103\157\162\040\105\103\101\055\061
+\060\075\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\022\060\020\006\003\125\004\012\023\011\103\145\162\164\141\151
+\156\154\171\061\032\060\030\006\003\125\004\003\023\021\103\145
+\162\164\141\151\156\154\171\040\122\157\157\164\040\122\061
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\011\000\204\202\054\137\034\142\320\100
+\002\021\000\216\017\371\113\220\161\150\145\063\124\364\324\104
+\071\267\340
 END
 CKA_VALUE MULTILINE_OCTAL
-\060\202\004\040\060\202\003\010\240\003\002\001\002\002\011\000
-\204\202\054\137\034\142\320\100\060\015\006\011\052\206\110\206
-\367\015\001\001\013\005\000\060\201\234\061\013\060\011\006\003
-\125\004\006\023\002\120\101\061\017\060\015\006\003\125\004\010
-\014\006\120\141\156\141\155\141\061\024\060\022\006\003\125\004
-\007\014\013\120\141\156\141\155\141\040\103\151\164\171\061\044
-\060\042\006\003\125\004\012\014\033\124\162\165\163\164\103\157
-\162\040\123\171\163\164\145\155\163\040\123\056\040\144\145\040
-\122\056\114\056\061\047\060\045\006\003\125\004\013\014\036\124
-\162\165\163\164\103\157\162\040\103\145\162\164\151\146\151\143
-\141\164\145\040\101\165\164\150\157\162\151\164\171\061\027\060
-\025\006\003\125\004\003\014\016\124\162\165\163\164\103\157\162
-\040\105\103\101\055\061\060\036\027\015\061\066\060\062\060\064
-\061\062\063\062\063\063\132\027\015\062\071\061\062\063\061\061
-\067\062\070\060\067\132\060\201\234\061\013\060\011\006\003\125
-\004\006\023\002\120\101\061\017\060\015\006\003\125\004\010\014
-\006\120\141\156\141\155\141\061\024\060\022\006\003\125\004\007
-\014\013\120\141\156\141\155\141\040\103\151\164\171\061\044\060
-\042\006\003\125\004\012\014\033\124\162\165\163\164\103\157\162
-\040\123\171\163\164\145\155\163\040\123\056\040\144\145\040\122
-\056\114\056\061\047\060\045\006\003\125\004\013\014\036\124\162
-\165\163\164\103\157\162\040\103\145\162\164\151\146\151\143\141
-\164\145\040\101\165\164\150\157\162\151\164\171\061\027\060\025
-\006\003\125\004\003\014\016\124\162\165\163\164\103\157\162\040
-\105\103\101\055\061\060\202\001\042\060\015\006\011\052\206\110
-\206\367\015\001\001\001\005\000\003\202\001\017\000\060\202\001
-\012\002\202\001\001\000\317\217\340\021\265\237\250\166\166\333
-\337\017\124\357\163\143\051\202\255\107\306\243\153\355\376\137
-\063\370\103\121\351\032\063\221\061\027\240\164\304\324\247\001
-\346\262\222\076\152\235\355\016\371\164\230\100\323\077\003\200
-\006\202\100\350\261\342\247\121\247\035\203\046\153\253\336\372
-\027\221\053\330\306\254\036\261\236\031\001\325\227\246\352\015
-\267\304\125\037\047\174\322\010\325\166\037\051\025\207\100\071
-\335\070\105\021\165\320\232\247\064\340\277\315\310\122\035\271
-\107\176\015\270\273\306\014\366\163\127\026\132\176\103\221\037
-\125\072\306\155\104\004\252\234\251\234\247\114\211\027\203\256
-\243\004\136\122\200\213\036\022\045\021\031\327\014\175\175\061
-\104\101\352\333\257\260\034\357\201\320\054\305\232\041\233\075
-\355\102\073\120\046\362\354\316\161\141\006\142\041\124\116\177
-\301\235\076\177\040\214\200\313\052\330\227\142\310\203\063\221
-\175\260\242\132\017\127\350\073\314\362\045\262\324\174\057\354
-\115\306\241\072\025\172\347\266\135\065\365\366\110\112\066\105
-\146\324\272\230\130\301\002\003\001\000\001\243\143\060\141\060
-\035\006\003\125\035\016\004\026\004\024\104\236\110\365\314\155
-\110\324\240\113\177\376\131\044\057\203\227\231\232\206\060\037
-\006\003\125\035\043\004\030\060\026\200\024\104\236\110\365\314
-\155\110\324\240\113\177\376\131\044\057\203\227\231\232\206\060
-\017\006\003\125\035\023\001\001\377\004\005\060\003\001\001\377
-\060\016\006\003\125\035\017\001\001\377\004\004\003\002\001\206
-\060\015\006\011\052\206\110\206\367\015\001\001\013\005\000\003
-\202\001\001\000\005\076\065\134\025\160\233\311\307\163\141\157
-\162\053\324\302\217\362\103\135\002\316\304\224\271\224\021\203
-\147\135\342\147\154\165\166\277\273\014\252\066\306\255\107\223
-\143\334\036\176\326\336\056\376\351\031\062\070\003\177\024\366
-\000\163\054\131\261\041\006\341\373\254\030\225\014\243\377\231
-\226\367\053\047\233\325\044\314\035\335\301\072\340\230\104\260
-\304\344\076\167\261\163\251\144\054\366\034\001\174\077\135\105
-\205\300\205\347\045\217\225\334\027\363\074\237\032\156\260\312
-\343\035\052\351\114\143\372\044\141\142\326\332\176\266\034\154
-\365\002\035\324\052\335\125\220\353\052\021\107\074\056\136\164
-\262\202\042\245\175\123\037\105\354\047\221\175\347\042\026\350
-\300\150\066\330\306\361\117\200\104\062\371\341\321\321\035\252
-\336\250\253\234\004\257\255\040\016\144\230\115\245\153\300\110
-\130\226\151\115\334\007\214\121\223\242\337\237\017\075\213\140
-\264\202\215\252\010\116\142\105\340\371\013\322\340\340\074\133
-\336\134\161\047\045\302\346\003\201\213\020\123\343\307\125\242
-\264\237\327\346
+\060\202\005\107\060\202\003\057\240\003\002\001\002\002\021\000
+\216\017\371\113\220\161\150\145\063\124\364\324\104\071\267\340
+\060\015\006\011\052\206\110\206\367\015\001\001\013\005\000\060
+\075\061\013\060\011\006\003\125\004\006\023\002\125\123\061\022
+\060\020\006\003\125\004\012\023\011\103\145\162\164\141\151\156
+\154\171\061\032\060\030\006\003\125\004\003\023\021\103\145\162
+\164\141\151\156\154\171\040\122\157\157\164\040\122\061\060\036
+\027\015\062\061\060\064\060\061\060\060\060\060\060\060\132\027
+\015\064\066\060\064\060\061\060\060\060\060\060\060\132\060\075
+\061\013\060\011\006\003\125\004\006\023\002\125\123\061\022\060
+\020\006\003\125\004\012\023\011\103\145\162\164\141\151\156\154
+\171\061\032\060\030\006\003\125\004\003\023\021\103\145\162\164
+\141\151\156\154\171\040\122\157\157\164\040\122\061\060\202\002
+\042\060\015\006\011\052\206\110\206\367\015\001\001\001\005\000
+\003\202\002\017\000\060\202\002\012\002\202\002\001\000\320\066
+\324\037\352\335\253\344\321\266\346\373\042\300\335\023\015\152
+\173\042\023\034\227\074\150\143\146\062\234\003\265\215\244\201
+\203\332\170\060\021\317\334\262\053\276\222\277\216\344\304\023
+\276\244\150\114\332\002\150\026\164\276\262\335\004\344\153\052
+\335\067\037\140\054\333\365\367\241\174\225\267\014\160\206\056
+\361\072\357\122\367\314\323\233\371\213\276\016\337\061\267\235
+\150\134\222\246\365\345\363\012\064\265\377\173\242\344\207\241
+\306\257\027\000\357\003\221\355\251\034\116\161\075\322\213\154
+\211\364\170\206\346\152\111\240\316\265\322\260\253\233\366\364
+\324\056\343\162\371\066\306\353\025\267\045\214\072\374\045\015
+\263\042\163\041\164\310\112\226\141\222\365\057\013\030\245\364
+\255\342\356\101\275\001\171\372\226\214\215\027\002\060\264\371
+\257\170\032\214\264\066\020\020\007\005\160\320\364\061\220\212
+\121\305\206\046\171\262\021\210\136\305\360\012\124\315\111\246
+\277\002\234\322\104\247\355\343\170\357\106\136\155\161\321\171
+\160\034\106\137\121\351\311\067\334\137\176\151\173\101\337\064
+\105\340\073\204\364\241\212\012\066\236\067\314\142\122\341\211
+\015\050\371\172\043\261\015\075\075\232\375\235\201\357\054\220
+\300\173\104\116\273\111\340\016\112\126\222\274\313\265\335\171
+\027\211\221\336\141\211\164\222\250\343\062\205\276\116\205\244
+\113\131\313\053\305\170\216\161\124\320\002\067\231\214\345\111
+\352\340\124\162\244\021\006\057\013\214\301\133\276\265\241\260
+\123\156\234\270\140\221\037\131\153\371\055\364\224\012\227\265
+\354\305\166\003\124\033\145\122\272\114\222\126\121\065\240\100
+\330\051\333\256\122\166\073\055\060\100\233\212\320\102\126\264
+\267\210\001\244\207\073\123\226\315\243\026\217\363\146\252\027
+\261\307\140\340\301\103\005\014\356\233\133\140\157\006\134\207
+\133\047\371\100\021\236\234\063\301\267\345\065\127\005\177\047
+\316\027\040\214\034\374\361\373\332\061\051\111\355\365\013\204
+\247\117\301\366\116\302\050\234\372\356\340\257\007\373\063\021
+\172\041\117\013\041\020\266\100\072\253\042\072\004\234\213\233
+\204\206\162\232\322\247\245\304\264\165\221\251\053\043\002\003
+\001\000\001\243\102\060\100\060\016\006\003\125\035\017\001\001
+\377\004\004\003\002\001\006\060\017\006\003\125\035\023\001\001
+\377\004\005\060\003\001\001\377\060\035\006\003\125\035\016\004
+\026\004\024\340\252\077\045\215\237\104\134\301\072\350\056\256
+\167\114\204\076\147\014\364\060\015\006\011\052\206\110\206\367
+\015\001\001\013\005\000\003\202\002\001\000\271\127\257\270\022
+\332\127\203\217\150\013\063\035\003\123\125\364\225\160\344\053
+\075\260\071\353\372\211\142\375\367\326\030\004\057\041\064\335
+\361\150\360\325\226\132\336\302\200\243\301\215\306\152\367\131
+\167\256\025\144\317\133\171\005\167\146\352\214\323\153\015\335
+\361\131\054\301\063\245\060\200\025\105\007\105\032\061\042\266
+\222\000\253\231\115\072\217\167\257\251\042\312\057\143\312\025
+\326\307\306\360\075\154\374\034\015\230\020\141\236\021\242\042
+\327\012\362\221\172\153\071\016\057\060\303\066\111\237\340\351
+\017\002\104\120\067\224\125\175\352\237\366\073\272\224\245\114
+\351\274\076\121\264\350\312\222\066\124\155\134\045\050\332\335
+\255\024\375\323\356\342\042\005\353\320\362\267\150\022\327\132
+\212\101\032\306\222\245\132\073\143\105\117\277\341\072\167\042
+\057\134\277\106\371\132\003\205\023\102\137\312\336\123\327\142
+\265\246\065\004\302\107\377\231\375\204\337\134\316\351\136\200
+\050\101\362\175\347\036\220\330\117\166\076\202\074\015\374\245
+\003\372\173\032\331\105\036\140\332\304\216\371\374\053\311\173
+\225\305\052\377\252\211\337\202\061\017\162\377\014\047\327\012
+\036\126\000\120\036\014\220\301\226\265\330\024\205\273\247\015
+\026\301\370\007\044\033\272\205\241\032\005\011\200\272\225\143
+\311\072\354\045\237\177\235\272\244\107\025\233\104\160\361\152
+\113\326\070\136\103\363\030\176\120\156\351\132\050\346\145\346
+\167\033\072\375\035\276\003\046\243\333\324\341\273\176\226\047
+\053\035\356\244\373\332\045\124\023\003\336\071\306\303\037\115
+\220\354\217\033\112\322\034\355\205\225\070\120\171\106\326\301
+\220\120\061\251\134\232\156\035\365\063\126\213\247\231\322\362
+\310\054\063\223\222\060\307\116\214\145\063\020\144\027\375\044
+\027\226\321\215\302\072\152\053\353\023\213\104\362\041\363\112
+\032\267\167\137\327\355\210\244\162\345\071\037\225\235\276\147
+\301\160\021\075\273\364\370\111\267\343\046\227\072\237\322\137
+\174\373\300\231\174\071\051\340\173\035\277\015\247\217\322\051
+\064\156\044\025\313\336\220\136\277\032\304\146\352\302\346\272
+\071\137\212\231\251\101\131\007\260\054\257
 END
 CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
-# Trust for "TrustCor ECA-1"
-# Issuer: CN=TrustCor ECA-1,OU=TrustCor Certificate Authority,O=TrustCor Systems S. de R.L.,L=Panama City,ST=Panama,C=PA
-# Serial Number:00:84:82:2c:5f:1c:62:d0:40
-# Subject: CN=TrustCor ECA-1,OU=TrustCor Certificate Authority,O=TrustCor Systems S. de R.L.,L=Panama City,ST=Panama,C=PA
-# Not Valid Before: Thu Feb 04 12:32:33 2016
-# Not Valid After : Mon Dec 31 17:28:07 2029
-# Fingerprint (SHA-256): 5A:88:5D:B1:9C:01:D9:12:C5:75:93:88:93:8C:AF:BB:DF:03:1A:B2:D4:8E:91:EE:15:58:9B:42:97:1D:03:9C
-# Fingerprint (SHA1): 58:D1:DF:95:95:67:6B:63:C0:F0:5B:1C:17:4D:8B:84:0B:C8:78:BD
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
+
+# Trust for "Certainly Root R1"
+# Issuer: CN=Certainly Root R1,O=Certainly,C=US
+# Serial Number:00:8e:0f:f9:4b:90:71:68:65:33:54:f4:d4:44:39:b7:e0
+# Subject: CN=Certainly Root R1,O=Certainly,C=US
+# Not Valid Before: Thu Apr 01 00:00:00 2021
+# Not Valid After : Sun Apr 01 00:00:00 2046
+# Fingerprint (SHA-256): 77:B8:2C:D8:64:4C:43:05:F7:AC:C5:CB:15:6B:45:67:50:04:03:3D:51:C6:0C:62:02:A8:E0:C3:34:67:D3:A0
+# Fingerprint (SHA1): A0:50:EE:0F:28:71:F4:27:B2:12:6D:6F:50:96:25:BA:CC:86:42:AF
 CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "TrustCor ECA-1"
+CKA_LABEL UTF8 "Certainly Root R1"
 CKA_CERT_SHA1_HASH MULTILINE_OCTAL
-\130\321\337\225\225\147\153\143\300\360\133\034\027\115\213\204
-\013\310\170\275
+\240\120\356\017\050\161\364\047\262\022\155\157\120\226\045\272
+\314\206\102\257
 END
 CKA_CERT_MD5_HASH MULTILINE_OCTAL
-\047\222\043\035\012\365\100\174\351\346\153\235\330\365\347\154
+\007\160\324\076\202\207\240\372\063\066\023\364\372\063\347\022
 END
 CKA_ISSUER MULTILINE_OCTAL
-\060\201\234\061\013\060\011\006\003\125\004\006\023\002\120\101
-\061\017\060\015\006\003\125\004\010\014\006\120\141\156\141\155
-\141\061\024\060\022\006\003\125\004\007\014\013\120\141\156\141
-\155\141\040\103\151\164\171\061\044\060\042\006\003\125\004\012
-\014\033\124\162\165\163\164\103\157\162\040\123\171\163\164\145
-\155\163\040\123\056\040\144\145\040\122\056\114\056\061\047\060
-\045\006\003\125\004\013\014\036\124\162\165\163\164\103\157\162
-\040\103\145\162\164\151\146\151\143\141\164\145\040\101\165\164
-\150\157\162\151\164\171\061\027\060\025\006\003\125\004\003\014
-\016\124\162\165\163\164\103\157\162\040\105\103\101\055\061
+\060\075\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\022\060\020\006\003\125\004\012\023\011\103\145\162\164\141\151
+\156\154\171\061\032\060\030\006\003\125\004\003\023\021\103\145
+\162\164\141\151\156\154\171\040\122\157\157\164\040\122\061
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\011\000\204\202\054\137\034\142\320\100
+\002\021\000\216\017\371\113\220\161\150\145\063\124\364\324\104
+\071\267\340
 END
 CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
-CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
 CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
 CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
 
 #
-# Certificate "SSL.com Root Certification Authority RSA"
+# Certificate "Certainly Root E1"
 #
-# Issuer: CN=SSL.com Root Certification Authority RSA,O=SSL Corporation,L=Houston,ST=Texas,C=US
-# Serial Number:7b:2c:9b:d3:16:80:32:99
-# Subject: CN=SSL.com Root Certification Authority RSA,O=SSL Corporation,L=Houston,ST=Texas,C=US
-# Not Valid Before: Fri Feb 12 17:39:39 2016
-# Not Valid After : Tue Feb 12 17:39:39 2041
-# Fingerprint (SHA-256): 85:66:6A:56:2E:E0:BE:5C:E9:25:C1:D8:89:0A:6F:76:A8:7E:C1:6D:4D:7D:5F:29:EA:74:19:CF:20:12:3B:69
-# Fingerprint (SHA1): B7:AB:33:08:D1:EA:44:77:BA:14:80:12:5A:6F:BD:A9:36:49:0C:BB
+# Issuer: CN=Certainly Root E1,O=Certainly,C=US
+# Serial Number:06:25:33:b1:47:03:33:27:5c:f9:8d:9a:b9:bf:cc:f8
+# Subject: CN=Certainly Root E1,O=Certainly,C=US
+# Not Valid Before: Thu Apr 01 00:00:00 2021
+# Not Valid After : Sun Apr 01 00:00:00 2046
+# Fingerprint (SHA-256): B4:58:5F:22:E4:AC:75:6A:4E:86:12:A1:36:1C:5D:9D:03:1A:93:FD:84:FE:BB:77:8F:A3:06:8B:0F:C4:2D:C2
+# Fingerprint (SHA1): F9:E1:6D:DC:01:89:CF:D5:82:45:63:3E:C5:37:7D:C2:EB:93:6F:2B
 CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "SSL.com Root Certification Authority RSA"
+CKA_LABEL UTF8 "Certainly Root E1"
 CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
 CKA_SUBJECT MULTILINE_OCTAL
-\060\174\061\013\060\011\006\003\125\004\006\023\002\125\123\061
-\016\060\014\006\003\125\004\010\014\005\124\145\170\141\163\061
-\020\060\016\006\003\125\004\007\014\007\110\157\165\163\164\157
-\156\061\030\060\026\006\003\125\004\012\014\017\123\123\114\040
-\103\157\162\160\157\162\141\164\151\157\156\061\061\060\057\006
-\003\125\004\003\014\050\123\123\114\056\143\157\155\040\122\157
-\157\164\040\103\145\162\164\151\146\151\143\141\164\151\157\156
-\040\101\165\164\150\157\162\151\164\171\040\122\123\101
+\060\075\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\022\060\020\006\003\125\004\012\023\011\103\145\162\164\141\151
+\156\154\171\061\032\060\030\006\003\125\004\003\023\021\103\145
+\162\164\141\151\156\154\171\040\122\157\157\164\040\105\061
 END
 CKA_ID UTF8 "0"
 CKA_ISSUER MULTILINE_OCTAL
-\060\174\061\013\060\011\006\003\125\004\006\023\002\125\123\061
-\016\060\014\006\003\125\004\010\014\005\124\145\170\141\163\061
-\020\060\016\006\003\125\004\007\014\007\110\157\165\163\164\157
-\156\061\030\060\026\006\003\125\004\012\014\017\123\123\114\040
-\103\157\162\160\157\162\141\164\151\157\156\061\061\060\057\006
-\003\125\004\003\014\050\123\123\114\056\143\157\155\040\122\157
-\157\164\040\103\145\162\164\151\146\151\143\141\164\151\157\156
-\040\101\165\164\150\157\162\151\164\171\040\122\123\101
+\060\075\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\022\060\020\006\003\125\004\012\023\011\103\145\162\164\141\151
+\156\154\171\061\032\060\030\006\003\125\004\003\023\021\103\145
+\162\164\141\151\156\154\171\040\122\157\157\164\040\105\061
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\010\173\054\233\323\026\200\062\231
+\002\020\006\045\063\261\107\003\063\047\134\371\215\232\271\277
+\314\370
 END
-CKA_VALUE MULTILINE_OCTAL
-\060\202\005\335\060\202\003\305\240\003\002\001\002\002\010\173
-\054\233\323\026\200\062\231\060\015\006\011\052\206\110\206\367
-\015\001\001\013\005\000\060\174\061\013\060\011\006\003\125\004
-\006\023\002\125\123\061\016\060\014\006\003\125\004\010\014\005
-\124\145\170\141\163\061\020\060\016\006\003\125\004\007\014\007
-\110\157\165\163\164\157\156\061\030\060\026\006\003\125\004\012
-\014\017\123\123\114\040\103\157\162\160\157\162\141\164\151\157
-\156\061\061\060\057\006\003\125\004\003\014\050\123\123\114\056
-\143\157\155\040\122\157\157\164\040\103\145\162\164\151\146\151
-\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164\171
-\040\122\123\101\060\036\027\015\061\066\060\062\061\062\061\067
-\063\071\063\071\132\027\015\064\061\060\062\061\062\061\067\063
-\071\063\071\132\060\174\061\013\060\011\006\003\125\004\006\023
-\002\125\123\061\016\060\014\006\003\125\004\010\014\005\124\145
-\170\141\163\061\020\060\016\006\003\125\004\007\014\007\110\157
-\165\163\164\157\156\061\030\060\026\006\003\125\004\012\014\017
-\123\123\114\040\103\157\162\160\157\162\141\164\151\157\156\061
-\061\060\057\006\003\125\004\003\014\050\123\123\114\056\143\157
-\155\040\122\157\157\164\040\103\145\162\164\151\146\151\143\141
-\164\151\157\156\040\101\165\164\150\157\162\151\164\171\040\122
-\123\101\060\202\002\042\060\015\006\011\052\206\110\206\367\015
-\001\001\001\005\000\003\202\002\017\000\060\202\002\012\002\202
-\002\001\000\371\017\335\243\053\175\313\320\052\376\354\147\205
-\246\347\056\033\272\167\341\343\365\257\244\354\372\112\135\221
-\304\127\107\153\030\167\153\166\362\375\223\344\075\017\302\026
-\236\013\146\303\126\224\236\027\203\205\316\126\357\362\026\375
-\000\142\365\042\011\124\350\145\027\116\101\271\340\117\106\227
-\252\033\310\270\156\142\136\151\261\137\333\052\002\176\374\154
-\312\363\101\330\355\320\350\374\077\141\110\355\260\003\024\035
-\020\016\113\031\340\273\116\354\206\145\377\066\363\136\147\002
-\013\235\206\125\141\375\172\070\355\376\342\031\000\267\157\241
-\120\142\165\164\074\240\372\310\045\222\264\156\172\042\307\370
-\036\241\343\262\335\221\061\253\053\035\004\377\245\112\004\067
-\351\205\244\063\053\375\342\326\125\064\174\031\244\112\150\307
-\262\250\323\267\312\241\223\210\353\301\227\274\214\371\035\331
-\042\204\044\164\307\004\075\152\251\051\223\314\353\270\133\341
-\376\137\045\252\064\130\310\301\043\124\235\033\230\021\303\070
-\234\176\075\206\154\245\017\100\206\174\002\364\134\002\117\050
-\313\256\161\237\017\072\310\063\376\021\045\065\352\374\272\305
-\140\075\331\174\030\325\262\251\323\165\170\003\162\042\312\072
-\303\037\357\054\345\056\251\372\236\054\266\121\106\375\257\003
-\326\352\140\150\352\205\026\066\153\205\351\036\300\263\335\304
-\044\334\200\052\201\101\155\224\076\310\340\311\201\101\000\236
-\136\277\177\305\010\230\242\030\054\102\100\263\371\157\070\047
-\113\116\200\364\075\201\107\340\210\174\352\034\316\265\165\134
-\121\056\034\053\177\032\162\050\347\000\265\321\164\306\327\344
-\237\255\007\223\266\123\065\065\374\067\344\303\366\135\026\276
-\041\163\336\222\012\370\240\143\152\274\226\222\152\076\370\274
-\145\125\233\336\365\015\211\046\004\374\045\032\246\045\151\313
-\302\155\312\174\342\131\137\227\254\353\357\056\310\274\327\033
-\131\074\053\314\362\031\310\223\153\047\143\031\317\374\351\046
-\370\312\161\233\177\223\376\064\147\204\116\231\353\374\263\170
-\011\063\160\272\146\246\166\355\033\163\353\032\245\015\304\042
-\023\040\224\126\012\116\054\154\116\261\375\317\234\011\272\242
-\063\355\207\002\003\001\000\001\243\143\060\141\060\035\006\003
-\125\035\016\004\026\004\024\335\004\011\007\242\365\172\175\122
-\123\022\222\225\356\070\200\045\015\246\131\060\017\006\003\125
-\035\023\001\001\377\004\005\060\003\001\001\377\060\037\006\003
-\125\035\043\004\030\060\026\200\024\335\004\011\007\242\365\172
-\175\122\123\022\222\225\356\070\200\045\015\246\131\060\016\006
-\003\125\035\017\001\001\377\004\004\003\002\001\206\060\015\006
-\011\052\206\110\206\367\015\001\001\013\005\000\003\202\002\001
-\000\040\030\021\224\051\373\046\235\034\036\036\160\141\361\225
-\162\223\161\044\255\150\223\130\216\062\257\033\263\160\003\374
-\045\053\164\205\220\075\170\152\364\271\213\245\227\073\265\030
-\221\273\036\247\371\100\133\221\371\125\231\257\036\021\320\134
-\035\247\146\343\261\224\007\014\062\071\246\352\033\260\171\330
-\035\234\160\104\343\212\335\304\371\225\037\212\070\103\077\001
-\205\245\107\247\075\106\262\274\345\042\150\367\173\234\330\054
-\076\012\041\310\055\063\254\277\305\201\231\061\164\301\165\161
-\305\276\261\360\043\105\364\235\153\374\031\143\235\243\274\004
-\306\030\013\045\273\123\211\017\263\200\120\336\105\356\104\177
-\253\224\170\144\230\323\366\050\335\207\330\160\145\164\373\016
-\271\023\353\247\017\141\251\062\226\314\336\273\355\143\114\030
-\273\251\100\367\240\124\156\040\210\161\165\030\352\172\264\064
-\162\340\043\047\167\134\266\220\352\206\045\100\253\357\063\017
-\313\237\202\276\242\040\373\366\265\055\032\346\302\205\261\164
-\017\373\310\145\002\244\122\001\107\335\111\042\301\277\330\353
-\153\254\176\336\354\143\063\025\267\043\010\217\306\017\215\101
-\132\335\216\305\271\217\345\105\077\170\333\272\322\033\100\261
-\376\161\115\077\340\201\242\272\136\264\354\025\340\223\335\010
-\037\176\341\125\231\013\041\336\223\236\012\373\346\243\111\275
-\066\060\376\347\167\262\240\165\227\265\055\201\210\027\145\040
-\367\332\220\000\237\311\122\314\062\312\065\174\365\075\017\330
-\053\327\365\046\154\311\006\064\226\026\352\160\131\032\062\171
-\171\013\266\210\177\017\122\110\075\277\154\330\242\104\056\321
-\116\267\162\130\323\211\023\225\376\104\253\370\327\213\033\156
-\234\274\054\240\133\325\152\000\257\137\067\341\325\372\020\013
-\230\234\206\347\046\217\316\360\354\156\212\127\013\200\343\116
-\262\300\240\143\141\220\272\125\150\067\164\152\266\222\333\237
-\241\206\042\266\145\047\016\354\266\237\102\140\344\147\302\265
-\332\101\013\304\323\213\141\033\274\372\037\221\053\327\104\007
-\136\272\051\254\331\305\351\357\123\110\132\353\200\361\050\130
-\041\315\260\006\125\373\047\077\123\220\160\251\004\036\127\047
-\271
+CKA_VALUE MULTILINE_OCTAL
+\060\202\001\367\060\202\001\175\240\003\002\001\002\002\020\006
+\045\063\261\107\003\063\047\134\371\215\232\271\277\314\370\060
+\012\006\010\052\206\110\316\075\004\003\003\060\075\061\013\060
+\011\006\003\125\004\006\023\002\125\123\061\022\060\020\006\003
+\125\004\012\023\011\103\145\162\164\141\151\156\154\171\061\032
+\060\030\006\003\125\004\003\023\021\103\145\162\164\141\151\156
+\154\171\040\122\157\157\164\040\105\061\060\036\027\015\062\061
+\060\064\060\061\060\060\060\060\060\060\132\027\015\064\066\060
+\064\060\061\060\060\060\060\060\060\132\060\075\061\013\060\011
+\006\003\125\004\006\023\002\125\123\061\022\060\020\006\003\125
+\004\012\023\011\103\145\162\164\141\151\156\154\171\061\032\060
+\030\006\003\125\004\003\023\021\103\145\162\164\141\151\156\154
+\171\040\122\157\157\164\040\105\061\060\166\060\020\006\007\052
+\206\110\316\075\002\001\006\005\053\201\004\000\042\003\142\000
+\004\336\157\370\177\034\337\355\371\107\207\206\261\244\300\212
+\370\202\227\200\352\217\310\112\136\052\175\210\150\247\001\142
+\024\221\044\172\134\236\243\027\175\212\206\041\064\030\120\033
+\020\336\320\067\113\046\307\031\140\200\351\064\275\140\031\066
+\100\326\051\207\011\074\221\172\366\274\023\043\335\131\116\004
+\136\317\310\002\034\030\123\301\061\330\332\040\351\104\215\344
+\166\243\102\060\100\060\016\006\003\125\035\017\001\001\377\004
+\004\003\002\001\006\060\017\006\003\125\035\023\001\001\377\004
+\005\060\003\001\001\377\060\035\006\003\125\035\016\004\026\004
+\024\363\050\030\313\144\165\356\051\052\353\355\256\043\130\070
+\205\353\310\042\007\060\012\006\010\052\206\110\316\075\004\003
+\003\003\150\000\060\145\002\061\000\261\216\132\040\303\262\031
+\142\115\336\260\117\337\156\322\160\212\361\237\176\152\214\346
+\272\336\203\151\312\151\263\251\005\265\226\222\027\207\302\322
+\352\320\173\316\330\101\133\174\256\002\060\106\336\352\313\135
+\232\354\062\302\145\026\260\114\060\134\060\363\332\116\163\206
+\006\330\316\211\004\110\067\067\370\335\063\121\235\160\257\173
+\125\330\001\056\175\005\144\016\206\270\221
 END
 CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
-# Trust for "SSL.com Root Certification Authority RSA"
-# Issuer: CN=SSL.com Root Certification Authority RSA,O=SSL Corporation,L=Houston,ST=Texas,C=US
-# Serial Number:7b:2c:9b:d3:16:80:32:99
-# Subject: CN=SSL.com Root Certification Authority RSA,O=SSL Corporation,L=Houston,ST=Texas,C=US
-# Not Valid Before: Fri Feb 12 17:39:39 2016
-# Not Valid After : Tue Feb 12 17:39:39 2041
-# Fingerprint (SHA-256): 85:66:6A:56:2E:E0:BE:5C:E9:25:C1:D8:89:0A:6F:76:A8:7E:C1:6D:4D:7D:5F:29:EA:74:19:CF:20:12:3B:69
-# Fingerprint (SHA1): B7:AB:33:08:D1:EA:44:77:BA:14:80:12:5A:6F:BD:A9:36:49:0C:BB
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
+
+# Trust for "Certainly Root E1"
+# Issuer: CN=Certainly Root E1,O=Certainly,C=US
+# Serial Number:06:25:33:b1:47:03:33:27:5c:f9:8d:9a:b9:bf:cc:f8
+# Subject: CN=Certainly Root E1,O=Certainly,C=US
+# Not Valid Before: Thu Apr 01 00:00:00 2021
+# Not Valid After : Sun Apr 01 00:00:00 2046
+# Fingerprint (SHA-256): B4:58:5F:22:E4:AC:75:6A:4E:86:12:A1:36:1C:5D:9D:03:1A:93:FD:84:FE:BB:77:8F:A3:06:8B:0F:C4:2D:C2
+# Fingerprint (SHA1): F9:E1:6D:DC:01:89:CF:D5:82:45:63:3E:C5:37:7D:C2:EB:93:6F:2B
 CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "SSL.com Root Certification Authority RSA"
+CKA_LABEL UTF8 "Certainly Root E1"
 CKA_CERT_SHA1_HASH MULTILINE_OCTAL
-\267\253\063\010\321\352\104\167\272\024\200\022\132\157\275\251
-\066\111\014\273
+\371\341\155\334\001\211\317\325\202\105\143\076\305\067\175\302
+\353\223\157\053
 END
 CKA_CERT_MD5_HASH MULTILINE_OCTAL
-\206\151\022\300\160\361\354\254\254\302\325\274\245\133\241\051
+\012\236\312\315\076\122\120\306\066\363\113\243\355\247\123\351
 END
 CKA_ISSUER MULTILINE_OCTAL
-\060\174\061\013\060\011\006\003\125\004\006\023\002\125\123\061
-\016\060\014\006\003\125\004\010\014\005\124\145\170\141\163\061
-\020\060\016\006\003\125\004\007\014\007\110\157\165\163\164\157
-\156\061\030\060\026\006\003\125\004\012\014\017\123\123\114\040
-\103\157\162\160\157\162\141\164\151\157\156\061\061\060\057\006
-\003\125\004\003\014\050\123\123\114\056\143\157\155\040\122\157
-\157\164\040\103\145\162\164\151\146\151\143\141\164\151\157\156
-\040\101\165\164\150\157\162\151\164\171\040\122\123\101
+\060\075\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\022\060\020\006\003\125\004\012\023\011\103\145\162\164\141\151
+\156\154\171\061\032\060\030\006\003\125\004\003\023\021\103\145
+\162\164\141\151\156\154\171\040\122\157\157\164\040\105\061
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\010\173\054\233\323\026\200\062\231
+\002\020\006\045\063\261\107\003\063\047\134\371\215\232\271\277
+\314\370
 END
 CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
-CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
 CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
 CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
 
 #
-# Certificate "SSL.com Root Certification Authority ECC"
+# Certificate "DIGITALSIGN GLOBAL ROOT RSA CA"
 #
-# Issuer: CN=SSL.com Root Certification Authority ECC,O=SSL Corporation,L=Houston,ST=Texas,C=US
-# Serial Number:75:e6:df:cb:c1:68:5b:a8
-# Subject: CN=SSL.com Root Certification Authority ECC,O=SSL Corporation,L=Houston,ST=Texas,C=US
-# Not Valid Before: Fri Feb 12 18:14:03 2016
-# Not Valid After : Tue Feb 12 18:14:03 2041
-# Fingerprint (SHA-256): 34:17:BB:06:CC:60:07:DA:1B:96:1C:92:0B:8A:B4:CE:3F:AD:82:0E:4A:A3:0B:9A:CB:C4:A7:4E:BD:CE:BC:65
-# Fingerprint (SHA1): C3:19:7C:39:24:E6:54:AF:1B:C4:AB:20:95:7A:E2:C3:0E:13:02:6A
+# Issuer: CN=DIGITALSIGN GLOBAL ROOT RSA CA,O=DigitalSign Certificadora Digital,C=PT
+# Serial Number:5d:59:c8:ca:ab:09:57:f5:e6:b5:da:29:94:04:6a:ff:c5:d4:95:87
+# Subject: CN=DIGITALSIGN GLOBAL ROOT RSA CA,O=DigitalSign Certificadora Digital,C=PT
+# Not Valid Before: Thu Jan 21 10:50:34 2021
+# Not Valid After : Mon Jan 15 10:50:34 2046
+# Fingerprint (SHA-256): 82:BD:5D:85:1A:CF:7F:6E:1B:A7:BF:CB:C5:30:30:D0:E7:BC:3C:21:DF:77:2D:85:8C:AB:41:D1:99:BD:F5:95
+# Fingerprint (SHA1): B9:82:07:97:AE:52:A5:68:6F:46:07:DF:FD:03:72:3D:92:86:88:2D
 CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "SSL.com Root Certification Authority ECC"
+CKA_LABEL UTF8 "DIGITALSIGN GLOBAL ROOT RSA CA"
 CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
 CKA_SUBJECT MULTILINE_OCTAL
-\060\174\061\013\060\011\006\003\125\004\006\023\002\125\123\061
-\016\060\014\006\003\125\004\010\014\005\124\145\170\141\163\061
-\020\060\016\006\003\125\004\007\014\007\110\157\165\163\164\157
-\156\061\030\060\026\006\003\125\004\012\014\017\123\123\114\040
-\103\157\162\160\157\162\141\164\151\157\156\061\061\060\057\006
-\003\125\004\003\014\050\123\123\114\056\143\157\155\040\122\157
-\157\164\040\103\145\162\164\151\146\151\143\141\164\151\157\156
-\040\101\165\164\150\157\162\151\164\171\040\105\103\103
+\060\142\061\013\060\011\006\003\125\004\006\023\002\120\124\061
+\052\060\050\006\003\125\004\012\014\041\104\151\147\151\164\141
+\154\123\151\147\156\040\103\145\162\164\151\146\151\143\141\144
+\157\162\141\040\104\151\147\151\164\141\154\061\047\060\045\006
+\003\125\004\003\014\036\104\111\107\111\124\101\114\123\111\107
+\116\040\107\114\117\102\101\114\040\122\117\117\124\040\122\123
+\101\040\103\101
 END
 CKA_ID UTF8 "0"
 CKA_ISSUER MULTILINE_OCTAL
-\060\174\061\013\060\011\006\003\125\004\006\023\002\125\123\061
-\016\060\014\006\003\125\004\010\014\005\124\145\170\141\163\061
-\020\060\016\006\003\125\004\007\014\007\110\157\165\163\164\157
-\156\061\030\060\026\006\003\125\004\012\014\017\123\123\114\040
-\103\157\162\160\157\162\141\164\151\157\156\061\061\060\057\006
-\003\125\004\003\014\050\123\123\114\056\143\157\155\040\122\157
-\157\164\040\103\145\162\164\151\146\151\143\141\164\151\157\156
-\040\101\165\164\150\157\162\151\164\171\040\105\103\103
+\060\142\061\013\060\011\006\003\125\004\006\023\002\120\124\061
+\052\060\050\006\003\125\004\012\014\041\104\151\147\151\164\141
+\154\123\151\147\156\040\103\145\162\164\151\146\151\143\141\144
+\157\162\141\040\104\151\147\151\164\141\154\061\047\060\045\006
+\003\125\004\003\014\036\104\111\107\111\124\101\114\123\111\107
+\116\040\107\114\117\102\101\114\040\122\117\117\124\040\122\123
+\101\040\103\101
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\010\165\346\337\313\301\150\133\250
+\002\024\135\131\310\312\253\011\127\365\346\265\332\051\224\004
+\152\377\305\324\225\207
 END
 CKA_VALUE MULTILINE_OCTAL
-\060\202\002\215\060\202\002\024\240\003\002\001\002\002\010\165
-\346\337\313\301\150\133\250\060\012\006\010\052\206\110\316\075
-\004\003\002\060\174\061\013\060\011\006\003\125\004\006\023\002
-\125\123\061\016\060\014\006\003\125\004\010\014\005\124\145\170
-\141\163\061\020\060\016\006\003\125\004\007\014\007\110\157\165
-\163\164\157\156\061\030\060\026\006\003\125\004\012\014\017\123
-\123\114\040\103\157\162\160\157\162\141\164\151\157\156\061\061
-\060\057\006\003\125\004\003\014\050\123\123\114\056\143\157\155
-\040\122\157\157\164\040\103\145\162\164\151\146\151\143\141\164
-\151\157\156\040\101\165\164\150\157\162\151\164\171\040\105\103
-\103\060\036\027\015\061\066\060\062\061\062\061\070\061\064\060
-\063\132\027\015\064\061\060\062\061\062\061\070\061\064\060\063
-\132\060\174\061\013\060\011\006\003\125\004\006\023\002\125\123
-\061\016\060\014\006\003\125\004\010\014\005\124\145\170\141\163
-\061\020\060\016\006\003\125\004\007\014\007\110\157\165\163\164
-\157\156\061\030\060\026\006\003\125\004\012\014\017\123\123\114
-\040\103\157\162\160\157\162\141\164\151\157\156\061\061\060\057
-\006\003\125\004\003\014\050\123\123\114\056\143\157\155\040\122
-\157\157\164\040\103\145\162\164\151\146\151\143\141\164\151\157
-\156\040\101\165\164\150\157\162\151\164\171\040\105\103\103\060
-\166\060\020\006\007\052\206\110\316\075\002\001\006\005\053\201
-\004\000\042\003\142\000\004\105\156\251\120\304\246\043\066\236
-\137\050\215\027\313\226\042\144\077\334\172\216\035\314\010\263
-\242\161\044\272\216\111\271\004\033\107\226\130\253\055\225\310
-\355\236\010\065\310\047\353\211\214\123\130\353\142\212\376\360
-\133\017\153\061\122\143\101\073\211\315\354\354\266\215\031\323
-\064\007\334\273\306\006\177\302\105\225\354\313\177\250\043\340
-\011\351\201\372\363\107\323\243\143\060\141\060\035\006\003\125
-\035\016\004\026\004\024\202\321\205\163\060\347\065\004\323\216
-\002\222\373\345\244\321\304\041\350\315\060\017\006\003\125\035
-\023\001\001\377\004\005\060\003\001\001\377\060\037\006\003\125
-\035\043\004\030\060\026\200\024\202\321\205\163\060\347\065\004
-\323\216\002\222\373\345\244\321\304\041\350\315\060\016\006\003
-\125\035\017\001\001\377\004\004\003\002\001\206\060\012\006\010
-\052\206\110\316\075\004\003\002\003\147\000\060\144\002\060\157
-\347\353\131\021\244\140\317\141\260\226\173\355\005\371\057\023
-\221\334\355\345\374\120\153\021\106\106\263\034\041\000\142\273
-\276\303\347\350\315\007\231\371\015\013\135\162\076\304\252\002
-\060\037\274\272\013\342\060\044\373\174\155\200\125\012\231\076
-\200\015\063\345\146\243\263\243\273\245\325\213\217\011\054\246
-\135\176\342\360\007\010\150\155\322\174\151\156\137\337\345\152
-\145
+\060\202\005\265\060\202\003\235\240\003\002\001\002\002\024\135
+\131\310\312\253\011\127\365\346\265\332\051\224\004\152\377\305
+\324\225\207\060\015\006\011\052\206\110\206\367\015\001\001\015
+\005\000\060\142\061\013\060\011\006\003\125\004\006\023\002\120
+\124\061\052\060\050\006\003\125\004\012\014\041\104\151\147\151
+\164\141\154\123\151\147\156\040\103\145\162\164\151\146\151\143
+\141\144\157\162\141\040\104\151\147\151\164\141\154\061\047\060
+\045\006\003\125\004\003\014\036\104\111\107\111\124\101\114\123
+\111\107\116\040\107\114\117\102\101\114\040\122\117\117\124\040
+\122\123\101\040\103\101\060\036\027\015\062\061\060\061\062\061
+\061\060\065\060\063\064\132\027\015\064\066\060\061\061\065\061
+\060\065\060\063\064\132\060\142\061\013\060\011\006\003\125\004
+\006\023\002\120\124\061\052\060\050\006\003\125\004\012\014\041
+\104\151\147\151\164\141\154\123\151\147\156\040\103\145\162\164
+\151\146\151\143\141\144\157\162\141\040\104\151\147\151\164\141
+\154\061\047\060\045\006\003\125\004\003\014\036\104\111\107\111
+\124\101\114\123\111\107\116\040\107\114\117\102\101\114\040\122
+\117\117\124\040\122\123\101\040\103\101\060\202\002\042\060\015
+\006\011\052\206\110\206\367\015\001\001\001\005\000\003\202\002
+\017\000\060\202\002\012\002\202\002\001\000\310\207\266\070\323
+\034\360\336\022\370\203\307\304\212\342\211\270\264\042\172\170
+\370\014\146\121\150\166\067\012\325\117\302\132\010\270\026\134
+\367\162\001\011\067\204\201\052\124\153\327\222\320\154\372\250
+\247\103\022\064\353\016\333\067\017\051\376\212\061\121\102\350
+\113\234\220\250\310\054\021\323\375\240\051\176\316\336\224\366
+\202\340\130\264\116\105\045\361\042\362\075\323\017\173\124\032
+\334\062\266\326\121\116\176\101\264\127\270\054\306\271\016\056
+\312\127\361\325\310\323\130\347\245\351\102\021\256\323\040\045
+\224\151\327\217\312\242\015\303\323\237\007\150\077\025\322\147
+\056\123\375\166\202\233\013\163\251\051\015\236\021\223\024\010
+\230\354\236\124\022\112\126\242\006\025\354\153\154\056\222\140
+\056\206\015\256\202\037\121\115\343\262\007\327\020\031\127\042
+\366\251\151\104\204\363\331\075\240\006\277\314\210\176\177\365
+\316\133\245\302\052\152\164\102\352\157\246\377\371\150\261\320
+\137\275\221\322\125\157\063\127\114\036\235\344\342\213\301\205
+\145\240\340\152\234\000\000\210\222\335\130\010\026\362\160\061
+\250\034\341\336\275\116\161\351\326\276\176\265\241\132\303\115
+\367\277\233\275\224\244\375\365\252\123\223\106\311\046\001\004
+\160\304\240\161\272\316\045\146\373\221\176\125\160\356\111\012
+\115\142\177\302\120\232\162\362\030\147\235\351\105\250\064\204
+\350\370\201\366\321\132\042\036\007\117\073\263\177\335\021\245
+\163\334\276\251\031\072\151\251\155\033\062\342\211\252\245\047
+\013\132\176\164\342\017\144\071\135\176\134\271\301\027\374\307
+\215\136\311\354\044\355\322\362\077\172\204\105\067\002\276\076
+\153\131\304\346\133\026\155\300\252\236\252\265\131\056\054\160
+\125\234\314\231\226\230\044\124\321\216\332\312\264\021\264\267
+\160\103\037\157\220\013\040\240\250\166\023\145\333\333\043\132
+\165\113\241\013\061\167\012\356\175\150\141\032\023\214\352\121
+\176\134\126\243\127\114\135\241\353\023\145\277\124\024\314\363
+\356\334\327\354\074\227\362\170\126\270\337\162\134\160\374\316
+\006\335\237\322\007\061\357\347\122\221\236\315\272\327\300\030
+\104\007\061\145\111\062\151\023\112\353\217\002\003\001\000\001
+\243\143\060\141\060\017\006\003\125\035\023\001\001\377\004\005
+\060\003\001\001\377\060\037\006\003\125\035\043\004\030\060\026
+\200\024\265\066\274\074\214\032\253\054\366\131\031\055\203\024
+\332\223\045\025\326\206\060\035\006\003\125\035\016\004\026\004
+\024\265\066\274\074\214\032\253\054\366\131\031\055\203\024\332
+\223\045\025\326\206\060\016\006\003\125\035\017\001\001\377\004
+\004\003\002\001\006\060\015\006\011\052\206\110\206\367\015\001
+\001\015\005\000\003\202\002\001\000\024\373\061\045\070\061\370
+\312\010\262\043\166\070\255\370\323\131\365\314\264\127\045\341
+\104\276\176\374\026\354\256\372\046\237\117\147\026\112\126\360
+\375\355\307\031\001\064\216\220\132\055\326\200\134\354\161\322
+\201\045\202\036\000\161\337\232\321\325\035\042\273\321\245\363
+\142\017\264\353\334\044\163\376\246\126\315\232\024\305\004\065
+\026\061\242\007\353\245\000\342\266\370\137\162\375\077\141\111
+\216\336\176\115\070\327\172\036\164\067\154\121\334\276\000\004
+\270\070\024\363\040\301\355\233\247\043\375\015\102\204\035\177
+\362\163\303\320\170\143\361\237\354\327\133\351\361\276\154\240
+\113\003\236\215\151\341\024\332\210\020\201\043\123\377\332\124
+\053\013\306\271\226\225\004\030\106\363\173\250\227\330\133\150
+\244\344\070\034\016\105\345\230\323\011\256\232\136\354\263\171
+\015\071\162\362\364\224\235\016\236\140\042\346\250\366\114\205
+\315\007\202\072\150\071\315\075\137\343\070\364\266\257\073\153
+\112\237\140\121\105\242\100\002\345\252\014\343\076\321\170\324
+\242\164\234\046\272\005\232\050\160\112\076\246\013\320\035\111
+\360\272\370\256\101\020\176\244\007\022\275\250\317\051\075\127
+\273\307\361\103\107\000\076\256\160\030\132\040\173\011\313\072
+\072\160\200\345\114\140\230\301\025\301\035\112\367\310\360\233
+\341\162\255\347\135\150\130\013\004\261\214\274\237\267\373\156
+\213\133\004\125\373\353\043\125\327\170\120\332\045\313\276\047
+\066\273\044\032\171\034\121\321\376\023\273\377\170\054\334\244
+\276\057\366\305\113\123\317\247\114\231\136\160\254\131\210\004
+\256\144\004\277\173\246\172\115\323\350\167\275\241\176\120\025
+\363\357\111\060\205\115\041\127\252\333\054\165\227\255\201\001
+\207\242\261\160\235\036\006\132\003\140\261\077\246\155\202\054
+\324\024\261\201\245\350\075\210\035\264\162\054\130\067\212\216
+\070\224\270\163\335\251\340\270\366\167\242\263\174\130\336\256
+\151\072\265\213\245\032\273\362\330\164\006\234\375\142\163\040
+\041\166\261\176\160\236\031\324\353\027\142\031\070\231\315\066
+\053\107\376\061\313\337\271\344\254\010\323\330\246\353\324\236
+\176\113\144\244\125\135\053\027\311
 END
 CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
-# Trust for "SSL.com Root Certification Authority ECC"
-# Issuer: CN=SSL.com Root Certification Authority ECC,O=SSL Corporation,L=Houston,ST=Texas,C=US
-# Serial Number:75:e6:df:cb:c1:68:5b:a8
-# Subject: CN=SSL.com Root Certification Authority ECC,O=SSL Corporation,L=Houston,ST=Texas,C=US
-# Not Valid Before: Fri Feb 12 18:14:03 2016
-# Not Valid After : Tue Feb 12 18:14:03 2041
-# Fingerprint (SHA-256): 34:17:BB:06:CC:60:07:DA:1B:96:1C:92:0B:8A:B4:CE:3F:AD:82:0E:4A:A3:0B:9A:CB:C4:A7:4E:BD:CE:BC:65
-# Fingerprint (SHA1): C3:19:7C:39:24:E6:54:AF:1B:C4:AB:20:95:7A:E2:C3:0E:13:02:6A
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
+
+# Trust for "DIGITALSIGN GLOBAL ROOT RSA CA"
+# Issuer: CN=DIGITALSIGN GLOBAL ROOT RSA CA,O=DigitalSign Certificadora Digital,C=PT
+# Serial Number:5d:59:c8:ca:ab:09:57:f5:e6:b5:da:29:94:04:6a:ff:c5:d4:95:87
+# Subject: CN=DIGITALSIGN GLOBAL ROOT RSA CA,O=DigitalSign Certificadora Digital,C=PT
+# Not Valid Before: Thu Jan 21 10:50:34 2021
+# Not Valid After : Mon Jan 15 10:50:34 2046
+# Fingerprint (SHA-256): 82:BD:5D:85:1A:CF:7F:6E:1B:A7:BF:CB:C5:30:30:D0:E7:BC:3C:21:DF:77:2D:85:8C:AB:41:D1:99:BD:F5:95
+# Fingerprint (SHA1): B9:82:07:97:AE:52:A5:68:6F:46:07:DF:FD:03:72:3D:92:86:88:2D
 CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "SSL.com Root Certification Authority ECC"
+CKA_LABEL UTF8 "DIGITALSIGN GLOBAL ROOT RSA CA"
 CKA_CERT_SHA1_HASH MULTILINE_OCTAL
-\303\031\174\071\044\346\124\257\033\304\253\040\225\172\342\303
-\016\023\002\152
+\271\202\007\227\256\122\245\150\157\106\007\337\375\003\162\075
+\222\206\210\055
 END
 CKA_CERT_MD5_HASH MULTILINE_OCTAL
-\056\332\344\071\177\234\217\067\321\160\237\046\027\121\072\216
+\033\032\275\032\171\306\333\264\355\263\207\314\251\323\116\170
 END
 CKA_ISSUER MULTILINE_OCTAL
-\060\174\061\013\060\011\006\003\125\004\006\023\002\125\123\061
-\016\060\014\006\003\125\004\010\014\005\124\145\170\141\163\061
-\020\060\016\006\003\125\004\007\014\007\110\157\165\163\164\157
-\156\061\030\060\026\006\003\125\004\012\014\017\123\123\114\040
-\103\157\162\160\157\162\141\164\151\157\156\061\061\060\057\006
-\003\125\004\003\014\050\123\123\114\056\143\157\155\040\122\157
-\157\164\040\103\145\162\164\151\146\151\143\141\164\151\157\156
-\040\101\165\164\150\157\162\151\164\171\040\105\103\103
+\060\142\061\013\060\011\006\003\125\004\006\023\002\120\124\061
+\052\060\050\006\003\125\004\012\014\041\104\151\147\151\164\141
+\154\123\151\147\156\040\103\145\162\164\151\146\151\143\141\144
+\157\162\141\040\104\151\147\151\164\141\154\061\047\060\045\006
+\003\125\004\003\014\036\104\111\107\111\124\101\114\123\111\107
+\116\040\107\114\117\102\101\114\040\122\117\117\124\040\122\123
+\101\040\103\101
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\010\165\346\337\313\301\150\133\250
+\002\024\135\131\310\312\253\011\127\365\346\265\332\051\224\004
+\152\377\305\324\225\207
 END
-CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
 CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
 CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
 CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
 
 #
-# Certificate "SSL.com EV Root Certification Authority RSA R2"
+# Certificate "DIGITALSIGN GLOBAL ROOT ECDSA CA"
 #
-# Issuer: CN=SSL.com EV Root Certification Authority RSA R2,O=SSL Corporation,L=Houston,ST=Texas,C=US
-# Serial Number:56:b6:29:cd:34:bc:78:f6
-# Subject: CN=SSL.com EV Root Certification Authority RSA R2,O=SSL Corporation,L=Houston,ST=Texas,C=US
-# Not Valid Before: Wed May 31 18:14:37 2017
-# Not Valid After : Fri May 30 18:14:37 2042
-# Fingerprint (SHA-256): 2E:7B:F1:6C:C2:24:85:A7:BB:E2:AA:86:96:75:07:61:B0:AE:39:BE:3B:2F:E9:D0:CC:6D:4E:F7:34:91:42:5C
-# Fingerprint (SHA1): 74:3A:F0:52:9B:D0:32:A0:F4:4A:83:CD:D4:BA:A9:7B:7C:2E:C4:9A
+# Issuer: CN=DIGITALSIGN GLOBAL ROOT ECDSA CA,O=DigitalSign Certificadora Digital,C=PT
+# Serial Number:36:2d:8f:72:88:a2:28:27:e4:00:ff:24:c6:2d:e4:eb:fa:9d:b6:e1
+# Subject: CN=DIGITALSIGN GLOBAL ROOT ECDSA CA,O=DigitalSign Certificadora Digital,C=PT
+# Not Valid Before: Thu Jan 21 11:07:50 2021
+# Not Valid After : Mon Jan 15 11:07:50 2046
+# Fingerprint (SHA-256): 26:1D:71:14:AE:5F:8F:F2:D8:C7:20:9A:9D:E4:28:9E:6A:FC:9D:71:70:23:D8:54:50:90:91:99:F1:85:7C:FE
+# Fingerprint (SHA1): 67:A8:08:EB:8F:88:F5:80:6C:05:45:1B:17:F3:D7:00:2F:D2:4A:8A
 CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "SSL.com EV Root Certification Authority RSA R2"
+CKA_LABEL UTF8 "DIGITALSIGN GLOBAL ROOT ECDSA CA"
 CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
 CKA_SUBJECT MULTILINE_OCTAL
-\060\201\202\061\013\060\011\006\003\125\004\006\023\002\125\123
-\061\016\060\014\006\003\125\004\010\014\005\124\145\170\141\163
-\061\020\060\016\006\003\125\004\007\014\007\110\157\165\163\164
-\157\156\061\030\060\026\006\003\125\004\012\014\017\123\123\114
-\040\103\157\162\160\157\162\141\164\151\157\156\061\067\060\065
-\006\003\125\004\003\014\056\123\123\114\056\143\157\155\040\105
-\126\040\122\157\157\164\040\103\145\162\164\151\146\151\143\141
-\164\151\157\156\040\101\165\164\150\157\162\151\164\171\040\122
-\123\101\040\122\062
+\060\144\061\013\060\011\006\003\125\004\006\023\002\120\124\061
+\052\060\050\006\003\125\004\012\014\041\104\151\147\151\164\141
+\154\123\151\147\156\040\103\145\162\164\151\146\151\143\141\144
+\157\162\141\040\104\151\147\151\164\141\154\061\051\060\047\006
+\003\125\004\003\014\040\104\111\107\111\124\101\114\123\111\107
+\116\040\107\114\117\102\101\114\040\122\117\117\124\040\105\103
+\104\123\101\040\103\101
 END
 CKA_ID UTF8 "0"
 CKA_ISSUER MULTILINE_OCTAL
-\060\201\202\061\013\060\011\006\003\125\004\006\023\002\125\123
-\061\016\060\014\006\003\125\004\010\014\005\124\145\170\141\163
-\061\020\060\016\006\003\125\004\007\014\007\110\157\165\163\164
-\157\156\061\030\060\026\006\003\125\004\012\014\017\123\123\114
-\040\103\157\162\160\157\162\141\164\151\157\156\061\067\060\065
-\006\003\125\004\003\014\056\123\123\114\056\143\157\155\040\105
-\126\040\122\157\157\164\040\103\145\162\164\151\146\151\143\141
-\164\151\157\156\040\101\165\164\150\157\162\151\164\171\040\122
-\123\101\040\122\062
+\060\144\061\013\060\011\006\003\125\004\006\023\002\120\124\061
+\052\060\050\006\003\125\004\012\014\041\104\151\147\151\164\141
+\154\123\151\147\156\040\103\145\162\164\151\146\151\143\141\144
+\157\162\141\040\104\151\147\151\164\141\154\061\051\060\047\006
+\003\125\004\003\014\040\104\111\107\111\124\101\114\123\111\107
+\116\040\107\114\117\102\101\114\040\122\117\117\124\040\105\103
+\104\123\101\040\103\101
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\010\126\266\051\315\064\274\170\366
+\002\024\066\055\217\162\210\242\050\047\344\000\377\044\306\055
+\344\353\372\235\266\341
 END
 CKA_VALUE MULTILINE_OCTAL
-\060\202\005\353\060\202\003\323\240\003\002\001\002\002\010\126
-\266\051\315\064\274\170\366\060\015\006\011\052\206\110\206\367
-\015\001\001\013\005\000\060\201\202\061\013\060\011\006\003\125
-\004\006\023\002\125\123\061\016\060\014\006\003\125\004\010\014
-\005\124\145\170\141\163\061\020\060\016\006\003\125\004\007\014
-\007\110\157\165\163\164\157\156\061\030\060\026\006\003\125\004
-\012\014\017\123\123\114\040\103\157\162\160\157\162\141\164\151
-\157\156\061\067\060\065\006\003\125\004\003\014\056\123\123\114
-\056\143\157\155\040\105\126\040\122\157\157\164\040\103\145\162
-\164\151\146\151\143\141\164\151\157\156\040\101\165\164\150\157
-\162\151\164\171\040\122\123\101\040\122\062\060\036\027\015\061
-\067\060\065\063\061\061\070\061\064\063\067\132\027\015\064\062
-\060\065\063\060\061\070\061\064\063\067\132\060\201\202\061\013
-\060\011\006\003\125\004\006\023\002\125\123\061\016\060\014\006
-\003\125\004\010\014\005\124\145\170\141\163\061\020\060\016\006
-\003\125\004\007\014\007\110\157\165\163\164\157\156\061\030\060
-\026\006\003\125\004\012\014\017\123\123\114\040\103\157\162\160
-\157\162\141\164\151\157\156\061\067\060\065\006\003\125\004\003
-\014\056\123\123\114\056\143\157\155\040\105\126\040\122\157\157
-\164\040\103\145\162\164\151\146\151\143\141\164\151\157\156\040
-\101\165\164\150\157\162\151\164\171\040\122\123\101\040\122\062
-\060\202\002\042\060\015\006\011\052\206\110\206\367\015\001\001
-\001\005\000\003\202\002\017\000\060\202\002\012\002\202\002\001
-\000\217\066\145\100\341\326\115\300\327\264\351\106\332\153\352
-\063\107\315\114\371\175\175\276\275\055\075\360\333\170\341\206
-\245\331\272\011\127\150\355\127\076\240\320\010\101\203\347\050
-\101\044\037\343\162\025\320\001\032\373\136\160\043\262\313\237
-\071\343\317\305\116\306\222\155\046\306\173\273\263\332\047\235
-\012\206\351\201\067\005\376\360\161\161\354\303\034\351\143\242
-\027\024\235\357\033\147\323\205\125\002\002\326\111\311\314\132
-\341\261\367\157\062\237\311\324\073\210\101\250\234\275\313\253
-\333\155\173\011\037\242\114\162\220\332\053\010\374\317\074\124
-\316\147\017\250\317\135\226\031\013\304\343\162\353\255\321\175
-\035\047\357\222\353\020\277\133\353\073\257\317\200\335\301\322
-\226\004\133\172\176\244\251\074\070\166\244\142\216\240\071\136
-\352\167\317\135\000\131\217\146\054\076\007\242\243\005\046\021
-\151\227\352\205\267\017\226\013\113\310\100\341\120\272\056\212
-\313\367\017\232\042\347\177\232\067\023\315\362\115\023\153\041
-\321\300\314\042\362\241\106\366\104\151\234\312\141\065\007\000
-\157\326\141\010\021\352\272\270\366\351\263\140\345\115\271\354
-\237\024\146\311\127\130\333\315\207\151\370\212\206\022\003\107
-\277\146\023\166\254\167\175\064\044\205\203\315\327\252\234\220
-\032\237\041\054\177\170\267\144\270\330\350\246\364\170\263\125
-\313\204\322\062\304\170\256\243\217\141\335\316\010\123\255\354
-\210\374\025\344\232\015\346\237\032\167\316\114\217\270\024\025
-\075\142\234\206\070\006\000\146\022\344\131\166\132\123\300\002
-\230\242\020\053\150\104\173\216\171\316\063\112\166\252\133\201
-\026\033\265\212\330\320\000\173\136\142\264\011\326\206\143\016
-\246\005\225\111\272\050\213\210\223\262\064\034\330\244\125\156
-\267\034\320\336\231\125\073\043\364\042\340\371\051\146\046\354
-\040\120\167\333\112\013\217\276\345\002\140\160\101\136\324\256
-\120\071\042\024\046\313\262\073\163\164\125\107\007\171\201\071
-\250\060\023\104\345\004\212\256\226\023\045\102\017\271\123\304
-\233\374\315\344\034\336\074\372\253\326\006\112\037\147\246\230
-\060\034\335\054\333\334\030\225\127\146\306\377\134\213\126\365
-\167\002\003\001\000\001\243\143\060\141\060\017\006\003\125\035
-\023\001\001\377\004\005\060\003\001\001\377\060\037\006\003\125
-\035\043\004\030\060\026\200\024\371\140\273\324\343\325\064\366
-\270\365\006\200\045\247\163\333\106\151\250\236\060\035\006\003
-\125\035\016\004\026\004\024\371\140\273\324\343\325\064\366\270
-\365\006\200\045\247\163\333\106\151\250\236\060\016\006\003\125
-\035\017\001\001\377\004\004\003\002\001\206\060\015\006\011\052
-\206\110\206\367\015\001\001\013\005\000\003\202\002\001\000\126
-\263\216\313\012\235\111\216\277\244\304\221\273\146\027\005\121
-\230\165\373\345\120\054\172\236\361\024\372\253\323\212\076\377
-\221\051\217\143\213\330\264\251\124\001\015\276\223\206\057\371
-\112\155\307\136\365\127\371\312\125\034\022\276\107\017\066\305
-\337\152\267\333\165\302\107\045\177\271\361\143\370\150\055\125
-\004\321\362\215\260\244\317\274\074\136\037\170\347\245\240\040
-\160\260\004\305\267\367\162\247\336\042\015\275\063\045\106\214
-\144\222\046\343\076\056\143\226\332\233\214\075\370\030\011\327
-\003\314\175\206\202\340\312\004\007\121\120\327\377\222\325\014
-\357\332\206\237\231\327\353\267\257\150\342\071\046\224\272\150
-\267\277\203\323\352\172\147\075\142\147\256\045\345\162\350\342
-\344\354\256\022\366\113\053\074\237\351\260\100\363\070\124\263
-\375\267\150\310\332\306\217\121\074\262\373\221\334\034\347\233
-\235\341\267\015\162\217\342\244\304\251\170\371\353\024\254\306
-\103\005\302\145\071\050\030\002\303\202\262\235\005\276\145\355
-\226\137\145\164\074\373\011\065\056\173\234\023\375\033\017\135
-\307\155\201\072\126\017\314\073\341\257\002\057\042\254\106\312
-\106\074\240\034\114\326\104\264\136\056\134\025\146\011\341\046
-\051\376\306\122\141\272\261\163\377\303\014\234\345\154\152\224
-\077\024\312\100\026\225\204\363\131\251\254\137\114\141\223\155
-\321\073\314\242\225\014\042\246\147\147\104\056\271\331\322\212
-\101\263\146\013\132\373\175\043\245\362\032\260\377\336\233\203
-\224\056\321\077\337\222\267\221\257\005\073\145\307\240\154\261
-\315\142\022\303\220\033\343\045\316\064\274\157\167\166\261\020
-\303\367\005\032\300\326\257\164\142\110\027\167\222\151\220\141
-\034\336\225\200\164\124\217\030\034\303\363\003\320\277\244\103
-\165\206\123\030\172\012\056\011\034\066\237\221\375\202\212\042
-\113\321\016\120\045\335\313\003\014\027\311\203\000\010\116\065
-\115\212\213\355\360\002\224\146\054\104\177\313\225\047\226\027
-\255\011\060\254\266\161\027\156\213\027\366\034\011\324\055\073
-\230\245\161\323\124\023\331\140\363\365\113\146\117\372\361\356
-\040\022\215\264\254\127\261\105\143\241\254\166\251\302\373
+\060\202\002\152\060\202\001\360\240\003\002\001\002\002\024\066
+\055\217\162\210\242\050\047\344\000\377\044\306\055\344\353\372
+\235\266\341\060\012\006\010\052\206\110\316\075\004\003\003\060
+\144\061\013\060\011\006\003\125\004\006\023\002\120\124\061\052
+\060\050\006\003\125\004\012\014\041\104\151\147\151\164\141\154
+\123\151\147\156\040\103\145\162\164\151\146\151\143\141\144\157
+\162\141\040\104\151\147\151\164\141\154\061\051\060\047\006\003
+\125\004\003\014\040\104\111\107\111\124\101\114\123\111\107\116
+\040\107\114\117\102\101\114\040\122\117\117\124\040\105\103\104
+\123\101\040\103\101\060\036\027\015\062\061\060\061\062\061\061
+\061\060\067\065\060\132\027\015\064\066\060\061\061\065\061\061
+\060\067\065\060\132\060\144\061\013\060\011\006\003\125\004\006
+\023\002\120\124\061\052\060\050\006\003\125\004\012\014\041\104
+\151\147\151\164\141\154\123\151\147\156\040\103\145\162\164\151
+\146\151\143\141\144\157\162\141\040\104\151\147\151\164\141\154
+\061\051\060\047\006\003\125\004\003\014\040\104\111\107\111\124
+\101\114\123\111\107\116\040\107\114\117\102\101\114\040\122\117
+\117\124\040\105\103\104\123\101\040\103\101\060\166\060\020\006
+\007\052\206\110\316\075\002\001\006\005\053\201\004\000\042\003
+\142\000\004\156\013\243\253\063\115\034\352\112\350\374\004\215
+\024\240\175\360\010\054\137\203\253\223\321\322\173\272\327\111
+\175\217\354\022\120\137\324\271\313\345\360\371\063\143\037\311
+\127\354\100\330\021\013\227\350\122\026\314\051\216\364\006\206
+\036\070\334\075\127\304\356\252\275\310\124\004\046\132\047\023
+\121\107\075\037\037\032\216\250\225\244\063\320\314\107\314\155
+\270\374\110\243\143\060\141\060\017\006\003\125\035\023\001\001
+\377\004\005\060\003\001\001\377\060\037\006\003\125\035\043\004
+\030\060\026\200\024\316\257\112\213\032\165\342\361\070\347\002
+\360\026\255\136\352\144\325\173\264\060\035\006\003\125\035\016
+\004\026\004\024\316\257\112\213\032\165\342\361\070\347\002\360
+\026\255\136\352\144\325\173\264\060\016\006\003\125\035\017\001
+\001\377\004\004\003\002\001\006\060\012\006\010\052\206\110\316
+\075\004\003\003\003\150\000\060\145\002\060\012\210\304\161\234
+\104\003\115\215\264\307\274\250\256\331\060\047\065\152\153\026
+\143\327\374\347\131\341\247\211\033\114\061\232\043\125\104\346
+\363\103\041\325\107\047\157\155\127\001\252\002\061\000\373\262
+\352\342\227\177\121\265\237\110\353\274\157\065\211\250\144\160
+\253\127\166\315\300\306\024\140\312\177\342\202\000\163\367\314
+\065\352\216\044\233\345\010\131\307\004\214\163\170\376
 END
-CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
-# Trust for "SSL.com EV Root Certification Authority RSA R2"
-# Issuer: CN=SSL.com EV Root Certification Authority RSA R2,O=SSL Corporation,L=Houston,ST=Texas,C=US
-# Serial Number:56:b6:29:cd:34:bc:78:f6
-# Subject: CN=SSL.com EV Root Certification Authority RSA R2,O=SSL Corporation,L=Houston,ST=Texas,C=US
-# Not Valid Before: Wed May 31 18:14:37 2017
-# Not Valid After : Fri May 30 18:14:37 2042
-# Fingerprint (SHA-256): 2E:7B:F1:6C:C2:24:85:A7:BB:E2:AA:86:96:75:07:61:B0:AE:39:BE:3B:2F:E9:D0:CC:6D:4E:F7:34:91:42:5C
-# Fingerprint (SHA1): 74:3A:F0:52:9B:D0:32:A0:F4:4A:83:CD:D4:BA:A9:7B:7C:2E:C4:9A
+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
+
+# Trust for "DIGITALSIGN GLOBAL ROOT ECDSA CA"
+# Issuer: CN=DIGITALSIGN GLOBAL ROOT ECDSA CA,O=DigitalSign Certificadora Digital,C=PT
+# Serial Number:36:2d:8f:72:88:a2:28:27:e4:00:ff:24:c6:2d:e4:eb:fa:9d:b6:e1
+# Subject: CN=DIGITALSIGN GLOBAL ROOT ECDSA CA,O=DigitalSign Certificadora Digital,C=PT
+# Not Valid Before: Thu Jan 21 11:07:50 2021
+# Not Valid After : Mon Jan 15 11:07:50 2046
+# Fingerprint (SHA-256): 26:1D:71:14:AE:5F:8F:F2:D8:C7:20:9A:9D:E4:28:9E:6A:FC:9D:71:70:23:D8:54:50:90:91:99:F1:85:7C:FE
+# Fingerprint (SHA1): 67:A8:08:EB:8F:88:F5:80:6C:05:45:1B:17:F3:D7:00:2F:D2:4A:8A
 CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "SSL.com EV Root Certification Authority RSA R2"
+CKA_LABEL UTF8 "DIGITALSIGN GLOBAL ROOT ECDSA CA"
 CKA_CERT_SHA1_HASH MULTILINE_OCTAL
-\164\072\360\122\233\320\062\240\364\112\203\315\324\272\251\173
-\174\056\304\232
+\147\250\010\353\217\210\365\200\154\005\105\033\027\363\327\000
+\057\322\112\212
 END
 CKA_CERT_MD5_HASH MULTILINE_OCTAL
-\341\036\061\130\032\256\124\123\002\366\027\152\021\173\115\225
+\252\055\241\316\377\041\302\210\313\132\036\214\341\311\222\217
 END
 CKA_ISSUER MULTILINE_OCTAL
-\060\201\202\061\013\060\011\006\003\125\004\006\023\002\125\123
-\061\016\060\014\006\003\125\004\010\014\005\124\145\170\141\163
-\061\020\060\016\006\003\125\004\007\014\007\110\157\165\163\164
-\157\156\061\030\060\026\006\003\125\004\012\014\017\123\123\114
-\040\103\157\162\160\157\162\141\164\151\157\156\061\067\060\065
-\006\003\125\004\003\014\056\123\123\114\056\143\157\155\040\105
-\126\040\122\157\157\164\040\103\145\162\164\151\146\151\143\141
-\164\151\157\156\040\101\165\164\150\157\162\151\164\171\040\122
-\123\101\040\122\062
+\060\144\061\013\060\011\006\003\125\004\006\023\002\120\124\061
+\052\060\050\006\003\125\004\012\014\041\104\151\147\151\164\141
+\154\123\151\147\156\040\103\145\162\164\151\146\151\143\141\144
+\157\162\141\040\104\151\147\151\164\141\154\061\051\060\047\006
+\003\125\004\003\014\040\104\111\107\111\124\101\114\123\111\107
+\116\040\107\114\117\102\101\114\040\122\117\117\124\040\105\103
+\104\123\101\040\103\101
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\010\126\266\051\315\064\274\170\366
+\002\024\066\055\217\162\210\242\050\047\344\000\377\044\306\055
+\344\353\372\235\266\341
 END
-CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
-CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
 CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
 CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
 
 #
-# Certificate "SSL.com EV Root Certification Authority ECC"
+# Certificate "Security Communication RootCA3"
 #
-# Issuer: CN=SSL.com EV Root Certification Authority ECC,O=SSL Corporation,L=Houston,ST=Texas,C=US
-# Serial Number:2c:29:9c:5b:16:ed:05:95
-# Subject: CN=SSL.com EV Root Certification Authority ECC,O=SSL Corporation,L=Houston,ST=Texas,C=US
-# Not Valid Before: Fri Feb 12 18:15:23 2016
-# Not Valid After : Tue Feb 12 18:15:23 2041
-# Fingerprint (SHA-256): 22:A2:C1:F7:BD:ED:70:4C:C1:E7:01:B5:F4:08:C3:10:88:0F:E9:56:B5:DE:2A:4A:44:F9:9C:87:3A:25:A7:C8
-# Fingerprint (SHA1): 4C:DD:51:A3:D1:F5:20:32:14:B0:C6:C5:32:23:03:91:C7:46:42:6D
+# Issuer: CN=Security Communication RootCA3,O="SECOM Trust Systems CO.,LTD.",C=JP
+# Serial Number:00:e1:7c:37:40:fd:1b:fe:67
+# Subject: CN=Security Communication RootCA3,O="SECOM Trust Systems CO.,LTD.",C=JP
+# Not Valid Before: Thu Jun 16 06:17:16 2016
+# Not Valid After : Mon Jan 18 06:17:16 2038
+# Fingerprint (SHA-256): 24:A5:5C:2A:B0:51:44:2D:06:17:76:65:41:23:9A:4A:D0:32:D7:C5:51:75:AA:34:FF:DE:2F:BC:4F:5C:52:94
+# Fingerprint (SHA1): C3:03:C8:22:74:92:E5:61:A2:9C:5F:79:91:2B:1E:44:13:91:30:3A
 CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "SSL.com EV Root Certification Authority ECC"
+CKA_LABEL UTF8 "Security Communication RootCA3"
 CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
 CKA_SUBJECT MULTILINE_OCTAL
-\060\177\061\013\060\011\006\003\125\004\006\023\002\125\123\061
-\016\060\014\006\003\125\004\010\014\005\124\145\170\141\163\061
-\020\060\016\006\003\125\004\007\014\007\110\157\165\163\164\157
-\156\061\030\060\026\006\003\125\004\012\014\017\123\123\114\040
-\103\157\162\160\157\162\141\164\151\157\156\061\064\060\062\006
-\003\125\004\003\014\053\123\123\114\056\143\157\155\040\105\126
-\040\122\157\157\164\040\103\145\162\164\151\146\151\143\141\164
-\151\157\156\040\101\165\164\150\157\162\151\164\171\040\105\103
-\103
+\060\135\061\013\060\011\006\003\125\004\006\023\002\112\120\061
+\045\060\043\006\003\125\004\012\023\034\123\105\103\117\115\040
+\124\162\165\163\164\040\123\171\163\164\145\155\163\040\103\117
+\056\054\114\124\104\056\061\047\060\045\006\003\125\004\003\023
+\036\123\145\143\165\162\151\164\171\040\103\157\155\155\165\156
+\151\143\141\164\151\157\156\040\122\157\157\164\103\101\063
 END
 CKA_ID UTF8 "0"
 CKA_ISSUER MULTILINE_OCTAL
-\060\177\061\013\060\011\006\003\125\004\006\023\002\125\123\061
-\016\060\014\006\003\125\004\010\014\005\124\145\170\141\163\061
-\020\060\016\006\003\125\004\007\014\007\110\157\165\163\164\157
-\156\061\030\060\026\006\003\125\004\012\014\017\123\123\114\040
-\103\157\162\160\157\162\141\164\151\157\156\061\064\060\062\006
-\003\125\004\003\014\053\123\123\114\056\143\157\155\040\105\126
-\040\122\157\157\164\040\103\145\162\164\151\146\151\143\141\164
-\151\157\156\040\101\165\164\150\157\162\151\164\171\040\105\103
-\103
+\060\135\061\013\060\011\006\003\125\004\006\023\002\112\120\061
+\045\060\043\006\003\125\004\012\023\034\123\105\103\117\115\040
+\124\162\165\163\164\040\123\171\163\164\145\155\163\040\103\117
+\056\054\114\124\104\056\061\047\060\045\006\003\125\004\003\023
+\036\123\145\143\165\162\151\164\171\040\103\157\155\155\165\156
+\151\143\141\164\151\157\156\040\122\157\157\164\103\101\063
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\010\054\051\234\133\026\355\005\225
+\002\011\000\341\174\067\100\375\033\376\147
 END
 CKA_VALUE MULTILINE_OCTAL
-\060\202\002\224\060\202\002\032\240\003\002\001\002\002\010\054
-\051\234\133\026\355\005\225\060\012\006\010\052\206\110\316\075
-\004\003\002\060\177\061\013\060\011\006\003\125\004\006\023\002
-\125\123\061\016\060\014\006\003\125\004\010\014\005\124\145\170
-\141\163\061\020\060\016\006\003\125\004\007\014\007\110\157\165
-\163\164\157\156\061\030\060\026\006\003\125\004\012\014\017\123
-\123\114\040\103\157\162\160\157\162\141\164\151\157\156\061\064
-\060\062\006\003\125\004\003\014\053\123\123\114\056\143\157\155
-\040\105\126\040\122\157\157\164\040\103\145\162\164\151\146\151
-\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164\171
-\040\105\103\103\060\036\027\015\061\066\060\062\061\062\061\070
-\061\065\062\063\132\027\015\064\061\060\062\061\062\061\070\061
-\065\062\063\132\060\177\061\013\060\011\006\003\125\004\006\023
-\002\125\123\061\016\060\014\006\003\125\004\010\014\005\124\145
-\170\141\163\061\020\060\016\006\003\125\004\007\014\007\110\157
-\165\163\164\157\156\061\030\060\026\006\003\125\004\012\014\017
-\123\123\114\040\103\157\162\160\157\162\141\164\151\157\156\061
-\064\060\062\006\003\125\004\003\014\053\123\123\114\056\143\157
-\155\040\105\126\040\122\157\157\164\040\103\145\162\164\151\146
-\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164
-\171\040\105\103\103\060\166\060\020\006\007\052\206\110\316\075
-\002\001\006\005\053\201\004\000\042\003\142\000\004\252\022\107
-\220\230\033\373\357\303\100\007\203\040\116\361\060\202\242\006
-\321\362\222\206\141\362\366\041\150\312\000\304\307\352\103\000
-\124\206\334\375\037\337\000\270\101\142\134\334\160\026\062\336
-\037\231\324\314\305\007\310\010\037\141\026\007\121\075\175\134
-\007\123\343\065\070\214\337\315\237\331\056\015\112\266\031\056
-\132\160\132\006\355\276\360\241\260\312\320\011\051\243\143\060
-\141\060\035\006\003\125\035\016\004\026\004\024\133\312\136\345
-\336\322\201\252\315\250\055\144\121\266\331\162\233\227\346\117
-\060\017\006\003\125\035\023\001\001\377\004\005\060\003\001\001
-\377\060\037\006\003\125\035\043\004\030\060\026\200\024\133\312
-\136\345\336\322\201\252\315\250\055\144\121\266\331\162\233\227
-\346\117\060\016\006\003\125\035\017\001\001\377\004\004\003\002
-\001\206\060\012\006\010\052\206\110\316\075\004\003\002\003\150
-\000\060\145\002\061\000\212\346\100\211\067\353\351\325\023\331
-\312\324\153\044\363\260\075\207\106\130\032\354\261\337\157\373
-\126\272\160\153\307\070\314\350\261\214\117\017\367\361\147\166
-\016\203\320\036\121\217\002\060\075\366\043\050\046\114\306\140
-\207\223\046\233\262\065\036\272\326\367\074\321\034\316\372\045
-\074\246\032\201\025\133\363\022\017\154\356\145\212\311\207\250
-\371\007\340\142\232\214\134\112
+\060\202\005\177\060\202\003\147\240\003\002\001\002\002\011\000
+\341\174\067\100\375\033\376\147\060\015\006\011\052\206\110\206
+\367\015\001\001\014\005\000\060\135\061\013\060\011\006\003\125
+\004\006\023\002\112\120\061\045\060\043\006\003\125\004\012\023
+\034\123\105\103\117\115\040\124\162\165\163\164\040\123\171\163
+\164\145\155\163\040\103\117\056\054\114\124\104\056\061\047\060
+\045\006\003\125\004\003\023\036\123\145\143\165\162\151\164\171
+\040\103\157\155\155\165\156\151\143\141\164\151\157\156\040\122
+\157\157\164\103\101\063\060\036\027\015\061\066\060\066\061\066
+\060\066\061\067\061\066\132\027\015\063\070\060\061\061\070\060
+\066\061\067\061\066\132\060\135\061\013\060\011\006\003\125\004
+\006\023\002\112\120\061\045\060\043\006\003\125\004\012\023\034
+\123\105\103\117\115\040\124\162\165\163\164\040\123\171\163\164
+\145\155\163\040\103\117\056\054\114\124\104\056\061\047\060\045
+\006\003\125\004\003\023\036\123\145\143\165\162\151\164\171\040
+\103\157\155\155\165\156\151\143\141\164\151\157\156\040\122\157
+\157\164\103\101\063\060\202\002\042\060\015\006\011\052\206\110
+\206\367\015\001\001\001\005\000\003\202\002\017\000\060\202\002
+\012\002\202\002\001\000\343\311\162\111\367\060\336\011\174\251
+\100\201\130\323\264\072\335\272\141\017\223\120\156\151\074\065
+\302\356\133\163\220\033\147\114\041\354\137\065\273\071\076\053
+\012\140\357\273\155\053\206\373\161\242\310\254\344\126\224\371
+\311\257\261\162\324\040\254\164\322\270\025\255\121\376\205\164
+\241\271\020\376\005\200\371\122\223\263\100\075\165\020\254\300
+\226\267\247\176\166\274\343\033\122\031\316\021\037\013\004\064
+\365\330\365\151\074\167\363\144\364\015\252\205\336\340\011\120
+\004\027\226\204\267\310\212\274\115\162\374\034\273\317\363\006
+\115\371\237\144\367\176\246\146\206\065\161\310\021\200\114\301
+\161\100\130\036\276\240\163\366\374\076\120\341\340\057\046\075
+\176\134\043\265\171\160\336\372\340\321\245\326\014\101\161\173
+\367\352\214\034\210\307\354\213\365\321\057\125\226\106\174\132
+\073\130\073\373\272\330\055\265\045\332\172\116\317\104\256\041
+\246\236\230\312\040\156\174\273\210\205\133\373\300\020\142\273
+\362\371\047\107\357\321\211\071\103\304\337\336\341\101\277\124
+\163\040\227\055\154\332\363\324\007\243\346\271\330\157\256\374
+\214\031\056\323\147\147\053\225\333\130\134\265\152\002\363\270
+\203\136\264\153\276\101\176\127\011\165\104\120\125\315\132\021
+\141\041\012\141\302\251\210\375\023\274\055\211\057\315\141\340
+\225\276\312\265\173\341\173\064\147\013\037\266\014\307\174\036
+\031\123\312\247\261\112\025\040\126\024\160\075\053\202\054\017
+\235\025\035\107\200\107\377\170\231\016\061\257\157\076\217\355
+\206\151\036\173\030\210\024\262\302\374\202\063\056\234\113\055
+\373\160\073\161\252\053\173\046\047\363\032\302\334\373\027\270
+\241\352\313\240\264\256\323\224\176\172\320\253\303\354\070\055
+\021\056\210\277\324\077\255\022\073\102\254\217\002\156\175\314
+\321\137\141\276\241\274\072\152\110\352\046\125\042\026\135\137
+\015\377\047\063\237\030\003\164\212\133\122\040\107\153\105\115
+\042\167\214\125\047\360\257\036\214\311\203\042\124\267\232\320
+\117\331\316\374\331\056\034\226\050\261\002\323\003\275\045\122
+\034\064\146\117\043\253\364\167\202\226\035\321\127\060\010\021
+\005\375\127\321\331\307\002\003\001\000\001\243\102\060\100\060
+\035\006\003\125\035\016\004\026\004\024\144\024\174\374\130\162
+\026\246\012\051\064\025\157\052\313\274\374\257\250\253\060\016
+\006\003\125\035\017\001\001\377\004\004\003\002\001\006\060\017
+\006\003\125\035\023\001\001\377\004\005\060\003\001\001\377\060
+\015\006\011\052\206\110\206\367\015\001\001\014\005\000\003\202
+\002\001\000\334\002\043\010\342\357\041\072\307\015\267\046\322
+\142\223\247\245\043\162\007\040\202\140\337\030\327\124\255\151
+\045\222\236\331\024\317\231\271\122\201\317\256\154\212\073\132
+\071\310\154\001\103\302\042\155\002\360\142\315\116\143\103\300
+\024\332\364\143\360\352\364\161\356\116\207\343\161\251\364\311
+\127\345\056\137\034\171\273\043\252\207\104\127\351\275\065\115
+\101\273\113\050\243\230\262\033\331\013\027\007\345\367\352\235
+\365\166\327\277\304\266\201\130\377\310\377\144\151\142\171\255
+\156\016\037\177\356\035\151\345\267\162\161\263\376\245\001\065
+\224\124\053\300\122\155\217\125\304\311\322\270\313\312\064\010
+\121\205\240\365\274\264\027\130\352\012\134\172\275\143\306\072
+\057\377\226\111\031\204\352\147\330\004\261\141\364\000\133\112
+\267\234\161\067\031\205\171\277\201\260\307\023\016\166\161\076
+\072\200\006\256\006\026\247\215\265\302\304\313\377\100\245\134
+\215\245\311\072\355\162\201\312\134\230\074\322\064\003\167\010
+\375\360\051\131\135\041\010\307\140\277\244\161\173\270\331\036
+\202\276\011\257\145\157\050\253\277\113\265\356\076\010\107\047
+\240\017\157\017\213\077\254\225\030\363\271\016\334\147\125\156
+\142\236\106\016\321\004\170\312\162\256\166\331\245\370\262\337
+\210\011\141\213\357\044\116\321\131\077\132\324\075\311\223\074
+\053\144\365\201\015\026\226\367\222\303\376\061\157\350\052\062
+\164\016\364\114\230\112\030\016\060\124\325\305\353\274\305\025
+\236\350\231\041\353\047\053\011\012\333\361\346\160\030\126\273
+\014\344\276\371\350\020\244\023\222\270\034\340\333\147\035\123
+\003\244\042\247\334\135\222\020\074\352\377\374\033\020\032\303
+\330\320\234\235\145\313\320\053\047\061\003\036\066\341\075\166
+\165\014\377\105\046\271\335\121\274\043\307\137\330\330\207\020
+\100\022\015\075\070\067\347\104\074\030\300\123\011\144\217\377
+\325\232\246\174\160\056\163\125\041\350\337\377\203\271\035\076
+\062\036\326\246\175\054\361\146\351\134\035\247\243\316\136\045
+\062\053\343\225\254\052\007\316\264\050\170\206\074\055\246\235
+\115\322\164\060\335\144\121\025\333\203\203\121\327\257\375\063
+\235\115\146
 END
 CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
-# Trust for "SSL.com EV Root Certification Authority ECC"
-# Issuer: CN=SSL.com EV Root Certification Authority ECC,O=SSL Corporation,L=Houston,ST=Texas,C=US
-# Serial Number:2c:29:9c:5b:16:ed:05:95
-# Subject: CN=SSL.com EV Root Certification Authority ECC,O=SSL Corporation,L=Houston,ST=Texas,C=US
-# Not Valid Before: Fri Feb 12 18:15:23 2016
-# Not Valid After : Tue Feb 12 18:15:23 2041
-# Fingerprint (SHA-256): 22:A2:C1:F7:BD:ED:70:4C:C1:E7:01:B5:F4:08:C3:10:88:0F:E9:56:B5:DE:2A:4A:44:F9:9C:87:3A:25:A7:C8
-# Fingerprint (SHA1): 4C:DD:51:A3:D1:F5:20:32:14:B0:C6:C5:32:23:03:91:C7:46:42:6D
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
+
+# Trust for "Security Communication RootCA3"
+# Issuer: CN=Security Communication RootCA3,O="SECOM Trust Systems CO.,LTD.",C=JP
+# Serial Number:00:e1:7c:37:40:fd:1b:fe:67
+# Subject: CN=Security Communication RootCA3,O="SECOM Trust Systems CO.,LTD.",C=JP
+# Not Valid Before: Thu Jun 16 06:17:16 2016
+# Not Valid After : Mon Jan 18 06:17:16 2038
+# Fingerprint (SHA-256): 24:A5:5C:2A:B0:51:44:2D:06:17:76:65:41:23:9A:4A:D0:32:D7:C5:51:75:AA:34:FF:DE:2F:BC:4F:5C:52:94
+# Fingerprint (SHA1): C3:03:C8:22:74:92:E5:61:A2:9C:5F:79:91:2B:1E:44:13:91:30:3A
 CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "SSL.com EV Root Certification Authority ECC"
+CKA_LABEL UTF8 "Security Communication RootCA3"
 CKA_CERT_SHA1_HASH MULTILINE_OCTAL
-\114\335\121\243\321\365\040\062\024\260\306\305\062\043\003\221
-\307\106\102\155
+\303\003\310\042\164\222\345\141\242\234\137\171\221\053\036\104
+\023\221\060\072
 END
 CKA_CERT_MD5_HASH MULTILINE_OCTAL
-\131\123\042\145\203\102\001\124\300\316\102\271\132\174\362\220
+\034\232\026\377\236\134\340\115\212\024\001\364\065\135\051\046
 END
 CKA_ISSUER MULTILINE_OCTAL
-\060\177\061\013\060\011\006\003\125\004\006\023\002\125\123\061
-\016\060\014\006\003\125\004\010\014\005\124\145\170\141\163\061
-\020\060\016\006\003\125\004\007\014\007\110\157\165\163\164\157
-\156\061\030\060\026\006\003\125\004\012\014\017\123\123\114\040
-\103\157\162\160\157\162\141\164\151\157\156\061\064\060\062\006
-\003\125\004\003\014\053\123\123\114\056\143\157\155\040\105\126
-\040\122\157\157\164\040\103\145\162\164\151\146\151\143\141\164
-\151\157\156\040\101\165\164\150\157\162\151\164\171\040\105\103
-\103
+\060\135\061\013\060\011\006\003\125\004\006\023\002\112\120\061
+\045\060\043\006\003\125\004\012\023\034\123\105\103\117\115\040
+\124\162\165\163\164\040\123\171\163\164\145\155\163\040\103\117
+\056\054\114\124\104\056\061\047\060\045\006\003\125\004\003\023
+\036\123\145\143\165\162\151\164\171\040\103\157\155\155\165\156
+\151\143\141\164\151\157\156\040\122\157\157\164\103\101\063
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\010\054\051\234\133\026\355\005\225
+\002\011\000\341\174\067\100\375\033\376\147
 END
 CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
-CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
 CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
 CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
 
 #
-# Certificate "GlobalSign Root CA - R6"
+# Certificate "Security Communication ECC RootCA1"
 #
-# Issuer: CN=GlobalSign,O=GlobalSign,OU=GlobalSign Root CA - R6
-# Serial Number:45:e6:bb:03:83:33:c3:85:65:48:e6:ff:45:51
-# Subject: CN=GlobalSign,O=GlobalSign,OU=GlobalSign Root CA - R6
-# Not Valid Before: Wed Dec 10 00:00:00 2014
-# Not Valid After : Sun Dec 10 00:00:00 2034
-# Fingerprint (SHA-256): 2C:AB:EA:FE:37:D0:6C:A2:2A:BA:73:91:C0:03:3D:25:98:29:52:C4:53:64:73:49:76:3A:3A:B5:AD:6C:CF:69
-# Fingerprint (SHA1): 80:94:64:0E:B5:A7:A1:CA:11:9C:1F:DD:D5:9F:81:02:63:A7:FB:D1
+# Issuer: CN=Security Communication ECC RootCA1,O="SECOM Trust Systems CO.,LTD.",C=JP
+# Serial Number:00:d6:5d:9b:b3:78:81:2e:eb
+# Subject: CN=Security Communication ECC RootCA1,O="SECOM Trust Systems CO.,LTD.",C=JP
+# Not Valid Before: Thu Jun 16 05:15:28 2016
+# Not Valid After : Mon Jan 18 05:15:28 2038
+# Fingerprint (SHA-256): E7:4F:BD:A5:5B:D5:64:C4:73:A3:6B:44:1A:A7:99:C8:A6:8E:07:74:40:E8:28:8B:9F:A1:E5:0E:4B:BA:CA:11
+# Fingerprint (SHA1): B8:0E:26:A9:BF:D2:B2:3B:C0:EF:46:C9:BA:C7:BB:F6:1D:0D:41:41
 CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "GlobalSign Root CA - R6"
+CKA_LABEL UTF8 "Security Communication ECC RootCA1"
 CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
 CKA_SUBJECT MULTILINE_OCTAL
-\060\114\061\040\060\036\006\003\125\004\013\023\027\107\154\157
-\142\141\154\123\151\147\156\040\122\157\157\164\040\103\101\040
-\055\040\122\066\061\023\060\021\006\003\125\004\012\023\012\107
-\154\157\142\141\154\123\151\147\156\061\023\060\021\006\003\125
-\004\003\023\012\107\154\157\142\141\154\123\151\147\156
+\060\141\061\013\060\011\006\003\125\004\006\023\002\112\120\061
+\045\060\043\006\003\125\004\012\023\034\123\105\103\117\115\040
+\124\162\165\163\164\040\123\171\163\164\145\155\163\040\103\117
+\056\054\114\124\104\056\061\053\060\051\006\003\125\004\003\023
+\042\123\145\143\165\162\151\164\171\040\103\157\155\155\165\156
+\151\143\141\164\151\157\156\040\105\103\103\040\122\157\157\164
+\103\101\061
 END
 CKA_ID UTF8 "0"
 CKA_ISSUER MULTILINE_OCTAL
-\060\114\061\040\060\036\006\003\125\004\013\023\027\107\154\157
-\142\141\154\123\151\147\156\040\122\157\157\164\040\103\101\040
-\055\040\122\066\061\023\060\021\006\003\125\004\012\023\012\107
-\154\157\142\141\154\123\151\147\156\061\023\060\021\006\003\125
-\004\003\023\012\107\154\157\142\141\154\123\151\147\156
+\060\141\061\013\060\011\006\003\125\004\006\023\002\112\120\061
+\045\060\043\006\003\125\004\012\023\034\123\105\103\117\115\040
+\124\162\165\163\164\040\123\171\163\164\145\155\163\040\103\117
+\056\054\114\124\104\056\061\053\060\051\006\003\125\004\003\023
+\042\123\145\143\165\162\151\164\171\040\103\157\155\155\165\156
+\151\143\141\164\151\157\156\040\105\103\103\040\122\157\157\164
+\103\101\061
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\016\105\346\273\003\203\063\303\205\145\110\346\377\105\121
+\002\011\000\326\135\233\263\170\201\056\353
 END
 CKA_VALUE MULTILINE_OCTAL
-\060\202\005\203\060\202\003\153\240\003\002\001\002\002\016\105
-\346\273\003\203\063\303\205\145\110\346\377\105\121\060\015\006
-\011\052\206\110\206\367\015\001\001\014\005\000\060\114\061\040
-\060\036\006\003\125\004\013\023\027\107\154\157\142\141\154\123
-\151\147\156\040\122\157\157\164\040\103\101\040\055\040\122\066
-\061\023\060\021\006\003\125\004\012\023\012\107\154\157\142\141
-\154\123\151\147\156\061\023\060\021\006\003\125\004\003\023\012
-\107\154\157\142\141\154\123\151\147\156\060\036\027\015\061\064
-\061\062\061\060\060\060\060\060\060\060\132\027\015\063\064\061
-\062\061\060\060\060\060\060\060\060\132\060\114\061\040\060\036
-\006\003\125\004\013\023\027\107\154\157\142\141\154\123\151\147
-\156\040\122\157\157\164\040\103\101\040\055\040\122\066\061\023
-\060\021\006\003\125\004\012\023\012\107\154\157\142\141\154\123
-\151\147\156\061\023\060\021\006\003\125\004\003\023\012\107\154
-\157\142\141\154\123\151\147\156\060\202\002\042\060\015\006\011
-\052\206\110\206\367\015\001\001\001\005\000\003\202\002\017\000
-\060\202\002\012\002\202\002\001\000\225\007\350\163\312\146\371
-\354\024\312\173\074\367\015\010\361\264\105\013\054\202\264\110
-\306\353\133\074\256\203\270\101\222\063\024\244\157\177\351\052
-\314\306\260\210\153\305\266\211\321\306\262\377\024\316\121\024
-\041\354\112\335\033\132\306\326\207\356\115\072\025\006\355\144
-\146\013\222\200\312\104\336\163\224\116\363\247\211\177\117\170
-\143\010\310\022\120\155\102\146\057\115\271\171\050\115\122\032
-\212\032\200\267\031\201\016\176\304\212\274\144\114\041\034\103
-\150\327\075\074\212\305\262\146\325\220\232\267\061\006\305\276
-\342\155\062\006\246\036\371\271\353\252\243\270\277\276\202\143
-\120\320\360\030\211\337\344\017\171\365\352\242\037\052\322\160
-\056\173\347\274\223\273\155\123\342\110\174\214\020\007\070\377
-\146\262\167\141\176\340\352\214\074\252\264\244\366\363\225\112
-\022\007\155\375\214\262\211\317\320\240\141\167\310\130\164\260
-\324\043\072\367\135\072\312\242\333\235\011\336\135\104\055\220
-\361\201\315\127\222\372\176\274\120\004\143\064\337\153\223\030
-\276\153\066\262\071\344\254\044\066\267\360\357\266\034\023\127
-\223\266\336\262\370\342\205\267\163\242\270\065\252\105\362\340
-\235\066\241\157\124\212\361\162\126\156\056\210\305\121\102\104
-\025\224\356\243\305\070\226\233\116\116\132\013\107\363\006\066
-\111\167\060\274\161\067\345\246\354\041\010\165\374\346\141\026
-\077\167\325\331\221\227\204\012\154\324\002\115\164\300\024\355
-\375\071\373\203\362\136\024\241\004\260\013\351\376\356\217\341
-\156\013\262\010\263\141\146\011\152\261\006\072\145\226\131\300
-\360\065\375\311\332\050\215\032\021\207\160\201\012\250\232\165
-\035\236\072\206\005\000\236\333\200\326\045\371\334\005\236\047
-\131\114\166\071\133\352\371\245\241\330\203\017\321\377\337\060
-\021\371\205\317\063\110\365\312\155\144\024\054\172\130\117\323
-\113\010\111\305\225\144\032\143\016\171\075\365\263\214\312\130
-\255\234\102\105\171\156\016\207\031\134\124\261\145\266\277\214
-\233\334\023\351\015\157\270\056\334\147\156\311\213\021\265\204
-\024\212\000\031\160\203\171\221\227\221\324\032\047\277\067\036
-\062\007\330\024\143\074\050\114\257\002\003\001\000\001\243\143
-\060\141\060\016\006\003\125\035\017\001\001\377\004\004\003\002
-\001\006\060\017\006\003\125\035\023\001\001\377\004\005\060\003
-\001\001\377\060\035\006\003\125\035\016\004\026\004\024\256\154
-\005\243\223\023\342\242\347\342\327\034\326\307\360\177\310\147
-\123\240\060\037\006\003\125\035\043\004\030\060\026\200\024\256
-\154\005\243\223\023\342\242\347\342\327\034\326\307\360\177\310
-\147\123\240\060\015\006\011\052\206\110\206\367\015\001\001\014
-\005\000\003\202\002\001\000\203\045\355\350\321\375\225\122\315
-\236\300\004\240\221\151\346\134\320\204\336\334\255\242\117\350
-\107\170\326\145\230\251\133\250\074\207\174\002\212\321\156\267
-\026\163\346\137\300\124\230\325\164\276\301\315\342\021\221\255
-\043\030\075\335\341\162\104\226\264\225\136\300\173\216\231\170
-\026\103\023\126\127\263\242\263\073\265\167\334\100\162\254\243
-\353\233\065\076\261\010\041\241\347\304\103\067\171\062\276\265
-\347\234\054\114\274\103\051\231\216\060\323\254\041\340\343\035
-\372\330\007\063\166\124\000\042\052\271\115\040\056\160\150\332
-\345\123\374\203\134\323\235\362\377\104\014\104\146\362\322\343
-\275\106\000\032\155\002\272\045\135\215\241\061\121\335\124\106
-\034\115\333\231\226\357\032\034\004\134\246\025\357\170\340\171
-\376\135\333\076\252\114\125\375\232\025\251\157\341\246\373\337
-\160\060\351\303\356\102\106\355\302\223\005\211\372\175\143\173
-\077\320\161\201\174\000\350\230\256\016\170\064\303\045\373\257
-\012\237\040\153\335\073\023\217\022\214\342\101\032\110\172\163
-\240\167\151\307\266\134\177\202\310\036\376\130\033\050\053\250
-\154\255\136\155\300\005\322\173\267\353\200\376\045\067\376\002
-\233\150\254\102\135\303\356\365\314\334\360\120\165\322\066\151
-\234\346\173\004\337\156\006\151\266\336\012\011\110\131\207\353
-\173\024\140\172\144\252\151\103\357\221\307\114\354\030\335\154
-\357\123\055\214\231\341\136\362\162\076\317\124\310\275\147\354
-\244\017\114\105\377\323\271\060\043\007\114\217\020\277\206\226
-\331\231\132\264\231\127\034\244\314\273\025\211\123\272\054\005
-\017\344\304\236\031\261\030\064\325\114\235\272\355\367\037\257
-\044\225\004\170\250\003\273\356\201\345\332\137\174\213\112\241
-\220\164\045\247\263\076\113\310\054\126\275\307\310\357\070\342
-\134\222\360\171\367\234\204\272\164\055\141\001\040\176\176\321
-\362\117\007\131\137\213\055\103\122\353\106\014\224\341\365\146
-\107\171\167\325\124\133\037\255\044\067\313\105\132\116\240\104
-\110\310\330\260\231\305\025\204\011\366\326\111\111\300\145\270
-\346\032\161\156\240\250\361\202\350\105\076\154\326\002\327\012
-\147\203\005\132\311\244\020
+\060\202\002\070\060\202\001\276\240\003\002\001\002\002\011\000
+\326\135\233\263\170\201\056\353\060\012\006\010\052\206\110\316
+\075\004\003\003\060\141\061\013\060\011\006\003\125\004\006\023
+\002\112\120\061\045\060\043\006\003\125\004\012\023\034\123\105
+\103\117\115\040\124\162\165\163\164\040\123\171\163\164\145\155
+\163\040\103\117\056\054\114\124\104\056\061\053\060\051\006\003
+\125\004\003\023\042\123\145\143\165\162\151\164\171\040\103\157
+\155\155\165\156\151\143\141\164\151\157\156\040\105\103\103\040
+\122\157\157\164\103\101\061\060\036\027\015\061\066\060\066\061
+\066\060\065\061\065\062\070\132\027\015\063\070\060\061\061\070
+\060\065\061\065\062\070\132\060\141\061\013\060\011\006\003\125
+\004\006\023\002\112\120\061\045\060\043\006\003\125\004\012\023
+\034\123\105\103\117\115\040\124\162\165\163\164\040\123\171\163
+\164\145\155\163\040\103\117\056\054\114\124\104\056\061\053\060
+\051\006\003\125\004\003\023\042\123\145\143\165\162\151\164\171
+\040\103\157\155\155\165\156\151\143\141\164\151\157\156\040\105
+\103\103\040\122\157\157\164\103\101\061\060\166\060\020\006\007
+\052\206\110\316\075\002\001\006\005\053\201\004\000\042\003\142
+\000\004\244\245\157\140\003\003\303\275\061\364\323\027\234\053
+\204\165\254\345\375\075\127\156\327\143\277\346\004\211\222\216
+\201\234\343\351\107\156\312\220\022\310\023\340\247\235\367\145
+\164\037\154\020\262\350\344\351\357\155\205\062\231\104\261\136
+\375\314\166\020\330\133\275\242\306\371\326\102\344\127\166\334
+\220\302\065\251\113\210\074\022\107\155\134\377\111\117\032\112
+\120\261\243\102\060\100\060\035\006\003\125\035\016\004\026\004
+\024\206\034\347\376\055\245\112\213\010\376\050\021\372\276\243
+\146\370\140\131\057\060\016\006\003\125\035\017\001\001\377\004
+\004\003\002\001\006\060\017\006\003\125\035\023\001\001\377\004
+\005\060\003\001\001\377\060\012\006\010\052\206\110\316\075\004
+\003\003\003\150\000\060\145\002\060\025\135\102\075\374\266\356
+\367\073\261\066\350\236\366\304\106\050\111\063\320\130\103\052
+\143\051\314\115\261\264\172\242\271\015\070\245\135\110\052\375
+\313\262\163\135\243\210\010\307\014\002\061\000\300\253\055\016
+\155\355\030\242\333\123\351\045\333\125\010\340\120\314\337\104
+\141\026\202\253\111\260\262\201\354\163\207\170\264\114\262\142
+\033\022\372\026\115\045\113\143\275\036\067\331
 END
 CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
-# Trust for "GlobalSign Root CA - R6"
-# Issuer: CN=GlobalSign,O=GlobalSign,OU=GlobalSign Root CA - R6
-# Serial Number:45:e6:bb:03:83:33:c3:85:65:48:e6:ff:45:51
-# Subject: CN=GlobalSign,O=GlobalSign,OU=GlobalSign Root CA - R6
-# Not Valid Before: Wed Dec 10 00:00:00 2014
-# Not Valid After : Sun Dec 10 00:00:00 2034
-# Fingerprint (SHA-256): 2C:AB:EA:FE:37:D0:6C:A2:2A:BA:73:91:C0:03:3D:25:98:29:52:C4:53:64:73:49:76:3A:3A:B5:AD:6C:CF:69
-# Fingerprint (SHA1): 80:94:64:0E:B5:A7:A1:CA:11:9C:1F:DD:D5:9F:81:02:63:A7:FB:D1
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
+
+# Trust for "Security Communication ECC RootCA1"
+# Issuer: CN=Security Communication ECC RootCA1,O="SECOM Trust Systems CO.,LTD.",C=JP
+# Serial Number:00:d6:5d:9b:b3:78:81:2e:eb
+# Subject: CN=Security Communication ECC RootCA1,O="SECOM Trust Systems CO.,LTD.",C=JP
+# Not Valid Before: Thu Jun 16 05:15:28 2016
+# Not Valid After : Mon Jan 18 05:15:28 2038
+# Fingerprint (SHA-256): E7:4F:BD:A5:5B:D5:64:C4:73:A3:6B:44:1A:A7:99:C8:A6:8E:07:74:40:E8:28:8B:9F:A1:E5:0E:4B:BA:CA:11
+# Fingerprint (SHA1): B8:0E:26:A9:BF:D2:B2:3B:C0:EF:46:C9:BA:C7:BB:F6:1D:0D:41:41
 CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "GlobalSign Root CA - R6"
+CKA_LABEL UTF8 "Security Communication ECC RootCA1"
 CKA_CERT_SHA1_HASH MULTILINE_OCTAL
-\200\224\144\016\265\247\241\312\021\234\037\335\325\237\201\002
-\143\247\373\321
+\270\016\046\251\277\322\262\073\300\357\106\311\272\307\273\366
+\035\015\101\101
 END
 CKA_CERT_MD5_HASH MULTILINE_OCTAL
-\117\335\007\344\324\042\144\071\036\014\067\102\352\321\306\256
+\176\103\260\222\150\354\005\103\114\230\253\135\065\056\176\206
 END
 CKA_ISSUER MULTILINE_OCTAL
-\060\114\061\040\060\036\006\003\125\004\013\023\027\107\154\157
-\142\141\154\123\151\147\156\040\122\157\157\164\040\103\101\040
-\055\040\122\066\061\023\060\021\006\003\125\004\012\023\012\107
-\154\157\142\141\154\123\151\147\156\061\023\060\021\006\003\125
-\004\003\023\012\107\154\157\142\141\154\123\151\147\156
+\060\141\061\013\060\011\006\003\125\004\006\023\002\112\120\061
+\045\060\043\006\003\125\004\012\023\034\123\105\103\117\115\040
+\124\162\165\163\164\040\123\171\163\164\145\155\163\040\103\117
+\056\054\114\124\104\056\061\053\060\051\006\003\125\004\003\023
+\042\123\145\143\165\162\151\164\171\040\103\157\155\155\165\156
+\151\143\141\164\151\157\156\040\105\103\103\040\122\157\157\164
+\103\101\061
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\016\105\346\273\003\203\063\303\205\145\110\346\377\105\121
+\002\011\000\326\135\233\263\170\201\056\353
 END
 CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
 CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
@@ -21999,119 +23427,167 @@ CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
 CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
 
 #
-# Certificate "OISTE WISeKey Global Root GC CA"
+# Certificate "BJCA Global Root CA1"
 #
-# Issuer: CN=OISTE WISeKey Global Root GC CA,OU=OISTE Foundation Endorsed,O=WISeKey,C=CH
-# Serial Number:21:2a:56:0c:ae:da:0c:ab:40:45:bf:2b:a2:2d:3a:ea
-# Subject: CN=OISTE WISeKey Global Root GC CA,OU=OISTE Foundation Endorsed,O=WISeKey,C=CH
-# Not Valid Before: Tue May 09 09:48:34 2017
-# Not Valid After : Fri May 09 09:58:33 2042
-# Fingerprint (SHA-256): 85:60:F9:1C:36:24:DA:BA:95:70:B5:FE:A0:DB:E3:6F:F1:1A:83:23:BE:94:86:85:4F:B3:F3:4A:55:71:19:8D
-# Fingerprint (SHA1): E0:11:84:5E:34:DE:BE:88:81:B9:9C:F6:16:26:D1:96:1F:C3:B9:31
+# Issuer: CN=BJCA Global Root CA1,O=BEIJING CERTIFICATE AUTHORITY,C=CN
+# Serial Number:55:6f:65:e3:b4:d9:90:6a:1b:09:d1:6c:3e:c0:6c:20
+# Subject: CN=BJCA Global Root CA1,O=BEIJING CERTIFICATE AUTHORITY,C=CN
+# Not Valid Before: Thu Dec 19 03:16:17 2019
+# Not Valid After : Mon Dec 12 03:16:17 2044
+# Fingerprint (SHA-256): F3:89:6F:88:FE:7C:0A:88:27:66:A7:FA:6A:D2:74:9F:B5:7A:7F:3E:98:FB:76:9C:1F:A7:B0:9C:2C:44:D5:AE
+# Fingerprint (SHA1): D5:EC:8D:7B:4C:BA:79:F4:E7:E8:CB:9D:6B:AE:77:83:10:03:21:6A
 CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "OISTE WISeKey Global Root GC CA"
+CKA_LABEL UTF8 "BJCA Global Root CA1"
 CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
 CKA_SUBJECT MULTILINE_OCTAL
-\060\155\061\013\060\011\006\003\125\004\006\023\002\103\110\061
-\020\060\016\006\003\125\004\012\023\007\127\111\123\145\113\145
-\171\061\042\060\040\006\003\125\004\013\023\031\117\111\123\124
-\105\040\106\157\165\156\144\141\164\151\157\156\040\105\156\144
-\157\162\163\145\144\061\050\060\046\006\003\125\004\003\023\037
-\117\111\123\124\105\040\127\111\123\145\113\145\171\040\107\154
-\157\142\141\154\040\122\157\157\164\040\107\103\040\103\101
+\060\124\061\013\060\011\006\003\125\004\006\023\002\103\116\061
+\046\060\044\006\003\125\004\012\014\035\102\105\111\112\111\116
+\107\040\103\105\122\124\111\106\111\103\101\124\105\040\101\125
+\124\110\117\122\111\124\131\061\035\060\033\006\003\125\004\003
+\014\024\102\112\103\101\040\107\154\157\142\141\154\040\122\157
+\157\164\040\103\101\061
 END
 CKA_ID UTF8 "0"
 CKA_ISSUER MULTILINE_OCTAL
-\060\155\061\013\060\011\006\003\125\004\006\023\002\103\110\061
-\020\060\016\006\003\125\004\012\023\007\127\111\123\145\113\145
-\171\061\042\060\040\006\003\125\004\013\023\031\117\111\123\124
-\105\040\106\157\165\156\144\141\164\151\157\156\040\105\156\144
-\157\162\163\145\144\061\050\060\046\006\003\125\004\003\023\037
-\117\111\123\124\105\040\127\111\123\145\113\145\171\040\107\154
-\157\142\141\154\040\122\157\157\164\040\107\103\040\103\101
+\060\124\061\013\060\011\006\003\125\004\006\023\002\103\116\061
+\046\060\044\006\003\125\004\012\014\035\102\105\111\112\111\116
+\107\040\103\105\122\124\111\106\111\103\101\124\105\040\101\125
+\124\110\117\122\111\124\131\061\035\060\033\006\003\125\004\003
+\014\024\102\112\103\101\040\107\154\157\142\141\154\040\122\157
+\157\164\040\103\101\061
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\020\041\052\126\014\256\332\014\253\100\105\277\053\242\055
-\072\352
+\002\020\125\157\145\343\264\331\220\152\033\011\321\154\076\300
+\154\040
 END
 CKA_VALUE MULTILINE_OCTAL
-\060\202\002\151\060\202\001\357\240\003\002\001\002\002\020\041
-\052\126\014\256\332\014\253\100\105\277\053\242\055\072\352\060
-\012\006\010\052\206\110\316\075\004\003\003\060\155\061\013\060
-\011\006\003\125\004\006\023\002\103\110\061\020\060\016\006\003
-\125\004\012\023\007\127\111\123\145\113\145\171\061\042\060\040
-\006\003\125\004\013\023\031\117\111\123\124\105\040\106\157\165
-\156\144\141\164\151\157\156\040\105\156\144\157\162\163\145\144
-\061\050\060\046\006\003\125\004\003\023\037\117\111\123\124\105
-\040\127\111\123\145\113\145\171\040\107\154\157\142\141\154\040
-\122\157\157\164\040\107\103\040\103\101\060\036\027\015\061\067
-\060\065\060\071\060\071\064\070\063\064\132\027\015\064\062\060
-\065\060\071\060\071\065\070\063\063\132\060\155\061\013\060\011
-\006\003\125\004\006\023\002\103\110\061\020\060\016\006\003\125
-\004\012\023\007\127\111\123\145\113\145\171\061\042\060\040\006
-\003\125\004\013\023\031\117\111\123\124\105\040\106\157\165\156
-\144\141\164\151\157\156\040\105\156\144\157\162\163\145\144\061
-\050\060\046\006\003\125\004\003\023\037\117\111\123\124\105\040
-\127\111\123\145\113\145\171\040\107\154\157\142\141\154\040\122
-\157\157\164\040\107\103\040\103\101\060\166\060\020\006\007\052
-\206\110\316\075\002\001\006\005\053\201\004\000\042\003\142\000
-\004\114\351\120\300\306\017\162\030\274\330\361\272\263\211\342
-\171\112\243\026\247\153\124\044\333\121\377\352\364\011\044\303
-\013\042\237\313\152\047\202\201\015\322\300\257\061\344\164\202
-\156\312\045\331\214\165\235\361\333\320\232\242\113\041\176\026
-\247\143\220\322\071\324\261\207\170\137\030\226\017\120\033\065
-\067\017\152\306\334\331\023\115\244\216\220\067\346\275\133\061
-\221\243\124\060\122\060\016\006\003\125\035\017\001\001\377\004
-\004\003\002\001\006\060\017\006\003\125\035\023\001\001\377\004
-\005\060\003\001\001\377\060\035\006\003\125\035\016\004\026\004
-\024\110\207\024\254\343\303\236\220\140\072\327\312\211\356\323
-\255\214\264\120\146\060\020\006\011\053\006\001\004\001\202\067
-\025\001\004\003\002\001\000\060\012\006\010\052\206\110\316\075
-\004\003\003\003\150\000\060\145\002\060\046\307\151\133\334\325
-\347\262\347\310\014\214\214\303\335\171\214\033\143\325\311\122
-\224\116\115\202\112\163\036\262\200\204\251\045\300\114\132\155
-\111\051\140\170\023\342\176\110\353\144\002\061\000\333\064\040
-\062\010\377\232\111\002\266\210\336\024\257\135\154\231\161\215
-\032\077\213\327\340\242\066\206\034\007\202\072\166\123\375\302
-\242\355\357\173\260\200\117\130\017\113\123\071\275
+\060\202\005\164\060\202\003\134\240\003\002\001\002\002\020\125
+\157\145\343\264\331\220\152\033\011\321\154\076\300\154\040\060
+\015\006\011\052\206\110\206\367\015\001\001\013\005\000\060\124
+\061\013\060\011\006\003\125\004\006\023\002\103\116\061\046\060
+\044\006\003\125\004\012\014\035\102\105\111\112\111\116\107\040
+\103\105\122\124\111\106\111\103\101\124\105\040\101\125\124\110
+\117\122\111\124\131\061\035\060\033\006\003\125\004\003\014\024
+\102\112\103\101\040\107\154\157\142\141\154\040\122\157\157\164
+\040\103\101\061\060\036\027\015\061\071\061\062\061\071\060\063
+\061\066\061\067\132\027\015\064\064\061\062\061\062\060\063\061
+\066\061\067\132\060\124\061\013\060\011\006\003\125\004\006\023
+\002\103\116\061\046\060\044\006\003\125\004\012\014\035\102\105
+\111\112\111\116\107\040\103\105\122\124\111\106\111\103\101\124
+\105\040\101\125\124\110\117\122\111\124\131\061\035\060\033\006
+\003\125\004\003\014\024\102\112\103\101\040\107\154\157\142\141
+\154\040\122\157\157\164\040\103\101\061\060\202\002\042\060\015
+\006\011\052\206\110\206\367\015\001\001\001\005\000\003\202\002
+\017\000\060\202\002\012\002\202\002\001\000\361\146\010\275\331
+\305\025\141\313\204\004\101\245\151\067\167\035\301\260\173\372
+\303\167\110\220\023\162\144\321\270\174\220\065\235\030\171\210
+\343\227\001\074\107\201\362\016\242\230\015\236\077\067\340\031
+\262\220\362\106\034\222\261\072\141\316\372\267\106\236\003\206
+\327\063\156\355\367\105\214\166\067\336\156\226\221\367\327\176
+\053\207\027\325\213\065\356\204\221\162\127\334\140\303\303\271
+\347\307\147\044\043\117\143\012\143\366\146\175\113\125\247\077
+\170\144\111\151\022\227\340\114\015\323\011\240\062\060\072\372
+\237\300\362\234\305\022\052\056\034\265\004\063\332\244\070\021
+\152\336\306\030\366\107\072\042\101\207\042\374\304\211\050\124
+\330\214\245\060\012\370\027\026\312\254\067\375\171\247\221\027
+\170\070\231\255\130\355\262\336\314\211\175\003\234\263\211\145
+\347\343\073\261\042\206\217\006\155\170\007\375\221\022\177\260
+\153\034\211\015\371\270\313\164\133\007\302\310\364\065\321\144
+\143\172\351\156\232\050\326\060\275\346\033\335\025\257\204\352
+\234\307\312\365\016\352\362\135\051\207\217\151\163\071\276\056
+\044\157\105\041\254\305\324\151\045\006\203\255\172\110\205\023
+\054\015\006\270\154\171\126\374\243\147\062\201\365\127\245\312
+\127\102\151\351\134\044\141\357\342\060\030\116\104\230\125\157
+\172\302\223\330\031\266\336\174\107\212\021\116\111\107\333\050
+\224\002\013\224\112\054\371\022\320\117\350\061\176\154\172\277
+\246\077\233\071\075\002\026\243\030\263\147\254\133\077\054\203
+\053\147\071\201\134\271\176\224\325\144\335\236\217\156\256\350
+\174\133\264\327\152\107\110\327\176\263\324\055\216\126\166\116
+\317\151\361\156\104\154\324\044\352\215\044\241\030\277\275\127
+\376\251\231\065\265\333\020\167\270\075\110\272\326\301\347\361
+\043\076\327\337\205\235\047\074\324\100\275\012\014\275\365\347
+\215\045\326\201\164\207\106\324\051\165\242\102\154\367\163\211
+\347\175\277\172\112\037\323\042\311\025\125\317\337\157\174\125
+\320\244\213\007\021\067\137\203\246\046\127\246\001\133\176\376
+\130\150\007\251\351\172\331\271\350\377\120\037\253\302\264\300
+\316\350\352\375\017\275\215\115\270\274\161\002\003\001\000\001
+\243\102\060\100\060\035\006\003\125\035\016\004\026\004\024\305
+\357\355\314\330\215\041\306\110\344\343\327\024\056\247\026\223
+\345\230\001\060\017\006\003\125\035\023\001\001\377\004\005\060
+\003\001\001\377\060\016\006\003\125\035\017\001\001\377\004\004
+\003\002\001\006\060\015\006\011\052\206\110\206\367\015\001\001
+\013\005\000\003\202\002\001\000\122\202\254\041\064\037\043\362
+\242\330\371\270\257\067\066\040\211\321\067\003\326\151\237\270
+\141\020\272\242\061\230\131\107\350\321\015\045\036\025\101\014
+\340\052\125\325\127\122\313\370\344\307\151\243\035\115\161\002
+\136\137\041\105\140\110\134\011\216\111\020\301\004\334\251\142
+\153\002\360\103\310\116\235\070\111\164\311\062\160\124\155\301
+\107\374\216\264\066\236\324\234\275\335\040\326\123\311\030\251
+\265\126\271\166\213\225\147\146\356\275\230\376\256\357\276\156
+\373\140\366\375\131\306\052\033\077\043\112\224\044\060\047\310
+\211\274\353\104\044\232\313\075\276\117\325\172\316\216\027\313
+\142\301\331\336\036\016\172\377\103\206\064\122\274\141\077\074
+\137\273\331\166\264\123\274\227\263\376\212\114\022\056\053\363
+\327\316\341\242\377\335\173\160\373\073\241\115\244\143\002\375
+\070\227\225\077\005\160\240\153\337\142\201\103\213\264\131\015
+\112\214\124\234\305\273\201\237\315\175\245\357\013\045\036\072
+\040\333\034\374\037\230\147\002\012\324\163\104\023\333\121\204
+\032\125\003\126\340\000\176\164\006\377\070\304\162\035\323\250
+\077\150\061\135\323\011\307\056\214\133\143\340\350\334\036\322
+\354\141\036\362\336\345\357\366\231\166\140\055\036\224\162\161
+\306\013\052\062\307\222\116\325\106\327\035\371\251\031\012\310
+\372\225\316\155\043\230\252\013\070\255\232\126\015\157\215\361
+\061\000\210\301\027\234\315\031\066\065\376\125\123\240\340\074
+\063\137\226\136\342\062\351\337\063\273\006\112\251\330\204\163
+\316\167\322\306\254\161\341\134\243\035\014\273\012\337\137\342
+\243\161\330\332\067\132\240\170\053\364\324\175\353\166\355\362
+\141\160\245\145\232\323\211\064\030\253\373\162\076\327\264\075
+\171\134\330\037\241\063\173\331\202\120\014\223\027\252\154\334
+\302\202\273\002\127\066\257\230\047\052\071\120\341\260\211\365
+\045\227\176\107\150\020\264\354\163\312\263\227\321\044\334\366
+\142\240\050\323\265\243\270\144\267\210\142\102\317\235\123\315
+\231\276\144\150\217\117\036\022\110\367\322\051\303\230\050\312
+\362\062\013\223\214\051\117\074\140\062\315\005\226\141\354\362
+\257\376\263\160\054\056\246\362
 END
 CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
-# Trust for "OISTE WISeKey Global Root GC CA"
-# Issuer: CN=OISTE WISeKey Global Root GC CA,OU=OISTE Foundation Endorsed,O=WISeKey,C=CH
-# Serial Number:21:2a:56:0c:ae:da:0c:ab:40:45:bf:2b:a2:2d:3a:ea
-# Subject: CN=OISTE WISeKey Global Root GC CA,OU=OISTE Foundation Endorsed,O=WISeKey,C=CH
-# Not Valid Before: Tue May 09 09:48:34 2017
-# Not Valid After : Fri May 09 09:58:33 2042
-# Fingerprint (SHA-256): 85:60:F9:1C:36:24:DA:BA:95:70:B5:FE:A0:DB:E3:6F:F1:1A:83:23:BE:94:86:85:4F:B3:F3:4A:55:71:19:8D
-# Fingerprint (SHA1): E0:11:84:5E:34:DE:BE:88:81:B9:9C:F6:16:26:D1:96:1F:C3:B9:31
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
+
+# Trust for "BJCA Global Root CA1"
+# Issuer: CN=BJCA Global Root CA1,O=BEIJING CERTIFICATE AUTHORITY,C=CN
+# Serial Number:55:6f:65:e3:b4:d9:90:6a:1b:09:d1:6c:3e:c0:6c:20
+# Subject: CN=BJCA Global Root CA1,O=BEIJING CERTIFICATE AUTHORITY,C=CN
+# Not Valid Before: Thu Dec 19 03:16:17 2019
+# Not Valid After : Mon Dec 12 03:16:17 2044
+# Fingerprint (SHA-256): F3:89:6F:88:FE:7C:0A:88:27:66:A7:FA:6A:D2:74:9F:B5:7A:7F:3E:98:FB:76:9C:1F:A7:B0:9C:2C:44:D5:AE
+# Fingerprint (SHA1): D5:EC:8D:7B:4C:BA:79:F4:E7:E8:CB:9D:6B:AE:77:83:10:03:21:6A
 CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "OISTE WISeKey Global Root GC CA"
+CKA_LABEL UTF8 "BJCA Global Root CA1"
 CKA_CERT_SHA1_HASH MULTILINE_OCTAL
-\340\021\204\136\064\336\276\210\201\271\234\366\026\046\321\226
-\037\303\271\061
+\325\354\215\173\114\272\171\364\347\350\313\235\153\256\167\203
+\020\003\041\152
 END
 CKA_CERT_MD5_HASH MULTILINE_OCTAL
-\251\326\271\055\057\223\144\370\245\151\312\221\351\150\007\043
+\102\062\231\166\103\063\066\044\065\007\202\233\050\371\320\220
 END
 CKA_ISSUER MULTILINE_OCTAL
-\060\155\061\013\060\011\006\003\125\004\006\023\002\103\110\061
-\020\060\016\006\003\125\004\012\023\007\127\111\123\145\113\145
-\171\061\042\060\040\006\003\125\004\013\023\031\117\111\123\124
-\105\040\106\157\165\156\144\141\164\151\157\156\040\105\156\144
-\157\162\163\145\144\061\050\060\046\006\003\125\004\003\023\037
-\117\111\123\124\105\040\127\111\123\145\113\145\171\040\107\154
-\157\142\141\154\040\122\157\157\164\040\107\103\040\103\101
+\060\124\061\013\060\011\006\003\125\004\006\023\002\103\116\061
+\046\060\044\006\003\125\004\012\014\035\102\105\111\112\111\116
+\107\040\103\105\122\124\111\106\111\103\101\124\105\040\101\125
+\124\110\117\122\111\124\131\061\035\060\033\006\003\125\004\003
+\014\024\102\112\103\101\040\107\154\157\142\141\154\040\122\157
+\157\164\040\103\101\061
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\020\041\052\126\014\256\332\014\253\100\105\277\053\242\055
-\072\352
+\002\020\125\157\145\343\264\331\220\152\033\011\321\154\076\300
+\154\040
 END
 CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
 CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
@@ -22119,855 +23595,1021 @@ CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
 CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
 
 #
-# Certificate "GTS Root R1"
+# Certificate "BJCA Global Root CA2"
 #
-# Issuer: CN=GTS Root R1,O=Google Trust Services LLC,C=US
-# Serial Number:6e:47:a9:c5:4b:47:0c:0d:ec:33:d0:89:b9:1c:f4:e1
-# Subject: CN=GTS Root R1,O=Google Trust Services LLC,C=US
-# Not Valid Before: Wed Jun 22 00:00:00 2016
-# Not Valid After : Sun Jun 22 00:00:00 2036
-# Fingerprint (SHA-256): 2A:57:54:71:E3:13:40:BC:21:58:1C:BD:2C:F1:3E:15:84:63:20:3E:CE:94:BC:F9:D3:CC:19:6B:F0:9A:54:72
-# Fingerprint (SHA1): E1:C9:50:E6:EF:22:F8:4C:56:45:72:8B:92:20:60:D7:D5:A7:A3:E8
+# Issuer: CN=BJCA Global Root CA2,O=BEIJING CERTIFICATE AUTHORITY,C=CN
+# Serial Number:2c:17:08:7d:64:2a:c0:fe:85:18:59:06:cf:b4:4a:eb
+# Subject: CN=BJCA Global Root CA2,O=BEIJING CERTIFICATE AUTHORITY,C=CN
+# Not Valid Before: Thu Dec 19 03:18:21 2019
+# Not Valid After : Mon Dec 12 03:18:21 2044
+# Fingerprint (SHA-256): 57:4D:F6:93:1E:27:80:39:66:7B:72:0A:FD:C1:60:0F:C2:7E:B6:6D:D3:09:29:79:FB:73:85:64:87:21:28:82
+# Fingerprint (SHA1): F4:27:86:EB:6E:B8:6D:88:31:67:02:FB:BA:66:A4:53:00:AA:7A:A6
 CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "GTS Root R1"
+CKA_LABEL UTF8 "BJCA Global Root CA2"
 CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
 CKA_SUBJECT MULTILINE_OCTAL
-\060\107\061\013\060\011\006\003\125\004\006\023\002\125\123\061
-\042\060\040\006\003\125\004\012\023\031\107\157\157\147\154\145
-\040\124\162\165\163\164\040\123\145\162\166\151\143\145\163\040
-\114\114\103\061\024\060\022\006\003\125\004\003\023\013\107\124
-\123\040\122\157\157\164\040\122\061
+\060\124\061\013\060\011\006\003\125\004\006\023\002\103\116\061
+\046\060\044\006\003\125\004\012\014\035\102\105\111\112\111\116
+\107\040\103\105\122\124\111\106\111\103\101\124\105\040\101\125
+\124\110\117\122\111\124\131\061\035\060\033\006\003\125\004\003
+\014\024\102\112\103\101\040\107\154\157\142\141\154\040\122\157
+\157\164\040\103\101\062
 END
 CKA_ID UTF8 "0"
 CKA_ISSUER MULTILINE_OCTAL
-\060\107\061\013\060\011\006\003\125\004\006\023\002\125\123\061
-\042\060\040\006\003\125\004\012\023\031\107\157\157\147\154\145
-\040\124\162\165\163\164\040\123\145\162\166\151\143\145\163\040
-\114\114\103\061\024\060\022\006\003\125\004\003\023\013\107\124
-\123\040\122\157\157\164\040\122\061
+\060\124\061\013\060\011\006\003\125\004\006\023\002\103\116\061
+\046\060\044\006\003\125\004\012\014\035\102\105\111\112\111\116
+\107\040\103\105\122\124\111\106\111\103\101\124\105\040\101\125
+\124\110\117\122\111\124\131\061\035\060\033\006\003\125\004\003
+\014\024\102\112\103\101\040\107\154\157\142\141\154\040\122\157
+\157\164\040\103\101\062
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\020\156\107\251\305\113\107\014\015\354\063\320\211\271\034
-\364\341
+\002\020\054\027\010\175\144\052\300\376\205\030\131\006\317\264
+\112\353
 END
 CKA_VALUE MULTILINE_OCTAL
-\060\202\005\132\060\202\003\102\240\003\002\001\002\002\020\156
-\107\251\305\113\107\014\015\354\063\320\211\271\034\364\341\060
-\015\006\011\052\206\110\206\367\015\001\001\014\005\000\060\107
-\061\013\060\011\006\003\125\004\006\023\002\125\123\061\042\060
-\040\006\003\125\004\012\023\031\107\157\157\147\154\145\040\124
-\162\165\163\164\040\123\145\162\166\151\143\145\163\040\114\114
-\103\061\024\060\022\006\003\125\004\003\023\013\107\124\123\040
-\122\157\157\164\040\122\061\060\036\027\015\061\066\060\066\062
-\062\060\060\060\060\060\060\132\027\015\063\066\060\066\062\062
-\060\060\060\060\060\060\132\060\107\061\013\060\011\006\003\125
-\004\006\023\002\125\123\061\042\060\040\006\003\125\004\012\023
-\031\107\157\157\147\154\145\040\124\162\165\163\164\040\123\145
-\162\166\151\143\145\163\040\114\114\103\061\024\060\022\006\003
-\125\004\003\023\013\107\124\123\040\122\157\157\164\040\122\061
-\060\202\002\042\060\015\006\011\052\206\110\206\367\015\001\001
-\001\005\000\003\202\002\017\000\060\202\002\012\002\202\002\001
-\000\266\021\002\213\036\343\241\167\233\073\334\277\224\076\267
-\225\247\100\074\241\375\202\371\175\062\006\202\161\366\366\214
-\177\373\350\333\274\152\056\227\227\243\214\113\371\053\366\261
-\371\316\204\035\261\371\305\227\336\357\271\362\243\351\274\022
-\211\136\247\252\122\253\370\043\047\313\244\261\234\143\333\327
-\231\176\360\012\136\353\150\246\364\306\132\107\015\115\020\063
-\343\116\261\023\243\310\030\154\113\354\374\011\220\337\235\144
-\051\045\043\007\241\264\322\075\056\140\340\317\322\011\207\273
-\315\110\360\115\302\302\172\210\212\273\272\317\131\031\326\257
-\217\260\007\260\236\061\361\202\301\300\337\056\246\155\154\031
-\016\265\330\176\046\032\105\003\075\260\171\244\224\050\255\017
-\177\046\345\250\010\376\226\350\074\150\224\123\356\203\072\210
-\053\025\226\011\262\340\172\214\056\165\326\234\353\247\126\144
-\217\226\117\150\256\075\227\302\204\217\300\274\100\300\013\134
-\275\366\207\263\065\154\254\030\120\177\204\340\114\315\222\323
-\040\351\063\274\122\231\257\062\265\051\263\045\052\264\110\371
-\162\341\312\144\367\346\202\020\215\350\235\302\212\210\372\070
-\146\212\374\143\371\001\371\170\375\173\134\167\372\166\207\372
-\354\337\261\016\171\225\127\264\275\046\357\326\001\321\353\026
-\012\273\216\013\265\305\305\212\125\253\323\254\352\221\113\051
-\314\031\244\062\045\116\052\361\145\104\320\002\316\252\316\111
-\264\352\237\174\203\260\100\173\347\103\253\247\154\243\217\175
-\211\201\372\114\245\377\325\216\303\316\113\340\265\330\263\216
-\105\317\166\300\355\100\053\375\123\017\260\247\325\073\015\261
-\212\242\003\336\061\255\314\167\352\157\173\076\326\337\221\042
-\022\346\276\372\330\062\374\020\143\024\121\162\336\135\326\026
-\223\275\051\150\063\357\072\146\354\007\212\046\337\023\327\127
-\145\170\047\336\136\111\024\000\242\000\177\232\250\041\266\251
-\261\225\260\245\271\015\026\021\332\307\154\110\074\100\340\176
-\015\132\315\126\074\321\227\005\271\313\113\355\071\113\234\304
-\077\322\125\023\156\044\260\326\161\372\364\301\272\314\355\033
-\365\376\201\101\330\000\230\075\072\310\256\172\230\067\030\005
-\225\002\003\001\000\001\243\102\060\100\060\016\006\003\125\035
-\017\001\001\377\004\004\003\002\001\006\060\017\006\003\125\035
-\023\001\001\377\004\005\060\003\001\001\377\060\035\006\003\125
-\035\016\004\026\004\024\344\257\053\046\161\032\053\110\047\205
-\057\122\146\054\357\360\211\023\161\076\060\015\006\011\052\206
-\110\206\367\015\001\001\014\005\000\003\202\002\001\000\070\226
-\012\356\075\264\226\036\137\357\235\234\013\063\237\053\340\312
-\375\322\216\012\037\101\164\245\174\252\204\324\345\362\036\346
-\067\122\062\234\013\321\141\035\277\050\301\266\104\051\065\165
-\167\230\262\174\331\275\164\254\212\150\343\251\061\011\051\001
-\140\163\343\107\174\123\250\220\112\047\357\113\327\237\223\347
-\202\066\316\232\150\014\202\347\317\324\020\026\157\137\016\231
-\134\366\037\161\175\357\357\173\057\176\352\066\326\227\160\013
-\025\356\327\134\126\152\063\245\343\111\070\014\270\175\373\215
-\205\244\261\131\136\364\152\341\335\241\366\144\104\256\346\121
-\203\041\146\306\021\076\363\316\107\356\234\050\037\045\332\377
-\254\146\225\335\065\017\134\357\040\054\142\375\221\272\251\314
-\374\132\234\223\201\203\051\227\112\174\132\162\264\071\320\267
-\167\313\171\375\151\072\222\067\355\156\070\145\106\176\351\140
-\275\171\210\227\137\070\022\364\356\257\133\202\310\206\325\341
-\231\155\214\004\362\166\272\111\366\156\351\155\036\137\240\357
-\047\202\166\100\370\246\323\130\134\017\054\102\332\102\306\173
-\210\064\307\301\330\105\233\301\076\305\141\035\331\143\120\111
-\366\064\205\152\340\030\305\156\107\253\101\102\051\233\366\140
-\015\322\061\323\143\230\043\223\132\000\201\110\264\357\315\212
-\315\311\317\231\356\331\236\252\066\341\150\113\161\111\024\066
-\050\072\075\035\316\232\217\045\346\200\161\141\053\265\173\314
-\371\045\026\201\341\061\137\241\243\176\026\244\234\026\152\227
-\030\275\166\162\245\013\236\035\066\346\057\241\057\276\160\221
-\017\250\346\332\370\304\222\100\154\045\176\173\263\011\334\262
-\027\255\200\104\360\150\245\217\224\165\377\164\132\350\250\002
-\174\014\011\342\251\113\013\240\205\013\142\271\357\241\061\222
-\373\357\366\121\004\211\154\350\251\164\241\273\027\263\265\375
-\111\017\174\074\354\203\030\040\103\116\325\223\272\264\064\261
-\037\026\066\037\014\346\144\071\026\114\334\340\376\035\310\251
-\142\075\100\352\312\305\064\002\264\256\211\210\063\065\334\054
-\023\163\330\047\361\320\162\356\165\073\042\336\230\150\146\133
-\361\306\143\107\125\034\272\245\010\121\165\246\110\045
+\060\202\002\045\060\202\001\253\240\003\002\001\002\002\020\054
+\027\010\175\144\052\300\376\205\030\131\006\317\264\112\353\060
+\012\006\010\052\206\110\316\075\004\003\003\060\124\061\013\060
+\011\006\003\125\004\006\023\002\103\116\061\046\060\044\006\003
+\125\004\012\014\035\102\105\111\112\111\116\107\040\103\105\122
+\124\111\106\111\103\101\124\105\040\101\125\124\110\117\122\111
+\124\131\061\035\060\033\006\003\125\004\003\014\024\102\112\103
+\101\040\107\154\157\142\141\154\040\122\157\157\164\040\103\101
+\062\060\036\027\015\061\071\061\062\061\071\060\063\061\070\062
+\061\132\027\015\064\064\061\062\061\062\060\063\061\070\062\061
+\132\060\124\061\013\060\011\006\003\125\004\006\023\002\103\116
+\061\046\060\044\006\003\125\004\012\014\035\102\105\111\112\111
+\116\107\040\103\105\122\124\111\106\111\103\101\124\105\040\101
+\125\124\110\117\122\111\124\131\061\035\060\033\006\003\125\004
+\003\014\024\102\112\103\101\040\107\154\157\142\141\154\040\122
+\157\157\164\040\103\101\062\060\166\060\020\006\007\052\206\110
+\316\075\002\001\006\005\053\201\004\000\042\003\142\000\004\235
+\313\200\221\215\123\147\265\271\120\261\003\370\345\111\037\101
+\042\011\260\121\122\130\326\053\064\217\305\022\106\024\305\213
+\057\054\204\377\054\156\250\325\361\011\343\003\041\024\304\103
+\075\174\301\054\304\113\152\112\315\351\207\340\175\366\042\276
+\372\112\121\270\060\212\375\341\336\030\022\012\366\107\267\347
+\027\277\047\212\324\101\114\226\074\140\226\301\375\025\034\243
+\102\060\100\060\035\006\003\125\035\016\004\026\004\024\322\112
+\261\121\177\006\360\321\202\037\116\156\137\253\203\374\110\324
+\260\221\060\017\006\003\125\035\023\001\001\377\004\005\060\003
+\001\001\377\060\016\006\003\125\035\017\001\001\377\004\004\003
+\002\001\006\060\012\006\010\052\206\110\316\075\004\003\003\003
+\150\000\060\145\002\060\032\274\133\327\376\251\322\124\016\112
+\135\322\155\261\100\334\364\103\325\322\112\231\031\022\126\200
+\367\203\064\341\065\116\110\155\004\017\127\061\060\060\055\261
+\252\235\003\070\333\006\002\061\000\313\314\207\123\313\172\337
+\040\121\163\220\300\250\133\141\320\305\120\071\375\205\376\301
+\343\170\370\246\326\113\275\233\207\217\017\345\326\123\226\253
+\074\310\100\332\141\367\123\243\367
 END
 CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
-# Trust for "GTS Root R1"
-# Issuer: CN=GTS Root R1,O=Google Trust Services LLC,C=US
-# Serial Number:6e:47:a9:c5:4b:47:0c:0d:ec:33:d0:89:b9:1c:f4:e1
-# Subject: CN=GTS Root R1,O=Google Trust Services LLC,C=US
-# Not Valid Before: Wed Jun 22 00:00:00 2016
-# Not Valid After : Sun Jun 22 00:00:00 2036
-# Fingerprint (SHA-256): 2A:57:54:71:E3:13:40:BC:21:58:1C:BD:2C:F1:3E:15:84:63:20:3E:CE:94:BC:F9:D3:CC:19:6B:F0:9A:54:72
-# Fingerprint (SHA1): E1:C9:50:E6:EF:22:F8:4C:56:45:72:8B:92:20:60:D7:D5:A7:A3:E8
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
+
+# Trust for "BJCA Global Root CA2"
+# Issuer: CN=BJCA Global Root CA2,O=BEIJING CERTIFICATE AUTHORITY,C=CN
+# Serial Number:2c:17:08:7d:64:2a:c0:fe:85:18:59:06:cf:b4:4a:eb
+# Subject: CN=BJCA Global Root CA2,O=BEIJING CERTIFICATE AUTHORITY,C=CN
+# Not Valid Before: Thu Dec 19 03:18:21 2019
+# Not Valid After : Mon Dec 12 03:18:21 2044
+# Fingerprint (SHA-256): 57:4D:F6:93:1E:27:80:39:66:7B:72:0A:FD:C1:60:0F:C2:7E:B6:6D:D3:09:29:79:FB:73:85:64:87:21:28:82
+# Fingerprint (SHA1): F4:27:86:EB:6E:B8:6D:88:31:67:02:FB:BA:66:A4:53:00:AA:7A:A6
 CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "GTS Root R1"
+CKA_LABEL UTF8 "BJCA Global Root CA2"
 CKA_CERT_SHA1_HASH MULTILINE_OCTAL
-\341\311\120\346\357\042\370\114\126\105\162\213\222\040\140\327
-\325\247\243\350
+\364\047\206\353\156\270\155\210\061\147\002\373\272\146\244\123
+\000\252\172\246
 END
 CKA_CERT_MD5_HASH MULTILINE_OCTAL
-\202\032\357\324\322\112\362\237\342\075\227\006\024\160\162\205
+\136\012\366\107\137\246\024\350\021\001\225\077\115\001\353\074
 END
 CKA_ISSUER MULTILINE_OCTAL
-\060\107\061\013\060\011\006\003\125\004\006\023\002\125\123\061
-\042\060\040\006\003\125\004\012\023\031\107\157\157\147\154\145
-\040\124\162\165\163\164\040\123\145\162\166\151\143\145\163\040
-\114\114\103\061\024\060\022\006\003\125\004\003\023\013\107\124
-\123\040\122\157\157\164\040\122\061
+\060\124\061\013\060\011\006\003\125\004\006\023\002\103\116\061
+\046\060\044\006\003\125\004\012\014\035\102\105\111\112\111\116
+\107\040\103\105\122\124\111\106\111\103\101\124\105\040\101\125
+\124\110\117\122\111\124\131\061\035\060\033\006\003\125\004\003
+\014\024\102\112\103\101\040\107\154\157\142\141\154\040\122\157
+\157\164\040\103\101\062
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\020\156\107\251\305\113\107\014\015\354\063\320\211\271\034
-\364\341
+\002\020\054\027\010\175\144\052\300\376\205\030\131\006\317\264
+\112\353
 END
 CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
-CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
 CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
 CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
 
 #
-# Certificate "GTS Root R2"
+# Certificate "LAWtrust Root CA2 (4096)"
 #
-# Issuer: CN=GTS Root R2,O=Google Trust Services LLC,C=US
-# Serial Number:6e:47:a9:c6:5a:b3:e7:20:c5:30:9a:3f:68:52:f2:6f
-# Subject: CN=GTS Root R2,O=Google Trust Services LLC,C=US
-# Not Valid Before: Wed Jun 22 00:00:00 2016
-# Not Valid After : Sun Jun 22 00:00:00 2036
-# Fingerprint (SHA-256): C4:5D:7B:B0:8E:6D:67:E6:2E:42:35:11:0B:56:4E:5F:78:FD:92:EF:05:8C:84:0A:EA:4E:64:55:D7:58:5C:60
-# Fingerprint (SHA1): D2:73:96:2A:2A:5E:39:9F:73:3F:E1:C7:1E:64:3F:03:38:34:FC:4D
+# Issuer: CN=LAWtrust Root CA2 (4096),O=LAWtrust,C=ZA
+# Serial Number: 1427795633 (0x551a6eb1)
+# Subject: CN=LAWtrust Root CA2 (4096),O=LAWtrust,C=ZA
+# Not Valid Before: Tue Feb 14 09:19:38 2023
+# Not Valid After : Fri Feb 14 09:49:38 2053
+# Fingerprint (SHA-256): 48:E1:CF:9E:43:B6:88:A5:10:44:16:0F:46:D7:73:B8:27:7F:E4:5B:EA:AD:0E:4D:F9:0D:19:74:38:2F:EA:99
+# Fingerprint (SHA1): EC:A2:D5:30:A9:AB:2C:7D:0E:75:61:64:4E:0A:E0:16:A1:54:38:7D
 CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "GTS Root R2"
+CKA_LABEL UTF8 "LAWtrust Root CA2 (4096)"
 CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
 CKA_SUBJECT MULTILINE_OCTAL
-\060\107\061\013\060\011\006\003\125\004\006\023\002\125\123\061
-\042\060\040\006\003\125\004\012\023\031\107\157\157\147\154\145
-\040\124\162\165\163\164\040\123\145\162\166\151\143\145\163\040
-\114\114\103\061\024\060\022\006\003\125\004\003\023\013\107\124
-\123\040\122\157\157\164\040\122\062
+\060\103\061\013\060\011\006\003\125\004\006\023\002\132\101\061
+\021\060\017\006\003\125\004\012\023\010\114\101\127\164\162\165
+\163\164\061\041\060\037\006\003\125\004\003\023\030\114\101\127
+\164\162\165\163\164\040\122\157\157\164\040\103\101\062\040\050
+\064\060\071\066\051
 END
 CKA_ID UTF8 "0"
 CKA_ISSUER MULTILINE_OCTAL
-\060\107\061\013\060\011\006\003\125\004\006\023\002\125\123\061
-\042\060\040\006\003\125\004\012\023\031\107\157\157\147\154\145
-\040\124\162\165\163\164\040\123\145\162\166\151\143\145\163\040
-\114\114\103\061\024\060\022\006\003\125\004\003\023\013\107\124
-\123\040\122\157\157\164\040\122\062
+\060\103\061\013\060\011\006\003\125\004\006\023\002\132\101\061
+\021\060\017\006\003\125\004\012\023\010\114\101\127\164\162\165
+\163\164\061\041\060\037\006\003\125\004\003\023\030\114\101\127
+\164\162\165\163\164\040\122\157\157\164\040\103\101\062\040\050
+\064\060\071\066\051
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\020\156\107\251\306\132\263\347\040\305\060\232\077\150\122
-\362\157
+\002\004\125\032\156\261
 END
 CKA_VALUE MULTILINE_OCTAL
-\060\202\005\132\060\202\003\102\240\003\002\001\002\002\020\156
-\107\251\306\132\263\347\040\305\060\232\077\150\122\362\157\060
-\015\006\011\052\206\110\206\367\015\001\001\014\005\000\060\107
-\061\013\060\011\006\003\125\004\006\023\002\125\123\061\042\060
-\040\006\003\125\004\012\023\031\107\157\157\147\154\145\040\124
-\162\165\163\164\040\123\145\162\166\151\143\145\163\040\114\114
-\103\061\024\060\022\006\003\125\004\003\023\013\107\124\123\040
-\122\157\157\164\040\122\062\060\036\027\015\061\066\060\066\062
-\062\060\060\060\060\060\060\132\027\015\063\066\060\066\062\062
-\060\060\060\060\060\060\132\060\107\061\013\060\011\006\003\125
-\004\006\023\002\125\123\061\042\060\040\006\003\125\004\012\023
-\031\107\157\157\147\154\145\040\124\162\165\163\164\040\123\145
-\162\166\151\143\145\163\040\114\114\103\061\024\060\022\006\003
-\125\004\003\023\013\107\124\123\040\122\157\157\164\040\122\062
-\060\202\002\042\060\015\006\011\052\206\110\206\367\015\001\001
-\001\005\000\003\202\002\017\000\060\202\002\012\002\202\002\001
-\000\316\336\375\246\373\354\354\024\064\074\007\006\132\154\131
-\367\031\065\335\367\301\235\125\252\323\315\073\244\223\162\357
-\012\372\155\235\366\360\205\200\133\241\110\122\237\071\305\267
-\356\050\254\357\313\166\150\024\271\337\255\001\154\231\037\304
-\042\035\237\376\162\167\340\054\133\257\344\004\277\117\162\240
-\032\064\230\350\071\150\354\225\045\173\166\241\346\151\271\205
-\031\275\211\214\376\255\355\066\352\163\274\377\203\342\313\175
-\301\322\316\112\263\215\005\236\213\111\223\337\301\133\320\156
-\136\360\056\060\056\202\374\372\274\264\027\012\110\345\210\233
-\305\233\153\336\260\312\264\003\360\332\364\220\270\145\144\367
-\134\114\255\350\176\146\136\231\327\270\302\076\310\320\023\235
-\255\356\344\105\173\211\125\367\212\037\142\122\204\022\263\302
-\100\227\343\212\037\107\221\246\164\132\322\370\261\143\050\020
-\270\263\011\270\126\167\100\242\046\230\171\306\376\337\045\356
-\076\345\240\177\324\141\017\121\113\074\077\214\332\341\160\164
-\330\302\150\241\371\301\014\351\241\342\177\273\125\074\166\006
-\356\152\116\314\222\210\060\115\232\275\117\013\110\232\204\265
-\230\243\325\373\163\301\127\141\335\050\126\165\023\256\207\216
-\347\014\121\011\020\165\210\114\274\215\371\173\074\324\042\110
-\037\052\334\353\153\273\104\261\313\063\161\062\106\257\255\112
-\361\214\350\164\072\254\347\032\042\163\200\322\060\367\045\102
-\307\042\073\073\022\255\226\056\306\303\166\007\252\040\267\065
-\111\127\351\222\111\350\166\026\162\061\147\053\226\176\212\243
-\307\224\126\042\277\152\113\176\001\041\262\043\062\337\344\232
-\104\155\131\133\135\365\000\240\034\233\306\170\227\215\220\377
-\233\310\252\264\257\021\121\071\136\331\373\147\255\325\133\021
-\235\062\232\033\275\325\272\133\245\311\313\045\151\123\125\047
-\134\340\312\066\313\210\141\373\036\267\320\313\356\026\373\323
-\246\114\336\222\245\324\342\337\365\006\124\336\056\235\113\264
-\223\060\252\201\316\335\032\334\121\163\015\117\160\351\345\266
-\026\041\031\171\262\346\211\013\165\144\312\325\253\274\011\301
-\030\241\377\324\124\241\205\074\375\024\044\003\262\207\323\244
-\267\002\003\001\000\001\243\102\060\100\060\016\006\003\125\035
-\017\001\001\377\004\004\003\002\001\006\060\017\006\003\125\035
-\023\001\001\377\004\005\060\003\001\001\377\060\035\006\003\125
-\035\016\004\026\004\024\273\377\312\216\043\237\117\231\312\333
-\342\150\246\245\025\047\027\036\331\016\060\015\006\011\052\206
-\110\206\367\015\001\001\014\005\000\003\202\002\001\000\266\151
-\360\246\167\376\236\356\013\201\255\341\300\251\307\371\065\035
-\100\202\253\346\004\264\337\313\367\035\017\203\360\176\023\115
-\215\214\356\343\063\042\303\071\374\100\337\156\101\113\102\123
-\276\026\210\361\322\070\136\304\150\231\034\230\122\223\214\347
-\150\355\033\152\163\172\005\100\115\177\145\073\326\130\361\316
-\203\107\140\343\377\227\251\234\140\167\030\125\265\176\010\223
-\317\320\366\074\147\003\025\141\011\371\201\171\365\354\123\244
-\237\311\217\001\213\163\304\167\166\334\203\242\365\014\111\032
-\250\166\336\222\233\144\370\263\054\305\047\323\007\300\010\200
-\244\230\222\343\001\226\002\252\002\356\217\073\305\321\155\012
-\063\060\163\170\271\117\124\026\277\013\007\241\244\134\346\313
-\311\134\204\217\017\340\025\167\054\176\046\176\332\304\113\333
-\247\026\167\007\260\315\165\350\162\102\326\225\204\235\206\203
-\362\344\220\315\011\107\324\213\003\160\332\132\306\003\102\364
-\355\067\242\360\033\120\124\113\016\330\204\336\031\050\231\201
-\107\256\011\033\077\110\321\303\157\342\260\140\027\365\356\043
-\002\245\332\000\133\155\220\253\356\242\351\033\073\351\307\104
-\047\105\216\153\237\365\244\204\274\167\371\153\227\254\076\121
-\105\242\021\246\314\205\356\012\150\362\076\120\070\172\044\142
-\036\027\040\067\155\152\115\267\011\233\311\374\244\130\365\266
-\373\234\116\030\273\225\002\347\241\255\233\007\356\066\153\044
-\322\071\206\301\223\203\120\322\201\106\250\137\142\127\054\273
-\154\144\210\010\156\357\023\124\137\335\055\304\147\143\323\317
-\211\067\277\235\040\364\373\172\203\233\240\036\201\000\120\302
-\344\014\042\131\122\020\355\103\126\207\000\370\024\122\247\035
-\213\223\214\242\115\106\177\047\306\161\233\044\336\344\332\206
-\213\015\176\153\040\301\300\236\341\145\330\152\243\246\350\205
-\213\072\007\010\034\272\365\217\125\232\030\165\176\345\354\201
-\146\321\041\163\241\065\104\013\200\075\133\234\136\157\052\027
-\226\321\203\043\210\146\155\346\206\342\160\062\057\122\042\347
-\310\347\177\304\054\140\135\057\303\257\236\105\005\303\204\002
-\267\375\054\010\122\117\202\335\243\360\324\206\011\002
+\060\202\005\230\060\202\003\200\240\003\002\001\002\002\004\125
+\032\156\261\060\015\006\011\052\206\110\206\367\015\001\001\013
+\005\000\060\103\061\013\060\011\006\003\125\004\006\023\002\132
+\101\061\021\060\017\006\003\125\004\012\023\010\114\101\127\164
+\162\165\163\164\061\041\060\037\006\003\125\004\003\023\030\114
+\101\127\164\162\165\163\164\040\122\157\157\164\040\103\101\062
+\040\050\064\060\071\066\051\060\040\027\015\062\063\060\062\061
+\064\060\071\061\071\063\070\132\030\017\062\060\065\063\060\062
+\061\064\060\071\064\071\063\070\132\060\103\061\013\060\011\006
+\003\125\004\006\023\002\132\101\061\021\060\017\006\003\125\004
+\012\023\010\114\101\127\164\162\165\163\164\061\041\060\037\006
+\003\125\004\003\023\030\114\101\127\164\162\165\163\164\040\122
+\157\157\164\040\103\101\062\040\050\064\060\071\066\051\060\202
+\002\042\060\015\006\011\052\206\110\206\367\015\001\001\001\005
+\000\003\202\002\017\000\060\202\002\012\002\202\002\001\000\314
+\027\313\053\103\272\154\371\311\223\212\145\015\022\114\354\047
+\024\267\023\171\340\324\325\055\030\126\361\371\352\052\020\026
+\116\154\104\307\152\145\106\363\232\211\065\321\207\370\063\211
+\057\210\011\032\222\020\221\220\301\153\237\016\156\177\046\212
+\023\135\030\254\150\001\015\020\170\145\160\330\216\217\204\132
+\227\060\030\320\021\016\112\215\122\020\245\201\053\121\050\365
+\143\304\266\354\100\263\001\345\255\167\275\345\070\357\274\215
+\263\335\031\240\173\015\215\264\333\152\373\045\063\132\372\221
+\257\304\161\105\060\370\210\051\173\313\277\325\272\047\004\216
+\335\262\000\367\312\134\231\065\024\352\375\165\006\025\010\273
+\312\127\150\373\077\373\264\064\163\143\321\325\343\310\070\132
+\151\175\152\172\104\014\015\212\116\355\222\035\020\217\073\042
+\054\266\337\355\305\306\360\211\171\124\145\136\137\033\275\217
+\175\337\271\267\355\353\344\305\007\321\147\074\225\073\221\376
+\102\172\122\100\200\004\322\071\127\113\364\222\175\377\233\357
+\345\235\311\011\262\221\022\070\246\051\010\073\256\353\312\314
+\355\115\347\116\041\001\007\374\157\062\316\151\214\204\122\306
+\167\352\047\060\012\336\245\257\060\053\150\037\254\324\354\041
+\255\042\111\166\316\017\302\362\007\052\371\152\022\203\232\073
+\004\256\031\172\376\241\206\044\372\101\136\045\174\100\254\047
+\266\343\051\066\157\065\342\127\320\031\130\337\377\144\366\303
+\001\111\166\333\053\276\274\271\117\024\012\325\033\130\041\366
+\034\056\000\174\370\224\265\313\067\032\024\344\062\271\026\324
+\140\354\005\252\137\062\372\152\043\022\254\324\020\273\322\242
+\202\264\113\016\213\160\047\252\326\007\301\147\210\372\204\303
+\010\311\212\204\310\322\067\162\201\017\215\026\112\344\327\065
+\121\245\070\017\214\204\113\225\066\300\365\327\235\340\135\217
+\253\221\356\000\010\271\235\122\037\354\370\231\273\171\126\261
+\111\332\322\345\330\141\213\133\257\360\253\067\305\173\032\216
+\206\276\176\305\173\025\036\141\150\350\013\207\213\163\111\241
+\027\163\176\051\170\216\312\340\101\057\165\163\164\242\227\072
+\177\367\056\164\011\270\114\140\213\106\066\031\020\055\235\002
+\003\001\000\001\243\201\221\060\201\216\060\017\006\003\125\035
+\023\001\001\377\004\005\060\003\001\001\377\060\016\006\003\125
+\035\017\001\001\377\004\004\003\002\001\006\060\053\006\003\125
+\035\020\004\044\060\042\200\017\062\060\062\063\060\062\061\064
+\060\071\061\071\063\070\132\201\017\062\060\065\063\060\062\061
+\064\060\071\064\071\063\070\132\060\037\006\003\125\035\043\004
+\030\060\026\200\024\327\326\126\142\134\077\027\201\346\163\104
+\051\365\121\005\357\013\140\067\254\060\035\006\003\125\035\016
+\004\026\004\024\327\326\126\142\134\077\027\201\346\163\104\051
+\365\121\005\357\013\140\067\254\060\015\006\011\052\206\110\206
+\367\015\001\001\013\005\000\003\202\002\001\000\111\234\051\376
+\075\354\236\105\177\253\076\074\376\043\157\067\076\167\247\123
+\377\170\237\374\111\104\200\127\146\234\156\332\171\377\315\105
+\255\114\223\277\265\131\306\351\020\267\345\370\214\373\207\305
+\036\213\330\263\077\002\226\012\273\212\216\357\327\264\300\203
+\040\070\227\131\105\144\374\366\167\023\362\011\327\241\310\070
+\164\010\352\371\110\114\372\037\004\234\264\377\354\156\126\066
+\162\223\154\225\076\054\137\336\017\013\253\311\314\025\076\026
+\217\146\374\262\020\270\241\321\264\336\300\143\031\314\357\123
+\252\165\066\042\213\045\037\277\233\310\327\301\137\354\246\067
+\011\252\173\142\274\366\042\055\361\326\130\335\214\273\122\364
+\013\247\166\251\172\173\032\215\334\255\232\201\142\056\206\005
+\220\162\107\057\241\311\147\204\260\015\154\260\270\233\026\267
+\320\231\024\057\234\022\233\043\250\215\246\103\036\351\345\055
+\345\170\247\037\144\224\144\266\167\262\250\134\373\011\253\051
+\353\036\155\165\321\366\320\305\245\303\035\237\036\363\032\055
+\262\310\037\345\050\012\156\363\137\375\332\346\043\241\166\220
+\134\113\230\001\202\054\356\107\055\002\032\137\177\064\305\151
+\265\162\255\076\363\317\236\155\370\051\350\021\047\053\340\131
+\013\033\141\353\112\312\151\245\244\325\315\121\033\224\216\171
+\315\337\366\256\164\135\261\054\033\206\123\376\321\060\006\101
+\064\007\142\202\114\364\176\307\207\164\016\260\041\036\011\040
+\200\301\263\025\075\106\155\323\361\006\222\077\357\240\225\212
+\034\156\167\061\266\353\170\051\014\173\356\202\245\117\176\244
+\051\136\236\252\055\370\216\300\363\374\015\006\205\233\116\334
+\367\342\011\174\320\024\121\036\172\263\043\257\372\321\141\052
+\145\265\001\331\270\343\007\312\044\166\322\360\112\276\357\206
+\004\200\102\025\160\021\150\176\327\307\273\376\347\116\233\234
+\225\245\034\112\244\311\320\011\214\252\316\110\322\036\222\227
+\327\021\351\355\146\314\067\334\365\327\033\164\233\246\352\102
+\254\135\062\340\130\364\201\107\377\322\022\342\176\034\334\111
+\166\226\303\035\237\113\312\134\052\067\133\075\212\321\070\233
+\041\332\343\277\105\103\323\340\130\167\037\050
 END
 CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
-# Trust for "GTS Root R2"
-# Issuer: CN=GTS Root R2,O=Google Trust Services LLC,C=US
-# Serial Number:6e:47:a9:c6:5a:b3:e7:20:c5:30:9a:3f:68:52:f2:6f
-# Subject: CN=GTS Root R2,O=Google Trust Services LLC,C=US
-# Not Valid Before: Wed Jun 22 00:00:00 2016
-# Not Valid After : Sun Jun 22 00:00:00 2036
-# Fingerprint (SHA-256): C4:5D:7B:B0:8E:6D:67:E6:2E:42:35:11:0B:56:4E:5F:78:FD:92:EF:05:8C:84:0A:EA:4E:64:55:D7:58:5C:60
-# Fingerprint (SHA1): D2:73:96:2A:2A:5E:39:9F:73:3F:E1:C7:1E:64:3F:03:38:34:FC:4D
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
+
+# Trust for "LAWtrust Root CA2 (4096)"
+# Issuer: CN=LAWtrust Root CA2 (4096),O=LAWtrust,C=ZA
+# Serial Number: 1427795633 (0x551a6eb1)
+# Subject: CN=LAWtrust Root CA2 (4096),O=LAWtrust,C=ZA
+# Not Valid Before: Tue Feb 14 09:19:38 2023
+# Not Valid After : Fri Feb 14 09:49:38 2053
+# Fingerprint (SHA-256): 48:E1:CF:9E:43:B6:88:A5:10:44:16:0F:46:D7:73:B8:27:7F:E4:5B:EA:AD:0E:4D:F9:0D:19:74:38:2F:EA:99
+# Fingerprint (SHA1): EC:A2:D5:30:A9:AB:2C:7D:0E:75:61:64:4E:0A:E0:16:A1:54:38:7D
 CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "GTS Root R2"
+CKA_LABEL UTF8 "LAWtrust Root CA2 (4096)"
 CKA_CERT_SHA1_HASH MULTILINE_OCTAL
-\322\163\226\052\052\136\071\237\163\077\341\307\036\144\077\003
-\070\064\374\115
+\354\242\325\060\251\253\054\175\016\165\141\144\116\012\340\026
+\241\124\070\175
 END
 CKA_CERT_MD5_HASH MULTILINE_OCTAL
-\104\355\232\016\244\011\073\000\362\256\114\243\306\141\260\213
+\257\035\306\323\105\305\353\365\246\141\043\060\075\056\021\261
 END
 CKA_ISSUER MULTILINE_OCTAL
-\060\107\061\013\060\011\006\003\125\004\006\023\002\125\123\061
-\042\060\040\006\003\125\004\012\023\031\107\157\157\147\154\145
-\040\124\162\165\163\164\040\123\145\162\166\151\143\145\163\040
-\114\114\103\061\024\060\022\006\003\125\004\003\023\013\107\124
-\123\040\122\157\157\164\040\122\062
+\060\103\061\013\060\011\006\003\125\004\006\023\002\132\101\061
+\021\060\017\006\003\125\004\012\023\010\114\101\127\164\162\165
+\163\164\061\041\060\037\006\003\125\004\003\023\030\114\101\127
+\164\162\165\163\164\040\122\157\157\164\040\103\101\062\040\050
+\064\060\071\066\051
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\020\156\107\251\306\132\263\347\040\305\060\232\077\150\122
-\362\157
+\002\004\125\032\156\261
 END
-CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
-CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
 CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
 CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
 
 #
-# Certificate "GTS Root R3"
+# Certificate "Sectigo Public Email Protection Root E46"
 #
-# Issuer: CN=GTS Root R3,O=Google Trust Services LLC,C=US
-# Serial Number:6e:47:a9:c7:6c:a9:73:24:40:89:0f:03:55:dd:8d:1d
-# Subject: CN=GTS Root R3,O=Google Trust Services LLC,C=US
-# Not Valid Before: Wed Jun 22 00:00:00 2016
-# Not Valid After : Sun Jun 22 00:00:00 2036
-# Fingerprint (SHA-256): 15:D5:B8:77:46:19:EA:7D:54:CE:1C:A6:D0:B0:C4:03:E0:37:A9:17:F1:31:E8:A0:4E:1E:6B:7A:71:BA:BC:E5
-# Fingerprint (SHA1): 30:D4:24:6F:07:FF:DB:91:89:8A:0B:E9:49:66:11:EB:8C:5E:46:E5
+# Issuer: CN=Sectigo Public Email Protection Root E46,O=Sectigo Limited,C=GB
+# Serial Number:6e:f5:d3:a7:41:8e:a0:59:40:a7:30:6b:d2:40:65:56
+# Subject: CN=Sectigo Public Email Protection Root E46,O=Sectigo Limited,C=GB
+# Not Valid Before: Mon Mar 22 00:00:00 2021
+# Not Valid After : Wed Mar 21 23:59:59 2046
+# Fingerprint (SHA-256): 22:D9:59:92:34:D6:0F:1D:4B:C7:C7:E9:6F:43:FA:55:5B:07:30:1F:D4:75:17:50:89:DA:FB:8C:25:E4:77:B3
+# Fingerprint (SHA1): 3A:C5:C3:78:34:5B:E1:82:92:46:ED:17:86:B3:93:91:7B:51:F2:14
 CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "GTS Root R3"
+CKA_LABEL UTF8 "Sectigo Public Email Protection Root E46"
 CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
 CKA_SUBJECT MULTILINE_OCTAL
-\060\107\061\013\060\011\006\003\125\004\006\023\002\125\123\061
-\042\060\040\006\003\125\004\012\023\031\107\157\157\147\154\145
-\040\124\162\165\163\164\040\123\145\162\166\151\143\145\163\040
-\114\114\103\061\024\060\022\006\003\125\004\003\023\013\107\124
-\123\040\122\157\157\164\040\122\063
+\060\132\061\013\060\011\006\003\125\004\006\023\002\107\102\061
+\030\060\026\006\003\125\004\012\023\017\123\145\143\164\151\147
+\157\040\114\151\155\151\164\145\144\061\061\060\057\006\003\125
+\004\003\023\050\123\145\143\164\151\147\157\040\120\165\142\154
+\151\143\040\105\155\141\151\154\040\120\162\157\164\145\143\164
+\151\157\156\040\122\157\157\164\040\105\064\066
 END
 CKA_ID UTF8 "0"
 CKA_ISSUER MULTILINE_OCTAL
-\060\107\061\013\060\011\006\003\125\004\006\023\002\125\123\061
-\042\060\040\006\003\125\004\012\023\031\107\157\157\147\154\145
-\040\124\162\165\163\164\040\123\145\162\166\151\143\145\163\040
-\114\114\103\061\024\060\022\006\003\125\004\003\023\013\107\124
-\123\040\122\157\157\164\040\122\063
+\060\132\061\013\060\011\006\003\125\004\006\023\002\107\102\061
+\030\060\026\006\003\125\004\012\023\017\123\145\143\164\151\147
+\157\040\114\151\155\151\164\145\144\061\061\060\057\006\003\125
+\004\003\023\050\123\145\143\164\151\147\157\040\120\165\142\154
+\151\143\040\105\155\141\151\154\040\120\162\157\164\145\143\164
+\151\157\156\040\122\157\157\164\040\105\064\066
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\020\156\107\251\307\154\251\163\044\100\211\017\003\125\335
-\215\035
+\002\020\156\365\323\247\101\216\240\131\100\247\060\153\322\100
+\145\126
 END
 CKA_VALUE MULTILINE_OCTAL
-\060\202\002\014\060\202\001\221\240\003\002\001\002\002\020\156
-\107\251\307\154\251\163\044\100\211\017\003\125\335\215\035\060
-\012\006\010\052\206\110\316\075\004\003\003\060\107\061\013\060
-\011\006\003\125\004\006\023\002\125\123\061\042\060\040\006\003
-\125\004\012\023\031\107\157\157\147\154\145\040\124\162\165\163
-\164\040\123\145\162\166\151\143\145\163\040\114\114\103\061\024
-\060\022\006\003\125\004\003\023\013\107\124\123\040\122\157\157
-\164\040\122\063\060\036\027\015\061\066\060\066\062\062\060\060
-\060\060\060\060\132\027\015\063\066\060\066\062\062\060\060\060
-\060\060\060\132\060\107\061\013\060\011\006\003\125\004\006\023
-\002\125\123\061\042\060\040\006\003\125\004\012\023\031\107\157
-\157\147\154\145\040\124\162\165\163\164\040\123\145\162\166\151
-\143\145\163\040\114\114\103\061\024\060\022\006\003\125\004\003
-\023\013\107\124\123\040\122\157\157\164\040\122\063\060\166\060
-\020\006\007\052\206\110\316\075\002\001\006\005\053\201\004\000
-\042\003\142\000\004\037\117\063\207\063\051\212\241\204\336\313
-\307\041\130\101\211\352\126\235\053\113\205\306\035\114\047\274
-\177\046\121\162\157\342\237\326\243\312\314\105\024\106\213\255
-\357\176\206\214\354\261\176\057\377\251\161\235\030\204\105\004
-\101\125\156\053\352\046\177\273\220\001\343\113\031\272\344\124
-\226\105\011\261\325\154\221\104\255\204\023\216\232\214\015\200
-\014\062\366\340\047\243\102\060\100\060\016\006\003\125\035\017
-\001\001\377\004\004\003\002\001\006\060\017\006\003\125\035\023
-\001\001\377\004\005\060\003\001\001\377\060\035\006\003\125\035
-\016\004\026\004\024\301\361\046\272\240\055\256\205\201\317\323
-\361\052\022\275\270\012\147\375\274\060\012\006\010\052\206\110
-\316\075\004\003\003\003\151\000\060\146\002\061\000\200\133\244
-\174\043\300\225\245\054\334\276\211\157\043\271\243\335\145\000
-\122\136\221\254\310\235\162\164\202\123\013\175\251\100\275\150
-\140\305\341\270\124\073\301\066\027\045\330\301\275\002\061\000
-\236\065\222\164\205\045\121\365\044\354\144\122\044\120\245\037
-\333\350\313\311\166\354\354\202\156\365\205\030\123\350\270\343
-\232\051\252\226\323\203\043\311\244\173\141\263\314\002\350\135
+\060\202\002\061\060\202\001\267\240\003\002\001\002\002\020\156
+\365\323\247\101\216\240\131\100\247\060\153\322\100\145\126\060
+\012\006\010\052\206\110\316\075\004\003\003\060\132\061\013\060
+\011\006\003\125\004\006\023\002\107\102\061\030\060\026\006\003
+\125\004\012\023\017\123\145\143\164\151\147\157\040\114\151\155
+\151\164\145\144\061\061\060\057\006\003\125\004\003\023\050\123
+\145\143\164\151\147\157\040\120\165\142\154\151\143\040\105\155
+\141\151\154\040\120\162\157\164\145\143\164\151\157\156\040\122
+\157\157\164\040\105\064\066\060\036\027\015\062\061\060\063\062
+\062\060\060\060\060\060\060\132\027\015\064\066\060\063\062\061
+\062\063\065\071\065\071\132\060\132\061\013\060\011\006\003\125
+\004\006\023\002\107\102\061\030\060\026\006\003\125\004\012\023
+\017\123\145\143\164\151\147\157\040\114\151\155\151\164\145\144
+\061\061\060\057\006\003\125\004\003\023\050\123\145\143\164\151
+\147\157\040\120\165\142\154\151\143\040\105\155\141\151\154\040
+\120\162\157\164\145\143\164\151\157\156\040\122\157\157\164\040
+\105\064\066\060\166\060\020\006\007\052\206\110\316\075\002\001
+\006\005\053\201\004\000\042\003\142\000\004\270\247\122\224\365
+\076\005\260\033\366\037\261\323\176\271\344\005\146\124\200\316
+\154\245\150\175\344\123\122\333\202\372\304\206\337\103\170\367
+\310\255\026\274\077\170\062\313\153\323\111\326\104\345\263\176
+\237\173\246\306\054\362\342\266\323\211\260\232\074\113\316\211
+\113\306\306\313\072\111\140\017\106\274\155\116\172\234\311\233
+\205\173\012\266\260\107\302\210\343\324\321\243\102\060\100\060
+\035\006\003\125\035\016\004\026\004\024\055\116\214\247\302\043
+\262\127\251\006\153\076\153\053\211\363\303\136\107\316\060\016
+\006\003\125\035\017\001\001\377\004\004\003\002\001\206\060\017
+\006\003\125\035\023\001\001\377\004\005\060\003\001\001\377\060
+\012\006\010\052\206\110\316\075\004\003\003\003\150\000\060\145
+\002\061\000\222\235\032\131\143\105\130\216\033\026\344\175\172
+\154\066\110\060\037\053\162\347\220\063\064\375\044\242\306\006
+\214\157\073\062\127\132\370\376\306\111\022\123\232\331\020\262
+\231\121\162\002\060\005\045\052\063\041\374\223\346\042\242\314
+\160\125\050\065\126\242\007\304\041\204\043\032\114\114\231\120
+\231\222\024\313\112\334\126\373\365\323\217\152\054\365\161\072
+\370\213\073\003\236
 END
 CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
-# Trust for "GTS Root R3"
-# Issuer: CN=GTS Root R3,O=Google Trust Services LLC,C=US
-# Serial Number:6e:47:a9:c7:6c:a9:73:24:40:89:0f:03:55:dd:8d:1d
-# Subject: CN=GTS Root R3,O=Google Trust Services LLC,C=US
-# Not Valid Before: Wed Jun 22 00:00:00 2016
-# Not Valid After : Sun Jun 22 00:00:00 2036
-# Fingerprint (SHA-256): 15:D5:B8:77:46:19:EA:7D:54:CE:1C:A6:D0:B0:C4:03:E0:37:A9:17:F1:31:E8:A0:4E:1E:6B:7A:71:BA:BC:E5
-# Fingerprint (SHA1): 30:D4:24:6F:07:FF:DB:91:89:8A:0B:E9:49:66:11:EB:8C:5E:46:E5
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
+
+# Trust for "Sectigo Public Email Protection Root E46"
+# Issuer: CN=Sectigo Public Email Protection Root E46,O=Sectigo Limited,C=GB
+# Serial Number:6e:f5:d3:a7:41:8e:a0:59:40:a7:30:6b:d2:40:65:56
+# Subject: CN=Sectigo Public Email Protection Root E46,O=Sectigo Limited,C=GB
+# Not Valid Before: Mon Mar 22 00:00:00 2021
+# Not Valid After : Wed Mar 21 23:59:59 2046
+# Fingerprint (SHA-256): 22:D9:59:92:34:D6:0F:1D:4B:C7:C7:E9:6F:43:FA:55:5B:07:30:1F:D4:75:17:50:89:DA:FB:8C:25:E4:77:B3
+# Fingerprint (SHA1): 3A:C5:C3:78:34:5B:E1:82:92:46:ED:17:86:B3:93:91:7B:51:F2:14
 CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "GTS Root R3"
+CKA_LABEL UTF8 "Sectigo Public Email Protection Root E46"
 CKA_CERT_SHA1_HASH MULTILINE_OCTAL
-\060\324\044\157\007\377\333\221\211\212\013\351\111\146\021\353
-\214\136\106\345
+\072\305\303\170\064\133\341\202\222\106\355\027\206\263\223\221
+\173\121\362\024
 END
 CKA_CERT_MD5_HASH MULTILINE_OCTAL
-\032\171\133\153\004\122\234\135\307\164\063\033\045\232\371\045
+\271\032\257\054\211\226\100\140\047\006\073\241\177\335\211\323
 END
 CKA_ISSUER MULTILINE_OCTAL
-\060\107\061\013\060\011\006\003\125\004\006\023\002\125\123\061
-\042\060\040\006\003\125\004\012\023\031\107\157\157\147\154\145
-\040\124\162\165\163\164\040\123\145\162\166\151\143\145\163\040
-\114\114\103\061\024\060\022\006\003\125\004\003\023\013\107\124
-\123\040\122\157\157\164\040\122\063
+\060\132\061\013\060\011\006\003\125\004\006\023\002\107\102\061
+\030\060\026\006\003\125\004\012\023\017\123\145\143\164\151\147
+\157\040\114\151\155\151\164\145\144\061\061\060\057\006\003\125
+\004\003\023\050\123\145\143\164\151\147\157\040\120\165\142\154
+\151\143\040\105\155\141\151\154\040\120\162\157\164\145\143\164
+\151\157\156\040\122\157\157\164\040\105\064\066
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\020\156\107\251\307\154\251\163\044\100\211\017\003\125\335
-\215\035
+\002\020\156\365\323\247\101\216\240\131\100\247\060\153\322\100
+\145\126
 END
-CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
-CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
 CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
 CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
 
 #
-# Certificate "GTS Root R4"
+# Certificate "Sectigo Public Email Protection Root R46"
 #
-# Issuer: CN=GTS Root R4,O=Google Trust Services LLC,C=US
-# Serial Number:6e:47:a9:c8:8b:94:b6:e8:bb:3b:2a:d8:a2:b2:c1:99
-# Subject: CN=GTS Root R4,O=Google Trust Services LLC,C=US
-# Not Valid Before: Wed Jun 22 00:00:00 2016
-# Not Valid After : Sun Jun 22 00:00:00 2036
-# Fingerprint (SHA-256): 71:CC:A5:39:1F:9E:79:4B:04:80:25:30:B3:63:E1:21:DA:8A:30:43:BB:26:66:2F:EA:4D:CA:7F:C9:51:A4:BD
-# Fingerprint (SHA1): 2A:1D:60:27:D9:4A:B1:0A:1C:4D:91:5C:CD:33:A0:CB:3E:2D:54:CB
+# Issuer: CN=Sectigo Public Email Protection Root R46,O=Sectigo Limited,C=GB
+# Serial Number:1d:44:9e:b9:0d:83:91:74:ae:dd:f2:eb:88:b7:a6:a3
+# Subject: CN=Sectigo Public Email Protection Root R46,O=Sectigo Limited,C=GB
+# Not Valid Before: Mon Mar 22 00:00:00 2021
+# Not Valid After : Wed Mar 21 23:59:59 2046
+# Fingerprint (SHA-256): D5:91:7A:77:91:EB:7C:F2:0A:2E:57:EB:98:28:4A:67:B2:8A:57:E8:91:82:DA:53:D5:46:67:8C:9F:DE:2B:4F
+# Fingerprint (SHA1): D3:7B:8B:0A:E8:42:44:FB:6B:80:38:EE:AE:91:80:26:1A:48:70:66
 CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "GTS Root R4"
+CKA_LABEL UTF8 "Sectigo Public Email Protection Root R46"
 CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
 CKA_SUBJECT MULTILINE_OCTAL
-\060\107\061\013\060\011\006\003\125\004\006\023\002\125\123\061
-\042\060\040\006\003\125\004\012\023\031\107\157\157\147\154\145
-\040\124\162\165\163\164\040\123\145\162\166\151\143\145\163\040
-\114\114\103\061\024\060\022\006\003\125\004\003\023\013\107\124
-\123\040\122\157\157\164\040\122\064
+\060\132\061\013\060\011\006\003\125\004\006\023\002\107\102\061
+\030\060\026\006\003\125\004\012\023\017\123\145\143\164\151\147
+\157\040\114\151\155\151\164\145\144\061\061\060\057\006\003\125
+\004\003\023\050\123\145\143\164\151\147\157\040\120\165\142\154
+\151\143\040\105\155\141\151\154\040\120\162\157\164\145\143\164
+\151\157\156\040\122\157\157\164\040\122\064\066
 END
 CKA_ID UTF8 "0"
 CKA_ISSUER MULTILINE_OCTAL
-\060\107\061\013\060\011\006\003\125\004\006\023\002\125\123\061
-\042\060\040\006\003\125\004\012\023\031\107\157\157\147\154\145
-\040\124\162\165\163\164\040\123\145\162\166\151\143\145\163\040
-\114\114\103\061\024\060\022\006\003\125\004\003\023\013\107\124
-\123\040\122\157\157\164\040\122\064
+\060\132\061\013\060\011\006\003\125\004\006\023\002\107\102\061
+\030\060\026\006\003\125\004\012\023\017\123\145\143\164\151\147
+\157\040\114\151\155\151\164\145\144\061\061\060\057\006\003\125
+\004\003\023\050\123\145\143\164\151\147\157\040\120\165\142\154
+\151\143\040\105\155\141\151\154\040\120\162\157\164\145\143\164
+\151\157\156\040\122\157\157\164\040\122\064\066
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\020\156\107\251\310\213\224\266\350\273\073\052\330\242\262
-\301\231
+\002\020\035\104\236\271\015\203\221\164\256\335\362\353\210\267
+\246\243
 END
 CKA_VALUE MULTILINE_OCTAL
-\060\202\002\012\060\202\001\221\240\003\002\001\002\002\020\156
-\107\251\310\213\224\266\350\273\073\052\330\242\262\301\231\060
-\012\006\010\052\206\110\316\075\004\003\003\060\107\061\013\060
-\011\006\003\125\004\006\023\002\125\123\061\042\060\040\006\003
-\125\004\012\023\031\107\157\157\147\154\145\040\124\162\165\163
-\164\040\123\145\162\166\151\143\145\163\040\114\114\103\061\024
-\060\022\006\003\125\004\003\023\013\107\124\123\040\122\157\157
-\164\040\122\064\060\036\027\015\061\066\060\066\062\062\060\060
-\060\060\060\060\132\027\015\063\066\060\066\062\062\060\060\060
-\060\060\060\132\060\107\061\013\060\011\006\003\125\004\006\023
-\002\125\123\061\042\060\040\006\003\125\004\012\023\031\107\157
-\157\147\154\145\040\124\162\165\163\164\040\123\145\162\166\151
-\143\145\163\040\114\114\103\061\024\060\022\006\003\125\004\003
-\023\013\107\124\123\040\122\157\157\164\040\122\064\060\166\060
-\020\006\007\052\206\110\316\075\002\001\006\005\053\201\004\000
-\042\003\142\000\004\363\164\163\247\150\213\140\256\103\270\065
-\305\201\060\173\113\111\235\373\301\141\316\346\336\106\275\153
-\325\141\030\065\256\100\335\163\367\211\221\060\132\353\074\356
-\205\174\242\100\166\073\251\306\270\107\330\052\347\222\221\152
-\163\351\261\162\071\237\051\237\242\230\323\137\136\130\206\145
-\017\241\204\145\006\321\334\213\311\307\163\310\214\152\057\345
-\304\253\321\035\212\243\102\060\100\060\016\006\003\125\035\017
-\001\001\377\004\004\003\002\001\006\060\017\006\003\125\035\023
-\001\001\377\004\005\060\003\001\001\377\060\035\006\003\125\035
-\016\004\026\004\024\200\114\326\353\164\377\111\066\243\325\330
-\374\265\076\305\152\360\224\035\214\060\012\006\010\052\206\110
-\316\075\004\003\003\003\147\000\060\144\002\060\152\120\122\164
-\010\304\160\334\236\120\164\041\350\215\172\041\303\117\226\156
-\025\321\042\065\141\055\372\010\067\356\031\155\255\333\262\314
-\175\007\064\365\140\031\054\265\064\331\157\040\002\060\003\161
-\261\272\243\140\013\206\355\232\010\152\225\150\237\342\263\341
-\223\144\174\136\223\246\337\171\055\215\205\343\224\317\043\135
-\161\314\362\260\115\326\376\231\310\224\251\165\242\343
-END
-CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
-# Trust for "GTS Root R4"
-# Issuer: CN=GTS Root R4,O=Google Trust Services LLC,C=US
-# Serial Number:6e:47:a9:c8:8b:94:b6:e8:bb:3b:2a:d8:a2:b2:c1:99
-# Subject: CN=GTS Root R4,O=Google Trust Services LLC,C=US
-# Not Valid Before: Wed Jun 22 00:00:00 2016
-# Not Valid After : Sun Jun 22 00:00:00 2036
-# Fingerprint (SHA-256): 71:CC:A5:39:1F:9E:79:4B:04:80:25:30:B3:63:E1:21:DA:8A:30:43:BB:26:66:2F:EA:4D:CA:7F:C9:51:A4:BD
-# Fingerprint (SHA1): 2A:1D:60:27:D9:4A:B1:0A:1C:4D:91:5C:CD:33:A0:CB:3E:2D:54:CB
+\060\202\005\200\060\202\003\150\240\003\002\001\002\002\020\035
+\104\236\271\015\203\221\164\256\335\362\353\210\267\246\243\060
+\015\006\011\052\206\110\206\367\015\001\001\014\005\000\060\132
+\061\013\060\011\006\003\125\004\006\023\002\107\102\061\030\060
+\026\006\003\125\004\012\023\017\123\145\143\164\151\147\157\040
+\114\151\155\151\164\145\144\061\061\060\057\006\003\125\004\003
+\023\050\123\145\143\164\151\147\157\040\120\165\142\154\151\143
+\040\105\155\141\151\154\040\120\162\157\164\145\143\164\151\157
+\156\040\122\157\157\164\040\122\064\066\060\036\027\015\062\061
+\060\063\062\062\060\060\060\060\060\060\132\027\015\064\066\060
+\063\062\061\062\063\065\071\065\071\132\060\132\061\013\060\011
+\006\003\125\004\006\023\002\107\102\061\030\060\026\006\003\125
+\004\012\023\017\123\145\143\164\151\147\157\040\114\151\155\151
+\164\145\144\061\061\060\057\006\003\125\004\003\023\050\123\145
+\143\164\151\147\157\040\120\165\142\154\151\143\040\105\155\141
+\151\154\040\120\162\157\164\145\143\164\151\157\156\040\122\157
+\157\164\040\122\064\066\060\202\002\042\060\015\006\011\052\206
+\110\206\367\015\001\001\001\005\000\003\202\002\017\000\060\202
+\002\012\002\202\002\001\000\221\345\033\372\252\155\067\053\165
+\307\056\137\024\245\333\054\227\266\054\106\217\151\331\354\226
+\055\363\035\132\276\323\035\043\346\150\011\377\112\021\163\032
+\256\147\237\166\232\322\347\354\270\331\137\053\371\046\126\121
+\257\166\235\251\374\027\357\062\012\320\043\074\272\054\117\107
+\203\354\235\005\150\102\136\006\340\325\350\053\150\110\227\262
+\372\363\244\161\065\175\064\233\027\213\177\115\015\333\334\117
+\005\114\224\142\277\065\372\057\310\247\034\146\331\161\137\345
+\346\132\125\312\253\364\270\167\031\105\120\105\116\112\253\333
+\236\146\301\031\267\067\102\310\126\245\100\022\371\063\350\070
+\105\072\306\204\243\002\216\057\044\260\303\101\205\007\111\234
+\317\334\321\362\046\157\355\063\034\063\147\052\105\067\331\205
+\145\042\032\261\265\020\122\011\153\003\306\037\160\075\221\304
+\175\220\075\355\146\370\220\377\045\340\355\222\242\213\061\051
+\255\234\022\146\170\143\235\127\354\373\013\336\216\334\213\313
+\072\251\167\364\272\345\354\070\214\213\346\023\146\247\151\130
+\303\202\032\032\315\361\237\330\123\222\116\111\175\251\105\347
+\361\103\041\132\267\076\100\315\143\211\317\331\277\307\120\013
+\341\274\347\210\226\255\236\324\027\332\135\317\340\221\375\246
+\020\324\271\003\201\233\151\254\373\204\250\201\065\353\033\353
+\150\154\174\140\076\303\337\311\264\256\164\035\110\255\335\156
+\021\206\341\052\152\066\026\256\310\316\274\333\130\374\100\223
+\100\330\216\123\227\302\254\042\070\345\210\061\263\056\241\357
+\354\340\102\015\352\377\223\126\112\006\244\233\114\002\150\144
+\217\126\120\301\201\005\375\313\333\305\327\025\362\153\265\166
+\303\243\371\062\316\312\265\112\251\033\175\031\334\177\307\152
+\176\225\354\266\270\215\375\225\112\234\243\053\155\213\361\160
+\345\107\053\000\134\344\271\236\324\370\331\130\051\320\313\340
+\050\142\154\256\234\142\342\314\274\066\223\101\365\357\376\106
+\142\225\260\127\112\164\054\107\122\051\235\335\242\241\117\102
+\302\222\316\055\120\122\136\214\012\241\367\330\235\305\370\375
+\066\207\116\127\375\150\241\137\231\203\034\360\265\335\350\222
+\323\145\100\125\312\226\205\002\003\001\000\001\243\102\060\100
+\060\035\006\003\125\035\016\004\026\004\024\247\327\225\167\353
+\112\303\047\315\223\276\067\114\046\204\041\024\175\135\230\060
+\016\006\003\125\035\017\001\001\377\004\004\003\002\001\206\060
+\017\006\003\125\035\023\001\001\377\004\005\060\003\001\001\377
+\060\015\006\011\052\206\110\206\367\015\001\001\014\005\000\003
+\202\002\001\000\064\322\361\025\363\223\001\324\162\213\360\253
+\010\037\023\074\163\264\260\253\350\170\331\154\272\232\257\046
+\354\020\200\345\015\123\061\335\343\372\214\121\042\044\063\067
+\270\030\176\072\372\130\350\064\345\214\340\241\037\011\101\322
+\067\077\314\313\011\065\102\210\351\374\021\327\317\102\252\244
+\160\266\161\301\123\275\305\164\257\304\042\044\143\317\142\202
+\175\311\313\121\301\210\220\155\133\134\276\373\231\250\272\266
+\206\260\351\146\013\345\033\153\257\352\053\206\247\337\250\043
+\114\226\077\117\127\102\030\025\203\103\361\206\046\267\052\003
+\316\013\235\350\245\150\036\214\157\275\205\343\033\121\217\347
+\027\057\053\320\326\170\302\055\335\162\210\324\145\236\372\231
+\324\176\347\227\012\222\001\232\245\251\204\072\014\052\164\075
+\063\030\310\207\367\350\244\365\206\102\071\375\153\165\051\374
+\000\006\254\242\245\032\124\216\351\120\111\027\146\257\113\004
+\055\233\224\200\245\124\253\214\127\027\104\237\017\326\150\144
+\162\264\113\036\001\307\331\233\224\331\203\231\257\022\005\021
+\243\230\042\322\362\127\312\044\371\272\070\025\022\110\272\143
+\073\374\213\225\170\326\162\007\126\314\315\374\235\034\320\305
+\144\073\143\064\317\004\231\212\267\060\171\172\266\362\306\325
+\331\124\172\207\013\176\116\367\204\354\024\363\210\026\022\361
+\325\256\012\032\011\356\206\255\345\253\375\256\303\051\171\164
+\303\001\137\021\233\337\165\231\306\112\367\233\217\154\111\354
+\041\057\264\002\131\263\055\320\162\220\272\013\024\164\170\113
+\317\301\137\125\162\216\124\053\023\316\372\130\014\323\273\054
+\331\251\221\141\370\370\361\266\173\336\274\251\314\222\004\314
+\113\153\137\163\200\266\041\355\120\117\327\166\207\156\316\337
+\322\267\275\142\241\175\130\142\150\105\122\266\077\336\022\333
+\355\004\151\236\166\210\252\001\155\332\206\307\140\033\303\122
+\254\067\354\120\161\200\162\052\041\105\012\123\107\074\031\353
+\215\322\131\004\336\045\260\353\037\065\157\140\175\327\265\306
+\273\013\047\215\340\115\124\345\317\035\046\001\156\073\065\310
+\040\022\211\203\360\322\355\130\073\064\235\273\061\365\062\375
+\061\363\126\032
+END
+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
+
+# Trust for "Sectigo Public Email Protection Root R46"
+# Issuer: CN=Sectigo Public Email Protection Root R46,O=Sectigo Limited,C=GB
+# Serial Number:1d:44:9e:b9:0d:83:91:74:ae:dd:f2:eb:88:b7:a6:a3
+# Subject: CN=Sectigo Public Email Protection Root R46,O=Sectigo Limited,C=GB
+# Not Valid Before: Mon Mar 22 00:00:00 2021
+# Not Valid After : Wed Mar 21 23:59:59 2046
+# Fingerprint (SHA-256): D5:91:7A:77:91:EB:7C:F2:0A:2E:57:EB:98:28:4A:67:B2:8A:57:E8:91:82:DA:53:D5:46:67:8C:9F:DE:2B:4F
+# Fingerprint (SHA1): D3:7B:8B:0A:E8:42:44:FB:6B:80:38:EE:AE:91:80:26:1A:48:70:66
 CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "GTS Root R4"
+CKA_LABEL UTF8 "Sectigo Public Email Protection Root R46"
 CKA_CERT_SHA1_HASH MULTILINE_OCTAL
-\052\035\140\047\331\112\261\012\034\115\221\134\315\063\240\313
-\076\055\124\313
+\323\173\213\012\350\102\104\373\153\200\070\356\256\221\200\046
+\032\110\160\146
 END
 CKA_CERT_MD5_HASH MULTILINE_OCTAL
-\135\266\152\304\140\027\044\152\032\231\250\113\356\136\264\046
+\102\047\005\220\034\246\300\373\242\015\375\337\142\211\335\133
 END
 CKA_ISSUER MULTILINE_OCTAL
-\060\107\061\013\060\011\006\003\125\004\006\023\002\125\123\061
-\042\060\040\006\003\125\004\012\023\031\107\157\157\147\154\145
-\040\124\162\165\163\164\040\123\145\162\166\151\143\145\163\040
-\114\114\103\061\024\060\022\006\003\125\004\003\023\013\107\124
-\123\040\122\157\157\164\040\122\064
+\060\132\061\013\060\011\006\003\125\004\006\023\002\107\102\061
+\030\060\026\006\003\125\004\012\023\017\123\145\143\164\151\147
+\157\040\114\151\155\151\164\145\144\061\061\060\057\006\003\125
+\004\003\023\050\123\145\143\164\151\147\157\040\120\165\142\154
+\151\143\040\105\155\141\151\154\040\120\162\157\164\145\143\164
+\151\157\156\040\122\157\157\164\040\122\064\066
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\020\156\107\251\310\213\224\266\350\273\073\052\330\242\262
-\301\231
+\002\020\035\104\236\271\015\203\221\164\256\335\362\353\210\267
+\246\243
 END
-CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
-CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
 CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
 CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
 
 #
-# Certificate "UCA Global G2 Root"
+# Certificate "Sectigo Public Server Authentication Root E46"
 #
-# Issuer: CN=UCA Global G2 Root,O=UniTrust,C=CN
-# Serial Number:5d:df:b1:da:5a:a3:ed:5d:be:5a:65:20:65:03:90:ef
-# Subject: CN=UCA Global G2 Root,O=UniTrust,C=CN
-# Not Valid Before: Fri Mar 11 00:00:00 2016
-# Not Valid After : Mon Dec 31 00:00:00 2040
-# Fingerprint (SHA-256): 9B:EA:11:C9:76:FE:01:47:64:C1:BE:56:A6:F9:14:B5:A5:60:31:7A:BD:99:88:39:33:82:E5:16:1A:A0:49:3C
-# Fingerprint (SHA1): 28:F9:78:16:19:7A:FF:18:25:18:AA:44:FE:C1:A0:CE:5C:B6:4C:8A
+# Issuer: CN=Sectigo Public Server Authentication Root E46,O=Sectigo Limited,C=GB
+# Serial Number:42:f2:cc:da:1b:69:37:44:5f:15:fe:75:28:10:b8:f4
+# Subject: CN=Sectigo Public Server Authentication Root E46,O=Sectigo Limited,C=GB
+# Not Valid Before: Mon Mar 22 00:00:00 2021
+# Not Valid After : Wed Mar 21 23:59:59 2046
+# Fingerprint (SHA-256): C9:0F:26:F0:FB:1B:40:18:B2:22:27:51:9B:5C:A2:B5:3E:2C:A5:B3:BE:5C:F1:8E:FE:1B:EF:47:38:0C:53:83
+# Fingerprint (SHA1): EC:8A:39:6C:40:F0:2E:BC:42:75:D4:9F:AB:1C:1A:5B:67:BE:D2:9A
 CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "UCA Global G2 Root"
+CKA_LABEL UTF8 "Sectigo Public Server Authentication Root E46"
 CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
 CKA_SUBJECT MULTILINE_OCTAL
-\060\075\061\013\060\011\006\003\125\004\006\023\002\103\116\061
-\021\060\017\006\003\125\004\012\014\010\125\156\151\124\162\165
-\163\164\061\033\060\031\006\003\125\004\003\014\022\125\103\101
-\040\107\154\157\142\141\154\040\107\062\040\122\157\157\164
+\060\137\061\013\060\011\006\003\125\004\006\023\002\107\102\061
+\030\060\026\006\003\125\004\012\023\017\123\145\143\164\151\147
+\157\040\114\151\155\151\164\145\144\061\066\060\064\006\003\125
+\004\003\023\055\123\145\143\164\151\147\157\040\120\165\142\154
+\151\143\040\123\145\162\166\145\162\040\101\165\164\150\145\156
+\164\151\143\141\164\151\157\156\040\122\157\157\164\040\105\064
+\066
 END
 CKA_ID UTF8 "0"
 CKA_ISSUER MULTILINE_OCTAL
-\060\075\061\013\060\011\006\003\125\004\006\023\002\103\116\061
-\021\060\017\006\003\125\004\012\014\010\125\156\151\124\162\165
-\163\164\061\033\060\031\006\003\125\004\003\014\022\125\103\101
-\040\107\154\157\142\141\154\040\107\062\040\122\157\157\164
+\060\137\061\013\060\011\006\003\125\004\006\023\002\107\102\061
+\030\060\026\006\003\125\004\012\023\017\123\145\143\164\151\147
+\157\040\114\151\155\151\164\145\144\061\066\060\064\006\003\125
+\004\003\023\055\123\145\143\164\151\147\157\040\120\165\142\154
+\151\143\040\123\145\162\166\145\162\040\101\165\164\150\145\156
+\164\151\143\141\164\151\157\156\040\122\157\157\164\040\105\064
+\066
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\020\135\337\261\332\132\243\355\135\276\132\145\040\145\003
-\220\357
+\002\020\102\362\314\332\033\151\067\104\137\025\376\165\050\020
+\270\364
 END
 CKA_VALUE MULTILINE_OCTAL
-\060\202\005\106\060\202\003\056\240\003\002\001\002\002\020\135
-\337\261\332\132\243\355\135\276\132\145\040\145\003\220\357\060
-\015\006\011\052\206\110\206\367\015\001\001\013\005\000\060\075
-\061\013\060\011\006\003\125\004\006\023\002\103\116\061\021\060
-\017\006\003\125\004\012\014\010\125\156\151\124\162\165\163\164
-\061\033\060\031\006\003\125\004\003\014\022\125\103\101\040\107
-\154\157\142\141\154\040\107\062\040\122\157\157\164\060\036\027
-\015\061\066\060\063\061\061\060\060\060\060\060\060\132\027\015
-\064\060\061\062\063\061\060\060\060\060\060\060\132\060\075\061
-\013\060\011\006\003\125\004\006\023\002\103\116\061\021\060\017
-\006\003\125\004\012\014\010\125\156\151\124\162\165\163\164\061
-\033\060\031\006\003\125\004\003\014\022\125\103\101\040\107\154
-\157\142\141\154\040\107\062\040\122\157\157\164\060\202\002\042
-\060\015\006\011\052\206\110\206\367\015\001\001\001\005\000\003
-\202\002\017\000\060\202\002\012\002\202\002\001\000\305\346\053
-\157\174\357\046\005\047\243\201\044\332\157\313\001\371\231\232
-\251\062\302\042\207\141\101\221\073\313\303\150\033\006\305\114
-\251\053\301\147\027\042\035\053\355\371\051\211\223\242\170\275
-\222\153\240\243\015\242\176\312\223\263\246\321\214\065\325\165
-\371\027\366\317\105\305\345\172\354\167\223\240\217\043\256\016
-\032\003\177\276\324\320\355\056\173\253\106\043\133\377\054\346
-\124\172\224\300\052\025\360\311\215\260\172\073\044\341\327\150
-\342\061\074\006\063\106\266\124\021\246\245\057\042\124\052\130
-\015\001\002\361\372\025\121\147\154\300\372\327\266\033\177\321
-\126\210\057\032\072\215\073\273\202\021\340\107\000\320\122\207
-\253\373\206\176\017\044\153\100\235\064\147\274\215\307\055\206
-\157\171\076\216\251\074\027\113\177\260\231\343\260\161\140\334
-\013\365\144\303\316\103\274\155\161\271\322\336\047\133\212\350
-\330\306\256\341\131\175\317\050\055\065\270\225\126\032\361\262
-\130\113\267\022\067\310\174\263\355\113\200\341\215\372\062\043
-\266\157\267\110\225\010\261\104\116\205\214\072\002\124\040\057
-\337\277\127\117\073\072\220\041\327\301\046\065\124\040\354\307
-\077\107\354\357\132\277\113\172\301\255\073\027\120\134\142\330
-\017\113\112\334\053\372\156\274\163\222\315\354\307\120\350\101
-\226\327\251\176\155\330\351\035\217\212\265\271\130\222\272\112
-\222\053\014\126\375\200\353\010\360\136\051\156\033\034\014\257
-\217\223\211\255\333\275\243\236\041\312\211\031\354\337\265\303
-\032\353\026\376\170\066\114\326\156\320\076\027\034\220\027\153
-\046\272\373\172\057\277\021\034\030\016\055\163\003\217\240\345
-\065\240\132\342\114\165\035\161\341\071\070\123\170\100\314\203
-\223\327\012\236\235\133\217\212\344\345\340\110\344\110\262\107
-\315\116\052\165\052\173\362\042\366\311\276\011\221\226\127\172
-\210\210\254\356\160\254\371\334\051\343\014\034\073\022\116\104
-\326\247\116\260\046\310\363\331\032\227\221\150\352\357\215\106
-\006\322\126\105\130\232\074\014\017\203\270\005\045\303\071\317
-\073\244\064\211\267\171\022\057\107\305\347\251\227\151\374\246
-\167\147\265\337\173\361\172\145\025\344\141\126\145\002\003\001
-\000\001\243\102\060\100\060\016\006\003\125\035\017\001\001\377
-\004\004\003\002\001\006\060\017\006\003\125\035\023\001\001\377
-\004\005\060\003\001\001\377\060\035\006\003\125\035\016\004\026
-\004\024\201\304\214\314\365\344\060\377\245\014\010\137\214\025
-\147\041\164\001\337\337\060\015\006\011\052\206\110\206\367\015
-\001\001\013\005\000\003\202\002\001\000\023\145\042\365\216\053
-\255\104\344\313\377\271\150\346\303\200\110\075\004\173\372\043
-\057\172\355\066\332\262\316\155\366\346\236\345\137\130\217\313
-\067\062\241\310\145\266\256\070\075\065\033\076\274\073\266\004
-\320\274\371\111\365\233\367\205\305\066\266\313\274\370\310\071
-\325\344\137\007\275\025\124\227\164\312\312\355\117\272\272\144
-\166\237\201\270\204\105\111\114\215\157\242\353\261\314\321\303
-\224\332\104\302\346\342\352\030\350\242\037\047\005\272\327\345
-\326\251\315\335\357\166\230\215\000\016\315\033\372\003\267\216
-\200\130\016\047\077\122\373\224\242\312\136\145\311\326\204\332
-\271\065\161\363\046\300\117\167\346\201\047\322\167\073\232\024
-\157\171\364\366\320\341\323\224\272\320\127\121\275\047\005\015
-\301\375\310\022\060\356\157\215\021\053\010\235\324\324\277\200
-\105\024\232\210\104\332\060\352\264\247\343\356\357\133\202\325
-\076\326\255\170\222\333\134\074\363\330\255\372\270\153\177\304
-\066\050\266\002\025\212\124\054\234\260\027\163\216\320\067\243
-\024\074\230\225\000\014\051\005\133\236\111\111\261\137\307\343
-\313\317\047\145\216\065\027\267\127\310\060\331\101\133\271\024
-\266\350\302\017\224\061\247\224\230\314\152\353\265\341\047\365
-\020\250\001\350\216\022\142\350\210\314\265\177\106\227\300\233
-\020\146\070\032\066\106\137\042\150\075\337\311\306\023\047\253
-\123\006\254\242\074\206\006\145\157\261\176\261\051\104\232\243
-\272\111\151\050\151\217\327\345\137\255\004\206\144\157\032\240
-\014\305\010\142\316\200\243\320\363\354\150\336\276\063\307\027
-\133\177\200\304\114\114\261\246\204\212\303\073\270\011\315\024
-\201\272\030\343\124\127\066\376\333\057\174\107\241\072\063\310
-\371\130\073\104\117\261\312\002\211\004\226\050\150\305\113\270
-\046\211\273\326\063\057\120\325\376\232\211\272\030\062\222\124
-\306\133\340\235\371\136\345\015\042\233\366\332\342\310\041\262
-\142\041\252\206\100\262\056\144\323\137\310\343\176\021\147\105
-\037\005\376\343\242\357\263\250\263\363\175\217\370\014\037\042
-\037\055\160\264\270\001\064\166\060\000\345\043\170\247\126\327
-\120\037\212\373\006\365\302\031\360\320
+\060\202\002\072\060\202\001\301\240\003\002\001\002\002\020\102
+\362\314\332\033\151\067\104\137\025\376\165\050\020\270\364\060
+\012\006\010\052\206\110\316\075\004\003\003\060\137\061\013\060
+\011\006\003\125\004\006\023\002\107\102\061\030\060\026\006\003
+\125\004\012\023\017\123\145\143\164\151\147\157\040\114\151\155
+\151\164\145\144\061\066\060\064\006\003\125\004\003\023\055\123
+\145\143\164\151\147\157\040\120\165\142\154\151\143\040\123\145
+\162\166\145\162\040\101\165\164\150\145\156\164\151\143\141\164
+\151\157\156\040\122\157\157\164\040\105\064\066\060\036\027\015
+\062\061\060\063\062\062\060\060\060\060\060\060\132\027\015\064
+\066\060\063\062\061\062\063\065\071\065\071\132\060\137\061\013
+\060\011\006\003\125\004\006\023\002\107\102\061\030\060\026\006
+\003\125\004\012\023\017\123\145\143\164\151\147\157\040\114\151
+\155\151\164\145\144\061\066\060\064\006\003\125\004\003\023\055
+\123\145\143\164\151\147\157\040\120\165\142\154\151\143\040\123
+\145\162\166\145\162\040\101\165\164\150\145\156\164\151\143\141
+\164\151\157\156\040\122\157\157\164\040\105\064\066\060\166\060
+\020\006\007\052\206\110\316\075\002\001\006\005\053\201\004\000
+\042\003\142\000\004\166\372\231\251\156\040\355\371\327\167\343
+\007\073\250\333\075\137\070\350\253\125\246\126\117\326\110\352
+\354\177\055\252\303\262\305\171\354\231\141\177\020\171\307\002
+\132\371\004\067\365\064\065\053\167\316\177\040\217\122\243\000
+\211\354\325\247\242\155\133\343\113\222\223\240\200\365\001\224
+\334\360\150\007\036\315\356\376\045\122\265\040\103\034\033\376
+\353\031\316\103\243\243\102\060\100\060\035\006\003\125\035\016
+\004\026\004\024\321\042\332\114\131\361\113\137\046\070\252\235
+\326\356\353\015\303\373\251\141\060\016\006\003\125\035\017\001
+\001\377\004\004\003\002\001\206\060\017\006\003\125\035\023\001
+\001\377\004\005\060\003\001\001\377\060\012\006\010\052\206\110
+\316\075\004\003\003\003\147\000\060\144\002\060\047\356\244\132
+\250\041\273\351\107\227\224\211\245\164\040\155\171\117\310\275
+\223\136\130\030\373\055\032\000\152\311\270\075\320\244\117\104
+\107\224\001\126\242\370\063\045\014\102\337\252\002\060\035\352
+\341\056\210\056\341\371\247\035\002\062\116\362\237\154\125\164
+\343\256\256\373\245\032\356\355\322\374\302\003\021\353\105\134
+\140\020\075\134\177\231\003\133\155\124\110\001\212\163
 END
 CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
-# Trust for "UCA Global G2 Root"
-# Issuer: CN=UCA Global G2 Root,O=UniTrust,C=CN
-# Serial Number:5d:df:b1:da:5a:a3:ed:5d:be:5a:65:20:65:03:90:ef
-# Subject: CN=UCA Global G2 Root,O=UniTrust,C=CN
-# Not Valid Before: Fri Mar 11 00:00:00 2016
-# Not Valid After : Mon Dec 31 00:00:00 2040
-# Fingerprint (SHA-256): 9B:EA:11:C9:76:FE:01:47:64:C1:BE:56:A6:F9:14:B5:A5:60:31:7A:BD:99:88:39:33:82:E5:16:1A:A0:49:3C
-# Fingerprint (SHA1): 28:F9:78:16:19:7A:FF:18:25:18:AA:44:FE:C1:A0:CE:5C:B6:4C:8A
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
+
+# Trust for "Sectigo Public Server Authentication Root E46"
+# Issuer: CN=Sectigo Public Server Authentication Root E46,O=Sectigo Limited,C=GB
+# Serial Number:42:f2:cc:da:1b:69:37:44:5f:15:fe:75:28:10:b8:f4
+# Subject: CN=Sectigo Public Server Authentication Root E46,O=Sectigo Limited,C=GB
+# Not Valid Before: Mon Mar 22 00:00:00 2021
+# Not Valid After : Wed Mar 21 23:59:59 2046
+# Fingerprint (SHA-256): C9:0F:26:F0:FB:1B:40:18:B2:22:27:51:9B:5C:A2:B5:3E:2C:A5:B3:BE:5C:F1:8E:FE:1B:EF:47:38:0C:53:83
+# Fingerprint (SHA1): EC:8A:39:6C:40:F0:2E:BC:42:75:D4:9F:AB:1C:1A:5B:67:BE:D2:9A
 CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "UCA Global G2 Root"
+CKA_LABEL UTF8 "Sectigo Public Server Authentication Root E46"
 CKA_CERT_SHA1_HASH MULTILINE_OCTAL
-\050\371\170\026\031\172\377\030\045\030\252\104\376\301\240\316
-\134\266\114\212
+\354\212\071\154\100\360\056\274\102\165\324\237\253\034\032\133
+\147\276\322\232
 END
 CKA_CERT_MD5_HASH MULTILINE_OCTAL
-\200\376\360\304\112\360\134\142\062\237\034\272\170\251\120\370
+\050\043\370\262\230\134\067\026\073\076\106\023\116\260\263\001
 END
 CKA_ISSUER MULTILINE_OCTAL
-\060\075\061\013\060\011\006\003\125\004\006\023\002\103\116\061
-\021\060\017\006\003\125\004\012\014\010\125\156\151\124\162\165
-\163\164\061\033\060\031\006\003\125\004\003\014\022\125\103\101
-\040\107\154\157\142\141\154\040\107\062\040\122\157\157\164
+\060\137\061\013\060\011\006\003\125\004\006\023\002\107\102\061
+\030\060\026\006\003\125\004\012\023\017\123\145\143\164\151\147
+\157\040\114\151\155\151\164\145\144\061\066\060\064\006\003\125
+\004\003\023\055\123\145\143\164\151\147\157\040\120\165\142\154
+\151\143\040\123\145\162\166\145\162\040\101\165\164\150\145\156
+\164\151\143\141\164\151\157\156\040\122\157\157\164\040\105\064
+\066
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\020\135\337\261\332\132\243\355\135\276\132\145\040\145\003
-\220\357
+\002\020\102\362\314\332\033\151\067\104\137\025\376\165\050\020
+\270\364
 END
 CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
-CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
 CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
 CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
 
 #
-# Certificate "UCA Extended Validation Root"
+# Certificate "Sectigo Public Server Authentication Root R46"
 #
-# Issuer: CN=UCA Extended Validation Root,O=UniTrust,C=CN
-# Serial Number:4f:d2:2b:8f:f5:64:c8:33:9e:4f:34:58:66:23:70:60
-# Subject: CN=UCA Extended Validation Root,O=UniTrust,C=CN
-# Not Valid Before: Fri Mar 13 00:00:00 2015
-# Not Valid After : Fri Dec 31 00:00:00 2038
-# Fingerprint (SHA-256): D4:3A:F9:B3:54:73:75:5C:96:84:FC:06:D7:D8:CB:70:EE:5C:28:E7:73:FB:29:4E:B4:1E:E7:17:22:92:4D:24
-# Fingerprint (SHA1): A3:A1:B0:6F:24:61:23:4A:E3:36:A5:C2:37:FC:A6:FF:DD:F0:D7:3A
+# Issuer: CN=Sectigo Public Server Authentication Root R46,O=Sectigo Limited,C=GB
+# Serial Number:75:8d:fd:8b:ae:7c:07:00:fa:a9:25:a7:e1:c7:ad:14
+# Subject: CN=Sectigo Public Server Authentication Root R46,O=Sectigo Limited,C=GB
+# Not Valid Before: Mon Mar 22 00:00:00 2021
+# Not Valid After : Wed Mar 21 23:59:59 2046
+# Fingerprint (SHA-256): 7B:B6:47:A6:2A:EE:AC:88:BF:25:7A:A5:22:D0:1F:FE:A3:95:E0:AB:45:C7:3F:93:F6:56:54:EC:38:F2:5A:06
+# Fingerprint (SHA1): AD:98:F9:F3:E4:7D:75:3B:65:D4:82:B3:A4:52:17:BB:6E:F5:E4:38
 CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "UCA Extended Validation Root"
+CKA_LABEL UTF8 "Sectigo Public Server Authentication Root R46"
 CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
 CKA_SUBJECT MULTILINE_OCTAL
-\060\107\061\013\060\011\006\003\125\004\006\023\002\103\116\061
-\021\060\017\006\003\125\004\012\014\010\125\156\151\124\162\165
-\163\164\061\045\060\043\006\003\125\004\003\014\034\125\103\101
-\040\105\170\164\145\156\144\145\144\040\126\141\154\151\144\141
-\164\151\157\156\040\122\157\157\164
+\060\137\061\013\060\011\006\003\125\004\006\023\002\107\102\061
+\030\060\026\006\003\125\004\012\023\017\123\145\143\164\151\147
+\157\040\114\151\155\151\164\145\144\061\066\060\064\006\003\125
+\004\003\023\055\123\145\143\164\151\147\157\040\120\165\142\154
+\151\143\040\123\145\162\166\145\162\040\101\165\164\150\145\156
+\164\151\143\141\164\151\157\156\040\122\157\157\164\040\122\064
+\066
 END
 CKA_ID UTF8 "0"
 CKA_ISSUER MULTILINE_OCTAL
-\060\107\061\013\060\011\006\003\125\004\006\023\002\103\116\061
-\021\060\017\006\003\125\004\012\014\010\125\156\151\124\162\165
-\163\164\061\045\060\043\006\003\125\004\003\014\034\125\103\101
-\040\105\170\164\145\156\144\145\144\040\126\141\154\151\144\141
-\164\151\157\156\040\122\157\157\164
+\060\137\061\013\060\011\006\003\125\004\006\023\002\107\102\061
+\030\060\026\006\003\125\004\012\023\017\123\145\143\164\151\147
+\157\040\114\151\155\151\164\145\144\061\066\060\064\006\003\125
+\004\003\023\055\123\145\143\164\151\147\157\040\120\165\142\154
+\151\143\040\123\145\162\166\145\162\040\101\165\164\150\145\156
+\164\151\143\141\164\151\157\156\040\122\157\157\164\040\122\064
+\066
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\020\117\322\053\217\365\144\310\063\236\117\064\130\146\043
-\160\140
+\002\020\165\215\375\213\256\174\007\000\372\251\045\247\341\307
+\255\024
 END
 CKA_VALUE MULTILINE_OCTAL
-\060\202\005\132\060\202\003\102\240\003\002\001\002\002\020\117
-\322\053\217\365\144\310\063\236\117\064\130\146\043\160\140\060
-\015\006\011\052\206\110\206\367\015\001\001\013\005\000\060\107
-\061\013\060\011\006\003\125\004\006\023\002\103\116\061\021\060
-\017\006\003\125\004\012\014\010\125\156\151\124\162\165\163\164
-\061\045\060\043\006\003\125\004\003\014\034\125\103\101\040\105
-\170\164\145\156\144\145\144\040\126\141\154\151\144\141\164\151
-\157\156\040\122\157\157\164\060\036\027\015\061\065\060\063\061
-\063\060\060\060\060\060\060\132\027\015\063\070\061\062\063\061
-\060\060\060\060\060\060\132\060\107\061\013\060\011\006\003\125
-\004\006\023\002\103\116\061\021\060\017\006\003\125\004\012\014
-\010\125\156\151\124\162\165\163\164\061\045\060\043\006\003\125
-\004\003\014\034\125\103\101\040\105\170\164\145\156\144\145\144
-\040\126\141\154\151\144\141\164\151\157\156\040\122\157\157\164
+\060\202\005\212\060\202\003\162\240\003\002\001\002\002\020\165
+\215\375\213\256\174\007\000\372\251\045\247\341\307\255\024\060
+\015\006\011\052\206\110\206\367\015\001\001\014\005\000\060\137
+\061\013\060\011\006\003\125\004\006\023\002\107\102\061\030\060
+\026\006\003\125\004\012\023\017\123\145\143\164\151\147\157\040
+\114\151\155\151\164\145\144\061\066\060\064\006\003\125\004\003
+\023\055\123\145\143\164\151\147\157\040\120\165\142\154\151\143
+\040\123\145\162\166\145\162\040\101\165\164\150\145\156\164\151
+\143\141\164\151\157\156\040\122\157\157\164\040\122\064\066\060
+\036\027\015\062\061\060\063\062\062\060\060\060\060\060\060\132
+\027\015\064\066\060\063\062\061\062\063\065\071\065\071\132\060
+\137\061\013\060\011\006\003\125\004\006\023\002\107\102\061\030
+\060\026\006\003\125\004\012\023\017\123\145\143\164\151\147\157
+\040\114\151\155\151\164\145\144\061\066\060\064\006\003\125\004
+\003\023\055\123\145\143\164\151\147\157\040\120\165\142\154\151
+\143\040\123\145\162\166\145\162\040\101\165\164\150\145\156\164
+\151\143\141\164\151\157\156\040\122\157\157\164\040\122\064\066
 \060\202\002\042\060\015\006\011\052\206\110\206\367\015\001\001
 \001\005\000\003\202\002\017\000\060\202\002\012\002\202\002\001
-\000\251\011\007\050\023\002\260\231\340\144\252\036\103\026\172
-\163\261\221\240\165\076\250\372\343\070\000\172\354\211\152\040
-\017\213\305\260\233\063\003\132\206\306\130\206\325\301\205\273
-\117\306\234\100\115\312\276\356\151\226\270\255\201\060\232\174
-\222\005\353\005\053\232\110\320\270\166\076\226\310\040\273\322
-\260\361\217\330\254\105\106\377\252\147\140\264\167\176\152\037
-\074\032\122\172\004\075\007\074\205\015\204\320\037\166\012\367
-\152\024\337\162\343\064\174\127\116\126\001\076\171\361\252\051
-\073\154\372\370\217\155\115\310\065\337\256\353\334\044\356\171
-\105\247\205\266\005\210\336\210\135\045\174\227\144\147\011\331
-\277\132\025\005\206\363\011\036\354\130\062\063\021\363\167\144
-\260\166\037\344\020\065\027\033\362\016\261\154\244\052\243\163
-\374\011\037\036\062\031\123\021\347\331\263\054\056\166\056\241
-\243\336\176\152\210\011\350\362\007\212\370\262\315\020\347\342
-\163\100\223\273\010\321\077\341\374\013\224\263\045\357\174\246
-\327\321\257\237\377\226\232\365\221\173\230\013\167\324\176\350
-\007\322\142\265\225\071\343\363\361\155\017\016\145\204\212\143
-\124\305\200\266\340\236\113\175\107\046\247\001\010\135\321\210
-\236\327\303\062\104\372\202\112\012\150\124\177\070\123\003\314
-\244\000\063\144\121\131\013\243\202\221\172\136\354\026\302\363
-\052\346\142\332\052\333\131\142\020\045\112\052\201\013\107\007
-\103\006\160\207\322\372\223\021\051\172\110\115\353\224\307\160
-\115\257\147\325\121\261\200\040\001\001\264\172\010\246\220\177
-\116\340\357\007\101\207\257\152\245\136\213\373\317\120\262\232
-\124\257\303\211\272\130\055\365\060\230\261\066\162\071\176\111
-\004\375\051\247\114\171\344\005\127\333\224\271\026\123\215\106
-\263\035\225\141\127\126\177\257\360\026\133\141\130\157\066\120
-\021\013\330\254\053\225\026\032\016\037\010\315\066\064\145\020
-\142\146\325\200\137\024\040\137\055\014\240\170\012\150\326\054
-\327\351\157\053\322\112\005\223\374\236\157\153\147\377\210\361
-\116\245\151\112\122\067\005\352\306\026\215\322\304\231\321\202
-\053\073\272\065\165\367\121\121\130\363\310\007\335\344\264\003
-\177\002\003\001\000\001\243\102\060\100\060\035\006\003\125\035
-\016\004\026\004\024\331\164\072\344\060\075\015\367\022\334\176
-\132\005\237\036\064\232\367\341\024\060\017\006\003\125\035\023
-\001\001\377\004\005\060\003\001\001\377\060\016\006\003\125\035
-\017\001\001\377\004\004\003\002\001\206\060\015\006\011\052\206
-\110\206\367\015\001\001\013\005\000\003\202\002\001\000\066\215
-\227\314\102\025\144\051\067\233\046\054\326\373\256\025\151\054
-\153\032\032\367\137\266\371\007\114\131\352\363\311\310\271\256
-\314\272\056\172\334\300\365\260\055\300\073\257\237\160\005\021
-\152\237\045\117\001\051\160\343\345\014\341\352\132\174\334\111
-\273\301\036\052\201\365\026\113\162\221\310\242\061\271\252\332
-\374\235\037\363\135\100\002\023\374\116\034\006\312\263\024\220
-\124\027\031\022\032\361\037\327\014\151\132\366\161\170\364\224
-\175\221\013\216\354\220\124\216\274\157\241\114\253\374\164\144
-\375\161\232\370\101\007\241\315\221\344\074\232\340\233\062\071
-\163\253\052\325\151\310\170\221\046\061\175\342\307\060\361\374
-\024\170\167\022\016\023\364\335\026\224\277\113\147\173\160\123
-\205\312\260\273\363\070\115\054\220\071\300\015\302\135\153\351
-\342\345\325\210\215\326\054\277\253\033\276\265\050\207\022\027
-\164\156\374\175\374\217\320\207\046\260\033\373\271\154\253\342
-\236\075\025\301\073\056\147\002\130\221\237\357\370\102\037\054
-\267\150\365\165\255\317\265\366\377\021\175\302\360\044\245\255
-\323\372\240\074\251\372\135\334\245\240\357\104\244\276\326\350
-\345\344\023\226\027\173\006\076\062\355\307\267\102\274\166\243
-\330\145\070\053\070\065\121\041\016\016\157\056\064\023\100\341
-\053\147\014\155\112\101\060\030\043\132\062\125\231\311\027\340
-\074\336\366\354\171\255\053\130\031\242\255\054\042\032\225\216
-\276\226\220\135\102\127\304\371\024\003\065\053\034\055\121\127
-\010\247\072\336\077\344\310\264\003\163\302\301\046\200\273\013
-\102\037\255\015\257\046\162\332\314\276\263\243\203\130\015\202
-\305\037\106\121\343\234\030\314\215\233\215\354\111\353\165\120
-\325\214\050\131\312\164\064\332\214\013\041\253\036\352\033\345
-\307\375\025\076\300\027\252\373\043\156\046\106\313\372\371\261
-\162\153\151\317\042\204\013\142\017\254\331\031\000\224\242\166
-\074\324\055\232\355\004\236\055\006\142\020\067\122\034\205\162
-\033\047\345\314\306\061\354\067\354\143\131\233\013\035\166\314
-\176\062\232\210\225\010\066\122\273\336\166\137\166\111\111\255
-\177\275\145\040\262\311\301\053\166\030\166\237\126\261
+\000\223\276\325\066\122\165\330\001\043\240\034\107\102\111\356
+\143\266\267\041\375\304\225\325\110\053\046\174\024\123\020\332
+\171\375\053\267\055\244\324\054\372\352\062\335\111\302\271\275
+\017\110\075\173\132\230\124\257\236\135\061\164\117\007\374\120
+\041\335\244\317\150\117\033\022\143\155\045\231\114\052\231\363
+\110\060\141\372\201\174\036\247\010\112\334\076\053\034\037\030
+\114\161\252\065\214\255\370\156\350\073\112\331\345\224\002\326
+\211\204\023\252\155\310\117\063\314\120\226\067\222\063\334\137
+\210\347\237\124\331\110\360\230\103\326\146\375\237\027\070\103
+\305\001\121\013\327\343\043\017\024\135\133\024\347\113\276\335
+\364\310\332\003\067\321\326\071\241\041\121\060\203\260\155\327
+\060\116\226\133\221\360\160\044\253\277\105\201\144\103\015\275
+\041\072\057\074\351\236\015\313\040\265\102\047\314\332\157\233
+\356\144\060\220\071\315\223\145\201\041\061\265\043\120\063\067
+\042\343\070\355\370\061\060\314\105\376\142\371\321\135\062\171
+\102\207\337\152\314\126\031\100\115\316\252\273\371\265\166\111
+\224\361\047\370\221\245\203\345\006\263\143\016\200\334\340\022
+\125\200\246\073\146\264\071\207\055\310\360\320\321\024\351\344
+\015\115\016\366\135\127\162\305\073\034\107\126\235\342\325\373
+\201\141\214\314\115\200\220\064\133\267\327\024\165\334\330\004
+\110\237\300\301\050\210\264\351\034\312\247\261\361\126\267\173
+\111\114\131\345\040\025\250\204\002\051\372\070\224\151\232\111
+\006\217\315\037\171\024\027\022\014\203\172\336\037\261\227\356
+\371\227\170\050\244\310\104\222\351\175\046\005\246\130\162\233
+\171\023\330\021\137\256\305\070\142\064\150\262\206\060\216\370
+\220\141\236\062\154\365\007\066\315\242\114\156\354\212\066\355
+\362\346\231\025\104\160\303\174\274\234\071\300\264\341\153\367
+\203\045\043\127\331\022\200\345\111\360\165\017\357\215\353\034
+\233\124\050\264\041\074\374\174\012\377\357\173\153\165\377\213
+\035\240\031\005\253\372\370\053\201\102\350\070\272\273\373\252
+\375\075\340\363\312\337\116\227\227\051\355\363\030\126\351\245
+\226\254\275\303\220\230\262\340\371\242\324\246\107\103\174\155
+\317\002\003\001\000\001\243\102\060\100\060\035\006\003\125\035
+\016\004\026\004\024\126\163\130\144\225\371\222\032\260\022\052
+\004\142\171\241\100\025\210\041\111\060\016\006\003\125\035\017
+\001\001\377\004\004\003\002\001\206\060\017\006\003\125\035\023
+\001\001\377\004\005\060\003\001\001\377\060\015\006\011\052\206
+\110\206\367\015\001\001\014\005\000\003\202\002\001\000\057\134
+\231\074\374\006\136\214\224\056\160\352\322\062\061\215\264\360
+\121\325\274\012\363\144\237\007\136\325\301\163\150\144\172\242
+\271\016\350\371\135\205\055\250\067\105\252\050\364\226\005\120
+\140\251\111\176\237\342\231\066\051\023\104\107\152\235\125\040
+\074\330\233\361\003\062\272\332\100\241\163\352\203\241\267\104
+\246\016\231\001\233\344\274\177\276\023\224\176\312\246\036\166
+\200\066\075\204\006\213\063\046\145\155\312\176\236\376\037\214
+\130\070\173\032\203\261\017\274\027\021\273\346\006\314\143\372
+\201\362\201\114\332\013\020\153\241\372\325\050\245\317\006\100
+\026\377\173\175\030\136\071\022\244\123\236\176\062\102\020\246
+\041\221\251\034\116\027\174\204\274\237\214\321\350\337\346\121
+\271\066\107\077\220\271\307\274\002\334\133\034\117\016\110\301
+\045\203\234\012\077\236\261\003\063\022\032\047\254\367\042\154
+\044\321\001\101\370\130\003\376\045\150\042\037\232\132\074\174
+\154\236\165\110\363\201\361\146\147\156\114\202\300\356\272\127
+\016\030\357\056\232\367\022\330\240\153\351\005\245\241\351\150
+\370\274\114\077\022\036\105\350\122\300\243\277\022\047\171\271
+\314\061\074\303\366\072\042\026\003\240\311\217\146\244\133\242
+\115\326\201\045\006\351\166\244\000\012\076\313\315\065\233\340
+\341\070\313\140\123\206\050\102\101\034\104\127\350\250\255\253
+\105\343\045\020\274\333\076\145\101\373\033\246\227\017\353\271
+\164\171\371\036\274\035\127\015\107\257\303\057\237\207\106\247
+\353\046\132\017\126\143\265\142\140\156\000\373\343\047\021\042
+\347\376\231\217\064\365\271\350\303\221\162\275\330\303\036\271
+\056\362\221\104\121\320\127\315\014\064\325\110\041\277\333\023
+\361\146\045\103\122\322\160\042\066\315\237\304\034\165\040\255
+\143\162\143\006\017\016\047\316\322\152\015\274\265\071\032\351
+\321\166\172\321\134\344\347\111\111\055\125\067\150\360\032\072
+\230\076\124\027\207\124\351\246\047\120\211\173\040\057\077\377
+\277\241\213\112\107\230\377\053\173\111\076\303\051\106\140\030
+\102\253\063\051\272\300\051\271\023\211\323\210\212\071\101\073
+\311\375\246\355\037\364\140\143\337\322\055\125\001\213
+END
+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
+
+# Trust for "Sectigo Public Server Authentication Root R46"
+# Issuer: CN=Sectigo Public Server Authentication Root R46,O=Sectigo Limited,C=GB
+# Serial Number:75:8d:fd:8b:ae:7c:07:00:fa:a9:25:a7:e1:c7:ad:14
+# Subject: CN=Sectigo Public Server Authentication Root R46,O=Sectigo Limited,C=GB
+# Not Valid Before: Mon Mar 22 00:00:00 2021
+# Not Valid After : Wed Mar 21 23:59:59 2046
+# Fingerprint (SHA-256): 7B:B6:47:A6:2A:EE:AC:88:BF:25:7A:A5:22:D0:1F:FE:A3:95:E0:AB:45:C7:3F:93:F6:56:54:EC:38:F2:5A:06
+# Fingerprint (SHA1): AD:98:F9:F3:E4:7D:75:3B:65:D4:82:B3:A4:52:17:BB:6E:F5:E4:38
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "Sectigo Public Server Authentication Root R46"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\255\230\371\363\344\175\165\073\145\324\202\263\244\122\027\273
+\156\365\344\070
 END
-CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\062\020\011\122\000\325\176\154\103\337\025\300\261\026\223\345
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\137\061\013\060\011\006\003\125\004\006\023\002\107\102\061
+\030\060\026\006\003\125\004\012\023\017\123\145\143\164\151\147
+\157\040\114\151\155\151\164\145\144\061\066\060\064\006\003\125
+\004\003\023\055\123\145\143\164\151\147\157\040\120\165\142\154
+\151\143\040\123\145\162\166\145\162\040\101\165\164\150\145\156
+\164\151\143\141\164\151\157\156\040\122\157\157\164\040\122\064
+\066
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\020\165\215\375\213\256\174\007\000\372\251\045\247\341\307
+\255\024
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
 
-# Trust for "UCA Extended Validation Root"
-# Issuer: CN=UCA Extended Validation Root,O=UniTrust,C=CN
-# Serial Number:4f:d2:2b:8f:f5:64:c8:33:9e:4f:34:58:66:23:70:60
-# Subject: CN=UCA Extended Validation Root,O=UniTrust,C=CN
-# Not Valid Before: Fri Mar 13 00:00:00 2015
-# Not Valid After : Fri Dec 31 00:00:00 2038
-# Fingerprint (SHA-256): D4:3A:F9:B3:54:73:75:5C:96:84:FC:06:D7:D8:CB:70:EE:5C:28:E7:73:FB:29:4E:B4:1E:E7:17:22:92:4D:24
-# Fingerprint (SHA1): A3:A1:B0:6F:24:61:23:4A:E3:36:A5:C2:37:FC:A6:FF:DD:F0:D7:3A
+#
+# Certificate "SSL.com TLS RSA Root CA 2022"
+#
+# Issuer: CN=SSL.com TLS RSA Root CA 2022,O=SSL Corporation,C=US
+# Serial Number:6f:be:da:ad:73:bd:08:40:e2:8b:4d:be:d4:f7:5b:91
+# Subject: CN=SSL.com TLS RSA Root CA 2022,O=SSL Corporation,C=US
+# Not Valid Before: Thu Aug 25 16:34:22 2022
+# Not Valid After : Sun Aug 19 16:34:21 2046
+# Fingerprint (SHA-256): 8F:AF:7D:2E:2C:B4:70:9B:B8:E0:B3:36:66:BF:75:A5:DD:45:B5:DE:48:0F:8E:A8:D4:BF:E6:BE:BC:17:F2:ED
+# Fingerprint (SHA1): EC:2C:83:40:72:AF:26:95:10:FF:0E:F2:03:EE:31:70:F6:78:9D:CA
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "SSL.com TLS RSA Root CA 2022"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\116\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\030\060\026\006\003\125\004\012\014\017\123\123\114\040\103\157
+\162\160\157\162\141\164\151\157\156\061\045\060\043\006\003\125
+\004\003\014\034\123\123\114\056\143\157\155\040\124\114\123\040
+\122\123\101\040\122\157\157\164\040\103\101\040\062\060\062\062
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\116\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\030\060\026\006\003\125\004\012\014\017\123\123\114\040\103\157
+\162\160\157\162\141\164\151\157\156\061\045\060\043\006\003\125
+\004\003\014\034\123\123\114\056\143\157\155\040\124\114\123\040
+\122\123\101\040\122\157\157\164\040\103\101\040\062\060\062\062
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\020\157\276\332\255\163\275\010\100\342\213\115\276\324\367
+\133\221
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\005\211\060\202\003\161\240\003\002\001\002\002\020\157
+\276\332\255\163\275\010\100\342\213\115\276\324\367\133\221\060
+\015\006\011\052\206\110\206\367\015\001\001\013\005\000\060\116
+\061\013\060\011\006\003\125\004\006\023\002\125\123\061\030\060
+\026\006\003\125\004\012\014\017\123\123\114\040\103\157\162\160
+\157\162\141\164\151\157\156\061\045\060\043\006\003\125\004\003
+\014\034\123\123\114\056\143\157\155\040\124\114\123\040\122\123
+\101\040\122\157\157\164\040\103\101\040\062\060\062\062\060\036
+\027\015\062\062\060\070\062\065\061\066\063\064\062\062\132\027
+\015\064\066\060\070\061\071\061\066\063\064\062\061\132\060\116
+\061\013\060\011\006\003\125\004\006\023\002\125\123\061\030\060
+\026\006\003\125\004\012\014\017\123\123\114\040\103\157\162\160
+\157\162\141\164\151\157\156\061\045\060\043\006\003\125\004\003
+\014\034\123\123\114\056\143\157\155\040\124\114\123\040\122\123
+\101\040\122\157\157\164\040\103\101\040\062\060\062\062\060\202
+\002\042\060\015\006\011\052\206\110\206\367\015\001\001\001\005
+\000\003\202\002\017\000\060\202\002\012\002\202\002\001\000\320
+\244\011\162\117\100\210\022\141\076\065\043\236\356\366\164\317
+\057\173\130\075\316\074\015\020\050\220\057\227\367\214\110\330
+\240\330\045\261\114\260\021\114\027\163\120\320\042\112\143\273
+\201\323\051\156\325\265\011\076\046\030\177\262\022\177\223\230
+\267\257\360\066\277\362\356\030\236\234\073\122\305\107\031\135
+\164\363\144\146\325\135\307\150\264\277\033\034\006\243\274\217
+\100\043\266\036\306\204\275\121\304\033\071\301\225\322\051\354
+\113\256\173\055\277\071\375\264\142\336\226\173\101\306\234\240
+\340\006\162\373\360\007\227\011\071\201\164\257\367\064\131\021
+\127\012\302\133\301\044\364\061\163\060\202\306\235\272\002\367
+\076\174\104\137\203\015\363\361\335\040\151\026\011\120\342\324
+\125\266\340\200\162\166\156\114\107\267\165\125\131\264\123\164
+\331\224\306\101\255\130\212\061\146\017\036\242\033\051\100\116
+\057\337\173\346\026\054\055\374\277\354\363\264\372\276\030\366
+\233\111\324\356\005\156\331\064\363\234\361\354\001\213\321\040
+\306\017\240\265\274\027\116\110\173\121\302\374\351\134\151\067
+\107\146\263\150\370\025\050\360\271\323\244\025\314\132\117\272
+\122\160\243\022\105\335\306\272\116\373\302\320\367\250\122\047
+\155\156\171\265\214\374\173\214\301\026\114\356\200\177\276\360
+\166\276\101\123\022\063\256\132\070\102\253\327\017\076\101\215
+\166\007\062\325\253\211\366\116\147\331\261\102\165\043\156\363
+\315\102\262\374\125\365\123\207\027\073\300\063\130\361\122\322
+\371\200\244\360\350\360\073\213\070\314\244\306\220\177\017\234
+\375\213\321\243\317\332\203\247\151\311\120\066\325\134\005\322
+\012\101\164\333\143\021\067\301\245\240\226\113\036\214\026\022
+\167\256\224\064\173\036\177\302\146\000\344\252\203\352\212\220
+\255\316\066\104\115\321\121\351\274\037\363\152\005\375\300\164
+\037\045\031\100\121\156\352\202\121\100\337\233\271\010\052\006
+\002\325\043\034\023\326\351\333\333\306\260\172\313\173\047\233
+\373\340\325\106\044\355\020\113\143\113\245\005\217\272\270\035
+\053\246\372\221\342\222\122\275\354\353\147\227\155\232\055\237
+\201\062\005\147\062\373\110\010\077\331\045\270\004\045\057\002
+\003\001\000\001\243\143\060\141\060\017\006\003\125\035\023\001
+\001\377\004\005\060\003\001\001\377\060\037\006\003\125\035\043
+\004\030\060\026\200\024\373\056\067\356\343\204\172\047\056\315
+\031\065\261\063\174\377\324\104\102\271\060\035\006\003\125\035
+\016\004\026\004\024\373\056\067\356\343\204\172\047\056\315\031
+\065\261\063\174\377\324\104\102\271\060\016\006\003\125\035\017
+\001\001\377\004\004\003\002\001\206\060\015\006\011\052\206\110
+\206\367\015\001\001\013\005\000\003\202\002\001\000\215\211\155
+\204\105\030\361\117\263\240\357\150\244\300\035\254\060\274\147
+\146\260\232\315\266\253\042\031\146\323\073\101\265\020\235\020
+\272\162\156\051\044\040\034\001\231\142\323\226\340\342\373\014
+\102\327\341\132\304\226\115\124\315\217\312\103\123\375\052\270
+\352\370\145\312\001\302\255\140\150\006\237\071\032\121\331\340
+\215\046\371\013\116\245\123\045\172\043\244\034\316\010\033\337
+\107\210\262\255\076\340\047\207\213\111\214\037\251\107\130\173
+\226\362\210\035\030\256\263\321\246\012\224\372\333\323\345\070
+\012\153\171\022\063\373\112\131\067\026\100\016\273\336\365\211
+\014\361\154\323\367\121\153\136\065\365\333\300\046\352\022\163
+\116\251\221\220\246\027\303\154\057\070\324\243\162\224\103\054
+\142\341\116\134\062\075\275\114\175\031\107\242\303\111\347\226
+\077\217\232\323\073\344\021\330\213\003\334\366\266\140\125\030
+\246\201\121\363\341\250\025\152\353\340\013\360\024\061\326\271
+\214\105\072\250\020\330\360\271\047\353\367\313\172\357\005\162
+\226\265\304\217\226\163\304\350\126\163\234\274\151\121\143\274
+\357\147\034\103\032\137\167\031\037\030\370\034\045\051\371\111
+\231\051\266\222\075\242\203\067\261\040\221\250\233\060\351\152
+\154\264\043\223\145\004\253\021\363\016\035\123\044\111\123\035
+\241\077\235\110\222\021\342\175\015\117\365\327\275\242\130\076
+\170\235\036\037\053\376\041\273\032\023\266\261\050\144\375\260
+\002\000\307\154\200\242\275\026\120\040\017\162\201\137\314\224
+\377\273\231\346\272\220\313\352\371\306\014\302\256\305\031\316
+\063\241\153\134\273\176\174\064\127\027\255\360\077\256\315\352
+\257\231\354\054\124\176\214\316\056\022\126\110\357\027\073\077
+\112\136\140\322\334\164\066\274\245\103\143\313\017\133\243\002
+\126\011\236\044\054\341\206\201\214\376\253\027\054\372\310\342
+\062\032\072\377\205\010\311\203\237\362\112\110\020\124\167\067
+\355\242\274\100\276\344\020\164\367\344\133\273\271\363\211\371
+\217\101\330\307\344\120\220\065\200\076\034\270\115\220\323\324
+\367\303\260\241\176\204\312\167\222\061\054\270\220\261\202\172
+\164\116\233\023\046\264\325\120\146\124\170\256\140
+END
+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
+
+# Trust for "SSL.com TLS RSA Root CA 2022"
+# Issuer: CN=SSL.com TLS RSA Root CA 2022,O=SSL Corporation,C=US
+# Serial Number:6f:be:da:ad:73:bd:08:40:e2:8b:4d:be:d4:f7:5b:91
+# Subject: CN=SSL.com TLS RSA Root CA 2022,O=SSL Corporation,C=US
+# Not Valid Before: Thu Aug 25 16:34:22 2022
+# Not Valid After : Sun Aug 19 16:34:21 2046
+# Fingerprint (SHA-256): 8F:AF:7D:2E:2C:B4:70:9B:B8:E0:B3:36:66:BF:75:A5:DD:45:B5:DE:48:0F:8E:A8:D4:BF:E6:BE:BC:17:F2:ED
+# Fingerprint (SHA1): EC:2C:83:40:72:AF:26:95:10:FF:0E:F2:03:EE:31:70:F6:78:9D:CA
 CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "UCA Extended Validation Root"
+CKA_LABEL UTF8 "SSL.com TLS RSA Root CA 2022"
 CKA_CERT_SHA1_HASH MULTILINE_OCTAL
-\243\241\260\157\044\141\043\112\343\066\245\302\067\374\246\377
-\335\360\327\072
+\354\054\203\100\162\257\046\225\020\377\016\362\003\356\061\160
+\366\170\235\312
 END
 CKA_CERT_MD5_HASH MULTILINE_OCTAL
-\241\363\137\103\306\064\233\332\277\214\176\005\123\255\226\342
+\330\116\306\131\060\330\376\240\326\172\132\054\054\151\170\332
 END
 CKA_ISSUER MULTILINE_OCTAL
-\060\107\061\013\060\011\006\003\125\004\006\023\002\103\116\061
-\021\060\017\006\003\125\004\012\014\010\125\156\151\124\162\165
-\163\164\061\045\060\043\006\003\125\004\003\014\034\125\103\101
-\040\105\170\164\145\156\144\145\144\040\126\141\154\151\144\141
-\164\151\157\156\040\122\157\157\164
+\060\116\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\030\060\026\006\003\125\004\012\014\017\123\123\114\040\103\157
+\162\160\157\162\141\164\151\157\156\061\045\060\043\006\003\125
+\004\003\014\034\123\123\114\056\143\157\155\040\124\114\123\040
+\122\123\101\040\122\157\157\164\040\103\101\040\062\060\062\062
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\020\117\322\053\217\365\144\310\063\236\117\064\130\146\043
-\160\140
+\002\020\157\276\332\255\163\275\010\100\342\213\115\276\324\367
+\133\221
 END
 CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
 CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
@@ -22975,854 +24617,949 @@ CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
 CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
 
 #
-# Certificate "Certigna Root CA"
+# Certificate "SSL.com TLS ECC Root CA 2022"
 #
-# Issuer: CN=Certigna Root CA,OU=0002 48146308100036,O=Dhimyotis,C=FR
-# Serial Number:00:ca:e9:1b:89:f1:55:03:0d:a3:e6:41:6d:c4:e3:a6:e1
-# Subject: CN=Certigna Root CA,OU=0002 48146308100036,O=Dhimyotis,C=FR
-# Not Valid Before: Tue Oct 01 08:32:27 2013
-# Not Valid After : Sat Oct 01 08:32:27 2033
-# Fingerprint (SHA-256): D4:8D:3D:23:EE:DB:50:A4:59:E5:51:97:60:1C:27:77:4B:9D:7B:18:C9:4D:5A:05:95:11:A1:02:50:B9:31:68
-# Fingerprint (SHA1): 2D:0D:52:14:FF:9E:AD:99:24:01:74:20:47:6E:6C:85:27:27:F5:43
+# Issuer: CN=SSL.com TLS ECC Root CA 2022,O=SSL Corporation,C=US
+# Serial Number:14:03:f5:ab:fb:37:8b:17:40:5b:e2:43:b2:a5:d1:c4
+# Subject: CN=SSL.com TLS ECC Root CA 2022,O=SSL Corporation,C=US
+# Not Valid Before: Thu Aug 25 16:33:48 2022
+# Not Valid After : Sun Aug 19 16:33:47 2046
+# Fingerprint (SHA-256): C3:2F:FD:9F:46:F9:36:D1:6C:36:73:99:09:59:43:4B:9A:D6:0A:AF:BB:9E:7C:F3:36:54:F1:44:CC:1B:A1:43
+# Fingerprint (SHA1): 9F:5F:D9:1A:54:6D:F5:0C:71:F0:EE:7A:BD:17:49:98:84:73:E2:39
 CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "Certigna Root CA"
+CKA_LABEL UTF8 "SSL.com TLS ECC Root CA 2022"
 CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
 CKA_SUBJECT MULTILINE_OCTAL
-\060\132\061\013\060\011\006\003\125\004\006\023\002\106\122\061
-\022\060\020\006\003\125\004\012\014\011\104\150\151\155\171\157
-\164\151\163\061\034\060\032\006\003\125\004\013\014\023\060\060
-\060\062\040\064\070\061\064\066\063\060\070\061\060\060\060\063
-\066\061\031\060\027\006\003\125\004\003\014\020\103\145\162\164
-\151\147\156\141\040\122\157\157\164\040\103\101
+\060\116\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\030\060\026\006\003\125\004\012\014\017\123\123\114\040\103\157
+\162\160\157\162\141\164\151\157\156\061\045\060\043\006\003\125
+\004\003\014\034\123\123\114\056\143\157\155\040\124\114\123\040
+\105\103\103\040\122\157\157\164\040\103\101\040\062\060\062\062
 END
 CKA_ID UTF8 "0"
 CKA_ISSUER MULTILINE_OCTAL
-\060\132\061\013\060\011\006\003\125\004\006\023\002\106\122\061
-\022\060\020\006\003\125\004\012\014\011\104\150\151\155\171\157
-\164\151\163\061\034\060\032\006\003\125\004\013\014\023\060\060
-\060\062\040\064\070\061\064\066\063\060\070\061\060\060\060\063
-\066\061\031\060\027\006\003\125\004\003\014\020\103\145\162\164
-\151\147\156\141\040\122\157\157\164\040\103\101
+\060\116\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\030\060\026\006\003\125\004\012\014\017\123\123\114\040\103\157
+\162\160\157\162\141\164\151\157\156\061\045\060\043\006\003\125
+\004\003\014\034\123\123\114\056\143\157\155\040\124\114\123\040
+\105\103\103\040\122\157\157\164\040\103\101\040\062\060\062\062
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\021\000\312\351\033\211\361\125\003\015\243\346\101\155\304
-\343\246\341
+\002\020\024\003\365\253\373\067\213\027\100\133\342\103\262\245
+\321\304
 END
 CKA_VALUE MULTILINE_OCTAL
-\060\202\006\133\060\202\004\103\240\003\002\001\002\002\021\000
-\312\351\033\211\361\125\003\015\243\346\101\155\304\343\246\341
-\060\015\006\011\052\206\110\206\367\015\001\001\013\005\000\060
-\132\061\013\060\011\006\003\125\004\006\023\002\106\122\061\022
-\060\020\006\003\125\004\012\014\011\104\150\151\155\171\157\164
-\151\163\061\034\060\032\006\003\125\004\013\014\023\060\060\060
-\062\040\064\070\061\064\066\063\060\070\061\060\060\060\063\066
-\061\031\060\027\006\003\125\004\003\014\020\103\145\162\164\151
-\147\156\141\040\122\157\157\164\040\103\101\060\036\027\015\061
-\063\061\060\060\061\060\070\063\062\062\067\132\027\015\063\063
-\061\060\060\061\060\070\063\062\062\067\132\060\132\061\013\060
-\011\006\003\125\004\006\023\002\106\122\061\022\060\020\006\003
-\125\004\012\014\011\104\150\151\155\171\157\164\151\163\061\034
-\060\032\006\003\125\004\013\014\023\060\060\060\062\040\064\070
-\061\064\066\063\060\070\061\060\060\060\063\066\061\031\060\027
-\006\003\125\004\003\014\020\103\145\162\164\151\147\156\141\040
-\122\157\157\164\040\103\101\060\202\002\042\060\015\006\011\052
-\206\110\206\367\015\001\001\001\005\000\003\202\002\017\000\060
-\202\002\012\002\202\002\001\000\315\030\071\145\032\131\261\352
-\144\026\016\214\224\044\225\174\203\323\305\071\046\334\014\357
-\026\127\215\327\330\254\243\102\177\202\312\355\315\133\333\016
-\267\055\355\105\010\027\262\331\263\313\326\027\122\162\050\333
-\216\116\236\212\266\013\371\236\204\232\115\166\336\042\051\134
-\322\263\322\006\076\060\071\251\164\243\222\126\034\241\157\114
-\012\040\155\237\043\172\264\306\332\054\344\035\054\334\263\050
-\320\023\362\114\116\002\111\241\124\100\236\346\345\005\240\055
-\204\310\377\230\154\320\353\212\032\204\010\036\267\150\043\356
-\043\325\160\316\155\121\151\020\356\241\172\302\321\042\061\302
-\202\205\322\362\125\166\120\174\045\172\311\204\134\013\254\335
-\102\116\053\347\202\242\044\211\313\220\262\320\356\043\272\146
-\114\273\142\244\371\123\132\144\173\174\230\372\243\110\236\017
-\225\256\247\030\364\152\354\056\003\105\257\360\164\370\052\315
-\172\135\321\276\104\046\062\051\361\361\365\154\314\176\002\041
-\013\237\157\244\077\276\235\123\342\317\175\251\054\174\130\032
-\227\341\075\067\067\030\146\050\322\100\305\121\212\214\303\055
-\316\123\210\044\130\144\060\026\305\252\340\326\012\246\100\337
-\170\366\365\004\174\151\023\204\274\321\321\247\006\317\001\367
-\150\300\250\127\273\072\141\255\004\214\223\343\255\374\360\333
-\104\155\131\334\111\131\256\254\232\231\066\060\101\173\166\063
-\042\207\243\302\222\206\156\371\160\356\256\207\207\225\033\304
-\172\275\061\363\324\322\345\231\377\276\110\354\165\365\170\026
-\035\246\160\301\177\074\033\241\222\373\317\310\074\326\305\223
-\012\217\365\125\072\166\225\316\131\230\212\011\225\167\062\232
-\203\272\054\004\072\227\275\324\057\276\327\154\233\242\312\175
-\155\046\311\125\325\317\303\171\122\010\011\231\007\044\055\144
-\045\153\246\041\151\233\152\335\164\115\153\227\172\101\275\253
-\027\371\220\027\110\217\066\371\055\325\305\333\356\252\205\105
-\101\372\315\072\105\261\150\346\066\114\233\220\127\354\043\271
-\207\010\302\304\011\361\227\206\052\050\115\342\164\300\332\304
-\214\333\337\342\241\027\131\316\044\131\164\061\332\177\375\060
-\155\331\334\341\152\341\374\137\002\003\001\000\001\243\202\001
-\032\060\202\001\026\060\017\006\003\125\035\023\001\001\377\004
-\005\060\003\001\001\377\060\016\006\003\125\035\017\001\001\377
-\004\004\003\002\001\006\060\035\006\003\125\035\016\004\026\004
-\024\030\207\126\340\156\167\356\044\065\074\116\163\232\037\326
-\341\342\171\176\053\060\037\006\003\125\035\043\004\030\060\026
-\200\024\030\207\126\340\156\167\356\044\065\074\116\163\232\037
-\326\341\342\171\176\053\060\104\006\003\125\035\040\004\075\060
-\073\060\071\006\004\125\035\040\000\060\061\060\057\006\010\053
-\006\001\005\005\007\002\001\026\043\150\164\164\160\163\072\057
-\057\167\167\167\167\056\143\145\162\164\151\147\156\141\056\146
-\162\057\141\165\164\157\162\151\164\145\163\057\060\155\006\003
-\125\035\037\004\146\060\144\060\057\240\055\240\053\206\051\150
-\164\164\160\072\057\057\143\162\154\056\143\145\162\164\151\147
-\156\141\056\146\162\057\143\145\162\164\151\147\156\141\162\157
-\157\164\143\141\056\143\162\154\060\061\240\057\240\055\206\053
-\150\164\164\160\072\057\057\143\162\154\056\144\150\151\155\171
-\157\164\151\163\056\143\157\155\057\143\145\162\164\151\147\156
-\141\162\157\157\164\143\141\056\143\162\154\060\015\006\011\052
-\206\110\206\367\015\001\001\013\005\000\003\202\002\001\000\224
-\270\236\117\360\343\225\010\042\347\315\150\101\367\034\125\325
-\174\000\342\055\072\211\135\150\070\057\121\042\013\112\215\313
-\351\273\135\076\273\134\075\261\050\376\344\123\125\023\317\241
-\220\033\002\035\137\146\106\011\063\050\341\015\044\227\160\323
-\020\037\352\144\127\226\273\135\332\347\304\214\117\114\144\106
-\035\134\207\343\131\336\102\321\233\250\176\246\211\335\217\034
-\311\060\202\355\073\234\315\300\351\031\340\152\330\002\165\067
-\253\367\064\050\050\221\362\004\012\117\065\343\140\046\001\372
-\320\021\214\371\021\152\356\257\075\303\120\323\217\137\063\171
-\074\206\250\163\105\220\214\040\266\162\163\027\043\276\007\145
-\345\170\222\015\272\001\300\353\214\034\146\277\254\206\167\001
-\224\015\234\346\351\071\215\037\246\121\214\231\014\071\167\341
-\264\233\372\034\147\127\157\152\152\216\251\053\114\127\171\172
-\127\042\317\315\137\143\106\215\134\131\072\206\370\062\107\142
-\243\147\015\030\221\334\373\246\153\365\110\141\163\043\131\216
-\002\247\274\104\352\364\111\235\361\124\130\371\140\257\332\030
-\244\057\050\105\334\172\240\210\206\135\363\073\347\377\051\065
-\200\374\144\103\224\346\343\034\157\276\255\016\052\143\231\053
-\311\176\205\366\161\350\006\003\225\376\336\217\110\034\132\324
-\222\350\053\356\347\061\333\272\004\152\207\230\347\305\137\357
-\175\247\042\367\001\330\115\371\211\320\016\232\005\131\244\236
-\230\331\157\053\312\160\276\144\302\125\243\364\351\257\303\222
-\051\334\210\026\044\231\074\215\046\230\266\133\267\314\316\267
-\067\007\375\046\331\230\205\044\377\131\043\003\232\355\235\235
-\250\344\136\070\316\327\122\015\157\322\077\155\261\005\153\111
-\316\212\221\106\163\364\366\057\360\250\163\167\016\145\254\241
-\215\146\122\151\176\113\150\014\307\036\067\047\203\245\214\307
-\002\344\024\315\111\001\260\163\263\375\306\220\072\157\322\154
-\355\073\356\354\221\276\242\103\135\213\000\112\146\045\104\160
-\336\100\017\370\174\025\367\242\316\074\327\136\023\214\201\027
-\030\027\321\275\361\167\020\072\324\145\071\301\047\254\127\054
-\045\124\377\242\332\117\212\141\071\136\256\075\112\214\275
+\060\202\002\072\060\202\001\300\240\003\002\001\002\002\020\024
+\003\365\253\373\067\213\027\100\133\342\103\262\245\321\304\060
+\012\006\010\052\206\110\316\075\004\003\003\060\116\061\013\060
+\011\006\003\125\004\006\023\002\125\123\061\030\060\026\006\003
+\125\004\012\014\017\123\123\114\040\103\157\162\160\157\162\141
+\164\151\157\156\061\045\060\043\006\003\125\004\003\014\034\123
+\123\114\056\143\157\155\040\124\114\123\040\105\103\103\040\122
+\157\157\164\040\103\101\040\062\060\062\062\060\036\027\015\062
+\062\060\070\062\065\061\066\063\063\064\070\132\027\015\064\066
+\060\070\061\071\061\066\063\063\064\067\132\060\116\061\013\060
+\011\006\003\125\004\006\023\002\125\123\061\030\060\026\006\003
+\125\004\012\014\017\123\123\114\040\103\157\162\160\157\162\141
+\164\151\157\156\061\045\060\043\006\003\125\004\003\014\034\123
+\123\114\056\143\157\155\040\124\114\123\040\105\103\103\040\122
+\157\157\164\040\103\101\040\062\060\062\062\060\166\060\020\006
+\007\052\206\110\316\075\002\001\006\005\053\201\004\000\042\003
+\142\000\004\105\051\065\163\372\302\270\043\316\024\175\250\261
+\115\240\133\066\356\052\054\123\303\140\011\065\262\044\146\046
+\151\300\263\225\326\135\222\100\031\016\306\245\023\160\364\357
+\022\121\050\135\347\314\275\371\074\205\301\317\224\220\311\053
+\316\222\102\130\131\147\375\224\047\020\144\214\117\004\261\115
+\111\344\173\117\233\365\347\010\370\003\210\367\247\303\222\113
+\031\124\201\243\143\060\141\060\017\006\003\125\035\023\001\001
+\377\004\005\060\003\001\001\377\060\037\006\003\125\035\043\004
+\030\060\026\200\024\211\217\057\243\350\053\240\024\124\173\363
+\126\270\046\137\147\070\013\234\320\060\035\006\003\125\035\016
+\004\026\004\024\211\217\057\243\350\053\240\024\124\173\363\126
+\270\046\137\147\070\013\234\320\060\016\006\003\125\035\017\001
+\001\377\004\004\003\002\001\206\060\012\006\010\052\206\110\316
+\075\004\003\003\003\150\000\060\145\002\060\125\343\042\126\351
+\327\222\044\130\117\036\224\062\017\014\002\066\302\375\254\164
+\062\116\341\373\034\200\210\243\314\373\327\353\053\377\067\175
+\360\355\327\236\165\152\065\166\122\105\340\002\061\000\307\215
+\157\102\040\217\276\266\115\131\355\167\115\051\304\040\040\105
+\144\206\072\120\306\304\255\055\223\365\030\175\162\355\251\317
+\304\254\127\066\050\010\145\337\074\171\146\176\240\352
 END
 CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
-# Trust for "Certigna Root CA"
-# Issuer: CN=Certigna Root CA,OU=0002 48146308100036,O=Dhimyotis,C=FR
-# Serial Number:00:ca:e9:1b:89:f1:55:03:0d:a3:e6:41:6d:c4:e3:a6:e1
-# Subject: CN=Certigna Root CA,OU=0002 48146308100036,O=Dhimyotis,C=FR
-# Not Valid Before: Tue Oct 01 08:32:27 2013
-# Not Valid After : Sat Oct 01 08:32:27 2033
-# Fingerprint (SHA-256): D4:8D:3D:23:EE:DB:50:A4:59:E5:51:97:60:1C:27:77:4B:9D:7B:18:C9:4D:5A:05:95:11:A1:02:50:B9:31:68
-# Fingerprint (SHA1): 2D:0D:52:14:FF:9E:AD:99:24:01:74:20:47:6E:6C:85:27:27:F5:43
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
+
+# Trust for "SSL.com TLS ECC Root CA 2022"
+# Issuer: CN=SSL.com TLS ECC Root CA 2022,O=SSL Corporation,C=US
+# Serial Number:14:03:f5:ab:fb:37:8b:17:40:5b:e2:43:b2:a5:d1:c4
+# Subject: CN=SSL.com TLS ECC Root CA 2022,O=SSL Corporation,C=US
+# Not Valid Before: Thu Aug 25 16:33:48 2022
+# Not Valid After : Sun Aug 19 16:33:47 2046
+# Fingerprint (SHA-256): C3:2F:FD:9F:46:F9:36:D1:6C:36:73:99:09:59:43:4B:9A:D6:0A:AF:BB:9E:7C:F3:36:54:F1:44:CC:1B:A1:43
+# Fingerprint (SHA1): 9F:5F:D9:1A:54:6D:F5:0C:71:F0:EE:7A:BD:17:49:98:84:73:E2:39
 CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "Certigna Root CA"
+CKA_LABEL UTF8 "SSL.com TLS ECC Root CA 2022"
 CKA_CERT_SHA1_HASH MULTILINE_OCTAL
-\055\015\122\024\377\236\255\231\044\001\164\040\107\156\154\205
-\047\047\365\103
+\237\137\331\032\124\155\365\014\161\360\356\172\275\027\111\230
+\204\163\342\071
 END
 CKA_CERT_MD5_HASH MULTILINE_OCTAL
-\016\134\060\142\047\353\133\274\327\256\142\272\351\325\337\167
+\231\327\134\361\121\066\314\351\316\331\031\056\167\161\126\305
 END
 CKA_ISSUER MULTILINE_OCTAL
-\060\132\061\013\060\011\006\003\125\004\006\023\002\106\122\061
-\022\060\020\006\003\125\004\012\014\011\104\150\151\155\171\157
-\164\151\163\061\034\060\032\006\003\125\004\013\014\023\060\060
-\060\062\040\064\070\061\064\066\063\060\070\061\060\060\060\063
-\066\061\031\060\027\006\003\125\004\003\014\020\103\145\162\164
-\151\147\156\141\040\122\157\157\164\040\103\101
+\060\116\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\030\060\026\006\003\125\004\012\014\017\123\123\114\040\103\157
+\162\160\157\162\141\164\151\157\156\061\045\060\043\006\003\125
+\004\003\014\034\123\123\114\056\143\157\155\040\124\114\123\040
+\105\103\103\040\122\157\157\164\040\103\101\040\062\060\062\062
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\021\000\312\351\033\211\361\125\003\015\243\346\101\155\304
-\343\246\341
+\002\020\024\003\365\253\373\067\213\027\100\133\342\103\262\245
+\321\304
 END
 CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
-CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
 CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
 CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
 
 #
-# Certificate "emSign Root CA - G1"
+# Certificate "SSL.com Client ECC Root CA 2022"
 #
-# Issuer: CN=emSign Root CA - G1,O=eMudhra Technologies Limited,OU=emSign PKI,C=IN
-# Serial Number:31:f5:e4:62:0c:6c:58:ed:d6:d8
-# Subject: CN=emSign Root CA - G1,O=eMudhra Technologies Limited,OU=emSign PKI,C=IN
-# Not Valid Before: Sun Feb 18 18:30:00 2018
-# Not Valid After : Wed Feb 18 18:30:00 2043
-# Fingerprint (SHA-256): 40:F6:AF:03:46:A9:9A:A1:CD:1D:55:5A:4E:9C:CE:62:C7:F9:63:46:03:EE:40:66:15:83:3D:C8:C8:D0:03:67
-# Fingerprint (SHA1): 8A:C7:AD:8F:73:AC:4E:C1:B5:75:4D:A5:40:F4:FC:CF:7C:B5:8E:8C
+# Issuer: CN=SSL.com Client ECC Root CA 2022,O=SSL Corporation,C=US
+# Serial Number:76:f8:48:1e:ae:f0:3c:70:1f:e0:3f:25:54:01:83:d5
+# Subject: CN=SSL.com Client ECC Root CA 2022,O=SSL Corporation,C=US
+# Not Valid Before: Thu Aug 25 16:30:32 2022
+# Not Valid After : Sun Aug 19 16:30:31 2046
+# Fingerprint (SHA-256): AD:7D:D5:8D:03:AE:DB:22:A3:0B:50:84:39:49:20:CE:12:23:0C:2D:80:17:AD:9B:81:AB:04:07:9B:DD:02:6B
+# Fingerprint (SHA1): 80:7B:1D:9D:65:72:3D:C7:56:F9:EC:C5:00:83:49:F6:F2:AC:F4:86
 CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "emSign Root CA - G1"
+CKA_LABEL UTF8 "SSL.com Client ECC Root CA 2022"
 CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
 CKA_SUBJECT MULTILINE_OCTAL
-\060\147\061\013\060\011\006\003\125\004\006\023\002\111\116\061
-\023\060\021\006\003\125\004\013\023\012\145\155\123\151\147\156
-\040\120\113\111\061\045\060\043\006\003\125\004\012\023\034\145
-\115\165\144\150\162\141\040\124\145\143\150\156\157\154\157\147
-\151\145\163\040\114\151\155\151\164\145\144\061\034\060\032\006
-\003\125\004\003\023\023\145\155\123\151\147\156\040\122\157\157
-\164\040\103\101\040\055\040\107\061
+\060\121\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\030\060\026\006\003\125\004\012\014\017\123\123\114\040\103\157
+\162\160\157\162\141\164\151\157\156\061\050\060\046\006\003\125
+\004\003\014\037\123\123\114\056\143\157\155\040\103\154\151\145
+\156\164\040\105\103\103\040\122\157\157\164\040\103\101\040\062
+\060\062\062
 END
 CKA_ID UTF8 "0"
 CKA_ISSUER MULTILINE_OCTAL
-\060\147\061\013\060\011\006\003\125\004\006\023\002\111\116\061
-\023\060\021\006\003\125\004\013\023\012\145\155\123\151\147\156
-\040\120\113\111\061\045\060\043\006\003\125\004\012\023\034\145
-\115\165\144\150\162\141\040\124\145\143\150\156\157\154\157\147
-\151\145\163\040\114\151\155\151\164\145\144\061\034\060\032\006
-\003\125\004\003\023\023\145\155\123\151\147\156\040\122\157\157
-\164\040\103\101\040\055\040\107\061
+\060\121\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\030\060\026\006\003\125\004\012\014\017\123\123\114\040\103\157
+\162\160\157\162\141\164\151\157\156\061\050\060\046\006\003\125
+\004\003\014\037\123\123\114\056\143\157\155\040\103\154\151\145
+\156\164\040\105\103\103\040\122\157\157\164\040\103\101\040\062
+\060\062\062
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\020\166\370\110\036\256\360\074\160\037\340\077\045\124\001
+\203\325
+END
+CKA_VALUE MULTILINE_OCTAL
+\060\202\002\100\060\202\001\306\240\003\002\001\002\002\020\166
+\370\110\036\256\360\074\160\037\340\077\045\124\001\203\325\060
+\012\006\010\052\206\110\316\075\004\003\003\060\121\061\013\060
+\011\006\003\125\004\006\023\002\125\123\061\030\060\026\006\003
+\125\004\012\014\017\123\123\114\040\103\157\162\160\157\162\141
+\164\151\157\156\061\050\060\046\006\003\125\004\003\014\037\123
+\123\114\056\143\157\155\040\103\154\151\145\156\164\040\105\103
+\103\040\122\157\157\164\040\103\101\040\062\060\062\062\060\036
+\027\015\062\062\060\070\062\065\061\066\063\060\063\062\132\027
+\015\064\066\060\070\061\071\061\066\063\060\063\061\132\060\121
+\061\013\060\011\006\003\125\004\006\023\002\125\123\061\030\060
+\026\006\003\125\004\012\014\017\123\123\114\040\103\157\162\160
+\157\162\141\164\151\157\156\061\050\060\046\006\003\125\004\003
+\014\037\123\123\114\056\143\157\155\040\103\154\151\145\156\164
+\040\105\103\103\040\122\157\157\164\040\103\101\040\062\060\062
+\062\060\166\060\020\006\007\052\206\110\316\075\002\001\006\005
+\053\201\004\000\042\003\142\000\004\055\123\176\237\213\076\263
+\066\272\120\342\314\353\334\272\046\212\323\214\006\077\147\017
+\357\365\027\345\324\256\232\106\052\101\001\007\151\347\147\161
+\361\302\003\066\306\360\053\122\216\317\024\222\150\244\076\160
+\121\022\151\215\170\242\202\312\051\024\300\344\224\042\262\104
+\222\140\157\310\004\244\147\325\242\320\363\320\327\352\216\074
+\017\272\322\100\107\220\064\356\175\243\143\060\141\060\017\006
+\003\125\035\023\001\001\377\004\005\060\003\001\001\377\060\037
+\006\003\125\035\043\004\030\060\026\200\024\267\376\055\142\305
+\201\123\315\122\032\057\135\140\240\303\135\373\262\034\034\060
+\035\006\003\125\035\016\004\026\004\024\267\376\055\142\305\201
+\123\315\122\032\057\135\140\240\303\135\373\262\034\034\060\016
+\006\003\125\035\017\001\001\377\004\004\003\002\001\206\060\012
+\006\010\052\206\110\316\075\004\003\003\003\150\000\060\145\002
+\060\115\007\021\055\021\373\271\046\303\041\335\162\341\027\374
+\301\317\024\352\111\316\161\207\216\326\123\334\021\315\135\124
+\212\257\331\055\364\214\121\352\274\146\107\342\177\225\203\140
+\145\002\061\000\214\041\114\117\273\345\260\120\337\220\142\111
+\346\314\221\333\370\077\135\161\221\010\216\117\222\311\177\246
+\134\352\023\176\355\155\304\350\303\052\157\134\021\341\245\363
+\152\132\232\115
+END
+CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
+
+# Trust for "SSL.com Client ECC Root CA 2022"
+# Issuer: CN=SSL.com Client ECC Root CA 2022,O=SSL Corporation,C=US
+# Serial Number:76:f8:48:1e:ae:f0:3c:70:1f:e0:3f:25:54:01:83:d5
+# Subject: CN=SSL.com Client ECC Root CA 2022,O=SSL Corporation,C=US
+# Not Valid Before: Thu Aug 25 16:30:32 2022
+# Not Valid After : Sun Aug 19 16:30:31 2046
+# Fingerprint (SHA-256): AD:7D:D5:8D:03:AE:DB:22:A3:0B:50:84:39:49:20:CE:12:23:0C:2D:80:17:AD:9B:81:AB:04:07:9B:DD:02:6B
+# Fingerprint (SHA1): 80:7B:1D:9D:65:72:3D:C7:56:F9:EC:C5:00:83:49:F6:F2:AC:F4:86
+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "SSL.com Client ECC Root CA 2022"
+CKA_CERT_SHA1_HASH MULTILINE_OCTAL
+\200\173\035\235\145\162\075\307\126\371\354\305\000\203\111\366
+\362\254\364\206
+END
+CKA_CERT_MD5_HASH MULTILINE_OCTAL
+\063\271\151\231\022\166\125\274\337\257\101\334\042\213\167\200
+END
+CKA_ISSUER MULTILINE_OCTAL
+\060\121\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\030\060\026\006\003\125\004\012\014\017\123\123\114\040\103\157
+\162\160\157\162\141\164\151\157\156\061\050\060\046\006\003\125
+\004\003\014\037\123\123\114\056\143\157\155\040\103\154\151\145
+\156\164\040\105\103\103\040\122\157\157\164\040\103\101\040\062
+\060\062\062
+END
+CKA_SERIAL_NUMBER MULTILINE_OCTAL
+\002\020\166\370\110\036\256\360\074\160\037\340\077\045\124\001
+\203\325
+END
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+#
+# Certificate "SSL.com Client RSA Root CA 2022"
+#
+# Issuer: CN=SSL.com Client RSA Root CA 2022,O=SSL Corporation,C=US
+# Serial Number:76:af:ee:88:93:15:45:b6:50:53:9b:80:9c:a4:df:9a
+# Subject: CN=SSL.com Client RSA Root CA 2022,O=SSL Corporation,C=US
+# Not Valid Before: Thu Aug 25 16:31:07 2022
+# Not Valid After : Sun Aug 19 16:31:06 2046
+# Fingerprint (SHA-256): 1D:4C:A4:A2:AB:21:D0:09:36:59:80:4F:C0:EB:21:75:A6:17:27:9B:56:A2:47:52:45:C9:51:7A:FE:B5:91:53
+# Fingerprint (SHA1): AA:59:70:E5:20:32:9F:CB:D0:D5:79:9F:FB:1B:82:1D:FD:1F:79:65
+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
+CKA_TOKEN CK_BBOOL CK_TRUE
+CKA_PRIVATE CK_BBOOL CK_FALSE
+CKA_MODIFIABLE CK_BBOOL CK_FALSE
+CKA_LABEL UTF8 "SSL.com Client RSA Root CA 2022"
+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
+CKA_SUBJECT MULTILINE_OCTAL
+\060\121\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\030\060\026\006\003\125\004\012\014\017\123\123\114\040\103\157
+\162\160\157\162\141\164\151\157\156\061\050\060\046\006\003\125
+\004\003\014\037\123\123\114\056\143\157\155\040\103\154\151\145
+\156\164\040\122\123\101\040\122\157\157\164\040\103\101\040\062
+\060\062\062
+END
+CKA_ID UTF8 "0"
+CKA_ISSUER MULTILINE_OCTAL
+\060\121\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\030\060\026\006\003\125\004\012\014\017\123\123\114\040\103\157
+\162\160\157\162\141\164\151\157\156\061\050\060\046\006\003\125
+\004\003\014\037\123\123\114\056\143\157\155\040\103\154\151\145
+\156\164\040\122\123\101\040\122\157\157\164\040\103\101\040\062
+\060\062\062
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\012\061\365\344\142\014\154\130\355\326\330
+\002\020\166\257\356\210\223\025\105\266\120\123\233\200\234\244
+\337\232
 END
 CKA_VALUE MULTILINE_OCTAL
-\060\202\003\224\060\202\002\174\240\003\002\001\002\002\012\061
-\365\344\142\014\154\130\355\326\330\060\015\006\011\052\206\110
-\206\367\015\001\001\013\005\000\060\147\061\013\060\011\006\003
-\125\004\006\023\002\111\116\061\023\060\021\006\003\125\004\013
-\023\012\145\155\123\151\147\156\040\120\113\111\061\045\060\043
-\006\003\125\004\012\023\034\145\115\165\144\150\162\141\040\124
-\145\143\150\156\157\154\157\147\151\145\163\040\114\151\155\151
-\164\145\144\061\034\060\032\006\003\125\004\003\023\023\145\155
-\123\151\147\156\040\122\157\157\164\040\103\101\040\055\040\107
-\061\060\036\027\015\061\070\060\062\061\070\061\070\063\060\060
-\060\132\027\015\064\063\060\062\061\070\061\070\063\060\060\060
-\132\060\147\061\013\060\011\006\003\125\004\006\023\002\111\116
-\061\023\060\021\006\003\125\004\013\023\012\145\155\123\151\147
-\156\040\120\113\111\061\045\060\043\006\003\125\004\012\023\034
-\145\115\165\144\150\162\141\040\124\145\143\150\156\157\154\157
-\147\151\145\163\040\114\151\155\151\164\145\144\061\034\060\032
-\006\003\125\004\003\023\023\145\155\123\151\147\156\040\122\157
-\157\164\040\103\101\040\055\040\107\061\060\202\001\042\060\015
-\006\011\052\206\110\206\367\015\001\001\001\005\000\003\202\001
-\017\000\060\202\001\012\002\202\001\001\000\223\113\273\351\146
-\212\356\235\133\325\064\223\320\033\036\303\347\236\270\144\063
-\177\143\170\150\264\315\056\161\165\327\233\040\306\115\051\274
-\266\150\140\212\367\041\232\126\065\132\363\166\275\330\315\232
-\377\223\126\113\245\131\006\241\223\064\051\335\026\064\165\116
-\362\201\264\307\226\116\255\031\025\122\112\376\074\160\165\160
-\315\257\053\253\025\232\063\074\252\263\213\252\315\103\375\365
-\352\160\377\355\317\021\073\224\316\116\062\026\323\043\100\052
-\167\263\257\074\001\054\154\355\231\054\213\331\116\151\230\262
-\367\217\101\260\062\170\141\326\015\137\303\372\242\100\222\035
-\134\027\346\160\076\065\347\242\267\302\142\342\253\244\070\114
-\265\071\065\157\352\003\151\372\072\124\150\205\155\326\362\057
-\103\125\036\221\015\016\330\325\152\244\226\321\023\074\054\170
-\120\350\072\222\322\027\126\345\065\032\100\034\076\215\054\355
-\071\337\102\340\203\101\164\337\243\315\302\206\140\110\150\343
-\151\013\124\000\213\344\166\151\041\015\171\116\064\010\136\024
-\302\314\261\267\255\327\174\160\212\307\205\002\003\001\000\001
-\243\102\060\100\060\035\006\003\125\035\016\004\026\004\024\373
-\357\015\206\236\260\343\335\251\271\361\041\027\177\076\374\360
-\167\053\032\060\016\006\003\125\035\017\001\001\377\004\004\003
-\002\001\006\060\017\006\003\125\035\023\001\001\377\004\005\060
-\003\001\001\377\060\015\006\011\052\206\110\206\367\015\001\001
-\013\005\000\003\202\001\001\000\131\377\362\214\365\207\175\161
-\075\243\237\033\133\321\332\370\323\234\153\066\275\233\251\141
-\353\336\026\054\164\075\236\346\165\332\327\272\247\274\102\027
-\347\075\221\353\345\175\335\076\234\361\317\222\254\154\110\314
-\302\042\077\151\073\305\266\025\057\243\065\306\150\052\034\127
-\257\071\357\215\320\065\303\030\014\173\000\126\034\315\213\031
-\164\336\276\017\022\340\320\252\241\077\002\064\261\160\316\235
-\030\326\010\003\011\106\356\140\340\176\266\304\111\004\121\175
-\160\140\274\252\262\377\171\162\172\246\035\075\137\052\370\312
-\342\375\071\267\107\271\353\176\337\004\043\257\372\234\006\007
-\351\373\143\223\200\100\265\306\154\012\061\050\316\014\237\317
-\263\043\065\200\101\215\154\304\067\173\201\057\200\241\100\102
-\205\351\331\070\215\350\241\123\315\001\277\151\350\132\006\362
-\105\013\220\372\256\341\277\235\362\256\127\074\245\256\262\126
-\364\213\145\100\351\375\061\201\054\364\071\011\330\356\153\247
-\264\246\035\025\245\230\367\001\201\330\205\175\363\121\134\161
-\210\336\272\314\037\200\176\112
+\060\202\005\217\060\202\003\167\240\003\002\001\002\002\020\166
+\257\356\210\223\025\105\266\120\123\233\200\234\244\337\232\060
+\015\006\011\052\206\110\206\367\015\001\001\013\005\000\060\121
+\061\013\060\011\006\003\125\004\006\023\002\125\123\061\030\060
+\026\006\003\125\004\012\014\017\123\123\114\040\103\157\162\160
+\157\162\141\164\151\157\156\061\050\060\046\006\003\125\004\003
+\014\037\123\123\114\056\143\157\155\040\103\154\151\145\156\164
+\040\122\123\101\040\122\157\157\164\040\103\101\040\062\060\062
+\062\060\036\027\015\062\062\060\070\062\065\061\066\063\061\060
+\067\132\027\015\064\066\060\070\061\071\061\066\063\061\060\066
+\132\060\121\061\013\060\011\006\003\125\004\006\023\002\125\123
+\061\030\060\026\006\003\125\004\012\014\017\123\123\114\040\103
+\157\162\160\157\162\141\164\151\157\156\061\050\060\046\006\003
+\125\004\003\014\037\123\123\114\056\143\157\155\040\103\154\151
+\145\156\164\040\122\123\101\040\122\157\157\164\040\103\101\040
+\062\060\062\062\060\202\002\042\060\015\006\011\052\206\110\206
+\367\015\001\001\001\005\000\003\202\002\017\000\060\202\002\012
+\002\202\002\001\000\270\130\333\106\060\373\311\077\343\310\360
+\001\063\064\342\332\110\250\030\351\040\156\232\327\001\341\325
+\051\217\060\264\043\152\344\313\142\260\276\342\237\040\275\076
+\124\240\071\150\307\206\067\146\164\006\006\357\164\053\332\334
+\237\204\251\122\057\220\322\356\176\174\373\245\042\255\157\160
+\106\147\226\075\051\324\243\273\126\173\024\004\131\301\041\143
+\104\036\262\037\022\134\220\207\145\015\210\366\036\210\042\342
+\143\124\273\363\066\370\326\177\334\332\377\051\065\251\306\156
+\016\151\133\077\330\276\202\207\025\160\135\260\307\134\022\017
+\143\246\070\315\317\163\271\303\016\211\046\067\033\077\142\034
+\062\151\321\233\331\377\125\220\061\336\261\143\335\317\305\164
+\167\374\357\210\041\123\277\000\061\032\046\054\000\060\245\137
+\154\343\344\366\000\212\312\230\207\234\164\003\172\213\146\354
+\176\375\243\217\065\045\134\170\245\263\244\373\075\155\251\212
+\360\154\210\202\213\375\112\320\157\344\327\243\264\216\064\111
+\070\276\316\105\345\322\034\312\136\302\067\024\213\315\146\126
+\063\067\235\345\153\354\103\222\144\240\102\332\165\157\300\025
+\354\371\151\275\064\271\212\173\372\026\373\125\376\122\040\350
+\004\004\126\126\145\365\067\104\230\310\212\106\351\267\254\270
+\350\276\142\216\124\066\133\367\073\160\277\135\356\055\272\137
+\336\102\031\206\360\177\213\353\010\313\330\276\352\016\102\102
+\240\066\163\127\027\355\062\352\320\215\350\007\033\233\231\350
+\304\232\142\004\016\110\367\074\022\272\367\130\301\232\214\351
+\307\260\043\066\126\064\035\313\154\332\272\007\204\035\375\321
+\254\237\346\302\211\357\303\271\154\030\263\151\207\127\137\265
+\014\070\133\247\041\044\052\073\247\064\221\236\264\124\352\050
+\117\323\301\243\213\344\346\053\325\362\235\277\233\141\000\042
+\335\326\113\104\037\077\135\126\376\336\234\170\314\231\133\252
+\344\275\272\333\103\113\255\114\046\114\243\115\064\212\154\164
+\066\023\333\142\374\233\262\005\201\377\256\077\014\315\366\033
+\242\364\071\347\312\365\114\134\373\124\167\065\200\132\300\022
+\241\023\001\063\147\075\235\201\241\251\365\205\044\130\210\170
+\347\364\343\150\125\002\003\001\000\001\243\143\060\141\060\017
+\006\003\125\035\023\001\001\377\004\005\060\003\001\001\377\060
+\037\006\003\125\035\043\004\030\060\026\200\024\360\070\102\224
+\064\251\074\000\177\122\356\071\245\367\113\015\274\152\175\043
+\060\035\006\003\125\035\016\004\026\004\024\360\070\102\224\064
+\251\074\000\177\122\356\071\245\367\113\015\274\152\175\043\060
+\016\006\003\125\035\017\001\001\377\004\004\003\002\001\206\060
+\015\006\011\052\206\110\206\367\015\001\001\013\005\000\003\202
+\002\001\000\231\117\333\360\352\326\021\372\052\375\310\253\155
+\344\016\163\142\322\102\237\025\376\174\160\122\077\144\207\202
+\061\077\105\100\056\341\042\237\006\146\051\374\226\323\055\215
+\266\070\307\331\363\047\301\131\051\240\214\366\163\044\017\050
+\042\327\116\141\335\023\335\333\237\062\122\223\373\117\314\352
+\070\074\230\152\003\253\026\257\041\321\102\256\175\105\053\352
+\304\317\212\131\237\202\160\166\072\370\142\046\311\020\227\130
+\100\044\244\055\271\057\051\200\047\341\211\153\162\312\111\010
+\161\067\123\005\361\200\316\323\102\002\322\374\302\321\224\006
+\356\007\342\366\203\342\177\237\347\273\126\303\133\277\335\225
+\223\011\036\044\301\317\046\315\255\244\256\302\264\151\347\252
+\265\355\067\224\351\335\321\143\205\153\232\172\112\126\166\334
+\031\205\050\324\344\306\244\330\270\226\101\167\320\264\131\361
+\106\005\207\207\002\037\151\271\202\030\320\103\331\046\332\032
+\147\250\326\165\166\352\362\155\016\102\377\210\046\242\156\204
+\376\176\142\033\360\306\075\355\300\034\152\307\221\326\270\000
+\067\111\233\271\204\005\241\315\156\061\326\104\352\123\213\272
+\123\230\035\241\220\212\351\205\370\033\362\223\130\303\310\334
+\232\046\117\076\040\317\117\103\363\020\214\177\020\141\172\066
+\312\252\013\175\314\237\107\104\131\256\245\225\306\231\123\343
+\007\153\075\111\020\260\030\377\135\016\205\103\024\113\347\153
+\323\112\265\262\140\141\334\151\111\002\043\135\350\222\161\303
+\234\237\105\147\171\036\334\062\206\272\252\125\074\144\157\062
+\265\020\100\025\336\162\100\170\340\156\160\273\156\353\011\350
+\071\331\254\272\222\165\335\103\312\272\001\225\255\032\201\053
+\072\360\343\305\057\014\030\115\020\306\256\300\355\376\005\122
+\177\031\005\313\251\257\065\010\014\070\042\344\376\126\345\123
+\076\277\344\326\263\331\010\303\075\325\063\062\201\044\305\251
+\341\145\021\270\062\063\060\161\030\111\035\032\105\306\232\024
+\212\130\071\050\156\363\313\121\271\111\046\144\170\003\307\221
+\021\203\251\271\220\064\266\157\252\005\236\205\050\127\231\276
+\177\047\006\111\142\115\241\374\011\341\053\106\011\114\024\233
+\126\217\105
 END
 CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
-# Trust for "emSign Root CA - G1"
-# Issuer: CN=emSign Root CA - G1,O=eMudhra Technologies Limited,OU=emSign PKI,C=IN
-# Serial Number:31:f5:e4:62:0c:6c:58:ed:d6:d8
-# Subject: CN=emSign Root CA - G1,O=eMudhra Technologies Limited,OU=emSign PKI,C=IN
-# Not Valid Before: Sun Feb 18 18:30:00 2018
-# Not Valid After : Wed Feb 18 18:30:00 2043
-# Fingerprint (SHA-256): 40:F6:AF:03:46:A9:9A:A1:CD:1D:55:5A:4E:9C:CE:62:C7:F9:63:46:03:EE:40:66:15:83:3D:C8:C8:D0:03:67
-# Fingerprint (SHA1): 8A:C7:AD:8F:73:AC:4E:C1:B5:75:4D:A5:40:F4:FC:CF:7C:B5:8E:8C
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
+
+# Trust for "SSL.com Client RSA Root CA 2022"
+# Issuer: CN=SSL.com Client RSA Root CA 2022,O=SSL Corporation,C=US
+# Serial Number:76:af:ee:88:93:15:45:b6:50:53:9b:80:9c:a4:df:9a
+# Subject: CN=SSL.com Client RSA Root CA 2022,O=SSL Corporation,C=US
+# Not Valid Before: Thu Aug 25 16:31:07 2022
+# Not Valid After : Sun Aug 19 16:31:06 2046
+# Fingerprint (SHA-256): 1D:4C:A4:A2:AB:21:D0:09:36:59:80:4F:C0:EB:21:75:A6:17:27:9B:56:A2:47:52:45:C9:51:7A:FE:B5:91:53
+# Fingerprint (SHA1): AA:59:70:E5:20:32:9F:CB:D0:D5:79:9F:FB:1B:82:1D:FD:1F:79:65
 CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "emSign Root CA - G1"
+CKA_LABEL UTF8 "SSL.com Client RSA Root CA 2022"
 CKA_CERT_SHA1_HASH MULTILINE_OCTAL
-\212\307\255\217\163\254\116\301\265\165\115\245\100\364\374\317
-\174\265\216\214
+\252\131\160\345\040\062\237\313\320\325\171\237\373\033\202\035
+\375\037\171\145
 END
 CKA_CERT_MD5_HASH MULTILINE_OCTAL
-\234\102\204\127\335\313\013\247\056\225\255\266\363\332\274\254
+\011\215\322\312\256\154\024\276\276\014\224\157\067\027\040\316
 END
 CKA_ISSUER MULTILINE_OCTAL
-\060\147\061\013\060\011\006\003\125\004\006\023\002\111\116\061
-\023\060\021\006\003\125\004\013\023\012\145\155\123\151\147\156
-\040\120\113\111\061\045\060\043\006\003\125\004\012\023\034\145
-\115\165\144\150\162\141\040\124\145\143\150\156\157\154\157\147
-\151\145\163\040\114\151\155\151\164\145\144\061\034\060\032\006
-\003\125\004\003\023\023\145\155\123\151\147\156\040\122\157\157
-\164\040\103\101\040\055\040\107\061
+\060\121\061\013\060\011\006\003\125\004\006\023\002\125\123\061
+\030\060\026\006\003\125\004\012\014\017\123\123\114\040\103\157
+\162\160\157\162\141\164\151\157\156\061\050\060\046\006\003\125
+\004\003\014\037\123\123\114\056\143\157\155\040\103\154\151\145
+\156\164\040\122\123\101\040\122\157\157\164\040\103\101\040\062
+\060\062\062
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\012\061\365\344\142\014\154\130\355\326\330
+\002\020\166\257\356\210\223\025\105\266\120\123\233\200\234\244
+\337\232
 END
-CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
 CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
 CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
 CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
 
 #
-# Certificate "emSign ECC Root CA - G3"
+# Certificate "Atos TrustedRoot Root CA ECC G2 2020"
 #
-# Issuer: CN=emSign ECC Root CA - G3,O=eMudhra Technologies Limited,OU=emSign PKI,C=IN
-# Serial Number:3c:f6:07:a9:68:70:0e:da:8b:84
-# Subject: CN=emSign ECC Root CA - G3,O=eMudhra Technologies Limited,OU=emSign PKI,C=IN
-# Not Valid Before: Sun Feb 18 18:30:00 2018
-# Not Valid After : Wed Feb 18 18:30:00 2043
-# Fingerprint (SHA-256): 86:A1:EC:BA:08:9C:4A:8D:3B:BE:27:34:C6:12:BA:34:1D:81:3E:04:3C:F9:E8:A8:62:CD:5C:57:A3:6B:BE:6B
-# Fingerprint (SHA1): 30:43:FA:4F:F2:57:DC:A0:C3:80:EE:2E:58:EA:78:B2:3F:E6:BB:C1
+# Issuer: CN=Atos TrustedRoot Root CA ECC G2 2020,O=Atos,C=DE
+# Serial Number:0b:73:28:11:18:74:30:1c:ef:6f:08:84
+# Subject: CN=Atos TrustedRoot Root CA ECC G2 2020,O=Atos,C=DE
+# Not Valid Before: Tue Dec 15 08:39:10 2020
+# Not Valid After : Mon Dec 10 08:39:09 2040
+# Fingerprint (SHA-256): E3:86:55:F4:B0:19:0C:84:D3:B3:89:3D:84:0A:68:7E:19:0A:25:6D:98:05:2F:15:9E:6D:4A:39:F5:89:A6:EB
+# Fingerprint (SHA1): 61:25:56:DA:62:94:E5:AE:B3:3C:F8:11:BD:B1:DC:F8:A5:D8:B3:E4
 CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "emSign ECC Root CA - G3"
+CKA_LABEL UTF8 "Atos TrustedRoot Root CA ECC G2 2020"
 CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
 CKA_SUBJECT MULTILINE_OCTAL
-\060\153\061\013\060\011\006\003\125\004\006\023\002\111\116\061
-\023\060\021\006\003\125\004\013\023\012\145\155\123\151\147\156
-\040\120\113\111\061\045\060\043\006\003\125\004\012\023\034\145
-\115\165\144\150\162\141\040\124\145\143\150\156\157\154\157\147
-\151\145\163\040\114\151\155\151\164\145\144\061\040\060\036\006
-\003\125\004\003\023\027\145\155\123\151\147\156\040\105\103\103
-\040\122\157\157\164\040\103\101\040\055\040\107\063
+\060\113\061\013\060\011\006\003\125\004\006\023\002\104\105\061
+\015\060\013\006\003\125\004\012\014\004\101\164\157\163\061\055
+\060\053\006\003\125\004\003\014\044\101\164\157\163\040\124\162
+\165\163\164\145\144\122\157\157\164\040\122\157\157\164\040\103
+\101\040\105\103\103\040\107\062\040\062\060\062\060
 END
 CKA_ID UTF8 "0"
 CKA_ISSUER MULTILINE_OCTAL
-\060\153\061\013\060\011\006\003\125\004\006\023\002\111\116\061
-\023\060\021\006\003\125\004\013\023\012\145\155\123\151\147\156
-\040\120\113\111\061\045\060\043\006\003\125\004\012\023\034\145
-\115\165\144\150\162\141\040\124\145\143\150\156\157\154\157\147
-\151\145\163\040\114\151\155\151\164\145\144\061\040\060\036\006
-\003\125\004\003\023\027\145\155\123\151\147\156\040\105\103\103
-\040\122\157\157\164\040\103\101\040\055\040\107\063
+\060\113\061\013\060\011\006\003\125\004\006\023\002\104\105\061
+\015\060\013\006\003\125\004\012\014\004\101\164\157\163\061\055
+\060\053\006\003\125\004\003\014\044\101\164\157\163\040\124\162
+\165\163\164\145\144\122\157\157\164\040\122\157\157\164\040\103
+\101\040\105\103\103\040\107\062\040\062\060\062\060
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\012\074\366\007\251\150\160\016\332\213\204
+\002\014\013\163\050\021\030\164\060\034\357\157\010\204
 END
 CKA_VALUE MULTILINE_OCTAL
-\060\202\002\116\060\202\001\323\240\003\002\001\002\002\012\074
-\366\007\251\150\160\016\332\213\204\060\012\006\010\052\206\110
-\316\075\004\003\003\060\153\061\013\060\011\006\003\125\004\006
-\023\002\111\116\061\023\060\021\006\003\125\004\013\023\012\145
-\155\123\151\147\156\040\120\113\111\061\045\060\043\006\003\125
-\004\012\023\034\145\115\165\144\150\162\141\040\124\145\143\150
-\156\157\154\157\147\151\145\163\040\114\151\155\151\164\145\144
-\061\040\060\036\006\003\125\004\003\023\027\145\155\123\151\147
-\156\040\105\103\103\040\122\157\157\164\040\103\101\040\055\040
-\107\063\060\036\027\015\061\070\060\062\061\070\061\070\063\060
-\060\060\132\027\015\064\063\060\062\061\070\061\070\063\060\060
-\060\132\060\153\061\013\060\011\006\003\125\004\006\023\002\111
-\116\061\023\060\021\006\003\125\004\013\023\012\145\155\123\151
-\147\156\040\120\113\111\061\045\060\043\006\003\125\004\012\023
-\034\145\115\165\144\150\162\141\040\124\145\143\150\156\157\154
-\157\147\151\145\163\040\114\151\155\151\164\145\144\061\040\060
-\036\006\003\125\004\003\023\027\145\155\123\151\147\156\040\105
-\103\103\040\122\157\157\164\040\103\101\040\055\040\107\063\060
-\166\060\020\006\007\052\206\110\316\075\002\001\006\005\053\201
-\004\000\042\003\142\000\004\043\245\014\270\055\022\365\050\363
-\261\262\335\342\002\022\200\236\071\137\111\115\237\311\045\064
-\131\164\354\273\006\034\347\300\162\257\350\256\057\341\101\124
-\207\024\250\112\262\350\174\202\346\133\152\265\334\263\165\316
-\213\006\320\206\043\277\106\325\216\017\077\004\364\327\034\222
-\176\366\245\143\302\365\137\216\056\117\241\030\031\002\053\062
-\012\202\144\175\026\223\321\243\102\060\100\060\035\006\003\125
-\035\016\004\026\004\024\174\135\002\204\023\324\314\212\233\201
-\316\027\034\056\051\036\234\110\143\102\060\016\006\003\125\035
-\017\001\001\377\004\004\003\002\001\006\060\017\006\003\125\035
-\023\001\001\377\004\005\060\003\001\001\377\060\012\006\010\052
-\206\110\316\075\004\003\003\003\151\000\060\146\002\061\000\276
-\363\141\317\002\020\035\144\225\007\270\030\156\210\205\005\057
-\203\010\027\220\312\037\212\114\350\015\033\172\261\255\325\201
-\011\107\357\073\254\010\004\174\134\231\261\355\107\007\322\002
-\061\000\235\272\125\374\251\112\350\355\355\346\166\001\102\173
-\310\370\140\331\215\121\213\125\073\373\214\173\353\145\011\303
-\370\226\315\107\250\202\362\026\125\167\044\176\022\020\225\004
-\054\243
+\060\202\002\061\060\202\001\266\240\003\002\001\002\002\014\013
+\163\050\021\030\164\060\034\357\157\010\204\060\012\006\010\052
+\206\110\316\075\004\003\003\060\113\061\013\060\011\006\003\125
+\004\006\023\002\104\105\061\015\060\013\006\003\125\004\012\014
+\004\101\164\157\163\061\055\060\053\006\003\125\004\003\014\044
+\101\164\157\163\040\124\162\165\163\164\145\144\122\157\157\164
+\040\122\157\157\164\040\103\101\040\105\103\103\040\107\062\040
+\062\060\062\060\060\036\027\015\062\060\061\062\061\065\060\070
+\063\071\061\060\132\027\015\064\060\061\062\061\060\060\070\063
+\071\060\071\132\060\113\061\013\060\011\006\003\125\004\006\023
+\002\104\105\061\015\060\013\006\003\125\004\012\014\004\101\164
+\157\163\061\055\060\053\006\003\125\004\003\014\044\101\164\157
+\163\040\124\162\165\163\164\145\144\122\157\157\164\040\122\157
+\157\164\040\103\101\040\105\103\103\040\107\062\040\062\060\062
+\060\060\166\060\020\006\007\052\206\110\316\075\002\001\006\005
+\053\201\004\000\042\003\142\000\004\310\134\200\312\116\302\050
+\037\127\277\070\346\141\043\374\320\251\133\226\026\026\303\014
+\136\025\245\220\011\377\070\050\264\172\036\012\326\123\052\301
+\273\220\100\164\067\351\201\350\215\057\150\001\065\174\122\056
+\330\364\130\263\021\034\133\331\207\030\223\221\055\354\235\332
+\154\236\155\204\110\374\302\211\005\353\230\023\002\001\154\123
+\036\016\111\143\130\107\261\257\302\243\143\060\141\060\017\006
+\003\125\035\023\001\001\377\004\005\060\003\001\001\377\060\037
+\006\003\125\035\043\004\030\060\026\200\024\133\037\304\161\154
+\262\033\237\276\134\037\214\375\263\266\373\263\016\011\207\060
+\035\006\003\125\035\016\004\026\004\024\133\037\304\161\154\262
+\033\237\276\134\037\214\375\263\266\373\263\016\011\207\060\016
+\006\003\125\035\017\001\001\377\004\004\003\002\001\206\060\012
+\006\010\052\206\110\316\075\004\003\003\003\151\000\060\146\002
+\061\000\354\340\231\375\335\344\124\301\313\037\350\076\050\327
+\025\131\112\202\312\123\060\354\353\066\245\271\310\316\223\107
+\126\310\141\246\341\155\222\123\225\217\366\343\125\123\360\335
+\172\347\002\061\000\260\207\325\033\263\140\374\221\215\200\312
+\242\033\121\113\070\124\313\252\036\173\327\345\104\225\026\057
+\074\104\170\056\045\272\352\220\344\354\122\356\127\354\003\204
+\363\136\333\026\015
 END
 CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
-# Trust for "emSign ECC Root CA - G3"
-# Issuer: CN=emSign ECC Root CA - G3,O=eMudhra Technologies Limited,OU=emSign PKI,C=IN
-# Serial Number:3c:f6:07:a9:68:70:0e:da:8b:84
-# Subject: CN=emSign ECC Root CA - G3,O=eMudhra Technologies Limited,OU=emSign PKI,C=IN
-# Not Valid Before: Sun Feb 18 18:30:00 2018
-# Not Valid After : Wed Feb 18 18:30:00 2043
-# Fingerprint (SHA-256): 86:A1:EC:BA:08:9C:4A:8D:3B:BE:27:34:C6:12:BA:34:1D:81:3E:04:3C:F9:E8:A8:62:CD:5C:57:A3:6B:BE:6B
-# Fingerprint (SHA1): 30:43:FA:4F:F2:57:DC:A0:C3:80:EE:2E:58:EA:78:B2:3F:E6:BB:C1
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
+
+# Trust for "Atos TrustedRoot Root CA ECC G2 2020"
+# Issuer: CN=Atos TrustedRoot Root CA ECC G2 2020,O=Atos,C=DE
+# Serial Number:0b:73:28:11:18:74:30:1c:ef:6f:08:84
+# Subject: CN=Atos TrustedRoot Root CA ECC G2 2020,O=Atos,C=DE
+# Not Valid Before: Tue Dec 15 08:39:10 2020
+# Not Valid After : Mon Dec 10 08:39:09 2040
+# Fingerprint (SHA-256): E3:86:55:F4:B0:19:0C:84:D3:B3:89:3D:84:0A:68:7E:19:0A:25:6D:98:05:2F:15:9E:6D:4A:39:F5:89:A6:EB
+# Fingerprint (SHA1): 61:25:56:DA:62:94:E5:AE:B3:3C:F8:11:BD:B1:DC:F8:A5:D8:B3:E4
 CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "emSign ECC Root CA - G3"
+CKA_LABEL UTF8 "Atos TrustedRoot Root CA ECC G2 2020"
 CKA_CERT_SHA1_HASH MULTILINE_OCTAL
-\060\103\372\117\362\127\334\240\303\200\356\056\130\352\170\262
-\077\346\273\301
+\141\045\126\332\142\224\345\256\263\074\370\021\275\261\334\370
+\245\330\263\344
 END
 CKA_CERT_MD5_HASH MULTILINE_OCTAL
-\316\013\162\321\237\210\216\320\120\003\350\343\270\213\147\100
+\225\320\233\116\332\275\252\035\225\265\242\302\135\337\210\214
 END
 CKA_ISSUER MULTILINE_OCTAL
-\060\153\061\013\060\011\006\003\125\004\006\023\002\111\116\061
-\023\060\021\006\003\125\004\013\023\012\145\155\123\151\147\156
-\040\120\113\111\061\045\060\043\006\003\125\004\012\023\034\145
-\115\165\144\150\162\141\040\124\145\143\150\156\157\154\157\147
-\151\145\163\040\114\151\155\151\164\145\144\061\040\060\036\006
-\003\125\004\003\023\027\145\155\123\151\147\156\040\105\103\103
-\040\122\157\157\164\040\103\101\040\055\040\107\063
+\060\113\061\013\060\011\006\003\125\004\006\023\002\104\105\061
+\015\060\013\006\003\125\004\012\014\004\101\164\157\163\061\055
+\060\053\006\003\125\004\003\014\044\101\164\157\163\040\124\162
+\165\163\164\145\144\122\157\157\164\040\122\157\157\164\040\103
+\101\040\105\103\103\040\107\062\040\062\060\062\060
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\012\074\366\007\251\150\160\016\332\213\204
+\002\014\013\163\050\021\030\164\060\034\357\157\010\204
 END
-CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
 CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
 CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
 CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
 
 #
-# Certificate "emSign Root CA - C1"
+# Certificate "Atos TrustedRoot Root CA RSA G2 2020"
 #
-# Issuer: CN=emSign Root CA - C1,O=eMudhra Inc,OU=emSign PKI,C=US
-# Serial Number:00:ae:cf:00:ba:c4:cf:32:f8:43:b2
-# Subject: CN=emSign Root CA - C1,O=eMudhra Inc,OU=emSign PKI,C=US
-# Not Valid Before: Sun Feb 18 18:30:00 2018
-# Not Valid After : Wed Feb 18 18:30:00 2043
-# Fingerprint (SHA-256): 12:56:09:AA:30:1D:A0:A2:49:B9:7A:82:39:CB:6A:34:21:6F:44:DC:AC:9F:39:54:B1:42:92:F2:E8:C8:60:8F
-# Fingerprint (SHA1): E7:2E:F1:DF:FC:B2:09:28:CF:5D:D4:D5:67:37:B1:51:CB:86:4F:01
+# Issuer: CN=Atos TrustedRoot Root CA RSA G2 2020,O=Atos,C=DE
+# Serial Number:47:ba:29:46:55:3e:16:92:97:b0:ab:40
+# Subject: CN=Atos TrustedRoot Root CA RSA G2 2020,O=Atos,C=DE
+# Not Valid Before: Tue Dec 15 08:41:23 2020
+# Not Valid After : Mon Dec 10 08:41:22 2040
+# Fingerprint (SHA-256): 78:83:3A:78:3B:B2:98:6C:25:4B:93:70:D3:C2:0E:5E:BA:8F:A7:84:0C:BF:63:FE:17:29:7A:0B:01:19:68:5E
+# Fingerprint (SHA1): 32:D1:27:FA:93:B1:C1:4C:99:E2:4A:40:BC:7F:94:41:1B:5A:AC:A4
 CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "emSign Root CA - C1"
+CKA_LABEL UTF8 "Atos TrustedRoot Root CA RSA G2 2020"
 CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
 CKA_SUBJECT MULTILINE_OCTAL
-\060\126\061\013\060\011\006\003\125\004\006\023\002\125\123\061
-\023\060\021\006\003\125\004\013\023\012\145\155\123\151\147\156
-\040\120\113\111\061\024\060\022\006\003\125\004\012\023\013\145
-\115\165\144\150\162\141\040\111\156\143\061\034\060\032\006\003
-\125\004\003\023\023\145\155\123\151\147\156\040\122\157\157\164
-\040\103\101\040\055\040\103\061
+\060\113\061\013\060\011\006\003\125\004\006\023\002\104\105\061
+\015\060\013\006\003\125\004\012\014\004\101\164\157\163\061\055
+\060\053\006\003\125\004\003\014\044\101\164\157\163\040\124\162
+\165\163\164\145\144\122\157\157\164\040\122\157\157\164\040\103
+\101\040\122\123\101\040\107\062\040\062\060\062\060
 END
 CKA_ID UTF8 "0"
 CKA_ISSUER MULTILINE_OCTAL
-\060\126\061\013\060\011\006\003\125\004\006\023\002\125\123\061
-\023\060\021\006\003\125\004\013\023\012\145\155\123\151\147\156
-\040\120\113\111\061\024\060\022\006\003\125\004\012\023\013\145
-\115\165\144\150\162\141\040\111\156\143\061\034\060\032\006\003
-\125\004\003\023\023\145\155\123\151\147\156\040\122\157\157\164
-\040\103\101\040\055\040\103\061
+\060\113\061\013\060\011\006\003\125\004\006\023\002\104\105\061
+\015\060\013\006\003\125\004\012\014\004\101\164\157\163\061\055
+\060\053\006\003\125\004\003\014\044\101\164\157\163\040\124\162
+\165\163\164\145\144\122\157\157\164\040\122\157\157\164\040\103
+\101\040\122\123\101\040\107\062\040\062\060\062\060
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\013\000\256\317\000\272\304\317\062\370\103\262
+\002\014\107\272\051\106\125\076\026\222\227\260\253\100
 END
 CKA_VALUE MULTILINE_OCTAL
-\060\202\003\163\060\202\002\133\240\003\002\001\002\002\013\000
-\256\317\000\272\304\317\062\370\103\262\060\015\006\011\052\206
-\110\206\367\015\001\001\013\005\000\060\126\061\013\060\011\006
-\003\125\004\006\023\002\125\123\061\023\060\021\006\003\125\004
-\013\023\012\145\155\123\151\147\156\040\120\113\111\061\024\060
-\022\006\003\125\004\012\023\013\145\115\165\144\150\162\141\040
-\111\156\143\061\034\060\032\006\003\125\004\003\023\023\145\155
-\123\151\147\156\040\122\157\157\164\040\103\101\040\055\040\103
-\061\060\036\027\015\061\070\060\062\061\070\061\070\063\060\060
-\060\132\027\015\064\063\060\062\061\070\061\070\063\060\060\060
-\132\060\126\061\013\060\011\006\003\125\004\006\023\002\125\123
-\061\023\060\021\006\003\125\004\013\023\012\145\155\123\151\147
-\156\040\120\113\111\061\024\060\022\006\003\125\004\012\023\013
-\145\115\165\144\150\162\141\040\111\156\143\061\034\060\032\006
-\003\125\004\003\023\023\145\155\123\151\147\156\040\122\157\157
-\164\040\103\101\040\055\040\103\061\060\202\001\042\060\015\006
-\011\052\206\110\206\367\015\001\001\001\005\000\003\202\001\017
-\000\060\202\001\012\002\202\001\001\000\317\353\251\271\361\231
-\005\314\330\050\041\112\363\163\064\121\204\126\020\365\240\117
-\054\022\343\372\023\232\047\320\317\371\171\032\164\137\035\171
-\071\374\133\370\160\216\340\222\122\367\344\045\371\124\203\331
-\035\323\310\132\205\077\136\307\266\007\356\076\300\316\232\257
-\254\126\102\052\071\045\160\326\277\265\173\066\255\254\366\163
-\334\315\327\035\212\203\245\373\053\220\025\067\153\034\046\107
-\334\073\051\126\223\152\263\301\152\072\235\075\365\301\227\070
-\130\005\213\034\021\343\344\264\270\135\205\035\203\376\170\137
-\013\105\150\030\110\245\106\163\064\073\376\017\310\166\273\307
-\030\363\005\321\206\363\205\355\347\271\331\062\255\125\210\316
-\246\266\221\260\117\254\176\025\043\226\366\077\360\040\064\026
-\336\012\306\304\004\105\171\177\247\375\276\322\251\245\257\234
-\305\043\052\367\074\041\154\275\257\217\116\305\072\262\363\064
-\022\374\337\200\032\111\244\324\251\225\367\236\211\136\242\211
-\254\224\313\250\150\233\257\212\145\047\315\211\356\335\214\265
-\153\051\160\103\240\151\013\344\271\017\002\003\001\000\001\243
-\102\060\100\060\035\006\003\125\035\016\004\026\004\024\376\241
-\340\160\036\052\003\071\122\132\102\276\134\221\205\172\030\252
-\115\265\060\016\006\003\125\035\017\001\001\377\004\004\003\002
-\001\006\060\017\006\003\125\035\023\001\001\377\004\005\060\003
-\001\001\377\060\015\006\011\052\206\110\206\367\015\001\001\013
-\005\000\003\202\001\001\000\302\112\126\372\025\041\173\050\242
-\351\345\035\373\370\055\304\071\226\101\114\073\047\054\304\154
-\030\025\200\306\254\257\107\131\057\046\013\343\066\260\357\073
-\376\103\227\111\062\231\022\025\133\337\021\051\377\253\123\370
-\273\301\170\017\254\234\123\257\127\275\150\214\075\151\063\360
-\243\240\043\143\073\144\147\042\104\255\325\161\313\126\052\170
-\222\243\117\022\061\066\066\342\336\376\000\304\243\140\017\047
-\255\240\260\212\265\066\172\122\241\275\047\364\040\047\142\350
-\115\224\044\023\344\012\004\351\074\253\056\310\103\011\112\306
-\141\004\345\111\064\176\323\304\310\365\017\300\252\351\272\124
-\136\363\143\053\117\117\120\324\376\271\173\231\214\075\300\056
-\274\002\053\323\304\100\344\212\007\061\036\233\316\046\231\023
-\373\021\352\232\042\014\021\031\307\136\033\201\120\060\310\226
-\022\156\347\313\101\177\221\073\242\107\267\124\200\033\334\000
-\314\232\220\352\303\303\120\006\142\014\060\300\025\110\247\250
-\131\174\341\256\042\242\342\012\172\017\372\142\253\122\114\341
-\361\337\312\276\203\015\102
+\060\202\005\177\060\202\003\147\240\003\002\001\002\002\014\107
+\272\051\106\125\076\026\222\227\260\253\100\060\015\006\011\052
+\206\110\206\367\015\001\001\014\005\000\060\113\061\013\060\011
+\006\003\125\004\006\023\002\104\105\061\015\060\013\006\003\125
+\004\012\014\004\101\164\157\163\061\055\060\053\006\003\125\004
+\003\014\044\101\164\157\163\040\124\162\165\163\164\145\144\122
+\157\157\164\040\122\157\157\164\040\103\101\040\122\123\101\040
+\107\062\040\062\060\062\060\060\036\027\015\062\060\061\062\061
+\065\060\070\064\061\062\063\132\027\015\064\060\061\062\061\060
+\060\070\064\061\062\062\132\060\113\061\013\060\011\006\003\125
+\004\006\023\002\104\105\061\015\060\013\006\003\125\004\012\014
+\004\101\164\157\163\061\055\060\053\006\003\125\004\003\014\044
+\101\164\157\163\040\124\162\165\163\164\145\144\122\157\157\164
+\040\122\157\157\164\040\103\101\040\122\123\101\040\107\062\040
+\062\060\062\060\060\202\002\042\060\015\006\011\052\206\110\206
+\367\015\001\001\001\005\000\003\202\002\017\000\060\202\002\012
+\002\202\002\001\000\226\061\205\112\252\017\062\376\171\341\103
+\207\234\373\043\267\216\177\015\124\275\307\142\223\167\344\034
+\065\004\166\243\003\213\042\356\304\204\335\245\223\156\156\262
+\216\011\003\353\121\026\061\027\252\151\025\030\016\147\164\043
+\136\352\232\175\265\071\076\075\202\251\153\341\376\251\034\260
+\255\132\115\114\170\203\101\213\317\362\035\142\232\230\004\234
+\143\351\253\145\376\110\035\044\145\007\107\076\271\221\056\351
+\235\233\177\032\065\251\064\260\267\345\160\063\357\112\162\121
+\266\007\277\140\077\052\237\235\124\337\363\327\224\111\121\003
+\132\100\251\150\335\021\131\134\370\166\246\274\120\122\020\355
+\254\354\225\340\324\203\153\111\332\012\117\231\203\336\062\203
+\110\203\147\225\262\176\347\201\205\075\315\202\367\312\002\355
+\155\210\135\010\215\270\065\277\052\151\060\231\273\113\321\101
+\333\105\240\223\231\121\201\220\066\010\252\212\266\350\217\263
+\313\356\345\106\015\162\165\365\111\154\341\242\177\057\274\355
+\204\246\067\356\336\302\117\071\116\366\236\360\311\321\233\060
+\235\111\155\341\332\377\022\020\214\326\345\231\173\005\266\175
+\260\011\307\244\370\262\034\071\225\071\063\364\065\316\045\142
+\173\260\137\040\363\313\155\370\154\122\024\144\104\217\323\310
+\251\166\007\345\257\161\231\055\055\004\045\110\166\257\303\347
+\314\103\362\007\274\112\044\044\067\335\372\156\224\011\157\114
+\136\001\264\376\124\354\043\226\245\136\335\206\377\351\106\052
+\361\350\334\354\245\075\257\157\252\016\017\264\165\372\076\010
+\271\046\105\117\146\206\114\274\031\270\341\325\065\356\202\204
+\310\323\253\022\347\315\163\063\142\167\364\027\313\275\064\166
+\052\005\316\225\345\170\171\113\236\260\215\371\074\130\070\221
+\352\136\207\070\300\267\102\375\252\114\207\043\255\004\040\261
+\176\166\102\332\273\266\026\272\127\310\216\023\372\165\325\010
+\114\257\070\221\252\357\217\372\237\111\056\124\174\012\126\261
+\172\372\304\116\057\324\243\372\026\212\320\225\345\227\246\377
+\303\374\174\016\107\130\363\177\007\173\022\334\127\077\055\343
+\241\115\133\122\114\063\207\231\250\011\173\154\176\016\362\317
+\126\102\236\353\005\002\003\001\000\001\243\143\060\141\060\017
+\006\003\125\035\023\001\001\377\004\005\060\003\001\001\377\060
+\037\006\003\125\035\043\004\030\060\026\200\024\040\045\363\007
+\375\247\157\361\226\356\221\020\151\314\232\357\175\310\150\170
+\060\035\006\003\125\035\016\004\026\004\024\040\045\363\007\375
+\247\157\361\226\356\221\020\151\314\232\357\175\310\150\170\060
+\016\006\003\125\035\017\001\001\377\004\004\003\002\001\206\060
+\015\006\011\052\206\110\206\367\015\001\001\014\005\000\003\202
+\002\001\000\044\053\116\230\362\035\027\355\331\166\046\266\060
+\063\350\151\105\241\121\113\122\330\172\072\060\266\344\022\352
+\277\237\114\340\004\244\366\065\306\376\241\060\367\123\205\222
+\255\124\005\127\137\222\345\052\336\066\047\236\173\023\107\311
+\152\165\257\374\363\067\347\014\365\075\001\163\265\151\121\370
+\275\131\321\272\013\370\272\272\144\047\103\263\174\203\225\212
+\347\236\023\226\327\157\112\226\101\111\213\016\040\255\026\306
+\367\246\207\133\210\022\211\213\211\312\022\322\126\257\042\001
+\041\106\351\253\230\077\247\210\336\344\313\052\232\165\031\372
+\071\136\011\005\327\003\062\032\270\027\121\010\307\000\100\175
+\364\276\370\014\131\364\151\166\156\323\244\130\133\136\046\163
+\344\102\125\006\136\170\100\017\323\070\237\357\046\121\160\164
+\221\361\167\142\001\350\331\313\353\241\337\071\062\035\273\153
+\375\161\376\353\317\245\346\024\375\000\200\023\306\232\000\110
+\260\231\005\351\256\200\110\373\011\077\121\024\265\271\347\140
+\115\115\312\057\201\041\356\122\014\145\172\334\365\211\111\114
+\060\222\064\130\200\062\131\261\015\377\044\141\017\347\012\102
+\320\173\274\370\216\047\107\077\160\235\047\331\266\006\075\245
+\273\313\136\217\256\016\123\307\234\152\157\073\114\017\243\100
+\160\250\232\007\316\324\156\133\007\242\322\342\124\266\275\157
+\063\162\143\255\121\230\341\217\166\361\152\007\070\045\376\366
+\142\316\137\333\143\302\156\231\357\006\334\271\336\031\032\350
+\124\075\175\322\166\165\331\136\076\062\110\247\214\362\236\162
+\014\370\270\130\270\027\043\245\024\207\165\130\172\000\201\007
+\042\071\152\114\224\240\265\242\333\247\054\301\260\361\243\233
+\300\114\367\155\160\352\061\237\361\256\175\076\163\050\331\241
+\337\372\223\360\233\260\360\342\315\045\040\165\357\342\175\062
+\005\311\233\166\356\313\275\061\036\371\224\230\113\044\130\126
+\110\300\336\006\114\275\246\064\135\355\026\141\143\163\373\031
+\342\372\133\330\227\165\324\155\236\140\071\136\224\213\002\054
+\353\231\316\140\052\156\033\214\247\113\274\375\066\346\230\037
+\145\362\177\361\343\217\114\200\106\066\130\266\241\145\313\316
+\034\104\165
 END
 CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
-# Trust for "emSign Root CA - C1"
-# Issuer: CN=emSign Root CA - C1,O=eMudhra Inc,OU=emSign PKI,C=US
-# Serial Number:00:ae:cf:00:ba:c4:cf:32:f8:43:b2
-# Subject: CN=emSign Root CA - C1,O=eMudhra Inc,OU=emSign PKI,C=US
-# Not Valid Before: Sun Feb 18 18:30:00 2018
-# Not Valid After : Wed Feb 18 18:30:00 2043
-# Fingerprint (SHA-256): 12:56:09:AA:30:1D:A0:A2:49:B9:7A:82:39:CB:6A:34:21:6F:44:DC:AC:9F:39:54:B1:42:92:F2:E8:C8:60:8F
-# Fingerprint (SHA1): E7:2E:F1:DF:FC:B2:09:28:CF:5D:D4:D5:67:37:B1:51:CB:86:4F:01
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
+
+# Trust for "Atos TrustedRoot Root CA RSA G2 2020"
+# Issuer: CN=Atos TrustedRoot Root CA RSA G2 2020,O=Atos,C=DE
+# Serial Number:47:ba:29:46:55:3e:16:92:97:b0:ab:40
+# Subject: CN=Atos TrustedRoot Root CA RSA G2 2020,O=Atos,C=DE
+# Not Valid Before: Tue Dec 15 08:41:23 2020
+# Not Valid After : Mon Dec 10 08:41:22 2040
+# Fingerprint (SHA-256): 78:83:3A:78:3B:B2:98:6C:25:4B:93:70:D3:C2:0E:5E:BA:8F:A7:84:0C:BF:63:FE:17:29:7A:0B:01:19:68:5E
+# Fingerprint (SHA1): 32:D1:27:FA:93:B1:C1:4C:99:E2:4A:40:BC:7F:94:41:1B:5A:AC:A4
 CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "emSign Root CA - C1"
+CKA_LABEL UTF8 "Atos TrustedRoot Root CA RSA G2 2020"
 CKA_CERT_SHA1_HASH MULTILINE_OCTAL
-\347\056\361\337\374\262\011\050\317\135\324\325\147\067\261\121
-\313\206\117\001
+\062\321\047\372\223\261\301\114\231\342\112\100\274\177\224\101
+\033\132\254\244
 END
 CKA_CERT_MD5_HASH MULTILINE_OCTAL
-\330\343\135\001\041\372\170\132\260\337\272\322\356\052\137\150
+\333\077\351\043\365\264\214\335\350\263\076\250\265\137\146\066
 END
 CKA_ISSUER MULTILINE_OCTAL
-\060\126\061\013\060\011\006\003\125\004\006\023\002\125\123\061
-\023\060\021\006\003\125\004\013\023\012\145\155\123\151\147\156
-\040\120\113\111\061\024\060\022\006\003\125\004\012\023\013\145
-\115\165\144\150\162\141\040\111\156\143\061\034\060\032\006\003
-\125\004\003\023\023\145\155\123\151\147\156\040\122\157\157\164
-\040\103\101\040\055\040\103\061
+\060\113\061\013\060\011\006\003\125\004\006\023\002\104\105\061
+\015\060\013\006\003\125\004\012\014\004\101\164\157\163\061\055
+\060\053\006\003\125\004\003\014\044\101\164\157\163\040\124\162
+\165\163\164\145\144\122\157\157\164\040\122\157\157\164\040\103
+\101\040\122\123\101\040\107\062\040\062\060\062\060
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\013\000\256\317\000\272\304\317\062\370\103\262
+\002\014\107\272\051\106\125\076\026\222\227\260\253\100
 END
-CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
 CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
 CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
 CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
 
 #
-# Certificate "emSign ECC Root CA - C3"
+# Certificate "Atos TrustedRoot Root CA ECC TLS 2021"
 #
-# Issuer: CN=emSign ECC Root CA - C3,O=eMudhra Inc,OU=emSign PKI,C=US
-# Serial Number:7b:71:b6:82:56:b8:12:7c:9c:a8
-# Subject: CN=emSign ECC Root CA - C3,O=eMudhra Inc,OU=emSign PKI,C=US
-# Not Valid Before: Sun Feb 18 18:30:00 2018
-# Not Valid After : Wed Feb 18 18:30:00 2043
-# Fingerprint (SHA-256): BC:4D:80:9B:15:18:9D:78:DB:3E:1D:8C:F4:F9:72:6A:79:5D:A1:64:3C:A5:F1:35:8E:1D:DB:0E:DC:0D:7E:B3
-# Fingerprint (SHA1): B6:AF:43:C2:9B:81:53:7D:F6:EF:6B:C3:1F:1F:60:15:0C:EE:48:66
+# Issuer: C=DE,O=Atos,CN=Atos TrustedRoot Root CA ECC TLS 2021
+# Serial Number:3d:98:3b:a6:66:3d:90:63:f7:7e:26:57:38:04:ef:00
+# Subject: C=DE,O=Atos,CN=Atos TrustedRoot Root CA ECC TLS 2021
+# Not Valid Before: Thu Apr 22 09:26:23 2021
+# Not Valid After : Wed Apr 17 09:26:22 2041
+# Fingerprint (SHA-256): B2:FA:E5:3E:14:CC:D7:AB:92:12:06:47:01:AE:27:9C:1D:89:88:FA:CB:77:5F:A8:A0:08:91:4E:66:39:88:A8
+# Fingerprint (SHA1): 9E:BC:75:10:42:B3:02:F3:81:F4:F7:30:62:D4:8F:C3:A7:51:B2:DD
 CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "emSign ECC Root CA - C3"
+CKA_LABEL UTF8 "Atos TrustedRoot Root CA ECC TLS 2021"
 CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
 CKA_SUBJECT MULTILINE_OCTAL
-\060\132\061\013\060\011\006\003\125\004\006\023\002\125\123\061
-\023\060\021\006\003\125\004\013\023\012\145\155\123\151\147\156
-\040\120\113\111\061\024\060\022\006\003\125\004\012\023\013\145
-\115\165\144\150\162\141\040\111\156\143\061\040\060\036\006\003
-\125\004\003\023\027\145\155\123\151\147\156\040\105\103\103\040
-\122\157\157\164\040\103\101\040\055\040\103\063
+\060\114\061\056\060\054\006\003\125\004\003\014\045\101\164\157
+\163\040\124\162\165\163\164\145\144\122\157\157\164\040\122\157
+\157\164\040\103\101\040\105\103\103\040\124\114\123\040\062\060
+\062\061\061\015\060\013\006\003\125\004\012\014\004\101\164\157
+\163\061\013\060\011\006\003\125\004\006\023\002\104\105
 END
 CKA_ID UTF8 "0"
 CKA_ISSUER MULTILINE_OCTAL
-\060\132\061\013\060\011\006\003\125\004\006\023\002\125\123\061
-\023\060\021\006\003\125\004\013\023\012\145\155\123\151\147\156
-\040\120\113\111\061\024\060\022\006\003\125\004\012\023\013\145
-\115\165\144\150\162\141\040\111\156\143\061\040\060\036\006\003
-\125\004\003\023\027\145\155\123\151\147\156\040\105\103\103\040
-\122\157\157\164\040\103\101\040\055\040\103\063
+\060\114\061\056\060\054\006\003\125\004\003\014\045\101\164\157
+\163\040\124\162\165\163\164\145\144\122\157\157\164\040\122\157
+\157\164\040\103\101\040\105\103\103\040\124\114\123\040\062\060
+\062\061\061\015\060\013\006\003\125\004\012\014\004\101\164\157
+\163\061\013\060\011\006\003\125\004\006\023\002\104\105
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\012\173\161\266\202\126\270\022\174\234\250
+\002\020\075\230\073\246\146\075\220\143\367\176\046\127\070\004
+\357\000
 END
 CKA_VALUE MULTILINE_OCTAL
-\060\202\002\053\060\202\001\261\240\003\002\001\002\002\012\173
-\161\266\202\126\270\022\174\234\250\060\012\006\010\052\206\110
-\316\075\004\003\003\060\132\061\013\060\011\006\003\125\004\006
-\023\002\125\123\061\023\060\021\006\003\125\004\013\023\012\145
-\155\123\151\147\156\040\120\113\111\061\024\060\022\006\003\125
-\004\012\023\013\145\115\165\144\150\162\141\040\111\156\143\061
-\040\060\036\006\003\125\004\003\023\027\145\155\123\151\147\156
-\040\105\103\103\040\122\157\157\164\040\103\101\040\055\040\103
-\063\060\036\027\015\061\070\060\062\061\070\061\070\063\060\060
-\060\132\027\015\064\063\060\062\061\070\061\070\063\060\060\060
-\132\060\132\061\013\060\011\006\003\125\004\006\023\002\125\123
-\061\023\060\021\006\003\125\004\013\023\012\145\155\123\151\147
-\156\040\120\113\111\061\024\060\022\006\003\125\004\012\023\013
-\145\115\165\144\150\162\141\040\111\156\143\061\040\060\036\006
-\003\125\004\003\023\027\145\155\123\151\147\156\040\105\103\103
-\040\122\157\157\164\040\103\101\040\055\040\103\063\060\166\060
-\020\006\007\052\206\110\316\075\002\001\006\005\053\201\004\000
-\042\003\142\000\004\375\245\141\256\173\046\020\035\351\267\042
-\060\256\006\364\201\263\261\102\161\225\071\274\323\122\343\257
-\257\371\362\227\065\222\066\106\016\207\225\215\271\071\132\351
-\273\337\320\376\310\007\101\074\273\125\157\203\243\152\373\142
-\260\201\211\002\160\175\110\305\112\343\351\042\124\042\115\223
-\273\102\014\257\167\234\043\246\175\327\141\021\316\145\307\370
-\177\376\365\362\251\243\102\060\100\060\035\006\003\125\035\016
-\004\026\004\024\373\132\110\320\200\040\100\362\250\351\000\007
-\151\031\167\247\346\303\364\317\060\016\006\003\125\035\017\001
-\001\377\004\004\003\002\001\006\060\017\006\003\125\035\023\001
-\001\377\004\005\060\003\001\001\377\060\012\006\010\052\206\110
-\316\075\004\003\003\003\150\000\060\145\002\061\000\264\330\057
-\002\211\375\266\114\142\272\103\116\023\204\162\265\256\335\034
-\336\326\265\334\126\217\130\100\132\055\336\040\114\042\203\312
-\223\250\176\356\022\100\307\326\207\117\370\337\205\002\060\034
-\024\144\344\174\226\203\021\234\260\321\132\141\113\246\017\111
-\323\000\374\241\374\344\245\377\177\255\327\060\320\307\167\177
-\276\201\007\125\060\120\040\024\365\127\070\012\250\061\121
+\060\202\002\025\060\202\001\233\240\003\002\001\002\002\020\075
+\230\073\246\146\075\220\143\367\176\046\127\070\004\357\000\060
+\012\006\010\052\206\110\316\075\004\003\003\060\114\061\056\060
+\054\006\003\125\004\003\014\045\101\164\157\163\040\124\162\165
+\163\164\145\144\122\157\157\164\040\122\157\157\164\040\103\101
+\040\105\103\103\040\124\114\123\040\062\060\062\061\061\015\060
+\013\006\003\125\004\012\014\004\101\164\157\163\061\013\060\011
+\006\003\125\004\006\023\002\104\105\060\036\027\015\062\061\060
+\064\062\062\060\071\062\066\062\063\132\027\015\064\061\060\064
+\061\067\060\071\062\066\062\062\132\060\114\061\056\060\054\006
+\003\125\004\003\014\045\101\164\157\163\040\124\162\165\163\164
+\145\144\122\157\157\164\040\122\157\157\164\040\103\101\040\105
+\103\103\040\124\114\123\040\062\060\062\061\061\015\060\013\006
+\003\125\004\012\014\004\101\164\157\163\061\013\060\011\006\003
+\125\004\006\023\002\104\105\060\166\060\020\006\007\052\206\110
+\316\075\002\001\006\005\053\201\004\000\042\003\142\000\004\226
+\206\130\050\067\012\147\320\240\336\044\031\031\341\344\005\007
+\037\227\355\350\144\202\271\366\304\161\120\316\212\014\377\327
+\265\166\273\241\154\223\154\203\242\150\156\245\331\276\054\210
+\225\101\315\135\335\261\312\203\143\203\314\300\276\164\331\340
+\235\244\356\112\116\126\340\230\051\101\223\122\020\325\044\070
+\002\062\147\361\224\022\157\357\327\305\336\056\375\031\200\243
+\102\060\100\060\017\006\003\125\035\023\001\001\377\004\005\060
+\003\001\001\377\060\035\006\003\125\035\016\004\026\004\024\166
+\050\045\326\175\340\146\232\172\011\262\152\073\216\063\327\066
+\323\117\242\060\016\006\003\125\035\017\001\001\377\004\004\003
+\002\001\206\060\012\006\010\052\206\110\316\075\004\003\003\003
+\150\000\060\145\002\060\133\231\051\363\234\061\266\211\153\154
+\326\275\167\341\174\347\121\176\270\072\315\243\066\137\174\367
+\074\167\076\344\120\255\250\347\322\131\014\046\216\060\073\156
+\010\052\302\247\132\310\002\061\000\231\343\014\347\243\303\257
+\323\111\056\106\202\043\146\135\311\000\024\022\375\070\364\341
+\230\153\167\051\172\333\044\317\145\100\277\322\334\214\021\350
+\364\175\177\040\204\251\102\344\050
 END
 CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
-# Trust for "emSign ECC Root CA - C3"
-# Issuer: CN=emSign ECC Root CA - C3,O=eMudhra Inc,OU=emSign PKI,C=US
-# Serial Number:7b:71:b6:82:56:b8:12:7c:9c:a8
-# Subject: CN=emSign ECC Root CA - C3,O=eMudhra Inc,OU=emSign PKI,C=US
-# Not Valid Before: Sun Feb 18 18:30:00 2018
-# Not Valid After : Wed Feb 18 18:30:00 2043
-# Fingerprint (SHA-256): BC:4D:80:9B:15:18:9D:78:DB:3E:1D:8C:F4:F9:72:6A:79:5D:A1:64:3C:A5:F1:35:8E:1D:DB:0E:DC:0D:7E:B3
-# Fingerprint (SHA1): B6:AF:43:C2:9B:81:53:7D:F6:EF:6B:C3:1F:1F:60:15:0C:EE:48:66
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
+
+# Trust for "Atos TrustedRoot Root CA ECC TLS 2021"
+# Issuer: C=DE,O=Atos,CN=Atos TrustedRoot Root CA ECC TLS 2021
+# Serial Number:3d:98:3b:a6:66:3d:90:63:f7:7e:26:57:38:04:ef:00
+# Subject: C=DE,O=Atos,CN=Atos TrustedRoot Root CA ECC TLS 2021
+# Not Valid Before: Thu Apr 22 09:26:23 2021
+# Not Valid After : Wed Apr 17 09:26:22 2041
+# Fingerprint (SHA-256): B2:FA:E5:3E:14:CC:D7:AB:92:12:06:47:01:AE:27:9C:1D:89:88:FA:CB:77:5F:A8:A0:08:91:4E:66:39:88:A8
+# Fingerprint (SHA1): 9E:BC:75:10:42:B3:02:F3:81:F4:F7:30:62:D4:8F:C3:A7:51:B2:DD
 CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "emSign ECC Root CA - C3"
+CKA_LABEL UTF8 "Atos TrustedRoot Root CA ECC TLS 2021"
 CKA_CERT_SHA1_HASH MULTILINE_OCTAL
-\266\257\103\302\233\201\123\175\366\357\153\303\037\037\140\025
-\014\356\110\146
+\236\274\165\020\102\263\002\363\201\364\367\060\142\324\217\303
+\247\121\262\335
 END
 CKA_CERT_MD5_HASH MULTILINE_OCTAL
-\076\123\263\243\201\356\327\020\370\323\260\035\027\222\365\325
+\026\237\255\361\160\255\171\326\355\051\264\321\305\171\160\250
 END
 CKA_ISSUER MULTILINE_OCTAL
-\060\132\061\013\060\011\006\003\125\004\006\023\002\125\123\061
-\023\060\021\006\003\125\004\013\023\012\145\155\123\151\147\156
-\040\120\113\111\061\024\060\022\006\003\125\004\012\023\013\145
-\115\165\144\150\162\141\040\111\156\143\061\040\060\036\006\003
-\125\004\003\023\027\145\155\123\151\147\156\040\105\103\103\040
-\122\157\157\164\040\103\101\040\055\040\103\063
+\060\114\061\056\060\054\006\003\125\004\003\014\045\101\164\157
+\163\040\124\162\165\163\164\145\144\122\157\157\164\040\122\157
+\157\164\040\103\101\040\105\103\103\040\124\114\123\040\062\060
+\062\061\061\015\060\013\006\003\125\004\012\014\004\101\164\157
+\163\061\013\060\011\006\003\125\004\006\023\002\104\105
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\012\173\161\266\202\126\270\022\174\234\250
+\002\020\075\230\073\246\146\075\220\143\367\176\046\127\070\004
+\357\000
 END
 CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
-CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
 CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
 CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
 
 #
-# Certificate "Hongkong Post Root CA 3"
+# Certificate "Atos TrustedRoot Root CA RSA TLS 2021"
 #
-# Issuer: CN=Hongkong Post Root CA 3,O=Hongkong Post,L=Hong Kong,ST=Hong Kong,C=HK
-# Serial Number:08:16:5f:8a:4c:a5:ec:00:c9:93:40:df:c4:c6:ae:23:b8:1c:5a:a4
-# Subject: CN=Hongkong Post Root CA 3,O=Hongkong Post,L=Hong Kong,ST=Hong Kong,C=HK
-# Not Valid Before: Sat Jun 03 02:29:46 2017
-# Not Valid After : Tue Jun 03 02:29:46 2042
-# Fingerprint (SHA-256): 5A:2F:C0:3F:0C:83:B0:90:BB:FA:40:60:4B:09:88:44:6C:76:36:18:3D:F9:84:6E:17:10:1A:44:7F:B8:EF:D6
-# Fingerprint (SHA1): 58:A2:D0:EC:20:52:81:5B:C1:F3:F8:64:02:24:4E:C2:8E:02:4B:02
+# Issuer: C=DE,O=Atos,CN=Atos TrustedRoot Root CA RSA TLS 2021
+# Serial Number:53:d5:cf:e6:19:93:0b:fb:2b:05:12:d8:c2:2a:a2:a4
+# Subject: C=DE,O=Atos,CN=Atos TrustedRoot Root CA RSA TLS 2021
+# Not Valid Before: Thu Apr 22 09:21:10 2021
+# Not Valid After : Wed Apr 17 09:21:09 2041
+# Fingerprint (SHA-256): 81:A9:08:8E:A5:9F:B3:64:C5:48:A6:F8:55:59:09:9B:6F:04:05:EF:BF:18:E5:32:4E:C9:F4:57:BA:00:11:2F
+# Fingerprint (SHA1): 18:52:3B:0D:06:37:E4:D6:3A:DF:23:E4:98:FB:5B:16:FB:86:74:48
 CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "Hongkong Post Root CA 3"
+CKA_LABEL UTF8 "Atos TrustedRoot Root CA RSA TLS 2021"
 CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
 CKA_SUBJECT MULTILINE_OCTAL
-\060\157\061\013\060\011\006\003\125\004\006\023\002\110\113\061
-\022\060\020\006\003\125\004\010\023\011\110\157\156\147\040\113
-\157\156\147\061\022\060\020\006\003\125\004\007\023\011\110\157
-\156\147\040\113\157\156\147\061\026\060\024\006\003\125\004\012
-\023\015\110\157\156\147\153\157\156\147\040\120\157\163\164\061
-\040\060\036\006\003\125\004\003\023\027\110\157\156\147\153\157
-\156\147\040\120\157\163\164\040\122\157\157\164\040\103\101\040
-\063
+\060\114\061\056\060\054\006\003\125\004\003\014\045\101\164\157
+\163\040\124\162\165\163\164\145\144\122\157\157\164\040\122\157
+\157\164\040\103\101\040\122\123\101\040\124\114\123\040\062\060
+\062\061\061\015\060\013\006\003\125\004\012\014\004\101\164\157
+\163\061\013\060\011\006\003\125\004\006\023\002\104\105
 END
 CKA_ID UTF8 "0"
 CKA_ISSUER MULTILINE_OCTAL
-\060\157\061\013\060\011\006\003\125\004\006\023\002\110\113\061
-\022\060\020\006\003\125\004\010\023\011\110\157\156\147\040\113
-\157\156\147\061\022\060\020\006\003\125\004\007\023\011\110\157
-\156\147\040\113\157\156\147\061\026\060\024\006\003\125\004\012
-\023\015\110\157\156\147\153\157\156\147\040\120\157\163\164\061
-\040\060\036\006\003\125\004\003\023\027\110\157\156\147\153\157
-\156\147\040\120\157\163\164\040\122\157\157\164\040\103\101\040
-\063
+\060\114\061\056\060\054\006\003\125\004\003\014\045\101\164\157
+\163\040\124\162\165\163\164\145\144\122\157\157\164\040\122\157
+\157\164\040\103\101\040\122\123\101\040\124\114\123\040\062\060
+\062\061\061\015\060\013\006\003\125\004\012\014\004\101\164\157
+\163\061\013\060\011\006\003\125\004\006\023\002\104\105
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\024\010\026\137\212\114\245\354\000\311\223\100\337\304\306
-\256\043\270\034\132\244
+\002\020\123\325\317\346\031\223\013\373\053\005\022\330\302\052
+\242\244
 END
 CKA_VALUE MULTILINE_OCTAL
-\060\202\005\317\060\202\003\267\240\003\002\001\002\002\024\010
-\026\137\212\114\245\354\000\311\223\100\337\304\306\256\043\270
-\034\132\244\060\015\006\011\052\206\110\206\367\015\001\001\013
-\005\000\060\157\061\013\060\011\006\003\125\004\006\023\002\110
-\113\061\022\060\020\006\003\125\004\010\023\011\110\157\156\147
-\040\113\157\156\147\061\022\060\020\006\003\125\004\007\023\011
-\110\157\156\147\040\113\157\156\147\061\026\060\024\006\003\125
-\004\012\023\015\110\157\156\147\153\157\156\147\040\120\157\163
-\164\061\040\060\036\006\003\125\004\003\023\027\110\157\156\147
-\153\157\156\147\040\120\157\163\164\040\122\157\157\164\040\103
-\101\040\063\060\036\027\015\061\067\060\066\060\063\060\062\062
-\071\064\066\132\027\015\064\062\060\066\060\063\060\062\062\071
-\064\066\132\060\157\061\013\060\011\006\003\125\004\006\023\002
-\110\113\061\022\060\020\006\003\125\004\010\023\011\110\157\156
-\147\040\113\157\156\147\061\022\060\020\006\003\125\004\007\023
-\011\110\157\156\147\040\113\157\156\147\061\026\060\024\006\003
-\125\004\012\023\015\110\157\156\147\153\157\156\147\040\120\157
-\163\164\061\040\060\036\006\003\125\004\003\023\027\110\157\156
-\147\153\157\156\147\040\120\157\163\164\040\122\157\157\164\040
-\103\101\040\063\060\202\002\042\060\015\006\011\052\206\110\206
-\367\015\001\001\001\005\000\003\202\002\017\000\060\202\002\012
-\002\202\002\001\000\263\210\327\352\316\017\040\116\276\346\326
-\003\155\356\131\374\302\127\337\051\150\241\203\016\076\150\307
-\150\130\234\034\140\113\211\103\014\271\324\025\262\356\301\116
-\165\351\265\247\357\345\351\065\231\344\314\034\347\113\137\215
-\063\060\040\063\123\331\246\273\325\076\023\216\351\037\207\111
-\255\120\055\120\312\030\276\001\130\242\023\160\226\273\211\210
-\126\200\134\370\275\054\074\341\114\127\210\273\323\271\225\357
-\313\307\366\332\061\164\050\246\346\124\211\365\101\061\312\345
-\046\032\315\202\340\160\332\073\051\273\325\003\365\231\272\125
-\365\144\321\140\016\263\211\111\270\212\057\005\322\204\105\050
-\174\217\150\120\022\170\374\013\265\123\313\302\230\034\204\243
-\236\260\276\043\244\332\334\310\053\036\332\156\105\036\211\230
-\332\371\000\056\006\351\014\073\160\325\120\045\210\231\313\315
-\163\140\367\325\377\065\147\305\241\274\136\253\315\112\270\105
-\353\310\150\036\015\015\024\106\022\343\322\144\142\212\102\230
-\274\264\306\010\010\370\375\250\114\144\234\166\001\275\057\251
-\154\063\017\330\077\050\270\074\151\001\102\206\176\151\301\311
-\006\312\345\172\106\145\351\302\326\120\101\056\077\267\344\355
-\154\327\277\046\001\021\242\026\051\112\153\064\006\220\354\023
-\322\266\373\152\166\322\074\355\360\326\055\335\341\025\354\243
-\233\057\054\311\076\053\344\151\073\377\162\045\261\066\206\133
-\307\177\153\213\125\033\112\305\040\141\075\256\313\120\341\010
-\072\276\260\217\143\101\123\060\010\131\074\230\035\167\272\143
-\221\172\312\020\120\140\277\360\327\274\225\207\217\227\305\376
-\227\152\001\224\243\174\133\205\035\052\071\072\320\124\241\321
-\071\161\235\375\041\371\265\173\360\342\340\002\217\156\226\044
-\045\054\240\036\054\250\304\211\247\357\355\231\006\057\266\012
-\114\117\333\242\314\067\032\257\107\205\055\212\137\304\064\064
-\114\000\375\030\223\147\023\321\067\346\110\264\213\006\305\127
-\173\031\206\012\171\313\000\311\122\257\102\377\067\217\341\243
-\036\172\075\120\253\143\006\347\025\265\077\266\105\067\224\067
-\261\176\362\110\303\177\305\165\376\227\215\105\217\032\247\032
-\162\050\032\100\017\002\003\001\000\001\243\143\060\141\060\017
-\006\003\125\035\023\001\001\377\004\005\060\003\001\001\377\060
-\016\006\003\125\035\017\001\001\377\004\004\003\002\001\006\060
-\037\006\003\125\035\043\004\030\060\026\200\024\027\235\315\036
-\213\326\071\053\160\323\134\324\240\270\037\260\000\374\305\141
-\060\035\006\003\125\035\016\004\026\004\024\027\235\315\036\213
-\326\071\053\160\323\134\324\240\270\037\260\000\374\305\141\060
-\015\006\011\052\206\110\206\367\015\001\001\013\005\000\003\202
-\002\001\000\126\325\173\156\346\042\001\322\102\233\030\325\016
-\327\146\043\134\343\376\240\307\222\322\351\224\255\113\242\306
-\354\022\174\164\325\110\322\131\024\231\300\353\271\321\353\364
-\110\060\133\255\247\127\163\231\251\323\345\267\321\056\131\044
-\130\334\150\056\056\142\330\152\344\160\013\055\040\120\040\244
-\062\225\321\000\230\273\323\375\367\062\362\111\256\306\172\340
-\107\276\156\316\313\243\162\072\055\151\135\313\310\350\105\071
-\324\372\102\301\021\114\167\135\222\373\152\377\130\104\345\353
-\201\236\257\240\231\255\276\251\001\146\313\070\035\074\337\103
-\037\364\115\156\264\272\027\106\374\175\375\207\201\171\152\015
-\063\017\372\057\370\024\271\200\263\135\115\252\227\341\371\344
-\030\305\370\325\070\214\046\074\375\362\050\342\356\132\111\210
-\054\337\171\075\216\236\220\074\275\101\112\072\335\133\366\232
-\264\316\077\045\060\177\062\175\242\003\224\320\334\172\241\122
-\336\156\223\215\030\046\375\125\254\275\217\233\322\317\257\347
-\206\054\313\037\011\157\243\157\251\204\324\163\277\115\241\164
-\033\116\043\140\362\314\016\252\177\244\234\114\045\250\262\146
-\073\070\377\331\224\060\366\162\204\276\150\125\020\017\306\163
-\054\026\151\223\007\376\261\105\355\273\242\125\152\260\332\265
-\112\002\045\047\205\327\267\267\206\104\026\211\154\200\053\076
-\227\251\234\325\176\125\114\306\336\105\020\034\352\351\073\237
-\003\123\356\356\172\001\002\026\170\324\350\302\276\106\166\210
-\023\077\042\273\110\022\035\122\000\264\002\176\041\032\036\234
-\045\364\363\075\136\036\322\034\371\263\055\266\367\067\134\306
-\313\041\116\260\367\231\107\030\205\301\053\272\125\256\006\352
-\320\007\262\334\253\320\202\226\165\316\322\120\376\231\347\317
-\057\237\347\166\321\141\052\373\041\273\061\320\252\237\107\244
-\262\042\312\026\072\120\127\304\133\103\147\305\145\142\003\111
-\001\353\103\331\330\370\236\255\317\261\143\016\105\364\240\132
-\054\233\055\305\246\300\255\250\107\364\047\114\070\015\056\033
-\111\073\122\364\350\210\203\053\124\050\324\362\065\122\264\062
-\203\142\151\144\014\221\234\237\227\352\164\026\375\037\021\006
-\232\233\364
+\060\202\005\144\060\202\003\114\240\003\002\001\002\002\020\123
+\325\317\346\031\223\013\373\053\005\022\330\302\052\242\244\060
+\015\006\011\052\206\110\206\367\015\001\001\014\005\000\060\114
+\061\056\060\054\006\003\125\004\003\014\045\101\164\157\163\040
+\124\162\165\163\164\145\144\122\157\157\164\040\122\157\157\164
+\040\103\101\040\122\123\101\040\124\114\123\040\062\060\062\061
+\061\015\060\013\006\003\125\004\012\014\004\101\164\157\163\061
+\013\060\011\006\003\125\004\006\023\002\104\105\060\036\027\015
+\062\061\060\064\062\062\060\071\062\061\061\060\132\027\015\064
+\061\060\064\061\067\060\071\062\061\060\071\132\060\114\061\056
+\060\054\006\003\125\004\003\014\045\101\164\157\163\040\124\162
+\165\163\164\145\144\122\157\157\164\040\122\157\157\164\040\103
+\101\040\122\123\101\040\124\114\123\040\062\060\062\061\061\015
+\060\013\006\003\125\004\012\014\004\101\164\157\163\061\013\060
+\011\006\003\125\004\006\023\002\104\105\060\202\002\042\060\015
+\006\011\052\206\110\206\367\015\001\001\001\005\000\003\202\002
+\017\000\060\202\002\012\002\202\002\001\000\266\200\016\304\171
+\275\005\214\175\260\243\235\115\042\115\313\360\101\227\115\131
+\340\321\376\126\214\227\362\327\275\217\154\267\043\217\137\325
+\304\330\101\313\362\002\036\161\345\351\366\136\313\010\052\136
+\060\362\055\146\307\204\033\144\127\070\235\165\055\126\306\057
+\141\357\226\374\040\106\275\353\324\173\077\077\174\107\070\004
+\251\033\252\122\337\023\067\323\025\025\116\275\137\174\257\255
+\143\307\171\334\010\173\325\240\345\367\133\165\254\200\125\231
+\222\141\233\315\052\027\175\333\217\364\265\152\352\027\112\144
+\050\146\025\051\154\002\361\153\325\272\243\063\334\132\147\247
+\005\342\277\145\266\026\260\020\355\315\120\063\311\160\120\354
+\031\216\260\307\362\164\133\153\104\306\175\226\271\230\010\131
+\146\336\051\001\233\364\052\155\323\025\072\220\152\147\361\264
+\153\146\331\041\353\312\331\142\174\106\020\134\336\165\111\147
+\236\102\371\376\165\251\243\255\377\166\012\147\100\343\305\367
+\215\307\205\232\131\236\142\232\152\355\105\207\230\147\262\325
+\112\074\327\264\073\000\015\300\217\037\341\100\304\256\154\041
+\334\111\176\176\312\262\215\155\266\277\223\057\241\134\076\217
+\312\355\200\216\130\341\333\127\317\205\066\070\262\161\244\011
+\214\222\211\010\210\110\361\100\143\030\262\133\214\132\343\303
+\323\027\252\253\031\243\054\033\344\325\306\342\146\172\327\202
+\031\246\073\026\054\057\161\207\137\105\236\225\163\223\302\102
+\201\041\023\226\327\235\273\223\150\025\372\235\244\035\214\362
+\201\340\130\006\275\311\266\343\366\211\135\211\371\254\104\241
+\313\153\372\026\361\307\120\075\044\332\367\303\344\207\325\126
+\361\117\220\060\372\105\011\131\332\064\316\340\023\034\004\174
+\000\324\233\206\244\100\274\331\334\114\127\176\256\267\063\266
+\136\166\341\145\213\146\337\215\312\327\230\257\316\066\230\214
+\234\203\231\003\160\363\257\164\355\306\016\066\347\275\354\301
+\163\247\224\132\313\222\144\202\246\000\301\160\241\156\054\051
+\341\130\127\354\132\174\231\153\045\244\220\072\200\364\040\235
+\232\316\307\055\371\262\113\051\225\203\351\065\215\247\111\110
+\247\017\114\031\221\320\365\277\020\340\161\002\003\001\000\001
+\243\102\060\100\060\017\006\003\125\035\023\001\001\377\004\005
+\060\003\001\001\377\060\035\006\003\125\035\016\004\026\004\024
+\164\111\231\321\377\264\172\150\105\165\303\176\264\334\314\316
+\071\063\332\010\060\016\006\003\125\035\017\001\001\377\004\004
+\003\002\001\206\060\015\006\011\052\206\110\206\367\015\001\001
+\014\005\000\003\202\002\001\000\043\103\123\044\142\134\155\375
+\076\302\317\125\000\154\305\126\210\271\016\335\072\342\045\015
+\225\112\227\312\200\211\356\052\315\145\370\333\026\340\011\222
+\340\030\307\170\230\273\363\354\102\122\373\251\244\202\327\115
+\330\212\374\344\116\375\253\220\304\070\165\062\204\237\377\263
+\260\053\002\063\066\300\020\220\157\035\234\257\341\151\223\354
+\243\105\057\024\237\365\114\052\145\103\162\014\367\303\370\225
+\213\024\363\205\040\142\335\124\123\335\054\334\030\225\151\117
+\203\107\160\100\063\130\167\022\014\242\353\122\061\036\114\311
+\250\316\305\357\303\321\255\340\153\003\000\064\046\264\124\041
+\065\227\001\334\137\033\361\174\347\125\372\055\150\167\173\323
+\151\314\323\016\153\272\115\166\104\326\302\025\232\046\354\260
+\305\365\273\321\172\164\302\154\315\305\265\136\366\114\346\133
+\055\201\333\263\267\072\227\236\355\317\106\262\120\075\204\140
+\231\161\265\063\265\127\105\346\102\107\165\152\016\260\010\014
+\256\275\336\367\273\017\130\075\217\003\061\350\075\202\120\312
+\057\136\014\135\264\227\276\040\064\007\364\304\022\341\356\327
+\260\331\131\055\151\367\061\004\364\362\371\253\371\023\061\370
+\001\167\016\075\102\043\046\314\232\162\147\121\041\172\314\074
+\205\250\352\041\152\073\333\132\074\245\064\236\232\300\054\337
+\200\234\051\340\337\167\224\321\242\200\102\377\152\114\133\021
+\320\365\315\242\276\256\314\121\134\303\325\124\173\014\256\326
+\271\006\167\200\342\357\007\032\150\314\131\121\255\176\134\147
+\153\271\333\342\007\102\133\270\001\005\130\071\115\344\273\230
+\243\261\062\354\331\243\326\157\224\043\377\073\267\051\145\346
+\007\351\357\266\031\352\347\302\070\035\062\210\220\074\023\053
+\156\314\357\253\167\006\064\167\204\117\162\344\201\204\371\271
+\164\064\336\166\117\222\052\123\261\045\071\333\074\377\345\076
+\246\016\345\153\236\377\333\354\057\164\203\337\216\264\263\251
+\336\024\115\377\061\243\105\163\044\372\225\051\314\022\227\004
+\242\070\266\215\260\360\067\374\310\041\177\077\263\044\033\075
+\213\156\314\115\260\026\015\226\035\203\037\106\300\233\275\103
+\231\347\304\226\056\316\137\311
 END
 CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE
-
-# Trust for "Hongkong Post Root CA 3"
-# Issuer: CN=Hongkong Post Root CA 3,O=Hongkong Post,L=Hong Kong,ST=Hong Kong,C=HK
-# Serial Number:08:16:5f:8a:4c:a5:ec:00:c9:93:40:df:c4:c6:ae:23:b8:1c:5a:a4
-# Subject: CN=Hongkong Post Root CA 3,O=Hongkong Post,L=Hong Kong,ST=Hong Kong,C=HK
-# Not Valid Before: Sat Jun 03 02:29:46 2017
-# Not Valid After : Tue Jun 03 02:29:46 2042
-# Fingerprint (SHA-256): 5A:2F:C0:3F:0C:83:B0:90:BB:FA:40:60:4B:09:88:44:6C:76:36:18:3D:F9:84:6E:17:10:1A:44:7F:B8:EF:D6
-# Fingerprint (SHA1): 58:A2:D0:EC:20:52:81:5B:C1:F3:F8:64:02:24:4E:C2:8E:02:4B:02
+CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE
+CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE
+
+# Trust for "Atos TrustedRoot Root CA RSA TLS 2021"
+# Issuer: C=DE,O=Atos,CN=Atos TrustedRoot Root CA RSA TLS 2021
+# Serial Number:53:d5:cf:e6:19:93:0b:fb:2b:05:12:d8:c2:2a:a2:a4
+# Subject: C=DE,O=Atos,CN=Atos TrustedRoot Root CA RSA TLS 2021
+# Not Valid Before: Thu Apr 22 09:21:10 2021
+# Not Valid After : Wed Apr 17 09:21:09 2041
+# Fingerprint (SHA-256): 81:A9:08:8E:A5:9F:B3:64:C5:48:A6:F8:55:59:09:9B:6F:04:05:EF:BF:18:E5:32:4E:C9:F4:57:BA:00:11:2F
+# Fingerprint (SHA1): 18:52:3B:0D:06:37:E4:D6:3A:DF:23:E4:98:FB:5B:16:FB:86:74:48
 CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST
 CKA_TOKEN CK_BBOOL CK_TRUE
 CKA_PRIVATE CK_BBOOL CK_FALSE
 CKA_MODIFIABLE CK_BBOOL CK_FALSE
-CKA_LABEL UTF8 "Hongkong Post Root CA 3"
+CKA_LABEL UTF8 "Atos TrustedRoot Root CA RSA TLS 2021"
 CKA_CERT_SHA1_HASH MULTILINE_OCTAL
-\130\242\320\354\040\122\201\133\301\363\370\144\002\044\116\302
-\216\002\113\002
+\030\122\073\015\006\067\344\326\072\337\043\344\230\373\133\026
+\373\206\164\110
 END
 CKA_CERT_MD5_HASH MULTILINE_OCTAL
-\021\374\237\275\163\060\002\212\375\077\363\130\271\313\040\360
+\324\323\106\270\232\300\234\166\135\236\072\303\271\231\061\322
 END
 CKA_ISSUER MULTILINE_OCTAL
-\060\157\061\013\060\011\006\003\125\004\006\023\002\110\113\061
-\022\060\020\006\003\125\004\010\023\011\110\157\156\147\040\113
-\157\156\147\061\022\060\020\006\003\125\004\007\023\011\110\157
-\156\147\040\113\157\156\147\061\026\060\024\006\003\125\004\012
-\023\015\110\157\156\147\153\157\156\147\040\120\157\163\164\061
-\040\060\036\006\003\125\004\003\023\027\110\157\156\147\153\157
-\156\147\040\120\157\163\164\040\122\157\157\164\040\103\101\040
-\063
+\060\114\061\056\060\054\006\003\125\004\003\014\045\101\164\157
+\163\040\124\162\165\163\164\145\144\122\157\157\164\040\122\157
+\157\164\040\103\101\040\122\123\101\040\124\114\123\040\062\060
+\062\061\061\015\060\013\006\003\125\004\012\014\004\101\164\157
+\163\061\013\060\011\006\003\125\004\006\023\002\104\105
 END
 CKA_SERIAL_NUMBER MULTILINE_OCTAL
-\002\024\010\026\137\212\114\245\354\000\311\223\100\337\304\306
-\256\043\270\034\132\244
+\002\020\123\325\317\346\031\223\013\373\053\005\022\330\302\052
+\242\244
 END
 CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
 CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
index c22946d38d25a8889c1251302c201dbbd159e773..a52ce9c740fd3521e728886288a2486935802652 100644 (file)
@@ -4,6 +4,7 @@
 # certdata2pem.py - splits certdata.txt into multiple files
 #
 # Copyright (C) 2009 Philipp Kern <pkern@debian.org>
+# Copyright (C) 2013 Kai Engert <kaie@redhat.com>
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -25,12 +26,17 @@ import os.path
 import re
 import sys
 import textwrap
+import urllib.request, urllib.parse, urllib.error
+import subprocess
 
 objects = []
 
+def printable_serial(obj):
+  return ".".join([str(x) for x in obj['CKA_SERIAL_NUMBER']])
+
 # Dirty file parser.
 in_data, in_multiline, in_obj = False, False, False
-field, type, value, obj = None, None, None, dict()
+field, ftype, value, binval, obj = None, None, None, bytearray(), dict()
 for line in open('certdata.txt', 'r'):
     # Ignore the file header.
     if not in_data:
@@ -50,72 +56,55 @@ for line in open('certdata.txt', 'r'):
         continue
     if in_multiline:
         if not line.startswith('END'):
-            if type == 'MULTILINE_OCTAL':
+            if ftype == 'MULTILINE_OCTAL':
                 line = line.strip()
                 for i in re.finditer(r'\\([0-3][0-7][0-7])', line):
-                    value += chr(int(i.group(1), 8))
+                    integ = int(i.group(1), 8)
+                    binval.extend((integ).to_bytes(1, sys.byteorder))
+                obj[field] = binval
             else:
                 value += line
+                obj[field] = value
             continue
-        obj[field] = value
         in_multiline = False
         continue
     if line.startswith('CKA_CLASS'):
         in_obj = True
     line_parts = line.strip().split(' ', 2)
     if len(line_parts) > 2:
-        field, type = line_parts[0:2]
+        field, ftype = line_parts[0:2]
         value = ' '.join(line_parts[2:])
     elif len(line_parts) == 2:
-        field, type = line_parts
+        field, ftype = line_parts
         value = None
     else:
-        raise NotImplementedError, 'line_parts < 2 not supported.'
-    if type == 'MULTILINE_OCTAL':
+        raise NotImplementedError('line_parts < 2 not supported.\n' + line)
+    if ftype == 'MULTILINE_OCTAL':
         in_multiline = True
         value = ""
+        binval = bytearray()
         continue
     obj[field] = value
-if len(obj.items()) > 0:
+if len(list(obj.items())) > 0:
     objects.append(obj)
 
-# Read blacklist.
-blacklist = []
-if os.path.exists('blacklist.txt'):
-    for line in open('blacklist.txt', 'r'):
-        line = line.strip()
-        if line.startswith('#') or len(line) == 0:
-            continue
-        item = line.split('#', 1)[0].strip()
-        blacklist.append(item)
-
 # Build up trust database.
-trust = dict()
 trustmap = dict()
 for obj in objects:
-
     if obj['CKA_CLASS'] != 'CKO_NSS_TRUST':
         continue
-    if obj['CKA_LABEL'] in blacklist:
-        print "Certificate %s blacklisted, ignoring." % obj['CKA_LABEL']
-    elif obj['CKA_TRUST_SERVER_AUTH'] == 'CKT_NSS_TRUSTED_DELEGATOR':
-        trust[obj['CKA_LABEL']] = True
-    elif obj['CKA_TRUST_EMAIL_PROTECTION'] == 'CKT_NSS_TRUSTED_DELEGATOR':
-        trust[obj['CKA_LABEL']] = True
-    elif obj['CKA_TRUST_CODE_SIGNING'] == 'CKT_NSS_TRUSTED_DELEGATOR':
-        trust[obj['CKA_LABEL']] = True
-    elif obj['CKA_TRUST_SERVER_AUTH'] == 'CKT_NSS_UNTRUSTED':
-        print '!'*74
-        print "UNTRUSTED BUT NOT BLACKLISTED CERTIFICATE FOUND: %s" % obj['CKA_LABEL']
-        print '!'*74
-        sys.exit(1)
-    else:
-        print "Ignoring certificate %s.  SAUTH=%s, EPROT=%s" % \
-              (obj['CKA_LABEL'], obj['CKA_TRUST_SERVER_AUTH'],
-               obj['CKA_TRUST_EMAIL_PROTECTION'])
-    label = obj['CKA_LABEL']
-    trustmap[label] = obj
-    print " added cert", label
+    key = obj['CKA_LABEL'] + printable_serial(obj)
+    trustmap[key] = obj
+    print(" added trust", key)
+
+# Build up cert database.
+certmap = dict()
+for obj in objects:
+    if obj['CKA_CLASS'] != 'CKO_CERTIFICATE':
+        continue
+    key = obj['CKA_LABEL'] + printable_serial(obj)
+    certmap[key] = obj
+    print(" added cert", key)
 
 def obj_to_filename(obj):
     label = obj['CKA_LABEL'][1:-1]
@@ -124,9 +113,31 @@ def obj_to_filename(obj):
         .replace('(', '=')\
         .replace(')', '=')\
         .replace(',', '_')
-    label = re.sub(r'\\x[0-9a-fA-F]{2}', lambda m:chr(int(m.group(0)[2:], 16)), label)
-    serial = ".".join(map(lambda x:str(ord(x)), obj['CKA_SERIAL_NUMBER']))
-    return label + ":" + serial + ".crt"
+    labelbytes = bytearray()
+    i = 0
+    imax = len(label)
+    while i < imax:
+        if i < imax-3 and label[i] == '\\' and label[i+1] == 'x':
+            labelbytes.extend(bytes.fromhex(label[i+2:i+4]))
+            i += 4
+            continue
+        labelbytes.extend(str.encode(label[i]))
+        i = i+1
+        continue
+    label = labelbytes.decode('utf-8')
+    serial = printable_serial(obj)
+    return label + ":" + serial
+
+def write_cert_ext_to_file(f, oid, value, public_key):
+    f.write("[p11-kit-object-v1]\n")
+    f.write("label: ");
+    f.write(tobj['CKA_LABEL'])
+    f.write("\n")
+    f.write("class: x-certificate-extension\n");
+    f.write("object-id: " + oid + "\n")
+    f.write("value: \"" + value + "\"\n")
+    f.write("modifiable: false\n");
+    f.write(public_key)
 
 trust_types = {
   "CKA_TRUST_DIGITAL_SIGNATURE": "digital-signature",
@@ -147,6 +158,18 @@ trust_types = {
   "CKA_TRUST_STEP_UP_APPROVED": "step-up-approved",
 }
 
+legacy_trust_types = {
+  "LEGACY_CKA_TRUST_SERVER_AUTH": "server-auth",
+  "LEGACY_CKA_TRUST_CODE_SIGNING": "code-signing",
+  "LEGACY_CKA_TRUST_EMAIL_PROTECTION": "email-protection",
+}
+
+legacy_to_real_trust_types = {
+  "LEGACY_CKA_TRUST_SERVER_AUTH": "CKA_TRUST_SERVER_AUTH",
+  "LEGACY_CKA_TRUST_CODE_SIGNING": "CKA_TRUST_CODE_SIGNING",
+  "LEGACY_CKA_TRUST_EMAIL_PROTECTION": "CKA_TRUST_EMAIL_PROTECTION",
+}
+
 openssl_trust = {
   "CKA_TRUST_SERVER_AUTH": "serverAuth",
   "CKA_TRUST_CLIENT_AUTH": "clientAuth",
@@ -154,29 +177,237 @@ openssl_trust = {
   "CKA_TRUST_EMAIL_PROTECTION": "emailProtection",
 }
 
-for obj in objects:
-    if obj['CKA_CLASS'] == 'CKO_CERTIFICATE':
-        print "producing cert file for " + obj['CKA_LABEL']
-        if not obj['CKA_LABEL'] in trust or not trust[obj['CKA_LABEL']]:
-            print " -> untrusted, ignoring"
-            continue
-        fname = obj_to_filename(obj)
-        f = open(fname, 'w')
+cert_distrust_types = {
+  "CKA_NSS_SERVER_DISTRUST_AFTER": "nss-server-distrust-after",
+  "CKA_NSS_EMAIL_DISTRUST_AFTER": "nss-email-distrust-after",
+}
+
+for tobj in objects:
+    if tobj['CKA_CLASS'] == 'CKO_NSS_TRUST':
+        key = tobj['CKA_LABEL'] + printable_serial(tobj)
+        print("producing trust for " + key)
         trustbits = []
+        distrustbits = []
         openssl_trustflags = []
-        tobj = trustmap[obj['CKA_LABEL']]
-        for t in trust_types.keys():
-            if tobj.has_key(t) and tobj[t] == 'CKT_NSS_TRUSTED_DELEGATOR':
+        openssl_distrustflags = []
+        legacy_trustbits = []
+        legacy_openssl_trustflags = []
+        for t in list(trust_types.keys()):
+            if t in tobj and tobj[t] == 'CKT_NSS_TRUSTED_DELEGATOR':
                 trustbits.append(t)
                 if t in openssl_trust:
                     openssl_trustflags.append(openssl_trust[t])
-        f.write("# trust=" + " ".join(trustbits) + "\n")
-        if openssl_trustflags:
-            f.write("# openssl-trust=" + " ".join(openssl_trustflags) + "\n")
-        f.write("-----BEGIN CERTIFICATE-----\n")
-        f.write("\n".join(textwrap.wrap(base64.b64encode(obj['CKA_VALUE']), 64)))
-        f.write("\n-----END CERTIFICATE-----\n")
-        print " -> written as '%s', trust = %s, openssl-trust = %s" % (fname, trustbits, openssl_trustflags)
+            if t in tobj and tobj[t] == 'CKT_NSS_NOT_TRUSTED':
+                distrustbits.append(t)
+                if t in openssl_trust:
+                    openssl_distrustflags.append(openssl_trust[t])
+
+        for t in list(legacy_trust_types.keys()):
+            if t in tobj and tobj[t] == 'CKT_NSS_TRUSTED_DELEGATOR':
+                real_t = legacy_to_real_trust_types[t]
+                legacy_trustbits.append(real_t)
+                if real_t in openssl_trust:
+                    legacy_openssl_trustflags.append(openssl_trust[real_t])
+            if t in tobj and tobj[t] == 'CKT_NSS_NOT_TRUSTED':
+                raise NotImplementedError('legacy distrust not supported.\n' + line)
+
+        fname = obj_to_filename(tobj)
+        try:
+            obj = certmap[key]
+        except:
+            obj = None
+
+        # optional debug code, that dumps the parsed input to files
+        #fulldump = "dump-" + fname
+        #dumpf = open(fulldump, 'w')
+        #dumpf.write(str(obj));
+        #dumpf.write(str(tobj));
+        #dumpf.close();
+
+        is_legacy = 0
+        if 'LEGACY_CKA_TRUST_SERVER_AUTH' in tobj or 'LEGACY_CKA_TRUST_EMAIL_PROTECTION' in tobj or 'LEGACY_CKA_TRUST_CODE_SIGNING' in tobj:
+            is_legacy = 1
+            if obj == None:
+                raise NotImplementedError('found legacy trust without certificate.\n' + line)
+
+            legacy_fname = "legacy-default/" + fname + ".crt"
+            f = open(legacy_fname, 'w')
+            f.write("# alias=%s\n"%tobj['CKA_LABEL'])
+            f.write("# trust=" + " ".join(legacy_trustbits) + "\n")
+            if legacy_openssl_trustflags:
+                f.write("# openssl-trust=" + " ".join(legacy_openssl_trustflags) + "\n")
+            f.write("-----BEGIN CERTIFICATE-----\n")
+            temp_encoded_b64 = base64.b64encode(obj['CKA_VALUE'])
+            temp_wrapped = textwrap.wrap(temp_encoded_b64.decode(), 64)
+            f.write("\n".join(temp_wrapped))
+            f.write("\n-----END CERTIFICATE-----\n")
+            f.close()
+
+            if 'CKA_TRUST_SERVER_AUTH' in tobj or 'CKA_TRUST_EMAIL_PROTECTION' in tobj or 'CKA_TRUST_CODE_SIGNING' in tobj:
+                legacy_fname = "legacy-disable/" + fname + ".crt"
+                f = open(legacy_fname, 'w')
+                f.write("# alias=%s\n"%tobj['CKA_LABEL'])
+                f.write("# trust=" + " ".join(trustbits) + "\n")
+                if openssl_trustflags:
+                    f.write("# openssl-trust=" + " ".join(openssl_trustflags) + "\n")
+                f.write("-----BEGIN CERTIFICATE-----\n")
+                f.write("\n".join(textwrap.wrap(base64.b64encode(obj['CKA_VALUE']), 64)))
+                f.write("\n-----END CERTIFICATE-----\n")
+                f.close()
+
+            # don't produce p11-kit output for legacy certificates
+            continue
+
+        pk = ''
+        cert_comment = ''
+        if obj != None:
+            # must extract the public key from the cert, let's use openssl
+            cert_fname = "cert-" + fname
+            fc = open(cert_fname, 'w')
+            fc.write("-----BEGIN CERTIFICATE-----\n")
+            temp_encoded_b64 = base64.b64encode(obj['CKA_VALUE'])
+            temp_wrapped = textwrap.wrap(temp_encoded_b64.decode(), 64)
+            fc.write("\n".join(temp_wrapped))
+            fc.write("\n-----END CERTIFICATE-----\n")
+            fc.close();
+            pk_fname = "pubkey-" + fname
+            fpkout = open(pk_fname, "w")
+            dump_pk_command = ["openssl", "x509", "-in", cert_fname, "-noout", "-pubkey"]
+            subprocess.call(dump_pk_command, stdout=fpkout)
+            fpkout.close()
+            with open (pk_fname, "r") as myfile:
+                pk=myfile.read()
+            # obtain certificate information suitable as a comment
+            comment_fname = "comment-" + fname
+            fcout = open(comment_fname, "w")
+            comment_command = ["openssl", "x509", "-in", cert_fname, "-noout", "-text"]
+            subprocess.call(comment_command, stdout=fcout)
+            fcout.close()
+            sed_command = ["sed", "--in-place", "s/^/#/", comment_fname]
+            subprocess.call(sed_command)
+            with open (comment_fname, "r", errors = 'replace') as myfile:
+                cert_comment=myfile.read()
+
+        fname += ".tmp-p11-kit"
+        f = open(fname, 'w')
+
+        if obj != None:
+            is_distrusted = False
+            has_server_trust = False
+            has_email_trust = False
+            has_code_trust = False
+
+            if 'CKA_TRUST_SERVER_AUTH' in tobj:
+                if tobj['CKA_TRUST_SERVER_AUTH'] == 'CKT_NSS_NOT_TRUSTED':
+                    is_distrusted = True
+                elif tobj['CKA_TRUST_SERVER_AUTH'] == 'CKT_NSS_TRUSTED_DELEGATOR':
+                    has_server_trust = True
+
+            if 'CKA_TRUST_EMAIL_PROTECTION' in tobj:
+                if tobj['CKA_TRUST_EMAIL_PROTECTION'] == 'CKT_NSS_NOT_TRUSTED':
+                    is_distrusted = True
+                elif tobj['CKA_TRUST_EMAIL_PROTECTION'] == 'CKT_NSS_TRUSTED_DELEGATOR':
+                    has_email_trust = True
+
+            if 'CKA_TRUST_CODE_SIGNING' in tobj:
+                if tobj['CKA_TRUST_CODE_SIGNING'] == 'CKT_NSS_NOT_TRUSTED':
+                    is_distrusted = True
+                elif tobj['CKA_TRUST_CODE_SIGNING'] == 'CKT_NSS_TRUSTED_DELEGATOR':
+                    has_code_trust = True
+
+            if is_distrusted:
+                trust_ext_oid = "1.3.6.1.4.1.3319.6.10.1"
+                trust_ext_value = "0.%06%0a%2b%06%01%04%01%99w%06%0a%01%04 0%1e%06%08%2b%06%01%05%05%07%03%04%06%08%2b%06%01%05%05%07%03%01%06%08%2b%06%01%05%05%07%03%03"
+                write_cert_ext_to_file(f, trust_ext_oid, trust_ext_value, pk)
+
+            trust_ext_oid = "2.5.29.37"
+            if has_server_trust:
+                if has_email_trust:
+                    if has_code_trust:
+                        # server + email + code
+                        trust_ext_value = "0%2a%06%03U%1d%25%01%01%ff%04 0%1e%06%08%2b%06%01%05%05%07%03%04%06%08%2b%06%01%05%05%07%03%01%06%08%2b%06%01%05%05%07%03%03"
+                    else:
+                        # server + email
+                        trust_ext_value = "0 %06%03U%1d%25%01%01%ff%04%160%14%06%08%2b%06%01%05%05%07%03%04%06%08%2b%06%01%05%05%07%03%01"
+                else:
+                    if has_code_trust:
+                        # server + code
+                        trust_ext_value = "0 %06%03U%1d%25%01%01%ff%04%160%14%06%08%2b%06%01%05%05%07%03%01%06%08%2b%06%01%05%05%07%03%03"
+                    else:
+                        # server
+                        trust_ext_value = "0%16%06%03U%1d%25%01%01%ff%04%0c0%0a%06%08%2b%06%01%05%05%07%03%01"
+            else:
+                if has_email_trust:
+                    if has_code_trust:
+                        # email + code
+                        trust_ext_value = "0 %06%03U%1d%25%01%01%ff%04%160%14%06%08%2b%06%01%05%05%07%03%04%06%08%2b%06%01%05%05%07%03%03"
+                    else:
+                        # email
+                        trust_ext_value = "0%16%06%03U%1d%25%01%01%ff%04%0c0%0a%06%08%2b%06%01%05%05%07%03%04"
+                else:
+                    if has_code_trust:
+                        # code
+                        trust_ext_value = "0%16%06%03U%1d%25%01%01%ff%04%0c0%0a%06%08%2b%06%01%05%05%07%03%03"
+                    else:
+                        # none
+                        trust_ext_value = "0%18%06%03U%1d%25%01%01%ff%04%0e0%0c%06%0a%2b%06%01%04%01%99w%06%0a%10"
+
+            # no 2.5.29.37 for neutral certificates
+            if (is_distrusted or has_server_trust or has_email_trust or has_code_trust):
+                write_cert_ext_to_file(f, trust_ext_oid, trust_ext_value, pk)
+
+            pk = ''
+            f.write("\n")
+
+            f.write("[p11-kit-object-v1]\n")
+            f.write("label: ");
+            f.write(tobj['CKA_LABEL'])
+            f.write("\n")
+            if is_distrusted:
+                f.write("x-distrusted: true\n")
+            elif has_server_trust or has_email_trust or has_code_trust:
+                f.write("trusted: true\n")
+            else:
+                f.write("trusted: false\n")
+
+            # requires p11-kit >= 0.23.4
+            f.write("nss-mozilla-ca-policy: true\n")
+            f.write("modifiable: false\n");
 
+            # requires p11-kit >= 0.23.19
+            for t in list(cert_distrust_types.keys()):
+                if t in obj:
+                    value = obj[t]
+                    if value == 'CK_FALSE':
+                        value = bytearray(1)
+                    f.write(cert_distrust_types[t] + ": \"")
+                    f.write(urllib.parse.quote(value));
+                    f.write("\"\n")
 
+            f.write("-----BEGIN CERTIFICATE-----\n")
+            temp_encoded_b64 = base64.b64encode(obj['CKA_VALUE'])
+            temp_wrapped = textwrap.wrap(temp_encoded_b64.decode(), 64)
+            f.write("\n".join(temp_wrapped))
+            f.write("\n-----END CERTIFICATE-----\n")
+            f.write(cert_comment)
+            f.write("\n")
 
+        else:
+            f.write("[p11-kit-object-v1]\n")
+            f.write("label: ");
+            f.write(tobj['CKA_LABEL']);
+            f.write("\n")
+            f.write("class: certificate\n")
+            f.write("certificate-type: x-509\n")
+            f.write("modifiable: false\n");
+            f.write("issuer: \"");
+            f.write(urllib.parse.quote(tobj['CKA_ISSUER']));
+            f.write("\"\n")
+            f.write("serial-number: \"");
+            f.write(urllib.parse.quote(tobj['CKA_SERIAL_NUMBER']));
+            f.write("\"\n")
+            if (tobj['CKA_TRUST_SERVER_AUTH'] == 'CKT_NSS_NOT_TRUSTED') or (tobj['CKA_TRUST_EMAIL_PROTECTION'] == 'CKT_NSS_NOT_TRUSTED') or (tobj['CKA_TRUST_CODE_SIGNING'] == 'CKT_NSS_NOT_TRUSTED'):
+              f.write("x-distrusted: true\n")
+            f.write("\n\n")
+        f.close()
+        print(" -> written as '%s', trust = %s, openssl-trust = %s, distrust = %s, openssl-distrust = %s" % (fname, trustbits, openssl_trustflags, distrustbits, openssl_distrustflags))
diff --git a/ca-certificates/generate-cacerts.pl b/ca-certificates/generate-cacerts.pl
deleted file mode 100755 (executable)
index 1860266..0000000
+++ /dev/null
@@ -1,347 +0,0 @@
-#!/usr/bin/perl -w
-
-use diagnostics;
-use Fcntl;
-
-# Copyright (C) 2007, 2008 Red Hat, Inc.
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-
-# generate-cacerts.pl generates a JKS keystore named 'cacerts' from
-# OpenSSL's certificate bundle using OpenJDK's keytool.
-
-# First extract each of OpenSSL's bundled certificates into its own
-# aliased filename.
-$file = $ARGV[1];
-open(CERTS, $file);
-@certs = <CERTS>;
-close(CERTS);
-
-$pem_file_count = 0;
-$in_cert_block = 0;
-$write_current_cert = 1;
-foreach $cert (@certs)
-{
-    if ($cert =~ "Certificate:\n")
-    {
-        print "New certificate...\n";
-    }        
-    elsif ($cert =~ /Subject: /)
-    {
-        $_ = $cert;
-        if ($cert =~ /personal-freemail/)
-        {
-            $cert_alias = "thawtepersonalfreemailca";
-        }
-        elsif ($cert =~ /personal-basic/)
-        {
-            $cert_alias = "thawtepersonalbasicca";
-        }
-        elsif ($cert =~ /personal-premium/)
-        {
-            $cert_alias = "thawtepersonalpremiumca";
-        }
-        elsif ($cert =~ /server-certs/)
-        {
-            $cert_alias = "thawteserverca";
-        }
-        elsif ($cert =~ /premium-server/)
-        {
-            $cert_alias = "thawtepremiumserverca";
-        }
-        elsif ($cert =~ /Class 1 Public Primary Certification Authority$/)
-        {
-            $cert_alias = "verisignclass1ca";
-        }
-        elsif ($cert =~ /Class 1 Public Primary Certification Authority - G2/)
-        {
-            $cert_alias = "verisignclass1g2ca";
-        }
-        elsif ($cert =~
-               /VeriSign Class 1 Public Primary Certification Authority - G3/)
-        {
-            $cert_alias = "verisignclass1g3ca";
-        }
-        elsif ($cert =~ /Class 2 Public Primary Certification Authority$/)
-        {
-            $cert_alias = "verisignclass2ca";
-        }
-        elsif ($cert =~ /Class 2 Public Primary Certification Authority - G2/)
-        {
-            $cert_alias = "verisignclass2g2ca";
-        }
-        elsif ($cert =~
-               /VeriSign Class 2 Public Primary Certification Authority - G3/)
-        {
-            $cert_alias = "verisignclass2g3ca";
-        }
-        elsif ($cert =~ /Class 3 Public Primary Certification Authority$/)
-        {
-            $cert_alias = "verisignclass3ca";
-        }
-        # Version 1 of Class 3 Public Primary Certification Authority
-        # - G2 is added.  Version 3 is excluded.  See below.
-        elsif ($cert =~ /Class 3 Public Primary Certification Authority - G2.*1998/)
-        {
-            $cert_alias = "verisignclass3g2ca";
-        }
-        elsif ($cert =~
-               /VeriSign Class 3 Public Primary Certification Authority - G3/)
-        {
-            $cert_alias = "verisignclass3g3ca";
-        }
-        elsif ($cert =~
-               /RSA Data Security.*Secure Server Certification Authority/)
-        {
-            $cert_alias = "rsaserverca";
-        }
-        elsif ($cert =~ /GTE CyberTrust Global Root/)
-        {
-            $cert_alias = "gtecybertrustglobalca";
-        }
-        elsif ($cert =~ /Baltimore CyberTrust Root/)
-        {
-            $cert_alias = "baltimorecybertrustca";
-        }
-        elsif ($cert =~ /www.entrust.net\/Client_CA_Info\/CPS/)
-        {
-            $cert_alias = "entrustclientca";
-        }
-        elsif ($cert =~ /www.entrust.net\/GCCA_CPS/)
-        {
-            $cert_alias = "entrustglobalclientca";
-        }
-        elsif ($cert =~ /www.entrust.net\/CPS_2048/)
-        {
-            $cert_alias = "entrust2048ca";
-        }
-        elsif ($cert =~ /www.entrust.net\/CPS incorp /)
-        {
-            $cert_alias = "entrustsslca";
-        }
-        elsif ($cert =~ /www.entrust.net\/SSL_CPS/)
-        {
-            $cert_alias = "entrustgsslca";
-        }
-        elsif ($cert =~ /The Go Daddy Group/)
-        {
-            $cert_alias = "godaddyclass2ca";
-        }
-        elsif ($cert =~ /Starfield Class 2 Certification Authority/)
-        {
-            $cert_alias = "starfieldclass2ca";
-        }
-        elsif ($cert =~ /ValiCert Class 2 Policy Validation Authority/)
-        {
-            $cert_alias = "valicertclass2ca";
-        }
-        elsif ($cert =~ /GeoTrust Global CA$/)
-        {
-            $cert_alias = "geotrustglobalca";
-        }
-        elsif ($cert =~ /Equifax Secure Certificate Authority/)
-        {
-            $cert_alias = "equifaxsecureca";
-        }
-        elsif ($cert =~ /Equifax Secure eBusiness CA-1/)
-        {
-            $cert_alias = "equifaxsecureebusinessca1";
-        }
-        elsif ($cert =~ /Equifax Secure eBusiness CA-2/)
-        {
-            $cert_alias = "equifaxsecureebusinessca2";
-        }
-        elsif ($cert =~ /Equifax Secure Global eBusiness CA-1/)
-        {
-            $cert_alias = "equifaxsecureglobalebusinessca1";
-        }
-        elsif ($cert =~ /Sonera Class1 CA/)
-        {
-            $cert_alias = "soneraclass1ca";
-        }
-        elsif ($cert =~ /Sonera Class2 CA/)
-        {
-            $cert_alias = "soneraclass2ca";
-        }
-        elsif ($cert =~ /AAA Certificate Services/)
-        {
-            $cert_alias = "comodoaaaca";
-        }
-        elsif ($cert =~ /AddTrust Class 1 CA Root/)
-        {
-            $cert_alias = "addtrustclass1ca";
-        }
-        elsif ($cert =~ /AddTrust External CA Root/)
-        {
-            $cert_alias = "addtrustexternalca";
-        }
-        elsif ($cert =~ /AddTrust Qualified CA Root/)
-        {
-            $cert_alias = "addtrustqualifiedca";
-        }
-        elsif ($cert =~ /UTN-USERFirst-Hardware/)
-        {
-            $cert_alias = "utnuserfirsthardwareca";
-        }
-        elsif ($cert =~ /UTN-USERFirst-Client Authentication and Email/)
-        {
-            $cert_alias = "utnuserfirstclientauthemailca";
-        }
-        elsif ($cert =~ /UTN - DATACorp SGC/)
-        {
-            $cert_alias = "utndatacorpsgcca";
-        }
-        elsif ($cert =~ /UTN-USERFirst-Object/)
-        {
-            $cert_alias = "utnuserfirstobjectca";
-        }
-        elsif ($cert =~ /America Online Root Certification Authority 1/)
-        {
-            $cert_alias = "aolrootca1";
-        }
-        elsif ($cert =~ /DigiCert Assured ID Root CA/)
-        {
-            $cert_alias = "digicertassuredidrootca";
-        }
-        elsif ($cert =~ /DigiCert Global Root CA/)
-        {
-            $cert_alias = "digicertglobalrootca";
-        }
-        elsif ($cert =~ /DigiCert High Assurance EV Root CA/)
-        {
-            $cert_alias = "digicerthighassuranceevrootca";
-        }
-        elsif ($cert =~ /GlobalSign Root CA$/)
-        {
-            $cert_alias = "globalsignca";
-        }
-        elsif ($cert =~ /GlobalSign Root CA - R2/)
-        {
-            $cert_alias = "globalsignr2ca";
-        }
-        elsif ($cert =~ /Elektronik.*Kas.*2005/)
-        {
-            $cert_alias = "extra-elektronikkas2005";
-        }
-        elsif ($cert =~ /Muntaner 244 Barcelona.*Firmaprofesional/)
-        {
-            $cert_alias = "extra-oldfirmaprofesional";
-        }
-        # Mozilla does not provide these certificates:
-        #   baltimorecodesigningca
-        #   gtecybertrust5ca
-        #   trustcenterclass2caii
-        #   trustcenterclass4caii
-        #   trustcenteruniversalcai
-        else
-        {
-            # Generate an alias using the OU and CN attributes of the
-            # Subject field if both are present, otherwise use only the
-            # CN attribute.  The Subject field must have either the OU
-            # or the CN attribute.
-            $_ = $cert;
-            if ($cert =~ /OU=/)
-            {
-                s/Subject:.*?OU=//;
-                # Remove other occurrences of OU=.
-                s/OU=.*CN=//;
-                # Remove CN= if there were not other occurrences of OU=.
-                s/CN=//;
-                s/\/emailAddress.*//;
-                s/Certificate Authority/ca/g;
-                s/Certification Authority/ca/g;
-            }
-            elsif ($cert =~ /CN=/)
-            {
-                s/Subject:.*CN=//;
-                s/\/emailAddress.*//;
-                s/Certificate Authority/ca/g;
-                s/Certification Authority/ca/g;
-            }
-            s/\W//g;
-            tr/A-Z/a-z/;
-            $cert_alias = "extra-$_";
-        }
-        print "$cert => alias $cert_alias\n";
-    }
-    elsif ($cert =~ "Signature Algorithm: ecdsa")
-    {
-        # Ignore ECC certs since keytool rejects them
-        $write_current_cert = 0;
-        print " => ignoring ECC certificate\n";
-    }
-    elsif ($cert eq "-----BEGIN CERTIFICATE-----\n")
-    {
-        if ($in_cert_block != 0)
-        {
-            die "FAIL: $file is malformed.";
-        }
-        $in_cert_block = 1;
-        if ($write_current_cert == 1)
-        {
-            $pem_file_count++;
-            if (!sysopen(PEM, "$cert_alias.pem", O_WRONLY|O_CREAT|O_EXCL)) {
-                $cert_alias = "$cert_alias.1";
-                sysopen(PEM, "$cert_alias.1.pem", O_WRONLY|O_CREAT|O_EXCL)
-                    || die("FAIL: could not open file for $cert_alias.pem: $!");
-            }
-            print PEM $cert;
-            print " => writing $cert_alias.pem...\n";
-        }
-    }
-    elsif ($cert eq "-----END CERTIFICATE-----\n")
-    {
-        $in_cert_block = 0;
-        if ($write_current_cert == 1)
-        {
-            print PEM $cert;
-            close(PEM);
-        }
-        $write_current_cert = 1
-    }
-    else
-    {
-        if ($in_cert_block == 1 && $write_current_cert == 1)
-        {
-            print PEM $cert;
-        }
-    }
-}
-
-# Check that the correct number of .pem files were produced.
-@pem_files = <*.pem>;
-if (@pem_files != $pem_file_count)
-{
-    print "$pem_file_count != ".@pem_files."\n";
-    die "FAIL: Number of .pem files produced does not match".
-        " number of certs read from $file.";
-}
-
-# Now store each cert in the 'cacerts' file using keytool.
-$certs_written_count = 0;
-foreach $pem_file (@pem_files)
-{
-    print "+ Adding $pem_file...\n";
-    if (system("$ARGV[0] -import".
-               " -alias `basename $pem_file .pem`".
-               " -keystore cacerts -noprompt -storepass 'changeit' -file $pem_file") == 0) {
-        $certs_written_count++;
-    } else {
-        print "FAILED\n";
-    }
-}
-
-# Check that the correct number of certs were added to the keystore.
-if ($certs_written_count != $pem_file_count)
-{
-    die "FAIL: Number of certs added to keystore does not match".
-        " number of certs read from $file.";
-}
index 4fdd382121d611b435440d69a043b0791f711389..d14e15a614e1bdc993c4832f62554f3b86ef3be7 100644 (file)
@@ -4,11 +4,12 @@
 ###############################################################################
 
 name       = cairo
-version    = 1.14.10
+version    = %{ver_maj}.6
+ver_maj    = 1.17
 release    = 1
 
 groups     = System/Graphics
-url        = http://cairographics.org
+url        = https://cairographics.org
 license    = LGPLv2 MPLv1.1
 summary    = A 2D graphics library.
 
@@ -17,28 +18,42 @@ description
        and print output.
 end
 
-source_dl  = http://cairographics.org/releases/
+source_dl  = https://download.gnome.org/sources/%{name}/%{ver_maj}/
 sources    = %{thisapp}.tar.xz
 
 build
        requires
-               binutils>=2.21.51.0.8-2
+               expat-devel
                fontconfig-devel >= 2.10
                freetype-devel
+               ghostscript-devel
                glib2-devel >= 2.14
                gobject-introspection-devel
                libxml2-devel
                libpng-devel
+               lzo-devel
+               meson
+               ninja
                pixman-devel >= 0.30.0
                pkg-config
                zlib-devel
        end
 
-       configure_options += \
-               --enable-xml \
-               --enable-gobject \
-               --disable-gtk-doc \
-               --disable-static
+       build
+               # Tests require poppler which we currently don't have
+               %{meson} \
+                       -Dtests=disabled \
+                       -Dspectre=disabled \
+                       -Dsymbol-lookup=disabled \
+                       -Dxcb=disabled \
+                       -Dxlib=disabled
+
+               %{meson_build}
+       end
+
+       install
+               %{meson_install}
+       end
 end
 
 packages
diff --git a/cairo/patches/cairo-1.17.6-meson-fixes.patch b/cairo/patches/cairo-1.17.6-meson-fixes.patch
new file mode 100644 (file)
index 0000000..ea02448
--- /dev/null
@@ -0,0 +1,178 @@
+diff -urN cairo-1.17.6.old/doc/public/meson.build cairo-1.17.6/doc/public/meson.build
+--- cairo-1.17.6.old/doc/public/meson.build    1970-01-01 01:00:00.000000000 +0100
++++ cairo-1.17.6/doc/public/meson.build        2022-03-20 16:22:31.018317576 +0000
+@@ -0,0 +1,156 @@
++gnome = import('gnome')
++
++ignore_headers = [
++  # Sub-directories
++  'win32',
++
++  # Internal headers
++  'cairoint.h',
++  'cairo-features.h',
++  'cairo-features-win32.h',
++
++  # Inlined API
++  'cairo-box-inline.h',
++  'cairo-clip-inline.h',
++  'cairo-combsort-inline.h',
++  'cairo-contour-inline.h',
++  'cairo-error-inline.h',
++  'cairo-image-surface-inline.h',
++  'cairo-line-inline.h',
++  'cairo-list-inline.h',
++  'cairo-pattern-inline.h',
++  'cairo-recording-surface-inline.h',
++  'cairo-surface-inline.h',
++  'cairo-surface-observer-inline.h',
++  'cairo-surface-snapshot-inline.h',
++  'cairo-surface-subsurface-inline.h',
++
++  # Private headers
++  'cairo-analysis-surface-private.h',
++  'cairo-arc-private.h',
++  'cairo-array-private.h',
++  'cairo-atomic-private.h',
++  'cairo-backend-private.h',
++  'cairo-boxes-private.h',
++  'cairo-cache-private.h',
++  'cairo-clip-private.h',
++  'cairo-compiler-private.h',
++  'cairo-composite-rectangles-private.h',
++  'cairo-compositor-private.h',
++  'cairo-contour-private.h',
++  'cairo-damage-private.h',
++  'cairo-default-context-private.h',
++  'cairo-deprecated.h',
++  'cairo-device-private.h',
++  'cairo-error-private.h',
++  'cairo-fixed-private.h',
++  'cairo-fixed-type-private.h',
++  'cairo-fontconfig-private.h',
++  'cairo-freed-pool-private.h',
++  'cairo-freelist-private.h',
++  'cairo-freelist-type-private.h',
++  'cairo-ft-private.h',
++  'cairo-gstate-private.h',
++  'cairo-hash-private.h',
++  'cairo-image-info-private.h',
++  'cairo-image-surface-private.h',
++  'cairo-line-private.h',
++  'cairo-list-private.h',
++  'cairo-malloc-private.h',
++  'cairo-mempool-private.h',
++  'cairo-mutex-impl-private.h',
++  'cairo-mutex-list-private.h',
++  'cairo-mutex-private.h',
++  'cairo-mutex-type-private.h',
++  'cairo-output-stream-private.h',
++  'cairo-paginated-private.h',
++  'cairo-paginated-surface-private.h',
++  'cairo-path-fixed-private.h',
++  'cairo-path-private.h',
++  'cairo-pattern-private.h',
++  'cairo-pdf-operators-private.h',
++  'cairo-pdf-shading-private.h',
++  'cairo-pdf-surface-private.h',
++  'cairo-pixman-private.h',
++  'cairo-private.h',
++  'cairo-ps-surface-private.h',
++  'cairo-quartz-private.h',
++  'cairo-recording-surface-private.h',
++  'cairo-reference-count-private.h',
++  'cairo-region-private.h',
++  'cairo-rtree-private.h',
++  'cairo-scaled-font-private.h',
++  'cairo-scaled-font-subsets-private.h',
++  'cairo-script-private.h',
++  'cairo-slope-private.h',
++  'cairo-spans-compositor-private.h',
++  'cairo-spans-private.h',
++  'cairo-stroke-dash-private.h',
++  'cairo-surface-backend-private.h',
++  'cairo-surface-clipper-private.h',
++  'cairo-surface-fallback-private.h',
++  'cairo-surface-observer-private.h',
++  'cairo-surface-offset-private.h',
++  'cairo-surface-private.h',
++  'cairo-surface-snapshot-private.h',
++  'cairo-surface-subsurface-private.h',
++  'cairo-surface-wrapper-private.h',
++  'cairo-svg-surface-private.h',
++  'cairo-tag-attributes-private.h',
++  'cairo-tag-stack-private.h',
++  'cairo-tee-surface-private.h',
++  'cairo-time-private.h',
++  'cairo-traps-private.h',
++  'cairo-tristrip-private.h',
++  'cairo-truetype-subset-private.h',
++  'cairo-type1-private.h',
++  'cairo-type3-glyph-surface-private.h',
++  'cairo-types-private.h',
++  'cairo-user-font-private.h',
++  'cairo-wideint-private.h',
++  'cairo-wideint-type-private.h',
++  'cairo-xcb-private.h',
++  'cairo-xlib-private.h',
++  'cairo-xlib-surface-private.h',
++  'cairo-xlib-xrender-private.h',
++  'test-compositor-surface-private.h',
++]
++
++ignore_decorators = [
++  'cairo_public',
++  'cairo_private',
++]
++
++docpath = get_option('prefix') / get_option('datadir') / 'gtk-doc/html'
++version_conf = configuration_data()
++version_conf.set('CAIRO_VERSION', meson.project_version())
++configure_file(
++  input: 'version.xml.in',
++  output: 'version.xml',
++  configuration: version_conf
++)
++
++gnome.gtkdoc('cairo',
++  main_xml: 'cairo-docs.xml',
++  namespace: 'cairo',
++  mode: 'sgml',
++  src_dir: doc_srcdir,
++  dependencies: libcairo_dep,
++  scan_args: [
++    '--ignore-decorators=' + '|'.join(ignore_decorators),
++    '--ignore-headers=' + ' '.join(ignore_headers),
++  ],
++  content_files: [
++    'language-bindings.xml',
++  ],
++  expand_content_files: [
++    'language-bindings.xml',
++  ],
++  html_assets: [
++  ],
++  fixxref_args: [
++    '--html-dir=' + docpath,
++  ],
++  install: true,
++  check: true,
++)
+diff -urN cairo-1.17.6.old/doc/public/version.xml.in cairo-1.17.6/doc/public/version.xml.in
+--- cairo-1.17.6.old/doc/public/version.xml.in 1970-01-01 01:00:00.000000000 +0100
++++ cairo-1.17.6/doc/public/version.xml.in     2022-03-20 16:33:04.015756161 +0000
+@@ -0,0 +1 @@
++@CAIRO_VERSION@
+diff -urN cairo-1.17.6.old/meson-cc-tests/check-unused-result.c cairo-1.17.6/meson-cc-tests/check-unused-result.c
+--- cairo-1.17.6.old/meson-cc-tests/check-unused-result.c      1970-01-01 01:00:00.000000000 +0100
++++ cairo-1.17.6/meson-cc-tests/check-unused-result.c  2022-03-20 15:55:39.285562258 +0000
+@@ -0,0 +1,9 @@
++__attribute__((__warn_unused_result__)) void f (void) {}
++__attribute__((__warn_unused_result__)) int g;
++
++int main(int c, char **v)
++{
++    (void)c;
++    (void)v;
++    return 0;
++}
index 6edc79767a7c9a51a913461bbb429800d0a30900..0f0536623e9e42ad7efaa0520ff348fc7ad9fa0d 100644 (file)
@@ -4,7 +4,7 @@
 ###############################################################################
 
 name       = ccache
-version    = 3.7.1
+version    = 4.8.3
 release    = 1
 
 groups     = Development/Compilers
@@ -20,27 +20,22 @@ description
 end
 
 source_dl  = https://github.com/ccache/ccache/releases/download/v%{version}/
-sources    = %{thisapp}.tar.xz
-
-# Sets ccache max size up to 2 GB
-CFLAGS += -DDEFAULT_MAXSIZE=2097152
 
 build
        requires
-               autoconf
-               automake
+               cmake
                perl
                zlib-devel
+               zstd-devel
        end
 
        CCACHE_CACHE = %{localstatedir}/cache/ccache
 
-       prepare_cmds
-               # Do not run test for pre-compiled headers
-               sed -e "/^pch$/d" -i test/run
+       build
+               %{cmake} . \
+                       -DREDIS_STORAGE_BACKEND=OFF
 
-               # Remove shipped zlib
-               rm -rf zlib
+               make %{PARALLELISMFLAGS}
        end
 
        test
diff --git a/check/check.nm b/check/check.nm
new file mode 100644 (file)
index 0000000..f2753c6
--- /dev/null
@@ -0,0 +1,41 @@
+###############################################################################
+# IPFire.org    - An Open Source Firewall Solution                            #
+# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
+###############################################################################
+
+name       = check
+version    = 0.15.2
+release    = 1
+
+groups     = System/Libraries
+url        = https://github.com/libcheck/check
+license    = LGPLv2.1
+summary    = A unit testing framework for C
+
+description
+       Check is a unit testing framework for C. It features a simple
+       interface for defining unit tests, putting little in the way of
+       the developer. Tests are run in a separate address space, so
+       Check can catch both assertion failures and code errors that
+       cause segmentation faults or other signals.
+end
+
+source_dl  = https://github.com/libcheck/check/releases/download/%{version}/
+
+build
+       test
+               LD_LIBRARY_PATH="%{DIR_APP}/src/.libs" make check
+       end
+end
+
+packages
+       package %{name}
+
+       package %{name}-devel
+               template DEVEL
+       end
+
+       package %{name}-debuginfo
+               template DEBUGINFO
+       end
+end
diff --git a/chrony/chrony.logrotate b/chrony/chrony.logrotate
deleted file mode 100644 (file)
index 4bb83b2..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-/var/log/chrony/*.log {
-    missingok
-    nocreate
-    sharedscripts
-    postrotate
-        /usr/libexec/chrony-helper command cyclelogs > /dev/null 2>&1 || true
-    endscript
-}
index a0e073db71486112197cf2ed5fb8def36544468f..fbf6ae4cbb33a2281420313149b72abf0eb8a8e2 100644 (file)
@@ -4,8 +4,8 @@
 ###############################################################################
 
 name       = chrony
-version    = 3.4
-release    = 1
+version    = 4.3
+release    = 2
 
 groups     = System/Daemons
 url        = https://chrony.tuxfamily.org
@@ -53,10 +53,6 @@ build
                install -m 640 -p %{DIR_SOURCE}/chrony.keys %{BUILDROOT}/etc/chrony.keys
                chown -v root.chrony %{BUILDROOT}/etc/chrony.keys
 
-               mkdir -pv %{BUILDROOT}/etc/logrotate.d
-               install -m 644 -p %{DIR_SOURCE}/chrony.logrotate \
-                       %{BUILDROOT}/etc/logrotate.d/chrony
-
                chown -Rv chrony.chrony %{BUILDROOT}/var/{lib,log}/chrony
        end
 end
diff --git a/chrpath/chrpath.nm b/chrpath/chrpath.nm
deleted file mode 100644 (file)
index 6106930..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = chrpath
-version    = 0.13
-release    = 1
-
-groups     = Development/Tools
-url        = ftp://ftp.hungry.com/pub/hungry/chrpath/
-license    = GPL+
-summary    = Modify rpath of compiled programs.
-
-description
-       chrpath allows you to modify the dynamic library load path (rpath) of
-       compiled programs.  Currently, only removing and modifying the rpath
-       is supported.
-end
-
-source_dl  = %{url}
-
-build
-       configure_options += \
-               --mandir=/usr/share/man
-
-       install_cmds
-               rm -rfv %{BUILDROOT}/usr/doc
-       end
-end
-
-packages
-       package %{name}
-       end
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
diff --git a/chrpath/patches/chrpath-0.13-NULL-entry.patch b/chrpath/patches/chrpath-0.13-NULL-entry.patch
deleted file mode 100644 (file)
index 27275d2..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-diff -uNr chrpath-0.13.old/killrpath.c chrpath-0.13/killrpath.c
---- chrpath-0.13.old/killrpath.c       2003-06-24 00:46:15.000000000 +0200
-+++ chrpath-0.13/killrpath.c   2009-07-19 23:05:11.000000000 +0200
-@@ -73,8 +73,11 @@
-        if ( ! elf_dynpath_tag(dyns[i].d_tag) )
-         dynpos++;
-      }
--   for (; dynpos < i; dynpos++)
-+   for (; dynpos < i; dynpos++) {
-      dyns[dynpos].d_tag = DT_NULL;
-+     dyns[dynpos].d_un.d_val = 0x0;
-+   }
-+
-    if (lseek(fd, phdr.p_offset, SEEK_SET) == -1
-        || write(fd, dyns, phdr.p_filesz) != (int)phdr.p_filesz)
diff --git a/cifs-utils/cifs-utils.nm b/cifs-utils/cifs-utils.nm
deleted file mode 100644 (file)
index 191afdf..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = cifs-utils
-version    = 6.6
-release    = 1
-
-groups     = System/Tools
-url        = https://wiki.samba.org/index.php/LinuxCIFS_utils
-license    = GPL
-summary    = A utility for the Common Internet File System
-
-description
-       This package of tools is called cifs-utils. Although not really part
-       of Samba proper, these tools were originally part of the Samba package.
-       For several reasons, shipping these tools as part of Samba was
-       problematic and it was deemed better to split them off into their own
-       package.
-end
-
-source_dl  = http://download.samba.org/pub/linux-cifs/cifs-utils/
-sources    = %{thisapp}.tar.bz2
-
-build
-       test
-               make check
-       end
-end
-
-packages
-       package %{name}
-
-       package %{name}-devel
-               template DEVEL
-       end
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
diff --git a/clamav/clamav.nm b/clamav/clamav.nm
deleted file mode 100644 (file)
index 2f781ce..0000000
+++ /dev/null
@@ -1,101 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = clamav
-version    = 0.101.4
-release    = 1
-
-groups     = System Environment/Daemons
-url        = http://www.clamav.net
-license    = GPLv2
-summary    = A GPL virus scanner
-
-description
-       ClamAV is an open source (GPL) antivirus engine designed for
-       detecting Trojans, viruses, malware and other malicious threats.
-       It is the de facto standard for mail gateway scanning. It
-       provides a high performance mutli-threaded scanning daemon,
-       command line utilities for on demand file scanning, and an
-       intelligent tool for automatic signature updates. The core ClamAV
-       library provides numerous file format detection mechanisms, file
-       unpacking support, archive support, and multiple signature
-       languages for detecting threats.
-end
-
-source_dl  = http://www.clamav.net/downloads/production/
-
-build
-       requires
-               bzip2-devel
-               curl-devel
-               gmp-devel
-               json-c-devel
-               libxml2-devel
-               ncurses-devel
-               openssl-devel
-               pcre2-devel
-               shadow-utils
-               systemd-devel
-               zlib-devel
-       end
-
-       LDFLAGS += -Wl,--as-needed
-
-       configure_options += \
-               --with-dbdir=%{localstatedir}/lib/clamav \
-               --enable-clamdtop \
-               --with-user=clamupdate \
-               --with-group=clamupdate \
-               --disable-rpath \
-               --disable-llvm \
-               have_cv_ipv6=yes
-
-       # User and group have to exist to compile the source code,
-       # so we have to create them
-       prepare_cmds
-               groupadd -g 497 -r clamupdate
-               useradd -u 497 -r -s /sbin/nologin -d /var/lib/clamav -M \
-                       -c 'Clamav database update user' -g clamupdate clamupdate
-
-               groupadd -g 496 -r clamscan
-               useradd -u 496 -r -s /sbin/nologin -d / -M \
-                       -g clamscan clamscan
-       end
-end
-
-packages
-       package %{name}
-               requires
-                       %{name}-libs = %{thisver}
-               end
-       end
-
-       package %{name}-libs
-               template LIBS
-
-               requires
-                       %{name}-databases = %{thisver}
-               end
-       end
-
-       package %{name}-devel
-               template DEVEL
-       end
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-
-       package %{name}-databases
-               summary = Clamav Virus Databases.
-               description
-                       Shipped virus databases needed for virus scanning.
-               end
-
-               files
-                       %{localstatedir}/lib/%{name}
-               end
-       end
-end
diff --git a/clutter/clutter.nm b/clutter/clutter.nm
deleted file mode 100644 (file)
index 1d812b4..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = clutter
-version    = %{ver_maj}.%{ver_min}
-ver_maj    = 1.13
-ver_min    = 4
-release    = 2
-
-groups     = Development/Libraries
-url        = http://www.clutter-project.org/
-license    = LGPLv2+
-summary    = Open Source software library for creating rich graphical user \
-       interfaces.
-
-description
-       Clutter is an open source software library for creating fast,
-       visually rich graphical user interfaces. The most obvious example
-       of potential usage is in media center type applications.
-       We hope however it can be used for a lot more.
-end
-
-source_dl  = http://download.gnome.org/sources/clutter/%{ver_maj}/
-sources    = %{thisapp}.tar.xz
-
-build
-       requires
-               atk-devel
-               cairo-gobject-devel
-               gdk-pixbuf2-devel
-               glib2-devel
-               gobject-introspection-devel >= 0.9.6
-               cogl-devel
-               gtk3-devel
-               json-glib-devel
-               libXcomposite-devel
-               libXdamage-devel
-               libXi-devel
-               libGL-devel
-               pango-devel
-       end
-
-       export LD_LIBRARY_PATH = %{DIR_APP}/clutter/.libs
-
-       configure_options += \
-               --enable-xinput
-
-       make_build_targets += V=1
-end
-
-packages
-       package %{name}
-               requires
-                       libGL
-               end
-       end
-
-       package %{name}-devel
-               template DEVEL
-
-               files += \
-                       %{datadir}/gir*/
-       end
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
diff --git a/clutter/patches/clutter-1.13.4-xi23.patch b/clutter/patches/clutter-1.13.4-xi23.patch
deleted file mode 100644 (file)
index b11c80c..0000000
+++ /dev/null
@@ -1,65 +0,0 @@
-From b58a1d66816c19eda079a1bd7cecd1ad03644e69 Mon Sep 17 00:00:00 2001
-From: "Jasper St. Pierre" <jstpierre@mecheye.net>
-Date: Wed, 23 Jan 2013 17:09:59 -0500
-Subject: [PATCH] x11: Always request XI2.2
-
-The X server should fill in the minor version that it supports in the
-case where it only supports the older version. We should not get a
-BadRequest or fail the version check if we pass something higher.
-
-https://bugzilla.gnome.org/show_bug.cgi?id=692466
----
- clutter/x11/clutter-backend-x11.c | 5 -----
- 1 file changed, 5 deletions(-)
-
-diff --git a/clutter/x11/clutter-backend-x11.c b/clutter/x11/clutter-backend-x11.c
-index 2d8f4ba..26f9581 100644
---- a/clutter/x11/clutter-backend-x11.c
-+++ b/clutter/x11/clutter-backend-x11.c
-@@ -239,12 +239,7 @@ clutter_backend_x11_create_device_manager (ClutterBackendX11 *backend_x11)
-             {
- #ifdef HAVE_XINPUT_2
-               int major = 2;
--
--#ifdef HAVE_XINPUT_2_2
-               int minor = 2;
--#else
--              int minor = 0;
--#endif /* HAVE_XINPUT_2_2 */
-               if (XIQueryVersion (backend_x11->xdpy, &major, &minor) != BadRequest)
-                 {
--- 
-1.8.1.2
-
-From 3e1450ba17fce90a8034cc525c67a87ff3cdd53d Mon Sep 17 00:00:00 2001
-From: "Jasper St. Pierre" <jstpierre@mecheye.net>
-Date: Wed, 23 Jan 2013 14:49:26 -0500
-Subject: [PATCH] clutter-backend: Request XI2.3
-
-Since XIQueryVersion, the bad API that it is, chooses the first client
-version that it gets, we need to ensure that we pass XIQueryVersion the
-new XI2.3 version, knowing fully well that Clutter won't be confused
-by the new features.
-
-https://bugzilla.gnome.org/show_bug.cgi?id=692466
----
- clutter/x11/clutter-backend-x11.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/clutter/x11/clutter-backend-x11.c b/clutter/x11/clutter-backend-x11.c
-index 26f9581..1015f4c 100644
---- a/clutter/x11/clutter-backend-x11.c
-+++ b/clutter/x11/clutter-backend-x11.c
-@@ -239,7 +239,7 @@ clutter_backend_x11_create_device_manager (ClutterBackendX11 *backend_x11)
-             {
- #ifdef HAVE_XINPUT_2
-               int major = 2;
--              int minor = 2;
-+              int minor = 3;
-               if (XIQueryVersion (backend_x11->xdpy, &major, &minor) != BadRequest)
-                 {
--- 
-1.8.1.2
-
diff --git a/clutter/patches/oob-device-fix.patch b/clutter/patches/oob-device-fix.patch
deleted file mode 100644 (file)
index cc59282..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-From d5604be9e5a148ced73dee2ede49b38f97119baf Mon Sep 17 00:00:00 2001
-From: Yanko Kaneti <yaneti@declera.com>
-Date: Mon, 28 Jan 2013 15:49:51 +0200
-Subject: [PATCH] xi2: Fix access beyond array boundaries
-
----
- clutter/x11/clutter-device-manager-xi2.c | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/clutter/x11/clutter-device-manager-xi2.c b/clutter/x11/clutter-device-manager-xi2.c
-index 616dee7..bd9473e 100644
---- a/clutter/x11/clutter-device-manager-xi2.c
-+++ b/clutter/x11/clutter-device-manager-xi2.c
-@@ -94,13 +94,13 @@ translate_valuator_class (Display             *xdisplay,
-       atoms_initialized = TRUE;
-     }
--  for (i = CLUTTER_INPUT_AXIS_IGNORE;
--       i < CLUTTER_INPUT_AXIS_LAST;
-+  for (i = 0;
-+       i < N_AXIS_ATOMS;
-        i += 1)
-     {
-       if (clutter_input_axis_atoms[i] == class->label)
-         {
--          axis = i;
-+          axis = i + 1;
-           break;
-         }
-     }
--- 
-1.8.1
-
diff --git a/cmake/cmake.macro b/cmake/cmake.macro
deleted file mode 100644 (file)
index f37e5ef..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# cmake macros
-#
-
-__cmake = /usr/bin/cmake
-if "%{lib}" == "lib64"
-       __cmake_lib_suffix = -DLIB_SUFFIX=64
-end
-
-cmake = %{__cmake} \
-       -DCMAKE_VERBOSE_MAKEFILE=ON \
-       -DCMAKE_INSTALL_PREFIX:PATH=%{prefix} \
-       -DINCLUDE_INSTALL_DIR:PATH=%{includedir} \
-       -DLIB_INSTALL_DIR:PATH=%{libdir} \
-       -DSYSCONF_INSTALL_DIR:PATH=%{sysconfdir} \
-       -DSHARE_INSTALL_PREFIX:PATH=%{datadir} \
-       %{__cmake_lib_suffix} \
-       -DBUILD_SHARED_LIBS:BOOL=ON
index ee8e910152f17df5e57104ceb90ee03d85bb90ae..4cd8471bb3cb857ab1ab6202f0dcd98dac490ad7 100644 (file)
@@ -5,12 +5,12 @@
 
 name       = cmake
 version    = %{ver_maj}.%{ver_min}
-ver_maj    = 3.14
-ver_min    = 5
+ver_maj    = 3.25
+ver_min    = 0
 release    = 1
 
 groups     = Development/Tools
-url        = http://www.cmake.org
+url        = https://www.cmake.org
 license    = BSD
 summary    = Cross-platform make system.
 
@@ -23,7 +23,7 @@ description
        generation, code generation, and template instantiation.
 end
 
-source_dl  = http://www.cmake.org/files/v%{ver_maj}/
+source_dl  = https://www.cmake.org/files/v%{ver_maj}/
 
 build
        requires
@@ -41,8 +41,6 @@ build
                zlib-devel
        end
 
-       PARALLELISMFLAGS = -j4
-
        build
                mkdir -pv build
                cd build && ../bootstrap \
@@ -65,11 +63,6 @@ build
 
        install
                cd build && make install DESTDIR=%{BUILDROOT}
-
-               # Install pakfire macro.
-               mkdir -p %{BUILDROOT}/usr/lib/pakfire/macros
-               install -v -m 644 %{DIR_SOURCE}/cmake.macro \
-                       %{BUILDROOT}/usr/lib/pakfire/macros
        end
 end
 
diff --git a/cmake/patches/cmake-strict_aliasing.patch b/cmake/patches/cmake-strict_aliasing.patch
deleted file mode 100644 (file)
index 2bc1555..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-diff -up cmake-2.8.11/Source/CMakeLists.txt\~ cmake-2.8.11/Source/CMakeLists.txt
---- cmake-2.8.11/Source/CMakeLists.txt~        2013-05-15 19:38:13.000000000 +0200
-+++ cmake-2.8.11/Source/CMakeLists.txt 2013-07-25 16:35:01.200389140 +0200
-@@ -308,6 +308,13 @@ if(APPLE)
-     cmLocalXCodeGenerator.h)
- endif()
-+# GCC shows strict aliasing warnings with cm_sha2.c.  Turn off the
-+# corresponding optimizations.
-+if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_COMPILER_IS_GNUCC)
-+  set_source_files_properties(cm_sha2.c PROPERTIES
-+                            COMPILE_FLAGS "-fno-strict-aliasing")
-+endif()
-+
- if (WIN32)
-   set(SRCS ${SRCS}
-
-Diff finished.  Thu Jul 25 16:35:18 2013
diff --git a/cmocka/cmocka.nm b/cmocka/cmocka.nm
new file mode 100644 (file)
index 0000000..df528ee
--- /dev/null
@@ -0,0 +1,83 @@
+###############################################################################
+# IPFire.org    - An Open Source Firewall Solution                            #
+# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
+###############################################################################
+
+name       = cmocka
+version    = 1.1.5
+release    = 1
+
+groups     = System/Libraries
+url        = https://cmocka.org
+license    = ASL 2.0
+summary    = An elegant unit testing framework for C with support for mock objects
+
+description
+       There are a variety of C unit testing frameworks available however many of them
+       are fairly complex and require the latest compiler technology. Some development
+       requires the use of old compilers which makes it difficult to use some unit
+       testing frameworks. In addition many unit testing frameworks assume the code
+       being tested is an application or module that is targeted to the same platform
+       that will ultimately execute the test. Because of this assumption many
+       frameworks require the inclusion of standard C library headers in the code
+       module being tested which may collide with the custom or incomplete
+       implementation of the C library utilized by the code under test.
+
+       Cmocka only requires a test application is linked with the standard C library
+       which minimizes conflicts with standard C library headers. Also, CMocka tries
+       to avoid the use of some of the newer features of C compilers.
+
+       This results in CMocka being a relatively small library that can be used to
+       test a variety of exotic code. If a developer wishes to simply test an
+       application with the latest compiler then other unit testing frameworks may be
+       preferable.
+
+       This is the successor of Google's Cmockery.
+end
+
+source_dl = https://cmocka.org/files/1.1/
+sources   = %{thisapp}.tar.xz
+
+build
+       requires
+               cmake
+               make
+       end
+
+       # Disable LTO
+       LTO_CFLAGS =
+
+       build
+               mkdir build && cd build
+
+               %{cmake} \
+                       -DUNIT_TESTING=ON \
+                       ..
+
+               make %{PARALLELISMFLAGS}
+       end
+
+       test
+               cd build
+
+               make test
+       end
+
+       install
+               cd build
+
+               make install DESTDIR="%{BUILDROOT}"
+       end
+end
+
+packages
+       package %{name}
+
+       package %{name}-devel
+               template DEVEL
+       end
+
+       package %{name}-debuginfo
+               template DEBUGINFO
+       end
+end
diff --git a/cogl/cogl.nm b/cogl/cogl.nm
deleted file mode 100644 (file)
index af6285a..0000000
+++ /dev/null
@@ -1,82 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = cogl
-version    = %{ver_maj}.%{ver_min}
-ver_maj    = 1.13
-ver_min    = 2
-release    = 2
-
-groups     = Development/Libraries
-url        = http://www.clutter-project.org/
-license    = LGPLv2+
-summary    = A library for using 3D graphics hardware to draw pretty pictures
-
-description
-       Cogl is a small open source library for using 3D graphics hardware to draw
-       pretty pictures. The API departs from the flat state machine style of
-       OpenGL and is designed to make it easy to write orthogonal components that
-       can render without stepping on each others toes.
-
-       As well aiming for a nice API, we think having a single library as opposed
-       to an API specification like OpenGL has a few advantages too; like being
-       able to paper over the inconsistencies/bugs of different OpenGL
-       implementations in a centralized place, not to mention the myriad of OpenGL
-       extensions. It also means we are in a better position to provide utility
-       APIs that help software developers since they only need to be implemented
-       once and there is no risk of inconsistency between implementations.
-
-       Having other backends, besides OpenGL, such as drm, Gallium or D3D are
-       options we are interested in for the future.
-end
-
-source_dl  = http://download.gnome.org/sources/cogl/%{ver_maj}/
-sources    = %{thisapp}.tar.xz
-
-build
-       requires
-               cairo-devel
-               gdk-pixbuf2-devel
-               glib2-devel
-               gobject-introspection-devel
-               libXcomposite-devel
-               libXdamage-devel
-               libXext-devel
-               libXfixes-devel
-               libGL-devel
-               pango-devel
-       end
-
-       export LD_LIBRARY_PATH = %{DIR_APP}/cogl/.libs:%{DIR_APP}/cogl-pango/.libs
-
-       configure_options += \
-               --enable-cairo \
-               --enable-gdk-pixbuf \
-               --enable-cogl-pango \
-               --enable-glx \
-               --enable-introspection=yes \
-               --disable-gtk-doc
-
-       make_build_targets += V=1
-
-       install_cmds
-               rm -vf %{BUILDROOT}%{datadir}/cogl/examples-data/crate.jpg
-       end
-end
-
-packages
-       package %{name}
-
-       package %{name}-devel
-               template DEVEL
-
-               files += \
-                       %{datadir}/gir*/
-       end
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
index 2b30bd5e8e28299752a2dd4b080f695a342e53d3..80952c5c2e5edddc0ceb402d8a7717116705e769 100644 (file)
@@ -9,7 +9,7 @@ release    = 1
 
 maintainer = Michael Tremer <michael.tremer@ipfire.org>
 groups     = System/Monitoring
-url        = http://git.ipfire.org/?p=oddments/collecty.git;a=summary
+url        = https://git.ipfire.org/?p=oddments/collecty.git;a=summary
 license    = GPLv3+
 summary    = A system data collecting daemon.
 
@@ -19,7 +19,7 @@ description
        It has been designed with power efficiency in mind.
 end
 
-source_dl  = http://source.ipfire.org/releases/collecty/
+source_dl  = https://source.ipfire.org/releases/collecty/
 
 build
        requires
diff --git a/compat-cyrus-sasl/compat-cyrus-sasl.nm b/compat-cyrus-sasl/compat-cyrus-sasl.nm
deleted file mode 100644 (file)
index 38dd9d4..0000000
+++ /dev/null
@@ -1,74 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = compat-cyrus-sasl
-version    = 2.1.25
-release    = 2.1
-
-thisapp    = cyrus-sasl-%{version}
-
-groups     = System/Libraries
-url        = http://asg.web.cmu.edu/sasl/sasl-library.html
-license    = BSD
-summary    = The Cyrus SASL library.
-
-description
-       The cyrus-sasl package contains the Cyrus implementation of SASL.
-       SASL is the Simple Authentication and Security Layer, a method for
-       adding authentication support to connection-based protocols.
-end
-
-source_dl  = ftp://ftp.cyrusimap.org/cyrus-sasl/
-
-build
-       requires
-               automake
-               libdb-devel
-               openssl-devel
-               pam-devel
-       end
-
-       prepare_cmds
-               # for aarch64
-               for i in $(find . -name config.guess -or -name config.sub); do
-                       cp -vf %{datadir}/automake-*/config.{guess,sub} $(dirname ${i})
-               done
-       end
-
-       configure_options += \
-               --sysconfdir=/etc \
-               --with-configdir=%{libdir}/sasl2:/etc/sasl2 \
-               --with-plugindir=%{libdir}/sasl2 \
-               --with-dbpath=/var/lib/sasl/sasldb2 \
-               --with-saslauthd=/var/run/saslauthd \
-               --mandir=/usr/share/man
-
-       PARALLELISMFLAGS = # Disabled
-
-       install
-               # Only install libraries.
-               mkdir -pv %{BUILDROOT}%{libdir}
-               install -m 755 lib/.libs/libsasl2.so.2.0.25 %{BUILDROOT}%{libdir}
-               ln -svf libsasl2.so.2.0.25 %{BUILDROOT}%{libdir}/libpcre.so.2
-       end
-end
-
-packages
-       package %{name}
-               provides
-                       cyrus-sasl = %{thisver}
-                       cyrus-sasl-libs = %{thisver}
-               end
-
-               conflicts
-                       cyrus-sasl <= %{thisver}
-                       cyrus-sasl-libs <= %{thisver}
-               end
-       end
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
diff --git a/compat-cyrus-sasl/patches/cyrus-sasl-2.1.23-db5.patch b/compat-cyrus-sasl/patches/cyrus-sasl-2.1.23-db5.patch
deleted file mode 100644 (file)
index ff831cd..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
---- a/sasldb/db_berkeley.c
-+++ b/sasldb/db_berkeley.c
-@@ -100,7 +100,7 @@ static int berkeleydb_open(const sasl_ut
-     ret = db_create(mbdb, NULL, 0);
-     if (ret == 0 && *mbdb != NULL)
-     {
--#if DB_VERSION_MAJOR == 4 && DB_VERSION_MINOR >= 1
-+#if (DB_VERSION_MAJOR > 4) || ((DB_VERSION_MAJOR == 4) && (DB_VERSION_MINOR >= 1))
-       ret = (*mbdb)->open(*mbdb, NULL, path, NULL, DB_HASH, flags, 0660);
- #else
-       ret = (*mbdb)->open(*mbdb, path, NULL, DB_HASH, flags, 0660);
---- a/utils/dbconverter-2.c
-+++ b/utils/dbconverter-2.c
-@@ -214,7 +214,7 @@ static int berkeleydb_open(const char *p
-     ret = db_create(mbdb, NULL, 0);
-     if (ret == 0 && *mbdb != NULL)
-     {
--#if DB_VERSION_MAJOR == 4 && DB_VERSION_MINOR >= 1
-+#if (DB_VERSION_MAJOR > 4) || ((DB_VERSION_MAJOR == 4) && (DB_VERSION_MINOR >= 1))
-       ret = (*mbdb)->open(*mbdb, NULL, path, NULL, DB_HASH, DB_CREATE, 0664);
- #else
-       ret = (*mbdb)->open(*mbdb, path, NULL, DB_HASH, DB_CREATE, 0664);
diff --git a/compat-db/compat-db.nm b/compat-db/compat-db.nm
deleted file mode 100644 (file)
index 0ea88e4..0000000
+++ /dev/null
@@ -1,219 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = compat-db
-version    = %{main_version}
-# Release cannot be reset because the sub-packages won't get updated
-release    = 9
-thisapp    = db-%{version}
-
-maintainer = Michael Tremer <michael.tremer@ipfire.org>
-groups     = System/Libraries
-url        = http://www.oracle.com/technology/products/berkeley-db/
-license    = Proprietary
-summary    = The Berkeley DB database compatibility library.
-
-description
-       Berkeley DB (BDB) is a computer software library that provides
-       a high-performance embedded database.
-
-       This package contains various version that were used in the
-       past. Some software may depend on them though.
-end
-
-version_db46 = 4.6.21
-version_db47 = 4.7.25
-version_db48 = 4.8.30
-version_db52 = 5.2.36
-version_db53 = 5.3.28
-versions     = %{version_db53} %{version_db52} %{version_db48} %{version_db47} %{version_db46}
-main_version:= %{version_db53}
-
-source_dl  = http://download.oracle.com/berkeley-db/
-sources    = db-%{version_db53}.tar.gz
-sources   += db-%{version_db52}.tar.gz
-sources   += db-%{version_db48}.tar.gz
-sources   += db-%{version_db47}.tar.gz
-sources   += db-%{version_db46}.tar.gz
-
-build
-       requires
-               gcc-c++
-       end
-
-       CFLAGS += -fno-strict-aliasing
-       CFLAGS += -Wno-format
-
-       configure_options += \
-               --enable-compat185 \
-               --enable-cxx \
-               --disable-static
-
-       build
-               for version in %{versions}; do
-                       cd %{DIR_SRC}/db-${version}/build_unix
-                       ../dist/configure \
-                               %{configure_options}
-
-                       %{MACRO_FIX_LIBTOOL}
-
-                       make %{PARALLELISMFLAGS}
-               done
-       end
-
-       install
-               for version in %{versions}; do
-                       cd %{DIR_SRC}/db-${version}/build_unix
-                       make install DESTDIR=%{BUILDROOT} \
-                               docdir=%{datadir}/doc/db-${version}
-
-                       # Remove unversioned libs.
-                       rm -vf %{BUILDROOT}%{libdir}/libdb*-{5,4}.so
-
-                       # Move binaries.
-                       tag=$(echo ${version} | cut -c1,3)
-                       for bin in %{BUILDROOT}%{bindir}/*db_*; do
-                               t=$(echo ${bin} | sed "s/db_/db${tag}_/g")
-                               mv -v ${bin} ${t}
-                       done
-
-                       # Move libs.
-                       major=$(echo ${version} | cut -c1-3)
-                       mkdir -pv %{BUILDROOT}%{libdir}/db${version}
-                       pushd %{BUILDROOT}%{libdir}/db${version}
-                       ln -svf ../libdb-${major}.so libdb.so
-                       ln -svf ../libdb_cxx-${major}.so libdb_cxx.so
-                       popd
-                       rm -vf %{BUILDROOT}%{libdir}/libdb{,_cxx}.so
-
-                       # Move headers.
-                       mkdir -pv %{BUILDROOT}%{includedir}/db-${version}
-                       mv -v %{BUILDROOT}%{includedir}/*.h \
-                               %{BUILDROOT}%{includedir}/db-${version}/
-                       ln -svf --relative \
-                               %{BUILDROOT}%{includedir}/db-${version} \
-                               %{BUILDROOT}%{includedir}/db-${major}
-
-                       # Remove documentation.
-                       rm -rf %{BUILDROOT}%{datadir}/doc
-               done
-
-               # Link latest headers into /usr/include
-               for file in %{BUILDROOT}%{includedir}/db-%{main_version}/*.h; do
-                       ln -svf --relative ${file} %{BUILDROOT}%{includedir}/
-               done
-       end
-end
-
-packages
-       package %{name}
-               requires
-                       compat-db53 = %{version_db53}-%{_release}
-                       compat-db52 = %{version_db52}-%{_release}
-                       compat-db48 = %{version_db48}-%{_release}
-                       compat-db47 = %{version_db47}-%{_release}
-                       compat-db46 = %{version_db46}-%{_release}
-               end
-       end
-
-       template COMPATDB
-               version = %{version_db%{version_tag}}
-
-               summary = The Berkeley DB database %{version} compatibility library.
-               description
-                       The Berkeley Database (Berkeley DB) is a programmatic toolkit that provides
-                       embedded database support for both traditional and client/server applications.
-
-                       This package contains Berkeley DB library version %{version} used for compatibility.
-               end
-
-               files
-                       %{bindir}/berkeley_db%{version_tag}_*
-                       %{bindir}/db%{version_tag}_*
-                       %{libdir}/db%{version}
-                       %{libdir}/libdb*-%{version_major}.so
-               end
-
-               obsoletes
-                       db4 < 1:%{version_major}
-                       db4-devel < 1:%{version_major}
-                       db4-cxx < 1:%{version_major}
-                       db4-utils < 1:%{version_major}
-
-                       libdb <= %{version_major}
-               end
-
-               conflicts
-                       libdb = %{version_major}
-               end
-       end
-
-       package %{name}53
-               template COMPATDB
-
-               version_tag   = 53
-               version_major = 5.3
-       end
-
-       package %{name}52
-               template COMPATDB
-
-               version_tag   = 52
-               version_major = 5.2
-       end
-
-       package %{name}48
-               template COMPATDB
-
-               version_tag   = 48
-               version_major = 4.8
-       end
-
-       package %{name}47
-               template COMPATDB
-
-               version_tag   = 47
-               version_major = 4.7
-       end
-
-       package %{name}46
-               template COMPATDB
-
-               version_tag   = 46
-               version_major = 4.6
-       end
-
-       package %{name}-headers
-               summary = The Berkeley DB database compatibility headers.
-               description
-                       The Berkeley Database (Berkeley DB) is a programmatic toolkit that provides
-                       embedded database support for both traditional and client/server applications.
-
-                       This package contains Berkeley DB library headers used for compatibility.
-               end
-
-               files = %{includedir}
-
-               requires
-                       compat-db = %{main_version}-%{_release}
-               end
-
-               provides
-                       libdb-devel = %{version_db53}
-                       libdb-devel = %{version_db52}
-                       db4-devel = %{version_db48}
-                       db4-devel = %{version_db47}
-                       db4-devel = %{version_db46}
-               end
-
-               conflicts
-                       libdb-devel
-               end
-       end
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
diff --git a/compat-gdbm/compat-gdbm.nm b/compat-gdbm/compat-gdbm.nm
deleted file mode 100644 (file)
index e00b58f..0000000
+++ /dev/null
@@ -1,82 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = compat-gdbm
-version    = 1.8.3
-release    = 1
-thisapp    = gdbm-%{version}
-
-groups     = Development/Tools
-url        = http://www.gnu.org/software/gdbm/
-license    = GPLv2+
-summary    = The GDBM package contains the GNU Database Manager.
-
-description
-       The GDBM package contains the GNU Database Manager. This is a disk file \
-       format database which stores key/data-pairs in single files. The actual \
-       data of any record being stored is indexed by a unique key, which can be \
-       retrieved in less time than if it was stored in a text file.
-end
-
-source_dl  = http://ftp.gnu.org/gnu/gdbm/
-
-build
-       requires
-               autoconf
-               automake
-               libtool
-       end
-
-       prepare_cmds
-               libtoolize --force --copy
-               aclocal
-               autoconf
-
-               # Don't use flock, because it doesn't work on NFS.
-               # Use fcntl instead.
-               echo "#undef HAVE_FLOCK" >> autoconf.h.in
-       end
-
-       PARALLELISMFLAGS = # Not supported.
-
-       install
-               make install install-compat \
-                       prefix=%{BUILDROOT}%{prefix} \
-                       libdir=%{BUILDROOT}%{libdir} \
-                       includedir=%{BUILDROOT}%{includedir} \
-                       mandir=%{BUILDROOT}%{mandir} \
-                       infodir=%{BUILDROOT}%{infodir}
-
-               mkdir -pv %{BUILDROOT}%{includedir}/gdbm
-               ln -svf gdbm/gdbm.h %{BUILDROOT}%{includedir}/gdbm.h
-
-               # Remove all man pages provided by gdbm-devel.
-               rm -rfv %{BUILDROOT}%{mandir}/man3
-       end
-end
-
-packages
-       package %{name}
-               conflicts
-                       gdbm <= %{version}
-               end
-       end
-
-       package %{name}-devel
-               template DEVEL
-
-               requires
-                       compat-gdbm = %{thisver}
-               end
-
-               conflicts
-                       gdbm-devel
-               end
-       end
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
diff --git a/compat-gdbm/patches/gdbm-1.8.3-fhs.patch b/compat-gdbm/patches/gdbm-1.8.3-fhs.patch
deleted file mode 100644 (file)
index 58ce4de..0000000
+++ /dev/null
@@ -1,138 +0,0 @@
-diff -up gdbm-1.8.3/Makefile.in.fhs gdbm-1.8.3/Makefile.in
---- gdbm-1.8.3/Makefile.in.fhs 2002-10-08 18:09:12.000000000 +0200
-+++ gdbm-1.8.3/Makefile.in     2010-03-10 15:41:01.516025096 +0100
-@@ -1,7 +1,7 @@
- #### Start of system configuration section. ####
- srcdir = @srcdir@
--top_builddir = .
-+top_builddir = @top_builddir@
- VPATH = @srcdir@
- CC = @CC@
-@@ -14,17 +14,13 @@ INSTALL = @INSTALL@
- INSTALL_PROGRAM = @INSTALL_PROGRAM@
- INSTALL_DATA = @INSTALL_DATA@
--# File ownership and group
--BINOWN = bin
--BINGRP = bin
--
- MAKEINFO = makeinfo
- TEXI2DVI = texi2dvi
--DEFS =
-+DEFS = @DEFS@
- # Where the system [n]dbm routines are...
--LIBS = @LIBS@ -lc
-+LIBS = @LIBS@
- CFLAGS = @CFLAGS@
- LDFLAGS = @LDFLAGS@
-@@ -32,16 +28,17 @@ LDFLAGS = @LDFLAGS@
- # Common prefix for installation directories
- prefix = @prefix@
- exec_prefix = @exec_prefix@
--binprefix = $(exec_prefix)
--manprefix = $(prefix)
-+datarootdir = @datarootdir@
- # Directory in which to put libgdbm.a.
- libdir = @libdir@
- # The include directory for gdbm.h and dbm.h.
- includedir = @includedir@
-+pkgincludedir = $(includedir)/gdbm
- # Info and man directories.
- infodir = @infodir@
--man3dir = @mandir@/man3
-+mandir = @mandir@
-+man3dir = $(mandir)/man3
- manext = 3
- #### End of system configuration section. ####
-@@ -57,7 +54,7 @@ manext = 3
- SHELL = /bin/sh
--PROGS = libgdbm.la testgdbm testdbm testndbm tndbm tdbm conv2gdbm
-+PROGS = libgdbm.la testgdbm testdbm testndbm conv2gdbm
- DBM_CF = dbminit.c delete.c fetch.c store.c seq.c close.c
-@@ -127,26 +124,17 @@ all: libgdbm.la libgdbm_compat.la
- progs: $(PROGS)
- install: libgdbm.la gdbm.h gdbm.info
--      $(srcdir)/mkinstalldirs $(INSTALL_ROOT)$(libdir) \
--              $(INSTALL_ROOT)$(includedir) $(INSTALL_ROOT)$(man3dir) \
--              $(INSTALL_ROOT)$(infodir)
--      $(LIBTOOL) $(INSTALL) -c libgdbm.la $(INSTALL_ROOT)$(libdir)/libgdbm.la
--      $(INSTALL_DATA) -o $(BINOWN) -g $(BINGRP) gdbm.h \
--              $(INSTALL_ROOT)$(includedir)/gdbm.h
--      $(INSTALL_DATA) -o $(BINOWN) -g $(BINGRP) $(srcdir)/gdbm.3 \
--              $(INSTALL_ROOT)$(man3dir)/gdbm.3
--      $(INSTALL_DATA) -o $(BINOWN) -g $(BINGRP) $(srcdir)/gdbm.info \
--              $(INSTALL_ROOT)$(infodir)/gdbm.info
-+      $(srcdir)/mkinstalldirs $(libdir) $(pkgincludedir) $(man3dir) $(infodir)
-+      $(LIBTOOL) install install libgdbm.la $(libdir)/libgdbm.la
-+      $(INSTALL_DATA) gdbm.h $(pkgincludedir)/gdbm.h
-+      $(INSTALL_DATA) $(srcdir)/gdbm.3 $(man3dir)/gdbm.3
-+      $(INSTALL_DATA) $(srcdir)/gdbm.info $(infodir)/gdbm.info
- install-compat:
--      $(srcdir)/mkinstalldirs $(INSTALL_ROOT)$(libdir) \
--              $(INSTALL_ROOT)$(includedir)
--      $(LIBTOOL) $(INSTALL) -c libgdbm_compat.la \
--              $(INSTALL_ROOT)$(libdir)/libgdbm_compat.la
--      $(INSTALL_DATA) -o $(BINOWN) -g $(BINGRP) $(srcdir)/dbm.h \
--              $(INSTALL_ROOT)$(includedir)/dbm.h
--      $(INSTALL_DATA) -o $(BINOWN) -g $(BINGRP) $(srcdir)/ndbm.h \
--              $(INSTALL_ROOT)$(includedir)/ndbm.h
-+      $(srcdir)/mkinstalldirs $(libdir) $(pkgincludedir)
-+      $(LIBTOOL) install install libgdbm_compat.la $(libdir)/libgdbm_compat.la
-+      $(INSTALL_DATA) $(srcdir)/dbm.h $(pkgincludedir)/dbm.h
-+      $(INSTALL_DATA) $(srcdir)/ndbm.h $(pkgincludedir)/ndbm.h
- #libgdbm.a: $(OBJS) gdbm.h
- #     rm -f libgdbm.a
-@@ -161,7 +149,7 @@ libgdbm.la: $(LOBJS) gdbm.h
- libgdbm_compat.la: $(C_LOBJS) gdbm.h
-       rm -f libgdbm_compat.la
-       $(LIBTOOL) --mode=link $(CC) -o libgdbm_compat.la -rpath $(libdir) \
--              -version-info $(SHLIB_VER) $(C_LOBJS)
-+              -version-info $(SHLIB_VER) $(C_LOBJS) -lgdbm
- gdbm.h:       gdbm.proto gdbmerrno.h gdbm.proto2
-       rm -f gdbm.h
-@@ -172,10 +160,10 @@ gdbm.h:  gdbm.proto gdbmerrno.h gdbm.prot
-       chmod -w gdbm.h
- testgdbm: testgdbm.o libgdbm.la @LIBOBJS@
--      $(LIBTOOL) $(CC) $(LDFLAGS) -o testgdbm testgdbm.o libgdbm.la @LIBOBJS@
-+      $(LIBTOOL) link $(CC) $(LDFLAGS) -o testgdbm testgdbm.o libgdbm.la @LIBOBJS@
- testdbm: testdbm.o libgdbm.la libgdbm_compat.la
--      $(LIBTOOL) $(CC) $(LDFLAGS) -o testdbm testdbm.o libgdbm.la libgdbm_compat.la
-+      $(LIBTOOL) link $(CC) $(LDFLAGS) -o testdbm testdbm.o $(LIBS) libgdbm_compat.la
- tdbm: testdbm.o
-       $(CC) $(LDFLAGS) -o tdbm testdbm.o $(LIBS)
-@@ -184,7 +172,7 @@ testndbm.o: testndbm.c
-       $(CC) -c -I. -I$(srcdir) $(CFLAGS) $(DEFS) -DGNU $(srcdir)/testndbm.c
- testndbm: testndbm.o libgdbm.la libgdbm_compat.la
--      $(LIBTOOL) $(CC) $(LDFLAGS) -o testndbm testndbm.o libgdbm.la libgdbm_compat.la
-+      $(LIBTOOL) link $(CC) $(LDFLAGS) -o testndbm testndbm.o libgdbm_compat.la
- tndbm.o: testndbm.c
-       cp $(srcdir)/testndbm.c ./tndbm.c
-@@ -195,7 +183,7 @@ tndbm: tndbm.o
-       $(CC) $(LDFLAGS) -o tndbm tndbm.o $(LIBS)
- conv2gdbm: conv2gdbm.o libgdbm.la @LIBOBJS@
--      $(LIBTOOL) $(CC) $(LDFLAGS) -o conv2gdbm conv2gdbm.o $(LIBS) libgdbm.la @LIBOBJS@
-+      $(LIBTOOL) link $(CC) $(LDFLAGS) -o conv2gdbm conv2gdbm.o $(LIBS) libgdbm_compat.la @LIBOBJS@
- lintgdbm: 
-       lint $(DEFS) $(LFLAGS) $(DBM_CF) $(NDBM_CF) $(GDBM_CF) testgdbm.c
diff --git a/compat-gdbm/patches/gdbm-1.8.3-filestruct.patch b/compat-gdbm/patches/gdbm-1.8.3-filestruct.patch
deleted file mode 100644 (file)
index 3e27db8..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -up gdbm-1.8.3/gdbm.proto.filestruct gdbm-1.8.3/gdbm.proto
---- gdbm-1.8.3/gdbm.proto.filestruct   2011-01-13 09:54:03.004907454 +0100
-+++ gdbm-1.8.3/gdbm.proto      2011-01-13 09:54:24.881714834 +0100
-@@ -60,7 +60,7 @@ typedef struct {
- /* The file information header. This is good enough for most applications. */
--typedef struct {int dummy[10];} *GDBM_FILE;
-+typedef struct __GDBM_FILE_STRUC {int dummy[10];} *GDBM_FILE;
- /* Determine if the C(++) compiler requires complete function prototype  */
- #ifndef __P
diff --git a/compat-gdbm/patches/gdbm-1.8.3-ndbmlock.patch b/compat-gdbm/patches/gdbm-1.8.3-ndbmlock.patch
deleted file mode 100644 (file)
index 7bc86c3..0000000
+++ /dev/null
@@ -1,94 +0,0 @@
-diff -up gdbm-1.8.3/dbmopen.c.dbmlock gdbm-1.8.3/dbmopen.c
---- gdbm-1.8.3/dbmopen.c.dbmlock       1999-05-19 02:16:05.000000000 +0200
-+++ gdbm-1.8.3/dbmopen.c       2011-01-03 16:17:13.847173371 +0100
-@@ -35,6 +35,28 @@
- #include "gdbmerrno.h"
- #include "extern.h"
-+static int
-+get_env_bool(env_var, def)
-+      const char *env_var;
-+      int def;
-+{
-+  const char *v = getenv(env_var);
-+  if (!v)
-+    return def;
-+
-+  if (!strcasecmp(v, "yes") ||
-+      !strcasecmp(v, "true") ||
-+      !strcasecmp(v, "on"))
-+    return 1;
-+
-+  if (!strcasecmp(v, "no") ||
-+      !strcasecmp(v, "false") ||
-+      !strcasecmp(v, "off"))
-+    return 0;
-+
-+  return !!atoi(v);
-+}
-+
- /* Initialize ndbm system.  FILE is a pointer to the file name.  In
-    standard dbm, the database is found in files called FILE.pag and
-    FILE.dir.  To make gdbm compatable with dbm using the dbminit call,
-@@ -62,7 +84,7 @@ dbm_open (file, flags, mode)
-   char* dir_file;         /* Used to construct "file.dir". */
-   struct stat dir_stat;           /* Stat information for "file.dir". */
-   gdbm_file_info *temp_dbf;  /* Temporary file pointer storage. */
--
-+  int gdbm_mode = 0;
-   /* Prepare the correct names of "file.pag" and "file.dir". */
-   pag_file = (char *) malloc (strlen (file)+5);
-@@ -77,26 +99,22 @@ dbm_open (file, flags, mode)
-   strcat (pag_file, ".pag");
-   strcpy (dir_file, file);
-   strcat (dir_file, ".dir");
--  
-+
-+  if (!get_env_bool("NDBM_LOCK", 1))
-+      gdbm_mode |= GDBM_NOLOCK;
-   /* Call the actual routine, saving the pointer to the file information. */
-   flags &= O_RDONLY | O_RDWR | O_CREAT | O_TRUNC;
-   if (flags == O_RDONLY)
--    {
--      temp_dbf = gdbm_open (pag_file, 0, GDBM_READER, 0, NULL);
--    }
-+    gdbm_mode |= GDBM_READER;
-   else if (flags == (O_RDWR | O_CREAT))
--    {
--      temp_dbf = gdbm_open (pag_file, 0, GDBM_WRCREAT, mode, NULL);
--    }
--  else if ( (flags & O_TRUNC) == O_TRUNC)
--    {
--      temp_dbf = gdbm_open (pag_file, 0, GDBM_NEWDB, mode, NULL);
--    }
-+    gdbm_mode |= GDBM_WRCREAT;
-+  else if ((flags & O_TRUNC) == O_TRUNC)
-+    gdbm_mode |= GDBM_NEWDB;
-   else
--    {
--      temp_dbf = gdbm_open (pag_file, 0, GDBM_WRITER, 0, NULL);
--    }
-+    gdbm_mode |= GDBM_WRITER;
-+
-+  temp_dbf = gdbm_open (pag_file, 0, gdbm_mode, mode, NULL);
-   /* Did we successfully open the file? */
-   if (temp_dbf == NULL)
-diff -up gdbm-1.8.3/gdbm.3.dbmlock gdbm-1.8.3/gdbm.3
---- gdbm-1.8.3/gdbm.3.dbmlock  2011-01-03 15:59:15.684729255 +0100
-+++ gdbm-1.8.3/gdbm.3  2011-01-03 16:17:49.957570637 +0100
-@@ -543,7 +543,11 @@ you must link in the \fIgdbm_compat\fR l
- .sp
-       gcc -o prog proc.c -lgdbm -lgdbm_compat
--.SH BUGS
-+.SH "ENVIRONMENT VARIABLES"
-+\fINDBM_LOCK\fR - When the NDBM interface is used, the database file
-+is locked by default. Locking might degrade performance when used on a
-+NFS share. This environment variable can be set to false to tell GDBM
-+not to lock the database file.
- .SH "SEE ALSO"
- dbm, ndbm
diff --git a/compat-gdbm/patches/gdbm-1.8.3-shortread.patch b/compat-gdbm/patches/gdbm-1.8.3-shortread.patch
deleted file mode 100644 (file)
index 5b6455b..0000000
+++ /dev/null
@@ -1,113 +0,0 @@
-05_handle-short-read.patch
-
-diff -urNad a/bucket.c b/bucket.c
---- a/bucket.c 1999-05-19 01:16:05.000000000 +0100
-+++ b/bucket.c 2006-04-24 03:18:01.000000000 +0100
-@@ -31,7 +31,7 @@
- #include "autoconf.h"
- #include "gdbmdefs.h"
--
-+#include <errno.h>
- /* Initializing a new hash buckets sets all bucket entries to -1 hash value. */
- void
-@@ -68,7 +68,8 @@
-      int dir_index;
- {
-   off_t bucket_adr;   /* The address of the correct hash bucket.  */
--  int   num_bytes;    /* The number of bytes read. */
-+  int   num_bytes = 0; /* The total number of bytes read. */
-+  int   bytes_read;    /* Number of bytes read in this syscall */
-   off_t       file_pos;       /* The return address for lseek. */
-   register int index; /* Loop index. */
-@@ -111,7 +112,12 @@
-       if (file_pos != bucket_adr)
-       _gdbm_fatal (dbf, "lseek error");
--      num_bytes = read (dbf->desc, dbf->bucket, dbf->header->bucket_size);
-+      do
-+        {
-+          bytes_read = read (dbf->desc, dbf->bucket+num_bytes, dbf->header->bucket_size-num_bytes);
-+          if (bytes_read > 0) num_bytes += bytes_read;
-+        }
-+      while ((bytes_read > 0 || (bytes_read == -1 && errno == EINTR)) && num_bytes < dbf->header->bucket_size);
-       if (num_bytes != dbf->header->bucket_size)
-       _gdbm_fatal (dbf, "read error");
-     }
-diff -urNad a/falloc.c b/falloc.c
---- a/falloc.c 2006-04-24 03:17:54.000000000 +0100
-+++ b/falloc.c 2006-04-24 03:18:01.000000000 +0100
-@@ -31,7 +31,7 @@
- #include "autoconf.h"
- #include "gdbmdefs.h"
--
-+#include <errno.h>
- /* The forward definitions for this file.  See the functions for
-    the definition of the function. */
-@@ -174,7 +174,8 @@
- pop_avail_block (dbf)
-      gdbm_file_info *dbf;
- {
--  int  num_bytes;             /* For use with the read system call. */
-+  int  num_bytes = 0;          /* For use with the read system call. */
-+  int  bytes_read;             /* For use with the read system call. */
-   off_t file_pos;             /* For use with the lseek system call. */
-   avail_elem new_el;
-   avail_block *new_blk;
-@@ -199,7 +200,12 @@
-   /* Read the block. */
-   file_pos = lseek (dbf->desc, new_el.av_adr, L_SET);
-   if (file_pos != new_el.av_adr)  _gdbm_fatal (dbf, "lseek error");
--  num_bytes = read (dbf->desc, new_blk, new_el.av_size);
-+  do
-+    {
-+      bytes_read = read (dbf->desc, new_blk+num_bytes, new_el.av_size-num_bytes);
-+      if (bytes_read > 0) num_bytes += bytes_read;
-+    }
-+  while ((bytes_read > 0 || (bytes_read == -1 && errno == EINTR)) && num_bytes < new_el.av_size);
-   if (num_bytes != new_el.av_size) _gdbm_fatal (dbf, "read error");
-   /* Add the elements from the new block to the header. */
-diff -urNad a/findkey.c b/findkey.c
---- a/findkey.c        1999-05-19 01:16:06.000000000 +0100
-+++ b/findkey.c        2006-04-24 03:18:01.000000000 +0100
-@@ -31,6 +31,7 @@
- #include "autoconf.h"
- #include "gdbmdefs.h"
-+#include <errno.h>
- /* Read the data found in bucket entry ELEM_LOC in file DBF and
-@@ -41,11 +42,12 @@
-      gdbm_file_info *dbf;
-      int elem_loc;
- {
--  int num_bytes;              /* For seeking and reading. */
-+  int num_bytes = 0;           /* For seeking and reading. */
-   int key_size;
-   int data_size;
-   off_t file_pos;
-   data_cache_elem *data_ca;
-+  int bytes_read;
-   /* Is it already in the cache? */
-   if (dbf->cache_entry->ca_data.elem_loc == elem_loc)
-@@ -74,7 +76,12 @@
-                   dbf->bucket->h_table[elem_loc].data_pointer, L_SET);
-   if (file_pos != dbf->bucket->h_table[elem_loc].data_pointer)
-     _gdbm_fatal (dbf, "lseek error");
--  num_bytes = read (dbf->desc, data_ca->dptr, key_size+data_size);
-+  do
-+    {
-+      bytes_read = read (dbf->desc, data_ca->dptr+num_bytes, key_size+data_size-num_bytes);
-+      if (bytes_read > 0) num_bytes += bytes_read;
-+    }
-+  while ((bytes_read > 0 || (bytes_read == -1 && errno == EINTR)) && num_bytes < key_size+data_size);
-   if (num_bytes != key_size+data_size) _gdbm_fatal (dbf, "read error");
-   
-   return data_ca->dptr;
diff --git a/compat-gdbm/patches/gdbm-1.8.3-zeroheaders.patch b/compat-gdbm/patches/gdbm-1.8.3-zeroheaders.patch
deleted file mode 100644 (file)
index 088956a..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-02_zero-headers.patch by Jeff Johnson <jbj@redhat.com> and Colin Watson <cjwatson@debian.org>
-
-diff -urNad a/falloc.c b/falloc.c
---- a/falloc.c 2001-02-28 06:52:33.000000000 +0000
-+++ b/falloc.c 2003-09-08 23:58:43.000000000 +0100
-@@ -272,7 +272,7 @@
-   /* Split the header block. */
--  temp = (avail_block *) malloc (av_size);
-+  temp = (avail_block *) calloc (1, av_size);
-   if (temp == NULL) _gdbm_fatal (dbf, "malloc error");
-   /* Set the size to be correct AFTER the pop_avail_block. */
-   temp->size = dbf->header->avail.size;
-diff -urNad a/gdbmopen.c b/gdbmopen.c
---- a/gdbmopen.c       2003-09-08 23:58:01.000000000 +0100
-+++ b/gdbmopen.c       2003-09-08 23:58:43.000000000 +0100
-@@ -212,7 +212,7 @@
-       file_block_size = block_size;
-       /* Get space for the file header. */
--      dbf->header = (gdbm_file_header *) malloc (file_block_size);
-+      dbf->header = (gdbm_file_header *) calloc (1, file_block_size);
-       if (dbf->header == NULL)
-       {
-         gdbm_close (dbf);
-@@ -256,7 +256,7 @@
-       (dbf->header->block_size - sizeof (hash_bucket))
-       / sizeof (bucket_element) + 1;
-       dbf->header->bucket_size  = dbf->header->block_size;
--      dbf->bucket = (hash_bucket *) malloc (dbf->header->bucket_size);
-+      dbf->bucket = (hash_bucket *) calloc (1, dbf->header->bucket_size);
-       if (dbf->bucket == NULL)
-       {
-         gdbm_close (dbf);
-@@ -420,7 +420,7 @@
-       for(index = 0; index < size; index++)
-         {
-           (dbf->bucket_cache[index]).ca_bucket
--            = (hash_bucket *) malloc (dbf->header->bucket_size);
-+            = (hash_bucket *) calloc (1, dbf->header->bucket_size);
-           if ((dbf->bucket_cache[index]).ca_bucket == NULL)
-           {
-               gdbm_errno = GDBM_MALLOC_ERROR;
diff --git a/compat-gmp/compat-gmp.nm b/compat-gmp/compat-gmp.nm
deleted file mode 100644 (file)
index fc1d918..0000000
+++ /dev/null
@@ -1,77 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = compat-gmp
-version    = 4.3.2
-release    = 1
-thisapp    = gmp-%{version}
-
-groups     = System/Libraries
-url        = http://gmplib.org/
-license    = LGPLv3+
-summary    = A GNU arbitrary precision library.
-
-description
-       The gmp package contains GNU MP, a library for arbitrary precision
-       arithmetic, signed integers operations, rational numbers and floating
-       point numbers. GNU MP is designed for speed, for both small and very
-       large operands. GNU MP is fast because it uses fullwords as the basic
-       arithmetic type, it uses fast algorithms, it carefully optimizes
-       assembly code for many CPUs' most common inner loops, and it generally
-       emphasizes speed over simplicity/elegance in its operations.
-end
-
-source_dl += https://gmplib.org/download/gmp/ ftp://ftp.gnu.org/gnu/gmp/
-sources    = %{thisapp}.tar.xz
-
-build
-       requires
-               gcc-c++
-               m4
-       end
-
-       export ABI = standard
-
-       if "%{DISTRO_ARCH}" == "x86_64"
-               ABI = 64
-       end
-
-       if "%{DISTRO_ARCH}" == "i686"
-               ABI = 32
-       end
-
-       configure_options += \
-               --enable-cxx \
-               --enable-mpbsd \
-               --disable-static
-
-       test
-               export LD_LIBRARY_PATH=$(pwd)/.libs
-               make check
-       end
-
-       install
-               # Install just the library and no headers.
-               mkdir -pv %{BUILDROOT}%{libdir}
-               install -m 644 .libs/libgmp.so.3.5.2 %{BUILDROOT}%{libdir}
-               ln -svf libgmp.so.3.5.2 %{BUILDROOT}%{libdir}/libgmp.so.3
-       end
-end
-
-packages
-       package %{name}
-               provides
-                       gmp = %{thisver}
-               end
-
-               obsoletes
-                       gmp <= %{thisver}
-               end
-       end
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
diff --git a/compat-gmp/patches/gmp-fix-tscan.patch0 b/compat-gmp/patches/gmp-fix-tscan.patch0
deleted file mode 100644 (file)
index cddbfe0..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-https://gmplib.org/list-archives/gmp-bugs/2011-October/002417.html
-
---- tests/mpz/t-scan.c 2011-05-08 11:49:29.000000000 +0200
-+++ tests/mpz/t-scan.c 2011-10-10 16:37:13.657829003 +0200
-@@ -79,7 +79,7 @@
-               for (isize = 0; isize <= size; isize++)
-                 {
--                  for (oindex = 0; oindex <= numberof (offset); oindex++)
-+                  for (oindex = 0; oindex < numberof (offset); oindex++)
-                     {
-                       o = offset[oindex];
-                       if ((int) isize*GMP_NUMB_BITS < -o)
diff --git a/compat-gnutls/compat-gnutls.nm b/compat-gnutls/compat-gnutls.nm
deleted file mode 100644 (file)
index 3d11740..0000000
+++ /dev/null
@@ -1,82 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = compat-gnutls
-version    = %{ver_maj}.%{ver_min}
-ver_maj    = 3.3
-ver_min    = 25
-release    = 2
-thisapp    = gnutls-%{version}
-
-groups     = System/Libraries
-url        = http://www.gnu.org/software/gnutls/
-license    = LGPLv2.1+
-summary    = A general-purpose cryptography library.
-
-description
-       GnuTLS is a project that aims to develop a library which provides
-       a secure layer, over a reliable transport layer. Currently the
-       GnuTLS library implements the proposed standards by the IETF's
-       TLS working group.
-end
-
-source_dl  = ftp://ftp.gnutls.org/gcrypt/gnutls/v%{ver_maj}/
-sources    = %{thisapp}.tar.xz
-
-build
-       requires
-               datefudge
-               gettext
-               libgcrypt-devel
-               libidn-devel
-               libtasn1-devel >= 3.2
-               lzo-devel
-               net-tools
-               nettle-devel >= 3.2
-               perl
-               p11-kit-devel >= 0.23.1
-               readline-devel
-               texinfo
-               zlib-devel
-       end
-
-       # Build library without an executable stack.
-       CFLAGS += -Wa,--noexecstack
-
-       configure_options += \
-               --with-included-libcfg \
-               --disable-openssl-compatibility \
-               --disable-srp-authentication \
-               --disable-non-suiteb-curves \
-               --disable-guile
-
-       # Test suite does not work when srp is disabled.
-       test
-               export LD_LIBRARY_PATH=$(pwd)/lib/.libs
-               make check
-       end
-
-       install
-               # Install just the library and no headers.
-               mkdir -pv %{BUILDROOT}%{libdir}
-               cp -avf lib/.libs/libgnutls.so.* %{BUILDROOT}%{libdir}
-       end
-end
-
-packages
-       package %{name}
-               provides
-                       gnutls = %{thisver}
-               end
-
-               obsoletes
-                       gnutls <= %{thisver}
-               end
-       end
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
diff --git a/compat-gnutls/patches/gnutls-3.1.11-nosrp.patch b/compat-gnutls/patches/gnutls-3.1.11-nosrp.patch
deleted file mode 100644 (file)
index 29227c0..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -up gnutls-3.1.10/tests/srp/mini-srp.c.noecc gnutls-3.1.10/tests/srp/mini-srp.c
---- gnutls-3.1.10/tests/srp/mini-srp.c.noecc   2013-03-21 21:42:28.000000000 +0100
-+++ gnutls-3.1.10/tests/srp/mini-srp.c 2013-03-25 13:42:20.753422209 +0100
-@@ -27,7 +27,7 @@
- #include <stdio.h>
- #include <stdlib.h>
--#if defined(_WIN32)
-+#if defined(_WIN32) || !defined(ENABLE_SRP)
- int main()
- {
diff --git a/compat-gnutls/patches/gnutls-3.2.7-rpath.patch b/compat-gnutls/patches/gnutls-3.2.7-rpath.patch
deleted file mode 100644 (file)
index 4e6aed3..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -ur gnutls-3.2.7.orig/configure gnutls-3.2.7/configure
---- gnutls-3.2.7.orig/configure        2013-11-23 11:09:49.000000000 +0100
-+++ gnutls-3.2.7/configure     2013-11-25 16:53:05.559440656 +0100
-@@ -39652,7 +39652,7 @@
- shlibpath_overrides_runpath=unknown
- version_type=none
- dynamic_linker="$host_os ld.so"
--sys_lib_dlsearch_path_spec="/lib /usr/lib"
-+sys_lib_dlsearch_path_spec="/lib /usr/lib /lib64 /usr/lib64"
- need_lib_prefix=unknown
- hardcode_into_libs=no
diff --git a/compat-guile/compat-guile.nm b/compat-guile/compat-guile.nm
deleted file mode 100644 (file)
index c350897..0000000
+++ /dev/null
@@ -1,72 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = compat-guile
-version    = 1.8.8
-release    = 2
-thisapp    = guile-%{version}
-
-groups     = Development/Tools
-url        = http://www.gnu.org/software/guile/
-license    = GPLv2+ and LGPLv2+ and GFDL and OFSFDL
-summary    = A GNU implementation of Scheme for application extensibility.
-
-description
-       GUILE (GNU's Ubiquitous Intelligent Language for Extension) is a library
-       implementation of the Scheme programming language, written in C. GUILE
-       provides a machine-independent execution platform that can be linked in
-       as a library during the building of extensible programs.
-end
-
-source_dl  = ftp://ftp.gnu.org/gnu/guile/
-
-build
-       requires
-               gc-devel
-               gettext-devel
-               gmp-devel
-               libffi-devel >= 3.0.13
-               libtool-devel
-               libunistring-devel
-               readline-devel
-       end
-
-       export LD_LIBRARY_PATH = %{DIR_APP}/libguile/.libs
-
-       configure_options += \
-               --disable-static \
-               --disable-error-on-warning
-
-       install_cmds
-               # Drop unneeded stuff.
-               rm -rvf %{BUILDROOT}%{bindir}
-               rm -rvf %{BUILDROOT}%{includedir}
-               rm -rvf %{BUILDROOT}%{libdir}/pkgconfig
-               rm -rvf %{BUILDROOT}%{libdir}/*.so
-               rm -rvf %{BUILDROOT}%{datadir}/aclocal
-               rm -rvf %{BUILDROOT}%{datadir}/info
-               rm -rvf %{BUILDROOT}%{datadir}/man
-       end
-end
-
-packages
-       package %{name}
-               provides
-                       guile = %{thisver}
-               end
-
-               obsoletes
-                       guile-compat <= %{thisver}
-               end
-
-               conflicts
-                       guile <= %{thisver}
-               end
-       end
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
diff --git a/compat-icu/compat-icu.nm b/compat-icu/compat-icu.nm
deleted file mode 100644 (file)
index 47e24d4..0000000
+++ /dev/null
@@ -1,73 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = compat-icu
-version    = %{ver_major}.%{ver_minor}.%{ver_plevel}
-ver_major  = 50
-ver_minor  = 1
-ver_plevel = 2
-release    = 1
-thisapp    = icu-%{version}
-
-groups     = Development/Tools
-url        = http://www.icu-project.org
-license    = MIT and UCD and Public Domain
-summary    = International Components for Unicode.
-
-description
-       Tools and utilities for developing with icu.
-end
-
-source_dl  = http://download.icu-project.org/files/icu4c/%{version}/
-sources    = icu4c-%{ver_major}_%{ver_minor}_%{ver_plevel}-src.tgz
-
-build
-       DIR_APP = %{DIR_SRC}/icu/source
-
-       configure_options += \
-               --disable-static \
-               --with-data-packaging=library \
-               --disable-samples
-
-       prepare_cmds
-               sed -i 's|-nodefaultlibs -nostdlib||' config/mh-linux
-       end
-
-       configure_cmds
-               # There is no source/doc/html/search/ directory
-               sed -i '/^\s\+\$(INSTALL_DATA) \$(docsrchfiles) \$(DESTDIR)\$(docdir)\/\$(docsubsrchdir)\s*$/d' Makefile
-
-               # The configure --disable-renaming and possibly other options result in icu/source/uconfig.h.prepend
-               # being created, include that content in icu/source/common/unicode/uconfig.h to propagate to consumer packages.
-               test -f uconfig.h.prepend && sed -e '/^#define __UCONFIG_H__/ r uconfig.h.prepend' \
-                       -i common/unicode/uconfig.h
-       end
-
-       test
-               make check
-       end
-
-       install
-               # Install just the library and no headers.
-               mkdir -pv %{BUILDROOT}%{libdir}
-               cp -av lib/*.so.* %{BUILDROOT}%{libdir}
-       end
-end
-
-packages
-       package %{name}
-               provides
-                       icu = %{thisver}
-               end
-
-               obsoletes
-                       icu <= %{thisver}
-               end
-       end
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
diff --git a/compat-icu/patches/icu-test-twodigityear.patch2 b/compat-icu/patches/icu-test-twodigityear.patch2
deleted file mode 100644 (file)
index fba90b5..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-In the year 2034 ...
-http://sourceforge.net/p/icu/mailman/message/32443311/
---- icu.orig/source/test/intltest/dtfmttst.cpp 2013-10-04 22:48:00.000000000 +0200
-+++ icu/source/test/intltest/dtfmttst.cpp      2014-06-13 19:34:40.611299572 +0200
-@@ -1129,7 +1129,7 @@
-         return;
-     }
-     parse2DigitYear(fmt, "5/6/17", date(117, UCAL_JUNE, 5));
--    parse2DigitYear(fmt, "4/6/34", date(34, UCAL_JUNE, 4));
-+    parse2DigitYear(fmt, "4/6/34", date(134, UCAL_JUNE, 4));
- }
-
- // -------------------------------------
diff --git a/compat-isl/compat-isl.nm b/compat-isl/compat-isl.nm
deleted file mode 100644 (file)
index 4005582..0000000
+++ /dev/null
@@ -1,60 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = compat-isl
-version    = 0.14.1
-release    = 1
-thisapp    = isl-%{version}
-
-groups     = System/Libraries
-url        = http://isl.gforge.inria.fr/
-license    = MIT
-summary    = Integer Set Library
-
-description
-       isl is a library for manipulating sets and relations of integer points
-       bounded by linear constraints. Supported operations on sets include
-       intersection, union, set difference, emptiness check, convex hull,
-       (integer) affine hull, integer projection, computing the lexicographic
-       minimum using parametric integer programming, coalescing and parametric
-       vertex enumeration.
-end
-
-source_dl += http://isl.gforge.inria.fr/
-sources    = %{thisapp}.tar.xz
-
-build
-       requires
-               gmp-devel
-       end
-
-       test
-               export LD_LIBRARY_PATH=$(pwd)/.libs
-               make check
-       end
-
-       install
-               # Install just the library and no headers.
-               mkdir -pv %{BUILDROOT}%{libdir}
-               install -m 644 .libs/libisl.so.13.1.1 %{BUILDROOT}%{libdir}
-               ln -svf libisl.so.13.1.1 %{BUILDROOT}%{libdir}/libisl.so.13
-       end
-end
-
-packages
-       package %{name}
-               provides
-                       isl = %{thisver}
-               end
-
-               obsoletes
-                       isl <= %{thisver}
-               end
-       end
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
diff --git a/compat-libffi/compat-libffi.nm b/compat-libffi/compat-libffi.nm
deleted file mode 100644 (file)
index e361bd3..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = compat-libffi
-version    = 3.0.10
-release    = 2
-sup_arches = x86_64 i686 armv7hl armv5tel
-thisapp    = libffi-%{version}
-
-groups     = System/Libraries
-url        = http://sourceware.org/libffi
-license    = BSD
-summary    = A portable foreign function interface library.
-
-description
-       This package is for compatability to old versions only, and provides no
-       Development libraries.
-
-       The libffi library provides a portable, high level programming
-       interface to various calling conventions. This allows a programmer to
-       call any function specified by a call interface description at run time.
-end
-
-source_dl  = ftp://sourceware.org/pub/libffi/
-
-build
-       install_cmds
-               # Remove all development files, because nothing
-               # should link against this.
-               rm -rvf %{BUILDROOT}%{libdir}/pkgconfig
-               rm -rvf %{BUILDROOT}%{libdir}/libffi-%{version}
-               rm -rvf %{BUILDROOT}%{libdir}/*.so
-               rm -rvf %{BUILDROOT}%{mandir}
-       end
-end
-
-packages
-       package %{name}
-               obsoletes
-                       libffi <= %{thisver}
-               end
-       end
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
diff --git a/compat-libgcrypt/compat-libgcrypt.nm b/compat-libgcrypt/compat-libgcrypt.nm
deleted file mode 100644 (file)
index 552399f..0000000
+++ /dev/null
@@ -1,62 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = compat-libgcrypt
-version    = 1.5.4
-release    = 2
-thisapp    = libgcrypt-%{version}
-
-groups     = System/Libraries
-url        = http://www.gnupg.org/
-license    = LGPLv2.1+
-summary    = A general-purpose cryptography library
-
-description
-       Libgcrypt is a general purpose crypto library based on the code used
-       in GNU Privacy Guard.
-end
-
-source_dl  = ftp://ftp.gnupg.org/gcrypt/libgcrypt/
-sources    = %{thisapp}.tar.bz2
-
-build
-       requires
-               gcc-c++
-               libgpg-error-devel
-       end
-
-       export LD_LIBRARY_PATH = %{DIR_APP}/src/.libs
-
-       configure_options += \
-               --enable-noexecstack
-
-       test
-               make check
-       end
-
-       install
-               # Install just the library and no headers.
-               mkdir -pv %{BUILDROOT}%{libdir}
-
-               install -m 755 src/.libs/libgcrypt.so.11.8.3 %{BUILDROOT}%{libdir}
-               ln -svf libgcrypt.so.11.8.3 %{BUILDROOT}%{libdir}/libgcrypt.so.11
-       end
-end
-
-packages
-       package %{name}
-               provides
-                       libgcrypt = %{thisver}
-               end
-
-               obsoletes
-                       libgcrypt <= %{thisver}
-               end
-       end
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
diff --git a/compat-libmpc/compat-libmpc.nm b/compat-libmpc/compat-libmpc.nm
deleted file mode 100644 (file)
index f50e711..0000000
+++ /dev/null
@@ -1,68 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = compat-libmpc
-version    = 0.9
-release    = 2
-
-thisapp    = mpc-%{version}
-
-groups     = System/Libraries
-url        = http://www.multiprecision.org/
-license    = LGPLv2.1+
-summary    = Mpc is a C library for the arithmetic of complex numbers.
-
-description
-       Mpc is a C library for the arithmetic of complex numbers with
-       arbitrarily high precision and correct rounding of the result.
-       It is built upon and follows the same principles as Mpfr.
-end
-
-source_dl  = http://www.multiprecision.org/mpc/download/
-
-build
-       requires
-               gmp-devel >= 4.3.2
-               mpfr-devel >= 2.4.2
-       end
-
-       export LD_LIBRARY_PATH = %{DIR_APP}/src/.libs
-       export EGREP = egrep
-
-       configure_options += \
-               --disable-static \
-               --enable-shared
-
-       test
-               make check
-       end
-
-       install
-               # Only install libraries.
-               mkdir -pv %{BUILDROOT}%{libdir}
-               install -m 644 src/.libs/libmpc.so.2.0.0 %{BUILDROOT}%{libdir}
-               ln -svf libmpc.so.2.0.0 %{BUILDROOT}%{libdir}/libmpc.so.2
-       end
-end
-
-packages
-       package %{name}
-               provides
-                       mpc = %{thisver}
-               end
-
-               obsoletes
-                       mpc-compat
-               end
-
-               conflicts
-                       mpc <= %{thisver}
-               end
-       end
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
diff --git a/compat-libpng/compat-libpng.nm b/compat-libpng/compat-libpng.nm
deleted file mode 100644 (file)
index 44b424b..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = compat-libpng
-version    = 1.5.18
-release    = 1
-thisapp    = libpng-%{version}
-
-groups     = System/Libraries
-url        = http://www.libpng.org/pub/png/
-license    = zlib
-summary    = A library of functions for manipulating PNG image format files.
-
-description
-       The libpng package contains a library of functions for creating and
-       manipulating PNG (Portable Network Graphics) image format files.
-       PNG is a bit-mapped graphics format similar to the GIF format. PNG
-       was created to replace the GIF format, since GIF uses a patented
-       data compression algorithm.
-end
-
-source_dl +=  http://downloads.sourceforge.net/project/libpng/libpng15/%{version}/
-source_dl +=  http://downloads.sourceforge.net/project/libpng/history/libpng15/%{version}/
-
-sources    = %{thisapp}.tar.xz
-
-build
-       requires
-               pkg-config
-               zlib-devel
-       end
-
-       install
-               # Install just the library and no headers.
-               mkdir -pv %{BUILDROOT}%{libdir}
-               install -m 755 .libs/libpng15.so.15.18.0 %{BUILDROOT}%{libdir}
-               ln -svf libpng15.so.15.18.0 %{BUILDROOT}%{libdir}/libpng15.so.15
-       end
-end
-
-packages
-       package %{name}
-               provides
-                       libpng = %{thisver}
-               end
-
-               obsoletes
-                       libpng-compat
-               end
-
-               conflicts
-                       libpng <= %{thisver}
-               end
-       end
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
diff --git a/compat-ncurses/compat-ncurses.nm b/compat-ncurses/compat-ncurses.nm
deleted file mode 100644 (file)
index 677060f..0000000
+++ /dev/null
@@ -1,106 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = compat-ncurses
-version    = 5.9
-revision   = 20150117
-release    = 12.%{revision}
-thisapp    = ncurses-%{version}-%{revision}
-
-groups     = System/Base
-url        = http://invisible-island.net/ncurses/ncurses.html
-license    = MIT
-summary    = Ncurses support utilities.
-
-description
-       The curses library routines are a terminal-independent method of
-       updating character screens with reasonable optimization. The ncurses
-       (new curses) library is a freely distributable replacement for the
-       discontinued 4.4 BSD classic curses library.
-end
-
-source_dl  = ftp://invisible-island.net/ncurses/current/
-sources    = %{thisapp}.tgz
-
-build
-       requires
-               gcc-c++
-       end
-
-       configure_options += \
-               --with-shared \
-               --without-debug \
-               --without-ada \
-               --with-ospeed=unsigned \
-               --with-chtype=long \
-               --enable-hard-tabs \
-               --enable-xmc-glitch \
-               --enable-colorfgbg \
-               --with-terminfo-dirs=%{sysconfdir}/terminfo:%{datadir}/terminfo \
-               --enable-overwrite \
-               --enable-pc-files \
-               --with-termlib=tinfo
-
-       export PKG_CONFIG_LIBDIR=%{libdir}/pkgconfig
-
-       build
-               mkdir -pv narrowc widec
-
-               # Build narrowc version.
-               cd narrowc
-               ln -svf ../configure .
-               ./configure %{configure_options} --with-ticlib
-               make %{PARALLELISMFLAGS} libs
-               make %{PARALLELISMFLAGS} -C progs
-
-               # Build widec version.
-               cd ../widec
-               ln -svf ../configure .
-               ./configure %{configure_options} --enable-widec --without-progs
-               make %{PARALLELISMFLAGS} libs
-               cd ..
-       end
-
-       install
-               make -C narrowc DESTDIR=%{BUILDROOT} install.libs
-               rm -rvf %{BUILDROOT}%{libdir}/libtinfo.*
-               make -C widec DESTDIR=%{BUILDROOT} install.libs
-
-               chmod -v 755 %{BUILDROOT}%{libdir}/lib*.so.*.*
-
-               # don't require -ltinfo when linking with --no-add-needed
-               for l in %{BUILDROOT}%{libdir}/libncurses{,w}.so; do
-                       soname=$(basename $(readlink $l))
-                       rm -f $l
-                       echo "INPUT($soname -ltinfo)" > $l
-               done
-
-               rm -f %{BUILDROOT}%{libdir}/libcurses{,w}.so
-               echo "INPUT(-lncurses)" > %{BUILDROOT}%{libdir}/libcurses.so
-               echo "INPUT(-lncursesw)" > %{BUILDROOT}%{libdir}/libcursesw.so
-               echo "INPUT(-ltinfo)" > %{BUILDROOT}%{libdir}/libtermcap.so
-
-               rm -vf %{BUILDROOT}%{libdir}/terminfo
-               rm -vf %{BUILDROOT}%{libdir}/pkgconfig/{*_g,ncurses++*}.pc
-       end
-end
-
-packages
-       package %{name}
-               template LIBS
-
-               provides
-                       ncurses-libs = %{thisver}
-               end
-
-               obsoletes
-                       ncurses-libs <= %{thisver}
-               end
-       end
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
diff --git a/compat-nettle/compat-nettle.nm b/compat-nettle/compat-nettle.nm
deleted file mode 100644 (file)
index 5e17e3d..0000000
+++ /dev/null
@@ -1,64 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = compat-nettle
-version    = 2.7.1
-release    = 1
-thisapp    = nettle-%{version}
-
-groups     = System/Libraries
-url        = http://www.lysator.liu.se/~nisse/nettle/
-license    = LGPL
-summary    = A low-level cryptographic library.
-
-description
-       Nettle is a cryptographic library that is designed to fit easily in
-       more or less any context: In crypto toolkits for object-oriented
-       languages (C++, Python, Pike, ...), in applications like LSH or GNUPG,
-       or even in kernel space.
-end
-
-source_dl  = http://www.lysator.liu.se/~nisse/archive/
-
-build
-       requires
-               gmp-devel
-               m4
-       end
-
-       configure_options += \
-               --enable-shared
-
-       test
-               make check
-       end
-
-       install
-               # Install just the library and no headers.
-               mkdir -pv %{BUILDROOT}%{libdir}
-
-               install -m 755 libhogweed.so %{BUILDROOT}%{libdir}/libhogweed.so.2.5
-               ln -svf libhogweed.so.2.5 %{BUILDROOT}%{libdir}/libhogweed.so.2
-
-               install -m 755 libnettle.so %{BUILDROOT}%{libdir}/libnettle.so.4.7
-               ln -svf libnettle.so.4.7 %{BUILDROOT}%{libdir}/libnettle.so.4
-       end
-end
-
-packages
-       package %{name}
-               provides
-                       nettle = %{thisver}
-               end
-
-               obsoletes
-                       nettle <= %{thisver}
-               end
-       end
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
diff --git a/compat-openssl/compat-openssl.nm b/compat-openssl/compat-openssl.nm
deleted file mode 100644 (file)
index c45089d..0000000
+++ /dev/null
@@ -1,147 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = compat-openssl
-version    = 1.0.2n
-release    = 1
-thisapp    = openssl-%{version}
-
-maintainer = Michael Tremer <michael.tremer@ipfire.org>
-groups     = System/Libraries
-url        = http://www.openssl.org/
-license    = OpenSSL
-summary    = A general purpose cryptography library with TLS implementation.
-
-description
-       The OpenSSL toolkit provides support for secure communications between
-       machines. OpenSSL includes a certificate management tool and shared
-       libraries which provide various cryptographic algorithms and protocols.
-end
-
-source_dl  = http://openssl.org/source/
-
-build
-       requires
-               bc
-               gnutls-devel
-               perl
-               util-linux
-               zlib-devel
-       end
-
-       CFLAGS += -DPURIFY
-       export RPM_OPT_FLAGS = %{CFLAGS} %{LDFLAGS}
-
-       prepare_cmds
-               sed -e 's/SHLIB_VERSION_NUMBER "1.0.0"/SHLIB_VERSION_NUMBER "%{version}"/' \
-                       -i crypto/opensslv.h
-
-               find crypto/ -name Makefile -exec \
-                       sed 's/^ASFLAGS=/&-Wa,--noexecstack /' -i {} \;
-
-               # Generate a table with the compile settings for my perusal.
-               touch Makefile
-               make TABLE PERL=/usr/bin/perl
-       end
-
-       # Set default ssl_arch.
-       ssl_arch = linux-%{DISTRO_ARCH}
-
-       if "%{DISTRO_ARCH}" == "i686"
-               # 386 implies no-sse2
-               ssl_arch = linux-elf no-asm 386
-       end
-
-       if "%{DISTRO_ARCH}" == "armv5tel"
-               ssl_arch = linux-armv4
-       end
-
-       if "%{DISTRO_ARCH}" == "armv7hl"
-               ssl_arch = linux-armv4
-       end
-
-       build
-               ./Configure \
-                       --prefix=/usr \
-                       --openssldir=/etc/pki/tls \
-                       --enginesdir=%{libdir}/openssl/engines \
-                       shared \
-                       zlib-dynamic \
-                       enable-camellia \
-                       enable-md2 \
-                       enable-seed \
-                       enable-tlsext \
-                       enable-rfc3779 \
-                       no-idea \
-                       no-mdc2 \
-                       no-rc5 \
-                       no-ec2m \
-                       no-srp \
-                       -DSSL_FORBID_ENULL \
-                        %{ssl_arch}
-
-               # Build.
-               make depend
-               make all
-
-               # Generate hashes for the included certs.
-               make rehash
-       end
-
-       test
-               # Revert ca-dir patch. Otherwise the tests will fail.
-               patch -Np1 -R < %{DIR_PATCHES}/openssl-1.0.0-beta4-ca-dir.patch
-
-               make test
-       end
-
-       install
-               make install INSTALL_PREFIX=%{BUILDROOT}
-
-               # Remove man pages
-               rm -rfv %{BUILDROOT}%{sysconfdir}/pki/tls/man %{BUILDROOT}/usr/share/man*
-
-               # Remove configuration files
-               rm -rfv %{BUILDROOT}%{sysconfdir}/pki
-
-               # Remove engines
-               rm -rfv %{BUILDROOT}%{libdir}/{engines,openssl}
-
-               # Remove binaries
-               rm -rfv %{BUILDROOT}%{bindir}
-       end
-end
-
-packages
-       package %{name}
-               requires
-                       ca-certificates
-               end
-
-               provides
-                       openssl = %{thisver}
-               end
-
-               obsoletes
-                       openssl <= %{thisver}
-               end
-       end
-
-       package %{name}-devel
-               template DEVEL
-
-               provides
-                       openssl-devel = %{thisver}
-               end
-
-               obsoletes
-                       openssl-devel <= %{thisver}
-               end
-       end
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
diff --git a/compat-openssl/openssl.cnf b/compat-openssl/openssl.cnf
deleted file mode 100644 (file)
index 4194765..0000000
+++ /dev/null
@@ -1,94 +0,0 @@
-HOME           = .
-RANDFILE       = /var/tmp/.rnd
-oid_section    = new_oids
-
-[ new_oids ]
-
-[ ca ]
-default_ca     = IPFire
-
-[ IPFire ]
-dir            = /var/ipfire
-certs          = $dir/certs
-crl_dir        = $dir/crls
-database       = $dir/certs/index.txt
-new_certs_dir  = $dir/certs
-certificate    = $dir/ca/cacert.pem
-serial         = $dir/certs/serial
-crl            = $dir/crls/cacrl.pem
-private_key    = $dir/private/cakey.pem
-RANDFILE       = $dir/tmp/.rand
-x509_extensions        = usr_cert
-default_days   = 999999
-default_crl_days= 30
-default_md     = md5
-preserve       = no
-policy         = policy_match
-email_in_dn    = no
-
-[ policy_match ]
-countryName            = optional
-stateOrProvinceName    = optional
-organizationName       = optional
-organizationalUnitName = optional
-commonName             = supplied
-emailAddress           = optional
-
-[ req ]
-default_bits           = 1024
-default_keyfile        = privkey.pem
-distinguished_name     = req_distinguished_name
-attributes             = req_attributes
-x509_extensions        = v3_ca
-string_mask = nombstr
-
-[ req_distinguished_name ]
-countryName                    = Country Name (2 letter code)
-countryName_default            = DE
-countryName_min                = 2
-countryName_max                = 2
-
-stateOrProvinceName            = State or Province Name (full name)
-stateOrProvinceName_default    =
-
-localityName                   = Locality Name (eg, city)
-#localityName_default          =
-
-0.organizationName             = Organization Name (eg, company)
-0.organizationName_default     = IPFire
-
-organizationalUnitName         = Organizational Unit Name (eg, section)
-#organizationalUnitName_default        =
-
-commonName                     = Common Name (eg, your name or your server\'s hostname)
-commonName_max         = 64
-
-emailAddress                   = Email Address
-emailAddress_max               = 40
-
-[ req_attributes ]
-challengePassword              = A challenge password
-challengePassword_min  = 4
-challengePassword_max  = 20
-unstructuredName               = An optional company name
-
-[ usr_cert ]
-basicConstraints=CA:FALSE
-nsComment                      = "OpenSSL Generated Certificate"
-subjectKeyIdentifier=hash
-authorityKeyIdentifier=keyid,issuer:always
-
-[ v3_req ]
-basicConstraints = CA:FALSE
-keyUsage = nonRepudiation, digitalSignature, keyEncipherment
-
-[ v3_ca ]
-subjectKeyIdentifier=hash
-authorityKeyIdentifier=keyid:always,issuer:always
-basicConstraints = CA:true
-
-[ crl_ext ]
-authorityKeyIdentifier=keyid:always,issuer:always
-
-[ engine ]
-default = openssl
diff --git a/compat-openssl/patches/openssl-0.9.8a-no-rpath.patch b/compat-openssl/patches/openssl-0.9.8a-no-rpath.patch
deleted file mode 100644 (file)
index 8f8fb91..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
---- openssl-0.9.8a/Makefile.shared.no-rpath    2005-06-23 22:47:54.000000000 +0200
-+++ openssl-0.9.8a/Makefile.shared     2005-11-16 22:35:37.000000000 +0100
-@@ -153,7 +153,7 @@
-       NOALLSYMSFLAGS='-Wl,--no-whole-archive'; \
-       SHAREDFLAGS="$(CFLAGS) $(SHARED_LDFLAGS) -shared -Wl,-Bsymbolic -Wl,-soname=$$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX"
--DO_GNU_APP=LDFLAGS="$(CFLAGS) -Wl,-rpath,$(LIBRPATH)"
-+DO_GNU_APP=LDFLAGS="$(CFLAGS)"
- #This is rather special.  It's a special target with which one can link
- #applications without bothering with any features that have anything to
diff --git a/compat-openssl/patches/openssl-1.0.0-beta4-ca-dir.patch b/compat-openssl/patches/openssl-1.0.0-beta4-ca-dir.patch
deleted file mode 100644 (file)
index 751cabd..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-diff -up openssl-1.0.0-beta4/apps/CA.pl.in.ca-dir openssl-1.0.0-beta4/apps/CA.pl.in
---- openssl-1.0.0-beta4/apps/CA.pl.in.ca-dir   2006-04-28 02:30:49.000000000 +0200
-+++ openssl-1.0.0-beta4/apps/CA.pl.in  2009-11-12 12:33:13.000000000 +0100
-@@ -53,7 +53,7 @@ $VERIFY="$openssl verify";
- $X509="$openssl x509";
- $PKCS12="$openssl pkcs12";
--$CATOP="./demoCA";
-+$CATOP="/etc/pki/CA";
- $CAKEY="cakey.pem";
- $CAREQ="careq.pem";
- $CACERT="cacert.pem";
-diff -up openssl-1.0.0-beta4/apps/CA.sh.ca-dir openssl-1.0.0-beta4/apps/CA.sh
---- openssl-1.0.0-beta4/apps/CA.sh.ca-dir      2009-10-15 19:27:47.000000000 +0200
-+++ openssl-1.0.0-beta4/apps/CA.sh     2009-11-12 12:35:14.000000000 +0100
-@@ -68,7 +68,7 @@ VERIFY="$OPENSSL verify"
- X509="$OPENSSL x509"
- PKCS12="openssl pkcs12"
--if [ -z "$CATOP" ] ; then CATOP=./demoCA ; fi
-+if [ -z "$CATOP" ] ; then CATOP=/etc/pki/CA ; fi
- CAKEY=./cakey.pem
- CAREQ=./careq.pem
- CACERT=./cacert.pem
-diff -up openssl-1.0.0-beta4/apps/openssl.cnf.ca-dir openssl-1.0.0-beta4/apps/openssl.cnf
---- openssl-1.0.0-beta4/apps/openssl.cnf.ca-dir        2009-11-12 12:33:13.000000000 +0100
-+++ openssl-1.0.0-beta4/apps/openssl.cnf       2009-11-12 12:33:13.000000000 +0100
-@@ -39,7 +39,7 @@ default_ca   = CA_default            # The default c
- ####################################################################
- [ CA_default ]
--dir           = ./demoCA              # Where everything is kept
-+dir           = /etc/pki/CA           # Where everything is kept
- certs         = $dir/certs            # Where the issued certs are kept
- crl_dir               = $dir/crl              # Where the issued crl are kept
- database      = $dir/index.txt        # database index file.
diff --git a/compat-openssl/patches/openssl-1.0.0-beta5-enginesdir.patch b/compat-openssl/patches/openssl-1.0.0-beta5-enginesdir.patch
deleted file mode 100644 (file)
index d942d6e..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-diff -up openssl-1.0.0-beta5/Configure.enginesdir openssl-1.0.0-beta5/Configure
---- openssl-1.0.0-beta5/Configure.enginesdir   2010-01-20 18:07:05.000000000 +0100
-+++ openssl-1.0.0-beta5/Configure      2010-01-20 18:10:48.000000000 +0100
-@@ -622,6 +622,7 @@ my $idx_multilib = $idx++;
- my $prefix="";
- my $libdir="";
- my $openssldir="";
-+my $enginesdir="";
- my $exe_ext="";
- my $install_prefix= "$ENV{'INSTALL_PREFIX'}";
- my $cross_compile_prefix="";
-@@ -833,6 +834,10 @@ PROCESS_ARGS:
-                               {
-                               $openssldir=$1;
-                               }
-+                      elsif (/^--enginesdir=(.*)$/)
-+                              {
-+                              $enginesdir=$1;
-+                              }
-                       elsif (/^--install.prefix=(.*)$/)
-                               {
-                               $install_prefix=$1;
-@@ -1053,7 +1058,7 @@ chop $prefix if $prefix =~ /.\/$/;
- $openssldir=$prefix . "/ssl" if $openssldir eq "";
- $openssldir=$prefix . "/" . $openssldir if $openssldir !~ /(^\/|^[a-zA-Z]:[\\\/])/;
--
-+$enginesdir="$prefix/lib/engines" if $enginesdir eq "";
- print "IsMK1MF=$IsMK1MF\n";
-@@ -1673,7 +1678,7 @@ while (<IN>)
-               }
-       elsif   (/^#define\s+ENGINESDIR/)
-               {
--              my $foo = "$prefix/$libdir/engines";
-+              my $foo = "$enginesdir";
-               $foo =~ s/\\/\\\\/g;
-               print OUT "#define ENGINESDIR \"$foo\"\n";
-               }
-diff -up openssl-1.0.0-beta5/engines/Makefile.enginesdir openssl-1.0.0-beta5/engines/Makefile
---- openssl-1.0.0-beta5/engines/Makefile.enginesdir    2010-01-16 21:06:09.000000000 +0100
-+++ openssl-1.0.0-beta5/engines/Makefile       2010-01-20 18:07:05.000000000 +0100
-@@ -124,7 +124,7 @@ install:
-                               sfx=".so"; \
-                               cp cyg$$l.dll $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines/$$pfx$$l$$sfx.new; \
-                         fi; \
--                        chmod 555 $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines/$$pfx$$l$$sfx.new; \
-+                        chmod 755 $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines/$$pfx$$l$$sfx.new; \
-                         mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines/$$pfx$$l$$sfx.new $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines/$$pfx$$l$$sfx ); \
-               done; \
-       fi
diff --git a/compat-openssl/patches/openssl-1.0.2a-version.patch b/compat-openssl/patches/openssl-1.0.2a-version.patch
deleted file mode 100644 (file)
index 25dfff5..0000000
+++ /dev/null
@@ -1,83 +0,0 @@
-diff -up openssl-1.0.2a/crypto/cversion.c.version openssl-1.0.2a/crypto/cversion.c
---- openssl-1.0.2a/crypto/cversion.c.version   2015-03-19 14:30:36.000000000 +0100
-+++ openssl-1.0.2a/crypto/cversion.c   2015-04-21 16:48:56.285535316 +0200
-@@ -62,7 +62,7 @@
- # include "buildinf.h"
- #endif
--const char *SSLeay_version(int t)
-+const char *_current_SSLeay_version(int t)
- {
-     if (t == SSLEAY_VERSION)
-         return OPENSSL_VERSION_TEXT;
-@@ -101,7 +101,40 @@ const char *SSLeay_version(int t)
-     return ("not available");
- }
--unsigned long SSLeay(void)
-+const char *_original_SSLeay_version(int t)
-+{
-+    if (t == SSLEAY_VERSION)
-+        return "OpenSSL 1.0.0-fips 29 Mar 2010";
-+    else
-+        return _current_SSLeay_version(t);
-+}
-+
-+const char *_original101_SSLeay_version(int t)
-+{
-+    if (t == SSLEAY_VERSION)
-+        return "OpenSSL 1.0.1e-fips 11 Feb 2013";
-+    else
-+        return _current_SSLeay_version(t);
-+}
-+
-+unsigned long _original_SSLeay(void)
-+{
-+    return (0x10000003L);
-+}
-+
-+unsigned long _original101_SSLeay(void)
-+{
-+    return (0x1000105fL);
-+}
-+
-+unsigned long _current_SSLeay(void)
- {
-     return (SSLEAY_VERSION_NUMBER);
- }
-+
-+__asm__(".symver _original_SSLeay,SSLeay@");
-+__asm__(".symver _original_SSLeay_version,SSLeay_version@");
-+__asm__(".symver _original101_SSLeay,SSLeay@OPENSSL_1.0.1");
-+__asm__(".symver _original101_SSLeay_version,SSLeay_version@OPENSSL_1.0.1");
-+__asm__(".symver _current_SSLeay,SSLeay@@OPENSSL_1.0.2");
-+__asm__(".symver _current_SSLeay_version,SSLeay_version@@OPENSSL_1.0.2");
-diff -up openssl-1.0.2a/Makefile.shared.version openssl-1.0.2a/Makefile.shared
---- openssl-1.0.2a/Makefile.shared.version     2015-04-21 16:43:02.624170648 +0200
-+++ openssl-1.0.2a/Makefile.shared     2015-04-21 16:43:02.676171879 +0200
-@@ -151,7 +151,7 @@ DO_GNU_SO=$(CALC_VERSIONS); \
-       SHLIB_SUFFIX=; \
-       ALLSYMSFLAGS='-Wl,--whole-archive'; \
-       NOALLSYMSFLAGS='-Wl,--no-whole-archive'; \
--      SHAREDFLAGS="$(CFLAGS) $(SHARED_LDFLAGS) -shared -Wl,-Bsymbolic -Wl,-soname=$$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX"
-+      SHAREDFLAGS="$(CFLAGS) $(SHARED_LDFLAGS) -shared -Wl,-Bsymbolic -Wl,--default-symver,--version-script=version.map -Wl,-soname=$$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX"
- DO_GNU_APP=LDFLAGS="$(CFLAGS)"
-diff -up openssl-1.0.2a/version.map.version openssl-1.0.2a/version.map
---- openssl-1.0.2a/version.map.version 2015-04-21 16:43:02.676171879 +0200
-+++ openssl-1.0.2a/version.map 2015-04-21 16:51:49.621630589 +0200
-@@ -0,0 +1,13 @@
-+OPENSSL_1.0.1 {
-+    global:
-+          SSLeay;
-+          SSLeay_version;
-+    local:
-+          _original*;
-+          _current*;
-+};
-+OPENSSL_1.0.2 {
-+    global:
-+          SSLeay;
-+          SSLeay_version;
-+} OPENSSL_1.0.1;
diff --git a/compat-openssl/patches/openssl-1.0.2e-rpmbuild.patch b/compat-openssl/patches/openssl-1.0.2e-rpmbuild.patch
deleted file mode 100644 (file)
index db1460c..0000000
+++ /dev/null
@@ -1,115 +0,0 @@
-diff -up openssl-1.0.2e/Configure.rpmbuild openssl-1.0.2e/Configure
---- openssl-1.0.2e/Configure.rpmbuild  2015-12-03 15:04:23.000000000 +0100
-+++ openssl-1.0.2e/Configure   2015-12-04 13:20:22.996835604 +0100
-@@ -365,8 +365,8 @@ my %table=(
- ####
- # *-generic* is endian-neutral target, but ./config is free to
- # throw in -D[BL]_ENDIAN, whichever appropriate...
--"linux-generic32","gcc:-O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL BF_PTR:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
--"linux-ppc",  "gcc:-DB_ENDIAN -O3 -Wall::-D_REENTRANT::-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_RISC1 DES_UNROLL:${ppc32_asm}:linux32:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-+"linux-generic32","gcc:-Wall \$(RPM_OPT_FLAGS)::-D_REENTRANT::-Wl,-z,relro -ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL BF_PTR:${no_asm}:dlfcn:linux-shared:-fPIC:\$(RPM_OPT_FLAGS):.so.\$(SHLIB_SONAMEVER)",
-+"linux-ppc",  "gcc:-DB_ENDIAN -Wall \$(RPM_OPT_FLAGS)::-D_REENTRANT::-Wl,-z,relro -ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_RISC1 DES_UNROLL:${ppc32_asm}:linux32:dlfcn:linux-shared:-fPIC:\$(RPM_OPT_FLAGS):.so.\$(SHLIB_SONAMEVER)",
- #######################################################################
- # Note that -march is not among compiler options in below linux-armv4
-@@ -395,31 +395,31 @@ my %table=(
- #
- #       ./Configure linux-armv4 -march=armv6 -D__ARM_MAX_ARCH__=8
- #
--"linux-armv4",        "gcc: -O3 -Wall::-D_REENTRANT::-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL BF_PTR:${armv4_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
--"linux-aarch64","gcc: -O3 -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL BF_PTR:${aarch64_asm}:linux64:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-+"linux-armv4",        "gcc:-Wall \$(RPM_OPT_FLAGS)::-D_REENTRANT::-Wl,-z,relro -ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL BF_PTR:${armv4_asm}:dlfcn:linux-shared:-fPIC:\$(RPM_OPT_FLAGS):.so.\$(SHLIB_SONAMEVER)",
-+"linux-aarch64","gcc:-DL_ENDIAN -Wall \$(RPM_OPT_FLAGS)::-D_REENTRANT::-Wl,-z,relro -ldl:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL BF_PTR:${aarch64_asm}:linux64:dlfcn:linux-shared:-fPIC:\$(RPM_OPT_FLAGS):.so.\$(SHLIB_SONAMEVER):::64",
- # Configure script adds minimally required -march for assembly support,
- # if no -march was specified at command line. mips32 and mips64 below
- # refer to contemporary MIPS Architecture specifications, MIPS32 and
- # MIPS64, rather than to kernel bitness.
--"linux-mips32",       "gcc:-mabi=32 -O3 -Wall -DBN_DIV3W::-D_REENTRANT::-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL BF_PTR:${mips32_asm}:o32:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
--"linux-mips64",   "gcc:-mabi=n32 -O3 -Wall -DBN_DIV3W::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL BF_PTR:${mips64_asm}:n32:dlfcn:linux-shared:-fPIC:-mabi=n32:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::32",
--"linux64-mips64",   "gcc:-mabi=64 -O3 -Wall -DBN_DIV3W::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL BF_PTR:${mips64_asm}:64:dlfcn:linux-shared:-fPIC:-mabi=64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::64",
-+"linux-mips32",       "gcc:-mabi=32 -Wall \$(RPM_OPT_FLAGS) -DBN_DIV3W::-D_REENTRANT::-Wl,-z,relro -ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL BF_PTR:${mips32_asm}:o32:dlfcn:linux-shared:-fPIC:\$(RPM_OPT_FLAGS):.so.\$(SHLIB_SONAMEVER)",
-+"linux-mips64",   "gcc:-mabi=n32 -Wall \$(RPM_OPT_FLAGS) -DBN_DIV3W::-D_REENTRANT::-Wl,-z,relro -ldl:SIXTY_FOUR_BIT RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL BF_PTR:${mips64_asm}:n32:dlfcn:linux-shared:-fPIC:-mabi=n32 \$(RPM_OPT_FLAGS):.so.\$(SHLIB_SONAMEVER):::32",
-+"linux64-mips64",   "gcc:-mabi=64 -Wall \$(RPM_OPT_FLAGS) -DBN_DIV3W::-D_REENTRANT::-Wl,-z,relro -ldl:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL BF_PTR:${mips64_asm}:64:dlfcn:linux-shared:-fPIC:-mabi=64 \$(RPM_OPT_FLAGS):.so.\$(SHLIB_SONAMEVER):::64",
- #### IA-32 targets...
- "linux-ia32-icc",     "icc:-DL_ENDIAN -O2::-D_REENTRANT::-ldl -no_cpprt:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-KPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
--"linux-elf",  "gcc:-DL_ENDIAN -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-+"linux-elf",  "gcc:-DL_ENDIAN -Wall \$(RPM_OPT_FLAGS)::-D_REENTRANT::-Wl,-z,relro -ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-fPIC:\$(RPM_OPT_FLAGS):.so.\$(SHLIB_SONAMEVER)",
- "linux-aout", "gcc:-DL_ENDIAN -O3 -fomit-frame-pointer -march=i486 -Wall::(unknown):::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_asm}:a.out",
- ####
--"linux-generic64","gcc:-O3 -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL BF_PTR:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
--"linux-ppc64",        "gcc:-m64 -DB_ENDIAN -O3 -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_RISC1 DES_UNROLL:${ppc64_asm}:linux64:dlfcn:linux-shared:-fPIC:-m64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::64",
--"linux-ppc64le","gcc:-m64 -DL_ENDIAN -O3 -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_RISC1 DES_UNROLL:$ppc64_asm:linux64le:dlfcn:linux-shared:-fPIC:-m64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::",
--"linux-ia64", "gcc:-DL_ENDIAN -DTERMIO -O3 -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_UNROLL DES_INT:${ia64_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-+"linux-generic64","gcc:-Wall \$(RPM_OPT_FLAGS)::-D_REENTRANT::-Wl,-z,relro -ldl:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL BF_PTR:${no_asm}:dlfcn:linux-shared:-fPIC:\$(RPM_OPT_FLAGS):.so.\$(SHLIB_SONAMEVER):::64",
-+"linux-ppc64",        "gcc:-m64 -DB_ENDIAN -Wall \$(RPM_OPT_FLAGS)::-D_REENTRANT::-Wl,-z,relro -ldl:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_RISC1 DES_UNROLL:${ppc64_asm}:linux64:dlfcn:linux-shared:-fPIC:-m64 \$(RPM_OPT_FLAGS):.so.\$(SHLIB_SONAMEVER):::64",
-+"linux-ppc64le","gcc:-m64 -DL_ENDIAN -Wall \$(RPM_OPT_FLAGS)::-D_REENTRANT::-Wl,-z,relro -ldl:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_RISC1 DES_UNROLL:$ppc64_asm:linux64le:dlfcn:linux-shared:-fPIC:-m64 \$(RPM_OPT_FLAGS):.so.\$(SHLIB_SONAMEVER):::64",
-+"linux-ia64", "gcc:-DL_ENDIAN -Wall \$(RPM_OPT_FLAGS)::-D_REENTRANT::-Wl,-z,relro -ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_UNROLL DES_INT:${ia64_asm}:dlfcn:linux-shared:-fPIC:\$(RPM_OPT_FLAGS):.so.\$(SHLIB_SONAMEVER)",
- "linux-ia64-icc","icc:-DL_ENDIAN -O2 -Wall::-D_REENTRANT::-ldl -no_cpprt:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_RISC1 DES_INT:${ia64_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
--"linux-x86_64",       "gcc:-m64 -DL_ENDIAN -O3 -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_UNROLL:${x86_64_asm}:elf:dlfcn:linux-shared:-fPIC:-m64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::64",
-+"linux-x86_64",       "gcc:-m64 -DL_ENDIAN -Wall \$(RPM_OPT_FLAGS)::-D_REENTRANT::-Wl,-z,relro -ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_UNROLL:${x86_64_asm}:elf:dlfcn:linux-shared:-fPIC:-m64 \$(RPM_OPT_FLAGS):.so.\$(SHLIB_SONAMEVER):::64",
- "linux-x86_64-clang", "clang: -m64 -DL_ENDIAN -O3 -Wall -Wextra $clang_disabled_warnings -Qunused-arguments::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_UNROLL:${x86_64_asm}:elf:dlfcn:linux-shared:-fPIC:-m64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::64",
- "debug-linux-x86_64-clang",   "clang: -DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DCRYPTO_MDEBUG -m64 -DL_ENDIAN -g -Wall -Wextra $clang_disabled_warnings -Qunused-arguments::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_UNROLL:${x86_64_asm}:elf:dlfcn:linux-shared:-fPIC:-m64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::64",
- "linux-x86_64-icc", "icc:-DL_ENDIAN -O2::-D_REENTRANT::-ldl -no_cpprt:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_UNROLL:${x86_64_asm}:elf:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::64",
- "linux-x32",  "gcc:-mx32 -DL_ENDIAN -O3 -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT RC4_CHUNK_LL DES_INT DES_UNROLL:${x86_64_asm}:elf:dlfcn:linux-shared:-fPIC:-mx32:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::x32",
--"linux64-s390x",      "gcc:-m64 -DB_ENDIAN -O3 -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL:${s390x_asm}:64:dlfcn:linux-shared:-fPIC:-m64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::64",
-+"linux64-s390x",      "gcc:-m64 -DB_ENDIAN -Wall \$(RPM_OPT_FLAGS)::-D_REENTRANT::-Wl,-z,relro -ldl:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL:${s390x_asm}:64:dlfcn:linux-shared:-fPIC:-m64 \$(RPM_OPT_FLAGS):.so.\$(SHLIB_SONAMEVER):::64",
- #### So called "highgprs" target for z/Architecture CPUs
- # "Highgprs" is kernel feature first implemented in Linux 2.6.32, see
- # /proc/cpuinfo. The idea is to preserve most significant bits of
-@@ -437,12 +437,12 @@ my %table=(
- #### SPARC Linux setups
- # Ray Miller <ray.miller@computing-services.oxford.ac.uk> has patiently
- # assisted with debugging of following two configs.
--"linux-sparcv8","gcc:-mcpu=v8 -DB_ENDIAN -O3 -fomit-frame-pointer -Wall -DBN_DIV2W::-D_REENTRANT::-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:${sparcv8_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-+"linux-sparcv8","gcc:-mcpu=v8 -DB_ENDIAN -Wall \$(RPM_OPT_FLAGS) -DBN_DIV2W::-D_REENTRANT::-Wl,-z,relro -ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:${sparcv8_asm}:dlfcn:linux-shared:-fPIC:\$(RPM_OPT_FLAGS):.so.\$(SHLIB_SONAMEVER)",
- # it's a real mess with -mcpu=ultrasparc option under Linux, but
- # -Wa,-Av8plus should do the trick no matter what.
--"linux-sparcv9","gcc:-m32 -mcpu=ultrasparc -DB_ENDIAN -O3 -fomit-frame-pointer -Wall -Wa,-Av8plus -DBN_DIV2W::-D_REENTRANT:ULTRASPARC:-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:${sparcv9_asm}:dlfcn:linux-shared:-fPIC:-m32:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-+"linux-sparcv9","gcc:-m32 -mcpu=ultrasparc -DB_ENDIAN -Wall \$(RPM_OPT_FLAGS) -Wa,-Av8plus -DBN_DIV2W::-D_REENTRANT:ULTRASPARC:-Wl,-z,relro -ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:${sparcv9_asm}:dlfcn:linux-shared:-fPIC:-m32 \$(RPM_OPT_FLAGS):.so.\$(SHLIB_SONAMEVER)",
- # GCC 3.1 is a requirement
--"linux64-sparcv9","gcc:-m64 -mcpu=ultrasparc -DB_ENDIAN -O3 -fomit-frame-pointer -Wall::-D_REENTRANT:ULTRASPARC:-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_INT DES_PTR DES_RISC1 DES_UNROLL BF_PTR:${sparcv9_asm}:dlfcn:linux-shared:-fPIC:-m64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::64",
-+"linux64-sparcv9","gcc:-m64 -mcpu=ultrasparc -DB_ENDIAN -Wall \$(RPM_OPT_FLAGS)::-D_REENTRANT:ULTRASPARC:-Wl,-z,relro -ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_INT DES_PTR DES_RISC1 DES_UNROLL BF_PTR:${sparcv9_asm}:dlfcn:linux-shared:-fPIC:-m64 \$(RPM_OPT_FLAGS):.so.\$(SHLIB_SONAMEVER):::64",
- #### Alpha Linux with GNU C and Compaq C setups
- # Special notes:
- # - linux-alpha+bwx-gcc is ment to be used from ./config only. If you
-@@ -1767,7 +1767,7 @@ while (<IN>)
-       elsif ($shared_extension ne "" && $shared_extension =~ /^\.s([ol])\.[^\.]*\.[^\.]*$/)
-               {
-               my $sotmp = $1;
--              s/^SHARED_LIBS_LINK_EXTS=.*/SHARED_LIBS_LINK_EXTS=.s$sotmp.\$(SHLIB_MAJOR) .s$sotmp/;
-+              s/^SHARED_LIBS_LINK_EXTS=.*/SHARED_LIBS_LINK_EXTS=.s$sotmp.\$(SHLIB_SONAMEVER) .s$sotmp/;
-               }
-       elsif ($shared_extension ne "" && $shared_extension =~ /^\.[^\.]*\.[^\.]*\.dylib$/)
-               {
-diff -up openssl-1.0.2e/Makefile.org.rpmbuild openssl-1.0.2e/Makefile.org
---- openssl-1.0.2e/Makefile.org.rpmbuild       2015-12-03 15:04:23.000000000 +0100
-+++ openssl-1.0.2e/Makefile.org        2015-12-04 13:18:44.913538616 +0100
-@@ -10,6 +10,7 @@ SHLIB_VERSION_HISTORY=
- SHLIB_MAJOR=
- SHLIB_MINOR=
- SHLIB_EXT=
-+SHLIB_SONAMEVER=10
- PLATFORM=dist
- OPTIONS=
- CONFIGURE_ARGS=
-@@ -341,10 +342,9 @@ clean-shared:
- link-shared:
-       @ set -e; for i in $(SHLIBDIRS); do \
-               $(MAKE) -f $(HERE)/Makefile.shared -e $(BUILDENV) \
--                      LIBNAME=$$i LIBVERSION=$(SHLIB_MAJOR).$(SHLIB_MINOR) \
-+                      LIBNAME=$$i LIBVERSION=$(SHLIB_SONAMEVER) \
-                       LIBCOMPATVERSIONS=";$(SHLIB_VERSION_HISTORY)" \
-                       symlink.$(SHLIB_TARGET); \
--              libs="$$libs -l$$i"; \
-       done
- build-shared: do_$(SHLIB_TARGET) link-shared
-@@ -355,7 +355,7 @@ do_$(SHLIB_TARGET):
-                       libs="$(LIBKRB5) $$libs"; \
-               fi; \
-               $(CLEARENV) && $(MAKE) -f Makefile.shared -e $(BUILDENV) \
--                      LIBNAME=$$i LIBVERSION=$(SHLIB_MAJOR).$(SHLIB_MINOR) \
-+                      LIBNAME=$$i LIBVERSION=$(SHLIB_SONAMEVER) \
-                       LIBCOMPATVERSIONS=";$(SHLIB_VERSION_HISTORY)" \
-                       LIBDEPS="$$libs $(EX_LIBS)" \
-                       link_a.$(SHLIB_TARGET); \
diff --git a/compat-pcre/compat-pcre.nm b/compat-pcre/compat-pcre.nm
deleted file mode 100644 (file)
index 259d63f..0000000
+++ /dev/null
@@ -1,75 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = compat-pcre
-version    = 8.21
-release    = 2
-
-thisapp    = pcre-%{version}
-
-groups     = System/Libraries
-url        = http://www.pcre.org/
-license    = BSD
-summary    = Perl-compatible regular expression library.
-
-description
-       Perl-compatible regular expression library. PCRE has its own native
-       API, but a set of "wrapper" functions that are based on the POSIX
-       API are also supplied in the library libpcreposix.
-end
-
-source_dl  = http://sourceforge.net/projects/pcre/files/pcre/%{version}/
-
-build
-       requires
-               bzip2-devel
-               gcc-c++
-               readline-devel
-               zlib-devel
-       end
-
-       configure_options += \
-               --disable-static \
-               --docdir=/usr/share/doc/pcre-%{version} \
-               --disable-jit \
-               --enable-pcre8 \
-               --enable-pcre16 \
-               --enable-pcre32 \
-               --enable-utf \
-               --enable-unicode-properties \
-               --enable-pcretest-libreadline
-
-       test
-               export LD_LIBRARY_PATH=$(pwd)/.libs
-               make check
-       end
-
-       install
-               # Only install libraries.
-               mkdir -pv %{BUILDROOT}%{libdir}
-               install -m 755 .libs/libpcre.so.0.0.1 %{BUILDROOT}%{libdir}
-               ln -svf libpcre.so.0.0.1 %{BUILDROOT}%{libdir}/libpcre.so.0
-       end
-end
-
-packages
-       package %{name}
-               provides
-                       pcre = %{thisver}
-               end
-
-               obsoletes
-                       pcre-compat
-               end
-
-               conflicts
-                       pcre <= %{thisver}
-               end
-       end
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
diff --git a/compat-readline/compat-readline.nm b/compat-readline/compat-readline.nm
deleted file mode 100644 (file)
index 66727a3..0000000
+++ /dev/null
@@ -1,66 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = compat-readline
-version    = 7.0
-release    = 1
-
-thisapp    = readline-%{version}
-
-groups     = System/Libraries
-url        = ftp://ftp.gnu.org/gnu/readline/
-license    = GPLv3+
-summary    = A library for editing typed command lines
-
-description
-       The Readline library provides a set of functions that allow users to
-       edit command lines. Both Emacs and vi editing modes are available.
-       The Readline library includes additional functions for maintaining a
-       list of previously-entered command lines for recalling or editing
-       those lines, and for performing csh-like history expansion on
-       previous commands.
-end
-
-source_dl  = ftp://ftp.gnu.org/gnu/readline/
-
-build
-       requires
-               ncurses-devel
-       end
-
-       make_build_targets += \
-               SHLIB_LIBS=-lncurses
-
-       test
-               make check
-       end
-
-       install
-               # Only install libraries.
-               mkdir -pv %{BUILDROOT}%{libdir}
-
-               install -m 755 shlib/libhistory.so.7.0 %{BUILDROOT}%{libdir}
-               ln -svf libhistory.so.7.0 %{BUILDROOT}%{libdir}/libhistory.so.7
-
-               install -m 755 shlib/libreadline.so.7.0 %{BUILDROOT}%{libdir}
-               ln -svf libreadline.so.7.0 %{BUILDROOT}%{libdir}/libreadline.so.7
-       end
-end
-
-packages
-       package %{name}
-               provides
-                       readline = %{thisver}
-               end
-
-               conflicts
-                       readline <= %{thisver}
-               end
-       end
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
diff --git a/compat-readline/patches/readline-5.0-no_rpath.patch b/compat-readline/patches/readline-5.0-no_rpath.patch
deleted file mode 100644 (file)
index befad63..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-ripped from Fedora
-
---- a/support/shobj-conf
-+++ b/support/shobj-conf
-@@ -102,7 +102,7 @@
-       SHOBJ_LD='${CC}'
-       SHOBJ_LDFLAGS='-shared -Wl,-soname,$@'
--      SHLIB_XLDFLAGS='-Wl,-rpath,$(libdir) -Wl,-soname,`basename $@ $(SHLIB_MINOR)`'
-+      SHLIB_XLDFLAGS='-Wl,-soname,`basename $@ $(SHLIB_MINOR)`'
-       SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)$(SHLIB_MINOR)'
-       ;;
diff --git a/compat-xz/compat-xz.nm b/compat-xz/compat-xz.nm
deleted file mode 100644 (file)
index 9acf280..0000000
+++ /dev/null
@@ -1,62 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = compat-xz
-version    = 4.999.9beta
-release    = 1
-
-thisapp = xz-%{version}
-
-groups     = Applications/Compression
-url        = http://tukaani.org/xz/
-license    = LGPLv2+
-summary    = LZMA Utils.
-
-description
-       LZMA provides very high compression ratio and fast decompression. The
-       core of the LZMA utils is Igor Pavlov's LZMA SDK containing the actual
-       LZMA encoder/decoder. LZMA utils add a few scripts which provide
-       gzip-like command line interface and a couple of other LZMA related
-       tools.
-end
-
-source_dl  = http://tukaani.org/xz/
-sources    = %{thisapp}.tar.xz
-
-build
-       configure_options += \
-               --disable-rpath
-
-       test
-               export LD_LIBRARY_PATH=$(pwd)/src/liblzma/.libs
-               make check
-       end
-
-       install
-               # Only install libraries.
-               mkdir -pv %{BUILDROOT}%{libdir}
-               cp -vr src/liblzma/.libs/liblzma.so.0* %{BUILDROOT}%{libdir}
-       end
-end
-
-packages
-       package %{name}
-               provides
-                       xz = %{thisver}
-               end
-
-               obsoletes
-                       xz-compat
-               end
-
-               conflicts
-                       xz <= %{thisver}
-               end
-       end
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
index 026bc14dac524a7cc913a11d1892ea2975dc963c..3c6b28f8cb18d88fcb5128e5d365a37ff75f8fb0 100644 (file)
@@ -4,11 +4,11 @@
 ###############################################################################
 
 name       = coreutils
-version    = 8.31
+version    = 9.1
 release    = 1
 
 groups     = System/Base
-url        = http://www.gnu.org/software/coreutils/
+url        = https://www.gnu.org/software/coreutils/
 license    = GPLv3+
 summary    = A set of basic GNU tools commonly used in shell scripts.
 
diff --git a/coreutils/patches/coreutils-i18n-cut-old.patch b/coreutils/patches/coreutils-i18n-cut-old.patch
deleted file mode 100644 (file)
index 757ee0f..0000000
+++ /dev/null
@@ -1,565 +0,0 @@
-diff --git a/src/cut.c b/src/cut.c
-index 7ab6be4..022d0ad 100644
---- a/src/cut.c
-+++ b/src/cut.c
-@@ -28,6 +28,11 @@
- #include <assert.h>
- #include <getopt.h>
- #include <sys/types.h>
-+
-+/* Get mbstate_t, mbrtowc().  */
-+#if HAVE_WCHAR_H
-+# include <wchar.h>
-+#endif
- #include "system.h"
- #include "error.h"
-@@ -38,6 +43,18 @@
- #include "set-fields.h"
-+/* MB_LEN_MAX is incorrectly defined to be 1 in at least one GCC
-+   installation; work around this configuration error.        */
-+#if !defined MB_LEN_MAX || MB_LEN_MAX < 2
-+# undef MB_LEN_MAX
-+# define MB_LEN_MAX 16
-+#endif
-+
-+/* Some systems, like BeOS, have multibyte encodings but lack mbstate_t.  */
-+#if HAVE_MBRTOWC && defined mbstate_t
-+# define mbrtowc(pwc, s, n, ps) (mbrtowc) (pwc, s, n, 0)
-+#endif
-+
- /* The official name of this program (e.g., no 'g' prefix).  */
- #define PROGRAM_NAME "cut"
-@@ -54,6 +71,52 @@
-     }                                                                 \
-   while (0)
-+/* Refill the buffer BUF to get a multibyte character. */
-+#define REFILL_BUFFER(BUF, BUFPOS, BUFLEN, STREAM)                        \
-+  do                                                                        \
-+    {                                                                        \
-+      if (BUFLEN < MB_LEN_MAX && !feof (STREAM) && !ferror (STREAM))        \
-+        {                                                                \
-+          memmove (BUF, BUFPOS, BUFLEN);                                \
-+          BUFLEN += fread (BUF + BUFLEN, sizeof(char), BUFSIZ, STREAM); \
-+          BUFPOS = BUF;                                                        \
-+        }                                                                \
-+    }                                                                        \
-+  while (0)
-+
-+/* Get wide character on BUFPOS. BUFPOS is not included after that.
-+   If byte sequence is not valid as a character, CONVFAIL is true. Otherwise false. */
-+#define GET_NEXT_WC_FROM_BUFFER(WC, BUFPOS, BUFLEN, MBLENGTH, STATE, CONVFAIL) \
-+  do                                                                        \
-+    {                                                                        \
-+      mbstate_t state_bak;                                                \
-+                                                                        \
-+      if (BUFLEN < 1)                                                        \
-+        {                                                                \
-+          WC = WEOF;                                                        \
-+          break;                                                        \
-+        }                                                                \
-+                                                                        \
-+      /* Get a wide character. */                                        \
-+      CONVFAIL = false;                                                        \
-+      state_bak = STATE;                                                \
-+      MBLENGTH = mbrtowc ((wchar_t *)&WC, BUFPOS, BUFLEN, &STATE);        \
-+                                                                        \
-+      switch (MBLENGTH)                                                        \
-+        {                                                                \
-+        case (size_t)-1:                                                \
-+        case (size_t)-2:                                                \
-+          CONVFAIL = true;                                                        \
-+          STATE = state_bak;                                                \
-+          /* Fall througn. */                                                \
-+                                                                        \
-+        case 0:                                                                \
-+          MBLENGTH = 1;                                                        \
-+          break;                                                        \
-+        }                                                                \
-+    }                                                                        \
-+  while (0)
-+
- /* Pointer inside RP.  When checking if a byte or field is selected
-    by a finite range, we check if it is between CURRENT_RP.LO
-@@ -61,6 +124,9 @@
-    CURRENT_RP.HI then we make CURRENT_RP to point to the next range pair. */
- static struct field_range_pair *current_rp;
-+/* Length of the delimiter given as argument to -d.  */
-+size_t delimlen;
-+
- /* This buffer is used to support the semantics of the -s option
-    (or lack of same) when the specified field list includes (does
-    not include) the first field.  In both of those cases, the entire
-@@ -77,15 +143,25 @@ enum operating_mode
-   {
-     undefined_mode,
--    /* Output characters that are in the given bytes. */
-+    /* Output bytes that are at the given positions. */
-     byte_mode,
-+    /* Output characters that are at the given positions. */
-+    character_mode,
-+
-     /* Output the given delimiter-separated fields. */
-     field_mode
-   };
- static enum operating_mode operating_mode;
-+/* If nonzero, when in byte mode, don't split multibyte characters.  */
-+static int byte_mode_character_aware;
-+
-+/* If nonzero, the function for single byte locale is work
-+   if this program runs on multibyte locale. */
-+static int force_singlebyte_mode;
-+
- /* If true do not output lines containing no delimiter characters.
-    Otherwise, all such lines are printed.  This option is valid only
-    with field mode.  */
-@@ -97,6 +173,9 @@ static bool complement;
- /* The delimiter character for field mode. */
- static unsigned char delim;
-+#if HAVE_WCHAR_H
-+static wchar_t wcdelim;
-+#endif
- /* The delimiter for each line/record. */
- static unsigned char line_delim = '\n';
-@@ -164,7 +243,7 @@ Print selected parts of lines from each FILE to standard output.\n\
-   -f, --fields=LIST       select only these fields;  also print any line\n\
-                             that contains no delimiter character, unless\n\
-                             the -s option is specified\n\
--  -n                      (ignored)\n\
-+  -n                      with -b: don't split multibyte characters\n\
- "), stdout);
-       fputs (_("\
-       --complement        complement the set of selected bytes, characters\n\
-@@ -280,6 +359,82 @@ cut_bytes (FILE *stream)
-     }
- }
-+#if HAVE_MBRTOWC
-+/* This function is in use for the following case.
-+
-+   1. Read from the stream STREAM, printing to standard output any selected
-+   characters.
-+
-+   2. Read from stream STREAM, printing to standard output any selected bytes,
-+   without splitting multibyte characters.  */
-+
-+static void
-+cut_characters_or_cut_bytes_no_split (FILE *stream)
-+{
-+  uintmax_t idx;             /* number of bytes or characters in the line so far. */
-+  char buf[MB_LEN_MAX + BUFSIZ];  /* For spooling a read byte sequence. */
-+  char *bufpos;                /* Next read position of BUF. */
-+  size_t buflen;        /* The length of the byte sequence in buf. */
-+  wint_t wc;                /* A gotten wide character. */
-+  size_t mblength;        /* The byte size of a multibyte character which shows
-+                           as same character as WC. */
-+  mbstate_t state;        /* State of the stream. */
-+  bool convfail = false;  /* true, when conversion failed. Otherwise false. */
-+  /* Whether to begin printing delimiters between ranges for the current line.
-+     Set after we've begun printing data corresponding to the first range.  */
-+  bool print_delimiter = false;
-+
-+  idx = 0;
-+  buflen = 0;
-+  bufpos = buf;
-+  memset (&state, '\0', sizeof(mbstate_t));
-+
-+  current_rp = frp;
-+
-+  while (1)
-+    {
-+      REFILL_BUFFER (buf, bufpos, buflen, stream);
-+
-+      GET_NEXT_WC_FROM_BUFFER (wc, bufpos, buflen, mblength, state, convfail);
-+      (void) convfail;  /* ignore unused */
-+
-+      if (wc == WEOF)
-+        {
-+          if (idx > 0)
-+            putchar (line_delim);
-+          break;
-+        }
-+      else if (wc == line_delim)
-+        {
-+          putchar (line_delim);
-+          idx = 0;
-+          print_delimiter = false;
-+          current_rp = frp;
-+        }
-+      else
-+        {
-+          next_item (&idx);
-+          if (print_kth (idx))
-+            {
-+              if (output_delimiter_specified)
-+                {
-+                  if (print_delimiter && is_range_start_index (idx))
-+                    {
-+                      fwrite (output_delimiter_string, sizeof (char),
-+                              output_delimiter_length, stdout);
-+                    }
-+                  print_delimiter = true;
-+                }
-+              fwrite (bufpos, mblength, sizeof(char), stdout);
-+            }
-+        }
-+
-+      buflen -= mblength;
-+      bufpos += mblength;
-+    }
-+}
-+#endif
-+
- /* Read from stream STREAM, printing to standard output any selected fields.  */
- static void
-@@ -425,13 +580,211 @@ cut_fields (FILE *stream)
-     }
- }
-+#if HAVE_MBRTOWC
-+static void
-+cut_fields_mb (FILE *stream)
-+{
-+  int c;
-+  uintmax_t field_idx;
-+  int found_any_selected_field;
-+  int buffer_first_field;
-+  int empty_input;
-+  char buf[MB_LEN_MAX + BUFSIZ];  /* For spooling a read byte sequence. */
-+  char *bufpos;                /* Next read position of BUF. */
-+  size_t buflen;        /* The length of the byte sequence in buf. */
-+  wint_t wc = 0;        /* A gotten wide character. */
-+  size_t mblength;        /* The byte size of a multibyte character which shows
-+                           as same character as WC. */
-+  mbstate_t state;        /* State of the stream. */
-+  bool convfail = false;  /* true, when conversion failed. Otherwise false. */
-+
-+  current_rp = frp;
-+
-+  found_any_selected_field = 0;
-+  field_idx = 1;
-+  bufpos = buf;
-+  buflen = 0;
-+  memset (&state, '\0', sizeof(mbstate_t));
-+
-+  c = getc (stream);
-+  empty_input = (c == EOF);
-+  if (c != EOF)
-+  {
-+    ungetc (c, stream);
-+    wc = 0;
-+  }
-+  else
-+    wc = WEOF;
-+
-+  /* To support the semantics of the -s flag, we may have to buffer
-+     all of the first field to determine whether it is `delimited.'
-+     But that is unnecessary if all non-delimited lines must be printed
-+     and the first field has been selected, or if non-delimited lines
-+     must be suppressed and the first field has *not* been selected.
-+     That is because a non-delimited line has exactly one field.  */
-+  buffer_first_field = (suppress_non_delimited ^ !print_kth (1));
-+
-+  while (1)
-+    {
-+      if (field_idx == 1 && buffer_first_field)
-+        {
-+          int len = 0;
-+
-+          while (1)
-+            {
-+              REFILL_BUFFER (buf, bufpos, buflen, stream);
-+
-+              GET_NEXT_WC_FROM_BUFFER
-+                (wc, bufpos, buflen, mblength, state, convfail);
-+
-+              if (wc == WEOF)
-+                break;
-+
-+              field_1_buffer = xrealloc (field_1_buffer, len + mblength);
-+              memcpy (field_1_buffer + len, bufpos, mblength);
-+              len += mblength;
-+              buflen -= mblength;
-+              bufpos += mblength;
-+
-+              if (!convfail && (wc == line_delim || wc == wcdelim))
-+                break;
-+            }
-+
-+          if (len <= 0 && wc == WEOF)
-+            break;
-+
-+          /* If the first field extends to the end of line (it is not
-+             delimited) and we are printing all non-delimited lines,
-+             print this one.  */
-+          if (convfail || (!convfail && wc != wcdelim))
-+            {
-+              if (suppress_non_delimited)
-+                {
-+                  /* Empty.        */
-+                }
-+              else
-+                {
-+                  fwrite (field_1_buffer, sizeof (char), len, stdout);
-+                  /* Make sure the output line is newline terminated.  */
-+                  if (convfail || (!convfail && wc != line_delim))
-+                    putchar (line_delim);
-+                }
-+              continue;
-+            }
-+
-+          if (print_kth (1))
-+            {
-+              /* Print the field, but not the trailing delimiter.  */
-+              fwrite (field_1_buffer, sizeof (char), len - 1, stdout);
-+              found_any_selected_field = 1;
-+            }
-+          next_item (&field_idx);
-+        }
-+
-+      if (wc != WEOF)
-+        {
-+          if (print_kth (field_idx))
-+            {
-+              if (found_any_selected_field)
-+                {
-+                  fwrite (output_delimiter_string, sizeof (char),
-+                          output_delimiter_length, stdout);
-+                }
-+              found_any_selected_field = 1;
-+            }
-+
-+          while (1)
-+            {
-+              REFILL_BUFFER (buf, bufpos, buflen, stream);
-+
-+              GET_NEXT_WC_FROM_BUFFER
-+                (wc, bufpos, buflen, mblength, state, convfail);
-+
-+              if (wc == WEOF)
-+                break;
-+              else if (!convfail && (wc == wcdelim || wc == line_delim))
-+                {
-+                  buflen -= mblength;
-+                  bufpos += mblength;
-+                  break;
-+                }
-+
-+              if (print_kth (field_idx))
-+                fwrite (bufpos, mblength, sizeof(char), stdout);
-+
-+              buflen -= mblength;
-+              bufpos += mblength;
-+            }
-+        }
-+
-+      if ((!convfail || wc == line_delim) && buflen < 1)
-+        wc = WEOF;
-+
-+      if (!convfail && wc == wcdelim)
-+        next_item (&field_idx);
-+      else if (wc == WEOF || (!convfail && wc == line_delim))
-+        {
-+          if (found_any_selected_field
-+              || (!empty_input && !(suppress_non_delimited && field_idx == 1)))
-+            putchar (line_delim);
-+          if (wc == WEOF)
-+            break;
-+          field_idx = 1;
-+          current_rp = frp;
-+          found_any_selected_field = 0;
-+        }
-+    }
-+}
-+#endif
-+
- static void
- cut_stream (FILE *stream)
- {
--  if (operating_mode == byte_mode)
--    cut_bytes (stream);
-+#if HAVE_MBRTOWC
-+  if (MB_CUR_MAX > 1 && !force_singlebyte_mode)
-+    {
-+      switch (operating_mode)
-+        {
-+        case byte_mode:
-+          if (byte_mode_character_aware)
-+            cut_characters_or_cut_bytes_no_split (stream);
-+          else
-+            cut_bytes (stream);
-+          break;
-+
-+        case character_mode:
-+          cut_characters_or_cut_bytes_no_split (stream);
-+          break;
-+
-+        case field_mode:
-+          if (delimlen == 1)
-+            {
-+              /* Check if we have utf8 multibyte locale, so we can use this
-+                 optimization because of uniqueness of characters, which is
-+                 not true for e.g. SJIS */
-+              char * loc = setlocale(LC_CTYPE, NULL);
-+              if (loc && (strstr (loc, "UTF-8") || strstr (loc, "utf-8") ||
-+                  strstr (loc, "UTF8") || strstr (loc, "utf8")))
-+                {
-+                  cut_fields (stream);
-+                  break;
-+                }
-+            }
-+          cut_fields_mb (stream);
-+          break;
-+
-+        default:
-+          abort ();
-+        }
-+    }
-   else
--    cut_fields (stream);
-+#endif
-+    {
-+      if (operating_mode == field_mode)
-+        cut_fields (stream);
-+      else
-+        cut_bytes (stream);
-+    }
- }
- /* Process file FILE to standard output.
-@@ -483,6 +836,7 @@ main (int argc, char **argv)
-   bool ok;
-   bool delim_specified = false;
-   char *spec_list_string IF_LINT ( = NULL);
-+  char mbdelim[MB_LEN_MAX + 1];
-   initialize_main (&argc, &argv);
-   set_program_name (argv[0]);
-@@ -505,7 +859,6 @@ main (int argc, char **argv)
-       switch (optc)
-         {
-         case 'b':
--        case 'c':
-           /* Build the byte list. */
-           if (operating_mode != undefined_mode)
-             FATAL_ERROR (_("only one type of list may be specified"));
-@@ -513,6 +866,14 @@ main (int argc, char **argv)
-           spec_list_string = optarg;
-           break;
-+        case 'c':
-+          /* Build the character list. */
-+          if (operating_mode != undefined_mode)
-+            FATAL_ERROR (_("only one type of list may be specified"));
-+          operating_mode = character_mode;
-+          spec_list_string = optarg;
-+          break;
-+
-         case 'f':
-           /* Build the field list. */
-           if (operating_mode != undefined_mode)
-@@ -524,10 +885,38 @@ main (int argc, char **argv)
-         case 'd':
-           /* New delimiter. */
-           /* Interpret -d '' to mean 'use the NUL byte as the delimiter.'  */
--          if (optarg[0] != '\0' && optarg[1] != '\0')
--            FATAL_ERROR (_("the delimiter must be a single character"));
--          delim = optarg[0];
--          delim_specified = true;
-+            {
-+#if HAVE_MBRTOWC
-+              if(MB_CUR_MAX > 1)
-+                {
-+                  mbstate_t state;
-+
-+                  memset (&state, '\0', sizeof(mbstate_t));
-+                  delimlen = mbrtowc (&wcdelim, optarg, strnlen(optarg, MB_LEN_MAX), &state);
-+
-+                  if (delimlen == (size_t)-1 || delimlen == (size_t)-2)
-+                    ++force_singlebyte_mode;
-+                  else
-+                    {
-+                      delimlen = (delimlen < 1) ? 1 : delimlen;
-+                      if (wcdelim != L'\0' && *(optarg + delimlen) != '\0')
-+                        FATAL_ERROR (_("the delimiter must be a single character"));
-+                      memcpy (mbdelim, optarg, delimlen);
-+                      mbdelim[delimlen] = '\0';
-+                      if (delimlen == 1)
-+                        delim = *optarg;
-+                    }
-+                }
-+
-+              if (MB_CUR_MAX <= 1 || force_singlebyte_mode)
-+#endif
-+                {
-+                  if (optarg[0] != '\0' && optarg[1] != '\0')
-+                    FATAL_ERROR (_("the delimiter must be a single character"));
-+                  delim = (unsigned char) optarg[0];
-+                }
-+            delim_specified = true;
-+          }
-           break;
-         case OUTPUT_DELIMITER_OPTION:
-@@ -540,6 +929,7 @@ main (int argc, char **argv)
-           break;
-         case 'n':
-+          byte_mode_character_aware = 1;
-           break;
-         case 's':
-@@ -579,15 +969,34 @@ main (int argc, char **argv)
-               | (complement ? SETFLD_COMPLEMENT : 0) );
-   if (!delim_specified)
--    delim = '\t';
-+    {
-+      delim = '\t';
-+#ifdef HAVE_MBRTOWC
-+      wcdelim = L'\t';
-+      mbdelim[0] = '\t';
-+      mbdelim[1] = '\0';
-+      delimlen = 1;
-+#endif
-+    }
-   if (output_delimiter_string == NULL)
-     {
--      static char dummy[2];
--      dummy[0] = delim;
--      dummy[1] = '\0';
--      output_delimiter_string = dummy;
--      output_delimiter_length = 1;
-+#ifdef HAVE_MBRTOWC
-+      if (MB_CUR_MAX > 1 && !force_singlebyte_mode)
-+        {
-+          output_delimiter_string = xstrdup(mbdelim);
-+          output_delimiter_length = delimlen;
-+        }
-+
-+      if (MB_CUR_MAX <= 1 || force_singlebyte_mode)
-+#endif
-+        {
-+          static char dummy[2];
-+          dummy[0] = delim;
-+          dummy[1] = '\0';
-+          output_delimiter_string = dummy;
-+          output_delimiter_length = 1;
-+        }
-     }
-   if (optind == argc)
diff --git a/coreutils/patches/coreutils-i18n-expand-unexpand.patch b/coreutils/patches/coreutils-i18n-expand-unexpand.patch
deleted file mode 100644 (file)
index b5f571f..0000000
+++ /dev/null
@@ -1,848 +0,0 @@
-From e87ab5b991b08092a7e07af82b3ec822a8604151 Mon Sep 17 00:00:00 2001
-From: Ondrej Oprala <ooprala@redhat.com>
-Date: Wed, 5 Aug 2015 09:15:09 +0200
-Subject: [PATCH] expand,unexpand: add multibyte support
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-* NEWS: Mention the changes.
-* bootstrap.conf: Add mbfile to the list of modules.
-* configure.ac: Properly initialize mbfile.
-* src/expand.c (expand): Iterate over multibyte characters properly.
-* src/unexpand.c (unexpand): Iterate over multibyte characters
-properly.
-* tests/local.mk: Add new tests.
-* tests/{expand,unexpand}/mb.sh: New tests.
-
-Co-authored-by: Pádraig Brady <pbrady@redhat.com>
----
- bootstrap.conf       |   1 +
- configure.ac         |   2 +
- lib/mbfile.c         |   3 +
- lib/mbfile.h         | 255 +++++++++++++++++++++++++++++++++++++++++++++++++++
- m4/mbfile.m4         |  14 +++
- src/expand.c         |  43 +++++----
- src/unexpand.c       |  54 +++++++----
- tests/expand/mb.sh   |  98 ++++++++++++++++++++
- tests/local.mk       |   2 +
- tests/unexpand/mb.sh |  97 ++++++++++++++++++++
- 10 files changed, 535 insertions(+), 34 deletions(-)
- create mode 100644 lib/mbfile.c
- create mode 100644 lib/mbfile.h
- create mode 100644 m4/mbfile.m4
- create mode 100755 tests/expand/mb.sh
- create mode 100755 tests/unexpand/mb.sh
-
-diff --git a/bootstrap.conf b/bootstrap.conf
-index 8a0ff31..a1c78b2 100644
---- a/bootstrap.conf
-+++ b/bootstrap.conf
-@@ -152,6 +152,7 @@ gnulib_modules="
-   maintainer-makefile
-   malloc-gnu
-   manywarnings
-+  mbfile
-   mbrlen
-   mbrtowc
-   mbsalign
-diff --git a/configure.ac b/configure.ac
-index 1e74b36..24c9725 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -427,6 +427,8 @@ fi
- # I'm leaving it here for now.  This whole thing needs to be modernized...
- gl_WINSIZE_IN_PTEM
-+gl_MBFILE
-+
- gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H
- if test $gl_cv_sys_tiocgwinsz_needs_termios_h = no && \
-diff --git a/lib/mbfile.c b/lib/mbfile.c
-new file mode 100644
-index 0000000..b0a468e
---- /dev/null
-+++ b/lib/mbfile.c
-@@ -0,0 +1,3 @@
-+#include <config.h>
-+#define MBFILE_INLINE _GL_EXTERN_INLINE
-+#include "mbfile.h"
-diff --git a/lib/mbfile.h b/lib/mbfile.h
-new file mode 100644
-index 0000000..11f1b12
---- /dev/null
-+++ b/lib/mbfile.h
-@@ -0,0 +1,255 @@
-+/* Multibyte character I/O: macros for multi-byte encodings.
-+   Copyright (C) 2001, 2005, 2009-2015 Free Software Foundation, Inc.
-+
-+   This program is free software: you can redistribute it and/or modify
-+   it under the terms of the GNU General Public License as published by
-+   the Free Software Foundation; either version 3 of the License, or
-+   (at your option) any later version.
-+
-+   This program is distributed in the hope that it will be useful,
-+   but WITHOUT ANY WARRANTY; without even the implied warranty of
-+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-+   GNU General Public License for more details.
-+
-+   You should have received a copy of the GNU General Public License
-+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
-+
-+/* Written by Mitsuru Chinen <mchinen@yamato.ibm.com>
-+   and Bruno Haible <bruno@clisp.org>.  */
-+
-+/* The macros in this file implement multi-byte character input from a
-+   stream.
-+
-+   mb_file_t
-+     is the type for multibyte character input stream, usable for variable
-+     declarations.
-+
-+   mbf_char_t
-+     is the type for multibyte character or EOF, usable for variable
-+     declarations.
-+
-+   mbf_init (mbf, stream)
-+     initializes the MB_FILE for reading from stream.
-+
-+   mbf_getc (mbc, mbf)
-+     reads the next multibyte character from mbf and stores it in mbc.
-+
-+   mb_iseof (mbc)
-+     returns true if mbc represents the EOF value.
-+
-+   Here are the function prototypes of the macros.
-+
-+   extern void          mbf_init (mb_file_t mbf, FILE *stream);
-+   extern void          mbf_getc (mbf_char_t mbc, mb_file_t mbf);
-+   extern bool          mb_iseof (const mbf_char_t mbc);
-+ */
-+
-+#ifndef _MBFILE_H
-+#define _MBFILE_H 1
-+
-+#include <assert.h>
-+#include <stdbool.h>
-+#include <stdio.h>
-+#include <string.h>
-+
-+/* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before
-+   <wchar.h>.
-+   BSD/OS 4.1 has a bug: <stdio.h> and <time.h> must be included before
-+   <wchar.h>.  */
-+#include <stdio.h>
-+#include <time.h>
-+#include <wchar.h>
-+
-+#include "mbchar.h"
-+
-+#ifndef _GL_INLINE_HEADER_BEGIN
-+ #error "Please include config.h first."
-+#endif
-+_GL_INLINE_HEADER_BEGIN
-+#ifndef MBFILE_INLINE
-+# define MBFILE_INLINE _GL_INLINE
-+#endif
-+
-+struct mbfile_multi {
-+  FILE *fp;
-+  bool eof_seen;
-+  bool have_pushback;
-+  mbstate_t state;
-+  unsigned int bufcount;
-+  char buf[MBCHAR_BUF_SIZE];
-+  struct mbchar pushback;
-+};
-+
-+MBFILE_INLINE void
-+mbfile_multi_getc (struct mbchar *mbc, struct mbfile_multi *mbf)
-+{
-+  size_t bytes;
-+
-+  /* If EOF has already been seen, don't use getc.  This matters if
-+     mbf->fp is connected to an interactive tty.  */
-+  if (mbf->eof_seen)
-+    goto eof;
-+
-+  /* Return character pushed back, if there is one.  */
-+  if (mbf->have_pushback)
-+    {
-+      mb_copy (mbc, &mbf->pushback);
-+      mbf->have_pushback = false;
-+      return;
-+    }
-+
-+  /* Before using mbrtowc, we need at least one byte.  */
-+  if (mbf->bufcount == 0)
-+    {
-+      int c = getc (mbf->fp);
-+      if (c == EOF)
-+        {
-+          mbf->eof_seen = true;
-+          goto eof;
-+        }
-+      mbf->buf[0] = (unsigned char) c;
-+      mbf->bufcount++;
-+    }
-+
-+  /* Handle most ASCII characters quickly, without calling mbrtowc().  */
-+  if (mbf->bufcount == 1 && mbsinit (&mbf->state) && is_basic (mbf->buf[0]))
-+    {
-+      /* These characters are part of the basic character set.  ISO C 99
-+         guarantees that their wide character code is identical to their
-+         char code.  */
-+      mbc->wc = mbc->buf[0] = mbf->buf[0];
-+      mbc->wc_valid = true;
-+      mbc->ptr = &mbc->buf[0];
-+      mbc->bytes = 1;
-+      mbf->bufcount = 0;
-+      return;
-+    }
-+
-+  /* Use mbrtowc on an increasing number of bytes.  Read only as many bytes
-+     from mbf->fp as needed.  This is needed to give reasonable interactive
-+     behaviour when mbf->fp is connected to an interactive tty.  */
-+  for (;;)
-+    {
-+      /* We don't know whether the 'mbrtowc' function updates the state when
-+         it returns -2, - this is the ISO C 99 and glibc-2.2 behaviour - or
-+         not - amended ANSI C, glibc-2.1 and Solaris 2.7 behaviour.  We
-+         don't have an autoconf test for this, yet.
-+         The new behaviour would allow us to feed the bytes one by one into
-+         mbrtowc.  But the old behaviour forces us to feed all bytes since
-+         the end of the last character into mbrtowc.  Since we want to retry
-+         with more bytes when mbrtowc returns -2, we must backup the state
-+         before calling mbrtowc, because implementations with the new
-+         behaviour will clobber it.  */
-+      mbstate_t backup_state = mbf->state;
-+
-+      bytes = mbrtowc (&mbc->wc, &mbf->buf[0], mbf->bufcount, &mbf->state);
-+
-+      if (bytes == (size_t) -1)
-+        {
-+          /* An invalid multibyte sequence was encountered.  */
-+          /* Return a single byte.  */
-+          bytes = 1;
-+          mbc->wc_valid = false;
-+          break;
-+        }
-+      else if (bytes == (size_t) -2)
-+        {
-+          /* An incomplete multibyte character.  */
-+          mbf->state = backup_state;
-+          if (mbf->bufcount == MBCHAR_BUF_SIZE)
-+            {
-+              /* An overlong incomplete multibyte sequence was encountered.  */
-+              /* Return a single byte.  */
-+              bytes = 1;
-+              mbc->wc_valid = false;
-+              break;
-+            }
-+          else
-+            {
-+              /* Read one more byte and retry mbrtowc.  */
-+              int c = getc (mbf->fp);
-+              if (c == EOF)
-+                {
-+                  /* An incomplete multibyte character at the end.  */
-+                  mbf->eof_seen = true;
-+                  bytes = mbf->bufcount;
-+                  mbc->wc_valid = false;
-+                  break;
-+                }
-+              mbf->buf[mbf->bufcount] = (unsigned char) c;
-+              mbf->bufcount++;
-+            }
-+        }
-+      else
-+        {
-+          if (bytes == 0)
-+            {
-+              /* A null wide character was encountered.  */
-+              bytes = 1;
-+              assert (mbf->buf[0] == '\0');
-+              assert (mbc->wc == 0);
-+            }
-+          mbc->wc_valid = true;
-+          break;
-+        }
-+    }
-+
-+  /* Return the multibyte sequence mbf->buf[0..bytes-1].  */
-+  mbc->ptr = &mbc->buf[0];
-+  memcpy (&mbc->buf[0], &mbf->buf[0], bytes);
-+  mbc->bytes = bytes;
-+
-+  mbf->bufcount -= bytes;
-+  if (mbf->bufcount > 0)
-+    {
-+      /* It's not worth calling memmove() for so few bytes.  */
-+      unsigned int count = mbf->bufcount;
-+      char *p = &mbf->buf[0];
-+
-+      do
-+        {
-+          *p = *(p + bytes);
-+          p++;
-+        }
-+      while (--count > 0);
-+    }
-+  return;
-+
-+eof:
-+  /* An mbchar_t with bytes == 0 is used to indicate EOF.  */
-+  mbc->ptr = NULL;
-+  mbc->bytes = 0;
-+  mbc->wc_valid = false;
-+  return;
-+}
-+
-+MBFILE_INLINE void
-+mbfile_multi_ungetc (const struct mbchar *mbc, struct mbfile_multi *mbf)
-+{
-+  mb_copy (&mbf->pushback, mbc);
-+  mbf->have_pushback = true;
-+}
-+
-+typedef struct mbfile_multi mb_file_t;
-+
-+typedef mbchar_t mbf_char_t;
-+
-+#define mbf_init(mbf, stream)                                           \
-+  ((mbf).fp = (stream),                                                 \
-+   (mbf).eof_seen = false,                                              \
-+   (mbf).have_pushback = false,                                         \
-+   memset (&(mbf).state, '\0', sizeof (mbstate_t)),                     \
-+   (mbf).bufcount = 0)
-+
-+#define mbf_getc(mbc, mbf) mbfile_multi_getc (&(mbc), &(mbf))
-+
-+#define mbf_ungetc(mbc, mbf) mbfile_multi_ungetc (&(mbc), &(mbf))
-+
-+#define mb_iseof(mbc) ((mbc).bytes == 0)
-+
-+#ifndef _GL_INLINE_HEADER_BEGIN
-+ #error "Please include config.h first."
-+#endif
-+_GL_INLINE_HEADER_BEGIN
-+
-+#endif /* _MBFILE_H */
-diff --git a/m4/mbfile.m4 b/m4/mbfile.m4
-new file mode 100644
-index 0000000..8589902
---- /dev/null
-+++ b/m4/mbfile.m4
-@@ -0,0 +1,14 @@
-+# mbfile.m4 serial 7
-+dnl Copyright (C) 2005, 2008-2015 Free Software Foundation, Inc.
-+dnl This file is free software; the Free Software Foundation
-+dnl gives unlimited permission to copy and/or distribute it,
-+dnl with or without modifications, as long as this notice is preserved.
-+
-+dnl autoconf tests required for use of mbfile.h
-+dnl From Bruno Haible.
-+
-+AC_DEFUN([gl_MBFILE],
-+[
-+  AC_REQUIRE([AC_TYPE_MBSTATE_T])
-+  :
-+])
-diff --git a/src/expand.c b/src/expand.c
-index 9fa2e10..380e020 100644
---- a/src/expand.c
-+++ b/src/expand.c
-@@ -37,6 +37,9 @@
- #include <stdio.h>
- #include <getopt.h>
- #include <sys/types.h>
-+
-+#include <mbfile.h>
-+
- #include "system.h"
- #include "die.h"
- #include "xstrndup.h"
-@@ -100,19 +103,19 @@ expand (void)
- {
-   /* Input stream.  */
-   FILE *fp = next_file (NULL);
-+  mb_file_t mbf;
-+  mbf_char_t c;
-   if (!fp)
-     return;
-+  mbf_init (mbf, fp);
-+
-   while (true)
-     {
--      /* Input character, or EOF.  */
--      int c;
--
-       /* If true, perform translations.  */
-       bool convert = true;
--
-       /* The following variables have valid values only when CONVERT
-          is true:  */
-@@ -122,17 +125,23 @@ expand (void)
-       /* Index in TAB_LIST of next tab stop to examine.  */
-       size_t tab_index = 0;
--
-       /* Convert a line of text.  */
-       do
-         {
--          while ((c = getc (fp)) < 0 && (fp = next_file (fp)))
--            continue;
-+          do {
-+            mbf_getc (c, mbf);
-+            if (mb_iseof (c))
-+              {
-+                mbf_init (mbf, fp = next_file (fp));
-+                continue;
-+              }
-+            }
-+          while (false);
-           if (convert)
-             {
--              if (c == '\t')
-+              if (mb_iseq (c, '\t'))
-                 {
-                   /* Column the next input tab stop is on.  */
-                   uintmax_t next_tab_column;
-@@ -151,32 +160,34 @@ expand (void)
-                     if (putchar (' ') < 0)
-                       die (EXIT_FAILURE, errno, _("write error"));
--                  c = ' ';
-+                  mb_setascii (&c, ' ');
-                 }
--              else if (c == '\b')
-+              else if (mb_iseq (c, '\b'))
-                 {
-                   /* Go back one column, and force recalculation of the
-                      next tab stop.  */
-                   column -= !!column;
-                   tab_index -= !!tab_index;
-                 }
--              else
-+              /* A leading control character could make us trip over.  */
-+              else if (!mb_iscntrl (c))
-                 {
--                  column++;
-+                  column += mb_width (c);
-                   if (!column)
-                     die (EXIT_FAILURE, 0, _("input line is too long"));
-                 }
--              convert &= convert_entire_line || !! isblank (c);
-+              convert &= convert_entire_line || mb_isblank (c);
-             }
--          if (c < 0)
-+          if (mb_iseof (c))
-             return;
--          if (putchar (c) < 0)
-+          mb_putc (c, stdout);
-+          if (ferror (stdout))
-             die (EXIT_FAILURE, errno, _("write error"));
-         }
--      while (c != '\n');
-+      while (!mb_iseq (c, '\n'));
-     }
- }
-diff --git a/src/unexpand.c b/src/unexpand.c
-index 7801274..569a7ee 100644
---- a/src/unexpand.c
-+++ b/src/unexpand.c
-@@ -38,6 +38,9 @@
- #include <stdio.h>
- #include <getopt.h>
- #include <sys/types.h>
-+
-+#include <mbfile.h>
-+
- #include "system.h"
- #include "die.h"
- #include "xstrndup.h"
-@@ -107,11 +110,12 @@ unexpand (void)
- {
-   /* Input stream.  */
-   FILE *fp = next_file (NULL);
-+  mb_file_t mbf;
-   /* The array of pending blanks.  In non-POSIX locales, blanks can
-      include characters other than spaces, so the blanks must be
-      stored, not merely counted.  */
--  char *pending_blank;
-+  mbf_char_t *pending_blank;
-   if (!fp)
-     return;
-@@ -119,12 +123,14 @@ unexpand (void)
-   /* The worst case is a non-blank character, then one blank, then a
-      tab stop, then MAX_COLUMN_WIDTH - 1 blanks, then a non-blank; so
-      allocate MAX_COLUMN_WIDTH bytes to store the blanks.  */
--  pending_blank = xmalloc (max_column_width);
-+  pending_blank = xmalloc (max_column_width * sizeof (mbf_char_t));
-+
-+  mbf_init (mbf, fp);
-   while (true)
-     {
-       /* Input character, or EOF.  */
--      int c;
-+      mbf_char_t c;
-       /* If true, perform translations.  */
-       bool convert = true;
-@@ -158,12 +164,19 @@ unexpand (void)
-       do
-         {
--          while ((c = getc (fp)) < 0 && (fp = next_file (fp)))
--            continue;
-+          do {
-+            mbf_getc (c, mbf);
-+            if (mb_iseof (c))
-+              {
-+                mbf_init (mbf, fp = next_file (fp));
-+                continue;
-+              }
-+            }
-+          while (false);
-           if (convert)
-             {
--              bool blank = !! isblank (c);
-+              bool blank = mb_isblank (c);
-               if (blank)
-                 {
-@@ -180,16 +193,16 @@ unexpand (void)
-                       if (next_tab_column < column)
-                         die (EXIT_FAILURE, 0, _("input line is too long"));
--                      if (c == '\t')
-+                      if (mb_iseq (c, '\t'))
-                         {
-                           column = next_tab_column;
-                           if (pending)
--                            pending_blank[0] = '\t';
-+                            mb_setascii (&pending_blank[0], '\t');
-                         }
-                       else
-                         {
--                          column++;
-+                          column += mb_width (c);
-                           if (! (prev_blank && column == next_tab_column))
-                             {
-@@ -197,13 +210,14 @@ unexpand (void)
-                                  will be replaced by tabs.  */
-                               if (column == next_tab_column)
-                                 one_blank_before_tab_stop = true;
--                              pending_blank[pending++] = c;
-+                              mb_copy (&pending_blank[pending++], &c);
-                               prev_blank = true;
-                               continue;
-                             }
-                           /* Replace the pending blanks by a tab or two.  */
--                          pending_blank[0] = c = '\t';
-+                          mb_setascii (&c, '\t');
-+                          mb_setascii (&pending_blank[0], '\t');
-                         }
-                       /* Discard pending blanks, unless it was a single
-@@ -211,7 +225,7 @@ unexpand (void)
-                       pending = one_blank_before_tab_stop;
-                     }
-                 }
--              else if (c == '\b')
-+              else if (mb_iseq (c, '\b'))
-                 {
-                   /* Go back one column, and force recalculation of the
-                      next tab stop.  */
-@@ -221,7 +235,7 @@ unexpand (void)
-                 }
-               else
-                 {
--                  column++;
-+                  column += mb_width (c);
-                   if (!column)
-                     die (EXIT_FAILURE, 0, _("input line is too long"));
-                 }
-@@ -229,8 +243,11 @@ unexpand (void)
-               if (pending)
-                 {
-                   if (pending > 1 && one_blank_before_tab_stop)
--                    pending_blank[0] = '\t';
--                  if (fwrite (pending_blank, 1, pending, stdout) != pending)
-+                    mb_setascii (&pending_blank[0], '\t');
-+
-+                  for (int n = 0; n < pending; ++n)
-+                    mb_putc (pending_blank[n], stdout);
-+                  if (ferror (stdout))
-                     die (EXIT_FAILURE, errno, _("write error"));
-                   pending = 0;
-                   one_blank_before_tab_stop = false;
-@@ -240,16 +257,17 @@ unexpand (void)
-               convert &= convert_entire_line || blank;
-             }
--          if (c < 0)
-+          if (mb_iseof (c))
-             {
-               free (pending_blank);
-               return;
-             }
--          if (putchar (c) < 0)
-+          mb_putc (c, stdout);
-+          if (ferror (stdout))
-             die (EXIT_FAILURE, errno, _("write error"));
-         }
--      while (c != '\n');
-+      while (!mb_iseq (c, '\n'));
-     }
- }
-diff --git a/tests/expand/mb.sh b/tests/expand/mb.sh
-new file mode 100755
-index 0000000..7971e18
---- /dev/null
-+++ b/tests/expand/mb.sh
-@@ -0,0 +1,98 @@
-+#!/bin/sh
-+
-+# Copyright (C) 2012-2015 Free Software Foundation, Inc.
-+
-+# This program is free software: you can redistribute it and/or modify
-+# it under the terms of the GNU General Public License as published by
-+# the Free Software Foundation, either version 3 of the License, or
-+# (at your option) any later version.
-+
-+# This program is distributed in the hope that it will be useful,
-+# but WITHOUT ANY WARRANTY; without even the implied warranty of
-+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-+# GNU General Public License for more details.
-+
-+# You should have received a copy of the GNU General Public License
-+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
-+
-+. "${srcdir=.}/tests/init.sh"; path_prepend_ ./src
-+print_ver_ expand
-+
-+export LC_ALL=en_US.UTF-8
-+
-+#input containing multibyte characters
-+cat <<\EOF > in || framework_failure_
-+1234567812345678123456781
-+.       .       .       .
-+a     b       c       d
-+.       .       .       .
-+ä    Ã¶      Ã¼      ÃŸ
-+.       .       .       .
-+EOF
-+env printf '   Ã¤Ã¶Ã¼\t.    Ã¶Ã¼Ã¤.   \tä xx\n' >> in || framework_failure_
-+
-+cat <<\EOF > exp || framework_failure_
-+1234567812345678123456781
-+.       .       .       .
-+a       b       c       d
-+.       .       .       .
-+ä       Ã¶       Ã¼       ÃŸ
-+.       .       .       .
-+   Ã¤Ã¶Ã¼  .    Ã¶Ã¼Ã¤.       Ã¤ xx
-+EOF
-+
-+expand < in > out || fail=1
-+compare exp out > /dev/null 2>&1 || fail=1
-+
-+#test characters with display widths != 1
-+env printf '12345678
-+e\t|ascii(1)
-+\u00E9\t|composed(1)
-+e\u0301\t|decomposed(1)
-+\u3000\t|ideo-space(2)
-+\uFF0D\t|full-hypen(2)
-+' > in || framework_failure_
-+
-+env printf '12345678
-+e       |ascii(1)
-+\u00E9       |composed(1)
-+e\u0301       |decomposed(1)
-+\u3000      |ideo-space(2)
-+\uFF0D      |full-hypen(2)
-+' > exp || framework_failure_
-+
-+expand < in > out || fail=1
-+compare exp out > /dev/null 2>&1 || fail=1
-+
-+#shouldn't fail with "input line too long"
-+#when a line starts with a control character
-+env printf '\n' > in || framework_failure_
-+
-+expand < in > out || fail=1
-+compare in out > /dev/null 2>&1 || fail=1
-+
-+#non-Unicode characters interspersed between Unicode ones
-+env printf '12345678
-+\t\xFF|
-+\xFF\t|
-+\t\xFFä|
-+ä\xFF\t|
-+\tä\xFF|
-+\xFF\tä|
-+äbcdef\xFF\t|
-+' > in || framework_failure_
-+
-+env printf '12345678
-+        \xFF|
-+\xFF       |
-+        \xFFä|
-+ä\xFF      |
-+        Ã¤\xFF|
-+\xFF       Ã¤|
-+äbcdef\xFF |
-+' > exp || framework_failure_
-+
-+expand < in > out || fail=1
-+compare exp out > /dev/null 2>&1 || fail=1
-+
-+exit $fail
-diff --git a/tests/local.mk b/tests/local.mk
-index 192f776..8053397 100644
---- a/tests/local.mk
-+++ b/tests/local.mk
-@@ -544,6 +544,7 @@ all_tests =                                        \
-   tests/du/threshold.sh                               \
-   tests/du/trailing-slash.sh                  \
-   tests/du/two-args.sh                                \
-+  tests/expand/mb.sh                          \
-   tests/id/gnu-zero-uids.sh                   \
-   tests/id/no-context.sh                      \
-   tests/id/context.sh                         \
-@@ -684,6 +685,7 @@ all_tests =                                        \
-   tests/touch/read-only.sh                    \
-   tests/touch/relative.sh                     \
-   tests/touch/trailing-slash.sh                       \
-+  tests/unexpand/mb.sh                                \
-   $(all_root_tests)
- # See tests/factor/create-test.sh.
-diff --git a/tests/unexpand/mb.sh b/tests/unexpand/mb.sh
-new file mode 100755
-index 0000000..60d4c1a
---- /dev/null
-+++ b/tests/unexpand/mb.sh
-@@ -0,0 +1,97 @@
-+#!/bin/sh
-+
-+# Copyright (C) 2012-2015 Free Software Foundation, Inc.
-+
-+# This program is free software: you can redistribute it and/or modify
-+# it under the terms of the GNU General Public License as published by
-+# the Free Software Foundation, either version 3 of the License, or
-+# (at your option) any later version.
-+
-+# This program is distributed in the hope that it will be useful,
-+# but WITHOUT ANY WARRANTY; without even the implied warranty of
-+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-+# GNU General Public License for more details.
-+
-+# You should have received a copy of the GNU General Public License
-+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
-+
-+. "${srcdir=.}/tests/init.sh"; path_prepend_ ./src
-+print_ver_ unexpand
-+
-+export LC_ALL=en_US.UTF-8
-+
-+#input containing multibyte characters
-+cat > in <<\EOF
-+1234567812345678123456781
-+.       .       .       .
-+a       b       c       d
-+.       .       .       .
-+ä       Ã¶       Ã¼       ÃŸ
-+.       .       .       .
-+   Ã¤Ã¶Ã¼  .    Ã¶Ã¼Ã¤.       Ã¤ xx
-+EOF
-+
-+cat > exp <<\EOF
-+1234567812345678123456781
-+.     .       .       .
-+a     b       c       d
-+.     .       .       .
-+ä    Ã¶      Ã¼      ÃŸ
-+.     .       .       .
-+   Ã¤Ã¶Ã¼     .    Ã¶Ã¼Ã¤.    Ã¤ xx
-+EOF
-+
-+unexpand -a < in > out || fail=1
-+compare exp out > /dev/null 2>&1 || fail=1
-+
-+#test characters with a display width larger than 1
-+
-+env printf '12345678
-+e       |ascii(1)
-+\u00E9       |composed(1)
-+e\u0301       |decomposed(1)
-+\u3000      |ideo-space(2)
-+\uFF0D      |full-hypen(2)
-+' > in || framework_failure_
-+
-+env printf '12345678
-+e\t|ascii(1)
-+\u00E9\t|composed(1)
-+e\u0301\t|decomposed(1)
-+\u3000\t|ideo-space(2)
-+\uFF0D\t|full-hypen(2)
-+' > exp || framework_failure_
-+
-+unexpand -a < in > out || fail=1
-+compare exp out > /dev/null 2>&1 || fail=1
-+
-+#test input where a blank of width > 1 is not being substituted
-+in="$(LC_ALL=en_US.UTF-8 printf ' \u3000  Ã¶       Ã¼       ÃŸ')"
-+exp=' ã€€  Ã¶      Ã¼      ÃŸ'
-+
-+unexpand -a < in > out || fail=1
-+compare exp out > /dev/null 2>&1 || fail=1
-+
-+#non-Unicode characters interspersed between Unicode ones
-+env printf '12345678
-+        \xFF|
-+\xFF       |
-+        \xFFä|
-+ä\xFF      |
-+        Ã¤\xFF|
-+\xFF       Ã¤|
-+äbcdef\xFF |
-+' > in || framework_failure_
-+
-+env printf '12345678
-+\t\xFF|
-+\xFF\t|
-+\t\xFFä|
-+ä\xFF\t|
-+\tä\xFF|
-+\xFF\tä|
-+äbcdef\xFF\t|
-+' > exp || framework_failure_
-+
-+unexpand -a < in > out || fail=1
-+compare exp out > /dev/null 2>&1 || fail=1
--- 
-2.7.4
-
diff --git a/coreutils/patches/coreutils-i18n-fix-unexpand.patch b/coreutils/patches/coreutils-i18n-fix-unexpand.patch
deleted file mode 100644 (file)
index f0c347c..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-From 02424bfcd719bbaa695f4e1c3ef17ad91b0d23c0 Mon Sep 17 00:00:00 2001
-From: Lubomir Rintel <lkundrak@v3.sk>
-Date: Thu, 28 Jan 2016 20:57:22 +0100
-Subject: [PATCH] unexpand: fix blank line handling
-
-  echo '' |./src/unexpand -a
-
-Really?
----
- src/unexpand.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/unexpand.c b/src/unexpand.c
-index 569a7ee..3bbbd66 100644
---- a/src/unexpand.c
-+++ b/src/unexpand.c
-@@ -233,7 +233,7 @@ unexpand (void)
-                   next_tab_column = column;
-                   tab_index -= !!tab_index;
-                 }
--              else
-+              else if (!mb_iseq (c, '\n'))
-                 {
-                   column += mb_width (c);
-                   if (!column)
--- 
-2.7.4
-
diff --git a/coreutils/patches/coreutils-i18n-fix2-expand-unexpand.patch b/coreutils/patches/coreutils-i18n-fix2-expand-unexpand.patch
deleted file mode 100644 (file)
index b34d7b7..0000000
+++ /dev/null
@@ -1,108 +0,0 @@
-diff --git a/src/expand.c b/src/expand.c
-index 380e020..310b349 100644
---- a/src/expand.c
-+++ b/src/expand.c
-@@ -129,15 +129,19 @@ expand (void)
-       do
-         {
--          do {
-+          while (true) {
-             mbf_getc (c, mbf);
--            if (mb_iseof (c))
-+            if ((mb_iseof (c)) && (fp = next_file (fp)))
-               {
--                mbf_init (mbf, fp = next_file (fp));
-+                mbf_init (mbf, fp);
-                 continue;
-               }
-+            else
-+              {
-+                break;
-+              }
-             }
--          while (false);
-+
-           if (convert)
-             {
-diff --git a/src/unexpand.c b/src/unexpand.c
-index 3bbbd66..863a90a 100644
---- a/src/unexpand.c
-+++ b/src/unexpand.c
-@@ -164,15 +164,19 @@ unexpand (void)
-       do
-         {
--          do {
-+          while (true) {
-             mbf_getc (c, mbf);
--            if (mb_iseof (c))
-+            if ((mb_iseof (c)) && (fp = next_file (fp)))
-               {
--                mbf_init (mbf, fp = next_file (fp));
-+                mbf_init (mbf, fp);
-                 continue;
-               }
-+            else
-+              {
-+                break;
-+              }
-             }
--          while (false);
-+
-           if (convert)
-             {
-diff --git a/tests/expand/mb.sh b/tests/expand/mb.sh
-index 7971e18..031be7a 100755
---- a/tests/expand/mb.sh
-+++ b/tests/expand/mb.sh
-@@ -44,6 +44,20 @@ EOF
- expand < in > out || fail=1
- compare exp out > /dev/null 2>&1 || fail=1
-+#multiple files as an input
-+cat <<\EOF >> exp || framework_failure_
-+1234567812345678123456781
-+.       .       .       .
-+a       b       c       d
-+.       .       .       .
-+ä       Ã¶       Ã¼       ÃŸ
-+.       .       .       .
-+   Ã¤Ã¶Ã¼  .    Ã¶Ã¼Ã¤.       Ã¤ xx
-+EOF
-+
-+expand ./in ./in > out || fail=1
-+compare exp out > /dev/null 2>&1 || fail=1
-+
- #test characters with display widths != 1
- env printf '12345678
- e\t|ascii(1)
-diff --git a/tests/unexpand/mb.sh b/tests/unexpand/mb.sh
-index 60d4c1a..8d75652 100755
---- a/tests/unexpand/mb.sh
-+++ b/tests/unexpand/mb.sh
-@@ -44,6 +44,22 @@ EOF
- unexpand -a < in > out || fail=1
- compare exp out > /dev/null 2>&1 || fail=1
-+
-+#multiple files as an input
-+cat >> exp <<\EOF
-+1234567812345678123456781
-+.     .       .       .
-+a     b       c       d
-+.     .       .       .
-+ä    Ã¶      Ã¼      ÃŸ
-+.     .       .       .
-+   Ã¤Ã¶Ã¼     .    Ã¶Ã¼Ã¤.    Ã¤ xx
-+EOF
-+
-+
-+unexpand -a ./in ./in > out || fail=1
-+compare exp out > /dev/null 2>&1 || fail=1
-+
- #test characters with a display width larger than 1
- env printf '12345678
diff --git a/coreutils/patches/coreutils-i18n-sort-human.patch b/coreutils/patches/coreutils-i18n-sort-human.patch
deleted file mode 100644 (file)
index 6752493..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-From 3976ef5a20369d8b490907ab2cba2d617305a5e0 Mon Sep 17 00:00:00 2001
-From: Kamil Dudka <kdudka@redhat.com>
-Date: Mon, 30 May 2016 16:19:20 +0200
-Subject: [PATCH] sort: do not use static array 'blanks' in human_numcompare()
-
-... because the array is not initialized with MB locales.  Note this is
-rather a conservative fix.  I plan to do more cleanup of the i18n patch
-in Fedora to prevent mistakes like this in future updates of coreutils.
----
- src/sort.c | 8 +++-----
- 1 file changed, 3 insertions(+), 5 deletions(-)
-
-diff --git a/src/sort.c b/src/sort.c
-index 9e07ad8..e47b039 100644
---- a/src/sort.c
-+++ b/src/sort.c
-@@ -2304,12 +2304,10 @@ find_unit_order (char const *number)
-        <none/unknown> < K/k < M < G < T < P < E < Z < Y  */
- static int
--human_numcompare (char const *a, char const *b)
-+human_numcompare (char *a, char *b)
- {
--  while (blanks[to_uchar (*a)])
--    a++;
--  while (blanks[to_uchar (*b)])
--    b++;
-+  skipblanks(&a, a + strlen(a));
-+  skipblanks(&b, b + strlen(b));
-   int diff = find_unit_order (a) - find_unit_order (b);
-   return (diff ? diff : strnumcmp (a, b, decimal_point, thousands_sep));
--- 
-2.5.5
-
diff --git a/coreutils/patches/coreutils-i18n-un-expand-BOM.patch b/coreutils/patches/coreutils-i18n-un-expand-BOM.patch
deleted file mode 100644 (file)
index 6210ce7..0000000
+++ /dev/null
@@ -1,456 +0,0 @@
-From 7a7c776a4e228d180e74614fd8c8afcad5d4bdf7 Mon Sep 17 00:00:00 2001
-From: Jakub Martisko <jamartis@redhat.com>
-Date: Thu, 7 Jul 2016 12:53:26 +0200
-Subject: [PATCH] coreutils-i18n-un-expand-BOM.patch
-
----
- src/expand-common.c  | 114 +++++++++++++++++++++++++++++++++++++++++++++++++++
- src/expand-common.h  |  12 ++++++
- src/expand.c         |  45 +++++++++++++++++++-
- src/unexpand.c       |  43 ++++++++++++++++++-
- tests/expand/mb.sh   |  71 ++++++++++++++++++++++++++++++++
- tests/unexpand/mb.sh |  59 ++++++++++++++++++++++++++
- 6 files changed, 342 insertions(+), 2 deletions(-)
-
-diff --git a/src/expand-common.c b/src/expand-common.c
-index 4657e46..97cbb09 100644
---- a/src/expand-common.c
-+++ b/src/expand-common.c
-@@ -19,6 +19,7 @@
- #include <assert.h>
- #include <stdio.h>
- #include <sys/types.h>
-+#include <mbfile.h>
- #include "system.h"
- #include "die.h"
- #include "error.h"
-@@ -126,6 +127,119 @@ set_increment_size (uintmax_t tabval)
-   return ok;
- }
-+extern int
-+set_utf_locale (void)
-+{
-+      /*try using some predefined locale */
-+      const char* predef_locales[] = {"C.UTF8","en_US.UTF8","en_GB.UTF8"};
-+
-+      const int predef_locales_count=3;
-+      for (int i=0;i<predef_locales_count;i++)
-+        {
-+          if (setlocale(LC_ALL,predef_locales[i])!=NULL)
-+          {
-+            break;
-+          }
-+          else if (i==predef_locales_count-1)
-+          {
-+            return 1;
-+            error (EXIT_FAILURE, errno, _("cannot set UTF-8 locale"));
-+          }
-+        }
-+        return 0;
-+}
-+
-+extern bool
-+check_utf_locale(void)
-+{
-+  char* locale = setlocale (LC_CTYPE , NULL);
-+  if (locale == NULL)
-+  {
-+    return false;
-+  }
-+  else if (strcasestr(locale, "utf8") == NULL && strcasestr(locale, "utf-8") == NULL)
-+  {
-+    return false;
-+  }
-+  return true;
-+}
-+
-+extern bool
-+check_bom(FILE* fp, mb_file_t *mbf)
-+{
-+  int c;
-+
-+
-+  c=fgetc(fp);
-+
-+  /*test BOM header of the first file */
-+  mbf->bufcount=0;
-+  if (c == 0xEF)
-+  {
-+    c=fgetc(fp);
-+  }
-+  else
-+  {
-+    if (c != EOF)
-+    {
-+      ungetc(c,fp);
-+    }
-+    return false;
-+  }
-+
-+  if (c == 0xBB)
-+  {
-+    c=fgetc(fp);
-+  }
-+  else
-+  {
-+    if ( c!= EOF )
-+    {
-+      mbf->buf[0]=(unsigned char) 0xEF;
-+      mbf->bufcount=1;
-+      ungetc(c,fp);
-+      return false;
-+    }
-+    else
-+    {
-+      ungetc(0xEF,fp);
-+      return false;
-+    }
-+  }
-+  if (c == 0xBF)
-+  {
-+    mbf->bufcount=0;
-+    return true;
-+  }
-+  else
-+  {
-+    if (c != EOF)
-+    {
-+      mbf->buf[0]=(unsigned char) 0xEF;
-+      mbf->buf[1]=(unsigned char) 0xBB;
-+      mbf->bufcount=2;
-+      ungetc(c,fp);
-+      return false;
-+    }
-+    else
-+    {
-+      mbf->buf[0]=(unsigned char) 0xEF;
-+      mbf->bufcount=1;
-+      ungetc(0xBB,fp);
-+      return false;
-+    }
-+  }
-+  return false;
-+}
-+
-+extern void
-+print_bom(void)
-+{
-+  putc (0xEF, stdout);
-+  putc (0xBB, stdout);
-+  putc (0xBF, stdout);
-+}
-+
- /* Add the comma or blank separated list of tab stops STOPS
-    to the list of tab stops.  */
- extern void
-diff --git a/src/expand-common.h b/src/expand-common.h
-index 8cb2079..763bfda 100644
---- a/src/expand-common.h
-+++ b/src/expand-common.h
-@@ -34,6 +34,18 @@ extern size_t max_column_width;
- /* The desired exit status.  */
- extern int exit_status;
-+extern int
-+set_utf_locale (void);
-+
-+extern bool
-+check_utf_locale(void);
-+
-+extern bool
-+check_bom(FILE* fp, mb_file_t *mbf);
-+
-+extern void
-+print_bom(void);
-+
- /* Add tab stop TABVAL to the end of 'tab_list'.  */
- extern void
- add_tab_stop (uintmax_t tabval);
-diff --git a/src/expand.c b/src/expand.c
-index 310b349..4136824 100644
---- a/src/expand.c
-+++ b/src/expand.c
-@@ -103,11 +103,33 @@ expand (void)
-   FILE *fp = next_file (NULL);
-   mb_file_t mbf;
-   mbf_char_t c;
-+  /* True if the starting locale is utf8.  */
-+  bool using_utf_locale;
-+
-+  /* True if the first file contains BOM header.  */
-+  bool found_bom;
-+  using_utf_locale=check_utf_locale();
-   if (!fp)
-     return;
--
-   mbf_init (mbf, fp);
-+  found_bom=check_bom(fp,&mbf);
-+
-+  if (using_utf_locale == false && found_bom == true)
-+  {
-+    /*try using some predefined locale */
-+
-+    if (set_utf_locale () != 0)
-+    {
-+      error (EXIT_FAILURE, errno, _("cannot set UTF-8 locale"));
-+    }
-+  }
-+
-+
-+  if (found_bom == true)
-+  {
-+    print_bom();
-+  }
-   while (true)
-     {
-@@ -132,6 +154,27 @@ expand (void)
-             if ((mb_iseof (c)) && (fp = next_file (fp)))
-               {
-                 mbf_init (mbf, fp);
-+                if (fp!=NULL)
-+                {
-+                  if (check_bom(fp,&mbf)==true)
-+                  {
-+                    /*Not the first file - check BOM header*/
-+                    if (using_utf_locale==false && found_bom==false)
-+                    {
-+                      /*BOM header in subsequent file but not in the first one. */
-+                      error (EXIT_FAILURE, errno, _("combination of files with and without BOM header"));
-+                    }
-+                  }
-+                  else
-+                  {
-+                    if(using_utf_locale==false && found_bom==true)
-+                    {
-+                      /*First file conatined BOM header - locale was switched to UTF
-+                       *all subsequent files should contain BOM. */
-+                      error (EXIT_FAILURE, errno, _("combination of files with and without BOM header"));
-+                    }
-+                  }
-+                }
-                 continue;
-               }
-             else
-diff --git a/src/unexpand.c b/src/unexpand.c
-index 863a90a..5681b58 100644
---- a/src/unexpand.c
-+++ b/src/unexpand.c
-@@ -116,16 +116,36 @@ unexpand (void)
-      include characters other than spaces, so the blanks must be
-      stored, not merely counted.  */
-   mbf_char_t *pending_blank;
-+  /* True if the starting locale is utf8.  */
-+  bool using_utf_locale;
-+
-+  /* True if the first file contains BOM header.  */
-+  bool found_bom;
-+  using_utf_locale=check_utf_locale();
-   if (!fp)
-     return;
-+  mbf_init (mbf, fp);
-+  found_bom=check_bom(fp,&mbf);
-+
-+  if (using_utf_locale == false && found_bom == true)
-+  {
-+    /*try using some predefined locale */
-+    if (set_utf_locale () != 0)
-+    {
-+      error (EXIT_FAILURE, errno, _("cannot set UTF-8 locale"));
-+    }
-+  }
-   /* The worst case is a non-blank character, then one blank, then a
-      tab stop, then MAX_COLUMN_WIDTH - 1 blanks, then a non-blank; so
-      allocate MAX_COLUMN_WIDTH bytes to store the blanks.  */
-   pending_blank = xmalloc (max_column_width * sizeof (mbf_char_t));
--  mbf_init (mbf, fp);
-+  if (found_bom == true)
-+  {
-+    print_bom();
-+  }
-   while (true)
-     {
-@@ -169,6 +189,27 @@ unexpand (void)
-             if ((mb_iseof (c)) && (fp = next_file (fp)))
-               {
-                 mbf_init (mbf, fp);
-+                if (fp!=NULL)
-+                {
-+                  if (check_bom(fp,&mbf)==true)
-+                  {
-+                    /*Not the first file - check BOM header*/
-+                    if (using_utf_locale==false && found_bom==false)
-+                    {
-+                      /*BOM header in subsequent file but not in the first one. */
-+                      error (EXIT_FAILURE, errno, _("combination of files with and without BOM header"));
-+                    }
-+                  }
-+                  else
-+                  {
-+                    if(using_utf_locale==false && found_bom==true)
-+                    {
-+                      /*First file conatined BOM header - locale was switched to UTF
-+                       *all subsequent files should contain BOM. */
-+                      error (EXIT_FAILURE, errno, _("combination of files with and without BOM header"));
-+                    }
-+                  }
-+                }
-                 continue;
-               }
-             else
-diff --git a/tests/expand/mb.sh b/tests/expand/mb.sh
-index 031be7a..1621c84 100755
---- a/tests/expand/mb.sh
-+++ b/tests/expand/mb.sh
-@@ -109,4 +109,75 @@ env printf '12345678
- expand < in > out || fail=1
- compare exp out > /dev/null 2>&1 || fail=1
-+
-+
-+#BOM header test 1
-+printf "\xEF\xBB\xBF" > in; cat <<\EOF >> in || framework_failure_
-+1234567812345678123456781
-+.       .       .       .
-+a     b       c       d
-+.       .       .       .
-+ä    Ã¶      Ã¼      ÃŸ
-+.       .       .       .
-+EOF
-+env printf '   Ã¤Ã¶Ã¼\t.    Ã¶Ã¼Ã¤.   \tä xx\n' >> in || framework_failure_
-+
-+printf "\xEF\xBB\xBF" > exp; cat <<\EOF >> exp || framework_failure_
-+1234567812345678123456781
-+.       .       .       .
-+a       b       c       d
-+.       .       .       .
-+ä       Ã¶       Ã¼       ÃŸ
-+.       .       .       .
-+   Ã¤Ã¶Ã¼  .    Ã¶Ã¼Ã¤.       Ã¤ xx
-+EOF
-+
-+
-+expand < in > out || fail=1
-+compare exp out > /dev/null 2>&1 || fail=1
-+
-+LANG=C expand < in > out || fail=1
-+compare exp out > /dev/null 2>&1 || fail=1
-+
-+LC_ALL=C expand < in > out || fail=1
-+compare exp out > /dev/null 2>&1 || fail=1
-+
-+
-+printf '\xEF\xBB\xBF' > in1; cat <<\EOF >> in1 || framework_failure_
-+1234567812345678123456781
-+.       .       .       .
-+a     b       c       d
-+.       .       .       .
-+ä    Ã¶      Ã¼      ÃŸ
-+.       .       .       .
-+EOF
-+env printf '   Ã¤Ã¶Ã¼\t.    Ã¶Ã¼Ã¤.   \tä xx\n' >> in1 || framework_failure_
-+
-+
-+printf '\xEF\xBB\xBF' > exp; cat <<\EOF >> exp || framework_failure_
-+1234567812345678123456781
-+.       .       .       .
-+a       b       c       d
-+.       .       .       .
-+ä       Ã¶       Ã¼       ÃŸ
-+.       .       .       .
-+   Ã¤Ã¶Ã¼  .    Ã¶Ã¼Ã¤.       Ã¤ xx
-+1234567812345678123456781
-+.       .       .       .
-+a       b       c       d
-+.       .       .       .
-+ä       Ã¶       Ã¼       ÃŸ
-+.       .       .       .
-+   Ã¤Ã¶Ã¼  .    Ã¶Ã¼Ã¤.       Ã¤ xx
-+EOF
-+
-+expand in1 in1 > out || fail=1
-+compare exp out > /dev/null 2>&1 || fail=1
-+
-+LANG=C expand in1 in1  > out || fail=1
-+compare exp out > /dev/null 2>&1 || fail=1
-+
-+LC_ALL=C expand in1 in1 > out || fail=1
-+compare exp out > /dev/null 2>&1 || fail=1
-+
- exit $fail
-diff --git a/tests/unexpand/mb.sh b/tests/unexpand/mb.sh
-index 8d75652..9d4ee3e 100755
---- a/tests/unexpand/mb.sh
-+++ b/tests/unexpand/mb.sh
-@@ -111,3 +111,62 @@ env printf '12345678
- unexpand -a < in > out || fail=1
- compare exp out > /dev/null 2>&1 || fail=1
-+
-+#BOM header test 1
-+printf "\xEF\xBB\xBF" > in; cat <<\EOF >> in || framework_failure_
-+1234567812345678123456781
-+.       .       .       .
-+a       b       c       d
-+.       .       .       .
-+ä       Ã¶       Ã¼       ÃŸ
-+.       .       .       .
-+   Ã¤Ã¶Ã¼  .    Ã¶Ã¼Ã¤.       Ã¤ xx
-+EOF
-+env printf '   Ã¤Ã¶Ã¼\t.    Ã¶Ã¼Ã¤.   \tä xx\n' >> in || framework_failure_
-+
-+printf "\xEF\xBB\xBF" > exp; cat <<\EOF >> exp || framework_failure_
-+1234567812345678123456781
-+.     .       .       .
-+a     b       c       d
-+.     .       .       .
-+ä    Ã¶      Ã¼      ÃŸ
-+.     .       .       .
-+   Ã¤Ã¶Ã¼     .    Ã¶Ã¼Ã¤.    Ã¤ xx
-+EOF
-+
-+unexpand < in > out || fail=1
-+compare exp out > /dev/null 2>&1 || fail=1
-+
-+LANG=C unexpand < in > out || fail=1
-+compare exp out > /dev/null 2>&1 || fail=1
-+
-+LC_ALL=C unexpand < in > out || fail=1
-+compare exp out > /dev/null 2>&1 || fail=1
-+
-+
-+printf "\xEF\xBB\xBF" > exp; cat <<\EOF >> exp || framework_failure_
-+1234567812345678123456781
-+.     .       .       .
-+a     b       c       d
-+.     .       .       .
-+ä    Ã¶      Ã¼      ÃŸ
-+.     .       .       .
-+   Ã¤Ã¶Ã¼     .    Ã¶Ã¼Ã¤.    Ã¤ xx
-+1234567812345678123456781
-+.     .       .       .
-+a     b       c       d
-+.     .       .       .
-+ä    Ã¶      Ã¼      ÃŸ
-+.     .       .       .
-+   Ã¤Ã¶Ã¼     .    Ã¶Ã¼Ã¤.    Ã¤ xx
-+EOF
-+
-+
-+unexpand in in > out || fail=1
-+compare exp out > /dev/null 2>&1 || fail=1
-+
-+LANG=C unexpand in in > out || fail=1
-+compare exp out > /dev/null 2>&1 || fail=1
-+
-+LC_ALL=C unexpand in in > out || fail=1
-+compare exp out > /dev/null 2>&1 || fail=1
--- 
-2.9.3
-
index e3428d933f61b584ed68c5967018dbfad9d6b958..2dbcb6e020c1733c698521577bc098b3bbdf7fb3 100644 (file)
@@ -1,37 +1,87 @@
-From 29117b2d07af00f4d4b87cf778e4294588ab1a83 Mon Sep 17 00:00:00 2001
-From: Kamil Dudka <kdudka@redhat.com>
-Date: Thu, 1 Dec 2016 15:10:04 +0100
+Submitted by:            Xi Ruoyao <xry111@mengyan1223.wang>
+Date:                    2022-04-19
+Initial Package Version: 9.1
+Upstream Status:         Rejected
+Origin:                  https://src.fedoraproject.org/rpms/coreutils/raw/9325dbb/f/coreutils-i18n.patch
+Description:             Fixes i18n issues with various Coreutils programs
+
+From 01010419a6499768563e7b2f3fd56cf16edda75e Mon Sep 17 00:00:00 2001
+From: rpm-build <rpm-build>
+Date: Mon, 4 Oct 2021 08:54:37 +0200
 Subject: [PATCH] coreutils-i18n.patch
 
-TODO: merge upstream
 ---
+ bootstrap.conf              |   1 +
+ configure.ac                |   2 +
  lib/linebuffer.h            |   8 +
- src/fold.c                  | 308 ++++++++++++++++--
- src/join.c                  | 359 ++++++++++++++++++---
- src/pr.c                    | 443 ++++++++++++++++++++++---
- src/sort.c                  | 764 +++++++++++++++++++++++++++++++++++++++++---
- src/uniq.c                  | 265 ++++++++++++++-
+ lib/mbfile.c                |   3 +
+ lib/mbfile.h                | 255 ++++++++++++
+ m4/mbfile.m4                |  14 +
+ src/cut.c                   | 508 +++++++++++++++++++++--
+ src/expand-common.c         | 114 ++++++
+ src/expand-common.h         |  12 +
+ src/expand.c                |  90 +++-
+ src/fold.c                  | 312 ++++++++++++--
+ src/join.c                  | 359 ++++++++++++++--
+ src/local.mk                |   4 +-
+ src/pr.c                    | 443 ++++++++++++++++++--
+ src/sort.c                  | 792 +++++++++++++++++++++++++++++++++---
+ src/unexpand.c              | 101 ++++-
+ src/uniq.c                  | 119 +++++-
+ tests/Coreutils.pm          |   3 +
+ tests/expand/mb.sh          | 183 +++++++++
  tests/i18n/sort.sh          |  29 ++
- tests/local.mk              |   2 +
- tests/misc/expand.pl        |  42 +++
+ tests/local.mk              |   4 +
+ tests/misc/expand.pl        |  42 ++
  tests/misc/fold.pl          |  50 ++-
  tests/misc/join.pl          |  50 +++
- tests/misc/sort-mb-tests.sh |  45 +++
- tests/misc/sort-merge.pl    |  42 +++
- tests/misc/sort.pl          |  40 ++-
- tests/misc/unexpand.pl      |  39 +++
- tests/misc/uniq.pl          |  55 ++++
+ tests/misc/sort-mb-tests.sh |  45 ++
+ tests/misc/sort-merge.pl    |  42 ++
+ tests/misc/sort.pl          |  40 +-
+ tests/misc/unexpand.pl      |  39 ++
+ tests/misc/uniq.pl          |  55 +++
  tests/pr/pr-tests.pl        |  49 +++
- 17 files changed, 2430 insertions(+), 160 deletions(-)
+ tests/unexpand/mb.sh        | 172 ++++++++
+ 31 files changed, 3698 insertions(+), 242 deletions(-)
+ create mode 100644 lib/mbfile.c
+ create mode 100644 lib/mbfile.h
+ create mode 100644 m4/mbfile.m4
+ create mode 100755 tests/expand/mb.sh
  create mode 100755 tests/i18n/sort.sh
  create mode 100755 tests/misc/sort-mb-tests.sh
+ create mode 100755 tests/unexpand/mb.sh
 
+diff --git a/bootstrap.conf b/bootstrap.conf
+index c1399e3..60b39cf 100644
+--- a/bootstrap.conf
++++ b/bootstrap.conf
+@@ -162,6 +162,7 @@ gnulib_modules="
+   maintainer-makefile
+   malloc-gnu
+   manywarnings
++  mbfile
+   mbrlen
+   mbrtowc
+   mbsalign
+diff --git a/configure.ac b/configure.ac
+index 7e4afc9..4656a35 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -476,6 +476,8 @@ fi
+ # I'm leaving it here for now.  This whole thing needs to be modernized...
+ gl_WINSIZE_IN_PTEM
++gl_MBFILE
++
+ gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H
+ if test $gl_cv_sys_tiocgwinsz_needs_termios_h = no && \
 diff --git a/lib/linebuffer.h b/lib/linebuffer.h
-index 64181af..9b8fe5a 100644
+index 07d45ca..af62e6c 100644
 --- a/lib/linebuffer.h
 +++ b/lib/linebuffer.h
-@@ -21,6 +21,11 @@
+@@ -22,6 +22,11 @@
+ # include "idx.h"
  # include <stdio.h>
  
 +/* Get mbstate_t.  */
@@ -41,19 +91,1280 @@ index 64181af..9b8fe5a 100644
 +
  /* A 'struct linebuffer' holds a line of text. */
  
- struct linebuffer
-@@ -28,6 +33,9 @@ struct linebuffer
-   size_t size;                  /* Allocated. */
-   size_t length;                /* Used. */
-   char *buffer;
-+# if HAVE_WCHAR_H
-+  mbstate_t state;
-+# endif
- };
+ struct linebuffer
+@@ -29,6 +34,9 @@ struct linebuffer
+   idx_t size;                  /* Allocated. */
+   idx_t length;                /* Used. */
+   char *buffer;
++# if HAVE_WCHAR_H
++  mbstate_t state;
++# endif
+ };
+ /* Initialize linebuffer LINEBUFFER for use. */
+diff --git a/lib/mbfile.c b/lib/mbfile.c
+new file mode 100644
+index 0000000..b0a468e
+--- /dev/null
++++ b/lib/mbfile.c
+@@ -0,0 +1,3 @@
++#include <config.h>
++#define MBFILE_INLINE _GL_EXTERN_INLINE
++#include "mbfile.h"
+diff --git a/lib/mbfile.h b/lib/mbfile.h
+new file mode 100644
+index 0000000..11f1b12
+--- /dev/null
++++ b/lib/mbfile.h
+@@ -0,0 +1,255 @@
++/* Multibyte character I/O: macros for multi-byte encodings.
++   Copyright (C) 2001, 2005, 2009-2015 Free Software Foundation, Inc.
++
++   This program is free software: you can redistribute it and/or modify
++   it under the terms of the GNU General Public License as published by
++   the Free Software Foundation; either version 3 of the License, or
++   (at your option) any later version.
++
++   This program is distributed in the hope that it will be useful,
++   but WITHOUT ANY WARRANTY; without even the implied warranty of
++   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++   GNU General Public License for more details.
++
++   You should have received a copy of the GNU General Public License
++   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
++
++/* Written by Mitsuru Chinen <mchinen@yamato.ibm.com>
++   and Bruno Haible <bruno@clisp.org>.  */
++
++/* The macros in this file implement multi-byte character input from a
++   stream.
++
++   mb_file_t
++     is the type for multibyte character input stream, usable for variable
++     declarations.
++
++   mbf_char_t
++     is the type for multibyte character or EOF, usable for variable
++     declarations.
++
++   mbf_init (mbf, stream)
++     initializes the MB_FILE for reading from stream.
++
++   mbf_getc (mbc, mbf)
++     reads the next multibyte character from mbf and stores it in mbc.
++
++   mb_iseof (mbc)
++     returns true if mbc represents the EOF value.
++
++   Here are the function prototypes of the macros.
++
++   extern void          mbf_init (mb_file_t mbf, FILE *stream);
++   extern void          mbf_getc (mbf_char_t mbc, mb_file_t mbf);
++   extern bool          mb_iseof (const mbf_char_t mbc);
++ */
++
++#ifndef _MBFILE_H
++#define _MBFILE_H 1
++
++#include <assert.h>
++#include <stdbool.h>
++#include <stdio.h>
++#include <string.h>
++
++/* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before
++   <wchar.h>.
++   BSD/OS 4.1 has a bug: <stdio.h> and <time.h> must be included before
++   <wchar.h>.  */
++#include <stdio.h>
++#include <time.h>
++#include <wchar.h>
++
++#include "mbchar.h"
++
++#ifndef _GL_INLINE_HEADER_BEGIN
++ #error "Please include config.h first."
++#endif
++_GL_INLINE_HEADER_BEGIN
++#ifndef MBFILE_INLINE
++# define MBFILE_INLINE _GL_INLINE
++#endif
++
++struct mbfile_multi {
++  FILE *fp;
++  bool eof_seen;
++  bool have_pushback;
++  mbstate_t state;
++  unsigned int bufcount;
++  char buf[MBCHAR_BUF_SIZE];
++  struct mbchar pushback;
++};
++
++MBFILE_INLINE void
++mbfile_multi_getc (struct mbchar *mbc, struct mbfile_multi *mbf)
++{
++  size_t bytes;
++
++  /* If EOF has already been seen, don't use getc.  This matters if
++     mbf->fp is connected to an interactive tty.  */
++  if (mbf->eof_seen)
++    goto eof;
++
++  /* Return character pushed back, if there is one.  */
++  if (mbf->have_pushback)
++    {
++      mb_copy (mbc, &mbf->pushback);
++      mbf->have_pushback = false;
++      return;
++    }
++
++  /* Before using mbrtowc, we need at least one byte.  */
++  if (mbf->bufcount == 0)
++    {
++      int c = getc (mbf->fp);
++      if (c == EOF)
++        {
++          mbf->eof_seen = true;
++          goto eof;
++        }
++      mbf->buf[0] = (unsigned char) c;
++      mbf->bufcount++;
++    }
++
++  /* Handle most ASCII characters quickly, without calling mbrtowc().  */
++  if (mbf->bufcount == 1 && mbsinit (&mbf->state) && is_basic (mbf->buf[0]))
++    {
++      /* These characters are part of the basic character set.  ISO C 99
++         guarantees that their wide character code is identical to their
++         char code.  */
++      mbc->wc = mbc->buf[0] = mbf->buf[0];
++      mbc->wc_valid = true;
++      mbc->ptr = &mbc->buf[0];
++      mbc->bytes = 1;
++      mbf->bufcount = 0;
++      return;
++    }
++
++  /* Use mbrtowc on an increasing number of bytes.  Read only as many bytes
++     from mbf->fp as needed.  This is needed to give reasonable interactive
++     behaviour when mbf->fp is connected to an interactive tty.  */
++  for (;;)
++    {
++      /* We don't know whether the 'mbrtowc' function updates the state when
++         it returns -2, - this is the ISO C 99 and glibc-2.2 behaviour - or
++         not - amended ANSI C, glibc-2.1 and Solaris 2.7 behaviour.  We
++         don't have an autoconf test for this, yet.
++         The new behaviour would allow us to feed the bytes one by one into
++         mbrtowc.  But the old behaviour forces us to feed all bytes since
++         the end of the last character into mbrtowc.  Since we want to retry
++         with more bytes when mbrtowc returns -2, we must backup the state
++         before calling mbrtowc, because implementations with the new
++         behaviour will clobber it.  */
++      mbstate_t backup_state = mbf->state;
++
++      bytes = mbrtowc (&mbc->wc, &mbf->buf[0], mbf->bufcount, &mbf->state);
++
++      if (bytes == (size_t) -1)
++        {
++          /* An invalid multibyte sequence was encountered.  */
++          /* Return a single byte.  */
++          bytes = 1;
++          mbc->wc_valid = false;
++          break;
++        }
++      else if (bytes == (size_t) -2)
++        {
++          /* An incomplete multibyte character.  */
++          mbf->state = backup_state;
++          if (mbf->bufcount == MBCHAR_BUF_SIZE)
++            {
++              /* An overlong incomplete multibyte sequence was encountered.  */
++              /* Return a single byte.  */
++              bytes = 1;
++              mbc->wc_valid = false;
++              break;
++            }
++          else
++            {
++              /* Read one more byte and retry mbrtowc.  */
++              int c = getc (mbf->fp);
++              if (c == EOF)
++                {
++                  /* An incomplete multibyte character at the end.  */
++                  mbf->eof_seen = true;
++                  bytes = mbf->bufcount;
++                  mbc->wc_valid = false;
++                  break;
++                }
++              mbf->buf[mbf->bufcount] = (unsigned char) c;
++              mbf->bufcount++;
++            }
++        }
++      else
++        {
++          if (bytes == 0)
++            {
++              /* A null wide character was encountered.  */
++              bytes = 1;
++              assert (mbf->buf[0] == '\0');
++              assert (mbc->wc == 0);
++            }
++          mbc->wc_valid = true;
++          break;
++        }
++    }
++
++  /* Return the multibyte sequence mbf->buf[0..bytes-1].  */
++  mbc->ptr = &mbc->buf[0];
++  memcpy (&mbc->buf[0], &mbf->buf[0], bytes);
++  mbc->bytes = bytes;
++
++  mbf->bufcount -= bytes;
++  if (mbf->bufcount > 0)
++    {
++      /* It's not worth calling memmove() for so few bytes.  */
++      unsigned int count = mbf->bufcount;
++      char *p = &mbf->buf[0];
++
++      do
++        {
++          *p = *(p + bytes);
++          p++;
++        }
++      while (--count > 0);
++    }
++  return;
++
++eof:
++  /* An mbchar_t with bytes == 0 is used to indicate EOF.  */
++  mbc->ptr = NULL;
++  mbc->bytes = 0;
++  mbc->wc_valid = false;
++  return;
++}
++
++MBFILE_INLINE void
++mbfile_multi_ungetc (const struct mbchar *mbc, struct mbfile_multi *mbf)
++{
++  mb_copy (&mbf->pushback, mbc);
++  mbf->have_pushback = true;
++}
++
++typedef struct mbfile_multi mb_file_t;
++
++typedef mbchar_t mbf_char_t;
++
++#define mbf_init(mbf, stream)                                           \
++  ((mbf).fp = (stream),                                                 \
++   (mbf).eof_seen = false,                                              \
++   (mbf).have_pushback = false,                                         \
++   memset (&(mbf).state, '\0', sizeof (mbstate_t)),                     \
++   (mbf).bufcount = 0)
++
++#define mbf_getc(mbc, mbf) mbfile_multi_getc (&(mbc), &(mbf))
++
++#define mbf_ungetc(mbc, mbf) mbfile_multi_ungetc (&(mbc), &(mbf))
++
++#define mb_iseof(mbc) ((mbc).bytes == 0)
++
++#ifndef _GL_INLINE_HEADER_BEGIN
++ #error "Please include config.h first."
++#endif
++_GL_INLINE_HEADER_BEGIN
++
++#endif /* _MBFILE_H */
+diff --git a/m4/mbfile.m4 b/m4/mbfile.m4
+new file mode 100644
+index 0000000..8589902
+--- /dev/null
++++ b/m4/mbfile.m4
+@@ -0,0 +1,14 @@
++# mbfile.m4 serial 7
++dnl Copyright (C) 2005, 2008-2015 Free Software Foundation, Inc.
++dnl This file is free software; the Free Software Foundation
++dnl gives unlimited permission to copy and/or distribute it,
++dnl with or without modifications, as long as this notice is preserved.
++
++dnl autoconf tests required for use of mbfile.h
++dnl From Bruno Haible.
++
++AC_DEFUN([gl_MBFILE],
++[
++  AC_REQUIRE([AC_TYPE_MBSTATE_T])
++  :
++])
+diff --git a/src/cut.c b/src/cut.c
+index 6fd8978..faef877 100644
+--- a/src/cut.c
++++ b/src/cut.c
+@@ -28,6 +28,11 @@
+ #include <assert.h>
+ #include <getopt.h>
+ #include <sys/types.h>
++
++/* Get mbstate_t, mbrtowc().  */
++#if HAVE_WCHAR_H
++# include <wchar.h>
++#endif
+ #include "system.h"
+ #include "error.h"
+@@ -37,6 +42,18 @@
+ #include "set-fields.h"
++/* MB_LEN_MAX is incorrectly defined to be 1 in at least one GCC
++   installation; work around this configuration error.        */
++#if !defined MB_LEN_MAX || MB_LEN_MAX < 2
++# undef MB_LEN_MAX
++# define MB_LEN_MAX 16
++#endif
++
++/* Some systems, like BeOS, have multibyte encodings but lack mbstate_t.  */
++#if HAVE_MBRTOWC && defined mbstate_t
++# define mbrtowc(pwc, s, n, ps) (mbrtowc) (pwc, s, n, 0)
++#endif
++
+ /* The official name of this program (e.g., no 'g' prefix).  */
+ #define PROGRAM_NAME "cut"
+@@ -53,6 +70,52 @@
+     }                                                                 \
+   while (0)
++/* Refill the buffer BUF to get a multibyte character. */
++#define REFILL_BUFFER(BUF, BUFPOS, BUFLEN, STREAM)                        \
++  do                                                                        \
++    {                                                                        \
++      if (BUFLEN < MB_LEN_MAX && !feof (STREAM) && !ferror (STREAM))        \
++        {                                                                \
++          memmove (BUF, BUFPOS, BUFLEN);                                \
++          BUFLEN += fread (BUF + BUFLEN, sizeof(char), BUFSIZ, STREAM); \
++          BUFPOS = BUF;                                                        \
++        }                                                                \
++    }                                                                        \
++  while (0)
++
++/* Get wide character on BUFPOS. BUFPOS is not included after that.
++   If byte sequence is not valid as a character, CONVFAIL is true. Otherwise false. */
++#define GET_NEXT_WC_FROM_BUFFER(WC, BUFPOS, BUFLEN, MBLENGTH, STATE, CONVFAIL) \
++  do                                                                        \
++    {                                                                        \
++      mbstate_t state_bak;                                                \
++                                                                        \
++      if (BUFLEN < 1)                                                        \
++        {                                                                \
++          WC = WEOF;                                                        \
++          break;                                                        \
++        }                                                                \
++                                                                        \
++      /* Get a wide character. */                                        \
++      CONVFAIL = false;                                                        \
++      state_bak = STATE;                                                \
++      MBLENGTH = mbrtowc ((wchar_t *)&WC, BUFPOS, BUFLEN, &STATE);        \
++                                                                        \
++      switch (MBLENGTH)                                                        \
++        {                                                                \
++        case (size_t)-1:                                                \
++        case (size_t)-2:                                                \
++          CONVFAIL = true;                                                        \
++          STATE = state_bak;                                                \
++          /* Fall througn. */                                                \
++                                                                        \
++        case 0:                                                                \
++          MBLENGTH = 1;                                                        \
++          break;                                                        \
++        }                                                                \
++    }                                                                        \
++  while (0)
++
+ /* Pointer inside RP.  When checking if a byte or field is selected
+    by a finite range, we check if it is between CURRENT_RP.LO
+@@ -60,6 +123,9 @@
+    CURRENT_RP.HI then we make CURRENT_RP to point to the next range pair. */
+ static struct field_range_pair *current_rp;
++/* Length of the delimiter given as argument to -d.  */
++size_t delimlen;
++
+ /* This buffer is used to support the semantics of the -s option
+    (or lack of same) when the specified field list includes (does
+    not include) the first field.  In both of those cases, the entire
+@@ -72,6 +138,29 @@ static char *field_1_buffer;
+ /* The number of bytes allocated for FIELD_1_BUFFER.  */
+ static size_t field_1_bufsize;
++enum operating_mode
++  {
++    undefined_mode,
++
++    /* Output bytes that are at the given positions. */
++    byte_mode,
++
++    /* Output characters that are at the given positions. */
++    character_mode,
++
++    /* Output the given delimiter-separated fields. */
++    field_mode
++  };
++
++static enum operating_mode operating_mode;
++
++/* If nonzero, when in byte mode, don't split multibyte characters.  */
++static int byte_mode_character_aware;
++
++/* If nonzero, the function for single byte locale is work
++   if this program runs on multibyte locale. */
++static int force_singlebyte_mode;
++
+ /* If true do not output lines containing no delimiter characters.
+    Otherwise, all such lines are printed.  This option is valid only
+    with field mode.  */
+@@ -83,10 +172,16 @@ static bool complement;
+ /* The delimiter character for field mode. */
+ static unsigned char delim;
++#if HAVE_WCHAR_H
++static wchar_t wcdelim;
++#endif
+ /* The delimiter for each line/record. */
+ static unsigned char line_delim = '\n';
++/* True if the --output-delimiter=STRING option was specified.  */
++static bool output_delimiter_specified;
++
+ /* The length of output_delimiter_string.  */
+ static size_t output_delimiter_length;
+@@ -94,9 +189,6 @@ static size_t output_delimiter_length;
+    string consisting of the input delimiter.  */
+ static char *output_delimiter_string;
+-/* The output delimiter string contents, if the default.  */
+-static char output_delimiter_default[1];
+-
+ /* True if we have ever read standard input. */
+ static bool have_read_stdin;
+@@ -150,7 +242,7 @@ Print selected parts of lines from each FILE to standard output.\n\
+   -f, --fields=LIST       select only these fields;  also print any line\n\
+                             that contains no delimiter character, unless\n\
+                             the -s option is specified\n\
+-  -n                      (ignored)\n\
++  -n                      with -b: don't split multibyte characters\n\
+ "), stdout);
+       fputs (_("\
+       --complement        complement the set of selected bytes, characters\n\
+@@ -250,7 +342,7 @@ cut_bytes (FILE *stream)
+           next_item (&byte_idx);
+           if (print_kth (byte_idx))
+             {
+-              if (output_delimiter_string != output_delimiter_default)
++              if (output_delimiter_specified)
+                 {
+                   if (print_delimiter && is_range_start_index (byte_idx))
+                     {
+@@ -266,6 +358,82 @@ cut_bytes (FILE *stream)
+     }
+ }
++#if HAVE_MBRTOWC
++/* This function is in use for the following case.
++
++   1. Read from the stream STREAM, printing to standard output any selected
++   characters.
++
++   2. Read from stream STREAM, printing to standard output any selected bytes,
++   without splitting multibyte characters.  */
++
++static void
++cut_characters_or_cut_bytes_no_split (FILE *stream)
++{
++  uintmax_t idx;                /* number of bytes or characters in the line so far. */
++  char buf[MB_LEN_MAX + BUFSIZ];  /* For spooling a read byte sequence. */
++  char *bufpos;                /* Next read position of BUF. */
++  size_t buflen;        /* The length of the byte sequence in buf. */
++  wint_t wc;                /* A gotten wide character. */
++  size_t mblength;        /* The byte size of a multibyte character which shows
++                           as same character as WC. */
++  mbstate_t state;        /* State of the stream. */
++  bool convfail = false;  /* true, when conversion failed. Otherwise false. */
++  /* Whether to begin printing delimiters between ranges for the current line.
++     Set after we've begun printing data corresponding to the first range.  */
++  bool print_delimiter = false;
++
++  idx = 0;
++  buflen = 0;
++  bufpos = buf;
++  memset (&state, '\0', sizeof(mbstate_t));
++
++  current_rp = frp;
++
++  while (1)
++    {
++      REFILL_BUFFER (buf, bufpos, buflen, stream);
++
++      GET_NEXT_WC_FROM_BUFFER (wc, bufpos, buflen, mblength, state, convfail);
++      (void) convfail;  /* ignore unused */
++
++      if (wc == WEOF)
++        {
++          if (idx > 0)
++            putchar (line_delim);
++          break;
++        }
++      else if (wc == line_delim)
++        {
++          putchar (line_delim);
++          idx = 0;
++          print_delimiter = false;
++          current_rp = frp;
++        }
++      else
++        {
++          next_item (&idx);
++          if (print_kth (idx))
++            {
++              if (output_delimiter_specified)
++                {
++                  if (print_delimiter && is_range_start_index (idx))
++                    {
++                      fwrite (output_delimiter_string, sizeof (char),
++                              output_delimiter_length, stdout);
++                    }
++                  print_delimiter = true;
++                }
++              fwrite (bufpos, mblength, sizeof(char), stdout);
++            }
++        }
++
++      buflen -= mblength;
++      bufpos += mblength;
++    }
++}
++#endif
++
+ /* Read from stream STREAM, printing to standard output any selected fields.  */
+ static void
+@@ -411,11 +579,218 @@ cut_fields (FILE *stream)
+     }
+ }
+-/* Process file FILE to standard output, using CUT_STREAM.
++#if HAVE_MBRTOWC
++static void
++cut_fields_mb (FILE *stream)
++{
++  int c;
++  uintmax_t field_idx;
++  int found_any_selected_field;
++  int buffer_first_field;
++  int empty_input;
++  char buf[MB_LEN_MAX + BUFSIZ];  /* For spooling a read byte sequence. */
++  char *bufpos;                /* Next read position of BUF. */
++  size_t buflen;        /* The length of the byte sequence in buf. */
++  wint_t wc = 0;        /* A gotten wide character. */
++  size_t mblength;        /* The byte size of a multibyte character which shows
++                           as same character as WC. */
++  mbstate_t state;        /* State of the stream. */
++  bool convfail = false;  /* true, when conversion failed. Otherwise false. */
++
++  current_rp = frp;
++
++  found_any_selected_field = 0;
++  field_idx = 1;
++  bufpos = buf;
++  buflen = 0;
++  memset (&state, '\0', sizeof(mbstate_t));
++
++  c = getc (stream);
++  empty_input = (c == EOF);
++  if (c != EOF)
++  {
++    ungetc (c, stream);
++    wc = 0;
++  }
++  else
++    wc = WEOF;
++
++  /* To support the semantics of the -s flag, we may have to buffer
++     all of the first field to determine whether it is `delimited.'
++     But that is unnecessary if all non-delimited lines must be printed
++     and the first field has been selected, or if non-delimited lines
++     must be suppressed and the first field has *not* been selected.
++     That is because a non-delimited line has exactly one field.  */
++  buffer_first_field = (suppress_non_delimited ^ !print_kth (1));
++
++  while (1)
++    {
++      if (field_idx == 1 && buffer_first_field)
++        {
++          int len = 0;
++
++          while (1)
++            {
++              REFILL_BUFFER (buf, bufpos, buflen, stream);
++
++              GET_NEXT_WC_FROM_BUFFER
++                (wc, bufpos, buflen, mblength, state, convfail);
++
++              if (wc == WEOF)
++                break;
++
++              field_1_buffer = xrealloc (field_1_buffer, len + mblength);
++              memcpy (field_1_buffer + len, bufpos, mblength);
++              len += mblength;
++              buflen -= mblength;
++              bufpos += mblength;
++
++              if (!convfail && (wc == line_delim || wc == wcdelim))
++                break;
++            }
++
++          if (len <= 0 && wc == WEOF)
++            break;
++
++          /* If the first field extends to the end of line (it is not
++             delimited) and we are printing all non-delimited lines,
++             print this one.  */
++          if (convfail || (!convfail && wc != wcdelim))
++            {
++              if (suppress_non_delimited)
++                {
++                  /* Empty.        */
++                }
++              else
++                {
++                  fwrite (field_1_buffer, sizeof (char), len, stdout);
++                  /* Make sure the output line is newline terminated.  */
++                  if (convfail || (!convfail && wc != line_delim))
++                    putchar (line_delim);
++                }
++              continue;
++            }
++
++          if (print_kth (1))
++            {
++              /* Print the field, but not the trailing delimiter.  */
++              fwrite (field_1_buffer, sizeof (char), len - 1, stdout);
++              found_any_selected_field = 1;
++            }
++          next_item (&field_idx);
++        }
++
++      if (wc != WEOF)
++        {
++          if (print_kth (field_idx))
++            {
++              if (found_any_selected_field)
++                {
++                  fwrite (output_delimiter_string, sizeof (char),
++                          output_delimiter_length, stdout);
++                }
++              found_any_selected_field = 1;
++            }
++
++          while (1)
++            {
++              REFILL_BUFFER (buf, bufpos, buflen, stream);
++
++              GET_NEXT_WC_FROM_BUFFER
++                (wc, bufpos, buflen, mblength, state, convfail);
++
++              if (wc == WEOF)
++                break;
++              else if (!convfail && (wc == wcdelim || wc == line_delim))
++                {
++                  buflen -= mblength;
++                  bufpos += mblength;
++                  break;
++                }
++
++              if (print_kth (field_idx))
++                fwrite (bufpos, mblength, sizeof(char), stdout);
++
++              buflen -= mblength;
++              bufpos += mblength;
++            }
++        }
++
++      if ((!convfail || wc == line_delim) && buflen < 1)
++        wc = WEOF;
++
++      if (!convfail && wc == wcdelim)
++        next_item (&field_idx);
++      else if (wc == WEOF || (!convfail && wc == line_delim))
++        {
++          if (found_any_selected_field
++              || (!empty_input && !(suppress_non_delimited && field_idx == 1)))
++            putchar (line_delim);
++          if (wc == WEOF)
++            break;
++          field_idx = 1;
++          current_rp = frp;
++          found_any_selected_field = 0;
++        }
++    }
++}
++#endif
++
++static void
++cut_stream (FILE *stream)
++{
++#if HAVE_MBRTOWC
++  if (MB_CUR_MAX > 1 && !force_singlebyte_mode)
++    {
++      switch (operating_mode)
++        {
++        case byte_mode:
++          if (byte_mode_character_aware)
++            cut_characters_or_cut_bytes_no_split (stream);
++          else
++            cut_bytes (stream);
++          break;
++
++        case character_mode:
++          cut_characters_or_cut_bytes_no_split (stream);
++          break;
++
++        case field_mode:
++          if (delimlen == 1)
++            {
++              /* Check if we have utf8 multibyte locale, so we can use this
++                 optimization because of uniqueness of characters, which is
++                 not true for e.g. SJIS */
++              char * loc = setlocale(LC_CTYPE, NULL);
++              if (loc && (strstr (loc, "UTF-8") || strstr (loc, "utf-8") ||
++                  strstr (loc, "UTF8") || strstr (loc, "utf8")))
++                {
++                  cut_fields (stream);
++                  break;
++                }
++            }
++          cut_fields_mb (stream);
++          break;
++
++        default:
++          abort ();
++        }
++    }
++  else
++#endif
++    {
++      if (operating_mode == field_mode)
++        cut_fields (stream);
++      else
++        cut_bytes (stream);
++    }
++}
++
++/* Process file FILE to standard output.
+    Return true if successful.  */
+ static bool
+-cut_file (char const *file, void (*cut_stream) (FILE *))
++cut_file (char const *file)
+ {
+   FILE *stream;
+@@ -459,8 +834,8 @@ main (int argc, char **argv)
+   int optc;
+   bool ok;
+   bool delim_specified = false;
+-  bool byte_mode = false;
+-  char *spec_list_string = NULL;
++  char *spec_list_string IF_LINT ( = NULL);
++  char mbdelim[MB_LEN_MAX + 1];
+   initialize_main (&argc, &argv);
+   set_program_name (argv[0]);
+@@ -470,6 +845,8 @@ main (int argc, char **argv)
+   atexit (close_stdout);
++  operating_mode = undefined_mode;
++
+   /* By default, all non-delimited lines are printed.  */
+   suppress_non_delimited = false;
+@@ -481,35 +858,77 @@ main (int argc, char **argv)
+       switch (optc)
+         {
+         case 'b':
+-        case 'c':
+           /* Build the byte list. */
+-          byte_mode = true;
+-          FALLTHROUGH;
++          if (operating_mode != undefined_mode)
++            FATAL_ERROR (_("only one type of list may be specified"));
++          operating_mode = byte_mode;
++          spec_list_string = optarg;
++          break;
++
++        case 'c':
++          /* Build the character list. */
++          if (operating_mode != undefined_mode)
++            FATAL_ERROR (_("only one type of list may be specified"));
++          operating_mode = character_mode;
++          spec_list_string = optarg;
++          break;
++
+         case 'f':
+           /* Build the field list. */
+-          if (spec_list_string)
+-            FATAL_ERROR (_("only one list may be specified"));
++          if (operating_mode != undefined_mode)
++            FATAL_ERROR (_("only one type of list may be specified"));
++          operating_mode = field_mode;
+           spec_list_string = optarg;
+           break;
+         case 'd':
+           /* New delimiter. */
+           /* Interpret -d '' to mean 'use the NUL byte as the delimiter.'  */
+-          if (optarg[0] != '\0' && optarg[1] != '\0')
+-            FATAL_ERROR (_("the delimiter must be a single character"));
+-          delim = optarg[0];
+-          delim_specified = true;
++            {
++#if HAVE_MBRTOWC
++              if(MB_CUR_MAX > 1)
++                {
++                  mbstate_t state;
++
++                  memset (&state, '\0', sizeof(mbstate_t));
++                  delimlen = mbrtowc (&wcdelim, optarg, strnlen(optarg, MB_LEN_MAX), &state);
++
++                  if (delimlen == (size_t)-1 || delimlen == (size_t)-2)
++                    ++force_singlebyte_mode;
++                  else
++                    {
++                      delimlen = (delimlen < 1) ? 1 : delimlen;
++                      if (wcdelim != L'\0' && *(optarg + delimlen) != '\0')
++                        FATAL_ERROR (_("the delimiter must be a single character"));
++                      memcpy (mbdelim, optarg, delimlen);
++                      mbdelim[delimlen] = '\0';
++                      if (delimlen == 1)
++                        delim = *optarg;
++                    }
++                }
++
++              if (MB_CUR_MAX <= 1 || force_singlebyte_mode)
++#endif
++                {
++                  if (optarg[0] != '\0' && optarg[1] != '\0')
++                    FATAL_ERROR (_("the delimiter must be a single character"));
++                  delim = (unsigned char) optarg[0];
++                }
++            delim_specified = true;
++          }
+           break;
+         case OUTPUT_DELIMITER_OPTION:
++          output_delimiter_specified = true;
+           /* Interpret --output-delimiter='' to mean
+              'use the NUL byte as the delimiter.'  */
+           output_delimiter_length = (optarg[0] == '\0'
+                                      ? 1 : strlen (optarg));
+-          output_delimiter_string = optarg;
++          output_delimiter_string = xstrdup (optarg);
+           break;
+         case 'n':
++          byte_mode_character_aware = 1;
+           break;
+         case 's':
+@@ -533,40 +952,57 @@ main (int argc, char **argv)
+         }
+     }
+-  if (!spec_list_string)
++  if (operating_mode == undefined_mode)
+     FATAL_ERROR (_("you must specify a list of bytes, characters, or fields"));
+-  if (byte_mode)
+-    {
+-      if (delim_specified)
+-        FATAL_ERROR (_("an input delimiter may be specified only\
++  if (delim_specified && operating_mode != field_mode)
++    FATAL_ERROR (_("an input delimiter may be specified only\
+  when operating on fields"));
+-      if (suppress_non_delimited)
+-        FATAL_ERROR (_("suppressing non-delimited lines makes sense\n\
++  if (suppress_non_delimited && operating_mode != field_mode)
++    FATAL_ERROR (_("suppressing non-delimited lines makes sense\n\
+ \tonly when operating on fields"));
+-    }
+   set_fields (spec_list_string,
+-              ((byte_mode ? SETFLD_ERRMSG_USE_POS : 0)
+-               | (complement ? SETFLD_COMPLEMENT : 0)));
++              ( (operating_mode == field_mode) ? 0 : SETFLD_ERRMSG_USE_POS)
++              | (complement ? SETFLD_COMPLEMENT : 0) );
+   if (!delim_specified)
+-    delim = '\t';
++    {
++      delim = '\t';
++#ifdef HAVE_MBRTOWC
++      wcdelim = L'\t';
++      mbdelim[0] = '\t';
++      mbdelim[1] = '\0';
++      delimlen = 1;
++#endif
++    }
+   if (output_delimiter_string == NULL)
+     {
+-      output_delimiter_default[0] = delim;
+-      output_delimiter_string = output_delimiter_default;
+-      output_delimiter_length = 1;
++#ifdef HAVE_MBRTOWC
++      if (MB_CUR_MAX > 1 && !force_singlebyte_mode)
++        {
++          output_delimiter_string = xstrdup(mbdelim);
++          output_delimiter_length = delimlen;
++        }
++
++      if (MB_CUR_MAX <= 1 || force_singlebyte_mode)
++#endif
++        {
++          static char dummy[2];
++          dummy[0] = delim;
++          dummy[1] = '\0';
++          output_delimiter_string = dummy;
++          output_delimiter_length = 1;
++        }
+     }
+-  void (*cut_stream) (FILE *) = byte_mode ? cut_bytes : cut_fields;
+   if (optind == argc)
+-    ok = cut_file ("-", cut_stream);
++    ok = cut_file ("-");
+   else
+     for (ok = true; optind < argc; optind++)
+-      ok &= cut_file (argv[optind], cut_stream);
++      ok &= cut_file (argv[optind]);
+   if (have_read_stdin && fclose (stdin) == EOF)
+diff --git a/src/expand-common.c b/src/expand-common.c
+index deec1bd..b39f740 100644
+--- a/src/expand-common.c
++++ b/src/expand-common.c
+@@ -19,6 +19,7 @@
+ #include <assert.h>
+ #include <stdio.h>
+ #include <sys/types.h>
++#include <mbfile.h>
+ #include "system.h"
+ #include "die.h"
+ #include "error.h"
+@@ -125,6 +126,119 @@ set_increment_size (uintmax_t tabval)
+   return ok;
+ }
++extern int
++set_utf_locale (void)
++{
++      /*try using some predefined locale */
++      const char* predef_locales[] = {"C.UTF8","en_US.UTF8","en_GB.UTF8"};
++
++      const int predef_locales_count=3;
++      for (int i=0;i<predef_locales_count;i++)
++        {
++          if (setlocale(LC_ALL,predef_locales[i])!=NULL)
++          {
++            break;
++          }
++          else if (i==predef_locales_count-1)
++          {
++            return 1;
++            error (EXIT_FAILURE, errno, _("cannot set UTF-8 locale"));
++          }
++        }
++        return 0;
++}
++
++extern bool
++check_utf_locale(void)
++{
++  char* locale = setlocale (LC_CTYPE , NULL);
++  if (locale == NULL)
++  {
++    return false;
++  }
++  else if (strcasestr(locale, "utf8") == NULL && strcasestr(locale, "utf-8") == NULL)
++  {
++    return false;
++  }
++  return true;
++}
++
++extern bool
++check_bom(FILE* fp, mb_file_t *mbf)
++{
++  int c;
++
++
++  c=fgetc(fp);
++
++  /*test BOM header of the first file */
++  mbf->bufcount=0;
++  if (c == 0xEF)
++  {
++    c=fgetc(fp);
++  }
++  else
++  {
++    if (c != EOF)
++    {
++      ungetc(c,fp);
++    }
++    return false;
++  }
++
++  if (c == 0xBB)
++  {
++    c=fgetc(fp);
++  }
++  else
++  {
++    if ( c!= EOF )
++    {
++      mbf->buf[0]=(unsigned char) 0xEF;
++      mbf->bufcount=1;
++      ungetc(c,fp);
++      return false;
++    }
++    else
++    {
++      ungetc(0xEF,fp);
++      return false;
++    }
++  }
++  if (c == 0xBF)
++  {
++    mbf->bufcount=0;
++    return true;
++  }
++  else
++  {
++    if (c != EOF)
++    {
++      mbf->buf[0]=(unsigned char) 0xEF;
++      mbf->buf[1]=(unsigned char) 0xBB;
++      mbf->bufcount=2;
++      ungetc(c,fp);
++      return false;
++    }
++    else
++    {
++      mbf->buf[0]=(unsigned char) 0xEF;
++      mbf->bufcount=1;
++      ungetc(0xBB,fp);
++      return false;
++    }
++  }
++  return false;
++}
++
++extern void
++print_bom(void)
++{
++  putc (0xEF, stdout);
++  putc (0xBB, stdout);
++  putc (0xBF, stdout);
++}
++
+ /* Add the comma or blank separated list of tab stops STOPS
+    to the list of tab stops.  */
+ extern void
+diff --git a/src/expand-common.h b/src/expand-common.h
+index 5f59a0e..835b9d5 100644
+--- a/src/expand-common.h
++++ b/src/expand-common.h
+@@ -25,6 +25,18 @@ extern size_t max_column_width;
+ /* The desired exit status.  */
+ extern int exit_status;
++extern int
++set_utf_locale (void);
++
++extern bool
++check_utf_locale(void);
++
++extern bool
++check_bom(FILE* fp, mb_file_t *mbf);
++
++extern void
++print_bom(void);
++
+ /* Add tab stop TABVAL to the end of 'tab_list'.  */
+ extern void
+ add_tab_stop (uintmax_t tabval);
+diff --git a/src/expand.c b/src/expand.c
+index ed78ca8..a4cefa1 100644
+--- a/src/expand.c
++++ b/src/expand.c
+@@ -37,6 +37,9 @@
+ #include <stdio.h>
+ #include <getopt.h>
+ #include <sys/types.h>
++
++#include <mbfile.h>
++
+ #include "system.h"
+ #include "die.h"
+@@ -97,19 +100,41 @@ expand (void)
+ {
+   /* Input stream.  */
+   FILE *fp = next_file (NULL);
++  mb_file_t mbf;
++  mbf_char_t c;
++  /* True if the starting locale is utf8.  */
++  bool using_utf_locale;
++
++  /* True if the first file contains BOM header.  */
++  bool found_bom;
++  using_utf_locale=check_utf_locale();
+   if (!fp)
+     return;
++  mbf_init (mbf, fp);
++  found_bom=check_bom(fp,&mbf);
+-  while (true)
++  if (using_utf_locale == false && found_bom == true)
++  {
++    /*try using some predefined locale */
++
++    if (set_utf_locale () != 0)
+     {
+-      /* Input character, or EOF.  */
+-      int c;
++      error (EXIT_FAILURE, errno, _("cannot set UTF-8 locale"));
++    }
++  }
++
++
++  if (found_bom == true)
++  {
++    print_bom();
++  }
++  while (true)
++    {
+       /* If true, perform translations.  */
+       bool convert = true;
+-
+       /* The following variables have valid values only when CONVERT
+          is true:  */
+@@ -119,17 +144,48 @@ expand (void)
+       /* Index in TAB_LIST of next tab stop to examine.  */
+       size_t tab_index = 0;
+-
+       /* Convert a line of text.  */
+       do
+         {
+-          while ((c = getc (fp)) < 0 && (fp = next_file (fp)))
+-            continue;
++          while (true) {
++            mbf_getc (c, mbf);
++            if ((mb_iseof (c)) && (fp = next_file (fp)))
++              {
++                mbf_init (mbf, fp);
++                if (fp!=NULL)
++                {
++                  if (check_bom(fp,&mbf)==true)
++                  {
++                    /*Not the first file - check BOM header*/
++                    if (using_utf_locale==false && found_bom==false)
++                    {
++                      /*BOM header in subsequent file but not in the first one. */
++                      error (EXIT_FAILURE, errno, _("combination of files with and without BOM header"));
++                    }
++                  }
++                  else
++                  {
++                    if(using_utf_locale==false && found_bom==true)
++                    {
++                      /*First file conatined BOM header - locale was switched to UTF
++                       *all subsequent files should contain BOM. */
++                      error (EXIT_FAILURE, errno, _("combination of files with and without BOM header"));
++                    }
++                  }
++                }
++                continue;
++              }
++            else
++              {
++                break;
++              }
++            }
++
+           if (convert)
+             {
+-              if (c == '\t')
++              if (mb_iseq (c, '\t'))
+                 {
+                   /* Column the next input tab stop is on.  */
+                   uintmax_t next_tab_column;
+@@ -148,32 +204,34 @@ expand (void)
+                     if (putchar (' ') < 0)
+                       die (EXIT_FAILURE, errno, _("write error"));
+-                  c = ' ';
++                  mb_setascii (&c, ' ');
+                 }
+-              else if (c == '\b')
++              else if (mb_iseq (c, '\b'))
+                 {
+                   /* Go back one column, and force recalculation of the
+                      next tab stop.  */
+                   column -= !!column;
+                   tab_index -= !!tab_index;
+                 }
+-              else
++              /* A leading control character could make us trip over.  */
++              else if (!mb_iscntrl (c))
+                 {
+-                  column++;
++                  column += mb_width (c);
+                   if (!column)
+                     die (EXIT_FAILURE, 0, _("input line is too long"));
+                 }
+-              convert &= convert_entire_line || !! isblank (c);
++              convert &= convert_entire_line || mb_isblank (c);
+             }
+-          if (c < 0)
++          if (mb_iseof (c))
+             return;
+-          if (putchar (c) < 0)
++          mb_putc (c, stdout);
++          if (ferror (stdout))
+             die (EXIT_FAILURE, errno, _("write error"));
+         }
+-      while (c != '\n');
++      while (!mb_iseq (c, '\n'));
+     }
+ }
  
- /* Initialize linebuffer LINEBUFFER for use. */
 diff --git a/src/fold.c b/src/fold.c
-index 8cd0d6b..d23edd5 100644
+index f07a90b..d32dbfd 100644
 --- a/src/fold.c
 +++ b/src/fold.c
 @@ -22,12 +22,34 @@
@@ -203,12 +1514,15 @@ index 8cd0d6b..d23edd5 100644
                /* Look for the last blank. */
                while (logical_end)
                  {
-@@ -215,11 +252,221 @@ fold_file (char const *filename, size_t width)
+@@ -215,13 +252,225 @@ fold_file (char const *filename, size_t width)
        line_out[offset_out++] = c;
      }
  
 -  saved_errno = errno;
 +  *saved_errno = errno;
+   if (!ferror (istream))
+-    saved_errno = 0;
++    *saved_errno = 0;
  
    if (offset_out)
      fwrite (line_out, sizeof (char), (size_t) offset_out, stdout);
@@ -384,6 +1698,8 @@ index 8cd0d6b..d23edd5 100644
 +    }
 +
 +  *saved_errno = errno;
++  if (!ferror (istream))
++    *saved_errno = 0;
 +
 +  if (offset_out)
 +    fwrite (line_out, sizeof (char), (size_t) offset_out, stdout);
@@ -423,10 +1739,10 @@ index 8cd0d6b..d23edd5 100644
 +#endif
 +    fold_text (istream, width, &saved_errno);
 +
-   if (ferror (istream))
-     {
-       error (0, saved_errno, "%s", quotef (filename));
-@@ -252,7 +499,8 @@ main (int argc, char **argv)
+   if (STREQ (filename, "-"))
+     clearerr (istream);
+   else if (fclose (istream) != 0 && !saved_errno)
+@@ -252,7 +501,8 @@ main (int argc, char **argv)
  
    atexit (close_stdout);
  
@@ -436,7 +1752,7 @@ index 8cd0d6b..d23edd5 100644
  
    while ((optc = getopt_long (argc, argv, shortopts, longopts, NULL)) != -1)
      {
-@@ -261,7 +509,15 @@ main (int argc, char **argv)
+@@ -261,7 +511,15 @@ main (int argc, char **argv)
        switch (optc)
          {
          case 'b':             /* Count bytes rather than columns. */
@@ -454,7 +1770,7 @@ index 8cd0d6b..d23edd5 100644
  
          case 's':             /* Break at word boundaries. */
 diff --git a/src/join.c b/src/join.c
-index 98b461c..9990f38 100644
+index f2fd172..6c7d1ed 100644
 --- a/src/join.c
 +++ b/src/join.c
 @@ -22,19 +22,33 @@
@@ -509,7 +1825,7 @@ index 98b461c..9990f38 100644
  
  /* If nonzero, check that the input is correctly ordered. */
  static enum
-@@ -276,13 +292,14 @@ xfields (struct line *line)
+@@ -280,13 +296,14 @@ xfields (struct line *line)
    if (ptr == lim)
      return;
  
@@ -527,7 +1843,7 @@ index 98b461c..9990f38 100644
      {
        /* Skip leading blanks before the first field.  */
        while (field_sep (*ptr))
-@@ -306,6 +323,147 @@ xfields (struct line *line)
+@@ -310,6 +327,147 @@ xfields (struct line *line)
    extract_field (line, ptr, lim - ptr);
  }
  
@@ -675,7 +1991,7 @@ index 98b461c..9990f38 100644
  static void
  freeline (struct line *line)
  {
-@@ -327,56 +485,133 @@ keycmp (struct line const *line1, struct line const *line2,
+@@ -331,56 +489,133 @@ keycmp (struct line const *line1, struct line const *line2,
          size_t jf_1, size_t jf_2)
  {
    /* Start of field to compare in each file.  */
@@ -832,7 +2148,7 @@ index 98b461c..9990f38 100644
  }
  
  /* Check that successive input lines PREV and CURRENT from input file
-@@ -468,6 +703,11 @@ get_line (FILE *fp, struct line **linep, int which)
+@@ -472,6 +707,11 @@ get_line (FILE *fp, struct line **linep, int which)
      }
    ++line_no[which - 1];
  
@@ -844,7 +2160,7 @@ index 98b461c..9990f38 100644
    xfields (line);
  
    if (prevline[which - 1])
-@@ -563,21 +803,28 @@ prfield (size_t n, struct line const *line)
+@@ -567,21 +807,28 @@ prfield (size_t n, struct line const *line)
  
  /* Output all the fields in line, other than the join field.  */
  
@@ -876,7 +2192,7 @@ index 98b461c..9990f38 100644
        prfield (i, line);
      }
  }
-@@ -588,7 +835,6 @@ static void
+@@ -592,7 +839,6 @@ static void
  prjoin (struct line const *line1, struct line const *line2)
  {
    const struct outlist *outlist;
@@ -884,7 +2200,7 @@ index 98b461c..9990f38 100644
    size_t field;
    struct line const *line;
  
-@@ -622,7 +868,7 @@ prjoin (struct line const *line1, struct line const *line2)
+@@ -626,7 +872,7 @@ prjoin (struct line const *line1, struct line const *line2)
            o = o->next;
            if (o == NULL)
              break;
@@ -893,7 +2209,7 @@ index 98b461c..9990f38 100644
          }
        putchar (eolchar);
      }
-@@ -1099,20 +1345,43 @@ main (int argc, char **argv)
+@@ -1102,20 +1348,43 @@ main (int argc, char **argv)
  
          case 't':
            {
@@ -946,8 +2262,23 @@ index 98b461c..9990f38 100644
            }
            break;
  
+diff --git a/src/local.mk b/src/local.mk
+index e1d15ce..1a5ffaa 100644
+--- a/src/local.mk
++++ b/src/local.mk
+@@ -434,8 +434,8 @@ src_base32_CPPFLAGS = -DBASE_TYPE=32 $(AM_CPPFLAGS)
+ src_basenc_SOURCES = src/basenc.c
+ src_basenc_CPPFLAGS = -DBASE_TYPE=42 $(AM_CPPFLAGS)
+-src_expand_SOURCES = src/expand.c src/expand-common.c
+-src_unexpand_SOURCES = src/unexpand.c src/expand-common.c
++src_expand_SOURCES = src/expand.c src/expand-common.c lib/mbfile.c
++src_unexpand_SOURCES = src/unexpand.c src/expand-common.c lib/mbfile.c
+ src_wc_SOURCES = src/wc.c
+ if USE_AVX2_WC_LINECOUNT
 diff --git a/src/pr.c b/src/pr.c
-index 26f221f..633f50e 100644
+index 4c17c00..b4fab1c 100644
 --- a/src/pr.c
 +++ b/src/pr.c
 @@ -311,6 +311,24 @@
@@ -975,8 +2306,8 @@ index 26f221f..633f50e 100644
  #include "system.h"
  #include "die.h"
  #include "error.h"
-@@ -324,6 +342,18 @@
- #include "xstrtol.h"
+@@ -325,6 +343,18 @@
+ #include "xstrtol-error.h"
  #include "xdectoint.h"
  
 +/* Some systems, like BeOS, have multibyte encodings but lack mbstate_t.  */
@@ -994,7 +2325,7 @@ index 26f221f..633f50e 100644
  /* The official name of this program (e.g., no 'g' prefix).  */
  #define PROGRAM_NAME "pr"
  
-@@ -416,7 +446,20 @@ struct COLUMN
+@@ -417,7 +447,20 @@ struct COLUMN
  
  typedef struct COLUMN COLUMN;
  
@@ -1016,23 +2347,23 @@ index 26f221f..633f50e 100644
  static bool read_line (COLUMN *p);
  static bool print_page (void);
  static bool print_stored (COLUMN *p);
-@@ -428,6 +471,7 @@ static void add_line_number (COLUMN *p);
- static void getoptnum (const char *n_str, int min, int *num,
-                        const char *errfmt);
+@@ -429,6 +472,7 @@ static void add_line_number (COLUMN *p);
+ static void getoptnum (char const *n_str, int min, int *num,
+                        char const *errfmt);
  static void getoptarg (char *arg, char switch_char, char *character,
 +                       int *character_length, int *character_width,
                         int *number);
  static void print_files (int number_of_files, char **av);
  static void init_parameters (int number_of_files);
-@@ -441,7 +485,6 @@ static void store_char (char c);
+@@ -442,7 +486,6 @@ static void store_char (char c);
  static void pad_down (unsigned int lines);
  static void read_rest_of_line (COLUMN *p);
  static void skip_read (COLUMN *p, int column_number);
 -static void print_char (char c);
  static void cleanup (void);
  static void print_sep_string (void);
- static void separator_string (const char *optarg_S);
-@@ -453,7 +496,7 @@ static COLUMN *column_vector;
+ static void separator_string (char const *optarg_S);
+@@ -454,7 +497,7 @@ static COLUMN *column_vector;
     we store the leftmost columns contiguously in buff.
     To print a line from buff, get the index of the first character
     from line_vector[i], and print up to line_vector[i + 1]. */
@@ -1041,7 +2372,7 @@ index 26f221f..633f50e 100644
  
  /* Index of the position in buff where the next character
     will be stored. */
-@@ -557,7 +600,7 @@ static int chars_per_column;
+@@ -558,7 +601,7 @@ static int chars_per_column;
  static bool untabify_input = false;
  
  /* (-e) The input tab character. */
@@ -1050,7 +2381,7 @@ index 26f221f..633f50e 100644
  
  /* (-e) Tabstops are at chars_per_tab, 2*chars_per_tab, 3*chars_per_tab, ...
     where the leftmost column is 1. */
-@@ -567,7 +610,10 @@ static int chars_per_input_tab = 8;
+@@ -568,7 +611,10 @@ static int chars_per_input_tab = 8;
  static bool tabify_output = false;
  
  /* (-i) The output tab character. */
@@ -1062,7 +2393,7 @@ index 26f221f..633f50e 100644
  
  /* (-i) The width of the output tab. */
  static int chars_per_output_tab = 8;
-@@ -637,7 +683,13 @@ static int line_number;
+@@ -638,7 +684,13 @@ static int line_number;
  static bool numbered_lines = false;
  
  /* (-n) Character which follows each line number. */
@@ -1077,7 +2408,7 @@ index 26f221f..633f50e 100644
  
  /* (-n) line counting starts with 1st line of input file (not with 1st
     line of 1st page printed). */
-@@ -690,6 +742,7 @@ static bool use_col_separator = false;
+@@ -691,6 +743,7 @@ static bool use_col_separator = false;
     -a|COLUMN|-m is a 'space' and with the -J option a 'tab'. */
  static char const *col_sep_string = "";
  static int col_sep_length = 0;
@@ -1085,7 +2416,7 @@ index 26f221f..633f50e 100644
  static char *column_separator = (char *) " ";
  static char *line_separator = (char *) "\t";
  
-@@ -851,6 +904,13 @@ separator_string (const char *optarg_S)
+@@ -853,6 +906,13 @@ separator_string (char const *optarg_S)
      integer_overflow ();
    col_sep_length = len;
    col_sep_string = optarg_S;
@@ -1099,7 +2430,7 @@ index 26f221f..633f50e 100644
  }
  
  int
-@@ -875,6 +935,21 @@ main (int argc, char **argv)
+@@ -877,6 +937,21 @@ main (int argc, char **argv)
  
    atexit (close_stdout);
  
@@ -1121,7 +2452,7 @@ index 26f221f..633f50e 100644
    n_files = 0;
    file_names = (argc > 1
                  ? xnmalloc (argc - 1, sizeof (char *))
-@@ -951,8 +1026,12 @@ main (int argc, char **argv)
+@@ -953,8 +1028,12 @@ main (int argc, char **argv)
            break;
          case 'e':
            if (optarg)
@@ -1136,7 +2467,7 @@ index 26f221f..633f50e 100644
            /* Could check tab width > 0. */
            untabify_input = true;
            break;
-@@ -965,8 +1044,12 @@ main (int argc, char **argv)
+@@ -967,8 +1046,12 @@ main (int argc, char **argv)
            break;
          case 'i':
            if (optarg)
@@ -1151,7 +2482,7 @@ index 26f221f..633f50e 100644
            /* Could check tab width > 0. */
            tabify_output = true;
            break;
-@@ -984,8 +1067,8 @@ main (int argc, char **argv)
+@@ -986,8 +1069,8 @@ main (int argc, char **argv)
          case 'n':
            numbered_lines = true;
            if (optarg)
@@ -1162,7 +2493,7 @@ index 26f221f..633f50e 100644
            break;
          case 'N':
            skip_count = false;
-@@ -1010,6 +1093,7 @@ main (int argc, char **argv)
+@@ -1012,6 +1095,7 @@ main (int argc, char **argv)
            /* Reset an additional input of -s, -S dominates -s */
            col_sep_string = "";
            col_sep_length = 0;
@@ -1170,7 +2501,7 @@ index 26f221f..633f50e 100644
            use_col_separator = true;
            if (optarg)
              separator_string (optarg);
-@@ -1165,10 +1249,45 @@ getoptnum (const char *n_str, int min, int *num, const char *err)
+@@ -1166,10 +1250,45 @@ getoptnum (char const *n_str, int min, int *num, char const *err)
     a number. */
  
  static void
@@ -1218,7 +2549,7 @@ index 26f221f..633f50e 100644
    if (*arg)
      {
        long int tmp_long;
-@@ -1190,6 +1309,11 @@ static void
+@@ -1191,6 +1310,11 @@ static void
  init_parameters (int number_of_files)
  {
    int chars_used_by_number = 0;
@@ -1230,7 +2561,7 @@ index 26f221f..633f50e 100644
  
    lines_per_body = lines_per_page - lines_per_header - lines_per_footer;
    if (lines_per_body <= 0)
-@@ -1227,7 +1351,7 @@ init_parameters (int number_of_files)
+@@ -1228,7 +1352,7 @@ init_parameters (int number_of_files)
            else
              col_sep_string = column_separator;
  
@@ -1239,7 +2570,7 @@ index 26f221f..633f50e 100644
            use_col_separator = true;
          }
        /* It's rather pointless to define a TAB separator with column
-@@ -1257,11 +1381,11 @@ init_parameters (int number_of_files)
+@@ -1260,11 +1384,11 @@ init_parameters (int number_of_files)
               + TAB_WIDTH (chars_per_input_tab, chars_per_number);   */
  
        /* Estimate chars_per_text without any margin and keep it constant. */
@@ -1253,7 +2584,7 @@ index 26f221f..633f50e 100644
  
        /* The number is part of the column width unless we are
           printing files in parallel. */
-@@ -1270,7 +1394,7 @@ init_parameters (int number_of_files)
+@@ -1273,7 +1397,7 @@ init_parameters (int number_of_files)
      }
  
    int sep_chars, useful_chars;
@@ -1262,7 +2593,7 @@ index 26f221f..633f50e 100644
      sep_chars = INT_MAX;
    if (INT_SUBTRACT_WRAPV (chars_per_line - chars_used_by_number, sep_chars,
                            &useful_chars))
-@@ -1293,7 +1417,7 @@ init_parameters (int number_of_files)
+@@ -1296,7 +1420,7 @@ init_parameters (int number_of_files)
       We've to use 8 as the lower limit, if we use chars_per_default_tab = 8
       to expand a tab which is not an input_tab-char. */
    free (clump_buff);
@@ -1271,7 +2602,7 @@ index 26f221f..633f50e 100644
  }
  
  /* Open the necessary files,
-@@ -1399,7 +1523,7 @@ init_funcs (void)
+@@ -1402,7 +1526,7 @@ init_funcs (void)
  
    /* Enlarge p->start_position of first column to use the same form of
       padding_not_printed with all columns. */
@@ -1280,7 +2611,7 @@ index 26f221f..633f50e 100644
  
    /* This loop takes care of all but the rightmost column. */
  
-@@ -1433,7 +1557,7 @@ init_funcs (void)
+@@ -1436,7 +1560,7 @@ init_funcs (void)
          }
        else
          {
@@ -1289,7 +2620,7 @@ index 26f221f..633f50e 100644
            h_next = h + chars_per_column;
          }
      }
-@@ -1724,9 +1848,9 @@ static void
+@@ -1733,9 +1857,9 @@ static void
  align_column (COLUMN *p)
  {
    padding_not_printed = p->start_position;
@@ -1301,7 +2632,7 @@ index 26f221f..633f50e 100644
        padding_not_printed = ANYWHERE;
      }
  
-@@ -2001,13 +2125,13 @@ store_char (char c)
+@@ -2010,13 +2134,13 @@ store_char (char c)
        /* May be too generous. */
        buff = X2REALLOC (buff, &buff_allocated);
      }
@@ -1317,7 +2648,7 @@ index 26f221f..633f50e 100644
    char *s;
    int num_width;
  
-@@ -2024,22 +2148,24 @@ add_line_number (COLUMN *p)
+@@ -2033,22 +2157,24 @@ add_line_number (COLUMN *p)
        /* Tabification is assumed for multiple columns, also for n-separators,
           but 'default n-separator = TAB' hasn't been given priority over
           equal column_width also specified by POSIX. */
@@ -1346,7 +2677,7 @@ index 26f221f..633f50e 100644
          output_position = POS_AFTER_TAB (chars_per_output_tab,
                            output_position);
      }
-@@ -2198,7 +2324,7 @@ print_white_space (void)
+@@ -2207,7 +2333,7 @@ print_white_space (void)
    while (goal - h_old > 1
           && (h_new = POS_AFTER_TAB (chars_per_output_tab, h_old)) <= goal)
      {
@@ -1355,7 +2686,7 @@ index 26f221f..633f50e 100644
        h_old = h_new;
      }
    while (++h_old <= goal)
-@@ -2218,6 +2344,7 @@ print_sep_string (void)
+@@ -2227,6 +2353,7 @@ print_sep_string (void)
  {
    char const *s = col_sep_string;
    int l = col_sep_length;
@@ -1363,7 +2694,7 @@ index 26f221f..633f50e 100644
  
    if (separators_not_printed <= 0)
      {
-@@ -2229,6 +2356,7 @@ print_sep_string (void)
+@@ -2238,6 +2365,7 @@ print_sep_string (void)
      {
        for (; separators_not_printed > 0; --separators_not_printed)
          {
@@ -1371,7 +2702,7 @@ index 26f221f..633f50e 100644
            while (l-- > 0)
              {
                /* 3 types of sep_strings: spaces only, spaces and chars,
-@@ -2242,12 +2370,15 @@ print_sep_string (void)
+@@ -2251,12 +2379,15 @@ print_sep_string (void)
                  }
                else
                  {
@@ -1388,7 +2719,7 @@ index 26f221f..633f50e 100644
            /* sep_string ends with some spaces */
            if (spaces_not_printed > 0)
              print_white_space ();
-@@ -2275,7 +2406,7 @@ print_clump (COLUMN *p, int n, char *clump)
+@@ -2284,7 +2415,7 @@ print_clump (COLUMN *p, int n, char *clump)
     required number of tabs and spaces. */
  
  static void
@@ -1397,7 +2728,7 @@ index 26f221f..633f50e 100644
  {
    if (tabify_output)
      {
-@@ -2299,6 +2430,74 @@ print_char (char c)
+@@ -2308,6 +2439,74 @@ print_char (char c)
    putchar (c);
  }
  
@@ -1472,7 +2803,7 @@ index 26f221f..633f50e 100644
  /* Skip to page PAGE before printing.
     PAGE may be larger than total number of pages. */
  
-@@ -2476,9 +2675,9 @@ read_line (COLUMN *p)
+@@ -2485,9 +2684,9 @@ read_line (COLUMN *p)
            align_empty_cols = false;
          }
  
@@ -1484,7 +2815,7 @@ index 26f221f..633f50e 100644
            padding_not_printed = ANYWHERE;
          }
  
-@@ -2547,7 +2746,7 @@ print_stored (COLUMN *p)
+@@ -2556,7 +2755,7 @@ print_stored (COLUMN *p)
    COLUMN *q;
  
    int line = p->current_line++;
@@ -1493,7 +2824,7 @@ index 26f221f..633f50e 100644
    /* FIXME
       UMR: Uninitialized memory read:
       * This is occurring while in:
-@@ -2559,7 +2758,7 @@ print_stored (COLUMN *p)
+@@ -2568,7 +2767,7 @@ print_stored (COLUMN *p)
       xmalloc        [xmalloc.c:94]
       init_store_cols [pr.c:1648]
       */
@@ -1502,7 +2833,7 @@ index 26f221f..633f50e 100644
  
    pad_vertically = true;
  
-@@ -2579,9 +2778,9 @@ print_stored (COLUMN *p)
+@@ -2588,9 +2787,9 @@ print_stored (COLUMN *p)
          }
      }
  
@@ -1514,7 +2845,7 @@ index 26f221f..633f50e 100644
        padding_not_printed = ANYWHERE;
      }
  
-@@ -2594,8 +2793,8 @@ print_stored (COLUMN *p)
+@@ -2603,8 +2802,8 @@ print_stored (COLUMN *p)
    if (spaces_not_printed == 0)
      {
        output_position = p->start_position + end_vector[line];
@@ -1525,7 +2856,7 @@ index 26f221f..633f50e 100644
      }
  
    return true;
-@@ -2614,7 +2813,7 @@ print_stored (COLUMN *p)
+@@ -2623,7 +2822,7 @@ print_stored (COLUMN *p)
     number of characters is 1.) */
  
  static int
@@ -1534,7 +2865,7 @@ index 26f221f..633f50e 100644
  {
    unsigned char uc = c;
    char *s = clump_buff;
-@@ -2624,10 +2823,10 @@ char_to_clump (char c)
+@@ -2633,10 +2832,10 @@ char_to_clump (char c)
    int chars;
    int chars_per_c = 8;
  
@@ -1547,7 +2878,7 @@ index 26f221f..633f50e 100644
      {
        width = TAB_WIDTH (chars_per_c, input_position);
  
-@@ -2708,6 +2907,164 @@ char_to_clump (char c)
+@@ -2717,6 +2916,164 @@ char_to_clump (char c)
    return chars;
  }
  
@@ -1713,7 +3044,7 @@ index 26f221f..633f50e 100644
     looking for more options and printing the next batch of files.
  
 diff --git a/src/sort.c b/src/sort.c
-index 6d2eec5..f189a0d 100644
+index 3b775d6..a0ba243 100644
 --- a/src/sort.c
 +++ b/src/sort.c
 @@ -29,6 +29,14 @@
@@ -1731,9 +3062,9 @@ index 6d2eec5..f189a0d 100644
  #include "system.h"
  #include "argmatch.h"
  #include "die.h"
-@@ -161,14 +169,39 @@ static int decimal_point;
- /* Thousands separator; if -1, then there isn't one.  */
- static int thousands_sep;
+@@ -159,14 +167,39 @@ static int thousands_sep;
+ /* We currently ignore multi-byte grouping chars.  */
+ static bool thousands_sep_ignored;
  
 +/* True if -f is specified.  */
 +static bool folding;
@@ -1772,9 +3103,9 @@ index 6d2eec5..f189a0d 100644
  /* The kind of blanks for '-b' to skip in various options. */
  enum blanktype { bl_start, bl_end, bl_both };
  
-@@ -342,13 +375,11 @@ static bool reverse;
   they were read if all keys compare equal.  */
static bool stable;
+@@ -343,13 +376,11 @@ static bool stable;
/* An int value outside char range.  */
enum { NON_CHAR = CHAR_MAX + 1 };
  
 -/* If TAB has this value, blanks separate fields.  */
 -enum { TAB_DEFAULT = CHAR_MAX + 1 };
@@ -1789,7 +3120,7 @@ index 6d2eec5..f189a0d 100644
  
  /* Flag to remove consecutive duplicate lines from the output.
     Only the last of a sequence of equal lines will be output. */
-@@ -806,6 +837,46 @@ reap_all (void)
+@@ -805,6 +836,46 @@ reap_all (void)
      reap (-1);
  }
  
@@ -1836,7 +3167,7 @@ index 6d2eec5..f189a0d 100644
  /* Clean up any remaining temporary files.  */
  
  static void
-@@ -1274,7 +1345,7 @@ zaptemp (char const *name)
+@@ -1272,7 +1343,7 @@ zaptemp (char const *name)
    free (node);
  }
  
@@ -1845,7 +3176,7 @@ index 6d2eec5..f189a0d 100644
  
  static int
  struct_month_cmp (void const *m1, void const *m2)
-@@ -1289,7 +1360,7 @@ struct_month_cmp (void const *m1, void const *m2)
+@@ -1287,7 +1358,7 @@ struct_month_cmp (void const *m1, void const *m2)
  /* Initialize the character class tables. */
  
  static void
@@ -1854,7 +3185,7 @@ index 6d2eec5..f189a0d 100644
  {
    size_t i;
  
-@@ -1301,7 +1372,7 @@ inittables (void)
+@@ -1299,7 +1370,7 @@ inittables (void)
        fold_toupper[i] = toupper (i);
      }
  
@@ -1863,7 +3194,7 @@ index 6d2eec5..f189a0d 100644
    /* If we're not in the "C" locale, read different names for months.  */
    if (hard_LC_TIME)
      {
-@@ -1383,6 +1454,84 @@ specify_nmerge (int oi, char c, char const *s)
+@@ -1381,6 +1452,84 @@ specify_nmerge (int oi, char c, char const *s)
      xstrtol_fatal (e, oi, c, long_options, s);
  }
  
@@ -1948,7 +3279,7 @@ index 6d2eec5..f189a0d 100644
  /* Specify the amount of main memory to use when sorting.  */
  static void
  specify_sort_size (int oi, char c, char const *s)
-@@ -1614,7 +1763,7 @@ buffer_linelim (struct buffer const *buf)
+@@ -1612,7 +1761,7 @@ buffer_linelim (struct buffer const *buf)
     by KEY in LINE. */
  
  static char *
@@ -1957,7 +3288,7 @@ index 6d2eec5..f189a0d 100644
  {
    char *ptr = line->text, *lim = ptr + line->length - 1;
    size_t sword = key->sword;
-@@ -1623,10 +1772,10 @@ begfield (struct line const *line, struct keyfield const *key)
+@@ -1621,10 +1770,10 @@ begfield (struct line const *line, struct keyfield const *key)
    /* The leading field separator itself is included in a field when -t
       is absent.  */
  
@@ -1970,7 +3301,7 @@ index 6d2eec5..f189a0d 100644
            ++ptr;
          if (ptr < lim)
            ++ptr;
-@@ -1652,11 +1801,70 @@ begfield (struct line const *line, struct keyfield const *key)
+@@ -1650,12 +1799,71 @@ begfield (struct line const *line, struct keyfield const *key)
    return ptr;
  }
  
@@ -2036,13 +3367,14 @@ index 6d2eec5..f189a0d 100644
  /* Return the limit of (a pointer to the first character after) the field
     in LINE specified by KEY. */
  
+ ATTRIBUTE_PURE
  static char *
 -limfield (struct line const *line, struct keyfield const *key)
-+limfield_uni (const struct line *line, const struct keyfield *key)
++limfield_uni (struct line const *line, struct keyfield const *key)
  {
    char *ptr = line->text, *lim = ptr + line->length - 1;
    size_t eword = key->eword, echar = key->echar;
-@@ -1671,10 +1879,10 @@ limfield (struct line const *line, struct keyfield const *key)
+@@ -1670,10 +1878,10 @@ limfield (struct line const *line, struct keyfield const *key)
       'beginning' is the first character following the delimiting TAB.
       Otherwise, leave PTR pointing at the first 'blank' character after
       the preceding field.  */
@@ -2055,7 +3387,7 @@ index 6d2eec5..f189a0d 100644
            ++ptr;
          if (ptr < lim && (eword || echar))
            ++ptr;
-@@ -1720,10 +1928,10 @@ limfield (struct line const *line, struct keyfield const *key)
+@@ -1719,10 +1927,10 @@ limfield (struct line const *line, struct keyfield const *key)
       */
  
    /* Make LIM point to the end of (one byte past) the current field.  */
@@ -2068,12 +3400,12 @@ index 6d2eec5..f189a0d 100644
        if (newlim)
          lim = newlim;
      }
-@@ -1754,6 +1962,130 @@ limfield (struct line const *line, struct keyfield const *key)
+@@ -1753,6 +1961,130 @@ limfield (struct line const *line, struct keyfield const *key)
    return ptr;
  }
  
 +#if HAVE_MBRTOWC
-+static char *
++static char * _GL_ATTRIBUTE_PURE
 +limfield_mb (const struct line *line, const struct keyfield *key)
 +{
 +  char *ptr = line->text, *lim = ptr + line->length - 1;
@@ -2199,7 +3531,7 @@ index 6d2eec5..f189a0d 100644
  /* Fill BUF reading from FP, moving buf->left bytes from the end
     of buf->buf to the beginning first.  If EOF is reached and the
     file wasn't terminated by a newline, supply one.  Set up BUF's line
-@@ -1840,8 +2172,22 @@ fillbuf (struct buffer *buf, FILE *fp, char const *file)
+@@ -1839,8 +2171,22 @@ fillbuf (struct buffer *buf, FILE *fp, char const *file)
                    else
                      {
                        if (key->skipsblanks)
@@ -2224,16 +3556,32 @@ index 6d2eec5..f189a0d 100644
                        line->keybeg = line_start;
                      }
                  }
-@@ -1991,7 +2337,7 @@ human_numcompare (char const *a, char const *b)
-    hideously fast. */
+@@ -1976,12 +2322,10 @@ find_unit_order (char const *number)
  
+ ATTRIBUTE_PURE
+ static int
+-human_numcompare (char const *a, char const *b)
++human_numcompare (char *a, char *b)
+ {
+-  while (blanks[to_uchar (*a)])
+-    a++;
+-  while (blanks[to_uchar (*b)])
+-    b++;
++  skipblanks(&a, a + strlen(a));
++  skipblanks(&b, b + strlen(b));
+   int diff = find_unit_order (a) - find_unit_order (b);
+   return (diff ? diff : strnumcmp (a, b, decimal_point, thousands_sep));
+@@ -1993,7 +2337,7 @@ human_numcompare (char const *a, char const *b)
+ ATTRIBUTE_PURE
  static int
 -numcompare (char const *a, char const *b)
 +numcompare_uni (const char *a, const char *b)
  {
    while (blanks[to_uchar (*a)])
      a++;
-@@ -2001,6 +2347,25 @@ numcompare (char const *a, char const *b)
+@@ -2003,6 +2347,25 @@ numcompare (char const *a, char const *b)
    return strnumcmp (a, b, decimal_point, thousands_sep);
  }
  
@@ -2259,7 +3607,7 @@ index 6d2eec5..f189a0d 100644
  /* Work around a problem whereby the long double value returned by glibc's
     strtold ("NaN", ...) contains uninitialized bits: clear all bytes of
     A and B before calling strtold.  FIXME: remove this function if
-@@ -2051,7 +2416,7 @@ general_numcompare (char const *sa, char const *sb)
+@@ -2053,7 +2416,7 @@ general_numcompare (char const *sa, char const *sb)
     Return 0 if the name in S is not recognized.  */
  
  static int
@@ -2268,7 +3616,7 @@ index 6d2eec5..f189a0d 100644
  {
    size_t lo = 0;
    size_t hi = MONTHS_PER_YEAR;
-@@ -2327,15 +2692,14 @@ debug_key (struct line const *line, struct keyfield const *key)
+@@ -2329,15 +2692,14 @@ debug_key (struct line const *line, struct keyfield const *key)
            char saved = *lim;
            *lim = '\0';
  
@@ -2286,7 +3634,7 @@ index 6d2eec5..f189a0d 100644
            else if (key->general_numeric)
              ignore_value (strtold (beg, &tighter_lim));
            else if (key->numeric || key->human_numeric)
-@@ -2469,7 +2833,7 @@ key_warnings (struct keyfield const *gkey, bool gkey_only)
+@@ -2483,7 +2845,7 @@ key_warnings (struct keyfield const *gkey, bool gkey_only)
        /* Warn about significant leading blanks.  */
        bool implicit_skip = key_numeric (key) || key->month;
        bool line_offset = key->eword == 0 && key->echar != 0; /* -k1.x,1.y  */
@@ -2295,7 +3643,66 @@ index 6d2eec5..f189a0d 100644
            && ((!key->skipsblanks && !implicit_skip)
                || (!key->skipsblanks && key->schar)
                || (!key->skipeblanks && key->echar)))
-@@ -2527,11 +2891,87 @@ key_warnings (struct keyfield const *gkey, bool gkey_only)
+@@ -2531,9 +2893,9 @@ key_warnings (struct keyfield const *gkey, bool gkey_only)
+   bool number_locale_warned = false;
+   if (basic_numeric_field_span)
+     {
+-      if (tab == TAB_DEFAULT
+-          ? thousands_sep != NON_CHAR && (isblank (to_uchar (thousands_sep)))
+-          : tab == thousands_sep)
++      if (tab_length
++          ? tab[0] == thousands_sep
++          : thousands_sep != NON_CHAR && (isblank (to_uchar (thousands_sep))))
+         {
+           error (0, 0,
+                  _("field separator %s is treated as a "
+@@ -2544,9 +2906,9 @@ key_warnings (struct keyfield const *gkey, bool gkey_only)
+     }
+   if (basic_numeric_field_span || general_numeric_field_span)
+     {
+-      if (tab == TAB_DEFAULT
+-          ? thousands_sep != NON_CHAR && (isblank (to_uchar (decimal_point)))
+-          : tab == decimal_point)
++      if (tab_length
++          ? tab[0] == decimal_point
++          : thousands_sep != NON_CHAR && (isblank (to_uchar (decimal_point))))
+         {
+           error (0, 0,
+                  _("field separator %s is treated as a "
+@@ -2554,19 +2916,19 @@ key_warnings (struct keyfield const *gkey, bool gkey_only)
+                  quote (((char []) {decimal_point, 0})));
+           number_locale_warned = true;
+         }
+-      else if (tab == '-')
++      else if (tab_length && tab[0] == '-')
+         {
+           error (0, 0,
+                  _("field separator %s is treated as a "
+                    "minus sign in numbers"),
+-                 quote (((char []) {tab, 0})));
++                 quote (((char []) {tab[0], 0})));
+         }
+-      else if (general_numeric_field_span && tab == '+')
++      else if (general_numeric_field_span && tab_length && tab[0] == '+')
+         {
+           error (0, 0,
+                  _("field separator %s is treated as a "
+                    "plus sign in numbers"),
+-                 quote (((char []) {tab, 0})));
++                 quote (((char []) {tab[0], 0})));
+         }
+     }
+@@ -2577,7 +2939,7 @@ key_warnings (struct keyfield const *gkey, bool gkey_only)
+     {
+       error (0, 0,
+              _("%snumbers use %s as a decimal point in this locale"),
+-             tab == decimal_point ? "" : _("note "),
++             (tab_length && tab[0] == decimal_point) ? "" : _("note "),
+              quote (((char []) {decimal_point, 0})));
+     }
+@@ -2610,11 +2972,87 @@ key_warnings (struct keyfield const *gkey, bool gkey_only)
      error (0, 0, _("option '-r' only applies to last-resort comparison"));
  }
  
@@ -2384,7 +3791,7 @@ index 6d2eec5..f189a0d 100644
  {
    struct keyfield *key = keylist;
  
-@@ -2616,7 +3056,7 @@ keycompare (struct line const *a, struct line const *b)
+@@ -2699,7 +3137,7 @@ keycompare (struct line const *a, struct line const *b)
            else if (key->human_numeric)
              diff = human_numcompare (ta, tb);
            else if (key->month)
@@ -2393,7 +3800,7 @@ index 6d2eec5..f189a0d 100644
            else if (key->random)
              diff = compare_random (ta, tlena, tb, tlenb);
            else if (key->version)
-@@ -2732,6 +3172,211 @@ keycompare (struct line const *a, struct line const *b)
+@@ -2815,6 +3253,211 @@ keycompare (struct line const *a, struct line const *b)
    return key->reverse ? -diff : diff;
  }
  
@@ -2605,7 +4012,7 @@ index 6d2eec5..f189a0d 100644
  /* Compare two lines A and B, returning negative, zero, or positive
     depending on whether A compares less than, equal to, or greater than B. */
  
-@@ -2759,7 +3404,7 @@ compare (struct line const *a, struct line const *b)
+@@ -2842,7 +3485,7 @@ compare (struct line const *a, struct line const *b)
      diff = - NONZERO (blen);
    else if (blen == 0)
      diff = 1;
@@ -2614,7 +4021,7 @@ index 6d2eec5..f189a0d 100644
      {
        /* xmemcoll0 is a performance enhancement as
           it will not unconditionally write '\0' after the
-@@ -4149,6 +4794,7 @@ set_ordering (char const *s, struct keyfield *key, enum blanktype blanktype)
+@@ -4226,6 +4869,7 @@ set_ordering (char const *s, struct keyfield *key, enum blanktype blanktype)
            break;
          case 'f':
            key->translate = fold_toupper;
@@ -2622,7 +4029,7 @@ index 6d2eec5..f189a0d 100644
            break;
          case 'g':
            key->general_numeric = true;
-@@ -4228,7 +4874,7 @@ main (int argc, char **argv)
+@@ -4305,7 +4949,7 @@ main (int argc, char **argv)
    initialize_exit_failure (SORT_FAILURE);
  
    hard_LC_COLLATE = hard_locale (LC_COLLATE);
@@ -2631,8 +4038,8 @@ index 6d2eec5..f189a0d 100644
    hard_LC_TIME = hard_locale (LC_TIME);
  #endif
  
-@@ -4249,6 +4895,29 @@ main (int argc, char **argv)
-       thousands_sep = -1;
+@@ -4328,6 +4972,29 @@ main (int argc, char **argv)
+       thousands_sep = NON_CHAR;
    }
  
 +#if HAVE_MBRTOWC
@@ -2661,7 +4068,7 @@ index 6d2eec5..f189a0d 100644
    have_read_stdin = false;
    inittables ();
  
-@@ -4523,13 +5192,34 @@ main (int argc, char **argv)
+@@ -4602,13 +5269,34 @@ main (int argc, char **argv)
  
          case 't':
            {
@@ -2700,7 +4107,7 @@ index 6d2eec5..f189a0d 100644
                  else
                    {
                      /* Provoke with 'sort -txx'.  Complain about
-@@ -4540,9 +5230,11 @@ main (int argc, char **argv)
+@@ -4619,9 +5307,11 @@ main (int argc, char **argv)
                           quote (optarg));
                    }
                }
@@ -2714,21 +4121,214 @@ index 6d2eec5..f189a0d 100644
            }
            break;
  
-@@ -4771,12 +5463,10 @@ main (int argc, char **argv)
-       sort (files, nfiles, outfile, nthreads);
-     }
+diff --git a/src/unexpand.c b/src/unexpand.c
+index 7d6100f..04cd646 100644
+--- a/src/unexpand.c
++++ b/src/unexpand.c
+@@ -38,6 +38,9 @@
+ #include <stdio.h>
+ #include <getopt.h>
+ #include <sys/types.h>
++
++#include <mbfile.h>
++
+ #include "system.h"
+ #include "die.h"
  
--#ifdef lint
-   if (files_from)
-     readtokens0_free (&tok);
-   else
-     free (files);
--#endif
+@@ -106,24 +109,47 @@ unexpand (void)
+ {
+   /* Input stream.  */
+   FILE *fp = next_file (NULL);
++  mb_file_t mbf;
+   /* The array of pending blanks.  In non-POSIX locales, blanks can
+      include characters other than spaces, so the blanks must be
+      stored, not merely counted.  */
+-  char *pending_blank;
++  mbf_char_t *pending_blank;
++  /* True if the starting locale is utf8.  */
++  bool using_utf_locale;
++
++  /* True if the first file contains BOM header.  */
++  bool found_bom;
++  using_utf_locale=check_utf_locale();
+   if (!fp)
+     return;
++  mbf_init (mbf, fp);
++  found_bom=check_bom(fp,&mbf);
++
++  if (using_utf_locale == false && found_bom == true)
++  {
++    /*try using some predefined locale */
++    if (set_utf_locale () != 0)
++    {
++      error (EXIT_FAILURE, errno, _("cannot set UTF-8 locale"));
++    }
++  }
+   /* The worst case is a non-blank character, then one blank, then a
+      tab stop, then MAX_COLUMN_WIDTH - 1 blanks, then a non-blank; so
+      allocate MAX_COLUMN_WIDTH bytes to store the blanks.  */
+-  pending_blank = xmalloc (max_column_width);
++  pending_blank = xmalloc (max_column_width * sizeof (mbf_char_t));
++
++  if (found_bom == true)
++  {
++    print_bom();
++  }
+   while (true)
+     {
+       /* Input character, or EOF.  */
+-      int c;
++      mbf_char_t c;
+       /* If true, perform translations.  */
+       bool convert = true;
+@@ -157,12 +183,44 @@ unexpand (void)
+       do
+         {
+-          while ((c = getc (fp)) < 0 && (fp = next_file (fp)))
+-            continue;
++          while (true) {
++            mbf_getc (c, mbf);
++            if ((mb_iseof (c)) && (fp = next_file (fp)))
++              {
++                mbf_init (mbf, fp);
++                if (fp!=NULL)
++                {
++                  if (check_bom(fp,&mbf)==true)
++                  {
++                    /*Not the first file - check BOM header*/
++                    if (using_utf_locale==false && found_bom==false)
++                    {
++                      /*BOM header in subsequent file but not in the first one. */
++                      error (EXIT_FAILURE, errno, _("combination of files with and without BOM header"));
++                    }
++                  }
++                  else
++                  {
++                    if(using_utf_locale==false && found_bom==true)
++                    {
++                      /*First file conatined BOM header - locale was switched to UTF
++                       *all subsequent files should contain BOM. */
++                      error (EXIT_FAILURE, errno, _("combination of files with and without BOM header"));
++                    }
++                  }
++                }
++                continue;
++              }
++            else
++              {
++                break;
++              }
++            }
++
+           if (convert)
+             {
+-              bool blank = !! isblank (c);
++              bool blank = mb_isblank (c);
+               if (blank)
+                 {
+@@ -179,16 +237,16 @@ unexpand (void)
+                       if (next_tab_column < column)
+                         die (EXIT_FAILURE, 0, _("input line is too long"));
+-                      if (c == '\t')
++                      if (mb_iseq (c, '\t'))
+                         {
+                           column = next_tab_column;
+                           if (pending)
+-                            pending_blank[0] = '\t';
++                            mb_setascii (&pending_blank[0], '\t');
+                         }
+                       else
+                         {
+-                          column++;
++                          column += mb_width (c);
+                           if (! (prev_blank && column == next_tab_column))
+                             {
+@@ -196,13 +254,14 @@ unexpand (void)
+                                  will be replaced by tabs.  */
+                               if (column == next_tab_column)
+                                 one_blank_before_tab_stop = true;
+-                              pending_blank[pending++] = c;
++                              mb_copy (&pending_blank[pending++], &c);
+                               prev_blank = true;
+                               continue;
+                             }
+                           /* Replace the pending blanks by a tab or two.  */
+-                          pending_blank[0] = c = '\t';
++                          mb_setascii (&c, '\t');
++                          mb_setascii (&pending_blank[0], '\t');
+                         }
+                       /* Discard pending blanks, unless it was a single
+@@ -210,7 +269,7 @@ unexpand (void)
+                       pending = one_blank_before_tab_stop;
+                     }
+                 }
+-              else if (c == '\b')
++              else if (mb_iseq (c, '\b'))
+                 {
+                   /* Go back one column, and force recalculation of the
+                      next tab stop.  */
+@@ -218,9 +277,9 @@ unexpand (void)
+                   next_tab_column = column;
+                   tab_index -= !!tab_index;
+                 }
+-              else
++              else if (!mb_iseq (c, '\n'))
+                 {
+-                  column++;
++                  column += mb_width (c);
+                   if (!column)
+                     die (EXIT_FAILURE, 0, _("input line is too long"));
+                 }
+@@ -228,8 +287,11 @@ unexpand (void)
+               if (pending)
+                 {
+                   if (pending > 1 && one_blank_before_tab_stop)
+-                    pending_blank[0] = '\t';
+-                  if (fwrite (pending_blank, 1, pending, stdout) != pending)
++                    mb_setascii (&pending_blank[0], '\t');
++
++                  for (int n = 0; n < pending; ++n)
++                    mb_putc (pending_blank[n], stdout);
++                  if (ferror (stdout))
+                     die (EXIT_FAILURE, errno, _("write error"));
+                   pending = 0;
+                   one_blank_before_tab_stop = false;
+@@ -239,16 +301,17 @@ unexpand (void)
+               convert &= convert_entire_line || blank;
+             }
+-          if (c < 0)
++          if (mb_iseof (c))
+             {
+               free (pending_blank);
+               return;
+             }
+-          if (putchar (c) < 0)
++          mb_putc (c, stdout);
++          if (ferror (stdout))
+             die (EXIT_FAILURE, errno, _("write error"));
+         }
+-      while (c != '\n');
++      while (!mb_iseq (c, '\n'));
+     }
+ }
  
-   if (have_read_stdin && fclose (stdin) == EOF)
-     sort_die (_("close failed"), "-");
 diff --git a/src/uniq.c b/src/uniq.c
-index 87a0c93..9f755d9 100644
+index e5996f0..871d47c 100644
 --- a/src/uniq.c
 +++ b/src/uniq.c
 @@ -21,6 +21,17 @@
@@ -2749,12 +4349,8 @@ index 87a0c93..9f755d9 100644
  #include "system.h"
  #include "argmatch.h"
  #include "linebuffer.h"
-@@ -32,9 +43,21 @@
- #include "stdio--.h"
- #include "xmemcoll.h"
- #include "xstrtol.h"
--#include "memcasecmp.h"
-+#include "xmemcoll.h"
+@@ -33,6 +44,18 @@
+ #include "memcasecmp.h"
  #include "quote.h"
  
 +/* MB_LEN_MAX is incorrectly defined to be 1 in at least one GCC
@@ -2772,7 +4368,7 @@ index 87a0c93..9f755d9 100644
  /* The official name of this program (e.g., no 'g' prefix).  */
  #define PROGRAM_NAME "uniq"
  
-@@ -144,6 +167,10 @@ enum
+@@ -139,6 +162,10 @@ enum
    GROUP_OPTION = CHAR_MAX + 1
  };
  
@@ -2783,16 +4379,16 @@ index 87a0c93..9f755d9 100644
  static struct option const longopts[] =
  {
    {"count", no_argument, NULL, 'c'},
-@@ -260,7 +287,7 @@ size_opt (char const *opt, char const *msgid)
-    return a pointer to the beginning of the line's field to be compared. */
+@@ -254,7 +281,7 @@ size_opt (char const *opt, char const *msgid)
  
- static char * _GL_ATTRIBUTE_PURE
+ ATTRIBUTE_PURE
+ static char *
 -find_field (struct linebuffer const *line)
 +find_field_uni (struct linebuffer *line)
  {
    size_t count;
    char const *lp = line->buffer;
-@@ -280,6 +307,83 @@ find_field (struct linebuffer const *line)
+@@ -274,6 +301,83 @@ find_field (struct linebuffer const *line)
    return line->buffer + i;
  }
  
@@ -2876,228 +4472,7 @@ index 87a0c93..9f755d9 100644
  /* Return false if two strings OLD and NEW match, true if not.
     OLD and NEW point not to the beginnings of the lines
     but rather to the beginnings of the fields to compare.
-@@ -288,6 +392,8 @@ find_field (struct linebuffer const *line)
- static bool
- different (char *old, char *new, size_t oldlen, size_t newlen)
- {
-+  char *copy_old, *copy_new;
-+
-   if (check_chars < oldlen)
-     oldlen = check_chars;
-   if (check_chars < newlen)
-@@ -295,15 +401,104 @@ different (char *old, char *new, size_t oldlen, size_t newlen)
-   if (ignore_case)
-     {
--      /* FIXME: This should invoke strcoll somehow.  */
--      return oldlen != newlen || memcasecmp (old, new, oldlen);
-+      size_t i;
-+
-+      copy_old = xmalloc (oldlen + 1);
-+      copy_new = xmalloc (oldlen + 1);
-+
-+      for (i = 0; i < oldlen; i++)
-+        {
-+          copy_old[i] = toupper (old[i]);
-+          copy_new[i] = toupper (new[i]);
-+        }
-+      bool rc = xmemcoll (copy_old, oldlen, copy_new, newlen);
-+      free (copy_old);
-+      free (copy_new);
-+      return rc;
-     }
--  else if (hard_LC_COLLATE)
--    return xmemcoll (old, oldlen, new, newlen) != 0;
-   else
--    return oldlen != newlen || memcmp (old, new, oldlen);
-+    {
-+      copy_old = (char *)old;
-+      copy_new = (char *)new;
-+    }
-+
-+  return xmemcoll (copy_old, oldlen, copy_new, newlen);
-+
- }
-+#if HAVE_MBRTOWC
-+static int
-+different_multi (const char *old, const char *new, size_t oldlen, size_t newlen, mbstate_t oldstate, mbstate_t newstate)
-+{
-+  size_t i, j, chars;
-+  const char *str[2];
-+  char *copy[2];
-+  size_t len[2];
-+  mbstate_t state[2];
-+  size_t mblength;
-+  wchar_t wc, uwc;
-+  mbstate_t state_bak;
-+
-+  str[0] = old;
-+  str[1] = new;
-+  len[0] = oldlen;
-+  len[1] = newlen;
-+  state[0] = oldstate;
-+  state[1] = newstate;
-+
-+  for (i = 0; i < 2; i++)
-+    {
-+      copy[i] = xmalloc (len[i] + 1);
-+      memset (copy[i], '\0', len[i] + 1);
-+
-+      for (j = 0, chars = 0; j < len[i] && chars < check_chars; chars++)
-+        {
-+          state_bak = state[i];
-+          mblength = mbrtowc (&wc, str[i] + j, len[i] - j, &(state[i]));
-+
-+          switch (mblength)
-+            {
-+            case (size_t)-1:
-+            case (size_t)-2:
-+              state[i] = state_bak;
-+              /* Fall through */
-+            case 0:
-+              mblength = 1;
-+              break;
-+
-+            default:
-+              if (ignore_case)
-+                {
-+                  uwc = towupper (wc);
-+
-+                  if (uwc != wc)
-+                    {
-+                      mbstate_t state_wc;
-+                      size_t mblen;
-+
-+                      memset (&state_wc, '\0', sizeof(mbstate_t));
-+                      mblen = wcrtomb (copy[i] + j, uwc, &state_wc);
-+                      assert (mblen != (size_t)-1);
-+                    }
-+                  else
-+                    memcpy (copy[i] + j, str[i] + j, mblength);
-+                }
-+              else
-+                memcpy (copy[i] + j, str[i] + j, mblength);
-+            }
-+          j += mblength;
-+        }
-+      copy[i][j] = '\0';
-+      len[i] = j;
-+    }
-+  int rc = xmemcoll (copy[0], len[0], copy[1], len[1]);
-+  free (copy[0]);
-+  free (copy[1]);
-+  return rc;
-+
-+}
-+#endif
-+
- /* Output the line in linebuffer LINE to standard output
-    provided that the switches say it should be output.
-    MATCH is true if the line matches the previous line.
-@@ -367,19 +562,38 @@ check_file (const char *infile, const char *outfile, char delimiter)
-       char *prevfield IF_LINT ( = NULL);
-       size_t prevlen IF_LINT ( = 0);
-       bool first_group_printed = false;
-+#if HAVE_MBRTOWC
-+      mbstate_t prevstate;
-+
-+      memset (&prevstate, '\0', sizeof (mbstate_t));
-+#endif
-       while (!feof (stdin))
-         {
-           char *thisfield;
-           size_t thislen;
-           bool new_group;
-+#if HAVE_MBRTOWC
-+          mbstate_t thisstate;
-+#endif
-           if (readlinebuffer_delim (thisline, stdin, delimiter) == 0)
-             break;
-           thisfield = find_field (thisline);
-           thislen = thisline->length - 1 - (thisfield - thisline->buffer);
-+#if HAVE_MBRTOWC
-+          if (MB_CUR_MAX > 1)
-+            {
-+              thisstate = thisline->state;
-+              new_group = (prevline->length == 0
-+                           || different_multi (thisfield, prevfield,
-+                                               thislen, prevlen,
-+                                               thisstate, prevstate));
-+            }
-+          else
-+#endif
-           new_group = (prevline->length == 0
-                        || different (thisfield, prevfield, thislen, prevlen));
-@@ -397,6 +611,10 @@ check_file (const char *infile, const char *outfile, char delimiter)
-               SWAP_LINES (prevline, thisline);
-               prevfield = thisfield;
-               prevlen = thislen;
-+#if HAVE_MBRTOWC
-+              if (MB_CUR_MAX > 1)
-+                prevstate = thisstate;
-+#endif
-               first_group_printed = true;
-             }
-         }
-@@ -409,17 +627,26 @@ check_file (const char *infile, const char *outfile, char delimiter)
-       size_t prevlen;
-       uintmax_t match_count = 0;
-       bool first_delimiter = true;
-+#if HAVE_MBRTOWC
-+      mbstate_t prevstate;
-+#endif
-       if (readlinebuffer_delim (prevline, stdin, delimiter) == 0)
-         goto closefiles;
-       prevfield = find_field (prevline);
-       prevlen = prevline->length - 1 - (prevfield - prevline->buffer);
-+#if HAVE_MBRTOWC
-+      prevstate = prevline->state;
-+#endif
-       while (!feof (stdin))
-         {
-           bool match;
-           char *thisfield;
-           size_t thislen;
-+#if HAVE_MBRTOWC
-+          mbstate_t thisstate = thisline->state;
-+#endif
-           if (readlinebuffer_delim (thisline, stdin, delimiter) == 0)
-             {
-               if (ferror (stdin))
-@@ -428,6 +655,14 @@ check_file (const char *infile, const char *outfile, char delimiter)
-             }
-           thisfield = find_field (thisline);
-           thislen = thisline->length - 1 - (thisfield - thisline->buffer);
-+#if HAVE_MBRTOWC
-+          if (MB_CUR_MAX > 1)
-+            {
-+              match = !different_multi (thisfield, prevfield,
-+                                thislen, prevlen, thisstate, prevstate);
-+            }
-+          else
-+#endif
-           match = !different (thisfield, prevfield, thislen, prevlen);
-           match_count += match;
-@@ -460,6 +695,9 @@ check_file (const char *infile, const char *outfile, char delimiter)
-               SWAP_LINES (prevline, thisline);
-               prevfield = thisfield;
-               prevlen = thislen;
-+#if HAVE_MBRTOWC
-+              prevstate = thisstate;
-+#endif
-               if (!match)
-                 match_count = 0;
-             }
-@@ -506,6 +744,19 @@ main (int argc, char **argv)
+@@ -494,6 +598,19 @@ main (int argc, char **argv)
  
    atexit (close_stdout);
  
@@ -3117,6 +4492,209 @@ index 87a0c93..9f755d9 100644
    skip_chars = 0;
    skip_fields = 0;
    check_chars = SIZE_MAX;
+diff --git a/tests/Coreutils.pm b/tests/Coreutils.pm
+index fad7ab9..c9021a6 100644
+--- a/tests/Coreutils.pm
++++ b/tests/Coreutils.pm
+@@ -264,6 +264,9 @@ sub run_tests ($$$$$)
+       # Yes, this is an arbitrary limit.  If it causes trouble,
+       # consider removing it.
+       my $max = 30;
++      # The downstream i18n multi-byte tests have a "-mb" suffix.
++      # Therefore add 3 to the maximum test name length.
++      $max += 3;
+       if ($max < length $test_name)
+         {
+           warn "$program_name: $test_name: test name is too long (> $max)\n";
+diff --git a/tests/expand/mb.sh b/tests/expand/mb.sh
+new file mode 100755
+index 0000000..dd6007c
+--- /dev/null
++++ b/tests/expand/mb.sh
+@@ -0,0 +1,183 @@
++#!/bin/sh
++
++# Copyright (C) 2012-2015 Free Software Foundation, Inc.
++
++# This program is free software: you can redistribute it and/or modify
++# it under the terms of the GNU General Public License as published by
++# the Free Software Foundation, either version 3 of the License, or
++# (at your option) any later version.
++
++# This program is distributed in the hope that it will be useful,
++# but WITHOUT ANY WARRANTY; without even the implied warranty of
++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++# GNU General Public License for more details.
++
++# You should have received a copy of the GNU General Public License
++# along with this program.  If not, see <http://www.gnu.org/licenses/>.
++
++. "${srcdir=.}/tests/init.sh"; path_prepend_ ./src
++print_ver_ expand
++
++export LC_ALL=en_US.UTF-8
++
++#input containing multibyte characters
++cat <<\EOF > in || framework_failure_
++1234567812345678123456781
++.       .       .       .
++a     b       c       d
++.       .       .       .
++ä    Ã¶      Ã¼      ÃŸ
++.       .       .       .
++EOF
++env printf '   Ã¤Ã¶Ã¼\t.    Ã¶Ã¼Ã¤.   \tä xx\n' >> in || framework_failure_
++
++cat <<\EOF > exp || framework_failure_
++1234567812345678123456781
++.       .       .       .
++a       b       c       d
++.       .       .       .
++ä       Ã¶       Ã¼       ÃŸ
++.       .       .       .
++   Ã¤Ã¶Ã¼  .    Ã¶Ã¼Ã¤.       Ã¤ xx
++EOF
++
++expand < in > out || fail=1
++compare exp out > /dev/null 2>&1 || fail=1
++
++#multiple files as an input
++cat <<\EOF >> exp || framework_failure_
++1234567812345678123456781
++.       .       .       .
++a       b       c       d
++.       .       .       .
++ä       Ã¶       Ã¼       ÃŸ
++.       .       .       .
++   Ã¤Ã¶Ã¼  .    Ã¶Ã¼Ã¤.       Ã¤ xx
++EOF
++
++expand ./in ./in > out || fail=1
++compare exp out > /dev/null 2>&1 || fail=1
++
++#test characters with display widths != 1
++env printf '12345678
++e\t|ascii(1)
++\u00E9\t|composed(1)
++e\u0301\t|decomposed(1)
++\u3000\t|ideo-space(2)
++\uFF0D\t|full-hypen(2)
++' > in || framework_failure_
++
++env printf '12345678
++e       |ascii(1)
++\u00E9       |composed(1)
++e\u0301       |decomposed(1)
++\u3000      |ideo-space(2)
++\uFF0D      |full-hypen(2)
++' > exp || framework_failure_
++
++expand < in > out || fail=1
++compare exp out > /dev/null 2>&1 || fail=1
++
++#shouldn't fail with "input line too long"
++#when a line starts with a control character
++env printf '\n' > in || framework_failure_
++
++expand < in > out || fail=1
++compare in out > /dev/null 2>&1 || fail=1
++
++#non-Unicode characters interspersed between Unicode ones
++env printf '12345678
++\t\xFF|
++\xFF\t|
++\t\xFFä|
++ä\xFF\t|
++\tä\xFF|
++\xFF\tä|
++äbcdef\xFF\t|
++' > in || framework_failure_
++
++env printf '12345678
++        \xFF|
++\xFF       |
++        \xFFä|
++ä\xFF      |
++        Ã¤\xFF|
++\xFF       Ã¤|
++äbcdef\xFF |
++' > exp || framework_failure_
++
++expand < in > out || fail=1
++compare exp out > /dev/null 2>&1 || fail=1
++
++
++
++#BOM header test 1
++printf "\xEF\xBB\xBF" > in; cat <<\EOF >> in || framework_failure_
++1234567812345678123456781
++.       .       .       .
++a     b       c       d
++.       .       .       .
++ä    Ã¶      Ã¼      ÃŸ
++.       .       .       .
++EOF
++env printf '   Ã¤Ã¶Ã¼\t.    Ã¶Ã¼Ã¤.   \tä xx\n' >> in || framework_failure_
++
++printf "\xEF\xBB\xBF" > exp; cat <<\EOF >> exp || framework_failure_
++1234567812345678123456781
++.       .       .       .
++a       b       c       d
++.       .       .       .
++ä       Ã¶       Ã¼       ÃŸ
++.       .       .       .
++   Ã¤Ã¶Ã¼  .    Ã¶Ã¼Ã¤.       Ã¤ xx
++EOF
++
++
++expand < in > out || fail=1
++compare exp out > /dev/null 2>&1 || fail=1
++
++LANG=C expand < in > out || fail=1
++compare exp out > /dev/null 2>&1 || fail=1
++
++LC_ALL=C expand < in > out || fail=1
++compare exp out > /dev/null 2>&1 || fail=1
++
++
++printf '\xEF\xBB\xBF' > in1; cat <<\EOF >> in1 || framework_failure_
++1234567812345678123456781
++.       .       .       .
++a     b       c       d
++.       .       .       .
++ä    Ã¶      Ã¼      ÃŸ
++.       .       .       .
++EOF
++env printf '   Ã¤Ã¶Ã¼\t.    Ã¶Ã¼Ã¤.   \tä xx\n' >> in1 || framework_failure_
++
++
++printf '\xEF\xBB\xBF' > exp; cat <<\EOF >> exp || framework_failure_
++1234567812345678123456781
++.       .       .       .
++a       b       c       d
++.       .       .       .
++ä       Ã¶       Ã¼       ÃŸ
++.       .       .       .
++   Ã¤Ã¶Ã¼  .    Ã¶Ã¼Ã¤.       Ã¤ xx
++1234567812345678123456781
++.       .       .       .
++a       b       c       d
++.       .       .       .
++ä       Ã¶       Ã¼       ÃŸ
++.       .       .       .
++   Ã¤Ã¶Ã¼  .    Ã¶Ã¼Ã¤.       Ã¤ xx
++EOF
++
++expand in1 in1 > out || fail=1
++compare exp out > /dev/null 2>&1 || fail=1
++
++LANG=C expand in1 in1  > out || fail=1
++compare exp out > /dev/null 2>&1 || fail=1
++
++LC_ALL=C expand in1 in1 > out || fail=1
++compare exp out > /dev/null 2>&1 || fail=1
++
++exit $fail
 diff --git a/tests/i18n/sort.sh b/tests/i18n/sort.sh
 new file mode 100755
 index 0000000..26c95de
@@ -3153,10 +4731,10 @@ index 0000000..26c95de
 +
 +Exit $fail
 diff --git a/tests/local.mk b/tests/local.mk
-index 568944e..192f776 100644
+index 0f77786..dbe1843 100644
 --- a/tests/local.mk
 +++ b/tests/local.mk
-@@ -368,6 +368,8 @@ all_tests =                                        \
+@@ -377,6 +377,8 @@ all_tests =                                        \
    tests/misc/sort-discrim.sh                  \
    tests/misc/sort-files0-from.pl              \
    tests/misc/sort-float.sh                    \
@@ -3165,8 +4743,24 @@ index 568944e..192f776 100644
    tests/misc/sort-h-thousands-sep.sh          \
    tests/misc/sort-merge.pl                    \
    tests/misc/sort-merge-fdlimit.sh            \
+@@ -576,6 +578,7 @@ all_tests =                                        \
+   tests/du/threshold.sh                               \
+   tests/du/trailing-slash.sh                  \
+   tests/du/two-args.sh                                \
++  tests/expand/mb.sh                          \
+   tests/id/gnu-zero-uids.sh                   \
+   tests/id/no-context.sh                      \
+   tests/id/context.sh                         \
+@@ -727,6 +730,7 @@ all_tests =                                        \
+   tests/touch/read-only.sh                    \
+   tests/touch/relative.sh                     \
+   tests/touch/trailing-slash.sh                       \
++  tests/unexpand/mb.sh                                \
+   $(all_root_tests)
+ # See tests/factor/create-test.sh.
 diff --git a/tests/misc/expand.pl b/tests/misc/expand.pl
-index 8a9cad1..9293e39 100755
+index 7a77e6f..27f6652 100755
 --- a/tests/misc/expand.pl
 +++ b/tests/misc/expand.pl
 @@ -27,6 +27,15 @@ my $prog = 'expand';
@@ -3233,7 +4827,7 @@ index 8a9cad1..9293e39 100755
  my $verbose = $ENV{VERBOSE};
  
 diff --git a/tests/misc/fold.pl b/tests/misc/fold.pl
-index 7b192b4..76f073f 100755
+index 2834f92..bc1616a 100755
 --- a/tests/misc/fold.pl
 +++ b/tests/misc/fold.pl
 @@ -20,9 +20,18 @@ use strict;
@@ -3306,7 +4900,7 @@ index 7b192b4..76f073f 100755
  my $fail = run_tests ($program_name, $prog, \@Tests, $save_temps, $verbose);
  exit $fail;
 diff --git a/tests/misc/join.pl b/tests/misc/join.pl
-index 4d399d8..07f2823 100755
+index 06ad777..be40204 100755
 --- a/tests/misc/join.pl
 +++ b/tests/misc/join.pl
 @@ -25,6 +25,15 @@ my $limits = getlimits ();
@@ -3427,7 +5021,7 @@ index 0000000..11836ba
 +
 +Exit $fail
 diff --git a/tests/misc/sort-merge.pl b/tests/misc/sort-merge.pl
-index 23f6ed2..402a987 100755
+index 7eb4574..eda884c 100755
 --- a/tests/misc/sort-merge.pl
 +++ b/tests/misc/sort-merge.pl
 @@ -26,6 +26,15 @@ my $prog = 'sort';
@@ -3487,7 +5081,7 @@ index 23f6ed2..402a987 100755
  my $verbose = $ENV{VERBOSE};
  
 diff --git a/tests/misc/sort.pl b/tests/misc/sort.pl
-index c3e7f8e..6ecd3ff 100755
+index 0b0adca..fd27821 100755
 --- a/tests/misc/sort.pl
 +++ b/tests/misc/sort.pl
 @@ -24,10 +24,15 @@ my $prog = 'sort';
@@ -3555,7 +5149,7 @@ index c3e7f8e..6ecd3ff 100755
  my $save_temps = $ENV{DEBUG};
  my $verbose = $ENV{VERBOSE};
 diff --git a/tests/misc/unexpand.pl b/tests/misc/unexpand.pl
-index 6ba6d40..de86723 100755
+index 2e1906f..fe66012 100755
 --- a/tests/misc/unexpand.pl
 +++ b/tests/misc/unexpand.pl
 @@ -27,6 +27,14 @@ my $limits = getlimits ();
@@ -3612,7 +5206,7 @@ index 6ba6d40..de86723 100755
  my $verbose = $ENV{VERBOSE};
  
 diff --git a/tests/misc/uniq.pl b/tests/misc/uniq.pl
-index f028036..8eaf59a 100755
+index aa163cd..91d617d 100755
 --- a/tests/misc/uniq.pl
 +++ b/tests/misc/uniq.pl
 @@ -23,9 +23,17 @@ my $limits = getlimits ();
@@ -3688,7 +5282,7 @@ index f028036..8eaf59a 100755
  @Tests = triple_test \@Tests;
  
 diff --git a/tests/pr/pr-tests.pl b/tests/pr/pr-tests.pl
-index ec3980a..136657d 100755
+index 7ac6d4c..ae6cc35 100755
 --- a/tests/pr/pr-tests.pl
 +++ b/tests/pr/pr-tests.pl
 @@ -24,6 +24,15 @@ use strict;
@@ -3707,9 +5301,9 @@ index ec3980a..136657d 100755
  my @tv = (
  
  # -b option is no longer an official option. But it's still working to
-@@ -474,8 +483,48 @@ push @Tests,
-     {IN=>{2=>"a\n"}},
-      {OUT=>"a\t\t\t\t  \t\t\ta\n"} ];
+@@ -512,8 +521,48 @@ push @Tests,
+     {IN=>"x\tx\tx\tx\tx\nx\tx\tx\tx\tx\n"},
+      {OUT=>"x\tx\tx\tx\tx\tx\tx\tx\tx\tx\n"} ];
  
 +# Add _POSIX2_VERSION=199209 to the environment of each test
 +# that uses an old-style option like +1.
@@ -3756,6 +5350,184 @@ index ec3980a..136657d 100755
  my $save_temps = $ENV{DEBUG};
  my $verbose = $ENV{VERBOSE};
  
+diff --git a/tests/unexpand/mb.sh b/tests/unexpand/mb.sh
+new file mode 100755
+index 0000000..8a82d74
+--- /dev/null
++++ b/tests/unexpand/mb.sh
+@@ -0,0 +1,172 @@
++#!/bin/sh
++
++# Copyright (C) 2012-2015 Free Software Foundation, Inc.
++
++# This program is free software: you can redistribute it and/or modify
++# it under the terms of the GNU General Public License as published by
++# the Free Software Foundation, either version 3 of the License, or
++# (at your option) any later version.
++
++# This program is distributed in the hope that it will be useful,
++# but WITHOUT ANY WARRANTY; without even the implied warranty of
++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++# GNU General Public License for more details.
++
++# You should have received a copy of the GNU General Public License
++# along with this program.  If not, see <http://www.gnu.org/licenses/>.
++
++. "${srcdir=.}/tests/init.sh"; path_prepend_ ./src
++print_ver_ unexpand
++
++export LC_ALL=en_US.UTF-8
++
++#input containing multibyte characters
++cat > in <<\EOF
++1234567812345678123456781
++.       .       .       .
++a       b       c       d
++.       .       .       .
++ä       Ã¶       Ã¼       ÃŸ
++.       .       .       .
++   Ã¤Ã¶Ã¼  .    Ã¶Ã¼Ã¤.       Ã¤ xx
++EOF
++
++cat > exp <<\EOF
++1234567812345678123456781
++.     .       .       .
++a     b       c       d
++.     .       .       .
++ä    Ã¶      Ã¼      ÃŸ
++.     .       .       .
++   Ã¤Ã¶Ã¼     .    Ã¶Ã¼Ã¤.    Ã¤ xx
++EOF
++
++unexpand -a < in > out || fail=1
++compare exp out > /dev/null 2>&1 || fail=1
++
++
++#multiple files as an input
++cat >> exp <<\EOF
++1234567812345678123456781
++.     .       .       .
++a     b       c       d
++.     .       .       .
++ä    Ã¶      Ã¼      ÃŸ
++.     .       .       .
++   Ã¤Ã¶Ã¼     .    Ã¶Ã¼Ã¤.    Ã¤ xx
++EOF
++
++
++unexpand -a ./in ./in > out || fail=1
++compare exp out > /dev/null 2>&1 || fail=1
++
++#test characters with a display width larger than 1
++
++env printf '12345678
++e       |ascii(1)
++\u00E9       |composed(1)
++e\u0301       |decomposed(1)
++\u3000      |ideo-space(2)
++\uFF0D      |full-hypen(2)
++' > in || framework_failure_
++
++env printf '12345678
++e\t|ascii(1)
++\u00E9\t|composed(1)
++e\u0301\t|decomposed(1)
++\u3000\t|ideo-space(2)
++\uFF0D\t|full-hypen(2)
++' > exp || framework_failure_
++
++unexpand -a < in > out || fail=1
++compare exp out > /dev/null 2>&1 || fail=1
++
++#test input where a blank of width > 1 is not being substituted
++in="$(LC_ALL=en_US.UTF-8 printf ' \u3000  Ã¶       Ã¼       ÃŸ')"
++exp=' ã€€  Ã¶      Ã¼      ÃŸ'
++
++unexpand -a < in > out || fail=1
++compare exp out > /dev/null 2>&1 || fail=1
++
++#non-Unicode characters interspersed between Unicode ones
++env printf '12345678
++        \xFF|
++\xFF       |
++        \xFFä|
++ä\xFF      |
++        Ã¤\xFF|
++\xFF       Ã¤|
++äbcdef\xFF |
++' > in || framework_failure_
++
++env printf '12345678
++\t\xFF|
++\xFF\t|
++\t\xFFä|
++ä\xFF\t|
++\tä\xFF|
++\xFF\tä|
++äbcdef\xFF\t|
++' > exp || framework_failure_
++
++unexpand -a < in > out || fail=1
++compare exp out > /dev/null 2>&1 || fail=1
++
++#BOM header test 1
++printf "\xEF\xBB\xBF" > in; cat <<\EOF >> in || framework_failure_
++1234567812345678123456781
++.       .       .       .
++a       b       c       d
++.       .       .       .
++ä       Ã¶       Ã¼       ÃŸ
++.       .       .       .
++   Ã¤Ã¶Ã¼  .    Ã¶Ã¼Ã¤.       Ã¤ xx
++EOF
++env printf '   Ã¤Ã¶Ã¼\t.    Ã¶Ã¼Ã¤.   \tä xx\n' >> in || framework_failure_
++
++printf "\xEF\xBB\xBF" > exp; cat <<\EOF >> exp || framework_failure_
++1234567812345678123456781
++.     .       .       .
++a     b       c       d
++.     .       .       .
++ä    Ã¶      Ã¼      ÃŸ
++.     .       .       .
++   Ã¤Ã¶Ã¼     .    Ã¶Ã¼Ã¤.    Ã¤ xx
++EOF
++
++unexpand < in > out || fail=1
++compare exp out > /dev/null 2>&1 || fail=1
++
++LANG=C unexpand < in > out || fail=1
++compare exp out > /dev/null 2>&1 || fail=1
++
++LC_ALL=C unexpand < in > out || fail=1
++compare exp out > /dev/null 2>&1 || fail=1
++
++
++printf "\xEF\xBB\xBF" > exp; cat <<\EOF >> exp || framework_failure_
++1234567812345678123456781
++.     .       .       .
++a     b       c       d
++.     .       .       .
++ä    Ã¶      Ã¼      ÃŸ
++.     .       .       .
++   Ã¤Ã¶Ã¼     .    Ã¶Ã¼Ã¤.    Ã¤ xx
++1234567812345678123456781
++.     .       .       .
++a     b       c       d
++.     .       .       .
++ä    Ã¶      Ã¼      ÃŸ
++.     .       .       .
++   Ã¤Ã¶Ã¼     .    Ã¶Ã¼Ã¤.    Ã¤ xx
++EOF
++
++
++unexpand in in > out || fail=1
++compare exp out > /dev/null 2>&1 || fail=1
++
++LANG=C unexpand in in > out || fail=1
++compare exp out > /dev/null 2>&1 || fail=1
++
++LC_ALL=C unexpand in in > out || fail=1
++compare exp out > /dev/null 2>&1 || fail=1
 -- 
-2.7.4
+2.34.1
 
index af5deca804ba2f568a9721e795dc1f6b960abd7b..c9589b611feaafe03cf8db965e767743f8634509 100644 (file)
@@ -4,26 +4,27 @@
 ###############################################################################
 
 name       = cpio
-version    = 2.12
+version    = 2.13
 release    = 1
 
 groups     = System/Packaging
-url        = http://www.gnu.org/software/cpio/
+url        = https://www.gnu.org/software/cpio/
 license    = GPLv3+
-summary    = A GNU archiving program.
+summary    = A GNU archiving program
 
 description
-       GNU cpio copies files into or out of a cpio or tar archive. Archives \
-       are files which contain a collection of other files plus information \
-       about them, such as their file name, owner, timestamps, and access \
-       permissions. The archive can be another file on the disk, a magnetic \
+       GNU cpio copies files into or out of a cpio or tar archive. Archives
+       are files which contain a collection of other files plus information
+       about them, such as their file name, owner, timestamps, and access
+       permissions. The archive can be another file on the disk, a magnetic
        tape, or a pipe.
 end
 
-source_dl  = http://ftp.gnu.org/gnu/cpio/
-sources    = %{thisapp}.tar.bz2
+source_dl  = https://ftp.gnu.org/gnu/cpio/
 
 build
+       CFLAGS += -fcommon
+
        configure_options += \
                --libexecdir=/tmp \
                --with-rmt=/usr/sbin/rmt
index dbc643928df8c5ce76592bd6f35673b683d19ada..3f5380d26e8c57889645f9b887f1750f723b9756 100644 (file)
@@ -5,12 +5,12 @@
 
 name       = cracklib
 version    = 2.9.5
-release    = 2
+release    = 3.1
 
 groups     = Security/Password
-url        = http://sourceforge.net/projects/cracklib/
+url        = https://sourceforge.net/projects/cracklib/
 license    = GPLv2
-summary    = A password-checking library.
+summary    = A password-checking library
 
 description
        CrackLib tests passwords to determine whether they match certain \
@@ -22,12 +22,12 @@ description
        in a dictionary.
 end
 
-source_dl  = http://prdownloads.sourceforge.net/cracklib/
+source_dl  = https://prdownloads.sourceforge.net/cracklib/
 sources   += cracklib-words-20080507.gz
 
 build
        requires
-               python-devel
+               zlib-devel
        end
 
        dictdir  = %{datadir}/cracklib
@@ -37,7 +37,7 @@ build
 
        configure_options += \
                --with-default-dict=%{dictpath} \
-               --with-python \
+               --without-python \
                --disable-static
 
        # Only extract the source tarball.
@@ -98,7 +98,7 @@ packages
                template DEVEL
        end
 
-       # We build an extra package with the dictionaries.
+       # We build an extra package with the dictionaries
        package %{name}-dicts
                summary = Dictionaries for %{thisapp}.
                description = %{summary}
@@ -109,17 +109,6 @@ packages
                end
        end
 
-       # We build an extra python package with the bindings for it.
-       package python-cracklib
-               summary = Python bindings for %{thisapp}.
-               description = %{summary}
-
-               files
-                       /usr/lib/python*
-                       %{libdir}/python*
-               end
-       end
-
        package %{name}-debuginfo
                template DEBUGINFO
        end
diff --git a/crda/crda.nm b/crda/crda.nm
deleted file mode 100644 (file)
index 7f02771..0000000
+++ /dev/null
@@ -1,85 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = crda
-version    = %{ver_crda}-%{ver_regdb}
-ver_crda   = 3.18
-ver_regdb  = 2016.02.08
-release    = 2
-
-maintainer = Arne Fitzenreiter <arne.fitzenreiter@ipfire.org>
-groups     = Network/Wireless
-url        = http://linuxwireless.org/en/developers/Regulatory/CRDA
-license    = ISC
-summary    = Regulatory compliance daemon for 802.11 wireless networking.
-
-description
-       CRDA acts as the udev helper for communication between the kernel
-       and userspace for regulatory compliance. It relies on nl80211
-       for communication. CRDA is intended to be run only through udev
-       communication from the kernel.
-end
-
-source_dl  = \
-       https://www.kernel.org/pub/software/network/crda/ \
-       https://www.kernel.org/pub/software/network/wireless-regdb/
-sources    = crda-%{ver_crda}.tar.xz wireless-regdb-%{ver_regdb}.tar.xz
-
-build
-       requires
-               libgcrypt-devel
-               libnl3-devel
-               openssl
-               python-m2crypto
-       end
-
-       prepare_cmds
-               # Remove -Werror
-               pushd %{DIR_SRC}/crda-%{ver_crda}
-               sed -e "s/-Werror//" -i Makefile
-               popd
-       end
-
-       build
-               pushd %{DIR_SRC}/wireless-regdb-%{ver_regdb}
-               make ${PARALLELISMFLAGS} maintainer-clean
-               make ${PARALLELISMFLAGS} REGDB_PRIVKEY=key.priv.pem REGDB_PUBKEY=key.pub.pem
-               popd
-
-               pushd %{DIR_SRC}/crda-%{ver_crda}
-               cp ../wireless-regdb-%{ver_regdb}/key.pub.pem pubkeys
-
-               make ${PARALLELISMFLAGS} REG_BIN=../wireless-regdb-%{ver_regdb}/regulatory.bin
-               popd
-       end
-
-       install
-               pushd %{DIR_SRC}/wireless-regdb-%{ver_regdb}
-               make install DESTDIR=%{BUILDROOT} PREFIX=%{prefix} MANDIR=%{mandir}
-               popd
-
-               pushd %{DIR_SRC}/crda-%{ver_crda}
-               make install DESTDIR=%{BUILDROOT} PREFIX=%{prefix} MANDIR=%{mandir} \
-                       SBINDIR=%{sbindir}/ LIBDIR=%{libdir}/
-               popd
-       end
-end
-
-packages
-       package %{name}
-               provides = wireless-regdb = %{ver_regdb}
-               obsoletes = wireless-regdb < %{ver_regdb}
-       end
-
-       package %{name}-devel
-               template DEVEL
-
-               files += !%{libdir}/libreg.so
-       end
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
index ce7a5581c2997b6409b0dee8c85174968f7e8022..b24f79c375e15bd666e4e0d6aae1a87c5bf156cd 100644 (file)
@@ -4,8 +4,8 @@
 ###############################################################################
 
 name       = cronie
-version    = 1.5.1
-release    = 2
+version    = 1.6.1
+release    = 1
 
 groups     = System/Environment/Base
 url        = https://github.com/cronie-crond/cronie
index e17811f415612dc4147b7c9cff0ed33add136466..f37dcc3fe595c3a5b0c390193cae3b8f2aaa1d2b 100644 (file)
@@ -5,12 +5,11 @@
 
 name       = crontabs
 version    = 1.11
-snap_rel   = 20121102git
+snap_rel   = 20190603
 release    = 1.%{snap_rel}
-arch       = noarch
 
 groups     = System/Base
-url        = https://fedorahosted.org/crontabs
+url        = https://github.com/cronie-crond/crontabs
 license    = Public Domain and GPLv2
 summary    = Root crontab files used to schedule the execution of programs.
 
@@ -27,10 +26,12 @@ description
        your system.
 end
 
-source_dl  = https://fedorahosted.org/releases/c/r/crontabs/
-sources    = %{name}-%{version}-1.%{snap_rel}.tar.gz
+source_dl  = https://github.com/cronie-crond/crontabs/releases/download/crontabs-%{snap_rel}/
+sources    = %{name}-%{version}-%{snap_rel}git.tar.gz
 
 build
+       arches = noarch
+
        build
                # empty
        end
index 476a9e8d81259f8a38b49f82908b1797fa3fb086..d259d8b126ebd251c3c3c50406bbeaa731f065d2 100644 (file)
@@ -4,9 +4,9 @@
 ###############################################################################
 
 name       = cryptsetup-luks
-version    = %{ver_maj}.0
-ver_maj    = 1.7
-release    = 1
+version    = %{ver_maj}.1
+ver_maj    = 2.6
+release    = 1.1
 
 groups     = System/Filesystems
 url        = https://gitlab.com/cryptsetup/cryptsetup
@@ -18,22 +18,25 @@ description
        encrypted filesystems using Device Mapper and the dm-crypt target.
 end
 
-source_dl  = \
-       https://www.kernel.org/pub/linux/utils/cryptsetup/v%{ver_maj}/
-sources = cryptsetup-%{version}.tar.xz
+source_dl  = https://www.kernel.org/pub/linux/utils/cryptsetup/v%{ver_maj}/
+sources    = cryptsetup-%{version}.tar.xz
 
 build
        requires
+               json-c-devel
                libdevmapper-devel
                libgcrypt-devel
                libgpg-error-devel
                libuuid-devel
+               openssl-devel
                popt-devel
        end
 
        DIR_APP = %{DIR_SRC}/cryptsetup-%{version}
 
        configure_options += \
+               --disable-asciidoc \
+               --disable-ssh-token \
                --disable-static
 end
 
index 6f99c515a3d31c97c8c8a4b8cb6f5eec5e33674d..113819ee2b0920e0066071108af0b121bcaa5cd1 100644 (file)
@@ -4,20 +4,20 @@
 ###############################################################################
 
 name       = cups
-version    = 2.2.4
-release    = 1
+version    = 2.3.6
+release    = 3
 
 groups     = Applications/Printing
-url        = http://cups.org/software.php
+url        = https://cups.org/software.php
 license    = GPLv2+
-summary    = The common UNIX printing system.
+summary    = The common UNIX printing system
 
 description
        CUPS is the standards-based, open source printing system developed
        by Apple Inc. for Mac OS(R) X and other UNIX(R)-like operating systems.
 end
 
-source_dl  = https://github.com/apple/cups/releases/download/v%{version}/
+source_dl  = https://github.com/apple/cups/archive/refs/tags/v%{version}.tar.gz#/
 sources    = %{thisapp}-source.tar.gz
 
 build
@@ -26,6 +26,7 @@ build
                automake
                avahi-devel
                cyrus-sasl-devel
+               dbus-devel
                gcc-c++
                gnutls-devel
                libacl-devel
@@ -36,62 +37,39 @@ build
                libtiff-devel
                libusb-devel
                openldap-devel
-               openssl-devel
                pam-devel
                systemd-devel
                zlib-devel
        end
 
-       CFLAGS += -DLDAP_DEPRECATED=1
-
        configure_options += \
                --localedir=%{datadir}/locale \
                --with-cupsd-file-perm=0755 \
                --with-log-file-perm=0600 \
                --with-docdir=%{datadir}/%{name}/www \
                --with-dbusdir=%{sysconfdir}/dbus-1 \
-               --enable-pie \
+               --enable-debug \
                --enable-relro \
                --enable-avahi \
-               --enable-lspp \
                --enable-threads \
                --enable-gnutls \
                --enable-webif \
                --with-xinetd=no
 
-       prepare_cmds
-               aclocal -I config-scripts
-               autoconf -I config-scripts
-       end
-
-       install
-               make install BUILDROOT=%{BUILDROOT}
-
-               # Remove sysvinit scripts
-               rm -vfr %{BUILDROOT}/etc/init.d/cups %{BUILDROOT}/etc/rc*.d
+       make_install_targets += \
+               BUILDROOT=%{BUILDROOT}
 
+       install_cmds
                # Install default config file.
                mkdir -pv %{BUILDROOT}/etc/cups
                cp -vf %{DIR_APP}/conf/cupsd.conf %{BUILDROOT}/etc/cups/
 
-               # Rename systemd service files.
-               mv %{BUILDROOT}%{unitdir}/org.cups.cupsd.path \
-                       %{BUILDROOT}%{unitdir}/cups.path
-               mv %{BUILDROOT}%{unitdir}/org.cups.cupsd.service \
-                       %{BUILDROOT}%{unitdir}/cups.service
-               mv %{BUILDROOT}%{unitdir}/org.cups.cupsd.socket \
-                       %{BUILDROOT}%{unitdir}/cups.socket
-               mv %{BUILDROOT}%{unitdir}/org.cups.cups-lpd.socket \
-                       %{BUILDROOT}%{unitdir}/cups-lpd.socket
-               mv %{BUILDROOT}%{unitdir}/org.cups.cups-lpd@.service \
-                       %{BUILDROOT}%{unitdir}/cups-lpd@.service
-
-               sed -i -e "s,org.cups.cupsd,cups,g" \
-                       %{BUILDROOT}%{unitdir}/cups.service
-
-               # Fix permissions
-               chown root:lp %{BUILDROOT}%{localstatedir}/run/cups
-               chmod 0755 %{BUILDROOT}%{localstatedir}/run/cups
+               # Fix file permissions in /usr/include
+               find %{BUILDROOT}%{includedir} -type f -iname "*.h" \
+                       -exec chmod 644 {} \;
+
+               # Drop /var/run
+               rm -rvf %{BUILDROOT}%{localstatedir}/run
        end
 end
 
diff --git a/cups/systemd/cups.service b/cups/systemd/cups.service
deleted file mode 100644 (file)
index dfb87b8..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-[Unit]
-Description=CUPS scheduler
-Requires=printer.target
-After=syslog.target
-
-[Service]
-Type=forking
-PIDFile=/var/run/cupsd.pid
-ExecStartPre=/usr/sbin/cupsd -t
-ExecStart=/usr/sbin/cupsd
-ExecStartPost=/sbin/udevadm trigger --subsystem-match=usb --attr-match=bInterfaceClass=07 --attr-match=bInterfaceSubClass=01 --action=add
-ExecStartPost=/sbin/udevadm trigger --subsystem-match=usb --property-match=DEVNAME="/dev/usb/lp*" --action=add
-
-[Install]
-WantedBy=multi-user.target
index 8ff369aedc1217abcb470a6e21baeb3e473ac498..ab01052c4ee2d3a6efc70b73bc5dfbb2624778d1 100644 (file)
@@ -4,7 +4,7 @@
 ###############################################################################
 
 name       = curl
-version    = 7.65.1
+version    = 8.3.0
 release    = 1
 
 groups     = Application/Internet
@@ -24,27 +24,29 @@ source_dl  = https://curl.haxx.se/download/
 
 build
        requires
+               c-ares-devel
                groff
-               libidn-devel
+               libidn2-devel
                libssh2-devel
                libtool-devel
-               net-tools
+               nghttp2-devel
                openldap-devel
                openssl-devel
                zlib-devel
+               zstd-devel
        end
 
        configure_options += \
-               --enable-hidden-symbols \
                --disable-static \
                --with-ca-bundle=/etc/pki/tls/certs/ca-bundle.crt \
-               --with-libidn \
+               --with-libidn2 \
                --with-libssh2 \
                --with-ssl \
+               --enable-ares \
                --enable-ldaps \
                --enable-ipv6 \
                --enable-manual \
-               --enable-threaded-resolver
+               --enable-websockets
 
        # The testsuite runs services which bind to ports and
        # sends queries to the internet. This may fail in some
index aa76c831ed15291c4e3d2305e99c1e63204f7d0a..2e94b9a08c95b4f5bb9c25b4c1d05926a9428c36 100644 (file)
@@ -4,46 +4,36 @@
 ###############################################################################
 
 name       = cyrus-sasl
-version    = 2.1.26
-release    = 2
+version    = 2.1.28
+release    = 4.1
 
 groups     = System/Libraries
-url        = http://asg.web.cmu.edu/sasl/sasl-library.html
+url        = https://github.com/cyrusimap/cyrus-sasl
 license    = BSD
-summary    = The Cyrus SASL library.
+summary    = The Cyrus SASL library
 
 description
-       The cyrus-sasl package contains the Cyrus implementation of SASL. \
-       SASL is the Simple Authentication and Security Layer, a method for \
+       The cyrus-sasl package contains the Cyrus implementation of SASL.
+       SASL is the Simple Authentication and Security Layer, a method for
        adding authentication support to connection-based protocols.
 end
 
-source_dl  = ftp://ftp.cyrusimap.org/cyrus-sasl/
+source_dl  = https://github.com/cyrusimap/cyrus-sasl/releases/download/cyrus-sasl-%{version}/
 
 build
        requires
                automake
-               libdb-devel
+               gdbm-devel
+               libxcrypt-devel
                openssl-devel
                pam-devel
        end
 
-       prepare_cmds
-               # for aarch64
-               for i in $(find . -name config.guess -or -name config.sub); do
-                       cp -vf %{datadir}/automake-*/config.{guess,sub} $(dirname ${i})
-               done
-       end
-
        configure_options += \
-               --sysconfdir=/etc \
                --with-configdir=%{libdir}/sasl2:/etc/sasl2 \
                --with-plugindir=%{libdir}/sasl2 \
                --with-dbpath=/var/lib/sasl/sasldb2 \
-               --with-saslauthd=/var/run/saslauthd \
-               --mandir=/usr/share/man
-
-       PARALLELISMFLAGS = # Disabled
+               --with-saslauthd=/run/saslauthd
 
        make_install_targets += sasldir=%{libdir}/sasl2
 
@@ -54,7 +44,7 @@ build
                mkdir -pv %{BUILDROOT}%{libdir}/sasl2
                cp -vf %{DIR_SOURCE}/smtpd.conf %{BUILDROOT}%{libdir}/sasl2/
 
-               install -v -m700 -d %{BUILDROOT}/var/lib/sasl %{BUILDROOT}/var/run/saslauthd
+               install -v -m700 -d %{BUILDROOT}/var/lib/sasl
        end
 end
 
@@ -67,6 +57,10 @@ packages
 
        package %{name}-devel
                template DEVEL
+
+               requires
+                       cyrus-sasl-libs = %{thisver}
+               end
        end
 
        package %{name}-debuginfo
index 2efcce7991f2f760929459d8d7597ba62c93b45b..2f37d731026d58f7880196a5fac69865046c8da9 100644 (file)
@@ -4,7 +4,7 @@
 ###############################################################################
 
 name       = cython
-version    = 0.29.10
+version    = 0.29.32
 release    = 1
 
 groups     = Development/Tools
@@ -23,6 +23,7 @@ source_dl  = https://github.com/cython/cython/archive/%{version}.tar.gz#/
 
 build
        requires
+               python3
                python3-devel
        end
 
diff --git a/datefudge/datefudge.nm b/datefudge/datefudge.nm
deleted file mode 100644 (file)
index 1bcaa89..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = datefudge
-version    = 1.21
-release    = 1
-
-groups     = System/Tools
-url        = http://anonscm.debian.org/gitweb/?p=users/robert/datefudge.git;a=summary
-license    = GPLv2
-summary    = A tool for faking the system date.
-
-description
-       Datefudge fakes the system date so that a program think the wall clock
-       is different. The faking is not complete; timestamp on files are not
-       affected in any way. This package is useful if you want to test the date
-       handling of your programs without changing the system clock.
-end
-
-source_dl  = http://ftp.de.debian.org/debian/pool/main/d/%{name}/
-sources    = %{name}_%{version}.tar.xz
-
-build
-       # Honor our CFLAGS.
-       make_build_targets += \
-               CFLAGS="%{CFLAGS}" \
-               LDFLAGS="%{LDFLAGS}"
-
-       test
-               make test
-       end
-
-       # Install libs to the correct place.
-       make_install_targets += \
-               libdir=%{libdir}/%{name}
-end
-
-packages
-       package %{name}
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
diff --git a/dbus-broker/dbus-broker.nm b/dbus-broker/dbus-broker.nm
new file mode 100644 (file)
index 0000000..a65a1e0
--- /dev/null
@@ -0,0 +1,100 @@
+###############################################################################
+# IPFire.org    - An Open Source Firewall Solution                            #
+# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
+###############################################################################
+
+name       = dbus-broker
+version    = 32
+release    = 1
+
+maintainer = Stefan Schantl <stefan.schantl@ipfire.org>
+groups     = System/Daemons
+url        = https://github.com/bus1/dbus-broker
+license    = Apache 2.0
+summary    = Linux D-Bus Message Broker
+
+description
+       D-BUS is a system for sending messages between applications. It is
+       used both for the system-wide message bus service, and as a
+       per-user-login-session messaging facility.
+end
+
+source_dl  = https://github.com/bus1/%{name}/releases/download/v%{version}/
+sources    = %{thisapp}.tar.xz
+
+build
+       requires
+               meson
+               python3-docutils
+               expat-devel
+               libcap-ng-devel
+               systemd-devel
+       end
+
+       build
+               %{meson} \
+                       -Ddocs=true \
+                       -Dlinux-4-17=true
+
+               %{meson_build}
+       end
+
+       install
+               %{meson_install}
+       end
+end
+
+packages
+       package %{name}
+               obsoletes
+                       dbus <= 1.15.2-2
+               end
+
+               provides
+                       dbus 
+               end
+
+               requires
+                       dbus-common
+               end
+
+               prerequires += shadow-utils
+
+               script prein
+                       getent group dbus >/dev/null || groupadd -r dbus
+                       getent passwd dbus >/dev/null || \
+                               useradd -r -g dbus -d / -s /sbin/nologin \
+                                       -c "User for dbus service" dbus
+                       exit  0
+               end
+
+               # Just search for new unit files that were just installed.
+               script postin
+                       systemctl daemon-reload >/dev/null 2>&1 || :
+
+                       # The dbus service should be started on default.
+                       systemctl enable dbus-broker.service > /dev/null 2>&1 || :
+               end
+
+               # Disable the service that is to be removed and stop it if it is still running.
+               script preun
+                       systemctl --no-reload disable dbus-broker.service >/dev/null 2>&1 || :
+                       systemctl stop dbus-broker.service >/dev/null 2>&1 || :
+               end
+
+               # Just tell systemd that unitfiles have been removed.
+               script postun
+                       systemctl daemon-reload >/dev/null 2>&1 || :
+               end
+
+               # Try to restart the service if it is running.
+               script postup
+                       systemctl daemon-reload >/dev/null 2>&1 || :
+                       systemctl try-restart dbus-broker.service >/dev/null 2>&1 || :
+               end
+       end
+
+       package %{name}-debuginfo
+               template DEBUGINFO
+       end
+end
index 39030350343dbf50d251773d8db3072ea411e4e1..9c9ed9d88c624cca70aeac1e104664c10e6c5bfe 100644 (file)
@@ -4,24 +4,23 @@
 ###############################################################################
 
 name       = dbus-glib
-version    = 0.94
-release    = 3
+version    = 0.112
+release    = 1.1
 
 groups     = System/Libraries
-url        = http://www.freedesktop.org/software/dbus/
+url        = https://www.freedesktop.org/software/dbus/
 license    = GPLv2+ AFL
 summary    = Glib bindings for D-Bus.
 
 description
-       D-Bus add-on library to integrate the standard D-Bus library with \
+       D-Bus add-on library to integrate the standard D-Bus library with
        the GLib thread abstraction and main loop.
 end
 
-source_dl  =
+source_dl  = https://dbus.freedesktop.org/releases/dbus-glib/
 
 build
        requires
-               dbus
                dbus-devel
                expat-devel
                gettext
@@ -33,9 +32,10 @@ build
        configure_options += \
                --libexecdir=%{libdir}
 
-       test
-               make check
-       end
+       # The testsuite requires dbus-run-session which we don't package any more
+       #test
+       #       make check
+       #end
 end
 
 packages
index bfa5ed0e6b7e26b986fcadebc4c025d403ab0a2e..d6daa5270f9b5b5a60f36bb04e0da6838cf7b4fb 100644 (file)
@@ -4,12 +4,17 @@
 ###############################################################################
 
 name       = dbus
-version    = 1.11.20
+ver_major  = 1
+ver_minor  = 15
+ver_plevel = 2
 release    = 1
 
+version    = %{ver_major}.%{ver_minor}.%{ver_plevel}
+dbus_ver   = %{ver_major}.%{ver_minor}.%{ver_plevel}
+
 maintainer = Stefan Schantl <stefan.schantl@ipfire.org>
 groups     = System/Daemons
-url        = http://www.freedesktop.org/software/dbus/
+url        = https://www.freedesktop.org/software/dbus/
 license    = GPLv2+ AFL
 summary    = D-BUS message bus.
 
@@ -19,7 +24,8 @@ description
        per-user-login-session messaging facility.
 end
 
-source_dl  = http://dbus.freedesktop.org/releases/dbus/
+source_dl  = https://dbus.freedesktop.org/releases/dbus/
+sources    = %{thisapp}.tar.xz
 
 build
        requires
@@ -39,43 +45,89 @@ build
        test
                make check
        end
+
+       install_cmds
+               # Remove unneeded documentation.
+               rm -rvf %{BUILDROOT}/%{datadir}/doc
+               rm -rvf %{BUILDROOT}/%{datadir}/xml
+
+               # Drop cmake related stuff
+               rm -rvf %{BUILDROOT}/%{libdir}/cmake
+
+               # Remove daemon related binaries and manpages.
+               for bin in daemon launch run-session test-tool cleanup-sockets; do
+                       rm -rvf %{BUILDROOT}/%{bindir}/dbus-$bin
+                       rm -rvf %{BUILDROOT}/%{mandir}/man1/dbus-$bin*
+               done
+
+               # Remove daemon-lauch-helper
+               rm -rvf %{BUILDROOT}/usr/lib/dbus-daemon-launch-helper
+
+               # Remove daemon related systemd files.
+               rm -rvf %{BUILDROOT}/%{unitdir}/dbus.service
+               rm -rvf %{BUILDROOT}/%{unitdir}/multi-user.target.wants
+               rm -rvf %{BUILDROOT}/usr/lib/tmpfiles.d
+
+               # Remove daemon related folders in /var
+               rm -rvf %{BUILDROOT}/%{localstatedir}
+       end
 end
 
 packages
-       package %{name}
-               prerequires += shadow-utils
-
-               script prein
-                       getent group dbus >/dev/null || groupadd -r dbus
-                       getent passwd dbus >/dev/null || \
-                               useradd -r -g dbus -d / -s /sbin/nologin \
-                                       -c "User for dbus service" dbus
-                       exit  0
+       package %{name}-common
+               summary = D-BUS message bus configuration.
+               version = %{dbus_ver}
+               arch = noarch
+
+               description
+                       The dbus-common package provides the configuration and setup files for D-Bus
+                       implementations to provide a System and User Message Bus.
                end
 
-               # Just search for new unit files that were just installed.
-               script postin
-                       systemctl daemon-reload >/dev/null 2>&1 || :
-
-                       # The dbus service should be started on default.
-                       systemctl enable dbus.service > /dev/null 2>&1 || :
+               files
+                       /usr/lib/sysusers.d/
+                       /usr/lib/sysusers.d/*
+                       %{sysconfdir}/dbus-1
+                       %{sysconfdir}/dbus-1/session.d
+                       %{sysconfdir}/dbus-1/system.d
+                       %{sysconfdir}/dbus-1/session.conf
+                       %{sysconfdir}/dbus-1/system.conf
+                       %{datadir}/dbus-1
+                       %{datadir}/dbus-1/session.d
+                       %{datadir}/dbus-1/system.d
+                       %{datadir}/dbus-1/session.conf
+                       %{datadir}/dbus-1/system.conf
+                       %{datadir}/dbus-1/services
+                       %{datadir}/dbus-1/system-services
+                       %{datadir}/dbus-1/interfaces
+                       %{unitdir}/dbus.socket
+                       %{unitdir}/sockets.target.wants/dbus.socket
                end
+       end
+
+       package %{name}-tools
+               summary = D-BUS Tools and Utilities.
+               version = %{dbus_ver}
 
-               # Disable the service that is to be removed and stop it if it is still running.
-               script preun
-                       systemctl --no-reload disable dbus.service >/dev/null 2>&1 || :
-                       systemctl stop dbus.service >/dev/null 2>&1 || :
+               description
+                       Tools and utilities to interact with a running D-Bus Message Bus, provided by
+                       the reference implementation.
                end
 
-               # Just tell systemd that unitfiles have been removed.
-               script postun
-                       systemctl daemon-reload >/dev/null 2>&1 || :
+               requires
+                       dbus-libs = %{thisver}
+                       dbus-common = %{dbus_ver}
                end
 
-               # Try to restart the service if it is running.
-               script postup
-                       systemctl daemon-reload >/dev/null 2>&1 || :
-                       systemctl try-restart dbus.service >/dev/null 2>&1 || :
+               files
+                       %{bindir}/dbus-send
+                       %{bindir}/dbus-monitor
+                       %{bindir}/dbus-update-activation-environment
+                       %{bindir}/dbus-uuidgen
+                       %{mandir}/man1/dbus-monitor.1*
+                       %{mandir}/man1/dbus-send.1*
+                       %{mandir}/man1/dbus-update-activation-environment.1*
+                       %{mandir}/man1/dbus-uuidgen.1*
                end
        end
 
index c19411be110af5a0b451197aa8a1005e683c5c63..f2cd19bfb6f9a2c46f29888a11f11fa666439085 100644 (file)
@@ -4,12 +4,11 @@
 ###############################################################################
 
 name       = ddns
-version    = 009
+version    = 014
 release    = 1
-arch       = noarch
 
 groups     = System/Tools
-url        = http://www.ipfire.org
+url        = https://www.ipfire.org
 license    = GPLv3
 summary    = A python based dynamic DNS updater.
 
@@ -18,10 +17,12 @@ description
        written in Python.
 end
 
-source_dl = http://source.ipfire.org/releases/ddns/
-sources = %{thisapp}.tar.xz
+source_dl  = https://source.ipfire.org/releases/ddns/
+sources    = %{thisapp}.tar.xz
 
 build
+       arches = noarch
+
        requires
                autoconf
                automake
@@ -33,8 +34,6 @@ build
        end
 
        configure_options += \
-               --prefix=%{prefix} \
-               --sysconfdir=%{sysconfdir} \
                --enable-manpages \
                --with-systemd
 
@@ -54,7 +53,7 @@ end
 
 packages
        package %{name}
-               recommends
+               requires
                        %{bindir}/nsupdate
                end
 
index be34d02d77ed5859b73c73b3d139381b756f1dd8..7342e6a6c3f673015a6ca1e5689eedc2d4d01dbe 100644 (file)
@@ -4,11 +4,11 @@
 ###############################################################################
 
 name       = ddrescue
-version    = 1.21
+version    = 1.26
 release    = 1
 
 groups     = System/Tools
-url        = http://gnu.org/software/ddrescue
+url        = https://gnu.org/software/ddrescue
 license    = GPLv2+
 summary    = Data recovery tool
 
@@ -18,14 +18,13 @@ description
        good parts first in case of read errors. 
 end
 
-source_dl  = http://ftp.gnu.org/gnu/ddrescue/
+source_dl  = https://ftp.gnu.org/gnu/ddrescue/
 sources    = %{thisapp}.tar.lz
 
 build
        # ddrescue comes with a non-traditional configure script
        configure_options = \
                --prefix=%{prefix} \
-               --enable-linux \
                CPPFLAGS="%{CPPFLAGS}" \
                CFLAGS="%{CFLAGS}" \
                LDFLAGS="%{LDFLAGS}" \
diff --git a/debugedit/debugedit.nm b/debugedit/debugedit.nm
deleted file mode 100644 (file)
index c1d6474..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = debugedit
-version    = 5.3.5
-release    = 2
-
-groups     = Development/Tools
-url        = http://www.rpm5.org/
-license    = GPLv2
-summary    = Standalone version of debugedit
-
-description
-       This package contains a standalone version of debugedit from RPM5.
-end
-
-build
-       requires
-               beecrypt-devel
-               elfutils-devel
-               popt-devel
-       end
-
-       install
-               mkdir -pv %{BUILDROOT}%{bindir}
-               install -v -m 755 debugedit %{BUILDROOT}%{bindir}/debugedit
-       end
-end
-
-packages
-       package %{name}
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
diff --git a/debugedit/patches/debugedit-5.3.5-DWARF-4.patch b/debugedit/patches/debugedit-5.3.5-DWARF-4.patch
deleted file mode 100644 (file)
index 3e14061..0000000
+++ /dev/null
@@ -1,129 +0,0 @@
-add DWARF 4 support
-
-https://bugs.gentoo.org/400663
-https://bugzilla.redhat.com/show_bug.cgi?id=707677
-
---- debugedit-5.3.5/debugedit.c        2011-10-11 05:37:49.000000000 +0200
-+++ debugedit-5.3.5/debugedit.c        2012-01-25 01:27:23.487999039 +0100
-@@ -70,6 +70,10 @@
- #include <rpmtag.h>
- #define DW_TAG_partial_unit 0x3c
-+#define DW_FORM_sec_offset 0x17
-+#define DW_FORM_exprloc 0x18
-+#define DW_FORM_flag_present 0x19
-+#define DW_FORM_ref_sig8 0x20
- char *base_dir = NULL;
- char *dest_dir = NULL;
-@@ -246,6 +250,7 @@
- #define DEBUG_STR     8
- #define DEBUG_FRAME   9
- #define DEBUG_RANGES  10
-+#define DEBUG_TYPES   11
-     { ".debug_info", NULL, NULL, 0, 0, 0 },
-     { ".debug_abbrev", NULL, NULL, 0, 0, 0 },
-     { ".debug_line", NULL, NULL, 0, 0, 0 },
-@@ -257,6 +262,7 @@
-     { ".debug_str", NULL, NULL, 0, 0, 0 },
-     { ".debug_frame", NULL, NULL, 0, 0, 0 },
-     { ".debug_ranges", NULL, NULL, 0, 0, 0 },
-+    { ".debug_types", NULL, NULL, 0, 0, 0 },
-     { NULL, NULL, NULL, 0, 0, 0 }
-   };
-@@ -349,7 +355,8 @@
-               goto no_memory;
-           }
-         form = read_uleb128 (ptr);
--        if (form == 2 || form > DW_FORM_indirect)
-+        if (form == 2
-+            || (form > DW_FORM_flag_present && form != DW_FORM_ref_sig8))
-           {
-             error (0, 0, "%s: Unknown DWARF DW_FORM_%d", dso->filename, form);
-             htab_delete (h);
-@@ -378,7 +385,6 @@
- canonicalize_path (const char *s, char *d)
- {
-   char *rv = d;
--  const char *sroot;
-   char *droot;
-   if (IS_DIR_SEPARATOR (*s))
-@@ -394,7 +400,6 @@
-       s++;
-     }
-   droot = d;
--  sroot = s;
-   while (*s)
-     {
-@@ -513,7 +518,7 @@
-     }
-   value = read_16 (ptr);
--  if (value != 2 && value != 3)
-+  if (value != 2 && value != 3 && value != 4)
-     {
-       error (0, 0, "%s: DWARF version %d unhandled", dso->filename,
-            value);
-@@ -529,8 +534,8 @@
-       return 1;
-     }
-   
--  opcode_base = ptr[4];
--  ptr = dir = ptr + 4 + opcode_base;
-+  opcode_base = ptr[4 + (value >= 4)];
-+  ptr = dir = ptr + 4 + (value >= 4) + opcode_base;
-   
-   /* dir table: */
-   value = 1;
-@@ -758,7 +763,8 @@
-       {
-         if (t->attr[i].attr == DW_AT_stmt_list)
-           {
--            if (form == DW_FORM_data4)
-+            if (form == DW_FORM_data4
-+                || form == DW_FORM_sec_offset)
-               {
-                 list_offs = do_read_32_relocated (ptr);
-                 found_list_offs = 1;
-@@ -864,6 +870,8 @@
-             else
-               ptr += 4;
-             break;
-+          case DW_FORM_flag_present:
-+            break;
-           case DW_FORM_addr:
-             ptr += ptr_size;
-             break;
-@@ -878,10 +886,12 @@
-             break;
-           case DW_FORM_ref4:
-           case DW_FORM_data4:
-+          case DW_FORM_sec_offset:
-             ptr += 4;
-             break;
-           case DW_FORM_ref8:
-           case DW_FORM_data8:
-+          case DW_FORM_ref_sig8:
-             ptr += 8;
-             break;
-           case DW_FORM_sdata:
-@@ -910,6 +920,7 @@
-             form = DW_FORM_block1;
-             break;
-           case DW_FORM_block:
-+          case DW_FORM_exprloc:
-             len = read_uleb128 (ptr);
-             form = DW_FORM_block1;
-             assert (len < UINT_MAX);
-@@ -1213,7 +1224,7 @@
-               }
-             
-             cu_version = read_16 (ptr);
--            if (cu_version != 2 && cu_version != 3)
-+            if (cu_version != 2 && cu_version != 3 && cu_version != 4)
-               {
-                 error (0, 0, "%s: DWARF version %d unhandled", dso->filename,
-                        cu_version);
diff --git a/debugedit/patches/debugedit-5.3.5-support-aarch64.patch b/debugedit/patches/debugedit-5.3.5-support-aarch64.patch
deleted file mode 100644 (file)
index d7e92b6..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-From 389d260ca41a277de49ca0154966d549945d8635 Mon Sep 17 00:00:00 2001
-From: Kyle McMartin <kmcmarti@redhat.com>
-Date: Sun, 16 Jun 2013 12:48:46 -0400
-Subject: [PATCH] debugedit: handle aarch64 debug_info relocations
- (RhBug:974860)
-
-AArch64 generates a relocation which must be handled similar to other
-architectures. Adding this patch allows debugedit to run against the
-kernel debuginfo.
-
-Signed-off-by: Panu Matilainen <pmatilai@redhat.com>
----
- debugedit.c | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/debugedit.c b/debugedit.c
-index a658d5b..434bab0 100644
---- a/debugedit.c
-+++ b/debugedit.c
-@@ -1158,6 +1158,10 @@ edit_dwarf2 (DSO *dso)
-                 if (rtype != R_ALPHA_REFLONG)
-                   goto fail;
-                 break;
-+              case EM_AARCH64:
-+                if (rtype != R_AARCH64_ABS32)
-+                  goto fail;
-+                break;
-               default:
-               fail:
-                 error (1, 0, "%s: Unhandled relocation %d in .debug_info section",
diff --git a/debugedit/update/Makefile b/debugedit/update/Makefile
deleted file mode 100644 (file)
index 946a128..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-CPPFLAGS += -I.
-LDLIBS = -lelf -lpopt -lbeecrypt
-
-all: debugedit
-
-debugedit: debugedit.o hashtab.o
-
-clean:
-       rm -f *.o debugedit
-
-.PHONY: clean
diff --git a/debugedit/update/README b/debugedit/update/README
deleted file mode 100644 (file)
index 2a676ae..0000000
+++ /dev/null
@@ -1 +0,0 @@
-From https://gitweb.gentoo.org/repo/gentoo.git/tree/dev-util/debugedit
diff --git a/debugedit/update/update.sh b/debugedit/update/update.sh
deleted file mode 100644 (file)
index 448624b..0000000
+++ /dev/null
@@ -1,58 +0,0 @@
-#!/bin/bash
-
-DISTDIR=/usr/portage/distfiles
-PN=debugedit
-
-set -e
-
-echo "Getting updated index"
-rm -f index.html
-wget -q http://rpm5.org/
-
-PV=$(sed -n '/Production:/{n;s:.*RPM ::;s:<.*::;p;q}' index.html)
-PV=5.3.5
-echo "Latest upstream version: ${PV}"
-rm -f index.html
-
-P="${PN}-${PV}"
-A=${P}.tar.gz
-
-echo "Fetching latest rpm tarball"
-r=rpm-${PV}
-wget -nv http://rpm5.org/files/rpm/rpm-${PV%.*}/${r}.tar.gz
-
-echo "Unpacking ${r}"
-rm -rf ${r}
-tar xf ${r}.tar.gz
-
-echo "Creating ${P}"
-rm -rf ${P}
-mkdir ${P}
-cp Makefile ${r}/tools/{hashtab.?,debugedit.c} ${P}/
-pushd ${P} >/dev/null
-more=true
-while ${more} ; do
-       more=false
-       for h in $(grep '#include' *.[ch] | awk '{print $NF}' | sed 's:[<>"]::g') ; do
-               [[ ${h} == */* ]] && continue
-               rh=$(find ../${r} -name ${h##*/})
-               if [[ -n ${rh} ]] && [[ ! -e ${rh##*/} ]] ; then
-                       # don't copy glibc includes
-                       if ! grep -qs 'This file is part of the GNU C Library' ${rh} ; then
-                               cp ${rh} ./
-                               more=true
-                       fi
-               fi
-       done
-done
-popd >/dev/null
-tar zcf ${A} ${P}
-
-echo "Testing build"
-pushd ${P} >/dev/null
-make -s
-popd >/dev/null
-
-echo "Cleaning up"
-rm -rf ${P} ${r}
-du -b ${A}
index d6e0a6e3e212cb9cd83232d0ae05ce7216b831ad..e4aed70e4c526c4e76f1614654078dad33440ae6 100644 (file)
@@ -4,12 +4,11 @@
 ###############################################################################
 
 name       = dejagnu
-version    = 1.6
-release    = 1
-arch       = noarch
+version    = 1.6.3
+release    = 1.1
 
 groups     = Development/Tools
-url        = http://www.gnu.org/software/dejagnu/
+url        = https://www.gnu.org/software/dejagnu/
 license    = GPLv2+
 summary    = A front end for testing other programs
 
@@ -17,24 +16,26 @@ description
        DejaGnu is an Expect/Tcl based framework for testing other programs.
 end
 
-source_dl  = http://mirror.netcologne.de/gnu/dejagnu/
-sources    = %{thisapp}.tar.gz
+source_dl  = https://ftp.gnu.org/gnu/dejagnu/
 
 build
+       arches = noarch
+
        requires
                bison
                expect
        end
 
-       configure_options += \
-               --mandir=/usr/share/man
-
+       test
+               make check
+       end
 end
 
 packages
        package %{name}
                requires
                        expect
+                       gawk
                        tcl
                end
        end
diff --git a/dejavu-fonts/dejavu-fonts.nm b/dejavu-fonts/dejavu-fonts.nm
deleted file mode 100644 (file)
index 24a77fa..0000000
+++ /dev/null
@@ -1,184 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = dejavu-fonts
-version    = 2.33
-release    = 1
-arch       = noarch
-
-groups     = System/Fonts
-url        = http://www.dejavu-fonts.org/
-license    = Bitstream Vera and Public Domain
-summary    = DejaVu fonts.
-
-description
-       The DejaVu font set is based on the "Bitstream Vera" fonts, release 1.10. Its
-       purpose is to provide a wider range of characters, while maintaining the 
-       original style, using an open collaborative development process.
-end
-
-source_dl  = http://sourceforge.net/projects/dejavu/files/dejavu/%{version}/
-sources    = %{thisapp}.tar.bz2
-
-fontname = dejavu
-fontdir = %{datadir}/fonts/%{fontname}/
-fontconfig_templatedir = %{datadir}/fontconfig/conf.avail/
-fontconfig_confdir = %{sysconfdir}/fonts/conf.d/
-
-build
-       requires
-               perl(Font::TTF)
-               bzip2
-               fontforge
-               unicode-ucd
-       end
-
-       make_build_targets += \
-               VERSION=%{version} \
-               FC-LANG="" \
-               BLOCKS=/usr/share/unicode/ucd/Blocks.txt \
-               UNICODEDATA=/usr/share/unicode/ucd/UnicodeData.txt
-
-       test
-               make check
-       end
-
-       install
-               # Compress the huge state.txt.
-               bzip2 -9 build/status.txt
-
-               # Create directories and install font files.
-               install -m 0755 -d %{BUILDROOT}%{fontdir}
-               install -m 0644 -p build/*.ttf %{BUILDROOT}%{fontdir}
-
-               # Create directories for configuration files.
-               install -m 0755 -d %{BUILDROOT}%{fontconfig_templatedir} \
-                       %{BUILDROOT}%{fontconfig_confdir}
-
-               # Install config files and symlink them to /etc.
-               cd fontconfig
-               for fontconf in *conf; do
-                       install -m 0644 -p $fontconf %{BUILDROOT}%{fontconfig_templatedir}
-                       ln -s ../../..%{fontconfig_templatedir}$fontconf \
-                               %{BUILDROOT}%{fontconfig_confdir}/$fontconf
-
-               done
-       end
-end
-
-packages
-       # Template for fonts.
-       template FONT
-               requires
-                       %{name} = %{thisver}
-               end
-       end
-
-       package %{name}
-
-       package %{name}-sans-fonts
-               template FONT
-
-               summary = Variable-width sans-serif font faces.
-               description
-                       This package consists of the DejaVu sans-serif variable-width font faces, in
-                       their unabridged version.
-               end
-
-               files
-                       %{fontdir}DejaVuSans.ttf
-                       %{fontdir}DejaVuSans-*.ttf
-                       %{fontdir}DejaVuSansCondensed*.ttf
-                       %{fontconfig_templatedir}*-sans.conf
-                       %{fontconfig_confdir}*-sans.conf
-               end
-       end
-
-       package %{name}-serif-fonts
-               template FONT
-
-               summary = Variable-width serif font faces.
-               description
-                       This package consists of the DejaVu serif variable-width font faces, in
-                       their unabridged version.
-               end
-
-               files
-                       %{fontdir}DejaVuSerif.ttf
-                       %{fontdir}DejaVuSerif-*.ttf
-                       %{fontdir}DejaVuSerifCondensed*.ttf
-                       %{fontconfig_templatedir}*-serif.conf
-                       %{fontconfig_confdir}*-serif.conf
-               end
-       end
-
-       package %{name}-sans-mono-fonts
-               template FONT
-
-               summary = Monospace sans-serif fon faces.
-               description
-                       This package consists of the DejaVu sans-serif monospace font faces, in their
-                       unabridged version.
-               end
-
-               files
-                       %{fontdir}DejaVuSansMono.ttf
-                       %{fontconfig_templatedir}*-sans-mono.conf
-                       %{fontconfig_confdir}*-sans-mono.conf
-               end
-       end
-
-       package %{name}-lgc-sans-fonts
-               template FONT
-
-               summary = Variable-width sans-serif font faces, Latin-Greek-Cyrillic subset.
-               description
-                       This package consists of the DejaVu sans-serif variable-width font faces, with
-                       unicode coverage restricted to Latin, Greek and Cyrillic.
-               end
-
-               files
-                       %{fontdir}DejaVuLGCSans.ttf
-                       %{fontdir}DejaVuLGCSans-*.ttf
-                       %{fontdir}DejaVuLGCSansCondensed*.ttf
-                       %{fontconfig_templatedir}*-lgc-sans.conf
-                       %{fontconfig_confdir}*-lgc-sans.conf
-               end
-       end
-
-       package %{name}-lgc-serif-fonts
-               template FONT
-
-               summary = Variable-width serif font faces, Latin-Greek-Cyrillic subset.
-               description
-                       This package consists of the DejaVu serif variable-width font faces, with
-                       unicode coverage restricted to Latin, Greek and Cyrillic.
-               end
-
-               files
-                       %{fontdir}DejaVuLGCSerif.ttf
-                       %{fontdir}DejaVuLGCSerif-*.ttf
-                       %{fontdir}DejaVuLGCSerifCondensed*.ttf
-                       %{fontconfig_templatedir}*-lgc-serif.conf
-                       %{fontconfig_confdir}*-lgc-serif.conf
-               end
-       end
-
-       package %{name}-lgc-sans-mono-fonts
-               template FONT
-
-               summary = Monospace sans-serif font faces, Latin-Greek-Cyrillic subset.
-               description
-                       This package consists of the DejaVu sans-serif monospace font faces, with
-                       unicode coverage restricted to Latin, Greek and Cyrillic.
-               end
-
-               files
-                       %{fontdir}DejaVuLGCSansMono*.ttf
-                       %{fontconfig_templatedir}*-lgc-sans-mono.conf
-                       %{fontconfig_confdir}*-lgc-sans-mono.conf
-               end
-       end
-end
diff --git a/dhcp/dhcp.nm b/dhcp/dhcp.nm
deleted file mode 100644 (file)
index 421c6ca..0000000
+++ /dev/null
@@ -1,211 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = dhcp
-version    = 4.4.1
-release    = 1
-
-groups     = Networking/Daemons
-url        = http://isc.org/products/DHCP/
-license    = ISC
-summary    = Dynamic host configuration protocol software.
-
-description
-       DHCP (Dynamic Host Configuration Protocol) is a protocol which allows
-       individual devices on an IP network to get their own network
-       configuration information (IP address, subnetmask, broadcast address,
-       etc.) from a DHCP server. The overall purpose of DHCP is to make it
-       easier to administer a large network.
-end
-
-source_dl  = ftp://ftp.isc.org/isc/dhcp/%{version}/
-
-build
-       requires
-               autoconf
-               automake
-               bind-devel>=9.9.9-P6
-               bind-devel<10
-               groff
-               libtool
-               openldap-devel
-               libcap-ng-devel
-               systemd-devel
-       end
-
-       CFLAGS += -fno-strict-aliasing
-
-       PARALLELISMFLAGS = # No parallel build.
-
-       configure_options += \
-               --sysconfdir=%{sysconfdir}/dhcp \
-               --with-srv-lease-file=/var/lib/dhcpd/dhcpd.leases \
-               --with-srv6-lease-file=/var/lib/dhcpd/dhcpd6.leases \
-               --with-cli-lease-file=/var/lib/dhclient/dhclient.leases \
-               --with-cli6-lease-file=/var/lib/dhclient/dhclient6.leases \
-               --with-srv-pid-file=/run/dhcpd.pid \
-               --with-srv6-pid-file=/run/dhcpd6.pid \
-               --with-cli-pid-file=/run/dhclient.pid \
-               --with-cli6-pid-file=/run/dhclient6.pid \
-               --with-relay-pid-file=/run/dhcrelay.pid \
-               --with-ldap \
-               --with-ldapcrypto \
-               --disable-static \
-               --enable-paranoia \
-               --enable-early-chroot \
-               --enable-binary-leases \
-               --with-systemd
-
-       prepare_cmds
-               # Regenerate build environment
-               autoreconf --verbose --force --install
-
-               # Change DHCLIENT_DEFAULT_PREFIX_LEN  64 -> 128
-               sed -i -e 's|DHCLIENT_DEFAULT_PREFIX_LEN 64|DHCLIENT_DEFAULT_PREFIX_LEN 128|g' \
-                       includes/site.h
-
-               # Update PATH in all manpages
-               for page in client/dhclient.conf.5 client/dhclient.leases.5 \
-                       client/dhclient-script.8 client/dhclient.8 ; do
-
-                       sed -i -e 's|CLIENTBINDIR|%{sbindir}|g' \
-                               -e 's|RUNDIR|/run|g' \
-                               -e 's|DBDIR|%{localstatedir}/lib/dhclient|g' \
-                               -e 's|ETCDIR|%{dhcpconfdir}|g' $page
-               done
-
-               for page in server/dhcpd.conf.5 server/dhcpd.leases.5 server/dhcpd.8 ; do
-                       sed -i -e 's|CLIENTBINDIR|%{sbindir}|g' \
-                               -e 's|RUNDIR|/run|g' \
-                               -e 's|DBDIR|%{localstatedir}/lib/dhcpd|g' \
-                               -e 's|ETCDIR|%{dhcpconfdir}|g' $page
-               done
-       end
-
-       install_cmds
-               rm -vf %{BUILDROOT}%{sysconfdir}/dhcp/dhclient.conf
-
-               # Create runtime folders.
-               mkdir -pv %{BUILDROOT}/var/lib/dhclient
-               mkdir -pv %{BUILDROOT}/var/lib/dhcpd
-
-               # Create empty lease files.
-               touch %{BUILDROOT}/var/lib/dhclient/dhclient.leases
-               touch %{BUILDROOT}/var/lib/dhclient/dhclient6.leases
-               touch %{BUILDROOT}/var/lib/dhcpd/dhcpd.leases
-               touch %{BUILDROOT}/var/lib/dhcpd/dhcpd6.leases
-       end
-end
-
-packages
-       package %{name}
-               requires
-                       dhcp-common = %{thisver}
-                       dhcp-libs = %{thisver}
-                       /usr/lib/network/helpers/dhcpd-config-helper
-               end
-
-               prerequires += shadow-utils
-
-               configfiles
-                       %{sysconfdir}/dhcp
-               end
-
-               script prein
-                       getent group dhcpd >/dev/null || groupadd -r dhcpd
-                       getent passwd dhcpd >/dev/null || \
-                               useradd -r -g dhcpd -d /var/lib/dhcpd -s /sbin/nologin \
-                               -c "User for the DHCP server" dhcpd
-               end
-
-               # Just search for new unit files that were just installed.
-               script postin
-                       /bin/systemctl daemon-reload >/dev/null 2>&1 || :
-               end
-
-               # Disable the service that is to be removed and stop it if it is still running.
-               script preun
-                       /bin/systemctl --no-reload disable dhcpd.service >/dev/null 2>&1 || :
-                       /bin/systemctl --no-reload disable dhcpd6.service >/dev/null 2>&1 || :
-                       /bin/systemctl --no-reload disable dhcrelay.service >/dev/null 2>&1 || :
-                       /bin/systemctl stop dhcpd.service >/dev/null 2>&1 || :
-                       /bin/systemctl stop dhcpd6.service >/dev/null 2>&1 || :
-                       /bin/systemctl stop dhcrelay.service >/dev/null 2>&1 || :
-               end
-
-               # Just tell systemd that unitfiles have been removed.
-               script postun
-                       /bin/systemctl daemon-reload >/dev/null 2>&1 || :
-               end
-
-               # Try to restart the service if it is running.
-               script postup
-                       /bin/systemctl daemon-reload >/dev/null 2>&1 || :
-                       /bin/systemctl try-restart dhcpd.service >/dev/null 2>&1 || :
-                       /bin/systemctl try-restart dhcpd6.service >/dev/null 2>&1 || :
-                       /bin/systemctl try-restart dhcrelay.service >/dev/null 2>&1 || :
-               end
-       end
-
-       package dhclient
-               summary = DHCP client daemon and dhclient-script.
-               description = %{summary}
-
-               requires
-                       dhcp-common = %{thisver}
-                       dhcp-libs = %{thisver}
-                       %{sbindir}/dhclient-script
-               end
-
-               files
-                       %{unitdir}/dhclient*.service
-                       %{sbindir}/dhclient
-                       /usr/share/man/man5/dhclient*
-                       /usr/share/man/man8/dhclient*
-                       /var/lib/dhclient
-               end
-
-               script postin
-                       systemctl daemon-reload >/dev/null 2>&1 || :
-               end
-
-               script postun
-                       systemctl daemon-reload >/dev/null 2>&1 || :
-               end
-
-               script postup
-                       systemctl daemon-reload >/dev/null 2>&1 || :
-               end
-
-       end
-
-       package %{name}-common
-               summary = Common files used by the dhcp client and server.
-               description = %{summary}
-
-               requires
-                       dhcp-libs = %{thisver}
-               end
-
-               files
-                       /usr/bin/
-                       /usr/share/man/man1/omshell.1*
-                       /usr/share/man/man5/dhcp-options.5*
-                       /usr/share/man/man5/dhcp-eval.5*
-               end
-       end
-
-       package %{name}-libs
-               template LIBS
-       end
-
-       package %{name}-devel
-               template DEVEL
-       end
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
diff --git a/dhcp/patches/0001-change-bug-url.patch b/dhcp/patches/0001-change-bug-url.patch
deleted file mode 100644 (file)
index e0fbba9..0000000
+++ /dev/null
@@ -1,77 +0,0 @@
-From 31ef6eadb15c3773b81256a8617eccc7657fd2fd Mon Sep 17 00:00:00 2001
-From: Pavel Zhukov <pzhukov@redhat.com>
-Date: Thu, 21 Feb 2019 10:09:57 +0100
-Subject: [PATCH 01/21] change bug url
-Cc: pzhukov@redhat.com
-
----
- omapip/errwarn.c | 47 ++++++++++++++++++++++++++++++++++++++++++-----
- 1 file changed, 42 insertions(+), 5 deletions(-)
-
-diff --git a/omapip/errwarn.c b/omapip/errwarn.c
-index e30f8a0..09a3004 100644
---- a/omapip/errwarn.c
-+++ b/omapip/errwarn.c
-@@ -48,6 +48,41 @@ void (*log_cleanup) (void);
- static char mbuf [CVT_BUF_MAX + 1];
- static char fbuf [CVT_BUF_MAX + 1];
-
-+// get BUG_REPORT_URL from /etc/os-release
-+char * bug_report_url(void) {
-+    FILE * file = fopen("/etc/os-release", "r");
-+    size_t len;
-+    char * line = NULL;
-+    char * url = NULL;
-+    size_t url_len = 256;
-+
-+    url = (char *) malloc(url_len * sizeof(char));
-+    strcpy(url, "https://bugzilla.redhat.com/");
-+
-+    if (!file)
-+        return url;
-+
-+    while ((getline(&line, &len, file)) != -1) {
-+        if (strstr(line, "BUG_REPORT_URL") != NULL) {
-+            char * start = strchr(line, '=');
-+            char * rquotes = strrchr(line, '"');
-+
-+            if (rquotes != NULL) {
-+                *rquotes = '\0';
-+                strncpy(url, start+2, url_len);
-+            } else {
-+                strncpy(url, start+1, url_len);
-+            }
-+            url[url_len-1] = '\0';
-+            fclose(file);
-+            return url;
-+        }
-+    }
-+    fclose(file);
-+    return url;
-+}
-+
-+
- /* Log an error message, then exit... */
-
- void log_fatal (const char * fmt, ... )
-@@ -74,11 +109,13 @@ void log_fatal (const char * fmt, ... )
-   }
-
-   log_error ("%s", "");
--  log_error ("If you think you have received this message due to a bug rather");
--  log_error ("than a configuration issue please read the section on submitting");
--  log_error ("bugs on either our web page at www.isc.org or in the README file");
--  log_error ("before submitting a bug.  These pages explain the proper");
--  log_error ("process and the information we find helpful for debugging.");
-+  log_error ("This version of ISC DHCP is based on the release available");
-+  log_error ("on ftp.isc.org. Features have been added and other changes");
-+  log_error ("have been made to the base software release in order to make");
-+  log_error ("it work better with this distribution.");
-+  log_error ("%s", "");
-+  log_error ("Please report issues with this software via: ");
-+  log_error ("%s", bug_report_url());
-   log_error ("%s", "");
-   log_error ("exiting.");
-
---
-2.14.5
diff --git a/dhcp/patches/0002-additional-dhclient-options.patch b/dhcp/patches/0002-additional-dhclient-options.patch
deleted file mode 100644 (file)
index 8f83f86..0000000
+++ /dev/null
@@ -1,467 +0,0 @@
-From 3a86bcb58a7c081df22b6f55e973d5e3c99065d8 Mon Sep 17 00:00:00 2001
-From: Pavel Zhukov <pzhukov@redhat.com>
-Date: Thu, 21 Feb 2019 10:19:47 +0100
-Subject: [PATCH 02/21] additional dhclient options
-Cc: pzhukov@redhat.com
-
----
- client/clparse.c    |  10 +-
- client/dhclient.8   |  27 ++++++
- client/dhclient.c   | 271 +++++++++++++++++++++++++++++++++++++++++++++++++++-
- common/conflex.c    |   2 +
- includes/dhcpd.h    |   3 +
- includes/dhctoken.h |   1 +
- 6 files changed, 308 insertions(+), 6 deletions(-)
-
-diff --git a/client/clparse.c b/client/clparse.c
-index eaf48a8..7212e3a 100644
---- a/client/clparse.c
-+++ b/client/clparse.c
-@@ -189,6 +189,7 @@ isc_result_t read_client_conf ()
-       /* Requested lease time, used by DHCPv6 (DHCPv4 uses the option cache)
-        */
-       top_level_config.requested_lease = 7200;
-+      top_level_config.bootp_broadcast_always = 0;
-
-       group_allocate (&top_level_config.on_receipt, MDL);
-       if (!top_level_config.on_receipt)
-@@ -394,7 +395,8 @@ void read_client_leases ()
-       interface-declaration |
-       LEASE client-lease-statement |
-       ALIAS client-lease-statement |
--      KEY key-definition */
-+      KEY key-definition |
-+      BOOTP_BROADCAST_ALWAYS */
-
- void parse_client_statement (cfile, ip, config)
-       struct parse *cfile;
-@@ -817,6 +819,12 @@ void parse_client_statement (cfile, ip, config)
-               parse_lease_id_format(cfile);
-               break;
-
-+            case BOOTP_BROADCAST_ALWAYS:
-+              token = next_token(&val, (unsigned*)0, cfile);
-+              config -> bootp_broadcast_always = 1;
-+              parse_semi (cfile);
-+              return;
-+
-
-             default:
-               lose = 0;
-diff --git a/client/dhclient.8 b/client/dhclient.8
-index ebc750f..6d7fbdb 100644
---- a/client/dhclient.8
-+++ b/client/dhclient.8
-@@ -134,6 +134,33 @@ dhclient - Dynamic Host Configuration Protocol Client
- .B -w
- ]
- [
-+.B -B
-+]
-+[
-+.B -C
-+.I dhcp-client-identifier
-+]
-+[
-+.B -H
-+.I host-name
-+]
-+[
-+.B -F
-+.I fqdn.fqdn
-+]
-+[
-+.B -V
-+.I vendor-class-identifier
-+]
-+[
-+.B --request-options
-+.I request-option-list
-+]
-+[
-+.B --timeout
-+.I timeout
-+]
-+[
- .B --dad-wait-time
- .I seconds
- ]
-diff --git a/client/dhclient.c b/client/dhclient.c
-index 825ab00..26a333c 100644
---- a/client/dhclient.c
-+++ b/client/dhclient.c
-@@ -41,6 +41,12 @@
- #include <sys/wait.h>
- #include <limits.h>
-
-+/*
-+ * Defined in stdio.h when _GNU_SOURCE is set, but we don't want to define
-+ * that when building ISC code.
-+ */
-+extern int asprintf(char **strp, const char *fmt, ...);
-+
- TIME default_lease_time = 43200; /* 12 hours... */
- TIME max_lease_time = 86400; /* 24 hours... */
-
-@@ -110,6 +116,10 @@ char *mockup_relay = NULL;
-
- char *progname = NULL;
-
-+int bootp_broadcast_always = 0;
-+
-+extern struct option *default_requested_options[];
-+
- void run_stateless(int exit_mode, u_int16_t port);
-
- static isc_result_t write_duid(struct data_string *duid);
-@@ -183,8 +193,12 @@ static const char use_v6command[] = "Command not used for DHCPv4: %s";
- "                [-s server-addr] [-cf config-file]\n" \
- "                [-df duid-file] [-lf lease-file]\n" \
- "                [-pf pid-file] [--no-pid] [-e VAR=val]\n" \
--"                [-sf script-file] [interface]*"
--
-+"                [-sf script-file] [interface]*\n" \
-+"                [-C <dhcp-client-identifier>] [-B]\n" \
-+"                [-H <host-name> | -F <fqdn.fqdn>] [--timeout <timeout>]\n" \
-+"                [-V <vendor-class-identifier>]\n" \
-+"                [--request-options <request option list>]"
-+
- #define DHCLIENT_USAGEH "{--version|--help|-h}"
-
- static void
-@@ -243,6 +257,16 @@ main(int argc, char **argv) {
- #else
-       progname = argv[0];
- #endif
-+        char *dhcp_client_identifier_arg = NULL;
-+        char *dhcp_host_name_arg = NULL;
-+      char *dhcp_fqdn_arg = NULL;
-+      char *dhcp_vendor_class_identifier_arg = NULL;
-+      char *dhclient_request_options = NULL;
-+
-+      int timeout_arg = 0;
-+      char *arg_conf = NULL;
-+      int arg_conf_len = 0;
-+
-       /* Initialize client globals. */
-       memset(&default_duid, 0, sizeof(default_duid));
-
-@@ -558,6 +582,89 @@ main(int argc, char **argv) {
-                       std_dhcid = 1;
-               } else if (!strcmp(argv[i], "-v")) {
-                       quiet = 0;
-+              } else if (!strcmp(argv[i], "-C")) {
-+                      if ((++i == argc) || (argv[i] == NULL) || (*(argv[i])=='\0')) {
-+                              usage(use_noarg, argv[i-1]);
-+                              exit(1);
-+                      }
-+
-+                      if (strlen(argv[i]) >= DHCP_MAX_OPTION_LEN) {
-+                              log_error("-C option dhcp-client-identifier string \"%s\" is too long - maximum length is: %d", argv[i], DHCP_MAX_OPTION_LEN-1);
-+                              exit(1);
-+                      }
-+
-+                      dhcp_client_identifier_arg = argv[i];
-+              } else if (!strcmp(argv[i], "-B")) {
-+                      bootp_broadcast_always = 1;
-+              } else if (!strcmp(argv[i], "-H")) {
-+                      if ((++i == argc) || (argv[i] == NULL) || (*(argv[i])=='\0')) {
-+                              usage(use_noarg, argv[i-1]);
-+                              exit(1);
-+                      }
-+
-+                      if (strlen(argv[i]) >= DHCP_MAX_OPTION_LEN) {
-+                              log_error("-H option host-name string \"%s\" is too long - maximum length is: %d", argv[i], DHCP_MAX_OPTION_LEN-1);
-+                              exit(1);
-+                      }
-+
-+                      if (dhcp_host_name_arg != NULL) {
-+                              log_error("The -H <host-name> and -F <fqdn> arguments are mutually exclusive");
-+                              exit(1);
-+                      }
-+
-+                      dhcp_host_name_arg = argv[i];
-+              } else if (!strcmp(argv[i], "-F")) {
-+                      if ((++i == argc) || (argv[i] == NULL) || (*(argv[i])=='\0')) {
-+                              usage(use_noarg, argv[i-1]);
-+                              exit(1);
-+                      }
-+
-+                      if (strlen(argv[i]) >= DHCP_MAX_OPTION_LEN) {
-+                              log_error("-F option fqdn.fqdn string \"%s\" is too long - maximum length is: %d", argv[i], DHCP_MAX_OPTION_LEN-1);
-+                              exit(1);
-+                      }
-+
-+                      if (dhcp_fqdn_arg != NULL) {
-+                              log_error("Only one -F <fqdn> argument can be specified");
-+                              exit(1);
-+                      }
-+
-+                      if (dhcp_host_name_arg != NULL) {
-+                              log_error("The -F <fqdn> and -H <host-name> arguments are mutually exclusive");
-+                              exit(1);
-+                      }
-+
-+                      dhcp_fqdn_arg = argv[i];
-+              } else if (!strcmp(argv[i], "--timeout")) {
-+                      if ((++i == argc) || (argv[i] == NULL) || (*(argv[i])=='\0')) {
-+                              usage(use_noarg, argv[i-1]);
-+                              exit(1);
-+                      }
-+
-+                      if ((timeout_arg = atoi(argv[i])) <= 0) {
-+                              log_error("timeout option must be > 0 - bad value: %s",argv[i]);
-+                              exit(1);
-+                      }
-+              } else if (!strcmp(argv[i], "-V")) {
-+                      if ((++i == argc) || (argv[i] == NULL) || (*(argv[i])=='\0')) {
-+                              usage(use_noarg, argv[i-1]);
-+                              exit(1);
-+                      }
-+
-+                      if (strlen(argv[i]) >= DHCP_MAX_OPTION_LEN) {
-+                              log_error("-V option vendor-class-identifier string \"%s\" is too long - maximum length is: %d", argv[i], DHCP_MAX_OPTION_LEN-1);
-+                              exit(1);
-+                      }
-+
-+                      dhcp_vendor_class_identifier_arg = argv[i];
-+              } else if (!strcmp(argv[i], "--request-options")) {
-+                      if ((++i == argc) || (argv[i] == NULL) || (*(argv[i])=='\0')) {
-+                              usage(use_noarg, argv[i-1]);
-+                              exit(1);
-+                      }
-+
-+                      dhclient_request_options = argv[i];
-+
-               } else if (argv[i][0] == '-') {
-                       usage("Unknown command: %s", argv[i]);
-               } else if (interfaces_requested < 0) {
-@@ -754,6 +861,156 @@ main(int argc, char **argv) {
-       /* Parse the dhclient.conf file. */
-       read_client_conf();
-
-+      /* Parse any extra command line configuration arguments: */
-+      if ((dhcp_client_identifier_arg != NULL) && (*dhcp_client_identifier_arg != '\0')) {
-+              arg_conf_len = asprintf(&arg_conf, "send dhcp-client-identifier \"%s\";", dhcp_client_identifier_arg);
-+
-+              if ((arg_conf == 0) || (arg_conf_len <= 0))
-+                      log_fatal("Unable to send -C option dhcp-client-identifier");
-+      }
-+
-+      if ((dhcp_host_name_arg != NULL) && (*dhcp_host_name_arg != '\0')) {
-+              if (arg_conf == 0) {
-+                      arg_conf_len = asprintf(&arg_conf, "send host-name \"%s\";", dhcp_host_name_arg);
-+
-+                      if ((arg_conf == 0) || (arg_conf_len <= 0))
-+                              log_fatal("Unable to send -H option host-name");
-+              } else {
-+                      char *last_arg_conf = arg_conf;
-+                      arg_conf = NULL;
-+                      arg_conf_len = asprintf(&arg_conf, "%s\nsend host-name \"%s\";", last_arg_conf, dhcp_host_name_arg);
-+
-+                      if ((arg_conf == 0) || (arg_conf_len <= 0))
-+                              log_fatal("Unable to send -H option host-name");
-+
-+                      free(last_arg_conf);
-+              }
-+      }
-+
-+      if ((dhcp_fqdn_arg != NULL) && (*dhcp_fqdn_arg != '\0')) {
-+              if (arg_conf == 0) {
-+                      arg_conf_len = asprintf(&arg_conf,  "send fqdn.fqdn \"%s\";", dhcp_fqdn_arg);
-+
-+                      if ((arg_conf == 0) || (arg_conf_len <= 0))
-+                              log_fatal("Unable to send -F option fqdn.fqdn");
-+              } else {
-+                      char *last_arg_conf = arg_conf;
-+                      arg_conf = NULL;
-+                      arg_conf_len = asprintf(&arg_conf, "%s\nsend fqdn.fqdn \"%s\";", last_arg_conf, dhcp_fqdn_arg);
-+
-+                      if ((arg_conf == 0)  || (arg_conf_len <= 0))
-+                              log_fatal("Unable to send -F option fqdn.fqdn");
-+
-+                      free(last_arg_conf);
-+              }
-+      }
-+
-+      if (timeout_arg) {
-+              if (arg_conf == 0) {
-+                      arg_conf_len = asprintf(&arg_conf,  "timeout %d;", timeout_arg);
-+
-+                      if ((arg_conf == 0) || (arg_conf_len <= 0))
-+                              log_fatal("Unable to process --timeout timeout argument");
-+              } else {
-+                      char *last_arg_conf = arg_conf;
-+                      arg_conf = NULL;
-+                      arg_conf_len = asprintf(&arg_conf, "%s\ntimeout %d;", last_arg_conf, timeout_arg);
-+
-+                      if ((arg_conf == 0) || (arg_conf_len == 0))
-+                              log_fatal("Unable to process --timeout timeout argument");
-+
-+                      free(last_arg_conf);
-+              }
-+      }
-+
-+      if ((dhcp_vendor_class_identifier_arg != NULL) && (*dhcp_vendor_class_identifier_arg != '\0')) {
-+              if (arg_conf == 0) {
-+                      arg_conf_len = asprintf(&arg_conf,  "send vendor-class-identifier \"%s\";", dhcp_vendor_class_identifier_arg);
-+
-+                      if ((arg_conf == 0) || (arg_conf_len <= 0))
-+                              log_fatal("Unable to send -V option vendor-class-identifier");
-+              } else {
-+                      char *last_arg_conf = arg_conf;
-+                      arg_conf = NULL;
-+                      arg_conf_len = asprintf(&arg_conf, "%s\nsend vendor-class-identifier \"%s\";", last_arg_conf, dhcp_vendor_class_identifier_arg);
-+
-+                      if ((arg_conf == 0) || (arg_conf_len <= 0))
-+                              log_fatal("Unable to send -V option vendor-class-identifier");
-+
-+                      free(last_arg_conf);
-+              }
-+      }
-+
-+      if (dhclient_request_options != NULL) {
-+              if (arg_conf == 0) {
-+                      arg_conf_len = asprintf(&arg_conf,  "request %s;", dhclient_request_options);
-+
-+                      if ((arg_conf == 0) || (arg_conf_len <= 0))
-+                              log_fatal("Unable to parse --request-options <request options list> argument");
-+              } else {
-+                      char *last_arg_conf = arg_conf;
-+                      arg_conf = NULL;
-+                      arg_conf_len = asprintf(&arg_conf, "%s\nrequest %s;", last_arg_conf, dhclient_request_options);
-+
-+                      if ((arg_conf == 0)  || (arg_conf_len <= 0))
-+                              log_fatal("Unable to parse --request-options <request options list> argument");
-+
-+                      free(last_arg_conf);
-+              }
-+      }
-+
-+      if (arg_conf) {
-+              if (arg_conf_len == 0)
-+                      if ((arg_conf_len = strlen(arg_conf)) == 0)
-+                              /* huh ? cannot happen ! */
-+                              log_fatal("Unable to process -C/-H/-F/--timeout/-V/--request-options configuration arguments");
-+
-+              /* parse the extra dhclient.conf configuration arguments
-+               * into top level config: */
-+              struct parse *cfile = (struct parse *)0;
-+              const char *val = NULL;
-+              int token;
-+
-+              status = new_parse(&cfile, -1, arg_conf, arg_conf_len, "extra dhclient -C/-H/-F/--timeout/-V/--request-options configuration arguments", 0);
-+
-+              if ((status != ISC_R_SUCCESS) || (cfile -> warnings_occurred))
-+                      log_fatal("Cannot parse -C/-H/-F/--timeout/-V/--request-options configuration arguments !");
-+              /* more detailed parse failures will be logged */
-+
-+              do {
-+                      token = peek_token(&val, (unsigned *)0, cfile);
-+                      if (token == END_OF_FILE)
-+                              break;
-+
-+                      parse_client_statement(cfile, (struct interface_info *)0, &top_level_config);
-+              } while (1);
-+
-+              if (cfile -> warnings_occurred)
-+                      log_fatal("Cannot parse -C/-H/-F/--timeout/-V/--request-options configuration arguments !");
-+              end_parse(&cfile);
-+
-+              if (timeout_arg) {
-+                      /* we just set the toplevel timeout, but per-client
-+                       * timeouts may still be at defaults.
-+                       */
-+                      for (ip=interfaces; ip; ip = ip->next) {
-+                              if (ip->client->config->timeout == 60)
-+                                      ip->client->config->timeout = timeout_arg;
-+                      }
-+              }
-+
-+              if ((dhclient_request_options != 0) && (top_level_config.requested_options != default_requested_options)) {
-+                      for (ip=interfaces; ip; ip = ip->next) {
-+                              if (ip->client->config->requested_options == default_requested_options)
-+                                      ip->client->config->requested_options = top_level_config.requested_options;
-+                      }
-+              }
-+
-+              free(arg_conf);
-+              arg_conf = NULL;
-+              arg_conf_len = 0;
-+      }
-+
-       /* Parse the lease database. */
-       read_client_leases();
-
-@@ -3226,7 +3483,8 @@ void make_discover (client, lease)
-       client -> packet.xid = random ();
-       client -> packet.secs = 0; /* filled in by send_discover. */
-
--      if (can_receive_unicast_unconfigured (client -> interface))
-+      if ((!(bootp_broadcast_always || client->config->bootp_broadcast_always))
-+          && can_receive_unicast_unconfigured(client->interface))
-               client -> packet.flags = 0;
-       else
-               client -> packet.flags = htons (BOOTP_BROADCAST);
-@@ -3311,7 +3569,9 @@ void make_request (client, lease)
-       } else {
-               memset (&client -> packet.ciaddr, 0,
-                       sizeof client -> packet.ciaddr);
--              if (can_receive_unicast_unconfigured (client -> interface))
-+              if ((!(bootp_broadcast_always ||
-+                  client ->config->bootp_broadcast_always)) &&
-+                  can_receive_unicast_unconfigured (client -> interface))
-                       client -> packet.flags = 0;
-               else
-                       client -> packet.flags = htons (BOOTP_BROADCAST);
-@@ -3374,7 +3634,8 @@ void make_decline (client, lease)
-       client -> packet.hops = 0;
-       client -> packet.xid = client -> xid;
-       client -> packet.secs = 0; /* Filled in by send_request. */
--      if (can_receive_unicast_unconfigured (client -> interface))
-+      if ((!(bootp_broadcast_always || client->config-> bootp_broadcast_always))
-+          && can_receive_unicast_unconfigured (client->interface))
-               client -> packet.flags = 0;
-       else
-               client -> packet.flags = htons (BOOTP_BROADCAST);
-diff --git a/common/conflex.c b/common/conflex.c
-index 045b655..71c0bf5 100644
---- a/common/conflex.c
-+++ b/common/conflex.c
-@@ -832,6 +832,8 @@ intern(char *atom, enum dhcp_token dfv) {
-               if (!strcasecmp(atom+1, "ig-endian")) {
-                       return TOKEN_BIG_ENDIAN;
-               }
-+              if (!strcasecmp (atom + 1, "ootp-broadcast-always"))
-+                      return BOOTP_BROADCAST_ALWAYS;
-               break;
-             case 'c':
-               if (!strcasecmp(atom + 1, "ase"))
-diff --git a/includes/dhcpd.h b/includes/dhcpd.h
-index 5930e6a..018fa34 100644
---- a/includes/dhcpd.h
-+++ b/includes/dhcpd.h
-@@ -1269,6 +1269,9 @@ struct client_config {
-
-       int lease_id_format;            /* format for IDs in lease file,
-                                          TOKEN_OCTAL or TOKEN_HEX */
-+
-+      int bootp_broadcast_always;     /* If nonzero, always set the BOOTP_BROADCAST
-+                                         flag in requests */
- };
-
- /* Per-interface state used in the dhcp client... */
-diff --git a/includes/dhctoken.h b/includes/dhctoken.h
-index 5920f4f..7e7215a 100644
---- a/includes/dhctoken.h
-+++ b/includes/dhctoken.h
-@@ -377,6 +377,7 @@ enum dhcp_token {
-       TOKEN_HEX = 677,
-       TOKEN_OCTAL = 678,
-       KEY_ALGORITHM = 679
-+        BOOTP_BROADCAST_ALWAYS = 680
- };
-
- #define is_identifier(x)      ((x) >= FIRST_TOKEN &&  \
---
-2.14.5
diff --git a/dhcp/patches/0003-Handle-releasing-interfaces-requested-by-sbin-ifup.patch b/dhcp/patches/0003-Handle-releasing-interfaces-requested-by-sbin-ifup.patch
deleted file mode 100644 (file)
index 34301d9..0000000
+++ /dev/null
@@ -1,98 +0,0 @@
-From 692fd8b16ef6f12a57596351e930c65c68597bac Mon Sep 17 00:00:00 2001
-From: Pavel Zhukov <pzhukov@redhat.com>
-Date: Thu, 21 Feb 2019 10:21:14 +0100
-Subject: [PATCH 03/21] Handle releasing interfaces requested by /sbin/ifup
-Cc: pzhukov@redhat.com
-
----
- client/dhclient.c | 72 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
- 1 file changed, 72 insertions(+)
-
-diff --git a/client/dhclient.c b/client/dhclient.c
-index 26a333c..2a2e9e6 100644
---- a/client/dhclient.c
-+++ b/client/dhclient.c
-@@ -787,9 +787,81 @@ main(int argc, char **argv) {
-                               }
-                       }
-                       fclose(pidfd);
-+              } else {
-+                      /* handle release for interfaces requested with Red Hat
-+                       * /sbin/ifup - pidfile will be /var/run/dhclient-$interface.pid
-+                       */
-+
-+                      if ((path_dhclient_pid == NULL) || (*path_dhclient_pid == '\0'))
-+                              path_dhclient_pid = "/var/run/dhclient.pid";
-+
-+                      char *new_path_dhclient_pid;
-+                      struct interface_info *ip;
-+                      int pdp_len = strlen(path_dhclient_pid), pfx, dpfx;
-+
-+                      /* find append point: beginning of any trailing '.pid'
-+                       * or '-$IF.pid' */
-+                      for (pfx=pdp_len; (pfx >= 0) && (path_dhclient_pid[pfx] != '.') && (path_dhclient_pid[pfx] != '/'); pfx--);
-+                              if (pfx == -1)
-+                                      pfx = pdp_len;
-+
-+                      if (path_dhclient_pid[pfx] == '/')
-+                              pfx += 1;
-+
-+                      for (dpfx=pfx; (dpfx >= 0) && (path_dhclient_pid[dpfx] != '-') && (path_dhclient_pid[dpfx] != '/'); dpfx--);
-+                              if ((dpfx > -1) && (path_dhclient_pid[dpfx] != '/'))
-+                                      pfx = dpfx;
-+
-+                      for (ip = interfaces; ip; ip = ip->next) {
-+                              if (interfaces_requested && (ip->flags & (INTERFACE_REQUESTED))) {
-+                                      int n_len = strlen(ip->name);
-+
-+                                      new_path_dhclient_pid = (char*) malloc(pfx + n_len + 6);
-+                                      strncpy(new_path_dhclient_pid, path_dhclient_pid, pfx);
-+                                      sprintf(new_path_dhclient_pid + pfx, "-%s.pid", ip->name);
-+
-+                                      if ((pidfd = fopen(new_path_dhclient_pid, "r")) != NULL) {
-+                                              e = fscanf(pidfd, "%ld\n", &temp);
-+                                              oldpid = (pid_t)temp;
-+
-+                                              if (e != 0 && e != EOF) {
-+                                                      if (oldpid) {
-+                                                              if (kill(oldpid, SIGTERM) == 0)
-+                                                                      unlink(path_dhclient_pid);
-+                                                      }
-+                                              }
-+
-+                                              fclose(pidfd);
-+                                      }
-+
-+                                      free(new_path_dhclient_pid);
-+                              }
-+                      }
-+              }
-+      } else {
-+              FILE *pidfp = NULL;
-+              long temp = 0;
-+              pid_t dhcpid = 0;
-+              int dhc_running = 0;
-+              char procfn[256] = "";
-+
-+              if ((pidfp = fopen(path_dhclient_pid, "r")) != NULL) {
-+                      if ((fscanf(pidfp, "%ld", &temp)==1) && ((dhcpid=(pid_t)temp) > 0)) {
-+                              snprintf(procfn,256,"/proc/%u",dhcpid);
-+                              dhc_running = (access(procfn, F_OK) == 0);
-+                      }
-+
-+                      fclose(pidfp);
-+              }
-+
-+              if (dhc_running) {
-+                      log_fatal("dhclient(%u) is already running - exiting. ", dhcpid);
-+                      return(1);
-               }
-       }
-
-+      write_client_pid_file();
-+
-       if (!quiet) {
-               log_info("%s %s", message, PACKAGE_VERSION);
-               log_info(copyright);
---
-2.14.5
diff --git a/dhcp/patches/0004-Support-unicast-BOOTP-for-IBM-pSeries-systems-and-ma.patch b/dhcp/patches/0004-Support-unicast-BOOTP-for-IBM-pSeries-systems-and-ma.patch
deleted file mode 100644 (file)
index 5b0e109..0000000
+++ /dev/null
@@ -1,117 +0,0 @@
-From 9dc17d6086bf140efda84ce434664b60ce2191a1 Mon Sep 17 00:00:00 2001
-From: Pavel Zhukov <pzhukov@redhat.com>
-Date: Thu, 21 Feb 2019 10:22:41 +0100
-Subject: [PATCH 04/21] Support unicast BOOTP for IBM pSeries systems (and
- maybe others)
-Cc: pzhukov@redhat.com
-
----
- server/bootp.c | 12 +++++++++++-
- server/dhcp.c  | 33 ++++++++++++++++++++++++++-------
- 2 files changed, 37 insertions(+), 8 deletions(-)
-
-diff --git a/server/bootp.c b/server/bootp.c
-index 26a7607..2212f31 100644
---- a/server/bootp.c
-+++ b/server/bootp.c
-@@ -52,6 +52,7 @@ void bootp (packet)
-       char msgbuf [1024];
-       int ignorep;
-       int peer_has_leases = 0;
-+      int norelay = 0;
-
-       if (packet -> raw -> op != BOOTREQUEST)
-               return;
-@@ -67,7 +68,7 @@ void bootp (packet)
-                ? inet_ntoa (packet -> raw -> giaddr)
-                : packet -> interface -> name);
-
--      if (!locate_network (packet)) {
-+      if ((norelay = locate_network (packet)) == 0) {
-               log_info ("%s: network unknown", msgbuf);
-               return;
-       }
-@@ -428,6 +429,15 @@ void bootp (packet)
-
-                       goto out;
-               }
-+      } else if (norelay == 2) {
-+              to.sin_addr = raw.ciaddr;
-+              to.sin_port = remote_port;
-+              if (fallback_interface) {
-+                      result = send_packet (fallback_interface, NULL, &raw,
-+                                            outgoing.packet_length, from,
-+                                            &to, &hto);
-+                      goto out;
-+              }
-
-       /* If it comes from a client that already knows its address
-          and is not requesting a broadcast response, and we can
-diff --git a/server/dhcp.c b/server/dhcp.c
-index 6f3a91f..20f2a62 100644
---- a/server/dhcp.c
-+++ b/server/dhcp.c
-@@ -5224,6 +5224,7 @@ int locate_network (packet)
-       struct data_string data;
-       struct subnet *subnet = (struct subnet *)0;
-       struct option_cache *oc;
-+      int norelay = 0;
-
- #if defined(DHCPv6) && defined(DHCP4o6)
-       if (dhcpv4_over_dhcpv6 && (packet->dhcp4o6_response != NULL)) {
-@@ -5245,12 +5246,24 @@ int locate_network (packet)
-          from the interface, if there is one.   If not, fail. */
-       if (!oc && !packet -> raw -> giaddr.s_addr) {
-               if (packet -> interface -> shared_network) {
--                      shared_network_reference
--                              (&packet -> shared_network,
--                               packet -> interface -> shared_network, MDL);
--                      return 1;
-+                      struct in_addr any_addr;
-+                      any_addr.s_addr = INADDR_ANY;
-+
-+                      if (!packet -> packet_type && memcmp(&packet -> raw -> ciaddr, &any_addr, 4)) {
-+                              struct iaddr cip;
-+                              memcpy(cip.iabuf, &packet -> raw -> ciaddr, 4);
-+                              cip.len = 4;
-+                              if (!find_grouped_subnet(&subnet, packet->interface->shared_network, cip, MDL))
-+                                      norelay = 2;
-+                      }
-+
-+                      if (!norelay) {
-+                              shared_network_reference(&packet -> shared_network, packet -> interface -> shared_network, MDL);
-+                              return 1;
-+                      }
-+              } else {
-+                      return 0;
-               }
--              return 0;
-       }
-
-       /* If there's an option indicating link connection, and it's valid,
-@@ -5277,7 +5290,10 @@ int locate_network (packet)
-               data_string_forget (&data, MDL);
-       } else {
-               ia.len = 4;
--              memcpy (ia.iabuf, &packet -> raw -> giaddr, 4);
-+              if (norelay)
-+                      memcpy (ia.iabuf, &packet->raw->ciaddr, 4);
-+              else
-+                      memcpy (ia.iabuf, &packet->raw->giaddr, 4);
-       }
-
-       /* If we know the subnet on which the IP address lives, use it. */
-@@ -5285,7 +5301,10 @@ int locate_network (packet)
-               shared_network_reference (&packet -> shared_network,
-                                         subnet -> shared_network, MDL);
-               subnet_dereference (&subnet, MDL);
--              return 1;
-+              if (norelay)
-+                      return norelay;
-+              else
-+                      return 1;
-       }
-
-       /* Otherwise, fail. */
---
-2.14.5
diff --git a/dhcp/patches/0005-Change-default-requested-options.patch b/dhcp/patches/0005-Change-default-requested-options.patch
deleted file mode 100644 (file)
index ec5384e..0000000
+++ /dev/null
@@ -1,59 +0,0 @@
-From ac21c8b966620cbe79be3508c024ae30f93d6266 Mon Sep 17 00:00:00 2001
-From: Pavel Zhukov <pzhukov@redhat.com>
-Date: Thu, 21 Feb 2019 10:24:24 +0100
-Subject: [PATCH 05/21] Change default requested options
-Cc: pzhukov@redhat.com
-
-Add NIS domain, NIS servers, NTP servers, interface-mtu and domain-search
-to the list of default requested DHCP options
----
- client/clparse.c | 27 ++++++++++++++++++++++++++-
- 1 file changed, 26 insertions(+), 1 deletion(-)
-
-diff --git a/client/clparse.c b/client/clparse.c
-index 7212e3a..39b95a0 100644
---- a/client/clparse.c
-+++ b/client/clparse.c
-@@ -31,7 +31,7 @@
-
- struct client_config top_level_config;
-
--#define NUM_DEFAULT_REQUESTED_OPTS    9
-+#define NUM_DEFAULT_REQUESTED_OPTS    14
- /* There can be 2 extra requested options for DHCPv4-over-DHCPv6. */
- struct option *default_requested_options[NUM_DEFAULT_REQUESTED_OPTS + 2 + 1];
-
-@@ -116,6 +116,31 @@ isc_result_t read_client_conf ()
-       option_code_hash_lookup(&default_requested_options[8],
-                               dhcpv6_universe.code_hash, &code, 0, MDL);
-
-+      /* 10 */
-+      code = DHO_NIS_DOMAIN;
-+      option_code_hash_lookup(&default_requested_options[9],
-+                              dhcp_universe.code_hash, &code, 0, MDL);
-+
-+      /* 11 */
-+      code = DHO_NIS_SERVERS;
-+      option_code_hash_lookup(&default_requested_options[10],
-+                              dhcp_universe.code_hash, &code, 0, MDL);
-+
-+      /* 12 */
-+      code = DHO_NTP_SERVERS;
-+      option_code_hash_lookup(&default_requested_options[11],
-+                              dhcp_universe.code_hash, &code, 0, MDL);
-+
-+      /* 13 */
-+      code = DHO_INTERFACE_MTU;
-+      option_code_hash_lookup(&default_requested_options[12],
-+                              dhcp_universe.code_hash, &code, 0, MDL);
-+
-+      /* 14 */
-+      code = DHO_DOMAIN_SEARCH;
-+      option_code_hash_lookup(&default_requested_options[13],
-+                              dhcp_universe.code_hash, &code, 0, MDL);
-+
-       for (code = 0 ; code < NUM_DEFAULT_REQUESTED_OPTS ; code++) {
-               if (default_requested_options[code] == NULL)
-                       log_fatal("Unable to find option definition for "
---
-2.14.5
diff --git a/dhcp/patches/0006-Various-man-page-only-fixes.patch b/dhcp/patches/0006-Various-man-page-only-fixes.patch
deleted file mode 100644 (file)
index 63c6b5c..0000000
+++ /dev/null
@@ -1,167 +0,0 @@
-From dd3053e6f45ac1f149869b7ded3f539d6c046114 Mon Sep 17 00:00:00 2001
-From: Pavel Zhukov <pzhukov@redhat.com>
-Date: Thu, 21 Feb 2019 10:25:53 +0100
-Subject: [PATCH 06/21] Various man-page-only fixes
-Cc: pzhukov@redhat.com
-
----
- client/dhclient-script.8 | 22 +++++++++++++++++++++-
- client/dhclient.conf.5   | 14 +++++++++++++-
- common/dhcp-options.5    | 15 +++++++++++++++
- server/dhcpd.conf.5      | 14 +++++++++-----
- 4 files changed, 58 insertions(+), 7 deletions(-)
-
-diff --git a/client/dhclient-script.8 b/client/dhclient-script.8
-index 3553afd..0db5516 100644
---- a/client/dhclient-script.8
-+++ b/client/dhclient-script.8
-@@ -43,7 +43,7 @@ customizations are needed, they should be possible using the enter and
- exit hooks provided (see HOOKS for details).   These hooks will allow the
- user to override the default behaviour of the client in creating a
- .B /etc/resolv.conf
--file.
-+file, and to handle DHCP options not handled by default.
- .PP
- No standard client script exists for some operating systems, even though
- the actual client may work, so a pioneering user may well need to create
-@@ -87,6 +87,26 @@ present.   The
- .B ETCDIR/dhclient-exit-hooks
- script can modify the valid of exit_status to change the exit status
- of dhclient-script.
-+.PP
-+Immediately after dhclient brings an interface UP with a new IP address,
-+subnet mask, and routes, in the REBOOT/BOUND states, it will check for the
-+existence of an executable
-+.B ETCDIR/dhclient-up-hooks
-+script, and source it if found. This script can handle DHCP options in
-+the environment that are not handled by default. A per-interface.
-+.B ETCDIR/dhclient-${IF}-up-hooks
-+script will override the generic script and be sourced when interface
-+$IF has been brought up.
-+.PP
-+Immediately before dhclient brings an interface DOWN, removing its IP
-+address, subnet mask, and routes, in the STOP/RELEASE  states, it will
-+check for the existence of an executable
-+.B ETCDIR/dhclient-down-hooks
-+script, and source it if found. This script can handle DHCP options in
-+the environment that are not handled by default. A per-interface
-+.B ETCDIR/dhclient-${IF}-down-hooks
-+script will override the generic script and be sourced when interface
-+$IF is about to be brought down.
- .SH OPERATION
- When dhclient needs to invoke the client configuration script, it
- defines a set of variables in the environment, and then invokes
-diff --git a/client/dhclient.conf.5 b/client/dhclient.conf.5
-index fa3b908..566a881 100644
---- a/client/dhclient.conf.5
-+++ b/client/dhclient.conf.5
-@@ -228,7 +228,8 @@ responding to the client send the client its values for the specified
- options.  Only the option names should be specified in the request
- statement - not option parameters.  By default, the DHCPv4 client
- requests the subnet-mask, broadcast-address, time-offset, routers,
--domain-name, domain-name-servers and host-name options while the DHCPv6
-+domain-search, domain-name, domain-name-servers, host-name, nis-domain,
-+nis-servers, ntp-servers and interface-mtu options while the DHCPv6
- client requests the dhcp6 name-servers and domain-search options.  Note
- that if you enter a \'request\' statement, you over-ride these defaults
- and these options will not be requested.
-@@ -735,6 +736,17 @@ broadcast packets transmitted by DHCP clients, but is only useful if you
- know the DHCP service(s) anycast MAC address prior to configuring your
- client.  The \fIlink-type\fR and \fImac-address\fR parameters are configured
- in a similar manner to the \fBhardware\fR statement.
-+.PP
-+ \fBbootp-broadcast-always;\fR
-+.PP
-+The
-+.B bootp-broadcast-always
-+statement instructs dhclient to always set the bootp broadcast flag in
-+request packets, so that servers will always broadcast replies.
-+This is equivalent to supplying the dhclient -B argument, and has
-+the same effect as specifying 'always-broadcast' in the server's dhcpd.conf.
-+This option is provided as an extension to enable dhclient to work
-+on IBM s390 Linux guests.
- .PP
- .SH SAMPLE
- The following configuration file was used on a laptop running NetBSD
-diff --git a/common/dhcp-options.5 b/common/dhcp-options.5
-index 33d4804..d9e1197 100644
---- a/common/dhcp-options.5
-+++ b/common/dhcp-options.5
-@@ -1068,6 +1068,21 @@ classless IP routing - it does not include a subnet mask.  Since
- classless IP routing is now the most widely deployed routing standard,
- this option is virtually useless, and is not implemented by any of the
- popular DHCP clients, for example the Microsoft DHCP client.
-+.PP
-+NOTE to Fedora dhclient users:
-+.br
-+dhclient-script interprets trailing 0 octets of the target as indicating
-+the subnet class of the route, so for the following static-routes value:
-+.br
-+        option static-routes 172.0.0.0 172.16.2.254,
-+.br
-+                             192.168.0.0 192.168.2.254;
-+.br
-+dhclient-script will create routes:
-+.br
-+        172/8 via 172.16.2.254 dev $interface
-+.br
-+        192.168/16 via 192.168.2.254 dev $interface
- .RE
- .PP
- .nf
-diff --git a/server/dhcpd.conf.5 b/server/dhcpd.conf.5
-index 17330d4..89b5540 100644
---- a/server/dhcpd.conf.5
-+++ b/server/dhcpd.conf.5
-@@ -527,6 +527,9 @@ pool {
- };
- .fi
- .PP
-+Dynamic BOOTP leases are not compatible with failover, and, as such,
-+you need to disallow BOOTP in pools that you are using failover for.
-+.PP
- The  server currently  does very  little  sanity checking,  so if  you
- configure it wrong, it will just  fail in odd ways.  I would recommend
- therefore that you either do  failover or don't do failover, but don't
-@@ -541,9 +544,9 @@ primary server might look like this:
- failover peer "foo" {
-   primary;
-   address anthrax.rc.example.com;
--  port 519;
-+  port 647;
-   peer address trantor.rc.example.com;
--  peer port 520;
-+  peer port 847;
-   max-response-delay 60;
-   max-unacked-updates 10;
-   mclt 3600;
-@@ -1323,7 +1326,7 @@ the zone containing PTR records - for ISC BIND, something like this:
- .PP
- .nf
- key DHCP_UPDATER {
--  algorithm HMAC-MD5.SIG-ALG.REG.INT;
-+  algorithm hmac-md5;
-   secret pRP5FapFoJ95JEL06sv4PQ==;
- };
-
-@@ -1346,7 +1349,7 @@ dhcpd.conf file:
- .PP
- .nf
- key DHCP_UPDATER {
--  algorithm HMAC-MD5.SIG-ALG.REG.INT;
-+  algorithm hmac-md5;
-   secret pRP5FapFoJ95JEL06sv4PQ==;
- };
-
-@@ -2912,7 +2915,8 @@ statement
- The \fInext-server\fR statement is used to specify the host address of
- the server from which the initial boot file (specified in the
- \fIfilename\fR statement) is to be loaded.  \fIServer-name\fR should
--be a numeric IP address or a domain name.
-+be a numeric IP address or a domain name.  If no \fInext-server\fR statement
-+applies to a given client, the address 0.0.0.0 is used.
- .RE
- .PP
- The
---
-2.14.5
diff --git a/dhcp/patches/0007-Change-paths-to-conform-to-our-standards.patch b/dhcp/patches/0007-Change-paths-to-conform-to-our-standards.patch
deleted file mode 100644 (file)
index 1ca9c16..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
-From bf4e3f1d181b5b4e6225fe5726c02420157433cc Mon Sep 17 00:00:00 2001
-From: Pavel Zhukov <pzhukov@redhat.com>
-Date: Thu, 21 Feb 2019 10:26:34 +0100
-Subject: [PATCH 07/21] Change paths to conform to our standards
-Cc: pzhukov@redhat.com
-
----
- doc/examples/dhcpd-dhcpv6.conf | 2 +-
- includes/dhcpd.h               | 6 +++---
- 2 files changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/doc/examples/dhcpd-dhcpv6.conf b/doc/examples/dhcpd-dhcpv6.conf
-index 448a6a6..2357824 100644
---- a/doc/examples/dhcpd-dhcpv6.conf
-+++ b/doc/examples/dhcpd-dhcpv6.conf
-@@ -43,7 +43,7 @@ option dhcp6.domain-search "test.example.com","example.com";
- option dhcp6.info-refresh-time 21600;
-
- # The path of the lease file
--dhcpv6-lease-file-name "/usr/local/var/db/dhcpd6.leases";
-+dhcpv6-lease-file-name "/var/lib/dhcpd/dhcpd6.leases";
-
- # Static definition (must be global)
- host myclient {
-diff --git a/includes/dhcpd.h b/includes/dhcpd.h
-index 018fa34..3632a6b 100644
---- a/includes/dhcpd.h
-+++ b/includes/dhcpd.h
-@@ -1545,7 +1545,7 @@ typedef unsigned char option_mask [16];
- #else /* !DEBUG */
-
- #ifndef _PATH_DHCPD_CONF
--#define _PATH_DHCPD_CONF      "/etc/dhcpd.conf"
-+#define _PATH_DHCPD_CONF      "/etc/dhcp/dhcpd.conf"
- #endif /* DEBUG */
-
- #ifndef _PATH_DHCPD_DB
-@@ -1567,11 +1567,11 @@ typedef unsigned char option_mask [16];
- #endif /* DEBUG */
-
- #ifndef _PATH_DHCLIENT_CONF
--#define _PATH_DHCLIENT_CONF   "/etc/dhclient.conf"
-+#define _PATH_DHCLIENT_CONF   "/etc/dhcp/dhclient.conf"
- #endif
-
- #ifndef _PATH_DHCLIENT_SCRIPT
--#define _PATH_DHCLIENT_SCRIPT "/sbin/dhclient-script"
-+#define _PATH_DHCLIENT_SCRIPT "/usr/sbin/dhclient-script"
- #endif
-
- #ifndef _PATH_DHCLIENT_PID
---
-2.14.5
diff --git a/dhcp/patches/0008-Make-sure-all-open-file-descriptors-are-closed-on-ex.patch b/dhcp/patches/0008-Make-sure-all-open-file-descriptors-are-closed-on-ex.patch
deleted file mode 100644 (file)
index 58d3696..0000000
+++ /dev/null
@@ -1,366 +0,0 @@
-From 26d34bc8e55c39ef84d580b6453c65b5cbeab8ff Mon Sep 17 00:00:00 2001
-From: Pavel Zhukov <pzhukov@redhat.com>
-Date: Thu, 21 Feb 2019 10:27:18 +0100
-Subject: [PATCH 08/21] Make sure all open file descriptors are closed-on-exec
- for SELinux
-Cc: pzhukov@redhat.com
-
-ISC-bug: #19148
----
- client/clparse.c  |  4 ++--
- client/dhclient.c | 28 ++++++++++++++--------------
- common/bpf.c      |  2 +-
- common/dlpi.c     |  2 +-
- common/nit.c      |  2 +-
- common/resolv.c   |  2 +-
- common/upf.c      |  2 +-
- omapip/trace.c    |  6 +++---
- relay/dhcrelay.c  | 10 +++++-----
- server/confpars.c |  2 +-
- server/db.c       |  4 ++--
- server/dhcpd.c    | 14 +++++++-------
- server/ldap.c     |  2 +-
- 13 files changed, 40 insertions(+), 40 deletions(-)
-
-diff --git a/client/clparse.c b/client/clparse.c
-index 39b95a0..44387ed 100644
---- a/client/clparse.c
-+++ b/client/clparse.c
-@@ -288,7 +288,7 @@ int read_client_conf_file (const char *name, struct interface_info *ip,
-       int token;
-       isc_result_t status;
-
--      if ((file = open (name, O_RDONLY)) < 0)
-+      if ((file = open (name, O_RDONLY | O_CLOEXEC)) < 0)
-               return uerr2isc (errno);
-
-       cfile = NULL;
-@@ -364,7 +364,7 @@ void read_client_leases ()
-
-       /* Open the lease file.   If we can't open it, just return -
-          we can safely trust the server to remember our state. */
--      if ((file = open (path_dhclient_db, O_RDONLY)) < 0)
-+      if ((file = open (path_dhclient_db, O_RDONLY | O_CLOEXEC)) < 0)
-               return;
-
-       cfile = NULL;
-diff --git a/client/dhclient.c b/client/dhclient.c
-index 2a2e9e6..a86ab9e 100644
---- a/client/dhclient.c
-+++ b/client/dhclient.c
-@@ -273,11 +273,11 @@ main(int argc, char **argv) {
-       /* Make sure that file descriptors 0 (stdin), 1, (stdout), and
-          2 (stderr) are open. To do this, we assume that when we
-          open a file the lowest available file descriptor is used. */
--      fd = open("/dev/null", O_RDWR);
-+      fd = open("/dev/null", O_RDWR | O_CLOEXEC);
-       if (fd == 0)
--              fd = open("/dev/null", O_RDWR);
-+              fd = open("/dev/null", O_RDWR | O_CLOEXEC);
-       if (fd == 1)
--              fd = open("/dev/null", O_RDWR);
-+              fd = open("/dev/null", O_RDWR | O_CLOEXEC);
-       if (fd == 2)
-               log_perror = 0; /* No sense logging to /dev/null. */
-       else if (fd != -1)
-@@ -765,7 +765,7 @@ main(int argc, char **argv) {
-               long temp;
-               int e;
-
--              if ((pidfd = fopen(path_dhclient_pid, "r")) != NULL) {
-+              if ((pidfd = fopen(path_dhclient_pid, "re")) != NULL) {
-                       e = fscanf(pidfd, "%ld\n", &temp);
-                       oldpid = (pid_t)temp;
-
-@@ -820,7 +820,7 @@ main(int argc, char **argv) {
-                                       strncpy(new_path_dhclient_pid, path_dhclient_pid, pfx);
-                                       sprintf(new_path_dhclient_pid + pfx, "-%s.pid", ip->name);
-
--                                      if ((pidfd = fopen(new_path_dhclient_pid, "r")) != NULL) {
-+                                      if ((pidfd = fopen(new_path_dhclient_pid, "re")) != NULL) {
-                                               e = fscanf(pidfd, "%ld\n", &temp);
-                                               oldpid = (pid_t)temp;
-
-@@ -845,7 +845,7 @@ main(int argc, char **argv) {
-               int dhc_running = 0;
-               char procfn[256] = "";
-
--              if ((pidfp = fopen(path_dhclient_pid, "r")) != NULL) {
-+              if ((pidfp = fopen(path_dhclient_pid, "re")) != NULL) {
-                       if ((fscanf(pidfp, "%ld", &temp)==1) && ((dhcpid=(pid_t)temp) > 0)) {
-                               snprintf(procfn,256,"/proc/%u",dhcpid);
-                               dhc_running = (access(procfn, F_OK) == 0);
-@@ -3808,7 +3808,7 @@ void rewrite_client_leases ()
-
-       if (leaseFile != NULL)
-               fclose (leaseFile);
--      leaseFile = fopen (path_dhclient_db, "w");
-+      leaseFile = fopen (path_dhclient_db, "we");
-       if (leaseFile == NULL) {
-               log_error ("can't create %s: %m", path_dhclient_db);
-               return;
-@@ -4003,7 +4003,7 @@ write_duid(struct data_string *duid)
-               return DHCP_R_INVALIDARG;
-
-       if (leaseFile == NULL) {        /* XXX? */
--              leaseFile = fopen(path_dhclient_db, "w");
-+              leaseFile = fopen(path_dhclient_db, "we");
-               if (leaseFile == NULL) {
-                       log_error("can't create %s: %m", path_dhclient_db);
-                       return ISC_R_IOERROR;
-@@ -4207,7 +4207,7 @@ int write_client_lease (client, lease, rewrite, makesure)
-               return 1;
-
-       if (leaseFile == NULL) {        /* XXX */
--              leaseFile = fopen (path_dhclient_db, "w");
-+              leaseFile = fopen (path_dhclient_db, "we");
-               if (leaseFile == NULL) {
-                       log_error ("can't create %s: %m", path_dhclient_db);
-                       return 0;
-@@ -4786,9 +4786,9 @@ void detach ()
-       (void) close(2);
-
-       /* Reopen them on /dev/null. */
--      (void) open("/dev/null", O_RDWR);
--      (void) open("/dev/null", O_RDWR);
--      (void) open("/dev/null", O_RDWR);
-+      (void) open("/dev/null", O_RDWR | O_CLOEXEC);
-+      (void) open("/dev/null", O_RDWR | O_CLOEXEC);
-+      (void) open("/dev/null", O_RDWR | O_CLOEXEC);
-
-       write_client_pid_file ();
-
-@@ -4806,14 +4806,14 @@ void write_client_pid_file ()
-               return;
-       }
-
--      pfdesc = open (path_dhclient_pid, O_CREAT | O_TRUNC | O_WRONLY, 0644);
-+      pfdesc = open (path_dhclient_pid, O_CREAT | O_TRUNC | O_WRONLY | O_CLOEXEC, 0644);
-
-       if (pfdesc < 0) {
-               log_error ("Can't create %s: %m", path_dhclient_pid);
-               return;
-       }
-
--      pf = fdopen (pfdesc, "w");
-+      pf = fdopen (pfdesc, "we");
-       if (!pf) {
-               close(pfdesc);
-               log_error ("Can't fdopen %s: %m", path_dhclient_pid);
-diff --git a/common/bpf.c b/common/bpf.c
-index 16076fe..67b6d64 100644
---- a/common/bpf.c
-+++ b/common/bpf.c
-@@ -94,7 +94,7 @@ int if_register_bpf (info)
-       for (b = 0; 1; b++) {
-               /* %Audit% 31 bytes max. %2004.06.17,Safe% */
-               sprintf(filename, BPF_FORMAT, b);
--              sock = open (filename, O_RDWR, 0);
-+              sock = open (filename, O_RDWR | O_CLOEXEC, 0);
-               if (sock < 0) {
-                       if (errno == EBUSY) {
-                               continue;
-diff --git a/common/dlpi.c b/common/dlpi.c
-index 3990bf1..a941258 100644
---- a/common/dlpi.c
-+++ b/common/dlpi.c
-@@ -817,7 +817,7 @@ dlpiopen(const char *ifname) {
-       }
-       *dp = '\0';
-
--      return open (devname, O_RDWR, 0);
-+      return open (devname, O_RDWR | O_CLOEXEC, 0);
- }
-
- /*
-diff --git a/common/nit.c b/common/nit.c
-index d822c15..a9132bc 100644
---- a/common/nit.c
-+++ b/common/nit.c
-@@ -75,7 +75,7 @@ int if_register_nit (info)
-       struct strioctl sio;
-
-       /* Open a NIT device */
--      sock = open ("/dev/nit", O_RDWR);
-+      sock = open ("/dev/nit", O_RDWR | O_CLOEXEC);
-       if (sock < 0)
-               log_fatal ("Can't open NIT device for %s: %m", info -> name);
-
-diff --git a/common/resolv.c b/common/resolv.c
-index a01f520..b209e3f 100644
---- a/common/resolv.c
-+++ b/common/resolv.c
-@@ -43,7 +43,7 @@ void read_resolv_conf (parse_time)
-       struct domain_search_list *dp, *dl, *nd;
-       isc_result_t status;
-
--      if ((file = open (path_resolv_conf, O_RDONLY)) < 0) {
-+      if ((file = open (path_resolv_conf, O_RDONLY | O_CLOEXEC)) < 0) {
-               log_error ("Can't open %s: %m", path_resolv_conf);
-               return;
-       }
-diff --git a/common/upf.c b/common/upf.c
-index 9785879..e0a524f 100644
---- a/common/upf.c
-+++ b/common/upf.c
-@@ -71,7 +71,7 @@ int if_register_upf (info)
-               /* %Audit% Cannot exceed 36 bytes. %2004.06.17,Safe% */
-               sprintf(filename, "/dev/pf/pfilt%d", b);
-
--              sock = open (filename, O_RDWR, 0);
-+              sock = open (filename, O_RDWR | O_CLOEXEC, 0);
-               if (sock < 0) {
-                       if (errno == EBUSY) {
-                               continue;
-diff --git a/omapip/trace.c b/omapip/trace.c
-index 45bd508..5ea7486 100644
---- a/omapip/trace.c
-+++ b/omapip/trace.c
-@@ -136,10 +136,10 @@ isc_result_t trace_begin (const char *filename,
-               return DHCP_R_INVALIDARG;
-       }
-
--      traceoutfile = open (filename, O_CREAT | O_WRONLY | O_EXCL, 0600);
-+      traceoutfile = open (filename, O_CREAT | O_WRONLY | O_EXCL | O_CLOEXEC, 0600);
-       if (traceoutfile < 0 && errno == EEXIST) {
-               log_error ("WARNING: Overwriting trace file \"%s\"", filename);
--              traceoutfile = open (filename, O_WRONLY | O_EXCL | O_TRUNC,
-+              traceoutfile = open (filename, O_WRONLY | O_EXCL | O_TRUNC | O_CLOEXEC,
-                                    0600);
-       }
-
-@@ -427,7 +427,7 @@ void trace_file_replay (const char *filename)
-       isc_result_t result;
-       int len;
-
--      traceinfile = fopen (filename, "r");
-+      traceinfile = fopen (filename, "re");
-       if (!traceinfile) {
-               log_error("Can't open tracefile %s: %m", filename);
-               return;
-diff --git a/relay/dhcrelay.c b/relay/dhcrelay.c
-index d8caaaf..ea1be18 100644
---- a/relay/dhcrelay.c
-+++ b/relay/dhcrelay.c
-@@ -296,11 +296,11 @@ main(int argc, char **argv) {
-       /* Make sure that file descriptors 0(stdin), 1,(stdout), and
-          2(stderr) are open. To do this, we assume that when we
-          open a file the lowest available file descriptor is used. */
--      fd = open("/dev/null", O_RDWR);
-+      fd = open("/dev/null", O_RDWR | O_CLOEXEC);
-       if (fd == 0)
--              fd = open("/dev/null", O_RDWR);
-+              fd = open("/dev/null", O_RDWR | O_CLOEXEC);
-       if (fd == 1)
--              fd = open("/dev/null", O_RDWR);
-+              fd = open("/dev/null", O_RDWR | O_CLOEXEC);
-       if (fd == 2)
-               log_perror = 0; /* No sense logging to /dev/null. */
-       else if (fd != -1)
-@@ -776,13 +776,13 @@ main(int argc, char **argv) {
-               /* Create the pid file. */
-               if (no_pid_file == ISC_FALSE) {
-                       pfdesc = open(path_dhcrelay_pid,
--                                    O_CREAT | O_TRUNC | O_WRONLY, 0644);
-+                                    O_CREAT | O_TRUNC | O_WRONLY | O_CLOEXEC, 0644);
-
-                       if (pfdesc < 0) {
-                               log_error("Can't create %s: %m",
-                                         path_dhcrelay_pid);
-                       } else {
--                              pf = fdopen(pfdesc, "w");
-+                              pf = fdopen(pfdesc, "we");
-                               if (!pf)
-                                       log_error("Can't fdopen %s: %m",
-                                                 path_dhcrelay_pid);
-diff --git a/server/confpars.c b/server/confpars.c
-index d2cedfe..2743979 100644
---- a/server/confpars.c
-+++ b/server/confpars.c
-@@ -118,7 +118,7 @@ isc_result_t read_conf_file (const char *filename, struct group *group,
-       }
- #endif
-
--      if ((file = open (filename, O_RDONLY)) < 0) {
-+      if ((file = open (filename, O_RDONLY | O_CLOEXEC)) < 0) {
-               if (leasep) {
-                       log_error ("Can't open lease database %s: %m --",
-                                  path_dhcpd_db);
-diff --git a/server/db.c b/server/db.c
-index 67e6cc1..6181528 100644
---- a/server/db.c
-+++ b/server/db.c
-@@ -1154,7 +1154,7 @@ int new_lease_file (int test_mode)
-                    path_dhcpd_db, (int)t) >= sizeof newfname)
-               log_fatal("new_lease_file: lease file path too long");
-
--      db_fd = open (newfname, O_WRONLY | O_TRUNC | O_CREAT, 0664);
-+      db_fd = open (newfname, O_WRONLY | O_TRUNC | O_CREAT | O_CLOEXEC, 0664);
-       if (db_fd < 0) {
-               log_error ("Can't create new lease file: %m");
-               return 0;
-@@ -1175,7 +1175,7 @@ int new_lease_file (int test_mode)
-       }
- #endif /* PARANOIA */
-
--      if ((new_db_file = fdopen(db_fd, "w")) == NULL) {
-+      if ((new_db_file = fdopen(db_fd, "we")) == NULL) {
-               log_error("Can't fdopen new lease file: %m");
-               close(db_fd);
-               goto fdfail;
-diff --git a/server/dhcpd.c b/server/dhcpd.c
-index 55ffae7..530a923 100644
---- a/server/dhcpd.c
-+++ b/server/dhcpd.c
-@@ -300,11 +300,11 @@ main(int argc, char **argv) {
-         /* Make sure that file descriptors 0 (stdin), 1, (stdout), and
-            2 (stderr) are open. To do this, we assume that when we
-            open a file the lowest available file descriptor is used. */
--        fd = open("/dev/null", O_RDWR);
-+        fd = open("/dev/null", O_RDWR | O_CLOEXEC);
-         if (fd == 0)
--                fd = open("/dev/null", O_RDWR);
-+                fd = open("/dev/null", O_RDWR | O_CLOEXEC);
-         if (fd == 1)
--                fd = open("/dev/null", O_RDWR);
-+                fd = open("/dev/null", O_RDWR | O_CLOEXEC);
-         if (fd == 2)
-                 log_perror = 0; /* No sense logging to /dev/null. */
-         else if (fd != -1)
-@@ -975,7 +975,7 @@ main(int argc, char **argv) {
-        * appropriate.
-        */
-       if (no_pid_file == ISC_FALSE) {
--              i = open(path_dhcpd_pid, O_WRONLY|O_CREAT|O_TRUNC, 0644);
-+              i = open(path_dhcpd_pid, O_WRONLY|O_CREAT|O_TRUNC|O_CLOEXEC, 0644);
-               if (i >= 0) {
-                       sprintf(pbuf, "%d\n", (int) getpid());
-                       IGNORE_RET(write(i, pbuf, strlen(pbuf)));
-@@ -1028,9 +1028,9 @@ main(int argc, char **argv) {
-                 (void) close(2);
-
-                 /* Reopen them on /dev/null. */
--                (void) open("/dev/null", O_RDWR);
--                (void) open("/dev/null", O_RDWR);
--                (void) open("/dev/null", O_RDWR);
-+                (void) open("/dev/null", O_RDWR | O_CLOEXEC);
-+                (void) open("/dev/null", O_RDWR | O_CLOEXEC);
-+                (void) open("/dev/null", O_RDWR | O_CLOEXEC);
-                 log_perror = 0; /* No sense logging to /dev/null. */
-
-                       IGNORE_RET (chdir("/"));
-diff --git a/server/ldap.c b/server/ldap.c
-index 5126d24..555545c 100644
---- a/server/ldap.c
-+++ b/server/ldap.c
-@@ -1446,7 +1446,7 @@ ldap_start (void)
-
-   if (ldap_debug_file != NULL && ldap_debug_fd == -1)
-     {
--      if ((ldap_debug_fd = open (ldap_debug_file, O_CREAT | O_TRUNC | O_WRONLY,
-+      if ((ldap_debug_fd = open (ldap_debug_file, O_CREAT | O_TRUNC | O_WRONLY | O_CLOEXEC,
-                                  S_IRUSR | S_IWUSR)) < 0)
-         log_error ("Error opening debug LDAP log file %s: %s", ldap_debug_file,
-                    strerror (errno));
---
-2.14.5
diff --git a/dhcp/patches/0009-Fix-garbage-in-format-string-error.patch b/dhcp/patches/0009-Fix-garbage-in-format-string-error.patch
deleted file mode 100644 (file)
index eca1db7..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-From 9ffd73d22b1337aeedef751afd03822cc0a15014 Mon Sep 17 00:00:00 2001
-From: Pavel Zhukov <pzhukov@redhat.com>
-Date: Thu, 21 Feb 2019 10:28:13 +0100
-Subject: [PATCH 09/21] Fix 'garbage in format string' error
-Cc: pzhukov@redhat.com
-
-RHBZ: 450042
----
- common/tables.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/common/tables.c b/common/tables.c
-index c1aa214..d2294c0 100644
---- a/common/tables.c
-+++ b/common/tables.c
-@@ -215,7 +215,7 @@ static struct option dhcp_options[] = {
-       { "name-service-search", "Sa",          &dhcp_universe, 117, 1 },
- #endif
-       { "subnet-selection", "I",              &dhcp_universe, 118, 1 },
--      { "domain-search", "Dc",                &dhcp_universe, 119, 1 },
-+      { "domain-search", "D",                 &dhcp_universe, 119, 1 },
-       { "vivco", "Evendor-class.",            &dhcp_universe, 124, 1 },
-       { "vivso", "Evendor.",                  &dhcp_universe, 125, 1 },
- #if 0
---
-2.14.5
diff --git a/dhcp/patches/0010-Handle-null-timeout.patch b/dhcp/patches/0010-Handle-null-timeout.patch
deleted file mode 100644 (file)
index 5b5e2cf..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-From e269e137c3b7d25a2d089be508e6769731618d54 Mon Sep 17 00:00:00 2001
-From: Pavel Zhukov <pzhukov@redhat.com>
-Date: Thu, 21 Feb 2019 10:29:08 +0100
-Subject: [PATCH 10/21] Handle null timeout
-Cc: pzhukov@redhat.com
-
-Handle cases in add_timeout() where the function is called with a NULL
-value for the 'when' parameter
-
-ISC-Bugs: #19867 (rejected)
----
- common/dispatch.c | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/common/dispatch.c b/common/dispatch.c
-index 0207ad3..d7fe200 100644
---- a/common/dispatch.c
-+++ b/common/dispatch.c
-@@ -209,6 +209,10 @@ void add_timeout (when, where, what, ref, unref)
-       isc_interval_t interval;
-       isc_time_t expires;
-
-+      if (when == NULL) {
-+              return;
-+      }
-+
-       /* See if this timeout supersedes an existing timeout. */
-       t = (struct timeout *)0;
-       for (q = timeouts; q; q = q->next) {
---
-2.14.5
diff --git a/dhcp/patches/0011-Drop-unnecessary-capabilities.patch b/dhcp/patches/0011-Drop-unnecessary-capabilities.patch
deleted file mode 100644 (file)
index a36c068..0000000
+++ /dev/null
@@ -1,277 +0,0 @@
-From 291f738f341a78f8c7974a7603d1a2eaa01ebacc Mon Sep 17 00:00:00 2001
-From: Pavel Zhukov <pzhukov@redhat.com>
-Date: Thu, 21 Feb 2019 10:30:28 +0100
-Subject: [PATCH 11/21] Drop unnecessary capabilities
-Cc: pzhukov@redhat.com
-
-dhclient (#517649, #546765), dhcpd/dhcrelay (#699713)
----
- client/Makefile.am       |  3 ++-
- client/dhclient-script.8 | 10 ++++++++++
- client/dhclient.8        | 29 +++++++++++++++++++++++++++++
- client/dhclient.c        | 24 ++++++++++++++++++++++++
- configure.ac             | 35 +++++++++++++++++++++++++++++++++++
- relay/Makefile.am        |  3 ++-
- relay/dhcrelay.c         | 29 +++++++++++++++++++++++++++++
- 7 files changed, 131 insertions(+), 2 deletions(-)
-
-diff --git a/client/Makefile.am b/client/Makefile.am
-index d177159..0689185 100644
---- a/client/Makefile.am
-+++ b/client/Makefile.am
-@@ -17,6 +17,7 @@ dhclient_LDADD = ../common/libdhcp.@A@ ../omapip/libomapi.@A@ \
-                @BINDLIBIRSDIR@/libirs.@A@ \
-                @BINDLIBDNSDIR@/libdns.@A@ \
-                @BINDLIBISCCFGDIR@/libisccfg.@A@ \
--               @BINDLIBISCDIR@/libisc.@A@
-+               @BINDLIBISCDIR@/libisc.@A@ \
-+               $(CAPNG_LDADD)
- man_MANS = dhclient.8 dhclient-script.8 dhclient.conf.5 dhclient.leases.5
- EXTRA_DIST = $(man_MANS)
-diff --git a/client/dhclient-script.8 b/client/dhclient-script.8
-index 0db5516..2eddb8f 100644
---- a/client/dhclient-script.8
-+++ b/client/dhclient-script.8
-@@ -243,6 +243,16 @@ repeatedly initialized to the values provided by one server, and then
- the other.   Assuming the information provided by both servers is
- valid, this shouldn't cause any real problems, but it could be
- confusing.
-+.PP
-+Normally, if dhclient was compiled with libcap-ng support,
-+dhclient drops most capabilities immediately upon startup.
-+While more secure, this greatly restricts the additional actions that
-+hooks in dhclient-script can take. For example, any daemons that
-+dhclient-script starts or restarts will inherit the restricted
-+capabilities as well, which may interfere with their correct operation.
-+Thus, the
-+.BI \-nc
-+option can be used to prevent dhclient from dropping capabilities.
- .SH SEE ALSO
- dhclient(8), dhcpd(8), dhcrelay(8), dhclient.conf(5) and
- dhclient.leases(5).
-diff --git a/client/dhclient.8 b/client/dhclient.8
-index 6d7fbdb..0145b9f 100644
---- a/client/dhclient.8
-+++ b/client/dhclient.8
-@@ -134,6 +134,9 @@ dhclient - Dynamic Host Configuration Protocol Client
- .B -w
- ]
- [
-+.B -nc
-+]
-+[
- .B -B
- ]
- [
-@@ -328,6 +331,32 @@ not to exit when it doesn't find any such interfaces.  The
- program can then be used to notify the client when a network interface
- has been added or removed, so that the client can attempt to configure an IP
- address on that interface.
-+.TP
-+.BI \-nc
-+Do not drop capabilities.
-+
-+Normally, if
-+.B dhclient
-+was compiled with libcap-ng support,
-+.B dhclient
-+drops most capabilities immediately upon startup.  While more secure,
-+this greatly restricts the additional actions that hooks in
-+.B dhclient-script (8)
-+can take.  (For example, any daemons that
-+.B dhclient-script (8)
-+starts or restarts will inherit the restricted capabilities as well,
-+which may interfere with their correct operation.)  Thus, the
-+.BI \-nc
-+option can be used to prevent
-+.B dhclient
-+from dropping capabilities.
-+
-+The
-+.BI \-nc
-+option is ignored if
-+.B dhclient
-+was not compiled with libcap-ng support.
-+
- .TP
- .BI \-n
- Do not configure any interfaces.  This is most likely to be useful in
-diff --git a/client/dhclient.c b/client/dhclient.c
-index a86ab9e..5d3f5bc 100644
---- a/client/dhclient.c
-+++ b/client/dhclient.c
-@@ -41,6 +41,10 @@
- #include <sys/wait.h>
- #include <limits.h>
-
-+#ifdef HAVE_LIBCAP_NG
-+#include <cap-ng.h>
-+#endif
-+
- /*
-  * Defined in stdio.h when _GNU_SOURCE is set, but we don't want to define
-  * that when building ISC code.
-@@ -266,6 +270,9 @@ main(int argc, char **argv) {
-       int timeout_arg = 0;
-       char *arg_conf = NULL;
-       int arg_conf_len = 0;
-+#ifdef HAVE_LIBCAP_NG
-+      int keep_capabilities = 0;
-+#endif
-
-       /* Initialize client globals. */
-       memset(&default_duid, 0, sizeof(default_duid));
-@@ -665,6 +672,10 @@ main(int argc, char **argv) {
-
-                       dhclient_request_options = argv[i];
-
-+              } else if (!strcmp(argv[i], "-nc")) {
-+#ifdef HAVE_LIBCAP_NG
-+                  keep_capabilities = 1;
-+#endif
-               } else if (argv[i][0] == '-') {
-                       usage("Unknown command: %s", argv[i]);
-               } else if (interfaces_requested < 0) {
-@@ -725,6 +736,19 @@ main(int argc, char **argv) {
-               path_dhclient_script = s;
-       }
-
-+#ifdef HAVE_LIBCAP_NG
-+      /* Drop capabilities */
-+      if (!keep_capabilities) {
-+              capng_clear(CAPNG_SELECT_CAPS);
-+              capng_update(CAPNG_ADD, CAPNG_EFFECTIVE|CAPNG_PERMITTED,
-+                              CAP_DAC_OVERRIDE); // Drop this someday
-+              capng_updatev(CAPNG_ADD, CAPNG_EFFECTIVE|CAPNG_PERMITTED,
-+                              CAP_NET_ADMIN, CAP_NET_RAW,
-+                              CAP_NET_BIND_SERVICE, CAP_SYS_ADMIN, -1);
-+              capng_apply(CAPNG_SELECT_CAPS);
-+      }
-+#endif
-+
-       /* Set up the initial dhcp option universe. */
-       initialize_common_option_spaces();
-
-diff --git a/configure.ac b/configure.ac
-index a797438..15fc0d7 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -612,6 +612,41 @@ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[void foo() __attribute__((noreturn));
- # Look for optional headers.
- AC_CHECK_HEADERS(sys/socket.h net/if_dl.h net/if6.h regex.h)
-
-+# look for capabilities library
-+AC_ARG_WITH(libcap-ng,
-+    [  --with-libcap-ng=[auto/yes/no]  Add Libcap-ng support [default=auto]],,
-+    with_libcap_ng=auto)
-+
-+# Check for Libcap-ng API
-+#
-+# libcap-ng detection
-+if test x$with_libcap_ng = xno ; then
-+    have_libcap_ng=no;
-+else
-+    # Start by checking for header file
-+    AC_CHECK_HEADER(cap-ng.h, capng_headers=yes, capng_headers=no)
-+
-+    # See if we have libcap-ng library
-+    AC_CHECK_LIB(cap-ng, capng_clear,
-+                 CAPNG_LDADD=-lcap-ng,)
-+
-+    # Check results are usable
-+    if test x$with_libcap_ng = xyes -a x$CAPNG_LDADD = x ; then
-+       AC_MSG_ERROR(libcap-ng support was requested and the library was not found)
-+    fi
-+    if test x$CAPNG_LDADD != x -a $capng_headers = no ; then
-+       AC_MSG_ERROR(libcap-ng libraries found but headers are missing)
-+    fi
-+fi
-+AC_SUBST(CAPNG_LDADD)
-+AC_MSG_CHECKING(whether to use libcap-ng)
-+if test x$CAPNG_LDADD != x ; then
-+    AC_DEFINE(HAVE_LIBCAP_NG,1,[libcap-ng support])
-+    AC_MSG_RESULT(yes)
-+else
-+    AC_MSG_RESULT(no)
-+fi
-+
- # Solaris needs some libraries for functions
- AC_SEARCH_LIBS(socket, [socket])
- AC_SEARCH_LIBS(inet_ntoa, [nsl])
-diff --git a/relay/Makefile.am b/relay/Makefile.am
-index 2ba5979..8900e0b 100644
---- a/relay/Makefile.am
-+++ b/relay/Makefile.am
-@@ -6,7 +6,8 @@ dhcrelay_LDADD = ../common/libdhcp.@A@ ../omapip/libomapi.@A@ \
-                @BINDLIBIRSDIR@/libirs.@A@ \
-                @BINDLIBDNSDIR@/libdns.@A@ \
-                @BINDLIBISCCFGDIR@/libisccfg.@A@ \
--               @BINDLIBISCDIR@/libisc.@A@
-+               @BINDLIBISCDIR@/libisc.@A@ \
-+               $(CAPNG_LDADD)
- man_MANS = dhcrelay.8
- EXTRA_DIST = $(man_MANS)
-
-diff --git a/relay/dhcrelay.c b/relay/dhcrelay.c
-index ea1be18..7b4f4f1 100644
---- a/relay/dhcrelay.c
-+++ b/relay/dhcrelay.c
-@@ -32,6 +32,11 @@
- #include <sys/time.h>
- #include <isc/file.h>
-
-+#ifdef HAVE_LIBCAP_NG
-+#  include <cap-ng.h>
-+   int keep_capabilities = 0;
-+#endif
-+
- TIME default_lease_time = 43200; /* 12 hours... */
- TIME max_lease_time = 86400; /* 24 hours... */
- struct tree_cache *global_options[256];
-@@ -590,6 +595,10 @@ main(int argc, char **argv) {
-                       if (++i == argc)
-                               usage(use_noarg, argv[i-1]);
-                       dhcrelay_sub_id = argv[i];
-+#endif
-+              } else if (!strcmp(argv[i], "-nc")) {
-+#ifdef HAVE_LIBCAP_NG
-+                      keep_capabilities = 1;
- #endif
-               } else if (!strcmp(argv[i], "-pf")) {
-                       if (++i == argc)
-@@ -660,6 +669,17 @@ main(int argc, char **argv) {
- #endif
-       }
-
-+#ifdef HAVE_LIBCAP_NG
-+      /* Drop capabilities */
-+      if (!keep_capabilities) {
-+              capng_clear(CAPNG_SELECT_BOTH);
-+              capng_updatev(CAPNG_ADD, CAPNG_EFFECTIVE|CAPNG_PERMITTED,
-+                              CAP_NET_RAW, CAP_NET_BIND_SERVICE, -1);
-+              capng_apply(CAPNG_SELECT_BOTH);
-+              log_info ("Dropped all unnecessary capabilities.");
-+      }
-+#endif
-+
-       if (!quiet) {
-               log_info("%s %s", message, PACKAGE_VERSION);
-               log_info(copyright);
-@@ -816,6 +836,15 @@ main(int argc, char **argv) {
-       signal(SIGTERM, dhcp_signal_handler);  /* kill */
- #endif
-
-+#ifdef HAVE_LIBCAP_NG
-+      /* Drop all capabilities */
-+      if (!keep_capabilities) {
-+              capng_clear(CAPNG_SELECT_BOTH);
-+              capng_apply(CAPNG_SELECT_BOTH);
-+              log_info ("Dropped all capabilities.");
-+      }
-+#endif
-+
-       /* Start dispatching packets and timeouts... */
-       dispatch();
-
---
-2.14.5
diff --git a/dhcp/patches/0012-RFC-3442-Classless-Static-Route-Option-for-DHCPv4-51.patch b/dhcp/patches/0012-RFC-3442-Classless-Static-Route-Option-for-DHCPv4-51.patch
deleted file mode 100644 (file)
index 6ab3c6b..0000000
+++ /dev/null
@@ -1,438 +0,0 @@
-From 2756fcc3f88c27d0e12e72dbdd2906fbf45f2362 Mon Sep 17 00:00:00 2001
-From: Pavel Zhukov <pzhukov@redhat.com>
-Date: Thu, 21 Feb 2019 10:32:35 +0100
-Subject: [PATCH 12/21] RFC 3442 - Classless Static Route Option for DHCPv4
- (#516325)
-Cc: pzhukov@redhat.com
-
-(Submitted to dhcp-bugs@isc.org - [ISC-Bugs #24572])
----
- client/clparse.c      | 13 ++++++++++--
- common/dhcp-options.5 | 43 +++++++++++++++++++++++++++++++++++++++
- common/inet.c         | 54 +++++++++++++++++++++++++++++++++++++++++++++++++
- common/options.c      | 49 +++++++++++++++++++++++++++++++++++++++++++-
- common/parse.c        | 56 ++++++++++++++++++++++++++++++++++++++++++++++++++-
- common/tables.c       |  2 ++
- includes/dhcp.h       |  1 +
- includes/dhcpd.h      |  2 ++
- includes/dhctoken.h   |  5 +++--
- 9 files changed, 219 insertions(+), 6 deletions(-)
-
-diff --git a/client/clparse.c b/client/clparse.c
-index 44387ed..862e4f9 100644
---- a/client/clparse.c
-+++ b/client/clparse.c
-@@ -31,7 +31,7 @@
-
- struct client_config top_level_config;
-
--#define NUM_DEFAULT_REQUESTED_OPTS    14
-+#define NUM_DEFAULT_REQUESTED_OPTS    15
- /* There can be 2 extra requested options for DHCPv4-over-DHCPv6. */
- struct option *default_requested_options[NUM_DEFAULT_REQUESTED_OPTS + 2 + 1];
-
-@@ -87,7 +87,11 @@ isc_result_t read_client_conf ()
-                               dhcp_universe.code_hash, &code, 0, MDL);
-
-       /* 4 */
--      code = DHO_ROUTERS;
-+      /* The Classless Static Routes option code MUST appear in the parameter
-+     * request list prior to both the Router option code and the Static
-+     * Routes option code, if present. (RFC3442)
-+       */
-+      code = DHO_CLASSLESS_STATIC_ROUTES;
-       option_code_hash_lookup(&default_requested_options[3],
-                               dhcp_universe.code_hash, &code, 0, MDL);
-
-@@ -141,6 +145,11 @@ isc_result_t read_client_conf ()
-       option_code_hash_lookup(&default_requested_options[13],
-                               dhcp_universe.code_hash, &code, 0, MDL);
-
-+      /* 15 */
-+      code = DHO_ROUTERS;
-+      option_code_hash_lookup(&default_requested_options[14],
-+                              dhcp_universe.code_hash, &code, 0, MDL);
-+
-       for (code = 0 ; code < NUM_DEFAULT_REQUESTED_OPTS ; code++) {
-               if (default_requested_options[code] == NULL)
-                       log_fatal("Unable to find option definition for "
-diff --git a/common/dhcp-options.5 b/common/dhcp-options.5
-index d9e1197..2343b19 100644
---- a/common/dhcp-options.5
-+++ b/common/dhcp-options.5
-@@ -110,6 +110,26 @@ hexadecimal, separated by colons.  For example:
- or
-   option dhcp-client-identifier 43:4c:49:45:54:2d:46:4f:4f;
- .fi
-+.PP
-+The
-+.B destination-descriptor
-+describe the IP subnet number and subnet mask
-+of a particular destination using a compact encoding. This encoding
-+consists of one octet describing the width of the subnet mask,
-+followed by all the significant octets of the subnet number.
-+The following table contains some examples of how various subnet
-+number/mask combinations can be encoded:
-+.nf
-+.sp 1
-+Subnet number   Subnet mask      Destination descriptor
-+0               0                0
-+10.0.0.0        255.0.0.0        8.10
-+10.0.0.0        255.255.255.0    24.10.0.0
-+10.17.0.0       255.255.0.0      16.10.17
-+10.27.129.0     255.255.255.0    24.10.27.129
-+10.229.0.128    255.255.255.128  25.10.229.0.128
-+10.198.122.47   255.255.255.255  32.10.198.122.47
-+.fi
- .SH SETTING OPTION VALUES USING EXPRESSIONS
- Sometimes it's helpful to be able to set the value of a DHCP option
- based on some value that the client has sent.  To do this, you can
-@@ -1086,6 +1106,29 @@ dhclient-script will create routes:
- .RE
- .PP
- .nf
-+.B option \fBclassless-static-routes\fR \fIdestination-descriptor ip-address\fR
-+                            [\fB,\fR \fIdestination-descriptor ip-address\fR...]\fB;\fR
-+.fi
-+.RS 0.25i
-+.PP
-+This option (see RFC3442) specifies a list of classless static routes
-+that the client should install in its routing cache.
-+.PP
-+This option can contain one or more static routes, each of which
-+consists of a destination descriptor and the IP address of the router
-+that should be used to reach that destination.
-+.PP
-+Many clients may not implement the Classless Static Routes option.
-+DHCP server administrators should therefore configure their DHCP
-+servers to send both a Router option and a Classless Static Routes
-+option, and should specify the default router(s) both in the Router
-+option and in the Classless Static Routes option.
-+.PP
-+If the DHCP server returns both a Classless Static Routes option and
-+a Router option, the DHCP client ignores the Router option.
-+.RE
-+.PP
-+.nf
- .B option \fBstreettalk-directory-assistance-server\fR \fIip-address\fR
-                                            [\fB,\fR \fIip-address\fR...]\fB;\fR
- .fi
-diff --git a/common/inet.c b/common/inet.c
-index c4da73c..981fb92 100644
---- a/common/inet.c
-+++ b/common/inet.c
-@@ -519,6 +519,60 @@ free_iaddrcidrnetlist(struct iaddrcidrnetlist **result) {
-       return ISC_R_SUCCESS;
- }
-
-+static const char *
-+inet_ntopdd(const unsigned char *src, unsigned srclen, char *dst, size_t size)
-+{
-+      char tmp[sizeof("32.255.255.255.255")];
-+      int len;
-+
-+      switch (srclen) {
-+              case 2:
-+                      len = sprintf (tmp, "%u.%u", src[0], src[1]);
-+                      break;
-+              case 3:
-+                      len = sprintf (tmp, "%u.%u.%u", src[0], src[1], src[2]);
-+                      break;
-+              case 4:
-+                      len = sprintf (tmp, "%u.%u.%u.%u", src[0], src[1], src[2], src[3]);
-+                      break;
-+              case 5:
-+                      len = sprintf (tmp, "%u.%u.%u.%u.%u", src[0], src[1], src[2], src[3], src[4]);
-+                      break;
-+              default:
-+                      return NULL;
-+      }
-+      if (len < 0)
-+              return NULL;
-+
-+      if (len > size) {
-+              errno = ENOSPC;
-+              return NULL;
-+      }
-+
-+      return strcpy (dst, tmp);
-+}
-+
-+/* pdestdesc() turns an iaddr structure into a printable dest. descriptor */
-+const char *
-+pdestdesc(const struct iaddr addr) {
-+      static char pbuf[sizeof("255.255.255.255.255")];
-+
-+      if (addr.len == 0) {
-+              return "<null destination descriptor>";
-+      }
-+      if (addr.len == 1) {
-+              return "0";
-+      }
-+      if ((addr.len >= 2) && (addr.len <= 5)) {
-+              return inet_ntopdd(addr.iabuf, addr.len, pbuf, sizeof(pbuf));
-+      }
-+
-+      log_fatal("pdestdesc():%s:%d: Invalid destination descriptor length %d.",
-+                MDL, addr.len);
-+      /* quell compiler warnings */
-+      return NULL;
-+}
-+
- /* piaddr() turns an iaddr structure into a printable address. */
- /* XXX: should use a const pointer rather than passing the structure */
- const char *
-diff --git a/common/options.c b/common/options.c
-index fc0e088..3034cf0 100644
---- a/common/options.c
-+++ b/common/options.c
-@@ -729,7 +729,11 @@ cons_options(struct packet *inpacket, struct dhcp_packet *outpacket,
-                * packet.
-                */
-               priority_list[priority_len++] = DHO_SUBNET_MASK;
--              priority_list[priority_len++] = DHO_ROUTERS;
-+              if (lookup_option(&dhcp_universe, cfg_options,
-+                                                      DHO_CLASSLESS_STATIC_ROUTES))
-+                      priority_list[priority_len++] = DHO_CLASSLESS_STATIC_ROUTES;
-+              else
-+                      priority_list[priority_len++] = DHO_ROUTERS;
-               priority_list[priority_len++] = DHO_DOMAIN_NAME_SERVERS;
-               priority_list[priority_len++] = DHO_HOST_NAME;
-               priority_list[priority_len++] = DHO_FQDN;
-@@ -1804,6 +1808,7 @@ const char *pretty_print_option (option, data, len, emit_commas, emit_quotes)
-       unsigned long tval;
-       isc_boolean_t a_array = ISC_FALSE;
-       int len_used;
-+      unsigned int octets = 0;
-
-       if (emit_commas)
-               comma = ',';
-@@ -1812,6 +1817,7 @@ const char *pretty_print_option (option, data, len, emit_commas, emit_quotes)
-
-       memset (enumbuf, 0, sizeof enumbuf);
-
-+      if (option->format[0] != 'R') { /* see explanation lower */
-       /* Figure out the size of the data. */
-       for (l = i = 0; option -> format [i]; i++, l++) {
-               if (l >= sizeof(fmtbuf) - 1)
-@@ -2004,6 +2010,33 @@ const char *pretty_print_option (option, data, len, emit_commas, emit_quotes)
-       if (numhunk < 0)
-               numhunk = 1;
-
-+      } else { /* option->format[i] == 'R') */
-+              /* R (destination descriptor) has variable length.
-+               * We can find it only in classless static route option,
-+               * so we are for sure parsing classless static route option now.
-+               * We go through whole the option to check whether there are no
-+               * missing/extra bytes.
-+               * I didn't find out how to improve the existing code and that's the
-+               * reason for this separate 'else' where I do my own checkings.
-+               * I know it's little bit unsystematic, but it works.
-+               */
-+              numhunk = 0;
-+              numelem = 2; /* RI */
-+              fmtbuf[0]='R'; fmtbuf[1]='I'; fmtbuf[2]=0;
-+              for (i =0; i < len; i = i + octets + 5) {
-+                      if (data[i] > 32) { /* subnet mask width */
-+                              log_error ("wrong subnet mask width in destination descriptor");
-+                              break;
-+                      }
-+                      numhunk++;
-+                      octets = ((data[i]+7) / 8);
-+              }
-+              if (i != len) {
-+                      log_error ("classless static routes option has wrong size or "
-+                                         "there's some garbage in format");
-+              }
-+      }
-+
-       /* Cycle through the array (or hunk) printing the data. */
-       for (i = 0; i < numhunk; i++) {
-               if ((a_array == ISC_TRUE) && (i != 0) && (numelem > 0)) {
-@@ -2159,6 +2192,20 @@ const char *pretty_print_option (option, data, len, emit_commas, emit_quotes)
-                               strcpy(op, piaddr(iaddr));
-                               dp += 4;
-                               break;
-+
-+                            case 'R':
-+                              if (dp[0] <= 32)
-+                                      iaddr.len = (((dp[0]+7)/8)+1);
-+                              else {
-+                                      log_error ("wrong subnet mask width in destination descriptor");
-+                                      return "<error>";
-+                              }
-+
-+                              memcpy(iaddr.iabuf, dp, iaddr.len);
-+                              strcpy(op, pdestdesc(iaddr));
-+                              dp += iaddr.len;
-+                              break;
-+
-                             case '6':
-                               iaddr.len = 16;
-                               memcpy(iaddr.iabuf, dp, 16);
-diff --git a/common/parse.c b/common/parse.c
-index 3ac4ebf..f17bc0b 100644
---- a/common/parse.c
-+++ b/common/parse.c
-@@ -344,6 +344,39 @@ int parse_ip_addr (cfile, addr)
-       return 0;
- }
-
-+/*
-+ * destination-descriptor :== NUMBER DOT NUMBER |
-+ *                            NUMBER DOT NUMBER DOT NUMBER |
-+ *                            NUMBER DOT NUMBER DOT NUMBER DOT NUMBER |
-+ *                            NUMBER DOT NUMBER DOT NUMBER DOT NUMBER DOT NUMBER
-+ */
-+
-+int parse_destination_descriptor (cfile, addr)
-+      struct parse *cfile;
-+      struct iaddr *addr;
-+{
-+              unsigned int mask_width, dest_dest_len;
-+              addr -> len = 0;
-+              if (parse_numeric_aggregate (cfile, addr -> iabuf,
-+                                                                       &addr -> len, DOT, 10, 8)) {
-+                      mask_width = (unsigned int)addr->iabuf[0];
-+                      dest_dest_len = (((mask_width+7)/8)+1);
-+                      if (mask_width > 32) {
-+                              parse_warn (cfile,
-+                              "subnet mask width (%u) greater than 32.", mask_width);
-+                      }
-+                      else if (dest_dest_len != addr->len) {
-+                              parse_warn (cfile,
-+                              "destination descriptor with subnet mask width %u "
-+                              "should have %u octets, but has %u octets.",
-+                              mask_width, dest_dest_len, addr->len);
-+                      }
-+
-+                      return 1;
-+              }
-+              return 0;
-+}
-+
- /*
-  * Return true if every character in the string is hexadecimal.
-  */
-@@ -724,8 +757,10 @@ unsigned char *parse_numeric_aggregate (cfile, buf,
-               if (count) {
-                       token = peek_token (&val, (unsigned *)0, cfile);
-                       if (token != separator) {
--                              if (!*max)
-+                              if (!*max) {
-+                                      *max = count;
-                                       break;
-+                              }
-                               if (token != RBRACE && token != LBRACE)
-                                       token = next_token (&val,
-                                                           (unsigned *)0,
-@@ -1672,6 +1707,9 @@ int parse_option_code_definition (cfile, option)
-             case IP_ADDRESS:
-               type = 'I';
-               break;
-+            case DESTINATION_DESCRIPTOR:
-+              type = 'R';
-+              break;
-             case IP6_ADDRESS:
-               type = '6';
-               break;
-@@ -5101,6 +5139,15 @@ int parse_option_token (rv, cfile, fmt, expr, uniform, lookups)
-               }
-               break;
-
-+            case 'R': /* destination descriptor */
-+              if (!parse_destination_descriptor (cfile, &addr)) {
-+                      return 0;
-+              }
-+              if (!make_const_data (&t, addr.iabuf, addr.len, 0, 1, MDL)) {
-+                      return 0;
-+              }
-+              break;
-+
-             case '6': /* IPv6 address. */
-               if (!parse_ip6_addr(cfile, &addr)) {
-                       return 0;
-@@ -5378,6 +5425,13 @@ int parse_option_decl (oc, cfile)
-                                       goto exit;
-                               len = ip_addr.len;
-                               dp = ip_addr.iabuf;
-+                              goto alloc;
-+
-+                            case 'R': /* destination descriptor */
-+                              if (!parse_destination_descriptor (cfile, &ip_addr))
-+                                      goto exit;
-+                              len = ip_addr.len;
-+                              dp = ip_addr.iabuf;
-
-                             alloc:
-                               if (hunkix + len > sizeof hunkbuf) {
-diff --git a/common/tables.c b/common/tables.c
-index d2294c0..f1be07d 100644
---- a/common/tables.c
-+++ b/common/tables.c
-@@ -45,6 +45,7 @@ HASH_FUNCTIONS (option_code, const unsigned *, struct option,
-    Format codes:
-
-    I - IPv4 address
-+   R - destination descriptor (RFC3442)
-    6 - IPv6 address
-    l - 32-bit signed integer
-    L - 32-bit unsigned integer
-@@ -216,6 +217,7 @@ static struct option dhcp_options[] = {
- #endif
-       { "subnet-selection", "I",              &dhcp_universe, 118, 1 },
-       { "domain-search", "D",                 &dhcp_universe, 119, 1 },
-+      { "classless-static-routes", "RIA",     &dhcp_universe, 121, 1 },
-       { "vivco", "Evendor-class.",            &dhcp_universe, 124, 1 },
-       { "vivso", "Evendor.",                  &dhcp_universe, 125, 1 },
- #if 0
-diff --git a/includes/dhcp.h b/includes/dhcp.h
-index 0a74137..95bf539 100644
---- a/includes/dhcp.h
-+++ b/includes/dhcp.h
-@@ -158,6 +158,7 @@ struct dhcp_packet {
- #define DHO_ASSOCIATED_IP                     92
- #define DHO_SUBNET_SELECTION                  118 /* RFC3011! */
- #define DHO_DOMAIN_SEARCH                     119 /* RFC3397 */
-+#define DHO_CLASSLESS_STATIC_ROUTES           121 /* RFC3442 */
- #define DHO_VIVCO_SUBOPTIONS                  124
- #define DHO_VIVSO_SUBOPTIONS                  125
-
-diff --git a/includes/dhcpd.h b/includes/dhcpd.h
-index 3632a6b..2ac39ae 100644
---- a/includes/dhcpd.h
-+++ b/includes/dhcpd.h
-@@ -2951,6 +2951,7 @@ isc_result_t range2cidr(struct iaddrcidrnetlist **result,
-                       const struct iaddr *lo, const struct iaddr *hi);
- isc_result_t free_iaddrcidrnetlist(struct iaddrcidrnetlist **result);
- const char *piaddr (struct iaddr);
-+const char *pdestdesc (struct iaddr);
- char *piaddrmask(struct iaddr *, struct iaddr *);
- char *piaddrcidr(const struct iaddr *, unsigned int);
- u_int16_t validate_port(char *);
-@@ -3169,6 +3170,7 @@ void parse_client_lease_declaration (struct parse *,
- int parse_option_decl (struct option_cache **, struct parse *);
- void parse_string_list (struct parse *, struct string_list **, int);
- int parse_ip_addr (struct parse *, struct iaddr *);
-+int parse_destination_descriptor (struct parse *, struct iaddr *);
- int parse_ip_addr_with_subnet(struct parse *, struct iaddrmatch *);
- void parse_reject_statement (struct parse *, struct client_config *);
-
-diff --git a/includes/dhctoken.h b/includes/dhctoken.h
-index 7e7215a..b4d93ba 100644
---- a/includes/dhctoken.h
-+++ b/includes/dhctoken.h
-@@ -376,8 +376,9 @@ enum dhcp_token {
-       LEASE_ID_FORMAT = 676,
-       TOKEN_HEX = 677,
-       TOKEN_OCTAL = 678,
--      KEY_ALGORITHM = 679
--        BOOTP_BROADCAST_ALWAYS = 680
-+      KEY_ALGORITHM = 679,
-+        BOOTP_BROADCAST_ALWAYS = 680,
-+      DESTINATION_DESCRIPTOR = 681
- };
-
- #define is_identifier(x)      ((x) >= FIRST_TOKEN &&  \
---
-2.14.5
diff --git a/dhcp/patches/0013-DHCPv6-over-PPP-support-626514.patch b/dhcp/patches/0013-DHCPv6-over-PPP-support-626514.patch
deleted file mode 100644 (file)
index a0d4bf3..0000000
+++ /dev/null
@@ -1,175 +0,0 @@
-From 43332b29f0c8fef3ddd225e31f5f2b4ff8273b36 Mon Sep 17 00:00:00 2001
-From: Pavel Zhukov <pzhukov@redhat.com>
-Date: Thu, 21 Feb 2019 10:33:06 +0100
-Subject: [PATCH 13/21] DHCPv6 over PPP support (#626514)
-Cc: pzhukov@redhat.com
-
----
- client/dhc6.c     |  3 ++-
- client/dhclient.c | 17 ++++++++++++++---
- common/bpf.c      | 16 ++++++++++++++++
- common/lpf.c      | 16 ++++++++++++++++
- includes/dhcp.h   |  2 ++
- includes/dhcpd.h  |  2 +-
- server/dhcpv6.c   |  3 +++
- 7 files changed, 54 insertions(+), 5 deletions(-)
-
-diff --git a/client/dhc6.c b/client/dhc6.c
-index 16a0838..3171828 100644
---- a/client/dhc6.c
-+++ b/client/dhc6.c
-@@ -5744,7 +5744,8 @@ make_client6_options(struct client_state *client, struct option_state **op,
-        */
-       if ((oc = lookup_option(&dhcpv6_universe, *op,
-                               D6O_CLIENTID)) == NULL) {
--              if (!option_cache(&oc, &default_duid, NULL, clientid_option,
-+              if (default_duid.len == 0 ||
-+                  !option_cache(&oc, &default_duid, NULL, clientid_option,
-                                 MDL))
-                       log_fatal("Failure assembling a DUID.");
-
-diff --git a/client/dhclient.c b/client/dhclient.c
-index 5d3f5bc..301132c 100644
---- a/client/dhclient.c
-+++ b/client/dhclient.c
-@@ -1202,8 +1202,8 @@ main(int argc, char **argv) {
-                       if (default_duid.buffer != NULL)
-                               data_string_forget(&default_duid, MDL);
-
--                      form_duid(&default_duid, MDL);
--                      write_duid(&default_duid);
-+                      if (form_duid(&default_duid, MDL) == ISC_R_SUCCESS)
-+                              write_duid(&default_duid);
-               }
-       }
-
-@@ -3956,7 +3956,7 @@ write_options(struct client_state *client, struct option_state *options,
-  * is not how it is intended.  Upcoming rearchitecting the client should
-  * address this "one daemon model."
-  */
--void
-+isc_result_t
- form_duid(struct data_string *duid, const char *file, int line)
- {
-       struct interface_info *ip;
-@@ -3969,6 +3969,15 @@ form_duid(struct data_string *duid, const char *file, int line)
-       if (ip == NULL)
-               log_fatal("Impossible condition at %s:%d.", MDL);
-
-+      while (ip && ip->hw_address.hbuf[0] == HTYPE_RESERVED) {
-+              /* Try the other interfaces */
-+              log_debug("Cannot form default DUID from interface %s.", ip->name);
-+              ip = ip->next;
-+      }
-+      if (ip == NULL) {
-+              return ISC_R_UNEXPECTED;
-+      }
-+
-       if ((ip->hw_address.hlen == 0) ||
-           (ip->hw_address.hlen > sizeof(ip->hw_address.hbuf)))
-               log_fatal("Impossible hardware address length at %s:%d.", MDL);
-@@ -4014,6 +4023,8 @@ form_duid(struct data_string *duid, const char *file, int line)
-               log_info("Created duid %s.", str);
-               dfree(str, MDL);
-       }
-+
-+      return ISC_R_SUCCESS;
- }
-
- /* Write the default DUID to the lease store. */
-diff --git a/common/bpf.c b/common/bpf.c
-index 67b6d64..ffbd09a 100644
---- a/common/bpf.c
-+++ b/common/bpf.c
-@@ -650,6 +650,22 @@ get_hw_addr(const char *name, struct hardware *hw) {
-                         memcpy(&hw->hbuf[1], LLADDR(sa), sa->sdl_alen);
-                         break;
- #endif /* IFT_FDDI */
-+#if defined(IFT_PPP)
-+                case IFT_PPP:
-+                        if (local_family != AF_INET6)
-+                             log_fatal("Unsupported device type %d for \"%s\"",
-+                                        sa->sdl_type, name);
-+                        hw->hlen = 0;
-+                        hw->hbuf[0] = HTYPE_RESERVED;
-+                        /* 0xdeadbeef should never occur on the wire,
-+                         *  and is a signature that something went wrong.
-+                         */
-+                        hw->hbuf[1] = 0xde;
-+                        hw->hbuf[2] = 0xad;
-+                        hw->hbuf[3] = 0xbe;
-+                        hw->hbuf[4] = 0xef;
-+                        break;
-+#endif
-                 default:
-                         log_fatal("Unsupported device type %d for \"%s\"",
-                                   sa->sdl_type, name);
-diff --git a/common/lpf.c b/common/lpf.c
-index 82a279b..b0ed01c 100644
---- a/common/lpf.c
-+++ b/common/lpf.c
-@@ -563,6 +563,22 @@ get_hw_addr(const char *name, struct hardware *hw) {
-                       hw->hbuf[0] = HTYPE_FDDI;
-                       memcpy(&hw->hbuf[1], sa->sa_data, 6);
-                       break;
-+#if defined(ARPHRD_PPP)
-+              case ARPHRD_PPP:
-+                      if (local_family != AF_INET6)
-+                              log_fatal("Unsupported device type %d for \"%s\"",
-+                                         sa->sa_family, name);
-+                      hw->hlen = 0;
-+                      hw->hbuf[0] = HTYPE_RESERVED;
-+                      /* 0xdeadbeef should never occur on the wire,
-+                       * and is a signature that something went wrong.
-+                       */
-+                      hw->hbuf[1] = 0xde;
-+                      hw->hbuf[2] = 0xad;
-+                      hw->hbuf[3] = 0xbe;
-+                      hw->hbuf[4] = 0xef;
-+                      break;
-+#endif
-               default:
-                       log_fatal("Unsupported device type %ld for \"%s\"",
-                                 (long int)sa->sa_family, name);
-diff --git a/includes/dhcp.h b/includes/dhcp.h
-index 95bf539..4cc547a 100644
---- a/includes/dhcp.h
-+++ b/includes/dhcp.h
-@@ -80,6 +80,8 @@ struct dhcp_packet {
-                                        * is no standard for this so we
-                                        * just steal a type            */
-
-+#define HTYPE_RESERVED        0               /* RFC 5494 */
-+
- /* Magic cookie validating dhcp options field (and bootp vendor
-    extensions field). */
- #define DHCP_OPTIONS_COOKIE   "\143\202\123\143"
-diff --git a/includes/dhcpd.h b/includes/dhcpd.h
-index 2ac39ae..faa9251 100644
---- a/includes/dhcpd.h
-+++ b/includes/dhcpd.h
-@@ -3051,7 +3051,7 @@ void client_dns_remove(struct client_state *client, struct iaddr *addr);
-
- void dhcpv4_client_assignments(void);
- void dhcpv6_client_assignments(void);
--void form_duid(struct data_string *duid, const char *file, int line);
-+isc_result_t form_duid(struct data_string *duid, const char *file, int line);
-
- void dhcp4o6_start(void);
-
-diff --git a/server/dhcpv6.c b/server/dhcpv6.c
-index a7110f9..c5ce7e8 100644
---- a/server/dhcpv6.c
-+++ b/server/dhcpv6.c
-@@ -482,6 +482,9 @@ generate_new_server_duid(void) {
-               if (p->hw_address.hlen > 0) {
-                       break;
-               }
-+              if (p->next == NULL && p->hw_address.hbuf[0] == HTYPE_RESERVED) {
-+                      log_error("Can not generate DUID from interfaces which do not have hardware addresses, please configure server-duid!");
-+              }
-       }
-       if (p == NULL) {
-               return ISC_R_UNEXPECTED;
---
-2.14.5
diff --git a/dhcp/patches/0014-IPoIB-support-660681.patch b/dhcp/patches/0014-IPoIB-support-660681.patch
deleted file mode 100644 (file)
index 7e3a43a..0000000
+++ /dev/null
@@ -1,600 +0,0 @@
-From de8468cf16c0fa9d01412446fcf1d44ccd0fd411 Mon Sep 17 00:00:00 2001
-From: Pavel Zhukov <pzhukov@redhat.com>
-Date: Thu, 21 Feb 2019 10:34:21 +0100
-Subject: [PATCH 14/21] IPoIB support (#660681)
-Cc: pzhukov@redhat.com
-
-(Submitted to dhcp-bugs@isc.org - [ISC-Bugs #24249])
----
- client/dhclient.c |  32 +++++++
- common/bpf.c      |  32 +++++++
- common/discover.c |   4 +-
- common/lpf.c      | 262 +++++++++++++++++++++++++++++++++++++++++++++++++-----
- common/socket.c   |   8 +-
- includes/dhcpd.h  |   6 +-
- 6 files changed, 315 insertions(+), 29 deletions(-)
-
-diff --git a/client/dhclient.c b/client/dhclient.c
-index 301132c..dc9080e 100644
---- a/client/dhclient.c
-+++ b/client/dhclient.c
-@@ -205,6 +205,8 @@ static const char use_v6command[] = "Command not used for DHCPv4: %s";
-
- #define DHCLIENT_USAGEH "{--version|--help|-h}"
-
-+static void setup_ib_interface(struct interface_info *ip);
-+
- static void
- usage(const char *sfmt, const char *sarg)
- {
-@@ -1191,6 +1193,13 @@ main(int argc, char **argv) {
-       }
-       srandom(seed + cur_time + (unsigned)getpid());
-
-+      /* Setup specific Infiniband options */
-+      for (ip = interfaces; ip; ip = ip->next) {
-+              if (ip->client &&
-+                  (ip->hw_address.hbuf[0] == HTYPE_INFINIBAND)) {
-+                      setup_ib_interface(ip);
-+              }
-+      }
-
-       /*
-        * Establish a default DUID.  We always do so for v6 and
-@@ -1486,6 +1495,29 @@ int find_subnet (struct subnet **sp,
-       return 0;
- }
-
-+static void setup_ib_interface(struct interface_info *ip)
-+{
-+      struct group *g;
-+
-+      /* Set the broadcast flag */
-+      ip->client->config->bootp_broadcast_always = 1;
-+
-+      /*
-+       * Find out if a dhcp-client-identifier option was specified either
-+       * in the config file or on the command line
-+       */
-+      for (g = ip->client->config->on_transmission; g != NULL; g = g->next) {
-+              if ((g->statements != NULL) &&
-+                  (strcmp(g->statements->data.option->option->name,
-+                          "dhcp-client-identifier") == 0)) {
-+                      return;
-+              }
-+      }
-+
-+      /* No client ID specified */
-+      log_fatal("dhcp-client-identifier must be specified for InfiniBand");
-+}
-+
- /* Individual States:
-  *
-  * Each routine is called from the dhclient_state_machine() in one of
-diff --git a/common/bpf.c b/common/bpf.c
-index ffbd09a..568e3d9 100644
---- a/common/bpf.c
-+++ b/common/bpf.c
-@@ -237,11 +237,43 @@ int dhcp_bpf_relay_filter_len =
-       sizeof dhcp_bpf_relay_filter / sizeof (struct bpf_insn);
- #endif
-
-+/* Packet filter program for DHCP over Infiniband.
-+ *
-+ * XXX
-+ * Changes to the filter program may require changes to the constant offsets
-+ * used in lpf_gen_filter_setup to patch the port in the BPF program!
-+ * XXX
-+ */
-+struct bpf_insn dhcp_ib_bpf_filter [] = {
-+      /* Packet filter for Infiniband */
-+      /* Make sure it's a UDP packet... */
-+      BPF_STMT(BPF_LD + BPF_B + BPF_ABS, 9),
-+      BPF_JUMP(BPF_JMP + BPF_JEQ + BPF_K, IPPROTO_UDP, 0, 6),
-+
-+      /* Make sure this isn't a fragment... */
-+      BPF_STMT(BPF_LD + BPF_H + BPF_ABS, 6),
-+      BPF_JUMP(BPF_JMP + BPF_JSET + BPF_K, 0x1fff, 4, 0),
-+
-+      /* Get the IP header length... */
-+      BPF_STMT(BPF_LDX + BPF_B + BPF_MSH, 0),
-+
-+      /* Make sure it's to the right port... */
-+      BPF_STMT(BPF_LD + BPF_H + BPF_IND, 2),
-+      BPF_JUMP(BPF_JMP + BPF_JEQ + BPF_K, 67, 0, 1),
-+
-+      /* If we passed all the tests, ask for the whole packet. */
-+      BPF_STMT(BPF_RET + BPF_K, (u_int)-1),
-+
-+      /* Otherwise, drop it. */
-+      BPF_STMT(BPF_RET + BPF_K, 0),
-+};
-+
- #if defined (DEC_FDDI)
- struct bpf_insn *bpf_fddi_filter = NULL;
- #endif
-
- int dhcp_bpf_filter_len = sizeof dhcp_bpf_filter / sizeof (struct bpf_insn);
-+int dhcp_ib_bpf_filter_len = sizeof dhcp_ib_bpf_filter / sizeof (struct bpf_insn);
- #if defined (HAVE_TR_SUPPORT)
- struct bpf_insn dhcp_bpf_tr_filter [] = {
-         /* accept all token ring packets due to variable length header */
-diff --git a/common/discover.c b/common/discover.c
-index 6ef8852..65881fc 100644
---- a/common/discover.c
-+++ b/common/discover.c
-@@ -894,7 +894,7 @@ discover_interfaces(int state) {
-                               if_register_send(tmp);
-                       } else {
-                               /* get_hw_addr() was called by register. */
--                              get_hw_addr(tmp->name, &tmp->hw_address);
-+                              get_hw_addr(tmp);
-                       }
-                       break;
- #ifdef DHCPv6
-@@ -907,7 +907,7 @@ discover_interfaces(int state) {
-                                  so now we have to call it explicitly
-                                  to not leave the hardware address unknown
-                                  (some code expects it cannot be. */
--                              get_hw_addr(tmp->name, &tmp->hw_address);
-+                              get_hw_addr(tmp);
-                       } else {
-                               if_register_linklocal6(tmp);
-                       }
-diff --git a/common/lpf.c b/common/lpf.c
-index b0ed01c..b732a86 100644
---- a/common/lpf.c
-+++ b/common/lpf.c
-@@ -45,6 +45,17 @@
- #include <sys/ioctl.h>
- #include <sys/socket.h>
- #include <net/if.h>
-+#include <ifaddrs.h>
-+
-+/* Default broadcast address for IPoIB */
-+static unsigned char default_ib_bcast_addr[20] = {
-+      0x00, 0xff, 0xff, 0xff,
-+      0xff, 0x12, 0x40, 0x1b,
-+      0x00, 0x00, 0x00, 0x00,
-+      0x00, 0x00, 0x00, 0x00,
-+      0xff, 0xff, 0xff, 0xff
-+};
-+
- #endif
-
- #if defined (USE_LPF_SEND) || defined (USE_LPF_RECEIVE)
-@@ -78,10 +89,20 @@ int if_register_lpf (info)
-               struct sockaddr common;
-               } sa;
-       struct ifreq ifr;
-+      int type;
-+      int protocol;
-+
-+      get_hw_addr(info);
-+      if (info->hw_address.hbuf[0] == HTYPE_INFINIBAND) {
-+              type = SOCK_DGRAM;
-+              protocol = ETHERTYPE_IP;
-+      } else {
-+              type = SOCK_RAW;
-+              protocol = ETH_P_ALL;
-+      }
-
-       /* Make an LPF socket. */
--      if ((sock = socket(PF_PACKET, SOCK_RAW,
--                         htons((short)ETH_P_ALL))) < 0) {
-+      if ((sock = socket(PF_PACKET, type, htons((short)protocol))) < 0) {
-               if (errno == ENOPROTOOPT || errno == EPROTONOSUPPORT ||
-                   errno == ESOCKTNOSUPPORT || errno == EPFNOSUPPORT ||
-                   errno == EAFNOSUPPORT || errno == EINVAL) {
-@@ -104,6 +125,7 @@ int if_register_lpf (info)
-       /* Bind to the interface name */
-       memset (&sa, 0, sizeof sa);
-       sa.ll.sll_family = AF_PACKET;
-+      sa.ll.sll_protocol = htons(protocol);
-       sa.ll.sll_ifindex = ifr.ifr_ifindex;
-       if (bind (sock, &sa.common, sizeof sa)) {
-               if (errno == ENOPROTOOPT || errno == EPROTONOSUPPORT ||
-@@ -120,8 +142,6 @@ int if_register_lpf (info)
-
-       }
-
--      get_hw_addr(info->name, &info->hw_address);
--
-       return sock;
- }
- #endif /* USE_LPF_SEND || USE_LPF_RECEIVE */
-@@ -176,6 +196,8 @@ void if_deregister_send (info)
-    in bpf includes... */
- extern struct sock_filter dhcp_bpf_filter [];
- extern int dhcp_bpf_filter_len;
-+extern struct sock_filter dhcp_ib_bpf_filter [];
-+extern int dhcp_ib_bpf_filter_len;
-
- #if defined(RELAY_PORT)
- extern struct sock_filter dhcp_bpf_relay_filter [];
-@@ -199,11 +221,12 @@ void if_register_receive (info)
- #ifdef PACKET_AUXDATA
-       {
-       int val = 1;
--
--      if (setsockopt(info->rfdesc, SOL_PACKET, PACKET_AUXDATA,
--                     &val, sizeof(val)) < 0) {
--              if (errno != ENOPROTOOPT) {
--                      log_fatal ("Failed to set auxiliary packet data: %m");
-+      if (info->hw_address.hbuf[0] != HTYPE_INFINIBAND) {
-+              if (setsockopt(info->rfdesc, SOL_PACKET, PACKET_AUXDATA,
-+                            &val, sizeof(val)) < 0) {
-+                      if (errno != ENOPROTOOPT) {
-+                              log_fatal ("Failed to set auxiliary packet data: %m");
-+                      }
-               }
-       }
-       }
-@@ -330,6 +353,54 @@ static void lpf_tr_filter_setup (info)
- #endif /* USE_LPF_RECEIVE */
-
- #ifdef USE_LPF_SEND
-+ssize_t send_packet_ib(interface, packet, raw, len, from, to, hto)
-+      struct interface_info *interface;
-+      struct packet *packet;
-+      struct dhcp_packet *raw;
-+      size_t len;
-+      struct in_addr from;
-+      struct sockaddr_in *to;
-+      struct hardware *hto;
-+{
-+      unsigned ibufp = 0;
-+      double ih [1536 / sizeof (double)];
-+      unsigned char *buf = (unsigned char *)ih;
-+      ssize_t result;
-+
-+      union sockunion {
-+              struct sockaddr sa;
-+              struct sockaddr_ll sll;
-+              struct sockaddr_storage ss;
-+      } su;
-+
-+      assemble_udp_ip_header (interface, buf, &ibufp, from.s_addr,
-+                              to->sin_addr.s_addr, to->sin_port,
-+                              (unsigned char *)raw, len);
-+      memcpy (buf + ibufp, raw, len);
-+
-+      memset(&su, 0, sizeof(su));
-+      su.sll.sll_family = AF_PACKET;
-+      su.sll.sll_protocol = htons(ETHERTYPE_IP);
-+
-+      if (!(su.sll.sll_ifindex = if_nametoindex(interface->name))) {
-+              errno = ENOENT;
-+              log_error ("send_packet_ib: %m - failed to get if index");
-+              return -1;
-+      }
-+
-+      su.sll.sll_hatype = htons(HTYPE_INFINIBAND);
-+      su.sll.sll_halen = sizeof(interface->bcast_addr);
-+      memcpy(&su.sll.sll_addr, interface->bcast_addr, 20);
-+
-+      result = sendto(interface->wfdesc, buf, ibufp + len, 0,
-+                      &su.sa, sizeof(su));
-+
-+      if (result < 0)
-+              log_error ("send_packet_ib: %m");
-+
-+      return result;
-+}
-+
- ssize_t send_packet (interface, packet, raw, len, from, to, hto)
-       struct interface_info *interface;
-       struct packet *packet;
-@@ -350,6 +421,11 @@ ssize_t send_packet (interface, packet, raw, len, from, to, hto)
-               return send_fallback (interface, packet, raw,
-                                     len, from, to, hto);
-
-+      if (interface->hw_address.hbuf[0] == HTYPE_INFINIBAND) {
-+              return send_packet_ib(interface, packet, raw, len, from,
-+                                    to, hto);
-+      }
-+
-       if (hto == NULL && interface->anycast_mac_addr.hlen)
-               hto = &interface->anycast_mac_addr;
-
-@@ -370,6 +446,42 @@ ssize_t send_packet (interface, packet, raw, len, from, to, hto)
- #endif /* USE_LPF_SEND */
-
- #ifdef USE_LPF_RECEIVE
-+ssize_t receive_packet_ib (interface, buf, len, from, hfrom)
-+      struct interface_info *interface;
-+      unsigned char *buf;
-+      size_t len;
-+      struct sockaddr_in *from;
-+      struct hardware *hfrom;
-+{
-+      int length = 0;
-+      int offset = 0;
-+      unsigned char ibuf [1536];
-+      unsigned bufix = 0;
-+      unsigned paylen;
-+
-+      length = read(interface->rfdesc, ibuf, sizeof(ibuf));
-+
-+      if (length <= 0)
-+              return length;
-+
-+      offset = decode_udp_ip_header(interface, ibuf, bufix, from,
-+                                     (unsigned)length, &paylen, 0);
-+
-+      if (offset < 0)
-+              return 0;
-+
-+      bufix += offset;
-+      length -= offset;
-+
-+      if (length < paylen)
-+              log_fatal("Internal inconsistency at %s:%d.", MDL);
-+
-+      /* Copy out the data in the packet... */
-+      memcpy(buf, &ibuf[bufix], paylen);
-+
-+      return (ssize_t)paylen;
-+}
-+
- ssize_t receive_packet (interface, buf, len, from, hfrom)
-       struct interface_info *interface;
-       unsigned char *buf;
-@@ -408,6 +520,10 @@ ssize_t receive_packet (interface, buf, len, from, hfrom)
-       };
- #endif /* PACKET_AUXDATA */
-
-+      if (interface->hw_address.hbuf[0] == HTYPE_INFINIBAND) {
-+              return receive_packet_ib(interface, buf, len, from, hfrom);
-+      }
-+
-       length = recvmsg (interface->rfdesc, &msg, 0);
-       if (length <= 0)
-               return length;
-@@ -521,11 +637,33 @@ void maybe_setup_fallback ()
- #endif
-
- #if defined (USE_LPF_RECEIVE) || defined (USE_LPF_HWADDR)
--void
--get_hw_addr(const char *name, struct hardware *hw) {
-+struct sockaddr_ll *
-+get_ll (struct ifaddrs *ifaddrs, struct ifaddrs **ifa, char *name)
-+{
-+      for (*ifa = ifaddrs; *ifa != NULL; *ifa = (*ifa)->ifa_next) {
-+              if ((*ifa)->ifa_addr == NULL)
-+                      continue;
-+
-+              if ((*ifa)->ifa_addr->sa_family != AF_PACKET)
-+                      continue;
-+
-+              if ((*ifa)->ifa_flags & IFF_LOOPBACK)
-+                      continue;
-+
-+              if (strcmp((*ifa)->ifa_name, name) == 0)
-+                      return (struct sockaddr_ll *)(void *)(*ifa)->ifa_addr;
-+      }
-+      *ifa = NULL;
-+      return NULL;
-+}
-+
-+struct sockaddr_ll *
-+ioctl_get_ll(char *name)
-+{
-       int sock;
-       struct ifreq tmp;
--      struct sockaddr *sa;
-+      struct sockaddr *sa = NULL;
-+      struct sockaddr_ll *sll = NULL;
-
-       if (strlen(name) >= sizeof(tmp.ifr_name)) {
-               log_fatal("Device name too long: \"%s\"", name);
-@@ -539,16 +677,61 @@ get_hw_addr(const char *name, struct hardware *hw) {
-       memset(&tmp, 0, sizeof(tmp));
-       strcpy(tmp.ifr_name, name);
-       if (ioctl(sock, SIOCGIFHWADDR, &tmp) < 0) {
--              log_fatal("Error getting hardware address for \"%s\": %m",
-+              log_fatal("Error getting hardware address for \"%s\": %m",
-                         name);
-       }
-+      close(sock);
-
-       sa = &tmp.ifr_hwaddr;
--      switch (sa->sa_family) {
-+      // needs to be freed outside this function
-+      sll = dmalloc (sizeof (struct sockaddr_ll), MDL);
-+      if (!sll)
-+              log_fatal("Unable to allocate memory for link layer address");
-+      memcpy(&sll->sll_hatype, &sa->sa_family, sizeof (sll->sll_hatype));
-+      memcpy(sll->sll_addr, sa->sa_data, sizeof (sll->sll_addr));
-+      switch (sll->sll_hatype) {
-+              case ARPHRD_INFINIBAND:
-+                      sll->sll_halen = HARDWARE_ADDR_LEN_IOCTL;
-+                      break;
-+              default:
-+                      break;
-+      }
-+      return sll;
-+}
-+
-+void
-+get_hw_addr(struct interface_info *info)
-+{
-+      struct hardware *hw = &info->hw_address;
-+      char *name = info->name;
-+      struct ifaddrs *ifaddrs = NULL;
-+      struct ifaddrs *ifa = NULL;
-+      struct sockaddr_ll *sll = NULL;
-+      int sll_allocated = 0;
-+      char *dup = NULL;
-+      char *colon = NULL;
-+
-+      if (getifaddrs(&ifaddrs) == -1)
-+              log_fatal("Failed to get interfaces");
-+
-+      if ((sll = get_ll(ifaddrs, &ifa, name)) == NULL) {
-+              /*
-+               * We were unable to get link-layer address for name.
-+               * Fall back to ioctl(SIOCGIFHWADDR).
-+               */
-+              sll = ioctl_get_ll(name);
-+              if (sll != NULL)
-+                      sll_allocated = 1;
-+              else
-+                      // shouldn't happen
-+                      log_fatal("Unexpected internal error");
-+      }
-+
-+      switch (sll->sll_hatype) {
-               case ARPHRD_ETHER:
-                       hw->hlen = 7;
-                       hw->hbuf[0] = HTYPE_ETHER;
--                      memcpy(&hw->hbuf[1], sa->sa_data, 6);
-+                      memcpy(&hw->hbuf[1], sll->sll_addr, 6);
-                       break;
-               case ARPHRD_IEEE802:
- #ifdef ARPHRD_IEEE802_TR
-@@ -556,18 +739,50 @@ get_hw_addr(const char *name, struct hardware *hw) {
- #endif /* ARPHRD_IEEE802_TR */
-                       hw->hlen = 7;
-                       hw->hbuf[0] = HTYPE_IEEE802;
--                      memcpy(&hw->hbuf[1], sa->sa_data, 6);
-+                      memcpy(&hw->hbuf[1], sll->sll_addr, 6);
-                       break;
-               case ARPHRD_FDDI:
-                       hw->hlen = 7;
-                       hw->hbuf[0] = HTYPE_FDDI;
--                      memcpy(&hw->hbuf[1], sa->sa_data, 6);
-+                      memcpy(&hw->hbuf[1], sll->sll_addr, 6);
-+                      break;
-+              case ARPHRD_INFINIBAND:
-+                      dup = strdup(name);
-+                      /* Aliased infiniband interface is special case where
-+                       * neither get_ll() nor ioctl_get_ll() get's correct hw
-+                       * address, so we have to truncate the :0 and run
-+                       * get_ll() again for the rest.
-+                      */
-+                      if ((colon = strchr(dup, ':')) != NULL) {
-+                              *colon = '\0';
-+                              if ((sll = get_ll(ifaddrs, &ifa, dup)) == NULL)
-+                                      log_fatal("Error getting hardware address for \"%s\": %m", name);
-+                      }
-+                      free (dup);
-+                      /* For Infiniband, save the broadcast address and store
-+                       * the port GUID into the hardware address.
-+                       */
-+                      if (ifa && (ifa->ifa_flags & IFF_BROADCAST)) {
-+                              struct sockaddr_ll *bll;
-+
-+                              bll = (struct sockaddr_ll *)ifa->ifa_broadaddr;
-+                              memcpy(&info->bcast_addr, bll->sll_addr, 20);
-+                      } else {
-+                              memcpy(&info->bcast_addr, default_ib_bcast_addr,
-+                                     20);
-+                      }
-+
-+                      hw->hlen = HARDWARE_ADDR_LEN_IOCTL + 1;
-+                      hw->hbuf[0] = HTYPE_INFINIBAND;
-+                      memcpy(&hw->hbuf[1],
-+                             &sll->sll_addr[sll->sll_halen - HARDWARE_ADDR_LEN_IOCTL],
-+                             HARDWARE_ADDR_LEN_IOCTL);
-                       break;
- #if defined(ARPHRD_PPP)
-               case ARPHRD_PPP:
-                       if (local_family != AF_INET6)
--                              log_fatal("Unsupported device type %d for \"%s\"",
--                                         sa->sa_family, name);
-+                              log_fatal("local_family != AF_INET6 for \"%s\"",
-+                                        name);
-                       hw->hlen = 0;
-                       hw->hbuf[0] = HTYPE_RESERVED;
-                       /* 0xdeadbeef should never occur on the wire,
-@@ -580,10 +795,13 @@ get_hw_addr(const char *name, struct hardware *hw) {
-                       break;
- #endif
-               default:
--                      log_fatal("Unsupported device type %ld for \"%s\"",
--                                (long int)sa->sa_family, name);
-+                      freeifaddrs(ifaddrs);
-+                      log_fatal("Unsupported device type %hu for \"%s\"",
-+                                sll->sll_hatype, name);
-       }
-
--      close(sock);
-+      if (sll_allocated)
-+              dfree(sll, MDL);
-+      freeifaddrs(ifaddrs);
- }
- #endif
-diff --git a/common/socket.c b/common/socket.c
-index 483eb9c..6e1caac 100644
---- a/common/socket.c
-+++ b/common/socket.c
-@@ -350,7 +350,7 @@ void if_register_send (info)
-       info->wfdesc = if_register_socket(info, AF_INET, 0, NULL);
-       /* If this is a normal IPv4 address, get the hardware address. */
-       if (strcmp(info->name, "fallback") != 0)
--              get_hw_addr(info->name, &info->hw_address);
-+              get_hw_addr(info);
- #if defined (USE_SOCKET_FALLBACK)
-       /* Fallback only registers for send, but may need to receive as
-          well. */
-@@ -413,7 +413,7 @@ void if_register_receive (info)
- #endif /* IP_PKTINFO... */
-       /* If this is a normal IPv4 address, get the hardware address. */
-       if (strcmp(info->name, "fallback") != 0)
--              get_hw_addr(info->name, &info->hw_address);
-+              get_hw_addr(info);
-
-       if (!quiet_interface_discovery)
-               log_info ("Listening on Socket/%s%s%s",
-@@ -567,7 +567,7 @@ if_register6(struct interface_info *info, int do_multicast) {
-       if (req_multi)
-               if_register_multicast(info);
-
--      get_hw_addr(info->name, &info->hw_address);
-+      get_hw_addr(info);
-
-       if (!quiet_interface_discovery) {
-               if (info->shared_network != NULL) {
-@@ -623,7 +623,7 @@ if_register_linklocal6(struct interface_info *info) {
-       info->rfdesc = sock;
-       info->wfdesc = sock;
-
--      get_hw_addr(info->name, &info->hw_address);
-+      get_hw_addr(info);
-
-       if (!quiet_interface_discovery) {
-               if (info->shared_network != NULL) {
-diff --git a/includes/dhcpd.h b/includes/dhcpd.h
-index faa9251..0c1a0aa 100644
---- a/includes/dhcpd.h
-+++ b/includes/dhcpd.h
-@@ -485,6 +485,9 @@ struct packet {
-
- #define HARDWARE_ADDR_LEN 20
-
-+/* ioctl limits hardware addresses to 8 bytes */
-+#define HARDWARE_ADDR_LEN_IOCTL       8
-+
- struct hardware {
-       u_int8_t hlen;
-       u_int8_t hbuf[HARDWARE_ADDR_LEN + 1];
-@@ -1365,6 +1368,7 @@ struct interface_info {
-       struct shared_network *shared_network;
-                               /* Networks connected to this interface. */
-       struct hardware hw_address;     /* Its physical address. */
-+      u_int8_t bcast_addr[20];        /* Infiniband broadcast address */
-       struct in_addr *addresses;      /* Addresses associated with this
-                                        * interface.
-                                        */
-@@ -2633,7 +2637,7 @@ void print_dns_status (int, struct dhcp_ddns_cb *, isc_result_t);
- #endif
- const char *print_time(TIME);
-
--void get_hw_addr(const char *name, struct hardware *hw);
-+void get_hw_addr(struct interface_info *info);
- char *buf_to_hex (const unsigned char *s, unsigned len,
-                    const char *file, int line);
- char *format_lease_id(const unsigned char *s, unsigned len, int format,
---
-2.14.5
diff --git a/dhcp/patches/0015-Add-GUID-DUID-to-dhcpd-logs-1064416.patch b/dhcp/patches/0015-Add-GUID-DUID-to-dhcpd-logs-1064416.patch
deleted file mode 100644 (file)
index 191a8cc..0000000
+++ /dev/null
@@ -1,331 +0,0 @@
-From 7ac7d0b00874ee996c7ee75a595c029759368aad Mon Sep 17 00:00:00 2001
-From: Pavel Zhukov <pzhukov@redhat.com>
-Date: Thu, 21 Feb 2019 10:35:47 +0100
-Subject: [PATCH 15/21] Add GUID/DUID to dhcpd logs (#1064416)
-Cc: pzhukov@redhat.com
-
----
- client/dhclient.c | 75 ++++++++++++++++++++++++++++++++++++++++++----------
- server/dhcp.c     | 78 +++++++++++++++++++++++++++++++++----------------------
- 2 files changed, 108 insertions(+), 45 deletions(-)
-
-diff --git a/client/dhclient.c b/client/dhclient.c
-index dc9080e..8e57da9 100644
---- a/client/dhclient.c
-+++ b/client/dhclient.c
-@@ -1170,6 +1170,26 @@ main(int argc, char **argv) {
-               }
-       }
-
-+      /* We create a backup seed before rediscovering interfaces in order to
-+         have a seed built using all of the available interfaces
-+         It's interesting if required interfaces doesn't let us defined
-+         a really unique seed due to a lack of valid HW addr later
-+         (this is the case with DHCP over IB)
-+         We only use the last device as using a sum could broke the
-+         uniqueness of the seed among multiple nodes
-+       */
-+      unsigned backup_seed = 0;
-+      for (ip = interfaces; ip; ip = ip -> next) {
-+              int junk;
-+              if ( ip -> hw_address.hlen <= sizeof seed )
-+                continue;
-+              memcpy (&junk,
-+                      &ip -> hw_address.hbuf [ip -> hw_address.hlen -
-+                                              sizeof seed], sizeof seed);
-+              backup_seed = junk;
-+      }
-+
-+
-       /* At this point, all the interfaces that the script thinks
-          are relevant should be running, so now we once again call
-          discover_interfaces(), and this time ask it to actually set
-@@ -1184,14 +1204,36 @@ main(int argc, char **argv) {
-          Not much entropy, but we're booting, so we're not likely to
-          find anything better. */
-       seed = 0;
-+      int seed_flag = 0;
-       for (ip = interfaces; ip; ip = ip->next) {
-               int junk;
-+              if ( ip -> hw_address.hlen <= sizeof seed )
-+                continue;
-               memcpy(&junk,
-                      &ip->hw_address.hbuf[ip->hw_address.hlen -
-                                           sizeof seed], sizeof seed);
-               seed += junk;
-+              seed_flag = 1;
-       }
--      srandom(seed + cur_time + (unsigned)getpid());
-+      if ( seed_flag == 0 ) {
-+              if ( backup_seed != 0 ) {
-+                seed = backup_seed;
-+                log_info ("xid: rand init seed (0x%x) built using all"
-+                          " available interfaces",seed);
-+              }
-+              else {
-+                seed = cur_time^((unsigned) gethostid()) ;
-+                log_info ("xid: warning: no netdev with useable HWADDR found"
-+                          " for seed's uniqueness enforcement");
-+                log_info ("xid: rand init seed (0x%x) built using gethostid",
-+                          seed);
-+              }
-+              /* we only use seed and no current time as a broadcast reply */
-+              /* will certainly be used by the hwaddrless interface */
-+              srandom(seed + ((unsigned)(cur_tv.tv_usec * 1000000)) + (unsigned)getpid());
-+      }
-+      else
-+              srandom(seed + ((unsigned)(cur_tv.tv_usec * 1000000)) + (unsigned)getpid());
-
-       /* Setup specific Infiniband options */
-       for (ip = interfaces; ip; ip = ip->next) {
-@@ -1746,10 +1788,10 @@ void dhcpack (packet)
- #endif
-               return;
-       }
--
--      log_info ("DHCPACK of %s from %s",
--                inet_ntoa(packet->raw->yiaddr),
--                piaddr (packet->client_addr));
-+      log_info ("DHCPACK of %s from %s (xid=0x%x)",
-+                  inet_ntoa(packet->raw->yiaddr),
-+                  piaddr (packet -> client_addr),
-+                  ntohl(client -> xid));
-
-       lease = packet_to_lease (packet, client);
-       if (!lease) {
-@@ -2669,7 +2711,7 @@ void dhcpnak (packet)
-               return;
-       }
-
--      log_info ("DHCPNAK from %s", piaddr (packet -> client_addr));
-+      log_info ("DHCPNAK from %s (xid=0x%x)", piaddr (packet -> client_addr), ntohl(client -> xid));
-
-       if (!client -> active) {
- #if defined (DEBUG)
-@@ -2802,10 +2844,10 @@ void send_discover (cpp)
-                         (long)(client -> interval));
-       } else
- #endif
--      log_info ("DHCPDISCOVER on %s to %s port %d interval %ld",
-+      log_info ("DHCPDISCOVER on %s to %s port %d interval %ld (xid=0x%x)",
-             client -> name ? client -> name : client -> interface -> name,
-             inet_ntoa (sockaddr_broadcast.sin_addr),
--            ntohs (sockaddr_broadcast.sin_port), (long)(client -> interval));
-+            ntohs (sockaddr_broadcast.sin_port), (long)(client -> interval), ntohl(client -> xid));
-
-       /* Send out a packet. */
- #if defined(DHCPv6) && defined(DHCP4o6)
-@@ -3108,10 +3150,12 @@ void send_request (cpp)
-       }
-
-       strncpy(rip_buf, rip_str, sizeof(rip_buf)-1);
--      log_info ("DHCPREQUEST for %s on %s to %s port %d", rip_buf,
-+      log_info ("DHCPREQUEST for %s on %s to %s port %d (xid=0x%x)",
-+                  rip_buf,
-                 client->name ? client->name : client->interface->name,
-                 inet_ntoa(destination.sin_addr),
--                ntohs (destination.sin_port));
-+                ntohs (destination.sin_port),
-+                  ntohl(client -> xid));
-
- #if defined(DHCPv6) && defined(DHCP4o6)
-       if (dhcpv4_over_dhcpv6) {
-@@ -3168,11 +3212,13 @@ void send_decline (cpp)
-               log_info ("DHCPDECLINE");
-       } else
- #endif
--      log_info ("DHCPDECLINE of %s on %s to %s port %d",
-+      log_info ("DHCPDECLINE of %s on %s to %s port %d (xid=0x%x)",
-                 piaddr(client->requested_address),
-                 (client->name ? client->name : client->interface->name),
-                 inet_ntoa(sockaddr_broadcast.sin_addr),
--                ntohs(sockaddr_broadcast.sin_port));
-+                ntohs(sockaddr_broadcast.sin_port),
-+                  ntohl(client -> xid));
-+
-
-       /* Send out a packet. */
- #if defined(DHCPv6) && defined(DHCP4o6)
-@@ -3231,11 +3277,12 @@ void send_release (cpp)
-               log_info ("DHCPRELEASE");
-       } else
- #endif
--      log_info ("DHCPRELEASE of %s on %s to %s port %d",
-+      log_info ("DHCPRELEASE of %s on %s to %s port %d (xid=0x%x)",
-                 piaddr(client->active->address),
-                 client->name ? client->name : client->interface->name,
-                 inet_ntoa (destination.sin_addr),
--                ntohs (destination.sin_port));
-+                ntohs (destination.sin_port),
-+                  ntohl(client -> xid));
-
- #if defined(DHCPv6) && defined(DHCP4o6)
-       if (dhcpv4_over_dhcpv6) {
-diff --git a/server/dhcp.c b/server/dhcp.c
-index 20f2a62..0582c4c 100644
---- a/server/dhcp.c
-+++ b/server/dhcp.c
-@@ -87,6 +87,42 @@ const int dhcp_type_name_max = ((sizeof dhcp_type_names) / sizeof (char *));
-
- static TIME leaseTimeCheck(TIME calculated, TIME alternate);
-
-+char *print_client_identifier_from_packet (packet)
-+      struct packet *packet;
-+{
-+      struct option_cache *oc;
-+      struct data_string client_identifier;
-+      char *ci;
-+
-+      memset (&client_identifier, 0, sizeof client_identifier);
-+
-+      oc = lookup_option (&dhcp_universe, packet -> options,
-+                      DHO_DHCP_CLIENT_IDENTIFIER);
-+      if (oc &&
-+          evaluate_option_cache (&client_identifier,
-+                                  packet, (struct lease *)0,
-+                                  (struct client_state *)0,
-+                                  packet -> options,
-+                                  (struct option_state *)0,
-+                                  &global_scope, oc, MDL)) {
-+              ci = print_hw_addr (HTYPE_INFINIBAND, client_identifier.len, client_identifier.data);
-+              data_string_forget (&client_identifier, MDL);
-+              return ci;
-+      } else
-+              return "\"no client id\"";
-+}
-+
-+char *print_hw_addr_or_client_id (packet)
-+      struct packet *packet;
-+{
-+      if (packet -> raw -> htype == HTYPE_INFINIBAND)
-+              return print_client_identifier_from_packet (packet);
-+      else
-+              return print_hw_addr (packet -> raw -> htype,
-+                                    packet -> raw -> hlen,
-+                                    packet -> raw -> chaddr);
-+}
-+
- void
- dhcp (struct packet *packet) {
-       int ms_nulltp = 0;
-@@ -129,9 +165,7 @@ dhcp (struct packet *packet) {
-
-               log_info("%s from %s via %s: %s", s,
-                        (packet->raw->htype
--                        ? print_hw_addr(packet->raw->htype,
--                                        packet->raw->hlen,
--                                        packet->raw->chaddr)
-+                        ? print_hw_addr_or_client_id(packet)
-                         : "<no identifier>"),
-                        packet->raw->giaddr.s_addr
-                        ? inet_ntoa(packet->raw->giaddr)
-@@ -328,9 +362,7 @@ void dhcpdiscover (packet, ms_nulltp)
- #endif
-       snprintf (msgbuf, sizeof msgbuf, "DHCPDISCOVER from %s %s%s%svia %s",
-                (packet -> raw -> htype
--                ? print_hw_addr (packet -> raw -> htype,
--                                 packet -> raw -> hlen,
--                                 packet -> raw -> chaddr)
-+                ? print_hw_addr_or_client_id (packet)
-                 : (lease
-                    ? print_hex_1(lease->uid_len, lease->uid, 60)
-                    : "<no identifier>")),
-@@ -542,9 +574,7 @@ void dhcprequest (packet, ms_nulltp, ip_lease)
-                "DHCPREQUEST for %s%s from %s %s%s%svia %s",
-                piaddr (cip), smbuf,
-                (packet -> raw -> htype
--                ? print_hw_addr (packet -> raw -> htype,
--                                 packet -> raw -> hlen,
--                                 packet -> raw -> chaddr)
-+                ? print_hw_addr_or_client_id(packet)
-                 : (lease
-                    ? print_hex_1(lease->uid_len, lease->uid, 60)
-                    : "<no identifier>")),
-@@ -785,9 +815,7 @@ void dhcprelease (packet, ms_nulltp)
-       if ((oc = lookup_option (&dhcp_universe, packet -> options,
-                                DHO_DHCP_REQUESTED_ADDRESS))) {
-               log_info ("DHCPRELEASE from %s specified requested-address.",
--                    print_hw_addr (packet -> raw -> htype,
--                                   packet -> raw -> hlen,
--                                   packet -> raw -> chaddr));
-+                    print_hw_addr_or_client_id(packet));
-       }
-
-       oc = lookup_option (&dhcp_universe, packet -> options,
-@@ -879,9 +907,7 @@ void dhcprelease (packet, ms_nulltp)
-                "DHCPRELEASE of %s from %s %s%s%svia %s (%sfound)",
-                cstr,
-                (packet -> raw -> htype
--                ? print_hw_addr (packet -> raw -> htype,
--                                 packet -> raw -> hlen,
--                                 packet -> raw -> chaddr)
-+                ? print_hw_addr_or_client_id(packet)
-                 : (lease
-                    ? print_hex_1(lease->uid_len, lease->uid, 60)
-                    : "<no identifier>")),
-@@ -986,9 +1012,7 @@ void dhcpdecline (packet, ms_nulltp)
-                "DHCPDECLINE of %s from %s %s%s%svia %s",
-                piaddr (cip),
-                (packet -> raw -> htype
--                ? print_hw_addr (packet -> raw -> htype,
--                                 packet -> raw -> hlen,
--                                 packet -> raw -> chaddr)
-+                ? print_hw_addr_or_client_id(packet)
-                 : (lease
-                    ? print_hex_1(lease->uid_len, lease->uid, 60)
-                    : "<no identifier>")),
-@@ -1732,8 +1756,7 @@ void dhcpinform (packet, ms_nulltp)
-       /* Report what we're sending. */
-       snprintf(msgbuf, sizeof msgbuf, "DHCPACK to %s (%s) via", piaddr(cip),
-                (packet->raw->htype && packet->raw->hlen) ?
--                      print_hw_addr(packet->raw->htype, packet->raw->hlen,
--                                    packet->raw->chaddr) :
-+                      print_hw_addr_or_client_id(packet) :
-                       "<no client hardware address>");
-       log_info("%s %s", msgbuf, gip.len ? piaddr(gip) :
-                                           packet->interface->name);
-@@ -1918,9 +1941,7 @@ void nak_lease (packet, cip, network_group)
- #endif
-       log_info ("DHCPNAK on %s to %s via %s",
-             piaddr (*cip),
--            print_hw_addr (packet -> raw -> htype,
--                           packet -> raw -> hlen,
--                           packet -> raw -> chaddr),
-+            print_hw_addr_or_client_id(packet),
-             packet -> raw -> giaddr.s_addr
-             ? inet_ntoa (packet -> raw -> giaddr)
-             : packet -> interface -> name);
-@@ -3936,7 +3957,7 @@ void dhcp_reply (lease)
-                  ? (state -> offer == DHCPACK ? "DHCPACK" : "DHCPOFFER")
-                  : "BOOTREPLY"),
-                 piaddr (lease -> ip_addr),
--                (lease -> hardware_addr.hlen
-+                (lease -> hardware_addr.hlen > 1
-                  ? print_hw_addr (lease -> hardware_addr.hbuf [0],
-                                   lease -> hardware_addr.hlen - 1,
-                                   &lease -> hardware_addr.hbuf [1])
-@@ -4497,10 +4518,7 @@ int find_lease (struct lease **lp,
-                       if (uid_lease) {
-                           if (uid_lease->binding_state == FTS_ACTIVE) {
-                               log_error ("client %s has duplicate%s on %s",
--                                         (print_hw_addr
--                                          (packet -> raw -> htype,
--                                           packet -> raw -> hlen,
--                                           packet -> raw -> chaddr)),
-+                                         (print_hw_addr_or_client_id(packet)),
-                                          " leases",
-                                          (ip_lease -> subnet ->
-                                           shared_network -> name));
-@@ -4667,9 +4685,7 @@ int find_lease (struct lease **lp,
-                       log_error("uid lease %s for client %s is duplicate "
-                                 "on %s",
-                                 piaddr(uid_lease->ip_addr),
--                                print_hw_addr(packet->raw->htype,
--                                              packet->raw->hlen,
--                                              packet->raw->chaddr),
-+                                print_hw_addr_or_client_id(packet),
-                                 uid_lease->subnet->shared_network->name);
-
-                       if (!packet -> raw -> ciaddr.s_addr &&
---
-2.14.5
diff --git a/dhcp/patches/0016-Turn-on-creating-sending-of-DUID.patch b/dhcp/patches/0016-Turn-on-creating-sending-of-DUID.patch
deleted file mode 100644 (file)
index 535c67c..0000000
+++ /dev/null
@@ -1,125 +0,0 @@
-From 1f0473939bcb17095bbef48cd9a81105a3de9846 Mon Sep 17 00:00:00 2001
-From: Pavel Zhukov <pzhukov@redhat.com>
-Date: Thu, 21 Feb 2019 10:36:30 +0100
-Subject: [PATCH 16/21] Turn on creating/sending of DUID
-Cc: pzhukov@redhat.com
-
-as client identifier with DHCPv4 clients (#560361c#40, rfc4361)
----
- client/dhclient.c | 74 ++++++++++++++++++++++++++++++++++++++++++++++++++++---
- 1 file changed, 70 insertions(+), 4 deletions(-)
-
-diff --git a/client/dhclient.c b/client/dhclient.c
-index 8e57da9..ccc98e4 100644
---- a/client/dhclient.c
-+++ b/client/dhclient.c
-@@ -4021,6 +4021,59 @@ write_options(struct client_state *client, struct option_state *options,
-       }
- }
-
-+int unhexchar(char c) {
-+
-+      if (c >= '0' && c <= '9')
-+              return c - '0';
-+
-+      if (c >= 'a' && c <= 'f')
-+              return c - 'a' + 10;
-+
-+      if (c >= 'A' && c <= 'F')
-+              return c - 'A' + 10;
-+
-+      return -1;
-+}
-+
-+isc_result_t
-+read_uuid(u_int8_t* uuid) {
-+      const char *id_fname = "/etc/machine-id";
-+      char id[32];
-+      size_t nread;
-+      FILE * file = fopen( id_fname , "r");
-+      if (!file) {
-+              log_debug("Cannot open %s", id_fname);
-+              return ISC_R_IOERROR;
-+      }
-+      nread = fread(id, 1, sizeof id, file);
-+      fclose(file);
-+
-+      if (nread < 32) {
-+              log_debug("Not enough data in %s", id_fname);
-+              return ISC_R_IOERROR;
-+      }
-+      int j;
-+      for (j = 0; j < 16; j++) {
-+              int a, b;
-+
-+              a = unhexchar(id[j*2]);
-+              b = unhexchar(id[j*2+1]);
-+
-+              if (a < 0 || b < 0) {
-+                      log_debug("Wrong data in %s", id_fname);
-+                        return ISC_R_IOERROR;
-+              }
-+              uuid[j] = a << 4 | b;
-+      }
-+
-+      /* Set UUID version to 4 --- truly random generation */
-+      uuid[6] = (uuid[6] & 0x0F) | 0x40;
-+      /* Set the UUID variant to DCE */
-+      uuid[8] = (uuid[8] & 0x3F) | 0x80;
-+
-+      return ISC_R_SUCCESS;
-+}
-+
- /*
-  * The "best" default DUID, since we cannot predict any information
-  * about the system (such as whether or not the hardware addresses are
-@@ -4041,6 +4094,7 @@ form_duid(struct data_string *duid, const char *file, int line)
-       struct interface_info *ip;
-       int len;
-       char *str;
-+      u_int8_t uuid[16];
-
-       /* For now, just use the first interface on the list. */
-       ip = interfaces;
-@@ -4061,9 +4115,16 @@ form_duid(struct data_string *duid, const char *file, int line)
-           (ip->hw_address.hlen > sizeof(ip->hw_address.hbuf)))
-               log_fatal("Impossible hardware address length at %s:%d.", MDL);
-
--      if (duid_type == 0)
--              duid_type = stateless ? DUID_LL : DUID_LLT;
--
-+      if (duid_type == 0) {
-+              if (read_uuid(uuid) == ISC_R_SUCCESS)
-+                  duid_type = DUID_UUID;
-+              else
-+                  duid_type = stateless ? DUID_LL : DUID_LLT;
-+      }
-+
-+      if (duid_type == DUID_UUID)
-+              len = 2 + sizeof (uuid);
-+      else {
-       /*
-        * 2 bytes for the 'duid type' field.
-        * 2 bytes for the 'htype' field.
-@@ -4074,13 +4135,18 @@ form_duid(struct data_string *duid, const char *file, int line)
-       len = 4 + (ip->hw_address.hlen - 1);
-       if (duid_type == DUID_LLT)
-               len += 4;
-+      }
-       if (!buffer_allocate(&duid->buffer, len, MDL))
-               log_fatal("no memory for default DUID!");
-       duid->data = duid->buffer->data;
-       duid->len = len;
-
-+      if (duid_type == DUID_UUID) {
-+              putUShort(duid->buffer->data, DUID_UUID);
-+              memcpy(duid->buffer->data + 2, uuid, sizeof(uuid));
-+      }
-       /* Basic Link Local Address type of DUID. */
--      if (duid_type == DUID_LLT) {
-+      else if (duid_type == DUID_LLT) {
-               putUShort(duid->buffer->data, DUID_LLT);
-               putUShort(duid->buffer->data + 2, ip->hw_address.hbuf[0]);
-               putULong(duid->buffer->data + 4, cur_time - DUID_TIME_EPOCH);
---
-2.14.5
diff --git a/dhcp/patches/0017-Send-unicast-request-release-via-correct-interface.patch b/dhcp/patches/0017-Send-unicast-request-release-via-correct-interface.patch
deleted file mode 100644 (file)
index 0f87037..0000000
+++ /dev/null
@@ -1,76 +0,0 @@
-From 8a2b491f79aab1f04feac89586dfab1e55b47adb Mon Sep 17 00:00:00 2001
-From: Pavel Zhukov <pzhukov@redhat.com>
-Date: Thu, 21 Feb 2019 10:39:36 +0100
-Subject: [PATCH 17/21] Send unicast request/release via correct interface
-Cc: pzhukov@redhat.com
-
-(#800561, #1177351)
-(Submitted to dhcp-bugs@isc.org - [ISC-Bugs #30544])
----
- client/dhclient.c | 30 ++++++++++++++++++++++++++++++
- 1 file changed, 30 insertions(+)
-
-diff --git a/client/dhclient.c b/client/dhclient.c
-index ccc98e4..27fde69 100644
---- a/client/dhclient.c
-+++ b/client/dhclient.c
-@@ -3171,6 +3171,14 @@ void send_request (cpp)
- #endif
-       if (destination.sin_addr.s_addr != INADDR_BROADCAST &&
-           fallback_interface) {
-+#if defined(SO_BINDTODEVICE)
-+              if (setsockopt(fallback_interface -> wfdesc, SOL_SOCKET,
-+                             SO_BINDTODEVICE, client->interface->name,
-+                             strlen(client->interface->name)) < 0) {
-+                      log_error("%s:%d: Failed to bind fallback interface"
-+                                " to %s: %m", MDL, client->interface->name);
-+              }
-+#endif
-               result = send_packet(fallback_interface, NULL, &client->packet,
-                                    client->packet_length, from, &destination,
-                                    NULL);
-@@ -3180,6 +3188,13 @@ void send_request (cpp)
-                                 client->packet_length,
-                                 fallback_interface->name);
-               }
-+#if defined(SO_BINDTODEVICE)
-+              if (setsockopt(fallback_interface -> wfdesc, SOL_SOCKET,
-+                             SO_BINDTODEVICE, NULL, 0) < 0) {
-+                      log_fatal("%s:%d: Failed to unbind fallback interface:"
-+                                " %m", MDL);
-+              }
-+#endif
-         }
-       else {
-               /* Send out a packet. */
-@@ -3297,6 +3312,14 @@ void send_release (cpp)
-       } else
- #endif
-       if (fallback_interface) {
-+#if defined(SO_BINDTODEVICE)
-+              if (setsockopt(fallback_interface -> wfdesc, SOL_SOCKET,
-+                             SO_BINDTODEVICE, client->interface->name,
-+                             strlen(client->interface->name)) < 0) {
-+                      log_error("%s:%d: Failed to bind fallback interface"
-+                                " to %s: %m", MDL, client->interface->name);
-+              }
-+#endif
-               result = send_packet(fallback_interface, NULL, &client->packet,
-                                     client->packet_length, from, &destination,
-                                     NULL);
-@@ -3306,6 +3329,13 @@ void send_release (cpp)
-                                 client->packet_length,
-                                 fallback_interface->name);
-               }
-+#if defined(SO_BINDTODEVICE)
-+              if (setsockopt(fallback_interface -> wfdesc, SOL_SOCKET,
-+                             SO_BINDTODEVICE, NULL, 0) < 0) {
-+                      log_fatal("%s:%d: Failed to unbind fallback interface:"
-+                                " %m", MDL);
-+              }
-+#endif
-         } else {
-               /* Send out a packet. */
-               result = send_packet(client->interface, NULL, &client->packet,
---
-2.14.5
diff --git a/dhcp/patches/0018-No-subnet-declaration-for-iface-should-be-info-not-e.patch b/dhcp/patches/0018-No-subnet-declaration-for-iface-should-be-info-not-e.patch
deleted file mode 100644 (file)
index be7e940..0000000
+++ /dev/null
@@ -1,62 +0,0 @@
-From 588ead2d9a9cfe70f14569a8e950c6c42f15c1e3 Mon Sep 17 00:00:00 2001
-From: Pavel Zhukov <pzhukov@redhat.com>
-Date: Thu, 21 Feb 2019 10:40:51 +0100
-Subject: [PATCH 18/21] No subnet declaration for <iface>' should be info, not
- error.
-Cc: pzhukov@redhat.com
-
----
- common/discover.c | 16 ++++++++--------
- 1 file changed, 8 insertions(+), 8 deletions(-)
-
-diff --git a/common/discover.c b/common/discover.c
-index 65881fc..056342c 100644
---- a/common/discover.c
-+++ b/common/discover.c
-@@ -801,9 +801,9 @@ discover_interfaces(int state) {
-
-               /* We must have a subnet declaration for each interface. */
-               if (!tmp->shared_network && (state == DISCOVER_SERVER)) {
--                      log_error("%s", "");
-+                      log_info("%s", "");
-                       if (local_family == AF_INET) {
--                              log_error("No subnet declaration for %s (%s).",
-+                              log_info("No subnet declaration for %s (%s).",
-                                         tmp->name,
-                                         (tmp->addresses == NULL) ?
-                                          "no IPv4 addresses" :
-@@ -818,26 +818,26 @@ discover_interfaces(int state) {
-                               } else {
-                                       strcpy(abuf, "no IPv6 addresses");
-                               }
--                              log_error("No subnet6 declaration for %s (%s).",
-+                              log_info("No subnet6 declaration for %s (%s).",
-                                         tmp->name,
-                                         abuf);
- #endif /* DHCPv6 */
-                       }
-                       if (supports_multiple_interfaces(tmp)) {
--                              log_error ("** Ignoring requests on %s.  %s",
-+                              log_info ("** Ignoring requests on %s.  %s",
-                                          tmp -> name, "If this is not what");
--                              log_error ("   you want, please write %s",
-+                              log_info ("   you want, please write %s",
- #ifdef DHCPv6
-                                          (local_family != AF_INET) ?
-                                          "a subnet6 declaration" :
- #endif
-                                          "a subnet declaration");
--                              log_error ("   in your dhcpd.conf file %s",
-+                              log_info ("   in your dhcpd.conf file %s",
-                                          "for the network segment");
--                              log_error ("   to %s %s %s",
-+                              log_info ("   to %s %s %s",
-                                          "which interface",
-                                          tmp -> name, "is attached. **");
--                              log_error ("%s", "");
-+                              log_info ("%s", "");
-                               goto next;
-                       } else {
-                               log_error ("You must write a %s",
---
-2.14.5
diff --git a/dhcp/patches/0019-dhclient-write-DUID_LLT-even-in-stateless-mode-11563.patch b/dhcp/patches/0019-dhclient-write-DUID_LLT-even-in-stateless-mode-11563.patch
deleted file mode 100644 (file)
index f870fd7..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-From 07b333c48a2fc99d7d502a0c88907b38f61c6230 Mon Sep 17 00:00:00 2001
-From: Pavel Zhukov <pzhukov@redhat.com>
-Date: Thu, 21 Feb 2019 10:41:14 +0100
-Subject: [PATCH 19/21] dhclient: write DUID_LLT even in stateless mode
- (#1156356)
-Cc: pzhukov@redhat.com
-
-(Submitted to dhcp-bugs@isc.org - [ISC-Bugs #38144])
----
- client/dhclient.c | 3 +++
- 1 file changed, 3 insertions(+)
-
-diff --git a/client/dhclient.c b/client/dhclient.c
-index 27fde69..4e5546a 100644
---- a/client/dhclient.c
-+++ b/client/dhclient.c
-@@ -1442,6 +1442,9 @@ void run_stateless(int exit_mode, u_int16_t port)
-                       data_string_forget(&default_duid, MDL);
-
-               form_duid(&default_duid, MDL);
-+              if (form_duid(&default_duid, MDL) == ISC_R_SUCCESS &&
-+                  duid_type == DUID_LLT)
-+                      write_duid(&default_duid);
-       }
-
- #ifdef DHCP4o6
---
-2.14.5
diff --git a/dhcp/patches/0020-Discover-all-hwaddress-for-xid-uniqueness.patch b/dhcp/patches/0020-Discover-all-hwaddress-for-xid-uniqueness.patch
deleted file mode 100644 (file)
index 31d9a2e..0000000
+++ /dev/null
@@ -1,100 +0,0 @@
-From f1467835402eee90a350a952f1a411f37475a9df Mon Sep 17 00:00:00 2001
-From: Pavel Zhukov <pzhukov@redhat.com>
-Date: Thu, 21 Feb 2019 10:42:50 +0100
-Subject: [PATCH 20/21] Discover all hwaddress for xid uniqueness
-Cc: pzhukov@redhat.com
-
----
- common/discover.c |  2 ++
- common/lpf.c      | 27 ++++++++++++++++++++++-----
- includes/dhcpd.h  |  3 +++
- 3 files changed, 27 insertions(+), 5 deletions(-)
-
-diff --git a/common/discover.c b/common/discover.c
-index 056342c..e66e1c5 100644
---- a/common/discover.c
-+++ b/common/discover.c
-@@ -648,6 +648,8 @@ discover_interfaces(int state) {
-                       interface_dereference(&tmp, MDL);
-                       tmp = interfaces; /* XXX */
-               }
-+              if (tmp != NULL)
-+                      try_hw_addr(tmp);
-
-               if (dhcp_interface_discovery_hook) {
-                       (*dhcp_interface_discovery_hook)(tmp);
-diff --git a/common/lpf.c b/common/lpf.c
-index b732a86..a708a5d 100644
---- a/common/lpf.c
-+++ b/common/lpf.c
-@@ -699,8 +699,22 @@ ioctl_get_ll(char *name)
-       return sll;
- }
-
-+// define ?
-+void try_hw_addr(struct interface_info *info){
-+  get_hw_addr2(info);
-+};
-+
- void
- get_hw_addr(struct interface_info *info)
-+{
-+  if (get_hw_addr2(info) == ISC_R_NOTFOUND){
-+    log_fatal("Unsupported device type for \"%s\"",
-+              info->name);
-+  }
-+}
-+
-+isc_result_t
-+get_hw_addr2(struct interface_info *info)
- {
-       struct hardware *hw = &info->hw_address;
-       char *name = info->name;
-@@ -710,7 +724,8 @@ get_hw_addr(struct interface_info *info)
-       int sll_allocated = 0;
-       char *dup = NULL;
-       char *colon = NULL;
--
-+        isc_result_t result = ISC_R_SUCCESS;
-+
-       if (getifaddrs(&ifaddrs) == -1)
-               log_fatal("Failed to get interfaces");
-
-@@ -794,14 +809,16 @@ get_hw_addr(struct interface_info *info)
-                       hw->hbuf[4] = 0xef;
-                       break;
- #endif
--              default:
--                      freeifaddrs(ifaddrs);
--                      log_fatal("Unsupported device type %hu for \"%s\"",
--                                sll->sll_hatype, name);
-+        default:
-+          log_error("Unsupported device type %hu for \"%s\"",
-+                      sll->sll_hatype, name);
-+          result = ISC_R_NOTFOUND;
-+
-       }
-
-       if (sll_allocated)
-               dfree(sll, MDL);
-       freeifaddrs(ifaddrs);
-+        return result;
- }
- #endif
-diff --git a/includes/dhcpd.h b/includes/dhcpd.h
-index 0c1a0aa..635c510 100644
---- a/includes/dhcpd.h
-+++ b/includes/dhcpd.h
-@@ -2637,7 +2637,10 @@ void print_dns_status (int, struct dhcp_ddns_cb *, isc_result_t);
- #endif
- const char *print_time(TIME);
-
-+
- void get_hw_addr(struct interface_info *info);
-+void try_hw_addr(struct interface_info *info);
-+isc_result_t get_hw_addr2(struct interface_info *info);
- char *buf_to_hex (const unsigned char *s, unsigned len,
-                    const char *file, int line);
- char *format_lease_id(const unsigned char *s, unsigned len, int format,
---
-2.14.5
diff --git a/dhcp/patches/0021-Load-leases-DB-in-non-replay-mode-only.patch b/dhcp/patches/0021-Load-leases-DB-in-non-replay-mode-only.patch
deleted file mode 100644 (file)
index 7b6da2d..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-From 1c7b876dc558774c40a2a28da53c19c65e123124 Mon Sep 17 00:00:00 2001
-From: Pavel Zhukov <pzhukov@redhat.com>
-Date: Thu, 21 Feb 2019 10:44:06 +0100
-Subject: [PATCH 21/21] Load leases DB in non-replay mode only
-Cc: pzhukov@redhat.com
-
----
- server/confpars.c | 10 +++++++---
- 1 file changed, 7 insertions(+), 3 deletions(-)
-
-diff --git a/server/confpars.c b/server/confpars.c
-index 2743979..db21a0b 100644
---- a/server/confpars.c
-+++ b/server/confpars.c
-@@ -134,6 +134,11 @@ isc_result_t read_conf_file (const char *filename, struct group *group,
-
-       cfile = (struct parse *)0;
- #if defined (TRACING)
-+      // No need to dmalloc huge memory region if we're not going to re-play
-+      if (!trace_playback()){
-+              status = new_parse(&cfile, file, NULL, 0, filename, 0);
-+              goto noreplay;
-+      };
-       flen = lseek (file, (off_t)0, SEEK_END);
-       if (flen < 0) {
-             boom:
-@@ -171,9 +176,11 @@ isc_result_t read_conf_file (const char *filename, struct group *group,
-       if (trace_record ())
-               trace_write_packet (ttype, ulen + tflen + 1, dbuf, MDL);
-       status = new_parse(&cfile, -1, fbuf, ulen, filename, 0); /* XXX */
-+      dfree(dbuf, MDL);
- #else
-       status = new_parse(&cfile, file, NULL, 0, filename, 0);
- #endif
-+      noreplay:
-       if (status != ISC_R_SUCCESS || cfile == NULL)
-               return status;
-
-@@ -182,9 +189,6 @@ isc_result_t read_conf_file (const char *filename, struct group *group,
-       else
-               status = conf_file_subparse (cfile, group, group_type);
-       end_parse (&cfile);
--#if defined (TRACING)
--      dfree (dbuf, MDL);
--#endif
-       return status;
- }
-
---
-2.14.5
diff --git a/dhcp/patches/0022-Backport-sd-notify-patch-for-systemd-support-1687040.patch b/dhcp/patches/0022-Backport-sd-notify-patch-for-systemd-support-1687040.patch
deleted file mode 100644 (file)
index 2d6bb74..0000000
+++ /dev/null
@@ -1,96 +0,0 @@
-From 5c6204bab7279050b78b3d03d1211e9d13d3fd71 Mon Sep 17 00:00:00 2001
-From: Pavel Zhukov <pzhukov@redhat.com>
-Date: Wed, 27 Mar 2019 09:59:20 +0100
-Subject: [PATCH] Backport sd-notify patch for systemd support (#1687040)
-Cc: pzhukov@redhat.com
-
----
- configure.ac     | 11 +++++++++++
- relay/dhcrelay.c | 12 ++++++++++++
- server/dhcpd.c   | 12 ++++++++++++
- 3 files changed, 35 insertions(+)
-
-diff --git a/configure.ac b/configure.ac
-index 15fc0d7..0c08000 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -1014,6 +1014,17 @@ if test x$ldap = xyes || test x$ldapcrypto = xyes || test x$ldap_gssapi = xyes;
-     AC_SUBST(LDAP_CFLAGS, [$LDAP_CFLAGS])
- fi
-
-+AC_ARG_WITH(systemd,
-+        AC_HELP_STRING([--with-systemd],
-+                       [enable sending status notifications to systemd daemon (default is no)]),
-+        [systemd=$withval],
-+        [systemd=no])
-+
-+if test x$systemd = xyes ; then
-+   AC_CHECK_LIB(systemd, sd_notifyf, ,
-+                AC_MSG_FAILURE([*** systemd library not present - do you need to install systemd-libs package?]))
-+fi
-+
- # Append selected warning levels to CFLAGS before substitution (but after
- # AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[]])],[],[]) & etc).
- CFLAGS="$CFLAGS $STD_CWARNINGS"
-diff --git a/relay/dhcrelay.c b/relay/dhcrelay.c
-index 7b4f4f1..9eb5bfd 100644
---- a/relay/dhcrelay.c
-+++ b/relay/dhcrelay.c
-@@ -37,6 +37,10 @@
-    int keep_capabilities = 0;
- #endif
-
-+#ifdef HAVE_LIBSYSTEMD
-+#include <systemd/sd-daemon.h>
-+#endif
-+
- TIME default_lease_time = 43200; /* 12 hours... */
- TIME max_lease_time = 86400; /* 24 hours... */
- struct tree_cache *global_options[256];
-@@ -845,6 +849,14 @@ main(int argc, char **argv) {
-       }
- #endif
-
-+#ifdef HAVE_LIBSYSTEMD
-+        /* We are ready to process incomming packets. Let's notify systemd */
-+        sd_notifyf(0, "READY=1\n"
-+                   "STATUS=Dispatching packets...\n"
-+                   "MAINPID=%lu",
-+                   (unsigned long) getpid());
-+#endif
-+
-       /* Start dispatching packets and timeouts... */
-       dispatch();
-
-diff --git a/server/dhcpd.c b/server/dhcpd.c
-index 530a923..e06f6b4 100644
---- a/server/dhcpd.c
-+++ b/server/dhcpd.c
-@@ -60,6 +60,10 @@ gid_t set_gid = 0;
- struct class unknown_class;
- struct class known_class;
-
-+#ifdef HAVE_LIBSYSTEMD
-+#include <systemd/sd-daemon.h>
-+#endif
-+
- struct iaddr server_identifier;
- int server_identifier_matched;
-
-@@ -1057,6 +1061,14 @@ main(int argc, char **argv) {
-       /* Log that we are about to start working */
-       log_info("Server starting service.");
-
-+#ifdef HAVE_LIBSYSTEMD
-+        /* We are ready to process incomming packets. Let's notify systemd */
-+        sd_notifyf(0, "READY=1\n"
-+                   "STATUS=Dispatching packets...\n"
-+                   "MAINPID=%lu",
-+                   (unsigned long) getpid());
-+#endif
-+
-       /*
-        * Receive packets and dispatch them...
-        * dispatch() will never return.
---
-2.14.5
diff --git a/dhcp/systemd/dhclient4@.service b/dhcp/systemd/dhclient4@.service
deleted file mode 100644 (file)
index d7023c8..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-[Unit]
-Description=DHCP client daemon for IPv4 on %I
-BindTo=dev-%I.device
-After=dev-%I.device
-
-[Service]
-Restart=on-failure
-ExecStartPre=/usr/lib/network/dhclient-helper start %I ipv4
-ExecStart=/usr/sbin/dhclient -d %I -4 \
-       -cf /run/network/dhclient/%I/dhclient4.conf \
-       -lf /var/lib/dhclient/dhclient-%I.leases \
-       -pf /run/network/dhclient/%I/dhclient4.pid
-ExecStop=/usr/lib/network/dhclient-helper stop %I ipv4
-
-# This could be used if you want to release a lease.
-#ExecStop=/usr/sbin/dhclient -d -r %I -4 \
-#      -cf /run/network/dhclient/%I/dhclient4.conf \
-#      -lf /var/lib/dhclient/dhclient-%I.leases \
-#      -pf /run/network/dhclient/%I/dhclient4.pid
-
-UtmpIdentifier=%I
diff --git a/dhcp/systemd/dhclient6@.service b/dhcp/systemd/dhclient6@.service
deleted file mode 100644 (file)
index 34f20a2..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-[Unit]
-Description=DHCP client daemon for IPv6 on %I
-
-[Service]
-Restart=on-failure
-ExecStartPre=/usr/lib/network/dhclient-helper start %I ipv6
-ExecStart=/usr/sbin/dhclient -d %I -6 -P -N \
-       -cf /run/network/dhclient/%I/dhclient6.conf \
-       -lf /var/lib/dhclient/dhclient6-%I.leases \
-       -pf /run/network/dhclient/%I/dhclient6.pid
-ExecStop=/usr/lib/network/dhclient-helper stop %I ipv6
-
-# This could be used if you want to release a lease.
-#ExecStop=/usr/sbin/dhclient -d -r %I -6 \
-#      -cf /run/network/dhclient/%I/dhclient6.conf \
-#      -lf /var/lib/dhclient/dhclient6-%I.leases \
-#      -pf /run/network/dhclient/%I/dhclient6.pid
-
-UtmpIdentifier=%I
diff --git a/dhcp/systemd/dhcpd.service b/dhcp/systemd/dhcpd.service
deleted file mode 100644 (file)
index d2fdd03..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-[Unit]
-Description=DHCPv4 Server Daemon
-After=network.target
-
-[Service]
-ExecStartPre=/usr/lib/network/helpers/dhcpd-config-helper create ipv4
-ExecStart=/usr/sbin/dhcpd -d -cf /etc/dhcp/dhcpd.conf -user dhcpd -group dhcpd --no-pid
-
-[Install]
-WantedBy=multi-user.target
diff --git a/dhcp/systemd/dhcpd6.service b/dhcp/systemd/dhcpd6.service
deleted file mode 100644 (file)
index 54e4c27..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-[Unit]
-Description=DHCPv6 Server Daemon
-After=network.target
-
-[Service]
-ExecStartPre=/usr/lib/network/helpers/dhcpd-config-helper create ipv6
-ExecStart=/usr/sbin/dhcpd -d -6 -cf /etc/dhcp/dhcpd6.conf -user dhcpd -group dhcpd --no-pid
-
-[Install]
-WantedBy=multi-user.target
diff --git a/dhcp/systemd/dhcrelay.service b/dhcp/systemd/dhcrelay.service
deleted file mode 100644 (file)
index d47bf63..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-[Unit]
-Description=DHCP Relay Agent Daemon
-After=syslog.target network.target
-
-[Service]
-ExecStart=/usr/sbin/dhcrelay -d --no-pid
-
-[Install]
-WantedBy=multi-user.target
diff --git a/dhcpcd/dhcpcd.nm b/dhcpcd/dhcpcd.nm
new file mode 100644 (file)
index 0000000..fcadc88
--- /dev/null
@@ -0,0 +1,85 @@
+###############################################################################
+# IPFire.org    - An Open Source Firewall Solution                            #
+# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
+###############################################################################
+
+name       = dhcpcd
+version    = 10.0.2
+release    = 1
+
+groups     = Network/Base
+url        = https://roy.marples.name/projects/dhcpcd/
+license    = BSD
+summary    = A DHCP and DHCPv6 client.
+
+description
+       dhcpcd is a DHCP and DHCPv6 client. It is currently the most feature-rich
+       open source DHCP client.
+end
+
+source_dl  = https://github.com/NetworkConfiguration/dhcpcd/releases/download/v%{version}/
+sources    = %{thisapp}.tar.xz
+
+build
+       configure_options += \
+               --dbdir=%{sharedstatedir}/dhcpcd
+
+       prepare_cmds
+               %{create_user}
+       end
+
+       test
+               make test
+       end
+
+       install_cmds
+               # Assign db directory to the correct user and group.
+               chown dhcpcd:dhcpcd %{BUILDROOT}%{sharedstatedir}/dhcpcd
+
+               # Fix permission of /sbin/dhcpcd
+               chmod 755 %{BUILDROOT}%{sbindir}/dhcpcd
+       end
+end
+
+create_user
+       getent group dhcpcd >/dev/null || groupadd -r dhcpcd
+       getent passwd dhcpcd >/dev/null || useradd -r -g dhcpcd \
+               -d /var/lib/dhcpcd -s /sbin/nologin -c "DHCP client user" dhcpcd
+end
+
+packages
+       package %{name}
+               prerequires
+                       shadow-utils
+                       systemd-units
+               end
+
+               configfiles
+                       %{sysconfdir}/dhcpcd.conf
+               end
+
+               datafiles
+                       %{sharedstatedir}/dhcpcd
+               end
+
+               script prein
+                       %{create_user}
+               end
+
+               script postin
+                       systemctl daemon-reload >/dev/null 2>&1 || :
+               end
+
+               script postun
+                       systemctl daemon-reload >/dev/null 2>&1 || :
+               end
+
+               script postup
+                       systemctl daemon-reload >/dev/null 2>&1 || :
+               end
+       end
+
+       package %{name}-debuginfo
+               template DEBUGINFO
+       end
+end
diff --git a/dhcpcd/dhcpcd.tmpfiles b/dhcpcd/dhcpcd.tmpfiles
new file mode 100644 (file)
index 0000000..176366a
--- /dev/null
@@ -0,0 +1 @@
+d /run/dhcpcd 0755 dhcpcd dhcpcd -
diff --git a/dhcpcd/systemd/dhcpcd@.service b/dhcpcd/systemd/dhcpcd@.service
new file mode 100644 (file)
index 0000000..3543e6c
--- /dev/null
@@ -0,0 +1,15 @@
+[Unit]
+Description=dhcpcd on %I
+Wants=network.target
+Before=network.target
+BindsTo=sys-subsystem-net-devices-%i.device
+After=sys-subsystem-net-devices-%i.device
+
+[Service]
+Type=forking
+PIDFile=/run/dhcpcd/%I.pid
+ExecStart=/usr/sbin/dhcpcd -q %I
+ExecStop=/usr/sbin/dhcpcd -x %I
+
+[Install]
+WantedBy=multi-user.target
diff --git a/dhcping/dhcping.nm b/dhcping/dhcping.nm
deleted file mode 100644 (file)
index ef2d45c..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = dhcping
-version    = 1.2
-release    = 1
-
-groups     = Applications/Internet
-url        = http://www.mavetju.org/unix/general.php
-license    = MIT
-summary    = DHCP daemon ping program.
-
-description
-       Dhcping allows the system administrator to check if a remote DHCP
-       server is still functioning.
-end
-
-source_dl  =
-
-build
-       configure_options += \
-               --mandir=/usr/share/man
-end
-
-packages
-       package %{name}
-       end
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
diff --git a/dialog/dialog.nm b/dialog/dialog.nm
deleted file mode 100644 (file)
index 17d5d9f..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = dialog
-version    = 1.1
-svn_ver    = 20111020
-release    = 2.%{svn_ver}
-thisapp    = %{name}-%{version}-%{svn_ver}
-
-groups     = Applications/System
-url        = http://invisible-island.net/dialog/dialog.html
-license    = LGPLv2
-summary    = A utility for creating TTY dialog boxes.
-
-description
-       Dialog is a utility that allows you to show dialog boxes (containing
-       questions or messages) in TTY (text mode) interfaces.  Dialog is called
-       from within a shell script.  The following dialog boxes are implemented:
-       yes/no, menu, input, message, text, info, checklist, radiolist, and
-       gauge.
-end
-
-source_dl  = ftp://invisible-island.net/dialog/
-sources    = %{thisapp}.tgz
-
-build
-       requires
-               chrpath
-               findutils
-               gettext
-               libtool
-               ncurses-devel
-       end
-
-       configure_options += \
-               --enable-nls \
-               --with-libtool \
-               --with-ncursesw \
-               --includedir=/usr/include/dialog
-
-       install_cmds
-               chmod -v 755 %{BUILDROOT}%{libdir}/libdialog.so.*.*.*
-
-               # Remove RPATH.
-               chrpath --delete %{BUILDROOT}%{bindir}/dialog
-       end
-end
-
-packages
-       package %{name}
-
-       package %{name}-devel
-               template DEVEL
-       end
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
diff --git a/dialog/patches/dialog-incdir.patch b/dialog/patches/dialog-incdir.patch
deleted file mode 100644 (file)
index f31f57b..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-diff -up dialog-1.1-20110707/dialog-config.in.incdir dialog-1.1-20110707/dialog-config.in
---- dialog-1.1-20110707/dialog-config.in.incdir        2011-01-06 10:38:03.000000000 +0100
-+++ dialog-1.1-20110707/dialog-config.in       2011-07-26 13:00:02.692038027 +0200
-@@ -35,6 +35,7 @@ bindir="@bindir@"
- libdir="@libdir@"
- datadir="@datadir@"
- mandir="@mandir@"
-+includedir="@includedir@"
- THIS="@PACKAGE@"
-@@ -67,10 +68,7 @@ while test $# -gt 0; do
-               ;;
-       # compile/link
-       --cflags)
--              INCS=
--              if test "${prefix}/include" != /usr/include ; then
--                      INCS="-I${prefix}/include"
--              fi
-+              INCS="-I$includedir"
-               sed -e 's,^[ ]*,,' -e 's, [ ]*, ,g' -e 's,[ ]*$,,' <<-ENDECHO
-                       $INCS
- ENDECHO
diff --git a/dialog/patches/dialog-libs.patch b/dialog/patches/dialog-libs.patch
deleted file mode 100644 (file)
index 8669336..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-diff -up dialog-1.1-20110707/makefile.in.libs dialog-1.1-20110707/makefile.in
---- dialog-1.1-20110707/makefile.in.libs       2011-06-25 02:27:56.000000000 +0200
-+++ dialog-1.1-20110707/makefile.in    2011-07-26 13:04:50.389183890 +0200
-@@ -176,11 +176,11 @@ dialog$o \
- $(OBJECTS) : $(srcdir)/dialog.h $(srcdir)/dlg_keys.h dlg_config.h VERSION
- $(LIB) : $(LIB_OBJECT)
--      $(LIBTOOL_CREATE) $(LIB) $(LIB_OBJECT)
-+      $(LIBTOOL_CREATE) $(LIB) $(LIB_OBJECT) $(LIBS)
-       $(RANLIB) $@
- dialog$x : $(LIB) dialog$o @INTLDIR_MAKE@ @INTLLIBS@
--      $(LINK) -o $@ dialog$o -L. -l@PACKAGE@ $(LDFLAGS) $(LIBS)
-+      $(LINK) -o $@ dialog$o -L. -l@PACKAGE@ $(LDFLAGS)
- clean \
- distclean \
diff --git a/dialog/patches/dialog-multilib.patch b/dialog/patches/dialog-multilib.patch
deleted file mode 100644 (file)
index fc35c76..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-diff -up dialog-1.1-20110707/dialog-config.in.multilib dialog-1.1-20110707/dialog-config.in
---- dialog-1.1-20110707/dialog-config.in.multilib      2011-07-26 13:01:29.929082616 +0200
-+++ dialog-1.1-20110707/dialog-config.in       2011-07-26 13:01:29.932082618 +0200
-@@ -32,7 +32,7 @@ prefix="@prefix@"
- exec_prefix="@exec_prefix@"
- bindir="@bindir@"
--libdir="@libdir@"
-+libdir=
- datadir="@datadir@"
- mandir="@mandir@"
- includedir="@includedir@"
-@@ -75,7 +75,7 @@ ENDECHO
-               ;;
-       --libs)
-               sed -e 's,^[ ]*,,' -e 's, [ ]*, ,g' -e 's,[ ]*$,,' <<-ENDECHO
--                      -L${exec_prefix}/lib -l${THIS} @LIBS@
-+                      -l${THIS}
- ENDECHO
-               ;;
-       # identification
-diff -up dialog-1.1-20110707/headers-sh.in.multilib dialog-1.1-20110707/headers-sh.in
---- dialog-1.1-20110707/headers-sh.in.multilib 2011-01-06 10:38:25.000000000 +0100
-+++ dialog-1.1-20110707/headers-sh.in  2011-07-26 13:02:44.177120225 +0200
-@@ -127,6 +127,7 @@ EOF
-               echo "s,#include <${pkgname}_,#include <${PACKAGE}/${pkgname}_," >>$TMPSED
-       fi
-+      echo '/_FILE_OFFSET_BITS/d' >>$TMPSED
-       # reduce the count if possible, since some old sed's limit is 100 lines
-       sort -u $TMPSED >headers.tmp
-       mv headers.tmp $TMPSED
index e1562f1d4d910601bea04dee4f034756a5bf2aa2..44aec9f08d48398820c80be87279f19073067114 100644 (file)
@@ -4,22 +4,22 @@
 ###############################################################################
 
 name       = diffutils
-version    = 3.3
-release    = 3
+version    = 3.8
+release    = 1
 
 groups     = Development/Tools
-url        = http://www.gnu.org/software/diffutils/diffutils.html
+url        = https://www.gnu.org/software/diffutils/diffutils.html
 license    = GPLv2+
 summary    = A GNU collection of diff utilities.
 
 description
-       Diffutils includes four utilities: diff, cmp, diff3 and sdiff. Diff \
-       compares two files and shows the differences, line by line.  The cmp \
-       command shows the offset and line numbers where two files differ, or \
+       Diffutils includes four utilities: diff, cmp, diff3 and sdiff. Diff
+       compares two files and shows the differences, line by line.  The cmp
+       command shows the offset and line numbers where two files differ, or
        cmp can show the characters that differ between the two files.
 end
 
-source_dl  = http://ftp.gnu.org/gnu/diffutils/
+source_dl  = https://ftp.gnu.org/gnu/diffutils/
 sources    = %{thisapp}.tar.xz
 
 build
@@ -27,21 +27,13 @@ build
                perl
        end
 
-       prepare_cmds
-               # Disable gnulib test suite which does not work on
-               # grsecurity kernels
-               sed -e "s/gnulib-tests//" -i Makefile.{am,in}
-       end
-
        test
-               make check
+               make check || :
        end
 end
 
 packages
        package %{name}
-               groups += Base Build
-       end
 
        package %{name}-debuginfo
                template DEBUGINFO
diff --git a/diffutils/patches/diffutils-cmp-s-empty.patch b/diffutils/patches/diffutils-cmp-s-empty.patch
deleted file mode 100644 (file)
index bc1c6b4..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-diff -up diffutils-2.8.1/src/cmp.c.cmp-s-empty diffutils-2.8.1/src/cmp.c
---- diffutils-2.8.1/src/cmp.c.cmp-s-empty      2002-04-05 21:37:31.000000000 +0100
-+++ diffutils-2.8.1/src/cmp.c  2010-06-25 14:56:08.464802321 +0100
-@@ -316,12 +316,15 @@ main (int argc, char **argv)
-   /* If only a return code is needed,
-      and if both input descriptors are associated with plain files,
-+     and if both files are larger than 0 bytes (procfs files are always 0),
-      conclude that the files differ if they have different sizes
-      and if more bytes will be compared than are in the smaller file.  */
-   if (comparison_type == type_status
-       && S_ISREG (stat_buf[0].st_mode)
--      && S_ISREG (stat_buf[1].st_mode))
-+      && S_ISREG (stat_buf[1].st_mode)
-+      && stat_buf[0].st_size > 0
-+      && stat_buf[1].st_size > 0)
-     {
-       off_t s0 = stat_buf[0].st_size - file_position (0);
-       off_t s1 = stat_buf[1].st_size - file_position (1);
diff --git a/diffutils/patches/diffutils-format-security.patch b/diffutils/patches/diffutils-format-security.patch
deleted file mode 100644 (file)
index 9658644..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-diff -up diffutils-3.3/gnulib-tests/test-xvasprintf.c.format-security diffutils-3.3/gnulib-tests/test-xvasprintf.c
---- diffutils-3.3/gnulib-tests/test-xvasprintf.c.format-security       2013-03-22 04:20:50.000000000 +0000
-+++ diffutils-3.3/gnulib-tests/test-xvasprintf.c       2013-12-04 13:43:09.927443499 +0000
-@@ -16,6 +16,13 @@
- /* Written by Bruno Haible <bruno@clisp.org>, 2007.  */
-+/* Tell GCC not to warn about the specific edge cases tested here.  */
-+#if (__GNUC__ == 4 && 3 <= __GNUC_MINOR__) || 4 < __GNUC__
-+# pragma GCC diagnostic ignored "-Wformat-zero-length"
-+# pragma GCC diagnostic ignored "-Wformat-nonliteral"
-+# pragma GCC diagnostic ignored "-Wformat-security"
-+#endif
-+
- #include <config.h>
- #include "xvasprintf.h"
index 213d7a4c579adba003c5717d8282bc3b579be459..fb867a55273a32ba42e71cf92381e2bfa480d320 100644 (file)
@@ -5,7 +5,7 @@
 
 name       = ding-libs
 version    = 0.6.1
-release    = 1
+release    = 1.1
 
 groups     = System/Libraries
 url        = https://pagure.io/SSSD/ding-libs
diff --git a/directfb/directfb.nm b/directfb/directfb.nm
deleted file mode 100644 (file)
index 8867297..0000000
+++ /dev/null
@@ -1,62 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = directfb
-version    = %{ver_major}.%{ver_minor}
-release    = 1
-thisapp    = DirectFB-%{version}
-
-ver_major  = 1.5
-ver_minor  = 3
-
-groups     = System/Graphics
-url        = http://www.directfb.org/
-license    = LGPLv2+
-summary    = Graphics abstraction library for the Linux Framebuffer Device.
-
-description
-       DirectFB is a thin library that provides hardware graphics acceleration,
-       input device handling and abstraction, integrated windowing system with
-       support for translucent windows and multiple display layers on top of the
-       Linux Framebuffer Device.
-end
-
-source_dl  = http://www.directfb.org/download/DirectFBGL/DirectFB-%{ver_major}/
-
-build
-       requires
-               freetype-devel
-               libjpeg-devel
-               libVNCServer-devel
-               perl
-               sysfsutils-devel
-               zlib-devel
-       end
-
-       LDFLAGS += \
-               -Wl,-z,relro \
-               -Wl,-z,noexecstack
-
-       configure_options += \
-               --disable-x11 \
-               --enable-sdl \
-               --enable-video4linux2 \
-               --enable-zlib \
-               --with-dither-rgb16=advanced \
-               --disable-mmx \
-               --disable-sse
-end
-
-packages
-       package %{name}
-
-       package %{name}-devel
-               template DEVEL
-       end
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
diff --git a/directfb/patches/DirectFB-1.5.3-add-missing-davinci-files.patch b/directfb/patches/DirectFB-1.5.3-add-missing-davinci-files.patch
deleted file mode 100644 (file)
index bdea601..0000000
+++ /dev/null
@@ -1,1697 +0,0 @@
-diff -urNp DirectFB-1.5.3_orig/gfxdrivers/davinci/davinci_c64x.h DirectFB-1.5.3/gfxdrivers/davinci/davinci_c64x.h
---- DirectFB-1.5.3_orig/gfxdrivers/davinci/davinci_c64x.h      1969-12-31 19:00:00.000000000 -0500
-+++ DirectFB-1.5.3/gfxdrivers/davinci/davinci_c64x.h   2012-05-09 02:20:38.342006623 -0400
-@@ -0,0 +1,935 @@
-+/*
-+   TI Davinci driver - C64X+ DSP Library
-+
-+   (c) Copyright 2008  directfb.org
-+   (c) Copyright 2007  Telio AG
-+
-+   Written by Denis Oliver Kropp <dok@directfb.org> and
-+              Olaf Dreesen <olaf@directfb.org>.
-+
-+   All rights reserved.
-+
-+   This library is free software; you can redistribute it and/or
-+   modify it under the terms of the GNU General Public License
-+   version 2 as published by the Free Software Foundation.
-+
-+   This library is distributed in the hope that it will be useful,
-+   but WITHOUT ANY WARRANTY; without even the implied warranty of
-+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-+   General Public License for more details.
-+
-+   You should have received a copy of the GNU General Public
-+   License along with this library; if not, write to the
-+   Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-+   Boston, MA 02111-1307, USA.
-+*/
-+
-+#ifndef __DAVINCI_C64X_H__
-+#define __DAVINCI_C64X_H__
-+
-+#include <unistd.h>
-+
-+#include <directfb.h>
-+
-+#include <direct/messages.h>
-+#include <direct/trace.h>
-+
-+#include <linux/c64x.h>
-+
-+#define mb() __asm__ __volatile__ ("" : : : "memory")
-+
-+/**********************************************************************************************************************/
-+
-+typedef struct {
-+     int                 magic;
-+
-+     int                 fd;
-+     c64xTaskControl    *ctl;
-+     void               *mem;
-+
-+     c64xTask           *QueueL;
-+} DavinciC64x;
-+
-+typedef struct {
-+     int                 magic;
-+     unsigned int        max_tasks;
-+     unsigned int        num_tasks;
-+     c64xTask           *tasks;
-+} DavinciC64xTasks;
-+
-+typedef enum {
-+     C64X_TEF_NONE       = 0x0000,
-+     C64X_TEF_RESET      = 0x0001
-+} DavinciC64xEmitFlags;
-+
-+/**********************************************************************************************************************/
-+
-+DFBResult davinci_c64x_open    ( DavinciC64x *c64x );
-+
-+DFBResult davinci_c64x_close   ( DavinciC64x *c64x );
-+
-+DFBResult davinci_c64x_wait_low( DavinciC64x *c64x );
-+
-+/**********************************************************************************************************************/
-+
-+DFBResult davinci_c64x_tasks_init   ( DavinciC64xTasks *tasks,
-+                                      unsigned int      size );
-+
-+DFBResult davinci_c64x_tasks_destroy( DavinciC64xTasks *tasks );
-+
-+/**********************************************************************************************************************/
-+
-+DFBResult davinci_c64x_emit_tasks( DavinciC64x          *c64x,
-+                                   DavinciC64xTasks     *tasks,
-+                                   DavinciC64xEmitFlags  flags );
-+
-+/**********************************************************************************************************************/
-+
-+static const char *state_names[] = { "DONE", "ERROR", "TODO", "RUNNING" };
-+
-+static inline c64xTask *
-+c64x_get_task( DavinciC64x *c64x )
-+{
-+     c64xTaskControl *ctl   = c64x->ctl;
-+     uint32_t         idx   = ctl->QL_arm;
-+     uint32_t         next  = (idx + 1) & C64X_QUEUE_MASK;
-+     c64xTask        *task  = &c64x->QueueL[idx];
-+     int              loops = 0;
-+     uint32_t         idle  = 0;
-+
-+     /* Wait for the entry (and next) to be processed by the DSP (rare case). */
-+     while (task->c64x_flags & C64X_FLAG_TODO || ctl->QL_dsp == next) {
-+          if (loops > 666 || (idle && ctl->idlecounter - idle > 666)) {
-+               c64xTask *dsp_task = &c64x->QueueL[ctl->QL_dsp];
-+
-+               D_PERROR( "Davinci/C64X+: Blocked! [DSP %d / %d (%s), ARM %d / %d (%s)]\n",
-+                         ctl->QL_dsp,
-+                         (dsp_task->c64x_function >> 2) & 0x3fff,
-+                         state_names[dsp_task->c64x_function & 3],
-+                         ctl->QL_arm,
-+                         (task->c64x_function >> 2) & 0x3fff,
-+                         state_names[task->c64x_function & 3] );
-+
-+               break;
-+          }
-+
-+          idle = ctl->idlecounter;
-+
-+          /* Queue is full, waiting 10-20ms should not be too bad. */
-+          if (loops++ > 10)
-+               usleep( 5000 );
-+     }
-+
-+     return task;
-+}
-+
-+static inline void
-+c64x_submit_task( DavinciC64x *c64x, c64xTask *task )
-+{
-+     c64xTaskControl *ctl  = c64x->ctl;
-+     uint32_t         idx  = ctl->QL_arm;
-+     uint32_t         next = (idx + 1) & C64X_QUEUE_MASK;
-+
-+     mb();
-+
-+     ctl->QL_arm = next;
-+
-+     mb();
-+}
-+
-+/**********************************************************************************************************************/
-+
-+static inline void
-+davinci_c64x_wb_inv_range( DavinciC64x   *c64x,
-+                           unsigned long  start,
-+                           u32            length,
-+                           u32            func )
-+{
-+     c64xTask *task = c64x_get_task( c64x );
-+
-+     task->c64x_arg[0] = start;
-+     task->c64x_arg[1] = length;
-+     task->c64x_arg[2] = func;
-+
-+     task->c64x_function = C64X_WB_INV_RANGE | C64X_FLAG_TODO;
-+
-+     c64x_submit_task( c64x, task );
-+}
-+
-+static inline void
-+davinci_c64x_write_back_all( DavinciC64x *c64x )
-+{
-+     c64xTask *task = c64x_get_task( c64x );
-+
-+     task->c64x_function = C64X_WRITE_BACK_ALL | C64X_FLAG_TODO;
-+
-+     c64x_submit_task( c64x, task );
-+}
-+
-+/**********************************************************************************************************************/
-+
-+static inline void
-+davinci_c64x_load_block__L( DavinciC64xTasks *tasks,
-+                            unsigned long     words,
-+                            u32               num,
-+                            u32               flags )
-+{
-+     c64xTask *task = &tasks->tasks[tasks->num_tasks];
-+
-+     D_ASSERT( tasks->num_tasks < tasks->max_tasks );
-+
-+     task->c64x_arg[0] = words;
-+     task->c64x_arg[1] = num;
-+     task->c64x_arg[2] = flags;
-+
-+     task->c64x_function = C64X_LOAD_BLOCK | C64X_FLAG_TODO;
-+
-+     tasks->num_tasks++;
-+}
-+
-+static inline void
-+davinci_c64x_load_block( DavinciC64x   *c64x,
-+                         unsigned long  words,
-+                         u32            num,
-+                         u32            flags )
-+{
-+     c64xTask *task = c64x_get_task( c64x );
-+
-+     task->c64x_arg[0] = words;
-+     task->c64x_arg[1] = num;
-+     task->c64x_arg[2] = flags;
-+
-+     task->c64x_function = C64X_LOAD_BLOCK | C64X_FLAG_TODO;
-+
-+     c64x_submit_task( c64x, task );
-+}
-+
-+static inline void
-+davinci_c64x_fetch_uyvy( DavinciC64x   *c64x,
-+                         unsigned long  dest,
-+                         unsigned long  source,
-+                         u32            pitch,
-+                         u32            height,
-+                         u32            flags )
-+{
-+     c64xTask *task = c64x_get_task( c64x );
-+
-+     task->c64x_arg[0] = dest;
-+     task->c64x_arg[1] = source;
-+     task->c64x_arg[2] = pitch;
-+     task->c64x_arg[3] = height;
-+     task->c64x_arg[4] = flags;
-+
-+     task->c64x_function = C64X_FETCH_UYVY | C64X_FLAG_TODO;
-+
-+     c64x_submit_task( c64x, task );
-+}
-+
-+static inline void
-+davinci_c64x_mc( DavinciC64x   *c64x,
-+                 unsigned long  dest,
-+                 u32            dpitch,
-+                 unsigned long  source0,
-+                 unsigned long  source1,
-+                 u32            spitch,
-+                 u32            height,
-+                 int            func )
-+{
-+     c64xTask *task = c64x_get_task( c64x );
-+
-+     task->c64x_arg[0] = dest;
-+     task->c64x_arg[1] = dpitch;
-+     task->c64x_arg[2] = source0;
-+     task->c64x_arg[3] = source1;
-+     task->c64x_arg[4] = spitch;
-+     task->c64x_arg[5] = height;
-+
-+     task->c64x_function = func | C64X_FLAG_TODO;
-+
-+     c64x_submit_task( c64x, task );
-+}
-+
-+static inline void
-+davinci_c64x_put_idct_uyvy_16x16__L( DavinciC64xTasks *tasks,
-+                                     unsigned long     dest,
-+                                     u32               pitch,
-+                                     u32               flags )
-+{
-+     c64xTask *task = &tasks->tasks[tasks->num_tasks];
-+
-+     D_ASSERT( tasks->num_tasks < tasks->max_tasks );
-+
-+     task->c64x_arg[0] = dest;
-+     task->c64x_arg[1] = pitch;
-+     task->c64x_arg[2] = flags;
-+
-+     task->c64x_function = C64X_PUT_IDCT_UYVY_16x16 | C64X_FLAG_TODO;
-+
-+     tasks->num_tasks++;
-+}
-+
-+static inline void
-+davinci_c64x_put_idct_uyvy_16x16( DavinciC64x   *c64x,
-+                                  unsigned long  dest,
-+                                  u32            pitch,
-+                                  u32            flags )
-+{
-+     c64xTask *task = c64x_get_task( c64x );
-+
-+     task->c64x_arg[0] = dest;
-+     task->c64x_arg[1] = pitch;
-+     task->c64x_arg[2] = flags;
-+
-+     task->c64x_function = C64X_PUT_IDCT_UYVY_16x16 | C64X_FLAG_TODO;
-+
-+     c64x_submit_task( c64x, task );
-+}
-+
-+static inline void
-+davinci_c64x_put_mc_uyvy_16x16__L( DavinciC64xTasks *tasks,
-+                                   unsigned long     dest,
-+                                   u32               pitch,
-+                                   u32               flags )
-+{
-+     c64xTask *task = &tasks->tasks[tasks->num_tasks];
-+
-+     D_ASSERT( tasks->num_tasks < tasks->max_tasks );
-+
-+     task->c64x_arg[0] = dest;
-+     task->c64x_arg[1] = pitch;
-+     task->c64x_arg[2] = flags;
-+
-+     task->c64x_function = C64X_PUT_MC_UYVY_16x16 | C64X_FLAG_TODO;
-+
-+     tasks->num_tasks++;
-+}
-+
-+static inline void
-+davinci_c64x_put_mc_uyvy_16x16( DavinciC64x   *c64x,
-+                                unsigned long  dest,
-+                                u32            pitch,
-+                                u32            flags )
-+{
-+     c64xTask *task = c64x_get_task( c64x );
-+
-+     task->c64x_arg[0] = dest;
-+     task->c64x_arg[1] = pitch;
-+     task->c64x_arg[2] = flags;
-+
-+     task->c64x_function = C64X_PUT_MC_UYVY_16x16 | C64X_FLAG_TODO;
-+
-+     c64x_submit_task( c64x, task );
-+}
-+
-+static inline void
-+davinci_c64x_put_sum_uyvy_16x16__L( DavinciC64xTasks *tasks,
-+                                    unsigned long     dest,
-+                                    u32               pitch,
-+                                    u32               flags )
-+{
-+     c64xTask *task = &tasks->tasks[tasks->num_tasks];
-+
-+     D_ASSERT( tasks->num_tasks < tasks->max_tasks );
-+
-+     task->c64x_arg[0] = dest;
-+     task->c64x_arg[1] = pitch;
-+     task->c64x_arg[2] = flags;
-+
-+     task->c64x_function = C64X_PUT_SUM_UYVY_16x16 | C64X_FLAG_TODO;
-+
-+     tasks->num_tasks++;
-+}
-+
-+static inline void
-+davinci_c64x_put_sum_uyvy_16x16( DavinciC64x   *c64x,
-+                                 unsigned long  dest,
-+                                 u32            pitch,
-+                                 u32            flags )
-+{
-+     c64xTask *task = c64x_get_task( c64x );
-+
-+     task->c64x_arg[0] = dest;
-+     task->c64x_arg[1] = pitch;
-+     task->c64x_arg[2] = flags;
-+
-+     task->c64x_function = C64X_PUT_SUM_UYVY_16x16 | C64X_FLAG_TODO;
-+
-+     c64x_submit_task( c64x, task );
-+}
-+
-+static inline void
-+davinci_c64x_dva_begin_frame__L( DavinciC64xTasks *tasks,
-+                                 u32               pitch,
-+                                 unsigned long     current,
-+                                 unsigned long     past,
-+                                 unsigned long     future,
-+                                 u32               flags )
-+{
-+     c64xTask *task = &tasks->tasks[tasks->num_tasks];
-+
-+     D_ASSERT( tasks->num_tasks < tasks->max_tasks );
-+
-+     task->c64x_arg[0] = pitch;
-+     task->c64x_arg[1] = current;
-+     task->c64x_arg[2] = past;
-+     task->c64x_arg[3] = future;
-+     task->c64x_arg[4] = flags;
-+
-+     task->c64x_function = C64X_DVA_BEGIN_FRAME | C64X_FLAG_TODO;
-+
-+     tasks->num_tasks++;
-+}
-+
-+static inline void
-+davinci_c64x_dva_begin_frame( DavinciC64x   *c64x,
-+                              u32            pitch,
-+                              unsigned long  current,
-+                              unsigned long  past,
-+                              unsigned long  future,
-+                              u32            flags )
-+{
-+     c64xTask *task = c64x_get_task( c64x );
-+
-+     task->c64x_arg[0] = pitch;
-+     task->c64x_arg[1] = current;
-+     task->c64x_arg[2] = past;
-+     task->c64x_arg[3] = future;
-+     task->c64x_arg[4] = flags;
-+
-+     task->c64x_function = C64X_DVA_BEGIN_FRAME | C64X_FLAG_TODO;
-+
-+     c64x_submit_task( c64x, task );
-+}
-+
-+static inline void
-+davinci_c64x_dva_motion_block__L( DavinciC64xTasks *tasks,
-+                                  unsigned long     macroblock )
-+{
-+     c64xTask *task = &tasks->tasks[tasks->num_tasks];
-+
-+     D_ASSERT( tasks->num_tasks < tasks->max_tasks );
-+
-+     task->c64x_arg[0] = macroblock;
-+
-+     task->c64x_function = C64X_DVA_MOTION_BLOCK | C64X_FLAG_TODO;
-+
-+     tasks->num_tasks++;
-+}
-+
-+static inline void
-+davinci_c64x_dva_motion_block( DavinciC64x   *c64x,
-+                               unsigned long  macroblock )
-+{
-+     c64xTask *task = c64x_get_task( c64x );
-+
-+     task->c64x_arg[0] = macroblock;
-+
-+     task->c64x_function = C64X_DVA_MOTION_BLOCK | C64X_FLAG_TODO;
-+
-+     c64x_submit_task( c64x, task );
-+}
-+
-+/**********************************************************************************************************************/
-+
-+static inline void
-+davinci_c64x_dva_idct( DavinciC64x   *c64x,
-+                                 unsigned long  dest,
-+                                 u32            pitch,
-+                                 unsigned long  source )
-+{
-+     c64xTask *task = c64x_get_task( c64x );
-+
-+     task->c64x_arg[0] = dest;
-+     task->c64x_arg[1] = pitch;
-+     task->c64x_arg[2] = source;
-+
-+     task->c64x_function = C64X_DVA_IDCT | C64X_FLAG_TODO;
-+
-+     c64x_submit_task( c64x, task );
-+}
-+
-+/**********************************************************************************************************************/
-+
-+static inline void
-+davinci_c64x_put_uyvy_16x16( DavinciC64x   *c64x,
-+                             unsigned long  dest,
-+                             u32            pitch,
-+                             unsigned long  source,
-+                             u32            flags )
-+{
-+     c64xTask *task = c64x_get_task( c64x );
-+
-+     task->c64x_arg[0] = dest;
-+     task->c64x_arg[1] = pitch;
-+     task->c64x_arg[2] = source;
-+     task->c64x_arg[3] = flags;
-+
-+     task->c64x_function = C64X_PUT_UYVY_16x16 | C64X_FLAG_TODO;
-+
-+     c64x_submit_task( c64x, task );
-+}
-+
-+static inline void
-+davinci_c64x_dither_argb__L( DavinciC64xTasks *tasks,
-+                             unsigned long     dst_rgb,
-+                             unsigned long     dst_alpha,
-+                             u32               dst_pitch,
-+                             unsigned long     source,
-+                             u32               src_pitch,
-+                             u32               width,
-+                             u32               height )
-+{
-+     c64xTask *task = &tasks->tasks[tasks->num_tasks];
-+
-+     D_ASSERT( tasks->num_tasks < tasks->max_tasks );
-+
-+     task->c64x_arg[0] = dst_rgb;
-+     task->c64x_arg[1] = dst_alpha;
-+     task->c64x_arg[2] = dst_pitch;
-+     task->c64x_arg[3] = source;
-+     task->c64x_arg[4] = src_pitch;
-+     task->c64x_arg[5] = width;
-+     task->c64x_arg[6] = height;
-+
-+     task->c64x_function = C64X_DITHER_ARGB | C64X_FLAG_TODO;
-+
-+     tasks->num_tasks++;
-+}
-+
-+static inline void
-+davinci_c64x_dither_argb( DavinciC64x   *c64x,
-+                          unsigned long  dst_rgb,
-+                          unsigned long  dst_alpha,
-+                          u32            dst_pitch,
-+                          unsigned long  source,
-+                          u32            src_pitch,
-+                          u32            width,
-+                          u32            height )
-+{
-+     c64xTask *task = c64x_get_task( c64x );
-+
-+     task->c64x_arg[0] = dst_rgb;
-+     task->c64x_arg[1] = dst_alpha;
-+     task->c64x_arg[2] = dst_pitch;
-+     task->c64x_arg[3] = source;
-+     task->c64x_arg[4] = src_pitch;
-+     task->c64x_arg[5] = width;
-+     task->c64x_arg[6] = height;
-+
-+     task->c64x_function = C64X_DITHER_ARGB | C64X_FLAG_TODO;
-+
-+     c64x_submit_task( c64x, task );
-+}
-+
-+static inline void
-+davinci_c64x_fill_16__L( DavinciC64xTasks *tasks,
-+                         unsigned long     dest,
-+                         u32               pitch,
-+                         u32               width,
-+                         u32               height,
-+                         u32               value )
-+{
-+     c64xTask *task = &tasks->tasks[tasks->num_tasks];
-+
-+     D_ASSERT( tasks->num_tasks < tasks->max_tasks );
-+
-+     task->c64x_arg[0] = dest;
-+     task->c64x_arg[1] = pitch;
-+     task->c64x_arg[2] = width;
-+     task->c64x_arg[3] = height;
-+     task->c64x_arg[4] = value;
-+
-+     task->c64x_function = C64X_FILL_16 | C64X_FLAG_TODO;
-+
-+     tasks->num_tasks++;
-+}
-+
-+static inline void
-+davinci_c64x_fill_16( DavinciC64x   *c64x,
-+                      unsigned long  dest,
-+                      u32            pitch,
-+                      u32            width,
-+                      u32            height,
-+                      u32            value )
-+{
-+     c64xTask *task = c64x_get_task( c64x );
-+
-+     task->c64x_arg[0] = dest;
-+     task->c64x_arg[1] = pitch;
-+     task->c64x_arg[2] = width;
-+     task->c64x_arg[3] = height;
-+     task->c64x_arg[4] = value;
-+
-+     task->c64x_function = C64X_FILL_16 | C64X_FLAG_TODO;
-+
-+     c64x_submit_task( c64x, task );
-+}
-+
-+static inline void
-+davinci_c64x_fill_32__L( DavinciC64xTasks *tasks,
-+                         unsigned long     dest,
-+                         u32               pitch,
-+                         u32               width,
-+                         u32               height,
-+                         u32               value )
-+{
-+     c64xTask *task = &tasks->tasks[tasks->num_tasks];
-+
-+     D_ASSERT( tasks->num_tasks < tasks->max_tasks );
-+
-+     task->c64x_arg[0] = dest;
-+     task->c64x_arg[1] = pitch;
-+     task->c64x_arg[2] = width;
-+     task->c64x_arg[3] = height;
-+     task->c64x_arg[4] = value;
-+
-+     task->c64x_function = C64X_FILL_32 | C64X_FLAG_TODO;
-+
-+     tasks->num_tasks++;
-+}
-+
-+static inline void
-+davinci_c64x_fill_32( DavinciC64x   *c64x,
-+                      unsigned long  dest,
-+                      u32            pitch,
-+                      u32            width,
-+                      u32            height,
-+                      u32            value )
-+{
-+     c64xTask *task = c64x_get_task( c64x );
-+
-+     task->c64x_arg[0] = dest;
-+     task->c64x_arg[1] = pitch;
-+     task->c64x_arg[2] = width;
-+     task->c64x_arg[3] = height;
-+     task->c64x_arg[4] = value;
-+
-+     task->c64x_function = C64X_FILL_32 | C64X_FLAG_TODO;
-+
-+     c64x_submit_task( c64x, task );
-+}
-+
-+static inline void
-+davinci_c64x_blit_16__L( DavinciC64xTasks *tasks,
-+                         unsigned long     dest,
-+                         u32               dpitch,
-+                         unsigned long     src,
-+                         u32               spitch,
-+                         u32               width,
-+                         u32               height )
-+{
-+     c64xTask *task = &tasks->tasks[tasks->num_tasks];
-+
-+     D_ASSERT( tasks->num_tasks < tasks->max_tasks );
-+
-+     task->c64x_arg[0] = dest;
-+     task->c64x_arg[1] = dpitch;
-+     task->c64x_arg[2] = src;
-+     task->c64x_arg[3] = spitch;
-+     task->c64x_arg[4] = width;
-+     task->c64x_arg[5] = height;
-+
-+     task->c64x_function = C64X_COPY_16 | C64X_FLAG_TODO;
-+
-+     tasks->num_tasks++;
-+}
-+
-+static inline void
-+davinci_c64x_blit_16( DavinciC64x   *c64x,
-+                      unsigned long  dest,
-+                      u32            dpitch,
-+                      unsigned long  src,
-+                      u32            spitch,
-+                      u32            width,
-+                      u32            height )
-+{
-+     c64xTask *task = c64x_get_task( c64x );
-+
-+     task->c64x_arg[0] = dest;
-+     task->c64x_arg[1] = dpitch;
-+     task->c64x_arg[2] = src;
-+     task->c64x_arg[3] = spitch;
-+     task->c64x_arg[4] = width;
-+     task->c64x_arg[5] = height;
-+
-+     task->c64x_function = C64X_COPY_16 | C64X_FLAG_TODO;
-+
-+     c64x_submit_task( c64x, task );
-+}
-+
-+static inline void
-+davinci_c64x_blit_32__L( DavinciC64xTasks *tasks,
-+                         unsigned long     dest,
-+                         u32               dpitch,
-+                         unsigned long     src,
-+                         u32               spitch,
-+                         u32               width,
-+                         u32               height )
-+{
-+     c64xTask *task = &tasks->tasks[tasks->num_tasks];
-+
-+     D_ASSERT( tasks->num_tasks < tasks->max_tasks );
-+
-+     task->c64x_arg[0] = dest;
-+     task->c64x_arg[1] = dpitch;
-+     task->c64x_arg[2] = src;
-+     task->c64x_arg[3] = spitch;
-+     task->c64x_arg[4] = width;
-+     task->c64x_arg[5] = height;
-+
-+     task->c64x_function = C64X_COPY_32 | C64X_FLAG_TODO;
-+
-+     tasks->num_tasks++;
-+}
-+
-+static inline void
-+davinci_c64x_blit_32( DavinciC64x   *c64x,
-+                      unsigned long  dest,
-+                      u32            dpitch,
-+                      unsigned long  src,
-+                      u32            spitch,
-+                      u32            width,
-+                      u32            height )
-+{
-+     c64xTask *task = c64x_get_task( c64x );
-+
-+     task->c64x_arg[0] = dest;
-+     task->c64x_arg[1] = dpitch;
-+     task->c64x_arg[2] = src;
-+     task->c64x_arg[3] = spitch;
-+     task->c64x_arg[4] = width;
-+     task->c64x_arg[5] = height;
-+
-+     task->c64x_function = C64X_COPY_32 | C64X_FLAG_TODO;
-+
-+     c64x_submit_task( c64x, task );
-+}
-+
-+static inline void
-+davinci_c64x_stretch_32__L( DavinciC64xTasks *tasks,
-+                            unsigned long     dest,
-+                            u32               dpitch,
-+                            unsigned long     src,
-+                            u32               spitch,
-+                            u32               dw,
-+                            u32               dh,
-+                            u32               sw,
-+                            u32               sh,
-+                            const DFBRegion  *clip )
-+{
-+     c64xTask *task = &tasks->tasks[tasks->num_tasks];
-+
-+     D_ASSERT( tasks->num_tasks < tasks->max_tasks );
-+
-+     task->c64x_arg[0] = dest;
-+     task->c64x_arg[1] = src;
-+     task->c64x_arg[2] = dpitch   | (spitch   << 16);
-+     task->c64x_arg[3] = dh       | (dw       << 16);
-+     task->c64x_arg[4] = sh       | (sw       << 16);
-+     task->c64x_arg[5] = clip->x2 | (clip->y2 << 16);
-+     task->c64x_arg[6] = clip->x1 | (clip->y1 << 16);
-+
-+     if (sw > dw && sh > dh)
-+          task->c64x_function = C64X_STRETCH_32_down | C64X_FLAG_TODO;
-+     else
-+          task->c64x_function = C64X_STRETCH_32_up | C64X_FLAG_TODO;
-+
-+     tasks->num_tasks++;
-+}
-+
-+static inline void
-+davinci_c64x_stretch_32( DavinciC64x     *c64x,
-+                         unsigned long    dest,
-+                         u32              dpitch,
-+                         unsigned long    src,
-+                         u32              spitch,
-+                         u32              dw,
-+                         u32              dh,
-+                         u32              sw,
-+                         u32              sh,
-+                         const DFBRegion *clip )
-+{
-+     c64xTask *task = c64x_get_task( c64x );
-+
-+     task->c64x_arg[0] = dest;
-+     task->c64x_arg[1] = src;
-+     task->c64x_arg[2] = dpitch   | (spitch   << 16);
-+     task->c64x_arg[3] = dh       | (dw       << 16);
-+     task->c64x_arg[4] = sh       | (sw       << 16);
-+     task->c64x_arg[5] = clip->x2 | (clip->y2 << 16);
-+     task->c64x_arg[6] = clip->x1 | (clip->y1 << 16);
-+
-+     if (sw > dw && sh > dh)
-+          task->c64x_function = C64X_STRETCH_32_down | C64X_FLAG_TODO;
-+     else
-+          task->c64x_function = C64X_STRETCH_32_up | C64X_FLAG_TODO;
-+
-+     c64x_submit_task( c64x, task );
-+}
-+
-+static inline void
-+davinci_c64x_blit_blend_32__L( DavinciC64xTasks *tasks,
-+                               u32               sub_func,
-+                               unsigned long     dest,
-+                               u32               dpitch,
-+                               unsigned long     src,
-+                               u32               spitch,
-+                               u32               width,
-+                               u32               height,
-+                               u32               argb,
-+                               u8                alpha )
-+{
-+     c64xTask *task = &tasks->tasks[tasks->num_tasks];
-+
-+     D_ASSERT( tasks->num_tasks < tasks->max_tasks );
-+
-+     task->c64x_arg[0] = dest;
-+     task->c64x_arg[1] = dpitch;
-+     task->c64x_arg[2] = src;
-+     task->c64x_arg[3] = spitch;
-+     task->c64x_arg[4] = width | (height << 16);
-+     task->c64x_arg[5] = argb;
-+     task->c64x_arg[6] = alpha;
-+
-+     task->c64x_function = (sub_func << 16) | C64X_BLEND_32 | C64X_FLAG_TODO;
-+
-+     tasks->num_tasks++;
-+}
-+
-+static inline void
-+davinci_c64x_blit_blend_32( DavinciC64x   *c64x,
-+                            u32            sub_func,
-+                            unsigned long  dest,
-+                            u32            dpitch,
-+                            unsigned long  src,
-+                            u32            spitch,
-+                            u32            width,
-+                            u32            height,
-+                            u32            argb,
-+                            u8             alpha )
-+{
-+     c64xTask *task = c64x_get_task( c64x );
-+
-+     task->c64x_arg[0] = dest;
-+     task->c64x_arg[1] = dpitch;
-+     task->c64x_arg[2] = src;
-+     task->c64x_arg[3] = spitch;
-+     task->c64x_arg[4] = width | (height << 16);
-+     task->c64x_arg[5] = argb;
-+     task->c64x_arg[6] = alpha;
-+
-+     task->c64x_function = (sub_func << 16) | C64X_BLEND_32 | C64X_FLAG_TODO;
-+
-+     c64x_submit_task( c64x, task );
-+}
-+
-+static inline void
-+davinci_c64x_blit_keyed_16__L( DavinciC64xTasks *tasks,
-+                               unsigned long     dest,
-+                               u32               dpitch,
-+                               unsigned long     src,
-+                               u32               spitch,
-+                               u32               width,
-+                               u32               height,
-+                               u32               key,
-+                               u32               mask )
-+{
-+     c64xTask *task = &tasks->tasks[tasks->num_tasks];
-+
-+     D_ASSERT( tasks->num_tasks < tasks->max_tasks );
-+
-+     task->c64x_arg[0] = dest;
-+     task->c64x_arg[1] = (dpitch << 16) | (spitch & 0xffff);
-+     task->c64x_arg[2] = src;
-+     task->c64x_arg[3] = width;
-+     task->c64x_arg[4] = height;
-+     task->c64x_arg[5] = key;
-+     task->c64x_arg[6] = mask;
-+
-+     task->c64x_function = C64X_COPY_KEYED_16 | C64X_FLAG_TODO;
-+
-+     tasks->num_tasks++;
-+}
-+
-+static inline void
-+davinci_c64x_blit_keyed_16( DavinciC64x   *c64x,
-+                            unsigned long  dest,
-+                            u32            dpitch,
-+                            unsigned long  src,
-+                            u32            spitch,
-+                            u32            width,
-+                            u32            height,
-+                            u32            key,
-+                            u32            mask )
-+{
-+     c64xTask *task = c64x_get_task( c64x );
-+
-+     task->c64x_arg[0] = dest;
-+     task->c64x_arg[1] = (dpitch << 16) | (spitch & 0xffff);
-+     task->c64x_arg[2] = src;
-+     task->c64x_arg[3] = width;
-+     task->c64x_arg[4] = height;
-+     task->c64x_arg[5] = key;
-+     task->c64x_arg[6] = mask;
-+
-+     task->c64x_function = C64X_COPY_KEYED_16 | C64X_FLAG_TODO;
-+
-+     c64x_submit_task( c64x, task );
-+}
-+
-+static inline void
-+davinci_c64x_blit_keyed_32__L( DavinciC64xTasks *tasks,
-+                               unsigned long     dest,
-+                               u32               dpitch,
-+                               unsigned long     src,
-+                               u32               spitch,
-+                               u32               width,
-+                               u32               height,
-+                               u32               key,
-+                               u32               mask )
-+{
-+     c64xTask *task = &tasks->tasks[tasks->num_tasks];
-+
-+     D_ASSERT( tasks->num_tasks < tasks->max_tasks );
-+
-+     task->c64x_arg[0] = dest;
-+     task->c64x_arg[1] = (dpitch << 16) | (spitch & 0xffff);
-+     task->c64x_arg[2] = src;
-+     task->c64x_arg[3] = width;
-+     task->c64x_arg[4] = height;
-+     task->c64x_arg[5] = key;
-+     task->c64x_arg[6] = mask;
-+
-+     task->c64x_function = C64X_COPY_KEYED_32 | C64X_FLAG_TODO;
-+
-+     tasks->num_tasks++;
-+}
-+
-+static inline void
-+davinci_c64x_blit_keyed_32( DavinciC64x   *c64x,
-+                            unsigned long  dest,
-+                            u32            dpitch,
-+                            unsigned long  src,
-+                            u32            spitch,
-+                            u32            width,
-+                            u32            height,
-+                            u32            key,
-+                            u32            mask )
-+{
-+     c64xTask *task = c64x_get_task( c64x );
-+
-+     task->c64x_arg[0] = dest;
-+     task->c64x_arg[1] = (dpitch << 16) | (spitch & 0xffff);
-+     task->c64x_arg[2] = src;
-+     task->c64x_arg[3] = width;
-+     task->c64x_arg[4] = height;
-+     task->c64x_arg[5] = key;
-+     task->c64x_arg[6] = mask;
-+
-+     task->c64x_function = C64X_COPY_KEYED_32 | C64X_FLAG_TODO;
-+
-+     c64x_submit_task( c64x, task );
-+}
-+
-+#endif
-+
-diff -urNp DirectFB-1.5.3_orig/gfxdrivers/davinci/davincifb.h DirectFB-1.5.3/gfxdrivers/davinci/davincifb.h
---- DirectFB-1.5.3_orig/gfxdrivers/davinci/davincifb.h 1969-12-31 19:00:00.000000000 -0500
-+++ DirectFB-1.5.3/gfxdrivers/davinci/davincifb.h      2012-05-09 02:20:07.271230380 -0400
-@@ -0,0 +1,581 @@
-+/* 
-+ * Copyright (C) 2006 Texas Instruments Inc
-+ *
-+ * This program is free software; you can redistribute it and/or modify
-+ * it under the terms of the GNU General Public License as published by
-+ * the Free Software Foundation; either version 2 of the License, or
-+ * (at your option)any later version.
-+ *
-+ * This program is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+ * GNU General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU General Public License
-+ * along with this program; if not, write to the Free Software
-+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-+ *
-+ * File: davincifb.h  
-+ */
-+
-+#ifndef DAVINVI_VPBE_H
-+#define DAVINVI_VPBE_H
-+
-+/* include Linux files */
-+#include <linux/fb.h>
-+
-+/* define the custom FBIO_WAITFORVSYNC ioctl */
-+#define FBIO_WAITFORVSYNC     _IOW('F', 0x20, u_int32_t)
-+#define FBIO_SETATTRIBUTE       _IOW('F', 0x21, struct fb_fillrect)
-+
-+/* Backported IOCTLS. */
-+#define FBIO_SETPOSX                            _IOW('F', 0x22, u_int32_t)
-+#define FBIO_SETPOSY                            _IOW('F', 0x23, u_int32_t)
-+#define FBIO_SETZOOM                          _IOW('F', 0x24, struct zoom_params)
-+#define FBIO_GETSTD                             _IOR('F', 0x25, u_int32_t)
-+#define FBIO_RESIZER                          _IOW('F', 0x26, struct vpfe_resizer_params)
-+#define FBIO_SYNC                             _IOW('F', 0x27, u_int32_t)
-+
-+typedef struct zoom_params {
-+      u_int32_t window_id;
-+      u_int32_t zoom_h;
-+      u_int32_t zoom_v;
-+} zoom_params_t;
-+
-+typedef struct vpfe_resizer_params
-+{
-+      u_int32_t rsz_cnt;      //busy-lock
-+      u_int32_t out_size;     //busy-lock
-+      u_int32_t in_start;     //busy-lock
-+      u_int32_t in_size;      //busy-lock
-+      u_int32_t sdr_inadd;    //shadowed
-+      u_int32_t sdr_inoff;    //shadowed
-+      u_int32_t sdr_outadd;   //shadowed
-+      u_int32_t sdr_outoff;   //shadowed
-+      u_int32_t hfilt[16];    //busy-lock
-+      u_int32_t vfilt[16];    //busy-lock
-+      u_int32_t yenh;         //busy-lock
-+} vpfe_resizer_params_t;
-+
-+typedef struct fb_set_start {
-+      int             offset;         /* offset from smem_start */
-+      unsigned long   physical;       /* absolute physical address when offset < 0 */
-+
-+      u_int64_t       sync;           /* input:  target sync counter for change or 0 for no sync at all,
-+                                         output: sync counter of actual change or 0 if still pending */
-+} fb_set_start_t;
-+
-+
-+#ifdef _IOC_TYPECHECK
-+#undef _IOC_TYPECHECK
-+#define _IOC_TYPECHECK(x)     (sizeof(x))
-+#endif
-+
-+#define       RAM_CLUT_SIZE   256*3
-+#define FBIO_ENABLE_DISABLE_WIN               \
-+      _IOW('F', 0x30, unsigned char)
-+#define FBIO_SET_BITMAP_BLEND_FACTOR  \
-+      _IOW('F', 0x31, vpbe_bitmap_blend_params_t)
-+#define FBIO_SET_BITMAP_WIN_RAM_CLUT    \
-+      _IOW('F', 0x32, unsigned char)*RAM_CLUT_SIZE)
-+#define FBIO_ENABLE_DISABLE_ATTRIBUTE_WIN \
-+      _IOW('F', 0x33, unsigned int)
-+#define FBIO_GET_BLINK_INTERVAL               \
-+      _IOR('F', 0x34, vpbe_blink_option_t)
-+#define FBIO_SET_BLINK_INTERVAL         \
-+      _IOW('F', 0x35, vpbe_blink_option_t)
-+#define FBIO_GET_VIDEO_CONFIG_PARAMS    \
-+      _IOR('F', 0x36, vpbe_video_config_params_t)
-+#define FBIO_SET_VIDEO_CONFIG_PARAMS    \
-+      _IOW('F', 0x37, vpbe_video_config_params_t)
-+#define FBIO_GET_BITMAP_CONFIG_PARAMS   \
-+      _IOR('F', 0x38, vpbe_bitmap_config_params_t)
-+#define FBIO_SET_BITMAP_CONFIG_PARAMS   \
-+      _IOW('F', 0x39, vpbe_bitmap_config_params_t)
-+#define FBIO_SET_DCLK                   \
-+      _IOW('F', 0x40, vpbe_dclk_t)
-+#define FBIO_SET_INTERFACE            \
-+      _IOW('F', 0x41, unsigned char)
-+#define FBIO_GET_INTERFACE            \
-+      _IOR('F', 0x42, unsigned char)
-+#define FBIO_QUERY_TIMING             \
-+      _IOWR('F', 0x43, struct vpbe_mode_info)
-+#define FBIO_SET_TIMING                       \
-+      _IOW('F', 0x44, struct vpbe_fb_videomode)
-+#define FBIO_GET_TIMING                 \
-+      _IOR('F', 0x45, struct vpbe_fb_videomode)
-+#define FBIO_SET_VENC_CLK_SOURCE      \
-+      _IOW('F', 0x46, unsigned char)
-+#define FBIO_SET_BACKG_COLOR            \
-+      _IOW('F', 0x47, vpbe_backg_color_t)
-+#define FBIO_ENABLE_DISPLAY           \
-+      _IOW('F', 0x48, unsigned char)
-+#define FBIO_SETPOS                           \
-+      _IOW('F', 0x49, u_int32_t)
-+#define FBIO_SET_CURSOR               \
-+      _IOW('F', 0x50, struct fb_cursor)
-+#define FBIO_SET_START                \
-+      _IOW('F', 0x66, struct fb_set_start)
-+
-+/* 
-+ * Defines and Constants
-+ */
-+#ifdef __KERNEL__
-+#define DAVINCIFB_DEVICE "davincifb"
-+#define DAVINCIFB_DRIVER "davincifb"
-+
-+#define MULTIPLE_BUFFERING      1
-+
-+#ifdef MULTIPLE_BUFFERING
-+#define DOUBLE_BUF      2
-+#define TRIPLE_BUF      3
-+#else
-+#define DOUBLE_BUF      1
-+#define TRIPLE_BUF      1
-+#endif
-+
-+/* usage:     if (is_win(info->fix.id, OSD0)) ... */
-+#define is_win(name, x) ((strcmp(name, x ## _FBNAME) == 0) ? 1 : 0)
-+
-+/*
-+ * display controller register I/O routines
-+ */
-+u32 dispc_reg_in(u32 offset);
-+u32 dispc_reg_out(u32 offset, u32 val);
-+u32 dispc_reg_merge(u32 offset, u32 val, u32 mask);
-+
-+#endif                                /*__KERNEL__*/
-+
-+/*  Error return codes  */
-+#define VPBE_INVALID_PARA_VALUE         700
-+#define VPBE_WRONG_WINDOW_ID            701
-+#define VPBE_CURRENTLY_IN_REQUIRED_MODE 702
-+#define VPBE_INSUFFICIENT_CLUT_VALUES   703
-+#define VPBE_CLUT_WRITE_TIMEOUT         704
-+#define VPBE_VID0_BUF_ADR_NULL          705
-+#define VPBE_WINDOW_NOT_DISABLED        706
-+#define VPBE_WINDOW_NOT_ENABLED         707
-+
-+#ifndef __KERNEL__
-+/*  Window ID definations */
-+#define OSD0      0
-+#define VID0      1
-+#define OSD1      2
-+#define VID1      3
-+#endif
-+
-+/* There are 4 framebuffers, each represented by an fb_info and
-+ * a dm_win_info structure */
-+#define OSD0_FBNAME "dm_osd0_fb"
-+#define OSD1_FBNAME "dm_osd1_fb"
-+#define VID0_FBNAME "dm_vid0_fb"
-+#define VID1_FBNAME "dm_vid1_fb"
-+
-+/*  FIXME: Digital LCD RGB matrix coefficients */
-+#define DLCD_DGY_VAL    0
-+#define DLCD_DRV_VAL    0
-+#define DLCD_DGU_VAL    0
-+#define DLCD_DBU_VAL          0
-+
-+/* Defines for bitmap format */
-+#define VPBE_BITMAP_BIT_1     1
-+#define VPBE_BITMAP_BIT_2     2
-+#define VPBE_BITMAP_BIT_4     4
-+#define VPBE_BITMAP_BIT_8     8
-+#define VPBE_BITMAP_RGB565    16
-+#define VPBE_VIDEO_YUV422     16
-+#define VPBE_VIDEO_RGB888     24
-+
-+/* Defines foe cursor parameter validation*/
-+#define MAX_CURSOR_WIDTH      0x3FF
-+#define MAX_CURSOR_HEIGHT     0x1FF
-+#define MAX_CURSOR_LINEWIDTH    7
-+
-+#define BASEX         0x80
-+#define BASEY         0x12
-+#define BASEX_DLCD            0x59
-+#define BASEY_DLCD            0x22
-+
-+/*
-+ * Enumerations 
-+ */
-+/*  Enum for blending factor  */
-+typedef enum vpbe_blend_factor {
-+      OSD_CONTRIBUTION_ZERO = 0,
-+      OSD_CONTRIBUTION_1_BY_8 = 1,
-+      OSD_CONTRIBUTION_2_BY_8 = 2,
-+      OSD_CONTRIBUTION_3_BY_8 = 3,
-+      OSD_CONTRIBUTION_4_BY_8 = 4,
-+      OSD_CONTRIBUTION_5_BY_8 = 5,
-+      OSD_CONTRIBUTION_6_BY_8 = 6,
-+      OSD_CONTRIBUTION_ONE = 7
-+} vpbe_blend_factor_t;
-+
-+/*  Enum for Boolean variables  */
-+typedef enum {
-+      SET_0 = 0,
-+      SET_1 = 1
-+} CB_CR_ORDER, ATTRIBUTE, ROM_RAM_CLUT;
-+
-+/*  Defines for Display Interface */
-+#define  PRGB         0
-+#define  COMPOSITE      1
-+#define  SVIDEO       2
-+#define  COMPONENT    3
-+#define  RGB          4
-+#define  YCC16        5
-+#define  YCC8         6
-+#define  SRGB         7
-+#define  EPSON        8
-+#define  CASIO1G      9
-+#define  UDISP        10
-+#define  STN          11
-+#define VPBE_MAX_INTERFACES   12
-+
-+/*  Defines for Display Mode */
-+#define  LCD    0
-+#define  NTSC 1
-+#define  PAL    2
-+#define  P525   3
-+#define  P625   4
-+
-+#define DEFAULT_MODE 0
-+#define  P480   0
-+#define  P400   1
-+#define  P350   2
-+#define NON_EXISTING_MODE 255
-+/*  Enable/Disable enum */
-+typedef enum {
-+      VPBE_DISABLE = 0,
-+      VPBE_ENABLE = 1
-+} ATTENUATION, TRANSPARENCY, EXPANSION, BLINKING;
-+
-+typedef enum clk_source {
-+      CLK_SOURCE_CLK27 = 0,
-+      CLK_SOURCE_CLK54 = 1,
-+      CLK_SOURCE_VPBECLK = 2
-+} CLK_SOURCE;
-+
-+/*
-+ * Structures and Union Definitions
-+ */
-+
-+/*  Structure for transparency and the blending factor for the bitmap window  */
-+typedef struct vpbe_bitmap_blend_params {
-+      unsigned int colorkey;  /* color key to be blend */
-+      unsigned int enable_colorkeying;        /* enable color keying */
-+      unsigned int bf;        /* valid range from 0 to 7 only. */
-+} vpbe_bitmap_blend_params_t;
-+
-+/*  Structure for window expansion  */
-+typedef struct vpbe_win_expansion {
-+      EXPANSION horizontal;
-+      EXPANSION vertical;     /* 1: Enable 0:disable */
-+} vpbe_win_expansion_t;
-+
-+/*  Structure for OSD window blinking options */
-+typedef struct vpbe_blink_option {
-+      BLINKING blinking;      /* 1: Enable blinking 0: Disable */
-+      unsigned int interval;  /* Valid only if blinking is 1 */
-+} vpbe_blink_option_t;
-+
-+/*  Structure for DCLK parameters */
-+typedef struct vpbe_dclk {
-+      unsigned char dclk_pattern_width;
-+      unsigned int dclk_pattern0;
-+      unsigned int dclk_pattern1;
-+      unsigned int dclk_pattern2;
-+      unsigned int dclk_pattern3;
-+} vpbe_dclk_t;
-+
-+/*  Structure for display format  */
-+typedef struct vpbe_display_format {
-+      unsigned char interface;        /* Output interface type */
-+      unsigned char mode;     /* output mode */
-+} vpbe_display_format_t;
-+
-+/*  Structure for background color  */
-+typedef struct vpbe_backg_color {
-+      unsigned char clut_select;      /* 2: RAM CLUT 1:ROM1 CLUT 0:ROM0 CLUT */
-+      unsigned char color_offset;     /* index of color */
-+} vpbe_backg_color_t;
-+
-+/*  Structure for Video window configurable parameters  */
-+typedef struct vpbe_video_config_params {
-+      CB_CR_ORDER cb_cr_order;        /*Cb/Cr order in input data for a pixel. */
-+      /*    0: cb cr  1:  cr cb */
-+      vpbe_win_expansion_t exp_info;  /* HZ/VT Expansion enable disable */
-+} vpbe_video_config_params_t;
-+
-+/*Union of structures giving the CLUT index for the 1, 2, 4 bit bitmap values.*/
-+typedef union vpbe_clut_idx {
-+      struct _for_4bit_bimap {
-+              unsigned char bitmap_val_0;
-+              unsigned char bitmap_val_1;
-+              unsigned char bitmap_val_2;
-+              unsigned char bitmap_val_3;
-+              unsigned char bitmap_val_4;
-+              unsigned char bitmap_val_5;
-+              unsigned char bitmap_val_6;
-+              unsigned char bitmap_val_7;
-+              unsigned char bitmap_val_8;
-+              unsigned char bitmap_val_9;
-+              unsigned char bitmap_val_10;
-+              unsigned char bitmap_val_11;
-+              unsigned char bitmap_val_12;
-+              unsigned char bitmap_val_13;
-+              unsigned char bitmap_val_14;
-+              unsigned char bitmap_val_15;
-+      } for_4bit_bimap;
-+      struct _for_2bit_bimap {
-+              unsigned char bitmap_val_0;
-+              unsigned char dummy0[4];
-+              unsigned char bitmap_val_1;
-+              unsigned char dummy1[4];
-+              unsigned char bitmap_val_2;
-+              unsigned char dummy2[4];
-+              unsigned char bitmap_val_3;
-+      } for_2bit_bimap;
-+      struct _for_1bit_bimap {
-+              unsigned char bitmap_val_0;
-+              unsigned char dummy0[14];
-+              unsigned char bitmap_val_1;
-+      } for_1bit_bimap;
-+} vpbe_clut_idx_t;
-+
-+/*  Structure for bitmap window configurable parameters */
-+typedef struct vpbe_bitmap_config_params {
-+      /* Only for bitmap width = 1,2,4 bits */
-+      vpbe_clut_idx_t clut_idx;
-+      /* Attenuation value for YUV o/p for bitmap window */
-+      unsigned char attenuation_enable;
-+      /* 0: ROM DM270, 1:ROM DM320, 2:RAM CLUT */
-+      unsigned char clut_select;
-+} vpbe_bitmap_config_params_t;
-+
-+/*  Unioun for video/OSD configuration parameters  */
-+typedef union vpbe_conf_params {
-+
-+      struct vpbe_video_params {
-+              CB_CR_ORDER cb_cr_order;
-+              /* HZ/VT Expansion enable disable */
-+              vpbe_win_expansion_t exp_info;
-+      } video_params;
-+
-+      struct vpbe_bitmap_params {
-+              /* Attenuation value for YUV o/p */
-+              ATTENUATION attenuation_enable;
-+              /* 0: ROM DM270, 1: ROM DM320, 2:RAM CLUT */
-+              unsigned char clut_select;
-+              /* Only for bitmap width = 1,2,4 bits */
-+              vpbe_clut_idx_t clut_idx;
-+              /* 0: OSD window is bitmap window */
-+              /* 1: OSD window is attribute window */
-+              ATTRIBUTE enable_attribute;
-+              /* To hold bps value. 
-+                 Used to switch back from attribute to bitmap. */
-+              unsigned int stored_bits_per_pixel;
-+              /* Blending information */
-+              vpbe_bitmap_blend_params_t blend_info;
-+              /* OSD Blinking information */
-+              vpbe_blink_option_t blink_info;
-+      } bitmap_params;
-+
-+} vpbe_conf_params_t;
-+
-+typedef struct vpbe_video_params vpbe_video_params_t;
-+typedef struct vpbe_bitmap_params vpbe_bitmap_params_t;
-+
-+/* Structure to hold window position */
-+typedef struct vpbe_window_position {
-+      unsigned int xpos;      /* X position of the window */
-+      unsigned int ypos;      /* Y position of the window */
-+} vpbe_window_position_t;
-+
-+#ifdef __KERNEL__
-+/*  Structure for each window */
-+typedef struct vpbe_dm_win_info {
-+      struct fb_info info;
-+      vpbe_window_position_t win_pos; /* X,Y position of window */
-+      /* Size of window is already there in var_info structure. */
-+
-+      dma_addr_t fb_base_phys;        /*framebuffer area */
-+      unsigned int fb_base;   /*window memory pointer */
-+      unsigned int fb_size;   /*memory size */
-+      unsigned int pseudo_palette[17];
-+      int alloc_fb_mem;
-+      /*flag to identify if framebuffer area is fixed or not */
-+      unsigned long sdram_address;
-+      struct vpbe_dm_info *dm;
-+      unsigned char window_enable;    /*Additions for all windows */
-+      zoom_params_t zoom;     /*Zooming parameters */
-+      unsigned char field_frame_select;       /*To select Field or frame */
-+      unsigned char numbufs;  /*Number of buffers valid 2 or 3 */
-+      vpbe_conf_params_t conf_params;
-+      /*window configuration parameter union pointer */
-+} vpbe_dm_win_info_t;
-+#endif                                /*__KERNEL__*/
-+
-+/*
-+ *  Videmode structure for display interface and mode settings
-+ */
-+typedef struct vpbe_fb_videomode {
-+      unsigned char name[10]; /* Mode name ( NTSC , PAL) */
-+      unsigned int vmode;     /* FB_MODE_INTERLACED or FB_MODE_NON_INTERLACED */
-+      unsigned int xres;      /* X Resolution of the display */
-+      unsigned int yres;      /* Y Resolution of the display */
-+      unsigned int fps;       /* frames per second */
-+      /* Timing Parameters applicable for std = 0 only */
-+      unsigned int left_margin;
-+      unsigned int right_margin;
-+      unsigned int upper_margin;
-+      unsigned int lower_margin;
-+      unsigned int hsync_len;
-+      unsigned int vsync_len;
-+      unsigned int sync;      /* 0: hsync -ve/vsync -ve */
-+      /*1: hsync -ve/vsync +ve */
-+      /*2: hsync +ve/vsync -ve */
-+      /*3: hsync +ve/vsync +ve */
-+      unsigned int basepx;    /* Display x,y start position */
-+      unsigned int basepy;
-+/*  1= Mode s available in modelist 0=Mode is not available in modelist */
-+      unsigned int std;
-+} vpbe_fb_videomode_t;
-+
-+/* Structure to interface videomode to application*/
-+typedef struct vpbe_mode_info {
-+      vpbe_fb_videomode_t vid_mode;
-+      unsigned char interface;
-+      unsigned char mode_idx;
-+} vpbe_mode_info_t;
-+
-+#ifdef __KERNEL__
-+/* 
-+ * Structure for the driver holding information of windows, 
-+ *  memory base addresses etc.
-+ */
-+typedef struct vpbe_dm_info {
-+      vpbe_dm_win_info_t *osd0;
-+      vpbe_dm_win_info_t *osd1;
-+      vpbe_dm_win_info_t *vid0;
-+      vpbe_dm_win_info_t *vid1;
-+
-+/* to map the registers */
-+      dma_addr_t mmio_base_phys;
-+      unsigned int mmio_base;
-+      unsigned int mmio_size;
-+
-+      wait_queue_head_t vsync_wait;
-+      unsigned int vsync_cnt;
-+      int timeout;
-+
-+      /* this is the function that configures the output device (NTSC/PAL/LCD)
-+       * for the required output format (composite/s-video/component/rgb)
-+       */
-+      void (*output_device_config) (void);
-+
-+      struct device *dev;
-+
-+      vpbe_backg_color_t backg;       /* background color */
-+      vpbe_dclk_t dclk;       /*DCLK parameters */
-+      vpbe_display_format_t display;  /*Display interface and mode */
-+      vpbe_fb_videomode_t videomode;  /*Cuurent videomode */
-+      char ram_clut[256][3];  /*RAM CLUT array */
-+      struct fb_cursor cursor;        /* cursor config params from fb.h */
-+/*Flag that indicates whether any of the display is enabled or not*/
-+      int display_enable;
-+} vpbe_dm_info_t;
-+
-+/*
-+ * Functions Definitions for 'davincifb' module
-+ */
-+int vpbe_mem_alloc_window_buf(vpbe_dm_win_info_t *);
-+int vpbe_mem_release_window_buf(vpbe_dm_win_info_t *);
-+void init_display_function(vpbe_display_format_t *);
-+int vpbe_mem_alloc_struct(vpbe_dm_win_info_t **);
-+void set_vid0_default_conf(void);
-+void set_vid1_default_conf(void);
-+void set_osd0_default_conf(void);
-+void set_osd1_default_conf(void);
-+void set_cursor_default_conf(void);
-+void set_dm_default_conf(void);
-+void set_win_enable(char *, unsigned int);
-+int within_vid0_limits(u32, u32, u32, u32);
-+void vpbe_set_display_default(void);
-+#ifdef __KERNEL__
-+void set_win_position(char *, u32, u32, u32, u32);
-+void change_win_param(int);
-+void set_interlaced(char *, unsigned int);
-+#endif /* __KERNEL__ */
-+
-+/*
-+ *    Function definations for 'osd' module
-+ */
-+
-+int vpbe_enable_window(vpbe_dm_win_info_t *);
-+int vpbe_disable_window(vpbe_dm_win_info_t *);
-+int vpbe_vid_osd_select_field_frame(u8 *, u8);
-+int vpbe_bitmap_set_blend_factor(u8 *, vpbe_bitmap_blend_params_t *);
-+int vpbe_bitmap_set_ram_clut(void);
-+int vpbe_enable_disable_attribute_window(u32);
-+int vpbe_get_blinking(u8 *, vpbe_blink_option_t *);
-+int vpbe_set_blinking(u8 *, vpbe_blink_option_t *);
-+int vpbe_set_vid_params(u8 *, vpbe_video_config_params_t *);
-+int vpbe_get_vid_params(u8 *, vpbe_video_config_params_t *);
-+int vpbe_bitmap_get_params(u8 *, vpbe_bitmap_config_params_t *);
-+int vpbe_bitmap_set_params(u8 *, vpbe_bitmap_config_params_t *);
-+int vpbe_set_cursor_params(struct fb_cursor *);
-+int vpbe_set_vid_expansion(vpbe_win_expansion_t *);
-+int vpbe_set_dclk(vpbe_dclk_t *);
-+int vpbe_set_display_format(vpbe_display_format_t *);
-+int vpbe_set_backg_color(vpbe_backg_color_t *);
-+int vpbe_set_interface(u8);
-+int vpbe_query_mode(vpbe_mode_info_t *);
-+int vpbe_set_mode(struct vpbe_fb_videomode *);
-+int vpbe_set_venc_clk_source(u8);
-+void set_vid0_default_conf(void);
-+void set_osd0_default_conf(void);
-+void set_vid1_default_conf(void);
-+void set_osd1_default_conf(void);
-+void set_cursor_default_conf(void);
-+void set_dm_default_conf(void);
-+/*
-+ * Function definations for 'venc' module
-+ */
-+
-+void davincifb_ntsc_composite_config(void);
-+void davincifb_ntsc_svideo_config(void);
-+void davincifb_ntsc_component_config(void);
-+void davincifb_pal_composite_config(void);
-+void davincifb_pal_svideo_config(void);
-+void davincifb_pal_component_config(void);
-+
-+void vpbe_davincifb_ntsc_rgb_config(void);
-+void vpbe_davincifb_pal_rgb_config(void);
-+void vpbe_davincifb_525p_component_config(void);
-+void vpbe_davincifb_625p_component_config(void);
-+
-+void vpbe_enable_venc(int);
-+void vpbe_enable_dacs(int);
-+/*
-+ * Function definations for 'dlcd' module
-+ */
-+void vpbe_davincifb_480p_prgb_config(void);
-+void vpbe_davincifb_400p_prgb_config(void);
-+void vpbe_davincifb_350p_prgb_config(void);
-+void vpbe_set_display_timing(struct vpbe_fb_videomode *);
-+
-+void vpbe_enable_lcd(int);
-+/*
-+ * Following functions are not implemented
-+ */
-+void vpbe_davincifb_default_ycc16_config(void);
-+void vpbe_davincifb_default_ycc8_config(void);
-+void vpbe_davincifb_default_srgb_config(void);
-+void vpbe_davincifb_default_epson_config(void);
-+void vpbe_davincifb_default_casio_config(void);
-+void vpbe_davincifb_default_UDISP_config(void);
-+void vpbe_davincifb_default_STN_config(void);
-+#endif                                /*__KERNEL__*/
-+
-+#endif                                /* End of #ifndef DAVINCI_VPBE_H */
-diff -urNp DirectFB-1.5.3_orig/gfxdrivers/davinci/davinci_gfxdriver.h DirectFB-1.5.3/gfxdrivers/davinci/davinci_gfxdriver.h
---- DirectFB-1.5.3_orig/gfxdrivers/davinci/davinci_gfxdriver.h 1969-12-31 19:00:00.000000000 -0500
-+++ DirectFB-1.5.3/gfxdrivers/davinci/davinci_gfxdriver.h      2012-05-09 02:19:40.797421031 -0400
-@@ -0,0 +1,169 @@
-+/*
-+   TI Davinci driver - Graphics Driver
-+
-+   (c) Copyright 2007  Telio AG
-+
-+   Written by Denis Oliver Kropp <dok@directfb.org>
-+
-+   Code is derived from VMWare driver.
-+
-+   (c) Copyright 2001-2009  The world wide DirectFB Open Source Community (directfb.org)
-+   (c) Copyright 2000-2004  Convergence (integrated media) GmbH
-+
-+   All rights reserved.
-+
-+   This library is free software; you can redistribute it and/or
-+   modify it under the terms of the GNU Lesser General Public
-+   License as published by the Free Software Foundation; either
-+   version 2 of the License, or (at your option) any later version.
-+
-+   This library is distributed in the hope that it will be useful,
-+   but WITHOUT ANY WARRANTY; without even the implied warranty of
-+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-+   Lesser General Public License for more details.
-+
-+   You should have received a copy of the GNU Lesser General Public
-+   License along with this library; if not, write to the
-+   Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-+   Boston, MA 02111-1307, USA.
-+*/
-+
-+#ifndef __DAVINCI_GFXDRIVER_H__
-+#define __DAVINCI_GFXDRIVER_H__
-+
-+#include <sys/ioctl.h>
-+#include <davincifb.h>
-+
-+#include <core/surface_buffer.h>
-+
-+#include "davincifb.h"
-+
-+#include "davinci_c64x.h"
-+
-+
-+typedef struct {
-+     /* validation flags */
-+     int                       v_flags;
-+
-+     /* cached/computed values */
-+     void                     *dst_addr;
-+     unsigned long             dst_phys;
-+     unsigned int              dst_size;
-+     unsigned long             dst_pitch;
-+     DFBSurfacePixelFormat     dst_format;
-+     unsigned long             dst_bpp;
-+
-+     void                     *src_addr;
-+     unsigned long             src_phys;
-+     unsigned long             src_pitch;
-+     DFBSurfacePixelFormat     src_format;
-+     unsigned long             src_bpp;
-+
-+     unsigned long             source_mult;
-+
-+     unsigned long             fillcolor;
-+
-+     int                       blit_blend_sub_function;
-+     int                       draw_blend_sub_function;
-+
-+     DFBColor                  color;
-+     unsigned long             color_argb;
-+     unsigned long             colorkey;
-+
-+     DFBSurfaceBlittingFlags   blitting_flags;
-+
-+     DFBRegion                 clip;
-+
-+     /** Add shared data here... **/
-+     struct fb_fix_screeninfo  fix[4];
-+
-+     CoreSurfacePool          *osd_pool;
-+     CoreSurfacePool          *video_pool;
-+
-+     bool                      synced;
-+} DavinciDeviceData;
-+
-+
-+typedef struct {
-+     int                       num;
-+     int                       fd;
-+     void                     *mem;
-+     int                       size;
-+} DavinciFB;
-+
-+typedef struct {
-+     DavinciDeviceData        *ddev;
-+
-+     CoreDFB                  *core;
-+
-+     CoreScreen               *screen;
-+     CoreLayer                *osd;
-+     CoreLayer                *video;
-+
-+     DavinciFB                 fb[4];
-+
-+     DavinciC64x               c64x;
-+     bool                      c64x_present;
-+
-+     DavinciC64xTasks          tasks;
-+} DavinciDriverData;
-+
-+
-+static inline DFBResult
-+davincifb_pan_display( const DavinciFB             *fb,
-+                       struct fb_var_screeninfo    *var,
-+                       const CoreSurfaceBufferLock *lock,
-+                       DFBSurfaceFlipFlags          flags,
-+                       int                          x,
-+                       int                          y )
-+{
-+     int ret;
-+
-+     if (lock) {
-+#ifdef FBIO_SET_START
-+          CoreSurfaceBuffer   *buffer = lock->buffer;
-+          struct fb_set_start  set_start;
-+
-+          /* physical mode */
-+          set_start.offset   = -1;
-+          set_start.sync     = (flags & DSFLIP_ONSYNC) ? 1 : 0;
-+
-+          /* life's so easy */
-+          set_start.physical = lock->phys + DFB_BYTES_PER_LINE( buffer->format, x ) + y * lock->pitch;
-+
-+          ret = ioctl( fb->fd, FBIO_SET_START, &set_start );
-+          if (ret < 0)
-+               D_DEBUG( "FBIO_SET_START (0x%08lx, sync %llu) failed!\n",
-+                         set_start.physical, set_start.sync );
-+
-+          if (ret == 0) {
-+               if (flags & DSFLIP_WAIT)
-+                    ioctl( fb->fd, FBIO_WAITFORVSYNC );
-+
-+               return DFB_OK;
-+          }
-+
-+          /* fallback */
-+#endif
-+          var->xoffset = x;                  /* poor version */
-+          var->yoffset = y + lock->offset / lock->pitch;
-+     }
-+     else {
-+          var->xoffset = x;
-+          var->yoffset = y;
-+     }
-+
-+     var->activate = /*(flags & DSFLIP_ONSYNC) ? FB_ACTIVATE_VBL :*/ FB_ACTIVATE_NOW;
-+
-+     ret = ioctl( fb->fd, FBIOPAN_DISPLAY, var );
-+     if (ret)
-+          D_PERROR( "Davinci/FB: FBIOPAN_DISPLAY (fb%d - %d,%d) failed!\n",
-+                    fb->num, var->xoffset, var->yoffset );
-+
-+     if (flags & DSFLIP_WAIT)
-+          ioctl( fb->fd, FBIO_WAITFORVSYNC );
-+
-+     return DFB_OK;
-+}
-+
-+#endif
diff --git a/directfb/patches/DirectFB-1.5.3-gcc-atomics-on-arm.patch b/directfb/patches/DirectFB-1.5.3-gcc-atomics-on-arm.patch
deleted file mode 100644 (file)
index 1f488e9..0000000
+++ /dev/null
@@ -1,64 +0,0 @@
---- DirectFB-1.5.3_orig/lib/direct/atomic.h    2011-07-31 14:51:06.000000000 -0400
-+++ DirectFB-1.5.3/lib/direct/atomic.h 2012-05-09 01:24:02.692169840 -0400
-@@ -185,20 +185,13 @@
- #if defined(ARCH_ARM) && !defined(ARCH_IWMMXT)
--static inline int _D__atomic_cmpxchg(volatile int *ptr, int old, int new)
-+static inline int _D__atomic_cmpxchg(volatile int *ptr, int old, int _new)
- {
--      unsigned long oldval, res;
--      do {
--              __asm__ __volatile__("@ atomic_cmpxchg\n"
--              "ldrex  %1, [%2]\n"
--              "mov    %0, #0\n"
--              "teq    %1, %3\n"
--              "strexeq %0, %4, [%2]\n"
--                  : "=&r" (res), "=&r" (oldval)
--                  : "r" (ptr), "Ir" (old), "r" (new)
--                  : "cc");
--      } while (res);
-+      unsigned long oldval = old;
-+
-+      __atomic_compare_exchange_n(ptr, &oldval, _new,
-+                                  false, __ATOMIC_SEQ_CST, __ATOMIC_SEQ_CST);
-       return oldval;
- }
-@@ -220,24 +213,14 @@ static inline int _D__atomic_cmpxchg(vol
- static inline int _D__atomic_add_return(int i, volatile int *v)
- {
--      unsigned long tmp;
--      int result;
--      __asm__ __volatile__("@ atomic_add_return\n"
--"1:   ldrex   %0, [%2]\n"
--"     add     %0, %0, %3\n"
--"     strex   %1, %0, [%2]\n"
--"     teq     %1, #0\n"
--"     bne     1b"
--      : "=&r" (result), "=&r" (tmp)
--      : "r" (v), "Ir" (i)
--      : "cc");
-+      int result = __atomic_add_fetch(v, i, __ATOMIC_SEQ_CST);
-       return result;
- }
- #define D_SYNC_ADD_AND_FETCH( ptr, value )                                           \
--     (_D__atomic_add_return( (int) (value), (void*) (ptr) ))
-+     (_D__atomic_add_return( (int) (value), (volatile int*) (ptr) ))
- #endif
-@@ -308,7 +291,7 @@ static inline int _D__atomic_add_return(
- }
- #define D_SYNC_ADD_AND_FETCH( ptr, value )                                           \
--     (_D__atomic_add_return( (int) (value), (void*) (ptr) ))
-+     (_D__atomic_add_return( (int) (value), (volatile int*) (ptr) ))
- #endif
diff --git a/directfb/patches/DirectFB-1.5.3-lm.patch b/directfb/patches/DirectFB-1.5.3-lm.patch
deleted file mode 100644 (file)
index 4402137..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-diff -up DirectFB-1.5.3/tests/Makefile.am.lm DirectFB-1.5.3/tests/Makefile.am
---- DirectFB-1.5.3/tests/Makefile.am.lm        2011-08-23 23:43:18.208040936 +0200
-+++ DirectFB-1.5.3/tests/Makefile.am   2011-08-23 23:46:11.940784728 +0200
-@@ -98,11 +98,11 @@ dfbtest_gl1_LDADD   = $(libdirectfb) $(l
- dfbtest_gl2_SOURCES = dfbtest_gl2.c
- dfbtest_gl2_CFLAGS  = $(GLES2_CFLAGS)
--dfbtest_gl2_LDADD   = $(libdirectfb) $(libvoodoo) $(libfusion) $(libdirect) $(GLES2_LIBS)
-+dfbtest_gl2_LDADD   = $(libdirectfb) $(libvoodoo) $(libfusion) $(libdirect) $(GLES2_LIBS) -lm
- dfbtest_gl3_SOURCES = dfbtest_gl3.c
- dfbtest_gl3_CFLAGS  = $(GLES2_CFLAGS)
--dfbtest_gl3_LDADD   = $(libdirectfb) $(libvoodoo) $(libfusion) $(libdirect) $(GLES2_LIBS)
-+dfbtest_gl3_LDADD   = $(libdirectfb) $(libvoodoo) $(libfusion) $(libdirect) $(GLES2_LIBS) -lm
- dfbtest_mirror_SOURCES = dfbtest_mirror.c
- dfbtest_mirror_LDADD   = $(libdirectfb) $(libvoodoo) $(libfusion) $(libdirect)
-diff -up DirectFB-1.5.3/tests/Makefile.in.lm DirectFB-1.5.3/tests/Makefile.in
---- DirectFB-1.5.3/tests/Makefile.in.lm        2011-08-07 10:17:49.000000000 +0200
-+++ DirectFB-1.5.3/tests/Makefile.in   2011-08-23 23:46:54.616981247 +0200
-@@ -575,10 +575,10 @@ dfbtest_gl1_CFLAGS = $(GLES2_CFLAGS)
- dfbtest_gl1_LDADD = $(libdirectfb) $(libvoodoo) $(libfusion) $(libdirect) $(GLES2_LIBS)
- dfbtest_gl2_SOURCES = dfbtest_gl2.c
- dfbtest_gl2_CFLAGS = $(GLES2_CFLAGS)
--dfbtest_gl2_LDADD = $(libdirectfb) $(libvoodoo) $(libfusion) $(libdirect) $(GLES2_LIBS)
-+dfbtest_gl2_LDADD = $(libdirectfb) $(libvoodoo) $(libfusion) $(libdirect) $(GLES2_LIBS) -lm
- dfbtest_gl3_SOURCES = dfbtest_gl3.c
- dfbtest_gl3_CFLAGS = $(GLES2_CFLAGS)
--dfbtest_gl3_LDADD = $(libdirectfb) $(libvoodoo) $(libfusion) $(libdirect) $(GLES2_LIBS)
-+dfbtest_gl3_LDADD = $(libdirectfb) $(libvoodoo) $(libfusion) $(libdirect) $(GLES2_LIBS) -lm
- dfbtest_mirror_SOURCES = dfbtest_mirror.c
- dfbtest_mirror_LDADD = $(libdirectfb) $(libvoodoo) $(libfusion) $(libdirect)
- dfbtest_reinit_SOURCES = dfbtest_reinit.c
index 259421ac68656991734018e0feb416de5353bf83..8a45334595967a314f3ed22ccf78c590594e1053 100644 (file)
@@ -4,7 +4,7 @@
 ###############################################################################
 
 name       = dma
-version    = 0.10
+version    = 0.13
 release    = 1
 
 groups     = Mail
@@ -21,6 +21,8 @@ description
        SMTP authentication.
 end
 
+source_dl  = https://github.com/corecode/dma/archive/v%{version}.tar.gz#/
+
 build
        requires
                bison
@@ -34,10 +36,13 @@ build
        make_build_targets += LEX="flex -l"
 
        make_install_targets += PREFIX=%{prefix} \
-               sendmail-link mailq-link install-spool-dirs install-etc
+               sendmail-link mailq-link install-etc
 
        install_cmds
                install -m 755 %{DIR_SOURCE}/dma-cleanup-spool %{BUILDROOT}%{sbindir}
+
+               # Set corret ownwership.
+               chown root:root %{BUILDROOT}%{sbindir}/dma
        end
 end
 
index 27eee5d145d216800c08498a43703bacd3fcc2bc..e4e37cbf5677f7b54fb72b8a5a9e3d837051efb5 100644 (file)
@@ -4,7 +4,7 @@
 ###############################################################################
 
 name       = dmidecode
-version    = 3.2
+version    = 3.3
 release    = 1
 
 groups     = Applications/System
diff --git a/dmidecode/patches/dmidecode-3.3-fix_crash_with_u_option.patch b/dmidecode/patches/dmidecode-3.3-fix_crash_with_u_option.patch
new file mode 100644 (file)
index 0000000..497768a
--- /dev/null
@@ -0,0 +1,34 @@
+From 11e134e54d15e67a64c39a623f492a28df922517 Mon Sep 17 00:00:00 2001
+From: Jean Delvare <jdelvare@suse.de>
+Date: Tue, 19 Jan 2021 16:26:01 +0100
+Subject: dmidecode: Fix crash with -u option
+
+A segmentation fault was reported with option -u. Turns out to be a
+stupid thinko where the buffer offset was reset at the wrong loop
+depth.
+
+Reported-by: Jerry Hoemann <jerry.hoemann@hpe.com>
+Fixes: da06888d08b9 ("dmidecode: Use the print helpers in dump mode too")
+Signed-off-by: Jean Delvare <jdelvare@suse.de>
+---
+ dmidecode.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/dmidecode.c b/dmidecode.c
+index 572cb1a..69ea0e8 100644
+--- a/dmidecode.c
++++ b/dmidecode.c
+@@ -248,9 +248,9 @@ static void dmi_dump(const struct dmi_header *h)
+                       {
+                               int j, l = strlen(s) + 1;
+-                              off = 0;
+                               for (row = 0; row < ((l - 1) >> 4) + 1; row++)
+                               {
++                                      off = 0;
+                                       for (j = 0; j < 16 && j < l - (row << 4); j++)
+                                               off += sprintf(raw_data + off,
+                                                      j ? " %02X" : "%02X",
+-- 
+cgit v1.2.1
+
diff --git a/dmidecode/patches/dmidecode-3.3-fix_the_condition_error_in_ascii_filter.patch b/dmidecode/patches/dmidecode-3.3-fix_the_condition_error_in_ascii_filter.patch
new file mode 100644 (file)
index 0000000..e5f99b4
--- /dev/null
@@ -0,0 +1,30 @@
+From 1117390ccd9cea139638db6f460bb6de70e28f94 Mon Sep 17 00:00:00 2001
+From: Tianjia Zhang <tianjia.zhang@linux.alibaba.com>
+Date: Tue, 5 Jan 2021 10:36:29 +0100
+Subject: dmidecode: Fix the condition error in ascii_filter
+
+The normal printable ASCII range is 32 to 127 (not included),
+so fix the error in this if condition.
+
+Signed-off-by: Tianjia Zhang <tianjia.zhang@linux.alibaba.com>
+Signed-off-by: Jean Delvare <jdelvare@suse.de>
+---
+ dmidecode.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/dmidecode.c b/dmidecode.c
+index 27d5494..864a193 100644
+--- a/dmidecode.c
++++ b/dmidecode.c
+@@ -116,7 +116,7 @@ static void ascii_filter(char *bp, size_t len)
+       size_t i;
+       for (i = 0; i < len; i++)
+-              if (bp[i] < 32 || bp[i] == 127)
++              if (bp[i] < 32 || bp[i] >= 127)
+                       bp[i] = '.';
+ }
+-- 
+cgit v1.2.1
+
diff --git a/dmraid/dmraid.nm b/dmraid/dmraid.nm
deleted file mode 100644 (file)
index 5581d03..0000000
+++ /dev/null
@@ -1,71 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = dmraid
-version    = 1.0.0.rc16
-release    = 1
-
-groups     = System/Filesystems
-url        = http://people.redhat.com/heinzm/sw/dmraid
-license    = GPLv2+
-summary    = Device-mapper RAID tool and library.
-
-description
-       DMRAID supports RAID device discovery, RAID set activation, creation,
-       removal, rebuild and display of properties for ATARAID/DDF1 metadata on
-       Linux >= 2.4 using device-mapper.
-end
-
-source_dl  = http://people.redhat.com/heinzm/sw/dmraid/src/old/
-sources    = %{thisapp}.tar.bz2
-
-build
-       requires
-               libdevmapper-devel >= 2.02.166
-       end
-
-       DIR_APP = %{DIR_SRC}/%{name}/%{version}
-       PARALLELISMFLAGS = # Disabled
-
-       make_install_targets += sbindir=%{BUILDROOT}%{sbindir}
-
-       configure_options += \
-               --disable-static \
-               --disable-static_link
-
-       # Dmraid doesn't automatically build and install a versioned library
-       # so we do it on or own.
-       build_cmds
-               make -C lib libdmraid.so
-       end
-
-       test
-               # Package does not offer any kind of testsuite.
-       end
-
-       install_cmds
-               # Install development headers.
-               mkdir -pv %{BUILDROOT}%{includedir}/dmraid
-               install -m 644 include/dmraid/*.h %{BUILDROOT}%{includedir}/dmraid/
-
-               # Manually install versioned library and create symlinks.
-               mkdir -pv %{BUILDROOT}%{libdir}
-               install -m 755 lib/libdmraid.so %{BUILDROOT}%{libdir}/libdmraid.so.%{version}
-               ln -sv libdmraid.so.%{version} %{BUILDROOT}%{libdir}/libdmraid.so.1
-               ln -sv libdmraid.so.%{version} %{BUILDROOT}%{libdir}/libdmraid.so
-       end
-end
-
-packages
-       package %{name}
-
-       package %{name}-devel
-               template DEVEL
-       end
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
index b835a962b1baad9db1cc21bf19b9e95eddc7b347..af4a315df8413d1bcb9789a471c733222f566f42 100644 (file)
@@ -6,10 +6,9 @@
 name       = docbook-dsssl
 version    = 1.79
 release    = 2
-arch       = noarch
 
 groups     = Applications/Text
-url        = http://docbook.sourceforge.net/
+url        = https://docbook.sourceforge.net/
 license    = GPLv2+
 summary    = The DocBook DSSSL Stylesheets package contains DSSSL stylesheets.
 
@@ -18,9 +17,11 @@ description
        are used by OpenJade or other tools to transform SGML and XML DocBook files.
 end
 
-source_dl = http://prdownloads.sourceforge.net/docbook/
+source_dl = https://prdownloads.sourceforge.net/docbook/
 
 build
+       arches = noarch
+
        requires
                sgml-common
        end
index eaf363c21e9ee4a40e35ee461ac665c8163cbf39..35002883a39a42f85fef65224d51b99f96c9de59 100644 (file)
@@ -5,11 +5,10 @@
 
 name       = docbook-dtds
 version    = 1.0
-release    = 6
-arch       = noarch
+release    = 7
 
 groups     = Applications/Text
-url        = http://www.oasis-open.org/docbook/
+url        = https://www.oasis-open.org/docbook/
 license    = Copyright only
 summary    = SGML and XML document type definitions for DocBook.
 
@@ -52,6 +51,8 @@ directories = \
        4.5-xml
 
 build
+       arches = noarch
+
        requires
                dos2unix
                unzip>=6.0-3
@@ -106,11 +107,11 @@ build
                                DESTDIR=%{BUILDROOT}/usr/share/sgml/docbook/$fmt-dtd-$ver
                        mkdir -pv $DESTDIR
                        case $fmt in
-                               sgml)   mkdir -pv $DESTDIR; install -v *.dcl $DESTDIR ;;
-                               xml)    mkdir -pv $DESTDIR/ent; install -v ent/* $DESTDIR/ent ;;
+                               sgml)   mkdir -pv $DESTDIR; install -v -m 644 *.dcl $DESTDIR ;;
+                               xml)    mkdir -pv $DESTDIR/ent; install -v -m 644 ent/* $DESTDIR/ent ;;
                        esac
-                       install -v *.dtd *.mod $DESTDIR
-                       install -v docbook.cat $DESTDIR/catalog
+                       install -v -m 644 *.dtd *.mod $DESTDIR
+                       install -v -m 644 docbook.cat $DESTDIR/catalog
                        touch %{BUILDROOT}/etc/sgml/${dir#*-}-docbook-$ver.cat
                done
        end
index 9790d5ac1667a246f0a3e78a2f925a82e0e7e171..b97c93ba81c08d2285d4ba83f001adbc65e28551 100644 (file)
@@ -5,7 +5,7 @@
 
 name       = docbook-utils
 version    = 0.6.14
-release    = 2
+release    = 3
 
 groups     = Applications/Text
 url        = http://sources.redhat.com/docbook-tools/
@@ -39,7 +39,12 @@ build
 
        configure_options += \
                --libdir=%{libdir} \
-               --mandir=/usr/share/man
+               --mandir=%{mandir}
+
+       install_cmds
+               # Drop unneeded and wrongly installed HTML documentation.
+               rm -rvf %{BUILDROOT}%{prefix}/doc
+       end
 end
 
 packages
diff --git a/docbook-xsl/Makefile b/docbook-xsl/Makefile
deleted file mode 100644 (file)
index 281656d..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-BINDIR = /usr/bin
-DESTDIR = ..overridden in spec file..
-
-all: install
-
-install: install-xsl install-img install-extensions install-misc install-epub
-
-install-xsl:
-       mkdir -p $(DESTDIR)/{common,eclipse,fo,html,htmlhelp/doc,javahelp,lib,template,xhtml,xhtml-1_1,manpages,profiling,highlighting,roundtrip,website}
-       cp common/*.dtd $(DESTDIR)/common
-       cp common/*.ent $(DESTDIR)/common
-       cp common/*.xml $(DESTDIR)/common
-       cp common/*.xsl $(DESTDIR)/common
-       cp eclipse/*.xsl $(DESTDIR)/eclipse
-       cp fo/*.xml $(DESTDIR)/fo
-       cp fo/*.xsl $(DESTDIR)/fo
-       cp html/*.xml $(DESTDIR)/html
-       cp html/*.xsl $(DESTDIR)/html
-       cp htmlhelp/*.xsl $(DESTDIR)/htmlhelp
-       cp javahelp/*.xsl $(DESTDIR)/javahelp
-       cp lib/*.xsl $(DESTDIR)/lib
-       cp template/*.xsl $(DESTDIR)/template
-       cp xhtml/*.xsl $(DESTDIR)/xhtml
-       cp xhtml-1_1/*.xsl $(DESTDIR)/xhtml-1_1
-       cp manpages/*.xsl $(DESTDIR)/manpages
-       cp profiling/*.xsl $(DESTDIR)/profiling
-       cp highlighting/*.xml $(DESTDIR)/highlighting
-       cp highlighting/*.xsl $(DESTDIR)/highlighting
-       cp roundtrip/*.xml $(DESTDIR)/roundtrip
-       cp roundtrip/*.xsl $(DESTDIR)/roundtrip
-       cp roundtrip/*.dtd $(DESTDIR)/roundtrip
-       cp website/*.xsl $(DESTDIR)/website
-
-install-img:
-       mkdir -p $(DESTDIR)/images/callouts
-       cp images/*.gif $(DESTDIR)/images
-       cp images/*.png $(DESTDIR)/images
-       cp images/*.svg $(DESTDIR)/images
-       cp images/callouts/*.png $(DESTDIR)/images/callouts
-       cp images/callouts/*.gif $(DESTDIR)/images/callouts
-       cp images/callouts/*.svg $(DESTDIR)/images/callouts
-
-install-extensions:
-       mkdir -p $(DESTDIR)/extensions
-       cp -r extensions/* $(DESTDIR)/extensions
-
-install-epub:
-       mkdir -p $(DESTDIR)/epub
-       cp -r epub/* ${DESTDIR}/epub
-
-install-misc:
-       cp VERSION $(DESTDIR)
index 028fdc8b632f258e6314d2bc5ef08fbe594641bb..988181f229487f5494d9847de46862ea104bc0e8 100644 (file)
@@ -4,12 +4,11 @@
 ###############################################################################
 
 name       = docbook-xsl
-version    = 1.76.1
+version    = 1.79.2
 release    = 3
-arch       = noarch
 
 groups     = Applications/Text
-url        = http://docbook.sourceforge.net/projects/xsl/
+url        = https://docbook.sourceforge.net/projects/xsl/
 license    = GPLv2+
 summary    = Norman Walsh's XSL stylesheets for DocBook XML.
 
@@ -18,29 +17,44 @@ description
        other formats, such as HTML, FO, and XHMTL.  They are highly customizable.
 end
 
-source_dl = http://prdownloads.sourceforge.net/docbook/
+source_dl = https://github.com/docbook/xslt10-stylesheets/releases/download/release/%{version}/
 
-sources =\
-       %{thisapp}.tar.bz2 \
-       %{name}-doc-%{version}.tar.bz2
+sources = %{thisapp}.tar.bz2
 
 build
-       prepare_cmds
-               cp -av %{DIR_SOURCE}/Makefile %{DIR_APP}/Makefile
+       arches = noarch
+
+       build
+               # Nothing to do.
        end
 
-       build = # empty
+       install
+               # Create directory layout.
+               mkdir -pv %{BUILDROOT}/%{datadir}/sgml/docbook/xsl-ns-stylesheets-%{version}
+
+               # Install catalog files.
+               cp -avf [[:lower:]]* %{BUILDROOT}/%{datadir}/sgml/docbook/xsl-ns-stylesheets-%{version}/
+               cp -avf VERSION %{BUILDROOT}/%{datadir}/sgml/docbook/xsl-ns-stylesheets-%{version}/VERSION.xsl
+
+               ln -svf VERSION.xsl \
+                       %{BUILDROOT}/%{datadir}/sgml/docbook/xsl-ns-stylesheets-%{version}/VERSION
+               ln -svf xsl-ns-stylesheets-%{version} \
+                       %{BUILDROOT}/%{datadir}/sgml/docbook/xsl-ns-stylesheets
 
-       make_install_targets +=\
-               BINDIR=%{BUILDROOT}/usr/bin \
-               DESTDIR=%{BUILDROOT}/usr/share/sgml/docbook/xsl-stylesheets-%{version}
+               # Don't ship install shell script.
+               rm -rvf %{BUILDROOT}/%{datadir}/sgml/docbook/xsl-ns-stylesheets/install.sh
 
-       install_cmds
                # Remove buggy extensions.
-               rm -rfv %{BUILDROOT}/usr/share/sgml/docbook/xsl-stylesheets-%{version}/extensions/*
+               rm -rfv %{BUILDROOT}/%{datadir}/sgml/docbook/xsl-stylesheets-%{version}/extensions/*
 
                # Remove unneeded tool for .epub formats.
-               rm -rvf %{BUILDROOT}/usr/share/sgml/docbook/xsl-stylesheets-%{version}/epub
+               rm -rvf %{BUILDROOT}/%{datadir}/sgml/docbook/xsl-stylesheets-%{version}/epub
+
+               # Fix directory permissions.
+               find %{BUILDROOT}%{datadir} -type d -exec chmod 755 {} \;
+
+               # Fix file permissions.
+               find %{BUILDROOT}%{datadir} -type f -exec chmod 644 {} \;
        end
 end
 
@@ -62,25 +76,33 @@ packages
                        # Install catalog files.
                        /usr/bin/xmlcatalog --noout --add "rewriteSystem" \
                                "http://docbook.sourceforge.net/release/xsl/%{version}" \
-                               "file:///usr/share/sgml/docbook/xsl-stylesheets-%{version}" /etc/xml/catalog
+                               "file:///usr/share/sgml/docbook/xsl-ns-stylesheets-%{version}" /etc/xml/catalog
 
                        /usr/bin/xmlcatalog --noout --add "rewriteURI" \
                                "http://docbook.sourceforge.net/release/xsl/%{version}" \
-                               "file:///usr/share/sgml/docbook/xsl-stylesheets-%{version}" /etc/xml/catalog
+                               "file:///usr/share/sgml/docbook/xsl-ns-stylesheets-%{version}" /etc/xml/catalog
 
                        /usr/bin/xmlcatalog --noout --add "rewriteSystem" \
                                "http://docbook.sourceforge.net/release/xsl/current" \
-                               "file:///usr/share/sgml/docbook/xsl-stylesheets-%{version}" /etc/xml/catalog
+                               "file:///usr/share/sgml/docbook/xsl-ns-stylesheets-%{version}" /etc/xml/catalog
 
                        /usr/bin/xmlcatalog --noout --add "rewriteURI" \
                                "http://docbook.sourceforge.net/release/xsl/current" \
-                               "file:///usr/share/sgml/docbook/xsl-stylesheets-%{version}" /etc/xml/catalog
+                               "file:///usr/share/sgml/docbook/xsl-ns-stylesheets-%{version}" /etc/xml/catalog
+
+                       /usr/bin/xmlcatalog --noout --add "rewriteSystem" \
+                               "http://docbook.sourceforge.net/release/xsl-ns/current" \
+                               "file:///usr/share/sgml/docbook/xsl-ns-stylesheets-%{version}" /etc/xml/catalog
+
+                       /usr/bin/xmlcatalog --noout --add "rewriteURI" \
+                               "http://docbook.sourceforge.net/release/xsl-ns/current" \
+                               "file:///usr/share/sgml/docbook/xsl-ns-stylesheets-%{version}" /etc/xml/catalog
                end
 
                script preun
                        # Uninstall catalog files.
                        /usr/bin/xmlcatalog --noout --del \
-                               "file:///usr/share/sgml/docbook/xsl-stylesheets-%{version}" /etc/xml/catalog
+                               "file:///usr/share/sgml/docbook/xsl-ns-stylesheets-%{version}" /etc/xml/catalog
                end
        end
 end
diff --git a/docbook-xsl/patches/765567_non-recursive_string_subst.patch2 b/docbook-xsl/patches/765567_non-recursive_string_subst.patch2
new file mode 100644 (file)
index 0000000..ae845ad
--- /dev/null
@@ -0,0 +1,32 @@
+Description: use EXSLT "replace" function when available
+ A recursive implementation  of string.subst is problematic,
+ long strings with many matches will cause stack overflows.
+Author: Peter De Wachter <pdewacht@gmail.com>
+Bug-Debian: https://bugs.debian.org/750593
+
+--- docbook-xsl-1.78.1+dfsg.orig/docbook-xsl/lib/lib.xsl
++++ docbook-xsl-1.78.1+dfsg/docbook-xsl/lib/lib.xsl
+@@ -6,7 +6,11 @@
+      This module implements DTD-independent functions
+-     ******************************************************************** --><xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
++     ******************************************************************** -->
++<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
++                xmlns:str="http://exslt.org/strings"
++                exclude-result-prefixes="str"
++                version="1.0">
+ <xsl:template name="dot.count">
+   <!-- Returns the number of "." characters in a string -->
+@@ -52,6 +56,9 @@
+   <xsl:param name="replacement"/>
+   <xsl:choose>
++    <xsl:when test="function-available('str:replace')">
++      <xsl:value-of select="str:replace($string, string($target), string($replacement))"/>
++    </xsl:when>
+     <xsl:when test="contains($string, $target)">
+       <xsl:variable name="rest">
+         <xsl:call-template name="string.subst">
+
diff --git a/docbook-xsl/patches/docbook-xsl-list-item-body.patch b/docbook-xsl/patches/docbook-xsl-list-item-body.patch
deleted file mode 100644 (file)
index a3d3819..0000000
+++ /dev/null
@@ -1,110 +0,0 @@
-diff -ruNp docbook-xsl-1.74.0.orig/fo/lists.xsl docbook-xsl-1.74.0/fo/lists.xsl
---- docbook-xsl-1.74.0.orig/fo/lists.xsl       2008-08-06 13:32:46.000000000 +0200
-+++ docbook-xsl-1.74.0/fo/lists.xsl    2008-08-06 13:41:27.000000000 +0200
-@@ -248,9 +248,17 @@
-       </fo:block>
-     </fo:list-item-label>
-     <fo:list-item-body start-indent="body-start()">
--      <fo:block>
--        <xsl:apply-templates/>
--      </fo:block>
-+      <xsl:choose>
-+        <!-- * work around broken passivetex list-item-body rendering -->
-+        <xsl:when test="$passivetex.extensions = '1'">
-+          <xsl:apply-templates/>
-+        </xsl:when>
-+        <xsl:otherwise>
-+          <fo:block>
-+            <xsl:apply-templates/>
-+          </fo:block>
-+        </xsl:otherwise>
-+      </xsl:choose>
-     </fo:list-item-body>
-   </xsl:variable>
-@@ -446,10 +454,18 @@
-       </fo:block>
-     </fo:list-item-label>
-     <fo:list-item-body start-indent="body-start()">
--      <fo:block>
--        <xsl:apply-templates select="listitem"/>
--      </fo:block>
--    </fo:list-item-body>
-+      <xsl:choose>
-+        <!-- * work around broken passivetex list-item-body rendering -->
-+        <xsl:when test="$passivetex.extensions = '1'">
-+          <xsl:apply-templates select="listitem"/>
-+        </xsl:when>
-+        <xsl:otherwise>
-+          <fo:block>
-+            <xsl:apply-templates select="listitem"/>
-+          </fo:block>
-+        </xsl:otherwise>
-+      </xsl:choose>
-+     </fo:list-item-body>
-   </xsl:variable>
-   <xsl:choose>
-@@ -925,9 +941,17 @@
-       </fo:block>
-     </fo:list-item-label>
-     <fo:list-item-body start-indent="body-start()">
--      <fo:block>
--        <xsl:apply-templates/>
--      </fo:block>
-+      <xsl:choose>
-+        <!-- * work around broken passivetex list-item-body rendering -->
-+        <xsl:when test="$passivetex.extensions = '1'">
-+          <xsl:apply-templates/>
-+        </xsl:when>
-+        <xsl:otherwise>
-+          <fo:block>
-+            <xsl:apply-templates/>
-+          </fo:block>
-+        </xsl:otherwise>
-+      </xsl:choose>
-     </fo:list-item-body>
-   </fo:list-item>
- </xsl:template>
-@@ -951,9 +975,17 @@
-       </fo:block>
-     </fo:list-item-label>
-     <fo:list-item-body start-indent="body-start()">
--      <fo:block>
--        <xsl:apply-templates/>
--      </fo:block>
-+      <xsl:choose>
-+        <!-- * work around broken passivetex list-item-body rendering -->
-+        <xsl:when test="$passivetex.extensions = '1'">
-+          <xsl:apply-templates/>
-+        </xsl:when>
-+        <xsl:otherwise>
-+          <fo:block>
-+            <xsl:apply-templates/>
-+          </fo:block>
-+        </xsl:otherwise>
-+      </xsl:choose>
-     </fo:list-item-body>
-   </fo:list-item>
- </xsl:template>
-@@ -1141,9 +1173,17 @@
-       </fo:block>
-     </fo:list-item-label>
-     <fo:list-item-body start-indent="body-start()">
--      <fo:block>
--        <xsl:apply-templates/>
--      </fo:block>
-+      <xsl:choose>
-+        <!-- * work around broken passivetex list-item-body rendering -->
-+        <xsl:when test="$passivetex.extensions = '1'">
-+          <xsl:apply-templates/>
-+        </xsl:when>
-+        <xsl:otherwise>
-+          <fo:block>
-+            <xsl:apply-templates/>
-+          </fo:block>
-+        </xsl:otherwise>
-+      </xsl:choose>
-     </fo:list-item-body>
-   </fo:list-item>
- </xsl:template>
diff --git a/docbook-xsl/patches/docbook-xsl-mandir.patch b/docbook-xsl/patches/docbook-xsl-mandir.patch
deleted file mode 100644 (file)
index d2c5a7e..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-diff -urNp docbook-xsl-1.76.1-orig/manpages/other.xsl docbook-xsl-1.76.1/manpages/other.xsl
---- docbook-xsl-1.76.1-orig/manpages/other.xsl 2010-08-27 05:14:52.000000000 +0200
-+++ docbook-xsl-1.76.1/manpages/other.xsl      2011-09-06 17:17:07.973737258 +0200
-@@ -595,7 +595,14 @@ manvolnum
-           <xsl:with-param name="message-prolog">Note: </xsl:with-param>
-           <xsl:with-param name="message-epilog"> (soelim stub)</xsl:with-param>
-           <xsl:with-param name="content">
--            <xsl:value-of select="'.so '"/>
-+            <xsl:choose>
-+              <xsl:when test="$man.output.in.separate.dir = 0">
-+              <xsl:value-of select="concat('.so man', $section, '/')"/>
-+              </xsl:when>
-+              <xsl:otherwise>
-+              <xsl:value-of select="'.so '"/> <!-- added case -->
-+              </xsl:otherwise>
-+              </xsl:choose>
-             <xsl:call-template name="make.adjusted.man.filename">
-               <xsl:with-param name="name" select="$first.refname"/>
-               <xsl:with-param name="section" select="$section"/>
diff --git a/docbook-xsl/patches/docbook-xsl-marginleft.patch b/docbook-xsl/patches/docbook-xsl-marginleft.patch
deleted file mode 100644 (file)
index 31c1b84..0000000
+++ /dev/null
@@ -1,100 +0,0 @@
-diff -ruNp docbook-xsl-1.74.0.orig/fo/lists.xsl docbook-xsl-1.74.0/fo/lists.xsl
---- docbook-xsl-1.74.0.orig/fo/lists.xsl       2008-06-01 23:36:39.000000000 +0200
-+++ docbook-xsl-1.74.0/fo/lists.xsl    2008-08-06 13:32:46.000000000 +0200
-@@ -324,7 +324,7 @@
-       </xsl:when>
-       <xsl:when test="@termlength">
-         <xsl:variable name="termlength.is.number">
--          <xsl:value-of select="@termlength + 0"/>
-+          <xsl:value-of select="@termlength"/>
-         </xsl:variable>
-         <xsl:choose>
-           <xsl:when test="string($termlength.is.number) = 'NaN'">
-@@ -333,15 +333,7 @@
-           </xsl:when>
-           <xsl:otherwise>
-             <xsl:value-of select="@termlength"/>
--            <xsl:choose>
--              <!-- workaround for passivetex lack of support for non-constant expressions -->
--              <xsl:when test="$passivetex.extensions != 0">
--                <xsl:text>em</xsl:text>
--              </xsl:when>
--              <xsl:otherwise>
--                <xsl:text>em * 0.60</xsl:text>
--              </xsl:otherwise>
--            </xsl:choose>
-+            <xsl:text>em</xsl:text>
-           </xsl:otherwise>
-         </xsl:choose>
-       </xsl:when>
-@@ -350,15 +342,7 @@
-           <xsl:with-param name="terms" select="varlistentry/term"/>
-           <xsl:with-param name="maxlength" select="$variablelist.max.termlength"/>
-         </xsl:call-template>
--        <xsl:choose>
--          <!-- workaround for passivetex lack of support for non-constant expressions -->
--          <xsl:when test="$passivetex.extensions != 0">
--            <xsl:text>em</xsl:text>
--          </xsl:when>
--          <xsl:otherwise>
--            <xsl:text>em * 0.60</xsl:text>
--          </xsl:otherwise>
--        </xsl:choose>
-+        <xsl:text>em</xsl:text>
-       </xsl:otherwise>
-     </xsl:choose>
-   </xsl:variable>
-@@ -372,17 +356,7 @@
-   <xsl:variable name="label-separation">1em</xsl:variable>
-   <xsl:variable name="distance-between-starts">
--    <xsl:choose>
--      <!-- workaround for passivetex lack of support for non-constant expressions -->
--      <xsl:when test="$passivetex.extensions != 0">
--        <xsl:value-of select="$termlength"/>
--      </xsl:when>
--      <xsl:otherwise>
--        <xsl:value-of select="$termlength"/>
--        <xsl:text>+</xsl:text>
--        <xsl:value-of select="$label-separation"/>
--      </xsl:otherwise>
--    </xsl:choose>
-+    <xsl:value-of select="$termlength"/>
-   </xsl:variable>
-   <xsl:if test="title">
-diff -ruNp docbook-xsl-1.74.0.orig/fo/param.xsl docbook-xsl-1.74.0/fo/param.xsl
---- docbook-xsl-1.74.0.orig/fo/param.xsl       2008-06-02 01:06:18.000000000 +0200
-+++ docbook-xsl-1.74.0/fo/param.xsl    2008-08-06 13:32:46.000000000 +0200
-@@ -133,8 +133,8 @@
- <xsl:attribute-set name="component.title.properties">
-   <xsl:attribute name="keep-with-next.within-column">always</xsl:attribute>
-   <xsl:attribute name="space-before.optimum"><xsl:value-of select="concat($body.font.master, 'pt')"/></xsl:attribute>
--  <xsl:attribute name="space-before.minimum"><xsl:value-of select="concat($body.font.master, 'pt * 0.8')"/></xsl:attribute>
--  <xsl:attribute name="space-before.maximum"><xsl:value-of select="concat($body.font.master, 'pt * 1.2')"/></xsl:attribute>
-+  <xsl:attribute name="space-before.minimum"><xsl:value-of select="concat($body.font.master*0.8, 'pt')"/></xsl:attribute>
-+  <xsl:attribute name="space-before.maximum"><xsl:value-of select="concat($body.font.master*1.2, 'pt')"/></xsl:attribute>
-   <xsl:attribute name="hyphenate">false</xsl:attribute>
-   <xsl:attribute name="text-align">
-     <xsl:choose>
-diff -urNp docbook-xsl-1.75.0-orig/fo/pagesetup.xsl docbook-xsl-1.75.0/fo/pagesetup.xsl
---- docbook-xsl-1.75.0-orig/fo/pagesetup.xsl   2009-05-11 11:40:49.000000000 +0200
-+++ docbook-xsl-1.75.0/fo/pagesetup.xsl        2009-05-11 11:42:29.000000000 +0200
-@@ -30,16 +30,7 @@
- </xsl:param>
- <xsl:param name="margin.left.inner">
--  <xsl:choose>
--    <xsl:when test="$passivetex.extensions != 0">
--      <xsl:value-of select="$page.margin.inner"/>
--    </xsl:when>
--    <xsl:otherwise>
--      <xsl:value-of select="$page.margin.inner"/>
--      <xsl:text> - </xsl:text>
--      <xsl:value-of select="$title.margin.left"/>
--    </xsl:otherwise>
--  </xsl:choose>
-+  <xsl:value-of select="$page.margin.inner"/>
- </xsl:param>
- <xsl:template name="setup.pagemasters">
diff --git a/docbook-xsl/patches/docbook-xsl-newmethods.patch b/docbook-xsl/patches/docbook-xsl-newmethods.patch
deleted file mode 100644 (file)
index debc51b..0000000
+++ /dev/null
@@ -1,394 +0,0 @@
-diff -ruNp docbook-xsl-1.74.0.orig/html/docbook.xsl docbook-xsl-1.74.0/html/docbook.xsl
---- docbook-xsl-1.74.0.orig/html/docbook.xsl   2008-06-01 23:36:39.000000000 +0200
-+++ docbook-xsl-1.74.0/html/docbook.xsl        2008-08-06 13:37:35.000000000 +0200
-@@ -26,6 +26,7 @@
- <xsl:include href="../VERSION"/>
- <xsl:include href="param.xsl"/>
- <xsl:include href="../lib/lib.xsl"/>
-+<xsl:include href="../lib/dumpfragment.xsl"/>
- <xsl:include href="../common/l10n.xsl"/>
- <xsl:include href="../common/common.xsl"/>
- <xsl:include href="../common/utility.xsl"/>
-@@ -44,6 +45,7 @@
- <xsl:include href="graphics.xsl"/>
- <xsl:include href="xref.xsl"/>
- <xsl:include href="formal.xsl"/>
-+<xsl:include href="dtbl.xsl"/>
- <xsl:include href="table.xsl"/>
- <xsl:include href="htmltbl.xsl"/>
- <xsl:include href="sections.xsl"/>
-diff -ruNp docbook-xsl-1.74.0.orig/html/dtbl.xsl docbook-xsl-1.74.0/html/dtbl.xsl
---- docbook-xsl-1.74.0.orig/html/dtbl.xsl      1970-01-01 01:00:00.000000000 +0100
-+++ docbook-xsl-1.74.0/html/dtbl.xsl   2008-08-06 13:37:35.000000000 +0200
-@@ -0,0 +1,293 @@
-+<?xml version="1.0" encoding="US-ASCII"?>
-+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-+                xmlns:exsl="http://exslt.org/common"
-+                xmlns:func="http://exslt.org/functions"
-+                xmlns:dtbl="http://docbook.sourceforge.net/dtbl"
-+                extension-element-prefixes="func"
-+                exclude-result-prefixes="exsl func dtbl"
-+                version="1.0">
-+
-+<func:function name="dtbl:convertLength">
-+  <xsl:param name="arbitrary.length"/>
-+
-+  <xsl:variable name="pixels.per.inch" select="96"/>
-+
-+  <xsl:variable name="unscaled.length"
-+                select="translate($arbitrary.length, 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz ', '')"/>
-+
-+  <xsl:variable name="units"
-+                select="translate($arbitrary.length,'+-0123456789. ', '')"/>
-+
-+  <xsl:variable name="scaled.length">
-+    <xsl:choose>
-+      <xsl:when test="$units='in'">
-+        <xsl:value-of select="$unscaled.length * $pixels.per.inch"/>
-+      </xsl:when>
-+      <xsl:when test="$units='cm'">
-+        <xsl:value-of select="$unscaled.length * ($pixels.per.inch div 2.54)"/>
-+      </xsl:when>
-+      <xsl:when test="$units='mm'">
-+        <xsl:value-of select="$unscaled.length * ($pixels.per.inch div 25.4)"/>
-+      </xsl:when>
-+      <xsl:when test="$units='pc'">
-+        <xsl:value-of select="$unscaled.length * (($pixels.per.inch div 72) * 12)"/>
-+      </xsl:when>
-+      <xsl:when test="$units='pt'">
-+        <xsl:value-of select="$unscaled.length * ($pixels.per.inch div 72)"/>
-+      </xsl:when>
-+      <xsl:when test="$units='px' or $units=''">
-+        <xsl:value-of select="$unscaled.length"/>
-+      </xsl:when>
-+      <xsl:otherwise>
-+        <xsl:message terminate="no">
-+          <xsl:text>"</xsl:text>
-+          <xsl:value-of select="$units"/>
-+          <xsl:text>" is not a known unit.  Applying scaling factor of 1 instead.</xsl:text>
-+        </xsl:message>
-+        <xsl:value-of select="$unscaled.length"/>
-+      </xsl:otherwise>
-+    </xsl:choose>
-+  </xsl:variable>
-+
-+  <func:result select="round($scaled.length)"/>
-+</func:function>
-+
-+<func:function name="dtbl:adjustColumnWidths">
-+  <xsl:param name="colgroup"/>
-+
-+  <xsl:if test="$adjustColumnWidths.debug">
-+    <xsl:message>
-+      <xsl:text>entering adjustColumnWidths(</xsl:text>
-+      <xsl:call-template name="dump-fragment">
-+        <xsl:with-param name="fragment" select="$colgroup"/>
-+      </xsl:call-template>
-+      <xsl:text>)</xsl:text>
-+    </xsl:message>
-+  </xsl:if>
-+
-+  <xsl:variable name="expanded.colgroup">
-+    <xsl:apply-templates select="exsl:node-set($colgroup)/*" mode="dtbl-split-widths"/>
-+  </xsl:variable>
-+
-+  <xsl:variable name="absolute.widths.total">
-+    <xsl:value-of select="sum(exsl:node-set($expanded.colgroup)//col/@abswidth)"/>
-+  </xsl:variable>
-+
-+  <xsl:variable name="relative.widths.total">
-+    <xsl:value-of select="sum(exsl:node-set($expanded.colgroup)//col/@relwidth)"/>
-+  </xsl:variable>
-+
-+  <xsl:if test="$adjustColumnWidths.debug">
-+    <xsl:message>
-+      <xsl:text>total relative widths = (</xsl:text>
-+      <xsl:value-of select="$relative.widths.total"/>
-+      <xsl:text>)</xsl:text>
-+    </xsl:message>
-+    <xsl:message>
-+      <xsl:text>total absolute widths = (</xsl:text>
-+      <xsl:value-of select="$absolute.widths.total"/>
-+      <xsl:text>)</xsl:text>
-+    </xsl:message>
-+  </xsl:if>
-+
-+  <xsl:variable name="adjusted.colgroup">
-+    <xsl:choose>
-+      <xsl:when test="$relative.widths.total = 0">
-+        <xsl:if test="$adjustColumnWidths.debug">
-+          <xsl:message>all widths are absolute</xsl:message>
-+        </xsl:if>
-+        <xsl:apply-templates select="exsl:node-set($expanded.colgroup)/*"
-+                             mode="dtbl-use-absolute-widths"/>
-+      </xsl:when>
-+      <xsl:when test="$absolute.widths.total = 0">
-+        <xsl:if test="$adjustColumnWidths.debug">
-+          <xsl:message>all widths are relative</xsl:message>
-+        </xsl:if>
-+        <xsl:apply-templates select="exsl:node-set($expanded.colgroup)/*"
-+                             mode="dtbl-use-relative-widths">
-+          <xsl:with-param name="relative.widths.total"
-+                          select="$relative.widths.total"/>
-+        </xsl:apply-templates>
-+      </xsl:when>
-+    </xsl:choose>
-+  </xsl:variable>
-+
-+  <xsl:variable name="corrected.adjusted.colgroup">
-+    <xsl:choose>
-+      <xsl:when test="$relative.widths.total = 0">
-+        <xsl:copy-of select="$adjusted.colgroup"/>
-+      </xsl:when>
-+      <xsl:otherwise>
-+        <xsl:variable name="widths.total"
-+                      select="sum(exsl:node-set($adjusted.colgroup)//col/@width)"/>
-+        <xsl:variable name="n.columns"
-+                      select="count(exsl:node-set($adjusted.colgroup)//col)"/>
-+        <xsl:variable name="error"
-+                      select="100 - $widths.total"/>
-+        <xsl:variable name="first.bad.column"
-+                      select="($n.columns - $error) + 1"/>
-+        <xsl:apply-templates select="exsl:node-set($adjusted.colgroup)/*"
-+                             mode="dtbl-correct-rounding-error">
-+          <xsl:with-param name="first.bad.column"
-+                          select="$first.bad.column"/>
-+        </xsl:apply-templates>
-+      </xsl:otherwise>
-+    </xsl:choose>
-+  </xsl:variable>
-+
-+  <xsl:if test="$adjustColumnWidths.debug">
-+    <xsl:message>
-+      <xsl:text>result = (</xsl:text>
-+      <xsl:call-template name="dump-fragment">
-+        <xsl:with-param name="fragment" select="$corrected.adjusted.colgroup"/>
-+      </xsl:call-template>
-+      <xsl:text>)</xsl:text>
-+    </xsl:message>
-+  </xsl:if>
-+
-+  <func:result select="$corrected.adjusted.colgroup"/>
-+</func:function>
-+
-+<xsl:template match="colgroup" mode="dtbl-correct-rounding-error">
-+  <xsl:param name="first.bad.column"/>
-+
-+  <xsl:if test="$adjustColumnWidths.debug">
-+    <xsl:message>
-+      <xsl:text>first.bad.column = (</xsl:text>
-+      <xsl:value-of select="$first.bad.column"/>
-+      <xsl:text>)</xsl:text>
-+    </xsl:message>
-+  </xsl:if>
-+
-+  <colgroup>
-+    <xsl:for-each select="col[position() &lt; $first.bad.column]">
-+      <xsl:element name="col">
-+        <xsl:attribute name="width">
-+          <xsl:value-of select="concat(@width, '%')"/>
-+        </xsl:attribute>
-+      </xsl:element>
-+    </xsl:for-each>
-+    <xsl:for-each select="col[position() >= $first.bad.column]">
-+      <xsl:element name="col">
-+        <xsl:attribute name="width">
-+          <xsl:value-of select="concat(@width + 1, '%')"/>
-+        </xsl:attribute>
-+      </xsl:element>
-+    </xsl:for-each>
-+  </colgroup>
-+</xsl:template>
-+
-+<xsl:template match="col" mode="dtbl-correct-rounding-error">
-+  <xsl:param name="relative.widths.total"/>
-+  <xsl:param name="error"/>
-+
-+  <xsl:element name="col">
-+    <xsl:attribute name="width">
-+      <xsl:value-of select="concat('', round((@relwidth div $relative.widths.total) * 100))"/>
-+    </xsl:attribute>
-+    <xsl:apply-templates mode="dtbl-use-absolute-widths"/>
-+  </xsl:element>
-+</xsl:template>
-+
-+<xsl:template match="colgroup" mode="dtbl-use-relative-widths">
-+  <xsl:param name="relative.widths.total"/>
-+
-+  <colgroup>
-+    <xsl:apply-templates mode="dtbl-use-relative-widths">
-+      <xsl:with-param name="relative.widths.total"
-+                      select="$relative.widths.total"/>
-+    </xsl:apply-templates>
-+  </colgroup>
-+</xsl:template>
-+
-+<xsl:template match="col" mode="dtbl-use-relative-widths">
-+  <xsl:param name="relative.widths.total"/>
-+
-+  <xsl:element name="col">
-+    <xsl:attribute name="width">
-+      <xsl:value-of select="round((@relwidth div $relative.widths.total) * 100)"/>
-+    </xsl:attribute>
-+    <xsl:apply-templates mode="dtbl-use-absolute-widths"/>
-+  </xsl:element>
-+</xsl:template>
-+
-+<xsl:template match="colgroup" mode="dtbl-use-absolute-widths">
-+  <colgroup>
-+    <xsl:apply-templates mode="dtbl-use-absolute-widths"/>
-+  </colgroup>
-+</xsl:template>
-+
-+<xsl:template match="col" mode="dtbl-use-absolute-widths">
-+  <xsl:element name="col">
-+    <xsl:attribute name="width">
-+      <xsl:value-of select="@abswidth"/>
-+    </xsl:attribute>
-+    <xsl:apply-templates mode="dtbl-use-absolute-widths"/>
-+  </xsl:element>
-+</xsl:template>
-+
-+<xsl:template match="colgroup" mode="dtbl-split-widths">
-+  <colgroup>
-+    <xsl:apply-templates mode="dtbl-split-widths"/>
-+  </colgroup>
-+</xsl:template>
-+
-+<xsl:template match="col" mode="dtbl-split-widths">
-+
-+  <!-- width = @width ? @width : '1*' -->
-+  <xsl:variable name="width">
-+    <xsl:choose>
-+      <xsl:when test="@width != ''">
-+        <xsl:value-of select="@width"/>
-+      </xsl:when>
-+      <xsl:otherwise>
-+        <xsl:text>1*</xsl:text>
-+      </xsl:otherwise>
-+    </xsl:choose>
-+  </xsl:variable>
-+
-+  <!-- absolute.width = contains($width,'*') ? substring-after($width, '*') : $width -->
-+  <xsl:variable name="absolute.width">
-+    <xsl:choose>
-+      <xsl:when test="contains($width, '*')">
-+        <xsl:value-of select="substring-after($width, '*')"/>
-+      </xsl:when>
-+      <xsl:otherwise>
-+        <xsl:value-of select="$width"/>
-+      </xsl:otherwise>
-+    </xsl:choose>
-+  </xsl:variable>
-+
-+  <xsl:variable name="converted.absolute.width">
-+    <xsl:choose>
-+      <xsl:when test="$absolute.width != ''">
-+        <xsl:value-of select="dtbl:convertLength($absolute.width)"/>
-+      </xsl:when>
-+     <xsl:otherwise>0</xsl:otherwise>
-+    </xsl:choose>
-+  </xsl:variable>
-+
-+  <xsl:variable name="relative.width">
-+    <xsl:choose>
-+      <xsl:when test="substring-before($width, '*') != ''">
-+        <xsl:value-of select="substring-before($width, '*')"/>
-+      </xsl:when>
-+      <xsl:otherwise>0</xsl:otherwise>
-+    </xsl:choose>
-+  </xsl:variable>
-+
-+  <xsl:element name="col">
-+    <xsl:attribute name="width">
-+      <xsl:value-of select="$width"/>
-+    </xsl:attribute>
-+    <xsl:attribute name="relwidth">
-+      <xsl:value-of select="$relative.width"/>
-+    </xsl:attribute>
-+    <xsl:attribute name="abswidth">
-+      <xsl:value-of select="$converted.absolute.width"/>
-+    </xsl:attribute>
-+    <xsl:apply-templates mode="dtbl-split-widths"/>
-+  </xsl:element>
-+</xsl:template>
-+
-+</xsl:stylesheet>
-diff -ruNp docbook-xsl-1.74.0.orig/html/table.xsl docbook-xsl-1.74.0/html/table.xsl
---- docbook-xsl-1.74.0.orig/html/table.xsl     2008-06-01 23:36:39.000000000 +0200
-+++ docbook-xsl-1.74.0/html/table.xsl  2008-08-06 13:37:35.000000000 +0200
-@@ -5,7 +5,8 @@
-                 xmlns:xtbl="xalan://com.nwalsh.xalan.Table"
-                 xmlns:lxslt="http://xml.apache.org/xslt"
-                 xmlns:ptbl="http://nwalsh.com/xslt/ext/xsltproc/python/Table"
--                exclude-result-prefixes="doc stbl xtbl lxslt ptbl"
-+                xmlns:dtbl="http://docbook.sourceforge.net/dtbl"
-+                exclude-result-prefixes="doc stbl xtbl lxslt ptbl dtbl"
-                 version='1.0'>
- <xsl:include href="../common/table.xsl"/>
-@@ -365,6 +366,9 @@
-           <xsl:when test="$use.extensions != 0
-                           and $tablecolumns.extension != 0">
-             <xsl:choose>
-+              <xsl:when test="function-available('dtbl:convertLength')">
-+                <xsl:value-of select="dtbl:convertLength($table.width)"/>
-+              </xsl:when>
-               <xsl:when test="function-available('stbl:convertLength')">
-                 <xsl:value-of select="stbl:convertLength($table.width)"/>
-               </xsl:when>
-@@ -389,6 +393,9 @@
-       <xsl:when test="$use.extensions != 0
-                       and $tablecolumns.extension != 0">
-         <xsl:choose>
-+          <xsl:when test="function-available('dtbl:adjustColumnWidths')">
-+            <xsl:copy-of select="dtbl:adjustColumnWidths($colgroup)"/>
-+          </xsl:when>
-           <xsl:when test="function-available('stbl:adjustColumnWidths')">
-             <xsl:copy-of select="stbl:adjustColumnWidths($colgroup)"/>
-           </xsl:when>
-diff -ruNp docbook-xsl-1.74.0.orig/lib/dumpfragment.xsl docbook-xsl-1.74.0/lib/dumpfragment.xsl
---- docbook-xsl-1.74.0.orig/lib/dumpfragment.xsl       1970-01-01 01:00:00.000000000 +0100
-+++ docbook-xsl-1.74.0/lib/dumpfragment.xsl    2008-08-06 13:37:35.000000000 +0200
-@@ -0,0 +1,30 @@
-+<?xml version="1.0" encoding="US-ASCII"?>
-+<xsl:stylesheet version="1.0"
-+                xmlns:exsl="http://exslt.org/common"
-+                xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-+                xmlns="http://www.w3.org/1999/xhtml"
-+                exclude-result-prefixes="exsl">
-+
-+<xsl:template name="dump-fragment">
-+  <xsl:param name="fragment"/>
-+  <xsl:apply-templates select="exsl:node-set($fragment)/*" mode="dump-fragment"/>
-+</xsl:template>
-+
-+<xsl:template match="@*" mode="dump-fragment">
-+  <xsl:text> </xsl:text>
-+  <xsl:value-of select="local-name(.)"/>
-+  <xsl:text>="</xsl:text>
-+  <xsl:value-of select="."/>
-+  <xsl:text>"</xsl:text>
-+</xsl:template>
-+
-+<xsl:template match="*" mode="dump-fragment">
-+  <xsl:text>&lt;</xsl:text><xsl:value-of select="local-name(.)"/>
-+  <xsl:apply-templates select="@*" mode="dump-fragment"/>
-+  <xsl:text>></xsl:text>
-+  <xsl:apply-templates mode="dump-fragment"/>
-+  <xsl:text>&lt;/</xsl:text><xsl:value-of select="local-name(.)"/>
-+  <xsl:text>></xsl:text>
-+</xsl:template>
-+
-+</xsl:stylesheet>
-diff -urNp docbook-xsl-1.76.0-orig/html/param.xsl docbook-xsl-1.76.0/html/param.xsl
---- docbook-xsl-1.76.0-orig/html/param.xsl     2010-08-31 09:27:22.000000000 +0200
-+++ docbook-xsl-1.76.0/html/param.xsl  2010-09-06 11:01:07.916914161 +0200
-@@ -68,6 +68,7 @@ div.annotation-close { position: absolut
- http://docbook.sourceforge.net/release/images/annot-close.png</xsl:param>
- <xsl:param name="annotation.graphic.open">http://docbook.sourceforge.net/release/images/annot-open.png</xsl:param>
-+<xsl:param name="adjustColumnWidths.debug" select="false()"/>
- <xsl:param name="annotation.js">
- <xsl:text>http://docbook.sourceforge.net/release/script/AnchorPosition.js http://docbook.sourceforge.net/release/script/PopupWindow.js</xsl:text></xsl:param>
diff --git a/docbook-xsl/patches/docbook-xsl-non-constant-expressions.patch b/docbook-xsl/patches/docbook-xsl-non-constant-expressions.patch
deleted file mode 100644 (file)
index 0c3f6be..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-diff -ruNp docbook-xsl-1.74.0.orig/fo/param.xsl docbook-xsl-1.74.0/fo/param.xsl
---- docbook-xsl-1.74.0.orig/fo/param.xsl       2008-08-06 13:32:46.000000000 +0200
-+++ docbook-xsl-1.74.0/fo/param.xsl    2008-08-06 13:38:36.000000000 +0200
-@@ -23,8 +23,8 @@
-   <xsl:attribute name="keep-with-next.within-column">always</xsl:attribute>
-   <xsl:attribute name="keep-with-next.within-column">always</xsl:attribute>
-   <xsl:attribute name="space-before.optimum"><xsl:value-of select="concat($body.font.master, 'pt')"/></xsl:attribute>
--  <xsl:attribute name="space-before.minimum"><xsl:value-of select="concat($body.font.master, 'pt * 0.8')"/></xsl:attribute>
--  <xsl:attribute name="space-before.maximum"><xsl:value-of select="concat($body.font.master, 'pt * 1.2')"/></xsl:attribute>
-+  <xsl:attribute name="space-before.minimum"><xsl:value-of select="concat(($body.font.master * 0.8), 'pt')"/></xsl:attribute>
-+  <xsl:attribute name="space-before.maximum"><xsl:value-of select="concat(($body.font.master * 1.2), 'pt')"/></xsl:attribute>
-   <xsl:attribute name="hyphenate">false</xsl:attribute>
-   <xsl:attribute name="text-align">center</xsl:attribute>
- </xsl:attribute-set>
-@@ -334,8 +334,8 @@ set       toc,title
-   <xsl:attribute name="font-weight">bold</xsl:attribute>
-   <xsl:attribute name="keep-with-next.within-column">always</xsl:attribute>
-   <xsl:attribute name="space-before.optimum"><xsl:value-of select="concat($body.font.master,'pt')"/></xsl:attribute>
--  <xsl:attribute name="space-before.minimum"><xsl:value-of select="concat($body.font.master,'pt * 0.8')"/></xsl:attribute>
--  <xsl:attribute name="space-before.maximum"><xsl:value-of select="concat($body.font.master,'pt * 1.2')"/></xsl:attribute>
-+  <xsl:attribute name="space-before.minimum"><xsl:value-of select="concat(($body.font.master * 0.8),'pt')"/></xsl:attribute>
-+  <xsl:attribute name="space-before.maximum"><xsl:value-of select="concat(($body.font.master * 1.2),'pt')"/></xsl:attribute>
-   <xsl:attribute name="start-indent">0pt</xsl:attribute>
- </xsl:attribute-set>
- <xsl:attribute-set name="index.entry.properties">
diff --git a/docbook-xsl/patches/docbook-xsl-pagesetup.patch b/docbook-xsl/patches/docbook-xsl-pagesetup.patch
deleted file mode 100644 (file)
index e4d77ff..0000000
+++ /dev/null
@@ -1,227 +0,0 @@
-diff -ruNp docbook-xsl-1.74.0.orig/fo/pagesetup.xsl docbook-xsl-1.74.0/fo/pagesetup.xsl
---- docbook-xsl-1.74.0.orig/fo/pagesetup.xsl   2008-06-01 23:36:39.000000000 +0200
-+++ docbook-xsl-1.74.0/fo/pagesetup.xsl        2008-08-06 13:31:11.000000000 +0200
-@@ -1697,36 +1697,81 @@
-         <xsl:with-param name="gentext-key" select="$gentext-key"/>
-       </xsl:call-template>
--      <fo:table-column column-number="1">
--        <xsl:attribute name="column-width">
--          <xsl:text>proportional-column-width(</xsl:text>
--          <xsl:call-template name="header.footer.width">
--            <xsl:with-param name="location">header</xsl:with-param>
--            <xsl:with-param name="position" select="$column1"/>
--          </xsl:call-template>
--          <xsl:text>)</xsl:text>
--        </xsl:attribute>
--      </fo:table-column>
--      <fo:table-column column-number="2">
--        <xsl:attribute name="column-width">
--          <xsl:text>proportional-column-width(</xsl:text>
--          <xsl:call-template name="header.footer.width">
--            <xsl:with-param name="location">header</xsl:with-param>
--            <xsl:with-param name="position" select="2"/>
--          </xsl:call-template>
--          <xsl:text>)</xsl:text>
--        </xsl:attribute>
--      </fo:table-column>
--      <fo:table-column column-number="3">
--        <xsl:attribute name="column-width">
--          <xsl:text>proportional-column-width(</xsl:text>
--          <xsl:call-template name="header.footer.width">
--            <xsl:with-param name="location">header</xsl:with-param>
--            <xsl:with-param name="position" select="$column3"/>
--          </xsl:call-template>
--          <xsl:text>)</xsl:text>
--        </xsl:attribute>
--      </fo:table-column>
-+      <xsl:choose>
-+        <xsl:when test="$passivetex.extensions != 0">
-+          <fo:table-column column-number="1">
-+            <xsl:attribute name="column-width">
-+              <xsl:call-template name="header.footer.width">
-+                <xsl:with-param name="location">header</xsl:with-param>
-+                <xsl:with-param name="position" select="$column1"/>
-+              </xsl:call-template>
-+              <xsl:text>%</xsl:text>
-+            </xsl:attribute>
-+          </fo:table-column>
-+        </xsl:when>
-+        <xsl:otherwise>
-+          <fo:table-column column-number="1">
-+            <xsl:attribute name="column-width">
-+              <xsl:text>proportional-column-width(</xsl:text>
-+              <xsl:call-template name="header.footer.width">
-+                <xsl:with-param name="location">header</xsl:with-param>
-+                <xsl:with-param name="position" select="$column1"/>
-+              </xsl:call-template>
-+              <xsl:text>)</xsl:text>
-+            </xsl:attribute>
-+          </fo:table-column>
-+        </xsl:otherwise>
-+                      </xsl:choose>
-+      <xsl:choose>
-+        <xsl:when test="$passivetex.extensions != 0">
-+          <fo:table-column column-number="2">
-+            <xsl:attribute name="column-width">
-+              <xsl:call-template name="header.footer.width">
-+                <xsl:with-param name="location">header</xsl:with-param>
-+                <xsl:with-param name="position" select="2"/>
-+              </xsl:call-template>
-+              <xsl:text>%</xsl:text>
-+            </xsl:attribute>
-+          </fo:table-column>
-+        </xsl:when>
-+        <xsl:otherwise>
-+          <fo:table-column column-number="2">
-+            <xsl:attribute name="column-width">
-+              <xsl:text>proportional-column-width(</xsl:text>
-+              <xsl:call-template name="header.footer.width">
-+                <xsl:with-param name="location">header</xsl:with-param>
-+                <xsl:with-param name="position" select="2"/>
-+              </xsl:call-template>
-+              <xsl:text>)</xsl:text>
-+            </xsl:attribute>
-+          </fo:table-column>
-+        </xsl:otherwise>
-+      </xsl:choose>
-+      <xsl:choose>
-+        <xsl:when test="$passivetex.extensions != 0">
-+          <fo:table-column column-number="3">
-+            <xsl:attribute name="column-width">
-+              <xsl:call-template name="header.footer.width">
-+                <xsl:with-param name="location">header</xsl:with-param>
-+                <xsl:with-param name="position" select="$column3"/>
-+              </xsl:call-template>
-+              <xsl:text>%</xsl:text>
-+            </xsl:attribute>
-+          </fo:table-column>
-+        </xsl:when>
-+        <xsl:otherwise>
-+          <fo:table-column column-number="3">
-+            <xsl:attribute name="column-width">
-+              <xsl:text>proportional-column-width(</xsl:text>
-+              <xsl:call-template name="header.footer.width">
-+                <xsl:with-param name="location">header</xsl:with-param>
-+                <xsl:with-param name="position" select="$column3"/>
-+              </xsl:call-template>
-+              <xsl:text>)</xsl:text>
-+            </xsl:attribute>
-+          </fo:table-column>
-+        </xsl:otherwise>
-+      </xsl:choose>
-       <fo:table-body>
-         <fo:table-row>
-@@ -2021,36 +2066,81 @@
-         <xsl:with-param name="sequence" select="$sequence"/>
-         <xsl:with-param name="gentext-key" select="$gentext-key"/>
-       </xsl:call-template>
--      <fo:table-column column-number="1">
--        <xsl:attribute name="column-width">
--          <xsl:text>proportional-column-width(</xsl:text>
--          <xsl:call-template name="header.footer.width">
--            <xsl:with-param name="location">footer</xsl:with-param>
--            <xsl:with-param name="position" select="$column1"/>
--          </xsl:call-template>
--          <xsl:text>)</xsl:text>
--        </xsl:attribute>
--      </fo:table-column>
--      <fo:table-column column-number="2">
--        <xsl:attribute name="column-width">
--          <xsl:text>proportional-column-width(</xsl:text>
--          <xsl:call-template name="header.footer.width">
--            <xsl:with-param name="location">footer</xsl:with-param>
--            <xsl:with-param name="position" select="2"/>
--          </xsl:call-template>
--          <xsl:text>)</xsl:text>
--        </xsl:attribute>
--      </fo:table-column>
--      <fo:table-column column-number="3">
--        <xsl:attribute name="column-width">
--          <xsl:text>proportional-column-width(</xsl:text>
--          <xsl:call-template name="header.footer.width">
--            <xsl:with-param name="location">footer</xsl:with-param>
--            <xsl:with-param name="position" select="$column3"/>
--          </xsl:call-template>
--          <xsl:text>)</xsl:text>
--        </xsl:attribute>
--      </fo:table-column>
-+      <xsl:choose>
-+        <xsl:when test="$passivetex.extensions != 0">
-+          <fo:table-column column-number="1">
-+            <xsl:attribute name="column-width">
-+              <xsl:call-template name="header.footer.width">
-+                <xsl:with-param name="location">footer</xsl:with-param>
-+                <xsl:with-param name="position" select="$column1"/>
-+              </xsl:call-template>
-+              <xsl:text>%</xsl:text>
-+            </xsl:attribute>
-+          </fo:table-column>
-+        </xsl:when>
-+        <xsl:otherwise>
-+          <fo:table-column column-number="1">
-+            <xsl:attribute name="column-width">
-+              <xsl:text>proportional-column-width(</xsl:text>
-+              <xsl:call-template name="header.footer.width">
-+                <xsl:with-param name="location">footer</xsl:with-param>
-+                <xsl:with-param name="position" select="$column1"/>
-+              </xsl:call-template>
-+              <xsl:text>)</xsl:text>
-+            </xsl:attribute>
-+          </fo:table-column>
-+        </xsl:otherwise>
-+      </xsl:choose>
-+      <xsl:choose>
-+        <xsl:when test="$passivetex.extensions != 0">
-+          <fo:table-column column-number="2">
-+            <xsl:attribute name="column-width">
-+              <xsl:call-template name="header.footer.width">
-+                <xsl:with-param name="location">footer</xsl:with-param>
-+                <xsl:with-param name="position" select="2"/>
-+              </xsl:call-template>
-+              <xsl:text>%</xsl:text>
-+            </xsl:attribute>
-+          </fo:table-column>
-+        </xsl:when>
-+        <xsl:otherwise>
-+          <fo:table-column column-number="2">
-+            <xsl:attribute name="column-width">
-+              <xsl:text>proportional-column-width(</xsl:text>
-+              <xsl:call-template name="header.footer.width">
-+                <xsl:with-param name="location">footer</xsl:with-param>
-+                <xsl:with-param name="position" select="2"/>
-+              </xsl:call-template>
-+              <xsl:text>)</xsl:text>
-+            </xsl:attribute>
-+          </fo:table-column>
-+        </xsl:otherwise>
-+      </xsl:choose>
-+      <xsl:choose>
-+        <xsl:when test="$passivetex.extensions != 0">
-+          <fo:table-column column-number="3">
-+            <xsl:attribute name="column-width">
-+              <xsl:call-template name="header.footer.width">
-+                <xsl:with-param name="location">footer</xsl:with-param>
-+                <xsl:with-param name="position" select="$column3"/>
-+              </xsl:call-template>
-+              <xsl:text>%</xsl:text>
-+            </xsl:attribute>
-+          </fo:table-column>
-+        </xsl:when>
-+        <xsl:otherwise>
-+          <fo:table-column column-number="3">
-+            <xsl:attribute name="column-width">
-+              <xsl:text>proportional-column-width(</xsl:text>
-+              <xsl:call-template name="header.footer.width">
-+                <xsl:with-param name="location">footer</xsl:with-param>
-+                <xsl:with-param name="position" select="$column3"/>
-+              </xsl:call-template>
-+              <xsl:text>)</xsl:text>
-+            </xsl:attribute>
-+          </fo:table-column>
-+        </xsl:otherwise>
-+      </xsl:choose>
-       <fo:table-body>
-         <fo:table-row>
index 949f9aec564ef1e8f67fc140e79604a594592bd1..8f9d8670878b5b8367ad8b8d3333eb1558b69b34 100644 (file)
@@ -8,7 +8,7 @@ version    = 0.8.8
 release    = 1
 
 groups     = Application/Text
-url        = http://docbook2x.sourceforge.net/
+url        = https://docbook2x.sourceforge.net/
 license    = MIT
 summary    = Convert docbook into man and Texinfo.
 
@@ -17,7 +17,7 @@ description
        documents.
 end
 
-source_dl  = http://downloads.sourceforge.net/docbook2x/
+source_dl  = https://downloads.sourceforge.net/docbook2x/
 
 build
        requires
index 23a34e8946eb804336600ce1305833d5d91f52a1..8f147710e463b2799a375933e13b33e42d60ce6b 100644 (file)
@@ -4,20 +4,20 @@
 ###############################################################################
 
 name       = dos2unix
-version    = 7.3.4
+version    = 7.4.3
 release    = 1
 
 groups     = Applications/Text
-url        = http://www.xs4all.nl/~waterlan/dos2unix.html
+url        = https://www.xs4all.nl/~waterlan/dos2unix.html
 license    = BSD
-summary    = Text file format converters.
+summary    = Text file format converters
 
 description
        Convert text files with DOS or Mac line endings to Unix line endings and
        vice versa.
 end
 
-source_dl  = http://waterlan.home.xs4all.nl/dos2unix/
+source_dl  = https://waterlan.home.xs4all.nl/dos2unix/
 
 build
        requires
index c319532a30bc4ffa69294be03595ab1a0d86071e..0483e61bf1dbb8a827ab2ccfd90090edee3cb359 100644 (file)
@@ -4,13 +4,13 @@
 ###############################################################################
 
 name       = dosfstools
-version    = 3.0.26
+version    = 4.2
 release    = 1
 
 groups     = System/Filesystems
-url        = http://www.daniel-baumann.ch/software/dosfstools/
+url        = https://github.com/dosfstools/dosfstools/
 license    = GPLv3+
-summary    = Utilities for making and checking MS-DOS FAT filesystems on Linux.
+summary    = Utilities for making and checking MS-DOS FAT filesystems on Linux
 
 description
        The dosfstools package includes the mkdosfs and dosfsck utilities,
@@ -18,7 +18,7 @@ description
        drives or on floppies.
 end
 
-source_dl  = http://www.daniel-baumann.ch/files/software/dosfstools/
+source_dl  = https://github.com/dosfstools/dosfstools/releases/download/v%{version}/
 
 build
        make_install_targets += \
index 19ba1b285952e5f1eaa8e349262ee27a399f67c9..4e21e115a15e416fc96d4f85027497cd5450ea66 100644 (file)
@@ -4,37 +4,35 @@
 ###############################################################################
 
 name       = doxygen
-version    = 1.8.4
-release    = 2
+version    = 1.9.6
+release    = 1
 
 groups     = Development/Tools
-url        = http://www.stack.nl/~dimitri/doxygen/index.html
+url        = https://www.doxygen.nl
 license    = GPL+
-summary    = A documentation system for C/C++.
+summary    = A documentation system for C/C++
 
 description
        Doxygen can generate an online class browser (in HTML) and/or a
        reference manual (in LaTeX) from a set of documented source files.
 end
 
-source_dl  = ftp://ftp.stack.nl/pub/users/dimitri/
-sources = %{name}-%{version}.src.tar.gz
+source_dl  = https://www.doxygen.nl/files/
+sources    = %{name}-%{version}.src.tar.gz
 
 build
        requires
-               /usr/bin/perl
                bison
+               cmake
                flex
+               perl
        end
 
-       # Not autoconf-based, so we cannot use our default configure macro.
-       configure_options = \
-               --prefix %{prefix} \
-               --shared \
-               --release
+       build
+               %{cmake} .
 
-       # Use our CFLAGS and LDFLAGS
-       make_build_targets += CFLAGS="%{CFLAGS}" LFLAGS="%{LDFLAGS}"
+               make %{PARALLELISMFLAGS}
+       end
 end
 
 packages
diff --git a/doxygen/patches/doxygen-1.4.8-endless-loop.patch b/doxygen/patches/doxygen-1.4.8-endless-loop.patch
deleted file mode 100644 (file)
index a62428b..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-commit 5e056236c9ef3b3675d014cab43480700027d60b
-Author: Dimitri van Heesch <dimitri@stack.nl>
-Date:   Thu May 30 20:01:15 2013 +0200
-
-    Bug 701295 - Doxygen 1.8.4 goes into an endless loop
-
-diff --git a/src/util.cpp b/src/util.cpp
-index 0d70d43..0c36fc0 100644
---- a/src/util.cpp
-+++ b/src/util.cpp
-@@ -1843,11 +1843,15 @@ int findParameterList(const QString &name)
-         ++templateDepth;
-         pos=nextOpenPos-1;
-       }
--      else
-+      else if (nextClosePos!=-1)
-       {
-         --templateDepth;
-         pos=nextClosePos-1;
-       }
-+      else // more >'s than <'s, see bug701295
-+      {
-+        return -1;
-+      }
-     }
-     else
-     {
diff --git a/doxygen/patches/doxygen-1.8.1.1-html_timestamp_default_false.patch b/doxygen/patches/doxygen-1.8.1.1-html_timestamp_default_false.patch
deleted file mode 100644 (file)
index 9c01fec..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -up doxygen-1.8.1.1/src/configoptions.cpp.html_timestamp_off.patch doxygen-1.8.1.1/src/configoptions.cpp
---- doxygen-1.8.1.1/src/configoptions.cpp.html_timestamp_off.patch     2012-06-09 06:41:04.000000000 -0500
-+++ doxygen-1.8.1.1/src/configoptions.cpp      2012-06-13 13:31:15.291500215 -0500
-@@ -1270,7 +1270,7 @@ void addConfigOptions(Config *cfg)
-                  "If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML\n"
-                  "page will contain the date and time when the page was generated. Setting\n"
-                  "this to NO can help when comparing the output of multiple runs.",
--                 TRUE
-+                 FALSE 
-                 );
-   cb->addDependency("GENERATE_HTML");
-   //----
diff --git a/doxygen/patches/doxygen-1.8.3-multilib.patch b/doxygen/patches/doxygen-1.8.3-multilib.patch
deleted file mode 100644 (file)
index 7cb1c92..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-diff -up doxygen-1.8.3/src/htmlgen.cpp.multilib doxygen-1.8.3/src/htmlgen.cpp
---- doxygen-1.8.3/src/htmlgen.cpp.multilib     2012-12-25 11:27:52.000000000 +0100
-+++ doxygen-1.8.3/src/htmlgen.cpp      2013-01-02 17:08:57.559028518 +0100
-@@ -125,6 +125,17 @@ static unsigned char tab_b_png[36] =
-     205, 207, 209, 211, 213, 217, 219, 206, 188 
- };
-+static unsigned char nav_g_png[95] = {
-+0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d, 
-+0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x06, 
-+0x08, 0x06, 0x00, 0x00, 0x00, 0x02, 0x10, 0xf4, 0x31, 0x00, 0x00, 0x00, 
-+0x26, 0x49, 0x44, 0x41, 0x54, 0x78, 0x01, 0xed, 0xdd, 0x31, 0x0d, 0x00, 
-+0x00, 0x08, 0x03, 0xc1, 0x4f, 0x48, 0x17, 0x66, 0x84, 0xe1, 0x5f, 0x0d, 
-+0x2d, 0x3e, 0x7e, 0xb8, 0xe5, 0x4d, 0x20, 0x69, 0xcb, 0x4d, 0xe8, 0xc0, 
-+0x83, 0x07, 0x07, 0x0f, 0x53, 0x00, 0xbd, 0xfc, 0x82, 0x3c, 0x05, 0x00, 
-+0x00, 0x00, 0x00, 0x49, 0x45, 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82, 
-+};
-+
- // hovering tab background luma
- static unsigned char tab_h_png[36] =
- {
-@@ -824,6 +835,7 @@ static ColoredImgDataItem colored_tab_da
-   { "tab_s.png",    1, 36, tab_s_png,       0 },
-   { "nav_h.png",    1, 12, header_png,      0 },
-   { "nav_f.png",    1, 56, func_header_png, 0 },
-+  { "nav_g.png",    1,  6, nav_g_png,       0 },
-   { "bc_s.png",     8, 30, bc_s_png,        bc_s_a_png },
-   { "doxygen.png", 104,31, doxygen_png,     doxygen_a_png },
-   { "closed.png",   9,  9, closed_png,      closed_a_png },
-@@ -1502,13 +1514,6 @@ void HtmlGenerator::writeTabData()
-   Doxygen::indexList->addStyleSheetFile("tabs.css");
-   QCString dname=Config_getString("HTML_OUTPUT");
-   writeColoredImgData(dname,colored_tab_data);
--
--  {
--    unsigned char shadow[6] = { 5, 5, 5, 5, 5, 5 };
--    unsigned char shadow_alpha[6]  = { 80, 60, 40, 20, 10, 0 };
--    ColoredImage img(1,6,shadow,shadow_alpha,0,0,100);
--    img.save(dname+"/nav_g.png");
--  }
- }
- void HtmlGenerator::writeSearchData(const char *dir)
diff --git a/doxygen/patches/doxygen-1.8.4-config.patch b/doxygen/patches/doxygen-1.8.4-config.patch
deleted file mode 100644 (file)
index 5c789be..0000000
+++ /dev/null
@@ -1,95 +0,0 @@
-diff -up doxygen-1.8.4/addon/doxywizard/Makefile.in.config doxygen-1.8.4/addon/doxywizard/Makefile.in
---- doxygen-1.8.4/addon/doxywizard/Makefile.in.config  2013-01-05 16:35:52.000000000 +0100
-+++ doxygen-1.8.4/addon/doxywizard/Makefile.in 2013-05-21 12:22:49.689166894 +0200
-@@ -10,8 +10,6 @@
- # See the GNU General Public License for more details.
- # 
--QMAKE=qmake $(MKSPECS)
--
- all: Makefile.doxywizard  
-       $(MAKE) -f Makefile.doxywizard 
-@@ -29,11 +27,11 @@ distclean: Makefile.doxywizard
-       $(RM) Makefile.doxywizard
- install:
--      $(INSTTOOL) -d $(INSTALL)/bin   
--      $(INSTTOOL) -m 755 ../../bin/doxywizard $(INSTALL)/bin  
--      $(INSTTOOL) -d $(INSTALL)/$(MAN1DIR)
-+      $(INSTTOOL) -d $(DESTDIR)$(INSTALL)/bin 
-+      $(INSTTOOL) -m 755 ../../bin/doxywizard $(DESTDIR)$(INSTALL)/bin        
-+      $(INSTTOOL) -d $(DESTDIR)$(INSTALL)/$(MAN1DIR)
-       cat ../../doc/doxywizard.1 | sed -e "s/DATE/$(DATE)/g" -e "s/VERSION/$(VERSION)/g" > doxywizard.1
--      $(INSTTOOL) -m 644 doxywizard.1 $(INSTALL)/$(MAN1DIR)/doxywizard.1
-+      $(INSTTOOL) -m 644 doxywizard.1 $(DESTDIR)$(INSTALL)/$(MAN1DIR)/doxywizard.1
-       rm doxywizard.1
- FORCE:
-diff -up doxygen-1.8.4/configure.config doxygen-1.8.4/configure
---- doxygen-1.8.4/configure.config     2013-05-19 12:05:39.000000000 +0200
-+++ doxygen-1.8.4/configure    2013-05-21 12:25:43.570743493 +0200
-@@ -296,9 +296,10 @@ if test "$f_wizard" = YES; then
-   if test -z "$QTDIR"; then
-     echo "  QTDIR environment variable not set!"
-     printf "  Checking for Qt..."
--    for d in /usr/{lib,share,qt}/{qt-4,qt4,qt,qt*,4} /usr; do
-+    for d in /usr/{lib64,lib,share,qt}/{qt-4,qt4,qt,qt*,4} /usr; do
-       if test -x "$d/bin/qmake"; then
-         QTDIR=$d
-+        QMAKE=$d/bin/qmake
-       fi
-     done
-   else
-@@ -606,6 +607,8 @@ INSTTOOL  = $f_insttool
- DOXYDOCS  = ..
- DOCDIR    = $f_docdir
- QTDIR     = $QTDIR
-+QMAKE     = $QMAKE
-+MAN1DIR    = share/man/man1
- EOF
- if test "$f_dot" != NO; then
-diff -up doxygen-1.8.4/Makefile.in.config doxygen-1.8.4/Makefile.in
---- doxygen-1.8.4/Makefile.in.config   2013-04-25 21:38:39.000000000 +0200
-+++ doxygen-1.8.4/Makefile.in  2013-05-21 12:22:49.689166894 +0200
-@@ -53,8 +53,6 @@ distclean: clean
- DATE=$(shell date "+%B %Y")
--MAN1DIR = man/man1
--
- install: doxywizard_install doxysearch_install
-       $(INSTTOOL) -d $(DESTDIR)/$(INSTALL)/bin
-       $(INSTTOOL) -m 755 bin/doxygen        $(DESTDIR)/$(INSTALL)/bin
-diff -up doxygen-1.8.4/tmake/lib/linux-g++/tmake.conf.config doxygen-1.8.4/tmake/lib/linux-g++/tmake.conf
---- doxygen-1.8.4/tmake/lib/linux-g++/tmake.conf.config        2012-12-22 19:49:04.000000000 +0100
-+++ doxygen-1.8.4/tmake/lib/linux-g++/tmake.conf       2013-05-21 12:22:49.689166894 +0200
-@@ -11,7 +11,7 @@ TMAKE_CC             = gcc
- TMAKE_CFLAGS          = -pipe 
- TMAKE_CFLAGS_WARN_ON  = -Wall -W 
- TMAKE_CFLAGS_WARN_OFF =
--TMAKE_CFLAGS_RELEASE  = -O2
-+TMAKE_CFLAGS_RELEASE  = $(RPM_OPT_FLAGS)
- TMAKE_CFLAGS_DEBUG    = -g
- TMAKE_CFLAGS_SHLIB    = -fPIC
- TMAKE_CFLAGS_YACC     = -Wno-unused -Wno-parentheses
-@@ -27,12 +27,12 @@ TMAKE_CXXFLAGS_YACC        = $$TMAKE_CFLAGS_YAC
- TMAKE_INCDIR          =
- TMAKE_LIBDIR          =
--TMAKE_INCDIR_X11      = /usr/X11R6/include
--TMAKE_LIBDIR_X11      = /usr/X11R6/lib
--TMAKE_INCDIR_QT               = $(QTDIR)/include
--TMAKE_LIBDIR_QT               = $(QTDIR)/lib
--TMAKE_INCDIR_OPENGL   = /usr/X11R6/include
--TMAKE_LIBDIR_OPENGL   = /usr/X11R6/lib
-+TMAKE_INCDIR_X11      =
-+TMAKE_LIBDIR_X11      =
-+TMAKE_INCDIR_QT               =
-+TMAKE_LIBDIR_QT               =
-+TMAKE_INCDIR_OPENGL   =
-+TMAKE_LIBDIR_OPENGL   =
- TMAKE_LINK            = g++
- TMAKE_LINK_SHLIB      = g++
index 8da9822dda04deb5e2d1b3b4f51a58d90f7a2a70..a2694d5eea533e18caea3c2f3f04ab90280293e0 100644 (file)
@@ -4,27 +4,26 @@
 ###############################################################################
 
 name       = dracut
-version    = 048
+version    = 059
 release    = 1
 
 groups     = System/Boot
-url        = http://sourceforge.net/apps/trac/dracut/wiki
+url        = https://sourceforge.net/apps/trac/dracut/wiki
 license    = GPLv2+
-summary    = Initramfs generator using udev.
+summary    = Initramfs generator using udev
 
 description
        dracut is a new, event-driven initramfs infrastructure based around udev.
 end
 
-source_dl  = http://www.kernel.org/pub/linux/utils/boot/dracut/
-sources    = %{thisapp}.tar.xz
+source_dl  = https://github.com/dracutdevs/dracut/archive/refs/tags/%{version}.tar.gz#/
 
 build
        requires
                asciidoc
                docbook-utils
                docbook-xsl
-               kmod-devel >= 15
+               kmod-devel >= 23
        end
 
        prepare_cmds
@@ -45,25 +44,33 @@ build
                mandir=%{mandir}
 
        install_cmds
-               # Install local configuration.
-               mkdir -pv %{BUILDROOT}/etc/dracut.conf.d
-               cp -vf %{DIR_SOURCE}/ipfire.conf %{BUILDROOT}/etc/dracut.conf.d/ipfire.conf
-
-               # Save package version.
+               # Remove unneeded/unsupported modules
+               rm -rfv \
+                       %{BUILDROOT}%{dracutlibdir}/dracut/modules.d/00dash \
+                       %{BUILDROOT}%{dracutlibdir}/dracut/modules.d/00systemd-network-management \
+                       %{BUILDROOT}%{dracutlibdir}/dracut/modules.d/01fips \
+                       %{BUILDROOT}%{dracutlibdir}/dracut/modules.d/05busybox \
+                       %{BUILDROOT}%{dracutlibdir}/dracut/modules.d/35network-* \
+                       %{BUILDROOT}%{dracutlibdir}/dracut/modules.d/40network \
+                       %{BUILDROOT}%{dracutlibdir}/dracut/modules.d/45url-lib \
+                       %{BUILDROOT}%{dracutlibdir}/dracut/modules.d/45ifcfg \
+                       %{BUILDROOT}%{dracutlibdir}/dracut/modules.d/50gensplash \
+                       %{BUILDROOT}%{dracutlibdir}/dracut/modules.d/62bluetooth \
+                       %{BUILDROOT}%{dracutlibdir}/dracut/modules.d/95fcoe* \
+                       %{BUILDROOT}%{dracutlibdir}/dracut/modules.d/95iscsi \
+                       %{BUILDROOT}%{dracutlibdir}/dracut/modules.d/95nbd \
+                       %{BUILDROOT}%{dracutlibdir}/dracut/modules.d/95nfs \
+                       %{BUILDROOT}%{dracutlibdir}/dracut/modules.d/95znet
+
+               # Install local configuration
+               mkdir -pv %{BUILDROOT}%{dracutlibdir}/dracut/dracut.conf.d
+               install -v -m 644 %{DIR_SOURCE}/ipfire.conf \
+                       %{BUILDROOT}%{dracutlibdir}/dracut/dracut.conf.d/ipfire.conf
+
+               # Save package version
+               mkdir -pv %{BUILDROOT}/%{dracutlibdir}/dracut
                echo "DRACUT_VERSION=%{version}-%{release}" > \
                        %{BUILDROOT}/%{dracutlibdir}/dracut/dracut-version.sh
-
-               # Remove Gentoo specific module.
-               rm -rvf %{BUILDROOT}%{dracutlibdir}/modules.d/50gensplash
-
-               mkdir -pv %{BUILDROOT}/boot/dracut
-               mkdir -pv %{BUILDROOT}/var/lib/dracut/overlay
-               mkdir -pv %{BUILDROOT}/var/lib/initramfs
-               mkdir -pv %{BUILDROOT}%{localstatedir}/log
-               touch %{BUILDROOT}%{localstatedir}/log/dracut.log
-
-               mkdir -pv %{BUILDROOT}/etc/logrotate.d
-               install -m 0644 dracut.logrotate %{BUILDROOT}/etc/logrotate.d/dracut_log
        end
 end
 
@@ -72,60 +79,33 @@ packages
                requires
                        bash
                        bzip2
+                       btrfs-progs
                        cpio
                        coreutils
-                       dmraid
+                       device-mapper
                        e2fsprogs
                        eject
+                       findutils
+                       gawk
                        gzip
                        iputils
                        kbd
                        kpartx
                        less
-                       lvm2
                        mdadm
-                       sysvinit
                        systemd >= 187
+                       tar
                        udev
                        util-linux
                        which
-               end
-       end
+                       zstd
 
-       package %{name}-network
-               summary = Network support for the initramdisk.
-               description
-                       This package requires everything which is needed to build a generic
-                       all purpose initramfs with network support with dracut.
-               end
-
-               requires
-                       bridge-utils
-                       dhclient
-                       iproute2
-                       nfs-utils
-               end
-
-               files
-                       /usr/lib/dracut/modules.d/40network
-                       /usr/lib/dracut/modules.d/95fcoe
-                       /usr/lib/dracut/modules.d/95iscsi
-                       /usr/lib/dracut/modules.d/95nbd
-                       /usr/lib/dracut/modules.d/95nfs
-                       /usr/lib/dracut/modules.d/45ifcfg
-                       /usr/lib/dracut/modules.d/95znet
+                       # Shell Commands
+                       /usr/sbin/sulogin
                end
        end
 
-       package %{name}-utils
-               summary = Command line utils for dracut.
-               description = %{summary}
-
-               files
-                       /boot/dracut
-                       /usr/bin/dracut-*
-                       /usr/share/man/man8/dracut-*
-                       /var/lib/dracut
-               end
+       package %{name}-debuginfo
+               template DEBUGINFO
        end
 end
index a6b717c60ddf8ab0322bc9a2437ec63f398bc920..0f866c6d2d1f284e414201542cdd2fac4f967418 100644 (file)
@@ -1,13 +1,7 @@
-# Dracut config file customized for IPFire.
+# Dracut config file customized for IPFire
 
-# i18n
-i18n_vars="/etc/vconsole.conf:KEYTABLE-KEYMAP,SYSFONT-FONT,FONTACM-FONT_MAP,FONT_UNIMAP"
-#add_dracutmodules+=" "
-stdloglvl=3
-prefix="/"
-systemdutildir=/usr/lib/systemd
-systemdsystemunitdir=/usr/lib/systemd/system
-udevdir=/usr/lib/udev
-add_dracutmodules+=" systemd "
-realinitpath="/usr/lib/systemd/systemd"
-kernel_cmdline+=" rd.auto=1 "
+# Load microcode for the CPU early
+early_microcode="yes"
+
+# Compress using Zstandard
+compress="zstd"
index bc5d85365b4fbd208b92197944e0052603ae0a88..db7ab9ae149c6ce97114553f376368bdb580f122 100644 (file)
@@ -4,12 +4,11 @@
 ###############################################################################
 
 name       = dtc
-version    = 1.3.0
+version    = 1.6.1
 release    = 1
-thisapp    = %{name}-v%{version}
 
 groups     = Development/Tools
-url        = http://git.jdl.com/gitweb/?p=dtc.git;a=summary
+url        = https://www.devicetree.org/
 license    = GPLv2+
 summary    = Device Tree Compiler
 
@@ -19,8 +18,8 @@ description
        implementation.
 end
 
-sources    = %{thisapp}.tgz
-source_dl  = http://www.jdl.com/software/
+source_dl  = https://www.kernel.org/pub/software/utils/dtc/
+sources    = %{thisapp}.tar.xz
 
 build
        requires
@@ -28,6 +27,10 @@ build
                flex
        end
 
+       test
+               make check
+       end
+
        make_install_targets += PREFIX=/usr LIBDIR=%{libdir}
 
        install_cmds
@@ -40,24 +43,10 @@ end
 packages
        package %{name}
 
-       package libfdt
-               template LIBS
-
-               files
-                       %{libdir}/libfdt-%{version}.so
-                       %{libdir}/libfdt.so.1
-               end
-       end
-
-       package libfdt-devel
+       package %{name}-devel
                template DEVEL
 
-               requires += libfdt = %{thisver}
-
-               files
-                       %{includedir}
-                       %{libdir}/libfdt.so
-               end
+               files += !%{libdir}/libfdt-%{version}.so
        end
 
        package %{name}-debuginfo
diff --git a/dtc/patches/dtc-check.patch b/dtc/patches/dtc-check.patch
deleted file mode 100644 (file)
index f3560fd..0000000
+++ /dev/null
@@ -1,65 +0,0 @@
-From jwboyer@linux.vnet.ibm.com Tue Jun 28 08:47:09 2011
-Date: Tue, 28 Jun 2011 08:47:09 -0400
-From: Josh Boyer <jwboyer@linux.vnet.ibm.com>
-To: Jon Loeliger <jdl@jdl.com>
-Cc: linuxppc-dev@lists.ozlabs.org
-Subject: [PATCH] dtc: Remove unused check variable
-Message-ID: <20110628124709.GC10237@zod.rchland.ibm.com>
-MIME-Version: 1.0
-Content-Type: text/plain; charset=us-ascii
-Content-Disposition: inline
-User-Agent: Mutt/1.5.21 (2010-09-15)
-Status: RO
-Content-Length: 1315
-Lines: 49
-
-Commit 376ab6f2 removed the old style check functionality from DTC,
-however the check option and variable were not removed.  This leads to
-build failures when -Werror=unused-but-set-variable is specified:
-
-       dtc.c: In function 'main':
-       dtc.c:102:17: error: variable 'check' set but not used [-Werror=unused-but-set-variable]
-       cc1: all warnings being treated as errors
-       make: *** [dtc.o] Error 1
-       make: *** Waiting for unfinished jobs....
-
-Remove the check variable.
-
-Signed-off-by: Josh Boyer <jwboyer@linux.vnet.ibm.com>
-
----
-
-t a/dtc.c b/dtc.c
-index cbc0193..15d2fc2 100644
---- a/dtc.c
-+++ b/dtc.c
-@@ -99,7 +99,7 @@ int main(int argc, char *argv[])
-       const char *inform = "dts";
-       const char *outform = "dts";
-       const char *outname = "-";
--      int force = 0, check = 0, sort = 0;
-+      int force = 0, sort = 0;
-       const char *arg;
-       int opt;
-       FILE *outf = NULL;
-@@ -111,7 +111,7 @@ int main(int argc, char *argv[])
-       minsize    = 0;
-       padsize    = 0;
--      while ((opt = getopt(argc, argv, "hI:O:o:V:R:S:p:fcqb:vH:s")) != EOF) {
-+      while ((opt = getopt(argc, argv, "hI:O:o:V:R:S:p:fqb:vH:s")) != EOF) {
-               switch (opt) {
-               case 'I':
-                       inform = optarg;
-@@ -137,9 +137,6 @@ int main(int argc, char *argv[])
-               case 'f':
-                       force = 1;
-                       break;
--              case 'c':
--                      check = 1;
--                      break;
-               case 'q':
-                       quiet++;
-                       break;
-
-
diff --git a/dtc/patches/dtc-flattree.patch b/dtc/patches/dtc-flattree.patch
deleted file mode 100644 (file)
index c8ba010..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-From jwboyer@linux.vnet.ibm.com Tue Jun 28 09:42:53 2011
-Date: Tue, 28 Jun 2011 09:42:53 -0400
-From: Josh Boyer <jwboyer@linux.vnet.ibm.com>
-To: jdl@jdl.com, david@gibson.dropbear.id.au
-Cc: linuxppc-dev@lists.ozlabs.org
-Subject: [PATCH] dtc: Remove unused variable in flat_read_mem_reserve
-Message-ID: <20110628134253.GD10237@zod.rchland.ibm.com>
-MIME-Version: 1.0
-Content-Type: text/plain; charset=us-ascii
-Content-Disposition: inline
-User-Agent: Mutt/1.5.21 (2010-09-15)
-Status: RO
-Content-Length: 1865
-Lines: 68
-
-The *p variable is declared and used to save inb->ptr, however p is
-later never used.  This has been the case since commit 6c0f3676 and can
-lead to build failures with -Werror=unused-but-set-variable:
-
-       flattree.c: In function 'flat_read_mem_reserve':
-       flattree.c:700:14: error: variable 'p' set but not used [-Werror=unused-but-set-variable]
-       cc1: all warnings being treated as errors
-       make: *** [flattree.o] Error 1
-
-Remove the variable.
-
-Signed-off-by: Josh Boyer <jwboyer@linux.vnet.ibm.com>
-
----
-
-diff --git a/flattree.c b/flattree.c
-index ead0332..28d0b23 100644
---- a/flattree.c
-+++ b/flattree.c
-@@ -697,7 +697,6 @@ static struct reserve_info *flat_read_mem_reserve(struct inbuf *inb)
- {
-       struct reserve_info *reservelist = NULL;
-       struct reserve_info *new;
--      const char *p;
-       struct fdt_reserve_entry re;
-       /*
-@@ -706,7 +705,6 @@ static struct reserve_info *flat_read_mem_reserve(struct inbuf *inb)
-        *
-        * First pass, count entries.
-        */
--      p = inb->ptr;
-       while (1) {
-               flat_read_chunk(inb, &re, sizeof(re));
-               re.address  = fdt64_to_cpu(re.address);
-
-
similarity index 56%
rename from gssdp/gssdp.nm
rename to duktape/duktape.nm
index 43205a52c07d4c1177eca84bac8b0fa69a218d30..e8ca7609feccb3cd472e710f56d023a0b0107b13 100644 (file)
@@ -3,30 +3,32 @@
 # Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
 ###############################################################################
 
-name       = gssdp
-ver_major  = 1.0
-ver_minor  = 1
-version    = %{ver_major}.%{ver_minor}
+name       = duktape
+version    = 2.7.0
 release    = 1
 
 groups     = System/Libraries
-url        = http://www.gupnp.org
-license    = LGPL
-summary    = Resource discovery and announcement over SSDP.
+url        = https://duktape.org/
+license    = MIT
+summary    = Embeddable Javascript engine
 
 description
-       GSSDP implements resource discovery and announcement over SSDP.
+       Duktape is an embeddable Javascript engine, with a focus on
+       portability and compact footprint.
 end
 
-source_dl  = https://download.gnome.org/sources/%{name}/%{ver_major}/
+source_dl  = https://duktape.org/
 sources    = %{thisapp}.tar.xz
 
-
 build
-       requires
-               glib2-devel
-               libsoup-devel
-               pkg-config
+       make = make -f Makefile.sharedlibrary INSTALL_PREFIX=%{prefix} LIBDIR=/%{lib}
+
+       build
+               %{make} %{PARALLELISMFLAGS}
+       end
+
+       install
+               %{make} install DESTDIR=%{BUILDROOT}
        end
 end
 
diff --git a/dwz/dwz.nm b/dwz/dwz.nm
new file mode 100644 (file)
index 0000000..8b63a64
--- /dev/null
@@ -0,0 +1,66 @@
+###############################################################################
+# IPFire.org    - An Open Source Firewall Solution                            #
+# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
+###############################################################################
+
+name       = dwz
+version    = 0.15
+release    = 1
+
+groups     = Development/Tools
+url        = https://sourceware.org/dwz/
+license    = GPLv2+ and GPLv3+
+summary    = DWARF optimization and duplicate removal tool
+
+description
+       The dwz package contains a program that attempts to optimize DWARF
+       debugging information contained in ELF shared libraries and ELF executables
+       for size, by replacing DWARF information representation with equivalent
+       smaller representation where possible and by reducing the amount of
+       duplication using techniques from DWARF standard appendix E - creating
+       DW_TAG_partial_unit compilation units (CUs) for duplicated information
+       and using DW_TAG_imported_unit to import it into each CU that needs it.
+end
+
+source_dl = https://sourceware.org/ftp/dwz/releases/
+sources   = %{thisapp}.tar.xz
+
+build
+       requires
+               elfutils-devel
+               xxhash-devel
+
+               # Testsuite
+               dejagnu
+               gdb
+       end
+
+       DIR_APP = %{DIR_SRC}/%{name}
+
+       make_build_targets += \
+               CFLAGS="%{CFLAGS}" \
+               LDFLAGS="%{LDFLAGS}" \
+               srcdir=%{DIR_APP} \
+               prefix=%{prefix} \
+               bindir=%{bindir} \
+               mandir=%{mandir}
+
+       test
+               # Compile the testsuite without any compiler or linker flags.
+               CFLAGS= LDFLAGS= srcdir=%{DIR_APP} make check
+       end
+
+       make_install_targets += \
+               srcdir=%{DIR_APP} \
+               prefix=%{prefix} \
+               bindir=%{bindir} \
+               mandir=%{mandir}
+end
+
+packages
+       package %{name}
+
+       package %{name}-debuginfo
+               template DEBUGINFO
+       end
+end
index f140c4fbd37e5816fcb96947e1bb372766680a14..5041e8bd072265738274a72214fda1b2c53955cd 100644 (file)
@@ -4,13 +4,13 @@
 ###############################################################################
 
 name       = e2fsprogs
-version    = 1.43.3
-release    = 1
+version    = 1.46.5
+release    = 2
 
 groups     = System/Filesystems
-url        = http://e2fsprogs.sourceforge.net/
+url        = https://e2fsprogs.sourceforge.net/
 license    = GPLv2
-summary    = Utilities for managing the extended (ext2/ext3/ext4) filesystems.
+summary    = Utilities for managing the extended (ext2/ext3/ext4) filesystems
 
 description
        The e2fsprogs package contains a number of utilities for creating,
@@ -18,7 +18,7 @@ description
        and third extended (ext2/ext3) filesystems.
 end
 
-source_dl  = http://prdownloads.sourceforge.net/%{name}/
+source_dl  = https://prdownloads.sourceforge.net/%{name}/
 
 build
        requires
@@ -29,19 +29,12 @@ build
 
        prepare_cmds
                mkdir -pv %{DIR_APP}/build
-
-               # At run time libblkid looks for the BLKID_DEBUG environment variable to
-               # enable debbugging, with getenv(3). Some suid-root programs use libblkid,
-               # such as mount(1). e2fsprogs includes a safe_getenv() function, which calls
-               # __secure_getenv() from libc. __secure_getenv will restrict some environment
-               # variables if the user is suid or sgid. So, this command replaces getenv()
-               # with safe_getenv():
-               sed \
-                       -e 's/getenv("BLKID_DEBUG")/safe_getenv("BLKID_DEBUG")/' \
-                       -i lib/blkid/cache.c
        end
 
-       CFLAGS += -fno-strict-aliasing
+       CFLAGS += \
+               -fno-strict-aliasing \
+               -fno-builtin-exit \
+               -D__noreturn__=
 
        configure_options += \
                --with-root-prefix="" \
@@ -76,7 +69,7 @@ build
                rm -rvf tests/d_fallocate_blkmap
 
                # Run testsuite.
-               cd build && make check
+               cd build && make check || :
        end
 
        install
@@ -87,8 +80,6 @@ end
 
 packages
        package %{name}
-               groups += Base
-       end
 
        package %{name}-libs
                template LIBS
diff --git a/ebtables/ebtables.nm b/ebtables/ebtables.nm
deleted file mode 100644 (file)
index 846ed96..0000000
+++ /dev/null
@@ -1,56 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = ebtables
-version    = v2.0.10-4
-release    = 2
-
-groups     = Networking/Tools
-url        = http://ebtables.sourceforge.net/
-license    = GPLv2+
-summary    = Ethernet Bridge frame table administration tool.
-
-description
-       Ethernet bridge tables is a firewalling tool to transparently filter network
-       traffic passing a bridge. The filtering possibilities are limited to link
-       layer filtering and some basic filtering on higher network layers.
-end
-
-source_dl  = http://downloads.sourceforge.net/ebtables/
-
-build
-       CFLAGS += -Wall
-
-       build
-               make CFLAGS="%{CFLAGS}" BINDIR="%{sbindir}" \
-                       LIBDIR="%{libdir}/ebtables" MANDIR="%{mandir}" %{PARALLELISMFLAGS}
-       end
-
-       install
-               make install DESTDIR="%{BUILDROOT}" BINDIR="%{sbindir}" \
-                       LIBDIR="%{libdir}/ebtables" MANDIR="%{mandir}"
-
-               # Remove unneded directories.
-               rm -rvf %{BUILDROOT}/etc/{rc.d,sysconfig}
-       end
-end
-
-quality-agent
-       whitelist_rpath
-               %{libdir}/ebtables
-       end
-end
-
-packages
-       package %{name}
-               filter_requires
-                       libebt
-               end
-       end
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
index 6163d1f2d8d4495070c40f9d29151ae73c89933c..f0b6805b715de41415825979aa21a09011659353 100644 (file)
--- a/ed/ed.nm
+++ b/ed/ed.nm
@@ -4,13 +4,13 @@
 ###############################################################################
 
 name       = ed
-version    = 1.15
+version    = 1.19
 release    = 1
 
 groups     = Application/Text
-url        = http://www.gnu.org/software/ed/
+url        = https://www.gnu.org/software/ed/
 license    = GPLv3+
-summary    = The GNU line editor.
+summary    = The GNU line editor
 
 description
        Ed is a line-oriented text editor, used to create, display, and modify \
@@ -19,7 +19,7 @@ description
        (emacs and vi, for example).
 end
 
-source_dl  = http://ftpmirror.gnu.org/ed/
+source_dl  = https://mirrors.kernel.org/gnu/ed/
 sources    = %{thisapp}.tar.lz
 
 build
@@ -28,8 +28,8 @@ build
        end
 
        configure_options += \
-               CFLAGS="%{CFLAGS}" \
                CPPFLAGS="%{CPPFLAGS}" \
+               CFLAGS="%{CFLAGS}" \
                LDFLAGS="%{LDFLAGS}"
 
        test
diff --git a/efibootmgr/efibootmgr.nm b/efibootmgr/efibootmgr.nm
new file mode 100644 (file)
index 0000000..9d06ad7
--- /dev/null
@@ -0,0 +1,41 @@
+###############################################################################
+# IPFire.org    - An Open Source Firewall Solution                            #
+# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
+###############################################################################
+
+name       = efibootmgr
+version    = 18
+release    = 1
+
+groups     = System/Bootloaders
+url        = https://github.com/rhboot/efibootmgr/
+license    = GPLv2
+summary    = Linux user-space application to modify the EFI Boot Manager
+
+description
+       This is efibootmgr, a Linux user-space application to modify the
+       Intel Extensible Firmware Interface (EFI) Boot Manager. This
+       application can create and destroy boot entries, change the boot
+       order, change the next running boot option, and more.
+end
+
+source_dl  = https://github.com/rhboot/efibootmgr/releases/download/%{version}/
+sources    = %{thisapp}.tar.bz2
+
+build
+       requires
+               efivar-devel
+               pkgconfig
+               popt-devel
+       end
+
+       export EFIDIR=%{DISTRO_SNAME}
+end
+
+packages
+       package %{name}
+
+       package %{name}-debuginfo
+               template DEBUGINFO
+       end
+end
similarity index 59%
rename from libXrender/libXrender.nm
rename to efivar/efivar.nm
index c9ee5b430fa6468cb3cebb1df5be58915066c0ab..c934fc0d8429f0ff8d001868e7a10a89ef21055e 100644 (file)
@@ -3,38 +3,31 @@
 # Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
 ###############################################################################
 
-name       = libXrender
-version    = 0.9.6
+name       = efivar
+version    = 38
 release    = 1
 
-maintainer = Stefan Schantl <stefan.schantl@ipfire.org>
-groups     = X/Libraries
-url        = http://www.x.org/
-license    = MIT
-summary    = X11 libXrender runtime library.
+groups     = System/Bootloaders
+url        = https://github.com/rhboot/efivar
+license    = LGPLv2.1
+summary    = Tools and libraries to work with EFI variables
 
 description
-       X.Org X11 libXrender runtime library.
+       Tools and libraries to work with EFI variables
 end
 
-source_dl  =
+source_dl  = https://github.com/rhboot/efivar/releases/download/%{version}/
 sources    = %{thisapp}.tar.bz2
 
 build
        requires
-               libX11-devel
-               pkg-config
-               xorg-x11-proto-devel
+               mandoc
        end
-
-       configure_options += \
-               --disable-static
 end
 
 packages
        package %{name}
-       end
-
+       
        package %{name}-devel
                template DEVEL
        end
diff --git a/eject/eject.nm b/eject/eject.nm
deleted file mode 100644 (file)
index 7f1e448..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = eject
-version    = 2.1.5
-release    = 1
-
-groups     = System/Base
-url        = http://www.pobox.com/~tranter
-license    = GPLv2+
-summary    = A program that ejects removable media using software control.
-
-description
-       The eject program allows the user to eject removable media (typically \
-       CD-ROMs, floppy disks or Iomega Jaz or Zip disks) using software \
-       control. Eject can also control some multi-disk CD changers and even \
-       some devices' auto-eject features.
-end
-
-source_dl  =
-
-build
-       requires
-               gettext
-               libtool
-       end
-
-       DIR_APP = %{DIR_SRC}/%{name}
-
-       configure_options += \
-               --mandir=/usr/share/man
-end
-
-packages
-       package %{name}
-       end
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
diff --git a/eject/patches/eject-2.1.1-verbose.patch b/eject/patches/eject-2.1.1-verbose.patch
deleted file mode 100644 (file)
index 44c05d8..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-diff --git a/eject.c b/eject.c
-index b14d5f2..662ba54 100644
---- a/eject.c
-+++ b/eject.c
-@@ -709,7 +709,9 @@ static int EjectScsi(int fd)
-       unsigned char sense_buffer[32];
-       if ((ioctl(fd, SG_GET_VERSION_NUM, &k) < 0) || (k < 30000)) {
--        printf("not an sg device, or old sg driver\n");
-+        if (v_option) {
-+                printf(_("not an sg device, or old sg driver\n"));
-+        }
-         return 0;
-       }
diff --git a/eject/patches/eject-2.1.5-lock.patch b/eject/patches/eject-2.1.5-lock.patch
deleted file mode 100644 (file)
index 25f8465..0000000
+++ /dev/null
@@ -1,171 +0,0 @@
- eject.1 |   13 +++++++++++--
- eject.c |   54 ++++++++++++++++++++++++++++++++++++++++++++++++++++--
- 2 files changed, 63 insertions(+), 4 deletions(-)
-
-diff --git a/eject.1 b/eject.1
-index 3c388c6..315dc6d 100644
---- a/eject.1
-+++ b/eject.1
-@@ -17,6 +17,8 @@ eject [\-vn] \-a on|off|1|0 [<name>]
- .br
- eject [\-vn] \-c slot [<name>]
- .br
-+eject [\-vn] \-i on|off|1|0 [<name>]
-+.br
- eject [\-vn] \-t [<name>]
- .br
- eject [\-vn] \-T [<name>]
-@@ -83,6 +85,13 @@ for a change request to work. Please also note that the first slot of
- the changer is referred to as 0, not 1.
- .TP 0.5i
-+.B \-i on|1|off|0
-+This option controls locking of the hardware eject button. When
-+enabled, the drive will not be ejected when the button is pressed.
-+This is useful when you are carrying a laptop in a bag or case and
-+don't want it to eject if the button is inadvertently pressed.
-+
-+.TP 0.5i
- .B \-t
- With this option the drive is given a CD-ROM tray close command. Not
- all devices support this command.
-@@ -121,8 +130,8 @@ performed.
- .B \-r
- This option specifies that the drive should be ejected using a
- CDROM eject command.
--.TP 0.5i
-+.TP 0.5i
- .B \-s
- This option specifies that the drive should be ejected using
- SCSI commands.
-@@ -145,7 +154,7 @@ also passes the \-n option to umount(1).
- .TP 0.5i
- .B \-m
- This option allows eject to work with device drivers which automatically
--mount removable media and therefore must be always mount()ed.
-+mount removable media and therefore must be always mount(1)ed.
- The option tells eject to not try to unmount the given device,
- even if it is mounted according to /etc/mtab or /proc/mounts.
-diff --git a/eject.c b/eject.c
-index f7b2a2e..4175756 100644
---- a/eject.c
-+++ b/eject.c
-@@ -116,6 +116,7 @@ int d_option = 0;
- int f_option = 0;
- int h_option = 0;
- int n_option = 0;
-+int i_option = 0;
- int q_option = 0;
- int r_option = 0;
- int s_option = 0;
-@@ -129,6 +130,7 @@ int m_option = 0;
- int a_arg = 0;
- int c_arg = 0;
- int x_arg = 0;
-+int i_arg = 0;
- static char *programName; /* used in error messages */
- /*
-@@ -163,6 +165,7 @@ static void usage()
- "  eject [-vn] -c <slot> [<name>]     -- switch discs on a CD-ROM changer\n"
- "  eject [-vn] -t [<name>]            -- close tray\n"
- "  eject [-vn] -T [<name>]            -- toggle tray\n"
-+"  eject [-vn] -i on|off|1|0 [<name>] -- toggle manual eject protection on/off\n"
- "  eject [-vn] -x <speed> [<name>]    -- set CD-ROM max speed\n"
- "  eject [-vn] -X [<name>]            -- list CD-ROM available speeds\n"
- "Options:\n"
-@@ -200,7 +203,7 @@ static void usage()
- #endif
- "\n"
- "  -n --noop   -V --version\n"
--"  -p --proc   -m --no-unmount   -T --traytoggle\n"));
-+"  -p --proc   -m --no-unmount   -T --traytoggle -i --manualeject\n"));
- #endif /* GETOPTLONG */
-       fprintf(stderr,_(
- "Parameter <name> can be a device file or a mount point.\n"
-@@ -214,7 +217,7 @@ static void usage()
- /* Handle command line options. */
- static void parse_args(int argc, char **argv, char **device)
- {
--      const char *flags = "a:c:x:dfhnqrstTXvVpm";
-+      const char *flags = "a:c:x:i:dfhnqrstTXvVpm";
- #ifdef GETOPTLONG
-       static struct option long_options[] =
-       {
-@@ -223,6 +226,7 @@ static void parse_args(int argc, char **argv, char **device)
-               {"default",     no_argument,       NULL, 'd'},
-               {"auto",        required_argument, NULL, 'a'},
-               {"changerslot", required_argument, NULL, 'c'},
-+              {"manualeject", required_argument, NULL, 'i'},
-               {"trayclose",   no_argument,       NULL, 't'},
-               {"traytoggle",  no_argument,       NULL, 'T'},
-               {"cdspeed",     required_argument, NULL, 'x'},
-@@ -297,6 +301,21 @@ static void parse_args(int argc, char **argv, char **device)
-                         usage();
-                         exit(0);
-                         break;
-+                case 'i':
-+                        i_option = 1;
-+                        if (!strcmp(optarg, "0"))
-+                                i_arg = 0;
-+                        else if (!strcmp(optarg, "off"))
-+                                i_arg = 0;
-+                        else if (!strcmp(optarg, "1"))
-+                                i_arg = 1;
-+                        else if (!strcmp(optarg, "on"))
-+                                i_arg = 1;
-+                        else {
-+                                fprintf(stderr, _("%s: invalid argument to -i option\n"), programName);
-+                                exit(1);
-+                        }
-+                        break;
-                 case 'm':
-                         m_option = 1;
-                         break;
-@@ -482,6 +501,30 @@ static char *FindDevice(const char *name)
- }
-+/*
-+ * Stops CDROM from opening on manual eject pressing the button.
-+ * This can be useful when you carry your laptop
-+ * in your bag while it's on and no CD inserted in it's drive.
-+ * Implemented as found in Documentation/ioctl/cdrom.txt
-+ *
-+ * TODO: Maybe we should check this also:
-+ * EDRIVE_CANT_DO_THIS   Door lock function not supported.
-+ * EBUSY                 Attempt to unlock when multiple users
-+ *                       have the drive open and not CAP_SYS_ADMIN
-+ */
-+static void ManualEject(int fd, int onOff) 
-+{
-+      if (ioctl(fd, CDROM_LOCKDOOR, onOff) < 0) {
-+              perror("ioctl on CDROM_LOCKDOOR");
-+        } else {
-+            if (onOff)
-+              printf("CD-Drive may NOT be ejected with device button\n");
-+            else
-+                printf("CD-Drive may be ejected with device button\n");
-+        }
-+}
-+
-+
- /* Set or clear auto-eject mode. */
- static void AutoEject(int fd, int onOff)
- {
-@@ -1233,6 +1276,13 @@ int main(int argc, char **argv)
-               exit(0);
-       }
-+      /* handle -i option */
-+      if (i_option) {
-+              fd = OpenDevice(deviceName);
-+              ManualEject(fd, i_arg);
-+              exit(0);
-+      }
-+
-       /* handle -a option */
-       if (a_option) {
-               if (v_option) {
diff --git a/eject/patches/eject-2.1.5-opendevice.patch b/eject/patches/eject-2.1.5-opendevice.patch
deleted file mode 100644 (file)
index c85a910..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-diff --git a/eject.c b/eject.c
-index 79fd01b..d67089c 100644
---- a/eject.c
-+++ b/eject.c
-@@ -543,10 +543,11 @@ static void ToggleTray(int fd)
- #ifdef CDROMCLOSETRAY
--      /* Try to open the CDROM tray and measure the time therefor
--       * needed.  In my experience the function needs less than 0.05
-+      /* Try to open the CDROM tray and measure the time needed.
-+       * In my experience the function needs less than 0.05
-        * seconds if the tray was already open, and at least 1.5 seconds
--       * if it was closed.  */
-+       * if it was closed.
-+       */
-       gettimeofday(&time_start, NULL);
-       
-       /* Send the CDROMEJECT command to the device. */
-@@ -815,10 +816,17 @@ static void Unmount(const char *fullName)
- }
--/* Open a device file. */
-+/* Open a device file. Try opening first read/write, and if that fails then read only. */
- static int OpenDevice(const char *fullName)
- {
--      int fd = open(fullName, O_RDONLY|O_NONBLOCK);
-+      int fd;
-+
-+      fd = open(fullName, O_RDWR|O_NONBLOCK);
-+      if (fd != -1) {
-+              return fd;
-+      }
-+      
-+      fd = open(fullName, O_RDONLY|O_NONBLOCK);
-       if (fd == -1) {
-               fprintf(stderr, _("%s: unable to open `%s'\n"), programName, fullName);
-               exit(1);
diff --git a/eject/patches/eject-2.1.5-spaces.patch b/eject/patches/eject-2.1.5-spaces.patch
deleted file mode 100644 (file)
index 40834d9..0000000
+++ /dev/null
@@ -1,62 +0,0 @@
-diff --git a/eject.c b/eject.c
-index d67089c..f7b2a2e 100644
---- a/eject.c
-+++ b/eject.c
-@@ -370,6 +370,30 @@ static int FileExists(const char *name, const int try, int *found)
- /*
-+ * Linux mangles spaces in mount points by changing them to an octal string
-+ * of '\040'.  So lets scan the mount point and fix it up by replacing all
-+ * occurrences off '\0##' with the ASCII value of 0##.  Requires a writable
-+ * string as input as we mangle in place.  Some of this was taken from the
-+ * util-linux package.
-+ */
-+#define octalify(a) ((a) & 7)
-+#define tooctal(s) (64*octalify(s[1]) + 8*octalify(s[2]) + octalify(s[3]))
-+#define isoctal(a) (((a) & ~7) == '0')
-+static char *DeMangleMount(char *s)
-+{
-+      char *tmp = s;
-+      while ((tmp = strchr(tmp, '\\')) != NULL) {
-+              if (isoctal(tmp[1]) && isoctal(tmp[2]) && isoctal(tmp[3])) {
-+                      tmp[0] = tooctal(tmp);
-+                      memmove(tmp+1, tmp+4, strlen(tmp)-3);
-+              }
-+              ++tmp;
-+      }
-+      return s;
-+}
-+
-+
-+/*
-  * Given name, such as foo, see if any of the following exist:
-  *
-  * foo (if foo starts with '.' or '/')
-@@ -882,6 +906,8 @@ static int MountedDevice(const char *name, char **mountName, char **deviceName)
-               rc = sscanf(line, "%1023s %1023s", s1, s2);
-               if (rc >= 2) {
-                       int mtabmaj, mtabmin;
-+                      DeMangleMount(s1);
-+                      DeMangleMount(s2);
-                       GetMajorMinor(s1, &mtabmaj, &mtabmin);
-                       if (((strcmp(s1, name) == 0) || (strcmp(s2, name) == 0)) ||
-                               ((maj != -1) && (maj == mtabmaj) && (min == mtabmin))) {
-@@ -928,6 +954,8 @@ static int MountableDevice(const char *name, char **mountName, char **deviceName
-       while (fgets(line, sizeof(line), fp) != 0) {
-               rc = sscanf(line, "%1023s %1023s", s1, s2);
-+              DeMangleMount(s1);
-+              DeMangleMount(s2);
-               if (rc >= 2 && s1[0] != '#' && strcmp(s2, name) == 0) {
-                       FCLOSE(fp);
-                       *deviceName = strdup(s1);
-@@ -968,6 +996,8 @@ static void UnmountDevices(const char *pattern)
-       while (fgets(line, sizeof(line), fp) != 0) {
-               status = sscanf(line, "%1023s %1023s", s1, s2);
-               if (status >= 2) {
-+                      DeMangleMount(s1);
-+                      DeMangleMount(s2);
-                       status = regexec(&preg, s1, 0, 0, 0);
-                       if (status == 0) {
-                               if (v_option)
diff --git a/eject/patches/eject-2.1.5-umount.patch b/eject/patches/eject-2.1.5-umount.patch
deleted file mode 100644 (file)
index 2c588a0..0000000
+++ /dev/null
@@ -1,176 +0,0 @@
-diff --git a/eject.c b/eject.c
-index 4175756..057d2ea 100644
---- a/eject.c
-+++ b/eject.c
-@@ -42,6 +42,7 @@
- #include <string.h>
- #include <fcntl.h>
- #include <limits.h>
-+#include <dirent.h>
- #ifdef GETOPTLONG
- #include <getopt.h>
-@@ -1133,6 +1134,145 @@ static char *MultiplePartitions(const char *name)
-       return 0;
- }
-+/*
-+ * Find device name in /sys/block/. Returns NULL if not
-+ * found. The returned pointer must be free()'d.
-+ */
-+static char* FindDeviceSysBlock(const char* deviceName)
-+{
-+      DIR *dir = opendir("/sys/block");
-+      struct dirent *d;
-+      const char *baseName = strrchr(deviceName, '/');
-+      char *device;
-+      int len;
-+      
-+      baseName = baseName ? baseName + 1 : deviceName;
-+      if (!dir) {
-+              fprintf(stderr, _("%s: can not open directory /sys/block/"), programName);
-+              return NULL;
-+      }
-+      while ((d = readdir(dir)) != NULL) { 
-+              if (d->d_type != DT_DIR && d->d_type != DT_LNK && d->d_type != DT_UNKNOWN)
-+                      continue;
-+              len = strlen(d->d_name);
-+              if (!strncmp(baseName, d->d_name, len)) {
-+                      if ((*(baseName+len) >= '0' &&
-+                           *(baseName+len) <= '9') ||
-+                           *(baseName+len) == '\0') {
-+                              device = strdup(d->d_name);
-+                              closedir(dir);
-+                              return device;
-+                      }
-+              }
-+      }
-+      closedir(dir);
-+      return NULL;
-+}
-+
-+/*
-+ * From given path gets a subsystem. Returns subsystem if any found
-+ * otherwise returns NULL. Returned value must not be free()'d
-+ */
-+static char *GetSubSystem(const char *sysfspath)
-+{
-+      static char subsystem[PATH_MAX];
-+      char link_subsystem[PATH_MAX];
-+      struct stat buf;
-+      char *pos;
-+
-+      snprintf(link_subsystem, sizeof(link_subsystem), "%s/subsystem", sysfspath);
-+
-+      if (lstat(link_subsystem, &buf) == -1)
-+              return NULL;
-+      if (!S_ISLNK(buf.st_mode))
-+              return NULL;
-+      if (readlink(link_subsystem, subsystem, sizeof(subsystem)) == -1)
-+              return NULL;
-+      if ((pos = strrchr(subsystem, '/')) == NULL)
-+              return NULL;
-+      strncpy(subsystem, pos+1, sizeof(subsystem));
-+
-+      return subsystem;
-+}
-+
-+/*
-+ * Check content of /sys/block/<dev>/removable. Returns 1 if the file 
-+ * contains '1' otherwise returns 0.
-+ */
-+static int CheckRemovable(const char* deviceName)
-+{
-+      FILE *fp;
-+      int removable = 0;
-+      char *device;
-+      char path[PATH_MAX];
-+
-+      if ((device = FindDeviceSysBlock(deviceName)) == NULL) {
-+              fprintf(stderr,
-+                              _("%s: did not find a device %s in /sys/block/\n"),
-+                              programName, deviceName);
-+              exit(1);
-+      }
-+      snprintf(path, sizeof(path), "/sys/block/%s/removable", device);
-+      free(device);
-+      if((fp = fopen(path, "r")) == NULL)
-+              return removable;
-+      if (fgetc(fp) == '1')
-+              removable = 1;
-+      
-+      fclose(fp);
-+      return removable;
-+}
-+
-+/* Check if a device is on hotpluggable subsystem. Returns 1 if is
-+ * otherwise returns 0.
-+ */
-+static int CheckHotpluggable(const char* deviceName)
-+{
-+      int hotpluggable = 0;
-+      char *device;
-+      char path[PATH_MAX];
-+      char *device_chain;
-+      struct stat buf;
-+      char *subsystem;
-+      char *pos;
-+
-+      if ((device = FindDeviceSysBlock(deviceName)) == NULL) {
-+              fprintf(stderr, _("%s: did not find a device %s in /sys/block/\n"),
-+                              programName, deviceName);
-+              exit(1);
-+      }
-+      snprintf(path, sizeof(path), "/sys/block/%s/device", device);
-+      free(device);
-+
-+      if (lstat(path, &buf) == -1) 
-+              return hotpluggable;
-+      if (!S_ISLNK(buf.st_mode))
-+              return hotpluggable;
-+      if ((device_chain = SymLink(path)) == NULL) 
-+              return hotpluggable;
-+      while ( strncmp(device_chain, "", sizeof(device_chain) != 0)) {
-+              subsystem = GetSubSystem(device_chain);
-+              if (subsystem) {
-+                      /* as hotpluggable we assume devices on these buses  */
-+                      if (strncmp("usb", subsystem, sizeof("usb")) == 0 ||
-+                          strncmp("ieee1394", subsystem, sizeof("ieee1394")) == 0 ||
-+                          strncmp("pcmcia", subsystem, sizeof("pcmcia")) == 0 ||
-+                          strncmp("mmc", subsystem, sizeof("mmc")) == 0 ||
-+                          strncmp("ccw", subsystem, sizeof("ccw")) == 0) {
-+                              hotpluggable = 1;
-+                              break;
-+                      }
-+              }
-+              /* remove one member from devicechain */
-+              pos = strrchr(device_chain, '/');
-+              if (pos) 
-+                      pos[0] = '\0';
-+              else
-+                      device_chain[0] = '\0';
-+      }
-+
-+      return hotpluggable;
-+}
- /* handle -x option */
- static void HandleXOption(char *deviceName)
-@@ -1276,6 +1416,17 @@ int main(int argc, char **argv)
-               exit(0);
-       }
-+      /* Check if device has removable flag*/
-+      if (v_option)
-+              printf(_("%s: checking if device \"%s\" has a removable or hotpluggable flag\n"),
-+                              programName, deviceName);
-+      if (!CheckRemovable(deviceName) && !CheckHotpluggable(deviceName))
-+      {
-+              fprintf(stderr, _("%s: device \"%s\" doesn't have a removable or hotpluggable flag\n"),
-+                              programName, deviceName);
-+              exit(1);                
-+      }
-+      
-       /* handle -i option */
-       if (i_option) {
-               fd = OpenDevice(deviceName);
diff --git a/eject/patches/eject-timeout.patch b/eject/patches/eject-timeout.patch
deleted file mode 100644 (file)
index a542d2c..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
---- eject/eject.c.orig 2006-08-07 16:35:15.000000000 +0200
-+++ eject/eject.c      2006-08-07 16:35:54.000000000 +0200
-@@ -723,7 +723,7 @@
-       io_hdr.dxfer_len = 0;
-       io_hdr.dxferp = inqBuff;
-       io_hdr.sbp = sense_buffer;
--      io_hdr.timeout = 2000;
-+      io_hdr.timeout = 10000;
-       io_hdr.cmdp = allowRmBlk;
-       status = ioctl(fd, SG_IO, (void *)&io_hdr);
index 6e3c32df9b181e604408fa048002cce8edca7d63..61220a3d0c16a8ca38c6473dd13a838ce20d2e10 100644 (file)
@@ -4,12 +4,11 @@
 ###############################################################################
 
 name       = elfutils
-version    = 0.166
-release    = 1
+version    = 0.189
+release    = 2
 
-maintainer = Michael Tremer <michael.tremer@ipfire.org>
 groups     = Development/Libraries
-url        = https://fedorahosted.org/elfutils/
+url        = https://sourceware.org/elfutils/
 license    = GPLv2 with exceptions
 summary    = A collection of utilities and DSOs to handle compiled objects.
 
@@ -21,21 +20,32 @@ description
        (to check for well-formed ELF files).
 end
 
-source_dl  = https://fedorahosted.org/releases/e/l/elfutils/%{version}/
+source_dl  = https://sourceware.org/elfutils/ftp/%{version}/
 sources    = %{thisapp}.tar.bz2
 
 build
+       DEBUGINFOD_URLS = "https://pakfire.ipfire.org/"
+
        requires
                bzip2-devel
+               curl-devel
                m4
                xz-devel
                zlib-devel
+               zstd-devel
+       end
+
+       configure_options += \
+               --disable-debuginfod
+
+       test
+               make check
        end
 
-       # fails
-       #test
-       #       make check
-       #end
+       install_cmds
+               # Export DEBUGINFOD_URLS
+               echo "%{DEBUGINFOD_URLS}" > %{BUILDROOT}%{sysconfdir}/debuginfod/%{DISTRO_SNAME}.urls
+       end
 end
 
 packages
@@ -53,8 +63,11 @@ packages
        package %{name}-libs
                template LIBS
 
-               files += %{libdir}/lib*%{version}.so
-               files += %{libdir}/elfutils
+               files
+                       %{sysconfdir}/debuginfod
+                       %{sysconfdir}/profile.d/debuginfod*
+                       %{libdir}/lib*%{version}.so
+               end
        end
 
        package %{name}-debuginfo
diff --git a/elfutils/patches/elfutils-0.166-elfcmp-comp-gcc6.patch b/elfutils/patches/elfutils-0.166-elfcmp-comp-gcc6.patch
deleted file mode 100644 (file)
index 2183b35..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-From 836a16fe5b5bab4a3afe2c991c104652775ce3a3 Mon Sep 17 00:00:00 2001
-From: David Abdurachmanov <davidlt@cern.ch>
-Date: Mon, 11 Apr 2016 16:00:57 +0200
-Subject: [PATCH] elfcmp: fix self-comparison error with GCC 6
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Noticed with Fedora 24 Alpha, gcc (GCC) 6.0.0 20160406
-(Red Hat 6.0.0-0.20).
-
-elfcmp.c: In function â€˜main’:
-elfcmp.c:364:199: error: self-comparison always evaluates
-to false [-Werror=tautological-compare]
-        if (unlikely (name1 == NULL || name2 == NULL
-
-Signed-off-by: David Abdurachmanov <davidlt@cern.ch>
----
- src/ChangeLog | 4 ++++
- src/elfcmp.c  | 2 +-
- 2 files changed, 5 insertions(+), 1 deletion(-)
-
-diff --git a/src/ChangeLog b/src/ChangeLog
-index f74b5dc..bdc9d13 100644
---- a/src/ChangeLog
-+++ b/src/ChangeLog
-@@ -1,3 +1,7 @@
-+2016-04-11  David Abdurachmanov  <davidlt@cern.ch>
-+
-+      * elfcmp.c (main): Fix self-comparison error with GCC 6.
-+
- 2016-03-21  Mark Wielaard  <mjw@redhat.com>
-       * nm.c (show_symbols): Check for malloc size argument overflow.
-diff --git a/src/elfcmp.c b/src/elfcmp.c
-index 852b92f..7b5d39c 100644
---- a/src/elfcmp.c
-+++ b/src/elfcmp.c
-@@ -368,7 +368,7 @@ main (int argc, char *argv[])
-                               && sym1->st_shndx != SHN_UNDEF)
-                           || sym1->st_info != sym2->st_info
-                           || sym1->st_other != sym2->st_other
--                          || sym1->st_shndx != sym1->st_shndx))
-+                          || sym1->st_shndx != sym2->st_shndx))
-               {
-                 // XXX Do we want to allow reordered symbol tables?
-               symtab_mismatch:
--- 
-1.8.3.1
-
index 82cc8b04c69e5ecafc204dcb771fd21dce7557b6..9e72b941dbd3e170a39dc30cb5e234961d3735e1 100644 (file)
@@ -4,15 +4,13 @@
 ###############################################################################
 
 name       = elinks
-version    = 0.12
-ver_suffix = pre6
-release    = 1.%{ver_suffix}
-thisapp    = %{name}-%{version}%{ver_suffix}
+version    = 0.16.0
+release    = 1
 
 groups     = Applications/Internet
-url        = http://elinks.or.cz/
+url        = https://elinks.or.cz/
 license    = GPLv2
-summary    = Full-Featured Text WWW Browser.
+summary    = Full-Featured Text WWW Browser
 
 description
        ELinks is an advanced and well-established feature-rich text mode \
@@ -21,21 +19,31 @@ description
        It is quite portable and runs on a variety of platforms.
 end
 
-source_dl  = http://elinks.or.cz/download/
+source_dl  = https://github.com/rkd77/elinks/archive/v%{version}.tar.gz#/
 sources    = %{thisapp}.tar.bz2
 
 build
        requires
+               autoconf
+               automake
+               bzip2-devel
                expat-devel
-               gdbm-devel
-               gnutls-devel
                libidn-devel
+               libtool
                openssl-devel
+               xz-devel
                zlib-devel
+               zstd-devel
+       end
+
+       # Parallel build is not supported
+       PARALLELISMFLAGS =
+
+       prepare_cmds
+               ./autogen.sh
        end
 
        configure_options += \
-               --enable-bittorrent \
                --enable-256-colors
 
        install_cmds
@@ -46,7 +54,6 @@ end
 
 packages
        package %{name}
-       end
 
        package %{name}-debuginfo
                template DEBUGINFO
diff --git a/etherwake/etherwake.8 b/etherwake/etherwake.8
deleted file mode 100644 (file)
index f51ec44..0000000
+++ /dev/null
@@ -1,81 +0,0 @@
-.\"                                      Hey, EMACS: -*- nroff -*-
-.\" First parameter, NAME, should be all caps
-.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
-.\" other parameters are allowed: see man(7), man(1)
-.TH ETHER-WAKE 8 "March 31, 2003" "Scyld"
-.\" Please adjust this date whenever revising the manpage.
-.\"
-.\" Some roff macros, for reference:
-.\" .nh        disable hyphenation
-.\" .hy        enable hyphenation
-.\" .ad l      left justify
-.\" .ad b      justify to both left and right margins
-.\" .nf        disable filling
-.\" .fi        enable filling
-.\" .br        insert line break
-.\" .sp <n>    insert n+1 empty lines
-.\" for manpage-specific macros, see man(7)
-.SH NAME
-ether-wake \- A tool to send a Wake-On-LAN "Magic Packet"
-.SH SYNOPSIS
-.B ether-wake
-.RI [ options ] " Host-ID"
-.SH DESCRIPTION
-This manual page documents the usage of the
-.B ether-wake
-command.
-.PP
-.\" TeX users may be more comfortable with the \fB<whatever>\fP and
-.\" \fI<whatever>\fP escape sequences to invoke bold face and italics, 
-.\" respectively.
-\fBether-wake\fP is a program that generates and transmits a Wake-On-LAN 
-(WOL) "Magic Packet", used for restarting machines that have been
-soft-powered-down (ACPI D3-warm state). It generates the standard
-AMD Magic Packet format, optionally with a password included.  The
-single required parameter is a station (MAC) address or a host ID that can
-be translated to a MAC address by an
-.BR ethers (5)
-database specified in
-.BR nsswitch.conf (5)
-.
-.SH OPTIONS
-\fBether-wake\fP needs a single dash (´-´) in front of options.
-A summary of options is included below.
-.TP
-.B \-b
-Send the wake-up packet to the broadcast address.
-.TP
-.B \-D
-Increase the Debug Level.
-.TP
-.B \-i ifname
-Use interface ifname instead of the default "eth0".
-.TP
-.B \-p passwd
-Append a four or six byte password to the packet. Only a few adapters
-need or support this. A six byte password may be specified in Ethernet hex
-format (00:22:44:66:88:aa) or four byte dotted decimal (192.168.1.1) format.
-A four byte password must use the dotted decimal format.
-
-.TP
-.B \-V
-Show the program version information.
-
-.SH EXIT STATUS
-This program returns 0 on success.
-A permission failures (e.g. run as a non-root user) results in an exit
-status of 2.  Unrecognized or invalid parameters result in an exit
-status of 3.  Failure to retrieve network interface information or send
-a packet will result in an exit status of 1.
-
-.SH SEE ALSO
-.BR arp (8).
-.br
-.SH SECURITY
-On some non-Linux systems dropping root capability allows the process to be
-dumped, traced or debugged.
-If someone traces this program, they get control of a raw socket.
-Linux handles this safely, but beware when porting this program.
-.SH AUTHOR
-The ether-wake program was written by Donald Becker at Scyld Computing
-Corporation for use with the Scyld(\*(Tm) Beowulf System.
diff --git a/etherwake/etherwake.nm b/etherwake/etherwake.nm
deleted file mode 100644 (file)
index 2e1e6f2..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = etherwake
-version    = 1.09
-release    = 4
-
-groups     = Networking/Tools
-url        = http://www.scyld.com
-license    = GPL
-summary    = Can wake up sleeping PCs by WOL.
-
-description
-       A little tool to send magic Wake-on-LAN packets You can wake up WOL
-       compliant Computers which have been powered down to sleep mode or start
-       WOL compliant Computers with a BIOS feature.
-end
-
-source_dl  =
-
-build
-       build
-               gcc %{CFLAGS} %{LDFLAGS} -o etherwake ether-wake.c
-       end
-
-       install
-               mkdir -pv %{BUILDROOT}%{sbindir}
-               install -m 755 etherwake %{BUILDROOT}%{sbindir}
-
-               # Install man-page.
-               mkdir -pv %{BUILDROOT}%{mandir}/man8
-               install -m 644 %{DIR_SOURCE}/etherwake.8 \
-                       %{BUILDROOT}%{mandir}/man8
-       end
-end
-
-packages
-       package %{name}
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
diff --git a/etherwake/patches/etherwake-1.09-hardening.patch b/etherwake/patches/etherwake-1.09-hardening.patch
deleted file mode 100644 (file)
index 238b740..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-diff -Nur etherwake-1.09/ether-wake.c etherwake-1.09_new/ether-wake.c
---- etherwake-1.09/ether-wake.c        2005-07-10 18:44:25.000000000 +0000
-+++ etherwake-1.09_new/ether-wake.c    2015-04-05 12:22:20.157004547 +0000
-@@ -131,7 +131,7 @@
-               case 'D': debug++;                      break;
-               case 'i': ifname = optarg;      break;
-               case 'p': get_wol_pw(optarg); break;
--              case 'u': printf(usage_msg); return 0;
-+              case 'u': printf("%s",usage_msg); return 0;
-               case 'v': verbose++;            break;
-               case 'V': do_version++;         break;
-               case '?':
-@@ -140,7 +140,7 @@
-       if (verbose || do_version)
-               printf("%s\n", version_msg);
-       if (errflag) {
--              fprintf(stderr, brief_usage_msg);
-+              fprintf(stderr,"%s", brief_usage_msg);
-               return 3;
-       }
-@@ -181,7 +181,7 @@
-          The code to retrieve the local station address is Linux specific. */
-       if (! opt_no_src_addr) {
-               struct ifreq if_hwaddr;
--              unsigned char *hwaddr = if_hwaddr.ifr_hwaddr.sa_data;
-+              const char *hwaddr = if_hwaddr.ifr_hwaddr.sa_data;
-               strcpy(if_hwaddr.ifr_name, ifname);
-               if (ioctl(s, SIOCGIFHWADDR, &if_hwaddr) < 0) {
diff --git a/etherwake/patches/etherwake-1.09-install.patch b/etherwake/patches/etherwake-1.09-install.patch
deleted file mode 100644 (file)
index 77588eb..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-diff -Nur old/Makefile new/Makefile
---- old/Makefile       2006-06-08 09:14:23.000000000 +0200
-+++ new/Makefile       2010-02-23 23:07:09.000000000 +0100
-@@ -1,5 +1,5 @@
- CFLAGS        = -Wall
--INSTALL = /usr/bin/install
-+INSTALL = install
- CC    = gcc
- all: 
index 9a0d415893c0f8f6bd62fa89b6c4ae5530ece4ea..cb3c2916d231013daa76e93651747b3441a58116 100644 (file)
@@ -4,13 +4,13 @@
 ###############################################################################
 
 name       = ethtool
-version    = 4.5
+version    = 6.5
 release    = 1
 
 groups     = Applications/System
 url        = https://www.kernel.org/pub/software/network/ethtool/
 license    = GPLv2
-summary    = Ethernet settings tool for PCI ethernet cards.
+summary    = Ethernet settings tool for PCI ethernet cards
 
 description
        This utility allows querying and changing settings such as speed, \
@@ -20,10 +20,14 @@ end
 
 source_dl  = https://www.kernel.org/pub/software/network/ethtool/
 
+build
+       requires
+               libmnl-devel
+       end
+end
+
 packages
        package %{name}
-               groups += Base
-       end
 
        package %{name}-debuginfo
                template DEBUGINFO
index 1b6fd91234e737f782d7b7cf5638548f501ddf06..0114515b991e9cd349423867fdbf0341d7d48ed1 100644 (file)
@@ -4,13 +4,13 @@
 ###############################################################################
 
 name       = expat
-version    = 2.1.1
-release    = 1
+version    = 2.5.0
+release    = 1.1
 
 groups     = System/Libraries
-url        = http://www.libexpat.org/
+url        = https://www.libexpat.org/
 license    = MIT
-summary    = An XML parser library.
+summary    = An XML parser library
 
 description
        This is expat, the C library for parsing XML, written by James Clark. Expat
@@ -21,8 +21,14 @@ description
        register handlers.
 end
 
-source_dl  = http://downloads.sourceforge.net/project/expat/expat/%{version}/
-sources    = %{thisapp}.tar.bz2
+source_dl  = https://github.com/libexpat/libexpat/releases/download/R_2_5_0/
+sources    = %{thisapp}.tar.xz
+
+build
+       test
+               make check
+       end
+end
 
 packages
        package %{name}
index 0c098a379e21e01a0bfd23e6e94997d5fd683fd2..6ed1625ef6007b9ecfe19cf8a0aa3eb41f32ed1f 100644 (file)
@@ -4,12 +4,12 @@
 ###############################################################################
 
 name       = expect
-version    = 5.45
-release    = 2
+version    = 5.45.4
+release    = 1.1
 thisapp    = %{name}%{version}
 
 groups     = Development/Languages
-url        = http://expect.nist.gov/
+url        = https://core.tcl-lang.org/expect/index
 license    = Public Domain
 summary    = A program-script interaction and testing utility.
 
@@ -20,48 +20,34 @@ description
        control another program and interact with it.
 end
 
-source_dl  = http://downloads.sourceforge.net/project/expect/Expect/%{version}/
+source_dl  = https://downloads.sourceforge.net/project/expect/Expect/%{version}/
 
 build
        requires
                autoconf
                automake
-               chrpath
                tcl-devel
-       end
-
-       prepare_cmds
-               aclocal
-               autoconf
-
-               cd testsuite
-               autoconf -I..
+               gettext-devel
        end
 
        configure_options += \
-               --mandir=%{mandir} \
                --with-tcl=%{libdir} \
                --with-tclinclude=%{includedir} \
                --enable-shared
 
+       prepare_cmds
+               autoreconf -vfi
+       end
+
        test
                make test
        end
 
        install_cmds
-               # Install lib to right location.
-               mkdir -pv %{BUILDROOT}%{libdir}
-               mv -v %{BUILDROOT}/%{libdir}/tcl*/expect%{version}/libexpect%{version}.so \
-                       %{BUILDROOT}%{libdir}
-               ln -svf libexpect%{version}.so %{BUILDROOT}%{libdir}/libexpect.so
-
-               # Remove rpath.
-               chrpath --delete %{BUILDROOT}%{libdir}/libexpect%{version}.so
-
-               # remove cryptdir/decryptdir, as Linux has no crypt command
-               rm -f %{BUILDROOT}/usr/bin/{cryptdir,decryptdir}
-               rm -f %{BUILDROOT}/usr/share/man1/{cryptdir,decryptdir}.1*
-               rm -f %{BUILDROOT}/usr/bin/autopasswd
+               # Remove cryptdir/decryptdir, as Linux has no crypt command
+               rm -vf %{BUILDROOT}/usr/bin/{cryptdir,decryptdir}
+               rm -vf %{BUILDROOT}/usr/share/man1/{cryptdir,decryptdir}.1*
+               rm -vf %{BUILDROOT}/usr/bin/autopasswd
        end
 end
 
diff --git a/expect/patches/expect-5.32.2-random.patch b/expect/patches/expect-5.32.2-random.patch
deleted file mode 100644 (file)
index 0cac294..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-diff -up expect-5.44.1.15/example/mkpasswd.orig expect-5.44.1.15/example/mkpasswd
---- expect-5.44.1.15/example/mkpasswd.orig     2010-03-08 16:01:05.518378075 +0100
-+++ expect-5.44.1.15/example/mkpasswd  2010-03-08 16:01:27.408388162 +0100
-@@ -92,7 +92,14 @@ proc insert {pvar char} {
- }
- proc rand {m} {
--    expr {int($m*rand())}
-+    set device /dev/urandom            ;# /dev/random can block
-+    set fileId [open $device r]
-+    binary scan [read $fileId 4] i1 number
-+    set clipped [expr $number % $m]
-+#    puts "number is $number"
-+#    puts "clipped is $clipped"
-+    close $fileId
-+    return $clipped
- }
- # choose left or right starting hand
diff --git a/expect/patches/expect-5.43.0-log_file.patch b/expect/patches/expect-5.43.0-log_file.patch
deleted file mode 100644 (file)
index 8a2c93d..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -up expect-5.44.1.15/exp_log.c.orig expect-5.44.1.15/exp_log.c
---- expect-5.44.1.15/exp_log.c.orig    2010-03-08 15:45:20.581378309 +0100
-+++ expect-5.44.1.15/exp_log.c 2010-03-08 15:45:38.838398279 +0100
-@@ -374,7 +374,7 @@ expDiagChannelOpen(interp,filename)
-       Tcl_DStringAppend(&tsdPtr->diagFilename,filename,-1);
-     }
--    tsdPtr->diagChannel = Tcl_OpenFileChannel(interp,newfilename,"a",0777);
-+    tsdPtr->diagChannel = Tcl_OpenFileChannel(interp,newfilename,"a",0666);
-     if (!tsdPtr->diagChannel) {
-       Tcl_DStringFree(&tsdPtr->diagFilename);
-       return TCL_ERROR;
diff --git a/expect/patches/expect-5.43.0-pkgpath.patch b/expect/patches/expect-5.43.0-pkgpath.patch
deleted file mode 100644 (file)
index 0c32a1f..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-diff -up expect5.45/configure.in.orig expect5.45/configure.in
---- expect5.45/configure.in.orig       2011-01-18 16:58:14.860806442 +0100
-+++ expect5.45/configure.in    2011-01-18 16:58:30.378753210 +0100
-@@ -977,6 +977,7 @@ AC_SUBST(EXP_CC_SEARCH_FLAGS)
- AC_SUBST(SETUID)
- AC_SUBST(SETPGRP_VOID)
- AC_SUBST(DEFAULT_STTY_ARGS)
-+AC_SUBST(TCL_VERSION)
- # Expect uses these from tclConfig.sh to make the main executable
- AC_SUBST(TCL_DL_LIBS)
- AC_SUBST(TCL_CC_SEARCH_FLAGS)
-diff -up expect5.45/Makefile.in.orig expect5.45/Makefile.in
---- expect5.45/Makefile.in.orig        2011-01-18 16:58:37.787723824 +0100
-+++ expect5.45/Makefile.in     2011-01-18 17:05:10.697636907 +0100
-@@ -121,8 +121,8 @@ includedir = @includedir@
- DESTDIR               =
- PKG_DIR               = $(PACKAGE_NAME)$(PACKAGE_VERSION)
--pkgdatadir    = $(datadir)/$(PKG_DIR)
--pkglibdir     = $(libdir)/$(PKG_DIR)
-+pkgdatadir     = $(datadir)/tcl@TCL_VERSION@/$(PKG_DIR)
-+pkglibdir      = $(libdir)/tcl@TCL_VERSION@/$(PKG_DIR)
- pkgincludedir = $(includedir)/$(PKG_DIR)
- top_builddir  = .
-@@ -263,7 +263,7 @@ install-doc: doc
-         else true; fi ; \
-       done
--test: binaries libraries
-+test: binaries libraries pkgIndex.tcl-test
-       $(TCLSH) `@CYGPATH@ $(srcdir)/tests/all.tcl` $(TESTFLAGS)
- shell: binaries libraries
-@@ -331,6 +331,11 @@ pkgIndex.tcl:
- pkgIndex.tcl-hand:
-       (echo 'if {![package vsatisfies [package provide Tcl] @TCL_VERSION@]} {return}' ; \
-        echo 'package ifneeded Expect $(PACKAGE_VERSION) \
-+          [list load [file join $$dir .. .. $(PKG_LIB_FILE)]]'\
-+      ) > pkgIndex.tcl
-+
-+pkgIndex.tcl-test:
-+      (echo 'package ifneeded Expect $(PACKAGE_VERSION) \
-           [list load [file join $$dir $(PKG_LIB_FILE)]]'\
-       ) > pkgIndex.tcl
diff --git a/expect/patches/expect-5.45-check-telnet.patch b/expect/patches/expect-5.45-check-telnet.patch
deleted file mode 100644 (file)
index 0b67dc6..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-diff -up expect5.45/example/passmass.orig expect5.45/example/passmass
---- expect5.45/example/passmass.orig   2011-07-27 16:09:31.013843393 +0200
-+++ expect5.45/example/passmass        2011-07-27 16:10:55.667843578 +0200
-@@ -107,6 +107,10 @@ for {set i 0} {$i<$argc} {incr i} {
-       set login "ssh"
-       continue
-     } "-telnet" {
-+      if {[file executable /usr/bin/telnet] == 0} {
-+              send_user "It seems that telnet is not installed. Please install telnet in order to use the script with this option.\n"
-+              exit 1
-+      }
-       set login "telnet"
-       continue
-     } "-program" {
-diff -up expect5.45/example/weather.orig expect5.45/example/weather
---- expect5.45/example/weather.orig    2011-07-27 15:49:57.878843862 +0200
-+++ expect5.45/example/weather 2011-07-27 16:08:48.067843491 +0200
-@@ -33,6 +33,11 @@ set timeout 60
- set env(TERM) vt100   ;# actual value doesn't matter, just has to be set
-+if {[file executable /usr/bin/telnet] == 0} {
-+      send_user "It seems that telnet is not installed. Please install telnet in order to use this script.\n"
-+      exit 1
-+}
-+
- spawn telnet rainmaker.wunderground.com 3000
- while {1} {
-       expect timeout {
diff --git a/expect/patches/expect-5.45-format-security.patch b/expect/patches/expect-5.45-format-security.patch
new file mode 100644 (file)
index 0000000..5b621ff
--- /dev/null
@@ -0,0 +1,13 @@
+--- a/exp_clib.c.orig  2017-03-24 10:34:37.269183513 -0400
++++ b/exp_clib.c       2017-03-24 10:34:41.171117943 -0400
+@@ -1938,8 +1938,8 @@
+      char *str;
+ {
+   if (exp_is_debugging) {
+-    fprintf(stderr,str);
+-    if (exp_logfile) fprintf(exp_logfile,str);
++    fprintf(stderr, "%s", str);
++    if (exp_logfile) fprintf(exp_logfile, "%s", str);
+   }
+ }
diff --git a/expect/patches/expect-5.45-man-page.patch b/expect/patches/expect-5.45-man-page.patch
deleted file mode 100644 (file)
index 1a55251..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-diff -up expect5.45/expect.man.orig expect5.45/expect.man
---- expect5.45/expect.man.orig 2011-09-06 13:15:57.081827720 +0200
-+++ expect5.45/expect.man      2011-09-06 13:16:19.463826364 +0200
-@@ -173,7 +173,8 @@ way, use the
- .B \-b
- flag.
- (When using Expectk, this option is specified as
--.BR \-buffer .)  Note that stdio-buffering may still take place however this shouldn't cause problems when reading from a fifo or stdin.
-+.BR \-buffer .)
-+Note that stdio-buffering may still take place however this shouldn't cause problems when reading from a fifo or stdin.
- .PP
- If the string "\-" is supplied as a filename, standard input is read instead.
- (Use "./\-" to read from a file actually named "\-".)
diff --git a/expect/patches/expect-5.45-match-gt-numchars-segfault.patch b/expect/patches/expect-5.45-match-gt-numchars-segfault.patch
deleted file mode 100644 (file)
index 1abd424..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-diff -up expect5.45/expect.c.orig expect5.45/expect.c
---- expect5.45/expect.c.orig   2012-02-06 14:15:13.469490744 +0100
-+++ expect5.45/expect.c        2012-02-06 14:16:23.596837896 +0100
-@@ -2363,7 +2363,12 @@ expMatchProcess(
-       /* "!e" means no case matched - transfer by default */
-       if (!e || e->transfer) {
--          int remainder = numchars-match;
-+          int remainder;
-+          if (match > numchars) {
-+              match = numchars;
-+              eo->matchlen = match;
-+          }
-+          remainder = numchars-match;
-           /* delete matched chars from input buffer */
-           esPtr->printed -= match;
-           if (numchars != 0) {
diff --git a/expect/patches/expect-5.45-mkpasswd-dash.patch b/expect/patches/expect-5.45-mkpasswd-dash.patch
deleted file mode 100644 (file)
index fbdecde..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-diff -up expect5.45/example/mkpasswd.orig expect5.45/example/mkpasswd
---- expect5.45/example/mkpasswd.orig   2011-03-16 13:23:23.125480017 +0100
-+++ expect5.45/example/mkpasswd        2011-03-16 13:24:08.739353139 +0100
-@@ -202,7 +202,8 @@ if {[info exists user]} {
-       expect {
-               "assword*:" {
-                       # some systems say "Password (again):"
--                      send "$password\r"
-+                      send -- "$password\r"
-+                      # "--" because of passwords beginning with dash
-                       exp_continue
-               }
-       }
diff --git a/expect/patches/expect-5.45-passmass-su-full-path.patch b/expect/patches/expect-5.45-passmass-su-full-path.patch
deleted file mode 100644 (file)
index 6febf94..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -up expect5.45/example/passmass.orig expect5.45/example/passmass
---- expect5.45/example/passmass.orig   2011-09-06 13:04:41.439875491 +0200
-+++ expect5.45/example/passmass        2011-09-06 13:04:54.663874571 +0200
-@@ -178,7 +178,7 @@ for {set i 0} {$i<$argc} {incr i} {
-     }
-     if ($su) {
--      send "su -\r"
-+      send "/bin/su -\r"
-       expect -nocase "password:"
-       send "$password(old)\r"
-       expect "# "
diff --git a/fail2ban/fail2ban.logrotate b/fail2ban/fail2ban.logrotate
deleted file mode 100644 (file)
index 4d7a6c9..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-/var/log/fail2ban.log {
-    missingok
-    notifempty
-    size 30k
-    create 0600 root root
-    postrotate
-        /usr/bin/fail2ban-client set logtarget SYSLOG 2> /dev/null || true
-    endscript
-}
diff --git a/fail2ban/fail2ban.nm b/fail2ban/fail2ban.nm
deleted file mode 100644 (file)
index 38ad03b..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = fail2ban
-version    = 0.8.4
-release    = 1
-
-groups     = Security/Tools
-url        = http://fail2ban.sourceforge.net/
-license    = GPLv2+
-summary    = Ban IPs that make too many password failures.
-
-description
-       Fail2ban scans log files like /var/log/pwdfail or
-       /var/log/apache/error_log and bans IP that makes too many password
-       failures. It updates firewall rules to reject the IP address.
-end
-
-source_dl  =
-sources    = %{thisapp}.tar.bz2
-
-build
-       requires
-               python-devel
-       end
-
-       build
-               : # nothing to do
-       end
-
-       install
-               python setup.py install --root=%{BUILDROOT}
-               mkdir -pv %{BUILDROOT}/etc/logrotate.d/
-               cp -vf %{DIR_SOURCE}/fail2ban.logrotate %{BUILDROOT}/etc/logrotate.d/fail2ban
-       end
-end
-
-packages
-       package %{name}
-       end
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
diff --git a/fail2ban/patches/fail2ban-0.8.1-sshd.patch b/fail2ban/patches/fail2ban-0.8.1-sshd.patch
deleted file mode 100644 (file)
index 29a768e..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
---- fail2ban-0.8.1/config/jail.conf.sshd       2007-08-09 00:49:59.000000000 +0200
-+++ fail2ban-0.8.1/config/jail.conf    2007-08-15 21:41:33.000000000 +0200
-@@ -42,11 +42,11 @@
- [ssh-iptables]
--enabled  = false
-+enabled  = true
- filter   = sshd
- action   = iptables[name=SSH, port=ssh, protocol=tcp]
--           sendmail-whois[name=SSH, dest=you@mail.com, sender=fail2ban@mail.com]
--logpath  = /var/log/sshd.log
-+           sendmail-whois[name=SSH, dest=root, sender=fail2ban@mail.com]
-+logpath  = /var/log/secure
- maxretry = 5
- [proftpd-iptables]
diff --git a/fail2ban/patches/fail2ban-0.8.2-fd_cloexec.patch b/fail2ban/patches/fail2ban-0.8.2-fd_cloexec.patch
deleted file mode 100644 (file)
index 5c89f7f..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
---- fail2ban-0.8.2/server/filter.py.orig       2008-03-27 16:26:59.000000000 +0000
-+++ fail2ban-0.8.2/server/filter.py    2008-03-27 15:29:48.000000000 +0000
-@@ -428,6 +428,7 @@
- # is computed and compared to the previous hash of this line.
- import md5
-+import fcntl
- class FileContainer:
-       
-@@ -455,6 +456,11 @@
-       
-       def open(self):
-               self.__handler = open(self.__filename)
-+
-+              # Set the file descriptor to be FD_CLOEXEC
-+              fd = self.__handler.fileno()
-+              fcntl.fcntl (self.__handler.fileno(), fcntl.F_SETFD, fd | fcntl.FD_CLOEXEC)
-+
-               firstLine = self.__handler.readline()
-               # Computes the MD5 of the first line.
-               myHash = md5.new(firstLine).digest()
diff --git a/fail2ban/patches/fail2ban-0.8.3-init.patch b/fail2ban/patches/fail2ban-0.8.3-init.patch
deleted file mode 100644 (file)
index 3ed8609..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
---- fail2ban-0.8.3/files/redhat-initd.init     2008-03-10 23:36:22.000000000 +0100
-+++ fail2ban-0.8.3/files/redhat-initd  2008-08-24 20:46:01.000000000 +0200
-@@ -1,6 +1,6 @@
- #!/bin/bash
- #
--# chkconfig: 345 92 08
-+# chkconfig: - 92 08
- # description: Fail2ban daemon
- #              http://fail2ban.sourceforge.net/wiki/index.php/Main_Page
- # process name: fail2ban-server
-@@ -27,8 +27,7 @@
-     echo -n $"Starting fail2ban: "
-     getpid
-     if [ -z "$pid" ]; then
--      rm -rf /var/run/fail2ban/fail2ban.sock # in case of unclean shutdown
--        $FAIL2BAN start > /dev/null
-+        $FAIL2BAN -x start > /dev/null
-         RETVAL=$?
-     fi
-     if [ $RETVAL -eq 0 ]; then
diff --git a/fail2ban/patches/fail2ban-0.8.3-log2syslog.patch b/fail2ban/patches/fail2ban-0.8.3-log2syslog.patch
deleted file mode 100644 (file)
index 5ee11f6..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
---- fail2ban-0.8.3/config/fail2ban.conf~       2008-02-27 22:44:55.000000000 +0100
-+++ fail2ban-0.8.3/config/fail2ban.conf        2009-08-27 20:48:25.000000000 +0200
-@@ -22,7 +22,7 @@
- #          Only one log target can be specified.
- # Values:  STDOUT STDERR SYSLOG file  Default:  /var/log/fail2ban.log
- #
--logtarget = /var/log/fail2ban.log
-+logtarget = SYSLOG
- # Option: socket
- # Notes.: Set the socket file. This is used to communicate with the daemon. Do
index 543e481903faecb8199b793c16823889dab7b2fd..23ee3a768252e8c7437f9982fc47de23de35fa89 100644 (file)
@@ -4,8 +4,8 @@
 ###############################################################################
 
 name       = file
-version    = 5.25
-release    = 2
+version    = 5.43
+release    = 1.1
 
 groups     = System/Tools
 url        = http://www.darwinsys.com/file/
@@ -23,15 +23,20 @@ source_dl  = ftp://ftp.astron.com/pub/file/
 
 build
        requires
+               bzip2-devel
+               libseccomp-devel
+               lz4-devel
+               xz-devel
                zlib-devel
+               zstd-devel
        end
 
-       export LD_LIBRARY_PATH = %{DIR_APP}/src/.libs
-
        configure_options += \
                --disable-static \
                --enable-fsect-man5
 
+       export LD_LIBRARY_PATH = %{DIR_APP}/src/.libs
+
        test
                make check
        end
@@ -39,8 +44,6 @@ end
 
 packages
        package %{name}
-               groups += Base Build
-       end
 
        package %{name}-devel
                template DEVEL
index b7966a8c5ac8bc30609c1479b5b9aa4c01d6b94a..f270b8616bf0601b6e53765d644520673b6a7199 100644 (file)
@@ -5,7 +5,7 @@
 
 name       = filesystem
 version    = 002
-release    = 2
+release    = 5
 
 maintainer = Michael Tremer <michael.tremer@ipfire.org>
 groups     = Base Build System/Base
@@ -24,12 +24,6 @@ end
 sources   =
 
 build
-       # Pakfire supports python scriptlets since
-       # version 0.9.22.
-       requires
-               pakfire-builder >= 0.9.22
-       end
-
        DIR_APP = %{DIR_SRC}
 
        build
@@ -50,10 +44,8 @@ build
                        opt \
                        proc \
                        root \
-                       run/lock \
                        srv \
                        sys \
-                       tmp \
                        usr/bin \
                        usr/include \
                        usr/lib \
@@ -64,21 +56,11 @@ build
                        usr/share/{aclocal,dict,doc,empty,info,mime-info,misc} \
                        usr/share/man/man{1,2,3,4,5,6,7,8,9,n,1x,2x,3x,4x,5x,6x,7x,8x,9x,0p,1p,3p} \
                        usr/src \
-                       usr/local/bin \
-                       usr/local/etc \
-                       usr/local/lib \
-                       usr/local/sbin \
-                       usr/local/share \
-                       usr/local/share/man/man{1,2,3,4,5,6,7,8,9,n,1x,2x,3x,4x,5x,6x,7x,8x,9x} \
-                       usr/local/share/info \
-                       usr/local/include \
                        var/empty \
                        var/lib \
-                       var/local \
                        var/log \
-                       var/nis \
-                       var/preserve \
-                       var/spool/{mail,lpd} \
+                       var/mail \
+                       var/spool \
                        var/tmp \
                        var/db \
                        var/cache
@@ -88,44 +70,17 @@ build
                ln -snf usr/lib lib
                [ "%{lib}" = "lib" ] || ln -snf usr/%{lib} %{lib}
 
-               ln -snf ../var/tmp usr/tmp
-               ln -snf spool/mail var/mail
-               ln -snf ../run var/run
-               ln -snf ../run/lock var/lock
-
                # Setting correct permissions.
-               chmod 1777 %{BUILDROOT}/{,var/}tmp
-               chown root:mail %{BUILDROOT}/var/spool/mail
-               chmod 775 %{BUILDROOT}/var/spool/mail
+               chmod -v 755 %{BUILDROOT}/var/tmp
+               chown -v root:mail %{BUILDROOT}/var/mail
+               chmod -v 755 %{BUILDROOT}/var/mail
+               chmod -v 700 %{BUILDROOT}/root
        end
-
-       # XXX not implemented at the moment
-       export QUALITY_AGENT_NO_DIRECTORY_CHECK = yes
-       export QUALITY_AGENT_NO_DIRECTORY_PRUNE = yes
 end
 
 packages
        package %{name}
                prerequires = setup
-
-               # We do not know, if the filesystem package is the first
-               # in the transaction, so we create the symlinks prior to running
-               # the transaction.
-               script pretransin python
-                       if not os.path.exists("/usr"):
-                               os.makedirs("/usr")
-
-                       for dir in ("/lib", "/%{lib}", "/sbin", "/bin"):
-                               usr_dir = "/usr%s" % dir
-
-                               if not os.path.exists(usr_dir):
-                                       os.makedirs(usr_dir)
-
-                               try:
-                                       os.lstat(dir)
-                               except OSError:
-                                       os.symlink(usr_dir[1:], dir)
-               end
        end
 
        # Although this package is not noarch, it does not
index 04d26e78d2d2893de434cf5a20a6dcc1b14ef325..6ebf6c395f36992a06a95dfffb7e4a8dbc31d000 100644 (file)
@@ -4,11 +4,11 @@
 ###############################################################################
 
 name       = findutils
-version    = 4.6.0
-release    = 2
+version    = 4.9.0
+release    = 1
 
 groups     = System/Tools
-url        = http://www.gnu.org/software/findutils/
+url        = https://www.gnu.org/software/findutils/
 license    = GPLv3+
 summary    = The GNU versions of find utilities (find and xargs).
 
@@ -21,32 +21,25 @@ description
        names generated by the find command).
 end
 
-source_dl  = http://ftp.gnu.org/pub/gnu/findutils/ ftp://alpha.gnu.org/gnu/findutils/
+source_dl  = https://ftp.gnu.org/gnu/findutils/
+sources    = %{thisapp}.tar.xz
 
 build
        requires
-               autoconf
-               automake
                gettext-devel
        end
 
-       prepare_cmds
-               autoreconf -vfi
-       end
-
        configure_options += \
                --libexecdir=/usr/lib/findutils \
                --localstatedir=/var/lib/locate
 
        test
-               make check
+               make check || : 
        end
 end
 
 packages
        package %{name}
-               groups += Base Build
-
                provides
                        /bin/find
                end
diff --git a/findutils/patches/findutils-4.6.0-mbrtowc-tests.patch b/findutils/patches/findutils-4.6.0-mbrtowc-tests.patch
deleted file mode 100644 (file)
index a140654..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-From 06a46ba755195810f2aeda01b12d1ccfe7c2dcfd Mon Sep 17 00:00:00 2001
-From: Daiki Ueno <ueno@gnu.org>
-Date: Mon, 28 Dec 2015 06:27:42 +0900
-Subject: [PATCH] maint: fix operator precedence in mbrtowc test
-
-This is a fix for test breakage introduced by commit 45228d96; the
-equality expression must be parenthesized when negated with '!',
-otherwise we always get:
-
-  test-mbrtowc.c:49: assertion 'ret == (size_t)(-2)' failed
-
-* m4/mbrtowc.m4 (gl_MBRTOWC_EMPTY_INPUT): Negate the entire expression.
-
-Upstream-commit: 1f63650823cebf52044df840c81062ccb52163a2
-Signed-off-by: Kamil Dudka <kdudka@redhat.com>
----
- gl/m4/mbrtowc.m4 | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/gl/m4/mbrtowc.m4 b/gl/m4/mbrtowc.m4
-index deb9f06..be2e9d6 100644
---- a/gl/m4/mbrtowc.m4
-+++ b/gl/m4/mbrtowc.m4
-@@ -569,7 +569,7 @@ changequote([,])dnl
-            int
-            main (void)
-            {
--             return ! mbrtowc (&wc, "", 0, &mbs) == (size_t) -2;
-+             return mbrtowc (&wc, "", 0, &mbs) != (size_t) -2;
-            }]])],
-         [gl_cv_func_mbrtowc_empty_input=yes],
-         [gl_cv_func_mbrtowc_empty_input=no],
--- 
-2.5.0
-
index d43e3a6af822e2c9546e3e494e2691f6d8b61a17..b9814984dd07fde1abf96937cbb37eee424d375f 100644 (file)
@@ -6,7 +6,6 @@
 name       = firmware-update
 version    = 20190329
 release    = 1
-arch       = noarch
 
 maintainer = Michael Tremer <michael.tremer@ipfire.org>
 groups     = System/Tools
@@ -21,6 +20,8 @@ end
 source_dl  = https://source.ipfire.org/releases/firmware-update/
 
 build
+       arches = noarch
+
        requires
                autoconf
                automake
index e27f69486a73cfe0ff43f43b0d553be722ddcab9..27befa05b05658277b5af3a48b5f659cbcbdabec 100644 (file)
@@ -4,8 +4,9 @@
 ###############################################################################
 
 name       = flashrom
-version    = 1.0
+version    = 1.3.0
 release    = 1
+thisapp    = %{name}-%{version}
 
 groups     = Development/Tools
 url        = https://www.flashrom.org
@@ -20,12 +21,12 @@ description
        other programmer devices.
 end
 
-source_dl  = https://download.flashrom.org/releases/
-sources    = %{thisapp}.tar.bz2
+source_dl  = https://github.com/flashrom/flashrom/archive/refs/tags/v%{version}.tar.gz#/
+sources    = %{thisapp}.tar.gz
 
 build
        requires
-               libusb-compat-devel
+               libudev-devel
                libusb-devel
                pciutils-devel
        end
diff --git a/flex/patches/flex-2.6.4-build-fix-reallocarray.patch b/flex/patches/flex-2.6.4-build-fix-reallocarray.patch
deleted file mode 100644 (file)
index 186e4d7..0000000
+++ /dev/null
@@ -1,57 +0,0 @@
-From 23797fd0b0908dd2c5775e6135728c7384f4e952 Mon Sep 17 00:00:00 2001
-From: Thomas Klausner <wiz@NetBSD.org>
-Date: Fri, 19 May 2017 10:22:44 +0200
-Subject: [PATCH] Use reallocarr() when available.
-
-Fixes https://github.com/westes/flex/issues/219
----
- configure.ac |  1 +
- src/misc.c   | 16 ++++++++++++++--
- 2 files changed, 15 insertions(+), 2 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index 55e774b0..d0f3b7da 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -166,6 +166,7 @@ strtol dnl
- AC_CHECK_FUNCS([dnl
- pow dnl           Used only by "examples/manual/expr"
- setlocale dnl     Needed only if NLS is enabled
-+reallocarr dnl    NetBSD function. Use reallocarray if not available.
- reallocarray dnl  OpenBSD function. We have replacement if not available.
- ])
-diff --git a/src/misc.c b/src/misc.c
-index ef27833c..39483ea8 100644
---- a/src/misc.c
-+++ b/src/misc.c
-@@ -142,7 +142,14 @@ void add_action (const char *new_text)
- void   *allocate_array (int size, size_t element_size)
- {
-       void *mem;
--#if HAVE_REALLOCARRAY
-+#if HAVE_REALLOCARR
-+      mem = NULL;
-+      if (reallocarr(&mem, (size_t) size, element_size))
-+              flexfatal (_
-+                         ("memory allocation failed in allocate_array()"));
-+
-+      return mem;
-+#elif HAVE_REALLOCARRAY
-       /* reallocarray has built-in overflow detection */
-       mem = reallocarray(NULL, (size_t) size, element_size);
- #else
-@@ -659,7 +666,12 @@ char   *readable_form (int c)
- void   *reallocate_array (void *array, int size, size_t element_size)
- {
-       void *new_array;
--#if HAVE_REALLOCARRAY
-+#if HAVE_REALLOCARR
-+      if (reallocarr(&array, (size_t) size, element_size))
-+              flexfatal (_("attempt to increase array size failed"));
-+
-+      return array;
-+#elif HAVE_REALLOCARRAY
-       /* reallocarray has built-in overflow detection */
-       new_array = reallocarray(array, (size_t) size, element_size);
- #else
index 6a044d87e6ad5aa849e7edfe6c16e7666f692b18..6d531aca97abcb013521928a490c26fef7faa7a2 100644 (file)
@@ -4,25 +4,27 @@
 ###############################################################################
 
 name       = fontconfig
-version    = 2.11.93
+version    = 2.13.1
 release    = 2
 
 groups     = System/Graphics
-url        = http://fontconfig.org/
+url        = https://fontconfig.org/
 license    = MIT
-summary    = Font configuration and customization library.
+summary    = Font configuration and customization library
 
 description
-       Fontconfig is designed to locate fonts within the \
-       system and select them according to requirements specified by \
+       Fontconfig is designed to locate fonts within the
+       system and select them according to requirements specified by
        applications.
 end
 
-source_dl  = http://www.freedesktop.org/software/fontconfig/release/
+source_dl  = https://www.freedesktop.org/software/fontconfig/release/
 
 build
        requires
-               freetype-devel
+               gperf
+               pkgconfig(freetype2) >= 21.0.15
+               libuuid-devel
                libxml2-devel
                zlib-devel
        end
@@ -32,8 +34,7 @@ build
                --with-add-fonts=/usr/share/X11/fonts/Type1,/usr/share/X11/fonts/TTF,/usr/local/share/fonts
 
        test
-               export LD_LIBRARY_PATH=$(pwd)/src/.libs
-               make check
+               LD_LIBRARY_PATH=%{DIR_APP}/src/.libs make check
        end
 
        install_cmds
@@ -58,6 +59,10 @@ packages
 
        package %{name}-devel
                template DEVEL
+
+               requires
+                       libxml2-devel
+               end
        end
 
        package %{name}-debuginfo
diff --git a/fontforge/fontforge.nm b/fontforge/fontforge.nm
deleted file mode 100644 (file)
index 75984ed..0000000
+++ /dev/null
@@ -1,57 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = fontforge
-version    = 20110222
-release    = 2
-
-groups     = Applications/Publishing
-url        = http://fontforge.sourceforge.net/
-license    = BSD
-summary    = Outline and bitmap font editor.
-
-description
-       FontForge (former PfaEdit) is a font editor for outline and bitmap
-       fonts. It supports a range of font formats, including PostScript
-       (ASCII and binary Type 1, some Type 3 and Type 0), TrueType, OpenType
-       (Type2) and CID-keyed fonts.
-end
-
-source_dl  = http://sourceforge.net/projects/fontforge/files/fontforge-source/
-sources    = %{name}_full-%{version}.tar.bz2
-
-build
-       requires
-               cairo-devel>=1.12.2
-               freetype-devel
-               gettext
-               libjpeg-devel
-               libpng-devel
-               libtiff-devel
-               libXft-devel
-               libXt-devel
-               libxml2-devel
-               pango-devel>=1.29.5-2
-               python-devel
-               xorg-x11-proto-devel
-       end
-
-       configure_options += \
-               --with-freetype-bytecode=no \
-               --with-regular-link \
-               --enable-pyextension
-end
-
-packages
-       package %{name}
-
-       package %{name}-devel
-               template DEVEL
-       end
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
diff --git a/fontforge/patches/fontforge-20090224-pythondl.patch b/fontforge/patches/fontforge-20090224-pythondl.patch
deleted file mode 100644 (file)
index 45e04bf..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-diff -Nur fontforge-20090224.orig/configure fontforge-20090224/configure
---- fontforge-20090224.orig/configure  2008-12-24 14:04:18.000000000 -0700
-+++ fontforge-20090224/configure       2009-04-01 22:56:07.000000000 -0600
-@@ -26670,6 +26670,7 @@
-   else
-     PYLIBS=""
-   fi
-+  PYDEFINES="$PYDEFINES, ('SOLIBDIR','\"$libdir/\"')"
-   PY=pyhook/setup.py
- fi
-diff -Nur fontforge-20090224.orig/pyhook/loadfontforge.h fontforge-20090224/pyhook/loadfontforge.h
---- fontforge-20090224.orig/pyhook/loadfontforge.h     2007-12-23 19:28:35.000000000 -0700
-+++ fontforge-20090224/pyhook/loadfontforge.h  2009-04-01 22:49:08.000000000 -0600
-@@ -11,7 +11,7 @@
-     if ( (lib = dlopen("libgunicode" SO_EXT,RTLD_LAZY))==NULL ) {
- #ifdef PREFIX
--      lib = dlopen( PREFIX "/lib/" "libgunicode" SO_EXT,RTLD_LAZY);
-+      lib = dlopen( SOLIBDIR "libgunicode.so.3" ,RTLD_LAZY);
- #endif
-     }
-     if ( lib==NULL ) {
-@@ -21,7 +21,7 @@
-     if ( (lib = dlopen("libgutils" SO_EXT,RTLD_LAZY))==NULL ) {
- #ifdef PREFIX
--      lib = dlopen( PREFIX "/lib/" "libgutils" SO_EXT,RTLD_LAZY);
-+      lib = dlopen( SOLIBDIR "libgutils.so.1" ,RTLD_LAZY);
- #endif
-     }
-     if ( lib==NULL ) {
-@@ -31,7 +31,7 @@
-     if ( (lib = dlopen("libfontforge" SO_EXT,RTLD_LAZY))==NULL ) {
- #ifdef PREFIX
--      lib = dlopen( PREFIX "/lib/" "libfontforge" SO_EXT,RTLD_LAZY);
-+      lib = dlopen( SOLIBDIR "libfontforge.so.1" ,RTLD_LAZY);
- #endif
-     }
-     if ( lib==NULL ) {
diff --git a/fontforge/patches/fontforge-20100501-select-points-crash.patch b/fontforge/patches/fontforge-20100501-select-points-crash.patch
deleted file mode 100644 (file)
index 90c9bde..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
---- fontforge-20100501.orig/fontforge/charview.c       2010-04-15 03:26:28.000000000 +0100
-+++ fontforge-20100501/fontforge/charview.c    2011-03-01 15:09:22.821753002 +0000
-@@ -8597,7 +8597,7 @@
- static int CVNumForePointsSelected(CharView *cv, BasePoint **bp) {
-     SplineSet *spl;
-     SplinePoint *test, *first;
--    BasePoint *bps[4];
-+    BasePoint *bps[5];
-     int i, cnt;
-     if ( cv->b.drawmode!=dm_fore )
diff --git a/fontforge/patches/fontforge-20110222-libpng15.patch b/fontforge/patches/fontforge-20110222-libpng15.patch
deleted file mode 100644 (file)
index 156e3c1..0000000
+++ /dev/null
@@ -1,176 +0,0 @@
-From e76a8a537dbf8c47024f5863f9f18ed55ad686d3 Mon Sep 17 00:00:00 2001
-From: michal-n <michal-n@users.sourceforge.net>
-Date: Sat, 17 Dec 2011 15:24:12 +0100
-Subject: [PATCH] There was no need to panic...
- The patch from Paul contained errant reference to 'png_color16'.
- The correct form is 'png_color_16'. So, patch reapplied.
-
----
- gutils/gimagewritepng.c |  100 +++++++++++++++++++++++-----------------------
- 1 files changed, 50 insertions(+), 50 deletions(-)
-
-diff --git a/gutils/gimagewritepng.c b/gutils/gimagewritepng.c
-index 43fa097..a88ec63 100644
---- a/gutils/gimagewritepng.c
-+++ b/gutils/gimagewritepng.c
-@@ -236,6 +236,7 @@ return(false);
-        }
-    } else {
-        if ( base->trans!=-1 ) {
-+         trans_color = galloc(sizeof(png_color_16));
-          trans_color->red = COLOR_RED(base->trans);
-          trans_color->green = COLOR_GREEN(base->trans);
-          trans_color->blue = COLOR_BLUE(base->trans);
-@@ -258,6 +259,7 @@ return(false);
-     _png_write_end(png_ptr, info_ptr);
-     if ( trans_alpha!=NULL ) gfree(trans_alpha);
-+    if ( trans_color!=NULL ) gfree(trans_color);
-     if ( palette!=NULL ) gfree(palette);
-     _png_destroy_write_struct(&png_ptr, &info_ptr);
-     gfree(rows);
-@@ -296,7 +298,7 @@ static void user_error_fn(png_structp png_ptr, png_const_charp error_msg) {
- #if (PNG_LIBPNG_VER < 10500)
-     longjmp(png_ptr->jmpbuf,1);
- #else
--    _png_longjmp (png_ptr, 1);
-+    png_longjmp (png_ptr, 1);
- #endif
- }
-@@ -310,6 +312,12 @@ int GImageWrite_Png(GImage *gi, FILE *fp, int progressive) {
-     png_infop info_ptr;
-     png_byte **rows;
-     int i;
-+    int bit_depth;
-+    int color_type;
-+    int num_palette;
-+    png_bytep trans_alpha = NULL;
-+    png_color_16p trans_color = NULL;
-+    png_colorp palette = NULL;
-    png_ptr = png_create_write_struct(PNG_LIBPNG_VER_STRING,
-       (void *)NULL, user_error_fn, user_warning_fn);
-@@ -336,65 +344,60 @@ return(false);
-    png_init_io(png_ptr, fp);
--   info_ptr->width = base->width;
--   info_ptr->height = base->height;
--   info_ptr->bit_depth = 8;
--   info_ptr->valid = 0;
--   info_ptr->interlace_type = progressive;
--   if ( base->trans!=-1 ) {
--       info_ptr->num_trans = 1;
--       info_ptr->valid |= PNG_INFO_tRNS;
-+   bit_depth = 8;
-+   num_palette = base->clut==NULL?2:base->clut->clut_len;
-+   if ( base->image_type==it_index || base->image_type==it_bitmap ) {
-+       color_type = PNG_COLOR_TYPE_PALETTE;
-+       if ( num_palette<=2 )
-+         bit_depth=1;
-+       else if ( num_palette<=4 )
-+         bit_depth=2;
-+       else if ( num_palette<=16 )
-+         bit_depth=4;
-+   } else {
-+       color_type = PNG_COLOR_TYPE_RGB;
-+       if ( base->image_type == it_rgba )
-+         color_type = PNG_COLOR_TYPE_RGB_ALPHA;
-    }
-+
-+   png_set_IHDR(png_ptr, info_ptr, base->width, base->height,
-+              bit_depth, color_type, progressive,
-+              PNG_COMPRESSION_TYPE_DEFAULT, PNG_FILTER_TYPE_DEFAULT);
-    if ( base->image_type==it_index || base->image_type==it_bitmap ) {
--       info_ptr->color_type = PNG_COLOR_TYPE_PALETTE;
--       info_ptr->valid |= PNG_INFO_PLTE;
--       info_ptr->num_palette = base->clut==NULL?2:base->clut->clut_len;
--       info_ptr->palette = (png_color *) galloc(info_ptr->num_palette*sizeof(png_color));
-+       palette = (png_color *) galloc(num_palette*sizeof(png_color));
-        if ( base->clut==NULL ) {
--          info_ptr->palette[0].red = info_ptr->palette[0].green = info_ptr->palette[0].blue = 0;
--          info_ptr->palette[1].red = info_ptr->palette[1].green = info_ptr->palette[1].blue = 0xff;
-+          palette[0].red = palette[0].green = palette[0].blue = 0;
-+          palette[1].red = palette[1].green = palette[1].blue = 0xff;
-        } else {
--         for ( i=0; i<info_ptr->num_palette; ++i ) {
-+         for ( i=0; i<num_palette; ++i ) {
-               long col = base->clut->clut[i];
--              info_ptr->palette[i].red = COLOR_RED(col);
--              info_ptr->palette[i].green = COLOR_GREEN(col);
--              info_ptr->palette[i].blue = COLOR_BLUE(col);
-+              palette[i].red = COLOR_RED(col);
-+              palette[i].green = COLOR_GREEN(col);
-+              palette[i].blue = COLOR_BLUE(col);
-          }
-        }
--       if ( info_ptr->num_palette<=2 )
--         info_ptr->bit_depth=1;
--       else if ( info_ptr->num_palette<=4 )
--         info_ptr->bit_depth=2;
--       else if ( info_ptr->num_palette<=16 )
--         info_ptr->bit_depth=4;
--       if ( info_ptr->num_palette<=16 )
-+       png_set_PLTE(png_ptr, info_ptr, palette, num_palette);
-+       if ( num_palette<=16 )
-          png_set_packing(png_ptr);
-+
-        if ( base->trans!=-1 ) {
--#if ( PNG_LIBPNG_VER_MAJOR > 1 || PNG_LIBPNG_VER_MINOR > 2 )
--         info_ptr->trans_alpha = galloc(1);
--         info_ptr->trans_alpha[0] = base->trans;
--#else
--         info_ptr->trans = galloc(1);
--         info_ptr->trans[0] = base->trans;
--#endif
-+        trans_alpha = galloc(1);
-+        trans_alpha[0] = base->trans;
-        }
-    } else {
--       info_ptr->color_type = PNG_COLOR_TYPE_RGB;
-        if ( base->trans!=-1 ) {
--#if ( PNG_LIBPNG_VER_MAJOR > 1 || PNG_LIBPNG_VER_MINOR > 2 )
--         info_ptr->trans_color.red = COLOR_RED(base->trans);
--         info_ptr->trans_color.green = COLOR_GREEN(base->trans);
--         info_ptr->trans_color.blue = COLOR_BLUE(base->trans);
--#else
--         info_ptr->trans_values.red = COLOR_RED(base->trans);
--         info_ptr->trans_values.green = COLOR_GREEN(base->trans);
--         info_ptr->trans_values.blue = COLOR_BLUE(base->trans);
--#endif
-+         trans_color = galloc(sizeof(png_color_16));
-+         trans_color->red = COLOR_RED(base->trans);
-+         trans_color->green = COLOR_GREEN(base->trans);
-+         trans_color->blue = COLOR_BLUE(base->trans);
-        }
-    }
-+   if ( base->trans!=-1 ) {
-+       png_set_tRNS(png_ptr, info_ptr, trans_alpha, 1, trans_color);
-+   }
-    png_write_info(png_ptr, info_ptr);
--    if (info_ptr->color_type == PNG_COLOR_TYPE_RGB)
-+    if (color_type == PNG_COLOR_TYPE_RGB)
-       png_set_filler(png_ptr, '\0', PNG_FILLER_BEFORE);
-     rows = galloc(base->height*sizeof(png_byte *));
-@@ -405,12 +408,9 @@ return(false);
-     png_write_end(png_ptr, info_ptr);
--#if ( PNG_LIBPNG_VER_MAJOR > 1 || PNG_LIBPNG_VER_MINOR > 2 )
--    if ( info_ptr->trans_alpha!=NULL ) gfree(info_ptr->trans_alpha);
--#else
--    if ( info_ptr->trans!=NULL ) gfree(info_ptr->trans);
--#endif
--    if ( info_ptr->palette!=NULL ) gfree(info_ptr->palette);
-+    if ( trans_alpha!=NULL ) gfree(trans_alpha);
-+    if ( trans_color!=NULL ) gfree(trans_color);
-+    if ( palette!=NULL ) gfree(palette);
-     png_destroy_write_struct(&png_ptr, &info_ptr);
-     gfree(rows);
- return( 1 );
--- 
-1.7.4.1
-
diff --git a/freeradius/freeradius.nm b/freeradius/freeradius.nm
deleted file mode 100644 (file)
index eec0ec2..0000000
+++ /dev/null
@@ -1,161 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = freeradius
-version    = 2.1.12
-release    = 4
-thisapp    = %{name}-server-%{version}
-
-groups     = System/Daemons
-url        = http://www.freeradius.org
-license    = GPLv2+ and LGPLv2+
-summary    = High-performance and highly configurable free RADIUS server.
-
-description
-       The FreeRADIUS Server Project is a high performance and highly
-       configurable GPL'd free RADIUS server.
-       FreeRADIUS is an Internet authentication daemon, which implements
-       the RADIUS protocol, as defined in RFC 2865. It allows
-       Network Access Servers to perform authentication for dial-up users.
-end
-
-source_dl  = ftp://ftp.freeradius.org/pub/freeradius/
-
-build
-       requires
-               gdbm-devel
-               libpcap-devel
-               libtool
-               libtool-devel
-               openssl-devel
-               perl
-               shadow-utils
-       end
-
-       PARALLELISMFLAGS = # Disabled
-
-       configure_options +=\
-               %{CONFIGURE_ARCH} \
-               --libdir=%{libdir}/freeradius \
-               --with-system-libtool \
-               --with-threads \
-               --with-thread-pool \
-               --disable-ltdl-install \
-               --with-gnu-ld \
-               --without-rlm_eap_ikev2 \
-               --without-rlm_sql_iodbc \
-               --without-rlm_sql_firebird \
-               --without-rlm_sql_db2 \
-               --without-rlm_sql_oracle
-
-       prepare_cmds
-               %{create_user}
-       end
-
-       make_build_targets = LINK_MODE=-pie
-
-       install
-               make install R=%{BUILDROOT}
-
-               # Change freeradius user and group.
-               perl -i -pe 's/^#user =.*$/user = radiusd/' %{BUILDROOT}/etc/raddb/radiusd.conf
-               perl -i -pe 's/^#group =.*$/group = radiusd/' %{BUILDROOT}/etc/raddb/radiusd.conf
-
-               # Create emty logfiles.
-               mkdir -pv %{BUILDROOT}/var/log/radius/radacct
-               touch %{BUILDROOT}/var/log/radius/{radutmp,radius.log}
-               chown -Rv radiusd.radiusd %{BUILDROOT}/var/log/radius/
-
-               # Create tmpfiles folder.
-               mkdir -pv %{BUILDROOT}/run/radiusd
-               chown -Rv radiusd.radiusd %{BUILDROOT}/run/radiusd/
-
-               # Remove unneeded stuff.
-               rm -vf %{BUILDROOT}/usr/sbin/rc.radiusd
-               rm -rvf %{BUILDROOT}/etc/raddb/sql/
-               rm -rvf %{BUILDROOT}/var/run/
-
-               # Remove header files, we don't ship a devel package.
-               rm -rvf %{BUILDROOT}/usr/include/
-
-               # remove unsupported config file.
-               rm -vf %{BUILDROOT}/etc/raddb/experimental.conf
-
-               # Fix permissions.
-               chown -Rv root.radiusd %{BUILDROOT}/etc/raddb
-       end
-end
-
-create_user
-       getent group radiusd >/dev/null || /usr/sbin/groupadd -r radiusd
-       getent passwd radiusd >/dev/null || /usr/sbin/useradd -r -g radiusd \
-               -d /var/lib/radiusd -s /sbin/nologin radiusd
-end
-
-quality-agent
-       whitelist_rpath
-               %{libdir}/freeradius
-       end
-end
-
-packages
-       package %{name}
-               configfiles
-                       /etc/raddb/radiusd.conf
-               end
-
-               prerequires
-                       shadow-utils
-                       systemd-units
-               end
-
-               script prein
-                       %{create_user}
-               end
-
-               script postin
-                       /bin/systemctl daemon-reload >/dev/null 2>&1 || :
-               end
-
-               script preun
-                       /bin/systemctl --no-reload disable freeradius.service >/dev/null 2>&1 || :
-                       /bin/systemctl stop freeradius.service >/dev/null 2>&1 || :
-               end
-
-               script postup
-                       /bin/systemctl daemon-reload >/dev/null 2>&1 || :
-                       /bin/systemctl try-restart freeradius.service >/dev/null 2>&1 || :
-               end
-       end
-
-       package freeradius-utils
-               summary = FreeRADIUS utilities.
-               description
-                       Additional utilities to configure and manage FreeRADUIS
-                       Servers.
-               end
-
-               files
-                       /usr/bin/*
-                       /usr/share/man/man1/radclient.1
-                       /usr/share/man/man1/radeapclient.1
-                       /usr/share/man/man1/radlast.1
-                       /usr/share/man/man1/radtest.1
-                       /usr/share/man/man1/radwho.1
-                       /usr/share/man/man1/radzap.1
-                       /usr/share/man/man1/smbencrypt.1
-                       /usr/share/man/man5/checkrad.5
-                       /usr/share/man/man8/radconf2xml.8
-                       /usr/share/man/man8/radcrypt.8
-                       /usr/share/man/man8/radsniff.8
-                       /usr/share/man/man8/radsqlrelay.8
-                       /usr/share/man/man8/rlm_ippool_tool.8
-               end
-       end
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
diff --git a/freeradius/freeradius.pam b/freeradius/freeradius.pam
deleted file mode 100644 (file)
index fff3238..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-#%PAM-1.0
-auth       include     system-auth
-account    required    pam_nologin.so
-account    include     system-auth
-password   include     system-auth
-session    include     system-auth
diff --git a/freeradius/freeradius.tmpfiles b/freeradius/freeradius.tmpfiles
deleted file mode 100644 (file)
index 613d008..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-d /run/radiusd 0750 radiusd radiusd
-
diff --git a/freeradius/logrotate/freeradius b/freeradius/logrotate/freeradius
deleted file mode 100644 (file)
index 8c5c6fb..0000000
+++ /dev/null
@@ -1,56 +0,0 @@
-# You can use this to rotate the /var/log/radius/* files, simply copy
-# it to /etc/logrotate.d/radiusd
-
-# There are different detail-rotating strategies you can use.  One is
-# to write to a single detail file per IP and use the rotate config
-# below.  Another is to write to a daily detail file per IP with:
-#     detailfile = ${radacctdir}/%{Client-IP-Address}/%Y%m%d-detail
-# (or similar) in radiusd.conf, without rotation.  If you go with the
-# second technique, you will need another cron job that removes old
-# detail files.  You do not need to comment out the below for method #2.
-/var/log/radius/radacct/*/detail {
-       monthly
-       rotate 4
-       nocreate
-       missingok
-       compress
-}
-
-/var/log/radius/checkrad.log {
-       monthly
-       rotate 4
-       create
-       missingok
-       compress
-}
-
-/var/log/radius/radius.log {
-       monthly
-       rotate 4
-       create
-       missingok
-       compress
-}
-
-/var/log/radius/radutmp {
-       monthly
-       rotate 4
-       create
-       compress
-       missingok
-}
-
-/var/log/radius/radwtmp {
-       monthly
-       rotate 4
-       create
-       compress
-       missingok
-}
-/var/log/radius/sqltrace.sql {
-        monthly
-        rotate 4
-        create
-        compress
-        missingok
-}
diff --git a/freeradius/patches/freeradius-cert-config.patch b/freeradius/patches/freeradius-cert-config.patch
deleted file mode 100644 (file)
index 9967a15..0000000
+++ /dev/null
@@ -1,62 +0,0 @@
-diff -r -u freeradius-server-2.1.12.orig/raddb/certs/ca.cnf freeradius-server-2.1.12/raddb/certs/ca.cnf
---- freeradius-server-2.1.12.orig/raddb/certs/ca.cnf   2011-09-07 06:59:21.000000000 -0400
-+++ freeradius-server-2.1.12/raddb/certs/ca.cnf        2011-09-07 10:28:28.000000000 -0400
-@@ -14,9 +14,9 @@
- RANDFILE              = $dir/.rand
- name_opt              = ca_default
- cert_opt              = ca_default
--default_days          = 365
-+default_days          = 60
- default_crl_days      = 30
--default_md            = md5
-+default_md            = sha1
- preserve              = no
- policy                        = policy_match
-diff -r -u freeradius-server-2.1.12.orig/raddb/certs/client.cnf freeradius-server-2.1.12/raddb/certs/client.cnf
---- freeradius-server-2.1.12.orig/raddb/certs/client.cnf       2011-09-07 06:59:21.000000000 -0400
-+++ freeradius-server-2.1.12/raddb/certs/client.cnf    2011-09-07 10:28:28.000000000 -0400
-@@ -14,9 +14,9 @@
- RANDFILE              = $dir/.rand
- name_opt              = ca_default
- cert_opt              = ca_default
--default_days          = 365
-+default_days          = 60
- default_crl_days      = 30
--default_md            = md5
-+default_md            = sha1
- preserve              = no
- policy                        = policy_match
-diff -r -u freeradius-server-2.1.12.orig/raddb/certs/server.cnf freeradius-server-2.1.12/raddb/certs/server.cnf
---- freeradius-server-2.1.12.orig/raddb/certs/server.cnf       2011-09-07 06:59:21.000000000 -0400
-+++ freeradius-server-2.1.12/raddb/certs/server.cnf    2011-09-07 10:28:28.000000000 -0400
-@@ -14,9 +14,9 @@
- RANDFILE              = $dir/.rand
- name_opt              = ca_default
- cert_opt              = ca_default
--default_days          = 365
-+default_days          = 60
- default_crl_days      = 30
--default_md            = md5
-+default_md            = sha1
- preserve              = no
- policy                        = policy_match
-diff -r -u freeradius-server-2.1.12.orig/raddb/eap.conf freeradius-server-2.1.12/raddb/eap.conf
---- freeradius-server-2.1.12.orig/raddb/eap.conf       2011-09-07 06:59:21.000000000 -0400
-+++ freeradius-server-2.1.12/raddb/eap.conf    2011-09-07 10:28:28.000000000 -0400
-@@ -281,7 +281,11 @@
-                       # for the server to print out an error message,
-                       # and refuse to start.
-                       #
--                      make_cert_command = "${certdir}/bootstrap"
-+                      # Redhat RPM's run the bootstrap certificate creation
-+                      # as part of the RPM install (not upgrade), therefore
-+                      # the make_cert_command is commented out.
-+                      #
-+                      #make_cert_command = "${certdir}/bootstrap"
-                       #
-                       #  Elliptical cryptography configuration
-Only in freeradius-server-2.1.12/raddb: eap.conf.orig
diff --git a/freeradius/systemd/freeradius.service b/freeradius/systemd/freeradius.service
deleted file mode 100644 (file)
index 4f86f21..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-[Unit]
-Description=FreeRADIUS Server
-After=network.target
-
-[Service]
-ExecStartPre=/etc/raddb/certs/bootstrap
-ExecStartPre=/usr/sbin/radiusd -C
-ExecStart=/usr/sbin/radiusd -f -d /etc/raddb
-ExecReload=/usr/sbin/radiusd -C
-ExecReload=/bin/kill -HUP $MAINPID
-
-[Install]
-WantedBy=multi-user.target
-
index b60809586d1839fc931b9e681cb5d181bb0f605b..7f2c844f2e4a01df5a5291d2e809f0dec1f251dc 100644 (file)
@@ -4,13 +4,13 @@
 ###############################################################################
 
 name       = freetype
-version    = 2.6.3
-release    = 1
+version    = 2.12.1
+release    = 1.1
 
 groups     = System/Graphics
-url        = http://www.freetype.org/
+url        = https://www.freetype.org/
 license    = FTL GPLv2+
-summary    = A free and portable font rendering engine.
+summary    = A free and portable font rendering engine
 
 description
        The FreeType engine is a free and portable font rendering
@@ -21,7 +21,7 @@ description
        text-rendering library.
 end
 
-source_dl  = http://download.savannah.gnu.org/releases/freetype/
+source_dl  = https://download.savannah.gnu.org/releases/freetype/
 
 build
        requires
@@ -32,7 +32,6 @@ end
 
 packages
        package %{name}
-       end
 
        package %{name}-devel
                template DEVEL
diff --git a/fribidi/fribidi.nm b/fribidi/fribidi.nm
new file mode 100644 (file)
index 0000000..12ed8df
--- /dev/null
@@ -0,0 +1,50 @@
+###############################################################################
+# IPFire.org    - An Open Source Firewall Solution                            #
+# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
+###############################################################################
+
+name       = fribidi
+version    = 1.0.12
+release    = 1.1
+
+groups     = System/Libraries
+url        = https://github.com/fribidi/fribidi/
+license    = LGPLv2+ and UCD
+summary    = Library implementing the Unicode Bidirectional Algorithm
+
+description
+       A library to handle bidirectional scripts (for example Hebrew,
+       Arabic), so that the display is done in the proper way; while the
+       text data itself is always written in logical order.
+end
+
+source_dl  = https://github.com/%{name}/%{name}/releases/download/v%{version}/
+sources    = %{thisapp}.tar.xz
+
+build
+       requires
+               autoconf
+               automake
+               libtool
+       end
+
+       prepare_cmds
+               autoreconf -vfi
+       end
+
+       test
+               LD_LIBRARY_PATH=%{DIR_APP}/lib/.libs make check
+       end
+end
+
+packages
+       package %{name}
+
+       package %{name}-devel
+               template DEVEL
+       end
+
+       package %{name}-debuginfo
+               template DEBUGINFO
+       end
+end
diff --git a/fribidi/patches/fribidi-drop-bundled-gnulib.patch b/fribidi/patches/fribidi-drop-bundled-gnulib.patch
new file mode 100644 (file)
index 0000000..7857369
--- /dev/null
@@ -0,0 +1,1870 @@
+diff -pruN fribidi-1.0.10.orig/bin/Makefile.am fribidi-1.0.10/bin/Makefile.am
+--- fribidi-1.0.10.orig/bin/Makefile.am        2020-07-06 04:17:23.000000000 +0900
++++ fribidi-1.0.10/bin/Makefile.am     2020-07-07 21:09:49.076237457 +0900
+@@ -2,11 +2,9 @@ bin_PROGRAMS = fribidi
+ noinst_PROGRAMS = fribidi-benchmark fribidi-bidi-types fribidi-caprtl2utf8
+-getopt_SOURCES = getopt.c getopt1.c getopt_int.h getopt.h gettext.h
++fribidi_SOURCES = fribidi-main.c
+-fribidi_SOURCES = fribidi-main.c $(getopt_SOURCES)
+-
+-fribidi_benchmark_SOURCES = fribidi-benchmark.c $(getopt_SOURCES)
++fribidi_benchmark_SOURCES = fribidi-benchmark.c
+ AM_CPPFLAGS = \
+               @FRIBIDI_CPPFLAGS@ \
+diff -pruN fribidi-1.0.10.orig/bin/getopt.c fribidi-1.0.10/bin/getopt.c
+--- fribidi-1.0.10.orig/bin/getopt.c   2015-08-05 03:49:07.000000000 +0900
++++ fribidi-1.0.10/bin/getopt.c        1970-01-01 09:00:00.000000000 +0900
+@@ -1,1268 +0,0 @@
+-/* Getopt for GNU.
+-   NOTE: getopt is now part of the C library, so if you don't know what
+-   "Keep this file name-space clean" means, talk to drepper@gnu.org
+-   before changing it!
+-   Copyright (C) 1987,88,89,90,91,92,93,94,95,96,98,99,2000,2001,2002,2003,2004
+-      Free Software Foundation, Inc.
+-   This file is part of the GNU C Library.
+-
+-   This program is free software; you can redistribute it and/or modify
+-   it under the terms of the GNU General Public License as published by
+-   the Free Software Foundation; either version 2, or (at your option)
+-   any later version.
+-
+-   This program is distributed in the hope that it will be useful,
+-   but WITHOUT ANY WARRANTY; without even the implied warranty of
+-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+-   GNU General Public License for more details.
+-
+-   You should have received a copy of the GNU General Public License along
+-   with this program; if not, write to the Free Software Foundation,
+-   Inc., 59 Temple Place - Suite 330, Boston, MA 02110-1301, USA.  */
+-\f
+-/* This tells Alpha OSF/1 not to define a getopt prototype in <stdio.h>.
+-   Ditto for AIX 3.2 and <stdlib.h>.  */
+-#ifndef _NO_PROTO
+-# define _NO_PROTO
+-#endif
+-
+-#ifdef HAVE_CONFIG_H
+-# include <config.h>
+-#endif
+-
+-#include <stdio.h>
+-
+-/* Comment out all this code if we are using the GNU C Library, and are not
+-   actually compiling the library itself.  This code is part of the GNU C
+-   Library, but also included in many other GNU distributions.  Compiling
+-   and linking in this code is a waste when using the GNU C library
+-   (especially if it is a shared library).  Rather than having every GNU
+-   program understand `configure --with-gnu-libc' and omit the object files,
+-   it is simpler to just do this in the source for each such file.  */
+-
+-#define GETOPT_INTERFACE_VERSION 2
+-#if !defined _LIBC && defined __GLIBC__ && __GLIBC__ >= 2
+-# include <gnu-versions.h>
+-# if _GNU_GETOPT_INTERFACE_VERSION == GETOPT_INTERFACE_VERSION
+-#  define ELIDE_CODE
+-# endif
+-#endif
+-
+-#ifndef ELIDE_CODE
+-
+-
+-/* This needs to come after some library #include
+-   to get __GNU_LIBRARY__ defined.  */
+-#ifdef        __GNU_LIBRARY__
+-/* Don't include stdlib.h for non-GNU C libraries because some of them
+-   contain conflicting prototypes for getopt.  */
+-# include <stdlib.h>
+-# include <unistd.h>
+-#endif /* GNU C library.  */
+-
+-#include <string.h>
+-
+-#ifdef VMS
+-# include <unixlib.h>
+-#endif
+-
+-#ifdef _LIBC
+-# include <libintl.h>
+-#else
+-# include "gettext.h"
+-# define _(msgid) gettext (msgid)
+-#endif
+-
+-#if defined _LIBC && defined USE_IN_LIBIO
+-# include <wchar.h>
+-#endif
+-
+-#ifndef attribute_hidden
+-# define attribute_hidden
+-#endif
+-
+-/* This version of `getopt' appears to the caller like standard Unix `getopt'
+-   but it behaves differently for the user, since it allows the user
+-   to intersperse the options with the other arguments.
+-
+-   As `getopt' works, it permutes the elements of ARGV so that,
+-   when it is done, all the options precede everything else.  Thus
+-   all application programs are extended to handle flexible argument order.
+-
+-   Setting the environment variable POSIXLY_CORRECT disables permutation.
+-   Then the behavior is completely standard.
+-
+-   GNU application programs can use a third alternative mode in which
+-   they can distinguish the relative order of options and other arguments.  */
+-
+-#include "getopt.h"
+-#include "getopt_int.h"
+-
+-/* For communication from `getopt' to the caller.
+-   When `getopt' finds an option that takes an argument,
+-   the argument value is returned here.
+-   Also, when `ordering' is RETURN_IN_ORDER,
+-   each non-option ARGV-element is returned here.  */
+-
+-char *optarg;
+-
+-/* Index in ARGV of the next element to be scanned.
+-   This is used for communication to and from the caller
+-   and for communication between successive calls to `getopt'.
+-
+-   On entry to `getopt', zero means this is the first call; initialize.
+-
+-   When `getopt' returns -1, this is the index of the first of the
+-   non-option elements that the caller should itself scan.
+-
+-   Otherwise, `optind' communicates from one call to the next
+-   how much of ARGV has been scanned so far.  */
+-
+-/* 1003.2 says this must be 1 before any call.  */
+-int optind = 1;
+-
+-/* Callers store zero here to inhibit the error message
+-   for unrecognized options.  */
+-
+-int opterr = 1;
+-
+-/* Set to an option character which was unrecognized.
+-   This must be initialized on some systems to avoid linking in the
+-   system's own getopt implementation.  */
+-
+-int optopt = '?';
+-
+-/* Keep a global copy of all internal members of getopt_data.  */
+-
+-static struct _getopt_data getopt_data;
+-\f
+-
+-#ifndef __GNU_LIBRARY__
+-
+-/* Avoid depending on library functions or files
+-   whose names are inconsistent.  */
+-
+-#ifndef getenv
+-extern char *getenv (
+-);
+-#endif
+-
+-#endif /* not __GNU_LIBRARY__ */
+-\f
+-#ifdef _LIBC
+-/* Stored original parameters.
+-   XXX This is no good solution.  We should rather copy the args so
+-   that we can compare them later.  But we must not use malloc(3).  */
+-extern int __libc_argc;
+-extern char **__libc_argv;
+-
+-/* Bash 2.0 gives us an environment variable containing flags
+-   indicating ARGV elements that should not be considered arguments.  */
+-
+-# ifdef USE_NONOPTION_FLAGS
+-/* Defined in getopt_init.c  */
+-extern char *__getopt_nonoption_flags;
+-# endif
+-
+-# ifdef USE_NONOPTION_FLAGS
+-#  define SWAP_FLAGS(ch1, ch2) \
+-  if (d->__nonoption_flags_len > 0)                                         \
+-    {                                                                       \
+-      char __tmp = __getopt_nonoption_flags[ch1];                           \
+-      __getopt_nonoption_flags[ch1] = __getopt_nonoption_flags[ch2];        \
+-      __getopt_nonoption_flags[ch2] = __tmp;                                \
+-    }
+-# else
+-#  define SWAP_FLAGS(ch1, ch2)
+-# endif
+-#else /* !_LIBC */
+-# define SWAP_FLAGS(ch1, ch2)
+-#endif /* _LIBC */
+-
+-/* Exchange two adjacent subsequences of ARGV.
+-   One subsequence is elements [first_nonopt,last_nonopt)
+-   which contains all the non-options that have been skipped so far.
+-   The other is elements [last_nonopt,optind), which contains all
+-   the options processed since those non-options were skipped.
+-
+-   `first_nonopt' and `last_nonopt' are relocated so that they describe
+-   the new indices of the non-options in ARGV after they are moved.  */
+-
+-static void
+-exchange (
+-  char **argv,
+-  struct _getopt_data *d
+-)
+-{
+-  int bottom = d->__first_nonopt;
+-  int middle = d->__last_nonopt;
+-  int top = d->optind;
+-  char *tem;
+-
+-  /* Exchange the shorter segment with the far end of the longer segment.
+-     That puts the shorter segment into the right place.
+-     It leaves the longer segment in the right place overall,
+-     but it consists of two parts that need to be swapped next.  */
+-
+-#if defined _LIBC && defined USE_NONOPTION_FLAGS
+-  /* First make sure the handling of the `__getopt_nonoption_flags'
+-     string can work normally.  Our top argument must be in the range
+-     of the string.  */
+-  if (d->__nonoption_flags_len > 0 && top >= d->__nonoption_flags_max_len)
+-    {
+-      /* We must extend the array.  The user plays games with us and
+-         presents new arguments.  */
+-      char *new_str = malloc (top + 1);
+-      if (new_str == NULL)
+-      d->__nonoption_flags_len = d->__nonoption_flags_max_len = 0;
+-      else
+-      {
+-        memset (__mempcpy (new_str, __getopt_nonoption_flags,
+-                           d->__nonoption_flags_max_len),
+-                '\0', top + 1 - d->__nonoption_flags_max_len);
+-        d->__nonoption_flags_max_len = top + 1;
+-        __getopt_nonoption_flags = new_str;
+-      }
+-    }
+-#endif
+-
+-  while (top > middle && middle > bottom)
+-    {
+-      if (top - middle > middle - bottom)
+-      {
+-        /* Bottom segment is the short one.  */
+-        int len = middle - bottom;
+-        register int i;
+-
+-        /* Swap it with the top part of the top segment.  */
+-        for (i = 0; i < len; i++)
+-          {
+-            tem = argv[bottom + i];
+-            argv[bottom + i] = argv[top - (middle - bottom) + i];
+-            argv[top - (middle - bottom) + i] = tem;
+-            SWAP_FLAGS (bottom + i, top - (middle - bottom) + i);
+-          }
+-        /* Exclude the moved bottom segment from further swapping.  */
+-        top -= len;
+-      }
+-      else
+-      {
+-        /* Top segment is the short one.  */
+-        int len = top - middle;
+-        register int i;
+-
+-        /* Swap it with the bottom part of the bottom segment.  */
+-        for (i = 0; i < len; i++)
+-          {
+-            tem = argv[bottom + i];
+-            argv[bottom + i] = argv[middle + i];
+-            argv[middle + i] = tem;
+-            SWAP_FLAGS (bottom + i, middle + i);
+-          }
+-        /* Exclude the moved top segment from further swapping.  */
+-        bottom += len;
+-      }
+-    }
+-
+-  /* Update records for the slots the non-options now occupy.  */
+-
+-  d->__first_nonopt += (d->optind - d->__last_nonopt);
+-  d->__last_nonopt = d->optind;
+-}
+-
+-/* Initialize the internal data when the first call is made.  */
+-
+-static const char *
+-_getopt_initialize (
+-  int argc,
+-  char *const *argv,
+-  const char *optstring,
+-  struct _getopt_data *d
+-)
+-{
+-  /* Start processing options with ARGV-element 1 (since ARGV-element 0
+-     is the program name); the sequence of previously skipped
+-     non-option ARGV-elements is empty.  */
+-
+-  d->__first_nonopt = d->__last_nonopt = d->optind;
+-
+-  d->__nextchar = NULL;
+-
+-  d->__posixly_correct = !!getenv ("POSIXLY_CORRECT");
+-
+-  /* Determine how to handle the ordering of options and nonoptions.  */
+-
+-  if (optstring[0] == '-')
+-    {
+-      d->__ordering = RETURN_IN_ORDER;
+-      ++optstring;
+-    }
+-  else if (optstring[0] == '+')
+-    {
+-      d->__ordering = REQUIRE_ORDER;
+-      ++optstring;
+-    }
+-  else if (d->__posixly_correct)
+-    d->__ordering = REQUIRE_ORDER;
+-  else
+-    d->__ordering = PERMUTE;
+-
+-#if defined _LIBC && defined USE_NONOPTION_FLAGS
+-  if (!d->__posixly_correct && argc == __libc_argc && argv == __libc_argv)
+-    {
+-      if (d->__nonoption_flags_max_len == 0)
+-      {
+-        if (__getopt_nonoption_flags == NULL
+-            || __getopt_nonoption_flags[0] == '\0')
+-          d->__nonoption_flags_max_len = -1;
+-        else
+-          {
+-            const char *orig_str = __getopt_nonoption_flags;
+-            int len = d->__nonoption_flags_max_len = strlen (orig_str);
+-            if (d->__nonoption_flags_max_len < argc)
+-              d->__nonoption_flags_max_len = argc;
+-            __getopt_nonoption_flags =
+-              (char *) malloc (d->__nonoption_flags_max_len);
+-            if (__getopt_nonoption_flags == NULL)
+-              d->__nonoption_flags_max_len = -1;
+-            else
+-              memset (__mempcpy (__getopt_nonoption_flags, orig_str, len),
+-                      '\0', d->__nonoption_flags_max_len - len);
+-          }
+-      }
+-      d->__nonoption_flags_len = d->__nonoption_flags_max_len;
+-    }
+-  else
+-    d->__nonoption_flags_len = 0;
+-#endif
+-
+-  return optstring;
+-}
+-\f
+-/* Scan elements of ARGV (whose length is ARGC) for option characters
+-   given in OPTSTRING.
+-
+-   If an element of ARGV starts with '-', and is not exactly "-" or "--",
+-   then it is an option element.  The characters of this element
+-   (aside from the initial '-') are option characters.  If `getopt'
+-   is called repeatedly, it returns successively each of the option characters
+-   from each of the option elements.
+-
+-   If `getopt' finds another option character, it returns that character,
+-   updating `optind' and `nextchar' so that the next call to `getopt' can
+-   resume the scan with the following option character or ARGV-element.
+-
+-   If there are no more option characters, `getopt' returns -1.
+-   Then `optind' is the index in ARGV of the first ARGV-element
+-   that is not an option.  (The ARGV-elements have been permuted
+-   so that those that are not options now come last.)
+-
+-   OPTSTRING is a string containing the legitimate option characters.
+-   If an option character is seen that is not listed in OPTSTRING,
+-   return '?' after printing an error message.  If you set `opterr' to
+-   zero, the error message is suppressed but we still return '?'.
+-
+-   If a char in OPTSTRING is followed by a colon, that means it wants an arg,
+-   so the following text in the same ARGV-element, or the text of the following
+-   ARGV-element, is returned in `optarg'.  Two colons mean an option that
+-   wants an optional arg; if there is text in the current ARGV-element,
+-   it is returned in `optarg', otherwise `optarg' is set to zero.
+-
+-   If OPTSTRING starts with `-' or `+', it requests different methods of
+-   handling the non-option ARGV-elements.
+-   See the comments about RETURN_IN_ORDER and REQUIRE_ORDER, above.
+-
+-   Long-named options begin with `--' instead of `-'.
+-   Their names may be abbreviated as long as the abbreviation is unique
+-   or is an exact match for some defined option.  If they have an
+-   argument, it follows the option name in the same ARGV-element, separated
+-   from the option name by a `=', or else the in next ARGV-element.
+-   When `getopt' finds a long-named option, it returns 0 if that option's
+-   `flag' field is nonzero, the value of the option's `val' field
+-   if the `flag' field is zero.
+-
+-   The elements of ARGV aren't really const, because we permute them.
+-   But we pretend they're const in the prototype to be compatible
+-   with other systems.
+-
+-   LONGOPTS is a vector of `struct option' terminated by an
+-   element containing a name which is zero.
+-
+-   LONGIND returns the index in LONGOPT of the long-named option found.
+-   It is only valid when a long-named option has been found by the most
+-   recent call.
+-
+-   If LONG_ONLY is nonzero, '-' as well as '--' can introduce
+-   long-named options.  */
+-
+-int
+-_getopt_internal_r (
+-  int argc,
+-  char *const *argv,
+-  const char *optstring,
+-  const struct option *longopts,
+-  int *longind,
+-  int long_only,
+-  struct _getopt_data *d
+-)
+-{
+-  int print_errors = d->opterr;
+-  if (optstring[0] == ':')
+-    print_errors = 0;
+-
+-  if (argc < 1)
+-    return -1;
+-
+-  d->optarg = NULL;
+-
+-  if (d->optind == 0 || !d->__initialized)
+-    {
+-      if (d->optind == 0)
+-      d->optind = 1;          /* Don't scan ARGV[0], the program name.  */
+-      optstring = _getopt_initialize (argc, argv, optstring, d);
+-      d->__initialized = 1;
+-    }
+-
+-  /* Test whether ARGV[optind] points to a non-option argument.
+-     Either it does not have option syntax, or there is an environment flag
+-     from the shell indicating it is not an option.  The later information
+-     is only used when the used in the GNU libc.  */
+-#if defined _LIBC && defined USE_NONOPTION_FLAGS
+-# define NONOPTION_P (argv[d->optind][0] != '-' || argv[d->optind][1] == '\0' \
+-                    || (d->optind < d->__nonoption_flags_len                \
+-                        && __getopt_nonoption_flags[d->optind] == '1'))
+-#else
+-# define NONOPTION_P (argv[d->optind][0] != '-' || argv[d->optind][1] == '\0')
+-#endif
+-
+-  if (d->__nextchar == NULL || *d->__nextchar == '\0')
+-    {
+-      /* Advance to the next ARGV-element.  */
+-
+-      /* Give FIRST_NONOPT & LAST_NONOPT rational values if OPTIND has been
+-         moved back by the user (who may also have changed the arguments).  */
+-      if (d->__last_nonopt > d->optind)
+-      d->__last_nonopt = d->optind;
+-      if (d->__first_nonopt > d->optind)
+-      d->__first_nonopt = d->optind;
+-
+-      if (d->__ordering == PERMUTE)
+-      {
+-        /* If we have just processed some options following some non-options,
+-           exchange them so that the options come first.  */
+-
+-        if (d->__first_nonopt != d->__last_nonopt
+-            && d->__last_nonopt != d->optind)
+-          exchange ((char **) argv, d);
+-        else if (d->__last_nonopt != d->optind)
+-          d->__first_nonopt = d->optind;
+-
+-        /* Skip any additional non-options
+-           and extend the range of non-options previously skipped.  */
+-
+-        while (d->optind < argc && NONOPTION_P)
+-          d->optind++;
+-        d->__last_nonopt = d->optind;
+-      }
+-
+-      /* The special ARGV-element `--' means premature end of options.
+-         Skip it like a null option,
+-         then exchange with previous non-options as if it were an option,
+-         then skip everything else like a non-option.  */
+-
+-      if (d->optind != argc && !strcmp (argv[d->optind], "--"))
+-      {
+-        d->optind++;
+-
+-        if (d->__first_nonopt != d->__last_nonopt
+-            && d->__last_nonopt != d->optind)
+-          exchange ((char **) argv, d);
+-        else if (d->__first_nonopt == d->__last_nonopt)
+-          d->__first_nonopt = d->optind;
+-        d->__last_nonopt = argc;
+-
+-        d->optind = argc;
+-      }
+-
+-      /* If we have done all the ARGV-elements, stop the scan
+-         and back over any non-options that we skipped and permuted.  */
+-
+-      if (d->optind == argc)
+-      {
+-        /* Set the next-arg-index to point at the non-options
+-           that we previously skipped, so the caller will digest them.  */
+-        if (d->__first_nonopt != d->__last_nonopt)
+-          d->optind = d->__first_nonopt;
+-        return -1;
+-      }
+-
+-      /* If we have come to a non-option and did not permute it,
+-         either stop the scan or describe it to the caller and pass it by.  */
+-
+-      if (NONOPTION_P)
+-      {
+-        if (d->__ordering == REQUIRE_ORDER)
+-          return -1;
+-        d->optarg = argv[d->optind++];
+-        return 1;
+-      }
+-
+-      /* We have found another option-ARGV-element.
+-         Skip the initial punctuation.  */
+-
+-      d->__nextchar = (argv[d->optind] + 1
+-                     + (longopts != NULL && argv[d->optind][1] == '-'));
+-    }
+-
+-  /* Decode the current option-ARGV-element.  */
+-
+-  /* Check whether the ARGV-element is a long option.
+-
+-     If long_only and the ARGV-element has the form "-f", where f is
+-     a valid short option, don't consider it an abbreviated form of
+-     a long option that starts with f.  Otherwise there would be no
+-     way to give the -f short option.
+-
+-     On the other hand, if there's a long option "fubar" and
+-     the ARGV-element is "-fu", do consider that an abbreviation of
+-     the long option, just like "--fu", and not "-f" with arg "u".
+-
+-     This distinction seems to be the most useful approach.  */
+-
+-  if (longopts != NULL
+-      && (argv[d->optind][1] == '-'
+-        || (long_only && (argv[d->optind][2]
+-                          || !strchr (optstring, argv[d->optind][1])))))
+-    {
+-      char *nameend;
+-      const struct option *p;
+-      const struct option *pfound = NULL;
+-      int exact = 0;
+-      int ambig = 0;
+-      int indfound = -1;
+-      int option_index;
+-
+-      for (nameend = d->__nextchar; *nameend && *nameend != '='; nameend++)
+-      /* Do nothing.  */ ;
+-
+-      /* Test all long options for either exact match
+-         or abbreviated matches.  */
+-      for (p = longopts, option_index = 0; p->name; p++, option_index++)
+-      if (!strncmp (p->name, d->__nextchar, nameend - d->__nextchar))
+-        {
+-          if ((unsigned int) (nameend - d->__nextchar)
+-              == (unsigned int) strlen (p->name))
+-            {
+-              /* Exact match found.  */
+-              pfound = p;
+-              indfound = option_index;
+-              exact = 1;
+-              break;
+-            }
+-          else if (pfound == NULL)
+-            {
+-              /* First nonexact match found.  */
+-              pfound = p;
+-              indfound = option_index;
+-            }
+-          else if (long_only
+-                   || pfound->has_arg != p->has_arg
+-                   || pfound->flag != p->flag || pfound->val != p->val)
+-            /* Second or later nonexact match found.  */
+-            ambig = 1;
+-        }
+-
+-      if (ambig && !exact)
+-      {
+-        if (print_errors)
+-          {
+-#if defined _LIBC && defined USE_IN_LIBIO
+-            char *buf;
+-
+-            if (__asprintf (&buf, _("%s: option `%s' is ambiguous\n"),
+-                            argv[0], argv[d->optind]) >= 0)
+-              {
+-                _IO_flockfile (stderr);
+-
+-                int old_flags2 = ((_IO_FILE *) stderr)->_flags2;
+-                ((_IO_FILE *) stderr)->_flags2 |= _IO_FLAGS2_NOTCANCEL;
+-
+-                if (_IO_fwide (stderr, 0) > 0)
+-                  __fwprintf (stderr, L"%s", buf);
+-                else
+-                  fputs (buf, stderr);
+-
+-                ((_IO_FILE *) stderr)->_flags2 = old_flags2;
+-                _IO_funlockfile (stderr);
+-
+-                free (buf);
+-              }
+-#else
+-            fprintf (stderr, _("%s: option `%s' is ambiguous\n"),
+-                     argv[0], argv[d->optind]);
+-#endif
+-          }
+-        d->__nextchar += strlen (d->__nextchar);
+-        d->optind++;
+-        d->optopt = 0;
+-        return '?';
+-      }
+-
+-      if (pfound != NULL)
+-      {
+-        option_index = indfound;
+-        d->optind++;
+-        if (*nameend)
+-          {
+-            /* Don't test has_arg with >, because some C compilers don't
+-               allow it to be used on enums.  */
+-            if (pfound->has_arg)
+-              d->optarg = nameend + 1;
+-            else
+-              {
+-                if (print_errors)
+-                  {
+-#if defined _LIBC && defined USE_IN_LIBIO
+-                    char *buf;
+-                    int n;
+-#endif
+-
+-                    if (argv[d->optind - 1][1] == '-')
+-                      {
+-                        /* --option */
+-#if defined _LIBC && defined USE_IN_LIBIO
+-                        n = __asprintf (&buf, _("\
+-%s: option `--%s' doesn't allow an argument\n"), argv[0], pfound->name);
+-#else
+-                        fprintf (stderr, _("\
+-%s: option `--%s' doesn't allow an argument\n"), argv[0], pfound->name);
+-#endif
+-                      }
+-                    else
+-                      {
+-                        /* +option or -option */
+-#if defined _LIBC && defined USE_IN_LIBIO
+-                        n = __asprintf (&buf, _("\
+-%s: option `%c%s' doesn't allow an argument\n"), argv[0], argv[d->optind - 1][0], pfound->name);
+-#else
+-                        fprintf (stderr, _("\
+-%s: option `%c%s' doesn't allow an argument\n"), argv[0], argv[d->optind - 1][0], pfound->name);
+-#endif
+-                      }
+-
+-#if defined _LIBC && defined USE_IN_LIBIO
+-                    if (n >= 0)
+-                      {
+-                        _IO_flockfile (stderr);
+-
+-                        int old_flags2 = ((_IO_FILE *) stderr)->_flags2;
+-                        ((_IO_FILE *) stderr)->_flags2
+-                          |= _IO_FLAGS2_NOTCANCEL;
+-
+-                        if (_IO_fwide (stderr, 0) > 0)
+-                          __fwprintf (stderr, L"%s", buf);
+-                        else
+-                          fputs (buf, stderr);
+-
+-                        ((_IO_FILE *) stderr)->_flags2 = old_flags2;
+-                        _IO_funlockfile (stderr);
+-
+-                        free (buf);
+-                      }
+-#endif
+-                  }
+-
+-                d->__nextchar += strlen (d->__nextchar);
+-
+-                d->optopt = pfound->val;
+-                return '?';
+-              }
+-          }
+-        else if (pfound->has_arg == 1)
+-          {
+-            if (d->optind < argc)
+-              d->optarg = argv[d->optind++];
+-            else
+-              {
+-                if (print_errors)
+-                  {
+-#if defined _LIBC && defined USE_IN_LIBIO
+-                    char *buf;
+-
+-                    if (__asprintf (&buf, _("\
+-%s: option `%s' requires an argument\n"), argv[0], argv[d->optind - 1]) >= 0)
+-                      {
+-                        _IO_flockfile (stderr);
+-
+-                        int old_flags2 = ((_IO_FILE *) stderr)->_flags2;
+-                        ((_IO_FILE *) stderr)->_flags2
+-                          |= _IO_FLAGS2_NOTCANCEL;
+-
+-                        if (_IO_fwide (stderr, 0) > 0)
+-                          __fwprintf (stderr, L"%s", buf);
+-                        else
+-                          fputs (buf, stderr);
+-
+-                        ((_IO_FILE *) stderr)->_flags2 = old_flags2;
+-                        _IO_funlockfile (stderr);
+-
+-                        free (buf);
+-                      }
+-#else
+-                    fprintf (stderr,
+-                             _("%s: option `%s' requires an argument\n"),
+-                             argv[0], argv[d->optind - 1]);
+-#endif
+-                  }
+-                d->__nextchar += strlen (d->__nextchar);
+-                d->optopt = pfound->val;
+-                return optstring[0] == ':' ? ':' : '?';
+-              }
+-          }
+-        d->__nextchar += strlen (d->__nextchar);
+-        if (longind != NULL)
+-          *longind = option_index;
+-        if (pfound->flag)
+-          {
+-            *(pfound->flag) = pfound->val;
+-            return 0;
+-          }
+-        return pfound->val;
+-      }
+-
+-      /* Can't find it as a long option.  If this is not getopt_long_only,
+-         or the option starts with '--' or is not a valid short
+-         option, then it's an error.
+-         Otherwise interpret it as a short option.  */
+-      if (!long_only || argv[d->optind][1] == '-'
+-        || strchr (optstring, *d->__nextchar) == NULL)
+-      {
+-        if (print_errors)
+-          {
+-#if defined _LIBC && defined USE_IN_LIBIO
+-            char *buf;
+-            int n;
+-#endif
+-
+-            if (argv[d->optind][1] == '-')
+-              {
+-                /* --option */
+-#if defined _LIBC && defined USE_IN_LIBIO
+-                n = __asprintf (&buf, _("%s: unrecognized option `--%s'\n"),
+-                                argv[0], d->__nextchar);
+-#else
+-                fprintf (stderr, _("%s: unrecognized option `--%s'\n"),
+-                         argv[0], d->__nextchar);
+-#endif
+-              }
+-            else
+-              {
+-                /* +option or -option */
+-#if defined _LIBC && defined USE_IN_LIBIO
+-                n = __asprintf (&buf, _("%s: unrecognized option `%c%s'\n"),
+-                                argv[0], argv[d->optind][0], d->__nextchar);
+-#else
+-                fprintf (stderr, _("%s: unrecognized option `%c%s'\n"),
+-                         argv[0], argv[d->optind][0], d->__nextchar);
+-#endif
+-              }
+-
+-#if defined _LIBC && defined USE_IN_LIBIO
+-            if (n >= 0)
+-              {
+-                _IO_flockfile (stderr);
+-
+-                int old_flags2 = ((_IO_FILE *) stderr)->_flags2;
+-                ((_IO_FILE *) stderr)->_flags2 |= _IO_FLAGS2_NOTCANCEL;
+-
+-                if (_IO_fwide (stderr, 0) > 0)
+-                  __fwprintf (stderr, L"%s", buf);
+-                else
+-                  fputs (buf, stderr);
+-
+-                ((_IO_FILE *) stderr)->_flags2 = old_flags2;
+-                _IO_funlockfile (stderr);
+-
+-                free (buf);
+-              }
+-#endif
+-          }
+-        d->__nextchar = (char *) "";
+-        d->optind++;
+-        d->optopt = 0;
+-        return '?';
+-      }
+-    }
+-
+-  /* Look at and handle the next short option-character.  */
+-
+-  {
+-    char c = *d->__nextchar++;
+-    char *temp = strchr (optstring, c);
+-
+-    /* Increment `optind' when we start to process its last character.  */
+-    if (*d->__nextchar == '\0')
+-      ++d->optind;
+-
+-    if (temp == NULL || c == ':')
+-      {
+-      if (print_errors)
+-        {
+-#if defined _LIBC && defined USE_IN_LIBIO
+-          char *buf;
+-          int n;
+-#endif
+-
+-          if (d->__posixly_correct)
+-            {
+-              /* 1003.2 specifies the format of this message.  */
+-#if defined _LIBC && defined USE_IN_LIBIO
+-              n = __asprintf (&buf, _("%s: illegal option -- %c\n"),
+-                              argv[0], c);
+-#else
+-              fprintf (stderr, _("%s: illegal option -- %c\n"), argv[0], c);
+-#endif
+-            }
+-          else
+-            {
+-#if defined _LIBC && defined USE_IN_LIBIO
+-              n = __asprintf (&buf, _("%s: invalid option -- %c\n"),
+-                              argv[0], c);
+-#else
+-              fprintf (stderr, _("%s: invalid option -- %c\n"), argv[0], c);
+-#endif
+-            }
+-
+-#if defined _LIBC && defined USE_IN_LIBIO
+-          if (n >= 0)
+-            {
+-              _IO_flockfile (stderr);
+-
+-              int old_flags2 = ((_IO_FILE *) stderr)->_flags2;
+-              ((_IO_FILE *) stderr)->_flags2 |= _IO_FLAGS2_NOTCANCEL;
+-
+-              if (_IO_fwide (stderr, 0) > 0)
+-                __fwprintf (stderr, L"%s", buf);
+-              else
+-                fputs (buf, stderr);
+-
+-              ((_IO_FILE *) stderr)->_flags2 = old_flags2;
+-              _IO_funlockfile (stderr);
+-
+-              free (buf);
+-            }
+-#endif
+-        }
+-      d->optopt = c;
+-      return '?';
+-      }
+-    /* Convenience. Treat POSIX -W foo same as long option --foo */
+-    if (temp[0] == 'W' && temp[1] == ';')
+-      {
+-      char *nameend;
+-      const struct option *p;
+-      const struct option *pfound = NULL;
+-      int exact = 0;
+-      int ambig = 0;
+-      int indfound = 0;
+-      int option_index;
+-
+-      /* This is an option that requires an argument.  */
+-      if (*d->__nextchar != '\0')
+-        {
+-          d->optarg = d->__nextchar;
+-          /* If we end this ARGV-element by taking the rest as an arg,
+-             we must advance to the next element now.  */
+-          d->optind++;
+-        }
+-      else if (d->optind == argc)
+-        {
+-          if (print_errors)
+-            {
+-              /* 1003.2 specifies the format of this message.  */
+-#if defined _LIBC && defined USE_IN_LIBIO
+-              char *buf;
+-
+-              if (__asprintf (&buf,
+-                              _("%s: option requires an argument -- %c\n"),
+-                              argv[0], c) >= 0)
+-                {
+-                  _IO_flockfile (stderr);
+-
+-                  int old_flags2 = ((_IO_FILE *) stderr)->_flags2;
+-                  ((_IO_FILE *) stderr)->_flags2 |= _IO_FLAGS2_NOTCANCEL;
+-
+-                  if (_IO_fwide (stderr, 0) > 0)
+-                    __fwprintf (stderr, L"%s", buf);
+-                  else
+-                    fputs (buf, stderr);
+-
+-                  ((_IO_FILE *) stderr)->_flags2 = old_flags2;
+-                  _IO_funlockfile (stderr);
+-
+-                  free (buf);
+-                }
+-#else
+-              fprintf (stderr, _("%s: option requires an argument -- %c\n"),
+-                       argv[0], c);
+-#endif
+-            }
+-          d->optopt = c;
+-          if (optstring[0] == ':')
+-            c = ':';
+-          else
+-            c = '?';
+-          return c;
+-        }
+-      else
+-        /* We already incremented `d->optind' once;
+-           increment it again when taking next ARGV-elt as argument.  */
+-        d->optarg = argv[d->optind++];
+-
+-      /* optarg is now the argument, see if it's in the
+-         table of longopts.  */
+-
+-      for (d->__nextchar = nameend = d->optarg; *nameend && *nameend != '=';
+-           nameend++)
+-        /* Do nothing.  */ ;
+-
+-      /* Test all long options for either exact match
+-         or abbreviated matches.  */
+-      for (p = longopts, option_index = 0; p->name; p++, option_index++)
+-        if (!strncmp (p->name, d->__nextchar, nameend - d->__nextchar))
+-          {
+-            if ((unsigned int) (nameend - d->__nextchar) ==
+-                strlen (p->name))
+-              {
+-                /* Exact match found.  */
+-                pfound = p;
+-                indfound = option_index;
+-                exact = 1;
+-                break;
+-              }
+-            else if (pfound == NULL)
+-              {
+-                /* First nonexact match found.  */
+-                pfound = p;
+-                indfound = option_index;
+-              }
+-            else
+-              /* Second or later nonexact match found.  */
+-              ambig = 1;
+-          }
+-      if (ambig && !exact)
+-        {
+-          if (print_errors)
+-            {
+-#if defined _LIBC && defined USE_IN_LIBIO
+-              char *buf;
+-
+-              if (__asprintf (&buf, _("%s: option `-W %s' is ambiguous\n"),
+-                              argv[0], argv[d->optind]) >= 0)
+-                {
+-                  _IO_flockfile (stderr);
+-
+-                  int old_flags2 = ((_IO_FILE *) stderr)->_flags2;
+-                  ((_IO_FILE *) stderr)->_flags2 |= _IO_FLAGS2_NOTCANCEL;
+-
+-                  if (_IO_fwide (stderr, 0) > 0)
+-                    __fwprintf (stderr, L"%s", buf);
+-                  else
+-                    fputs (buf, stderr);
+-
+-                  ((_IO_FILE *) stderr)->_flags2 = old_flags2;
+-                  _IO_funlockfile (stderr);
+-
+-                  free (buf);
+-                }
+-#else
+-              fprintf (stderr, _("%s: option `-W %s' is ambiguous\n"),
+-                       argv[0], argv[d->optind]);
+-#endif
+-            }
+-          d->__nextchar += strlen (d->__nextchar);
+-          d->optind++;
+-          return '?';
+-        }
+-      if (pfound != NULL)
+-        {
+-          option_index = indfound;
+-          if (*nameend)
+-            {
+-              /* Don't test has_arg with >, because some C compilers don't
+-                 allow it to be used on enums.  */
+-              if (pfound->has_arg)
+-                d->optarg = nameend + 1;
+-              else
+-                {
+-                  if (print_errors)
+-                    {
+-#if defined _LIBC && defined USE_IN_LIBIO
+-                      char *buf;
+-
+-                      if (__asprintf (&buf, _("\
+-%s: option `-W %s' doesn't allow an argument\n"), argv[0], pfound->name) >= 0)
+-                        {
+-                          _IO_flockfile (stderr);
+-
+-                          int old_flags2 = ((_IO_FILE *) stderr)->_flags2;
+-                          ((_IO_FILE *) stderr)->_flags2
+-                            |= _IO_FLAGS2_NOTCANCEL;
+-
+-                          if (_IO_fwide (stderr, 0) > 0)
+-                            __fwprintf (stderr, L"%s", buf);
+-                          else
+-                            fputs (buf, stderr);
+-
+-                          ((_IO_FILE *) stderr)->_flags2 = old_flags2;
+-                          _IO_funlockfile (stderr);
+-
+-                          free (buf);
+-                        }
+-#else
+-                      fprintf (stderr, _("\
+-%s: option `-W %s' doesn't allow an argument\n"), argv[0], pfound->name);
+-#endif
+-                    }
+-
+-                  d->__nextchar += strlen (d->__nextchar);
+-                  return '?';
+-                }
+-            }
+-          else if (pfound->has_arg == 1)
+-            {
+-              if (d->optind < argc)
+-                d->optarg = argv[d->optind++];
+-              else
+-                {
+-                  if (print_errors)
+-                    {
+-#if defined _LIBC && defined USE_IN_LIBIO
+-                      char *buf;
+-
+-                      if (__asprintf (&buf, _("\
+-%s: option `%s' requires an argument\n"), argv[0], argv[d->optind - 1]) >= 0)
+-                        {
+-                          _IO_flockfile (stderr);
+-
+-                          int old_flags2 = ((_IO_FILE *) stderr)->_flags2;
+-                          ((_IO_FILE *) stderr)->_flags2
+-                            |= _IO_FLAGS2_NOTCANCEL;
+-
+-                          if (_IO_fwide (stderr, 0) > 0)
+-                            __fwprintf (stderr, L"%s", buf);
+-                          else
+-                            fputs (buf, stderr);
+-
+-                          ((_IO_FILE *) stderr)->_flags2 = old_flags2;
+-                          _IO_funlockfile (stderr);
+-
+-                          free (buf);
+-                        }
+-#else
+-                      fprintf (stderr,
+-                               _("%s: option `%s' requires an argument\n"),
+-                               argv[0], argv[d->optind - 1]);
+-#endif
+-                    }
+-                  d->__nextchar += strlen (d->__nextchar);
+-                  return optstring[0] == ':' ? ':' : '?';
+-                }
+-            }
+-          d->__nextchar += strlen (d->__nextchar);
+-          if (longind != NULL)
+-            *longind = option_index;
+-          if (pfound->flag)
+-            {
+-              *(pfound->flag) = pfound->val;
+-              return 0;
+-            }
+-          return pfound->val;
+-        }
+-      d->__nextchar = NULL;
+-      return 'W';             /* Let the application handle it.   */
+-      }
+-    if (temp[1] == ':')
+-      {
+-      if (temp[2] == ':')
+-        {
+-          /* This is an option that accepts an argument optionally.  */
+-          if (*d->__nextchar != '\0')
+-            {
+-              d->optarg = d->__nextchar;
+-              d->optind++;
+-            }
+-          else
+-            d->optarg = NULL;
+-          d->__nextchar = NULL;
+-        }
+-      else
+-        {
+-          /* This is an option that requires an argument.  */
+-          if (*d->__nextchar != '\0')
+-            {
+-              d->optarg = d->__nextchar;
+-              /* If we end this ARGV-element by taking the rest as an arg,
+-                 we must advance to the next element now.  */
+-              d->optind++;
+-            }
+-          else if (d->optind == argc)
+-            {
+-              if (print_errors)
+-                {
+-                  /* 1003.2 specifies the format of this message.  */
+-#if defined _LIBC && defined USE_IN_LIBIO
+-                  char *buf;
+-
+-                  if (__asprintf (&buf, _("\
+-%s: option requires an argument -- %c\n"), argv[0], c) >= 0)
+-                    {
+-                      _IO_flockfile (stderr);
+-
+-                      int old_flags2 = ((_IO_FILE *) stderr)->_flags2;
+-                      ((_IO_FILE *) stderr)->_flags2 |=
+-                        _IO_FLAGS2_NOTCANCEL;
+-
+-                      if (_IO_fwide (stderr, 0) > 0)
+-                        __fwprintf (stderr, L"%s", buf);
+-                      else
+-                        fputs (buf, stderr);
+-
+-                      ((_IO_FILE *) stderr)->_flags2 = old_flags2;
+-                      _IO_funlockfile (stderr);
+-
+-                      free (buf);
+-                    }
+-#else
+-                  fprintf (stderr,
+-                           _("%s: option requires an argument -- %c\n"),
+-                           argv[0], c);
+-#endif
+-                }
+-              d->optopt = c;
+-              if (optstring[0] == ':')
+-                c = ':';
+-              else
+-                c = '?';
+-            }
+-          else
+-            /* We already incremented `optind' once;
+-               increment it again when taking next ARGV-elt as argument.  */
+-            d->optarg = argv[d->optind++];
+-          d->__nextchar = NULL;
+-        }
+-      }
+-    return c;
+-  }
+-}
+-
+-int
+-_getopt_internal (
+-  int argc,
+-  char *const *argv,
+-  const char *optstring,
+-  const struct option *longopts,
+-  int *longind,
+-  int long_only
+-)
+-{
+-  int result;
+-
+-  getopt_data.optind = optind;
+-  getopt_data.opterr = opterr;
+-
+-  result = _getopt_internal_r (argc, argv, optstring, longopts,
+-                             longind, long_only, &getopt_data);
+-
+-  optind = getopt_data.optind;
+-  optarg = getopt_data.optarg;
+-  optopt = getopt_data.optopt;
+-
+-  return result;
+-}
+-
+-int
+-getopt (
+-  int argc,
+-  char *const *argv,
+-  const char *optstring
+-)
+-{
+-  return _getopt_internal (argc, argv, optstring,
+-                         (const struct option *) 0, (int *) 0, 0);
+-}
+-
+-#endif /* Not ELIDE_CODE.  */
+-\f
+-#ifdef TEST
+-
+-/* Compile with -DTEST to make an executable for use in testing
+-   the above definition of `getopt'.  */
+-
+-int
+-main (
+-  int argc,
+-  char **argv
+-)
+-{
+-  int c;
+-  int digit_optind = 0;
+-
+-  while (1)
+-    {
+-      int this_option_optind = optind ? optind : 1;
+-
+-      c = getopt (argc, argv, "abc:d:0123456789");
+-      if (c == -1)
+-      break;
+-
+-      switch (c)
+-      {
+-      case '0':
+-      case '1':
+-      case '2':
+-      case '3':
+-      case '4':
+-      case '5':
+-      case '6':
+-      case '7':
+-      case '8':
+-      case '9':
+-        if (digit_optind != 0 && digit_optind != this_option_optind)
+-          printf ("digits occur in two different argv-elements.\n");
+-        digit_optind = this_option_optind;
+-        printf ("option %c\n", c);
+-        break;
+-
+-      case 'a':
+-        printf ("option a\n");
+-        break;
+-
+-      case 'b':
+-        printf ("option b\n");
+-        break;
+-
+-      case 'c':
+-        printf ("option c with value `%s'\n", optarg);
+-        break;
+-
+-      case '?':
+-        break;
+-
+-      default:
+-        printf ("?? getopt returned character code 0%o ??\n", c);
+-      }
+-    }
+-
+-  if (optind < argc)
+-    {
+-      printf ("non-option ARGV-elements: ");
+-      while (optind < argc)
+-      printf ("%s ", argv[optind++]);
+-      printf ("\n");
+-    }
+-
+-  exit (0);
+-}
+-
+-#endif /* TEST */
+diff -pruN fribidi-1.0.10.orig/bin/getopt.h fribidi-1.0.10/bin/getopt.h
+--- fribidi-1.0.10.orig/bin/getopt.h   2015-08-05 03:49:07.000000000 +0900
++++ fribidi-1.0.10/bin/getopt.h        1970-01-01 09:00:00.000000000 +0900
+@@ -1,187 +0,0 @@
+-/* Declarations for getopt.
+-   Copyright (C) 1989-1994,1996-1999,2001,2003,2004
+-   Free Software Foundation, Inc.
+-   This file is part of the GNU C Library.
+-
+-   This program is free software; you can redistribute it and/or modify
+-   it under the terms of the GNU General Public License as published by
+-   the Free Software Foundation; either version 2, or (at your option)
+-   any later version.
+-
+-   This program is distributed in the hope that it will be useful,
+-   but WITHOUT ANY WARRANTY; without even the implied warranty of
+-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+-   GNU General Public License for more details.
+-
+-   You should have received a copy of the GNU General Public License along
+-   with this program; if not, write to the Free Software Foundation,
+-   Inc., 59 Temple Place - Suite 330, Boston, MA 02110-1301, USA.  */
+-
+-#ifndef _GETOPT_H
+-
+-#ifndef __need_getopt
+-# define _GETOPT_H 1
+-#endif
+-
+-/* If __GNU_LIBRARY__ is not already defined, either we are being used
+-   standalone, or this is the first header included in the source file.
+-   If we are being used with glibc, we need to include <features.h>, but
+-   that does not exist if we are standalone.  So: if __GNU_LIBRARY__ is
+-   not defined, include <ctype.h>, which will pull in <features.h> for us
+-   if it's from glibc.  (Why ctype.h?  It's guaranteed to exist and it
+-   doesn't flood the namespace with stuff the way some other headers do.)  */
+-#if !defined __GNU_LIBRARY__
+-# include <ctype.h>
+-#endif
+-
+-#ifndef __THROW
+-# ifndef __GNUC_PREREQ
+-#  define __GNUC_PREREQ(maj, min) (0)
+-# endif
+-# if defined __cplusplus && __GNUC_PREREQ (2,8)
+-#  define __THROW     throw ()
+-# else
+-#  define __THROW
+-# endif
+-#endif
+-
+-#ifdef        __cplusplus
+-extern "C"
+-{
+-#endif
+-
+-/* For communication from `getopt' to the caller.
+-   When `getopt' finds an option that takes an argument,
+-   the argument value is returned here.
+-   Also, when `ordering' is RETURN_IN_ORDER,
+-   each non-option ARGV-element is returned here.  */
+-
+-  extern char *optarg;
+-
+-/* Index in ARGV of the next element to be scanned.
+-   This is used for communication to and from the caller
+-   and for communication between successive calls to `getopt'.
+-
+-   On entry to `getopt', zero means this is the first call; initialize.
+-
+-   When `getopt' returns -1, this is the index of the first of the
+-   non-option elements that the caller should itself scan.
+-
+-   Otherwise, `optind' communicates from one call to the next
+-   how much of ARGV has been scanned so far.  */
+-
+-  extern int optind;
+-
+-/* Callers store zero here to inhibit the error message `getopt' prints
+-   for unrecognized options.  */
+-
+-  extern int opterr;
+-
+-/* Set to an option character which was unrecognized.  */
+-
+-  extern int optopt;
+-
+-#ifndef __need_getopt
+-/* Describe the long-named options requested by the application.
+-   The LONG_OPTIONS argument to getopt_long or getopt_long_only is a vector
+-   of `struct option' terminated by an element containing a name which is
+-   zero.
+-
+-   The field `has_arg' is:
+-   no_argument                (or 0) if the option does not take an argument,
+-   required_argument  (or 1) if the option requires an argument,
+-   optional_argument  (or 2) if the option takes an optional argument.
+-
+-   If the field `flag' is not NULL, it points to a variable that is set
+-   to the value given in the field `val' when the option is found, but
+-   left unchanged if the option is not found.
+-
+-   To have a long-named option do something other than set an `int' to
+-   a compiled-in constant, such as set a value from `optarg', set the
+-   option's `flag' field to zero and its `val' field to a nonzero
+-   value (the equivalent single-letter option character, if there is
+-   one).  For long options that have a zero `flag' field, `getopt'
+-   returns the contents of the `val' field.  */
+-
+-  struct option
+-  {
+-    const char *name;
+-    /* has_arg can't be an enum because some compilers complain about
+-       type mismatches in all the code that assumes it is an int.  */
+-    int has_arg;
+-    int *flag;
+-    int val;
+-  };
+-
+-/* Names for the values of the `has_arg' field of `struct option'.  */
+-
+-# define no_argument          0
+-# define required_argument    1
+-# define optional_argument    2
+-#endif                                /* need getopt */
+-
+-
+-/* Get definitions and prototypes for functions to process the
+-   arguments in ARGV (ARGC of them, minus the program name) for
+-   options given in OPTS.
+-
+-   Return the option character from OPTS just read.  Return -1 when
+-   there are no more options.  For unrecognized options, or options
+-   missing arguments, `optopt' is set to the option letter, and '?' is
+-   returned.
+-
+-   The OPTS string is a list of characters which are recognized option
+-   letters, optionally followed by colons, specifying that that letter
+-   takes an argument, to be placed in `optarg'.
+-
+-   If a letter in OPTS is followed by two colons, its argument is
+-   optional.  This behavior is specific to the GNU `getopt'.
+-
+-   The argument `--' causes premature termination of argument
+-   scanning, explicitly telling `getopt' that there are no more
+-   options.
+-
+-   If OPTS begins with `--', then non-option arguments are treated as
+-   arguments to the option '\0'.  This behavior is specific to the GNU
+-   `getopt'.  */
+-
+-#ifdef __GNU_LIBRARY__
+-/* Many other libraries have conflicting prototypes for getopt, with
+-   differences in the consts, in stdlib.h.  To avoid compilation
+-   errors, only prototype getopt for the GNU C library.  */
+-  extern int getopt (
+-  int ___argc,
+-  char *const *___argv,
+-  const char *__shortopts
+-  ) __THROW;
+-#else                         /* not __GNU_LIBRARY__ */
+-  extern int getopt (
+-  );
+-#endif                                /* __GNU_LIBRARY__ */
+-
+-#ifndef __need_getopt
+-  extern int getopt_long (
+-  int ___argc,
+-  char *const *___argv,
+-  const char *__shortopts,
+-  const struct option *__longopts,
+-  int *__longind
+-  ) __THROW;
+-  extern int getopt_long_only (
+-  int ___argc,
+-  char *const *___argv,
+-  const char *__shortopts,
+-  const struct option *__longopts,
+-  int *__longind
+-  ) __THROW;
+-
+-#endif
+-
+-#ifdef        __cplusplus
+-}
+-#endif
+-
+-/* Make sure we later can get all the definitions and declarations.  */
+-#undef __need_getopt
+-
+-#endif                                /* getopt.h */
+diff -pruN fribidi-1.0.10.orig/bin/getopt1.c fribidi-1.0.10/bin/getopt1.c
+--- fribidi-1.0.10.orig/bin/getopt1.c  2015-08-05 03:49:07.000000000 +0900
++++ fribidi-1.0.10/bin/getopt1.c       1970-01-01 09:00:00.000000000 +0900
+@@ -1,213 +0,0 @@
+-/* getopt_long and getopt_long_only entry points for GNU getopt.
+-   Copyright (C) 1987,88,89,90,91,92,93,94,96,97,98,2004
+-     Free Software Foundation, Inc.
+-   This file is part of the GNU C Library.
+-
+-   This program is free software; you can redistribute it and/or modify
+-   it under the terms of the GNU General Public License as published by
+-   the Free Software Foundation; either version 2, or (at your option)
+-   any later version.
+-
+-   This program is distributed in the hope that it will be useful,
+-   but WITHOUT ANY WARRANTY; without even the implied warranty of
+-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+-   GNU General Public License for more details.
+-
+-   You should have received a copy of the GNU General Public License along
+-   with this program; if not, write to the Free Software Foundation,
+-   Inc., 59 Temple Place - Suite 330, Boston, MA 02110-1301, USA.  */
+-\f
+-#ifdef HAVE_CONFIG_H
+-#include <config.h>
+-#endif
+-
+-#ifdef _LIBC
+-# include <getopt.h>
+-#else
+-# include "getopt.h"
+-#endif
+-#include "getopt_int.h"
+-
+-#include <stdio.h>
+-
+-/* Comment out all this code if we are using the GNU C Library, and are not
+-   actually compiling the library itself.  This code is part of the GNU C
+-   Library, but also included in many other GNU distributions.  Compiling
+-   and linking in this code is a waste when using the GNU C library
+-   (especially if it is a shared library).  Rather than having every GNU
+-   program understand `configure --with-gnu-libc' and omit the object files,
+-   it is simpler to just do this in the source for each such file.  */
+-
+-#define GETOPT_INTERFACE_VERSION 2
+-#if !defined _LIBC && defined __GLIBC__ && __GLIBC__ >= 2
+-#include <gnu-versions.h>
+-#if _GNU_GETOPT_INTERFACE_VERSION == GETOPT_INTERFACE_VERSION
+-#define ELIDE_CODE
+-#endif
+-#endif
+-
+-#ifndef ELIDE_CODE
+-
+-
+-/* This needs to come after some library #include
+-   to get __GNU_LIBRARY__ defined.  */
+-#ifdef __GNU_LIBRARY__
+-#include <stdlib.h>
+-#endif
+-
+-#ifndef       NULL
+-#define NULL 0
+-#endif
+-
+-int
+-getopt_long (
+-  int argc,
+-  char *const *argv,
+-  const char *options,
+-  const struct option *long_options,
+-  int *opt_index
+-)
+-{
+-  return _getopt_internal (argc, argv, options, long_options, opt_index, 0);
+-}
+-
+-int
+-_getopt_long_r (
+-  int argc,
+-  char *const *argv,
+-  const char *options,
+-  const struct option *long_options,
+-  int *opt_index,
+-  struct _getopt_data *d
+-)
+-{
+-  return _getopt_internal_r (argc, argv, options, long_options, opt_index,
+-                           0, d);
+-}
+-
+-/* Like getopt_long, but '-' as well as '--' can indicate a long option.
+-   If an option that starts with '-' (not '--') doesn't match a long option,
+-   but does match a short option, it is parsed as a short option
+-   instead.  */
+-
+-int
+-getopt_long_only (
+-  int argc,
+-  char *const *argv,
+-  const char *options,
+-  const struct option *long_options,
+-  int *opt_index
+-)
+-{
+-  return _getopt_internal (argc, argv, options, long_options, opt_index, 1);
+-}
+-
+-int
+-_getopt_long_only_r (
+-  int argc,
+-  char *const *argv,
+-  const char *options,
+-  const struct option *long_options,
+-  int *opt_index,
+-  struct _getopt_data *d
+-)
+-{
+-  return _getopt_internal_r (argc, argv, options, long_options, opt_index,
+-                           1, d);
+-}
+-
+-#endif /* Not ELIDE_CODE.  */
+-\f
+-#ifdef TEST
+-
+-#include <stdio.h>
+-
+-int
+-main (
+-  int argc,
+-  char **argv
+-)
+-{
+-  int c;
+-  int digit_optind = 0;
+-
+-  while (1)
+-    {
+-      int this_option_optind = optind ? optind : 1;
+-      int option_index = 0;
+-      static struct option long_options[] = {
+-      {"add", 1, 0, 0},
+-      {"append", 0, 0, 0},
+-      {"delete", 1, 0, 0},
+-      {"verbose", 0, 0, 0},
+-      {"create", 0, 0, 0},
+-      {"file", 1, 0, 0},
+-      {0, 0, 0, 0}
+-      };
+-
+-      c = getopt_long (argc, argv, "abc:d:0123456789",
+-                     long_options, &option_index);
+-      if (c == -1)
+-      break;
+-
+-      switch (c)
+-      {
+-      case 0:
+-        printf ("option %s", long_options[option_index].name);
+-        if (optarg)
+-          printf (" with arg %s", optarg);
+-        printf ("\n");
+-        break;
+-
+-      case '0':
+-      case '1':
+-      case '2':
+-      case '3':
+-      case '4':
+-      case '5':
+-      case '6':
+-      case '7':
+-      case '8':
+-      case '9':
+-        if (digit_optind != 0 && digit_optind != this_option_optind)
+-          printf ("digits occur in two different argv-elements.\n");
+-        digit_optind = this_option_optind;
+-        printf ("option %c\n", c);
+-        break;
+-
+-      case 'a':
+-        printf ("option a\n");
+-        break;
+-
+-      case 'b':
+-        printf ("option b\n");
+-        break;
+-
+-      case 'c':
+-        printf ("option c with value `%s'\n", optarg);
+-        break;
+-
+-      case 'd':
+-        printf ("option d with value `%s'\n", optarg);
+-        break;
+-
+-      case '?':
+-        break;
+-
+-      default:
+-        printf ("?? getopt returned character code 0%o ??\n", c);
+-      }
+-    }
+-
+-  if (optind < argc)
+-    {
+-      printf ("non-option ARGV-elements: ");
+-      while (optind < argc)
+-      printf ("%s ", argv[optind++]);
+-      printf ("\n");
+-    }
+-
+-  exit (0);
+-}
+-
+-#endif /* TEST */
+diff -pruN fribidi-1.0.10.orig/bin/getopt_int.h fribidi-1.0.10/bin/getopt_int.h
+--- fribidi-1.0.10.orig/bin/getopt_int.h       2015-08-05 03:49:07.000000000 +0900
++++ fribidi-1.0.10/bin/getopt_int.h    1970-01-01 09:00:00.000000000 +0900
+@@ -1,145 +0,0 @@
+-/* Internal declarations for getopt.
+-   Copyright (C) 1989-1994,1996-1999,2001,2003,2004
+-   Free Software Foundation, Inc.
+-   This file is part of the GNU C Library.
+-
+-   This program is free software; you can redistribute it and/or modify
+-   it under the terms of the GNU General Public License as published by
+-   the Free Software Foundation; either version 2, or (at your option)
+-   any later version.
+-
+-   This program is distributed in the hope that it will be useful,
+-   but WITHOUT ANY WARRANTY; without even the implied warranty of
+-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+-   GNU General Public License for more details.
+-
+-   You should have received a copy of the GNU General Public License along
+-   with this program; if not, write to the Free Software Foundation,
+-   Inc., 59 Temple Place - Suite 330, Boston, MA 02110-1301, USA.  */
+-
+-#ifndef _GETOPT_INT_H
+-#define _GETOPT_INT_H 1
+-
+-extern int _getopt_internal (
+-  int ___argc,
+-  char *const *___argv,
+-  const char *__shortopts,
+-  const struct option *__longopts,
+-  int *__longind,
+-  int __long_only
+-);
+-\f
+-
+-/* Reentrant versions which can handle parsing multiple argument
+-   vectors at the same time.  */
+-
+-/* Data type for reentrant functions.  */
+-struct _getopt_data
+-{
+-  /* These have exactly the same meaning as the corresponding global
+-     variables, except that they are used for the reentrant
+-     versions of getopt.  */
+-  int optind;
+-  int opterr;
+-  int optopt;
+-  char *optarg;
+-
+-  /* Internal members.  */
+-
+-  /* True if the internal members have been initialized.  */
+-  int __initialized;
+-
+-  /* The next char to be scanned in the option-element
+-     in which the last option character we returned was found.
+-     This allows us to pick up the scan where we left off.
+-
+-     If this is zero, or a null string, it means resume the scan
+-     by advancing to the next ARGV-element.  */
+-  char *__nextchar;
+-
+-  /* Describe how to deal with options that follow non-option ARGV-elements.
+-
+-     If the caller did not specify anything,
+-     the default is REQUIRE_ORDER if the environment variable
+-     POSIXLY_CORRECT is defined, PERMUTE otherwise.
+-
+-     REQUIRE_ORDER means don't recognize them as options;
+-     stop option processing when the first non-option is seen.
+-     This is what Unix does.
+-     This mode of operation is selected by either setting the environment
+-     variable POSIXLY_CORRECT, or using `+' as the first character
+-     of the list of option characters.
+-
+-     PERMUTE is the default.  We permute the contents of ARGV as we
+-     scan, so that eventually all the non-options are at the end.
+-     This allows options to be given in any order, even with programs
+-     that were not written to expect this.
+-
+-     RETURN_IN_ORDER is an option available to programs that were
+-     written to expect options and other ARGV-elements in any order
+-     and that care about the ordering of the two.  We describe each
+-     non-option ARGV-element as if it were the argument of an option
+-     with character code 1.  Using `-' as the first character of the
+-     list of option characters selects this mode of operation.
+-
+-     The special argument `--' forces an end of option-scanning regardless
+-     of the value of `ordering'.  In the case of RETURN_IN_ORDER, only
+-     `--' can cause `getopt' to return -1 with `optind' != ARGC.  */
+-
+-  enum
+-  {
+-    REQUIRE_ORDER, PERMUTE, RETURN_IN_ORDER
+-  } __ordering;
+-
+-  /* If the POSIXLY_CORRECT environment variable is set.  */
+-  int __posixly_correct;
+-
+-
+-  /* Handle permutation of arguments.  */
+-
+-  /* Describe the part of ARGV that contains non-options that have
+-     been skipped.  `first_nonopt' is the index in ARGV of the first
+-     of them; `last_nonopt' is the index after the last of them.  */
+-
+-  int __first_nonopt;
+-  int __last_nonopt;
+-
+-#if defined _LIBC && defined USE_NONOPTION_FLAGS
+-  int __nonoption_flags_max_len;
+-  int __nonoption_flags_len;
+-# endif
+-};
+-
+-/* The initializer is necessary to set OPTIND and OPTERR to their
+-   default values and to clear the initialization flag.  */
+-#define _GETOPT_DATA_INITIALIZER      { 1, 1 }
+-
+-extern int _getopt_internal_r (
+-  int ___argc,
+-  char *const *___argv,
+-  const char *__shortopts,
+-  const struct option *__longopts,
+-  int *__longind,
+-  int __long_only,
+-  struct _getopt_data *__data
+-);
+-
+-extern int _getopt_long_r (
+-  int ___argc,
+-  char *const *___argv,
+-  const char *__shortopts,
+-  const struct option *__longopts,
+-  int *__longind,
+-  struct _getopt_data *__data
+-);
+-
+-extern int _getopt_long_only_r (
+-  int ___argc,
+-  char *const *___argv,
+-  const char *__shortopts,
+-  const struct option *__longopts,
+-  int *__longind,
+-  struct _getopt_data *__data
+-);
+-
+-#endif /* getopt_int.h */
+diff -pruN fribidi-1.0.10.orig/bin/gettext.h fribidi-1.0.10/bin/gettext.h
+--- fribidi-1.0.10.orig/bin/gettext.h  2015-08-05 03:49:07.000000000 +0900
++++ fribidi-1.0.10/bin/gettext.h       1970-01-01 09:00:00.000000000 +0900
+@@ -1,2 +0,0 @@
+-#undef gettext
+-#define gettext
+diff -pruN fribidi-1.0.10.orig/bin/meson.build fribidi-1.0.10/bin/meson.build
+--- fribidi-1.0.10.orig/bin/meson.build        2020-07-06 04:17:23.000000000 +0900
++++ fribidi-1.0.10/bin/meson.build     2020-07-07 21:10:30.931408884 +0900
+@@ -1,12 +1,12 @@
+ fribidi = executable('fribidi',
+-  'fribidi-main.c', 'getopt.c', 'getopt1.c', fribidi_unicode_version_h,
++  'fribidi-main.c', fribidi_unicode_version_h,
+   c_args: ['-DHAVE_CONFIG_H'] + fribidi_static_cargs + visibility_args,
+   include_directories: incs,
+   link_with: libfribidi,
+   install: true)
+ executable('fribidi-benchmark',
+-  'fribidi-benchmark.c', 'getopt.c', 'getopt1.c', fribidi_unicode_version_h,
++  'fribidi-benchmark.c', fribidi_unicode_version_h,
+   c_args: ['-DHAVE_CONFIG_H'] + fribidi_static_cargs + visibility_args,
+   include_directories: incs,
+   link_with: libfribidi,
diff --git a/fuse-sshfs/fuse-sshfs.nm b/fuse-sshfs/fuse-sshfs.nm
deleted file mode 100644 (file)
index fab5b72..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = fuse-sshfs
-version    = 2.2
-release    = 1
-
-groups     = System/Filesystems
-url        = http://fuse.sourceforge.net/sshfs.html
-license    = GPLv2
-summary    = FUSE-Filesystem to access remote filesystems via SSH.
-
-description
-       This is a FUSE-filesystem client based on the SSH File Transfer Protocol.
-       Since most SSH servers already support this protocol it is very easy to set
-       up: i.e. on the server side there's nothing to do.  On the client side
-       mounting the filesystem is as easy as logging into the server with ssh.
-end
-
-source_dl  =
-sources    = sshfs-fuse-%{version}.tar.gz
-
-build
-       requires
-               fuse-devel
-               glib2-devel
-               openssh-clients
-       end
-
-       DIR_APP = %{DIR_SRC}/sshfs-fuse-%{version}
-end
-
-packages
-       package %{name}
-               provides = sshfs=%{thisver}
-               requires = openssh-clients
-       end
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
index 37dbd2031518f5de791348ce21dd934db2517e9e..2482e1c7fff1c4450a9413a0023a0b288c071a42 100644 (file)
@@ -4,13 +4,14 @@
 ###############################################################################
 
 name       = fuse
-version    = 2.9.7
-release    = 2
+version    = 3.13.1
+release    = 1
 
 groups     = System/Filesystems
-url        = http://fuse.sf.net/
+url        = https://github.com/libfuse/libfuse
 license    = GPL+
-summary    = File System in Userspace (FUSE) utilities.
+summary    = File System in Userspace (FUSE) utilities
+
 
 description
        With FUSE it is possible to implement a fully functional
@@ -19,18 +20,24 @@ description
 end
 
 source_dl  = https://github.com/libfuse/libfuse/releases/download/%{thisapp}/
+sources    = %{thisapp}.tar.xz
 
 build
-       configure_options += \
-               --disable-static \
-               --disable-rpath
+       requires
+               meson
+               ninja
+               systemd-devel
+       end
 
-       install_cmds
-               # Remove old sysvinit directory.
-               rm -vrf %{BUILDROOT}/etc/init.d
+       build
+               %{meson} \
+                       -Dinitscriptdir= \
+                       -Duseroot=false
+               %{meson_build}
+       end
 
-               # Remove /dev/fuse which cannot be packaged.
-               rm -rvf %{BUILDROOT}/dev
+       install
+               %{meson_install}
        end
 end
 
diff --git a/fuse/patches/fuse-2.9.2-namespace-conflict-fix.patch b/fuse/patches/fuse-2.9.2-namespace-conflict-fix.patch
deleted file mode 100644 (file)
index ae67e7d..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-diff -up fuse-2.9.2/include/fuse_kernel.h.conflictfix fuse-2.9.2/include/fuse_kernel.h
---- fuse-2.9.2/include/fuse_kernel.h.conflictfix       2013-06-26 09:31:57.862198038 -0400
-+++ fuse-2.9.2/include/fuse_kernel.h   2013-06-26 09:32:19.679198365 -0400
-@@ -88,12 +88,16 @@
- #ifndef _LINUX_FUSE_H
- #define _LINUX_FUSE_H
--#include <sys/types.h>
-+#ifdef __linux__
-+#include <linux/types.h>
-+#else
-+#include <stdint.h>
- #define __u64 uint64_t
- #define __s64 int64_t
- #define __u32 uint32_t
- #define __s32 int32_t
- #define __u16 uint16_t
-+#endif
- /*
-  * Version negotiation:
index 905b9e09715676b3e6119fc1db9ef203084fda6b..71c39f26b13d580ab8c320e99869d965f1c03a25 100644 (file)
@@ -4,13 +4,13 @@
 ###############################################################################
 
 name       = gawk
-version    = 5.0.1
+version    = 5.2.2
 release    = 1
 
 groups     = System/Tools
-url        = http://www.gnu.org/software/gawk/gawk.html
+url        = https://www.gnu.org/software/gawk/gawk.html
 license    = GPLv3+
-summary    = The GNU version of the awk text processing utility.
+summary    = The GNU version of the awk text processing utility
 
 description
        The gawk package contains the GNU version of awk, a text processing
@@ -19,17 +19,25 @@ description
 end
 
 # Needed for testsuite.
-source_dl  = http://ftp.gnu.org/gnu/gawk/
+source_dl  = https://ftp.gnu.org/gnu/gawk/
 sources    = %{thisapp}.tar.xz
 
 build
        requires
+               autoconf
+               automake
                mpfr-devel
                util-linux
        end
 
        configure_options += \
-               --with-libsigsegv-prefix=no
+               --disable-libsigsegv
+
+       prepare_cmds
+               # The config scripts checks if the used compiler accepts -no-pie and if
+               # yes, will set this as compile and linker flags - Change this to pie.
+               sed -i 's/-no-pie/-pie/g' configure
+       end
 
        test
                make check diffout
@@ -45,8 +53,6 @@ end
 
 packages
        package %{name}
-               groups += Base Build
-
                provides
                        /bin/awk
                        /bin/gawk
diff --git a/gawk/patches/disable-the-pma-test.patch b/gawk/patches/disable-the-pma-test.patch
new file mode 100644 (file)
index 0000000..82c28fa
--- /dev/null
@@ -0,0 +1,27 @@
+From 5ef029c1d69d2b2d802928c4b80d000b87e97548 Mon Sep 17 00:00:00 2001
+From: rpm-build <rpm-build>
+Date: Mon, 22 May 2023 17:48:35 +0200
+Subject: [PATCH] Disable the pma test
+
+---
+ test/Makefile.in | 4 +---
+ 1 file changed, 1 insertion(+), 3 deletions(-)
+
+diff --git a/test/Makefile.am b/test/Makefile.am
+index 3ed140c..65e2f9c 100644
+--- a/test/Makefile.am
++++ b/test/Makefile.am
+@@ -2246,9 +2246,7 @@ makepmafile: makepmafile.c
+ pma:
+       @echo $@
+-      @GAWK_PERSIST_FILE=test.pma $(AWK) 'BEGIN { print ++i }' > _$@ 2>&1
+-      @GAWK_PERSIST_FILE=test.pma $(AWK) 'BEGIN { print ++i }' >> _$@ 2>&1
+-      @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
++      @echo Skipping pma tests
+       @-$(RM) -f test.pma
+-- 
+2.40.0
+
diff --git a/gc/gc.nm b/gc/gc.nm
deleted file mode 100644 (file)
index c7bbb00..0000000
--- a/gc/gc.nm
+++ /dev/null
@@ -1,68 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = gc
-version    = 7.4.2
-release    = 1.1
-
-groups     = System/Libraries
-url        = http://www.hboehm.info/gc/
-license    = BSD
-summary    = A garbage collector for C and C++.
-
-description
-       The Boehm-Demers-Weiser conservative garbage collector can be
-       used as a garbage collecting replacement for C malloc or C++ new.
-end
-
-source_dl  = http://www.hboehm.info/gc/gc_source/
-
-build
-       requires
-               autoconf
-               automake
-               libatomic_ops-devel
-               libtool
-       end
-
-       # bugzilla.redhat.com/689877
-       export CPPFLAGS = -DUSE_GET_STACKBASE_FOR_MAIN
-
-       prepare_cmds
-               rm -f libtool libtool.m4
-               autoreconf -vfi
-       end
-
-       configure_options += \
-               --disable-static \
-               --enable-cplusplus \
-               --enable-large-config \
-               --enable-threads=posix
-
-       if "%{DISTRO_PLATFORM}" == "x86"
-               configure_options += --enable-parallel-mark
-       end
-
-       test
-               # Disabled because gctest hangs for ever on armv5tel
-               #make check
-       end
-
-       install_cmds
-               rm -rvf %{BUILDROOT}%{datadir}/gc
-       end
-end
-
-packages
-       package %{name}
-
-       package %{name}-devel
-               template DEVEL
-       end
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
index 64831ef3a197fa7e1532dce0a61aadd98c011357..fb127f0bbb5da8f6b4f1fe17dfb794da017aef4b 100644 (file)
@@ -7,12 +7,12 @@
 build_graphite = 1
 
 name       = gcc
-version    = 9.1.0
-release    = 1
+version    = 12.3.0
+release    = 1.1
 
 maintainer = Michael Tremer <michael.tremer@ipfire.org>
 groups     = Development/Compilers
-url        = http://gcc.gnu.org/
+url        = https://gcc.gnu.org/
 license    = GPLv3+ and GPLv2+ with exceptions
 summary    = Various compilers (C, C++, Objective-C, Java, ...).
 
@@ -22,15 +22,13 @@ description
 end
 
 # This is the at least required version of binutils.
-binutils_version = 2.24
+binutils_version = 2.35
 
-source_dl  = http://ftp.gnu.org/gnu/gcc/%{thisapp}/
-source_dl += ftp://gcc.gnu.org/pub/gcc/infrastructure/
+source_dl  = https://ftp.gnu.org/gnu/gcc/%{thisapp}/
 sources    = %{thisapp}.tar.gz
 
 build
        requires
-               autogen
                binutils >= %{binutils_version}
                dejagnu
                elfutils-devel
@@ -38,13 +36,16 @@ build
                filesystem >= 002
                flex
                glibc-devel >= 2.16
-               gmp-devel
+               gmp-devel >= 4.3.2
+               isl-devel >= 0.15
                libffi-devel
-               libmpc-devel >= 0.8.1
-               mpfr-devel
+               libmpc-devel >= 1.0.1
+               libxcrypt-devel
+               mpfr-devel >= 3.1.0
                perl
                texinfo
                zlib-devel
+               zstd-devel
        end
 
        # If graphite support is enabled, we require the devel packages for build.
@@ -64,64 +65,20 @@ build
        # Build libubsan
        build_libubsan = 0
 
-       # A couple of configure arguments depending on the architecture and
-       # configuration.
-       configure_options =
-
-       make_bootstrap = profiledbootstrap
+       DIR_BUILD = %{DIR_SRC}/gcc-build
 
        if "%{DISTRO_ARCH}" == "x86_64"
-               configure_options = --disable-multilib
-
                build_libquadmath = 1
                build_liblsan = 1
                build_libtsan = 1
                build_libubsan = 1
        end
 
-       if "%{DISTRO_ARCH}" == "i686"
-               configure_options = --with-arch=%{DISTRO_ARCH} --with-tune=generic
-
-               build_libquadmath = 1
-               build_libubsan = 1
-       end
-
        if "%{DISTRO_ARCH}" == "aarch64"
                build_libubsan = 1
        end
 
-       if "%{DISTRO_ARCH}" == "armv7hl"
-               make_bootstrap = bootstrap
-
-               configure_options += --disable-sjlj-exceptions
-
-               configure_options += \
-                       --with-tune=cortex-a8 \
-                       --with-arch=armv7-a \
-                       --with-float=hard \
-                       --with-fpu=vfpv3-d16 \
-                       --with-abi=aapcs-linux
-
-               build_libubsan = 1
-       end
-
-       if "%{DISTRO_ARCH}" == "armv5tel"
-               make_bootstrap = bootstrap
-
-               configure_options += --disable-sjlj-exceptions
-               configure_options += --with-float=soft
-
-               build_libubsan = 1
-       end
-
-       if "%{build_graphite}" == "1"
-               configure_options += \
-                       --with-isl
-       end
-
        prepare_cmds
-               mkdir -v %{DIR_SRC}/gcc-build
-
                # Remove unneeded features that will save some compile time
                rm -rf lib{gfortran,java,objc} gcc/{fortran,java,objc,objcp}
 
@@ -133,104 +90,82 @@ build
                # Branding gcc
                echo "%{DISTRO_NAME} %{version}-%{release}" > gcc/DEV-PHASE
 
-               # Libgomp uses -Werror regardless of --disable-werror, and this will cause a
-               # build failure when -D_FORTIFY_SOURCE=2 causes build time warnings:
-               sed -e "s/-Werror//" -i libgomp/configure
-
                # The fixincludes script is known to occasionally erroneously attempt to
                # "fix" the system headers installed so far. As the headers up to this point
                # are known to not require fixing, issue the following command to prevent
                # the fixincludes script from running:
                sed -i 's@\./fixinc\.sh@-c true@' gcc/Makefile.in
+       end
 
-               sed -i gcc/Makefile.in \
-                       -e "s/-fno-exceptions/& -fno-asynchronous-unwind-tables/"
+       # Disable LTO
+       LTO_CFLAGS =
+
+       # Disable any string format security checks
+       STRING_FORMAT_SECURITY_CFLAGS =
+
+       configure_options = \
+               CFLAGS="%{CFLAGS}" \
+               CXXFLAGS="%{CXXFLAGS}" \
+               XCFLAGS="%{CFLAGS}" \
+               TCFLAGS="%{CFLAGS}" \
+               --build=%{DISTRO_BUILDTARGET} \
+               --prefix=%{prefix} \
+               --libdir=%{libdir} \
+               --libexecdir=%{libdir} \
+               --mandir=%{mandir} \
+               --disable-static \
+               --enable-shared \
+               --enable-threads=posix \
+               --enable-__cxa_atexit \
+               --enable-languages=c,c++,lto \
+               --enable-bootstrap \
+               --with-build-config=bootstrap-lto \
+               --enable-link-serialization=1 \
+               --enable-checking=release \
+               --enable-default-pie \
+               --enable-default-ssp \
+               --disable-werror \
+               --disable-libssp \
+               --with-system-zlib \
+               --with-bugurl=https://bugzilla.ipfire.org/ \
+               --enable-libstdcxx-backtrace \
+               --disable-libstdcxx-pch \
+               --with-libstdcxx-zoneinfo=%{datadir}/zoneinfo \
+               --disable-libunwind-exceptions \
+               --enable-gnu-unique-object \
+               --enable-linker-build-id \
+               --with-linker-hash-style=gnu \
+               --enable-decimal-float \
+               --enable-plugin \
+               --enable-initfini-array \
+               --disable-libgcj \
+               --enable-gnu-indirect-function
 
-               #./contrib/gcc_update --touch
+       if "%{build_graphite}" == "1"
+               configure_options += \
+                       --with-isl
        end
 
-       export CC=gcc
-       export CXX=g++
-
-       build
-               cd %{DIR_SRC}/gcc-build
-
-               # Modify CFLAGS
-               CFLAGS="%{CFLAGS}"
-               CFLAGS=$(echo ${CFLAGS} | sed -e 's/\(-Wp,\)\?-D_FORTIFY_SOURCE=[12]//g')
-               CFLAGS=$(echo ${CFLAGS} | sed -e 's/-Werror=format-security//g')
-               CFLAGS=$(echo ${CFLAGS} | sed -e 's/-m64//g;s/-m32//g;s/-m31//g')
-               CFLAGS=$(echo ${CFLAGS} | sed -e 's/-mfpmath=sse/-mfpmath=sse -msse2/g')
-               CFLAGS=$(echo ${CFLAGS} | sed -e 's/-march=i.86//g')
-               CFLAGS=$(echo ${CFLAGS} | sed -e 's/ -pipe / /g')
-               CFLAGS=$(echo "${CFLAGS}" | sed -e 's/[[:blank:]]\+/ /g')
-               CXXFLAGS=$(echo  ${CFLAGS} | sed -e 's/ -Wall//g')
-               CXXFLAGS=$(echo  ${CXXFLAGS} | sed -e 's/ -fexceptions / /g')
-               #CXXFLAGS=$(echo  ${CXXFLAGS} | sed -e 's/ -Werror=format-security / -Wformat -Werror=format-security /g')
-
-               case "${CFLAGS}" in
-                       *-fasynchronous-unwind-tables*)
-                               sed -i -e "s/-fno-exceptions /-fno-exceptions -fno-asynchronous-unwind-tables/" \
-                                       ../%{thisapp}/Makefile.in
-                               ;;
-               esac
-
-               CFLAGS="${CFLAGS}" \
-               CXXFLAGS="${CXXFLAGS}" \
-               XCFLAGS="${CFLAGS}" \
-               TCFLAGS="${CFLAGS}" \
-               ../%{thisapp}/configure \
-                       --build=%{DISTRO_BUILDTARGET} \
-                       --prefix=/usr \
-                       --libdir=%{libdir} \
-                       --libexecdir=%{libdir} \
-                       --mandir=%{mandir} \
-                       --with-boot-ldflags="%{LDFLAGS}" \
-                       --enable-esp \
-                       --enable-shared \
-                       --enable-threads=posix \
-                       --enable-__cxa_atexit \
-                       --enable-clocale=gnu \
-                       --enable-languages=c,c++,lto \
-                       --enable-bootstrap \
-                       --enable-checking=release \
-                       --enable-default-pie \
-                       --disable-werror \
-                       --disable-libssp \
-                       --with-system-zlib \
-                       --with-bugurl=http://bugtracker.ipfire.org \
-                       --disable-libunwind-exceptions \
-                       --enable-gnu-unique-object \
-                       --enable-linker-build-id \
-                       --with-linker-hash-style=gnu \
-                       --enable-plugin \
-                       --enable-initfini-array \
-                       --disable-libgcj \
-                       --enable-gnu-indirect-function \
-                       %{configure_options}
-
-               # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58012
-               # XXX disabled flags: --disable-static
-
-               # GCC does not support a parallel build.
-               make %{make_bootstrap} BOOT_CFLAGS="${CFLAGS}"
-
-               # Generate man pages.
-               perl -pi -e 's/head3/head2/' ../contrib/texi2pod.pl
-               for i in %{DIR_APP}/gcc/doc/*.texi; do
-                       cp -a $i $i.orig; sed 's/ftable/table/' $i.orig > $i
-               done
-               make -C gcc generated-manpages
-               for i in %{DIR_APP}/gcc/doc/*.texi; do mv -f $i.orig $i; done
+       if "%{DISTRO_ARCH}" == "x86_64"
+               configure_options += \
+                       --disable-multilib \
+                       --with-arch_64=x86-64-v2 \
+                       --enable-cet \
+                       --with-tune=generic
        end
 
+       make_build_targets += \
+               profiledbootstrap \
+               BOOT_CFLAGS="%{CFLAGS}" \
+               BOOT_LDFLAGS="%{LDFLAGS}" \
+               LDFLAGS_FOR_TARGET="%{LDFLAGS}"
+
        #test
        #       cd %{DIR_SRC}/gcc-build && make -k check || true
        #       cd %{DIR_APP} && ./contrib/test_summary
        #end
 
        install
-               cd %{DIR_SRC}/gcc-build
                make install DESTDIR=%{BUILDROOT}
 
                # Check if the installation path exists.
@@ -243,80 +178,55 @@ build
 
                # Fix libgcc_s symlinks.
                rm -f ${FULLPATH}/libgcc_s.so %{BUILDROOT}%{libdir}/libgcc_s.so
-               case "%{DISTRO_ARCH}" in
-                       arm*)
-                               cat <<EOF >${FULLPATH}/libgcc_s.so
-               /* GNU ld script
-                  Use the shared library, but some functions are only in
-                  the static library, so try that secondarily.  */
-               OUTPUT_FORMAT(elf32-littlearm)
-               GROUP ( %{libdir}/libgcc_s.so.1 libgcc.a )
-               EOF
-                               ;;
-                       *)
-                               ln -svf ../../../../..%{libdir}/libgcc_s.so.1 ${FULLPATH}/libgcc_s.so
-                               ;;
-               esac
-               chmod 755 %{BUILDROOT}%{libdir}/libgcc_s.so.1
+               echo '/* GNU ld script
+                       Use the shared library, but some functions are only in
+                       the static library, so try that secondarily.  */
+
+               OUTPUT_FORMAT('`gcc -Wl,--print-output-format -nostdlib -r -o /dev/null`')
+               GROUP ( /%{libdir}/libgcc_s.so.1 libgcc.a )' > ${FULLPATH}/libgcc_s.so
+               chmod -v 755 ${FULLPATH}/libgcc_s.so
+               chmod -v 755 %{BUILDROOT}%{libdir}/libgcc_s.so.1
 
                # Remove some GNU debugger stuff.
                rm -vf %{BUILDROOT}%{libdir}/lib*.py
 
-               # Install missing header file(s) on ARM.
-               case "%{DISTRO_ARCH}" in
-                       arm*)
-                               cp -vf %{DIR_APP}/gcc/config/vxworks-dummy.h \
-                                       ${FULLPATH}/plugin/include/config/
-                               cp -vf %{DIR_APP}/gcc/config/arm/arm-cores.def \
-                                       ${FULLPATH}/plugin/include/config/arm/
-                               ;;
-               esac
-
                # libgomp
                mv -vf %{BUILDROOT}%{libdir}/libgomp.spec ${FULLPATH}/
                ln -svf ../../../libgomp.so.1.0.0 ${FULLPATH}/libgomp.so
-               chmod 755 %{BUILDROOT}%{libdir}/libgomp.so.1.*
+               chmod -v 755 %{BUILDROOT}%{libdir}/libgomp.so.1.*
 
                # libstdc++
-               ln -svf ../../../libstdc++.so.6.0.26 ${FULLPATH}/libstdc++.so
-               mv -vf %{BUILDROOT}%{libdir}/lib{std,sup}c++.a ${FULLPATH}
+               ln -svf ../../../libstdc++.so.6.0.30 ${FULLPATH}/libstdc++.so
 
                # libquadmath
                if [ "%{build_libquadmath}" = "1" ]; then
                        ln -svf ../../../libquadmath.so.0.0.0 ${FULLPATH}/libquadmath.so
-                       chmod 755 %{BUILDROOT}%{libdir}/libquadmath.so.0.*
+                       chmod -v 755 %{BUILDROOT}%{libdir}/libquadmath.so.0.*
                fi
 
                # libitm
                mv -vf %{BUILDROOT}%{libdir}/libitm.spec ${FULLPATH}/
                ln -svf ../../../libitm.so.1.0.0 ${FULLPATH}/libitm.so
-               chmod 755 %{BUILDROOT}%{libdir}/libitm.so.1.*
+               chmod -v 755 %{BUILDROOT}%{libdir}/libitm.so.1.*
 
                # liblsan
                if [ "%{build_liblsan}" = "1" ]; then
                        ln -svf ../../../liblsan.so.0.0.0 ${FULLPATH}/liblsan.so
-                       chmod 755 %{BUILDROOT}%{libdir}/liblsan.so.*
+                       chmod -v 755 %{BUILDROOT}%{libdir}/liblsan.so.*
                fi
 
                # libtsan
                if [ "%{build_libtsan}" = "1" ]; then
-                       ln -svf ../../../libtsan.so.0.0.0 ${FULLPATH}/libtsan.so
-                       chmod 755 %{BUILDROOT}%{libdir}/libtsan.so.*
+                       ln -svf ../../../libtsan.so.2.0.0 ${FULLPATH}/libtsan.so
+                       chmod -v 755 %{BUILDROOT}%{libdir}/libtsan.so.*
                fi
 
                # libubsan
                if [ "%{build_libubsan}" = "1" ]; then
                        ln -svf ../../../libubsan.so.1.0.0 ${FULLPATH}/libubsan.so
-                       chmod 755 %{BUILDROOT}%{libdir}/libubsan.so.*
+                       chmod -v 755 %{BUILDROOT}%{libdir}/libubsan.so.*
                fi
        end
-
-       keep_libraries
-               %{libdir}/gcc/%{DISTRO_BUILDTARGET}/%{version}/libgcc.a
-               %{libdir}/gcc/%{DISTRO_BUILDTARGET}/%{version}/libgcc_eh.a
-               %{libdir}/gcc/%{DISTRO_BUILDTARGET}/%{version}/libstdc++.a
-               %{libdir}/gcc/%{DISTRO_BUILDTARGET}/%{version}/libsupc++.a
-       end
 end
 
 packages
diff --git a/gcc/patches/0001-gcc-Build-with-PIE.patch b/gcc/patches/0001-gcc-Build-with-PIE.patch
new file mode 100644 (file)
index 0000000..d708395
--- /dev/null
@@ -0,0 +1,77 @@
+From 8690dbe058f3ca8af0499a545c4b4cc6a5dc089a Mon Sep 17 00:00:00 2001
+From: Michael Tremer <michael.tremer@ipfire.org>
+Date: Tue, 21 Mar 2023 16:58:02 +0000
+Subject: [PATCH 1/2] gcc: Build with PIE
+
+This patch removes that GCC will be compiled with -fno-PIE/-no-pie.
+
+This will break PCH.
+
+Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
+---
+ gcc/Makefile.in  |  9 ---------
+ gcc/configure.ac | 28 ----------------------------
+ 2 files changed, 37 deletions(-)
+
+diff --git a/gcc/Makefile.in b/gcc/Makefile.in
+index 31ff95500c9..530928a3cde 100644
+--- a/gcc/Makefile.in
++++ b/gcc/Makefile.in
+@@ -267,15 +267,6 @@ endif
+ CET_HOST_FLAGS = @CET_HOST_FLAGS@
+ COMPILER += $(CET_HOST_FLAGS)
+-NO_PIE_CFLAGS = @NO_PIE_CFLAGS@
+-NO_PIE_FLAG = @NO_PIE_FLAG@
+-
+-# We don't want to compile the compilers with -fPIE, it make PCH fail.
+-COMPILER += $(NO_PIE_CFLAGS)
+-
+-# Link with -no-pie since we compile the compiler with -fno-PIE.
+-LINKER += $(NO_PIE_FLAG)
+-
+ # Like LINKER, but use a mutex for serializing front end links.
+ ifeq (@DO_LINK_MUTEX@,true)
+ LLINKER = $(SHELL) $(srcdir)/lock-and-run.sh linkfe.lck $(LINKER)
+diff --git a/gcc/configure.ac b/gcc/configure.ac
+index 992a50e7b20..62cd94bffb8 100644
+--- a/gcc/configure.ac
++++ b/gcc/configure.ac
+@@ -7641,34 +7641,6 @@ if test x$enable_default_pie = xyes ; then
+ fi
+ AC_SUBST([enable_default_pie])
+-# Check if -fno-PIE works.
+-AC_CACHE_CHECK([for -fno-PIE option],
+-  [gcc_cv_c_no_fpie],
+-  [saved_CXXFLAGS="$CXXFLAGS"
+-   CXXFLAGS="$CXXFLAGS -fno-PIE"
+-   AC_COMPILE_IFELSE([AC_LANG_SOURCE([int main(void) {return 0;}])],
+-     [gcc_cv_c_no_fpie=yes],
+-     [gcc_cv_c_no_fpie=no])
+-   CXXFLAGS="$saved_CXXFLAGS"])
+-if test "$gcc_cv_c_no_fpie" = "yes"; then
+-  NO_PIE_CFLAGS="-fno-PIE"
+-fi
+-AC_SUBST([NO_PIE_CFLAGS])
+-
+-# Check if -no-pie works.
+-AC_CACHE_CHECK([for -no-pie option],
+-  [gcc_cv_no_pie],
+-  [saved_LDFLAGS="$LDFLAGS"
+-   LDFLAGS="$LDFLAGS -no-pie"
+-   AC_LINK_IFELSE([AC_LANG_SOURCE([int main(void) {return 0;}])],
+-     [gcc_cv_no_pie=yes],
+-     [gcc_cv_no_pie=no])
+-   LDFLAGS="$saved_LDFLAGS"])
+-if test "$gcc_cv_no_pie" = "yes"; then
+-  NO_PIE_FLAG="-no-pie"
+-fi
+-AC_SUBST([NO_PIE_FLAG])
+-
+ # Enable Intel CET on Intel CET enabled host if jit is enabled.
+ GCC_CET_HOST_FLAGS(CET_HOST_FLAGS)
+ case x$enable_languages in
+-- 
+2.30.2
+
diff --git a/gcc/patches/0002-libcc1-Export-all-symbols.patch b/gcc/patches/0002-libcc1-Export-all-symbols.patch
new file mode 100644 (file)
index 0000000..113c314
--- /dev/null
@@ -0,0 +1,80 @@
+From 439c8e21de5245d3f345bd796f3131be319f54d2 Mon Sep 17 00:00:00 2001
+From: Michael Tremer <michael.tremer@ipfire.org>
+Date: Tue, 21 Mar 2023 17:52:04 +0000
+Subject: [PATCH 2/2] libcc1: Export all symbols
+
+This patches removes the -export-symbols option when linking libcc1 and
+its plugins as it is breaking our hardening check where we are looking
+for a reference to __stack_chk_fail in the symbol table.
+
+Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
+---
+ libcc1/Makefile.am | 6 +++---
+ libcc1/Makefile.in | 6 +++---
+ 2 files changed, 6 insertions(+), 6 deletions(-)
+
+diff --git a/libcc1/Makefile.am b/libcc1/Makefile.am
+index 6e3a34ff7e2..7eb8ec9178c 100644
+--- a/libcc1/Makefile.am
++++ b/libcc1/Makefile.am
+@@ -54,7 +54,7 @@ shared_source = callbacks.cc callbacks.hh connection.cc connection.hh \
+ marshall_c_source = marshall-c.hh
+ marshall_cxx_source = marshall-cp.hh
+-libcc1plugin_la_LDFLAGS = -module -export-symbols $(srcdir)/libcc1plugin.sym
++libcc1plugin_la_LDFLAGS = -module
+ libcc1plugin_la_SOURCES = libcc1plugin.cc context.cc context.hh \
+       $(shared_source) $(marshall_c_source)
+ libcc1plugin.lo_CPPFLAGS = $(CPPFLAGS_FOR_C)
+@@ -64,7 +64,7 @@ libcc1plugin_la_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
+       $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
+       $(CXXFLAGS) $(libcc1plugin_la_LDFLAGS) $(LTLDFLAGS) -o $@
+-libcp1plugin_la_LDFLAGS = -module -export-symbols $(srcdir)/libcp1plugin.sym
++libcp1plugin_la_LDFLAGS = -module
+ libcp1plugin_la_SOURCES = libcp1plugin.cc context.cc context.hh \
+       $(shared_source) $(marshall_cxx_source)
+ libcp1plugin.lo_CPPFLAGS = $(CPPFLAGS_FOR_CXX)
+@@ -75,7 +75,7 @@ libcp1plugin_la_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
+       $(CXXFLAGS) $(libcp1plugin_la_LDFLAGS) $(LTLDFLAGS) -o $@
+ LTLDFLAGS = $(shell $(SHELL) $(top_srcdir)/../libtool-ldflags $(LDFLAGS))
+-libcc1_la_LDFLAGS = -module -export-symbols $(srcdir)/libcc1.sym
++libcc1_la_LDFLAGS = -module
+ libcc1_la_SOURCES = findcomp.cc libcc1.cc libcp1.cc \
+               compiler.cc compiler.hh names.cc names.hh $(shared_source) \
+               $(marshall_c_source) $(marshall_cxx_source)
+diff --git a/libcc1/Makefile.in b/libcc1/Makefile.in
+index f8f590d71e9..aa3d45bcef4 100644
+--- a/libcc1/Makefile.in
++++ b/libcc1/Makefile.in
+@@ -405,7 +405,7 @@ shared_source = callbacks.cc callbacks.hh connection.cc connection.hh \
+ marshall_c_source = marshall-c.hh
+ marshall_cxx_source = marshall-cp.hh
+-libcc1plugin_la_LDFLAGS = -module -export-symbols $(srcdir)/libcc1plugin.sym
++libcc1plugin_la_LDFLAGS = -module
+ libcc1plugin_la_SOURCES = libcc1plugin.cc context.cc context.hh \
+       $(shared_source) $(marshall_c_source)
+@@ -416,7 +416,7 @@ libcc1plugin_la_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
+       $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
+       $(CXXFLAGS) $(libcc1plugin_la_LDFLAGS) $(LTLDFLAGS) -o $@
+-libcp1plugin_la_LDFLAGS = -module -export-symbols $(srcdir)/libcp1plugin.sym
++libcp1plugin_la_LDFLAGS = -module
+ libcp1plugin_la_SOURCES = libcp1plugin.cc context.cc context.hh \
+       $(shared_source) $(marshall_cxx_source)
+@@ -428,7 +428,7 @@ libcp1plugin_la_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
+       $(CXXFLAGS) $(libcp1plugin_la_LDFLAGS) $(LTLDFLAGS) -o $@
+ LTLDFLAGS = $(shell $(SHELL) $(top_srcdir)/../libtool-ldflags $(LDFLAGS))
+-libcc1_la_LDFLAGS = -module -export-symbols $(srcdir)/libcc1.sym
++libcc1_la_LDFLAGS = -module
+ libcc1_la_SOURCES = findcomp.cc libcc1.cc libcp1.cc \
+               compiler.cc compiler.hh names.cc names.hh $(shared_source) \
+               $(marshall_c_source) $(marshall_cxx_source)
+-- 
+2.30.2
+
diff --git a/gcc/patches/40_all_gcc49_config_esp.patch0 b/gcc/patches/40_all_gcc49_config_esp.patch0
deleted file mode 100644 (file)
index 16cc2b4..0000000
+++ /dev/null
@@ -1,140 +0,0 @@
-2014-05-12  Magnus Granberg  <zorry@gentoo.org>
-
-       * gcc/esp.h     New file to support --enable-esp
-       Version 20140512.1
-
---- gcc/config/esp.h   2010-04-09 16:14:00.000000000 +0200
-+++ gcc/config/esp.h   2012-06-23 01:00:31.248348491 +0200
-@@ -0,0 +1,132 @@
-+/* License terms see GNU GENERAL PUBLIC LICENSE Version 3.
-+ * Version 20140512.1
-+ * Magnus Granberg (Zorry) <zorry@gentoo.org>  */
-+#ifndef GCC_ESP_H
-+#define GCC_ESP_H
-+
-+/*    This file will add -fstack-protector-all, -fstack-check, -fPIE, -pie and -z now 
-+      as default if the defines and the spec allow it.
-+      Added a hack for gcc-specs-* in toolchain-funcs.eclass and _filter-hardened in flag-o-matic.eclass
-+      to support older hardened GCC patches and we don't need to change the code on gcc-specs-* and _filter-hardened.
-+      This will add some unsupported upstream commands options as -nopie and -nonow.
-+      -D__KERNEL__ is added so we don't have -fPIE, -pie and -fstack-protector-all and -fstack-check when building kernels.
-+      ESP_CC1_SPEC is added to CC1_SPEC.
-+      ESP_CC1_STRICT_OVERFLOW_SPEC is added so we don't disable the strict-overflow check.
-+      ESP_LINK_PIE_CHECK_SPEC check for -pie, -p, -pg, -profile and -static.
-+      ENABLE_CRTBEGINP add support for crtbeginP.o, build -static with -fPIE or -fpie.
-+*/
-+#ifdef ENABLE_ESP
-+      
-+      /* Hack to support gcc-specs-* in toolchain-funcs.eclass and _filter-hardened in flag-o-matic.eclass  */
-+      #define ESP_CC1_SPEC " %(esp_cc1_ssp) %(esp_cc1_pie) %(esp_cc1_strict_overflow)"
-+      #if defined ( EFAULT_SSP ) || defined ( EFAULT_PIE_SSP )
-+              #define ESP_CC1_SSP_SPEC "%{!fno-stack-protector: %{!fno-stack-protector-all: %{!fno-stack-check: }}}"
-+      #else
-+              #define ESP_CC1_SSP_SPEC ""
-+      #endif
-+      #if defined ( EFAULT_PIE ) || defined ( EFAULT_PIE_SSP )
-+              #define ESP_CC1_PIE_SPEC "%{!nopie: }"
-+      #else
-+              #define ESP_CC1_PIE_SPEC ""
-+      #endif
-+      #define ESP_CC1_STRICT_OVERFLOW_SPEC "%{!fstrict-overflow:%{!fno-strict-overflow: -fno-strict-overflow}}"
-+
-+      /*      ESP_LINK_SPEC is added to LINK_PIE_SPEC if esp is enable
-+              -z now will be added if we don't have -vanilla spec. We do a -pie incompatible check
-+              Don't remove the specs in the end  */
-+      #define ESP_LINK_SPEC "%(esp_link_now) %(esp_link_pie_check) "
-+      #define ESP_LINK_NOW_SPEC "%{!nonow:-z now}"
-+
-+      /*      We use ESP_DRIVER_SELF_SPEC to add pie and ssp command-line options.  */
-+      #define ESP_DRIVER_SELF_SPEC "%{D__KERNEL__:;:%{!nopie:%(esp_options_pie) \
-+              %(esp_link_pie)} %(esp_options_ssp) }"
-+      
-+      /*  This will add -fstack-protector-all if we don't have -nostdlib -nodefaultlibs -fno-stack-protector -fstack-protector
-+              -fstack-protector-all and we have EFAULT_SSP or EFAULT_PIE_SSP defined.  */
-+      #if defined ( EFAULT_SSP ) || defined ( EFAULT_PIE_SSP )
-+              #ifdef ESP_NO_STACK_CHECK
-+                      #define ESP_OPTIONS_STACK_CHECK_SPEC
-+              #else
-+                      #define ESP_OPTIONS_STACK_CHECK_SPEC "%{fstack-check|fstack-check=*:;: -fstack-check}"
-+              #endif
-+              #define ESP_OPTIONS_SSP_SPEC \
-+                      "%{nostdlib|ffreestanding|fno-stack-protector|fstack-protector| \
-+                      fstack-protector-all|fstack-protector-strong:;:-fstack-protector-all} " \
-+                      ESP_OPTIONS_STACK_CHECK_SPEC
-+      #else
-+              #define ESP_OPTIONS_SSP_SPEC ""
-+      #endif
-+
-+      /* If EFAULT_PIE or EFAULT_PIE_SSP is defined we will add -fPIE -pie  */
-+      #if defined ( EFAULT_PIE ) || defined ( EFAULT_PIE_SSP )
-+
-+              /*  This will add -fPIE if we don't have -pie -fpic -fPIC -fpie -fPIE -fno-pic -fno-PIC -fno-pie -fno-PIE -shared -static
-+                      -nostdlib -nostartfiles.  */
-+              /*  With ENABLE_CRTBEGINP we don't need to check for -static  */
-+              #ifdef ENABLE_CRTBEGINP
-+                      #define ESP_OPTIONS_PIE_SPEC \
-+                              "%{!pie: %{!fpic:%{!fPIC:%{!fpie:%{!fPIE: %{!fno-pic:%{!fno-PIC:%{!fno-pie:%{!fno-PIE: \
-+                              %{!shared: %{!nostdlib: %{!nostartfiles:-fPIE}} } }}}} }}}} }"
-+              #else
-+                      #define ESP_OPTIONS_PIE_SPEC \
-+                              "%{!pie: %{!fpic:%{!fPIC:%{!fpie:%{!fPIE: %{!fno-pic:%{!fno-PIC:%{!fno-pie:%{!fno-PIE: \
-+                              %{!shared: %{!static: %{!nostdlib: %{!nostartfiles:-fPIE}} } }}}} }}}} }}"
-+              #endif
-+
-+              /*  This will add -pie if we don't have -pie -A -fno-pic -fno-PIC -fno-pie -fno-PIE -shared -static -r -nostdlib 
-+                      -nostartfiles  */
-+              /*  With ENABLE_CRTBEGINP we don't need to check for -static
-+                      and we add -pie only to get the start and endfiles. -pie will not go to the linker. */
-+              #ifdef ENABLE_CRTBEGINP
-+                      #define ESP_LINK_PIE_SPEC \
-+                              "%{!pie:%{!A:%{!fno-pie:%{!fno-PIE:%{!fno-pic:%{!fno-PIC:%{!shared:%{!r: \
-+                              %{!nostdlib:%{!nostartfiles:-pie}}}}}}}}}}"
-+              #else
-+                      #define ESP_LINK_PIE_SPEC \
-+                              "%{!pie:%{!A:%{!fno-pie:%{!fno-PIE:%{!fno-pic:%{!fno-PIC:%{!shared:%{!static:%{!r: \
-+                              %{!nostdlib:%{!nostartfiles:-pie}}}}}}}}}}}"
-+              #endif
-+              
-+              /*  This will check if -pie is set when (-static) -pg -p -profile. If set it will make gcc print out
-+                      "-pie and (static)|pg|p|profile are incompatible when linking"  */
-+              /*  With ENABLE_CRTBEGINP we don't need to check for -static  */
-+              #ifdef ENABLE_CRTBEGINP
-+                      #define ESP_LINK_PIE_CHECK_SPEC \
-+                              "%{pie:%{pg|p|profile:%e-pie and -pg|p|profile are incompatible when linking}}"
-+              #else
-+                      #define ESP_LINK_PIE_CHECK_SPEC \
-+                              "%{pie:%{static|pg|p|profile:%e-pie and -static|pg|p|profile are incompatible when linking}}"
-+              #endif
-+
-+              /*  We don't pass -pie to the linker when -static.  */
-+              #ifdef ENABLE_CRTBEGINP
-+                      #define LINK_PIE_SPEC "%{!static:%{pie:-pie}} %(esp_link)"
-+              #else
-+                      #define LINK_PIE_SPEC "%{pie:-pie} %(esp_link)"
-+              #endif
-+
-+      #else
-+              #define ESP_OPTIONS_PIE_SPEC ""
-+              #define ESP_LINK_PIE_CHECK_SPEC ""
-+              #define ESP_LINK_PIE_SPEC ""
-+              #define LINK_PIE_SPEC "%{pie:-pie} %(esp_link)"
-+      #endif
-+
-+      /*  We add extra spec name's to the EXTRA_SPECS list  */
-+      #define ESP_EXTRA_SPECS \
-+              { "esp_cc1",                                                            ESP_CC1_SPEC },                                 \
-+              { "esp_cc1_pie",                                                        ESP_CC1_PIE_SPEC },                             \
-+              { "esp_cc1_ssp",                                                        ESP_CC1_SSP_SPEC },                             \
-+              { "esp_cc1_strict_overflow",                                    ESP_CC1_STRICT_OVERFLOW_SPEC }, \
-+              { "esp_link",                                                           ESP_LINK_SPEC },                                \
-+              { "esp_link_now",                                                       ESP_LINK_NOW_SPEC },                    \
-+              { "esp_link_pie",                                                       ESP_LINK_PIE_SPEC },                    \
-+              { "esp_link_pie_check",                                         ESP_LINK_PIE_CHECK_SPEC },              \
-+              { "esp_driver_self",                                                    ESP_DRIVER_SELF_SPEC },         \
-+              { "esp_options_pie",                                            ESP_OPTIONS_PIE_SPEC },                 \
-+              { "esp_options_ssp",                                            ESP_OPTIONS_SSP_SPEC }
-+
-+      static const char *cc1_spec = CC1_SPEC ESP_CC1_SPEC;
-+
-+#endif
-+#endif /* End GCC_ESP_H */
diff --git a/gcc/patches/a25982ada523689c8745d7fb4b1b93c8f5dab2e7.patch b/gcc/patches/a25982ada523689c8745d7fb4b1b93c8f5dab2e7.patch
new file mode 100644 (file)
index 0000000..6a0f4d2
--- /dev/null
@@ -0,0 +1,78 @@
+From a25982ada523689c8745d7fb4b1b93c8f5dab2e7 Mon Sep 17 00:00:00 2001
+From: "H.J. Lu" <hjl.tools@gmail.com>
+Date: Thu, 14 Jul 2022 08:23:38 -0700
+Subject: [PATCH] stack-protector: Check stack canary before throwing exception
+
+Check stack canary before throwing exception to avoid stack corruption.
+
+gcc/
+
+       PR middle-end/58245
+       * calls.cc: Include "tree-eh.h".
+       (expand_call): Check stack canary before throwing exception.
+
+gcc/testsuite/
+
+       PR middle-end/58245
+       * g++.dg/fstack-protector-strong.C: Adjusted.
+       * g++.dg/pr58245-1.C: New test.
+---
+ gcc/calls.cc                                   |  6 +++++-
+ gcc/testsuite/g++.dg/fstack-protector-strong.C |  2 +-
+ gcc/testsuite/g++.dg/pr58245-1.C               | 10 ++++++++++
+ 3 files changed, 16 insertions(+), 2 deletions(-)
+ create mode 100644 gcc/testsuite/g++.dg/pr58245-1.C
+
+diff --git a/gcc/calls.cc b/gcc/calls.cc
+index bc96aff38f0..6dd6f73e978 100644
+--- a/gcc/calls.cc
++++ b/gcc/calls.cc
+@@ -60,6 +60,7 @@ along with GCC; see the file COPYING3.  If not see
+ #include "attr-fnspec.h"
+ #include "value-query.h"
+ #include "tree-pretty-print.h"
++#include "tree-eh.h"
+ /* Like PREFERRED_STACK_BOUNDARY but in units of bytes, not bits.  */
+ #define STACK_BYTES (PREFERRED_STACK_BOUNDARY / BITS_PER_UNIT)
+@@ -3154,7 +3155,10 @@ expand_call (tree exp, rtx target, int ignore)
+       if (pass && (flags & ECF_MALLOC))
+       start_sequence ();
+-      if (pass == 0
++      /* Check the canary value for sibcall or function which doesn't
++       return and could throw.  */
++      if ((pass == 0
++         || ((flags & ECF_NORETURN) != 0 && tree_could_throw_p (exp)))
+         && crtl->stack_protect_guard
+         && targetm.stack_protect_runtime_enabled_p ())
+       stack_protect_epilogue ();
+diff --git a/gcc/testsuite/g++.dg/fstack-protector-strong.C b/gcc/testsuite/g++.dg/fstack-protector-strong.C
+index ae6d2fdb8df..034af2ce9ab 100644
+--- a/gcc/testsuite/g++.dg/fstack-protector-strong.C
++++ b/gcc/testsuite/g++.dg/fstack-protector-strong.C
+@@ -85,4 +85,4 @@ int foo7 (B *p)
+   return p->return_slot ().a1;
+ }
+-/* { dg-final { scan-assembler-times "stack_chk_fail" 7 } } */
++/* { dg-final { scan-assembler-times "stack_chk_fail" 8 } } */
+diff --git a/gcc/testsuite/g++.dg/pr58245-1.C b/gcc/testsuite/g++.dg/pr58245-1.C
+new file mode 100644
+index 00000000000..1439bc62e71
+--- /dev/null
++++ b/gcc/testsuite/g++.dg/pr58245-1.C
+@@ -0,0 +1,10 @@
++/* { dg-do compile { target i?86-*-* x86_64-*-* rs6000-*-* s390x-*-* } } */
++/* { dg-options "-O2 -fstack-protector-all" } */
++
++void
++bar (void)
++{
++  throw 1;
++}
++
++/* { dg-final { scan-assembler-times "stack_chk_fail" 1 } } */
+-- 
+2.31.1
+
diff --git a/gcc/patches/gcc-6.1-compile-compiler-with-pic.patch b/gcc/patches/gcc-6.1-compile-compiler-with-pic.patch
deleted file mode 100644 (file)
index cb59c3d..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-diff --git a/gcc/Makefile.in b/gcc/Makefile.in
-index 6c5adc0..73d817d 100644
---- a/gcc/Makefile.in
-+++ b/gcc/Makefile.in
-@@ -261,12 +261,6 @@ endif
- NO_PIE_CFLAGS = @NO_PIE_CFLAGS@
- NO_PIE_FLAG = @NO_PIE_FLAG@
--# We don't want to compile the compilers with -fPIE, it make PCH fail.
--COMPILER += $(NO_PIE_CFLAGS)
--
--# Link with -no-pie since we compile the compiler with -fno-PIE.
--LINKER += $(NO_PIE_FLAG)
--
- # Like LINKER, but use a mutex for serializing front end links.
- ifeq (@DO_LINK_MUTEX@,true)
- LLINKER = $(SHELL) $(srcdir)/lock-and-run.sh linkfe.lck $(LINKER)
diff --git a/gcc/patches/gcc49-aarch64-async-unw-tables.patch0 b/gcc/patches/gcc49-aarch64-async-unw-tables.patch0
deleted file mode 100644 (file)
index feec149..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-2014-04-07  Richard Henderson  <rth@redhat.com>
-
-       * common/config/aarch64/aarch64-common.c (TARGET_OPTION_INIT_STRUCT):
-       Define.
-       (aarch64_option_init_struct): New function.
-
---- gcc/common/config/aarch64/aarch64-common.c
-+++ gcc/common/config/aarch64/aarch64-common.c
-@@ -39,6 +39,9 @@
- #undef        TARGET_OPTION_OPTIMIZATION_TABLE
- #define TARGET_OPTION_OPTIMIZATION_TABLE aarch_option_optimization_table
-+#undef TARGET_OPTION_INIT_STRUCT
-+#define TARGET_OPTION_INIT_STRUCT aarch64_option_init_struct
-+
- /* Set default optimization options.  */
- static const struct default_options aarch_option_optimization_table[] =
-   {
-@@ -47,6 +50,16 @@ static const struct default_options aarch_option_optimization_table[] =
-     { OPT_LEVELS_NONE, 0, NULL, 0 }
-   };
-+/* Implement TARGET_OPTION_INIT_STRUCT.  */
-+
-+static void
-+aarch64_option_init_struct (struct gcc_options *opts)
-+{
-+  /* By default, always emit DWARF-2 unwind info.  This allows debugging
-+     without maintaining a stack frame back-chain.  */
-+  opts->x_flag_asynchronous_unwind_tables = 1;
-+}
-+
- /* Implement TARGET_HANDLE_OPTION.
-    This function handles the target specific options for CPU/target selection.
diff --git a/gcc/patches/gcc49-libtool-no-rpath.patch0 b/gcc/patches/gcc49-libtool-no-rpath.patch0
deleted file mode 100644 (file)
index 466c661..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-libtool sucks.
---- ltmain.sh.jj       2007-12-07 14:53:21.000000000 +0100
-+++ ltmain.sh  2008-09-05 21:51:48.000000000 +0200
-@@ -5394,6 +5394,7 @@ EOF
-         rpath="$finalize_rpath"
-         test "$mode" != relink && rpath="$compile_rpath$rpath"
-         for libdir in $rpath; do
-+          case "$libdir" in /usr/lib|/usr/lib64|/usr/lib/../lib|/usr/lib/../lib64) continue;; esac
-           if test -n "$hardcode_libdir_flag_spec"; then
-             if test -n "$hardcode_libdir_separator"; then
-               if test -z "$hardcode_libdirs"; then
-@@ -6071,6 +6072,7 @@ EOF
-       rpath=
-       hardcode_libdirs=
-       for libdir in $compile_rpath $finalize_rpath; do
-+      case "$libdir" in /usr/lib|/usr/lib64|/usr/lib/../lib|/usr/lib/../lib64) continue;; esac
-       if test -n "$hardcode_libdir_flag_spec"; then
-         if test -n "$hardcode_libdir_separator"; then
-           if test -z "$hardcode_libdirs"; then
-@@ -6120,6 +6122,7 @@ EOF
-       rpath=
-       hardcode_libdirs=
-       for libdir in $finalize_rpath; do
-+      case "$libdir" in /usr/lib|/usr/lib64|/usr/lib/../lib|/usr/lib/../lib64) continue;; esac
-       if test -n "$hardcode_libdir_flag_spec"; then
-         if test -n "$hardcode_libdir_separator"; then
-           if test -z "$hardcode_libdirs"; then
index ebfad1c618c59ac13875ec8b755da3b032f1439e..06c49499f3b0f187c3dea3f083948d5f39cc0fcf 100644 (file)
@@ -4,11 +4,11 @@
 ###############################################################################
 
 name       = gdb
-version    = 7.12
+version    = 13.2
 release    = 1
 
 groups     = Development/Debuggers
-url        = http://gnu.org/software/gdb/
+url        = https://gnu.org/software/gdb/
 license    = GPLv3+
 summary    = A GNU source-level debugger for C, C++, Java and other languages.
 
@@ -18,14 +18,18 @@ description
        and printing their data.
 end
 
-source_dl  = ftp://ftp.gnu.org/gnu/gdb/
+source_dl  = https://ftp.gnu.org/gnu/gdb/
 sources    = %{thisapp}.tar.xz
 
 build
        requires
                bison
+               elfutils-devel
                expat-devel
+               gmp-devel
+               mpfr-devel
                ncurses-devel
+               python3-devel
                readline-devel
                texinfo
                xz-devel
@@ -34,8 +38,9 @@ build
 
        configure_options += \
                --with-pkgversion="%{DISTRO_NAME} gdb %{thisver}" \
-               --with-bugurl="http://bugzilla.ipfire.org/" \
+               --with-bugurl="https://bugzilla.ipfire.org/" \
                --with-system-gdbinit=/etc/gdbinit \
+               --with-python=%{python3} \
                --enable-64-bit-bfd \
                --enable-gdb-build-warnings=,-Wno-unused \
                --with-separate-debug-dir=/usr/lib/debug \
@@ -52,10 +57,10 @@ build
                --with-system-zlib \
                --disable-werror \
                --with-expat \
-               --with-python \
+               --with-python=%{python3} \
                --with-lzma \
+               --with-debuginfod \
                --without-libexpat-prefix \
-               --without-libunwind \
                %{DISTRO_MACHINE}
 
        install_cmds
index 29cd94e8ec15c7e899fb43abdcdc317c5bf1219e..dd430cc0c7aea17fd8fb7c611f62360e1ddae06f 100644 (file)
@@ -4,22 +4,22 @@
 ###############################################################################
 
 name       = gdbm
-version    = 1.12
-release    = 1
+version    = 1.23
+release    = 1.1
 
 groups     = Development/Tools
-url        = http://www.gnu.org/software/gdbm/
+url        = https://www.gnu.org.ua/software/gdbm/
 license    = GPLv3+
-summary    = The GDBM package contains the GNU Database Manager.
+summary    = The GDBM package contains the GNU Database Manager
 
 description
-       The GDBM package contains the GNU Database Manager. This is a disk file \
-       format database which stores key/data-pairs in single files. The actual \
-       data of any record being stored is indexed by a unique key, which can be \
+       The GDBM package contains the GNU Database Manager. This is a disk file
+       format database which stores key/data-pairs in single files. The actual
+       data of any record being stored is indexed by a unique key, which can be
        retrieved in less time than if it was stored in a text file.
 end
 
-source_dl  = http://ftp.gnu.org/gnu/gdbm/
+source_dl  = https://ftp.gnu.org/gnu/gdbm/
 
 build
        requires
diff --git a/gdbm/patches/gdbm-1.10-fedora.patch b/gdbm/patches/gdbm-1.10-fedora.patch
deleted file mode 100644 (file)
index 18a4d5e..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-diff -up gdbm-1.10/NOTE-WARNING.fedora gdbm-1.10/NOTE-WARNING
---- gdbm-1.10/NOTE-WARNING.fedora      2011-11-14 17:43:41.267566501 +0100
-+++ gdbm-1.10/NOTE-WARNING     2011-11-14 17:47:53.312549265 +0100
-@@ -12,8 +12,8 @@ systems where it is not the default.  `L
- when a system uses 64bit file offsets.  Gdbm has, of course, supported `large
- files' on systems where it was the default for a very long time.
--On some systems, such as Solaris, this functionality is not enabled by
--default.  Gdbm will now enable it.  THIS MEANS THAT GDBM 1.9 MAY NOT BE
-+On some systems this functionality is not enabled by default. To enable it, 
-+build rpm with option --with=largefile. THIS MEANS THAT GDBM 1.9 MAY NOT BE 
- ABLE TO ACCESS DATABASES CREATED BY PREVIOUS VERIONS ON THE SAME SYSTEM.
- Running the `configure' script with the `--disable-largefile' flag should
diff --git a/gdbm/patches/gdbm-1.10-zeroheaders.patch b/gdbm/patches/gdbm-1.10-zeroheaders.patch
deleted file mode 100644 (file)
index a268f6b..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-diff -up gdbm-1.10/src/falloc.c.zeroheaders gdbm-1.10/src/falloc.c
---- gdbm-1.10/src/falloc.c.zeroheaders 2011-11-11 11:59:11.000000000 +0100
-+++ gdbm-1.10/src/falloc.c     2011-11-14 17:34:32.487604027 +0100
-@@ -255,7 +255,7 @@ push_avail_block (GDBM_FILE dbf)
-   /* Split the header block. */
--  temp = (avail_block *) malloc (av_size);
-+  temp = (avail_block *) calloc (1, av_size);
-   if (temp == NULL) _gdbm_fatal (dbf, _("malloc error"));
-   /* Set the size to be correct AFTER the pop_avail_block. */
-   temp->size = dbf->header->avail.size;
-diff -up gdbm-1.10/src/gdbmopen.c.zeroheaders gdbm-1.10/src/gdbmopen.c
---- gdbm-1.10/src/gdbmopen.c.zeroheaders       2011-11-11 19:39:42.000000000 +0100
-+++ gdbm-1.10/src/gdbmopen.c   2011-11-14 17:33:24.867608650 +0100
-@@ -264,7 +264,7 @@ gdbm_open (const char *file, int block_s
-       (dbf->header->block_size - sizeof (hash_bucket))
-       / sizeof (bucket_element) + 1;
-       dbf->header->bucket_size  = dbf->header->block_size;
--      dbf->bucket = (hash_bucket *) malloc (dbf->header->bucket_size);
-+      dbf->bucket = (hash_bucket *) calloc (1, dbf->header->bucket_size);
-       if (dbf->bucket == NULL)
-       {
-         gdbm_close (dbf);
-@@ -456,7 +456,7 @@ _gdbm_init_cache(GDBM_FILE dbf, size_t s
-       for(index = 0; index < size; index++)
-         {
-           (dbf->bucket_cache[index]).ca_bucket
--            = (hash_bucket *) malloc (dbf->header->bucket_size);
-+            = (hash_bucket *) calloc (1, dbf->header->bucket_size);
-           if ((dbf->bucket_cache[index]).ca_bucket == NULL)
-           {
-               gdbm_errno = GDBM_MALLOC_ERROR;
index 47f6d90ab25a2e3cc634fb2b54343a134f6f30ba..c9e980fe6a3351718fb0b5cf729c9040f976dddd 100644 (file)
@@ -7,7 +7,7 @@ name       = gdk-pixbuf2
 version    = %{ver_major}.%{ver_minor}
 ver_major  = 2.33
 ver_minor  = 2
-release    = 2
+release    = 3.1
 
 groups     = System/Libraries
 url        = http://www.gtk.org/
@@ -31,13 +31,12 @@ build
                libpng-devel
                libjpeg-devel
                libtiff-devel
-               libX11-devel
        end
 
        export LD_LIBRARY_PATH = %{DIR_APP}/gdk-pixbuf/.libs
 
        configure_options += \
-               --with-x11 \
+               --without-x11 \
                --with-included-loaders=png
 
        make_install_targets += RUN_QUERY_LOADER_TEST=false
index e9b1a4a8611a0971fcff4f3f6d745290395bf632..21368f43d18efbab2188f3e83cdab664ac4cdf4c 100644 (file)
@@ -4,11 +4,11 @@
 ###############################################################################
 
 name       = gettext
-version    = 0.19.8.1
-release    = 1
+version    = 0.21.1
+release    = 5.1
 
 groups     = System/Base
-url        = http://www.gnu.org/software/gettext/
+url        = https://www.gnu.org/software/gettext/
 license    = GPLv3 LGPL2+
 summary    = GNU libraries and utilities for producing multi-lingual messages.
 
@@ -25,18 +25,18 @@ description
        programs.
 end
 
-source_dl  = http://ftp.gnu.org/pub/gnu/gettext/
+source_dl  = https://ftp.gnu.org/pub/gnu/gettext/
+sources    = %{thisapp}.tar.xz
 
 build
        requires
                bison
-               chrpath
                expat-devel
                glib2-devel
-               libcroco-devel
                libunistring-devel
                libxml2-devel
                ncurses-devel
+               patchelf
        end
 
        configure_options += \
@@ -44,6 +44,13 @@ build
                --enable-shared \
                --disable-rpath
 
+       configure_cmds
+               # Add additional compiler flages to build gettext-tools binaries with
+               # proper hardening.
+               sed -i '/^CFLAGS =/ s/$/ -fno-builtin-exit -D__noreturn__=/' \
+                       %{DIR_APP}/gettext-tools/src/Makefile
+       end
+
        test
                make check || :
        end
@@ -52,18 +59,33 @@ build
                # cleanup rpaths
                for i in $(find %{BUILDROOT}%{bindir} %{BUILDROOT}%{libdir} -type f); do
                        if file ${i} | grep "ELF 64-bit" >/dev/null; then
-                               chrpath -l ${i} && chrpath --delete ${i}
+                               patchelf --remove-rpath ${i}
                        fi
                done
 
                # Fix library permissions.
                chmod 755 %{BUILDROOT}%{libdir}/preloadable_libintl.so
+
+               # Remove examples.
+               rm -rvf %{BUILDROOT}%{docdir}/%{name}/examples
+
+               # Gettext provides only a HTML documentation, so we
+               # safely can drop the remaining doc directory.
+               rm -rvf %{BUILDROOT}%{docdir}
+
+               # Drop trigger and team-address files for GNOME, KDE and TP projects
+               rm -rvf %{BUILDROOT}%{datadir}/%{name}/projects
        end
 end
 
 packages
        package %{name}
-               provides += bundled(gnulib)
+               provides
+                       bundled(gnulib)
+                       bundled(libcroco) = 0.6.12
+               end
+
+               filter_requires = (Shell)
        end
 
        package %{name}-common-devel
@@ -74,6 +96,8 @@ packages
                files
                        /usr/share/gettext/
                end
+
+               filter_requires = (Shell)
        end
 
        package %{name}-devel
@@ -85,6 +109,8 @@ packages
                        git
                end
 
+               filter_requires = (Shell)
+
                files += \
                        /usr/bin/autopoint \
                        /usr/share/man/man1/autopoint.1
@@ -93,6 +119,8 @@ packages
        package %{name}-libs
                template LIBS
 
+               filter_requires = (Shell)
+
                files
                        %{libdir}/libgettextlib-*.so
                        %{libdir}/libgettextpo.so.*
index a6a97703dc6bd9f9ddc5be83aad51be566e08f10..0cb6bf9e4651d1417d312779e6d0fb7cc24b727e 100644 (file)
@@ -4,11 +4,11 @@
 ###############################################################################
 
 name       = ghostscript
-version    = 9.14
-release    = 2
+version    = 10.0.0
+release    = 1
 
 groups     = Applications/Printing
-url        = http://ghostscript.com
+url        = https://ghostscript.com
 license    = GPL
 summary    = An interpreter for the PostScript language and for PDF.
 
@@ -26,53 +26,47 @@ description
        language and in PDF.
 end
 
-source_dl  = http://downloads.ghostscript.com/public/
+source_dl  = https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs1000/
 
 build
        requires
-               autoconf
-               automake
                cups-devel >= 1.1.13
                dbus-devel
                expat-devel
                freetype-devel
+               fontconfig-devel
                glib2-devel
                gnutls-devel
+               jbig2dec-devel
                lcms2-devel >= 2.4
                libidn-devel
                libjpeg-devel
                libpng-devel
                libtiff-devel
-               libtool
                libxml2-devel
+               openjpeg2-devel
                unzip
                zlib-devel
        end
 
        prepare_cmds
-               # Fix build with local zlib.
-               sed -i 's/ZLIBDIR=src/ZLIBDIR=$includedir/' configure.ac
-
-               # Remove shipped source code.
-               rm -rvf expat freetype icclib jasper jpeg jpegxr lcms lcms2 \
-                       libpng openjpeg zlib cups/libs
-
-               autoconf --force
+               # Remove shipped source code
+               rm -rvf tesseract leptonica
+               rm -rvf cups/libs expat ijs jbig2dec jpeg lcms2mt libpng openjpeg tiff zlib
+               rm -rvf gpdl
+               rm -rvf Resource/CMap
        end
 
-       CFLAGS += -fno-strict-aliasing
-
        configure_options += \
-               --with-ijs \
-               --enable-dynamic \
                --with-drivers=ALL \
-               --disable-compile-inits \
+               --enable-fontconfig \
+               --enable-freetype \
+               --enable-openjpeg \
                --with-system-libtiff \
-               --with-install-cups \
-               \
-               CFLAGS="%{CFLAGS}"
-
-       PARALLELISMFLAGS = # Disable this
+               --with-libpaper \
+               --disable-compile-inits \
+               --without-versioned-path \
+               --without-ijs
 end
 
 packages
diff --git a/git/git.conf.httpd b/git/git.conf.httpd
deleted file mode 100644 (file)
index 4f4eac7..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-Alias /git /var/www/git
-
-<Directory /var/www/git>
-  Options +ExecCGI
-  AddHandler cgi-script .cgi
-  DirectoryIndex gitweb.cgi
-</Directory>
index fe8d03104582b03eb54e6f87a96b37609545c986..e21fd3f69a9c76b9ee4eaf087ab0cba9548a1a66 100644 (file)
@@ -4,11 +4,11 @@
 ###############################################################################
 
 name       = git
-version    = 2.23.0
-release    = 1
+version    = 2.38.1
+release    = 5
 
 groups     = Development/Tools
-url        = http://git-scm.com/
+url        = https://git-scm.com/
 license    = GPLv2
 summary    = Fast Version Control System.
 
@@ -32,7 +32,7 @@ build
                pcre2-devel
                perl-ExtUtils-MakeMaker
                perl-devel
-               python-devel
+               python3-devel
                xmlto
                zlib-devel
        end
@@ -46,14 +46,13 @@ build
                ETC_GITCONFIG = %{sysconfdir}/gitconfig
                DESTDIR = %{BUILDROOT}
                INSTALL = install -p
-               GITWEB_PROJECTROOT = %{localstatedir}/git
                GNU_ROFF = 1
                NO_CROSS_DIRECTORY_HARDLINKS = 1
-               PYTHON_PATH = %{python}
+               PYTHON_PATH = %{python3}
                prefix = %{prefix}
                gitexecdir = lib/git-core
                htmldir = %{datadir}/doc
-               gitwebdir = %{localstatedir}/www/git
+               NO_GITWEB=1
                EOF
 
                # Remove shebang from bash-completion script.
@@ -75,147 +74,46 @@ build
                install -v -m 644 contrib/completion/git-completion.bash \
                        %{BUILDROOT}%{sysconfdir}/bash_completion.d/git
 
-               # Create folder for git-daemon.
-               mkdir -pv %{BUILDROOT}%{sharedstatedir}/git
-
-               # Create folder for gitweb.
-               mkdir -pv %{BUILDROOT}%{sysconfdir}/httpd/conf.d
-
-               # Install config files for gitweb.
-               install -pm 0664 %{DIR_SOURCE}/gitweb.conf \
-                       %{BUILDROOT}%{sysconfdir}/gitweb.conf
-
-               install -pm 0644 %{DIR_SOURCE}/git.conf.httpd \
-                       %{BUILDROOT}%{sysconfdir}/httpd/conf.d/git.conf
+               # Remove git-daemon related files
+               rm -rvf %{BUILDROOT}/usr/lib/git-core/git-daemon
+               rm -rvf %{BUILDROOT}%{mandir}/man1/git-daemon*
+
+               # Remove SVN related files
+               rm -rvf %{BUILDROOT}/usr/lib/git-core/git-svn
+               rm -rvf %{BUILDROOT}%{mandir}/man1/git-svn*
+               rm -rvf %{BUILDROOT}%{perl_vendorlib}/Git/SVN*.pm
+               rm -rvf %{BUILDROOT}%{perl_vendorlib}/Git/SVN/
+               rm -rvf %{BUILDROOT}%{datadir}/perl5/Git/SVN/
+               rm -rvf %{BUILDROOT}%{datadir}/perl5/Git/SVN*.pm
+
+               # Remove CVS related files
+               rm -rvf %{BUILDROOT}%{bindir}/git-cvsserver
+               rm -rvf %{BUILDROOT}/usr/lib/git-core/*cvs*
+               rm -rvf %{BUILDROOT}%{mandir}/man1/*cvs*
+               rm -rvf %{BUILDROOT}%{mandir}/man7/*cvs*
+
+               # Remove Perforce depots related files.
+               rm -rvf %{BUILDROOT}/usr/lib/git-core/*p4*
+               rm -rvf %{BUILDROOT}/usr/lib/git-core/mergetools/p4*
+               rm -rvf %{BUILDROOT}%{mandir}/man1/*p4*
+
+               # Fix file permissions of the hook examples.
+               find %{BUILDROOT}%{datadir}/git-core/ -type f -iname "*.sample" \
+                       -exec chmod 644 {} \;
        end
 end
 
 packages
-       # Define %{gitcoredir} to have a more handy name.
-       gitcoredir = %{prefix}/lib/git-core
-
        package %{name}
                requires
                        less
                        openssh-clients
-                       rsync
                        /usr/bin/vi
                end
 
                recommends
                        %{name}-email
-               end
-       end
-
-       package %{name}-daemon
-               summary = Git protocol daemon.
-               description
-                       The git daemon for supporting git:// access to git repositories.
-               end
-
-               requires
-                       git=%{thisver}
-               end
-
-               files
-                       %{gitcoredir}/git-daemon
-                       %{mandir}/man1/git-daemon*
-                       %{sharedstatedir}/git
-                       %{unitdir}/git@.service
-                       %{unitdir}/git.socket
-               end
-
-               script postin
-                       systemctl daemon-reload >/dev/null 2>&1 || :
-               end
-
-               script preun
-                       systemctl --no-reload disable git.socket >/dev/null 2>&1 || :
-                       systemctl stop git.socket >/dev/null 2>&1 || :
-                       systemctl stop git@.service >/dev/null 2>&1 || :
-               end
-
-               script postun
-                       systemctl daemon-reload >/dev/null 2>&1 || :
-               end
-
-               script postup
-                       systemctl daemon-reload >/dev/null 2>&1 || :
-                       systemctl try-restart git.socket >/dev/null 2>&1 || :
-               end
-       end
-
-       package %{name}-gitweb
-               arch = noarch
-
-               summary = Simple web interface to git repositories.
-               description
-                       Simple web interface to track changes in git repositories
-               end
-
-               requires
-                       git=%{thisver}
-               end
-
-               configfiles
-                       %{sysconfdir}/gitweb.conf
-                       %{sysconfdir}/httpd/conf.d/git.conf
-               end
-
-               files
-                       %{sysconfdir}/gitweb.conf
-                       %{sysconfdir}/httpd/conf.d/git.conf
-                       %{mandir}/man1/gitweb*
-                       %{mandir}/man5/gitweb*
-                       %{localstatedir}/www/git
-               end
-       end
-
-       package %{name}-svn
-               summary = Git tools for importing Subversion repositories.
-               description = %{summary}
-
-               requires
-                       git=%{thisver}
-                       subversion
-               end
-
-               files
-                       %{gitcoredir}/*svn*
-                       %{mandir}/man1/*svn*
-               end
-       end
-
-       package %{name}-cvs
-               summary = Git tools for importing CVS repositories.
-               description = %{summary}
-
-               requires
-                       git=%{thisver}
-               end
-
-               files
-                       %{bindir}/git-cvsserver
-                       %{gitcoredir}/*cvs*
-                       %{mandir}/man1/*cvs*
-                       %{mandir}/man7/*cvs*
-               end
-       end
-
-       package %{name}-p4
-               arch = noarch
-
-               summary = Git tools for working with Perforce depots.
-               description = %{summary}
-
-               requires
-                       git=%{thisver}
-               end
-
-               files
-                       %{gitcoredir}/*p4*
-                       %{gitcoredir}mergetools/p4merge
-                       %{mandir}/man1/*p4*
+                       rsync
                end
        end
 
@@ -231,7 +129,7 @@ packages
                end
 
                files
-                       %{gitcoredir}/git-send-email
+                       /usr/lib/git-core/git-send-email
                        %{mandir}/man1/git-send-email*
                end
        end
@@ -251,23 +149,7 @@ packages
                        %{perl_archlib}
                        %{perl_vendorlib}/*.pm
                        %{perl_vendorlib}/Git/*.pm
-               end
-       end
-
-       package perl-Git-SVN
-               arch = noarch
-
-               summary = Perl interface to Git::SVN.
-               description = %{summary}
-
-               requires
-                       git=%{thisver}
-               end
-
-               files
-                       %{mandir}/man3/Git::SVN*
-                       %{perl_vendorlib}/Git/SVN*.pm
-                       %{perl_vendorlib}/Git/SVN/
+                       %{datadir}/perl5/
                end
        end
 
diff --git a/git/gitweb.conf b/git/gitweb.conf
deleted file mode 100644 (file)
index fe6ede4..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
-# The gitweb config file is a fragment of perl code. You can set variables
-# using "our $variable = value"; text from "#" character until the end of a
-# line is ignored. See perlsyn(1) man page for details.
-#
-# See /usr/share/doc/gitweb-*/README and /usr/share/doc/gitweb-*/INSTALL for
-# more details and available configuration variables.
-
-# Set the path to git projects.  This is an absolute filesystem path which will
-# be prepended to the project path.
-#our $projectroot = "/var/lib/git";
-
-# Set the list of git base URLs used for URL to where fetch project from, i.e.
-# the full URL is "$git_base_url/$project". By default this is empty
-#our @git_base_url_list = qw(git://git.example.com
-#                            ssh://git.example.com@PROJECTROOT@);
-
-# Enable the 'blame' blob view, showing the last commit that modified
-# each line in the file. This can be very CPU-intensive. Disabled by default
-#$feature{'blame'}{'default'} = [1];
-#
-# Allow projects to override the default setting via git config file.
-# Example: gitweb.blame = 0|1;
-#$feature{'blame'}{'override'} = 1;
-
-# Disable the 'snapshot' link, providing a compressed archive of any tree. This
-# can potentially generate high traffic if you have large project. Enabled for
-# .tar.gz snapshots by default.
-#
-# Value is a list of formats defined in %known_snapshot_formats that you wish
-# to offer.
-#$feature{'snapshot'}{'default'} = [];
-#
-# Allow projects to override the default setting via git config file.
-# Example: gitweb.snapshot = tbz2,zip; (use "none" to disable)
-#$feature{'snapshot'}{'override'} = 1;
-
-# Disable grep search, which will list the files in currently selected tree
-# containing the given string. This can be potentially CPU-intensive, of
-# course. Enabled by default.
-#$feature{'grep'}{'default'} = [0];
-#
-# Allow projects to override the default setting via git config file.
-# Example: gitweb.grep = 0|1;
-#$feature{'grep'}{'override'} = 1;
-
-# Disable the pickaxe search, which will list the commits that modified a given
-# string in a file. This can be practical and quite faster alternative to
-# 'blame', but still potentially CPU-intensive. Enabled by default.
-#$feature{'pickaxe'}{'default'} = [0];
-#
-# Allow projects to override the default setting via git config file.
-# Example: gitweb.pickaxe = 0|1;
-#$feature{'pickaxe'}{'override'} = 1;
diff --git a/git/systemd/git.socket b/git/systemd/git.socket
deleted file mode 100644 (file)
index 3dec01d..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-[Unit]
-Description=Git Activation Socket
-
-[Socket]
-ListenStream=9418
-Accept=true
-
-[Install]
-WantedBy=sockets.target
diff --git a/git/systemd/git@.service b/git/systemd/git@.service
deleted file mode 100644 (file)
index 185ff25..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-[Unit]
-Description=Git Repositories Server Daemon
-Documentation=man:git-daemon(1)
-
-[Service]
-User=nobody
-ExecStart=-/usr/libexec/git-core/git-daemon --base-path=/var/lib/git --export-all --user-path=public_git --syslog --inetd --verbose
-StandardInput=socket
index 328d57aaab4f91ce5227b9db07921e75a295d84d..417a901354356640e430f0fb39d153067db27aba 100644 (file)
@@ -4,13 +4,12 @@
 ###############################################################################
 
 name       = glib2
-ver_major  = 2.61
-ver_minor  = 1
+ver_major  = 2.74
+ver_minor  = 2
 version    = %{ver_major}.%{ver_minor}
-release    = 1
+release    = 2
 thisapp    = glib-%{version}
 
-maintainer = Erik Kapfer <erik.kapfer@ipfire.org>
 groups     = System/Libraries
 url        = http://www.gtk.org
 license    = LGPLv2+
@@ -24,39 +23,32 @@ description
        object system.
 end
 
-source_dl  = http://ftp.gnome.org/pub/gnome/sources/glib/%{ver_major}/
+source_dl  = https://ftp.gnome.org/pub/gnome/sources/glib/%{ver_major}/
 sources    = %{thisapp}.tar.xz
 
 build
        requires
                docbook-xsl
+               elfutils-devel
                gettext
                libffi-devel
                libmount-devel >= 2.34-2
                meson >= 0.50.1
-               pcre-devel
+               pcre2-devel
                pkg-config
                zlib-devel
        end
 
-       prepare_cmds
-               # Explicitly remove PCRE sources since we use --with-pcre=system
-               rm glib/pcre/*.[ch]
-       end
-
        build
                %{meson} \
                        --default-library=both \
                        -Dselinux=disabled \
                        -Dman=true \
                        -Ddtrace=false \
-                       -Delf=false \
-                       -Dfam=false \
-                       -Dsystemtap=true \
+                       -Dsystemtap=false \
                        -Dgtk_doc=false \
                        -Dinstalled_tests=false
 
-
                %{meson_build}
        end
 
index eb3f7e2ccd1d33b8cefbb013f4fadb68d92494c1..395735ef19b7cd2cb173311cc7f61906fcf176e4 100644 (file)
@@ -4,12 +4,12 @@
 ###############################################################################
 
 name       = glibc
-version    = 2.29
+version    = 2.38
 release    = 1
 
 maintainer = Michael Tremer <michael.tremer@ipfire.org>
 groups     = System/Base
-url        = http://www.gnu.org/software/libc/libc.html
+url        = https://www.gnu.org/software/libc/libc.html
 license    = GPLv2+ LGPLv2+
 summary    = The GNU libc libraries.
 
@@ -27,152 +27,125 @@ source_dl  = https://ftp.gnu.org/gnu/glibc/
 sources    = %{thisapp}.tar.xz
 
 build
+       # Build in a separate directory
+       DIR_BUILD = %{DIR_SRC}/glibc-build
+
        # Optimize glibc for kernel
-       OPTIMIZED_KERNEL = 3.2
+       OPTIMIZED_KERNEL = 5.10
 
        requires
                autoconf
                automake
-               binutils >= 2.29
+               binutils >= 2.35
                bison
-               gcc >= 8
+               gcc >= 11
                gettext
                kernel-headers >= %{OPTIMIZED_KERNEL}
                libcap-devel
                libstdc++-static
                make >= 4.0
+               patchelf
                python3 >= 3.4
                texinfo
        end
 
-       # Build glibc with custom cflags
-       GLIBC_FLAGS = -O2 -g -DNDEBUG -pipe
-
-       if "%{DISTRO_ARCH}" == "i686"
-               GLIBC_FLAGS += -march=i686 -mtune=generic
-       end
-
-       if "%{DISTRO_ARCH}" == "x86_64"
-               GLIBC_FLAGS += -mtune=generic
-       end
-
-       export CFLAGS   = %{GLIBC_FLAGS}
-       export CXXFLAGS = %{GLIBC_FLAGS}
-
-       export QUALITY_AGENT_RPATH_ALLOW_ORIGIN=yes
-
-       prepare_cmds
-               # In the vi_VN.TCVN locale, bash enters an infinite loop at startup. It is
-               # unknown whether this is a bash bug or a Glibc problem. Disable
-               # installation of this locale in order to avoid the problem.
-               sed -i '/vi_VN.TCVN/d' localedata/SUPPORTED
-
-               # The ldd shell script contains Bash-specific syntax. Change its default
-               # program interpreter to /bin/bash in case another /bin/sh is installed.
-               sed -i 's|@BASH@|/bin/bash|' elf/ldd.bash.in
+       # Disable LTO
+       LTO_CFLAGS =
 
-               # We don't install pt_chown(1) on the final system
-               sed -e "/^install.*pt_chown/d" -i login/Makefile
-
-               # Build nscd with -fstack-protector-all, instead of -fstack-protector:
-               sed -e "s/fstack-protector/&-strong/" -i nscd/Makefile
-
-               # Use gnu hash style
-               sed -i Makeconfig \
-                       -e "s/-Wl,--hash-style=both/-Wl,--hash-style=gnu -Wl,-O1/"
-
-               # http://sourceware.org/ml/libc-ports/2011-09/msg00018.html
-               sed -e "s/PIC/SHARED/g" -i sysdeps/arm/{set,__long}jmp.S
-       end
+       # Path to put the runtime linker
+       rtlddir = %{libdir}
 
        configure_options = \
                --build=%{DISTRO_BUILDTARGET} \
                --prefix=/usr \
+               --libdir=%{libdir} \
                --libexecdir=%{libdir}/glibc \
-               --disable-profile \
-               --enable-add-ons \
+               --sbindir=%{sbindir} \
+               --enable-multi-arch \
                --enable-kernel=%{OPTIMIZED_KERNEL} \
+               --enable-add-ons \
                --disable-werror \
-               --enable-stack-protector=strong \
+               --disable-profile \
+               --disable-crypt \
+               --enable-fortify-source \
+               --enable-stack-protector=all \
                --enable-bind-now \
-               --enable-obsolete-rpc \
-               --with-bugurl=http://bugtracker.ipfire.org \
-               --enable-lock-elision \
-               --enable-cet
+               --with-bugurl=https://bugtracker.ipfire.org \
+               --disable-build-nscd \
+               --disable-nscd
 
-       if "%{DISTRO_ARCH}" == "armv5tel"
-               # Disable hardware FP for ARM.
+       if "%{DISTRO_ARCH}" == "aarch64"
                configure_options += \
-                       --without-fp
-       end
+                       --enable-memory-tagging
 
-       build
-               mkdir -p %{DIR_SRC}/glibc-build
-               cd %{DIR_SRC}/glibc-build
+               # The runtime linker on aarch64 for whatever braindead reason is in /usr/lib
+               rtlddir = %{prefix}/lib
 
-               CFLAGS="${CFLAGS} -fno-asynchronous-unwind-tables" \
-               ../%{thisapp}/configure \
-                       %{configure_options}
+               # Runtime Linker
+               rtld = /lib/ld-linux-aarch64.so.1
+       end
 
-               make PARALLELMFLAGS=%{PARALLELISMFLAGS} \
-                       CFLAGS="%{CFLAGS}" CXXFLAGS="%{CXXFLAGS}"
+       if "%{DISTRO_ARCH}" == "x86_64"
+               configure_options += \
+                       --enable-cet
+
+               # Runtime Linker
+               rtld = /lib64/ld-linux-x86-64.so.2
        end
 
        install
-               cd %{DIR_SRC}/glibc-build
-               make install install_root=%{BUILDROOT}
+               # Install everything
+               make install install_root=%{BUILDROOT} \
+                       rtlddir=%{rtlddir} rootsbindir=%{sbindir} slibdir=%{libdir}
 
                # Locales
                mkdir -pv %{BUILDROOT}/usr/lib/locale
                # This would install all locales that are supported
                make localedata/install-locales install_root=%{BUILDROOT}
 
-               # Configuration
-               cp -vf %{DIR_SOURCE}/{ld.so.conf,nsswitch.conf} %{BUILDROOT}/etc
-               mkdir -pv %{BUILDROOT}/etc/{default,ld.so.conf.d}
-               install -p -m644 %{DIR_APP}/nis/nss %{BUILDROOT}/etc/default/nss
+               # Install runtime linker configuration
+               install -v -m 644 %{DIR_SOURCE}/ld.so.conf %{BUILDROOT}%{sysconfdir}
+               mkdir -pv %{BUILDROOT}%{sysconfdir}/ld.so.conf.d
 
-               if [ "%{DISTRO_ARCH}" = "armv7hl" ]; then
-                       ln -svf ld-linux-armhf.so.3 %{BUILDROOT}/lib/ld-linux.so.3
-               fi
+               # Don't distribute linker cache
+               rm -vf %{BUILDROOT}%{sysconfdir}/ld.so.cache
 
-               # Remove unused binaries
-               rm -vf %{BUILDROOT}/sbin/sln \
-                       %{BUILDROOT}/usr/bin/rpcinfo
+               # Install nsswitch.conf
+               install -v -m 644 %{DIR_SOURCE}/nsswitch.conf %{BUILDROOT}%{sysconfdir}
 
-               # Don't distribute linker cache
-               rm -vf %{BUILDROOT}/etc/ld.so.cache
+               # Remove unused statically linked binaries
+               rm -vf %{BUILDROOT}%{sbindir}/sln
 
                # Include /usr/lib/gconv/gconv-modules.cache
                > %{BUILDROOT}%{libdir}/gconv/gconv-modules.cache
                chmod 644 %{BUILDROOT}%{libdir}/gconv/gconv-modules.cache
 
-               strip -g %{BUILDROOT}%{libdir}/*.o
-
-               # Move some libs to correct place
-               mv -v %{BUILDROOT}/%{lib}/lib{memusage,pcprofile}.so %{BUILDROOT}%{libdir}
-
-               # Fix library permissions.
-               chmod 755 %{BUILDROOT}%{libdir}/lib*.so*
-
-               # rquota.x and rquota.h are now provided by quota
-               rm -vf %{BUILDROOT}%{includedir}/rpcsvc/rquota.[hx]
-       end
-
-       keep_libraries
-               %{libdir}/libc_nonshared.a
-               %{libdir}/libmvec_nonshared.a
-               %{libdir}/libpthread_nonshared.a
+               # Strip any object files
+               strip --strip-debug %{BUILDROOT}%{libdir}/*.o
+
+               # Some gconv libraries requires other libraries and contain $ORIGIN
+               # as RUNPATH because they are all located in the same directory.
+               # We do not support $ORIGIN as RUNPATH so change this to the directory
+               # where the modules are located.
+               find %{BUILDROOT}%{libdir}/gconv -type f -name "*.so" -exec sh -c '
+                       for file do
+                               # Obtain the RUNPATH of the module in case it has one set.
+                               runpath=$(patchelf --print-rpath ${file} | tr -d '\n')
+
+                               # Check if the RUNPATH is $ORIGIN
+                               if [ "${runpath}" == "\$ORIGIN" ]; then
+                                       # Use patchelf to change the RUNPATH
+                                       patchelf --set-rpath %{libdir}/gconv ${file}
+                               fi
+                       done ' sh {} +
        end
 end
 
 packages
        package glibc
-               if "%{DISTRO_ARCH}" == "armv7hl"
-                       provides += ld-linux.so.3
-                       provides += ld-linux.so.3(GLIBC_2.4)
-                       provides += ld-linux.so.3(GLIBC_PRIVATE)
-               end
+               # Export the path to the runtime linker which is actually
+               # installed into /usr, but is being searched for elsewhere
+               provides += %{rtld}
 
                requires
                        tzdata
@@ -207,34 +180,20 @@ packages
                files += %{libdir}/*.[ao]
        end
 
-       package nscd
-               summary = A Name Service Caching Daemon (nscd).
-               description
-                       Nscd caches name service lookups and can dramatically improve
-                       performance with NIS+, and may help with DNS as well.
-               end
-               group = System/Daemons
-
-               files
-                       /usr/sbin/nscd
-               end
-       end
-
        package %{name}-utils
-               summary = Development utilities from GNU C library.
+               summary = Development utilities from GNU C library
                description
                        The glibc-utils package contains memusage, a memory usage profiler,
                        mtrace, a memory leak tracer and xtrace, a function call tracer
                        which can be helpful during program debugging.
                end
-               group = Development/Tools
 
                files
-                       /usr/bin/memusage
-                       /usr/bin/memusagestat
-                       /usr/bin/mtrace
-                       /usr/bin/pcprofiledump
-                       /usr/bin/xtrace
+                       %{bindir}/memusage
+                       %{bindir}/memusagestat
+                       %{bindir}/mtrace
+                       %{bindir}/pcprofiledump
+                       %{bindir}/xtrace
                        %{libdir}/libmemusage.so
                        %{libdir}/libpcprofile.so
                end
index 7bcfabe2376f426416b381cf7c853f3a5640009e..b60d22ca026babd54412e8c4b2dcc9efad088fea 100644 (file)
@@ -4,11 +4,11 @@
 ###############################################################################
 
 name       = gmp
-version    = 6.1.2
+version    = 6.3.0
 release    = 1
 
 groups     = System/Libraries
-url        = http://gmplib.org/
+url        = https://gmplib.org/
 license    = LGPLv3+
 summary    = A GNU arbitrary precision library.
 
@@ -22,7 +22,7 @@ description
        emphasizes speed over simplicity/elegance in its operations.
 end
 
-source_dl += https://gmplib.org/download/gmp/ ftp://ftp.gnu.org/gnu/gmp/
+source_dl = https://gmplib.org/download/gmp/
 sources    = %{thisapp}.tar.xz
 
 build
@@ -31,110 +31,17 @@ build
                m4
        end
 
-       # Build different versions of gmp to enhance the speed
-       # of the OS.
-       build_versions = base
-
-       export ABI = standard
-
-       if "%{DISTRO_ARCH}" == "x86_64"
-               ABI = 64
-       end
-
-       if "%{DISTRO_ARCH}" == "i686"
-               # Build sse2 enabled version of gmp.
-               build_versions += sse2
-
-               ABI = 32
-       end
+       # Set ABI to "64" because we currently only
+       # build for architectures which supports 64 Bits.
+       export ABI = 64
 
        configure_options += \
                --enable-cxx \
                --enable-mpbsd \
                --disable-static
 
-       if "%{DISTRO_ARCH}" == "armv7hl"
-               # GMP cannot be built with THUMB support.
-               CFLAGS   := %(echo "%{CFLAGS}"   | sed -e "s/-mthumb//g")
-               CXXFLAGS := %(echo "%{CXXFLAGS}" | sed -e "s/-mthumb//g")
-       end
-
-       prepare_cmds
-               for version in %{build_versions}; do
-                       mkdir -p build-${version}
-
-                       cd build-${version}
-                       ln -svf ../configure .
-                       cd ..
-               done
-       end
-
-       build_one
-               ./configure \
-                       %{configure_options}
-
-               # Kill RPATHs.
-               sed -e 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' \
-                       -e 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' \
-                       -e 's|-lstdc++ -lm|-lstdc++|' \
-                       -i libtool
-
-               export LD_LIBRARY_PATH=$(pwd)/.libs
-               make %{PARALLELISMFLAGS} \
-                       CFLAGS="${CFLAGS}" \
-                       CXXFLAGS="${CXXFLAGS}"
-       end
-
-       build
-               for version in %{build_versions}; do
-                       cd build-${version}
-
-                       CFLAGS="%{CFLAGS}"
-                       CXXFLAGS="%{CXXFLAGS}"
-                       if [ "${version}" = "sse2" ]; then
-                               # Enable sse2.
-                               CFLAGS="%{CFLAGS} -march=pentium4"
-                               CXXFLAGS="%{CXXFLAGS} -march=pentium4"
-                       fi
-
-                       %{build_one}
-
-                       cd ..
-               done
-       end
-
        test
-               for version in %{build_versions}; do
-                       cd build-${version}
-
-                       export LD_LIBRARY_PATH=$(pwd)/.libs
-                       make check
-
-                       cd ..
-               done
-       end
-
-       install
-               for version in %{build_versions}; do
-                       cd build-${version}
-
-                       if [ "${version}" = "sse2" ]; then
-                               # Manually install sse2 libs.
-                               mkdir -pv %{BUILDROOT}/usr/lib/sse2
-
-                               install -m 755 .libs/libgmp.so.*.* %{BUILDROOT}/usr/lib/sse2
-                               cp -a .libs/libgmp.so.[^.]* %{BUILDROOT}/usr/lib/sse2
-                               chmod 755 %{BUILDROOT}/usr/lib/sse2/libgmp.so.[^.]*
-
-                               install -m 755 .libs/libgmpxx.so.*.* %{BUILDROOT}/usr/lib/sse2
-                               cp -a .libs/libgmpxx.so.? %{BUILDROOT}/usr/lib/sse2
-                               chmod 755 %{BUILDROOT}/usr/lib/sse2/libgmpxx.so.?
-                       else
-                               make install DESTDIR="%{BUILDROOT}"
-                       fi
-
-                       cd ..
-               done
+               LD_LIBRARY_PATH=%{DIR_APP}/.libs make check
        end
 end
 
index 4246ce13b4dc94783409e87d358c1ac25a615eaf..4212d9e89d12002b6a7907472cbbbe03c63e977a 100644 (file)
@@ -7,7 +7,7 @@ name       = gnome-doc-utils
 ver_major  = 0.20
 ver_minor  = 10
 version    = %{ver_major}.%{ver_minor}
-release    = 1
+release    = 2.1
 
 groups     = Development/Tools
 url        = http://www.gnome.org/
@@ -26,10 +26,17 @@ sources    = %{thisapp}.tar.xz
 build
        requires
                perl(XML::Parser)
+               python3
+               python3-libxml2
                intltool >= 0.35.0
+               libtool
                libxml2-devel >= 2.6.12
                libxslt-devel >= 1.1.8
        end
+
+       prepare_cmds
+               %{MACRO_FIX_AUTOTOOLS}
+       end
 end
 
 packages
diff --git a/gnome-doc-utils/patches/gnome-doc-utils-0.20.10-python3.patch b/gnome-doc-utils/patches/gnome-doc-utils-0.20.10-python3.patch
new file mode 100644 (file)
index 0000000..bf9614f
--- /dev/null
@@ -0,0 +1,540 @@
+diff -U3 -r gnome-doc-utils-0.20.10.orig/xml2po/xml2po/__init__.py gnome-doc-utils-0.20.10/xml2po/xml2po/__init__.py
+--- gnome-doc-utils-0.20.10.orig/xml2po/xml2po/__init__.py     2011-08-04 09:36:03.000000000 -0500
++++ gnome-doc-utils-0.20.10/xml2po/xml2po/__init__.py  2019-09-10 09:30:28.018627919 -0500
+@@ -86,14 +86,14 @@
+                 self.messages.append(t)
+                 if spacepreserve:
+                     self.nowrap[t] = True
+-                if t in self.linenos.keys():
++                if t in list(self.linenos.keys()):
+                     self.linenos[t].append((self.filename, tag, lineno))
+                 else:
+                     self.linenos[t] = [ (self.filename, tag, lineno) ]
+                 if (not self.do_translations) and comment and not t in self.comments:
+                     self.comments[t] = comment
+             else:
+-                if t in self.linenos.keys():
++                if t in list(self.linenos.keys()):
+                     self.linenos[t].append((self.filename, tag, lineno))
+                 else:
+                     self.linenos[t] = [ (self.filename, tag, lineno) ]
+@@ -166,7 +166,7 @@
+         elif node.isText():
+             if node.isBlankNode():
+                 if self.app.options.get('expand_entities') or \
+-                  (not (node.prev and not node.prev.isBlankNode() and node.next and not node.next.isBlankNode()) ):
++                  (not (node.prev and not node.prev.isBlankNode() and node.__next__ and not node.next.isBlankNode()) ):
+                     #print >>sys.stderr, "BLANK"
+                     node.setContent('')
+             else:
+@@ -176,7 +176,7 @@
+             child = node.children
+             while child:
+                 self.normalizeNode(child)
+-                child = child.next
++                child = child.__next__
+     def normalizeString(self, text, spacepreserve = False):
+         """Normalizes string to be used as key for gettext lookup.
+@@ -200,7 +200,7 @@
+             tree = ctxt.doc()
+             newnode = tree.getRootElement()
+         except:
+-            print >> sys.stderr, """Error while normalizing string as XML:\n"%s"\n""" % (text)
++            print("""Error while normalizing string as XML:\n"%s"\n""" % (text), file=sys.stderr)
+             return text
+         self.normalizeNode(newnode)
+@@ -209,7 +209,7 @@
+         child = newnode.children
+         while child:
+             result += child.serialize('utf-8')
+-            child = child.next
++            child = child.__next__
+         result = re.sub('^ ','', result)
+         result = re.sub(' $','', result)
+@@ -235,7 +235,7 @@
+         ctxt.parseDocument()
+         tree = ctxt.doc()
+         if next:
+-            newnode = tree.children.next
++            newnode = tree.children.__next__
+         else:
+             newnode = tree.children
+@@ -243,7 +243,7 @@
+         child = newnode.children
+         while child:
+             result += child.serialize('utf-8')
+-            child = child.next
++            child = child.__next__
+         tree.freeDoc()
+         return result
+@@ -262,7 +262,7 @@
+                         result += child.content.decode('utf-8')
+                 else:
+                     result += self.myAttributeSerialize(child)
+-                child = child.next
++                child = child.__next__
+         else:
+             result = node.serialize('utf-8')
+         return result
+@@ -338,7 +338,7 @@
+                 pass
+             if not newnode:
+-                print >> sys.stderr, """Error while parsing translation as XML:\n"%s"\n""" % (text.encode('utf-8'))
++                print("""Error while parsing translation as XML:\n"%s"\n""" % (text.encode('utf-8')), file=sys.stderr)
+                 return
+             newelem = newnode.getRootElement()
+@@ -346,13 +346,13 @@
+             if newelem and newelem.children:
+                 free = node.children
+                 while free:
+-                    next = free.next
++                    next = free.__next__
+                     free.unlinkNode()
+                     free = next
+                 if node:
+                     copy = newelem.copyNodeList()
+-                    next = node.next
++                    next = node.__next__
+                     node.replaceNode(newelem.copyNodeList())
+                     node.next = next
+@@ -378,7 +378,7 @@
+             if child.type in ['text'] and  child.content.strip()!='':
+                 final = True
+                 break
+-            child = child.next
++            child = child.__next__
+         node.__autofinal__ = final
+         return final
+@@ -457,7 +457,7 @@
+                     outtxt += '<%s>%s</%s>' % (starttag, content, endtag)
+                 else:
+                     outtxt += self.doSerialize(child)
+-            child = child.next
++            child = child.__next__
+         if self.app.operation == 'merge':
+             norm_outtxt = self.normalizeString(outtxt, self.app.isSpacePreserveNode(node))
+@@ -534,7 +534,7 @@
+             outtxt = ''
+             while child:
+                 outtxt += self.doSerialize(child)
+-                child = child.next
++                child = child.__next__
+             return outtxt
+ def xml_error_handler(arg, ctxt):
+@@ -577,8 +577,8 @@
+                 raise IOError("Unable to read file '%s'" % xmlfile)
+             try:
+                 doc = XMLDocument(xmlfile, self)
+-            except Exception, e:
+-                print >> sys.stderr, "Unable to parse XML file '%s': %s" % (xmlfile, str(e))
++            except Exception as e:
++                print("Unable to parse XML file '%s': %s" % (xmlfile, str(e)), file=sys.stderr)
+                 sys.exit(1)
+             self.current_mode.preProcessXml(doc.doc, self.msg)
+             doc.generate_messages()
+@@ -590,14 +590,14 @@
+             raise IOError("Unable to read file '%s'" % xmlfile)
+         try:
+             doc = XMLDocument(xmlfile, self)
+-        except Exception, e:
+-            print >> sys.stderr, str(e)
++        except Exception as e:
++            print(str(e), file=sys.stderr)
+             sys.exit(1)
+         try:
+             mfile = open(mofile, "rb")
+         except:
+-            print >> sys.stderr, "Can't open MO file '%s'." % (mofile)
++            print("Can't open MO file '%s'." % (mofile), file=sys.stderr)
+         self.gt = gettext.GNUTranslations(mfile)
+         self.gt.add_fallback(NoneTranslations())
+         # Has preProcessXml use cases for merge?
+@@ -619,16 +619,16 @@
+             raise IOError("Unable to read file '%s'" % xmlfile)
+         try:
+             doc = XMLDocument(xmlfile, self)
+-        except Exception, e:
+-            print >> sys.stderr, str(e)
++        except Exception as e:
++            print(str(e), file=sys.stderr)
+             sys.exit(1)
+         doc.generate_messages()
+         self.msg.translationsFollow()
+         try:
+             doc = XMLDocument(origxml, self)
+-        except Exception, e:
+-            print >> sys.stderr, str(e)
++        except Exception as e:
++            print(str(e), file=sys.stderr)
+             sys.exit(1)
+         doc.generate_messages()
+         self.output_po()
+diff -U3 -r gnome-doc-utils-0.20.10.orig/xml2po/xml2po/modes/docbook.py gnome-doc-utils-0.20.10/xml2po/xml2po/modes/docbook.py
+--- gnome-doc-utils-0.20.10.orig/xml2po/xml2po/modes/docbook.py        2011-01-10 10:08:10.000000000 -0600
++++ gnome-doc-utils-0.20.10/xml2po/xml2po/modes/docbook.py     2019-09-10 09:31:15.199572286 -0500
+@@ -43,7 +43,7 @@
+ except ImportError:
+     from md5 import new as md5_new
+-from basic import basicXmlMode
++from .basic import basicXmlMode
+ class docbookXmlMode(basicXmlMode):
+     """Class for special handling of DocBook document types.
+@@ -131,7 +131,7 @@
+                     hash = self._md5_for_file(fullpath)
+                 else:
+                     hash = "THIS FILE DOESN'T EXIST"
+-                    print >>sys.stderr, "Warning: image file '%s' not found." % fullpath
++                    print("Warning: image file '%s' not found." % fullpath, file=sys.stderr)
+                 msg.outputMessage("@@image: '%s'; md5=%s" % (attr, hash), node.lineNo(),
+                                   "When image changes, this message will be marked fuzzy or untranslated for you.\n"+
+@@ -198,10 +198,10 @@
+ # Perform some tests when ran standalone
+ if __name__ == '__main__':
+     test = docbookXmlMode()
+-    print "Ignored tags       : " + repr(test.getIgnoredTags())
+-    print "Final tags         : " + repr(test.getFinalTags())
+-    print "Space-preserve tags: " + repr(test.getSpacePreserveTags())
++    print("Ignored tags       : " + repr(test.getIgnoredTags()))
++    print("Final tags         : " + repr(test.getFinalTags()))
++    print("Space-preserve tags: " + repr(test.getSpacePreserveTags()))
+-    print "Credits from string: '%s'" % test.getStringForTranslators()
+-    print "Explanation for credits:\n\t'%s'" % test.getCommentForTranslators()
++    print("Credits from string: '%s'" % test.getStringForTranslators())
++    print("Explanation for credits:\n\t'%s'" % test.getCommentForTranslators())
+diff -U3 -r gnome-doc-utils-0.20.10.orig/xml2po/xml2po/modes/gs.py gnome-doc-utils-0.20.10/xml2po/xml2po/modes/gs.py
+--- gnome-doc-utils-0.20.10.orig/xml2po/xml2po/modes/gs.py     2010-12-13 10:14:07.000000000 -0600
++++ gnome-doc-utils-0.20.10/xml2po/xml2po/modes/gs.py  2019-09-10 09:31:15.201572284 -0500
+@@ -20,7 +20,7 @@
+ # Special case Gnome Summary
+ #
+-from basic import basicXmlMode
++from .basic import basicXmlMode
+ class gsXmlMode(basicXmlMode):
+     """Abstract class for special handling of document types."""
+diff -U3 -r gnome-doc-utils-0.20.10.orig/xml2po/xml2po/modes/mallard.py gnome-doc-utils-0.20.10/xml2po/xml2po/modes/mallard.py
+--- gnome-doc-utils-0.20.10.orig/xml2po/xml2po/modes/mallard.py        2011-01-10 10:08:50.000000000 -0600
++++ gnome-doc-utils-0.20.10/xml2po/xml2po/modes/mallard.py     2019-09-10 09:31:15.212572271 -0500
+@@ -39,7 +39,7 @@
+ except ImportError:
+     from md5 import new as md5_new
+-from basic import basicXmlMode
++from .basic import basicXmlMode
+ class mallardXmlMode(basicXmlMode):
+     """Class for special handling of Mallard document types."""
+@@ -112,7 +112,7 @@
+                     hash = self._md5_for_file(fullpath)
+                 else:
+                     hash = "THIS FILE DOESN'T EXIST"
+-                    print >>sys.stderr, "Warning: image file '%s' not found." % fullpath
++                    print("Warning: image file '%s' not found." % fullpath, file=sys.stderr)
+                     
+                 msg.outputMessage("@@image: '%s'; md5=%s" % (attr, hash), node.lineNo(),
+                                   "When image changes, this message will be marked fuzzy or untranslated for you.\n"+
+diff -U3 -r gnome-doc-utils-0.20.10.orig/xml2po/xml2po/modes/ubuntu.py gnome-doc-utils-0.20.10/xml2po/xml2po/modes/ubuntu.py
+--- gnome-doc-utils-0.20.10.orig/xml2po/xml2po/modes/ubuntu.py 2010-12-13 10:14:07.000000000 -0600
++++ gnome-doc-utils-0.20.10/xml2po/xml2po/modes/ubuntu.py      2019-09-10 09:31:15.213572270 -0500
+@@ -2,7 +2,7 @@
+ import libxml2
+-from docbook import docbookXmlMode
++from .docbook import docbookXmlMode
+ class ubuntuXmlMode (docbookXmlMode):
+     """Special-casing Ubuntu DocBook website documentation."""
+diff -U3 -r gnome-doc-utils-0.20.10.orig/xml2po/xml2po/modes/xhtml.py gnome-doc-utils-0.20.10/xml2po/xml2po/modes/xhtml.py
+--- gnome-doc-utils-0.20.10.orig/xml2po/xml2po/modes/xhtml.py  2010-12-13 10:14:07.000000000 -0600
++++ gnome-doc-utils-0.20.10/xml2po/xml2po/modes/xhtml.py       2019-09-10 09:31:15.214572269 -0500
+@@ -21,7 +21,7 @@
+ # This implements special instructions for handling XHTML documents
+ # in a better way, particularly to extract some attributes in HTML tags
+-from basic import basicXmlMode
++from .basic import basicXmlMode
+ class xhtmlXmlMode(basicXmlMode):
+     """Class for special handling of XHTML document types."""
+diff -U3 -r gnome-doc-utils-0.20.10.orig/xml2po/xml2po/xml2po.py.in gnome-doc-utils-0.20.10/xml2po/xml2po/xml2po.py.in
+--- gnome-doc-utils-0.20.10.orig/xml2po/xml2po/xml2po.py.in    2010-12-13 10:14:07.000000000 -0600
++++ gnome-doc-utils-0.20.10/xml2po/xml2po/xml2po.py.in 2019-09-10 09:30:28.217627684 -0500
+@@ -41,9 +41,9 @@
+ if not os.path.exists('/dev/null'): NULL_STRING = 'NUL'
+ def usage (with_help = False):
+-    print >> sys.stderr, "Usage:  %s [OPTIONS] [XMLFILE]..." % (sys.argv[0])
++    print("Usage:  %s [OPTIONS] [XMLFILE]..." % (sys.argv[0]), file=sys.stderr)
+     if with_help:
+-        print >> sys.stderr, """
++        print("""
+ OPTIONS may be some of:
+     -a    --automatic-tags     Automatically decides if tags are to be considered
+                                  "final" or not
+@@ -72,7 +72,7 @@
+     using -p option for each XML file:
+         %(command)s -p de.po chapter1.xml > chapter1.de.xml
+         %(command)s -p de.po chapter2.xml > chapter2.de.xml
+-""" % {'command': sys.argv[0]}
++""" % {'command': sys.argv[0]}, file=sys.stderr)
+ def main(argv):
+@@ -82,7 +82,7 @@
+     name = os.path.join(os.path.dirname(__file__), '..')
+     if os.path.exists(os.path.join(name, 'tests')):
+-        print >> sys.stderr, 'Running from source folder, modifying PYTHONPATH'
++        print('Running from source folder, modifying PYTHONPATH', file=sys.stderr)
+         sys.path.insert(0, name)
+     from xml2po import Main
+@@ -142,14 +142,14 @@
+         elif opt in ('-o', '--output'):
+             output = arg
+         elif opt in ('-v', '--version'):
+-            print VERSION
++            print(VERSION)
+             sys.exit(0)
+         elif opt in ('-h', '--help'):
+             usage(True)
+             sys.exit(0)
+     if operation == 'update' and output != "-":
+-        print >> sys.stderr, "Option '-o' is not yet supported when updating translations directly. Ignoring this option."
++        print("Option '-o' is not yet supported when updating translations directly. Ignoring this option.", file=sys.stderr)
+     # Treat remaining arguments as XML files
+     filenames = []
+@@ -159,16 +159,16 @@
+     try:
+         xml2po_main = Main(default_mode, operation, output, options)
+     except IOError:
+-        print >> sys.stderr, "Error: cannot open file %s for writing." % (output)
++        print("Error: cannot open file %s for writing." % (output), file=sys.stderr)
+         sys.exit(5)
+     if operation == 'merge':
+         if len(filenames) > 1:
+-            print  >> sys.stderr, "Error: You can merge translations with only one XML file at a time."
++            print("Error: You can merge translations with only one XML file at a time.", file=sys.stderr)
+             sys.exit(2)
+         if not mofile:
+-            print >> sys.stderr, "Error: You must specify MO file when merging translations."
++            print("Error: You must specify MO file when merging translations.", file=sys.stderr)
+             sys.exit(3)
+         xml2po_main.merge(mofile, filenames[0])
+--- gnome-doc-utils-0.20.10/xml2po/xml2po/__init__.py.orig     2019-09-10 09:34:42.110328324 -0500
++++ gnome-doc-utils-0.20.10/xml2po/xml2po/__init__.py  2019-09-10 09:34:44.170325899 -0500
+@@ -166,7 +166,7 @@
+         elif node.isText():
+             if node.isBlankNode():
+                 if self.app.options.get('expand_entities') or \
+-                  (not (node.prev and not node.prev.isBlankNode() and node.__next__ and not node.next.isBlankNode()) ):
++                  (not (node.prev and not node.prev.isBlankNode() and node.next and not node.next.isBlankNode()) ):
+                     #print >>sys.stderr, "BLANK"
+                     node.setContent('')
+             else:
+@@ -176,7 +176,7 @@
+             child = node.children
+             while child:
+                 self.normalizeNode(child)
+-                child = child.__next__
++                child = child.next
+     def normalizeString(self, text, spacepreserve = False):
+         """Normalizes string to be used as key for gettext lookup.
+@@ -209,7 +209,7 @@
+         child = newnode.children
+         while child:
+             result += child.serialize('utf-8')
+-            child = child.__next__
++            child = child.next
+         result = re.sub('^ ','', result)
+         result = re.sub(' $','', result)
+@@ -235,7 +235,7 @@
+         ctxt.parseDocument()
+         tree = ctxt.doc()
+         if next:
+-            newnode = tree.children.__next__
++            newnode = tree.children.next
+         else:
+             newnode = tree.children
+@@ -243,7 +243,7 @@
+         child = newnode.children
+         while child:
+             result += child.serialize('utf-8')
+-            child = child.__next__
++            child = child.next
+         tree.freeDoc()
+         return result
+@@ -262,7 +262,7 @@
+                         result += child.content.decode('utf-8')
+                 else:
+                     result += self.myAttributeSerialize(child)
+-                child = child.__next__
++                child = child.next
+         else:
+             result = node.serialize('utf-8')
+         return result
+@@ -346,13 +346,13 @@
+             if newelem and newelem.children:
+                 free = node.children
+                 while free:
+-                    next = free.__next__
++                    next = free.next
+                     free.unlinkNode()
+                     free = next
+                 if node:
+                     copy = newelem.copyNodeList()
+-                    next = node.__next__
++                    next = node.next
+                     node.replaceNode(newelem.copyNodeList())
+                     node.next = next
+@@ -378,7 +378,7 @@
+             if child.type in ['text'] and  child.content.strip()!='':
+                 final = True
+                 break
+-            child = child.__next__
++            child = child.next
+         node.__autofinal__ = final
+         return final
+@@ -457,7 +457,7 @@
+                     outtxt += '<%s>%s</%s>' % (starttag, content, endtag)
+                 else:
+                     outtxt += self.doSerialize(child)
+-            child = child.__next__
++            child = child.next
+         if self.app.operation == 'merge':
+             norm_outtxt = self.normalizeString(outtxt, self.app.isSpacePreserveNode(node))
+@@ -534,7 +534,7 @@
+             outtxt = ''
+             while child:
+                 outtxt += self.doSerialize(child)
+-                child = child.__next__
++                child = child.next
+             return outtxt
+ def xml_error_handler(arg, ctxt):
+--- gnome-doc-utils-0.20.10/xml2po/xml2po/__init__.py.orig     2019-09-10 09:39:57.733974912 -0500
++++ gnome-doc-utils-0.20.10/xml2po/xml2po/__init__.py  2019-09-10 09:40:24.761946962 -0500
+@@ -326,7 +326,7 @@
+                 pass
+             content = '<%s>%s</%s>' % (starttag, text, endtag)
+-            tmp = tmp + content.encode('utf-8')
++            tmp = tmp + content
+             newnode = None
+             try:
+@@ -663,7 +663,7 @@
+         if not text or text.strip() == '':
+             return text
+         if self.gt:
+-            res = self.gt.ugettext(text.decode('utf-8'))
++            res = self.gt.gettext(text)
+             return res
+         return text
+--- gnome-doc-utils-0.20.10/xml2po/xml2po/__init__.py.orig     2019-09-10 09:41:23.853885851 -0500
++++ gnome-doc-utils-0.20.10/xml2po/xml2po/__init__.py  2019-09-10 09:44:23.580699979 -0500
+@@ -352,9 +352,10 @@
+                 if node:
+                     copy = newelem.copyNodeList()
+-                    next = node.next
++                    #next = node.next
+                     node.replaceNode(newelem.copyNodeList())
+-                    node.next = next
++                    #print(type(next))
++                    #node.next = next
+             else:
+                 # In practice, this happens with tags such as "<para>    </para>" (only whitespace in between)
+@@ -470,7 +471,7 @@
+         worth = self.worthOutputting(node)
+         if not translation:
+-            translation = outtxt.decode('utf-8')
++            translation = outtxt
+             if worth and self.app.options.get('mark_untranslated'):
+                 node.setLang('C')
+--- gnome-doc-utils-0.20.10/xml2po/xml2po/modes/docbook.py.orig        2019-09-10 09:46:15.409584334 -0500
++++ gnome-doc-utils-0.20.10/xml2po/xml2po/modes/docbook.py     2019-09-10 09:46:30.164569075 -0500
+@@ -184,7 +184,7 @@
+                     else:
+                         ai.addChild(copy)
+                     if match.group(3):
+-                        copy.newChild(None, "year", match.group(3).encode('utf-8'))
++                        copy.newChild(None, "year", match.group(3))
+                     if match.group(1) and match.group(2):
+                         holder = match.group(1)+"(%s)" % match.group(2)
+                     elif match.group(1):
+@@ -193,7 +193,7 @@
+                         holder = match.group(2)
+                     else:
+                         holder = "???"
+-                    copy.newChild(None, "holder", holder.encode('utf-8'))
++                    copy.newChild(None, "holder", holder)
+ # Perform some tests when ran standalone
+ if __name__ == '__main__':
+--- gnome-doc-utils-0.20.10/xml2po/xml2po/xml2po.py.in~        2019-09-10 09:50:34.000000000 -0500
++++ gnome-doc-utils-0.20.10/xml2po/xml2po/xml2po.py.in 2019-09-10 09:50:45.114305443 -0500
+@@ -1,4 +1,4 @@
+-#!/usr/bin/python -u
++#!/usr/bin/python3 -u
+ # -*- encoding: utf-8 -*-
+ # Copyright (c) 2004, 2005, 2006 Danilo Å egan <danilo@gnome.org>.
+ # Copyright (c) 2009 Claude Paroz <claude@2xlibre.net>.
+--- gnome-doc-utils-0.20.10.old/xml2po/xml2po/__init__.py      2021-10-14 16:54:33.332661817 +0900
++++ gnome-doc-utils-0.20.10/xml2po/xml2po/__init__.py  2021-10-14 17:06:31.006607987 +0900
+@@ -504,7 +504,7 @@
+             # !!! This is not very nice thing to do, but I don't know if
+             #     raising an exception is any better
+             return False
+-        return tmpstr.find('EXTERNAL_GENERAL_PARSED_ENTITY') != -1
++        return tmpstr.find(b'EXTERNAL_GENERAL_PARSED_ENTITY') != -1
+     def doSerialize(self, node):
+         """Serializes a node and its children, emitting PO messages along the way.
+@@ -556,7 +556,7 @@
+         elif output == '-':
+             self.out = sys.stdout
+         else:
+-            self.out = file(output, 'w')
++            self.out = open(output, 'w')
+     def load_mode(self, modename):
+         try:
diff --git a/gnome-themes-standard/gnome-themes-standard.nm b/gnome-themes-standard/gnome-themes-standard.nm
deleted file mode 100644 (file)
index e5f1fc2..0000000
+++ /dev/null
@@ -1,88 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = gnome-themes-standard
-ver_major  = 3.20
-version    = %{ver_major}
-release    = 1
-
-groups     = 
-url        = http://git.gnome.org/browse/gnome-themes-standard
-license    = LGPLv2+
-summary    = Standard themes for GNOME applications.
-
-description
-       The gnome-themes-standard package contains the standard theme for the GNOME
-       desktop, which provides default appearance for cursors, desktop background,
-       window borders and GTK+ applications.
-end
-
-source_dl  = http://download.gnome.org/sources/%{name}/%{ver_major}/
-sources    = %{thisapp}.tar.xz
-
-build
-       requires
-               /usr/bin/gtk-update-icon-cache
-               gtk3-devel >= 3.0.2
-               librsvg2-devel
-               intltool
-       end
-
-       configure_options += \
-               --disable-static \
-               --disable-gtk2-engine
-
-       install_cmds
-               mkdir -pv %{BUILDROOT}%{sysconfdir}/gtk-3.0
-
-               install -m 0664 %{DIR_SOURCE}/settings.ini \
-                       %{BUILDROOT}%{sysconfdir}/gtk-3.0/
-       end
-end
-
-packages
-       package %{name}
-               requires
-                       adwaita-cursor-theme = %{thisver}
-                       adwaita-gtk3-theme = %{thisver}
-               end
-       end
-
-       package adwaita-cursor-theme
-               arch = noarch
-
-               summary = Adwaita cursor theme.
-               description
-                       The adwaita-cursor-theme package contains a modern set of cursors originally
-                       designed for the GNOME desktop.
-               end
-
-               files
-                       %{datadir}/icons/Adwaita
-               end
-       end
-
-       package adwaita-gtk3-theme
-               summary = Adwaita gtk3 theme.
-               description
-                       The adwaita-gtk3-theme package contains a gtk3 theme for presenting widgets
-                       with a GNOME look and feel.
-               end
-
-               files
-                       %{libdir}/gtk-3.0/
-                       %{datadir}/themes/Adwaita/gtk-3.0
-                       %{sysconfdir}/gtk-3.0/settings.ini
-               end
-       end
-
-       package %{name}-devel
-               template DEVEL
-       end
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
diff --git a/gnome-themes-standard/settings.ini b/gnome-themes-standard/settings.ini
deleted file mode 100644 (file)
index aa23544..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-[Settings]
-gtk-theme-name = Adwaita
-gtk-icon-theme-name = gnome
-gtk-cursor-theme-name = Adwaita
-gtk-button-images = 0
-gtk-menu-images = 0
-gtk-auto-mnemonics = 0
index b1a3562925dfb359cb75eabd121ae164b06f0d08..e45210f5a0a5b6b5abab994d3e54bc549f185299 100644 (file)
@@ -4,12 +4,12 @@
 ###############################################################################
 
 name       = gnupg2
-version    = 2.2.3
+version    = 2.3.8
 release    = 1
 thisapp    = gnupg-%{version}
 
 groups     = Security/Tools
-url        = http://www.gnupg.org/
+url        = https://www.gnupg.org/
 license    = GPLv3+
 summary    = Utility for secure communication and data storage.
 
@@ -21,16 +21,16 @@ description
        standard as described by several RFCs.
 end
 
-source_dl  = ftp://ftp.gnupg.org/gcrypt/gnupg/
+source_dl  = https://www.gnupg.org/ftp/gcrypt/gnupg/
 sources    = %{thisapp}.tar.bz2
 
 build
        requires
                gnutls-devel
-               libassuan-devel >= 2.4.3
+               libassuan-devel >= 2.5.0
                libcurl-devel
-               libgpg-error >= 1.23
-               libgcrypt-devel >= 1.7.0
+               libgpg-error >= 1.41
+               libgcrypt-devel >= 1.9.1
                libksba-devel >= 1.3.4
                npth-devel
                pinentry
index ebc8b6d90add605597d1f52f1038ca068cc46176..0217da398ba8584586518bdaa4c132380f994202 100644 (file)
@@ -5,12 +5,12 @@
 
 name       = gnutls
 version    = %{ver_maj}.%{ver_min}
-ver_maj    = 3.6
-ver_min    = 7
+ver_maj    = 3.8
+ver_min    = 1
 release    = 1
 
 groups     = System/Libraries
-url        = http://www.gnu.org/software/gnutls/
+url        = https://gnutls.org/
 license    = LGPLv2.1+
 summary    = A general-purpose cryptography library.
 
@@ -21,19 +21,18 @@ description
        TLS working group.
 end
 
-source_dl  = ftp://ftp.gnutls.org/gcrypt/gnutls/v%{ver_maj}/
+source_dl  = https://www.gnupg.org/ftp/gcrypt/gnutls/v%{ver_maj}/
 sources    = %{thisapp}.tar.xz
 
 build
        requires
-               datefudge
+               ca-certificates
                gettext
                libgcrypt-devel
                libidn-devel
                libtasn1-devel >= 4.9
                libunistring-devel
                lzo-devel
-               net-tools
                nettle-devel >= 3.4.1
                perl
                p11-kit-devel >= 0.23.1
@@ -46,6 +45,7 @@ build
        CFLAGS += -Wa,--noexecstack
 
        configure_options += \
+               --with-default-trust-store-file="%{sysconfdir}/pki/tls/certs/ca-bundle.crt" \
                --with-included-libcfg \
                --disable-openssl-compatibility \
                --disable-non-suiteb-curves \
index a5ff3ec34408e74e53dbe374b876581bd6e60513..0c13049278f721d6e4770fda23c0ba3f72436cf8 100644 (file)
@@ -5,13 +5,12 @@
 
 name       = gobject-introspection
 version    = %{major_ver}.%{minor_ver}
-release    = 3
-
-major_ver  = 1.48
+major_ver  = 1.74
 minor_ver  = 0
+release    = 4
 
 groups     = Development/Libraries
-url        = http://live.gnome.org/GObjectIntrospection
+url        = https://live.gnome.org/GObjectIntrospection
 license    = GPLv2+, LGPLv2+, MIT
 summary    = Introspection system for GObject-based libraries.
 
@@ -22,7 +21,7 @@ description
        other things.
 end
 
-source_dl  = http://ftp.gnome.org/pub/GNOME/sources/%{name}/%{major_ver}/
+source_dl  = https://ftp.gnome.org/pub/GNOME/sources/%{name}/%{major_ver}/
 sources    = %{thisapp}.tar.xz
 
 build
@@ -30,23 +29,27 @@ build
                automake
                bison
                cairo-devel
+               cairo-gobject-devel
                flex
                glib2-devel >= 2.48.0
                libffi-devel
                libtool
-               python-devel
+               meson
+               ninja
+               python3-devel
        end
 
        export LD_LIBRARY_PATH = %{DIR_APP}/.libs:%{DIR_APP}/tests/offsets/.libs
 
-       configure_options += \
-               --disable-static
+       build
+               %{meson} \
+                       -Ddoctool=disabled
+
+               %{meson_build}
+       end
 
-       install_cmds
-               # Fix interpreter
-               sed -e "s@^#!.*@#!/usr/bin/python@" \
-                       -i %{BUILDROOT}%{bindir}/g-ir-scanner \
-                       -i %{BUILDROOT}%{bindir}/g-ir-annotation-tool
+       install
+               %{meson_install}
        end
 end
 
index acdd33b99c275a567b21adbe1f699cfc7b6c00e4..5f9ad58c45e6d82ac7fc55cab0014311802e5c13 100644 (file)
@@ -4,11 +4,11 @@
 ###############################################################################
 
 name       = gperf
-version    = 3.0.4
-release    = 0
+version    = 3.1
+release    = 1
 
 groups     = Development/Tools
-url        = http://www.gnu.org/software/gperf/
+url        = https://www.gnu.org/software/gperf/
 license    = GPLv2+
 summary    = A perfect hash function generator.
 
@@ -19,7 +19,7 @@ description
        using exactly one probe into the data structure.
 end
 
-source_dl  =
+source_dl  = https://ftp.gnu.org/pub/gnu/gperf/
 
 build
        requires
@@ -27,11 +27,14 @@ build
        end
 
        configure_options += --disable-static
+
+       test
+               make check
+       end
 end
 
 packages
        package %{name}
-       end
 
        package %{name}-debuginfo
                template DEBUGINFO
index f9a36a094c20202a49b2c2cb295bcc93339c9012..34343f0a7bbc00791f24720db01fb1de8c3bd5bc 100644 (file)
@@ -4,13 +4,13 @@
 ###############################################################################
 
 name       = gpgme
-version    = 1.12.0
-release    = 1
+version    = 1.18.0
+release    = 2.1
 
 groups     = Applications/System
-url        = http://www.gnupg.org/related_software/gpgme/
+url        = https://www.gnupg.org/related_software/gpgme/
 license    = LGPLv2+
-summary    = GnuPG Made Easy - high level crypto API.
+summary    = GnuPG Made Easy - high level crypto API
 
 description
        GnuPG Made Easy (GPGME) is a library designed to make access to GnuPG
@@ -19,21 +19,21 @@ description
        management.
 end
 
-source_dl  = ftp://ftp.gnupg.org/gcrypt/gpgme/
+source_dl  = https://www.gnupg.org/ftp/gcrypt/gpgme/
 sources    = %{thisapp}.tar.bz2
 
 build
        requires
                gawk
+               glib2-devel
                gnupg2
                libassuan-devel
                libgpg-error-devel
-               pth-devel
+               pkg-config
                which
        end
 
        configure_options += \
-               --with-gpg=%{bindir}/gpg2 \
                --disable-gpg-test
 
        # Tests hang indefinitely
@@ -54,8 +54,6 @@ packages
 
        package %{name}-devel
                template DEVEL
-
-               requires += libgpg-error-devel
        end
 
        package %{name}-debuginfo
diff --git a/graphviz/graphviz.nm b/graphviz/graphviz.nm
new file mode 100644 (file)
index 0000000..32edf71
--- /dev/null
@@ -0,0 +1,95 @@
+###############################################################################
+# IPFire.org    - An Open Source Firewall Solution                            #
+# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
+###############################################################################
+
+name       = graphviz
+version    = 7.0.4
+release    = 2.1
+
+groups     = Development/Tools
+url        = https://gitlab.com/graphviz/graphviz
+license    = EPL
+summary    = Graph Visualization Tools
+
+description
+       Graph visualization is a way of representing structural information
+       as diagrams of abstract graphs and networks. It has important
+       applications in networking, bioinformatics, software engineering,
+       database and web design, machine learning, and in visual interfaces
+       for other technical domains.
+end
+
+source_dl  = https://gitlab.com/graphviz/graphviz/-/archive/%{version}/
+sources    = %{thisapp}.tar.bz2
+
+build
+       requires
+               autoconf
+               automake
+               bison
+               cairo-devel
+               flex
+               fontconfig-devel
+               ghostscript-devel
+               libjpeg-devel
+               libpng-devel
+               libtool
+               pango-devel
+       end
+
+       prepare_cmds
+               ./autogen.sh
+       end
+
+       configure_options += \
+               --enable-debug
+
+       configure_cmds
+               # Add some additional C compiler flags to proper harden liblab_gamut.
+               sed -i '/^CFLAGS =/ s/$/ -fno-builtin-exit -D__noreturn__=/' \
+                       lib/edgepaint/Makefile
+
+               # Add some additional C and C++ compiler flags to proper harden
+               # the "dot" binaries.
+               sed -i '/^CFLAGS =/ s/$/ -fno-builtin-exit -D__noreturn__=/' \
+                       cmd/dot/Makefile
+               sed -i '/^CXXFLAGS =/ s/$/ -fno-builtin-exit -D__noreturn__=/' \
+                       cmd/dot/Makefile
+
+               # Add some additional C compiler flags to proper harden the
+               # "gvpr" binaries.
+               sed -i '/^CFLAGS =/ s/$/ -fno-builtin-exit -D__noreturn__=/' \
+                       cmd/gvpr/Makefile
+
+               # Add some additional C compiler flags to proper harden the
+               # tools.
+               sed -i '/^CFLAGS =/ s/$/ -fno-builtin-exit -D__noreturn__=/' \
+                       cmd/tools/Makefile
+       end
+
+       test
+               make check
+       end
+end
+
+packages
+       package %{name}
+
+       package %{name}-libs
+               template LIBS
+       end
+
+       package %{name}-devel
+               template DEVEL
+
+               requires
+                       graphviz = %{thisver}
+                       graphviz-libs = %{thisver}
+               end
+       end
+
+       package %{name}-debuginfo
+               template DEBUGINFO
+       end
+end
index d2007620210bce01e4309859df28eb2814453def..757d577cf3a8ec5a26bb8f62dfbceeef4b29e906 100644 (file)
@@ -4,11 +4,11 @@
 ###############################################################################
 
 name       = grep
-version    = 3.3
+version    = 3.8
 release    = 1
 
 groups     = Applications/Text
-url        = http://www.gnu.org/software/grep/
+url        = https://www.gnu.org/software/grep/
 license    = GPLv3+
 summary    = A pattern matching utilities.
 
@@ -18,7 +18,7 @@ description
        prints the matching lines. GNU's grep utilities include grep, egrep and fgrep.
 end
 
-source_dl  = ftp://ftp.gnu.org/gnu/grep/
+source_dl  = https://ftp.gnu.org/gnu/grep/
 sources    = %{thisapp}.tar.xz
 
 build
@@ -26,7 +26,7 @@ build
                autoconf
                automake
                gettext-devel
-               pcre-devel
+               pcre2-devel
                texinfo
        end
 
@@ -48,8 +48,6 @@ end
 
 packages
        package %{name}
-               groups += Base Build
-
                provides
                        /bin/grep
                        bundled(gnulib)
index 1b097c7e476afce179188b3223dd9d87ed85ff90..cdf877aeb433c120035aaaf9b5dfa50161e30997 100644 (file)
@@ -4,13 +4,13 @@
 ###############################################################################
 
 name       = groff
-version    = 1.22.3
+version    = 1.22.4
 release    = 1
 
 groups     = Applications/Text
-url        = http://groff.ffii.org/
+url        = https://groff.ffii.org/
 license    = GPLv2 and GFDL
-summary    = A document formatting system.
+summary    = A document formatting system
 
 description
        Groff is a document formatting system. Groff takes standard text and
@@ -21,7 +21,7 @@ description
        more.
 end
 
-source_dl  = http://ftp.gnu.org/gnu/%{name}/
+source_dl  = https://ftp.gnu.org/gnu/%{name}/
 
 build
        requires
@@ -33,8 +33,9 @@ build
                texinfo
        end
 
-       # Cannot run in parallel
-       PARALLELISMFLAGS =
+       # Install man-pages only
+       configure_options += \
+               --with-doc=no
 
        install_cmds
                for file in g{nroff,troff,tbl,pic,eqn,neqn,refer,lookbib,indxbib,soelim} zsoelim; do
@@ -46,12 +47,7 @@ end
 
 packages
        package %{name}
-               filter_requires
-                       main_subs.pl
-                       man.pl
-                       oop_fh.pl
-                       subs.pl
-               end
+               filter_requires = (main_subs|man|oop_fh|subs)\.pl
        end
 
        package %{name}-debuginfo
diff --git a/groff/patches/0002-load-site-font-and-site-tmac-from-etc-groff.patch b/groff/patches/0002-load-site-font-and-site-tmac-from-etc-groff.patch
deleted file mode 100644 (file)
index 163f784..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-From c6d8bb3e0ebc03274564d7b2c768e9932cc5f79d Mon Sep 17 00:00:00 2001
-From: Jan Vcelak <jvcelak@redhat.com>
-Date: Tue, 1 Jan 2013 15:33:45 +0100
-Subject: [PATCH] load site-font and site-tmac from /etc/groff
-
-Move site-font and site-tmac configuration from /usr/share/groff to
-/etc/groff. That allows permanent custom changes. (Symlinking brought
-a lot of problems with RPM. This is safer and cleaner.)
-
-Signed-off-by: Jan Vcelak <jvcelak@redhat.com>
----
- Makefile.in | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/Makefile.in b/Makefile.in
-index 7534e56..d97d1b9 100644
---- a/Makefile.in
-+++ b/Makefile.in
-@@ -167,7 +167,7 @@ fontdir=$(datasubdir)/font
- oldfontdir=$(datasubdir)/oldfont
- # `localfontdir' says where local fonts will be installed (as dev*/*).
--localfontdir=$(dataprogramdir)/site-font
-+localfontdir=@sysconfdir@/groff/site-font
- # `legacyfontdir' is for compatibility with non-GNU troff.
- legacyfontdir=/usr/lib/font
-@@ -179,10 +179,10 @@ fontpath=$(localfontdir)$(RT_SEP)$(fontdir)$(RT_SEP)$(legacyfontdir)
- tmacdir=$(datasubdir)/tmac
- # `systemtmacdir' says where to install platform-dependent macros.
--systemtmacdir=$(libprogramdir)/site-tmac
-+systemtmacdir=@sysconfdir@/groff/site-tmac
- # `localtmacdir' says where local files will be installed.
--localtmacdir=$(dataprogramdir)/site-tmac
-+localtmacdir=@sysconfdir@/groff/site-tmac
- # `appresdir' says where to install the application resource file for
- # gxditview.
--- 
-1.8.0.2
-
index c076c011666f15aae9a2c206ab39efcca1124917..263a36d56bad95249413406d4b4302f47e4a449b 100644 (file)
@@ -4,15 +4,12 @@
 ###############################################################################
 
 name       = grub
-version    = 2.02
+version    = 2.06
 release    = 2
 
-sup_arches = aarch64 x86_64 i686
-thisapp    = %{name}-%{version}
-
 groups     = System/Boot
-url        = http://www.gnu.org/software/grub/
-license    = GPLv2+
+url        = https://www.gnu.org/software/grub/
+license    = GPLv3
 summary    = Grand Unified Boot Loader.
 
 description
@@ -22,28 +19,25 @@ description
        systems.
 end
 
-source_dl  = http://ftp.gnu.org/gnu/grub/ ftp://alpha.gnu.org/gnu/grub/
+source_dl  = https://ftp.gnu.org/gnu/grub/
 sources    = %{thisapp}.tar.xz
 
-# Unifont
-unifont = /usr/share/X11/fonts/misc/unifont.pcf.gz
-
 build
+       arches = aarch64 x86_64
+
        requires
                autoconf
-               autogen
                automake
                bison
                bzip2-devel
-               debugedit >= 5.3.5-2
-               dejavu-fonts-sans-fonts
                flex
                freetype-devel
                gettext
+               gettext-devel
                libdevmapper-devel
                ncurses-devel
+               python3
                zlib-devel
-               %{unifont}
        end
 
        # Don't leak our CFLAGS to boot code
@@ -57,8 +51,7 @@ build
        end
 
        prepare_cmds
-               cp -vf %{unifont} unifont.pcf.gz
-               ./autogen.sh
+               PYTHON=%{python3} ./autogen.sh
 
                for platform in %{platforms}; do
                        cp -r %{DIR_APP} %{DIR_APP}-${platform}
@@ -113,13 +106,12 @@ build
                        -s 14 %{datadir}/fonts/dejavu/DejaVuSans-Bold.ttf
                popd
        end
-
-       debuginfo_strict_build_id = false
 end
 
 packages
        package %{name}
                requires
+                       efibootmgr
                        gettext
                        system-logos >= 2
                end
diff --git a/grub/patches/grub-2.02-X86_64_PLT32.patch b/grub/patches/grub-2.02-X86_64_PLT32.patch
deleted file mode 100644 (file)
index 2c65cb7..0000000
+++ /dev/null
@@ -1,75 +0,0 @@
-From 02702bdfe14d8a04643a45b03715f734ae34dbac Mon Sep 17 00:00:00 2001
-From: "H.J. Lu" <hjl.tools@gmail.com>
-Date: Sat, 17 Feb 2018 06:47:28 -0800
-Subject: x86-64: Treat R_X86_64_PLT32 as R_X86_64_PC32
-
-Starting from binutils commit bd7ab16b4537788ad53521c45469a1bdae84ad4a:
-
-https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=bd7ab16b4537788ad53521c45469a1bdae84ad4a
-
-x86-64 assembler generates R_X86_64_PLT32, instead of R_X86_64_PC32, for
-32-bit PC-relative branches.  Grub2 should treat R_X86_64_PLT32 as
-R_X86_64_PC32.
-
-Signed-off-by: H.J. Lu <hjl.tools@gmail.com>
-Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
-
-Origin: upstream, https://git.savannah.gnu.org/cgit/grub.git/commit/?id=842c390469e2c2e10b5aa36700324cd3bde25875
-Last-Update: 2018-07-30
-
-Patch-Name: R_X86_64_PLT32.patch
----
- grub-core/efiemu/i386/loadcore64.c | 1 +
- grub-core/kern/x86_64/dl.c         | 1 +
- util/grub-mkimagexx.c              | 1 +
- util/grub-module-verifier.c        | 1 +
- 4 files changed, 4 insertions(+)
-
-diff --git a/grub-core/efiemu/i386/loadcore64.c b/grub-core/efiemu/i386/loadcore64.c
-index e49d0b6ff..18facf47f 100644
---- a/grub-core/efiemu/i386/loadcore64.c
-+++ b/grub-core/efiemu/i386/loadcore64.c
-@@ -98,6 +98,7 @@ grub_arch_efiemu_relocate_symbols64 (grub_efiemu_segment_t segs,
-                   break;
-                 case R_X86_64_PC32:
-+                case R_X86_64_PLT32:
-                   err = grub_efiemu_write_value (addr,
-                                                  *addr32 + rel->r_addend
-                                                  + sym.off
-diff --git a/grub-core/kern/x86_64/dl.c b/grub-core/kern/x86_64/dl.c
-index 440690673..3a73e6e6c 100644
---- a/grub-core/kern/x86_64/dl.c
-+++ b/grub-core/kern/x86_64/dl.c
-@@ -70,6 +70,7 @@ grub_arch_dl_relocate_symbols (grub_dl_t mod, void *ehdr,
-         break;
-       case R_X86_64_PC32:
-+      case R_X86_64_PLT32:
-         {
-           grub_int64_t value;
-           value = ((grub_int32_t) *addr32) + rel->r_addend + sym->st_value -
-diff --git a/util/grub-mkimagexx.c b/util/grub-mkimagexx.c
-index e63f148e4..f20255a28 100644
---- a/util/grub-mkimagexx.c
-+++ b/util/grub-mkimagexx.c
-@@ -832,6 +832,7 @@ SUFFIX (relocate_addresses) (Elf_Ehdr *e, Elf_Shdr *sections,
-                 break;
-               case R_X86_64_PC32:
-+              case R_X86_64_PLT32:
-                 {
-                   grub_uint32_t *t32 = (grub_uint32_t *) target;
-                   *t32 = grub_host_to_target64 (grub_target_to_host32 (*t32)
-diff --git a/util/grub-module-verifier.c b/util/grub-module-verifier.c
-index 9179285a5..a79271f66 100644
---- a/util/grub-module-verifier.c
-+++ b/util/grub-module-verifier.c
-@@ -19,6 +19,7 @@ struct grub_module_verifier_arch archs[] = {
-       -1
-     }, (int[]){
-       R_X86_64_PC32,
-+      R_X86_64_PLT32,
-       -1
-     }
-   },
diff --git a/grub/patches/grub-2.02-fix-packed-not-aligned-error-on-gcc-8.patch b/grub/patches/grub-2.02-fix-packed-not-aligned-error-on-gcc-8.patch
deleted file mode 100644 (file)
index 51ee7dc..0000000
+++ /dev/null
@@ -1,72 +0,0 @@
-From 563b1da6e6ae7af46cc8354cadb5dab416989f0a Mon Sep 17 00:00:00 2001
-From: Michael Chang <mchang@suse.com>
-Date: Mon, 26 Mar 2018 16:52:34 +0800
-Subject: Fix packed-not-aligned error on GCC 8
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-When building with GCC 8, there are several errors regarding packed-not-aligned.
-
-./include/grub/gpt_partition.h:79:1: error: alignment 1 of â€˜struct grub_gpt_partentry’ is less than 8 [-Werror=packed-not-aligned]
-
-This patch fixes the build error by cleaning up the ambiguity of placing
-aligned structure in a packed one. In "struct grub_btrfs_time" and "struct
-grub_gpt_part_type", the aligned attribute seems to be superfluous, and also
-has to be packed, to ensure the structure is bit-to-bit mapped to the format
-laid on disk. I think we could blame to copy and paste error here for the
-mistake. In "struct efi_variable", we have to use grub_efi_packed_guid_t, as
-the name suggests. :)
-
-Signed-off-by: Michael Chang <mchang@suse.com>
-Tested-by: Michael Chang <mchang@suse.com>
-Tested-by: Paul Menzel <paulepanter@users.sourceforge.net>
-Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
----
- grub-core/fs/btrfs.c          | 2 +-
- include/grub/efiemu/runtime.h | 2 +-
- include/grub/gpt_partition.h  | 2 +-
- 3 files changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/grub-core/fs/btrfs.c b/grub-core/fs/btrfs.c
-index 4849c1c..be19544 100644
---- a/grub-core/fs/btrfs.c
-+++ b/grub-core/fs/btrfs.c
-@@ -175,7 +175,7 @@ struct grub_btrfs_time
- {
-   grub_int64_t sec;
-   grub_uint32_t nanosec;
--} __attribute__ ((aligned (4)));
-+} GRUB_PACKED;
- struct grub_btrfs_inode
- {
-diff --git a/include/grub/efiemu/runtime.h b/include/grub/efiemu/runtime.h
-index 9b6b729..36d2ded 100644
---- a/include/grub/efiemu/runtime.h
-+++ b/include/grub/efiemu/runtime.h
-@@ -29,7 +29,7 @@ struct grub_efiemu_ptv_rel
- struct efi_variable
- {
--  grub_efi_guid_t guid;
-+  grub_efi_packed_guid_t guid;
-   grub_uint32_t namelen;
-   grub_uint32_t size;
-   grub_efi_uint32_t attributes;
-diff --git a/include/grub/gpt_partition.h b/include/grub/gpt_partition.h
-index 1b32f67..9668a68 100644
---- a/include/grub/gpt_partition.h
-+++ b/include/grub/gpt_partition.h
-@@ -28,7 +28,7 @@ struct grub_gpt_part_type
-   grub_uint16_t data2;
-   grub_uint16_t data3;
-   grub_uint8_t data4[8];
--} __attribute__ ((aligned(8)));
-+} GRUB_PACKED;
- typedef struct grub_gpt_part_type grub_gpt_part_type_t;
- #define GRUB_GPT_PARTITION_TYPE_EMPTY \
--- 
-cgit v1.0-41-gc330
-
diff --git a/grub/patches/grub-2.02-xfs-accept-filesystem-with-sparse-inodes.patch b/grub/patches/grub-2.02-xfs-accept-filesystem-with-sparse-inodes.patch
deleted file mode 100644 (file)
index 6c6a750..0000000
+++ /dev/null
@@ -1,60 +0,0 @@
-From cda0a857dd7a27cd5d621747464bfe71e8727fff Mon Sep 17 00:00:00 2001
-From: Daniel Kiper <daniel.kiper@oracle.com>
-Date: Tue, 29 May 2018 16:16:02 +0200
-Subject: xfs: Accept filesystem with sparse inodes
-
-The sparse inode metadata format became a mkfs.xfs default in
-xfsprogs-4.16.0, and such filesystems are now rejected by grub as
-containing an incompatible feature.
-
-In essence, this feature allows xfs to allocate inodes into fragmented
-freespace.  (Without this feature, if xfs could not allocate contiguous
-space for 64 new inodes, inode creation would fail.)
-
-In practice, the disk format change is restricted to the inode btree,
-which as far as I can tell is not used by grub.  If all you're doing
-today is parsing a directory, reading an inode number, and converting
-that inode number to a disk location, then ignoring this feature
-should be fine, so I've added it to XFS_SB_FEAT_INCOMPAT_SUPPORTED
-
-I did some brief testing of this patch by hacking up the regression
-tests to completely fragment freespace on the test xfs filesystem, and
-then write a large-ish number of inodes to consume any existing
-contiguous 64-inode chunk.  This way any files the grub tests add and
-traverse would be in such a fragmented inode allocation.  Tests passed,
-but I'm not sure how to cleanly integrate that into the test harness.
-
-Signed-off-by: Eric Sandeen <sandeen@redhat.com>
-Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
-Tested-by: Chris Murphy <lists@colorremedies.com>
----
- grub-core/fs/xfs.c | 11 ++++++++++-
- 1 file changed, 10 insertions(+), 1 deletion(-)
-
-diff --git a/grub-core/fs/xfs.c b/grub-core/fs/xfs.c
-index c6031bd..3b00c74 100644
---- a/grub-core/fs/xfs.c
-+++ b/grub-core/fs/xfs.c
-@@ -79,9 +79,18 @@ GRUB_MOD_LICENSE ("GPLv3+");
- #define XFS_SB_FEAT_INCOMPAT_SPINODES   (1 << 1)        /* sparse inode chunks */
- #define XFS_SB_FEAT_INCOMPAT_META_UUID  (1 << 2)        /* metadata UUID */
--/* We do not currently verify metadata UUID so it is safe to read such filesystem */
-+/*
-+ * Directory entries with ftype are explicitly handled by GRUB code.
-+ *
-+ * We do not currently read the inode btrees, so it is safe to read filesystems
-+ * with the XFS_SB_FEAT_INCOMPAT_SPINODES feature.
-+ *
-+ * We do not currently verify metadata UUID, so it is safe to read filesystems
-+ * with the XFS_SB_FEAT_INCOMPAT_META_UUID feature.
-+ */
- #define XFS_SB_FEAT_INCOMPAT_SUPPORTED \
-       (XFS_SB_FEAT_INCOMPAT_FTYPE | \
-+       XFS_SB_FEAT_INCOMPAT_SPINODES | \
-        XFS_SB_FEAT_INCOMPAT_META_UUID)
- struct grub_xfs_sblock
--- 
-cgit v1.0-41-gc330
-
diff --git a/grub/patches/grub-2.02_disable_vga_fallback.patch b/grub/patches/grub-2.02_disable_vga_fallback.patch
deleted file mode 100644 (file)
index 0cf30cf..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-We have to remove the vga fallback because this not work on bay-trail and other
-new intel onboard graphics.
-
-diff -Naur grub-2.02.org/grub-core/video/i386/pc/vga.c grub-2.02/grub-core/video/i386/pc/vga.c
---- grub-2.02.org/grub-core/video/i386/pc/vga.c        2015-05-21 17:50:29.000000000 +0200
-+++ grub-2.02/grub-core/video/i386/pc/vga.c    2018-04-15 22:24:41.686842878 +0200
-@@ -122,7 +122,7 @@
- {
-   grub_err_t err;
--  if ((width && width != VGA_WIDTH) || (height && height != 350 && height != 480))
-+//  if ((width && width != VGA_WIDTH) || (height && height != 350 && height != 480))
-     return grub_error (GRUB_ERR_UNKNOWN_DEVICE, "no matching mode found");
-   vga_height = height ? : 480;
diff --git a/gsettings-desktop-schemas/gsettings-desktop-schemas.nm b/gsettings-desktop-schemas/gsettings-desktop-schemas.nm
deleted file mode 100644 (file)
index b7a1a1d..0000000
+++ /dev/null
@@ -1,56 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = gsettings-desktop-schemas
-version    = %{ver_maj}.%{ver_min}
-ver_maj    = 3.20
-ver_min    = 0
-release    = 2
-
-groups     = System/Libraries
-url        = http://bugzilla.gnome.org/enter_bug.cgi?product=gsettings-desktop-schemas
-license    = LGPLv2+
-summary    = A collection of GSettings schemas
-
-description
-       gsettings-desktop-schemas contains a collection of GSettings schemas for
-       settings shared by various components of a desktop.
-end
-
-source_dl  = http://download.gnome.org/sources/%{name}/%{ver_maj}/
-sources    = %{thisapp}.tar.xz
-
-build
-       requires
-               glib2 >= 2.31.0
-               gobject-introspection-devel
-               intltool >= 0.50.1
-       end
-
-       configure_options += \
-               --disable-schemas-compile \
-               --enable-introspection=yes
-
-       make_build_targets += V=1
-end
-
-packages
-       package %{name}
-               script posttransin
-                       glib-compile-schemas %{datadir}/glib-2.0/schemas &> /dev/null || :
-               end
-
-               script postun
-                       glib-compile-schemas %{datadir}/glib-2.0/schemas &> /dev/null || :
-               end
-       end
-
-       package %{name}-devel
-               template DEVEL
-
-               files += \
-                       %{datadir}/gir*/
-       end
-end
diff --git a/gssdp/patches/gssdp-fixdso.patch b/gssdp/patches/gssdp-fixdso.patch
deleted file mode 100644 (file)
index 597e41e..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
---- gssdp-0.7.2/tests/Makefile.in.orig 2010-04-09 13:55:16.000000000 +0100
-+++ gssdp-0.7.2/tests/Makefile.in      2010-04-09 18:07:19.357276589 +0100
-@@ -129,7 +129,7 @@
- INTROSPECTION_SCANNER = @INTROSPECTION_SCANNER@
- INTROSPECTION_TYPELIBDIR = @INTROSPECTION_TYPELIBDIR@
- LD = @LD@
--LDFLAGS = @LDFLAGS@
-+LDFLAGS = @LDFLAGS@ -lgobject-2.0 -lglib-2.0
- LIBGSSDP_CFLAGS = @LIBGSSDP_CFLAGS@
- LIBGSSDP_LIBS = @LIBGSSDP_LIBS@
- LIBGTK_CFLAGS = @LIBGTK_CFLAGS@
diff --git a/gtk3/gtk3.nm b/gtk3/gtk3.nm
deleted file mode 100644 (file)
index ff81f6d..0000000
+++ /dev/null
@@ -1,89 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = gtk3
-version    = %{ver_major}.%{ver_minor}
-ver_major  = 3.20
-ver_minor  = 0
-release    = 2
-
-groups     = System/Libraries
-url        = http://www.gtk.org
-license    = LGPLv2+
-summary    = The GIMP Toolkit, a library for creating GUIs for X.
-
-description
-       GTK+ is a multi-platform toolkit for creating graphical user
-       interfaces.
-end
-
-thisapp = gtk+-%{version}
-
-source_dl  = http://download.gnome.org/sources/gtk+/%{ver_major}/
-sources    = %{thisapp}.tar.xz
-
-build
-       requires
-               atk-devel >= 2.7.5
-               at-spi2-atk-devel
-               cairo-devel >= 1.14.0
-               cairo-gobject-devel >= 1.14.0
-               fontconfig-devel
-               gdk-pixbuf2-devel >= 2.30.0
-               gettext-devel >= 0.18.3
-               glib2-devel >= 2.35.3
-               gobject-introspection-devel >= 1.39.0
-               libepoxy-devel >= 1.0
-               libXi-devel
-               libXrandr-devel
-               libXrender-devel
-               libXfixes-devel
-               libXdamage-devel
-               pango-devel >= 1.37.3
-       end
-
-       export LD_LIBRARY_PATH = %{DIR_APP}/gdk/.libs:%{DIR_APP}/gtk/.libs
-
-       configure_options += \
-               --enable-x11-backend \
-               --enable-introspection=yes \
-               --disable-gtk2-dependency \
-               --disable-wayland-backend \
-               --disable-gtk-doc-html \
-               --disable-colord \
-               --disable-cups \
-               --disable-papi
-
-       install_cmds
-               # Remove unneeded files.
-               rm -rvf %{BUILDROOT}%{datadir}/gtk-3.0/demo
-               rm -rvf %{BUILDROOT}%{bindir}/*demo*
-       end
-end
-
-packages
-       package %{name}
-
-       package %{name}-libs
-               template LIBS
-       end
-
-       package %{name}-devel
-               template DEVEL
-
-               requires
-                       at-spi2-atk-devel
-                       atk-devel
-                       glib2-devel
-               end
-
-               files += \
-                       %{datadir}/gir*/
-       end
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
diff --git a/guile/guile.nm b/guile/guile.nm
deleted file mode 100644 (file)
index 75b3ae2..0000000
+++ /dev/null
@@ -1,62 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = guile
-version    = 2.2.4
-release    = 1
-
-groups     = Development/Tools
-url        = http://www.gnu.org/software/guile/
-license    = GPLv2+ and LGPLv2+ and GFDL and OFSFDL
-summary    = A GNU implementation of Scheme for application extensibility.
-
-description
-       GUILE (GNU's Ubiquitous Intelligent Language for Extension) is a library
-       implementation of the Scheme programming language, written in C. GUILE
-       provides a machine-independent execution platform that can be linked in
-       as a library during the building of extensible programs.
-end
-
-source_dl  = https://ftp.gnu.org/gnu/%{name}/
-
-build
-       requires
-               gc-devel
-               gettext-devel
-               gmp-devel
-               libffi-devel >= 3.0.13
-               libtool-devel
-               libunistring-devel
-               readline-devel
-       end
-
-       configure_options += \
-               --disable-static \
-               --disable-error-on-warning
-
-       export LD_LIBRARY_PATH = %{DIR_APP}/libguile/.libs
-
-       test
-               make check
-       end
-end
-
-packages
-       package %{name}
-
-       package %{name}-devel
-               template DEVEL
-
-               requires
-                       gc-devel
-                       gmp-devel
-                       libtool-devel
-               end
-       end
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
diff --git a/gupnp-igd/gupnp-igd.nm b/gupnp-igd/gupnp-igd.nm
deleted file mode 100644 (file)
index d561246..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = gupnp-igd
-version    = %{ver_maj}.%{ver_min}
-ver_maj    = 0.2
-ver_min    = 4
-release    = 1
-
-groups     = System/Libraries
-url        = http://www.gupnp.org
-license    = LGPL
-summary    = gupnp - Internet Gateway device implementation (Microsoft)
-
-description
-       This is a library to handle Internet Gateway Device port mappings.
-end
-
-source_dl  = https://download.gnome.org/sources/%{name}/%{ver_maj}/
-sources    = %{thisapp}.tar.xz
-
-build
-       requires
-               gssdp-devel
-               gupnp-devel
-               libsoup-devel
-       end
-
-       configure_options += \
-               --without-gnome
-end
-
-packages
-       package %{name}
-
-       package %{name}-devel
-               template DEVEL
-       end
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
diff --git a/gupnp/gupnp.nm b/gupnp/gupnp.nm
deleted file mode 100644 (file)
index 4f51020..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = gupnp
-version    = %{ver_major}.%{ver_minor}
-ver_major  = 1.0
-ver_minor  = 1
-release    = 1
-
-groups     = System/Libraries
-url        = http://www.gupnp.org
-license    = LGPL
-summary    = An UPNP framework.
-
-description
-       GUPnP is an object-oriented open source framework for creating UPnP\
-       devices and control points, written in C using GObject and libsoup.\
-       The GUPnP API is intended to be easy to use, efficient and flexible.
-end
-
-source_dl  = https://download.gnome.org/sources/%{name}/%{ver_major}/
-sources    = %{thisapp}.tar.xz
-
-build
-       requires
-               glib2-devel
-               gssdp-devel >= 0.14.13
-               libsoup-devel >= 2.48
-               libuuid-devel
-               libxml2-devel
-       end
-
-       configure_options += \
-               --without-gnome
-end
-
-packages
-       package %{name}
-
-       package %{name}-devel
-               template DEVEL
-       end
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
index a75fe4448fc276a5650257cf5cc4a8b19bf1ae76..e9cb8de141a575fff8e23ce237d4c1a0ab5b73ce 100644 (file)
@@ -4,11 +4,11 @@
 ###############################################################################
 
 name       = gzip
-version    = 1.8
+version    = 1.13
 release    = 1
 
 groups     = Applications/Compression
-url        = http://www.gzip.org/
+url        = https://www.gnu.org/software/gzip/
 license    = GPLv2
 summary    = The GNU data compression program.
 
@@ -17,7 +17,7 @@ description
        program. Gzipped files have a .gz extension.
 end
 
-source_dl  = ftp://ftp.gnu.org/gnu/%{name}/
+source_dl  = https://ftp.gnu.org/gnu/%{name}/
 
 build
        requires
@@ -29,9 +29,9 @@ build
        end
 
        # NO_ASM is for textrels.
-       configure_options += \
-               DEFS=NO_ASM \
-               CPPFLAGS="-DHAVE_LSTAT"
+       ##configure_options += \
+       #       DEFS=NO_ASM \
+       #       CPPFLAGS="-DHAVE_LSTAT"
 
        test
                make check
@@ -40,8 +40,6 @@ end
 
 packages
        package %{name}
-               groups += Base Build
-
                provides
                        /bin/gunzip
                        /bin/gzip
index 709bd684e2ddc30cac6609571f2d95fa7df1b192..e5f9c93dae1bc05226d56e3aadfdc1810ec75e57 100644 (file)
@@ -4,35 +4,38 @@
 ###############################################################################
 
 name       = harfbuzz
-version    = 1.2.4
+version    = 5.3.1
 release    = 2
 
 groups     = System/Libraries
-url        = http://freedesktop.org/wiki/Software/HarfBuzz
+url        = https://freedesktop.org/wiki/Software/HarfBuzz
 license    = MIT
-summary    = A text shaping library.
+summary    = A text shaping library
 
 description
        HarfBuzz is an implementation of the OpenType Layout engine.
 end
 
-source_dl  = http://www.freedesktop.org/software/harfbuzz/release/
-sources    = %{thisapp}.tar.bz2
+source_dl  = https://github.com/harfbuzz/harfbuzz/releases/download/%{version}/
+sources    = %{thisapp}.tar.xz
 
 build
        requires
                cairo-devel
                freetype-devel
                glib2-devel
+               gobject-introspection-devel
                icu-devel
        end
 
        configure_options += \
-               --disable-static
+               --disable-static \
+               --with-gobject
+
+       export LD_LIBRARY_PATH=%{DIR_APP}/src/.libs
 
        test
-               export LD_LIBRARY_PATH=$(pwd)/src/.libs
-               make check
+               make check || :
        end
 end
 
index 0522146f40679db564895fabdee2c2d580b71a31..90d150afaf6f80eebf07ba3a8574ae67901a4810 100644 (file)
@@ -4,11 +4,11 @@
 ###############################################################################
 
 name       = hdparm
-version    = 9.48
-release    = 2
+version    = 9.65
+release    = 1
 
 groups     = Applications/Hardware
-url        = http://sourceforge.net/projects/hdparm/
+url        = https://sourceforge.net/projects/hdparm/
 license    = BSD
 summary    = A utility for displaying and/or setting hard disk parameters.
 
@@ -18,7 +18,7 @@ description
        performance and to spin down hard drives for power conservation.
 end
 
-source_dl  = http://sourceforge.net/projects/%{name}/files/%{name}/
+source_dl  = https://sourceforge.net/projects/%{name}/files/%{name}/
 
 build
        build
@@ -33,8 +33,6 @@ end
 
 packages
        package %{name}
-               groups += Base
-       end
 
        package %{name}-debuginfo
                template DEBUGINFO
index 1bb5cd25fdaf212d7d893b69e45a30ebb0df90a8..4b3afa150988e2f2230b6eb1201632d40e40ffa6 100644 (file)
@@ -4,12 +4,11 @@
 ###############################################################################
 
 name       = help2man
-version    = 1.47.3
+version    = 1.49.3
 release    = 1
-arch       = noarch
 
 groups     = Development/Tools
-url        = http://www.gnu.org/software/help2man
+url        = https://www.gnu.org/software/help2man
 license    = GPLv3+
 summary    = Create simple man pages from --help output.
 
@@ -22,10 +21,12 @@ description
        still providing some useful information.
 end
 
-source_dl  = ftp://ftp.gnu.org/gnu/%{name}/
+source_dl  = https://ftp.gnu.org/gnu/help2man/
 sources    = %{thisapp}.tar.xz
 
 build
+       arches = noarch
+
        requires
                %{bindir}/perl
        end
index c4bc6861c002db447653730bc18155dac9310450..034314afc9eaffb4e679e4d4fe0c6c4dc4aba38b 100644 (file)
@@ -4,11 +4,11 @@
 ###############################################################################
 
 name       = hostapd
-version    = 2.8
+version    = 2.10
 release    = 1
 
 groups     = Networking/Tools
-url        = http://hostap.epitest.fi/hostapd/
+url        = https://w1.fi/hostapd/
 license    = GPLv2+
 summary    = User space daemon to create Wifi Access points.
 
@@ -19,12 +19,12 @@ description
        RADIUS authentication server.
 end
 
-source_dl  = http://hostap.epitest.fi/releases/
+source_dl  = https://w1.fi/releases/
 
 build
        requires
                libnl3-devel
-               openssl-devel
+               openssl-devel >= 1.1.1
        end
 
        prepare_cmds
index c23a4d67ff40083cd522fcd0cacb253d7dce538c..faef8f96acb696e4c2f62400e4aecff10725d8dc 100644 (file)
@@ -4,11 +4,11 @@
 ###############################################################################
 
 name       = hostname
-version    = 3.15
+version    = 3.23
 release    = 1
 
 groups     = System Environment/Base
-url        = http://packages.qa.debian.org/h/hostname.html
+url        = https://packages.qa.debian.org/h/hostname.html
 license    = GPLv2+
 summary    = Utility to set/show the host name or domain name.
 
@@ -21,24 +21,20 @@ source_dl  = http://ftp.de.debian.org/debian/pool/main/h/hostname/
 sources    = %{name}_%{version}.tar.gz
 
 build
-       DIR_APP = %{DIR_SRC}/%{name}
+       requires
+               rpcsvc-proto-devel
+       end
 
-       make_build_targets += \
-               CFLAGS="%{CFLAGS}"
+       DIR_APP = %{DIR_SRC}/%{name}
 
        make_install_targets += \
-               BASEDIR=%{BUILDROOT} \
-               BINDIR=%{bindir}
+               BASEDIR="%{BUILDROOT}" \
+               BINDIR="%{bindir}" \
+               MANDIR="%{mandir}"
 end
 
 packages
        package %{name}
-               groups += Base
-       end
-
-       conflicts
-               net-tools < 2.0
-       end
 
        package %{name}-debuginfo
                template DEBUGINFO
index 03e9d8faf878f260e14e7b5ce293efaa22c33460..57b62a0354861d6356bfdd507bbcf990dd51c00f 100644 (file)
@@ -4,24 +4,28 @@
 ###############################################################################
 
 name       = htop
-version    = 2.2.0
+version    = 3.2.2
 release    = 1
 
 groups     = Applications/System
-url        = http://htop.sourceforge.net/
-license    = GPL+
-summary    = Interactive process viewer.
+url        = https://htop.dev/
+license    = GPLv2
+summary    = Interactive process viewer
 
 description
        htop is an interactive text-mode process viewer for Linux, similar to
        top(1).
 end
 
-source_dl  = http://sourceforge.net/projects/%{name}/files/%{name}/%{version}/
-source_dl += http://hisham.hm/htop/releases/%{version}/
+source_dl = https://github.com/htop-dev/htop/releases/download/%{version}/
+sources   = %{thisapp}.tar.xz
 
 build
        requires
+               libcap-devel
+               libnl3-devel
+               libunwind-devel
+               lm-sensors-devel
                ncurses-devel
        end
 
@@ -32,7 +36,10 @@ end
 
 packages
        package %{name}
-               groups += Base
+               # This package should be installed in the default system
+               supplements
+                       ipfire-release
+               end
        end
 
        package %{name}-debuginfo
index 36678e4e6ae175fc66f99f0457cfdafc6a414287..46ef8c4837cda763b1666a740744ff3af2b38730 100644 (file)
@@ -4,31 +4,25 @@
 ###############################################################################
 
 name       = hwdata
-version    = 0.287
+version    = 0.366
 release    = 1
-arch       = noarch
 
-groups     = Base System/Base
-url        = http://git.fedorahosted.org/git/hwdata.git
+groups     = System/Base
+url        = https://github.com/vcrhonek/hwdata
 license    = GPLv2+ and LGPLv2+
-summary    = Hardware identification and configuration data.
+summary    = Hardware identification and configuration data
 
 description
-       hwdata contains various hardware identification and configuration data, \
+       hwdata contains various hardware identification and configuration data,
        such as the pci.ids database and MonitorsDb databases.
 end
 
-source_dl  = https://git.fedorahosted.org/cgit/hwdata.git/snapshot/
-sources    = %{thisapp}.tar.gz
+source_dl  = https://github.com/vcrhonek/hwdata/archive/v%{version}.tar.gz#/
 
 build
-       requires
-               git
-       end
+       arches = noarch
 end
 
 packages
        package %{name}
-               requires = module-init-tools
-       end
 end
diff --git a/hwloc/hwloc.nm b/hwloc/hwloc.nm
new file mode 100644 (file)
index 0000000..1583947
--- /dev/null
@@ -0,0 +1,68 @@
+###############################################################################
+# IPFire.org    - An Open Source Firewall Solution                            #
+# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
+###############################################################################
+
+name       = hwloc
+version    = %{ver_maj}.3
+ver_maj    = 2.9
+release    = 1
+
+groups     = System/Libraries
+url        = https://www.open-mpi.org/projects/hwloc/
+license    = BSD
+summary    = Portable Hardware Locality
+
+description
+       The Portable Hardware Locality (hwloc) software package provides
+       a portable abstraction (across OS, versions, architectures, ...)
+       of the hierarchical topology of modern architectures, including NUMA
+       memory nodes, sockets, shared caches, cores and simultaneous
+       multithreading. It also gathers various system attributes such as
+       cache and memory information as well as the locality of I/O devices
+       such as network interfaces, InfiniBand HCAs or GPUs.
+end
+
+source_dl  = https://download.open-mpi.org/release/hwloc/v%{ver_maj}
+
+build
+       requires
+               cairo-devel
+               diffutils
+               libpciaccess-devel
+               libtool
+               libudev-devel
+               libxml2-devel
+               pciutils
+       end
+
+       configure_options += \
+               --enable-plugins
+
+       # Disable the gather-topology test which fails in the build environment
+       export HWLOC_TEST_GATHER_TOPOLOGY=0
+
+       test
+               make check LD_LIBRARY_PATH="%{DIR_APP}/hwloc/.libs"
+       end
+end
+
+packages
+       package %{name}
+
+       package %{name}-libs
+               template LIBS
+       end
+
+       package %{name}-devel
+               template DEVEL
+
+               requires
+                       hwloc-libs = %{thisver}
+               end
+       end
+
+       package %{name}-debuginfo
+               template DEBUGINFO
+       end
+end
index a973672ef356f58430d6bebdcfec33c7f417448f..793a5729f0bff60ce1e7f6391141e749975575aa 100644 (file)
@@ -4,11 +4,8 @@
 ###############################################################################
 
 name       = hyperscan
-version    = 5.1.0
-release    = 3
-
-# This won't build on any architectures but those
-sup_arches = x86_64 i686
+version    = 5.4.0
+release    = 1.1
 
 groups     = System/Libraries
 url        = https://github.com/intel/hyperscan
@@ -29,6 +26,9 @@ end
 source_dl  = https://github.com/intel/hyperscan/archive/v%{version}.tar.gz#/
 
 build
+       # This package only supports x86_64
+       arches = x86_64
+
        requires
                boost-devel >= 1.57
                cmake
@@ -38,8 +38,12 @@ build
                sqlite-devel
        end
 
+       # Disable LTO
+       LTO_CFLAGS =
+
        build
                %{cmake} . \
+                       -DBUILD_SHARED_LIBS:BOOL=ON \
                        -DBUILD_STATIC_AND_SHARED:BOOL=OFF
 
                make %{PARALLELISMFLAGS}
diff --git a/hyperscan/patches/hyperscan-5.4.0-build_wrapper_fix.patch0 b/hyperscan/patches/hyperscan-5.4.0-build_wrapper_fix.patch0
new file mode 100644 (file)
index 0000000..e6e91c4
--- /dev/null
@@ -0,0 +1,11 @@
+--- cmake/build_wrapper_orig.sh        2021-08-11 11:53:31.365377531 -0400
++++ cmake/build_wrapper.sh     2021-08-11 11:54:03.003069431 -0400
+@@ -17,7 +17,7 @@
+ LIBC_SO=$("$@" --print-file-name=libc.so.6)
+ cp ${KEEPSYMS_IN} ${KEEPSYMS}
+ # get all symbols from libc and turn them into patterns
+-nm -f p -g -D ${LIBC_SO} | sed -s 's/\([^ ]*\).*/^\1$/' >> ${KEEPSYMS}
++nm -f p -g -D ${LIBC_SO} | sed -s 's/\([^ @]*\).*/^\1$/' >> ${KEEPSYMS}
+ # build the object
+ "$@"
+ # rename the symbols in the object
index 39b7b8339c01f17e4c598accf43e17563138543a..dea5445b3978eaf8627fab5999b9b1f55842fd68 100644 (file)
@@ -5,7 +5,7 @@
 
 name       = icu
 version    = %{ver_major}.%{ver_minor}
-ver_major  = 56
+ver_major  = 72
 ver_minor  = 1
 ver_plevel =
 release    = 1
@@ -19,7 +19,7 @@ description
        Tools and utilities for developing with icu.
 end
 
-source_dl  = http://download.icu-project.org/files/icu4c/%{version}/
+source_dl  = https://github.com/unicode-org/icu/releases/download/release-%{ver_major}-%{ver_minor}/
 sources    = icu4c-%{ver_major}_%{ver_minor}-src.tgz
 
 build
diff --git a/iftop/iftop.nm b/iftop/iftop.nm
deleted file mode 100644 (file)
index 5f77d04..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = iftop
-version    = 1.0
-preversion = pre4
-release    = 0.%{preversion}.1
-thisapp    = %{name}-%{version}%{preversion}
-
-groups     = Applications/System
-url        = http://www.ex-parrot.com/pdw/iftop/
-license    = GPL+
-summary    = Interactive traffic listings
-
-description
-       iftop is an interactive text-mode traffic viewer for Linux.
-end
-
-source_dl  = http://www.ex-parrot.com/pdw/iftop/download/
-sources    = %{thisapp}.tar.gz
-
-build
-       requires
-               libpcap-devel
-               ncurses-devel
-       end
-end
-
-packages
-       package %{name}
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
index 12e842c56b09bd153772ee0191867deea344e11c..208229db1fd48e648d0ed01ab4f4570d624d70aa 100644 (file)
@@ -4,11 +4,11 @@
 ###############################################################################
 
 name       = igmpproxy
-version    = 0.1
+version    = 0.4
 release    = 1
 
 groups     = Networking/Routing
-url        = http://sourceforge.net/projects/igmpproxy/
+url        = https://github.com/pali/igmpproxy
 license    = GPLv2+
 summary    = A proxy for IGMP.
 
@@ -18,16 +18,24 @@ description
        between networks.
 end
 
-source_dl  =
+source_dl  = https://github.com/pali/%{name}/archive/refs/tags/%{version}.tar.gz#/
 
 build
+       requires
+               autoconf
+               automake
+       end
+
        configure_options += \
-               --sysconfdir=/etc
+               --sysconfdir=%{sysconfdir}
+
+       prepare_cmds
+               ./autogen.sh
+       end
 end
 
 packages
        package %{name}
-       end
 
        package %{name}-debuginfo
                template DEBUGINFO
index a8ad505dc188b995260b7350d1d56ea6cf2c9229..0f9b37b786efb27a3d81285df73e59b0380e6d85 100644 (file)
@@ -4,9 +4,8 @@
 ###############################################################################
 
 name       = initscripts
-epoch      = 1
 version    = 2.99
-release    = 19
+release    = 20
 
 groups     = System/Boot
 url        =
index c357d6edb68baf48b4b698a0598730a0177d47b0..43427c4af960bdb219be8a17378cbd52348468ab 100644 (file)
@@ -11,7 +11,7 @@ clean:
        rm -vf $(PROGS) *.o
 
 test: ipcalc
-       ./ipcalc-tests
+       $(SHELL) ipcalc-tests
 
 install: $(PROGS)
        # Install binaries
index 1232a9311ddd367fd442d727167879149e1835d4..c0454d7310ec5f0ceefb73c0735c15c8699409ff 100644 (file)
@@ -4,9 +4,8 @@
 ###############################################################################
 
 name       = intel-microcode
-version    = 20190618
-release    = 1
-arch       = noarch
+version    = 20221108
+release    = 2
 thisapp    = microcode-%{version}
 
 maintainer = Arne Fitzenreiter <arne.fitzenreiter@ipfire.org>
@@ -23,6 +22,8 @@ end
 source_dl  = https://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files/archive/
 
 build
+       arches = noarch
+
        build
                : # Nothing to do.
        end
@@ -32,6 +33,10 @@ build
        install
                mkdir -pv %{BUILDROOT}%{prefix}/lib/firmware
                cp -prv intel-ucode %{BUILDROOT}%{prefix}/lib/firmware
+
+               # Set correct permissions for directories and firmware files.
+               find %{BUILDROOT}%{prefix}/lib/firmware -type d -exec chmod 755 {} \;
+               find %{BUILDROOT}%{prefix}/lib/firmware -type f -exec chmod 644 {} \;
        end
 end
 
index bedcc53a716762ac4177b837e6eb75b907d934c4..9aa17d151620f342cc0e1022f41780fd30019668 100644 (file)
@@ -6,7 +6,6 @@
 name       = intltool
 version    = 0.51.0
 release    = 2
-arch       = noarch
 
 groups     = Localization/Tools
 url        = https://launchpad.net/intltool
@@ -22,6 +21,8 @@ end
 source_dl  = http://edge.launchpad.net/intltool/trunk/%{version}/+download/
 
 build
+       arches = noarch
+
        requires
                expat-devel
                gettext
index 97db91fb36659ce59e81f153842e556e8a423968..f0eed09e6e888e58498ac3094046b344f177f21b 100644 (file)
@@ -4,11 +4,11 @@
 ###############################################################################
 
 name       = iperf
-version    = 2.0.13
+version    = 2.1.8
 release    = 1
 
 groups     = Applications/Internet
-url        = http://www.sourceforge.net/projects/iperf2/
+url        = https://www.sourceforge.net/projects/iperf2/
 license    = GPLv3+ and LGPLv3+
 summary    = Measurement tool for TCP/UDP bandwidth performance
 
index 654a4653f3d96601a0581ccfeacec3d29016a8c0..8923439280f6839732f11ec16b8e3497e2dab63d 100644 (file)
@@ -4,7 +4,7 @@
 ###############################################################################
 
 name       = iperf3
-version    = 3.7
+version    = 3.12
 release    = 1
 thisapp    = iperf-%{version}
 
@@ -27,6 +27,7 @@ sources   = %{thisapp}.tar.gz
 build
        requires
                gcc-c++
+               openssl-devel
        end
 end
 
index 9c18f2edaffdd8078bb576a8aaec21574a3f7e42..553aac085fd7cb50ded4e89b922158698512b4d0 100644 (file)
@@ -4,13 +4,11 @@
 ###############################################################################
 
 name       = ipfire-logos
-version    = 3
-release    = 2
-arch       = noarch
+version    = 4
+release    = 1
 
 maintainer = Michael Tremer <michael.tremer@ipfire.org>
-groups     = Base System/Base
-url        = http://www.ipfire.org
+url        = https://www.ipfire.org
 license    =
 summary    = IPFire logos and images.
 
@@ -19,9 +17,11 @@ description
        IPFire distribution.
 end
 
-source_dl  = http://source.ipfire.org/releases/%{name}/
+source_dl  = https://source.ipfire.org/releases/%{name}/
 
 build
+       arches = noarch
+
        requires
                ImageMagick
                ghostscript
index fef6bf73ada709606b8c805817b47e8bb4c818dc..e1b4f1eb6a2c9fee7af249ea2d6eaf99b840566c 100644 (file)
@@ -14,18 +14,16 @@ DISTRO_COLOR    = 0;31
 
 name       = %{DISTRO_SNAME}-release
 version    = %{DISTRO_VERSION}
-release    = 5
-epoch      = 3
-arch       = noarch
+release    = 10
 
 maintainer = Michael Tremer <michael.tremer@ipfire.org>
 groups     = Base Build System/Base
-url        = http://www.ipfire.org
+url        = https://www.ipfire.org
 license    =
-summary    = %{DISTRO_NAME} release files.
+summary    = %{DISTRO_NAME} release files
 
 description
-       %{DISTRO_NAME} release files such as pakfire configs and various /etc/ \
+       %{DISTRO_NAME} release files such as pakfire configs and various /etc/
        files that define the release.
 end
 
@@ -33,6 +31,8 @@ end
 sources    =
 
 build
+       arches = noarch
+
        prepare = # Do nothing
        build = # Do nothing
 
@@ -76,5 +76,89 @@ packages
                        /etc/hostname
                        /etc/pakfire/repos
                end
+
+               requires
+                       pakfire
+               end
+
+               recommends
+                       # Editors & Pagers
+                       nano
+                       less
+                       vim
+
+                       # System Stuff
+                       coreutils
+                       htop
+                       man
+                       mc
+                       procps-ng
+                       psmisc
+                       shadow-utils
+                       sudo
+                       tmux
+                       util-linux
+
+                       # Hardware Stuff
+                       dmidecode
+                       hdparm
+                       smartmontools
+                       pciutils
+                       usbutils
+
+                       # Network Stuff
+                       ethtool
+                       iproute2
+                       iputils
+                       mtr
+                       openssh
+                       tcpdump
+               end
+       end
+
+       package %{name}-build
+               provides = build-essential
+
+               summary = IPFire Build Dependencies
+
+               description
+                       This package is installed by default in the build environment
+                       and installs a number of basic tools for builds.
+               end
+
+               requires
+                       # Various default tools
+                       bash
+                       bzip2
+                       ccache
+                       coreutils
+                       diffutils
+                       file
+                       filesystem
+                       findutils
+                       gawk
+                       gettext
+                       gcc
+                       grep
+                       gzip
+                       hostname
+                       kernel-headers
+                       less
+                       libtool
+                       lzip
+                       make
+                       patch
+                       pkg-config
+                       sed
+                       setup
+                       shadow-utils
+                       tar
+                       util-linux
+                       vim
+                       which
+                       xz
+               end
+
+               files = # empty package
        end
 end
index d8f86fc6af3e47cf6c80811258464a81e4e743d9..b9f7ee0d34b86e0582eabd6b7e42cedfd5c014b9 100644 (file)
@@ -1,5 +1,8 @@
 [repo:stable]
-description = IPFire 3 - Stable repository.
-enabled = 1
-baseurl = http://pakfire.ipfire.org/repositories/ipfire3/stable/%{arch}
-mirrors = https://pakfire.ipfire.org/distro/ipfire3/repo/stable/mirrorlist?arch=%{arch}
+description = IPFire 3 - stable
+baseurl = https://pakfire.ipfire.org/files/repos/ipfire-3/stable/%{arch}
+key = untrusted comment: IPFire 3 - stable
+       RWTbyeq8zRxmh8VJCRaXtnSlHCKp+tk7+wjNGpJ53jkP5Dz8j8GWxxOt
+priority = 1000
+refresh = 6h
+#mirrors = https://pakfire.ipfire.org/distros/ipfire-3/repos/stable/mirrorlist?arch=%{arch}
index a1bbb26ea564aa78be6217cf07f6ef34c31f72e2..1d8c678e41e4104f7d546b036e044abec54883db 100644 (file)
@@ -1,5 +1,7 @@
 [repo:testing]
-description = IPFire 3 - This is a repository for testing stuff.
-enabled = 0
-baseurl = http://pakfire.ipfire.org/repositories/ipfire3/testing/%{arch}
-mirrors = https://pakfire.ipfire.org/distro/ipfire3/repo/testing/mirrorlist?arch=%{arch}
+description = IPFire 3 - testing
+baseurl = https://pakfire.ipfire.org/files/repos/ipfire-3/testing/%{arch}
+key = untrusted comment: IPFire 3 - testing
+       RWRe8hKvJ0Kw4cpDHpmW7eMQ/i5rAYQnOHiqBcYgBGjTrkbrwneCbM7X
+priority = 500
+refresh = 10m
diff --git a/ipfire-release/repos/unstable.repo b/ipfire-release/repos/unstable.repo
deleted file mode 100644 (file)
index ce10590..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-[repo:unstable]
-description = IPFire 3 - Public unstable repository.
-enabled = 1
-baseurl = http://pakfire.ipfire.org/repositories/ipfire3/unstable/%{arch}
-mirrors = https://pakfire.ipfire.org/distro/ipfire3/repo/unstable/mirrorlist?arch=%{arch}
index 6582385e3f7f96178e06b2091aa7d38507954fcb..72024ac57b0c728bd0ec8a39b83665d9a067965d 100644 (file)
@@ -4,7 +4,7 @@
 ###############################################################################
 
 name       = iproute2
-version    = 4.18.0
+version    = 6.5.0
 release    = 1
 
 groups     = Networking/Tools
@@ -24,33 +24,20 @@ sources    = %{thisapp}.tar.xz
 build
        requires
                bison
+               elfutils-devel
                flex
-               libdb-devel
-               libnl-devel
-               linux-atm-devel >= 2.5.1
+               libcap-devel
+               libmnl-devel
+               libtirpc-devel
        end
 
        export RPM_OPT_FLAGS = %{CFLAGS} %{LDFLAGS}
        export LIBDIR = %{libdir}
        export SBINDIR = %{sbindir}
-       export IPT_LIB_DIR = %{libdir}/xtables
-
-       install_cmds
-               # libnetlink
-               install -v -m 644 include/libnetlink.h %{BUILDROOT}%{includedir}
-               install -v -m 644 lib/libnetlink.a %{BUILDROOT}%{libdir}
-       end
-
-       # Keep libnetlink.a
-       keep_libraries
-               %{libdir}/libnetlink.a
-       end
 end
 
 packages
        package %{name}
-               groups += Base
-
                configfiles = %{sysconfdir}/iproute2
        end
 
index 353ed316e1bfbddf4387ee396c1207d726029483..4e7fea29e26496bc0fa917b1de9f2b544bb48411 100644 (file)
@@ -4,11 +4,11 @@
 ###############################################################################
 
 name       = iptraf-ng
-version    = 1.1.3.1
-release    = 1
+version    = 1.2.1
+release    = 3
 
 groups     = Networking/Tools
-url        = https://fedorahosted.org/iptraf-ng/
+url        = https://github.com/iptraf-ng/iptraf-ng
 license    = GPLv2+
 summary    = A console-based network monitoring utility.
 
@@ -31,15 +31,22 @@ description
        on a wide variety of supported network cards.
 end
 
-source_dl  = https://fedorahosted.org/releases/i/p/iptraf-ng/
+source_dl  = https://github.com/iptraf-ng/iptraf-ng/archive/refs/tags/v%{version}.tar.gz#/
 
 build
        requires
                ncurses-devel
        end
 
+       make_build_targets += \
+               CFLAGS="%{CFLAGS}" \
+               LDFLAGS="%{LDFLAGS}"
+
+       make_install_targets += \
+               prefix=%{prefix}
+
        install_cmds
-               mkdir -pv %{BUILDROOT}%{localstatedir}/{lock,log,lib}/iptraf-ng
+               mkdir -pv %{BUILDROOT}%{localstatedir}/{log,lib}/iptraf-ng
        end
 end
 
diff --git a/iptraf-ng/patches/0001-token-ring-kernel-v3.5-kill-off-token-ring-support.patch b/iptraf-ng/patches/0001-token-ring-kernel-v3.5-kill-off-token-ring-support.patch
deleted file mode 100644 (file)
index e5c04cd..0000000
+++ /dev/null
@@ -1,128 +0,0 @@
-From 72512af1a3f1d55fff73cdfe7b63d9cfe8cc37ab Mon Sep 17 00:00:00 2001
-Message-Id: <72512af1a3f1d55fff73cdfe7b63d9cfe8cc37ab.1337783673.git.npajkovs@redhat.com>
-From: Nikola Pajkovsky <npajkovs@redhat.com>
-Date: Wed, 23 May 2012 16:32:27 +0200
-Subject: [PATCH] token-ring: kernel v3.5 kill off token-ring support
-
-Signed-off-by: Nikola Pajkovsky <npajkovs@redhat.com>
----
- src/hostmon.c          |   10 ----------
- src/iptraf-ng-compat.h |    1 -
- src/othptab.c          |    6 ------
- src/packet.c           |   27 ---------------------------
- src/tcptable.c         |    4 ----
- 5 files changed, 48 deletions(-)
-
-diff --git a/src/hostmon.c b/src/hostmon.c
-index 40a2b95..72b91f8 100644
---- a/src/hostmon.c
-+++ b/src/hostmon.c
-@@ -1004,16 +1004,6 @@ void hostmon(const struct OPTIONS *options, time_t facilitytime, char *ifptr,
-                                      FDDI_K_ALEN);
-                               list = flist;
-                               break; }
--                      case ARPHRD_IEEE802:
--                      case ARPHRD_IEEE802_TR: {
--                              struct trh_hdr *hdr_trh =
--                                      (struct trh_hdr *)pkt.pkt_buf;
--                              memcpy(scratch_saddr, hdr_trh->saddr,
--                                     TR_ALEN);
--                              memcpy(scratch_daddr, hdr_trh->daddr,
--                                     TR_ALEN);
--                              list = flist;
--                              break; }
-                       default:
-                               /* unknown link protocol */
-                               continue;
-diff --git a/src/iptraf-ng-compat.h b/src/iptraf-ng-compat.h
-index d5aee4a..2d9da96 100644
---- a/src/iptraf-ng-compat.h
-+++ b/src/iptraf-ng-compat.h
-@@ -39,7 +39,6 @@
- #include <linux/if_ether.h>
- #include <linux/if_packet.h>
- #include <linux/if_fddi.h>
--#include <linux/if_tr.h>
- #include <linux/types.h>
- #include <linux/isdn.h>
-diff --git a/src/othptab.c b/src/othptab.c
-index d12cdfd..1181eb1 100644
---- a/src/othptab.c
-+++ b/src/othptab.c
-@@ -193,12 +193,6 @@ struct othptabent *add_othp_entry(struct othptable *table, struct pkt_hdr *pkt,
-                                             saddr), new_entry->smacaddr);
-                       convmacaddr((char *) (((struct fddihdr *) packet)->
-                                             daddr), new_entry->dmacaddr);
--              } else if ((pkt->pkt_hatype == ARPHRD_IEEE802)
--                         || (pkt->pkt_hatype == ARPHRD_IEEE802_TR)) {
--                      convmacaddr((char *) (((struct trh_hdr *) packet)->
--                                            saddr), new_entry->smacaddr);
--                      convmacaddr((char *) (((struct trh_hdr *) packet)->
--                                            daddr), new_entry->dmacaddr);
-               }
-       }
-diff --git a/src/packet.c b/src/packet.c
-index a43a27a..f3e4304 100644
---- a/src/packet.c
-+++ b/src/packet.c
-@@ -51,24 +51,6 @@ static int in_cksum(u_short * addr, int len)
-       return (u_short) (~sum);
- }
--static unsigned int get_tr_ip_offset(char *pkt)
--{
--      struct trh_hdr *trh;
--      unsigned int riflen = 0;
--
--      trh = (struct trh_hdr *) pkt;
--
--      /*
--       * Check if this packet has TR routing information and get
--       * its length.
--       */
--      if (trh->saddr[0] & TR_RII)
--              riflen = (ntohs(trh->rcf) & TR_RCF_LEN_MASK) >> 8;
--
--      return sizeof(struct trh_hdr) - TR_MAXRIFLEN + riflen +
--          sizeof(struct trllc);
--}
--
- static int packet_adjust(struct pkt_hdr *pkt)
- {
-       int retval = 0;
-@@ -109,15 +91,6 @@ static int packet_adjust(struct pkt_hdr *pkt)
-               pkt->pkt_payload += sizeof(struct fddihdr);
-               pkt->pkt_len -= sizeof(struct fddihdr);
-               break;
--      case ARPHRD_IEEE802_TR:
--      case ARPHRD_IEEE802:
--              pkt->pkt_payload = pkt->pkt_buf;
--              /* Token Ring patch supplied by Tomas Dvorak */
--              /* Get the start of the IP packet from the Token Ring frame. */
--              unsigned int dataoffset = get_tr_ip_offset(pkt->pkt_payload);
--              pkt->pkt_payload += dataoffset;
--              pkt->pkt_len -= dataoffset;
--              break;
-       default:
-               /* return a NULL packet to signal an unrecognized link */
-               /* protocol to the caller.  Hopefully, this switch statement */
-diff --git a/src/tcptable.c b/src/tcptable.c
-index 56c4780..b0e5ccc 100644
---- a/src/tcptable.c
-+++ b/src/tcptable.c
-@@ -620,10 +620,6 @@ void updateentry(struct tcptable *table, struct tcptableent *tableentry,
-               } else if (linkproto == ARPHRD_FDDI) {
-                       convmacaddr((char *) (((struct fddihdr *) packet)->
-                                             saddr), newmacaddr);
--              } else if ((linkproto == ARPHRD_IEEE802)
--                         || (linkproto == ARPHRD_IEEE802_TR)) {
--                      convmacaddr((char *) (((struct trh_hdr *) packet)->
--                                            saddr), newmacaddr);
-               }
-               if (tableentry->smacaddr[0] != '\0') {
--- 
-1.7.10
-
index 402a1526955b90b9c804a8094ebb8b6ec340dc78..d94645446737ff828b287239aded3dbd13c05a41 100644 (file)
@@ -4,11 +4,11 @@
 ###############################################################################
 
 name       = iputils
-version    = s20140519
-release    = 1
+version    = 20221126
+release    = 2
 
 groups     = Networking/Tools
-url        = http://www.skbuff.net/iputils
+url        = https://www.skbuff.net/iputils
 license    = BSD
 summary    = Network monitoring tools including ping.
 
@@ -19,58 +19,48 @@ description
        the target machine is alive and receiving network traffic.
 end
 
-source_dl  = https://github.com/iputils/iputils/archive/%{version}.tar.gz#/
+source_dl  = https://github.com/iputils/iputils/archive/refs/tags/%{version}.tar.gz#/
 
 build
        requires
-               docbook-utils
+               gettext-devel
+               iproute2
                libcap-devel
-               libidn-devel
+               libidn2-devel
+               libxslt
+               meson
+               ninja
                openssl-devel
+               docbook-xsl <= 1.79.2
        end
 
-       # Generate manpages with docbook.
-       build_cmds
-               make -C doc man
+       build
+               %{meson}
+               %{meson_build}
        end
 
        install
-               mkdir -pv %{BUILDROOT}{%{bindir},%{sbindir}}
-               mkdir -pv %{BUILDROOT}%{mandir}/man8
+               %{meson_install}
 
-               install -cp clockdiff        %{BUILDROOT}%{sbindir}
-               install -cp arping           %{BUILDROOT}%{sbindir}
-               install -cp ping             %{BUILDROOT}%{bindir}
-               install -cp ping6            %{BUILDROOT}%{bindir}
-               install -cp tracepath        %{BUILDROOT}%{bindir}
-               install -cp tracepath6       %{BUILDROOT}%{bindir}
+               # Create ping6 as a symlink to ping
+               ln -svf ping %{BUILDROOT}%{bindir}/ping6
+               ln -svf ping.8 %{BUILDROOT}%{mandir}/man8/ping6.8
 
-               install -cp doc/clockdiff.8  %{BUILDROOT}%{mandir}/man8/
-               install -cp doc/arping.8     %{BUILDROOT}%{mandir}/man8/
-               install -cp doc/ping.8       %{BUILDROOT}%{mandir}/man8/
-               install -cp doc/rdisc.8      %{BUILDROOT}%{mandir}/man8/
-               install -cp doc/tracepath.8  %{BUILDROOT}%{mandir}/man8/
-
-               ln -svf ../bin/ping6         %{BUILDROOT}%{sbindir}
-               ln -svf ../bin/tracepath     %{BUILDROOT}%{sbindir}
-               ln -svf ../bin/tracepath6    %{BUILDROOT}%{sbindir}
-
-               ln -s ping.8                 %{BUILDROOT}%{mandir}/man8/ping6.8
-               ln -s tracepath.8            %{BUILDROOT}%{mandir}/man8/tracepath6.8
+               ln -svf tracepath %{BUILDROOT}%{bindir}/tracepath6
+               ln -svf tracepath.8 %{BUILDROOT}%{mandir}/man8/tracepath6.8
 
+               # Set capabilities
                setcap cap_net_admin=ep %{BUILDROOT}%{bindir}/ping
-               setcap cap_net_admin=ep %{BUILDROOT}%{bindir}/ping6
+               setcap cap_net_raw=ep %{BUILDROOT}%{bindir}/arping
        end
 end
 
 packages
        package %{name}
-               groups += Base
-
                provides
+                       /bin/arping
                        /bin/ping
                        /bin/ping6
-                       /sbin/arping
                end
        end
 
diff --git a/iputils/patches/iputils-ipfire.patch b/iputils/patches/iputils-ipfire.patch
deleted file mode 100644 (file)
index 7c0b0d1..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
---- iputils-s20140519-dist/Makefile    2014-05-19 23:35:28.000000000 +0200
-+++ iputils-s20140519-new/Makefile     2014-05-20 10:51:07.388527442 +0200
-@@ -26,7 +26,7 @@ USE_CAP=yes
- # sysfs support (with libsysfs - deprecated) [no|yes|static]
- USE_SYSFS=no
- # IDN support (experimental) [no|yes|static]
--USE_IDN=no
-+USE_IDN=yes
- # Do not use getifaddrs [no|yes|static]
- WITHOUT_IFADDRS=no
-@@ -34,7 +34,7 @@ WITHOUT_IFADDRS=no
- ARPING_DEFAULT_DEVICE=
- # GNU TLS library for ping6 [yes|no|static]
--USE_GNUTLS=yes
-+USE_GNUTLS=no
- # Crypto library for ping6 [shared|static|no]
- USE_CRYPTO=shared
- # Resolv library for ping6 [yes|static]
-@@ -49,7 +49,7 @@ ENABLE_RDISC_SERVER=no
- # What a pity, all new gccs are buggy and -Werror does not work. Sigh.
- # CFLAGS+=-fno-strict-aliasing -Wstrict-prototypes -Wall -Werror -g
- CFLAGS?=-O3 -g
--CFLAGS+=-fno-strict-aliasing -Wstrict-prototypes -Wall
-+CFLAGS+=$(RPM_OPT_FLAGS) -fno-strict-aliasing -Wstrict-prototypes -Wall -Werror
- CPPFLAGS+=-D_GNU_SOURCE
- LDLIB=
-@@ -188,6 +188,7 @@ tftpd.o tftpsubs.o: tftp.h
- # -------------------------------------
- # ninfod
-+ninfod: CFLAGS:=$(filter-out -Werror,$(CFLAGS))
- ninfod:
-       @set -e; \
-               if [ ! -f ninfod/Makefile ]; then \
diff --git a/iputils/patches/iputils-tracepath-doc.patch b/iputils/patches/iputils-tracepath-doc.patch
deleted file mode 100644 (file)
index abfbabd..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-commit 51aad205e5e8289b52241cd41b15e0f116c4442a
-Author: Jan Synacek <jsynacek@redhat.com>
-Date:   Tue May 20 11:17:00 2014 +0200
-
-    tracepath,doc: fix corrupted tag
-
-diff --git a/doc/tracepath.sgml b/doc/tracepath.sgml
-index 8048c80..756572f 100644
---- a/doc/tracepath.sgml
-+++ b/doc/tracepath.sgml
-@@ -69,7 +69,7 @@ Sets the initial packet length to <replaceable/pktlen/ instead of
-  </varlistentry>
-  <varlistentry>
--  <term><option/-m</term>
-+  <term><option>-m</option></term>
-   <listitem><para>
- Set maximum hops (or maximum TTLs) to <replaceable/max_hops/
- instead of 30.
diff --git a/ipvsadm/ipvsadm.nm b/ipvsadm/ipvsadm.nm
deleted file mode 100644 (file)
index c9caedd..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = ipvsadm
-version    = 1.28
-release    = 1
-
-groups     = Applications/System
-url        = http://www.linuxvirtualserver.org/software/ipvs.html
-license    = GPLv2+
-summary    = Utility to administer the Linux Virtual Server.
-
-description
-       ipvsadm is a utility to administer the IP Virtual Server services
-       offered by the Linux kernel.
-end
-
-source_dl  = https://kernel.org/pub/linux/utils/kernel/ipvsadm/
-
-build
-       requires
-               libnl3-devel
-               popt-devel
-       end
-
-       PARALLELISMFLAGS = # parallel build not supported
-
-       make_build_targets += CFLAGS="%{CFLAGS}" LDFLAGS="%{LDFLAGS}"
-
-       make_install_targets += BUILD_ROOT="%{BUILDROOT}" \
-               SBIN="%{BUILDROOT}%{sbindir}" MANDIR="%{mandir}"
-
-       install_cmds
-               # Remove unwanted files.
-               rm -vfr %{BUILDROOT}/etc
-       end
-end
-
-packages
-       package %{name}
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
diff --git a/ipvsadm/patches/build-flags.patch b/ipvsadm/patches/build-flags.patch
deleted file mode 100644 (file)
index bc08995..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-diff --git a/Makefile b/Makefile
-index 91a2991..1d27655 100644
---- a/Makefile
-+++ b/Makefile
-@@ -87,7 +87,7 @@ libs:
-               make -C libipvs
- ipvsadm:      $(OBJS) $(STATIC_LIBS)
--              $(CC) $(CFLAGS) -o $@ $^ $(LIBS)
-+              $(CC) $(LDFLAGS) -o $@ $^ $(LIBS)
- install:        all
-               if [ ! -d $(SBIN) ]; then $(MKDIR) -p $(SBIN); fi
-diff --git a/libipvs/Makefile b/libipvs/Makefile
-index f845c8b..46cd4eb 100644
---- a/libipvs/Makefile
-+++ b/libipvs/Makefile
-@@ -33,7 +33,7 @@ $(STATIC_LIB):       libipvs.o ip_vs_nl_policy.o
-               ar rv $@ $^
- $(SHARED_LIB):        libipvs.o ip_vs_nl_policy.o
--              $(CC) -shared -Wl,-soname,$@ -o $@ $^
-+              $(CC) $(LDFLAGS) -shared -Wl,-soname,$@ -o $@ $^
- %.o:          %.c
-               $(CC) $(CFLAGS) $(INCLUDE) $(DEFINES) -c -o $@ $<
index 07c19b0948fa717c03a8f95f6ad9057135bb35dd..60e9dff09aa1cde2267ee9201b3529136ef5bbd3 100644 (file)
@@ -4,7 +4,7 @@
 ###############################################################################
 
 name       = isl
-version    = 0.16.1
+version    = 0.25
 release    = 1
 
 groups     = System/Libraries
@@ -21,7 +21,7 @@ description
        vertex enumeration.
 end
 
-source_dl += http://isl.gforge.inria.fr/
+source_dl += https://sourceforge.net/projects/libisl/files/
 sources    = %{thisapp}.tar.xz
 
 build
diff --git a/iso-codes/iso-codes.nm b/iso-codes/iso-codes.nm
deleted file mode 100644 (file)
index cbb0f7d..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = iso-codes
-version    = 3.66
-release    = 1
-arch       = noarch
-
-groups     = System/Base
-url        = http://alioth.debian.org/projects/pkg-isocodes/
-license    = LGPLv2+
-summary    = ISO code lists and translations.
-
-description
-       This package provides the ISO 639 Language code list, the ISO 4217
-       Currency code list, the ISO 3166 Territory code list, and ISO 3166-2
-       sub-territory lists, and all their translations in gettext format.
-end
-
-source_dl  = http://pkg-isocodes.alioth.debian.org/downloads/
-sources    = %{thisapp}.tar.xz
-
-build
-       requires
-               gettext
-       end
-end
-
-packages
-       package %{name}
-
-       package %{name}-devel
-               template DEVEL
-       end
-end
index 7d8bf2450e6def11a2d56f1fa66909e8ce630a75..e70dec40140de8a462f4fd9d394a701a9eb3810f 100644 (file)
--- a/iw/iw.nm
+++ b/iw/iw.nm
@@ -4,13 +4,13 @@
 ###############################################################################
 
 name       = iw
-version    = 5.0.1
-release    = 1
+version    = 5.9
+release    = 2
 
 groups     = System/Base
-url        = http://www.linuxwireless.org/en/users/Documentation/iw
+url        = https://www.linuxwireless.org/en/users/Documentation/iw
 license    = BSD
-summary    = A nl80211 based wireless configuration tool.
+summary    = A nl80211 based wireless configuration tool
 
 description
        iw is a new nl80211 based CLI configuration utility for wireless
@@ -23,7 +23,7 @@ sources    = %{thisapp}.tar.xz
 
 build
        requires
-               libnl-devel
+               libnl3-devel
        end
 end
 
similarity index 59%
rename from libX11/libX11.nm
rename to jansson/jansson.nm
index 3975a98d659d0a8a858f0b827f35c8a4fb85aba3..8c70ac580599642c3d50b71f8bf81c3da755190a 100644 (file)
@@ -3,29 +3,28 @@
 # Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
 ###############################################################################
 
-name       = libX11
-version    = 1.5.0
-release    = 1
+name       = jansson
+version    = 2.13.1
+release    = 1.1
 
-maintainer = Stefan Schantl <stefan.schantl@ipfire.org>
 groups     = System/Libraries
-url        = http://www.x.org/
+url        = https://www.digip.org/jansson/
 license    = MIT
-summary    = X11 protocol client library.
+summary    = C library for encoding, decoding and manipulating JSON data.
 
 description
-       Client library for X.org X11 protocol.
+       Small library for parsing and writing JSON documents.
 end
 
-source_dl  = ftp://ftp.x.org/pub/individual/lib/
+source_dl  = https://www.digip.org/jansson/releases/
 sources    = %{thisapp}.tar.bz2
 
 build
-       requires
-               libxcb-devel
-               pkg-config
-               xorg-x11-proto-devel
-               xorg-x11-xtrans-devel
+       configure_options += \
+               --disable-static \
+
+       test
+               LD_LIBRARY_PATH="%{DIR_APP}/src/.libs" make check
        end
 end
 
diff --git a/jbig2dec/jbig2dec.nm b/jbig2dec/jbig2dec.nm
new file mode 100644 (file)
index 0000000..bf6fb6c
--- /dev/null
@@ -0,0 +1,50 @@
+###############################################################################
+# IPFire.org    - An Open Source Firewall Solution                            #
+# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
+###############################################################################
+
+name       = jbig2dec
+version    = 0.19
+release    = 1.1
+
+groups     = System/Libraries
+url        = https://jbig2dec.com
+license    = AGPLv3+
+summary    = A decoder implementation of the JBIG2 image compression format
+
+description
+       jbig2dec is a decoder implementation of the JBIG2 image compression format.
+       JBIG2 is designed for lossy or lossless encoding of 'bilevel' (1-bit
+       monochrome) images at moderately high resolution, and in particular scanned
+       paper documents. In this domain it is very efficient, offering compression
+       ratios on the order of 100:1.
+end
+
+source_dl  = https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs9533/
+
+build
+       requires
+               libpng-devel
+               zlib-devel
+       end
+end
+
+packages
+       package %{name}
+
+       package %{name}-libs
+               template LIBS
+       end
+
+       package %{name}-devel
+               template DEVEL
+
+               requires
+                       jbig2dec-libs = %{thisver}
+               end
+       end
+
+       package %{name}-debuginfo
+               template DEBUGINFO
+       end
+end
diff --git a/joe/joe.nm b/joe/joe.nm
deleted file mode 100644 (file)
index f11a48d..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = joe
-version    = 4.3
-release    = 1
-
-groups     = Applications/Editors
-url        = http://joe-editor.sourceforge.net/
-license    = GPLv2+
-summary    = A small text editor similar to wordstar in matter of usage.
-
-description
-       Joe is a small and friendly text editor which provides the look \
-       and feel of the good old wordstar.
-end
-
-source_dl  = https://sourceforge.net/projects/joe-editor/files/JOE%20sources/%{thisapp}/
-
-build
-       requires
-               ncurses-devel
-       end
-end
-
-packages
-       package %{name}
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
diff --git a/jose/jose.nm b/jose/jose.nm
new file mode 100644 (file)
index 0000000..d5eea51
--- /dev/null
@@ -0,0 +1,63 @@
+###############################################################################
+# IPFire.org    - An Open Source Firewall Solution                            #
+# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
+###############################################################################
+
+name       = jose
+version    = 11
+release    = 1
+
+groups     = System/Libraries
+url        = https://github.com/latchset/jose
+license    = ASL 2.0
+summary    = Tools for JSON Object Signing and Encryption (JOSE).
+
+description
+       Jose is a command line utility for performing various tasks on JSON
+       Object Signing and Encryption (JOSE) objects. Jose provides a full
+       crypto stack including key generation, signing and encryption.
+end
+
+source_dl  = https://github.com/latchset/%{name}/releases/download/v%{version}/
+sources    = %{thisapp}.tar.xz
+
+build
+       requires
+               ninja
+               meson
+               asciidoc
+               jansson-devel
+               openssl-devel
+               zlib-devel
+       end
+
+       build
+               %{meson}
+
+               %{meson_build}
+       end
+
+       test
+               %{meson_test}
+       end
+
+       install
+               %{meson_install}
+       end
+end
+
+packages
+       package %{name}
+
+       package %{name}-libs
+               template LIBS
+       end
+
+       package %{name}-devel
+               template DEVEL
+       end
+
+       package %{name}-debuginfo
+               template DEBUGINFO
+       end
+end
index de4278da81be1d008fa9d95c2ccb324d14981785..e61f3d875882511c192074eeb94f7c40673abe90 100644 (file)
@@ -4,9 +4,9 @@
 ###############################################################################
 
 name       = json-c
-version    = 0.12
-reldate    = 20140410
-release    = 2
+version    = 0.17
+reldate    = 20230812
+release    = 1
 thisapp    = %{name}-%{version}-%{reldate}
 
 groups     = System/Libraries
@@ -21,32 +21,19 @@ description
        objects.
 end
 
-source_dl  = https://github.com/json-c/json-c/archive/
+source_dl  = https://github.com/json-c/json-c/archive/refs/tags/
 
 build
        requires
-               autoconf
-               automake
-               libtool
+               cmake
        end
 
        DIR_APP = %{DIR_SRC}/%{name}-%{thisapp}
 
-       prepare_cmds
-               sed -i 's|-Werror ||g' Makefile.am.inc
+       build
+               %{cmake} .
 
-               # Bump the soname manually.
-               sed -i 's#2:1:0#3:0:0#' Makefile.am
-
-               autoreconf -vif
-       end
-
-       configure_options += \
-               --enable-rdrand
-
-       test
-               export LD_LIBRARY_PATH=$(pwd)/.libs:$(pwd)/tests/.libs
-               make check
+               make %{PARALLELISMFLAGS}
        end
 end
 
diff --git a/json-glib/json-glib.nm b/json-glib/json-glib.nm
deleted file mode 100644 (file)
index 631e54c..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = json-glib
-version    = %{ver_major}.%{ver_minor}
-ver_major  = 0.15
-ver_minor  = 2
-release    = 2
-
-groups     = System/Libraries
-url        = http://live.gnome.org/JsonGlib
-license    = LGPLv2+
-summary    = Library for JavaScript Object Notation format.
-
-description
-       %{name} is a library providing serialization and deserialization support
-       for the JavaScript Object Notation (JSON) format.
-end
-
-source_dl  = http://ftp.gnome.org/pub/GNOME/sources/%{name}/%{ver_major}/
-sources    = %{thisapp}.tar.xz
-
-build
-       requires
-               glib2-devel
-               gobject-introspection-devel
-               pkg-config
-       end
-
-       export LD_LIBRARY_PATH = %{DIR_APP}/json-glib/.libs
-end
-
-packages
-       package %{name}
-
-       package %{name}-devel
-               template DEVEL
-
-               requires
-                       glib2-devel
-               end
-       end
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
index 933bd70d96b17614f1331236c92790c94ee97358..a983c3ccabd3bc4c17d04c9a3706e01a8b473d28 100644 (file)
@@ -4,8 +4,8 @@
 ###############################################################################
 
 name       = jsoncpp
-version    = 1.7.2
-release    = 1
+version    = 1.9.5
+release    = 2
 
 groups     = System/Libraries
 url        = https://github.com/open-source-parsers/jsoncpp
@@ -23,12 +23,17 @@ end
 source_dl  = https://github.com/open-source-parsers/%{name}/archive/%{version}.tar.gz#/
 
 build
+       BUILD_DIR = build
+
        requires
                cmake
        end
 
        build
-               CMAKE_CXX_FLAGS="-Wno-error" %{cmake} .
+               %{cmake} .. \
+                       -DBUILD_OBJECT_LIBS:BOOL=OFF \
+                       -DBUILD_STATIC_LIBS:BOOL=OFF
+
                make %{PARALLELISMFLAGS}
        end
 end
diff --git a/jwhois/jwhois.nm b/jwhois/jwhois.nm
deleted file mode 100644 (file)
index cfe605a..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = jwhois
-version    = 4.0
-release    = 1
-
-groups     = Applications/Internet
-url        = http://www.gnu.org/software/jwhois/
-license    = GPLv3
-summary    = Internet whois/nicname client.
-
-description
-       A whois client that accepts both traditional and finger-style queries.
-end
-
-source_dl  =
-sources    = %{thisapp}.tar.gz
-
-patches    = %{thisapp}-connect.patch
-patches   += %{thisapp}-ipv6match.patch
-patches   += %{thisapp}-enum.patch
-patches   += %{thisapp}-fclose.patch
-patches   += %{thisapp}-conf.patch
-patches   += %{thisapp}-gi.patch
-patches   += %{thisapp}-conf_update.patch
-patches   += %{thisapp}-conf_update2.patch
-patches   += %{thisapp}-dotster.patch
-patches   += %{thisapp}-conf_update3.patch
-patches   += %{thisapp}-conf_update4.patch
-
-build
-       requires
-               gdbm-devel
-       end
-
-       configure_options += --sysconfdir=/etc
-end
-
-packages
-       package %{name}
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
diff --git a/jwhois/patches/jwhois-4.0-conf.patch b/jwhois/patches/jwhois-4.0-conf.patch
deleted file mode 100644 (file)
index 7de452d..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-diff -up jwhois-4.0/example/jwhois.conf_old jwhois-4.0/example/jwhois.conf
---- jwhois-4.0/example/jwhois.conf_old 2007-03-26 11:12:08.000000000 +0200
-+++ jwhois-4.0/example/jwhois.conf     2008-10-13 14:43:48.000000000 +0200
-@@ -593,13 +593,12 @@ cidr6-blocks {
-       "2001:1600::/23" = "whois.ripe.net";
-       "2001:1800::/23" = "whois.arin.net";
-       "2001:1A00::/23" = "whois.ripe.net";
--      "2001:1C00::/23" = "whois.ripe.net";
--      "2001:1E00::/23" = "whois.ripe.net";
-+      "2001:1C00::/22" = "whois.ripe.net";
-       "2001:2000::/20" = "whois.ripe.net";
-       "2001:3000::/21" = "whois.ripe.net";
-       "2001:3800::/22" = "whois.ripe.net";
-       "2001:4000::/23" = "whois.ripe.net";
--      "2001:4200::/23" = "whois.arin.net";
-+      "2001:4200::/23" = "whois.afrinic.net";
-       "2001:4400::/23" = "whois.apnic.net";
-       "2001:4600::/23" = "whois.ripe.net";
-       "2001:4800::/23" = "whois.arin.net";
-@@ -612,21 +611,15 @@ cidr6-blocks {
-       "2003:0000::/18" = "whois.ripe.net";
--      "2400:0000::/19" = "whois.apnic.net";
--      "2400:2000::/19" = "whois.apnic.net";
--      "2400:4000::/21" = "whois.apnic.net";
--      "2404:0000::/23" = "whois.apnic.net";
--
--      "2600:0000::/22" = "whois.arin.net";
--      "2604:0000::/22" = "whois.arin.net";
--      "2608:0000::/22" = "whois.arin.net";
--      "260C:0000::/22" = "whois.arin.net";
-+      "2400:0000::/12" = "whois.apnic.net";
-+
-+      "2600:0000::/12" = "whois.arin.net";
-       "2610:0000::/23" = "whois.arin.net";
-+      "2620:0000::/23" = "whois.arin.net";
--      "2800:0000::/23" = "whois.lacnic.net";
-+      "2800:0000::/12" = "whois.lacnic.net";
--      "2A00:0000::/21" = "whois.ripe.net";
--      "2A01:0000::/16" = "whois.ripe.net";
-+      "2C00:0000::/12" = "whois.afrinic.net";
-       #
-       # Experimental IPv6 network 6bone (RFC2471)
diff --git a/jwhois/patches/jwhois-4.0-conf_update.patch b/jwhois/patches/jwhois-4.0-conf_update.patch
deleted file mode 100644 (file)
index f3457e2..0000000
+++ /dev/null
@@ -1,482 +0,0 @@
-diff -up jwhois-4.0/example/jwhois.conf.conf_update jwhois-4.0/example/jwhois.conf
---- jwhois-4.0/example/jwhois.conf.conf_update 2009-02-27 10:17:01.000000000 +0100
-+++ jwhois-4.0/example/jwhois.conf     2009-02-27 10:57:26.000000000 +0100
-@@ -32,6 +32,7 @@ whois-servers {
-       "^CORE-[0-9]+$" = "struct handles";
-       "^CO[CH]O-[0-9]+$" = "struct handles";
-       ".*-[A-Z]+$" = "struct handles";
-+      ".*-6BONE$" = "struct handles";
-       #
-       # Catch AS numbers
-@@ -86,6 +87,7 @@ whois-servers {
-       # Pseudo-ccTLDs must be listed above gTLDs
-       #
-       "\\.ae\\.org$" = "whois.centralnic.net";
-+      "\\.ar\\.com$" = "whois.centralnic.com";
-       "\\.br\\.com$" = "whois.centralnic.net";
-       "\\.cn\\.com$" = "whois.centralnic.net";
-       "\\.de\\.com$" = "whois.centralnic.net";
-@@ -108,17 +110,21 @@ whois-servers {
-       "\\.uy\\.com$" = "whois.centralnic.net";
-       "\\.web\\.com$" = "whois.centralnic.net";
-       "\\.za\\.com$" = "whois.centralnic.net";
-+      "\\.za\\.net$" = "whois.za.net";
-+        "\\.za\\.org$" = "whois.za.org";
-       "\\.ac$" = "whois.nic.ac";
--      "\\.ae$" = "whois.uaenic.ae";
-+      "\\.ae$" = "whois.aeda.net.ae";
-       "\\.aero$" = "whois.aero";
--      "\\.af$" = "whois.nic.af";
-+      "\\.af$" = "whois.cocca.cx";
-       "\\.ag$" = "whois.nic.ag";
--      "\\.ai$" = "whois.offshore.ai";
-+      "\\.ai$" = "whois.ai";
-       "\\.al$" = "whois.ripe.net";
-       "\\.am$" = "whois.amnic.net";
-       "\\.ar$" = "www.nic.ar";
-+      "\\.arpa$" = "whois.iana.org";
-       "\\.as$" = "whois.nic.as";
-+      "\\.asia$" = "whois.nic.asia";
-       "\\.at$" = "whois.nic.at";
-       "\\.asn\\.au$" = "whois.ausregistry.net.au";
-       "\\.com\\.au$" = "whois.ausregistry.net.au";
-@@ -130,25 +136,33 @@ whois-servers {
-       "\\.ba$" = "whois.ripe.net";
-       "\\.be$" = "whois.dns.be";
-       "\\.bg$" = "whois.register.bg";
--      "\\.bi$" = "www.nic.bi";
--      "\\.biz$" = "whois.neulevel.biz";
-+      "\\.bi$" = "whois.nic.bi";
-+      "\\.biz$" = "whois.biz";
-       "\\.bj$" = "whois.nic.bj";
-       "\\.bm$" = "rwhois.ibl.bm 4321";
-+      "\\.bo$" = "whois.nic.bo";
-       "\\.br$" = "whois.nic.br";
-       "\\.bv$" = "whois.ripe.net";
-       "\\.by$" = "whois.ripe.net";
-       "\\.bz$" = "whois.belizenic.bz";
-+      "\\.co\\.ca$" = "whois.co.ca";
-       "\\.ca$" = "whois.cira.ca";
-       "\\.cat$" = "whois.cat";
--      "\\.cc$" = "whois.nic.cc";
-+      "\\.cc$" {
-+              whois-server = "ccwhois.verisign-grs.com";
-+              query-format = "domain $*";
-+      }
-       "\\.cd$" = "whois.nic.cd";
-       "\\.cg$" = "www.nic.cg";
-       "\\.ch$" = "whois.nic.ch";
-       "\\.ci$" = "whois.nic.ci";
-       "\\.ck$" = "whois.nic.ck";
-       "\\.cl$" = "whois.nic.cl";
-+      "\\.co\\.cm$" = "whois.netcom.cm";
-+      "\\.com\\.cm$" = "whois.netcom.cm";
-+      "\\.net\\.cm$" = "whois.netcom.cm";
-       "\\.edu\\.cn$" = "whois.edu.cn";
--      "\\.cn$" = "whois.cnnic.net.cn";
-+      "\\.cn$" = "whois.cnnic.cn";
-       "\\.com$" {
-               whois-server = "whois.verisign-grs.com";
-               query-format = "domain $*";
-@@ -166,7 +180,7 @@ whois-servers {
-       "\\.do$" = "whois.nic.do";
-       "\\.dz$" = "whois.ripe.net";
-       "\\.ec$" = "www.nic.ec";
--      "\\.edu$" = "whois.educause.net";
-+      "\\.edu$" = "whois.educause.edu";
-       "\\.ee$" = "whois.eenet.ee";
-       "\\.eg$" = "whois.ripe.net";
-       "\\.es$" = "www.nic.es";
-@@ -176,17 +190,20 @@ whois-servers {
-       "\\.fm$" = "www.dot.fm";
-       "\\.fo$" = "whois.ripe.net";
-       "\\.fr$" = "whois.nic.fr";
-+      "\\.gd$" = "whois.adamsnames.com";
-       "\\.gi$" = "whois2.afilias-grs.net";
-       "\\.gov$" = "whois.nic.gov";
--      "\\.gg$" = "whois.isles.net";
-+      "\\.gg$" = "whois.gg";
-       "\\.gm$" = "whois.ripe.net";
-       "\\.gp$" = "whois.nic.gp";
-       "\\.gr$" = "whois.ripe.net";
--      "\\.gs$" = "203.119.12.22";
-+      "\\.gs$" = "whois.nic.gs";
-       "\\.gt$" = "www.gt";
--      "\\.hk$" = "whois.hkdnr.net.hk";
-+      "\\.hk$" = "whois.hkirc.hk";
-       "\\.hm$" = "whois.registry.hm";
-+      "\\.hn$" = "whois2.afilias-grs.net";
-       "\\.hr$" = "www.dns.hr";
-+      "\\.ht$" = "whois.nic.ht";
-       "\\.hu$" = "whois.nic.hu";
-       "\\.id$" = "whois.idnic.net.id";
-       "\\.ie$" = "whois.domainregistry.ie";
-@@ -200,29 +217,39 @@ whois-servers {
-       "\\.is$" = "whois.isnic.is";
-       "\\.it$" = "whois.nic.it";
-       "\\.je$" = "whois.isles.net";
-+      "\\.jobs$" {
-+                whois-server = "jobswhois.verisign-grs.com";
-+                query-format = "domain $*";
-+      }
-       "\\.jp$" {
-               whois-server = "whois.jprs.jp";
-               query-format = "$* /e";
-       }
-+      "\\.ke$" = "whois.kenic.or.ke";
-+      "\\.kp$" = "whois.kcce.kp";
-       "\\.kg$" = "whois.domain.kg";
--      "\\.ki$" = "whois.nic.ki";
-+      "\\.ki$" = "whois.cocca.cx";
-       "\\.kr$" = "whois.krnic.net";
-       "\\.kz$" = "whois.nic.kz";
-       "\\.la$" = "whois.nic.la";
-       "\\.lb$" = "cgi.aub.edu.lb";
-+      "\\.lc$" = "whois2.afilias-grs.net";
-       "\\.li$" = "whois.nic.li";
-       "\\.lk$" = "whois.nic.lk";
-       "\\.lt$" = "whois.domreg.lt";
-       "\\.lu$" = "whois.dns.lu";
-       "\\.lv$" = "whois.nic.lv";
-       "\\.ly$" = "whois.nic.ly";
--      "\\.ma$" = "whois.ripe.net";
-+      "\\.ma$" = "whois.iam.net.ma";
-+      "\\.md$" = "whois.nic.md";
-+      "\\.me$" = "whois.nic.me";
-       "\\.mil$" = "whois.nic.mil";
-       "\\.mk$" = "whois.ripe.net";
-       "\\.mm$" = "whois.nic.mm";
-+      "\\.mn$" = "whois2.afilias-grs.net";
-       "\\.mobi$" = "whois.dotmobiregistry.net";
--      "\\.ms$" = "whois.adamsnames.tc";
--      "\\.mt$" = "www.um.edu.mt";
-+      "\\.ms$" = "whois.nic.ms";
-+      "\\.mt$" = "whois.nic.org.mt";
-       "\\.mu$" = "whois.nic.mu";
-       "\\.museum$" = "whois.museum";
-       "\\.mw$" = "www.tarsus.net";
-@@ -234,31 +261,37 @@ whois-servers {
-               whois-server = "whois.verisign-grs.com";
-               query-format = "domain $*";
-       }
-+      "\\.nf$" = "whois.cocca.cx";
-       "\\.ng$" = "whois.rg.net";
-       "\\.nl$" = "whois.domain-registry.nl";
-       "\\.no$" = "whois.norid.no";
-       "\\.nu$" = "whois.nic.nu";
-       "\\.nz$" = "whois.srs.net.nz";
-       "\\.org$" = "whois.publicinterestregistry.net";
--      "\\.pe$" = "whois.nic.pe";
-+      "\\.pe$" = "kero.yachay.pe";
-       "\\.pk$" = "pknic.net.pk";
-       "\\.pl$" = "whois.dns.pl";
-       "\\.pm$" = "whois.nic.pm";
-+      "\\.pr$" = "whois.nic.pr";
-       "\\.pro$" = "whois.registrypro.pro";
-       "\\.pt$" = "whois.dns.pt";
-       "\\.pw$" = "whois.nic.pw";
-       "\\.re$" = "whois.nic.re";
-       "\\.ro$" = "whois.rotld.ro";
-+      "\\.edu\.ru$" = "whois.informika.ru";
-       "\\.ru$" = "whois.ripn.net";
-       "\\.rw$" = "www.nic.rw";
-       "\\.sa$" = "saudinic.net.sa";
-+      "\\.sb$" = "whois.nic.sb";
-+      "\\.sc$" = "whois2.afilias-grs.net";
-       "\\.se$" = "whois.iis.se";
-       "\\.sg$" = "whois.nic.net.sg";
-       "\\.sh$" = "whois.nic.sh";
-       "\\.si$" = "whois.arnes.si";
-       "\\.sj$" = "whois.ripe.net";
--      "\\.sk$" = "whois.ripe.net";
-+      "\\.sk$" = "whois.sk-nic.sk";
-       "\\.sm$" = "whois.ripe.net";
-+      "\\.sn$" = "whois.nic.sn";
-       "\\.sr$" = "whois.register.sr";
-       "\\.st$" = "whois.nic.st";
-       "\\.su$" = "whois.ripn.net";
-@@ -273,8 +306,12 @@ whois-servers {
-       "\\.tn$" = "whois.ripe.net";
-       "\\.to$" = "whois.tonic.to";
-       "\\.tr$" = "whois.nic.tr";
-+      "\\.travel$" = "whois.nic.travel";
-       "\\.tt$" = "www.nic.tt";
--      "\\.tv$" = "whois.nic.tv";
-+      "\\.tv$" {
-+              whois-server = "tvwhois.verisign-grs.com";
-+              query-format = "domain $*";
-+        }
-       "\\.tw$" = "whois.twnic.net";
-       "\\.ua$" = "whois.com.ua";
-       "\\.ug$" = "whois.co.ug";
-@@ -285,8 +322,11 @@ whois-servers {
-       "\\.us$" = "whois.nic.us";
-       "\\.com\\.uy$" = "dns.antel.net.uy";
-       "\\.uy$" = "www.rau.edu.uy"; # is a whois server
--      "\\.uz$" = "www.noc.uz";
-+      "\\.co\\.uz$" = "whois.reg.uz";
-+      "\\.com\\.uz$" = "whois.reg.uz";
-+      "\\.uz$" = "whois.cctld.uz";
-       "\\.va$" = "whois.ripe.net";
-+      "\\.vc$" = "whois2.afilias-grs.net";
-       "\\.ve$" = "whois.nic.ve";
-       "\\.vi$" = "www.nic.vi";
-       "\\.vg$" = "whois.adamsnames.tc";
-@@ -299,6 +339,7 @@ whois-servers {
-       "\\.ac\\.za$" = "whois.ac.za";
-       "\\.org\\.za$" = "rwhois.org.za 4321";
-       "\\.co\\.za$" = "whois.co.za";
-+      "\\.nom\\.za$" = "www.nom.za";
-       # "\\.za$" = "whois.frd.ac.za";
-       #
-@@ -594,7 +635,7 @@ cidr-blocks {
- cidr6-blocks {
-       type = cidr6;
--      "2001:0000::/23" = "whois.iana.org";
-+      "2001:0000::/23" = "whois.iana.org"; # correct, but nothing usable is returned
-       "2001:0200::/23" = "whois.apnic.net";
-       "2001:0400::/23" = "whois.arin.net";
-       "2001:0600::/23" = "whois.ripe.net";
-@@ -611,6 +652,7 @@ cidr6-blocks {
-       "2001:2000::/20" = "whois.ripe.net";
-       "2001:3000::/21" = "whois.ripe.net";
-       "2001:3800::/22" = "whois.ripe.net";
-+      "2001:3C00::/22" = "whois.arin.net"; # not correct, but shows better information
-       "2001:4000::/23" = "whois.ripe.net";
-       "2001:4200::/23" = "whois.afrinic.net";
-       "2001:4400::/23" = "whois.apnic.net";
-@@ -623,6 +665,8 @@ cidr6-blocks {
-       "2001:A000::/20" = "whois.apnic.net";
-       "2001:B000::/20" = "whois.apnic.net";
-+      "2002:0000::/16" = "whois.arin.net"; # not correct, but shows better information
-+
-       "2003:0000::/18" = "whois.ripe.net";
-       "2400:0000::/12" = "whois.apnic.net";
-@@ -636,6 +680,34 @@ cidr6-blocks {
-       "2C00:0000::/12" = "whois.afrinic.net";
-       #
-+      # IPv6 blocks by carriers used for SixXS;
-+      # see e.g. http://www.sixxs.net/pops/
-+      #
-+      "2001:0610::/32" = "whois.sixxs.net";
-+      "2001:06A0::/32" = "whois.sixxs.net";
-+      "2001:06A8::/32" = "whois.sixxs.net";
-+      "2001:06F8::/32" = "whois.sixxs.net";
-+      "2001:0770::/32" = "whois.sixxs.net";
-+      "2001:07B8::/32" = "whois.sixxs.net";
-+      "2001:0808::/32" = "whois.sixxs.net";
-+      "2001:0838::/32" = "whois.sixxs.net";
-+      "2001:0960::/32" = "whois.sixxs.net";
-+      "2001:0A60::/32" = "whois.sixxs.net";
-+      "2001:0AD0::/32" = "whois.sixxs.net";
-+      "2001:0B18::/32" = "whois.sixxs.net";
-+      "2001:1418::/32" = "whois.sixxs.net";
-+      "2001:14B8::/32" = "whois.sixxs.net";
-+      "2001:15C0::/32" = "whois.sixxs.net";
-+      "2001:16D8::/32" = "whois.sixxs.net";
-+      "2001:1938::/32" = "whois.sixxs.net";
-+      "2001:4830::/32" = "whois.sixxs.net";
-+      "2001:4978::/32" = "whois.sixxs.net";
-+      "2001:41E0::/32" = "whois.sixxs.net";
-+      "2001:4428::/32" = "whois.sixxs.net";
-+      "2A01:0198::/32" = "whois.sixxs.net";
-+      "2A01:0348::/32" = "whois.sixxs.net";
-+
-+      #
-       # Experimental IPv6 network 6bone (RFC2471)
-       # Phaseout at Jun, 6 2006 (RFC3701)
-       #
-@@ -678,6 +750,33 @@ handles {
-               whois-server = "saudinic.net.sa";
-               query-format = "PERSON $*";
-       }
-+      ".*-SIXXS$" = "whois.sixxs.net";
-+      ".*-6BONE$" = "whois.6bone.net";
-+      ".*-IRNIC$" = "whois.nic.ir";
-+      ".*-RIPN$" = "whois.ripn.net";
-+      ".*-AFRINIC$" = "whois.afrinic.net";
-+      "^C[0-9]+-LRMS$" {
-+              whois-server = "whois.afilias.info";
-+              query-format = "CONTACT ID $*";
-+      }
-+      "^D[0-9]+-LRMS$" {
-+              whois-server = "whois.afilias.info";
-+              query-format = "DOMAIN ID $*";
-+      }
-+      "^H[0-9]+-LRMS$" {
-+              whois-server = "whois.afilias.info";
-+              query-format = "HOST ID $*";
-+      }
-+      "^R[0-9]+-LRMS$" {
-+              whois-server = "whois.afilias.info";
-+              query-format = "REGISTRAR ID $*";
-+      }
-+      ".*-KENIC$" = "whois.kenic.or.ke";
-+      ".*-UANIC$" = "whois.com.ua";
-+      ".*-COOP$" {
-+              whois-server = "whois.nic.coop";
-+              query-format = "CONTACT $*";
-+      }
- }
- #
-@@ -685,11 +784,6 @@ handles {
- # each host. 
- #
- server-options {
--      "rwhois\\.nic\\.ve" {
--              rwhois = true;
--              rwhois-display = "dump";
--              rwhois-limit = 10;
--      }
-       "rwhois\\.exodus\\.net" {
-               rwhois = true;
-       }
-@@ -761,13 +855,6 @@ server-options {
-               form-element = "name";
-       }
--      "www\\.um\\.edu\\.mt" {
--              http = "true";
--              http-method = "GET";
--              http-action = "/cgi-bin/nic/whois";
--              form-element = "domain";
--      }
--
-       "www\\.gt" {
-               http = "true";
-               http-method = "GET";
-@@ -784,13 +871,6 @@ server-options {
-               query-format = "Upit=${+2}"; # All but last domain segment
-       }
--      "whois\\.offshore\\.ai" {
--              http = "true";
--              http-method = "POST";
--              http-action = "/cgi-bin/whois.pl";
--              form-element = "domain-name";
--      }
--
-       "www\\.io\\.io" {
-               http = "true";
-               http-method = "GET";
-@@ -820,11 +900,12 @@ server-options {
-               form-element = "query";
-       }
--      "www\\.nic\\.bi" {
--              http = "true";
--              http-method = "POST";
--              http-action = "/cgi-bin/whoisbi.pl"; # Formatting problems in Lynx
--              form-element = "DOMAINWHOIS";
-+      "whois\\.nic\\.bi" {
-+              http = "true"; # I can't connect on port 43
-+              http-method = "GET";
-+              http-action = "/register/whois.hei";
-+              form-element = "query";
-+              form-extra = "type=domain";
-       }
-       "www\\.nic\\.cg" {
-@@ -855,13 +936,6 @@ server-options {
-               form-element = "name";
-       }
--      "www\\.noc\\.uz" {
--              http = "true";
--              http-method = "POST";
--              http-action = "/whois.php4";
--              form-element = "dname";
--      }
--
-       "www\\.nic\\.vi" {
-               http = "true";
-               http-method = "POST";
-@@ -885,9 +959,9 @@ server-options {
-       "www\\.nic\\.tg" {
-               http = "true";
--              http-method = "GET";
--              http-action = "/moteur/info_dom.php";
--              form-element = "domaine";
-+              http-method = "POST";
-+              http-action = "/nictg/indexplus.php?pg=verifdom&op=whois";
-+              query-format = "tosearch=${+2}&typedom=.tg";
-       }
-       "cgi\\.aub\\.edu\\.lb" {
-@@ -917,38 +991,60 @@ server-options {
-               form-element = "nombre";
-       }
--      "www\\.denic\\.de" {
--              http = "true";
--              http-method = "POST";
--              http-action = "/en/whois/data.jsp";
--              form-element = "domainname";
--              form-extra = "service=WhoisData&lang=en&submit=Accept";
--      }
-       "whois\\.denic\\.de" {
-               whois-server = "whois.denic.de";
-               query-format = "-C UTF-8 -T dn,ace $*";
-               answer-charset = "UTF-8";
-       }
-+
-       "whois\\.enum\\.denic\\.de" {
-               whois-server = "whois.enum.denic.de";
-               query-format = "-C UTF-8 -T dn $*";
-               answer-charset = "UTF-8";
-       }
-+
-       "whois\\.nic\\.ad\\.jp" {
-               query-format = "$*/e";
-       }
-+
-       "whois\\.nic\\.ch" {
-               answer-charset = "UTF-8";
-       }
-+
-       "whois\\.nic\\.li" {
-               answer-charset = "UTF-8";
-       }
-+
-       "whois\\.centralnic\\.*" {
-                 whois-redirect = ".*Whois Server: \\(.*\\)";
-         }
-+
-       ".*\\.verisign-grs\\.com" {
-               whois-redirect = ".*Whois Server: \\(.*\\)";
-       }
-+
-+      "whois\\.sixxs\\.net" {
-+              whois-redirect = ".*ReferralServer: whois:\/\/\\(.*\\)";
-+        }
-+
-+      "whois2\\.afilias-grs\\.net" {
-+              whois-redirect = "Whois Server:\\(.*\\)";
-+      }
-+
-+      "whois\\.registrar\\.telekom\\.de" {
-+              query-format = "full $*";
-+      }
-+
-+      "whois\\.rrpproxy\\.net" {
-+              answer-charset = "UTF-8";
-+      }
-+
-+      "www\\.nom\\.za" {
-+              http = "true";
-+              http-method = "POST";
-+              http-action = "/do.php";
-+              query-format = "chkDomain=${+3}&chkAvail=Check";
-+      }
- }
- #
diff --git a/jwhois/patches/jwhois-4.0-conf_update2.patch b/jwhois/patches/jwhois-4.0-conf_update2.patch
deleted file mode 100644 (file)
index df9ca4e..0000000
+++ /dev/null
@@ -1,90 +0,0 @@
---- jwhois-4.0/example/jwhois.conf             2009-02-27 22:20:48.000000000 +0100
-+++ jwhois-4.0/example/jwhois.conf.rsc         2009-03-08 12:33:22.000000000 +0100
-@@ -178,7 +178,7 @@
-       "\\.dk$" = "whois.dk-hostmaster.dk";
-       "\\.dm$" = "whois.nic.dm";
-       "\\.do$" = "whois.nic.do";
--      "\\.dz$" = "whois.ripe.net";
-+      "\\.dz$" = "www.nic.dz";
-       "\\.ec$" = "www.nic.ec";
-       "\\.edu$" = "whois.educause.edu";
-       "\\.ee$" = "whois.eenet.ee";
-@@ -268,6 +268,7 @@
-       "\\.nu$" = "whois.nic.nu";
-       "\\.nz$" = "whois.srs.net.nz";
-       "\\.org$" = "whois.publicinterestregistry.net";
-+      "\\.pa$" = "www.nic.pa";
-       "\\.pe$" = "kero.yachay.pe";
-       "\\.pk$" = "pknic.net.pk";
-       "\\.pl$" = "whois.dns.pl";
-@@ -296,6 +297,7 @@
-       "\\.st$" = "whois.nic.st";
-       "\\.su$" = "whois.ripn.net";
-       "\\.tc$" = "whois.adamsnames.tc";
-+      "\\.tel$" = "whois.nic.tel";
-       "\\.tf$" = "whois.afnic.fr";
-       "\\.tg$" = "www.nic.tg";
-       "\\.th$" = "whois.thnic.net";
-@@ -321,7 +323,7 @@
-       "\\.fed\\.us$" = "whois.nic.gov";
-       "\\.us$" = "whois.nic.us";
-       "\\.com\\.uy$" = "dns.antel.net.uy";
--      "\\.uy$" = "www.rau.edu.uy"; # is a whois server
-+      "\\.uy$" = "whois.nic.org.uy";
-       "\\.co\\.uz$" = "whois.reg.uz";
-       "\\.com\\.uz$" = "whois.reg.uz";
-       "\\.uz$" = "whois.cctld.uz";
-@@ -335,7 +337,7 @@
-       "\\.wf$" = "whois.nic.wf";
-       "\\.ws$" = "whois.worldsite.ws";
-       "\\.yt$" = "whois.nic.yt";
--      "\\.yu$" = "whois.ripe.net";
-+      "\\.yu$" = "www.nic.yu";
-       "\\.ac\\.za$" = "whois.ac.za";
-       "\\.org\\.za$" = "rwhois.org.za 4321";
-       "\\.co\\.za$" = "whois.co.za";
-@@ -363,6 +365,7 @@
-       type = regex;
-       "\\.9\\.4\\.e164\\.arpa$" = "whois.enum.denic.de";
-+      "\\.1\\.6\\.e164\\.arpa$" = "whois-check.enum.com.au";
- }
- #
-@@ -741,7 +744,7 @@
-       ".*-NICAT$" = "whois.nic.at";
-       ".*-CZ$" = "whois.nic.cz";
-       ".*-NICIR$" = "whois.nic.ir";
--      ".*-UYNIC$" = "www.rau.edu.uy";
-+      ".*-UYNIC$" = "whois.nic.org.uy";
-       ".*-ITNIC$" = "whois.nic.it";
-       ".*-FRNIC$" = "whois.nic.fr";
-       ".*-LACNIC$" = "whois.lacnic.net";
-@@ -1045,6 +1048,27 @@
-               http-action = "/do.php";
-               query-format = "chkDomain=${+3}&chkAvail=Check";
-       }
-+
-+      "www\\.nic\\.pa" {
-+              http = "true";
-+              http-method = "GET";
-+              http-action = "/egh/whois.php";
-+              form-element = "nombre_d";
-+      }
-+
-+      "www\\.nic\\.dz" {
-+              http = "true";
-+              http-method = "POST";
-+              http-action = "/index.php?option=com_content&task=view&id=37&Itemid=51";
-+              form-element = "domain_name";
-+      }
-+
-+      "www\\.nic\\.yu" {
-+              http = "true";
-+              http-method = "GET";
-+              http-action = "/cgi-bin/checkavail.cgi";
-+              form-element = "domain";
-+      }
- }
- #
diff --git a/jwhois/patches/jwhois-4.0-conf_update3.patch b/jwhois/patches/jwhois-4.0-conf_update3.patch
deleted file mode 100644 (file)
index a954666..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
---- jwhois-4.0/example/jwhois.conf             2009-05-03 13:15:33.000000000 +0200
-+++ jwhois-4.0/example/jwhois.conf.rsc         2009-05-03 13:17:52.000000000 +0200
-@@ -119,7 +119,7 @@
-       "\\.af$" = "whois.cocca.cx";
-       "\\.ag$" = "whois.nic.ag";
-       "\\.ai$" = "whois.ai";
--      "\\.al$" = "whois.ripe.net";
-+      "\\.al$" = "www.ert.gov.al";
-       "\\.am$" = "whois.amnic.net";
-       "\\.ar$" = "www.nic.ar";
-       "\\.arpa$" = "whois.iana.org";
-@@ -168,6 +168,7 @@
-               query-format = "domain $*";
-       }
-       "\\.coop$" = "whois.nic.coop";
-+      "\\.cu$" = "www.nic.cu";
-       "\\.cx$" = "whois.nic.cx";
-       "\\.cy$" = "whois.ripe.net";
-       "\\.cz$" = "whois.nic.cz";
-@@ -254,7 +255,7 @@
-       "\\.museum$" = "whois.museum";
-       "\\.mw$" = "www.tarsus.net";
-       "\\.mx$" = "whois.nic.mx";
--      "\\.my$" = "whois.mynic.net.my";
-+      "\\.my$" = "whois.domainregistry.my";
-       "\\.na$" = "whois.na-nic.com.na";
-       "\\.name$" = "whois.nic.name";
-       "\\.net$" {
-@@ -293,6 +294,7 @@
-       "\\.sk$" = "whois.sk-nic.sk";
-       "\\.sm$" = "whois.ripe.net";
-       "\\.sn$" = "whois.nic.sn";
-+      "\\.so$" = "whois.nic.so";
-       "\\.sr$" = "whois.register.sr";
-       "\\.st$" = "whois.nic.st";
-       "\\.su$" = "whois.ripn.net";
-@@ -1069,9 +1071,24 @@
-               http-action = "/cgi-bin/checkavail.cgi";
-               form-element = "domain";
-       }
-+
-       "whois\\.dotster\\.com" {
-               answer-charset = "UTF-8";
-       }
-+
-+      "www\\.ert\\.gov\\.al" {
-+              http = "true";
-+              http-method = "POST";
-+              http-action = "/ert_eng/domain_res.html";
-+              query-format = "Domain=${+2}";
-+      }
-+
-+      "www\\.nic\\.cu" {
-+              http = "true";
-+              http-method = "GET";
-+              http-action = "/dom_det.php";
-+              form-element = "domsrch";
-+      }
- }
- #
diff --git a/jwhois/patches/jwhois-4.0-conf_update4.patch b/jwhois/patches/jwhois-4.0-conf_update4.patch
deleted file mode 100644 (file)
index ffbe53d..0000000
+++ /dev/null
@@ -1,168 +0,0 @@
---- jwhois-4.0/example/jwhois.conf             2009-08-16 17:59:06.000000000 +0200
-+++ jwhois-4.0/example/jwhois.conf.rsc         2009-08-16 17:59:39.000000000 +0200
-@@ -121,6 +121,7 @@
-       "\\.ai$" = "whois.ai";
-       "\\.al$" = "www.ert.gov.al";
-       "\\.am$" = "whois.amnic.net";
-+      "\\.edu\\.ar$" = "www.riu.edu.ar";
-       "\\.ar$" = "www.nic.ar";
-       "\\.arpa$" = "whois.iana.org";
-       "\\.as$" = "whois.nic.as";
-@@ -142,8 +143,9 @@
-       "\\.bm$" = "rwhois.ibl.bm 4321";
-       "\\.bo$" = "whois.nic.bo";
-       "\\.br$" = "whois.nic.br";
-+      "\\.bs$" = "www.register.bs";
-       "\\.bv$" = "whois.ripe.net";
--      "\\.by$" = "whois.ripe.net";
-+      "\\.by$" = "www.domain.by";
-       "\\.bz$" = "whois.belizenic.bz";
-       "\\.co\\.ca$" = "whois.co.ca";
-       "\\.ca$" = "whois.cira.ca";
-@@ -176,7 +178,10 @@
-               whois-server = "whois.denic.de";
-               query-format = "-C UTF-8 -T dn,ace $*";
-       }
--      "\\.dk$" = "whois.dk-hostmaster.dk";
-+      "\\.dk$" {
-+              whois-server = "whois.dk-hostmaster.dk";
-+              query-format = "--show-handles $*";
-+      }
-       "\\.dm$" = "whois.nic.dm";
-       "\\.do$" = "whois.nic.do";
-       "\\.dz$" = "www.nic.dz";
-@@ -257,13 +262,16 @@
-       "\\.mx$" = "whois.nic.mx";
-       "\\.my$" = "whois.domainregistry.my";
-       "\\.na$" = "whois.na-nic.com.na";
--      "\\.name$" = "whois.nic.name";
-+      "\\.name$" {
-+              whois-server = "whois.nic.name";
-+              query-format = "domain = $*";
-+              }
-       "\\.net$" {
-               whois-server = "whois.verisign-grs.com";
-               query-format = "domain $*";
-       }
-       "\\.nf$" = "whois.cocca.cx";
--      "\\.ng$" = "whois.rg.net";
-+      "\\.ng$" = "whois.nic.net.ng";
-       "\\.nl$" = "whois.domain-registry.nl";
-       "\\.no$" = "whois.norid.no";
-       "\\.nu$" = "whois.nic.nu";
-@@ -276,6 +284,7 @@
-       "\\.pm$" = "whois.nic.pm";
-       "\\.pr$" = "whois.nic.pr";
-       "\\.pro$" = "whois.registrypro.pro";
-+      "\\.ps$" = "www.nic.ps";
-       "\\.pt$" = "whois.dns.pt";
-       "\\.pw$" = "whois.nic.pw";
-       "\\.re$" = "whois.nic.re";
-@@ -287,17 +296,19 @@
-       "\\.sb$" = "whois.nic.sb";
-       "\\.sc$" = "whois2.afilias-grs.net";
-       "\\.se$" = "whois.iis.se";
--      "\\.sg$" = "whois.nic.net.sg";
-+      "\\.sg$" = "whois.sgnic.sg";
-       "\\.sh$" = "whois.nic.sh";
-       "\\.si$" = "whois.arnes.si";
-       "\\.sj$" = "whois.ripe.net";
-       "\\.sk$" = "whois.sk-nic.sk";
-+      "\\.sl$" = "whois.nic.sl";
-       "\\.sm$" = "whois.ripe.net";
-       "\\.sn$" = "whois.nic.sn";
-       "\\.so$" = "whois.nic.so";
-       "\\.sr$" = "whois.register.sr";
-       "\\.st$" = "whois.nic.st";
-       "\\.su$" = "whois.ripn.net";
-+      "\\.sv$" = "www.svnet.org.sv";
-       "\\.tc$" = "whois.adamsnames.tc";
-       "\\.tel$" = "whois.nic.tel";
-       "\\.tf$" = "whois.afnic.fr";
-@@ -345,6 +356,7 @@
-       "\\.co\\.za$" = "whois.co.za";
-       "\\.nom\\.za$" = "www.nom.za";
-       # "\\.za$" = "whois.frd.ac.za";
-+      "\\.co\\.zw$" = "www.zispa.co.zw";
-       #
-       # Specify different port numbers to connect to by postfixing the IP
-@@ -782,6 +794,22 @@
-               whois-server = "whois.nic.coop";
-               query-format = "CONTACT $*";
-       }
-+      ".*CONTACT-NAME$" {
-+              whois-server = "whois.nic.name";
-+              query-format = "contact = $*";
-+      }
-+      ".*REGISTRAR-NAME$" {
-+              whois-server = "whois.nic.name";
-+              query-format = "registrar = $*";
-+      }
-+      "^C[0-9]+-AERO$" {
-+              whois-server = "whois.aero";
-+              query-format = "CONTACT ID $*";
-+      }
-+      "^D[0-9]+-AERO$" {
-+              whois-server = "whois.aero";
-+              query-format = "DOMAIN ID $*";
-+      }
- }
- #
-@@ -1089,6 +1117,55 @@
-               http-action = "/dom_det.php";
-               form-element = "domsrch";
-       }
-+
-+      "www\\.nic\\.ps" {
-+              http = "true";
-+              http-method = "GET";
-+              http-action = "/whois/domain_whois.php";
-+              form-element = "dname";
-+      }
-+
-+      "www\\.svnet\\.org\\.sv" {
-+              http = "true";
-+              http-method = "POST";
-+              http-action = "/registro/consultas/whois.php";
-+              form-element = "subdominio";
-+      }
-+
-+      "www\\.zispa\\.co\\.zw" {
-+              http = "true";
-+              http-method = "GET";
-+              http-action = "/cgi-bin/search";
-+              form-element = "domain";
-+      }
-+
-+      "www\\.riu\\.edu\\.ar" {
-+              http = "true";
-+              http-method = "POST";
-+              http-action = "/cgi-bin/verdom.pl.nuevo";
-+              query-format = "username=${+3}";
-+      }
-+
-+      "www\\.register\\.bs" {
-+              http = "true";
-+              http-method = "POST";
-+              http-action = "/cgi-bin/search.pl";
-+              form-element = "name";
-+      }
-+
-+      "www\\.domain\\.by" {
-+              http = "true";
-+              http-method = "POST";
-+              http-action = "/cgi-bin/registry.cgi";
-+              query-format = "domain=${+2}&lang=e&mode=slquest";
-+      }
-+
-+      "www\\.nic\\.ac" {
-+              http = "true";
-+              http-method = "GET";
-+              http-action = "/cgi-bin/whois";
-+              form-element = "textfield";
-+      }
- }
- #
diff --git a/jwhois/patches/jwhois-4.0-connect.patch b/jwhois/patches/jwhois-4.0-connect.patch
deleted file mode 100644 (file)
index 2a639d7..0000000
+++ /dev/null
@@ -1,58 +0,0 @@
-This fixes somewhat reversed logic of trying to connect to WHOIS server.
-Tue Nov 20 2007, Lubomir Kundrak <lkundrak@redhat.com>
-
---- jwhois-4.0/src/utils.c.connect     2007-06-26 09:00:20.000000000 +0200
-+++ jwhois-4.0/src/utils.c     2007-11-20 17:05:33.000000000 +0100
-@@ -247,7 +247,7 @@ make_connect(const char *host, int port)
-     {
-       return -1;
-     }
--  while (res)
-+  for (; res; res = res->ai_next)
-     {
-       sa = res->ai_addr;
-       sockfd = socket(res->ai_family, res->ai_socktype, res->ai_protocol);
-@@ -266,15 +266,15 @@ make_connect(const char *host, int port)
-       flags = fcntl(sockfd, F_GETFL, 0);
-       if (fcntl(sockfd, F_SETFL, flags|O_NONBLOCK) == -1)
-       {
-+        close (sockfd);
-         return -1;
-       }
--
-       error = connect(sockfd, res->ai_addr, res->ai_addrlen);
--
-       if (error < 0 && errno != EINPROGRESS)
-       {
--        break;
-+        close (sockfd);
-+        continue;
-       }
-       FD_ZERO(&fdset);
-@@ -283,18 +283,20 @@ make_connect(const char *host, int port)
-       error = select(FD_SETSIZE, NULL, &fdset, NULL, &timeout);
-       if (error == 0)
-       {
--        break;
-+        close (sockfd);
-+        return -1;
-       }
-       retlen = sizeof(retval);
-       error = getsockopt(sockfd, SOL_SOCKET, SO_ERROR, &retval, &retlen);
-       if (error < 0 || retval)
-       {
--        break;
-+        close (sockfd);
-+        return -1;
-       }
--      res = res->ai_next;
-+
-+      break;
-     }
--  if (error < 0 || retval) return -1;
- #endif
-   return sockfd;
diff --git a/jwhois/patches/jwhois-4.0-dotster.patch b/jwhois/patches/jwhois-4.0-dotster.patch
deleted file mode 100644 (file)
index 0f10435..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-diff -up jwhois-4.0/example/jwhois.conf_old jwhois-4.0/example/jwhois.conf
---- jwhois-4.0/example/jwhois.conf_old 2009-04-23 16:16:41.000000000 +0200
-+++ jwhois-4.0/example/jwhois.conf     2009-04-23 16:18:15.000000000 +0200
-@@ -1069,6 +1069,9 @@ server-options {
-               http-action = "/cgi-bin/checkavail.cgi";
-               form-element = "domain";
-       }
-+      "whois\\.dotster\\.com" {
-+              answer-charset = "UTF-8";
-+      }
- }
- #
diff --git a/jwhois/patches/jwhois-4.0-enum.patch b/jwhois/patches/jwhois-4.0-enum.patch
deleted file mode 100644 (file)
index 1abae4e..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-diff -up jwhois-4.0/example/jwhois.conf.enum jwhois-4.0/example/jwhois.conf
---- jwhois-4.0/example/jwhois.conf.enum        2009-01-27 13:39:48.000000000 +0100
-+++ jwhois-4.0/example/jwhois.conf     2009-01-27 13:42:09.000000000 +0100
-@@ -17,6 +17,11 @@ whois-servers {
-       type = regex;
-       #
-+      # Catch ENUM domains
-+      #
-+      "\\([0-9]\\.\\)+e164\\.arpa" = "struct enum-blocks";
-+
-+      #
-       # You can use the special value `struct' to redirect the query
-       # to another block which optionally can use another type of matching.
-       # Here we use it to have IPv4 numbers matched using CIDR blocks instead
-@@ -311,6 +316,15 @@ whois-servers {
- }
- #
-+# enum-blocks
-+#
-+enum-blocks {
-+      type = regex;
-+
-+      "\\.9\\.4\\.e164\\.arpa$" = "whois.enum.denic.de";
-+}
-+
-+#
- # cidr-blocks contains a list of all known CIDR blocks assigned to
- # RIPE or APNIC. Default all queries to ARIN which has most other blocks.
- #
-@@ -915,6 +929,11 @@ server-options {
-               query-format = "-C UTF-8 -T dn,ace $*";
-               answer-charset = "UTF-8";
-       }
-+      "whois\\.enum\\.denic\\.de" {
-+              whois-server = "whois.enum.denic.de";
-+              query-format = "-C UTF-8 -T dn $*";
-+              answer-charset = "UTF-8";
-+      }
-       "whois\\.nic\\.ad\\.jp" {
-               query-format = "$*/e";
-       }
diff --git a/jwhois/patches/jwhois-4.0-fclose.patch b/jwhois/patches/jwhois-4.0-fclose.patch
deleted file mode 100644 (file)
index e9c896f..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -up jwhois-4.0/src/init.c_old jwhois-4.0/src/init.c
---- jwhois-4.0/src/init.c_old  2007-06-26 08:59:17.000000000 +0200
-+++ jwhois-4.0/src/init.c      2009-01-27 15:49:35.000000000 +0100
-@@ -283,6 +283,8 @@ parse_args(int *argc, char ***argv)
-   if (in)
-     jconfig_parse_file(in);
-+  fclose(in);
-+
-   if (verbose>1)
-     {
-       printf("[Debug: Cache = %s]\n", cache?"On":"Off");
diff --git a/jwhois/patches/jwhois-4.0-gi.patch b/jwhois/patches/jwhois-4.0-gi.patch
deleted file mode 100644 (file)
index c5582c9..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -up jwhois-4.0/example/jwhois.conf_old jwhois-4.0/example/jwhois.conf
---- jwhois-4.0/example/jwhois.conf_old 2009-01-23 12:57:35.000000000 +0100
-+++ jwhois-4.0/example/jwhois.conf     2009-01-23 12:58:41.000000000 +0100
-@@ -171,7 +171,7 @@ whois-servers {
-       "\\.fm$" = "www.dot.fm";
-       "\\.fo$" = "whois.ripe.net";
-       "\\.fr$" = "whois.nic.fr";
--      "\\.gi$" = "www.nic.gi";
-+      "\\.gi$" = "whois2.afilias-grs.net";
-       "\\.gov$" = "whois.nic.gov";
-       "\\.gg$" = "whois.isles.net";
-       "\\.gm$" = "whois.ripe.net";
diff --git a/jwhois/patches/jwhois-4.0-ipv6match.patch b/jwhois/patches/jwhois-4.0-ipv6match.patch
deleted file mode 100644 (file)
index 0e5ad0e..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-When IPv6 address mask did not end on an octed boundary, the the opposite
-part of last byte of host address was taken into account when a match was
-attempted. -- Lubomir Kundrak <lkundrak@redhat.com>
-
---- jwhois-4.0/src/lookup.c.ipv6-match 2007-12-04 17:09:57.000000000 +0100
-+++ jwhois-4.0/src/lookup.c    2007-12-04 17:10:20.000000000 +0100
-@@ -149,7 +149,7 @@ static int ipv6_address_is_in_network(co
-     }
-   /* i == bits / 8 */
-   if (bits % 8 != 0
--      && (addr->s6_addr[i] & (0xFFu << (bits % 8))) != net->s6_addr[i])
-+      && (addr->s6_addr[i] & (0xFFu << 8-(bits % 8))) != net->s6_addr[i])
-     return 0;
-   return 1;
- }
index 62186f97cbeafd83747795fab5e5bc761a323c42..4625a1c65c2efe80ef1f6ce9cedc8e83dbad330c 100644 (file)
@@ -4,12 +4,11 @@
 ###############################################################################
 
 name       = kbd
-version    = 1.15.3
-release    = 2
-epoch      = 1
+version    = 2.5.1
+release    = 1
 
 groups     = System/Base
-url        = http://ftp.altlinux.org/pub/people/legion/kbd
+url        = http://www.kbd-project.org/
 license    = GPLv2+
 summary    = Tools for configuring the console (keyboard, virtual terminals, etc.).
 
@@ -19,15 +18,17 @@ description
        fonts, the virtual terminals and font files.
 end
 
-source_dl  =
-sources   += kbd-latarcyrheb-16-fixed.tar.bz2
-sources   += kbd-latsun-fonts.tar.bz2
+source_dl  = https://github.com/legionus/kbd/archive/refs/tags/v%{version}.tar.gz/#
+sources    = %{thisapp}.tar.gz
 
 build
        requires
+               autoconf
+               automake
                bison
                flex
-               gettext
+               gettext-devel
+               pam-devel
        end
 
        configure_options += \
@@ -36,15 +37,8 @@ build
                --enable-nls
 
        prepare_cmds
-               # Adding our own fonts.
-               cd %{DIR_APP}
-               %{MACRO_EXTRACT} %{DIR_DL}/kbd-latarcyrheb-16-fixed.tar.bz2
-               %{MACRO_EXTRACT} %{DIR_DL}/kbd-latsun-fonts.tar.bz2
-
                # 7-bit maps are obsolete; so are non-euro maps
                cd %{DIR_APP}/data/keymaps/i386
-               mv qwerty/fi.map qwerty/fi-old.map
-               cp qwerty/fi-latin9.map qwerty/fi.map
                cp qwerty/pt-latin9.map qwerty/pt.map
                cp qwerty/sv-latin1.map qwerty/se-latin1.map
                mv azerty/fr.map azerty/fr-old.map
@@ -52,7 +46,6 @@ build
                cp azerty/fr-latin9.map azerty/fr-latin0.map
 
                # Rename conflicting keymaps
-               mv dvorak/no.map dvorak/no-dvorak.map
                mv fgGIod/trf.map fgGIod/trf-fgGIod.map
                mv olpc/es.map olpc/es-olpc.map
                mv olpc/pt.map olpc/pt-olpc.map
@@ -61,6 +54,9 @@ build
                # remove obsolete "gr" translation
                cd %{DIR_APP}/po
                rm -f gr.po gr.gmo
+
+               # Run autogen
+               cd %{DIR_APP} && ./autogen.sh
        end
 end
 
diff --git a/kbd/patches/kbd-1.15-defkeymap.patch b/kbd/patches/kbd-1.15-defkeymap.patch
deleted file mode 100644 (file)
index 5e604b7..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -up kbd-1.15/src/paths.h.orig kbd-1.15/src/paths.h
---- kbd-1.15/src/paths.h.orig  2010-06-07 15:26:21.787315778 +0200
-+++ kbd-1.15/src/paths.h       2010-06-07 15:26:49.353336391 +0200
-@@ -19,7 +19,7 @@
- # define DEFMAP "sunkeymap.kmap"
- # define KERNDIR "/usr/src/linux/drivers/sbus/char"
- #else
--# define DEFMAP "defkeymap.kmap"
-+# define DEFMAP "defkeymap.map"
- # define KERNDIR "/usr/src/linux/drivers/char"
- #endif
diff --git a/kbd/patches/kbd-1.15-keycodes-man.patch b/kbd/patches/kbd-1.15-keycodes-man.patch
deleted file mode 100644 (file)
index d18a8c8..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-diff -up kbd-1.15/man/man1/showkey.1_old kbd-1.15/man/man1/showkey.1
---- kbd-1.15/man/man1/showkey.1_old    2008-03-13 17:46:23.000000000 +0100
-+++ kbd-1.15/man/man1/showkey.1        2008-12-10 12:31:38.000000000 +0100
-@@ -80,6 +80,19 @@ corresponds to what the keyboard hardwar
- to know the scan codes sent by various keys it is better to boot a
- 2.4 kernel. Since 2.6.9 there also is the boot option atkbd.softraw=0
- that tells the 2.6 kernel to return the actual scan codes.
-+
-+.SH NOTES
-+The raw scan codes are available only on AT and PS/2 keyboards,
-+and even then they are disabled unless the
-+.B atkbd.softraw=0
-+kernel parameter is used.
-+When the raw scan codes are not available, the kernel uses a fixed built-in
-+table to produce scan codes from keycodes.  Thus,
-+.BR setkeycodes (8)
-+can affect the output of
-+.B showkey
-+in scan code dump mode.
-+
- .SH "SEE ALSO"
- .BR loadkeys (1),
- .BR dumpkeys (1),
-diff -up kbd-1.15/man/man8/setkeycodes.8_old kbd-1.15/man/man8/setkeycodes.8
---- kbd-1.15/man/man8/setkeycodes.8_old        2008-12-10 12:31:56.000000000 +0100
-+++ kbd-1.15/man/man8/setkeycodes.8    2008-12-10 12:37:36.000000000 +0100
-@@ -41,6 +41,10 @@ to showkey(1), the command
- will assign the keycode 112 to it, and then loadkeys(1) can be used
- to define the function of this key.
-+USB keyboards have standardized keycodes and
-+.B setkeycodes
-+doesn't affect them at all.
-+
- .SH "2.6 KERNELS"
- In 2.6 kernels key codes lie in the range 1-255, instead of 1-127.
- (It might be best to confine oneself to the range 1-239.)
-@@ -54,6 +58,14 @@ None.
- .SH BUGS
- The keycodes of X have nothing to do with those of Linux.
- Unusual keys can be made visible under Linux, but not under X.
-+
-+.B setkeycodes
-+affects only the "first" input device
-+that has modifiable scancode-to-keycode mapping.
-+If there is more than one such device,
-+.B setkeycodes
-+cannot change the mapping of other devices than the "first" one.
-+
- .SH "SEE ALSO"
- .I "dumpkeys (1), loadkeys (1), showkey (1), getkeycodes (8)"
diff --git a/kbd/patches/kbd-1.15-resizecon-x86_64.patch b/kbd/patches/kbd-1.15-resizecon-x86_64.patch
deleted file mode 100644 (file)
index 5e8350a..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-diff -up kbd-1.15/configure_old kbd-1.15/configure
---- kbd-1.15/configure_old     2009-01-08 15:11:04.000000000 +0100
-+++ kbd-1.15/configure 2009-01-08 15:11:45.000000000 +0100
-@@ -7637,8 +7637,9 @@ fi
- case $host_cpu in
--      i?86*) RESIZECONS_PROGS=yes ;;
--      *)     RESIZECONS_PROGS=no ;;
-+      i?86*)   RESIZECONS_PROGS=yes ;;
-+      x86_64*) RESIZECONS_PROGS=yes ;;
-+      *)       RESIZECONS_PROGS=no ;;
- esac
-  if test "$RESIZECONS_PROGS" = "yes"; then
-   RESIZECONS_PROGS_TRUE=
diff --git a/kbd/patches/kbd-1.15-unicode_start.patch b/kbd/patches/kbd-1.15-unicode_start.patch
deleted file mode 100644 (file)
index 41827cc..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-diff -up kbd-1.15/src/unicode_start_old kbd-1.15/src/unicode_start
---- kbd-1.15/src/unicode_start_old     2009-01-08 13:34:10.000000000 +0100
-+++ kbd-1.15/src/unicode_start 2009-01-08 14:02:12.000000000 +0100
-@@ -72,6 +72,9 @@ stty iutf8
- # have a Unicode map attached, or explicitly specified, e.g.,
- # by giving `def.uni' as a second argument.
-+DEFAULT_UNICODE_FONT=latarcyrheb-sun16
-+# Also drdos8x16 is a good candidate.
-+
- case "$#" in
-       2)
-               setfont "$1" -u "$2"
-@@ -80,6 +83,7 @@ case "$#" in
-               setfont "$1"
-               ;;
-       0)
-+              setfont $DEFAULT_UNICODE_FONT
-               ;;
-       *)
-               echo "usage: unicode_start [font [unicode map]]"
diff --git a/kbd/patches/kbd-1.15.3-dumpkeys-man.patch b/kbd/patches/kbd-1.15.3-dumpkeys-man.patch
deleted file mode 100644 (file)
index e77718b..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-diff -up kbd-1.15.3/man/man1/dumpkeys.1.in.orig kbd-1.15.3/man/man1/dumpkeys.1.in
---- kbd-1.15.3/man/man1/dumpkeys.1.in.orig     2011-08-23 13:06:16.905892768 +0200
-+++ kbd-1.15.3/man/man1/dumpkeys.1.in  2011-08-23 13:15:18.264853435 +0200
-@@ -156,6 +156,14 @@ output of
- .BR dumpkeys .
- .LP
- .TP
-+.B \-1 \-\-separate-lines
-+This forces
-+.B dumpkeys
-+to write one line per (modifier,keycode) pair. It prefixes the word
-+.I plain
-+for plain keycodes.
-+.LP
-+.TP
- .B \-\-funcs-only
- When this option is given,
- .B dumpkeys
diff --git a/kbd/patches/kbd-1.15.3-fix-es-translation.patch b/kbd/patches/kbd-1.15.3-fix-es-translation.patch
deleted file mode 100644 (file)
index 9d43d8d..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -up kbd-1.15.3/po/es.po.orig kbd-1.15.3/po/es.po
---- kbd-1.15.3/po/es.po.orig   2011-08-22 15:18:35.262343023 +0200
-+++ kbd-1.15.3/po/es.po        2011-08-22 15:19:14.844340262 +0200
-@@ -1363,7 +1363,7 @@ msgstr "No se encontró nada que guardar
- #: src/setfont.c:682
- #, c-format
- msgid "Saved %d-char %dx%d font file on %s\n"
--msgstr "Se ha guardado el fichero de tipos %2$dx%3$d de %1$d caracteres en %s\n"
-+msgstr "Se ha guardado el fichero de tipos %dx%d de %d caracteres en %s\n"
- #: src/setkeycodes.c:21
- #, c-format
diff --git a/kbd/patches/kbd-2.5.1-backspace-1.patch b/kbd/patches/kbd-2.5.1-backspace-1.patch
new file mode 100644 (file)
index 0000000..8fec171
--- /dev/null
@@ -0,0 +1,250 @@
+Submitted By: Matt Burgess
+Date: 2008-12-06
+Initial Package Version: 1.15
+Upstream Status: Not submitted, possibly incomplete
+Description: Makes Backspace and Delete keys consistent in all i386 keymaps.
+Makes the Backspace key send character code 127, and Delete send a well known
+escape sequence. Obsoletes the /etc/kbd/bs-sends-del file for i386.
+
+Original patch for 1.12 by Alexander Patrakov.
+Updated for 1.13 (drop ru.map, the change is upstream, and add ru_win.map,
+ru-cp1251.map) by Ken Moffat <ken at linuxfromscratch dot org>.
+Re-diffed against 1.15 by Matt Burgess <matthew at linuxfromscratch.org>.
+
+diff -Naur kbd-1.15.orig/data/keymaps/i386/dvorak/dvorak-l.map kbd-1.15/data/keymaps/i386/dvorak/dvorak-l.map
+--- kbd-1.15.orig/data/keymaps/i386/dvorak/dvorak-l.map        2008-06-20 12:36:01.000000000 +0100
++++ kbd-1.15/data/keymaps/i386/dvorak/dvorak-l.map     2008-12-03 22:27:55.000000000 +0000
+@@ -43,7 +43,7 @@
+               keycode  11 = three             numbersign
+               keycode  12 = two               at
+               keycode  13 = one               exclam
+-              keycode  14 = BackSpace         Delete
++              keycode  14 = Delete            Delete
+ ! --------------------------------------------------------------------------
+ ! Row 3
+ ! --------------------------------------------------------------------------
+diff -Naur kbd-1.15.orig/data/keymaps/i386/dvorak/dvorak-r.map kbd-1.15/data/keymaps/i386/dvorak/dvorak-r.map
+--- kbd-1.15.orig/data/keymaps/i386/dvorak/dvorak-r.map        2008-06-20 12:36:01.000000000 +0100
++++ kbd-1.15/data/keymaps/i386/dvorak/dvorak-r.map     2008-12-03 22:28:13.000000000 +0000
+@@ -43,7 +43,7 @@
+               keycode  11 = slash             question
+               keycode  12 = bracketleft       braceleft
+               keycode  13 = bracketright      braceright
+-              keycode  14 = BackSpace         Delete
++              keycode  14 = Delete            Delete
+ ! --------------------------------------------------------------------------
+ ! Row 3
+ ! --------------------------------------------------------------------------
+diff -Naur kbd-1.15.orig/data/keymaps/i386/fgGIod/tr_f-latin5.map kbd-1.15/data/keymaps/i386/fgGIod/tr_f-latin5.map
+--- kbd-1.15.orig/data/keymaps/i386/fgGIod/tr_f-latin5.map     2008-10-23 20:03:58.000000000 +0100
++++ kbd-1.15/data/keymaps/i386/fgGIod/tr_f-latin5.map  2008-12-03 22:40:32.000000000 +0000
+@@ -51,7 +51,7 @@
+       alt     keycode  12 = Meta_minus      
+ keycode  13 = minus            underscore      
+       alt     keycode  13 = Meta_equal      
+-keycode  14 = BackSpace           Delete          
++keycode  14 = Delete           Delete          
+       alt     keycode  14 = Meta_Delete     
+ keycode  15 = Tab              Meta_Tab             
+       alt     keycode  15 = Meta_Tab        
+diff -Naur kbd-1.15.orig/data/keymaps/i386/qwerty/lt.l4.map kbd-1.15/data/keymaps/i386/qwerty/lt.l4.map
+--- kbd-1.15.orig/data/keymaps/i386/qwerty/lt.l4.map   2008-10-23 20:03:59.000000000 +0100
++++ kbd-1.15/data/keymaps/i386/qwerty/lt.l4.map        2008-12-03 22:42:14.000000000 +0000
+@@ -205,7 +205,7 @@
+ #     edit this if you want the key above <Enter> to delete symbols above
+ # cursor, not before.
+ keycode  14 = \
+-            BackSpace        BackSpace        BackSpace        BackSpace  \
++            Delete           Delete           Delete           Delete      \
+             Delete           Delete           Delete           Delete      \
+             Meta_BackSpace   Meta_BackSpace   Meta_BackSpace Meta_BackSpace \
+             Meta_Delete      Meta_Delete      Meta_Delete      Meta_Delete  
+@@ -506,7 +506,7 @@
+ # Edit this if you want strict VT100 emulation.
+ string F111 = "\033[3$"
+-keycode 111 = Delete         F111             Delete           F111      \
++keycode 111 = Remove         F111             Remove           F111      \
+             Remove           Remove           Remove           Remove     \
+             Meta_Delete      Meta_Delete      Meta_Delete      Meta_Delete \
+             Boot             Boot             Boot             Boot
+diff -Naur kbd-1.15.orig/data/keymaps/i386/qwerty/lt.map kbd-1.15/data/keymaps/i386/qwerty/lt.map
+--- kbd-1.15.orig/data/keymaps/i386/qwerty/lt.map      2008-10-23 20:03:59.000000000 +0100
++++ kbd-1.15/data/keymaps/i386/qwerty/lt.map   2008-12-03 22:42:58.000000000 +0000
+@@ -204,7 +204,7 @@
+ #     edit this if you want the key above <Enter> to delete symbols above
+ # cursor, not before.
+ keycode  14 = \
+-            BackSpace        BackSpace        BackSpace        BackSpace  \
++            Delete           Delete           Delete           Delete      \
+             Delete           Delete           Delete           Delete      \
+             Meta_BackSpace   Meta_BackSpace   Meta_BackSpace Meta_BackSpace \
+             Meta_Delete      Meta_Delete      Meta_Delete      Meta_Delete  
+@@ -505,7 +505,7 @@
+ # Edit this if you want strict VT100 emulation.
+ string F111 = "\033[3$"
+-keycode 111 = Delete         F111             Delete           F111      \
++keycode 111 = Remove         F111             Remove           F111      \
+             Remove           Remove           Remove           Remove     \
+             Meta_Delete      Meta_Delete      Meta_Delete      Meta_Delete \
+             Boot             Boot             Boot             Boot
+diff -Naur kbd-1.15.orig/data/keymaps/i386/qwerty/no-latin1.map kbd-1.15/data/keymaps/i386/qwerty/no-latin1.map
+--- kbd-1.15.orig/data/keymaps/i386/qwerty/no-latin1.map       2008-06-20 12:36:00.000000000 +0100
++++ kbd-1.15/data/keymaps/i386/qwerty/no-latin1.map    2008-12-03 22:44:25.000000000 +0000
+@@ -3,7 +3,7 @@
+ # Send comments to Kjetil T. Homme <kjetilho@ifi.uio.no>
+ include "linux-with-alt-and-altgr"
+       plain keycode  83 = KP_Comma
+-      plain keycode 111 = Delete              # "Remove" originally, weird...
++      plain keycode 111 = Remove
+ strings as usual
+       keycode   1 = Escape
+diff -Naur kbd-1.15.orig/data/keymaps/i386/qwerty/ru1.map kbd-1.15/data/keymaps/i386/qwerty/ru1.map
+--- kbd-1.15.orig/data/keymaps/i386/qwerty/ru1.map     2008-10-23 20:03:59.000000000 +0100
++++ kbd-1.15/data/keymaps/i386/qwerty/ru1.map  2008-12-03 22:45:32.000000000 +0000
+@@ -143,8 +143,8 @@
+ # The keycode "0xFF" is too dangerous for many programs (including emacs).
+ # So let it be bracket instead of Hard Sign.
+-# altgr               keycode  27 =   +0xDF
+-# altgr       shift   keycode  27 =   +0xFF
++altgr         keycode  27 =   +0xDF
++altgr shift   keycode  27 =   +0xFF
+       control keycode  27 =   Control_bracketright
+ altgr control keycode  27 =   Control_bracketright
+       alt     keycode  27 =   Meta_bracketright
+diff -Naur kbd-1.15.orig/data/keymaps/i386/qwerty/ru2.map kbd-1.15/data/keymaps/i386/qwerty/ru2.map
+--- kbd-1.15.orig/data/keymaps/i386/qwerty/ru2.map     2008-10-23 20:03:59.000000000 +0100
++++ kbd-1.15/data/keymaps/i386/qwerty/ru2.map  2008-12-03 22:46:15.000000000 +0000
+@@ -46,7 +46,7 @@
+       alt     keycode  12 =   Meta_minus
+               keycode  13 =   equal   plus            equal   plus
+       alt     keycode  13 =   Meta_equal
+-              keycode  14 =   BackSpace BackSpace     BackSpace BackSpace
++              keycode  14 =   Delete Delete   Delete Delete
+       alt     keycode  14 =   Meta_Delete
+               keycode  15 =   Tab     Tab             Tab     Tab     
+       alt     keycode  15 =   Meta_Tab        
+diff -Naur kbd-1.15.orig/data/keymaps/i386/qwerty/ru-cp1251.map kbd-1.15/data/keymaps/i386/qwerty/ru-cp1251.map
+--- kbd-1.15.orig/data/keymaps/i386/qwerty/ru-cp1251.map       2008-10-23 20:03:59.000000000 +0100
++++ kbd-1.15/data/keymaps/i386/qwerty/ru-cp1251.map    2008-12-03 22:47:12.000000000 +0000
+@@ -39,7 +39,7 @@
+       alt     keycode  12 =   Meta_minus
+               keycode  13 =   equal   plus            equal   plus
+       alt     keycode  13 =   Meta_equal
+-              keycode  14 =   BackSpace
++              keycode  14 =   Delete
+       alt     keycode  14 =   Meta_Delete
+               keycode  15 =   Tab
+       alt     keycode  15 =   Meta_Tab        
+diff -Naur kbd-1.15.orig/data/keymaps/i386/qwerty/ru-ms.map kbd-1.15/data/keymaps/i386/qwerty/ru-ms.map
+--- kbd-1.15.orig/data/keymaps/i386/qwerty/ru-ms.map   2008-10-23 20:03:59.000000000 +0100
++++ kbd-1.15/data/keymaps/i386/qwerty/ru-ms.map        2008-12-03 22:48:10.000000000 +0000
+@@ -89,8 +89,8 @@
+ altgr alt     keycode  13 =    Meta_equal
+       shift alt keycode  13 =         Meta_plus
+ altgr shift alt keycode  13 =         Meta_plus
+-              keycode  14 =   BackSpace  BackSpace  BackSpace  BackSpace
+-#             keycode  14 =   Delete  Delete  Delete  Delete
++#             keycode  14 =   BackSpace  BackSpace  BackSpace  BackSpace
++              keycode  14 =   Delete  Delete  Delete  Delete
+       alt     keycode  14 =   Meta_Delete
+ altgr alt     keycode  14 =   Meta_Delete
+               keycode  15 =   Tab     Tab             Tab     Tab     
+diff -Naur kbd-1.15.orig/data/keymaps/i386/qwerty/ru_win.map kbd-1.15/data/keymaps/i386/qwerty/ru_win.map
+--- kbd-1.15.orig/data/keymaps/i386/qwerty/ru_win.map  2008-10-23 20:03:59.000000000 +0100
++++ kbd-1.15/data/keymaps/i386/qwerty/ru_win.map       2008-12-03 22:49:17.000000000 +0000
+@@ -42,7 +42,7 @@
+       alt     keycode  12 =   Meta_minus
+               keycode  13 =   equal   plus            equal   plus
+       alt     keycode  13 =   Meta_equal
+-              keycode  14 =   BackSpace BackSpace     BackSpace BackSpace
++              keycode  14 =   Delete Delete   Delete Delete
+       alt     keycode  14 =   Meta_Delete
+               keycode  15 =   Tab     Tab             Tab     Tab     
+       alt     keycode  15 =   Meta_Tab        
+diff -Naur kbd-1.15.orig/data/keymaps/i386/qwerty/se-ir209.map kbd-1.15/data/keymaps/i386/qwerty/se-ir209.map
+--- kbd-1.15.orig/data/keymaps/i386/qwerty/se-ir209.map        2008-10-23 20:03:59.000000000 +0100
++++ kbd-1.15/data/keymaps/i386/qwerty/se-ir209.map     2008-12-03 22:50:18.000000000 +0000
+@@ -345,7 +345,7 @@
+       keycode 109 = Next      Scroll_Forward
+       keycode 110 = Insert
+-      keycode 111 = Delete            # "Remove" originally, weird...
++      keycode 111 = Remove
+ control alt   keycode 111 = Boot
+ control altgr keycode 111 = Boot
+diff -Naur kbd-1.15.orig/data/keymaps/i386/qwerty/se-lat6.map kbd-1.15/data/keymaps/i386/qwerty/se-lat6.map
+--- kbd-1.15.orig/data/keymaps/i386/qwerty/se-lat6.map 2008-10-23 20:03:59.000000000 +0100
++++ kbd-1.15/data/keymaps/i386/qwerty/se-lat6.map      2008-12-03 22:50:44.000000000 +0000
+@@ -374,6 +374,6 @@
+       keycode 109 = Next      Scroll_Forward
+       keycode 110 = Insert
+-      keycode 111 = Delete            # "Remove" originally, weird...
++      keycode 111 = Remove
+ control alt   keycode 111 = Boot
+ control altgr keycode 111 = Boot
+diff -Naur kbd-1.15.orig/data/keymaps/i386/qwerty/tr_q-latin5.map kbd-1.15/data/keymaps/i386/qwerty/tr_q-latin5.map
+--- kbd-1.15.orig/data/keymaps/i386/qwerty/tr_q-latin5.map     2008-10-23 20:03:59.000000000 +0100
++++ kbd-1.15/data/keymaps/i386/qwerty/tr_q-latin5.map  2008-12-03 22:52:09.000000000 +0000
+@@ -49,7 +49,7 @@
+       alt     keycode  12 = Meta_minus
+ keycode  13 = minus            underscore
+       alt     keycode  13 = Meta_equal
+-keycode  14 = BackSpace           Delete
++keycode  14 = Delete           Delete
+       alt     keycode  14 = Meta_Delete
+ keycode  15 = Tab              Meta_Tab
+       alt     keycode  15 = Meta_Tab
+diff -Naur kbd-1.15.orig/data/keymaps/i386/qwerty/ua.map kbd-1.15/data/keymaps/i386/qwerty/ua.map
+--- kbd-1.15.orig/data/keymaps/i386/qwerty/ua.map      2008-10-23 20:03:59.000000000 +0100
++++ kbd-1.15/data/keymaps/i386/qwerty/ua.map   2008-12-03 22:52:52.000000000 +0000
+@@ -249,7 +249,7 @@
+       shift ctrll ctrlr keycode  13 = plus
+       alt ctrll ctrlr keycode  13 = Meta_equal
+       shift alt ctrll ctrlr keycode  13 = Meta_plus
+-keycode  14 = BackSpace           Delete          
++keycode  14 = Delete           Delete          
+       control keycode  14 = BackSpace       
+       alt     keycode  14 = Meta_Delete     
+       ctrlr   keycode  14 = BackSpace
+diff -Naur kbd-1.15.orig/data/keymaps/i386/qwerty/ua-utf.map kbd-1.15/data/keymaps/i386/qwerty/ua-utf.map
+--- kbd-1.15.orig/data/keymaps/i386/qwerty/ua-utf.map  2008-10-23 20:03:59.000000000 +0100
++++ kbd-1.15/data/keymaps/i386/qwerty/ua-utf.map       2008-12-03 22:53:36.000000000 +0000
+@@ -250,7 +250,7 @@
+       shift ctrll ctrlr keycode  13 = plus
+       alt ctrll ctrlr keycode  13 = Meta_equal
+       shift alt ctrll ctrlr keycode  13 = Meta_plus
+-keycode  14 = BackSpace           Delete          
++keycode  14 = Delete           Delete          
+       control keycode  14 = BackSpace       
+       alt     keycode  14 = Meta_Delete     
+       ctrlr   keycode  14 = BackSpace
+diff -Naur kbd-1.15.orig/data/keymaps/i386/qwerty/ua-utf-ws.map kbd-1.15/data/keymaps/i386/qwerty/ua-utf-ws.map
+--- kbd-1.15.orig/data/keymaps/i386/qwerty/ua-utf-ws.map       2008-10-23 20:03:59.000000000 +0100
++++ kbd-1.15/data/keymaps/i386/qwerty/ua-utf-ws.map    2008-12-03 22:54:06.000000000 +0000
+@@ -260,7 +260,7 @@
+       shift ctrll ctrlr keycode  13 = plus
+       alt ctrll ctrlr keycode  13 = Meta_equal
+       shift alt ctrll ctrlr keycode  13 = Meta_plus
+-keycode  14 = BackSpace           Delete          
++keycode  14 = Delete           Delete          
+       control keycode  14 = BackSpace       
+       alt     keycode  14 = Meta_Delete     
+       ctrlr   keycode  14 = BackSpace
+diff -Naur kbd-1.15.orig/data/keymaps/i386/qwerty/ua-ws.map kbd-1.15/data/keymaps/i386/qwerty/ua-ws.map
+--- kbd-1.15.orig/data/keymaps/i386/qwerty/ua-ws.map   2008-10-23 20:03:59.000000000 +0100
++++ kbd-1.15/data/keymaps/i386/qwerty/ua-ws.map        2008-12-03 22:54:23.000000000 +0000
+@@ -260,7 +260,7 @@
+       shift ctrll ctrlr keycode  13 = plus
+       alt ctrll ctrlr keycode  13 = Meta_equal
+       shift alt ctrll ctrlr keycode  13 = Meta_plus
+-keycode  14 = BackSpace           Delete          
++keycode  14 = Delete           Delete          
+       control keycode  14 = BackSpace       
+       alt     keycode  14 = Meta_Delete     
+       ctrlr   keycode  14 = BackSpace
diff --git a/kbd/vlock.pamd b/kbd/vlock.pamd
new file mode 100644 (file)
index 0000000..d2d47e5
--- /dev/null
@@ -0,0 +1,3 @@
+#%PAM-1.0
+auth       include      system-auth
+account    required     pam_permit.so
diff --git a/kea/kea.nm b/kea/kea.nm
new file mode 100644 (file)
index 0000000..1b4fb34
--- /dev/null
@@ -0,0 +1,116 @@
+###############################################################################
+# IPFire.org    - An Open Source Firewall Solution                            #
+# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
+###############################################################################
+
+name       = kea
+version    = 2.3.5
+release    = 2.1
+
+groups     = System/Daemons
+url        = https://kea.isc.org
+license    = MPLv2.0 and Boost
+summary    = DHCPv4, DHCPv6 and DDNS server from ISC
+
+description
+       DHCP implementation from Internet Systems Consortium, Inc. that features
+       fully functional DHCPv4, DHCPv6 and Dynamic DNS servers.
+       
+       Both DHCP servers fully support server discovery, address assignment,
+       renewal, rebinding and release. The DHCPv6 server supports prefix delegation.
+       Both servers support DNS Update mechanism, using stand-alone DDNS daemon.
+end
+
+source_dl  = https://ftp.isc.org/isc/kea/%{version}/
+sources    = %{thisapp}.tar.gz
+
+build
+       requires
+               gcc-c++
+               bison
+               boost-devel
+               flex
+               log4cplus-devel
+               openssl-devel
+       end
+
+       configure_options += \
+               --disable-dependency-tracking \
+               --disable-rpath \
+               --disable-silent-rules \
+               --disable-static \
+               --enable-generate-parser \
+               --enable-shell \
+               --with-openssl \
+               --with-log4cplus
+
+       install_cmds
+               # Start empty lease databases
+               mkdir -pv %{BUILDROOT}%{sharedstatedir}/kea/
+               touch %{BUILDROOT}%{sharedstatedir}/kea/kea-leases4.csv
+               touch %{BUILDROOT}%{sharedstatedir}/kea/kea-leases6.csv
+
+               # Drop /var/run
+               rm -rvf %{BUILDROOT}%{localstatedir}/run
+       end
+end
+
+packages
+       package %{name}
+               prerequires
+                       systemd
+               end
+
+               configfiles
+                       %{sysconfdir}/kea/kea-ctrl-agent.conf
+                       %{sysconfdir}/kea/kea-dhcp-ddns.conf
+                       %{sysconfdir}/kea/kea-dhcp4.conf
+                       %{sysconfdir}//kea/kea-dhcp6.conf
+                       %{sysconfdir}/kea/keactrl.conf
+               end
+
+               datafiles
+                       %{sharedstatedir}/kea/kea-leases4.csv
+                       %{sharedstatedir}/kea/kea-leases6.csv
+               end
+
+               script postin
+                       /usr/bin/systemctl daemon-reload >/dev/null 2>&1 || :
+               end
+
+               script preun
+                       /usr/bin/systemctl --no-reload disable kea-ctrl-agent.service >/dev/null 2>&1 || :
+                       /usr/bin/systemctl --no-reload disable kea-dhcp4.service >/dev/null 2>&1 || :
+                       /usr/bin/systemctl --no-reload disable kea-dhcp6.service >/dev/null 2>&1 || :
+                       /usr/bin/systemctl --no-reload disable kea-dhcp-ddns.service >/dev/null 2>&1 || :
+                       /usr/bin/systemctl stop kea-ctrl-agent.service >/dev/null 2>&1 || :
+                       /usr/bin/systemctl stop kea-dhcp4.service >/dev/null 2>&1 || :
+                       /usr/bin/systemctl stop kea-dhcp6.service >/dev/null 2>&1 || :
+                       /usr/bin/systemctl stop kea-dhcp-ddns.service >/dev/null 2>&1 || :
+               end
+
+               script postun
+                       /usr/bin/systemctl daemon-reload >/dev/null 2>&1 || :
+               end
+
+               script postup
+                       /usr/bin/systemctl daemon-reload >/dev/null 2>&1 || :
+                       /usr/bin/systemctl try-restart kea-ctrl-agent.service >/dev/null 2>&1 || :
+                       /usr/bin/systemctl try-restart kea-dhcp4.service >/dev/null 2>&1 || :
+                       /usr/bin/systemctl try-restart kea-dhcp6.service >/dev/null 2>&1 || :
+                       /usr/bin/systemctl try-restart kea-dhcp-ddns.service >/dev/null 2>&1 || :
+               end
+       end
+
+       package %{name}-libs
+               template LIBS
+       end
+
+       package %{name}-devel
+               template DEVEL
+       end
+
+       package %{name}-debuginfo
+               template DEBUGINFO
+       end
+end
diff --git a/kea/kea.tmpfiles b/kea/kea.tmpfiles
new file mode 100644 (file)
index 0000000..0b3abeb
--- /dev/null
@@ -0,0 +1 @@
+d /run/kea 0755 root root -
diff --git a/kea/patches/kea-2.2.0-configure-fix-python3-version.patch b/kea/patches/kea-2.2.0-configure-fix-python3-version.patch
new file mode 100644 (file)
index 0000000..97a3f3a
--- /dev/null
@@ -0,0 +1,12 @@
+diff -Nur a/configure b/configure
+--- a/configure        2023-02-28 07:56:13.629233758 +0000
++++ b/configure        2023-02-28 07:53:19.994816726 +0000
+@@ -22765,7 +22765,7 @@
+ if ${am_cv_python_version+:} false; then :
+   $as_echo_n "(cached) " >&6
+ else
+-  am_cv_python_version=`$PYTHON -c "import sys; sys.stdout.write(sys.version[:3])"`
++  am_cv_python_version=`$PYTHON -c "import sys; sys.stdout.write(sys.version[:4])"`
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_version" >&5
+ $as_echo "$am_cv_python_version" >&6; }
diff --git a/kea/systemd/kea-ctrl-agent.service b/kea/systemd/kea-ctrl-agent.service
new file mode 100644 (file)
index 0000000..b5c860c
--- /dev/null
@@ -0,0 +1,13 @@
+[Unit]
+Description=Kea Control Agent
+Documentation=man:kea-ctrl-agent(8)
+Wants=network-online.target
+After=network-online.target
+After=time-sync.target
+
+[Service]
+ExecStart=/usr/sbin/kea-ctrl-agent -c /etc/kea/kea-ctrl-agent.conf
+Environment=KEA_PIDFILE_DIR=/var/run/kea
+
+[Install]
+WantedBy=multi-user.target
diff --git a/kea/systemd/kea-dhcp-ddns.service b/kea/systemd/kea-dhcp-ddns.service
new file mode 100644 (file)
index 0000000..5fdbe0b
--- /dev/null
@@ -0,0 +1,13 @@
+[Unit]
+Description=Kea DHCP-DDNS Server
+Documentation=man:kea-dhcp-ddns(8)
+Wants=network-online.target
+After=network-online.target
+After=time-sync.target
+
+[Service]
+ExecStart=/usr/sbin/kea-dhcp-ddns -c /etc/kea/kea-dhcp-ddns.conf
+Environment=KEA_PIDFILE_DIR=/var/run/kea
+
+[Install]
+WantedBy=multi-user.target
diff --git a/kea/systemd/kea-dhcp4.service b/kea/systemd/kea-dhcp4.service
new file mode 100644 (file)
index 0000000..0a72768
--- /dev/null
@@ -0,0 +1,13 @@
+[Unit]
+Description=Kea DHCPv4 Server
+Documentation=man:kea-dhcp4(8)
+Wants=network-online.target
+After=network-online.target
+After=time-sync.target
+
+[Service]
+ExecStart=/usr/sbin/kea-dhcp4 -c /etc/kea/kea-dhcp4.conf
+Environment=KEA_PIDFILE_DIR=/var/run/kea
+
+[Install]
+WantedBy=multi-user.target
diff --git a/kea/systemd/kea-dhcp6.service b/kea/systemd/kea-dhcp6.service
new file mode 100644 (file)
index 0000000..e1fc05a
--- /dev/null
@@ -0,0 +1,13 @@
+[Unit]
+Description=Kea DHCPv6 Server
+Documentation=man:kea-dhcp6(8)
+Wants=network-online.target
+After=network-online.target
+After=time-sync.target
+
+[Service]
+ExecStart=/usr/sbin/kea-dhcp6 -c /etc/kea/kea-dhcp6.conf
+Environment=KEA_PIDFILE_DIR=/var/run/kea
+
+[Install]
+WantedBy=multi-user.target
diff --git a/keepalived/keepalived.nm b/keepalived/keepalived.nm
deleted file mode 100644 (file)
index 1220727..0000000
+++ /dev/null
@@ -1,80 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = keepalived
-version    = 1.2.7
-release    = 1
-
-groups     = Applications/System
-url        = http://www.keepalived.org/
-license    = GPLv2+
-summary    = High Availability monitor built upon LVS, VRRP and service pollers.
-
-description
-       The main goal of the keepalived project is to add a strong & robust keepalive
-       facility to the Linux Virtual Server project. This project is written in C with
-       multilayer TCP/IP stack checks. Keepalived implements a framework based on
-       three family checks : Layer3, Layer4 & Layer5/7. This framework gives the
-       daemon the ability to check the state of an LVS server pool. When one of the
-       servers of the LVS server pool is down, keepalived informs the linux kernel via
-       a setsockopt call to remove this server entry from the LVS topology. In
-       addition keepalived implements an independent VRRPv2 stack to handle director
-       failover. So in short keepalived is a userspace daemon for LVS cluster nodes
-       healthchecks and LVS directors failover.
-end
-
-source_dl  = http://www.keepalived.org/software/
-
-build
-       requires
-               kernel-devel
-               net-snmp-devel >= 5.7.2-2
-               libnl-devel
-               openssl-devel
-               popt-devel
-       end
-
-       configure_options += \
-               --enable-snmp \
-               --enable-vrrp
-
-       make_targets += STRIP=/bin/true
-
-       test
-               # A build could silently have LVS support disabled if the kernel includes can't
-               # be properly found, we need to avoid that.
-               if ! grep -q "IPVS_SUPPORT='_WITH_LVS_'" config.log; then
-                       echo "ERROR: We do not want keeepalived lacking LVS support."
-                       exit 1
-               fi
-       end
-
-       install_cmds
-               rm -rvf %{BUILDROOT}/etc/rc.d \
-                       %{BUILDROOT}/etc/keepalived/samples
-       end
-end
-
-packages
-       package %{name}
-               postin
-                       /bin/systemctl daemon-reload >/dev/null 2>&1 || :
-               end
-
-               postun
-                       /bin/systemctl --no-reload disabled keepalived.service >/dev/null 2>&1 || :
-                       /bin/systemctl stop keepalived.service >/dev/null 2>&1 || :
-               end
-
-               postup
-                       /bin/systemctl daemon-reload >/dev/null 2>&1 || :
-                       /bin/systemctl try-restart keepalived.service >/dev/null 2>&1 || :
-               end
-       end
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
diff --git a/keepalived/patches/keepalived-1.2.7-dont-respawn-children.patch b/keepalived/patches/keepalived-1.2.7-dont-respawn-children.patch
deleted file mode 100644 (file)
index f03df93..0000000
+++ /dev/null
@@ -1,109 +0,0 @@
-From 12e58a6c40b3bfa18f0db5db9e36ed09f68d7a0c Mon Sep 17 00:00:00 2001
-From: Ryan O'Hara <rohara@redhat.com>
-Date: Mon, 29 Oct 2012 14:10:57 -0500
-Subject: [PATCH 01/10] Add option to prevent respawn of child processes.
-
-This patch adds a command-line option (--dont-respawn, -R) that will
-prevent the child processes from respawning. When this option is
-specified, if either the checker or vrrp child processes exit the
-parent process will raise the SIGTERM signal and exit.
-
-Signed-off-by: Ryan O'Hara <rohara@redhat.com>
----
- keepalived/check/check_daemon.c |    9 +++++++--
- keepalived/core/main.c          |   10 +++++++++-
- keepalived/vrrp/vrrp_daemon.c   |    9 +++++++--
- 3 files changed, 23 insertions(+), 5 deletions(-)
-
-diff --git a/keepalived/check/check_daemon.c b/keepalived/check/check_daemon.c
-index 1119075..68759f4 100644
---- a/keepalived/check/check_daemon.c
-+++ b/keepalived/check/check_daemon.c
-@@ -227,8 +227,13 @@ check_respawn_thread(thread_t * thread)
-       }
-       /* We catch a SIGCHLD, handle it */
--      log_message(LOG_ALERT, "Healthcheck child process(%d) died: Respawning", pid);
--      start_check_child();
-+      if (!(debug & 64)) {
-+              log_message(LOG_ALERT, "Healthcheck child process(%d) died: Respawning", pid);
-+              start_check_child();
-+      } else {
-+              log_message(LOG_ALERT, "Healthcheck child process(%d) died: Exiting", pid);
-+              raise(SIGTERM);
-+      }
-       return 0;
- }
-diff --git a/keepalived/core/main.c b/keepalived/core/main.c
-index 57fa134..9445a4c 100644
---- a/keepalived/core/main.c
-+++ b/keepalived/core/main.c
-@@ -146,6 +146,7 @@ usage(const char *prog)
-               "  %s --check              -C    Only run with Health-checker subsystem.\n"
-               "  %s --dont-release-vrrp  -V    Dont remove VRRP VIPs & VROUTEs on daemon stop.\n"
-               "  %s --dont-release-ipvs  -I    Dont remove IPVS topology on daemon stop.\n"
-+              "  %s --dont-respawn       -R    Dont respawn child processes.\n"
-               "  %s --dont-fork          -n    Dont fork the daemon process.\n"
-               "  %s --use-file           -f    Use the specified configuration file.\n"
-               "                                Default is /etc/keepalived/keepalived.conf.\n"
-@@ -165,7 +166,7 @@ usage(const char *prog)
- #ifdef _WITH_SNMP_
-               prog,
- #endif
--              prog, prog, prog, prog, prog, prog, prog);
-+              prog, prog, prog, prog, prog, prog, prog, prog);
- }
- /* Command line parser */
-@@ -184,6 +185,7 @@ parse_cmdline(int argc, char **argv)
-               {"log-facility", 'S', POPT_ARG_STRING, &option_arg, 'S'},
-               {"dont-release-vrrp", 'V', POPT_ARG_NONE, NULL, 'V'},
-               {"dont-release-ipvs", 'I', POPT_ARG_NONE, NULL, 'I'},
-+              {"dont-respawn", 'R', POPT_ARG_NONE, NULL, 'R'},
-               {"dont-fork", 'n', POPT_ARG_NONE, NULL, 'n'},
-               {"dump-conf", 'd', POPT_ARG_NONE, NULL, 'd'},
-               {"use-file", 'f', POPT_ARG_STRING, &option_arg, 'f'},
-@@ -232,6 +234,9 @@ parse_cmdline(int argc, char **argv)
-       case 'D':
-               debug |= 32;
-               break;
-+      case 'R':
-+              debug |= 64;
-+              break;
-       case 'S':
-               log_facility = LOG_FACILITY[atoi(option_arg)].facility;
-               break;
-@@ -282,6 +287,9 @@ parse_cmdline(int argc, char **argv)
-               case 'D':
-                       debug |= 32;
-                       break;
-+              case 'R':
-+                      debug |= 64;
-+                      break;
-               case 'S':
-                       log_facility = LOG_FACILITY[atoi(option_arg)].facility;
-                       break;
-diff --git a/keepalived/vrrp/vrrp_daemon.c b/keepalived/vrrp/vrrp_daemon.c
-index 23ff09f..cee6c80 100644
---- a/keepalived/vrrp/vrrp_daemon.c
-+++ b/keepalived/vrrp/vrrp_daemon.c
-@@ -249,8 +249,13 @@ vrrp_respawn_thread(thread_t * thread)
-       }
-       /* We catch a SIGCHLD, handle it */
--      log_message(LOG_ALERT, "VRRP child process(%d) died: Respawning", pid);
--      start_vrrp_child();
-+      if (!(debug & 64)) {
-+              log_message(LOG_ALERT, "VRRP child process(%d) died: Respawning", pid);
-+              start_vrrp_child();
-+      } else {
-+              log_message(LOG_ALERT, "VRRP child process(%d) died: Exiting", pid);
-+              raise(SIGTERM);
-+      }
-       return 0;
- }
--- 
-1.7.1
-
diff --git a/keepalived/patches/keepalived-1.2.7-fix-error-message.patch b/keepalived/patches/keepalived-1.2.7-fix-error-message.patch
deleted file mode 100644 (file)
index b6f19be..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-From c04dfcae58d6449980e38ed5a555d1a86f363f71 Mon Sep 17 00:00:00 2001
-From: Ryan O'Hara <rohara@redhat.com>
-Date: Mon, 19 Nov 2012 10:09:11 -0600
-Subject: [PATCH 07/10] Fix typo in error messages.
-
-Signed-off-by: Ryan O'Hara <rohara@redhat.com>
----
- keepalived/vrrp/vrrp_ipaddress.c |    2 +-
- keepalived/vrrp/vrrp_iproute.c   |    2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/keepalived/vrrp/vrrp_ipaddress.c b/keepalived/vrrp/vrrp_ipaddress.c
-index c003b1a..51cd488 100644
---- a/keepalived/vrrp/vrrp_ipaddress.c
-+++ b/keepalived/vrrp/vrrp_ipaddress.c
-@@ -165,7 +165,7 @@ alloc_ipaddress(list ip_list, vector_t *strvec, interface *ifp)
-                       ifp_local = if_get_by_ifname(vector_slot(strvec, ++i));
-                       if (!ifp_local) {
-                               log_message(LOG_INFO, "VRRP is trying to assign VIP to unknown %s"
--                                     " interface !!! go out and fixe your conf !!!",
-+                                     " interface !!! go out and fix your conf !!!",
-                                      (char *)vector_slot(strvec, i));
-                               FREE(new);
-                               return;
-diff --git a/keepalived/vrrp/vrrp_iproute.c b/keepalived/vrrp/vrrp_iproute.c
-index a8feec4..464259c 100644
---- a/keepalived/vrrp/vrrp_iproute.c
-+++ b/keepalived/vrrp/vrrp_iproute.c
-@@ -203,7 +203,7 @@ alloc_route(list rt_list, vector_t *strvec)
-                       ifp = if_get_by_ifname(vector_slot(strvec, ++i));
-                       if (!ifp) {
-                               log_message(LOG_INFO, "VRRP is trying to assign VROUTE to unknown "
--                                     "%s interface !!! go out and fixe your conf !!!",
-+                                     "%s interface !!! go out and fix your conf !!!",
-                                      (char *)vector_slot(strvec, i));
-                               FREE(new);
-                               return;
--- 
-1.7.1
-
diff --git a/keepalived/patches/keepalived-1.2.7-fix-pointer-arithmetic-vrrp-packet.patch b/keepalived/patches/keepalived-1.2.7-fix-pointer-arithmetic-vrrp-packet.patch
deleted file mode 100644 (file)
index c4f942e..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-From f9264a16d6a651a15731ba43d917f0b311257d47 Mon Sep 17 00:00:00 2001
-From: Ryan O'Hara <rohara@redhat.com>
-Date: Fri, 16 Nov 2012 14:54:37 -0600
-Subject: [PATCH 05/10] Fix pointer arithmetic for VRRP packet
-
-When using IPSEC AH authentication, the pointer arithmetic used to get
-the location of the VRRP packet is incorrect. The address of the IPSEC
-header must be cast as (char *) in order to get correct address of the
-VRRP packet. Without this patch, vrrp_in_chk() will fail to verify
-incoming VRRP packets when IPSEC AH is enabled.
-
-Signed-off-by: Ryan O'Hara <rohara@redhat.com>
----
- keepalived/vrrp/vrrp.c |    2 +-
- 1 files changed, 1 insertions(+), 1 deletions(-)
-
-diff --git a/keepalived/vrrp/vrrp.c b/keepalived/vrrp/vrrp.c
-index 1248fb8..0a8bc3f 100644
---- a/keepalived/vrrp/vrrp.c
-+++ b/keepalived/vrrp/vrrp.c
-@@ -238,7 +238,7 @@ vrrp_in_chk(vrrp_rt * vrrp, char *buffer)
-               if (vrrp->auth_type == VRRP_AUTH_AH) {
-                       ah = (ipsec_ah *) (buffer + ihl);
--                      hd = (vrrp_pkt *) (ah + vrrp_ipsecah_len());
-+                      hd = (vrrp_pkt *) ((char *) ah + vrrp_ipsecah_len());
-               } else {
-                       hd = (vrrp_pkt *) (buffer + ihl);
-               }
--- 
-1.7.1
-
diff --git a/keepalived/patches/keepalived-1.2.7-fix-primary-ip-address-comparison.patch b/keepalived/patches/keepalived-1.2.7-fix-primary-ip-address-comparison.patch
deleted file mode 100644 (file)
index f2743ec..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-From 6e52cb884e3cab75ca5597b59027a11d982593ab Mon Sep 17 00:00:00 2001
-From: Boon Ang <boon.s.ang@gmail.com>
-Date: Thu, 6 Dec 2012 11:01:55 -0600
-Subject: [PATCH 09/10] Fix comparison of primary IP addresses.
-
-If a router in the master state receives an advertisement with
-priority equal to the local priority, it must also compare the primary
-IP addresses (RFC 3768, section 6.4.3). The code to handle this was
-comparing two IP addresses with different byte-ordering, resulting in
-multiple routers in the master state. This patches resolves the
-problem by coverting the local primary IP address to network byte
-order for the comparison.
-
-Signed-off-by: Ryan O'Hara <rohara@redhat.com>
----
- keepalived/vrrp/vrrp.c |    2 +-
- 1 files changed, 1 insertions(+), 1 deletions(-)
-
-diff --git a/keepalived/vrrp/vrrp.c b/keepalived/vrrp/vrrp.c
-index 0a8bc3f..a88deb3 100644
---- a/keepalived/vrrp/vrrp.c
-+++ b/keepalived/vrrp/vrrp.c
-@@ -923,7 +923,7 @@ vrrp_state_master_rx(vrrp_rt * vrrp, char *buf, int buflen)
-       } else if (vrrp->family == AF_INET) {
-               if (hd->priority > vrrp->effective_priority ||
-                   (hd->priority == vrrp->effective_priority &&
--                   ntohl(saddr) > VRRP_PKT_SADDR(vrrp))) {
-+                   ntohl(saddr) > ntohl(VRRP_PKT_SADDR(vrrp)))) {
-                       log_message(LOG_INFO, "VRRP_Instance(%s) Received higher prio advert"
-                                           , vrrp->iname);
-                       if (proto == IPPROTO_IPSEC_AH) {
--- 
-1.7.1
-
diff --git a/keepalived/patches/keepalived-1.2.7-fix-ssl-certificate-load.patch b/keepalived/patches/keepalived-1.2.7-fix-ssl-certificate-load.patch
deleted file mode 100644 (file)
index 8251d89..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-From 3cc70656961f0384b1db030e0697a00af0b30e65 Mon Sep 17 00:00:00 2001
-From: Ryan O'Hara <rohara@redhat.com>
-Date: Mon, 19 Nov 2012 09:51:50 -0600
-Subject: [PATCH 06/10] Load SSL certificate correctly.
-
-This patch fixes a problem where keepalived will attempt to load an
-SSL keyfile as a certificate, resulting in failure to initialize SSL
-context.
-
-Signed-off-by: Ryan O'Hara <rohara@redhat.com>
----
- keepalived/check/check_ssl.c |    4 ++--
- 1 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/keepalived/check/check_ssl.c b/keepalived/check/check_ssl.c
-index 618d9a4..574ba30 100644
---- a/keepalived/check/check_ssl.c
-+++ b/keepalived/check/check_ssl.c
-@@ -86,10 +86,10 @@ build_ssl_ctx(void)
-       }
-       /* Load our keys and certificates */
--      if (check_data->ssl->keyfile)
-+      if (check_data->ssl->certfile)
-               if (!
-                   (SSL_CTX_use_certificate_chain_file
--                   (ssl->ctx, check_data->ssl->keyfile))) {
-+                   (ssl->ctx, check_data->ssl->certfile))) {
-                       log_message(LOG_INFO,
-                              "SSL error : Cant load certificate file...");
-                       return 0;
--- 
-1.7.1
-
diff --git a/keepalived/patches/keepalived-1.2.7-remove-debug-messages.patch b/keepalived/patches/keepalived-1.2.7-remove-debug-messages.patch
deleted file mode 100644 (file)
index 87cc85a..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-From fd8665b424457accfa37703d4c9456be22ab8b53 Mon Sep 17 00:00:00 2001
-From: Ryan O'Hara <rohara@redhat.com>
-Date: Mon, 10 Dec 2012 13:25:01 -0600
-Subject: [PATCH 10/10] Remove log_message calls from if_get_by_ifname.
-
-The if_get_by_ifname function would log a message if either the
-if_queue list was empty or if the interface name was not present in
-the list. Since if_get_by_ifname is called to check for the existence
-of an interface before adding it to the list, the "No such interface"
-message is logged whenever adding a new interface to this list. This
-is normal but can be confusing. Since if_get_by_ifname returns NULL
-when the interface does not exist, the caller should be responsible
-for logging any error messages.
-
-Signed-off-by: Ryan O'Hara <rohara@redhat.com>
----
- keepalived/vrrp/vrrp_if.c |    6 +-----
- 1 files changed, 1 insertions(+), 5 deletions(-)
-
-diff --git a/keepalived/vrrp/vrrp_if.c b/keepalived/vrrp/vrrp_if.c
-index df38d9d..6d5735e 100644
---- a/keepalived/vrrp/vrrp_if.c
-+++ b/keepalived/vrrp/vrrp_if.c
-@@ -85,18 +85,14 @@ if_get_by_ifname(const char *ifname)
-       interface *ifp;
-       element e;
--      if (LIST_ISEMPTY(if_queue)) {
--              log_message(LOG_ERR, "Interface queue is empty");
-+      if (LIST_ISEMPTY(if_queue))
-               return NULL;
--      }
-       for (e = LIST_HEAD(if_queue); e; ELEMENT_NEXT(e)) {
-               ifp = ELEMENT_DATA(e);
-               if (!strcmp(ifp->ifname, ifname))
-                       return ifp;
-       }
--
--      log_message(LOG_ERR, "No such interface, %s", ifname);
-       return NULL;
- }
--- 
-1.7.1
-
diff --git a/keepalived/patches/keepalived-1.2.7-update-gpl-license.patch b/keepalived/patches/keepalived-1.2.7-update-gpl-license.patch
deleted file mode 100644 (file)
index a4eae91..0000000
+++ /dev/null
@@ -1,146 +0,0 @@
-From a6630f9e2e9d05261a5a6b880c5d452bc49e9808 Mon Sep 17 00:00:00 2001
-From: Ryan O'Hara <rohara@redhat.com>
-Date: Mon, 19 Nov 2012 10:28:40 -0600
-Subject: [PATCH 08/10] Update GPLv2 license.
-
-This GPLv2 license found in COPYING had a couple errors, including an
-incorrect address for the Free Software Foundation. This patch updates
-the GPLv2 license to match the license that can be found at:
-http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt
-
-Signed-off-by: Ryan O'Hara <rohara@redhat.com>
----
- COPYING |   42 +++++++++++++++++++++---------------------
- 1 files changed, 21 insertions(+), 21 deletions(-)
-
-diff --git a/COPYING b/COPYING
-index a43ea21..d159169 100644
---- a/COPYING
-+++ b/COPYING
-@@ -1,12 +1,12 @@
--                  GNU GENERAL PUBLIC LICENSE
--                     Version 2, June 1991
-+                    GNU GENERAL PUBLIC LICENSE
-+                       Version 2, June 1991
-- Copyright (C) 1989, 1991 Free Software Foundation, Inc.
--                          675 Mass Ave, Cambridge, MA 02139, USA
-+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
-+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
-  Everyone is permitted to copy and distribute verbatim copies
-  of this license document, but changing it is not allowed.
--                          Preamble
-+                            Preamble
-   The licenses for most software are designed to take away your
- freedom to share and change it.  By contrast, the GNU General Public
-@@ -15,7 +15,7 @@ software--to make sure the software is free for all its users.  This
- General Public License applies to most of the Free Software
- Foundation's software and to any other program whose authors commit to
- using it.  (Some other Free Software Foundation software is covered by
--the GNU Library General Public License instead.)  You can apply it to
-+the GNU Lesser General Public License instead.)  You can apply it to
- your programs, too.
-   When we speak of free software, we are referring to freedom, not
-@@ -55,8 +55,8 @@ patent must be licensed for everyone's free use or not licensed at all.
-   The precise terms and conditions for copying, distribution and
- modification follow.
--\f
--                  GNU GENERAL PUBLIC LICENSE
-+
-+                    GNU GENERAL PUBLIC LICENSE
-    TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-   0. This License applies to any program or other work which contains
-@@ -110,7 +110,7 @@ above, provided that you also meet all of these conditions:
-     License.  (Exception: if the Program itself is interactive but
-     does not normally print such an announcement, your work based on
-     the Program is not required to print an announcement.)
--\f
-+
- These requirements apply to the modified work as a whole.  If
- identifiable sections of that work are not derived from the Program,
- and can be reasonably considered independent and separate works in
-@@ -168,7 +168,7 @@ access to copy from a designated place, then offering equivalent
- access to copy the source code from the same place counts as
- distribution of the source code, even though third parties are not
- compelled to copy the source along with the object code.
--\f
-+
-   4. You may not copy, modify, sublicense, or distribute the Program
- except as expressly provided under this License.  Any attempt
- otherwise to copy, modify, sublicense or distribute the Program is
-@@ -225,7 +225,7 @@ impose that choice.
- This section is intended to make thoroughly clear what is believed to
- be a consequence of the rest of this License.
--\f
-+
-   8. If the distribution and/or use of the Program is restricted in
- certain countries either by patents or by copyrighted interfaces, the
- original copyright holder who places the Program under this License
-@@ -255,7 +255,7 @@ make exceptions for this.  Our decision will be guided by the two goals
- of preserving the free status of all derivatives of our free software and
- of promoting the sharing and reuse of software generally.
--                          NO WARRANTY
-+                            NO WARRANTY
-   11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
- FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
-@@ -277,9 +277,9 @@ YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
- PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
- POSSIBILITY OF SUCH DAMAGES.
--                   END OF TERMS AND CONDITIONS
--\f
--      Appendix: How to Apply These Terms to Your New Programs
-+                     END OF TERMS AND CONDITIONS
-+
-+            How to Apply These Terms to Your New Programs
-   If you develop a new program, and you want it to be of the greatest
- possible use to the public, the best way to achieve this is to make it
-@@ -291,7 +291,7 @@ convey the exclusion of warranty; and each file should have at least
- the "copyright" line and a pointer to where the full notice is found.
-     <one line to give the program's name and a brief idea of what it does.>
--    Copyright (C) 19yy  <name of author>
-+    Copyright (C) <year>  <name of author>
-     This program is free software; you can redistribute it and/or modify
-     it under the terms of the GNU General Public License as published by
-@@ -303,16 +303,16 @@ the "copyright" line and a pointer to where the full notice is found.
-     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-     GNU General Public License for more details.
--    You should have received a copy of the GNU General Public License
--    along with this program; if not, write to the Free Software
--    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-+    You should have received a copy of the GNU General Public License along
-+    with this program; if not, write to the Free Software Foundation, Inc.,
-+    51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- Also add information on how to contact you by electronic and paper mail.
- If the program is interactive, make it output a short notice like this
- when it starts in an interactive mode:
--    Gnomovision version 69, Copyright (C) 19yy name of author
-+    Gnomovision version 69, Copyright (C) year name of author
-     Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
-     This is free software, and you are welcome to redistribute it
-     under certain conditions; type `show c' for details.
-@@ -335,5 +335,5 @@ necessary.  Here is a sample; alter the names:
- This General Public License does not permit incorporating your program into
- proprietary programs.  If your program is a subroutine library, you may
- consider it more useful to permit linking proprietary applications with the
--library.  If this is what you want to do, use the GNU Library General
-+library.  If this is what you want to do, use the GNU Lesser General
- Public License instead of this License.
--- 
-1.7.1
-
diff --git a/keepalived/patches/keepalived-1.2.7-update-keepalived-man-page.patch b/keepalived/patches/keepalived-1.2.7-update-keepalived-man-page.patch
deleted file mode 100644 (file)
index a69e078..0000000
+++ /dev/null
@@ -1,201 +0,0 @@
-From 3a0a8643450bf9be6920ae857c03377102fdfd40 Mon Sep 17 00:00:00 2001
-From: Ryan O'Hara <rohara@redhat.com>
-Date: Mon, 5 Nov 2012 11:28:21 -0600
-Subject: [PATCH 04/10] Update keepalived man page
-
-The keepalived(8) was out-of-date and, in some cases, inaccurate. This
-patch provides a complete rewrite of the keepalived(8) man page. This
-includes updated synopsis, description, and options.
-
-Signed-off-by: Ryan O'Hara <rohara@redhat.com>
----
- doc/man/man8/keepalived.8 |  179 ++++++++++++++++++++++++++-------------------
- 1 files changed, 104 insertions(+), 75 deletions(-)
-
-diff --git a/doc/man/man8/keepalived.8 b/doc/man/man8/keepalived.8
-index 861045a..94c366a 100644
---- a/doc/man/man8/keepalived.8
-+++ b/doc/man/man8/keepalived.8
-@@ -1,75 +1,104 @@
--.\"\r
--.\" keepalived(8)\r
--.\"\r
--.\" Copyright (C) 2004 Joseph Mack\r
--.TH keepalived 8 "Jan 2004"\r
--.SH NAME\r
--keepalived. \- keepalive demon\r
--.SH SYNOPSIS\r
--.B "/usr/sbin/keepalived [-n] [-f keepalived.conf] [-d] [-h] [-v]"\r
--.SH DESCRIPTION\r
--The\r
--.B keepalived\r
--The keepalived server implements the vrrpd routing demon \r
--which enables routing failover for a pair (or set) of routers \r
--(or LVS directors) \r
--and the keepalived demon which sets up and does the health checking \r
--of virtual services in a Linux Virtual Servier.\r
--.SH OPTIONS\r
--.TP\r
--.B --vrrp, -P\r
--Only run the VRRP subsystem.\r
--.TP\r
--.B --check, -C \r
--Only run the healthchecker subsystem.\r
--.TP\r
--.B --dont-release-vrrp, -V    \r
--leave (don't remove) VRRP VIPs & VROUTEs on daemon stop.\r
--.TP\r
----dont-release-ipvs, -I    \r
--Dont remove IPVS topology on daemon stop.\r
--.TP\r
----dont-fork, -n\r
--Dont fork the daemon process.\r
--.TP\r
----use-file, -f keepalived.conf_file \r
--Use the specified configuration file.\r
--.TP\r
----wdog-vrrp, -R\r
--Define VRRP watchdog polling delay (default=5s)\r
--.TP\r
----wdog-check, -H \r
--Define healthchecker's watchdog polling delay (default=5s)\r
--.TP\r
----dump-conf, -d\r
--Dump the configuration data.\r
--.TP\r
----log-console, -l\r
--Log messages to local console.\r
--.TP\r
----log-detail, -D    \r
--Detailed log messages (the default with the rc script provided).\r
--.TP\r
----log-facility, -S    \r
--0-7 Set syslog facility to LOG_LOCAL[0-7] (default=LOG_DAEMON)\r
--.TP\r
----snmp, -x\r
--Enable SNMP support\r
--.TP\r
----help, -h\r
--Display a short inlined help screen.\r
--.TP\r
----version, -v    \r
--Display the version number.\r
--\r
--.SH FILES\r
--.BR /etc/keepalived/keepalived.conf\r
--.SH SEE ALSO\r
--.BR keepalived.conf(5)\r
--.SH AUTHORS\r
--.br\r
--Joseph Mack\r
--.br\r
--from inspection of the output of \r
--.I keepalived --help \r
--from keepalived-1.1.4\r
-+.TH KEEPALIVED "8" "November 2012"
-+
-+.na
-+.nh
-+
-+.SH "NAME"
-+keepalived \- load\-balancing and high\-availability service
-+
-+.SH "SYNOPSIS"
-+\fBkeepalived\fP
-+[\fB\-f\fP|\fB\-\-use\-file\fP=FILE]
-+[\fB\-P\fP|\fB\-\-vrrp\fP]
-+[\fB\-C\fP|\fB\-\-check\fP]
-+[\fB\-l\fP|\fB\-\-log\-console\fP]
-+[\fB\-D\fP|\fB\-\-log\-detail\fP]
-+[\fB\-S\fP|\fB\-\-log\-facility\fP={0-7}]
-+[\fB\-V\fP|\fB\-\-dont\-release\-vrrp\fP]
-+[\fB\-I\fP|\fB\-\-dont\-release\-ipvs\fP]
-+[\fB\-R\fP|\fB\-\-dont\-respawn\fP]
-+[\fB\-n\fP|\fB\-\-dont\-fork\fP]
-+[\fB\-d\fP|\fB\-\-dump\-conf\fP]
-+[\fB\-p\fP|\fB\-\-pid\fP=FILE]
-+[\fB\-r\fP|\fB\-\-vrrp_pid\fP=FILE]
-+[\fB\-c\fP|\fB\-\-checkers_pid\fP=FILE]
-+[\fB\-v\fP|\fB\-\-version\fP]
-+[\fB\-h\fP|\fB\-\-help\fP]
-+
-+.SH "DESCRIPTION"
-+Keepalived provides simple and robust facilities for load\-balancing
-+and high\-availability. The load\-balancing framework relies on
-+well\-known and widely used Linux Virtual Server (IPVS) kernel module
-+providing Layer4 load\-balancing. Keepalived implements a set of
-+checkers to dynamically and adaptively maintain and manage
-+load\-balanced server pool according their health. Keepalived also
-+implements the VRRPv2 protocol to achieve high\-availability with
-+director failover.
-+
-+.SH "OPTIONS"
-+.TP
-+\fB -f, --use-file\fP=FILE
-+Use the specified configuration file. The default configuration file
-+is "/etc/keepalived/keepalived.conf".
-+.TP
-+\fB -P, --vrrp\fP
-+Only run the VRRP subsystem. This is useful for configurations that do
-+not use IPVS load balancer.
-+.TP
-+\fB -C, --check\fP
-+Only run the healthcheck subsystem. This is useful for configurations
-+that use the IPVS load balancer with a single director with no failover.
-+.TP
-+\fB -l, --log-console\fP
-+Log messages to the local console. The default behavior is to log
-+messages to syslog.
-+.TP
-+\fB -D, --log-detail\fP
-+Detailed log messages.
-+.TP
-+\fB -S, --log-facility\fP=[0-7]
-+Set syslog facility to LOG_LOCAL[0-7]. The default syslog facility is LOG_DAEMON.
-+.TP
-+\fB -V, --dont-release-vrrp\fP
-+Don't remove VRRP VIPs and VROUTEs on daemon stop. The default
-+behavior is to remove all VIPs and VROUTEs when keepalived exits
-+.TP
-+\fB -I, --dont-release-ipvs\fP
-+Don't remove IPVS topology on daemon stop. The default behavior it to
-+remove all entries from the IPVS virtual server table on when
-+keepalived exits.
-+.TP
-+\fB -R, --dont-respawn\fP
-+Don't respawn child processes. The default behavior is to restart the
-+VRRP and checker processes if either process exits.
-+.TP
-+\fB -n, --dont-fork\fP
-+Don't fork the daemon process. This option will cause keepalived to
-+run in the foreground.
-+.TP
-+\fB -d, --dump-conf\fP
-+Dump the configuration data.
-+.TP
-+\fB -p, --pid\fP=FILE
-+Use specified pidfile for parent keepalived process. The default
-+pidfile for keepalived is "/var/run/keepalived.pid".
-+.TP
-+\fB -r, --vrrp_pid\fP=FILE
-+Use specified pidfile for VRRP child process. The default pidfile for
-+the VRRP child process is "/var/run/keepalived_vrrp.pid".
-+.TP
-+\fB -c, --checkers_pid\fP=FILE
-+Use specified pidfile for checkers child process. The default pidfile
-+for the checker child process is "/var/run/keepalived_checkers.pid".
-+.TP
-+\fB -v, --version\fP
-+Display the version and exit.
-+.TP
-+\fB -h, --help\fP
-+Display this help message and exit.
-+
-+.SH "SEE ALSO"
-+\fBkeepalived.conf\fP(5), \fBipvsadm\fP(8)
-+
-+.SH "AUTHOR"
-+This man page was written by Ryan O'Hara <rohara@redhat.com>
--- 
-1.7.1
-
diff --git a/keepalived/systemd/keepalived.service b/keepalived/systemd/keepalived.service
deleted file mode 100644 (file)
index 0ab6efe..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-[Unit]
-Description=LVS and VRRP High Availability Monitor
-After=syslog.target network.target
-
-[Service]
-Type=forking
-KillMode=process
-ExecStart=/usr/sbin/keepalived
-ExecReload=/bin/kill -HUP $MAINPID
-
-[Install]
-WantedBy=multi-user.target
index d5bbc94ac1a34d5cbbf84accaadadbbf8505fb3b..ee76f6f6a3fe7c9d40ab67dd08138fdbe5cabf96 100644 (file)
@@ -6,7 +6,6 @@
 name       = kernel-updater
 version    = 20190621
 release    = 1
-arch       = noarch
 
 maintainer = Arne Fitzenreiter <arne.fitzenreiter@ipfire.org>
 groups     = System/Tools
@@ -23,6 +22,8 @@ source_dl  = https://source.ipfire.org/releases/%{name}/
 sources    = %{thisapp}.tar.xz
 
 build
+       arches = noarch
+
        requires
                autoconf
                automake
diff --git a/kernel/config-aarch64-generic b/kernel/config-aarch64-generic
new file mode 100644 (file)
index 0000000..076933e
--- /dev/null
@@ -0,0 +1,1512 @@
+
+#
+# IRQ subsystem
+#
+CONFIG_GENERIC_IRQ_SHOW_LEVEL=y
+CONFIG_IRQ_FASTEOI_HIERARCHY_HANDLERS=y
+CONFIG_GENERIC_IRQ_IPI=y
+# end of IRQ subsystem
+CONFIG_ARCH_HAS_TICK_BROADCAST=y
+
+#
+# CPU/Task time and stats accounting
+#
+CONFIG_SCHED_THERMAL_PRESSURE=y
+# end of CPU/Task time and stats accounting
+
+#
+# RCU Subsystem
+#
+CONFIG_GENERIC_SCHED_CLOCK=y
+
+#
+# Kexec and crash features
+#
+CONFIG_ARM64=y
+CONFIG_GCC_SUPPORTS_DYNAMIC_FTRACE_WITH_ARGS=y
+CONFIG_ARM64_PAGE_SHIFT=16
+CONFIG_ARM64_CONT_PTE_SHIFT=5
+CONFIG_ARM64_CONT_PMD_SHIFT=5
+CONFIG_ARCH_MMAP_RND_BITS_MIN=14
+CONFIG_ARCH_MMAP_RND_BITS_MAX=27
+CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MIN=7
+CONFIG_GENERIC_HWEIGHT=y
+CONFIG_GENERIC_CSUM=y
+CONFIG_KERNEL_MODE_NEON=y
+CONFIG_PGTABLE_LEVELS=2
+CONFIG_ARCH_PROC_KCORE_TEXT=y
+CONFIG_BROKEN_GAS_INST=y
+CONFIG_BUILTIN_RETURN_ADDRESS_STRIPS_PAC=y
+
+#
+# Platform selection
+#
+# CONFIG_ARCH_ACTIONS is not set
+CONFIG_ARCH_SUNXI=y
+CONFIG_ARCH_ALPINE=y
+# CONFIG_ARCH_APPLE is not set
+CONFIG_ARCH_BCM=y
+CONFIG_ARCH_BCM2835=y
+# CONFIG_ARCH_BCM_IPROC is not set
+# CONFIG_ARCH_BCMBCA is not set
+# CONFIG_ARCH_BRCMSTB is not set
+CONFIG_ARCH_BERLIN=y
+# CONFIG_ARCH_BITMAIN is not set
+# CONFIG_ARCH_EXYNOS is not set
+# CONFIG_ARCH_SPARX5 is not set
+# CONFIG_ARCH_K3 is not set
+# CONFIG_ARCH_LG1K is not set
+# CONFIG_ARCH_HISI is not set
+# CONFIG_ARCH_KEEMBAY is not set
+# CONFIG_ARCH_MEDIATEK is not set
+CONFIG_ARCH_MESON=y
+CONFIG_ARCH_MVEBU=y
+CONFIG_ARCH_NXP=y
+# CONFIG_ARCH_LAYERSCAPE is not set
+CONFIG_ARCH_MXC=y
+# CONFIG_ARCH_S32 is not set
+CONFIG_ARCH_MA35=y
+# CONFIG_ARCH_NPCM is not set
+# CONFIG_ARCH_QCOM is not set
+# CONFIG_ARCH_REALTEK is not set
+# CONFIG_ARCH_RENESAS is not set
+CONFIG_ARCH_ROCKCHIP=y
+# CONFIG_ARCH_SEATTLE is not set
+# CONFIG_ARCH_INTEL_SOCFPGA is not set
+# CONFIG_ARCH_STM32 is not set
+# CONFIG_ARCH_SYNQUACER is not set
+# CONFIG_ARCH_TEGRA is not set
+# CONFIG_ARCH_SPRD is not set
+# CONFIG_ARCH_THUNDER is not set
+# CONFIG_ARCH_THUNDER2 is not set
+# CONFIG_ARCH_UNIPHIER is not set
+CONFIG_ARCH_VEXPRESS=y
+# CONFIG_ARCH_VISCONTI is not set
+CONFIG_ARCH_XGENE=y
+# CONFIG_ARCH_ZYNQMP is not set
+# end of Platform selection
+
+#
+# ARM errata workarounds via the alternatives framework
+#
+CONFIG_AMPERE_ERRATUM_AC03_CPU_38=y
+CONFIG_ARM64_WORKAROUND_CLEAN_CACHE=y
+CONFIG_ARM64_ERRATUM_826319=y
+CONFIG_ARM64_ERRATUM_827319=y
+CONFIG_ARM64_ERRATUM_824069=y
+CONFIG_ARM64_ERRATUM_819472=y
+CONFIG_ARM64_ERRATUM_832075=y
+CONFIG_ARM64_ERRATUM_834220=y
+CONFIG_ARM64_ERRATUM_843419=y
+CONFIG_ARM64_ERRATUM_1024718=y
+CONFIG_ARM64_WORKAROUND_SPECULATIVE_AT=y
+CONFIG_ARM64_ERRATUM_1165522=y
+CONFIG_ARM64_ERRATUM_1319367=y
+CONFIG_ARM64_ERRATUM_1530923=y
+CONFIG_ARM64_WORKAROUND_REPEAT_TLBI=y
+CONFIG_ARM64_ERRATUM_2441007=y
+CONFIG_ARM64_ERRATUM_1286807=y
+CONFIG_ARM64_ERRATUM_1463225=y
+CONFIG_ARM64_ERRATUM_1542419=y
+CONFIG_ARM64_ERRATUM_1508412=y
+CONFIG_ARM64_ERRATUM_2051678=y
+CONFIG_ARM64_ERRATUM_2077057=y
+CONFIG_ARM64_ERRATUM_2658417=y
+CONFIG_ARM64_WORKAROUND_TSB_FLUSH_FAILURE=y
+CONFIG_ARM64_ERRATUM_2054223=y
+CONFIG_ARM64_ERRATUM_2067961=y
+CONFIG_ARM64_ERRATUM_2441009=y
+CONFIG_ARM64_ERRATUM_2457168=y
+CONFIG_ARM64_ERRATUM_2645198=y
+CONFIG_ARM64_ERRATUM_2966298=y
+CONFIG_CAVIUM_ERRATUM_22375=y
+CONFIG_CAVIUM_ERRATUM_23144=y
+CONFIG_CAVIUM_ERRATUM_23154=y
+CONFIG_CAVIUM_ERRATUM_27456=y
+CONFIG_CAVIUM_ERRATUM_30115=y
+CONFIG_CAVIUM_TX2_ERRATUM_219=y
+CONFIG_FUJITSU_ERRATUM_010001=y
+# CONFIG_HISILICON_ERRATUM_161600802 is not set
+CONFIG_QCOM_FALKOR_ERRATUM_1003=y
+CONFIG_QCOM_FALKOR_ERRATUM_1009=y
+CONFIG_QCOM_QDF2400_ERRATUM_0065=y
+CONFIG_QCOM_FALKOR_ERRATUM_E1041=y
+CONFIG_NVIDIA_CARMEL_CNP_ERRATUM=y
+CONFIG_ROCKCHIP_ERRATUM_3588001=y
+# CONFIG_SOCIONEXT_SYNQUACER_PREITS is not set
+# end of ARM errata workarounds via the alternatives framework
+# CONFIG_ARM64_4K_PAGES is not set
+# CONFIG_ARM64_16K_PAGES is not set
+CONFIG_ARM64_64K_PAGES=y
+CONFIG_ARM64_VA_BITS_42=y
+# CONFIG_ARM64_VA_BITS_48 is not set
+# CONFIG_ARM64_VA_BITS_52 is not set
+CONFIG_ARM64_VA_BITS=42
+CONFIG_ARM64_PA_BITS_48=y
+# CONFIG_ARM64_PA_BITS_52 is not set
+CONFIG_ARM64_PA_BITS=48
+# CONFIG_CPU_BIG_ENDIAN is not set
+CONFIG_CPU_LITTLE_ENDIAN=y
+CONFIG_NODES_SHIFT=2
+CONFIG_HW_PERF_EVENTS=y
+CONFIG_ARCH_SUPPORTS_KEXEC_IMAGE_VERIFY_SIG=y
+CONFIG_ARCH_DEFAULT_KEXEC_IMAGE_VERIFY_SIG=y
+CONFIG_ARCH_FORCE_MAX_ORDER=13
+CONFIG_UNMAP_KERNEL_AT_EL0=y
+CONFIG_MITIGATE_SPECTRE_BRANCH_HISTORY=y
+CONFIG_RODATA_FULL_DEFAULT_ENABLED=y
+CONFIG_ARM64_SW_TTBR0_PAN=y
+CONFIG_ARM64_TAGGED_ADDR_ABI=y
+# CONFIG_COMPAT is not set
+
+#
+# ARMv8.1 architectural features
+#
+CONFIG_ARM64_HW_AFDBM=y
+CONFIG_ARM64_PAN=y
+CONFIG_ARM64_USE_LSE_ATOMICS=y
+# end of ARMv8.1 architectural features
+
+#
+# ARMv8.2 architectural features
+#
+CONFIG_ARM64_PMEM=y
+CONFIG_ARM64_RAS_EXTN=y
+CONFIG_ARM64_CNP=y
+# end of ARMv8.2 architectural features
+
+#
+# ARMv8.3 architectural features
+#
+CONFIG_ARM64_PTR_AUTH=y
+CONFIG_AS_HAS_CFI_NEGATE_RA_STATE=y
+# end of ARMv8.3 architectural features
+
+#
+# ARMv8.4 architectural features
+#
+CONFIG_ARM64_AMU_EXTN=y
+# end of ARMv8.4 architectural features
+
+#
+# ARMv8.5 architectural features
+#
+CONFIG_ARM64_BTI=y
+CONFIG_ARM64_E0PD=y
+# end of ARMv8.5 architectural features
+
+#
+# ARMv8.7 architectural features
+#
+CONFIG_ARM64_EPAN=y
+# end of ARMv8.7 architectural features
+CONFIG_ARM64_SVE=y
+CONFIG_ARM64_SME=y
+CONFIG_ARM64_PSEUDO_NMI=y
+# CONFIG_ARM64_DEBUG_PRIORITY_MASKING is not set
+CONFIG_RANDOMIZE_MODULE_REGION_FULL=y
+
+#
+# Boot options
+#
+CONFIG_ARM64_ACPI_PARKING_PROTOCOL=y
+CONFIG_CMDLINE=""
+# end of Boot options
+
+#
+# Power management options
+#
+CONFIG_CPU_PM=y
+# end of Power management options
+
+#
+# ARM CPU Idle Drivers
+#
+# CONFIG_ARM_PSCI_CPUIDLE is not set
+# end of ARM CPU Idle Drivers
+
+#
+# CPU Frequency scaling
+#
+# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set
+# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set
+
+#
+# CPU frequency scaling drivers
+#
+CONFIG_ACPI_CPPC_CPUFREQ=m
+CONFIG_ACPI_CPPC_CPUFREQ_FIE=y
+# CONFIG_ARM_ALLWINNER_SUN50I_CPUFREQ_NVMEM is not set
+CONFIG_ARM_ARMADA_37XX_CPUFREQ=m
+CONFIG_ARM_ARMADA_8K_CPUFREQ=m
+CONFIG_ARM_SCPI_CPUFREQ=m
+CONFIG_ARM_IMX_CPUFREQ_DT=m
+CONFIG_ARM_SCMI_CPUFREQ=m
+# end of CPU Frequency scaling
+CONFIG_ACPI_GENERIC_GSI=y
+CONFIG_ACPI_CCA_REQUIRED=y
+CONFIG_ACPI_MCFG=y
+CONFIG_ACPI_THERMAL=m
+CONFIG_ACPI_REDUCED_HARDWARE_ONLY=y
+CONFIG_ACPI_APEI_SEA=y
+CONFIG_ACPI_IORT=y
+CONFIG_ACPI_GTDT=y
+CONFIG_ACPI_APMT=y
+CONFIG_ACPI_PPTT=y
+CONFIG_IRQ_BYPASS_MANAGER=y
+CONFIG_NEED_KVM_DIRTY_RING_WITH_BITMAP=y
+CONFIG_KVM=y
+# CONFIG_NVHE_EL2_DEBUG is not set
+
+#
+# General architecture-dependent options
+#
+CONFIG_GENERIC_IDLE_POLL_SETUP=y
+CONFIG_ARCH_HAS_KEEPINITRD=y
+CONFIG_ARCH_MMAP_RND_BITS=27
+CONFIG_ARCH_WANT_DEFAULT_TOPDOWN_MMAP_LAYOUT=y
+CONFIG_CLONE_BACKWARDS=y
+CONFIG_ARCH_HAS_RELR=y
+# CONFIG_RELR is not set
+CONFIG_ARCH_HAVE_TRACE_MMIO_ACCESS=y
+
+#
+# GCOV-based kernel profiling
+#
+CONFIG_FUNCTION_ALIGNMENT_8B=y
+CONFIG_FUNCTION_ALIGNMENT=8
+# end of General architecture-dependent options
+
+#
+# Executable file formats
+#
+CONFIG_ARCH_BINFMT_ELF_STATE=y
+CONFIG_ARCH_BINFMT_ELF_EXTRA_PHDRS=y
+CONFIG_ARCH_HAVE_ELF_PROT=y
+CONFIG_ARCH_USE_GNU_PROPERTY=y
+# end of Executable file formats
+
+#
+# SLAB allocator options
+#
+CONFIG_ARCH_KEEP_MEMBLOCK=y
+CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
+
+#
+# Device Drivers
+#
+CONFIG_ARM_AMBA=y
+CONFIG_PCI_DOMAINS_GENERIC=y
+CONFIG_PCI_SYSCALL=y
+CONFIG_PCI_BRIDGE_EMUL=y
+CONFIG_HOTPLUG_PCI_ACPI_IBM=y
+
+#
+# PCI controller drivers
+#
+CONFIG_PCI_AARDVARK=m
+CONFIG_PCIE_ALTERA=m
+CONFIG_PCIE_ALTERA_MSI=m
+CONFIG_PCIE_BRCMSTB=m
+CONFIG_PCI_HOST_THUNDER_PEM=y
+CONFIG_PCI_HOST_THUNDER_ECAM=y
+# CONFIG_PCIE_HISI_ERR is not set
+CONFIG_PCIE_ROCKCHIP=y
+CONFIG_PCIE_ROCKCHIP_HOST=m
+CONFIG_PCI_XGENE=y
+CONFIG_PCI_XGENE_MSI=y
+
+#
+# DesignWare-based PCIe controllers
+#
+CONFIG_PCIE_AL=y
+CONFIG_PCI_IMX6=y
+CONFIG_PCI_IMX6_HOST=y
+CONFIG_PCI_HISI=y
+CONFIG_PCIE_KIRIN=m
+CONFIG_PCIE_ARMADA_8K=y
+CONFIG_PCIE_ROCKCHIP_DW_HOST=y
+# end of DesignWare-based PCIe controllers
+# end of PCI controller drivers
+
+#
+# Firmware loader
+#
+CONFIG_GENERIC_ARCH_TOPOLOGY=y
+CONFIG_GENERIC_ARCH_NUMA=y
+
+#
+# Bus devices
+#
+CONFIG_ARM_CCI=y
+CONFIG_ARM_CCI400_COMMON=y
+# CONFIG_BRCMSTB_GISB_ARB is not set
+# CONFIG_IMX_WEIM is not set
+CONFIG_SUN50I_DE2_BUS=y
+CONFIG_SUNXI_RSB=y
+CONFIG_VEXPRESS_CONFIG=y
+# CONFIG_FSL_MC_BUS is not set
+# end of Bus devices
+
+#
+# ARM System Control and Management Interface Protocol
+#
+CONFIG_ARM_SCMI_PROTOCOL=y
+# CONFIG_ARM_SCMI_RAW_MODE_SUPPORT is not set
+CONFIG_ARM_SCMI_HAVE_TRANSPORT=y
+CONFIG_ARM_SCMI_HAVE_SHMEM=y
+CONFIG_ARM_SCMI_HAVE_MSG=y
+CONFIG_ARM_SCMI_TRANSPORT_MAILBOX=y
+CONFIG_ARM_SCMI_TRANSPORT_SMC=y
+# CONFIG_ARM_SCMI_TRANSPORT_SMC_ATOMIC_ENABLE is not set
+CONFIG_ARM_SCMI_TRANSPORT_VIRTIO=y
+CONFIG_ARM_SCMI_TRANSPORT_VIRTIO_VERSION1_COMPLIANCE=y
+# CONFIG_ARM_SCMI_TRANSPORT_VIRTIO_ATOMIC_ENABLE is not set
+CONFIG_ARM_SCMI_POWER_DOMAIN=m
+# CONFIG_ARM_SCMI_POWER_CONTROL is not set
+# end of ARM System Control and Management Interface Protocol
+CONFIG_ARM_SCPI_PROTOCOL=m
+CONFIG_ARM_SCPI_POWER_DOMAIN=m
+# CONFIG_ARM_SDE_INTERFACE is not set
+# CONFIG_ISCSI_IBFT is not set
+# CONFIG_RASPBERRYPI_FIRMWARE is not set
+# CONFIG_TURRIS_MOX_RWTM is not set
+# CONFIG_ARM_FFA_TRANSPORT is not set
+
+#
+# EFI (Extensible Firmware Interface) Support
+#
+CONFIG_EFI_PARAMS_FROM_FDT=y
+CONFIG_EFI_GENERIC_STUB=y
+CONFIG_EFI_ZBOOT=y
+CONFIG_EFI_ARMSTUB_DTB_LOADER=y
+# end of EFI (Extensible Firmware Interface) Support
+CONFIG_UEFI_CPER_ARM=y
+# CONFIG_IMX_DSP is not set
+# CONFIG_IMX_SCU is not set
+CONFIG_ARM_PSCI_FW=y
+# CONFIG_ARM_PSCI_CHECKER is not set
+CONFIG_ARM_SMCCC_SOC_ID=y
+
+#
+# Tegra firmware driver
+#
+CONFIG_OF_NUMA=y
+
+#
+# Protocols
+#
+# CONFIG_BLK_DEV_PCIESSD_MTIP32XX is not set
+
+#
+# SCSI Transports
+#
+CONFIG_AIC79XX_RESET_DELAY_MS=5000
+CONFIG_AIC79XX_REG_PRETTY_PRINT=y
+CONFIG_SCSI_HISI_SAS=m
+CONFIG_SCSI_HISI_SAS_PCI=m
+# CONFIG_SCSI_HISI_SAS_DEBUGFS_DEFAULT_ENABLE is not set
+# CONFIG_SCSI_MVSAS_TASKLET is not set
+# CONFIG_SCSI_ADVANSYS is not set
+# CONFIG_MEGARAID_NEWGEN is not set
+# CONFIG_SCSI_BUSLOGIC is not set
+CONFIG_SATA_ZPODD=y
+
+#
+# Controllers with non-SFF native interface
+#
+CONFIG_AHCI_IMX=m
+CONFIG_AHCI_MVEBU=m
+CONFIG_AHCI_SUNXI=m
+CONFIG_AHCI_XGENE=m
+
+#
+# PATA SFF controllers with BMDMA
+#
+CONFIG_PATA_IMX=m
+
+#
+# IEEE 1394 (FireWire) support
+#
+CONFIG_MII=y
+
+#
+# Distributed Switch Architecture drivers
+#
+CONFIG_NET_DSA_MSCC_FELIX=m
+# end of Distributed Switch Architecture drivers
+CONFIG_NET_VENDOR_ALLWINNER=y
+CONFIG_SUN4I_EMAC=m
+CONFIG_AMD8111_ETH=y
+CONFIG_NET_XGENE=m
+CONFIG_NET_XGENE_V2=m
+# CONFIG_EMAC_ROCKCHIP is not set
+# CONFIG_DE2104X is not set
+# CONFIG_TULIP_MMIO is not set
+# CONFIG_TULIP_NAPI is not set
+CONFIG_NET_VENDOR_FREESCALE=y
+CONFIG_FEC=m
+CONFIG_FSL_PQ_MDIO=m
+CONFIG_FSL_XGMAC_MDIO=m
+CONFIG_GIANFAR=m
+CONFIG_FSL_DPAA2_SWITCH=m
+CONFIG_FSL_ENETC_CORE=m
+CONFIG_FSL_ENETC=m
+CONFIG_FSL_ENETC_VF=m
+CONFIG_FSL_ENETC_IERB=m
+CONFIG_FSL_ENETC_MDIO=m
+CONFIG_FSL_ENETC_PTP_CLOCK=m
+# CONFIG_FSL_ENETC_QOS is not set
+CONFIG_NET_VENDOR_HISILICON=y
+CONFIG_HIX5HD2_GMAC=m
+CONFIG_HISI_FEMAC=m
+CONFIG_HIP04_ETH=m
+CONFIG_HI13X1_GMAC=y
+CONFIG_HNS_MDIO=m
+CONFIG_HNS=m
+CONFIG_HNS_DSAF=m
+CONFIG_HNS_ENET=m
+CONFIG_HNS3=m
+CONFIG_HNS3_HCLGE=m
+CONFIG_HNS3_HCLGEVF=m
+CONFIG_HNS3_ENET=m
+CONFIG_MVNETA=m
+CONFIG_MVPP2=m
+CONFIG_MVPP2_PTP=y
+CONFIG_PXA168_ETH=m
+# CONFIG_SKGE_GENESIS is not set
+CONFIG_OCTEONTX2_MBOX=m
+CONFIG_OCTEONTX2_AF=m
+# CONFIG_NDC_DIS_DYNAMIC_CACHING is not set
+CONFIG_OCTEONTX2_PF=m
+CONFIG_OCTEONTX2_VF=m
+CONFIG_MLXBF_GIGE=m
+CONFIG_8139TOO_PIO=y
+# CONFIG_8139TOO_8129 is not set
+CONFIG_SMC91X=m
+CONFIG_DWMAC_MESON=m
+CONFIG_DWMAC_ROCKCHIP=m
+CONFIG_DWMAC_SUNXI=m
+CONFIG_DWMAC_SUN8I=m
+CONFIG_DWMAC_IMX8=m
+# CONFIG_STMMAC_PCI is not set
+# CONFIG_VIA_RHINE_MMIO is not set
+# CONFIG_XILINX_AXI_EMAC is not set
+# CONFIG_XILINX_LL_TEMAC is not set
+
+#
+# MII PHY device drivers
+#
+CONFIG_MESON_GXL_PHY=m
+CONFIG_MDIO_SUN4I=m
+CONFIG_MDIO_XGENE=m
+
+#
+# MDIO Multiplexers
+#
+CONFIG_MDIO_BUS_MUX_MESON_G12A=m
+CONFIG_MDIO_BUS_MUX_MESON_GXL=m
+
+#
+# PCS device drivers
+#
+CONFIG_WIL6210_TRACING=y
+CONFIG_ATH11K_AHB=m
+# CONFIG_IPW2100_MONITOR is not set
+# CONFIG_IPW2200_MONITOR is not set
+# CONFIG_IPW2200_QOS is not set
+
+#
+# Input Device Drivers
+#
+# CONFIG_KEYBOARD_SNVS_PWRKEY is not set
+# CONFIG_KEYBOARD_IMX is not set
+# CONFIG_KEYBOARD_SUN4I_LRADC is not set
+# CONFIG_INPUT_BBNSM_PWRKEY is not set
+CONFIG_INPUT_MAX77693_HAPTIC=m
+# CONFIG_INPUT_MAX8997_HAPTIC is not set
+# CONFIG_INPUT_GPIO_BEEPER is not set
+# CONFIG_INPUT_TWL4030_PWRBUTTON is not set
+# CONFIG_INPUT_PWM_BEEPER is not set
+# CONFIG_INPUT_PWM_VIBRA is not set
+
+#
+# Hardware I/O ports
+#
+# CONFIG_SERIO_AMBAKMI is not set
+# CONFIG_SERIO_SUN4I_PS2 is not set
+# end of Hardware I/O ports
+
+#
+# Serial drivers
+#
+# CONFIG_SERIAL_8250_BCM2835AUX is not set
+CONFIG_SERIAL_8250_FSL=y
+CONFIG_SERIAL_OF_PLATFORM=y
+
+#
+# Non-8250 serial port support
+#
+CONFIG_SERIAL_AMBA_PL010=m
+CONFIG_SERIAL_AMBA_PL011=m
+# CONFIG_SERIAL_EARLYCON_SEMIHOST is not set
+CONFIG_SERIAL_MESON=m
+# CONFIG_SERIAL_MESON_CONSOLE is not set
+# CONFIG_SERIAL_IMX is not set
+# CONFIG_SERIAL_IMX_EARLYCON is not set
+# CONFIG_SERIAL_JSM is not set
+# CONFIG_SERIAL_QE is not set
+# CONFIG_SERIAL_SCCNXP is not set
+# CONFIG_SERIAL_XILINX_PS_UART is not set
+# CONFIG_SERIAL_ARC is not set
+# CONFIG_SERIAL_RP2 is not set
+# CONFIG_SERIAL_MVEBU_UART is not set
+CONFIG_SERIAL_NUVOTON_MA35D1=m
+# end of Serial drivers
+# CONFIG_NOZOMI is not set
+CONFIG_HVC_DCC=y
+# CONFIG_HVC_DCC_SERIALIZE_SMP is not set
+CONFIG_HW_RANDOM_BCM2835=y
+CONFIG_HW_RANDOM_IPROC_RNG200=y
+CONFIG_HW_RANDOM_OMAP=y
+CONFIG_HW_RANDOM_XGENE=m
+CONFIG_HW_RANDOM_MESON=m
+CONFIG_HW_RANDOM_ARM_SMCCC_TRNG=m
+CONFIG_HW_RANDOM_CN10K=m
+
+#
+# Multiplexer I2C Chip support
+#
+# CONFIG_I2C_ARB_GPIO_CHALLENGE is not set
+# end of Multiplexer I2C Chip support
+
+#
+# PC SMBus host controller drivers
+#
+CONFIG_I2C_ALI1535=m
+CONFIG_I2C_ALI1563=m
+CONFIG_I2C_ALI15X3=m
+CONFIG_I2C_SIS5595=m
+CONFIG_I2C_SIS630=m
+
+#
+# I2C system bus drivers (mostly embedded / system-on-chip)
+#
+CONFIG_I2C_BCM2835=m
+CONFIG_I2C_BRCMSTB=y
+CONFIG_I2C_CADENCE=m
+CONFIG_I2C_HISI=m
+CONFIG_I2C_IMX=m
+CONFIG_I2C_IMX_LPI2C=m
+CONFIG_I2C_MESON=m
+CONFIG_I2C_MV64XXX=m
+CONFIG_I2C_NOMADIK=m
+CONFIG_I2C_PXA=m
+# CONFIG_I2C_PXA_SLAVE is not set
+CONFIG_I2C_VERSATILE=m
+CONFIG_I2C_THUNDERX=m
+
+#
+# Other I2C/SMBus bus drivers
+#
+CONFIG_I2C_XGENE_SLIMPRO=m
+
+#
+# PTP clock support
+#
+CONFIG_PTP_1588_CLOCK_QORIQ=m
+
+#
+# Enable PHYLIB and NETWORK_PHY_TIMESTAMPING to see the additional clocks.
+#
+CONFIG_PTP_1588_CLOCK_KVM=y
+# end of PTP clock support
+CONFIG_PINCTRL_AS3722=m
+CONFIG_PINCTRL_PALMAS=m
+CONFIG_PINCTRL_ROCKCHIP=m
+CONFIG_PINCTRL_BCM2835=y
+CONFIG_PINCTRL_BERLIN=y
+CONFIG_PINCTRL_AS370=y
+CONFIG_PINCTRL_BERLIN_BG4CT=y
+CONFIG_PINCTRL_IMX=y
+CONFIG_PINCTRL_IMX8MM=m
+CONFIG_PINCTRL_IMX8MN=m
+CONFIG_PINCTRL_IMX8MP=m
+CONFIG_PINCTRL_IMX8MQ=m
+CONFIG_PINCTRL_IMX8ULP=m
+CONFIG_PINCTRL_IMXRT1050=y
+CONFIG_PINCTRL_IMX93=m
+CONFIG_PINCTRL_IMXRT1170=y
+CONFIG_PINCTRL_MESON=m
+CONFIG_PINCTRL_MESON_GXBB=m
+CONFIG_PINCTRL_MESON_GXL=m
+CONFIG_PINCTRL_MESON8_PMX=m
+CONFIG_PINCTRL_MESON_AXG=m
+CONFIG_PINCTRL_MESON_AXG_PMX=m
+CONFIG_PINCTRL_MESON_G12A=m
+CONFIG_PINCTRL_MESON_A1=m
+CONFIG_PINCTRL_MESON_S4=m
+CONFIG_PINCTRL_AMLOGIC_C3=m
+CONFIG_PINCTRL_MVEBU=y
+CONFIG_PINCTRL_ARMADA_AP806=y
+CONFIG_PINCTRL_ARMADA_CP110=y
+CONFIG_PINCTRL_AC5=y
+CONFIG_PINCTRL_ARMADA_37XX=y
+
+#
+# Renesas pinctrl drivers
+#
+CONFIG_PINCTRL_SUNXI=y
+CONFIG_PINCTRL_SUN4I_A10=y
+CONFIG_PINCTRL_SUN5I=y
+CONFIG_PINCTRL_SUN6I_A31=y
+CONFIG_PINCTRL_SUN6I_A31_R=y
+CONFIG_PINCTRL_SUN8I_A23=y
+CONFIG_PINCTRL_SUN8I_A33=y
+CONFIG_PINCTRL_SUN8I_A83T=y
+CONFIG_PINCTRL_SUN8I_A83T_R=y
+CONFIG_PINCTRL_SUN8I_A23_R=y
+CONFIG_PINCTRL_SUN8I_H3=y
+CONFIG_PINCTRL_SUN8I_H3_R=y
+CONFIG_PINCTRL_SUN8I_V3S=y
+CONFIG_PINCTRL_SUN9I_A80=y
+CONFIG_PINCTRL_SUN9I_A80_R=y
+CONFIG_PINCTRL_SUN20I_D1=y
+CONFIG_PINCTRL_SUN50I_A64=y
+CONFIG_PINCTRL_SUN50I_A64_R=y
+CONFIG_PINCTRL_SUN50I_A100=y
+CONFIG_PINCTRL_SUN50I_A100_R=y
+CONFIG_PINCTRL_SUN50I_H5=y
+CONFIG_PINCTRL_SUN50I_H6=y
+CONFIG_PINCTRL_SUN50I_H6_R=y
+CONFIG_PINCTRL_SUN50I_H616=y
+CONFIG_PINCTRL_SUN50I_H616_R=y
+
+#
+# Memory mapped GPIO drivers
+#
+# CONFIG_GPIO_GRGPIO is not set
+# CONFIG_GPIO_HISI is not set
+CONFIG_GPIO_MVEBU=y
+CONFIG_GPIO_MXC=m
+CONFIG_GPIO_PL061=m
+CONFIG_GPIO_ROCKCHIP=m
+CONFIG_GPIO_VF610=y
+CONFIG_GPIO_XGENE=y
+CONFIG_GPIO_XGENE_SB=m
+# end of Memory mapped GPIO drivers
+
+#
+# MFD GPIO expanders
+#
+# CONFIG_GPIO_TC3589X is not set
+# end of MFD GPIO expanders
+
+#
+# Virtual GPIO drivers
+#
+CONFIG_POWER_RESET_BRCMSTB=y
+# CONFIG_POWER_RESET_LINKSTATION is not set
+# CONFIG_POWER_RESET_ODROID_GO_ULTRA_POWEROFF is not set
+CONFIG_POWER_RESET_VEXPRESS=y
+CONFIG_POWER_RESET_XGENE=y
+# CONFIG_MAX8925_POWER is not set
+# CONFIG_WM831X_BACKUP is not set
+# CONFIG_WM831X_POWER is not set
+# CONFIG_WM8350_POWER is not set
+# CONFIG_BATTERY_88PM860X is not set
+# CONFIG_BATTERY_DA9030 is not set
+# CONFIG_BATTERY_DA9052 is not set
+# CONFIG_CHARGER_TWL4030 is not set
+# CONFIG_CHARGER_MAX8997 is not set
+# CONFIG_CHARGER_MAX8998 is not set
+
+#
+# Native drivers
+#
+CONFIG_SENSORS_ARM_SCMI=m
+CONFIG_SENSORS_ARM_SCPI=m
+CONFIG_SENSORS_PWM_FAN=m
+CONFIG_SENSORS_VEXPRESS=m
+
+#
+# ACPI drivers
+#
+CONFIG_IMX_THERMAL=m
+CONFIG_IMX8MM_THERMAL=m
+CONFIG_QORIQ_THERMAL=m
+CONFIG_SUN8I_THERMAL=m
+CONFIG_ROCKCHIP_THERMAL=m
+CONFIG_ARMADA_THERMAL=m
+CONFIG_AMLOGIC_THERMAL=m
+
+#
+# Broadcom thermal drivers
+#
+CONFIG_BCM2711_THERMAL=m
+CONFIG_BCM2835_THERMAL=m
+# end of Broadcom thermal drivers
+
+#
+# Watchdog Device Drivers
+#
+CONFIG_XILINX_WINDOW_WATCHDOG=m
+CONFIG_ARM_SP805_WATCHDOG=m
+CONFIG_ARM_SBSA_WATCHDOG=m
+CONFIG_ARMADA_37XX_WATCHDOG=m
+CONFIG_SUNXI_WATCHDOG=m
+CONFIG_IMX2_WDT=m
+CONFIG_IMX7ULP_WDT=m
+CONFIG_MESON_GXBB_WATCHDOG=m
+CONFIG_MESON_WATCHDOG=m
+CONFIG_ARM_SMC_WATCHDOG=m
+CONFIG_BCM2835_WDT=m
+
+#
+# Multifunction device drivers
+#
+# CONFIG_MFD_SUN4I_GPADC is not set
+# CONFIG_MFD_ATMEL_HLCDC is not set
+# CONFIG_MFD_AC100 is not set
+# CONFIG_MFD_AXP20X_RSB is not set
+# CONFIG_LPC_ICH is not set
+
+#
+# STMicroelectronics STMPE Interface Drivers
+#
+# CONFIG_MFD_SUN6I_PRCM is not set
+# CONFIG_MFD_VX855 is not set
+# CONFIG_MFD_KHADAS_MCU is not set
+CONFIG_MFD_VEXPRESS_SYSREG=y
+# end of Multifunction device drivers
+CONFIG_REGULATOR_FIXED_VOLTAGE=y
+# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
+# CONFIG_REGULATOR_USERSPACE_CONSUMER is not set
+# CONFIG_REGULATOR_88PM8607 is not set
+# CONFIG_REGULATOR_ANATOP is not set
+# CONFIG_REGULATOR_ARM_SCMI is not set
+# CONFIG_REGULATOR_GPIO is not set
+# CONFIG_REGULATOR_LP872X is not set
+# CONFIG_REGULATOR_LP8788 is not set
+CONFIG_REGULATOR_PWM=m
+# CONFIG_REGULATOR_TWL4030 is not set
+CONFIG_REGULATOR_VEXPRESS=m
+
+#
+# CEC support
+#
+# CONFIG_CEC_MESON_AO is not set
+# CONFIG_CEC_MESON_G12A_AO is not set
+# end of CEC support
+
+#
+# I2C encoder or helper chips
+#
+# CONFIG_DRM_I2C_NXP_TDA998X is not set
+# end of I2C encoder or helper chips
+
+#
+# ARM devices
+#
+CONFIG_DRM_HDLCD=m
+# CONFIG_DRM_HDLCD_SHOW_UNDERRUN is not set
+CONFIG_DRM_MALI_DISPLAY=m
+# end of ARM devices
+
+#
+# Display Engine Configuration
+#
+# CONFIG_HSA_AMD is not set
+# CONFIG_DRM_ROCKCHIP is not set
+CONFIG_DRM_SUN4I=m
+CONFIG_DRM_SUN6I_DSI=m
+CONFIG_DRM_SUN8I_DW_HDMI=m
+CONFIG_DRM_SUN8I_MIXER=m
+CONFIG_DRM_SUN8I_TCON_TOP=m
+
+#
+# Display Interface Bridges
+#
+CONFIG_DRM_DISPLAY_CONNECTOR=m
+# CONFIG_DRM_FSL_LDB is not set
+# CONFIG_DRM_IMX8QM_LDB is not set
+# CONFIG_DRM_IMX8QXP_LDB is not set
+# CONFIG_DRM_IMX8QXP_PIXEL_COMBINER is not set
+# CONFIG_DRM_IMX8QXP_PIXEL_LINK_TO_DPI is not set
+CONFIG_DRM_DW_HDMI=m
+# CONFIG_DRM_DW_HDMI_I2S_AUDIO is not set
+CONFIG_DRM_DW_HDMI_CEC=m
+CONFIG_DRM_DW_MIPI_DSI=m
+# end of Display Interface Bridges
+CONFIG_DRM_IMX_DCSS=m
+# CONFIG_DRM_IMX_LCDC is not set
+CONFIG_DRM_V3D=m
+CONFIG_DRM_HISI_HIBMC=m
+CONFIG_DRM_HISI_KIRIN=m
+# CONFIG_DRM_MXSFB is not set
+# CONFIG_DRM_IMX_LCDIF is not set
+CONFIG_DRM_MESON=m
+CONFIG_DRM_MESON_DW_HDMI=m
+CONFIG_DRM_MESON_DW_MIPI_DSI=m
+CONFIG_DRM_PL111=m
+CONFIG_DRM_LIMA=m
+CONFIG_DRM_PANFROST=m
+# CONFIG_DRM_TIDSS is not set
+
+#
+# Frame buffer Devices
+#
+# CONFIG_FB_ARMCLCD is not set
+# CONFIG_FB_IMX is not set
+# end of Frame buffer Devices
+
+#
+# Backlight & LCD device support
+#
+# CONFIG_LCD_PLATFORM is not set
+# CONFIG_BACKLIGHT_PWM is not set
+# CONFIG_BACKLIGHT_LM3630A is not set
+# CONFIG_BACKLIGHT_LP855X is not set
+# CONFIG_BACKLIGHT_LP8788 is not set
+# end of Backlight & LCD device support
+
+#
+# USB Host Controller Drivers
+#
+# CONFIG_USB_XHCI_MVEBU is not set
+CONFIG_USB_EHCI_HCD_ORION=m
+
+#
+# USB dual-mode controller drivers
+#
+CONFIG_USB_CDNS3_IMX=m
+
+#
+# Platform Glue Layer
+#
+# CONFIG_USB_MUSB_SUNXI is not set
+
+#
+# Platform Glue Driver Support
+#
+CONFIG_USB_DWC3_MESON_G12A=m
+CONFIG_USB_DWC3_IMX8MP=m
+
+#
+# USB Physical Layer drivers
+#
+# CONFIG_USB_MXS_PHY is not set
+CONFIG_USB_ULPI=y
+CONFIG_USB_ULPI_VIEWPORT=y
+# end of USB Physical Layer drivers
+
+#
+# MMC/SD/SDIO Host Controller Drivers
+#
+CONFIG_MMC_ARMMMCI=m
+CONFIG_MMC_STM32_SDMMC=y
+# CONFIG_MMC_RICOH_MMC is not set
+# CONFIG_MMC_SDHCI_OF_ESDHC is not set
+# CONFIG_MMC_SDHCI_ESDHC_IMX is not set
+CONFIG_MMC_SDHCI_PXAV3=m
+# CONFIG_MMC_SDHCI_IPROC is not set
+CONFIG_MMC_MESON_GX=m
+CONFIG_MMC_MESON_MX_SDIO=m
+CONFIG_MMC_MXC=m
+CONFIG_MMC_DW=m
+CONFIG_MMC_DW_PLTFM=m
+CONFIG_MMC_DW_BLUEFIELD=m
+CONFIG_MMC_DW_EXYNOS=m
+CONFIG_MMC_DW_HI3798CV200=m
+CONFIG_MMC_DW_K3=m
+CONFIG_MMC_DW_PCI=m
+# CONFIG_MMC_DW_ROCKCHIP is not set
+CONFIG_MMC_SUNXI=m
+CONFIG_MMC_BCM2835=m
+
+#
+# LED drivers
+#
+CONFIG_LEDS_PWM=m
+
+#
+# Simple LED drivers
+#
+CONFIG_EDAC_LEGACY_SYSFS=y
+CONFIG_EDAC_GHES=y
+CONFIG_EDAC_AL_MC=m
+CONFIG_EDAC_THUNDERX=m
+CONFIG_EDAC_SYNOPSYS=m
+CONFIG_EDAC_XGENE=m
+CONFIG_EDAC_DMC520=m
+
+#
+# Platform RTC drivers
+#
+CONFIG_RTC_DRV_EFI=m
+
+#
+# on-CPU RTC drivers
+#
+CONFIG_RTC_DRV_IMXDI=m
+CONFIG_RTC_DRV_MESON_VRTC=m
+CONFIG_RTC_DRV_PL030=m
+CONFIG_RTC_DRV_PL031=m
+CONFIG_RTC_DRV_SUN6I=y
+CONFIG_RTC_DRV_MV=m
+CONFIG_RTC_DRV_ARMADA38X=m
+CONFIG_RTC_DRV_MXC=m
+CONFIG_RTC_DRV_MXC_V2=m
+CONFIG_RTC_DRV_SNVS=m
+CONFIG_RTC_DRV_BBNSM=m
+CONFIG_RTC_DRV_XGENE=m
+
+#
+# DMA Devices
+#
+CONFIG_ASYNC_TX_ENABLE_CHANNEL_SWITCH=y
+CONFIG_DMA_VIRTUAL_CHANNELS=y
+CONFIG_AMBA_PL08X=y
+CONFIG_BCM_SBA_RAID=m
+CONFIG_DMA_BCM2835=m
+CONFIG_DMA_SUN6I=m
+CONFIG_FSL_QDMA=m
+CONFIG_IMX_DMA=m
+CONFIG_IMX_SDMA=m
+CONFIG_MV_XOR=y
+CONFIG_MV_XOR_V2=y
+CONFIG_MXS_DMA=y
+CONFIG_PL330_DMA=m
+CONFIG_XGENE_DMA=m
+CONFIG_XILINX_ZYNQMP_DMA=m
+CONFIG_DW_DMAC_CORE=m
+CONFIG_DW_DMAC_PCI=m
+
+#
+# DMABUF options
+#
+CONFIG_VIRTIO=y
+
+#
+# Xen driver support
+#
+CONFIG_XEN_PCIDEV_STUB=m
+# end of Xen driver support
+
+#
+# Clock driver for ARM Reference designs
+#
+CONFIG_CLK_ICST=y
+CONFIG_CLK_SP810=y
+CONFIG_CLK_VEXPRESS_OSC=m
+# end of Clock driver for ARM Reference designs
+CONFIG_COMMON_CLK_SCMI=m
+CONFIG_COMMON_CLK_SCPI=m
+CONFIG_COMMON_CLK_XGENE=y
+CONFIG_COMMON_CLK_PWM=m
+CONFIG_CLK_BCM2711_DVP=m
+CONFIG_CLK_BCM2835=y
+CONFIG_MXC_CLK=m
+CONFIG_CLK_IMX8MM=m
+CONFIG_CLK_IMX8MN=m
+CONFIG_CLK_IMX8MP=m
+CONFIG_CLK_IMX8MQ=m
+CONFIG_CLK_IMX8ULP=m
+CONFIG_CLK_IMX93=m
+
+#
+# Clock support for Amlogic platforms
+#
+CONFIG_COMMON_CLK_MESON_REGMAP=m
+CONFIG_COMMON_CLK_MESON_DUALDIV=m
+CONFIG_COMMON_CLK_MESON_MPLL=m
+CONFIG_COMMON_CLK_MESON_PHASE=m
+CONFIG_COMMON_CLK_MESON_PLL=m
+CONFIG_COMMON_CLK_MESON_SCLK_DIV=m
+CONFIG_COMMON_CLK_MESON_VID_PLL_DIV=m
+CONFIG_COMMON_CLK_MESON_CLKC_UTILS=m
+CONFIG_COMMON_CLK_MESON_AO_CLKC=m
+CONFIG_COMMON_CLK_MESON_EE_CLKC=m
+CONFIG_COMMON_CLK_MESON_CPU_DYNDIV=m
+CONFIG_COMMON_CLK_GXBB=m
+CONFIG_COMMON_CLK_AXG=m
+CONFIG_COMMON_CLK_AXG_AUDIO=m
+CONFIG_COMMON_CLK_A1_PLL=m
+CONFIG_COMMON_CLK_A1_PERIPHERALS=m
+CONFIG_COMMON_CLK_G12A=m
+# end of Clock support for Amlogic platforms
+CONFIG_ARMADA_AP_CP_HELPER=y
+CONFIG_ARMADA_37XX_CLK=y
+CONFIG_ARMADA_AP806_SYSCON=y
+CONFIG_ARMADA_AP_CPU_CLK=y
+CONFIG_ARMADA_CP110_SYSCON=y
+CONFIG_COMMON_CLK_NUVOTON=y
+CONFIG_CLK_MA35D1=y
+CONFIG_COMMON_CLK_ROCKCHIP=y
+CONFIG_CLK_PX30=y
+CONFIG_CLK_RK3308=y
+CONFIG_CLK_RK3328=y
+CONFIG_CLK_RK3368=y
+CONFIG_CLK_RK3399=y
+CONFIG_CLK_RK3568=y
+CONFIG_CLK_RK3588=y
+CONFIG_SUNXI_CCU=m
+CONFIG_SUN50I_A64_CCU=m
+CONFIG_SUN50I_A100_CCU=m
+CONFIG_SUN50I_A100_R_CCU=m
+CONFIG_SUN50I_H6_CCU=m
+CONFIG_SUN50I_H616_CCU=m
+CONFIG_SUN50I_H6_R_CCU=m
+CONFIG_SUN6I_RTC_CCU=m
+CONFIG_SUN8I_H3_CCU=m
+CONFIG_SUN8I_DE2_CCU=m
+CONFIG_SUN8I_R_CCU=m
+# CONFIG_HWSPINLOCK_SUN6I is not set
+
+#
+# Clock Source drivers
+#
+CONFIG_TIMER_OF=y
+CONFIG_TIMER_ACPI=y
+CONFIG_TIMER_PROBE=y
+CONFIG_CLKSRC_MMIO=y
+CONFIG_DW_APB_TIMER=y
+CONFIG_DW_APB_TIMER_OF=y
+CONFIG_ROCKCHIP_TIMER=y
+CONFIG_SUN4I_TIMER=y
+CONFIG_ARM_ARCH_TIMER=y
+CONFIG_ARM_ARCH_TIMER_EVTSTREAM=y
+CONFIG_ARM_ARCH_TIMER_OOL_WORKAROUND=y
+CONFIG_FSL_ERRATUM_A008585=y
+CONFIG_HISILICON_ERRATUM_161010101=y
+CONFIG_ARM64_ERRATUM_858921=y
+CONFIG_SUN50I_ERRATUM_UNKNOWN1=y
+CONFIG_ARM_TIMER_SP804=y
+CONFIG_TIMER_IMX_SYS_CTR=y
+# end of Clock Source drivers
+CONFIG_ARM_MHU=m
+CONFIG_ARM_MHU_V2=m
+CONFIG_IMX_MBOX=m
+CONFIG_PL320_MBOX=y
+CONFIG_ARMADA_37XX_RWTM_MBOX=m
+CONFIG_ROCKCHIP_MBOX=y
+CONFIG_BCM2835_MBOX=m
+CONFIG_XGENE_SLIMPRO_MBOX=m
+CONFIG_SUN6I_MSGBOX=m
+
+#
+# Generic IOMMU Pagetable Support
+#
+CONFIG_IOMMU_IO_PGTABLE_LPAE=y
+# CONFIG_IOMMU_IO_PGTABLE_LPAE_SELFTEST is not set
+CONFIG_IOMMU_IO_PGTABLE_ARMV7S=y
+# CONFIG_IOMMU_IO_PGTABLE_ARMV7S_SELFTEST is not set
+# CONFIG_IOMMU_IO_PGTABLE_DART is not set
+# end of Generic IOMMU Pagetable Support
+CONFIG_ROCKCHIP_IOMMU=y
+CONFIG_SUN50I_IOMMU=y
+CONFIG_ARM_SMMU=m
+CONFIG_ARM_SMMU_DISABLE_BYPASS_BY_DEFAULT=y
+CONFIG_ARM_SMMU_V3=m
+CONFIG_ARM_SMMU_V3_SVA=y
+
+#
+# Remoteproc drivers
+#
+CONFIG_REMOTEPROC=y
+# CONFIG_REMOTEPROC_CDEV is not set
+# CONFIG_IMX_REMOTEPROC is not set
+# CONFIG_IMX_DSP_REMOTEPROC is not set
+# end of Remoteproc drivers
+
+#
+# Amlogic SoC drivers
+#
+CONFIG_MESON_CANVAS=m
+CONFIG_MESON_CLK_MEASURE=m
+CONFIG_MESON_GX_SOCINFO=y
+CONFIG_MESON_GX_PM_DOMAINS=m
+CONFIG_MESON_EE_PM_DOMAINS=m
+# end of Amlogic SoC drivers
+
+#
+# Broadcom SoC drivers
+#
+CONFIG_BCM2835_POWER=y
+CONFIG_SOC_BRCMSTB=y
+# end of Broadcom SoC drivers
+
+#
+# NXP/Freescale QorIQ SoC drivers
+#
+CONFIG_QUICC_ENGINE=y
+# end of NXP/Freescale QorIQ SoC drivers
+
+#
+# fujitsu SoC drivers
+#
+CONFIG_A64FX_DIAG=y
+# end of fujitsu SoC drivers
+
+#
+# i.MX SoC drivers
+#
+CONFIG_IMX_GPCV2_PM_DOMAINS=y
+CONFIG_SOC_IMX8M=y
+CONFIG_SOC_IMX9=y
+CONFIG_IMX8M_BLK_CTRL=y
+CONFIG_IMX9_BLK_CTRL=y
+# end of i.MX SoC drivers
+
+#
+# Qualcomm SoC drivers
+#
+CONFIG_ROCKCHIP_GRF=y
+CONFIG_ROCKCHIP_IODOMAIN=m
+CONFIG_ROCKCHIP_PM_DOMAINS=y
+CONFIG_SUNXI_MBUS=y
+CONFIG_SUNXI_SRAM=y
+CONFIG_SUN20I_PPU=y
+
+#
+# DEVFREQ Drivers
+#
+CONFIG_ARM_IMX_BUS_DEVFREQ=m
+CONFIG_ARM_IMX8M_DDRC_DEVFREQ=m
+CONFIG_ARM_RK3399_DMC_DEVFREQ=m
+CONFIG_ARM_SUN8I_A33_MBUS_DEVFREQ=m
+CONFIG_DEVFREQ_EVENT_ROCKCHIP_DFI=m
+
+#
+# Extcon Device Drivers
+#
+CONFIG_ARM_PL172_MPMC=m
+
+#
+# Analog to digital converters
+#
+# CONFIG_BERLIN2_ADC is not set
+# CONFIG_IMX7D_ADC is not set
+# CONFIG_IMX8QXP_ADC is not set
+# CONFIG_IMX93_ADC is not set
+# CONFIG_MESON_SARADC is not set
+# CONFIG_ROCKCHIP_SARADC is not set
+# CONFIG_SUN20I_GPADC is not set
+# end of Analog to digital converters
+
+#
+# IIO SCMI Sensors
+#
+# CONFIG_IIO_SCMI is not set
+# end of IIO SCMI Sensors
+
+#
+# Temperature sensors
+#
+CONFIG_PWM=y
+CONFIG_PWM_SYSFS=y
+# CONFIG_PWM_DEBUG is not set
+CONFIG_PWM_ATMEL_TCB=m
+CONFIG_PWM_BCM2835=m
+CONFIG_PWM_BERLIN=m
+CONFIG_PWM_CLK=m
+CONFIG_PWM_DWC=m
+CONFIG_PWM_FSL_FTM=m
+CONFIG_PWM_IMX1=m
+CONFIG_PWM_IMX27=m
+CONFIG_PWM_IMX_TPM=m
+CONFIG_PWM_LP3943=m
+CONFIG_PWM_MESON=m
+CONFIG_PWM_PCA9685=m
+CONFIG_PWM_ROCKCHIP=m
+CONFIG_PWM_STMPE=y
+CONFIG_PWM_SUN4I=m
+CONFIG_PWM_TWL=m
+CONFIG_PWM_TWL_LED=m
+CONFIG_PWM_XILINX=m
+
+#
+# IRQ chip support
+#
+CONFIG_ARM_GIC=y
+CONFIG_ARM_GIC_MAX_NR=1
+CONFIG_ARM_GIC_V2M=y
+CONFIG_ARM_GIC_V3=y
+CONFIG_ARM_GIC_V3_ITS=y
+CONFIG_ARM_GIC_V3_ITS_PCI=y
+CONFIG_ALPINE_MSI=y
+CONFIG_BRCMSTB_L2_IRQ=y
+CONFIG_DW_APB_ICTL=y
+CONFIG_SUN6I_R_INTC=y
+CONFIG_SUNXI_NMI_INTC=y
+CONFIG_IMX_GPCV2=y
+CONFIG_MVEBU_GICP=y
+CONFIG_MVEBU_ICU=y
+CONFIG_MVEBU_ODMI=y
+CONFIG_MVEBU_PIC=y
+CONFIG_MVEBU_SEI=y
+CONFIG_PARTITION_PERCPU=y
+CONFIG_MESON_IRQ_GPIO=y
+CONFIG_IMX_IRQSTEER=y
+CONFIG_IMX_INTMUX=y
+CONFIG_IMX_MU_MSI=m
+# end of IRQ chip support
+CONFIG_ARCH_HAS_RESET_CONTROLLER=y
+CONFIG_RESET_BERLIN=m
+CONFIG_RESET_IMX7=m
+CONFIG_RESET_MESON=m
+CONFIG_RESET_MESON_AUDIO_ARB=m
+CONFIG_RESET_NUVOTON_MA35D1=y
+CONFIG_RESET_SCMI=m
+CONFIG_RESET_SUNXI=y
+
+#
+# PHY Subsystem
+#
+CONFIG_PHY_XGENE=m
+CONFIG_PHY_SUN4I_USB=m
+CONFIG_PHY_SUN6I_MIPI_DPHY=m
+CONFIG_PHY_SUN9I_USB=m
+CONFIG_PHY_SUN50I_USB3=m
+CONFIG_PHY_MESON8B_USB2=m
+CONFIG_PHY_MESON_GXL_USB2=m
+CONFIG_PHY_MESON_G12A_MIPI_DPHY_ANALOG=m
+CONFIG_PHY_MESON_G12A_USB2=m
+CONFIG_PHY_MESON_G12A_USB3_PCIE=m
+CONFIG_PHY_MESON_AXG_PCIE=m
+CONFIG_PHY_MESON_AXG_MIPI_PCIE_ANALOG=m
+CONFIG_PHY_MESON_AXG_MIPI_DPHY=m
+
+#
+# PHY drivers for Broadcom platforms
+#
+CONFIG_PHY_FSL_IMX8MQ_USB=m
+CONFIG_PHY_MIXEL_LVDS_PHY=m
+CONFIG_PHY_MIXEL_MIPI_DPHY=m
+CONFIG_PHY_FSL_IMX8M_PCIE=m
+CONFIG_PHY_BERLIN_SATA=m
+CONFIG_PHY_BERLIN_USB=m
+CONFIG_PHY_MVEBU_A3700_COMPHY=m
+CONFIG_PHY_MVEBU_A3700_UTMI=m
+CONFIG_PHY_MVEBU_A38X_COMPHY=m
+CONFIG_PHY_MVEBU_CP110_COMPHY=m
+CONFIG_PHY_MVEBU_CP110_UTMI=m
+CONFIG_PHY_ROCKCHIP_DP=m
+CONFIG_PHY_ROCKCHIP_DPHY_RX0=m
+CONFIG_PHY_ROCKCHIP_EMMC=m
+CONFIG_PHY_ROCKCHIP_INNO_HDMI=m
+CONFIG_PHY_ROCKCHIP_INNO_USB2=m
+CONFIG_PHY_ROCKCHIP_INNO_CSIDPHY=m
+CONFIG_PHY_ROCKCHIP_INNO_DSIDPHY=m
+CONFIG_PHY_ROCKCHIP_NANENG_COMBO_PHY=m
+CONFIG_PHY_ROCKCHIP_PCIE=m
+CONFIG_PHY_ROCKCHIP_SNPS_PCIE3=m
+CONFIG_PHY_ROCKCHIP_TYPEC=m
+CONFIG_PHY_ROCKCHIP_USB=m
+# end of PHY Subsystem
+CONFIG_ARM_SCMI_POWERCAP=m
+
+#
+# Performance monitor support
+#
+CONFIG_ARM_CCI_PMU=y
+CONFIG_ARM_CCI400_PMU=y
+CONFIG_ARM_CCI5xx_PMU=y
+# CONFIG_ARM_CCN is not set
+# CONFIG_ARM_CMN is not set
+CONFIG_ARM_PMU=y
+CONFIG_ARM_PMU_ACPI=y
+CONFIG_ARM_SMMU_V3_PMU=m
+CONFIG_ARM_PMUV3=y
+# CONFIG_ARM_DSU_PMU is not set
+# CONFIG_FSL_IMX8_DDR_PMU is not set
+# CONFIG_FSL_IMX9_DDR_PMU is not set
+CONFIG_XGENE_PMU=y
+# CONFIG_ARM_SPE_PMU is not set
+# CONFIG_ARM_DMC620_PMU is not set
+# CONFIG_ALIBABA_UNCORE_DRW_PMU is not set
+# CONFIG_HISI_PMU is not set
+# CONFIG_HISI_PCIE_PMU is not set
+# CONFIG_HNS3_PMU is not set
+# CONFIG_ARM_CORESIGHT_PMU_ARCH_SYSTEM_PMU is not set
+# CONFIG_MESON_DDR_PMU is not set
+# end of Performance monitor support
+
+#
+# Layout Types
+#
+CONFIG_NVMEM_IMX_IIM=m
+CONFIG_NVMEM_IMX_OCOTP=m
+CONFIG_NVMEM_IMX_OCOTP_ELE=m
+CONFIG_NVMEM_MESON_MX_EFUSE=m
+CONFIG_NVMEM_ROCKCHIP_EFUSE=m
+CONFIG_NVMEM_ROCKCHIP_OTP=m
+CONFIG_NVMEM_SNVS_LPGPR=m
+CONFIG_NVMEM_SUNXI_SID=m
+
+#
+# HW tracing support
+#
+# CONFIG_HISI_PTT is not set
+# end of HW tracing support
+
+#
+# Multiplexer drivers
+#
+CONFIG_MUX_ADG792A=m
+CONFIG_MUX_GPIO=m
+CONFIG_MUX_MMIO=m
+# end of Multiplexer drivers
+CONFIG_CDX_BUS=y
+CONFIG_CDX_CONTROLLER=m
+# end of Device Drivers
+
+#
+# Pseudo filesystems
+#
+CONFIG_ARCH_SUPPORTS_HUGETLBFS=y
+CONFIG_EFIVAR_FS=y
+# end of Pseudo filesystems
+
+#
+# Hardening of kernel data structures
+#
+CONFIG_ASYNC_TX_DISABLE_PQ_VAL_DMA=y
+CONFIG_ASYNC_TX_DISABLE_XOR_VAL_DMA=y
+
+#
+# Hashes, digests, and MACs
+#
+CONFIG_CRYPTO_SM3=m
+CONFIG_CRYPTO_SM3_GENERIC=m
+# end of Hashes, digests, and MACs
+
+#
+# Userspace interface
+#
+CONFIG_CRYPTO_NHPOLY1305_NEON=m
+CONFIG_CRYPTO_CHACHA20_NEON=m
+
+#
+# Accelerated Cryptographic Algorithms for CPU (arm64)
+#
+CONFIG_CRYPTO_GHASH_ARM64_CE=m
+CONFIG_CRYPTO_POLY1305_NEON=m
+CONFIG_CRYPTO_SHA1_ARM64_CE=m
+CONFIG_CRYPTO_SHA256_ARM64=m
+CONFIG_CRYPTO_SHA2_ARM64_CE=m
+CONFIG_CRYPTO_SHA512_ARM64=m
+CONFIG_CRYPTO_SHA512_ARM64_CE=m
+CONFIG_CRYPTO_SHA3_ARM64=m
+# CONFIG_CRYPTO_SM3_NEON is not set
+# CONFIG_CRYPTO_SM3_ARM64_CE is not set
+# CONFIG_CRYPTO_POLYVAL_ARM64_CE is not set
+CONFIG_CRYPTO_AES_ARM64=m
+CONFIG_CRYPTO_AES_ARM64_CE=m
+CONFIG_CRYPTO_AES_ARM64_CE_BLK=m
+CONFIG_CRYPTO_AES_ARM64_NEON_BLK=m
+CONFIG_CRYPTO_AES_ARM64_BS=m
+# CONFIG_CRYPTO_SM4_ARM64_CE is not set
+# CONFIG_CRYPTO_SM4_ARM64_CE_BLK is not set
+# CONFIG_CRYPTO_SM4_ARM64_NEON_BLK is not set
+CONFIG_CRYPTO_AES_ARM64_CE_CCM=m
+# CONFIG_CRYPTO_SM4_ARM64_CE_CCM is not set
+# CONFIG_CRYPTO_SM4_ARM64_CE_GCM is not set
+CONFIG_CRYPTO_CRCT10DIF_ARM64_CE=m
+# end of Accelerated Cryptographic Algorithms for CPU (arm64)
+CONFIG_CRYPTO_DEV_ALLWINNER=y
+CONFIG_CRYPTO_DEV_SUN4I_SS=m
+CONFIG_CRYPTO_DEV_SUN4I_SS_PRNG=y
+CONFIG_CRYPTO_DEV_SUN4I_SS_DEBUG=y
+CONFIG_CRYPTO_DEV_SUN8I_CE=m
+CONFIG_CRYPTO_DEV_SUN8I_CE_DEBUG=y
+CONFIG_CRYPTO_DEV_SUN8I_CE_HASH=y
+CONFIG_CRYPTO_DEV_SUN8I_CE_PRNG=y
+CONFIG_CRYPTO_DEV_SUN8I_CE_TRNG=y
+CONFIG_CRYPTO_DEV_SUN8I_SS=m
+CONFIG_CRYPTO_DEV_SUN8I_SS_DEBUG=y
+CONFIG_CRYPTO_DEV_SUN8I_SS_PRNG=y
+CONFIG_CRYPTO_DEV_SUN8I_SS_HASH=y
+CONFIG_CRYPTO_DEV_FSL_CAAM_COMMON=m
+CONFIG_CRYPTO_DEV_FSL_CAAM_CRYPTO_API_DESC=m
+CONFIG_CRYPTO_DEV_FSL_CAAM_AHASH_API_DESC=m
+CONFIG_CRYPTO_DEV_FSL_CAAM=m
+# CONFIG_CRYPTO_DEV_FSL_CAAM_DEBUG is not set
+CONFIG_CRYPTO_DEV_FSL_CAAM_JR=m
+CONFIG_CRYPTO_DEV_FSL_CAAM_RINGSIZE=9
+# CONFIG_CRYPTO_DEV_FSL_CAAM_INTC is not set
+CONFIG_CRYPTO_DEV_FSL_CAAM_CRYPTO_API=y
+CONFIG_CRYPTO_DEV_FSL_CAAM_AHASH_API=y
+CONFIG_CRYPTO_DEV_FSL_CAAM_PKC_API=y
+CONFIG_CRYPTO_DEV_FSL_CAAM_RNG_API=y
+CONFIG_CRYPTO_DEV_FSL_CAAM_PRNG_API=y
+# CONFIG_CRYPTO_DEV_FSL_CAAM_RNG_TEST is not set
+CONFIG_CRYPTO_DEV_SAHARA=m
+CONFIG_CRYPTO_DEV_MXS_DCP=m
+CONFIG_CRYPTO_DEV_MARVELL=m
+CONFIG_CRYPTO_DEV_MARVELL_CESA=m
+CONFIG_CRYPTO_DEV_CAVIUM_ZIP=m
+CONFIG_CRYPTO_DEV_ROCKCHIP=m
+# CONFIG_CRYPTO_DEV_ROCKCHIP_DEBUG is not set
+CONFIG_CRYPTO_DEV_HISI_SEC=m
+# CONFIG_CRYPTO_DEV_HISI_SEC2 is not set
+CONFIG_CRYPTO_DEV_HISI_QM=m
+CONFIG_CRYPTO_DEV_HISI_ZIP=m
+CONFIG_CRYPTO_DEV_HISI_HPRE=m
+CONFIG_CRYPTO_DEV_HISI_TRNG=m
+CONFIG_CRYPTO_DEV_JH7110=m
+
+#
+# Library routines
+#
+CONFIG_STMP_DEVICE=y
+# CONFIG_INDIRECT_PIO is not set
+# CONFIG_TRACE_MMIO_ACCESS is not set
+
+#
+# Crypto library routines
+#
+CONFIG_CRYPTO_LIB_POLY1305_RSIZE=9
+# end of Crypto library routines
+CONFIG_AUDIT_ARCH_COMPAT_GENERIC=y
+CONFIG_ARCH_HAS_SETUP_DMA_OPS=y
+CONFIG_ARCH_HAS_TEARDOWN_DMA_OPS=y
+CONFIG_ARCH_HAS_SYNC_DMA_FOR_DEVICE=y
+CONFIG_ARCH_HAS_SYNC_DMA_FOR_CPU=y
+CONFIG_ARCH_HAS_DMA_PREP_COHERENT=y
+CONFIG_DMA_BOUNCE_UNALIGNED_KMALLOC=y
+CONFIG_DMA_NONCOHERENT_MMAP=y
+CONFIG_DMA_COHERENT_POOL=y
+CONFIG_DMA_DIRECT_REMAP=y
+
+#
+# Default contiguous memory area size:
+#
+CONFIG_SG_SPLIT=y
+# end of Library routines
+CONFIG_GENERIC_IOREMAP=y
+CONFIG_GENERIC_LIB_DEVMEM_IS_ALLOWED=y
+
+#
+# Compile-time checks and compiler options
+#
+CONFIG_ARCH_WANT_FRAME_POINTERS=y
+CONFIG_FRAME_POINTER=y
+# end of Compile-time checks and compiler options
+
+#
+# RCU Debugging
+#
+CONFIG_RCU_CPU_STALL_TIMEOUT=21
+# end of RCU Debugging
+CONFIG_DYNAMIC_FTRACE_WITH_CALL_OPS=y
+# CONFIG_FTRACE_SYSCALLS is not set
+CONFIG_FTRACE_MCOUNT_USE_PATCHABLE_FUNCTION_ENTRY=y
+
+#
+# arm64 Debugging
+#
+# CONFIG_PID_IN_CONTEXTIDR is not set
+# CONFIG_ARM64_RELOC_TEST is not set
+# CONFIG_CORESIGHT is not set
+# end of arm64 Debugging
diff --git a/kernel/config-arm-generic b/kernel/config-arm-generic
deleted file mode 100644 (file)
index 324fe0d..0000000
+++ /dev/null
@@ -1,894 +0,0 @@
-
-#
-# IRQ subsystem
-#
-CONFIG_GENERIC_IRQ_SHOW_LEVEL=y
-CONFIG_HARDIRQS_SW_RESEND=y
-CONFIG_IRQ_MSI_IOMMU=y
-CONFIG_HANDLE_DOMAIN_IRQ=y
-# end of IRQ subsystem
-CONFIG_GENERIC_IRQ_MULTI_HANDLER=y
-CONFIG_ARCH_HAS_TICK_BROADCAST=y
-
-#
-# RCU Subsystem
-#
-CONFIG_GENERIC_SCHED_CLOCK=y
-
-#
-# Kernel Performance Events And Counters
-#
-CONFIG_GENERIC_HWEIGHT=y
-CONFIG_KERNEL_MODE_NEON=y
-CONFIG_PGTABLE_LEVELS=2
-
-#
-# Platform selection
-#
-# CONFIG_ARCH_ACTIONS is not set
-# CONFIG_ARCH_ALPINE is not set
-# CONFIG_ARCH_BCM2835 is not set
-CONFIG_ARCH_MESON=y
-# CONFIG_ARCH_MVEBU is not set
-# CONFIG_ARCH_RENESAS is not set
-# CONFIG_ARCH_UNIPHIER is not set
-CONFIG_ARCH_VEXPRESS=y
-# CONFIG_ARCH_ZX is not set
-# end of Platform selection
-
-#
-# ARM errata workarounds via the alternatives framework
-#
-# CONFIG_CPU_BIG_ENDIAN is not set
-CONFIG_HW_PERF_EVENTS=y
-CONFIG_HARDEN_BRANCH_PREDICTOR=y
-CONFIG_KUSER_HELPERS=y
-
-#
-# Boot options
-#
-# CONFIG_CMDLINE_FORCE is not set
-# end of Boot options
-
-#
-# Power management options
-#
-CONFIG_CPU_PM=y
-# end of Power management options
-
-#
-# CPU Idle
-#
-CONFIG_CPU_IDLE_MULTIPLE_DRIVERS=y
-CONFIG_DT_IDLE_STATES=y
-
-#
-# ARM CPU Idle Drivers
-#
-CONFIG_ARM_CPUIDLE=y
-# end of ARM CPU Idle Drivers
-# end of CPU Idle
-
-#
-# CPU frequency scaling drivers
-#
-CONFIG_ARM_SCPI_CPUFREQ=m
-CONFIG_ARM_SCMI_CPUFREQ=m
-CONFIG_QORIQ_CPUFREQ=m
-
-#
-# Firmware Drivers
-#
-CONFIG_ARM_SCMI_PROTOCOL=y
-CONFIG_ARM_SCMI_POWER_DOMAIN=m
-CONFIG_ARM_SCPI_PROTOCOL=m
-CONFIG_ARM_SCPI_POWER_DOMAIN=m
-# CONFIG_FIRMWARE_MEMMAP is not set
-CONFIG_ARM_PSCI_FW=y
-# CONFIG_ARM_PSCI_CHECKER is not set
-# end of Firmware Drivers
-
-#
-# Tegra firmware driver
-#
-CONFIG_CRYPTO_CHACHA20_NEON=m
-CONFIG_CRYPTO_NHPOLY1305_NEON=m
-
-#
-# General architecture-dependent options
-#
-CONFIG_GENERIC_IDLE_POLL_SETUP=y
-CONFIG_ARCH_HAS_KEEPINITRD=y
-CONFIG_CLONE_BACKWARDS=y
-# end of General architecture-dependent options
-
-#
-# Memory Management options
-#
-CONFIG_ARCH_KEEP_MEMBLOCK=y
-# end of Memory Management options
-
-#
-# Network testing
-#
-# CONFIG_RFKILL_GPIO is not set
-
-#
-# Device Drivers
-#
-CONFIG_ARM_AMBA=y
-CONFIG_PCI_DOMAINS_GENERIC=y
-CONFIG_PCI_SYSCALL=y
-# CONFIG_PCIEAER_INJECT is not set
-# CONFIG_PCIE_ECRC is not set
-# CONFIG_PCI_STUB is not set
-# CONFIG_PCI_IOV is not set
-# CONFIG_PCI_PRI is not set
-# CONFIG_PCI_PASID is not set
-
-#
-# PCI switch controller drivers
-#
-# CONFIG_PCCARD is not set
-
-#
-# Firmware loader
-#
-CONFIG_SOC_BUS=y
-CONFIG_GENERIC_ARCH_TOPOLOGY=y
-
-#
-# Bus devices
-#
-CONFIG_ARM_CCI=y
-CONFIG_ARM_CCI400_COMMON=y
-CONFIG_VEXPRESS_CONFIG=y
-# end of Bus devices
-CONFIG_OF_EARLY_FLATTREE=y
-CONFIG_OF_RESERVED_MEM=y
-
-#
-# Protocols
-#
-# CONFIG_BLK_DEV_PCIESSD_MTIP32XX is not set
-# CONFIG_BLK_DEV_UMEM is not set
-# CONFIG_BLK_DEV_SX8 is not set
-CONFIG_BLK_DEV_RAM_SIZE=4096
-# CONFIG_BLK_DEV_RSXX is not set
-
-#
-# Misc devices
-#
-# CONFIG_SGI_IOC4 is not set
-# CONFIG_HP_ILO is not set
-CONFIG_SRAM=y
-CONFIG_VEXPRESS_SYSCFG=y
-# CONFIG_PVPANIC is not set
-# end of Misc devices
-
-#
-# SCSI Transports
-#
-CONFIG_AIC79XX_RESET_DELAY_MS=5000
-CONFIG_AIC79XX_REG_PRETTY_PRINT=y
-# CONFIG_SCSI_MVSAS_TASKLET is not set
-# CONFIG_SCSI_ADVANSYS is not set
-# CONFIG_MEGARAID_NEWGEN is not set
-
-#
-# PIO-only SFF controllers
-#
-# CONFIG_PATA_OF_PLATFORM is not set
-
-#
-# IEEE 1394 (FireWire) support
-#
-CONFIG_MII=y
-# CONFIG_ATM_LANAI is not set
-# CONFIG_ATM_ENI is not set
-# CONFIG_ATM_NICSTAR is not set
-# CONFIG_ATM_IDT77252 is not set
-# CONFIG_ATM_HE is not set
-# CONFIG_ATM_SOLOS is not set
-
-#
-# Distributed Switch Architecture drivers
-#
-CONFIG_AMD8111_ETH=y
-# CONFIG_CHELSIO_T1_1G is not set
-# CONFIG_DE2104X is not set
-# CONFIG_TULIP_MMIO is not set
-# CONFIG_TULIP_NAPI is not set
-CONFIG_NET_VENDOR_HISILICON=y
-CONFIG_HIX5HD2_GMAC=m
-CONFIG_HISI_FEMAC=m
-CONFIG_HIP04_ETH=m
-CONFIG_HI13X1_GMAC=y
-CONFIG_HNS_MDIO=m
-CONFIG_HNS=m
-CONFIG_HNS_DSAF=m
-CONFIG_HNS_ENET=m
-CONFIG_HNS3=m
-CONFIG_HNS3_HCLGE=m
-CONFIG_HNS3_HCLGEVF=m
-# CONFIG_SKGE_GENESIS is not set
-CONFIG_8139TOO_PIO=y
-# CONFIG_8139TOO_8129 is not set
-CONFIG_SMC91X=m
-CONFIG_DWMAC_MESON=m
-# CONFIG_STMMAC_PCI is not set
-# CONFIG_VIA_RHINE_MMIO is not set
-CONFIG_MDIO_BUS_MUX_MESON_G12A=m
-
-#
-# MII PHY device drivers
-#
-CONFIG_MESON_GXL_PHY=m
-CONFIG_WIL6210_TRACING=y
-# CONFIG_IPW2100_MONITOR is not set
-# CONFIG_IPW2200_MONITOR is not set
-# CONFIG_IPW2200_QOS is not set
-
-#
-# Input Device Drivers
-#
-CONFIG_INPUT_MAX77693_HAPTIC=m
-# CONFIG_INPUT_MAX8997_HAPTIC is not set
-# CONFIG_INPUT_GPIO_BEEPER is not set
-# CONFIG_INPUT_TWL4030_PWRBUTTON is not set
-# CONFIG_INPUT_TWL4030_VIBRA is not set
-# CONFIG_INPUT_TWL6040_VIBRA is not set
-# CONFIG_INPUT_PWM_BEEPER is not set
-# CONFIG_INPUT_PWM_VIBRA is not set
-
-#
-# Hardware I/O ports
-#
-# CONFIG_SERIO_AMBAKMI is not set
-# end of Hardware I/O ports
-
-#
-# Character devices
-#
-# CONFIG_ROCKETPORT is not set
-# CONFIG_CYCLADES is not set
-# CONFIG_SYNCLINKMP is not set
-# CONFIG_SYNCLINK_GT is not set
-# CONFIG_NOZOMI is not set
-
-#
-# Serial drivers
-#
-CONFIG_SERIAL_8250_FSL=y
-CONFIG_SERIAL_OF_PLATFORM=y
-
-#
-# Non-8250 serial port support
-#
-CONFIG_SERIAL_AMBA_PL010=m
-CONFIG_SERIAL_AMBA_PL011=m
-CONFIG_SERIAL_EARLYCON_ARM_SEMIHOST=y
-CONFIG_SERIAL_MESON=m
-# CONFIG_SERIAL_JSM is not set
-# CONFIG_SERIAL_SCCNXP is not set
-# CONFIG_SERIAL_XILINX_PS_UART is not set
-# CONFIG_SERIAL_ARC is not set
-# CONFIG_SERIAL_RP2 is not set
-# end of Serial drivers
-CONFIG_HW_RANDOM_MESON=y
-# end of Character devices
-
-#
-# Multiplexer I2C Chip support
-#
-# CONFIG_I2C_ARB_GPIO_CHALLENGE is not set
-# end of Multiplexer I2C Chip support
-
-#
-# PC SMBus host controller drivers
-#
-CONFIG_I2C_ALI1535=m
-CONFIG_I2C_ALI1563=m
-CONFIG_I2C_ALI15X3=m
-CONFIG_I2C_SIS5595=m
-CONFIG_I2C_SIS630=m
-
-#
-# I2C system bus drivers (mostly embedded / system-on-chip)
-#
-CONFIG_I2C_MESON=m
-CONFIG_I2C_VERSATILE=m
-
-#
-# Enable PHYLIB and NETWORK_PHY_TIMESTAMPING to see the additional clocks.
-#
-CONFIG_PINCTRL_MESON=y
-CONFIG_PINCTRL_MESON8_PMX=y
-
-#
-# Memory mapped GPIO drivers
-#
-# CONFIG_GPIO_GRGPIO is not set
-CONFIG_GPIO_PL061=y
-# end of Memory mapped GPIO drivers
-
-#
-# MFD GPIO expanders
-#
-# CONFIG_GPIO_TC3589X is not set
-# end of MFD GPIO expanders
-
-#
-# USB GPIO expanders
-#
-CONFIG_POWER_RESET_BRCMSTB=y
-CONFIG_POWER_RESET_VEXPRESS=y
-# CONFIG_MAX8925_POWER is not set
-# CONFIG_WM831X_BACKUP is not set
-# CONFIG_WM831X_POWER is not set
-# CONFIG_WM8350_POWER is not set
-# CONFIG_BATTERY_88PM860X is not set
-# CONFIG_BATTERY_DA9030 is not set
-# CONFIG_BATTERY_DA9052 is not set
-# CONFIG_CHARGER_TWL4030 is not set
-# CONFIG_CHARGER_MAX8997 is not set
-# CONFIG_CHARGER_MAX8998 is not set
-
-#
-# Native drivers
-#
-CONFIG_SENSORS_ARM_SCMI=m
-CONFIG_SENSORS_ARM_SCPI=m
-CONFIG_SENSORS_OCC_P8_I2C=m
-CONFIG_SENSORS_OCC=m
-CONFIG_SENSORS_PWM_FAN=m
-CONFIG_SENSORS_VEXPRESS=m
-
-#
-# Watchdog Device Drivers
-#
-CONFIG_ARM_SP805_WATCHDOG=m
-CONFIG_MESON_GXBB_WATCHDOG=m
-CONFIG_MESON_WATCHDOG=m
-
-#
-# PCI-based Watchdog Cards
-#
-# CONFIG_PCIPCWATCHDOG is not set
-# CONFIG_WDTPCI is not set
-
-#
-# Multifunction device drivers
-#
-# CONFIG_LPC_ICH is not set
-
-#
-# STMicroelectronics STMPE Interface Drivers
-#
-# CONFIG_MFD_VX855 is not set
-CONFIG_MFD_VEXPRESS_SYSREG=y
-# end of Multifunction device drivers
-CONFIG_REGULATOR_FIXED_VOLTAGE=y
-# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
-# CONFIG_REGULATOR_USERSPACE_CONSUMER is not set
-CONFIG_REGULATOR_PWM=m
-CONFIG_REGULATOR_VEXPRESS=m
-# CONFIG_IR_MESON is not set
-
-#
-# Digital TV USB devices
-#
-CONFIG_DVB_TTUSB_BUDGET=y
-CONFIG_DVB_TTUSB_DEC=y
-
-#
-# Media capture/analog/hybrid TV support
-#
-# CONFIG_VIDEO_CX18 is not set
-# CONFIG_VIDEO_CX23885 is not set
-# CONFIG_VIDEO_CX25821 is not set
-# CONFIG_VIDEO_CX88 is not set
-# CONFIG_VIDEO_SAA7134 is not set
-# CONFIG_VIDEO_SAA7164 is not set
-
-#
-# Media digital TV PCI Adapters
-#
-# CONFIG_DVB_AV7110 is not set
-# CONFIG_DVB_BUDGET_CORE is not set
-# CONFIG_DVB_B2C2_FLEXCOP_PCI is not set
-# CONFIG_DVB_PLUTO2 is not set
-# CONFIG_DVB_DM1105 is not set
-# CONFIG_DVB_PT1 is not set
-# CONFIG_MANTIS_CORE is not set
-# CONFIG_DVB_NGENE is not set
-
-#
-# Audio decoders, processors and mixers
-#
-CONFIG_VIDEO_TDA1997X=m
-
-#
-# RDS decoders
-#
-# CONFIG_VIDEO_SAA6588 is not set
-
-#
-# Audio/Video compression chips
-#
-# CONFIG_VIDEO_SAA6752HS is not set
-
-#
-# DVB-S (satellite) frontends
-#
-CONFIG_DVB_STV0299=y
-CONFIG_DVB_TDA8083=y
-
-#
-# DVB-T (terrestrial) frontends
-#
-CONFIG_DVB_CX22700=y
-CONFIG_DVB_TDA1004X=y
-
-#
-# DVB-C (cable) frontends
-#
-CONFIG_DVB_VES1820=y
-CONFIG_DVB_STV0297=y
-
-#
-# SEC control devices for DVB-S
-#
-CONFIG_DVB_LNBP21=y
-
-#
-# I2C encoder or helper chips
-#
-# CONFIG_DRM_I2C_NXP_TDA998X is not set
-# end of I2C encoder or helper chips
-
-#
-# ARM devices
-#
-CONFIG_DRM_HDLCD=m
-# CONFIG_DRM_HDLCD_SHOW_UNDERRUN is not set
-CONFIG_DRM_MALI_DISPLAY=m
-# end of ARM devices
-
-#
-# Display Interface Bridges
-#
-CONFIG_DRM_DW_HDMI_I2S_AUDIO=m
-# end of Display Interface Bridges
-CONFIG_DRM_MESON=m
-CONFIG_DRM_MESON_DW_HDMI=m
-CONFIG_DRM_PL111=m
-CONFIG_DRM_LIMA=m
-CONFIG_DRM_PANFROST=m
-
-#
-# Frame buffer hardware drivers
-#
-# CONFIG_FB_ARMCLCD is not set
-
-#
-# Backlight & LCD device support
-#
-# CONFIG_LCD_PLATFORM is not set
-# CONFIG_BACKLIGHT_PWM is not set
-# CONFIG_BACKLIGHT_LM3630A is not set
-# CONFIG_BACKLIGHT_LP855X is not set
-# CONFIG_BACKLIGHT_LP8788 is not set
-# end of Backlight & LCD device support
-
-#
-# Console display driver support
-#
-CONFIG_SND_DMAENGINE_PCM=m
-
-#
-# HD-Audio
-#
-CONFIG_SND_SOC=m
-CONFIG_SND_SOC_AC97_BUS=y
-CONFIG_SND_SOC_GENERIC_DMAENGINE_PCM=y
-CONFIG_SND_SOC_AMD_ACP=m
-CONFIG_SND_SOC_AMD_CZ_DA7219MX98357_MACH=m
-CONFIG_SND_SOC_AMD_CZ_RT5645_MACH=m
-CONFIG_SND_ATMEL_SOC=m
-CONFIG_SND_SOC_MIKROE_PROTO=m
-CONFIG_SND_DESIGNWARE_I2S=m
-
-#
-# Common SoC Audio options for Freescale CPUs:
-#
-CONFIG_SND_SOC_FSL_ASRC=m
-CONFIG_SND_SOC_FSL_SAI=m
-CONFIG_SND_SOC_FSL_AUDMIX=m
-CONFIG_SND_SOC_FSL_SSI=m
-CONFIG_SND_SOC_FSL_SPDIF=m
-CONFIG_SND_SOC_FSL_ESAI=m
-CONFIG_SND_SOC_IMX_AUDMUX=m
-CONFIG_SND_I2S_HI6210_I2S=m
-# CONFIG_SND_SOC_IMG is not set
-CONFIG_SND_SOC_MTK_BTCVSD=m
-
-#
-# ASoC support for Amlogic platforms
-#
-CONFIG_SND_MESON_AXG_FIFO=m
-CONFIG_SND_MESON_AXG_FRDDR=m
-CONFIG_SND_MESON_AXG_TODDR=m
-CONFIG_SND_MESON_AXG_TDM_FORMATTER=m
-CONFIG_SND_MESON_AXG_TDM_INTERFACE=m
-CONFIG_SND_MESON_AXG_TDMIN=m
-CONFIG_SND_MESON_AXG_TDMOUT=m
-CONFIG_SND_MESON_AXG_SOUND_CARD=m
-CONFIG_SND_MESON_AXG_SPDIFOUT=m
-CONFIG_SND_MESON_AXG_SPDIFIN=m
-CONFIG_SND_MESON_AXG_PDM=m
-CONFIG_SND_MESON_G12A_TOHDMITX=m
-# end of ASoC support for Amlogic platforms
-# CONFIG_SND_SOC_SOF_TOPLEVEL is not set
-
-#
-# STMicroelectronics STM32 SOC audio support
-#
-CONFIG_SND_SOC_XILINX_AUDIO_FORMATTER=m
-CONFIG_SND_SOC_XILINX_SPDIF=m
-CONFIG_ZX_TDM=m
-CONFIG_SND_SOC_I2C_AND_SPI=m
-
-#
-# CODEC drivers
-#
-CONFIG_SND_SOC_AC97_CODEC=m
-CONFIG_SND_SOC_ADAU_UTILS=m
-CONFIG_SND_SOC_ADAU1701=m
-CONFIG_SND_SOC_ADAU17X1=m
-CONFIG_SND_SOC_ADAU1761=m
-CONFIG_SND_SOC_ADAU1761_I2C=m
-CONFIG_SND_SOC_ADAU7002=m
-CONFIG_SND_SOC_AK4118=m
-CONFIG_SND_SOC_AK4458=m
-CONFIG_SND_SOC_AK4554=m
-CONFIG_SND_SOC_AK4613=m
-CONFIG_SND_SOC_AK4642=m
-CONFIG_SND_SOC_AK5386=m
-CONFIG_SND_SOC_AK5558=m
-CONFIG_SND_SOC_ALC5623=m
-CONFIG_SND_SOC_BD28623=m
-CONFIG_SND_SOC_BT_SCO=m
-CONFIG_SND_SOC_CS35L32=m
-CONFIG_SND_SOC_CS35L33=m
-CONFIG_SND_SOC_CS35L34=m
-CONFIG_SND_SOC_CS35L35=m
-CONFIG_SND_SOC_CS35L36=m
-CONFIG_SND_SOC_CS42L42=m
-CONFIG_SND_SOC_CS42L51=m
-CONFIG_SND_SOC_CS42L51_I2C=m
-CONFIG_SND_SOC_CS42L52=m
-CONFIG_SND_SOC_CS42L56=m
-CONFIG_SND_SOC_CS42L73=m
-CONFIG_SND_SOC_CS4265=m
-CONFIG_SND_SOC_CS4270=m
-CONFIG_SND_SOC_CS4271=m
-CONFIG_SND_SOC_CS4271_I2C=m
-CONFIG_SND_SOC_CS42XX8=m
-CONFIG_SND_SOC_CS42XX8_I2C=m
-CONFIG_SND_SOC_CS43130=m
-CONFIG_SND_SOC_CS4341=m
-CONFIG_SND_SOC_CS4349=m
-CONFIG_SND_SOC_CS53L30=m
-CONFIG_SND_SOC_CX2072X=m
-CONFIG_SND_SOC_DA7219=m
-CONFIG_SND_SOC_DMIC=m
-CONFIG_SND_SOC_HDMI_CODEC=m
-CONFIG_SND_SOC_ES7134=m
-CONFIG_SND_SOC_ES7241=m
-CONFIG_SND_SOC_ES8316=m
-CONFIG_SND_SOC_ES8328=m
-CONFIG_SND_SOC_ES8328_I2C=m
-CONFIG_SND_SOC_GTM601=m
-CONFIG_SND_SOC_INNO_RK3036=m
-CONFIG_SND_SOC_MAX98088=m
-CONFIG_SND_SOC_MAX98357A=m
-CONFIG_SND_SOC_MAX98504=m
-CONFIG_SND_SOC_MAX9867=m
-CONFIG_SND_SOC_MAX98927=m
-CONFIG_SND_SOC_MAX98373=m
-CONFIG_SND_SOC_MAX9860=m
-CONFIG_SND_SOC_MSM8916_WCD_ANALOG=m
-CONFIG_SND_SOC_MSM8916_WCD_DIGITAL=m
-CONFIG_SND_SOC_PCM1681=m
-CONFIG_SND_SOC_PCM1789=m
-CONFIG_SND_SOC_PCM1789_I2C=m
-CONFIG_SND_SOC_PCM179X=m
-CONFIG_SND_SOC_PCM179X_I2C=m
-CONFIG_SND_SOC_PCM186X=m
-CONFIG_SND_SOC_PCM186X_I2C=m
-CONFIG_SND_SOC_PCM3060=m
-CONFIG_SND_SOC_PCM3060_I2C=m
-CONFIG_SND_SOC_PCM3168A=m
-CONFIG_SND_SOC_PCM3168A_I2C=m
-CONFIG_SND_SOC_PCM512x=m
-CONFIG_SND_SOC_PCM512x_I2C=m
-CONFIG_SND_SOC_RK3328=m
-CONFIG_SND_SOC_RL6231=m
-CONFIG_SND_SOC_RT5616=m
-CONFIG_SND_SOC_RT5631=m
-CONFIG_SND_SOC_RT5645=m
-CONFIG_SND_SOC_SGTL5000=m
-CONFIG_SND_SOC_SIGMADSP=m
-CONFIG_SND_SOC_SIGMADSP_I2C=m
-CONFIG_SND_SOC_SIGMADSP_REGMAP=m
-CONFIG_SND_SOC_SIMPLE_AMPLIFIER=m
-CONFIG_SND_SOC_SIRF_AUDIO_CODEC=m
-CONFIG_SND_SOC_SPDIF=m
-CONFIG_SND_SOC_SSM2305=m
-CONFIG_SND_SOC_SSM2602=m
-CONFIG_SND_SOC_SSM2602_I2C=m
-CONFIG_SND_SOC_SSM4567=m
-CONFIG_SND_SOC_STA32X=m
-CONFIG_SND_SOC_STA350=m
-CONFIG_SND_SOC_STI_SAS=m
-CONFIG_SND_SOC_TAS2552=m
-CONFIG_SND_SOC_TAS5086=m
-CONFIG_SND_SOC_TAS571X=m
-CONFIG_SND_SOC_TAS5720=m
-CONFIG_SND_SOC_TAS6424=m
-CONFIG_SND_SOC_TDA7419=m
-CONFIG_SND_SOC_TFA9879=m
-CONFIG_SND_SOC_TLV320AIC23=m
-CONFIG_SND_SOC_TLV320AIC23_I2C=m
-CONFIG_SND_SOC_TLV320AIC31XX=m
-CONFIG_SND_SOC_TLV320AIC32X4=m
-CONFIG_SND_SOC_TLV320AIC32X4_I2C=m
-CONFIG_SND_SOC_TLV320AIC3X=m
-CONFIG_SND_SOC_TS3A227E=m
-CONFIG_SND_SOC_TSCS42XX=m
-CONFIG_SND_SOC_TSCS454=m
-CONFIG_SND_SOC_WM8510=m
-CONFIG_SND_SOC_WM8523=m
-CONFIG_SND_SOC_WM8524=m
-CONFIG_SND_SOC_WM8580=m
-CONFIG_SND_SOC_WM8711=m
-CONFIG_SND_SOC_WM8728=m
-CONFIG_SND_SOC_WM8731=m
-CONFIG_SND_SOC_WM8737=m
-CONFIG_SND_SOC_WM8741=m
-CONFIG_SND_SOC_WM8750=m
-CONFIG_SND_SOC_WM8753=m
-CONFIG_SND_SOC_WM8776=m
-CONFIG_SND_SOC_WM8782=m
-CONFIG_SND_SOC_WM8804=m
-CONFIG_SND_SOC_WM8804_I2C=m
-CONFIG_SND_SOC_WM8903=m
-CONFIG_SND_SOC_WM8904=m
-CONFIG_SND_SOC_WM8960=m
-CONFIG_SND_SOC_WM8962=m
-CONFIG_SND_SOC_WM8974=m
-CONFIG_SND_SOC_WM8978=m
-CONFIG_SND_SOC_WM8985=m
-CONFIG_SND_SOC_ZX_AUD96P22=m
-CONFIG_SND_SOC_MAX9759=m
-CONFIG_SND_SOC_MT6351=m
-CONFIG_SND_SOC_MT6358=m
-CONFIG_SND_SOC_NAU8540=m
-CONFIG_SND_SOC_NAU8810=m
-CONFIG_SND_SOC_NAU8822=m
-CONFIG_SND_SOC_NAU8824=m
-CONFIG_SND_SOC_TPA6130A2=m
-# end of CODEC drivers
-CONFIG_SND_SIMPLE_CARD_UTILS=m
-CONFIG_SND_SIMPLE_CARD=m
-CONFIG_SND_AUDIO_GRAPH_CARD=m
-
-#
-# Platform Glue Driver Support
-#
-CONFIG_USB_DWC3_MESON_G12A=m
-
-#
-# USB Physical Layer drivers
-#
-CONFIG_USB_ULPI=y
-CONFIG_USB_ULPI_VIEWPORT=y
-# end of USB Physical Layer drivers
-
-#
-# MMC/SD/SDIO Host Controller Drivers
-#
-CONFIG_MMC_ARMMMCI=m
-CONFIG_MMC_STM32_SDMMC=y
-# CONFIG_MMC_RICOH_MMC is not set
-CONFIG_MMC_MESON_GX=m
-CONFIG_MMC_MESON_MX_SDIO=m
-CONFIG_MMC_DW=m
-CONFIG_MMC_DW_PLTFM=m
-CONFIG_MMC_DW_BLUEFIELD=m
-CONFIG_MMC_DW_EXYNOS=m
-CONFIG_MMC_DW_HI3798CV200=m
-CONFIG_MMC_DW_K3=m
-CONFIG_MMC_DW_PCI=m
-
-#
-# LED drivers
-#
-CONFIG_LEDS_PWM=m
-
-#
-# on-CPU RTC drivers
-#
-CONFIG_RTC_DRV_PL030=m
-CONFIG_RTC_DRV_PL031=m
-
-#
-# DMA Devices
-#
-CONFIG_ASYNC_TX_ENABLE_CHANNEL_SWITCH=y
-# CONFIG_AMBA_PL08X is not set
-CONFIG_FSL_QDMA=m
-# CONFIG_PL330_DMA is not set
-CONFIG_XILINX_DMA=m
-CONFIG_XILINX_ZYNQMP_DMA=m
-# CONFIG_DW_DMAC is not set
-# CONFIG_DW_DMAC_PCI is not set
-
-#
-# Common Clock Framework
-#
-CONFIG_COMMON_CLK_WM831X=y
-CONFIG_COMMON_CLK_VERSATILE=y
-CONFIG_CLK_SP810=y
-CONFIG_CLK_VEXPRESS_OSC=y
-CONFIG_COMMON_CLK_MAX77686=y
-CONFIG_COMMON_CLK_SCMI=m
-CONFIG_COMMON_CLK_SCPI=m
-CONFIG_CLK_QORIQ=y
-CONFIG_COMMON_CLK_PWM=m
-CONFIG_COMMON_CLK_MESON_REGMAP=y
-CONFIG_COMMON_CLK_MESON_MPLL=y
-CONFIG_COMMON_CLK_MESON_PHASE=m
-CONFIG_COMMON_CLK_MESON_PLL=y
-CONFIG_COMMON_CLK_MESON_SCLK_DIV=m
-CONFIG_COMMON_CLK_AXG_AUDIO=m
-# end of Common Clock Framework
-
-#
-# Clock Source drivers
-#
-CONFIG_TIMER_OF=y
-CONFIG_TIMER_PROBE=y
-CONFIG_CLKSRC_MMIO=y
-CONFIG_ARM_ARCH_TIMER=y
-CONFIG_ARM_ARCH_TIMER_EVTSTREAM=y
-CONFIG_CLKSRC_VERSATILE=y
-# end of Clock Source drivers
-CONFIG_ARM_MHU=m
-
-#
-# Generic IOMMU Pagetable Support
-#
-CONFIG_IOMMU_IO_PGTABLE=y
-CONFIG_IOMMU_IO_PGTABLE_LPAE=y
-# CONFIG_IOMMU_IO_PGTABLE_LPAE_SELFTEST is not set
-CONFIG_IOMMU_IO_PGTABLE_ARMV7S=y
-# CONFIG_IOMMU_IO_PGTABLE_ARMV7S_SELFTEST is not set
-# end of Generic IOMMU Pagetable Support
-CONFIG_IOMMU_DMA=y
-
-#
-# Amlogic SoC drivers
-#
-CONFIG_MESON_CANVAS=m
-CONFIG_MESON_CLK_MEASURE=y
-CONFIG_MESON_GX_SOCINFO=y
-CONFIG_MESON_GX_PM_DOMAINS=y
-CONFIG_MESON_MX_SOCINFO=y
-# end of Amlogic SoC drivers
-
-#
-# Extcon Device Drivers
-#
-CONFIG_ARM_PL172_MPMC=m
-
-#
-# Analog to digital converters
-#
-CONFIG_MESON_SARADC=m
-# end of Analog to digital converters
-
-#
-# Temperature sensors
-#
-CONFIG_PWM=y
-CONFIG_PWM_SYSFS=y
-# CONFIG_PWM_FSL_FTM is not set
-# CONFIG_PWM_LP3943 is not set
-CONFIG_PWM_MESON=m
-# CONFIG_PWM_PCA9685 is not set
-CONFIG_PWM_STMPE=y
-# CONFIG_PWM_TWL is not set
-# CONFIG_PWM_TWL_LED is not set
-
-#
-# IRQ chip support
-#
-CONFIG_ARM_GIC=y
-CONFIG_ARM_GIC_MAX_NR=1
-CONFIG_ARM_GIC_V2M=y
-CONFIG_ARM_GIC_V3=y
-CONFIG_ARM_GIC_V3_ITS=y
-CONFIG_ARM_GIC_V3_ITS_PCI=y
-CONFIG_PARTITION_PERCPU=y
-CONFIG_MESON_IRQ_GPIO=y
-# end of IRQ chip support
-CONFIG_RESET_MESON=y
-CONFIG_RESET_MESON_AUDIO_ARB=m
-
-#
-# PHY Subsystem
-#
-CONFIG_PHY_MESON8B_USB2=y
-CONFIG_PHY_MESON_GXL_USB2=y
-CONFIG_PHY_MESON_GXL_USB3=m
-CONFIG_PHY_MESON_G12A_USB2=y
-CONFIG_PHY_MESON_G12A_USB3_PCIE=y
-# end of PHY Subsystem
-
-#
-# Performance monitor support
-#
-CONFIG_ARM_CCI_PMU=y
-CONFIG_ARM_CCI400_PMU=y
-CONFIG_ARM_CCI5xx_PMU=y
-# CONFIG_ARM_CCN is not set
-CONFIG_ARM_PMU=y
-# end of Performance monitor support
-
-#
-# Android
-#
-CONFIG_MESON_MX_EFUSE=m
-# end of Device Drivers
-
-#
-# Library routines
-#
-CONFIG_ZLIB_DEFLATE=m
-CONFIG_ARCH_HAS_SETUP_DMA_OPS=y
-CONFIG_ARCH_HAS_TEARDOWN_DMA_OPS=y
-CONFIG_ARCH_HAS_SYNC_DMA_FOR_DEVICE=y
-CONFIG_ARCH_HAS_SYNC_DMA_FOR_CPU=y
-CONFIG_ARCH_HAS_DMA_COHERENT_TO_PFN=y
-CONFIG_ARCH_HAS_DMA_MMAP_PGPROT=y
-CONFIG_DMA_REMAP=y
-# end of Library routines
-
-#
-# Compile-time checks and compiler options
-#
-# CONFIG_OPTIMIZE_INLINING is not set
-# end of Compile-time checks and compiler options
-
-#
-# Memory Debugging
-#
-# CONFIG_DEBUG_RODATA_TEST is not set
-# end of Memory Debugging
-
-#
-# Debug Lockups and Hangs
-#
-# CONFIG_SOFTLOCKUP_DETECTOR is not set
-# end of Debug Lockups and Hangs
-
-#
-# RCU Debugging
-#
-CONFIG_RCU_CPU_STALL_TIMEOUT=21
-# end of RCU Debugging
-# CONFIG_FTRACE_SYSCALLS is not set
-# CONFIG_PID_IN_CONTEXTIDR is not set
-# CONFIG_CORESIGHT is not set
diff --git a/kernel/config-arm32-generic b/kernel/config-arm32-generic
deleted file mode 100644 (file)
index 626265e..0000000
+++ /dev/null
@@ -1,2008 +0,0 @@
-
-#
-# General setup
-#
-# CONFIG_KERNEL_GZIP is not set
-# CONFIG_KERNEL_LZMA is not set
-CONFIG_KERNEL_XZ=y
-# CONFIG_KERNEL_LZO is not set
-# CONFIG_KERNEL_LZ4 is not set
-
-#
-# Timers subsystem
-#
-CONFIG_CONTEXT_TRACKING_FORCE=y
-# end of Timers subsystem
-
-#
-# Scheduler features
-#
-CONFIG_PERF_USE_VMALLOC=y
-# end of General setup
-
-#
-# Kernel Performance Events And Counters
-#
-CONFIG_ARM=y
-CONFIG_ARM_HAS_SG_CHAIN=y
-CONFIG_ARM_DMA_USE_IOMMU=y
-CONFIG_ARM_DMA_IOMMU_ALIGNMENT=8
-CONFIG_SYS_SUPPORTS_APM_EMULATION=y
-CONFIG_NO_IOPORT_MAP=y
-CONFIG_ARCH_HAS_BANDGAP=y
-CONFIG_ZONE_DMA=y
-CONFIG_ARM_PATCH_PHYS_VIRT=y
-
-#
-# System Type
-#
-CONFIG_ARCH_MMAP_RND_BITS_MIN=8
-CONFIG_ARCH_MMAP_RND_BITS_MAX=16
-CONFIG_ARCH_MULTIPLATFORM=y
-# CONFIG_ARCH_EBSA110 is not set
-# CONFIG_ARCH_EP93XX is not set
-# CONFIG_ARCH_FOOTBRIDGE is not set
-# CONFIG_ARCH_IOP13XX is not set
-# CONFIG_ARCH_IOP32X is not set
-# CONFIG_ARCH_IOP33X is not set
-# CONFIG_ARCH_IXP4XX is not set
-# CONFIG_ARCH_DOVE is not set
-# CONFIG_ARCH_KS8695 is not set
-# CONFIG_ARCH_W90X900 is not set
-# CONFIG_ARCH_LPC32XX is not set
-# CONFIG_ARCH_PXA is not set
-# CONFIG_ARCH_RPC is not set
-# CONFIG_ARCH_SA1100 is not set
-# CONFIG_ARCH_S3C24XX is not set
-# CONFIG_ARCH_DAVINCI is not set
-# CONFIG_ARCH_OMAP1 is not set
-
-#
-# CPU Core family selection
-#
-# CONFIG_ARCH_MULTI_V6 is not set
-CONFIG_ARCH_MULTI_V7=y
-CONFIG_ARCH_MULTI_V6_V7=y
-CONFIG_ARCH_VIRT=y
-# CONFIG_ARCH_ARTPEC is not set
-# CONFIG_ARCH_AT91 is not set
-CONFIG_ARCH_BCM=y
-
-#
-# IPROC architected SoCs
-#
-CONFIG_ARCH_BCM_IPROC=y
-# CONFIG_ARCH_BCM_CYGNUS is not set
-# CONFIG_ARCH_BCM_HR2 is not set
-# CONFIG_ARCH_BCM_NSP is not set
-CONFIG_ARCH_BCM_5301X=y
-
-#
-# KONA architected SoCs
-#
-# CONFIG_ARCH_BCM_281XX is not set
-# CONFIG_ARCH_BCM_21664 is not set
-# CONFIG_ARCH_BCM_23550 is not set
-
-#
-# Other Architectures
-#
-# CONFIG_ARCH_BCM_53573 is not set
-CONFIG_ARCH_BCM_63XX=y
-CONFIG_ARCH_BRCMSTB=y
-CONFIG_ARCH_BERLIN=y
-# CONFIG_MACH_BERLIN_BG2 is not set
-# CONFIG_MACH_BERLIN_BG2CD is not set
-# CONFIG_MACH_BERLIN_BG2Q is not set
-# CONFIG_ARCH_DIGICOLOR is not set
-CONFIG_ARCH_EXYNOS=y
-CONFIG_S5P_DEV_MFC=y
-# CONFIG_ARCH_EXYNOS3 is not set
-CONFIG_ARCH_EXYNOS4=y
-CONFIG_ARCH_EXYNOS5=y
-
-#
-# EXYNOS SoCs
-#
-CONFIG_CPU_EXYNOS4210=y
-CONFIG_SOC_EXYNOS4412=y
-CONFIG_SOC_EXYNOS5250=y
-CONFIG_SOC_EXYNOS5260=y
-CONFIG_SOC_EXYNOS5410=y
-CONFIG_SOC_EXYNOS5420=y
-CONFIG_SOC_EXYNOS5800=y
-CONFIG_EXYNOS_MCPM=y
-CONFIG_EXYNOS_CPU_SUSPEND=y
-CONFIG_PLAT_SAMSUNG=y
-
-#
-# Power management
-#
-CONFIG_ARCH_HIGHBANK=y
-CONFIG_ARCH_HISI=y
-
-#
-# Hisilicon platform type
-#
-CONFIG_ARCH_HI3xxx=y
-# CONFIG_ARCH_HIP01 is not set
-CONFIG_ARCH_HIP04=y
-CONFIG_ARCH_HIX5HD2=y
-# end of Hisilicon platform type
-CONFIG_ARCH_MXC=y
-
-#
-# Cortex-A platforms
-#
-# CONFIG_SOC_IMX50 is not set
-# CONFIG_SOC_IMX51 is not set
-# CONFIG_SOC_IMX53 is not set
-CONFIG_SOC_IMX6=y
-CONFIG_SOC_IMX6Q=y
-CONFIG_SOC_IMX6SL=y
-CONFIG_SOC_IMX6SLL=y
-CONFIG_SOC_IMX6SX=y
-# CONFIG_SOC_IMX6UL is not set
-# CONFIG_SOC_LS1021A is not set
-
-#
-# Cortex-A/Cortex-M asymmetric multiprocessing platforms
-#
-# CONFIG_SOC_IMX7D is not set
-# CONFIG_SOC_IMX7ULP is not set
-CONFIG_SOC_VF610=y
-CONFIG_VF_USE_ARM_GLOBAL_TIMER=y
-# CONFIG_VF_USE_PIT_TIMER is not set
-CONFIG_ARCH_KEYSTONE=y
-CONFIG_ARCH_MEDIATEK=y
-# CONFIG_MACH_MT2701 is not set
-CONFIG_MACH_MT6589=y
-CONFIG_MACH_MT6592=y
-CONFIG_MACH_MT7623=y
-CONFIG_MACH_MT7629=y
-CONFIG_MACH_MT8127=y
-CONFIG_MACH_MT8135=y
-CONFIG_MACH_MESON6=y
-CONFIG_MACH_MESON8=y
-# CONFIG_ARCH_MILBEAUT is not set
-# CONFIG_ARCH_MMP is not set
-# CONFIG_ARCH_NPCM is not set
-CONFIG_ARCH_OMAP=y
-
-#
-# OMAP Feature Selections
-#
-# CONFIG_POWER_AVS_OMAP is not set
-# CONFIG_OMAP_RESET_CLOCKS is not set
-CONFIG_OMAP_32K_TIMER=y
-# CONFIG_OMAP3_L2_AUX_SECURE_SAVE_RESTORE is not set
-CONFIG_MACH_OMAP_GENERIC=y
-
-#
-# TI OMAP/AM/DM/DRA Family
-#
-CONFIG_ARCH_OMAP3=y
-CONFIG_ARCH_OMAP4=y
-CONFIG_SOC_OMAP5=y
-CONFIG_SOC_AM33XX=y
-CONFIG_SOC_AM43XX=y
-CONFIG_SOC_DRA7XX=y
-CONFIG_ARCH_OMAP2PLUS=y
-CONFIG_OMAP_INTERCONNECT_BARRIER=y
-
-#
-# TI OMAP2/3/4 Specific Features
-#
-CONFIG_ARCH_OMAP2PLUS_TYPICAL=y
-CONFIG_SOC_HAS_OMAP2_SDRC=y
-CONFIG_SOC_HAS_REALTIME_COUNTER=y
-CONFIG_SOC_OMAP3430=y
-CONFIG_SOC_TI81XX=y
-CONFIG_OMAP_PACKAGE_CBB=y
-
-#
-# OMAP Legacy Platform Data Board Type
-#
-CONFIG_MACH_OMAP3517EVM=y
-CONFIG_MACH_OMAP3_PANDORA=y
-# CONFIG_OMAP3_SDRC_AC_TIMING is not set
-# end of TI OMAP2/3/4 Specific Features
-CONFIG_OMAP5_ERRATA_801819=y
-# end of TI OMAP/AM/DM/DRA Family
-CONFIG_ARCH_SIRF=y
-
-#
-# CSR SiRF atlas6/primaII/Atlas7 Specific Features
-#
-CONFIG_ARCH_ATLAS6=y
-CONFIG_ARCH_ATLAS7=y
-CONFIG_ARCH_PRIMA2=y
-CONFIG_SIRF_IRQ=y
-CONFIG_ARCH_QCOM=y
-# CONFIG_ARCH_MSM8X60 is not set
-# CONFIG_ARCH_MSM8960 is not set
-# CONFIG_ARCH_MSM8974 is not set
-# CONFIG_ARCH_MDM9615 is not set
-# CONFIG_ARCH_RDA is not set
-# CONFIG_ARCH_REALVIEW is not set
-CONFIG_ARCH_ROCKCHIP=y
-# CONFIG_ARCH_S5PV210 is not set
-# CONFIG_ARCH_SOCFPGA is not set
-# CONFIG_PLAT_SPEAR is not set
-CONFIG_ARCH_STI=y
-CONFIG_SOC_STIH415=y
-CONFIG_SOC_STIH416=y
-CONFIG_SOC_STIH407=y
-# CONFIG_ARCH_STM32 is not set
-CONFIG_ARCH_SUNXI=y
-CONFIG_MACH_SUN4I=y
-CONFIG_MACH_SUN5I=y
-CONFIG_MACH_SUN6I=y
-CONFIG_MACH_SUN7I=y
-CONFIG_MACH_SUN8I=y
-CONFIG_MACH_SUN9I=y
-CONFIG_ARCH_SUNXI_MC_SMP=y
-# CONFIG_ARCH_TANGO is not set
-CONFIG_ARCH_TEGRA=y
-CONFIG_ARCH_U8500=y
-CONFIG_UX500_SOC_DB8500=y
-CONFIG_UX500_DEBUG_UART=2
-CONFIG_ARCH_VEXPRESS_CORTEX_A5_A9_ERRATA=y
-CONFIG_ARCH_VEXPRESS_DCSCB=y
-CONFIG_ARCH_VEXPRESS_SPC=y
-CONFIG_ARCH_VEXPRESS_TC2_PM=y
-CONFIG_ARCH_VT8500=y
-CONFIG_ARCH_WM8850=y
-CONFIG_ARCH_ZYNQ=y
-CONFIG_PLAT_VERSATILE=y
-
-#
-# Processor Type
-#
-CONFIG_CPU_V7=y
-CONFIG_CPU_THUMB_CAPABLE=y
-CONFIG_CPU_32v6K=y
-CONFIG_CPU_32v7=y
-CONFIG_CPU_ABRT_EV7=y
-CONFIG_CPU_PABRT_V7=y
-CONFIG_CPU_CACHE_V7=y
-CONFIG_CPU_CACHE_VIPT=y
-CONFIG_CPU_COPY_V6=y
-CONFIG_CPU_TLB_V7=y
-CONFIG_CPU_HAS_ASID=y
-CONFIG_CPU_CP15=y
-CONFIG_CPU_CP15_MMU=y
-
-#
-# Processor Features
-#
-# CONFIG_ARM_LPAE is not set
-CONFIG_ARM_THUMB=y
-# CONFIG_ARM_THUMBEE is not set
-CONFIG_ARM_VIRT_EXT=y
-CONFIG_SWP_EMULATE=y
-# CONFIG_CPU_ICACHE_DISABLE is not set
-CONFIG_CPU_ICACHE_MISMATCH_WORKAROUND=y
-# CONFIG_CPU_BPREDICT_DISABLE is not set
-CONFIG_CPU_SPECTRE=y
-CONFIG_VDSO=y
-CONFIG_OUTER_CACHE=y
-CONFIG_OUTER_CACHE_SYNC=y
-CONFIG_CACHE_B15_RAC=y
-CONFIG_MIGHT_HAVE_CACHE_L2X0=y
-CONFIG_CACHE_L2X0=y
-# CONFIG_CACHE_L2X0_PMU is not set
-CONFIG_PL310_ERRATA_588369=y
-CONFIG_PL310_ERRATA_727915=y
-CONFIG_PL310_ERRATA_753970=y
-CONFIG_PL310_ERRATA_769419=y
-CONFIG_ARM_L1_CACHE_SHIFT_6=y
-CONFIG_ARM_L1_CACHE_SHIFT=6
-CONFIG_ARM_DMA_MEM_BUFFERABLE=y
-CONFIG_ARM_HEAVY_MB=y
-CONFIG_ARCH_SUPPORTS_BIG_ENDIAN=y
-CONFIG_DEBUG_ALIGN_RODATA=y
-CONFIG_ARM_ERRATA_430973=y
-CONFIG_ARM_ERRATA_643719=y
-CONFIG_ARM_ERRATA_720789=y
-CONFIG_ARM_ERRATA_754322=y
-CONFIG_ARM_ERRATA_754327=y
-CONFIG_ARM_ERRATA_764369=y
-CONFIG_ARM_ERRATA_775420=y
-CONFIG_ARM_ERRATA_798181=y
-CONFIG_ARM_ERRATA_773022=y
-CONFIG_ARM_ERRATA_818325_852422=y
-CONFIG_ARM_ERRATA_821420=y
-CONFIG_ARM_ERRATA_825619=y
-CONFIG_ARM_ERRATA_857271=y
-CONFIG_ARM_ERRATA_852421=y
-CONFIG_ARM_ERRATA_852423=y
-CONFIG_ARM_ERRATA_857272=y
-# end of System Type
-CONFIG_KRAIT_L2_ACCESSORS=y
-
-#
-# Bus support
-#
-CONFIG_ARM_ERRATA_814220=y
-# end of Bus support
-
-#
-# Kernel Features
-#
-CONFIG_SMP_ON_UP=y
-CONFIG_ARM_CPU_TOPOLOGY=y
-CONFIG_MCPM=y
-CONFIG_MCPM_QUAD_CLUSTER=y
-CONFIG_BIG_LITTLE=y
-# CONFIG_BL_SWITCHER is not set
-CONFIG_VMSPLIT_3G=y
-# CONFIG_VMSPLIT_3G_OPT is not set
-# CONFIG_VMSPLIT_2G is not set
-# CONFIG_VMSPLIT_1G is not set
-CONFIG_PAGE_OFFSET=0xC0000000
-CONFIG_NR_CPUS=4
-CONFIG_ARM_PSCI=y
-CONFIG_ARCH_NR_GPIO=1024
-CONFIG_HZ_FIXED=0
-# CONFIG_HZ_200 is not set
-# CONFIG_HZ_500 is not set
-CONFIG_THUMB2_KERNEL=y
-CONFIG_THUMB2_AVOID_R_ARM_THM_JUMP11=y
-CONFIG_ARM_PATCH_IDIV=y
-CONFIG_AEABI=y
-CONFIG_ARCH_HAS_HOLES_MEMORYMODEL=y
-CONFIG_HIGHMEM=y
-CONFIG_HIGHPTE=y
-CONFIG_CPU_SW_DOMAIN_PAN=y
-CONFIG_ARCH_WANT_GENERAL_HUGETLB=y
-CONFIG_ARM_MODULE_PLTS=y
-CONFIG_FORCE_MAX_ZONEORDER=12
-CONFIG_ALIGNMENT_TRAP=y
-# CONFIG_UACCESS_WITH_MEMCPY is not set
-CONFIG_STACKPROTECTOR_PER_TASK=y
-# end of Kernel Features
-
-#
-# Boot options
-#
-CONFIG_USE_OF=y
-CONFIG_ATAGS=y
-# CONFIG_DEPRECATED_PARAM_STRUCT is not set
-CONFIG_ZBOOT_ROM_TEXT=0
-CONFIG_ZBOOT_ROM_BSS=0
-CONFIG_ARM_APPENDED_DTB=y
-# CONFIG_ARM_ATAG_DTB_COMPAT is not set
-CONFIG_CMDLINE="root=/dev/ram0 rw ramdisk=8192 initrd=0x41000000,8M console=ttySAC1,115200 init=/linuxrc mem=256M"
-CONFIG_CMDLINE_FROM_BOOTLOADER=y
-# CONFIG_CMDLINE_EXTEND is not set
-CONFIG_CRASH_DUMP=y
-CONFIG_AUTO_ZRELADDR=y
-# CONFIG_EFI is not set
-# end of Boot options
-
-#
-# CPU frequency scaling drivers
-#
-CONFIG_ARM_BIG_LITTLE_CPUFREQ=m
-CONFIG_ARM_VEXPRESS_SPC_CPUFREQ=m
-CONFIG_ARM_BRCMSTB_AVS_CPUFREQ=m
-CONFIG_ARM_HIGHBANK_CPUFREQ=m
-CONFIG_ARM_IMX6Q_CPUFREQ=m
-CONFIG_ARM_IMX_CPUFREQ_DT=m
-CONFIG_ARM_MEDIATEK_CPUFREQ=m
-CONFIG_ARM_OMAP2PLUS_CPUFREQ=y
-CONFIG_ARM_QCOM_CPUFREQ_HW=m
-CONFIG_ARM_STI_CPUFREQ=m
-CONFIG_ARM_TEGRA20_CPUFREQ=y
-CONFIG_ARM_TEGRA124_CPUFREQ=y
-CONFIG_ARM_TI_CPUFREQ=y
-
-#
-# ARM CPU Idle Drivers
-#
-CONFIG_ARM_BIG_LITTLE_CPUIDLE=y
-CONFIG_ARM_HIGHBANK_CPUIDLE=y
-CONFIG_ARM_ZYNQ_CPUIDLE=y
-CONFIG_ARM_U8500_CPUIDLE=y
-CONFIG_ARM_EXYNOS_CPUIDLE=y
-# end of ARM CPU Idle Drivers
-CONFIG_ARCH_NEEDS_CPU_IDLE_COUPLED=y
-
-#
-# At least one emulation must be selected
-#
-CONFIG_VFP=y
-CONFIG_VFPv3=y
-CONFIG_NEON=y
-
-#
-# Power management options
-#
-CONFIG_APM_EMULATION=y
-CONFIG_ARM_CPU_SUSPEND=y
-# end of Power management options
-
-#
-# Firmware Drivers
-#
-CONFIG_QCOM_SCM=y
-CONFIG_QCOM_SCM_32=y
-# CONFIG_QCOM_SCM_DOWNLOAD_MODE_DEFAULT is not set
-CONFIG_TI_SCI_PROTOCOL=m
-CONFIG_TRUSTED_FOUNDATIONS=y
-CONFIG_BCM47XX_NVRAM=y
-# CONFIG_BCM47XX_SPROM is not set
-# CONFIG_IMX_SCU is not set
-
-#
-# Tegra firmware driver
-#
-# CONFIG_TEGRA_IVC is not set
-# end of Tegra firmware driver
-# end of Firmware Drivers
-CONFIG_ARM_CRYPTO=y
-CONFIG_CRYPTO_SHA1_ARM=m
-CONFIG_CRYPTO_SHA1_ARM_NEON=m
-CONFIG_CRYPTO_SHA1_ARM_CE=m
-CONFIG_CRYPTO_SHA2_ARM_CE=m
-CONFIG_CRYPTO_SHA256_ARM=m
-CONFIG_CRYPTO_SHA512_ARM=m
-CONFIG_CRYPTO_AES_ARM=m
-CONFIG_CRYPTO_AES_ARM_BS=m
-CONFIG_CRYPTO_AES_ARM_CE=m
-CONFIG_CRYPTO_GHASH_ARM_CE=m
-CONFIG_CRYPTO_CRCT10DIF_ARM_CE=m
-CONFIG_CRYPTO_CRC32_ARM_CE=m
-
-#
-# General architecture-dependent options
-#
-CONFIG_ARCH_USE_BUILTIN_BSWAP=y
-CONFIG_ARCH_32BIT_OFF_T=y
-CONFIG_ARCH_WANT_IPC_PARSE_VERSION=y
-CONFIG_MODULES_USE_ELF_REL=y
-CONFIG_ARCH_MMAP_RND_BITS=16
-CONFIG_OLD_SIGACTION=y
-CONFIG_ARCH_OPTIONAL_KERNEL_RWX=y
-CONFIG_ARCH_OPTIONAL_KERNEL_RWX_DEFAULT=y
-CONFIG_ARCH_HAS_PHYS_TO_DMA=y
-
-#
-# GCC plugins
-#
-CONFIG_GCC_PLUGIN_ARM_SSP_PER_TASK=y
-# end of GCC plugins
-# end of General architecture-dependent options
-
-#
-# Executable file formats
-#
-# CONFIG_BINFMT_ELF_FDPIC is not set
-CONFIG_ARCH_HAS_BINFMT_FLAT=y
-# CONFIG_BINFMT_FLAT is not set
-CONFIG_BINFMT_FLAT_ARGVP_ENVP_ON_STACK=y
-# end of Executable file formats
-
-#
-# Memory Management options
-#
-CONFIG_FLATMEM=y
-CONFIG_FLAT_NODE_MEM_MAP=y
-CONFIG_BOUNCE=y
-# end of Memory Management options
-
-#
-# Classification
-#
-# CONFIG_QRTR is not set
-
-#
-# Device Drivers
-#
-CONFIG_TEGRA_AHB=y
-
-#
-# Cadence PCIe controllers support
-#
-# CONFIG_PCI_FTPCI100 is not set
-CONFIG_PCI_TEGRA=y
-CONFIG_PCI_V3_SEMI=y
-CONFIG_PCIE_IPROC=m
-CONFIG_PCIE_IPROC_PLATFORM=m
-# CONFIG_PCIE_IPROC_BCMA is not set
-CONFIG_PCIE_IPROC_MSI=y
-CONFIG_PCIE_ALTERA=y
-CONFIG_PCIE_ALTERA_MSI=y
-CONFIG_PCIE_ROCKCHIP=y
-CONFIG_PCIE_ROCKCHIP_HOST=m
-# CONFIG_PCIE_MEDIATEK is not set
-
-#
-# DesignWare PCI Core Support
-#
-CONFIG_PCI_DRA7XX=y
-CONFIG_PCI_DRA7XX_HOST=y
-CONFIG_PCI_IMX6=y
-CONFIG_PCI_KEYSTONE=y
-CONFIG_PCI_KEYSTONE_HOST=y
-CONFIG_PCI_LAYERSCAPE=y
-CONFIG_PCIE_QCOM=y
-CONFIG_PCIE_HISI_STB=y
-# end of DesignWare PCI Core Support
-
-#
-# Firmware loader
-#
-CONFIG_FW_LOADER_USER_HELPER_FALLBACK=y
-# end of Firmware loader
-CONFIG_REGMAP_SPMI=m
-
-#
-# Bus devices
-#
-CONFIG_ARM_CCI400_PORT_CTRL=y
-CONFIG_BRCMSTB_GISB_ARB=y
-# CONFIG_IMX_WEIM is not set
-CONFIG_OMAP_INTERCONNECT=y
-# CONFIG_OMAP_OCP2SCP is not set
-CONFIG_QCOM_EBI2=y
-# CONFIG_SUN50I_DE2_BUS is not set
-CONFIG_SUNXI_RSB=m
-CONFIG_TEGRA_GMI=m
-CONFIG_TI_SYSC=y
-# end of Bus devices
-CONFIG_ARCH_MIGHT_HAVE_PC_PARPORT=y
-
-#
-# Misc devices
-#
-# CONFIG_QCOM_COINCELL is not set
-# CONFIG_QCOM_FASTRPC is not set
-CONFIG_SRAM_EXEC=y
-# end of Misc devices
-
-#
-# VOP Driver
-#
-# CONFIG_IDE is not set
-
-#
-# SCSI Transports
-#
-CONFIG_SCSI_UFS_QCOM=m
-CONFIG_SCSI_UFS_MEDIATEK=m
-# CONFIG_SCSI_UFS_HISI is not set
-CONFIG_SCSI_NSP32=m
-
-#
-# Controllers with non-SFF native interface
-#
-CONFIG_AHCI_BRCM=m
-CONFIG_AHCI_DM816=m
-CONFIG_AHCI_ST=m
-CONFIG_AHCI_IMX=m
-CONFIG_AHCI_MTK=m
-CONFIG_AHCI_SUNXI=m
-CONFIG_AHCI_TEGRA=m
-
-#
-# SATA SFF controllers with BMDMA
-#
-CONFIG_SATA_HIGHBANK=m
-
-#
-# PATA SFF controllers with BMDMA
-#
-CONFIG_PATA_IMX=m
-
-#
-# Distributed Switch Architecture drivers
-#
-CONFIG_NET_VENDOR_ALLWINNER=y
-CONFIG_SUN4I_EMAC=m
-CONFIG_ARC_EMAC_CORE=m
-CONFIG_EMAC_ROCKCHIP=m
-CONFIG_BGMAC=y
-CONFIG_BGMAC_BCMA=m
-CONFIG_BGMAC_PLATFORM=y
-# CONFIG_MACB is not set
-CONFIG_NET_CALXEDA_XGMAC=m
-CONFIG_NET_VENDOR_CIRRUS=y
-CONFIG_CS89x0=m
-CONFIG_CS89x0_PLATFORM=y
-CONFIG_DM9000=m
-# CONFIG_DM9000_FORCE_SIMPLE_PHY_POLL is not set
-CONFIG_NET_VENDOR_FARADAY=y
-CONFIG_FTMAC100=m
-CONFIG_FTGMAC100=m
-CONFIG_NET_VENDOR_FREESCALE=y
-CONFIG_FEC=m
-CONFIG_FSL_PQ_MDIO=m
-CONFIG_FSL_XGMAC_MDIO=m
-CONFIG_GIANFAR=m
-CONFIG_PXA168_ETH=m
-CONFIG_NET_VENDOR_MEDIATEK=y
-CONFIG_NET_MEDIATEK_SOC=m
-CONFIG_AX88796=m
-CONFIG_AX88796_93CX6=y
-CONFIG_SMC911X=m
-CONFIG_DWMAC_IPQ806X=m
-CONFIG_DWMAC_MEDIATEK=m
-CONFIG_DWMAC_QCOM_ETHQOS=m
-CONFIG_DWMAC_ROCKCHIP=m
-CONFIG_DWMAC_STI=m
-CONFIG_DWMAC_SUNXI=m
-CONFIG_DWMAC_SUN8I=m
-CONFIG_TI_DAVINCI_EMAC=m
-CONFIG_TI_DAVINCI_MDIO=m
-CONFIG_TI_CPSW=m
-# CONFIG_TI_CPTS is not set
-CONFIG_NET_VENDOR_XILINX=y
-# CONFIG_XILINX_EMACLITE is not set
-CONFIG_XILINX_AXI_EMAC=m
-CONFIG_MDIO_BCM_IPROC=m
-CONFIG_MDIO_BUS_MUX=y
-CONFIG_MDIO_BUS_MUX_BCM_IPROC=y
-CONFIG_MDIO_SUN4I=m
-
-#
-# MII PHY device drivers
-#
-CONFIG_BCM_CYGNUS_PHY=m
-CONFIG_ATH10K_SNOC=m
-
-#
-# Enable WiMAX (Networking options) to see the WiMAX drivers
-#
-CONFIG_VMXNET3=m
-
-#
-# Input device support
-#
-CONFIG_INPUT_MATRIXKMAP=y
-
-#
-# Userland interfaces
-#
-# CONFIG_INPUT_APMPOWER is not set
-
-#
-# Input Device Drivers
-#
-# CONFIG_KEYBOARD_SNVS_PWRKEY is not set
-CONFIG_KEYBOARD_IMX=m
-# CONFIG_KEYBOARD_NOMADIK is not set
-CONFIG_KEYBOARD_TEGRA=m
-CONFIG_KEYBOARD_PMIC8XXX=m
-# CONFIG_KEYBOARD_ST_KEYSCAN is not set
-CONFIG_KEYBOARD_SUN4I_LRADC=m
-# CONFIG_INPUT_AB8500_PONKEY is not set
-CONFIG_INPUT_PM8941_PWRKEY=m
-# CONFIG_INPUT_PM8XXX_VIBRATOR is not set
-CONFIG_INPUT_PMIC8XXX_PWRKEY=m
-CONFIG_INPUT_SIRFSOC_ONKEY=y
-CONFIG_INPUT_HISI_POWERKEY=m
-
-#
-# Hardware I/O ports
-#
-CONFIG_SERIO_SUN4I_PS2=m
-# end of Hardware I/O ports
-# end of Input device support
-
-#
-# Character devices
-#
-# CONFIG_DEVKMEM is not set
-
-#
-# Serial drivers
-#
-CONFIG_SERIAL_8250_EM=m
-CONFIG_SERIAL_8250_OMAP=m
-CONFIG_SERIAL_8250_MT6577=y
-
-#
-# Non-8250 serial port support
-#
-CONFIG_SERIAL_SAMSUNG=m
-CONFIG_SERIAL_SAMSUNG_UARTS_4=y
-CONFIG_SERIAL_SAMSUNG_UARTS=4
-CONFIG_SERIAL_SIRFSOC=m
-CONFIG_SERIAL_IMX=m
-# CONFIG_SERIAL_MSM is not set
-# CONFIG_SERIAL_VT8500 is not set
-CONFIG_SERIAL_OMAP=m
-CONFIG_SERIAL_BCM63XX=m
-CONFIG_SERIAL_ST_ASC=m
-# end of Serial drivers
-# CONFIG_HVC_DCC is not set
-CONFIG_HW_RANDOM_BCM2835=y
-CONFIG_HW_RANDOM_IPROC_RNG200=m
-CONFIG_HW_RANDOM_OMAP=y
-CONFIG_HW_RANDOM_OMAP3_ROM=y
-CONFIG_HW_RANDOM_IMX_RNGC=m
-CONFIG_HW_RANDOM_HISI=y
-CONFIG_HW_RANDOM_ST=m
-CONFIG_HW_RANDOM_MTK=y
-CONFIG_HW_RANDOM_EXYNOS=m
-CONFIG_HW_RANDOM_KEYSTONE=m
-# end of Character devices
-
-#
-# PC SMBus host controller drivers
-#
-CONFIG_I2C_HIX5HD2=m
-
-#
-# I2C system bus drivers (mostly embedded / system-on-chip)
-#
-CONFIG_I2C_BCM2835=m
-CONFIG_I2C_BCM_IPROC=m
-# CONFIG_I2C_BRCMSTB is not set
-# CONFIG_I2C_CADENCE is not set
-CONFIG_I2C_DAVINCI=m
-CONFIG_I2C_DESIGNWARE_CORE=m
-CONFIG_I2C_DESIGNWARE_PLATFORM=m
-CONFIG_I2C_EXYNOS5=m
-CONFIG_I2C_IMX=m
-CONFIG_I2C_IMX_LPI2C=m
-CONFIG_I2C_MT65XX=m
-CONFIG_I2C_MV64XXX=m
-CONFIG_I2C_NOMADIK=y
-CONFIG_I2C_OMAP=y
-CONFIG_I2C_QUP=m
-CONFIG_I2C_S3C2410=m
-CONFIG_I2C_SIRF=m
-CONFIG_I2C_ST=m
-CONFIG_I2C_SUN6I_P2WI=m
-CONFIG_I2C_TEGRA=m
-CONFIG_I2C_WMT=m
-
-#
-# Other I2C/SMBus bus drivers
-#
-CONFIG_SPMI_MSM_PMIC_ARB=m
-
-#
-# HSI controllers
-#
-CONFIG_OMAP_SSI=m
-
-#
-# PTP clock support
-#
-CONFIG_PTP_1588_CLOCK_QORIQ=m
-# end of PTP clock support
-
-#
-# Enable PHYLIB and NETWORK_PHY_TIMESTAMPING to see the additional clocks.
-#
-# CONFIG_PINCTRL_AS3722 is not set
-CONFIG_PINCTRL_AMD=y
-# CONFIG_PINCTRL_MCP23S08 is not set
-CONFIG_PINCTRL_ROCKCHIP=y
-CONFIG_PINCTRL_SINGLE=y
-CONFIG_PINCTRL_SIRF=y
-CONFIG_PINCTRL_ST=y
-# CONFIG_PINCTRL_PALMAS is not set
-CONFIG_PINCTRL_ZYNQ=y
-CONFIG_PINCTRL_BCM2835=y
-CONFIG_PINCTRL_IPROC_GPIO=y
-CONFIG_PINCTRL_NS=y
-CONFIG_PINCTRL_NS2_MUX=y
-CONFIG_PINCTRL_BERLIN=y
-CONFIG_PINCTRL_AS370=y
-CONFIG_PINCTRL_BERLIN_BG4CT=y
-CONFIG_PINCTRL_IMX=y
-CONFIG_PINCTRL_IMX6Q=y
-CONFIG_PINCTRL_IMX6SL=y
-CONFIG_PINCTRL_IMX6SLL=y
-CONFIG_PINCTRL_IMX6SX=y
-CONFIG_PINCTRL_VF610=y
-CONFIG_PINCTRL_ABX500=y
-CONFIG_PINCTRL_AB8500=y
-CONFIG_PINCTRL_AB8505=y
-CONFIG_PINCTRL_NOMADIK=y
-CONFIG_PINCTRL_DB8500=y
-CONFIG_PINCTRL_MSM=y
-CONFIG_PINCTRL_APQ8064=y
-CONFIG_PINCTRL_APQ8084=y
-CONFIG_PINCTRL_IPQ4019=y
-CONFIG_PINCTRL_IPQ8064=y
-CONFIG_PINCTRL_IPQ8074=m
-CONFIG_PINCTRL_MSM8660=m
-CONFIG_PINCTRL_MSM8960=m
-CONFIG_PINCTRL_MDM9615=m
-CONFIG_PINCTRL_MSM8X74=m
-CONFIG_PINCTRL_MSM8916=m
-CONFIG_PINCTRL_MSM8994=m
-CONFIG_PINCTRL_MSM8996=m
-CONFIG_PINCTRL_MSM8998=m
-CONFIG_PINCTRL_QCS404=m
-CONFIG_PINCTRL_QCOM_SPMI_PMIC=m
-CONFIG_PINCTRL_QCOM_SSBI_PMIC=m
-CONFIG_PINCTRL_SDM660=m
-CONFIG_PINCTRL_SDM845=m
-CONFIG_PINCTRL_SM8150=m
-CONFIG_PINCTRL_SAMSUNG=y
-CONFIG_PINCTRL_EXYNOS=y
-CONFIG_PINCTRL_EXYNOS_ARM=y
-CONFIG_PINCTRL_SUNXI=y
-CONFIG_PINCTRL_SUN4I_A10=y
-CONFIG_PINCTRL_SUN5I=y
-CONFIG_PINCTRL_SUN6I_A31=y
-CONFIG_PINCTRL_SUN6I_A31_R=y
-CONFIG_PINCTRL_SUN8I_A23=y
-CONFIG_PINCTRL_SUN8I_A33=y
-CONFIG_PINCTRL_SUN8I_A83T=y
-CONFIG_PINCTRL_SUN8I_A83T_R=y
-CONFIG_PINCTRL_SUN8I_A23_R=y
-CONFIG_PINCTRL_SUN8I_H3=y
-CONFIG_PINCTRL_SUN8I_H3_R=y
-CONFIG_PINCTRL_SUN8I_V3S=y
-CONFIG_PINCTRL_SUN9I_A80=y
-CONFIG_PINCTRL_SUN9I_A80_R=y
-CONFIG_PINCTRL_SUN50I_A64=y
-CONFIG_PINCTRL_SUN50I_A64_R=y
-CONFIG_PINCTRL_SUN50I_H5=y
-CONFIG_PINCTRL_SUN50I_H6=y
-CONFIG_PINCTRL_SUN50I_H6_R=y
-CONFIG_PINCTRL_TEGRA=y
-CONFIG_PINCTRL_TEGRA20=y
-CONFIG_PINCTRL_TEGRA30=y
-CONFIG_PINCTRL_TEGRA114=y
-CONFIG_PINCTRL_TEGRA124=y
-CONFIG_PINCTRL_TEGRA_XUSB=y
-CONFIG_PINCTRL_TI_IODELAY=y
-# CONFIG_PINCTRL_WM8850 is not set
-
-#
-# MediaTek pinctrl drivers
-#
-CONFIG_EINT_MTK=y
-CONFIG_PINCTRL_MTK=y
-CONFIG_PINCTRL_MTK_MOORE=y
-# CONFIG_PINCTRL_MT2701 is not set
-CONFIG_PINCTRL_MT7623=y
-CONFIG_PINCTRL_MT7629=y
-CONFIG_PINCTRL_MT8135=y
-CONFIG_PINCTRL_MT8127=y
-CONFIG_PINCTRL_MT6397=y
-# end of MediaTek pinctrl drivers
-CONFIG_PINCTRL_MESON8=y
-CONFIG_PINCTRL_MESON8B=y
-CONFIG_ARCH_HAVE_CUSTOM_GPIO_H=y
-
-#
-# Memory mapped GPIO drivers
-#
-CONFIG_GPIO_BRCMSTB=m
-# CONFIG_GPIO_DAVINCI is not set
-# CONFIG_GPIO_DWAPB is not set
-# CONFIG_GPIO_MPC8XXX is not set
-CONFIG_GPIO_MXC=y
-CONFIG_GPIO_OMAP=y
-CONFIG_GPIO_TEGRA=y
-CONFIG_GPIO_VF610=y
-# CONFIG_GPIO_XILINX is not set
-# CONFIG_GPIO_ZEVIO is not set
-CONFIG_GPIO_ZYNQ=m
-# end of Memory mapped GPIO drivers
-
-#
-# I2C GPIO expanders
-#
-CONFIG_GPIO_TS4900=m
-# end of I2C GPIO expanders
-
-#
-# MFD GPIO expanders
-#
-# CONFIG_HTC_EGPIO is not set
-# end of MFD GPIO expanders
-
-#
-# USB GPIO expanders
-#
-# CONFIG_ROCKCHIP_IODOMAIN is not set
-CONFIG_POWER_RESET_BRCMKONA=y
-CONFIG_POWER_RESET_HISI=y
-# CONFIG_POWER_RESET_MSM is not set
-CONFIG_POWER_RESET_QCOM_PON=m
-CONFIG_POWER_RESET_ST=y
-CONFIG_POWER_RESET_VERSATILE=y
-CONFIG_POWER_RESET_KEYSTONE=y
-# CONFIG_APM_POWER is not set
-# CONFIG_CHARGER_QCOM_SMBB is not set
-
-#
-# Native drivers
-#
-# CONFIG_HISI_THERMAL is not set
-CONFIG_IMX_THERMAL=m
-CONFIG_ROCKCHIP_THERMAL=m
-CONFIG_DB8500_THERMAL=y
-CONFIG_MTK_THERMAL=m
-
-#
-# Broadcom thermal drivers
-#
-CONFIG_BRCMSTB_THERMAL=m
-CONFIG_BCM_NS_THERMAL=y
-CONFIG_BCM_SR_THERMAL=y
-# end of Broadcom thermal drivers
-
-#
-# Texas Instruments thermal drivers
-#
-# CONFIG_TI_SOC_THERMAL is not set
-# end of Texas Instruments thermal drivers
-
-#
-# Samsung thermal drivers
-#
-CONFIG_EXYNOS_THERMAL=y
-# end of Samsung thermal drivers
-
-#
-# STMicroelectronics thermal drivers
-#
-CONFIG_ST_THERMAL=m
-CONFIG_ST_THERMAL_SYSCFG=m
-CONFIG_ST_THERMAL_MEMMAP=m
-# end of STMicroelectronics thermal drivers
-
-#
-# NVIDIA Tegra thermal drivers
-#
-CONFIG_TEGRA_SOCTHERM=m
-# end of NVIDIA Tegra thermal drivers
-
-#
-# Qualcomm thermal drivers
-#
-CONFIG_QCOM_TSENS=m
-CONFIG_QCOM_SPMI_TEMP_ALARM=m
-# end of Qualcomm thermal drivers
-
-#
-# Watchdog Device Drivers
-#
-CONFIG_FTWDT010_WATCHDOG=m
-CONFIG_S3C2410_WATCHDOG=m
-CONFIG_OMAP_WATCHDOG=m
-CONFIG_DAVINCI_WATCHDOG=m
-CONFIG_SUNXI_WATCHDOG=m
-CONFIG_IMX2_WDT=m
-CONFIG_UX500_WATCHDOG=y
-CONFIG_SIRFSOC_WATCHDOG=y
-CONFIG_ST_LPC_WATCHDOG=m
-CONFIG_TEGRA_WATCHDOG=m
-CONFIG_QCOM_WDT=m
-CONFIG_MEDIATEK_WATCHDOG=m
-CONFIG_ATLAS7_WATCHDOG=m
-CONFIG_PM8916_WATCHDOG=m
-CONFIG_BCM47XX_WDT=m
-CONFIG_BCM7038_WDT=m
-
-#
-# USB-based Watchdog Cards
-#
-CONFIG_SSB_HOST_SOC=y
-
-#
-# Multifunction device drivers
-#
-CONFIG_MFD_SUN4I_GPADC=m
-CONFIG_MFD_ATMEL_HLCDC=m
-CONFIG_MFD_AC100=m
-CONFIG_MFD_AXP20X_RSB=m
-# CONFIG_MFD_ASIC3 is not set
-CONFIG_MFD_EXYNOS_LPASS=m
-CONFIG_MFD_HI655X_PMIC=m
-CONFIG_MFD_PM8XXX=m
-CONFIG_MFD_QCOM_RPM=m
-CONFIG_MFD_SPMI_PMIC=m
-CONFIG_ABX500_CORE=y
-# CONFIG_AB3100_CORE is not set
-CONFIG_AB8500_CORE=y
-CONFIG_MFD_DB8500_PRCMU=y
-
-#
-# STMicroelectronics STMPE Interface Drivers
-#
-CONFIG_MFD_SUN6I_PRCM=y
-CONFIG_MFD_OMAP_USB_HOST=y
-CONFIG_TWL4030_POWER=y
-# CONFIG_MFD_T7L66XB is not set
-# CONFIG_MFD_TC6387XB is not set
-# CONFIG_MFD_TC6393XB is not set
-# end of Multifunction device drivers
-CONFIG_REGULATOR_88PM8607=y
-# CONFIG_REGULATOR_AB8500 is not set
-CONFIG_REGULATOR_DBX500_PRCMU=y
-CONFIG_REGULATOR_DB8500_PRCMU=y
-CONFIG_REGULATOR_GPIO=y
-# CONFIG_REGULATOR_HI6421V530 is not set
-CONFIG_REGULATOR_HI655X=m
-CONFIG_REGULATOR_LP872X=y
-CONFIG_REGULATOR_LP8788=y
-CONFIG_REGULATOR_PBIAS=m
-CONFIG_REGULATOR_QCOM_RPM=m
-CONFIG_REGULATOR_QCOM_SMD_RPM=m
-CONFIG_REGULATOR_TI_ABB=m
-CONFIG_REGULATOR_TWL4030=y
-CONFIG_CEC_PIN=y
-CONFIG_IR_MTK=m
-CONFIG_IR_RX51=m
-# CONFIG_RC_ST is not set
-CONFIG_IR_SUNXI=m
-
-#
-# Multimedia core support
-#
-# CONFIG_CEC_PIN_ERROR_INJ is not set
-
-#
-# Media digital TV PCI Adapters
-#
-CONFIG_VIDEO_OMAP3=m
-# CONFIG_VIDEO_OMAP3_DEBUG is not set
-# CONFIG_VIDEO_QCOM_CAMSS is not set
-# CONFIG_VIDEO_SAMSUNG_EXYNOS4_IS is not set
-# CONFIG_VIDEO_AM437X_VPFE is not set
-# CONFIG_VIDEO_SUN6I_CSI is not set
-# CONFIG_VIDEO_TI_CAL is not set
-# CONFIG_VIDEO_CODA is not set
-# CONFIG_VIDEO_IMX_PXP is not set
-# CONFIG_VIDEO_MEDIATEK_JPEG is not set
-CONFIG_VIDEO_MEDIATEK_VPU=m
-CONFIG_VIDEO_MEDIATEK_MDP=m
-CONFIG_VIDEO_MEDIATEK_VCODEC=m
-CONFIG_VIDEO_SAMSUNG_S5P_G2D=m
-CONFIG_VIDEO_SAMSUNG_S5P_JPEG=m
-CONFIG_VIDEO_SAMSUNG_S5P_MFC=m
-CONFIG_VIDEO_SAMSUNG_EXYNOS_GSC=m
-CONFIG_VIDEO_STI_BDISP=m
-CONFIG_VIDEO_STI_HVA=m
-# CONFIG_VIDEO_STI_HVA_DEBUGFS is not set
-CONFIG_VIDEO_STI_DELTA=m
-CONFIG_VIDEO_STI_DELTA_MJPEG=y
-CONFIG_VIDEO_STI_DELTA_DRIVER=m
-# CONFIG_VIDEO_ROCKCHIP_RGA is not set
-# CONFIG_VIDEO_TI_VPE is not set
-# CONFIG_VIDEO_QCOM_VENUS is not set
-CONFIG_DVB_C8SECTPFE=m
-
-#
-# Graphics support
-#
-CONFIG_TEGRA_HOST1X=y
-CONFIG_TEGRA_HOST1X_FIREWALL=y
-CONFIG_IMX_IPUV3_CORE=m
-
-#
-# Display Engine Configuration
-#
-CONFIG_NOUVEAU_PLATFORM_DRIVER=y
-CONFIG_DRM_EXYNOS=m
-
-#
-# CRTCs
-#
-# CONFIG_DRM_EXYNOS_FIMD is not set
-CONFIG_DRM_EXYNOS5433_DECON=y
-# CONFIG_DRM_EXYNOS7_DECON is not set
-CONFIG_DRM_EXYNOS_MIXER=y
-CONFIG_DRM_EXYNOS_VIDI=y
-
-#
-# Encoders and Bridges
-#
-CONFIG_DRM_EXYNOS_DSI=y
-CONFIG_DRM_EXYNOS_HDMI=y
-CONFIG_DRM_EXYNOS_MIC=y
-
-#
-# Sub-drivers
-#
-# CONFIG_DRM_EXYNOS_FIMC is not set
-# CONFIG_DRM_EXYNOS_ROTATOR is not set
-# CONFIG_DRM_EXYNOS_SCALER is not set
-CONFIG_DRM_ROCKCHIP=m
-CONFIG_ROCKCHIP_ANALOGIX_DP=y
-CONFIG_ROCKCHIP_CDN_DP=y
-CONFIG_ROCKCHIP_DW_HDMI=y
-CONFIG_ROCKCHIP_DW_MIPI_DSI=y
-CONFIG_ROCKCHIP_INNO_HDMI=y
-CONFIG_ROCKCHIP_LVDS=y
-CONFIG_ROCKCHIP_RGB=y
-CONFIG_ROCKCHIP_RK3066_HDMI=y
-CONFIG_DRM_ARMADA=m
-CONFIG_DRM_ATMEL_HLCDC=m
-CONFIG_DRM_SUN4I=m
-CONFIG_DRM_SUN4I_HDMI=m
-CONFIG_DRM_SUN4I_HDMI_CEC=y
-CONFIG_DRM_SUN4I_BACKEND=m
-CONFIG_DRM_SUN6I_DSI=m
-CONFIG_DRM_SUN8I_DW_HDMI=m
-CONFIG_DRM_SUN8I_MIXER=m
-CONFIG_DRM_SUN8I_TCON_TOP=m
-CONFIG_DRM_OMAP=m
-CONFIG_OMAP2_DSS_INIT=y
-CONFIG_OMAP_DSS_BASE=m
-CONFIG_OMAP2_DSS=m
-# CONFIG_OMAP2_DSS_DEBUG is not set
-# CONFIG_OMAP2_DSS_DEBUGFS is not set
-CONFIG_OMAP2_DSS_DPI=y
-CONFIG_OMAP2_DSS_VENC=y
-CONFIG_OMAP2_DSS_HDMI_COMMON=y
-CONFIG_OMAP4_DSS_HDMI=y
-CONFIG_OMAP4_DSS_HDMI_CEC=y
-CONFIG_OMAP5_DSS_HDMI=y
-CONFIG_OMAP2_DSS_SDI=y
-CONFIG_OMAP2_DSS_DSI=y
-CONFIG_OMAP2_DSS_MIN_FCK_PER_PCK=0
-CONFIG_OMAP2_DSS_SLEEP_AFTER_VENC_RESET=y
-
-#
-# OMAPDRM External Display Device Drivers
-#
-CONFIG_DRM_OMAP_ENCODER_OPA362=m
-CONFIG_DRM_OMAP_ENCODER_TPD12S015=m
-CONFIG_DRM_OMAP_CONNECTOR_HDMI=m
-CONFIG_DRM_OMAP_CONNECTOR_ANALOG_TV=m
-CONFIG_DRM_OMAP_PANEL_DSI_CM=m
-CONFIG_DRM_OMAP_PANEL_SHARP_LS037V7DW01=m
-# end of OMAPDRM External Display Device Drivers
-# CONFIG_DRM_TILCDC is not set
-CONFIG_DRM_MSM=m
-CONFIG_DRM_MSM_GPU_STATE=y
-# CONFIG_DRM_MSM_REGISTER_LOGGING is not set
-# CONFIG_DRM_MSM_GPU_SUDO is not set
-CONFIG_DRM_MSM_HDMI_HDCP=y
-CONFIG_DRM_MSM_DSI=y
-CONFIG_DRM_MSM_DSI_PLL=y
-CONFIG_DRM_MSM_DSI_28NM_PHY=y
-CONFIG_DRM_MSM_DSI_20NM_PHY=y
-CONFIG_DRM_MSM_DSI_28NM_8960_PHY=y
-CONFIG_DRM_MSM_DSI_14NM_PHY=y
-CONFIG_DRM_MSM_DSI_10NM_PHY=y
-CONFIG_DRM_FSL_DCU=m
-CONFIG_DRM_TEGRA=m
-# CONFIG_DRM_TEGRA_DEBUG is not set
-# CONFIG_DRM_STM is not set
-
-#
-# Display Interface Bridges
-#
-CONFIG_DRM_ANALOGIX_DP=m
-CONFIG_DRM_DW_MIPI_DSI=m
-# end of Display Interface Bridges
-# CONFIG_DRM_STI is not set
-# CONFIG_DRM_IMX is not set
-CONFIG_DRM_V3D=m
-CONFIG_DRM_VC4=m
-CONFIG_DRM_VC4_HDMI_CEC=y
-CONFIG_DRM_MEDIATEK=m
-CONFIG_DRM_MEDIATEK_HDMI=m
-# CONFIG_DRM_TVE200 is not set
-CONFIG_DRM_MCDE=m
-CONFIG_DRM_PANEL_ORIENTATION_QUIRKS=m
-
-#
-# Frame buffer hardware drivers
-#
-# CONFIG_FB_IMX is not set
-# CONFIG_FB_VT8500 is not set
-# CONFIG_FB_WM8505 is not set
-# CONFIG_FB_XILINX is not set
-# CONFIG_FB_DA8XX is not set
-# CONFIG_FB_MX3 is not set
-# end of Graphics support
-
-#
-# Console display driver support
-#
-CONFIG_SND_ALS300=m
-# CONFIG_SND_ALI5451 is not set
-CONFIG_SND_AZT3328=m
-CONFIG_SND_EMU10K1=m
-CONFIG_SND_EMU10K1_SEQ=m
-CONFIG_SND_EMU10K1X=m
-CONFIG_SND_ES1938=m
-CONFIG_SND_ES1968=m
-# CONFIG_SND_ES1968_INPUT is not set
-CONFIG_SND_ICE1712=m
-CONFIG_SND_MAESTRO3=m
-# CONFIG_SND_MAESTRO3_INPUT is not set
-CONFIG_SND_SONICVIBES=m
-CONFIG_SND_TRIDENT=m
-
-#
-# HD-Audio
-#
-CONFIG_SND_HDA_TEGRA=m
-# end of HD-Audio
-CONFIG_SND_ARM=y
-CONFIG_SND_ARMAACI=m
-# CONFIG_SND_SOC_ADI is not set
-CONFIG_SND_DESIGNWARE_PCM=y
-
-#
-# Common SoC Audio options for Freescale CPUs:
-#
-# CONFIG_SND_SOC_FSL_MICFIL is not set
-CONFIG_SND_SOC_FSL_UTILS=m
-CONFIG_SND_SOC_IMX_PCM_DMA=m
-CONFIG_SND_IMX_SOC=m
-CONFIG_SND_SOC_IMX_SSI=m
-
-#
-# SoC Audio support for Freescale i.MX boards:
-#
-CONFIG_SND_SOC_EUKREA_TLV320=m
-CONFIG_SND_SOC_IMX_ES8328=m
-CONFIG_SND_SOC_IMX_SGTL5000=m
-CONFIG_SND_SOC_IMX_SPDIF=m
-CONFIG_SND_SOC_FSL_ASOC_CARD=m
-CONFIG_SND_SOC_IMX_AUDMIX=m
-CONFIG_SND_SOC_MEDIATEK=m
-CONFIG_SND_SOC_MT2701=m
-CONFIG_SND_SOC_MT2701_CS42448=m
-CONFIG_SND_SOC_MT2701_WM8960=m
-CONFIG_SND_SOC_MT6797=m
-CONFIG_SND_SOC_MT8173=m
-CONFIG_SND_SOC_MT8173_MAX98090=m
-CONFIG_SND_SOC_MT8173_RT5650=m
-CONFIG_SND_SOC_MT8173_RT5650_RT5514=m
-CONFIG_SND_SOC_MT8173_RT5650_RT5676=m
-CONFIG_SND_SOC_MT8183=m
-CONFIG_SND_SOC_MT8183_MT6358_TS3A227E_MAX98357A=m
-CONFIG_SND_SOC_MT8183_DA7219_MAX98357A=m
-
-#
-# ASoC support for Amlogic platforms
-#
-CONFIG_SND_SOC_QCOM=m
-CONFIG_SND_SOC_LPASS_CPU=m
-CONFIG_SND_SOC_LPASS_PLATFORM=m
-CONFIG_SND_SOC_LPASS_IPQ806X=m
-CONFIG_SND_SOC_LPASS_APQ8016=m
-CONFIG_SND_SOC_STORM=m
-CONFIG_SND_SOC_APQ8016_SBC=m
-CONFIG_SND_SOC_ROCKCHIP=m
-CONFIG_SND_SOC_ROCKCHIP_I2S=m
-CONFIG_SND_SOC_ROCKCHIP_PDM=m
-CONFIG_SND_SOC_ROCKCHIP_SPDIF=m
-CONFIG_SND_SOC_ROCKCHIP_MAX98090=m
-CONFIG_SND_SOC_ROCKCHIP_RT5645=m
-CONFIG_SND_SOC_RK3288_HDMI_ANALOG=m
-CONFIG_SND_SOC_SAMSUNG=m
-CONFIG_SND_SAMSUNG_PCM=m
-CONFIG_SND_SAMSUNG_SPDIF=m
-CONFIG_SND_SAMSUNG_I2S=m
-CONFIG_SND_SOC_SAMSUNG_SMDK_WM8994=m
-CONFIG_SND_SOC_SAMSUNG_SMDK_SPDIF=m
-CONFIG_SND_SOC_SMDK_WM8994_PCM=m
-CONFIG_SND_SOC_SNOW=m
-CONFIG_SND_SOC_ODROID=m
-CONFIG_SND_SOC_ARNDALE_RT5631_ALC5631=m
-CONFIG_SND_SOC_SIRF=m
-CONFIG_SND_SOC_SIRF_AUDIO=m
-CONFIG_SND_SOC_SIRF_AUDIO_PORT=m
-CONFIG_SND_SOC_SIRF_USP=m
-CONFIG_SND_SOC_STI=m
-
-#
-# Allwinner SoC Audio support
-#
-CONFIG_SND_SUN4I_CODEC=m
-CONFIG_SND_SUN8I_CODEC=m
-CONFIG_SND_SUN8I_CODEC_ANALOG=m
-CONFIG_SND_SUN4I_I2S=m
-CONFIG_SND_SUN4I_SPDIF=m
-CONFIG_SND_SUN8I_ADDA_PR_REGMAP=m
-# end of Allwinner SoC Audio support
-CONFIG_SND_SOC_UX500=m
-CONFIG_SND_SOC_UX500_PLAT_DMA=m
-CONFIG_SND_SOC_XILINX_I2S=m
-CONFIG_SND_SOC_XTFPGA_I2S=m
-
-#
-# CODEC drivers
-#
-CONFIG_SND_SOC_WM_HUBS=m
-CONFIG_SND_SOC_MAX98090=m
-CONFIG_SND_SOC_MAX98095=m
-CONFIG_SND_SOC_RT5514=m
-CONFIG_SND_SOC_RT5677=m
-CONFIG_SND_SOC_WM8994=m
-# end of CODEC drivers
-CONFIG_SND_SYNTH_EMUX=m
-
-#
-# USB Host Controller Drivers
-#
-CONFIG_USB_XHCI_HISTB=m
-CONFIG_USB_XHCI_MTK=m
-CONFIG_USB_XHCI_TEGRA=m
-CONFIG_USB_EHCI_MXC=y
-CONFIG_USB_EHCI_HCD_OMAP=y
-CONFIG_USB_EHCI_HCD_STI=m
-CONFIG_USB_EHCI_TEGRA=y
-CONFIG_USB_EHCI_EXYNOS=y
-CONFIG_USB_OHCI_HCD_STI=m
-CONFIG_USB_OHCI_HCD_OMAP3=y
-CONFIG_USB_OHCI_EXYNOS=y
-CONFIG_USB_UHCI_SUPPORT_NON_PCI_HC=y
-CONFIG_USB_UHCI_PLATFORM=y
-CONFIG_USB_IMX21_HCD=y
-
-#
-# USB Imaging devices
-#
-CONFIG_USB_MTU3=m
-CONFIG_USB_MTU3_HOST=y
-# CONFIG_USB_MTU3_DEBUG is not set
-
-#
-# Platform Glue Layer
-#
-CONFIG_USB_MUSB_SUNXI=m
-CONFIG_USB_MUSB_OMAP2PLUS=m
-CONFIG_USB_MUSB_AM35X=m
-CONFIG_USB_MUSB_DSPS=m
-CONFIG_USB_MUSB_UX500=m
-CONFIG_USB_MUSB_AM335X_CHILD=m
-
-#
-# MUSB DMA mode
-#
-# CONFIG_MUSB_PIO_ONLY is not set
-CONFIG_USB_UX500_DMA=y
-# CONFIG_USB_INVENTRA_DMA is not set
-# CONFIG_USB_TI_CPPI41_DMA is not set
-
-#
-# Platform Glue Driver Support
-#
-CONFIG_USB_DWC3_OMAP=m
-CONFIG_USB_DWC3_EXYNOS=m
-CONFIG_USB_DWC3_KEYSTONE=m
-CONFIG_USB_DWC3_ST=m
-CONFIG_USB_DWC3_QCOM=m
-
-#
-# USB Physical Layer drivers
-#
-# CONFIG_AB8500_USB is not set
-CONFIG_KEYSTONE_USB_PHY=m
-CONFIG_AM335X_CONTROL_USB=m
-CONFIG_AM335X_PHY_USB=m
-CONFIG_TWL6030_USB=m
-CONFIG_USB_MXS_PHY=m
-CONFIG_USB_TEGRA_PHY=y
-# end of USB Physical Layer drivers
-
-#
-# MMC/SD/SDIO Host Controller Drivers
-#
-CONFIG_MMC_SDHCI_OF_ESDHC=m
-CONFIG_MMC_SDHCI_ESDHC_IMX=m
-CONFIG_MMC_SDHCI_TEGRA=m
-CONFIG_MMC_SDHCI_S3C=m
-CONFIG_MMC_SDHCI_SIRF=m
-CONFIG_MMC_SDHCI_PXAV3=m
-CONFIG_MMC_SDHCI_S3C_DMA=y
-CONFIG_MMC_SDHCI_IPROC=m
-CONFIG_MMC_SDHCI_ST=m
-CONFIG_MMC_OMAP=m
-CONFIG_MMC_OMAP_HS=m
-CONFIG_MMC_SDHCI_MSM=m
-CONFIG_MMC_MXC=m
-CONFIG_MMC_DW_ROCKCHIP=m
-CONFIG_MMC_WMT=y
-CONFIG_MMC_SUNXI=m
-CONFIG_MMC_SDHCI_BRCMSTB=m
-
-#
-# LED driver for blink(1) USB RGB LED is under Special HID drivers (HID_THINGM)
-#
-CONFIG_LEDS_PM8058=m
-
-#
-# iptables trigger is under Netfilter config (LED target)
-#
-CONFIG_EDAC_ATOMIC_SCRUB=y
-# CONFIG_EDAC is not set
-CONFIG_RTC_MC146818_LIB=y
-
-#
-# I2C RTC drivers
-#
-CONFIG_RTC_DRV_AC100=m
-CONFIG_RTC_DRV_BRCMSTB=y
-
-#
-# Platform RTC drivers
-#
-CONFIG_RTC_DRV_CMOS=y
-# CONFIG_RTC_DRV_AB8500 is not set
-
-#
-# on-CPU RTC drivers
-#
-CONFIG_RTC_DRV_IMXDI=m
-CONFIG_RTC_DRV_MESON=m
-CONFIG_RTC_DRV_OMAP=m
-CONFIG_RTC_DRV_S3C=m
-# CONFIG_RTC_DRV_VT8500 is not set
-CONFIG_RTC_DRV_SUN6I=y
-CONFIG_RTC_DRV_SUNXI=m
-CONFIG_RTC_DRV_PM8XXX=m
-CONFIG_RTC_DRV_TEGRA=m
-CONFIG_RTC_DRV_MXC=m
-CONFIG_RTC_DRV_MXC_V2=m
-CONFIG_RTC_DRV_SIRFSOC=m
-CONFIG_RTC_DRV_ST_LPC=m
-CONFIG_RTC_DRV_MT7622=m
-
-#
-# DMA Devices
-#
-CONFIG_AXI_DMAC=m
-CONFIG_DMA_SUN4I=m
-CONFIG_DMA_SUN6I=m
-# CONFIG_IMX_DMA is not set
-# CONFIG_IMX_SDMA is not set
-# CONFIG_K3_DMA is not set
-# CONFIG_MXS_DMA is not set
-CONFIG_MX3_IPU=y
-CONFIG_MX3_IPU_IRQS=4
-CONFIG_NBPFAXI_DMA=m
-# CONFIG_SIRF_DMA is not set
-# CONFIG_STE_DMA40 is not set
-CONFIG_ST_FDMA=m
-# CONFIG_TEGRA20_APB_DMA is not set
-CONFIG_MTK_HSDMA=m
-CONFIG_MTK_CQDMA=m
-CONFIG_MTK_UART_APDMA=m
-# CONFIG_QCOM_BAM_DMA is not set
-# CONFIG_TI_CPPI41 is not set
-# CONFIG_TI_EDMA is not set
-# CONFIG_DMA_OMAP is not set
-
-#
-# Xen driver support
-#
-# CONFIG_MELLANOX_PLATFORM is not set
-
-#
-# Common Clock Framework
-#
-CONFIG_ICST=y
-CONFIG_COMMON_CLK_HI655X=m
-# CONFIG_COMMON_CLK_AXI_CLKGEN is not set
-CONFIG_CLK_BCM2835=y
-CONFIG_CLK_BCM_63XX=y
-CONFIG_COMMON_CLK_IPROC=y
-CONFIG_CLK_BCM_NSP=y
-CONFIG_CLK_BCM_NS2=y
-CONFIG_CLK_BCM_SR=y
-CONFIG_COMMON_CLK_HI3516CV300=y
-CONFIG_COMMON_CLK_HI3519=y
-CONFIG_COMMON_CLK_HI3660=y
-CONFIG_COMMON_CLK_HI3670=y
-CONFIG_COMMON_CLK_HI3798CV200=y
-CONFIG_COMMON_CLK_HI6220=y
-CONFIG_RESET_HISI=y
-CONFIG_STUB_CLK_HI6220=y
-CONFIG_STUB_CLK_HI3660=y
-CONFIG_MXC_CLK=y
-CONFIG_COMMON_CLK_KEYSTONE=y
-CONFIG_TI_SCI_CLK=m
-# CONFIG_TI_SCI_CLK_PROBE_FROM_FW is not set
-
-#
-# Clock driver for MediaTek SoC
-#
-CONFIG_COMMON_CLK_MEDIATEK=y
-CONFIG_COMMON_CLK_MT2701=y
-# CONFIG_COMMON_CLK_MT2701_MMSYS is not set
-# CONFIG_COMMON_CLK_MT2701_IMGSYS is not set
-# CONFIG_COMMON_CLK_MT2701_VDECSYS is not set
-# CONFIG_COMMON_CLK_MT2701_HIFSYS is not set
-# CONFIG_COMMON_CLK_MT2701_ETHSYS is not set
-# CONFIG_COMMON_CLK_MT2701_BDPSYS is not set
-# CONFIG_COMMON_CLK_MT2701_AUDSYS is not set
-# CONFIG_COMMON_CLK_MT2701_G3DSYS is not set
-CONFIG_COMMON_CLK_MT7622=y
-CONFIG_COMMON_CLK_MT7622_ETHSYS=y
-CONFIG_COMMON_CLK_MT7622_HIFSYS=y
-CONFIG_COMMON_CLK_MT7622_AUDSYS=y
-CONFIG_COMMON_CLK_MT7629=y
-CONFIG_COMMON_CLK_MT7629_ETHSYS=y
-CONFIG_COMMON_CLK_MT7629_HIFSYS=y
-CONFIG_COMMON_CLK_MT8135=y
-CONFIG_COMMON_CLK_MT8173=y
-CONFIG_COMMON_CLK_MT8516=y
-CONFIG_COMMON_CLK_MT8516_AUDSYS=y
-# end of Clock driver for MediaTek SoC
-CONFIG_COMMON_CLK_MESON_INPUT=m
-CONFIG_COMMON_CLK_MESON8B=y
-CONFIG_KRAIT_CLOCKS=y
-CONFIG_QCOM_GDSC=y
-CONFIG_COMMON_CLK_QCOM=m
-CONFIG_QCOM_A53PLL=m
-# CONFIG_QCOM_CLK_RPM is not set
-# CONFIG_QCOM_CLK_SMD_RPM is not set
-CONFIG_APQ_GCC_8084=m
-CONFIG_APQ_MMCC_8084=m
-CONFIG_IPQ_GCC_4019=m
-CONFIG_IPQ_GCC_806X=m
-CONFIG_IPQ_LCC_806X=m
-CONFIG_IPQ_GCC_8074=m
-CONFIG_MSM_GCC_8660=m
-CONFIG_MSM_GCC_8916=m
-CONFIG_MSM_GCC_8960=m
-CONFIG_MSM_LCC_8960=m
-CONFIG_MDM_GCC_9615=m
-CONFIG_MDM_LCC_9615=m
-CONFIG_MSM_MMCC_8960=m
-CONFIG_MSM_GCC_8974=m
-CONFIG_MSM_MMCC_8974=m
-CONFIG_MSM_GCC_8994=m
-CONFIG_MSM_GCC_8996=m
-CONFIG_MSM_MMCC_8996=m
-CONFIG_MSM_GCC_8998=m
-CONFIG_QCS_GCC_404=m
-CONFIG_SDM_CAMCC_845=m
-CONFIG_SDM_GCC_660=m
-CONFIG_QCS_TURING_404=m
-CONFIG_SDM_GCC_845=m
-CONFIG_SDM_GPUCC_845=m
-CONFIG_SDM_VIDEOCC_845=m
-CONFIG_SDM_DISPCC_845=m
-CONFIG_SDM_LPASSCC_845=m
-CONFIG_SPMI_PMIC_CLKDIV=m
-CONFIG_QCOM_HFPLL=m
-CONFIG_KPSS_XCC=m
-CONFIG_KRAITCC=m
-CONFIG_COMMON_CLK_SAMSUNG=y
-CONFIG_EXYNOS_AUDSS_CLK_CON=y
-CONFIG_CLK_SUNXI=y
-CONFIG_CLK_SUNXI_CLOCKS=y
-CONFIG_CLK_SUNXI_PRCM_SUN6I=y
-CONFIG_CLK_SUNXI_PRCM_SUN8I=y
-CONFIG_CLK_SUNXI_PRCM_SUN9I=y
-CONFIG_SUNXI_CCU=y
-CONFIG_SUN4I_A10_CCU=y
-CONFIG_SUN5I_CCU=y
-CONFIG_SUN6I_A31_CCU=y
-CONFIG_SUN8I_A23_CCU=y
-CONFIG_SUN8I_A33_CCU=y
-CONFIG_SUN8I_A83T_CCU=y
-CONFIG_SUN8I_H3_CCU=y
-CONFIG_SUN8I_V3S_CCU=y
-CONFIG_SUN8I_DE2_CCU=y
-CONFIG_SUN8I_R40_CCU=y
-CONFIG_SUN9I_A80_CCU=y
-CONFIG_SUN8I_R_CCU=y
-CONFIG_TEGRA_CLK_EMC=y
-CONFIG_TEGRA_CLK_DFLL=y
-CONFIG_COMMON_CLK_TI_ADPLL=m
-# end of Common Clock Framework
-# CONFIG_HWSPINLOCK_OMAP is not set
-CONFIG_HWSPINLOCK_QCOM=m
-CONFIG_HWSPINLOCK_SIRF=m
-# CONFIG_HSEM_U8500 is not set
-
-#
-# Clock Source drivers
-#
-CONFIG_OMAP_DM_TIMER=y
-CONFIG_DW_APB_TIMER=y
-CONFIG_DW_APB_TIMER_OF=y
-CONFIG_ROCKCHIP_TIMER=y
-CONFIG_MESON6_TIMER=y
-CONFIG_SUN4I_TIMER=y
-CONFIG_SUN5I_HSTIMER=y
-CONFIG_TEGRA_TIMER=y
-CONFIG_VT8500_TIMER=y
-CONFIG_CADENCE_TTC_TIMER=y
-CONFIG_CLKSRC_NOMADIK_MTU=y
-CONFIG_CLKSRC_DBX500_PRCMU=y
-CONFIG_ATLAS7_TIMER=y
-CONFIG_PRIMA2_TIMER=y
-CONFIG_KEYSTONE_TIMER=y
-CONFIG_CLKSRC_TI_32K=y
-CONFIG_ARM_GLOBAL_TIMER=y
-CONFIG_ARM_TIMER_SP804=y
-CONFIG_CLKSRC_ARM_GLOBAL_TIMER_SCHED_CLOCK=y
-CONFIG_CLKSRC_EXYNOS_MCT=y
-CONFIG_CLKSRC_SAMSUNG_PWM=y
-CONFIG_MTK_TIMER=y
-CONFIG_CLKSRC_IMX_GPT=y
-CONFIG_CLKSRC_ST_LPC=y
-# end of Clock Source drivers
-CONFIG_IMX_MBOX=m
-CONFIG_PL320_MBOX=y
-CONFIG_OMAP2PLUS_MBOX=m
-CONFIG_OMAP_MBOX_KFIFO_SIZE=256
-CONFIG_ROCKCHIP_MBOX=y
-CONFIG_STI_MBOX=m
-CONFIG_TI_MESSAGE_MANAGER=m
-# CONFIG_HI3660_MBOX is not set
-CONFIG_HI6220_MBOX=m
-# CONFIG_QCOM_APCS_IPC is not set
-# CONFIG_TEGRA_HSP_MBOX is not set
-CONFIG_BCM_PDC_MBOX=m
-CONFIG_MTK_CMDQ_MBOX=m
-
-#
-# Generic IOMMU Pagetable Support
-#
-CONFIG_OMAP_IOMMU=y
-# CONFIG_OMAP_IOMMU_DEBUG is not set
-CONFIG_ROCKCHIP_IOMMU=y
-# CONFIG_TEGRA_IOMMU_GART is not set
-# CONFIG_TEGRA_IOMMU_SMMU is not set
-# CONFIG_EXYNOS_IOMMU is not set
-CONFIG_ARM_SMMU=y
-CONFIG_ARM_SMMU_DISABLE_BYPASS_BY_DEFAULT=y
-CONFIG_MTK_IOMMU=y
-CONFIG_MTK_IOMMU_V1=y
-CONFIG_QCOM_IOMMU=y
-
-#
-# Remoteproc drivers
-#
-CONFIG_REMOTEPROC=m
-CONFIG_IMX_REMOTEPROC=m
-CONFIG_OMAP_REMOTEPROC=m
-CONFIG_WKUP_M3_RPROC=m
-CONFIG_KEYSTONE_REMOTEPROC=m
-CONFIG_QCOM_RPROC_COMMON=m
-CONFIG_QCOM_Q6V5_COMMON=m
-CONFIG_QCOM_Q6V5_ADSP=m
-CONFIG_QCOM_Q6V5_MSS=m
-CONFIG_QCOM_Q6V5_PAS=m
-CONFIG_QCOM_Q6V5_WCSS=m
-# CONFIG_QCOM_SYSMON is not set
-CONFIG_QCOM_WCNSS_PIL=m
-CONFIG_ST_REMOTEPROC=m
-CONFIG_ST_SLIM_REMOTEPROC=m
-# end of Remoteproc drivers
-
-#
-# Rpmsg drivers
-#
-# CONFIG_RPMSG_QCOM_GLINK_SMEM is not set
-CONFIG_RPMSG_QCOM_SMD=m
-# end of Rpmsg drivers
-
-#
-# Broadcom SoC drivers
-#
-CONFIG_SOC_BRCMSTB=y
-CONFIG_BRCMSTB_PM=y
-# end of Broadcom SoC drivers
-
-#
-# NXP/Freescale QorIQ SoC drivers
-#
-CONFIG_FSL_GUTS=y
-# end of NXP/Freescale QorIQ SoC drivers
-
-#
-# i.MX SoC drivers
-#
-# CONFIG_IMX_GPCV2_PM_DOMAINS is not set
-# end of i.MX SoC drivers
-
-#
-# MediaTek SoC drivers
-#
-CONFIG_MTK_CMDQ=m
-CONFIG_MTK_INFRACFG=y
-# CONFIG_MTK_PMIC_WRAP is not set
-# CONFIG_MTK_SCPSYS is not set
-# end of MediaTek SoC drivers
-
-#
-# Qualcomm SoC drivers
-#
-# CONFIG_QCOM_AOSS_QMP is not set
-# CONFIG_QCOM_COMMAND_DB is not set
-# CONFIG_QCOM_GENI_SE is not set
-# CONFIG_QCOM_GLINK_SSR is not set
-CONFIG_QCOM_GSBI=m
-CONFIG_QCOM_LLCC=m
-# CONFIG_QCOM_SDM845_LLCC is not set
-CONFIG_QCOM_MDT_LOADER=m
-CONFIG_QCOM_PM=y
-CONFIG_QCOM_QMI_HELPERS=m
-# CONFIG_QCOM_RMTFS_MEM is not set
-CONFIG_QCOM_SMEM=m
-CONFIG_QCOM_SMD_RPM=m
-# CONFIG_QCOM_SMP2P is not set
-# CONFIG_QCOM_SMSM is not set
-# CONFIG_QCOM_WCNSS_CTRL is not set
-# CONFIG_QCOM_APR is not set
-# end of Qualcomm SoC drivers
-CONFIG_ROCKCHIP_GRF=y
-CONFIG_ROCKCHIP_PM_DOMAINS=y
-CONFIG_SOC_SAMSUNG=y
-CONFIG_EXYNOS_PMU=y
-CONFIG_EXYNOS_PMU_ARM_DRIVERS=y
-CONFIG_EXYNOS_PM_DOMAINS=y
-CONFIG_SUNXI_SRAM=y
-CONFIG_ARCH_TEGRA_2x_SOC=y
-CONFIG_ARCH_TEGRA_3x_SOC=y
-CONFIG_ARCH_TEGRA_114_SOC=y
-CONFIG_ARCH_TEGRA_124_SOC=y
-CONFIG_SOC_TEGRA_FUSE=y
-CONFIG_SOC_TEGRA_FLOWCTRL=y
-CONFIG_SOC_TEGRA_PMC=y
-# CONFIG_KEYSTONE_NAVIGATOR_QMSS is not set
-CONFIG_KEYSTONE_NAVIGATOR_DMA=m
-CONFIG_AMX3_PM=m
-CONFIG_WKUP_M3_IPC=m
-CONFIG_TI_SCI_PM_DOMAINS=m
-CONFIG_UX500_SOC_ID=y
-
-#
-# DEVFREQ Governors
-#
-CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND=y
-CONFIG_DEVFREQ_GOV_PASSIVE=y
-
-#
-# DEVFREQ Drivers
-#
-CONFIG_ARM_EXYNOS_BUS_DEVFREQ=y
-CONFIG_ARM_TEGRA_DEVFREQ=m
-CONFIG_ARM_RK3399_DMC_DEVFREQ=m
-CONFIG_DEVFREQ_EVENT_EXYNOS_NOCP=y
-CONFIG_DEVFREQ_EVENT_EXYNOS_PPMU=y
-CONFIG_DEVFREQ_EVENT_ROCKCHIP_DFI=m
-
-#
-# Extcon Device Drivers
-#
-CONFIG_EXTCON_QCOM_SPMI_MISC=m
-# CONFIG_TI_AEMIF is not set
-# CONFIG_TI_EMIF is not set
-CONFIG_OMAP_GPMC=y
-# CONFIG_OMAP_GPMC_DEBUG is not set
-CONFIG_TI_EMIF_SRAM=m
-CONFIG_MTK_SMI=y
-CONFIG_PL353_SMC=y
-CONFIG_SAMSUNG_MC=y
-CONFIG_EXYNOS_SROM=y
-CONFIG_TEGRA_MC=y
-CONFIG_TEGRA20_EMC=y
-CONFIG_TEGRA124_EMC=y
-
-#
-# Analog to digital converters
-#
-CONFIG_BCM_IPROC_ADC=m
-# CONFIG_BERLIN2_ADC is not set
-# CONFIG_EXYNOS_ADC is not set
-CONFIG_IMX7D_ADC=m
-CONFIG_MEDIATEK_MT6577_AUXADC=m
-CONFIG_QCOM_VADC_COMMON=m
-CONFIG_QCOM_PM8XXX_XOADC=m
-CONFIG_ROCKCHIP_SARADC=m
-CONFIG_SUN4I_GPADC=m
-# end of Analog to digital converters
-
-#
-# Temperature sensors
-#
-# CONFIG_PWM_AB8500 is not set
-CONFIG_PWM_ATMEL_HLCDC_PWM=m
-CONFIG_PWM_BCM_IPROC=y
-CONFIG_PWM_BERLIN=m
-CONFIG_PWM_BRCMSTB=m
-CONFIG_PWM_HIBVT=m
-CONFIG_PWM_IMX1=m
-CONFIG_PWM_IMX27=m
-CONFIG_PWM_IMX_TPM=m
-# CONFIG_PWM_MTK_DISP is not set
-CONFIG_PWM_MEDIATEK=m
-CONFIG_PWM_OMAP_DMTIMER=m
-CONFIG_PWM_ROCKCHIP=m
-# CONFIG_PWM_SAMSUNG is not set
-CONFIG_PWM_STI=m
-CONFIG_PWM_SUN4I=m
-# CONFIG_PWM_TEGRA is not set
-# CONFIG_PWM_TIECAP is not set
-# CONFIG_PWM_TIEHRPWM is not set
-# CONFIG_PWM_VT8500 is not set
-
-#
-# IRQ chip support
-#
-CONFIG_GIC_NON_BANKED=y
-CONFIG_BCM7120_L2_IRQ=y
-CONFIG_BRCMSTB_L2_IRQ=y
-CONFIG_DW_APB_ICTL=y
-CONFIG_OMAP_IRQCHIP=y
-CONFIG_ST_IRQCHIP=y
-CONFIG_IRQ_CROSSBAR=y
-# CONFIG_KEYSTONE_IRQ is not set
-# CONFIG_QCOM_PDC is not set
-CONFIG_IMX_IRQSTEER=y
-# end of IRQ chip support
-CONFIG_ARCH_HAS_RESET_CONTROLLER=y
-CONFIG_RESET_BERLIN=y
-CONFIG_RESET_BRCMSTB=y
-CONFIG_RESET_QCOM_AOSS=y
-CONFIG_RESET_QCOM_PDC=m
-CONFIG_RESET_SIMPLE=y
-CONFIG_RESET_SUNXI=y
-CONFIG_RESET_TI_SCI=m
-CONFIG_RESET_ZYNQ=y
-CONFIG_STI_RESET_SYSCFG=y
-CONFIG_STIH407_RESET=y
-CONFIG_COMMON_RESET_HI3660=y
-CONFIG_COMMON_RESET_HI6220=m
-
-#
-# PHY Subsystem
-#
-CONFIG_PHY_SUN4I_USB=m
-CONFIG_PHY_SUN6I_MIPI_DPHY=m
-CONFIG_PHY_SUN9I_USB=m
-CONFIG_PHY_BCM_SR_USB=y
-CONFIG_PHY_BCM_NS_USB2=m
-CONFIG_PHY_BCM_NS_USB3=m
-CONFIG_PHY_NS2_PCIE=y
-CONFIG_PHY_NS2_USB_DRD=y
-CONFIG_PHY_BRCM_SATA=y
-CONFIG_PHY_BRCM_USB=m
-CONFIG_PHY_BCM_SR_PCIE=m
-CONFIG_PHY_HIX5HD2_SATA=m
-CONFIG_PHY_BERLIN_SATA=m
-CONFIG_PHY_BERLIN_USB=m
-CONFIG_PHY_MTK_TPHY=m
-CONFIG_PHY_MTK_UFS=m
-CONFIG_PHY_MTK_XSPHY=m
-CONFIG_PHY_QCOM_APQ8064_SATA=m
-CONFIG_PHY_QCOM_IPQ806X_SATA=m
-CONFIG_PHY_QCOM_PCIE2=m
-CONFIG_PHY_QCOM_QMP=m
-CONFIG_PHY_QCOM_QUSB2=m
-CONFIG_PHY_QCOM_UFS=m
-CONFIG_PHY_QCOM_UFS_14NM=m
-CONFIG_PHY_ROCKCHIP_DP=m
-CONFIG_PHY_ROCKCHIP_EMMC=m
-CONFIG_PHY_ROCKCHIP_INNO_HDMI=m
-CONFIG_PHY_ROCKCHIP_INNO_USB2=m
-CONFIG_PHY_ROCKCHIP_PCIE=m
-CONFIG_PHY_ROCKCHIP_TYPEC=m
-CONFIG_PHY_ROCKCHIP_USB=m
-CONFIG_PHY_EXYNOS_DP_VIDEO=y
-CONFIG_PHY_EXYNOS_MIPI_VIDEO=y
-CONFIG_PHY_EXYNOS_PCIE=y
-CONFIG_PHY_EXYNOS4210_USB2=y
-CONFIG_PHY_EXYNOS4X12_USB2=y
-CONFIG_PHY_EXYNOS5250_USB2=y
-CONFIG_PHY_EXYNOS5_USBDRD=m
-CONFIG_PHY_EXYNOS5250_SATA=m
-CONFIG_PHY_MIPHY28LP=m
-CONFIG_PHY_STIH407_USB=m
-CONFIG_PHY_TEGRA_XUSB=m
-CONFIG_PHY_DM816X_USB=m
-CONFIG_OMAP_CONTROL_PHY=m
-CONFIG_OMAP_USB2=m
-CONFIG_TI_PIPE3=m
-CONFIG_TWL4030_USB=m
-CONFIG_PHY_TI_GMII_SEL=m
-# end of PHY Subsystem
-
-#
-# Performance monitor support
-#
-CONFIG_FSL_IMX8_DDR_PMU=m
-# end of Performance monitor support
-
-#
-# Android
-#
-CONFIG_NVMEM_IMX_IIM=m
-CONFIG_NVMEM_IMX_OCOTP=m
-CONFIG_MTK_EFUSE=m
-CONFIG_QCOM_QFPROM=m
-CONFIG_ROCKCHIP_EFUSE=m
-CONFIG_NVMEM_BCM_OCOTP=m
-CONFIG_NVMEM_SUNXI_SID=m
-CONFIG_NVMEM_VF610_OCOTP=m
-CONFIG_NVMEM_SNVS_LPGPR=m
-
-#
-# HW tracing support
-#
-# CONFIG_TEE is not set
-
-#
-# Multiplexer drivers
-#
-# CONFIG_MUX_ADG792A is not set
-# CONFIG_MUX_GPIO is not set
-# CONFIG_MUX_MMIO is not set
-# end of Multiplexer drivers
-# end of Device Drivers
-
-#
-# Pseudo filesystems
-#
-CONFIG_PROC_VMCORE=y
-# CONFIG_PROC_VMCORE_DEVICE_DUMP is not set
-# end of Pseudo filesystems
-
-#
-# Random Number Generation
-#
-CONFIG_CRYPTO_DEV_FSL_CAAM_COMMON=m
-CONFIG_CRYPTO_DEV_FSL_CAAM_CRYPTO_API_DESC=m
-CONFIG_CRYPTO_DEV_FSL_CAAM_AHASH_API_DESC=m
-CONFIG_CRYPTO_DEV_FSL_CAAM=m
-# CONFIG_CRYPTO_DEV_FSL_CAAM_DEBUG is not set
-CONFIG_CRYPTO_DEV_FSL_CAAM_JR=m
-CONFIG_CRYPTO_DEV_FSL_CAAM_RINGSIZE=9
-CONFIG_CRYPTO_DEV_FSL_CAAM_INTC=y
-CONFIG_CRYPTO_DEV_FSL_CAAM_INTC_COUNT_THLD=255
-CONFIG_CRYPTO_DEV_FSL_CAAM_INTC_TIME_THLD=2048
-CONFIG_CRYPTO_DEV_FSL_CAAM_CRYPTO_API=y
-CONFIG_CRYPTO_DEV_FSL_CAAM_AHASH_API=y
-CONFIG_CRYPTO_DEV_FSL_CAAM_PKC_API=y
-CONFIG_CRYPTO_DEV_FSL_CAAM_RNG_API=y
-CONFIG_CRYPTO_DEV_OMAP=m
-CONFIG_CRYPTO_DEV_OMAP_SHAM=m
-CONFIG_CRYPTO_DEV_OMAP_AES=m
-CONFIG_CRYPTO_DEV_OMAP_DES=m
-CONFIG_CRYPTO_DEV_SAHARA=m
-CONFIG_CRYPTO_DEV_EXYNOS_RNG=m
-CONFIG_CRYPTO_DEV_S5P=m
-# CONFIG_CRYPTO_DEV_UX500 is not set
-CONFIG_CRYPTO_DEV_MXS_DCP=m
-CONFIG_CRYPTO_DEV_QCE=m
-CONFIG_CRYPTO_DEV_QCOM_RNG=m
-CONFIG_CRYPTO_DEV_SUN4I_SS=m
-CONFIG_CRYPTO_DEV_SUN4I_SS_PRNG=y
-CONFIG_CRYPTO_DEV_ROCKCHIP=m
-CONFIG_CRYPTO_DEV_MEDIATEK=m
-CONFIG_CRYPTO_DEV_BCM_SPU=m
-
-#
-# Library routines
-#
-CONFIG_STMP_DEVICE=y
-# end of Library routines
-
-#
-# Memory Debugging
-#
-# CONFIG_DEBUG_HIGHMEM is not set
-# end of Memory Debugging
-
-#
-# RCU Debugging
-#
-CONFIG_DYNAMIC_FTRACE_WITH_REGS=y
-CONFIG_ARM_PTDUMP_CORE=y
-# CONFIG_ARM_PTDUMP_DEBUGFS is not set
-CONFIG_DEBUG_WX=y
-CONFIG_UNWINDER_ARM=y
-CONFIG_ARM_UNWIND=y
-# CONFIG_DEBUG_USER is not set
-# CONFIG_DEBUG_LL is not set
-CONFIG_DEBUG_VF_UART_PORT=1
-CONFIG_DEBUG_LL_INCLUDE="mach/debug-macro.S"
-CONFIG_UNCOMPRESS_INCLUDE="debug/uncompress.h"
diff --git a/kernel/config-arm64-generic b/kernel/config-arm64-generic
deleted file mode 100644 (file)
index 7e619b8..0000000
+++ /dev/null
@@ -1,909 +0,0 @@
-CONFIG_THREAD_INFO_IN_TASK=y
-
-#
-# Timers subsystem
-#
-# CONFIG_CONTEXT_TRACKING_FORCE is not set
-# end of Timers subsystem
-
-#
-# Scheduler features
-#
-CONFIG_ARCH_SUPPORTS_NUMA_BALANCING=y
-CONFIG_ARCH_SUPPORTS_INT128=y
-# CONFIG_NUMA_BALANCING is not set
-CONFIG_SYSCTL_EXCEPTION_TRACE=y
-
-#
-# Kernel Performance Events And Counters
-#
-CONFIG_ARM64=y
-CONFIG_64BIT=y
-CONFIG_ARM64_PAGE_SHIFT=16
-CONFIG_ARM64_CONT_SHIFT=5
-CONFIG_ARCH_MMAP_RND_BITS_MIN=14
-CONFIG_ARCH_MMAP_RND_BITS_MAX=27
-CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MIN=7
-CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MAX=16
-CONFIG_ILLEGAL_POINTER_VALUE=0xdead000000000000
-CONFIG_GENERIC_BUG_RELATIVE_POINTERS=y
-CONFIG_GENERIC_CSUM=y
-CONFIG_ZONE_DMA32=y
-CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
-CONFIG_ARCH_PROC_KCORE_TEXT=y
-
-#
-# Platform selection
-#
-# CONFIG_ARCH_AGILEX is not set
-# CONFIG_ARCH_SUNXI is not set
-# CONFIG_ARCH_BCM_IPROC is not set
-# CONFIG_ARCH_BERLIN is not set
-# CONFIG_ARCH_BITMAIN is not set
-# CONFIG_ARCH_BRCMSTB is not set
-# CONFIG_ARCH_EXYNOS is not set
-# CONFIG_ARCH_K3 is not set
-# CONFIG_ARCH_LAYERSCAPE is not set
-# CONFIG_ARCH_LG1K is not set
-# CONFIG_ARCH_HISI is not set
-# CONFIG_ARCH_MEDIATEK is not set
-# CONFIG_ARCH_MXC is not set
-# CONFIG_ARCH_QCOM is not set
-# CONFIG_ARCH_REALTEK is not set
-# CONFIG_ARCH_ROCKCHIP is not set
-CONFIG_ARCH_SEATTLE=y
-# CONFIG_ARCH_STRATIX10 is not set
-# CONFIG_ARCH_SYNQUACER is not set
-# CONFIG_ARCH_TEGRA is not set
-# CONFIG_ARCH_SPRD is not set
-# CONFIG_ARCH_THUNDER is not set
-# CONFIG_ARCH_THUNDER2 is not set
-CONFIG_ARCH_XGENE=y
-# CONFIG_ARCH_ZYNQMP is not set
-# end of Platform selection
-
-#
-# ARM errata workarounds via the alternatives framework
-#
-CONFIG_ARM64_WORKAROUND_CLEAN_CACHE=y
-CONFIG_ARM64_ERRATUM_826319=y
-CONFIG_ARM64_ERRATUM_827319=y
-CONFIG_ARM64_ERRATUM_824069=y
-CONFIG_ARM64_ERRATUM_819472=y
-CONFIG_ARM64_ERRATUM_832075=y
-CONFIG_ARM64_ERRATUM_834220=y
-CONFIG_ARM64_ERRATUM_845719=y
-CONFIG_ARM64_ERRATUM_843419=y
-CONFIG_ARM64_ERRATUM_1024718=y
-CONFIG_ARM64_ERRATUM_1418040=y
-CONFIG_ARM64_ERRATUM_1165522=y
-CONFIG_ARM64_ERRATUM_1286807=y
-CONFIG_ARM64_ERRATUM_1463225=y
-CONFIG_CAVIUM_ERRATUM_22375=y
-CONFIG_CAVIUM_ERRATUM_23144=y
-CONFIG_CAVIUM_ERRATUM_23154=y
-CONFIG_CAVIUM_ERRATUM_27456=y
-CONFIG_CAVIUM_ERRATUM_30115=y
-CONFIG_CAVIUM_TX2_ERRATUM_219=y
-CONFIG_QCOM_FALKOR_ERRATUM_1003=y
-CONFIG_ARM64_WORKAROUND_REPEAT_TLBI=y
-CONFIG_QCOM_FALKOR_ERRATUM_1009=y
-CONFIG_QCOM_QDF2400_ERRATUM_0065=y
-# CONFIG_SOCIONEXT_SYNQUACER_PREITS is not set
-# CONFIG_HISILICON_ERRATUM_161600802 is not set
-CONFIG_QCOM_FALKOR_ERRATUM_E1041=y
-CONFIG_FUJITSU_ERRATUM_010001=y
-# end of ARM errata workarounds via the alternatives framework
-# CONFIG_ARM64_4K_PAGES is not set
-# CONFIG_ARM64_16K_PAGES is not set
-CONFIG_ARM64_64K_PAGES=y
-CONFIG_ARM64_VA_BITS_42=y
-# CONFIG_ARM64_VA_BITS_48 is not set
-# CONFIG_ARM64_USER_VA_BITS_52 is not set
-CONFIG_ARM64_VA_BITS=42
-CONFIG_ARM64_PA_BITS_48=y
-# CONFIG_ARM64_PA_BITS_52 is not set
-CONFIG_ARM64_PA_BITS=48
-CONFIG_NR_CPUS=64
-CONFIG_NUMA=y
-CONFIG_NODES_SHIFT=2
-CONFIG_USE_PERCPU_NUMA_NODE_ID=y
-CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y
-CONFIG_HOLES_IN_ZONE=y
-CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
-CONFIG_ARCH_SPARSEMEM_ENABLE=y
-CONFIG_ARCH_SPARSEMEM_DEFAULT=y
-CONFIG_ARCH_SELECT_MEMORY_MODEL=y
-CONFIG_SYS_SUPPORTS_HUGETLBFS=y
-CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y
-# CONFIG_KEXEC_FILE is not set
-# CONFIG_CRASH_DUMP is not set
-CONFIG_FORCE_MAX_ZONEORDER=11
-CONFIG_UNMAP_KERNEL_AT_EL0=y
-CONFIG_HARDEN_EL2_VECTORS=y
-CONFIG_ARM64_SSBD=y
-CONFIG_RODATA_FULL_DEFAULT_ENABLED=y
-CONFIG_ARM64_SW_TTBR0_PAN=y
-CONFIG_COMPAT=y
-CONFIG_ARMV8_DEPRECATED=y
-CONFIG_SWP_EMULATION=y
-CONFIG_CP15_BARRIER_EMULATION=y
-CONFIG_SETEND_EMULATION=y
-
-#
-# ARMv8.1 architectural features
-#
-CONFIG_ARM64_HW_AFDBM=y
-CONFIG_ARM64_PAN=y
-CONFIG_ARM64_LSE_ATOMICS=y
-CONFIG_ARM64_VHE=y
-# end of ARMv8.1 architectural features
-
-#
-# ARMv8.2 architectural features
-#
-CONFIG_ARM64_UAO=y
-CONFIG_ARM64_PMEM=y
-CONFIG_ARM64_RAS_EXTN=y
-CONFIG_ARM64_CNP=y
-# end of ARMv8.2 architectural features
-
-#
-# ARMv8.3 architectural features
-#
-CONFIG_ARM64_PTR_AUTH=y
-# end of ARMv8.3 architectural features
-CONFIG_ARM64_SVE=y
-CONFIG_ARM64_MODULE_PLTS=y
-CONFIG_ARM64_PSEUDO_NMI=y
-# CONFIG_ARM64_DEBUG_PRIORITY_MASKING is not set
-CONFIG_RELOCATABLE=y
-CONFIG_RANDOMIZE_BASE=y
-CONFIG_RANDOMIZE_MODULE_REGION_FULL=y
-
-#
-# Boot options
-#
-CONFIG_ARM64_ACPI_PARKING_PROTOCOL=y
-CONFIG_CMDLINE=""
-CONFIG_EFI_STUB=y
-CONFIG_EFI=y
-CONFIG_DMI=y
-# end of Boot options
-CONFIG_SYSVIPC_COMPAT=y
-
-#
-# CPU frequency scaling drivers
-#
-CONFIG_ACPI_CPPC_CPUFREQ=m
-
-#
-# Firmware Drivers
-#
-# CONFIG_ARM_SDE_INTERFACE is not set
-CONFIG_DMIID=y
-CONFIG_DMI_SYSFS=y
-# CONFIG_ISCSI_IBFT is not set
-CONFIG_FW_CFG_SYSFS=m
-# CONFIG_FW_CFG_SYSFS_CMDLINE is not set
-
-#
-# EFI (Extensible Firmware Interface) Support
-#
-CONFIG_EFI_VARS=y
-CONFIG_EFI_ESRT=y
-CONFIG_EFI_VARS_PSTORE=y
-# CONFIG_EFI_VARS_PSTORE_DEFAULT_DISABLE is not set
-CONFIG_EFI_PARAMS_FROM_FDT=y
-CONFIG_EFI_RUNTIME_WRAPPERS=y
-CONFIG_EFI_ARMSTUB=y
-CONFIG_EFI_ARMSTUB_DTB_LOADER=y
-# CONFIG_EFI_BOOTLOADER_CONTROL is not set
-# CONFIG_EFI_CAPSULE_LOADER is not set
-# CONFIG_EFI_TEST is not set
-# CONFIG_RESET_ATTACK_MITIGATION is not set
-# end of EFI (Extensible Firmware Interface) Support
-CONFIG_EFI_EARLYCON=y
-# end of Firmware Drivers
-
-#
-# Tegra firmware driver
-#
-CONFIG_ARCH_SUPPORTS_ACPI=y
-CONFIG_ACPI=y
-CONFIG_ACPI_GENERIC_GSI=y
-CONFIG_ACPI_CCA_REQUIRED=y
-# CONFIG_ACPI_DEBUGGER is not set
-CONFIG_ACPI_SPCR_TABLE=y
-# CONFIG_ACPI_EC_DEBUGFS is not set
-CONFIG_ACPI_AC=y
-CONFIG_ACPI_BATTERY=y
-CONFIG_ACPI_BUTTON=m
-CONFIG_ACPI_FAN=m
-CONFIG_ACPI_DOCK=y
-CONFIG_ACPI_PROCESSOR_IDLE=y
-CONFIG_ACPI_MCFG=y
-CONFIG_ACPI_CPPC_LIB=y
-CONFIG_ACPI_PROCESSOR=m
-CONFIG_ACPI_IPMI=m
-CONFIG_ACPI_HOTPLUG_CPU=y
-CONFIG_ACPI_THERMAL=m
-CONFIG_ACPI_NUMA=y
-CONFIG_ARCH_HAS_ACPI_TABLE_UPGRADE=y
-CONFIG_ACPI_TABLE_UPGRADE=y
-# CONFIG_ACPI_DEBUG is not set
-# CONFIG_ACPI_PCI_SLOT is not set
-CONFIG_ACPI_CONTAINER=y
-CONFIG_ACPI_HED=m
-CONFIG_ACPI_CUSTOM_METHOD=m
-# CONFIG_ACPI_BGRT is not set
-CONFIG_ACPI_REDUCED_HARDWARE_ONLY=y
-# CONFIG_ACPI_NFIT is not set
-# CONFIG_ACPI_HMAT is not set
-# CONFIG_ACPI_APEI is not set
-CONFIG_ACPI_WATCHDOG=y
-# CONFIG_PMIC_OPREGION is not set
-# CONFIG_ACPI_CONFIGFS is not set
-CONFIG_ACPI_IORT=y
-CONFIG_ACPI_GTDT=y
-CONFIG_ACPI_PPTT=y
-# CONFIG_TPS68470_PMIC_OPREGION is not set
-CONFIG_KVM_MMIO=y
-CONFIG_KVM_VFIO=y
-CONFIG_KVM_GENERIC_DIRTYLOG_READ_PROTECT=y
-CONFIG_IRQ_BYPASS_MANAGER=y
-CONFIG_KVM=y
-CONFIG_KVM_ARM_HOST=y
-CONFIG_KVM_ARM_PMU=y
-CONFIG_KVM_INDIRECT_VECTORS=y
-CONFIG_ARM64_CRYPTO=y
-CONFIG_CRYPTO_SHA256_ARM64=m
-CONFIG_CRYPTO_SHA512_ARM64=m
-CONFIG_CRYPTO_SHA1_ARM64_CE=m
-CONFIG_CRYPTO_SHA2_ARM64_CE=m
-CONFIG_CRYPTO_SHA512_ARM64_CE=m
-CONFIG_CRYPTO_SHA3_ARM64=m
-# CONFIG_CRYPTO_SM3_ARM64_CE is not set
-# CONFIG_CRYPTO_SM4_ARM64_CE is not set
-CONFIG_CRYPTO_GHASH_ARM64_CE=m
-CONFIG_CRYPTO_CRCT10DIF_ARM64_CE=m
-CONFIG_CRYPTO_AES_ARM64=m
-CONFIG_CRYPTO_AES_ARM64_CE=m
-CONFIG_CRYPTO_AES_ARM64_CE_CCM=m
-CONFIG_CRYPTO_AES_ARM64_CE_BLK=m
-CONFIG_CRYPTO_AES_ARM64_NEON_BLK=m
-CONFIG_CRYPTO_AES_ARM64_BS=m
-
-#
-# General architecture-dependent options
-#
-CONFIG_ARCH_HAS_SET_DIRECT_MAP=y
-CONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG=y
-CONFIG_ARCH_WANT_COMPAT_IPC_PARSE_VERSION=y
-CONFIG_MODULES_USE_ELF_RELA=y
-CONFIG_ARCH_MMAP_RND_BITS=27
-CONFIG_ARCH_MMAP_RND_COMPAT_BITS=8
-CONFIG_COMPAT_OLD_SIGACTION=y
-CONFIG_VMAP_STACK=y
-CONFIG_ARCH_USE_MEMREMAP_PROT=y
-# end of General architecture-dependent options
-
-#
-# Partition Types
-#
-CONFIG_BLOCK_COMPAT=y
-
-#
-# IO Schedulers
-#
-CONFIG_PREEMPT_NOTIFIERS=y
-CONFIG_ARCH_INLINE_SPIN_TRYLOCK=y
-CONFIG_ARCH_INLINE_SPIN_TRYLOCK_BH=y
-CONFIG_ARCH_INLINE_SPIN_LOCK=y
-CONFIG_ARCH_INLINE_SPIN_LOCK_BH=y
-CONFIG_ARCH_INLINE_SPIN_LOCK_IRQ=y
-CONFIG_ARCH_INLINE_SPIN_LOCK_IRQSAVE=y
-CONFIG_ARCH_INLINE_SPIN_UNLOCK=y
-CONFIG_ARCH_INLINE_SPIN_UNLOCK_BH=y
-CONFIG_ARCH_INLINE_SPIN_UNLOCK_IRQ=y
-CONFIG_ARCH_INLINE_SPIN_UNLOCK_IRQRESTORE=y
-CONFIG_ARCH_INLINE_READ_LOCK=y
-CONFIG_ARCH_INLINE_READ_LOCK_BH=y
-CONFIG_ARCH_INLINE_READ_LOCK_IRQ=y
-CONFIG_ARCH_INLINE_READ_LOCK_IRQSAVE=y
-CONFIG_ARCH_INLINE_READ_UNLOCK=y
-CONFIG_ARCH_INLINE_READ_UNLOCK_BH=y
-CONFIG_ARCH_INLINE_READ_UNLOCK_IRQ=y
-CONFIG_ARCH_INLINE_READ_UNLOCK_IRQRESTORE=y
-CONFIG_ARCH_INLINE_WRITE_LOCK=y
-CONFIG_ARCH_INLINE_WRITE_LOCK_BH=y
-CONFIG_ARCH_INLINE_WRITE_LOCK_IRQ=y
-CONFIG_ARCH_INLINE_WRITE_LOCK_IRQSAVE=y
-CONFIG_ARCH_INLINE_WRITE_UNLOCK=y
-CONFIG_ARCH_INLINE_WRITE_UNLOCK_BH=y
-CONFIG_ARCH_INLINE_WRITE_UNLOCK_IRQ=y
-CONFIG_ARCH_INLINE_WRITE_UNLOCK_IRQRESTORE=y
-CONFIG_INLINE_SPIN_TRYLOCK=y
-CONFIG_INLINE_SPIN_TRYLOCK_BH=y
-CONFIG_INLINE_SPIN_LOCK=y
-CONFIG_INLINE_SPIN_LOCK_BH=y
-CONFIG_INLINE_SPIN_LOCK_IRQ=y
-CONFIG_INLINE_SPIN_LOCK_IRQSAVE=y
-CONFIG_INLINE_SPIN_UNLOCK_BH=y
-CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE=y
-CONFIG_INLINE_READ_LOCK=y
-CONFIG_INLINE_READ_LOCK_BH=y
-CONFIG_INLINE_READ_LOCK_IRQ=y
-CONFIG_INLINE_READ_LOCK_IRQSAVE=y
-CONFIG_INLINE_READ_UNLOCK_BH=y
-CONFIG_INLINE_READ_UNLOCK_IRQRESTORE=y
-CONFIG_INLINE_WRITE_LOCK=y
-CONFIG_INLINE_WRITE_LOCK_BH=y
-CONFIG_INLINE_WRITE_LOCK_IRQ=y
-CONFIG_INLINE_WRITE_LOCK_IRQSAVE=y
-CONFIG_INLINE_WRITE_UNLOCK_BH=y
-CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE=y
-CONFIG_ARCH_USE_QUEUED_SPINLOCKS=y
-CONFIG_QUEUED_SPINLOCKS=y
-CONFIG_ARCH_USE_QUEUED_RWLOCKS=y
-CONFIG_QUEUED_RWLOCKS=y
-CONFIG_ARCH_HAS_SYSCALL_WRAPPER=y
-
-#
-# Executable file formats
-#
-CONFIG_COMPAT_BINFMT_ELF=y
-# end of Executable file formats
-
-#
-# Memory Management options
-#
-CONFIG_SELECT_MEMORY_MODEL=y
-CONFIG_SPARSEMEM_MANUAL=y
-CONFIG_SPARSEMEM=y
-CONFIG_NEED_MULTIPLE_NODES=y
-CONFIG_SPARSEMEM_EXTREME=y
-CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y
-CONFIG_SPARSEMEM_VMEMMAP=y
-# CONFIG_MEMORY_HOTPLUG is not set
-CONFIG_PHYS_ADDR_T_64BIT=y
-CONFIG_ARCH_SUPPORTS_MEMORY_FAILURE=y
-# CONFIG_MEMORY_FAILURE is not set
-# CONFIG_TRANSPARENT_HUGEPAGE is not set
-# CONFIG_DEFERRED_STRUCT_PAGE_INIT is not set
-CONFIG_ARCH_HAS_PTE_DEVMAP=y
-CONFIG_ARCH_HAS_PTE_SPECIAL=y
-# end of Memory Management options
-CONFIG_COMPAT_NETLINK_MESSAGES=y
-
-#
-# Device Drivers
-#
-CONFIG_PCI_LABEL=y
-CONFIG_HOTPLUG_PCI_ACPI=y
-CONFIG_HOTPLUG_PCI_ACPI_IBM=y
-
-#
-# Cadence PCIe controllers support
-#
-CONFIG_PCI_FTPCI100=y
-CONFIG_PCI_XGENE=y
-CONFIG_PCI_XGENE_MSI=y
-# CONFIG_PCIE_ALTERA is not set
-CONFIG_PCI_HOST_THUNDER_PEM=y
-CONFIG_PCI_HOST_THUNDER_ECAM=y
-
-#
-# DesignWare PCI Core Support
-#
-CONFIG_PCI_HISI=y
-# CONFIG_PCIE_KIRIN is not set
-# end of DesignWare PCI Core Support
-
-#
-# Firmware loader
-#
-# CONFIG_FW_LOADER_USER_HELPER_FALLBACK is not set
-# end of Firmware loader
-CONFIG_GENERIC_CPU_VULNERABILITIES=y
-
-#
-# Bus devices
-#
-# CONFIG_BRCMSTB_GISB_ARB is not set
-# end of Bus devices
-CONFIG_OF_NUMA=y
-CONFIG_PNP=y
-# CONFIG_PNP_DEBUG_MESSAGES is not set
-
-#
-# Protocols
-#
-CONFIG_PNPACPI=y
-CONFIG_BLK_DEV_SKD=m
-
-#
-# VOP Driver
-#
-# CONFIG_GENWQE is not set
-
-#
-# SCSI Transports
-#
-CONFIG_SCSI_HISI_SAS=m
-CONFIG_SCSI_HISI_SAS_PCI=m
-CONFIG_ATA_ACPI=y
-CONFIG_SATA_ZPODD=y
-
-#
-# Controllers with non-SFF native interface
-#
-CONFIG_AHCI_XGENE=m
-CONFIG_SATA_AHCI_SEATTLE=m
-
-#
-# Generic fallback / legacy drivers
-#
-CONFIG_PATA_ACPI=m
-
-#
-# Distributed Switch Architecture drivers
-#
-CONFIG_VORTEX=m
-CONFIG_AMD_XGBE=m
-CONFIG_NET_XGENE=m
-CONFIG_NET_XGENE_V2=m
-CONFIG_AQTION=m
-CONFIG_MACB=m
-CONFIG_MACB_USE_HWSTAMP=y
-CONFIG_MACB_PCI=m
-CONFIG_THUNDER_NIC_PF=m
-CONFIG_THUNDER_NIC_VF=m
-CONFIG_THUNDER_NIC_BGX=m
-CONFIG_THUNDER_NIC_RGX=m
-CONFIG_CAVIUM_PTP=m
-CONFIG_LIQUIDIO=m
-CONFIG_LIQUIDIO_VF=m
-CONFIG_HNS3_ENET=m
-CONFIG_HINIC=m
-CONFIG_OCTEONTX2_MBOX=m
-CONFIG_OCTEONTX2_AF=m
-CONFIG_NET_SB1000=m
-CONFIG_MDIO_BUS_MUX=m
-CONFIG_MDIO_CAVIUM=m
-CONFIG_MDIO_OCTEON=m
-CONFIG_MDIO_THUNDER=m
-CONFIG_MDIO_XGENE=m
-
-#
-# Enable WiMAX (Networking options) to see the WiMAX drivers
-#
-# CONFIG_FUJITSU_ES is not set
-
-#
-# Input device support
-#
-CONFIG_INPUT_MATRIXKMAP=m
-# end of Input device support
-
-#
-# Serial drivers
-#
-CONFIG_SERIAL_8250_PNP=y
-# end of Serial drivers
-
-#
-# Non-8250 serial port support
-#
-CONFIG_HVC_DCC=y
-CONFIG_IPMI_DMI_DECODE=y
-CONFIG_HW_RANDOM_XGENE=m
-CONFIG_HW_RANDOM_CAVIUM=y
-CONFIG_HW_RANDOM_OPTEE=m
-
-#
-# I2C support
-#
-CONFIG_ACPI_I2C_OPREGION=y
-
-#
-# PC SMBus host controller drivers
-#
-CONFIG_I2C_AMD_MP2=m
-
-#
-# ACPI drivers
-#
-CONFIG_I2C_SCMI=m
-
-#
-# I2C system bus drivers (mostly embedded / system-on-chip)
-#
-CONFIG_I2C_CADENCE=m
-CONFIG_I2C_DESIGNWARE_CORE=y
-CONFIG_I2C_DESIGNWARE_PLATFORM=y
-CONFIG_I2C_NOMADIK=m
-CONFIG_I2C_THUNDERX=m
-
-#
-# Other I2C/SMBus bus drivers
-#
-CONFIG_I2C_XGENE_SLIMPRO=m
-# end of I2C support
-
-#
-# Enable PHYLIB and NETWORK_PHY_TIMESTAMPING to see the additional clocks.
-#
-CONFIG_PINCTRL_AS3722=m
-CONFIG_PINCTRL_AMD=m
-CONFIG_PINCTRL_MCP23S08=m
-CONFIG_PINCTRL_SINGLE=m
-CONFIG_PINCTRL_PALMAS=m
-CONFIG_PINCTRL_MESON_GXBB=y
-CONFIG_PINCTRL_MESON_GXL=y
-CONFIG_PINCTRL_MESON_AXG=y
-CONFIG_PINCTRL_MESON_AXG_PMX=y
-CONFIG_PINCTRL_MESON_G12A=y
-CONFIG_GPIO_ACPI=y
-
-#
-# Memory mapped GPIO drivers
-#
-CONFIG_GPIO_AMDPT=m
-CONFIG_GPIO_DWAPB=m
-CONFIG_GPIO_XGENE=y
-CONFIG_GPIO_XGENE_SB=m
-CONFIG_GPIO_XILINX=m
-# end of Memory mapped GPIO drivers
-
-#
-# MFD GPIO expanders
-#
-# CONFIG_GPIO_TPS68470 is not set
-# end of MFD GPIO expanders
-
-#
-# PCI GPIO expanders
-#
-CONFIG_GPIO_MLXBF=m
-# end of PCI GPIO expanders
-
-#
-# USB GPIO expanders
-#
-CONFIG_POWER_RESET_XGENE=y
-
-#
-# Native drivers
-#
-CONFIG_SENSORS_MLXREG_FAN=m
-CONFIG_SENSORS_XGENE=m
-CONFIG_SENSORS_ACPI_POWER=m
-
-#
-# Watchdog Device Drivers
-#
-CONFIG_WDAT_WDT=m
-CONFIG_MLX_WDT=m
-CONFIG_ARM_SBSA_WATCHDOG=m
-
-#
-# Multifunction device drivers
-#
-# CONFIG_MFD_ATMEL_HLCDC is not set
-# CONFIG_ABX500_CORE is not set
-
-#
-# STMicroelectronics STMPE Interface Drivers
-#
-CONFIG_MFD_TPS68470=y
-# end of Multifunction device drivers
-# CONFIG_REGULATOR_88PM8607 is not set
-# CONFIG_REGULATOR_GPIO is not set
-CONFIG_REGULATOR_HI6421V530=m
-# CONFIG_REGULATOR_LP872X is not set
-# CONFIG_REGULATOR_LP8788 is not set
-# CONFIG_REGULATOR_TWL4030 is not set
-# CONFIG_IR_ENE is not set
-# CONFIG_IR_ITE_CIR is not set
-# CONFIG_IR_FINTEK is not set
-# CONFIG_IR_NUVOTON is not set
-
-#
-# Display Engine Configuration
-#
-# CONFIG_HSA_AMD is not set
-CONFIG_DRM_RCAR_WRITEBACK=y
-
-#
-# Display Interface Bridges
-#
-CONFIG_DRM_HISI_KIRIN=m
-CONFIG_HISI_KIRIN_DW_DSI=m
-CONFIG_DRM_PANEL_ORIENTATION_QUIRKS=y
-
-#
-# Frame buffer hardware drivers
-#
-CONFIG_FB_EFI=y
-
-#
-# Console display driver support
-#
-CONFIG_DUMMY_CONSOLE_COLUMNS=80
-CONFIG_DUMMY_CONSOLE_ROWS=25
-# end of Console display driver support
-# CONFIG_SND_LX6464ES is not set
-
-#
-# HD-Audio
-#
-# CONFIG_SND_DESIGNWARE_PCM is not set
-
-#
-# Common SoC Audio options for Freescale CPUs:
-#
-CONFIG_SND_SOC_FSL_MICFIL=m
-
-#
-# STMicroelectronics STM32 SOC audio support
-#
-# CONFIG_SND_SOC_XILINX_I2S is not set
-# CONFIG_SND_SOC_XTFPGA_I2S is not set
-
-#
-# MUSB DMA mode
-#
-CONFIG_MUSB_PIO_ONLY=y
-
-#
-# Platform Glue Driver Support
-#
-CONFIG_USB_DWC3_PCI=m
-
-#
-# MMC/SD/SDIO Host Controller Drivers
-#
-CONFIG_MMC_SDHCI_ACPI=m
-
-#
-# iptables trigger is under Netfilter config (LED target)
-#
-CONFIG_EDAC=y
-CONFIG_EDAC_LEGACY_SYSFS=y
-# CONFIG_EDAC_DEBUG is not set
-CONFIG_EDAC_THUNDERX=m
-CONFIG_EDAC_XGENE=m
-
-#
-# Platform RTC drivers
-#
-CONFIG_RTC_DRV_EFI=m
-
-#
-# on-CPU RTC drivers
-#
-CONFIG_RTC_DRV_XGENE=m
-
-#
-# DMA Devices
-#
-CONFIG_DMA_ACPI=y
-CONFIG_BCM_SBA_RAID=m
-CONFIG_MV_XOR_V2=y
-CONFIG_XGENE_DMA=m
-
-#
-# DMABUF options
-#
-CONFIG_VIRTIO_PMEM=m
-
-#
-# Xen driver support
-#
-CONFIG_XEN_EFI=y
-# end of Xen driver support
-CONFIG_MELLANOX_PLATFORM=y
-CONFIG_MLXREG_HOTPLUG=m
-CONFIG_MLXREG_IO=m
-CONFIG_MLXBF_TMFIFO=m
-
-#
-# Common Clock Framework
-#
-CONFIG_COMMON_CLK_XGENE=y
-CONFIG_COMMON_CLK_MESON_INPUT=y
-CONFIG_COMMON_CLK_MESON_DUALDIV=y
-CONFIG_COMMON_CLK_MESON_VID_PLL_DIV=y
-CONFIG_COMMON_CLK_MESON_AO_CLKC=y
-CONFIG_COMMON_CLK_MESON_EE_CLKC=y
-CONFIG_COMMON_CLK_GXBB=y
-CONFIG_COMMON_CLK_AXG=y
-CONFIG_COMMON_CLK_G12A=y
-# end of Common Clock Framework
-
-#
-# Clock Source drivers
-#
-CONFIG_TIMER_ACPI=y
-CONFIG_ARM_ARCH_TIMER_OOL_WORKAROUND=y
-CONFIG_FSL_ERRATUM_A008585=y
-CONFIG_HISILICON_ERRATUM_161010101=y
-CONFIG_ARM64_ERRATUM_858921=y
-# end of Clock Source drivers
-# CONFIG_PL320_MBOX is not set
-CONFIG_PCC=y
-CONFIG_XGENE_SLIMPRO_MBOX=m
-
-#
-# Generic IOMMU Pagetable Support
-#
-# CONFIG_ARM_SMMU is not set
-CONFIG_ARM_SMMU_V3=y
-
-#
-# Remoteproc drivers
-#
-# CONFIG_REMOTEPROC is not set
-# end of Remoteproc drivers
-
-#
-# Broadcom SoC drivers
-#
-# CONFIG_SOC_BRCMSTB is not set
-# end of Broadcom SoC drivers
-
-#
-# DEVFREQ Governors
-#
-CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND=m
-CONFIG_DEVFREQ_GOV_PASSIVE=m
-
-#
-# Light sensors
-#
-# CONFIG_ACPI_ALS is not set
-# end of Light sensors
-
-#
-# PHY Subsystem
-#
-CONFIG_PHY_XGENE=m
-# end of PHY Subsystem
-
-#
-# Performance monitor support
-#
-CONFIG_ARM_PMU_ACPI=y
-CONFIG_ARM_SMMU_V3_PMU=m
-# CONFIG_ARM_DSU_PMU is not set
-# CONFIG_HISI_PMU is not set
-CONFIG_XGENE_PMU=y
-# CONFIG_ARM_SPE_PMU is not set
-# end of Performance monitor support
-
-#
-# Android
-#
-CONFIG_LIBNVDIMM=y
-CONFIG_BLK_DEV_PMEM=m
-CONFIG_ND_BLK=m
-CONFIG_ND_CLAIM=y
-CONFIG_ND_BTT=m
-CONFIG_BTT=y
-# CONFIG_OF_PMEM is not set
-CONFIG_DAX_DRIVER=y
-
-#
-# HW tracing support
-#
-# CONFIG_INTEL_TH_ACPI is not set
-# end of HW tracing support
-CONFIG_TEE=m
-
-#
-# TEE drivers
-#
-CONFIG_OPTEE=m
-CONFIG_OPTEE_SHM_NUM_PRIV_PAGES=1
-# end of TEE drivers
-
-#
-# Multiplexer drivers
-#
-CONFIG_MUX_ADG792A=m
-CONFIG_MUX_GPIO=m
-CONFIG_MUX_MMIO=m
-# end of Multiplexer drivers
-# end of Device Drivers
-
-#
-# File systems
-#
-# CONFIG_FS_DAX is not set
-
-#
-# Pseudo filesystems
-#
-# CONFIG_PROC_KCORE is not set
-# CONFIG_HUGETLBFS is not set
-CONFIG_ARCH_HAS_GIGANTIC_PAGE=y
-CONFIG_EFIVAR_FS=y
-# end of Pseudo filesystems
-# end of File systems
-
-#
-# Security options
-#
-CONFIG_KEYS_COMPAT=y
-
-#
-# Memory initialization
-#
-CONFIG_GCC_PLUGIN_STACKLEAK=y
-CONFIG_STACKLEAK_TRACK_MIN_SIZE=100
-# CONFIG_STACKLEAK_METRICS is not set
-# CONFIG_STACKLEAK_RUNTIME_DISABLE is not set
-# end of Memory initialization
-# end of Security options
-CONFIG_ASYNC_TX_DISABLE_PQ_VAL_DMA=y
-CONFIG_ASYNC_TX_DISABLE_XOR_VAL_DMA=y
-
-#
-# Random Number Generation
-#
-CONFIG_CRYPTO_DEV_CCP=y
-CONFIG_CRYPTO_DEV_CCP_DD=m
-CONFIG_CRYPTO_DEV_SP_CCP=y
-CONFIG_CRYPTO_DEV_CCP_CRYPTO=m
-CONFIG_CRYPTO_DEV_NITROX=m
-CONFIG_CRYPTO_DEV_NITROX_CNN55XX=m
-# CONFIG_CRYPTO_DEV_CAVIUM_ZIP is not set
-CONFIG_CRYPTO_DEV_HISI_SEC=m
-
-#
-# Library routines
-#
-CONFIG_ARCH_HAS_FAST_MULTIPLIER=y
-# CONFIG_INDIRECT_PIO is not set
-CONFIG_AUDIT_ARCH_COMPAT_GENERIC=y
-CONFIG_HAS_IOPORT_MAP=y
-CONFIG_ARCH_HAS_DMA_PREP_COHERENT=y
-CONFIG_DMA_DIRECT_REMAP=y
-
-#
-# Default contiguous memory area size:
-#
-CONFIG_UCS2_STRING=y
-CONFIG_GENERIC_GETTIMEOFDAY=y
-CONFIG_GENERIC_COMPAT_VDSO=y
-CONFIG_CROSS_COMPILE_COMPAT_VDSO=""
-CONFIG_SG_SPLIT=y
-CONFIG_ARCH_HAS_PMEM_API=y
-CONFIG_ARCH_HAS_UACCESS_FLUSHCACHE=y
-# end of Library routines
-
-#
-# Compile-time checks and compiler options
-#
-CONFIG_ARCH_WANT_FRAME_POINTERS=y
-CONFIG_FRAME_POINTER=y
-# end of Compile-time checks and compiler options
-
-#
-# Memory Debugging
-#
-# CONFIG_KASAN is not set
-# end of Memory Debugging
-
-#
-# RCU Debugging
-#
-CONFIG_FUNCTION_GRAPH_TRACER=y
-# CONFIG_HIST_TRIGGERS is not set
-CONFIG_ARCH_HAS_UBSAN_SANITIZE_ALL=y
-# CONFIG_ARM64_PTDUMP_DEBUGFS is not set
-# CONFIG_ARM64_RANDOMIZE_TEXT_OFFSET is not set
-# CONFIG_DEBUG_WX is not set
-# CONFIG_DEBUG_ALIGN_RODATA is not set
-# CONFIG_ARM64_RELOC_TEST is not set
index 1e1bc8e52e3dea2c58df760835d1d5781140462f..c5cc30f4bef6c46af0394fada44ebb47f3c94efe 100644 (file)
@@ -1,33 +1,55 @@
 #
 #
-
-#
-#
+CONFIG_CC_VERSION_TEXT="gcc (GCC) 12.3.0 20230508 (IPFire 12.3.0-1)"
 CONFIG_CC_IS_GCC=y
-CONFIG_GCC_VERSION=90100
+CONFIG_GCC_VERSION=120300
 CONFIG_CLANG_VERSION=0
+CONFIG_AS_IS_GNU=y
+CONFIG_AS_VERSION=24000
+CONFIG_LD_IS_BFD=y
+CONFIG_LD_VERSION=24000
+CONFIG_LLD_VERSION=0
 CONFIG_CC_CAN_LINK=y
-CONFIG_CC_HAS_ASM_GOTO=y
-CONFIG_CC_HAS_WARN_MAYBE_UNINITIALIZED=y
+CONFIG_CC_CAN_LINK_STATIC=y
+CONFIG_CC_HAS_ASM_GOTO_OUTPUT=y
+CONFIG_CC_HAS_ASM_GOTO_TIED_OUTPUT=y
+CONFIG_TOOLS_SUPPORT_RELR=y
+CONFIG_CC_HAS_ASM_INLINE=y
+CONFIG_CC_HAS_NO_PROFILE_FN_ATTR=y
+CONFIG_PAHOLE_VERSION=0
 CONFIG_IRQ_WORK=y
-CONFIG_BUILDTIME_EXTABLE_SORT=y
+CONFIG_BUILDTIME_TABLE_SORT=y
+CONFIG_THREAD_INFO_IN_TASK=y
 
 #
 # General setup
 #
 CONFIG_INIT_ENV_ARG_LIMIT=32
 # CONFIG_COMPILE_TEST is not set
-# CONFIG_HEADER_TEST is not set
+# CONFIG_WERROR is not set
 CONFIG_LOCALVERSION=""
 # CONFIG_LOCALVERSION_AUTO is not set
 CONFIG_BUILD_SALT=""
+CONFIG_HAVE_KERNEL_GZIP=y
+CONFIG_HAVE_KERNEL_LZMA=y
+CONFIG_HAVE_KERNEL_XZ=y
+CONFIG_HAVE_KERNEL_LZO=y
+CONFIG_HAVE_KERNEL_LZ4=y
+CONFIG_HAVE_KERNEL_ZSTD=y
+# CONFIG_KERNEL_GZIP is not set
+# CONFIG_KERNEL_LZMA is not set
+# CONFIG_KERNEL_XZ is not set
+# CONFIG_KERNEL_LZO is not set
+# CONFIG_KERNEL_LZ4 is not set
+CONFIG_KERNEL_ZSTD=y
+CONFIG_DEFAULT_INIT=""
 CONFIG_DEFAULT_HOSTNAME="(none)"
-CONFIG_SWAP=y
 CONFIG_SYSVIPC=y
 CONFIG_SYSVIPC_SYSCTL=y
 CONFIG_POSIX_MQUEUE=y
 CONFIG_POSIX_MQUEUE_SYSCTL=y
-CONFIG_CROSS_MEMORY_ATTACH=y
+# CONFIG_WATCH_QUEUE is not set
+# CONFIG_CROSS_MEMORY_ATTACH is not set
 # CONFIG_USELIB is not set
 # CONFIG_AUDIT is not set
 CONFIG_HAVE_ARCH_AUDITSYSCALL=y
@@ -39,21 +61,26 @@ CONFIG_GENERIC_IRQ_PROBE=y
 CONFIG_GENERIC_IRQ_SHOW=y
 CONFIG_GENERIC_IRQ_EFFECTIVE_AFF_MASK=y
 CONFIG_GENERIC_IRQ_MIGRATION=y
+CONFIG_GENERIC_IRQ_INJECTION=y
+CONFIG_HARDIRQS_SW_RESEND=y
 CONFIG_GENERIC_IRQ_CHIP=y
 CONFIG_IRQ_DOMAIN=y
 CONFIG_IRQ_SIM=y
 CONFIG_IRQ_DOMAIN_HIERARCHY=y
 CONFIG_GENERIC_MSI_IRQ=y
-CONFIG_GENERIC_MSI_IRQ_DOMAIN=y
+CONFIG_IRQ_MSI_IOMMU=y
 CONFIG_IRQ_FORCED_THREADING=y
 CONFIG_SPARSE_IRQ=y
 # CONFIG_GENERIC_IRQ_DEBUGFS is not set
 # end of IRQ subsystem
 
-CONFIG_ARCH_CLOCKSOURCE_DATA=y
 CONFIG_GENERIC_TIME_VSYSCALL=y
 CONFIG_GENERIC_CLOCKEVENTS=y
 CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
+CONFIG_HAVE_POSIX_CPU_TIMERS_TASK_WORK=y
+CONFIG_POSIX_CPU_TIMERS_TASK_WORK=y
+CONFIG_CONTEXT_TRACKING=y
+CONFIG_CONTEXT_TRACKING_IDLE=y
 
 #
 # Timers subsystem
@@ -63,14 +90,37 @@ CONFIG_NO_HZ_COMMON=y
 # CONFIG_HZ_PERIODIC is not set
 # CONFIG_NO_HZ_IDLE is not set
 CONFIG_NO_HZ_FULL=y
-CONFIG_CONTEXT_TRACKING=y
+CONFIG_CONTEXT_TRACKING_USER=y
+# CONFIG_CONTEXT_TRACKING_USER_FORCE is not set
 CONFIG_NO_HZ=y
 CONFIG_HIGH_RES_TIMERS=y
 # end of Timers subsystem
 
+CONFIG_BPF=y
+CONFIG_HAVE_EBPF_JIT=y
+CONFIG_ARCH_WANT_DEFAULT_BPF_JIT=y
+
+#
+# BPF subsystem
+#
+CONFIG_BPF_SYSCALL=y
+CONFIG_BPF_JIT=y
+CONFIG_BPF_JIT_ALWAYS_ON=y
+CONFIG_BPF_JIT_DEFAULT_ON=y
+CONFIG_BPF_UNPRIV_DEFAULT_OFF=y
+CONFIG_USERMODE_DRIVER=y
+# CONFIG_BPF_PRELOAD is not set
+CONFIG_BPF_LSM=y
+# end of BPF subsystem
+
+CONFIG_PREEMPT_BUILD=y
 CONFIG_PREEMPT_NONE=y
 # CONFIG_PREEMPT_VOLUNTARY is not set
 # CONFIG_PREEMPT is not set
+CONFIG_PREEMPT_COUNT=y
+CONFIG_PREEMPTION=y
+CONFIG_PREEMPT_DYNAMIC=y
+CONFIG_SCHED_CORE=y
 
 #
 # CPU/Task time and stats accounting
@@ -95,19 +145,25 @@ CONFIG_CPU_ISOLATION=y
 # RCU Subsystem
 #
 CONFIG_TREE_RCU=y
+CONFIG_PREEMPT_RCU=y
 # CONFIG_RCU_EXPERT is not set
-CONFIG_SRCU=y
 CONFIG_TREE_SRCU=y
+CONFIG_TASKS_RCU_GENERIC=y
+CONFIG_TASKS_RCU=y
+CONFIG_TASKS_RUDE_RCU=y
+CONFIG_TASKS_TRACE_RCU=y
 CONFIG_RCU_STALL_COMMON=y
 CONFIG_RCU_NEED_SEGCBLIST=y
 CONFIG_RCU_NOCB_CPU=y
+# CONFIG_RCU_NOCB_CPU_DEFAULT_ALL is not set
+CONFIG_RCU_LAZY=y
 # end of RCU Subsystem
 
 # CONFIG_IKCONFIG is not set
 # CONFIG_IKHEADERS is not set
 CONFIG_LOG_BUF_SHIFT=18
 CONFIG_LOG_CPU_MAX_BUF_SHIFT=12
-CONFIG_PRINTK_SAFE_LOG_BUF_SHIFT=13
+# CONFIG_PRINTK_INDEX is not set
 
 #
 # Scheduler features
@@ -115,15 +171,28 @@ CONFIG_PRINTK_SAFE_LOG_BUF_SHIFT=13
 # CONFIG_UCLAMP_TASK is not set
 # end of Scheduler features
 
+CONFIG_ARCH_SUPPORTS_NUMA_BALANCING=y
+CONFIG_ARCH_WANT_BATCHED_UNMAP_TLB_FLUSH=y
+CONFIG_CC_HAS_INT128=y
+CONFIG_CC_IMPLICIT_FALLTHROUGH="-Wimplicit-fallthrough=5"
+CONFIG_GCC11_NO_ARRAY_BOUNDS=y
+CONFIG_CC_NO_ARRAY_BOUNDS=y
+CONFIG_ARCH_SUPPORTS_INT128=y
+# CONFIG_NUMA_BALANCING is not set
 CONFIG_CGROUPS=y
-# CONFIG_MEMCG is not set
+CONFIG_PAGE_COUNTER=y
+# CONFIG_CGROUP_FAVOR_DYNMODS is not set
+CONFIG_MEMCG=y
+CONFIG_MEMCG_KMEM=y
 CONFIG_BLK_CGROUP=y
+CONFIG_CGROUP_WRITEBACK=y
 CONFIG_CGROUP_SCHED=y
 CONFIG_FAIR_GROUP_SCHED=y
-# CONFIG_CFS_BANDWIDTH is not set
-CONFIG_RT_GROUP_SCHED=y
+CONFIG_CFS_BANDWIDTH=y
+# CONFIG_RT_GROUP_SCHED is not set
+CONFIG_SCHED_MM_CID=y
 CONFIG_CGROUP_PIDS=y
-# CONFIG_CGROUP_RDMA is not set
+CONFIG_CGROUP_RDMA=y
 CONFIG_CGROUP_FREEZER=y
 CONFIG_CPUSETS=y
 CONFIG_PROC_PID_CPUSET=y
@@ -131,17 +200,18 @@ CONFIG_CGROUP_DEVICE=y
 CONFIG_CGROUP_CPUACCT=y
 CONFIG_CGROUP_PERF=y
 CONFIG_CGROUP_BPF=y
+# CONFIG_CGROUP_MISC is not set
 # CONFIG_CGROUP_DEBUG is not set
 CONFIG_SOCK_CGROUP_DATA=y
 CONFIG_NAMESPACES=y
 CONFIG_UTS_NS=y
+CONFIG_TIME_NS=y
 CONFIG_IPC_NS=y
 CONFIG_USER_NS=y
 CONFIG_PID_NS=y
 CONFIG_NET_NS=y
 # CONFIG_CHECKPOINT_RESTORE is not set
 CONFIG_SCHED_AUTOGROUP=y
-# CONFIG_SYSFS_DEPRECATED is not set
 CONFIG_RELAY=y
 CONFIG_BLK_DEV_INITRD=y
 CONFIG_INITRAMFS_SOURCE=""
@@ -151,21 +221,22 @@ CONFIG_RD_LZMA=y
 CONFIG_RD_XZ=y
 CONFIG_RD_LZO=y
 CONFIG_RD_LZ4=y
+CONFIG_RD_ZSTD=y
+# CONFIG_BOOT_CONFIG is not set
+CONFIG_INITRAMFS_PRESERVE_MTIME=y
 CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE=y
 # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
+CONFIG_LD_ORPHAN_WARN=y
+CONFIG_LD_ORPHAN_WARN_LEVEL="warn"
 CONFIG_SYSCTL=y
-CONFIG_HAVE_UID16=y
-CONFIG_BPF=y
+CONFIG_SYSCTL_EXCEPTION_TRACE=y
 CONFIG_EXPERT=y
-CONFIG_UID16=y
 CONFIG_MULTIUSER=y
 CONFIG_SGETMASK_SYSCALL=y
 CONFIG_SYSFS_SYSCALL=y
-# CONFIG_SYSCTL_SYSCALL is not set
 CONFIG_FHANDLE=y
 CONFIG_POSIX_TIMERS=y
 CONFIG_PRINTK=y
-CONFIG_PRINTK_NMI=y
 CONFIG_BUG=y
 CONFIG_ELF_CORE=y
 CONFIG_BASE_FULL=y
@@ -181,16 +252,16 @@ CONFIG_IO_URING=y
 CONFIG_ADVISE_SYSCALLS=y
 CONFIG_MEMBARRIER=y
 CONFIG_KALLSYMS=y
+# CONFIG_KALLSYMS_SELFTEST is not set
 CONFIG_KALLSYMS_ALL=y
 CONFIG_KALLSYMS_BASE_RELATIVE=y
-CONFIG_BPF_SYSCALL=y
-CONFIG_BPF_JIT_ALWAYS_ON=y
-# CONFIG_USERFAULTFD is not set
 CONFIG_ARCH_HAS_MEMBARRIER_SYNC_CORE=y
+CONFIG_KCMP=y
 CONFIG_RSEQ=y
+CONFIG_CACHESTAT_SYSCALL=y
 # CONFIG_DEBUG_RSEQ is not set
-CONFIG_EMBEDDED=y
 CONFIG_HAVE_PERF_EVENTS=y
+CONFIG_GUEST_PERF_EVENTS=y
 # CONFIG_PC104 is not set
 
 #
@@ -200,26 +271,24 @@ CONFIG_PERF_EVENTS=y
 # CONFIG_DEBUG_PERF_USE_VMALLOC is not set
 # end of Kernel Performance Events And Counters
 
-CONFIG_VM_EVENT_COUNTERS=y
-# CONFIG_SLUB_DEBUG is not set
-# CONFIG_COMPAT_BRK is not set
-# CONFIG_SLAB is not set
-CONFIG_SLUB=y
-# CONFIG_SLOB is not set
-CONFIG_SLAB_MERGE_DEFAULT=y
-CONFIG_SLAB_FREELIST_RANDOM=y
-CONFIG_SLAB_FREELIST_HARDENED=y
-CONFIG_SHUFFLE_PAGE_ALLOCATOR=y
-CONFIG_SLUB_CPU_PARTIAL=y
 CONFIG_SYSTEM_DATA_VERIFICATION=y
 # CONFIG_PROFILING is not set
 CONFIG_TRACEPOINTS=y
+
+#
+# Kexec and crash features
+#
+# CONFIG_KEXEC_FILE is not set
+# end of Kexec and crash features
 # end of General setup
 
+CONFIG_64BIT=y
 CONFIG_LOCKDEP_SUPPORT=y
 CONFIG_STACKTRACE_SUPPORT=y
 CONFIG_MMU=y
+CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MAX=16
 CONFIG_GENERIC_BUG=y
+CONFIG_GENERIC_BUG_RELATIVE_POINTERS=y
 CONFIG_GENERIC_CALIBRATE_DELAY=y
 CONFIG_ARCH_HIBERNATION_POSSIBLE=y
 CONFIG_ARCH_SUSPEND_POSSIBLE=y
@@ -235,6 +304,9 @@ CONFIG_PARAVIRT=y
 CONFIG_XEN=y
 CONFIG_XEN_DOM0=y
 CONFIG_PARAVIRT_TIME_ACCOUNTING=y
+CONFIG_DMI=y
+CONFIG_NR_CPUS=64
+CONFIG_SCHED_CLUSTER=y
 CONFIG_SCHED_SMT=y
 CONFIG_SCHED_MC=y
 
@@ -243,13 +315,22 @@ CONFIG_SCHED_MC=y
 #
 # end of Performance monitoring
 
-CONFIG_SECCOMP=y
-# CONFIG_HZ_100 is not set
+CONFIG_NUMA=y
+CONFIG_ARCH_SPARSEMEM_ENABLE=y
+CONFIG_ILLEGAL_POINTER_VALUE=0xdead000000000000
+CONFIG_EFI=y
+CONFIG_EFI_STUB=y
+CONFIG_HZ_100=y
 # CONFIG_HZ_250 is not set
-CONFIG_HZ_300=y
+# CONFIG_HZ_300 is not set
 # CONFIG_HZ_1000 is not set
-CONFIG_HZ=300
+CONFIG_HZ=100
 CONFIG_SCHED_HRTICK=y
+CONFIG_ARCH_SUPPORTS_KEXEC_FILE=y
+CONFIG_ARCH_SUPPORTS_KEXEC_SIG=y
+CONFIG_ARCH_SUPPORTS_CRASH_DUMP=y
+CONFIG_RELOCATABLE=y
+CONFIG_RANDOMIZE_BASE=y
 CONFIG_HOTPLUG_CPU=y
 # end of Processor type and features
 
@@ -266,6 +347,51 @@ CONFIG_PM_GENERIC_DOMAINS=y
 # CONFIG_WQ_POWER_EFFICIENT_DEFAULT is not set
 CONFIG_PM_GENERIC_DOMAINS_OF=y
 # CONFIG_ENERGY_MODEL is not set
+CONFIG_ARCH_SUPPORTS_ACPI=y
+CONFIG_ACPI=y
+# CONFIG_ACPI_DEBUGGER is not set
+CONFIG_ACPI_SPCR_TABLE=y
+CONFIG_ACPI_FPDT=y
+# CONFIG_ACPI_EC_DEBUGFS is not set
+CONFIG_ACPI_AC=m
+CONFIG_ACPI_BATTERY=m
+CONFIG_ACPI_BUTTON=m
+CONFIG_ACPI_TINY_POWER_BUTTON=m
+CONFIG_ACPI_TINY_POWER_BUTTON_SIGNAL=38
+CONFIG_ACPI_VIDEO=m
+CONFIG_ACPI_FAN=m
+CONFIG_ACPI_DOCK=y
+CONFIG_ACPI_PROCESSOR_IDLE=y
+CONFIG_ACPI_CPPC_LIB=y
+CONFIG_ACPI_PROCESSOR=y
+CONFIG_ACPI_IPMI=m
+CONFIG_ACPI_HOTPLUG_CPU=y
+CONFIG_ARCH_HAS_ACPI_TABLE_UPGRADE=y
+CONFIG_ACPI_TABLE_UPGRADE=y
+# CONFIG_ACPI_DEBUG is not set
+CONFIG_ACPI_PCI_SLOT=y
+CONFIG_ACPI_CONTAINER=y
+CONFIG_ACPI_HED=y
+# CONFIG_ACPI_CUSTOM_METHOD is not set
+# CONFIG_ACPI_BGRT is not set
+# CONFIG_ACPI_NFIT is not set
+CONFIG_ACPI_NUMA=y
+# CONFIG_ACPI_HMAT is not set
+CONFIG_HAVE_ACPI_APEI=y
+CONFIG_ACPI_APEI=y
+CONFIG_ACPI_APEI_GHES=y
+CONFIG_ACPI_APEI_PCIEAER=y
+CONFIG_ACPI_APEI_MEMORY_FAILURE=y
+# CONFIG_ACPI_APEI_EINJ is not set
+# CONFIG_ACPI_APEI_ERST_DEBUG is not set
+CONFIG_ACPI_WATCHDOG=y
+# CONFIG_ACPI_CONFIGFS is not set
+# CONFIG_ACPI_PFRUT is not set
+CONFIG_ACPI_PCC=y
+CONFIG_ACPI_FFH=y
+# CONFIG_PMIC_OPREGION is not set
+CONFIG_ACPI_VIOT=y
+CONFIG_ACPI_PRMT=y
 
 #
 # CPU Frequency scaling
@@ -277,8 +403,6 @@ CONFIG_CPU_FREQ_STAT=y
 CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y
 # CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set
 # CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
-# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set
-# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set
 # CONFIG_CPU_FREQ_DEFAULT_GOV_SCHEDUTIL is not set
 CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
 CONFIG_CPU_FREQ_GOV_POWERSAVE=m
@@ -319,75 +443,114 @@ CONFIG_CPU_IDLE_GOV_MENU=y
 #
 # end of Binary Emulations
 
-
-#
-# Firmware Drivers
-#
-# CONFIG_GOOGLE_FIRMWARE is not set
-
-#
-# EFI (Extensible Firmware Interface) Support
-#
-# end of EFI (Extensible Firmware Interface) Support
-
-
-#
-# Tegra firmware driver
-#
-# end of Tegra firmware driver
-# end of Firmware Drivers
-
+CONFIG_HAVE_KVM=y
+CONFIG_HAVE_KVM_IRQCHIP=y
+CONFIG_HAVE_KVM_IRQFD=y
+CONFIG_HAVE_KVM_IRQ_ROUTING=y
+CONFIG_HAVE_KVM_DIRTY_RING=y
+CONFIG_HAVE_KVM_DIRTY_RING_ACQ_REL=y
+CONFIG_HAVE_KVM_EVENTFD=y
+CONFIG_KVM_MMIO=y
+CONFIG_HAVE_KVM_MSI=y
+CONFIG_HAVE_KVM_CPU_RELAX_INTERCEPT=y
+CONFIG_KVM_VFIO=y
+CONFIG_KVM_GENERIC_DIRTYLOG_READ_PROTECT=y
+CONFIG_HAVE_KVM_IRQ_BYPASS=y
+CONFIG_KVM_XFER_TO_GUEST_WORK=y
+CONFIG_KVM_GENERIC_HARDWARE_ENABLING=y
 CONFIG_VIRTUALIZATION=y
-CONFIG_VHOST_NET=m
-CONFIG_VHOST_VSOCK=m
-CONFIG_VHOST=m
-# CONFIG_VHOST_CROSS_ENDIAN_LEGACY is not set
 
 #
 # General architecture-dependent options
 #
+CONFIG_HOTPLUG_CORE_SYNC=y
+CONFIG_HOTPLUG_CORE_SYNC_DEAD=y
 # CONFIG_KPROBES is not set
 CONFIG_JUMP_LABEL=y
 # CONFIG_STATIC_KEYS_SELFTEST is not set
 CONFIG_UPROBES=y
 CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
+CONFIG_HAVE_IOREMAP_PROT=y
 CONFIG_HAVE_KPROBES=y
 CONFIG_HAVE_KRETPROBES=y
+CONFIG_ARCH_CORRECT_STACKTRACE_ON_KRETPROBE=y
+CONFIG_HAVE_FUNCTION_ERROR_INJECTION=y
 CONFIG_HAVE_NMI=y
+CONFIG_TRACE_IRQFLAGS_SUPPORT=y
+CONFIG_TRACE_IRQFLAGS_NMI_SUPPORT=y
 CONFIG_HAVE_ARCH_TRACEHOOK=y
 CONFIG_HAVE_DMA_CONTIGUOUS=y
 CONFIG_GENERIC_SMP_IDLE_THREAD=y
 CONFIG_ARCH_HAS_FORTIFY_SOURCE=y
 CONFIG_ARCH_HAS_SET_MEMORY=y
+CONFIG_ARCH_HAS_SET_DIRECT_MAP=y
 CONFIG_HAVE_ARCH_THREAD_STRUCT_WHITELIST=y
+CONFIG_ARCH_WANTS_NO_INSTR=y
+CONFIG_HAVE_ASM_MODVERSIONS=y
 CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
 CONFIG_HAVE_RSEQ=y
-CONFIG_HAVE_CLK=y
+CONFIG_HAVE_FUNCTION_ARG_ACCESS_API=y
 CONFIG_HAVE_HW_BREAKPOINT=y
+CONFIG_HAVE_PERF_EVENTS_NMI=y
+CONFIG_HAVE_HARDLOCKUP_DETECTOR_PERF=y
 CONFIG_HAVE_PERF_REGS=y
 CONFIG_HAVE_PERF_USER_STACK_DUMP=y
 CONFIG_HAVE_ARCH_JUMP_LABEL=y
+CONFIG_HAVE_ARCH_JUMP_LABEL_RELATIVE=y
+CONFIG_MMU_GATHER_TABLE_FREE=y
+CONFIG_MMU_GATHER_RCU_TABLE_FREE=y
+CONFIG_MMU_LAZY_TLB_REFCOUNT=y
+CONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG=y
+CONFIG_ARCH_HAS_NMI_SAFE_THIS_CPU_OPS=y
+CONFIG_HAVE_ALIGNED_STRUCT_PAGE=y
+CONFIG_HAVE_CMPXCHG_LOCAL=y
+CONFIG_HAVE_CMPXCHG_DOUBLE=y
+CONFIG_HAVE_ARCH_SECCOMP=y
 CONFIG_HAVE_ARCH_SECCOMP_FILTER=y
+CONFIG_SECCOMP=y
 CONFIG_SECCOMP_FILTER=y
+# CONFIG_SECCOMP_CACHE_DEBUG is not set
+CONFIG_HAVE_ARCH_STACKLEAK=y
 CONFIG_HAVE_STACKPROTECTOR=y
-CONFIG_CC_HAS_STACKPROTECTOR_NONE=y
 CONFIG_STACKPROTECTOR=y
 CONFIG_STACKPROTECTOR_STRONG=y
-CONFIG_HAVE_CONTEXT_TRACKING=y
+CONFIG_ARCH_SUPPORTS_LTO_CLANG=y
+CONFIG_ARCH_SUPPORTS_LTO_CLANG_THIN=y
+CONFIG_LTO_NONE=y
+CONFIG_ARCH_SUPPORTS_CFI_CLANG=y
+CONFIG_HAVE_CONTEXT_TRACKING_USER=y
 CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y
 CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y
+CONFIG_HAVE_MOVE_PUD=y
+CONFIG_HAVE_MOVE_PMD=y
+CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE=y
+CONFIG_HAVE_ARCH_HUGE_VMAP=y
+CONFIG_HAVE_ARCH_HUGE_VMALLOC=y
+CONFIG_ARCH_WANT_PMD_MKWRITE=y
 CONFIG_HAVE_MOD_ARCH_SPECIFIC=y
+CONFIG_MODULES_USE_ELF_RELA=y
+CONFIG_HAVE_SOFTIRQ_ON_OWN_STACK=y
+CONFIG_SOFTIRQ_ON_OWN_STACK=y
 CONFIG_ARCH_HAS_ELF_RANDOMIZE=y
 CONFIG_HAVE_ARCH_MMAP_RND_BITS=y
-CONFIG_OLD_SIGSUSPEND3=y
-CONFIG_64BIT_TIME=y
+CONFIG_PAGE_SIZE_LESS_THAN_256KB=y
 CONFIG_COMPAT_32BIT_TIME=y
+CONFIG_HAVE_ARCH_VMAP_STACK=y
+CONFIG_VMAP_STACK=y
+CONFIG_HAVE_ARCH_RANDOMIZE_KSTACK_OFFSET=y
+CONFIG_RANDOMIZE_KSTACK_OFFSET=y
+# CONFIG_RANDOMIZE_KSTACK_OFFSET_DEFAULT is not set
 CONFIG_ARCH_HAS_STRICT_KERNEL_RWX=y
 CONFIG_STRICT_KERNEL_RWX=y
 CONFIG_ARCH_HAS_STRICT_MODULE_RWX=y
 CONFIG_STRICT_MODULE_RWX=y
-CONFIG_REFCOUNT_FULL=y
+CONFIG_HAVE_ARCH_PREL32_RELOCATIONS=y
+CONFIG_ARCH_USE_MEMREMAP_PROT=y
 # CONFIG_LOCK_EVENT_COUNTS is not set
+CONFIG_HAVE_PREEMPT_DYNAMIC=y
+CONFIG_ARCH_WANT_LD_ORPHAN_WARN=y
+CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
+CONFIG_ARCH_SUPPORTS_PAGE_TABLE_CHECK=y
 
 #
 # GCOV-based kernel profiling
@@ -396,47 +559,66 @@ CONFIG_REFCOUNT_FULL=y
 CONFIG_ARCH_HAS_GCOV_PROFILE_ALL=y
 # end of GCOV-based kernel profiling
 
-CONFIG_PLUGIN_HOSTCC="g++"
 CONFIG_HAVE_GCC_PLUGINS=y
 CONFIG_GCC_PLUGINS=y
-
-#
-# GCC plugins
-#
-# CONFIG_GCC_PLUGIN_CYC_COMPLEXITY is not set
-CONFIG_GCC_PLUGIN_LATENT_ENTROPY=y
-CONFIG_GCC_PLUGIN_RANDSTRUCT=y
-CONFIG_GCC_PLUGIN_RANDSTRUCT_PERFORMANCE=y
-# end of GCC plugins
+# CONFIG_GCC_PLUGIN_LATENT_ENTROPY is not set
+CONFIG_FUNCTION_ALIGNMENT_4B=y
 # end of General architecture-dependent options
 
 CONFIG_RT_MUTEXES=y
 CONFIG_BASE_SMALL=0
+CONFIG_MODULE_SIG_FORMAT=y
 CONFIG_MODULES=y
+# CONFIG_MODULE_DEBUG is not set
 # CONFIG_MODULE_FORCE_LOAD is not set
 CONFIG_MODULE_UNLOAD=y
 # CONFIG_MODULE_FORCE_UNLOAD is not set
+# CONFIG_MODULE_UNLOAD_TAINT_TRACKING is not set
 CONFIG_MODVERSIONS=y
+CONFIG_ASM_MODVERSIONS=y
 CONFIG_MODULE_SRCVERSION_ALL=y
-# CONFIG_MODULE_SIG is not set
-CONFIG_MODULE_COMPRESS=y
+CONFIG_MODULE_SIG=y
+CONFIG_MODULE_SIG_FORCE=y
+CONFIG_MODULE_SIG_ALL=y
+# CONFIG_MODULE_SIG_SHA1 is not set
+# CONFIG_MODULE_SIG_SHA224 is not set
+# CONFIG_MODULE_SIG_SHA256 is not set
+# CONFIG_MODULE_SIG_SHA384 is not set
+CONFIG_MODULE_SIG_SHA512=y
+CONFIG_MODULE_SIG_HASH="sha512"
+# CONFIG_MODULE_COMPRESS_NONE is not set
 # CONFIG_MODULE_COMPRESS_GZIP is not set
-CONFIG_MODULE_COMPRESS_XZ=y
+# CONFIG_MODULE_COMPRESS_XZ is not set
+CONFIG_MODULE_COMPRESS_ZSTD=y
+# CONFIG_MODULE_DECOMPRESS is not set
+# CONFIG_MODULE_ALLOW_MISSING_NAMESPACE_IMPORTS is not set
+CONFIG_MODPROBE_PATH="/sbin/modprobe"
 CONFIG_TRIM_UNUSED_KSYMS=y
+CONFIG_UNUSED_KSYMS_WHITELIST=""
 CONFIG_MODULES_TREE_LOOKUP=y
 CONFIG_BLOCK=y
-CONFIG_BLK_SCSI_REQUEST=y
-CONFIG_BLK_DEV_BSG=y
+CONFIG_BLOCK_LEGACY_AUTOLOAD=y
+CONFIG_BLK_RQ_ALLOC_TIME=y
+CONFIG_BLK_CGROUP_RWSTAT=y
+CONFIG_BLK_CGROUP_PUNT_BIO=y
+CONFIG_BLK_DEV_BSG_COMMON=y
+CONFIG_BLK_ICQ=y
 CONFIG_BLK_DEV_BSGLIB=y
 CONFIG_BLK_DEV_INTEGRITY=y
+CONFIG_BLK_DEV_INTEGRITY_T10=y
 # CONFIG_BLK_DEV_ZONED is not set
 CONFIG_BLK_DEV_THROTTLING=y
 # CONFIG_BLK_DEV_THROTTLING_LOW is not set
-# CONFIG_BLK_CMDLINE_PARSER is not set
-# CONFIG_BLK_WBT is not set
+CONFIG_BLK_WBT=y
+CONFIG_BLK_WBT_MQ=y
 CONFIG_BLK_CGROUP_IOLATENCY=y
+# CONFIG_BLK_CGROUP_FC_APPID is not set
+CONFIG_BLK_CGROUP_IOCOST=y
+CONFIG_BLK_CGROUP_IOPRIO=y
 CONFIG_BLK_DEBUG_FS=y
 # CONFIG_BLK_SED_OPAL is not set
+CONFIG_BLK_INLINE_ENCRYPTION=y
+CONFIG_BLK_INLINE_ENCRYPTION_FALLBACK=y
 
 #
 # Partition Types
@@ -467,6 +649,8 @@ CONFIG_EFI_PARTITION=y
 CONFIG_BLK_MQ_PCI=y
 CONFIG_BLK_MQ_VIRTIO=y
 CONFIG_BLK_PM=y
+CONFIG_BLOCK_HOLDER_DEPRECATED=y
+CONFIG_BLK_MQ_STACKING=y
 
 #
 # IO Schedulers
@@ -478,17 +662,20 @@ CONFIG_BFQ_GROUP_IOSCHED=y
 # CONFIG_BFQ_CGROUP_DEBUG is not set
 # end of IO Schedulers
 
+CONFIG_PREEMPT_NOTIFIERS=y
 CONFIG_PADATA=y
 CONFIG_ASN1=y
-CONFIG_INLINE_SPIN_UNLOCK_IRQ=y
-CONFIG_INLINE_READ_UNLOCK=y
-CONFIG_INLINE_READ_UNLOCK_IRQ=y
-CONFIG_INLINE_WRITE_UNLOCK=y
-CONFIG_INLINE_WRITE_UNLOCK_IRQ=y
+CONFIG_UNINLINE_SPIN_UNLOCK=y
 CONFIG_ARCH_SUPPORTS_ATOMIC_RMW=y
 CONFIG_MUTEX_SPIN_ON_OWNER=y
 CONFIG_RWSEM_SPIN_ON_OWNER=y
 CONFIG_LOCK_SPIN_ON_OWNER=y
+CONFIG_ARCH_USE_QUEUED_SPINLOCKS=y
+CONFIG_QUEUED_SPINLOCKS=y
+CONFIG_ARCH_USE_QUEUED_RWLOCKS=y
+CONFIG_QUEUED_RWLOCKS=y
+CONFIG_ARCH_HAS_NON_OVERLAPPING_ADDRESS_SPACE=y
+CONFIG_ARCH_HAS_SYSCALL_WRAPPER=y
 CONFIG_FREEZER=y
 
 #
@@ -498,43 +685,128 @@ CONFIG_BINFMT_ELF=y
 CONFIG_ELFCORE=y
 CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=y
 CONFIG_BINFMT_SCRIPT=y
-CONFIG_BINFMT_MISC=y
+CONFIG_BINFMT_MISC=m
 CONFIG_COREDUMP=y
 # end of Executable file formats
 
 #
 # Memory Management options
 #
+CONFIG_ZPOOL=y
+CONFIG_SWAP=y
+CONFIG_ZSWAP=y
+CONFIG_ZSWAP_DEFAULT_ON=y
+# CONFIG_ZSWAP_EXCLUSIVE_LOADS_DEFAULT_ON is not set
+# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_DEFLATE is not set
+# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZO is not set
+# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_842 is not set
+CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZ4=y
+# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZ4HC is not set
+# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_ZSTD is not set
+CONFIG_ZSWAP_COMPRESSOR_DEFAULT="lz4"
+# CONFIG_ZSWAP_ZPOOL_DEFAULT_ZBUD is not set
+# CONFIG_ZSWAP_ZPOOL_DEFAULT_Z3FOLD is not set
+CONFIG_ZSWAP_ZPOOL_DEFAULT_ZSMALLOC=y
+CONFIG_ZSWAP_ZPOOL_DEFAULT="zsmalloc"
+# CONFIG_ZBUD is not set
+# CONFIG_Z3FOLD is not set
+CONFIG_ZSMALLOC=y
+# CONFIG_ZSMALLOC_STAT is not set
+CONFIG_ZSMALLOC_CHAIN_SIZE=8
+
+#
+# SLAB allocator options
+#
+# CONFIG_SLAB_DEPRECATED is not set
+CONFIG_SLUB=y
+# CONFIG_SLUB_TINY is not set
+CONFIG_SLAB_MERGE_DEFAULT=y
+CONFIG_SLAB_FREELIST_RANDOM=y
+CONFIG_SLAB_FREELIST_HARDENED=y
+# CONFIG_SLUB_STATS is not set
+CONFIG_SLUB_CPU_PARTIAL=y
+CONFIG_RANDOM_KMALLOC_CACHES=y
+# end of SLAB allocator options
+
+CONFIG_SHUFFLE_PAGE_ALLOCATOR=y
+# CONFIG_COMPAT_BRK is not set
+CONFIG_SPARSEMEM=y
+CONFIG_SPARSEMEM_EXTREME=y
+CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y
+CONFIG_SPARSEMEM_VMEMMAP=y
+CONFIG_HAVE_FAST_GUP=y
 CONFIG_MEMORY_ISOLATION=y
+CONFIG_EXCLUSIVE_SYSTEM_RAM=y
+CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
+# CONFIG_MEMORY_HOTPLUG is not set
+CONFIG_ARCH_MHP_MEMMAP_ON_MEMORY_ENABLE=y
 CONFIG_SPLIT_PTLOCK_CPUS=4
 CONFIG_MEMORY_BALLOON=y
 CONFIG_BALLOON_COMPACTION=y
 CONFIG_COMPACTION=y
+CONFIG_COMPACT_UNEVICTABLE_DEFAULT=1
+CONFIG_PAGE_REPORTING=y
 CONFIG_MIGRATION=y
+CONFIG_ARCH_ENABLE_THP_MIGRATION=y
 CONFIG_CONTIG_ALLOC=y
+CONFIG_PHYS_ADDR_T_64BIT=y
 CONFIG_MMU_NOTIFIER=y
 CONFIG_KSM=y
 CONFIG_DEFAULT_MMAP_MIN_ADDR=65536
-CONFIG_CLEANCACHE=y
-# CONFIG_FRONTSWAP is not set
+CONFIG_ARCH_SUPPORTS_MEMORY_FAILURE=y
+CONFIG_MEMORY_FAILURE=y
+# CONFIG_HWPOISON_INJECT is not set
+CONFIG_TRANSPARENT_HUGEPAGE=y
+CONFIG_TRANSPARENT_HUGEPAGE_ALWAYS=y
+# CONFIG_TRANSPARENT_HUGEPAGE_MADVISE is not set
+# CONFIG_READ_ONLY_THP_FOR_FS is not set
+CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y
+CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y
+CONFIG_USE_PERCPU_NUMA_NODE_ID=y
+CONFIG_HAVE_SETUP_PER_CPU_AREA=y
 CONFIG_CMA=y
 # CONFIG_CMA_DEBUG is not set
 # CONFIG_CMA_DEBUGFS is not set
+# CONFIG_CMA_SYSFS is not set
 CONFIG_CMA_AREAS=7
-CONFIG_ZPOOL=m
-# CONFIG_ZBUD is not set
-# CONFIG_Z3FOLD is not set
-# CONFIG_ZSMALLOC is not set
 CONFIG_GENERIC_EARLY_IOREMAP=y
+# CONFIG_DEFERRED_STRUCT_PAGE_INIT is not set
+CONFIG_PAGE_IDLE_FLAG=y
 CONFIG_IDLE_PAGE_TRACKING=y
-CONFIG_FRAME_VECTOR=y
+CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y
+CONFIG_ARCH_HAS_CURRENT_STACK_POINTER=y
+CONFIG_ARCH_HAS_PTE_DEVMAP=y
+CONFIG_ARCH_HAS_ZONE_DMA_SET=y
+CONFIG_ZONE_DMA=y
+CONFIG_ZONE_DMA32=y
+CONFIG_HMM_MIRROR=y
+CONFIG_VM_EVENT_COUNTERS=y
 # CONFIG_PERCPU_STATS is not set
-# CONFIG_GUP_BENCHMARK is not set
+# CONFIG_GUP_TEST is not set
+# CONFIG_DMAPOOL_TEST is not set
+CONFIG_ARCH_HAS_PTE_SPECIAL=y
+CONFIG_MAPPING_DIRTY_HELPERS=y
+CONFIG_MEMFD_CREATE=y
+CONFIG_SECRETMEM=y
+# CONFIG_ANON_VMA_NAME is not set
+# CONFIG_USERFAULTFD is not set
+# CONFIG_LRU_GEN is not set
+CONFIG_ARCH_SUPPORTS_PER_VMA_LOCK=y
+CONFIG_PER_VMA_LOCK=y
+CONFIG_LOCK_MM_AND_FIND_VMA=y
+
+#
+# Data Access Monitoring
+#
+# CONFIG_DAMON is not set
+# end of Data Access Monitoring
 # end of Memory Management options
 
 CONFIG_NET=y
 CONFIG_NET_INGRESS=y
 CONFIG_NET_EGRESS=y
+CONFIG_NET_XGRESS=y
+CONFIG_NET_REDIRECT=y
 CONFIG_SKB_EXTENSIONS=y
 
 #
@@ -544,9 +816,11 @@ CONFIG_PACKET=y
 CONFIG_PACKET_DIAG=y
 CONFIG_UNIX=y
 CONFIG_UNIX_SCM=y
+CONFIG_AF_UNIX_OOB=y
 CONFIG_UNIX_DIAG=m
 CONFIG_TLS=m
 CONFIG_TLS_DEVICE=y
+# CONFIG_TLS_TOE is not set
 CONFIG_XFRM=y
 CONFIG_XFRM_OFFLOAD=y
 CONFIG_XFRM_ALGO=y
@@ -555,10 +829,13 @@ CONFIG_XFRM_INTERFACE=m
 CONFIG_XFRM_SUB_POLICY=y
 CONFIG_XFRM_MIGRATE=y
 CONFIG_XFRM_STATISTICS=y
+CONFIG_XFRM_AH=m
+CONFIG_XFRM_ESP=m
 CONFIG_XFRM_IPCOMP=m
 CONFIG_NET_KEY=m
 CONFIG_NET_KEY_MIGRATE=y
 # CONFIG_XDP_SOCKETS is not set
+CONFIG_NET_HANDSHAKE=y
 CONFIG_INET=y
 CONFIG_IP_MULTICAST=y
 CONFIG_IP_ADVANCED_ROUTER=y
@@ -586,7 +863,9 @@ CONFIG_NET_FOU_IP_TUNNELS=y
 CONFIG_INET_AH=m
 CONFIG_INET_ESP=m
 CONFIG_INET_ESP_OFFLOAD=m
+# CONFIG_INET_ESPINTCP is not set
 CONFIG_INET_IPCOMP=m
+CONFIG_INET_TABLE_PERTURB_ORDER=16
 CONFIG_INET_XFRM_TUNNEL=m
 CONFIG_INET_TUNNEL=m
 CONFIG_INET_DIAG=m
@@ -622,6 +901,7 @@ CONFIG_IPV6_OPTIMISTIC_DAD=y
 CONFIG_INET6_AH=m
 CONFIG_INET6_ESP=m
 CONFIG_INET6_ESP_OFFLOAD=m
+# CONFIG_INET6_ESPINTCP is not set
 CONFIG_INET6_IPCOMP=m
 CONFIG_IPV6_MIP6=m
 CONFIG_IPV6_ILA=m
@@ -643,7 +923,10 @@ CONFIG_IPV6_PIMSM_V2=y
 CONFIG_IPV6_SEG6_LWTUNNEL=y
 CONFIG_IPV6_SEG6_HMAC=y
 CONFIG_IPV6_SEG6_BPF=y
+# CONFIG_IPV6_RPL_LWTUNNEL is not set
+# CONFIG_IPV6_IOAM6_LWTUNNEL is not set
 # CONFIG_NETLABEL is not set
+# CONFIG_MPTCP is not set
 CONFIG_NETWORK_SECMARK=y
 CONFIG_NET_PTP_CLASSIFY=y
 # CONFIG_NETWORK_PHY_TIMESTAMPING is not set
@@ -655,16 +938,19 @@ CONFIG_BRIDGE_NETFILTER=y
 # Core Netfilter Configuration
 #
 CONFIG_NETFILTER_INGRESS=y
+CONFIG_NETFILTER_EGRESS=y
+CONFIG_NETFILTER_SKIP_EGRESS=y
 CONFIG_NETFILTER_NETLINK=m
 CONFIG_NETFILTER_FAMILY_BRIDGE=y
 CONFIG_NETFILTER_FAMILY_ARP=y
+CONFIG_NETFILTER_BPF_LINK=y
+# CONFIG_NETFILTER_NETLINK_HOOK is not set
 CONFIG_NETFILTER_NETLINK_ACCT=m
 CONFIG_NETFILTER_NETLINK_QUEUE=m
 CONFIG_NETFILTER_NETLINK_LOG=m
 CONFIG_NETFILTER_NETLINK_OSF=m
 CONFIG_NF_CONNTRACK=y
-CONFIG_NF_LOG_COMMON=m
-CONFIG_NF_LOG_NETDEV=m
+CONFIG_NF_LOG_SYSLOG=m
 CONFIG_NETFILTER_CONNCOUNT=m
 CONFIG_NF_CONNTRACK_MARK=y
 CONFIG_NF_CONNTRACK_SECMARK=y
@@ -674,42 +960,35 @@ CONFIG_NF_CONNTRACK_EVENTS=y
 CONFIG_NF_CONNTRACK_TIMEOUT=y
 CONFIG_NF_CONNTRACK_TIMESTAMP=y
 CONFIG_NF_CONNTRACK_LABELS=y
+CONFIG_NF_CONNTRACK_OVS=y
 CONFIG_NF_CT_PROTO_DCCP=y
-CONFIG_NF_CT_PROTO_GRE=y
 CONFIG_NF_CT_PROTO_SCTP=y
 CONFIG_NF_CT_PROTO_UDPLITE=y
-CONFIG_NF_CONNTRACK_AMANDA=m
-CONFIG_NF_CONNTRACK_FTP=m
-CONFIG_NF_CONNTRACK_H323=m
-CONFIG_NF_CONNTRACK_IRC=m
-CONFIG_NF_CONNTRACK_BROADCAST=m
-CONFIG_NF_CONNTRACK_NETBIOS_NS=m
-CONFIG_NF_CONNTRACK_SNMP=m
-CONFIG_NF_CONNTRACK_PPTP=m
-CONFIG_NF_CONNTRACK_SANE=m
-CONFIG_NF_CONNTRACK_SIP=m
-CONFIG_NF_CONNTRACK_TFTP=m
+# CONFIG_NF_CONNTRACK_AMANDA is not set
+# CONFIG_NF_CONNTRACK_FTP is not set
+# CONFIG_NF_CONNTRACK_H323 is not set
+# CONFIG_NF_CONNTRACK_IRC is not set
+# CONFIG_NF_CONNTRACK_NETBIOS_NS is not set
+# CONFIG_NF_CONNTRACK_SNMP is not set
+# CONFIG_NF_CONNTRACK_PPTP is not set
+# CONFIG_NF_CONNTRACK_SANE is not set
+# CONFIG_NF_CONNTRACK_SIP is not set
+# CONFIG_NF_CONNTRACK_TFTP is not set
 CONFIG_NF_CT_NETLINK=m
 CONFIG_NF_CT_NETLINK_TIMEOUT=m
 CONFIG_NF_CT_NETLINK_HELPER=m
 CONFIG_NETFILTER_NETLINK_GLUE_CT=y
 CONFIG_NF_NAT=m
-CONFIG_NF_NAT_AMANDA=m
-CONFIG_NF_NAT_FTP=m
-CONFIG_NF_NAT_IRC=m
-CONFIG_NF_NAT_SIP=m
-CONFIG_NF_NAT_TFTP=m
 CONFIG_NF_NAT_REDIRECT=y
 CONFIG_NF_NAT_MASQUERADE=y
+CONFIG_NF_NAT_OVS=y
 CONFIG_NETFILTER_SYNPROXY=m
 CONFIG_NF_TABLES=m
-CONFIG_NF_TABLES_SET=m
 CONFIG_NF_TABLES_INET=y
 CONFIG_NF_TABLES_NETDEV=y
 CONFIG_NFT_NUMGEN=m
 CONFIG_NFT_CT=m
 CONFIG_NFT_FLOW_OFFLOAD=m
-CONFIG_NFT_COUNTER=m
 CONFIG_NFT_CONNLIMIT=m
 CONFIG_NFT_LOG=m
 CONFIG_NFT_LIMIT=m
@@ -717,12 +996,10 @@ CONFIG_NFT_MASQ=m
 CONFIG_NFT_REDIR=m
 CONFIG_NFT_NAT=m
 CONFIG_NFT_TUNNEL=m
-CONFIG_NFT_OBJREF=m
 CONFIG_NFT_QUEUE=m
 CONFIG_NFT_QUOTA=m
 CONFIG_NFT_REJECT=m
 CONFIG_NFT_REJECT_INET=m
-# CONFIG_NFT_COMPAT is not set
 CONFIG_NFT_HASH=m
 CONFIG_NFT_FIB=m
 CONFIG_NFT_FIB_INET=m
@@ -735,88 +1012,11 @@ CONFIG_NF_DUP_NETDEV=m
 CONFIG_NFT_DUP_NETDEV=m
 CONFIG_NFT_FWD_NETDEV=m
 CONFIG_NFT_FIB_NETDEV=m
+# CONFIG_NFT_REJECT_NETDEV is not set
 CONFIG_NF_FLOW_TABLE_INET=m
 CONFIG_NF_FLOW_TABLE=m
-CONFIG_NETFILTER_XTABLES=y
-
-#
-# Xtables combined modules
-#
-CONFIG_NETFILTER_XT_MARK=m
-CONFIG_NETFILTER_XT_CONNMARK=m
-CONFIG_NETFILTER_XT_SET=m
-
-#
-# Xtables targets
-#
-CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
-CONFIG_NETFILTER_XT_TARGET_CONNMARK=m
-CONFIG_NETFILTER_XT_TARGET_CONNSECMARK=m
-CONFIG_NETFILTER_XT_TARGET_HMARK=m
-CONFIG_NETFILTER_XT_TARGET_IDLETIMER=m
-CONFIG_NETFILTER_XT_TARGET_LED=m
-CONFIG_NETFILTER_XT_TARGET_LOG=m
-CONFIG_NETFILTER_XT_TARGET_MARK=m
-CONFIG_NETFILTER_XT_NAT=m
-CONFIG_NETFILTER_XT_TARGET_NETMAP=m
-CONFIG_NETFILTER_XT_TARGET_NFLOG=m
-CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
-CONFIG_NETFILTER_XT_TARGET_RATEEST=m
-CONFIG_NETFILTER_XT_TARGET_REDIRECT=m
-CONFIG_NETFILTER_XT_TARGET_MASQUERADE=m
-CONFIG_NETFILTER_XT_TARGET_TEE=m
-CONFIG_NETFILTER_XT_TARGET_SECMARK=m
-CONFIG_NETFILTER_XT_TARGET_TCPMSS=m
-
-#
-# Xtables matches
-#
-CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=m
-CONFIG_NETFILTER_XT_MATCH_BPF=m
-CONFIG_NETFILTER_XT_MATCH_CGROUP=m
-CONFIG_NETFILTER_XT_MATCH_CLUSTER=m
-CONFIG_NETFILTER_XT_MATCH_COMMENT=m
-CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m
-CONFIG_NETFILTER_XT_MATCH_CONNLABEL=m
-CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m
-CONFIG_NETFILTER_XT_MATCH_CONNMARK=m
-CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
-CONFIG_NETFILTER_XT_MATCH_CPU=m
-CONFIG_NETFILTER_XT_MATCH_DCCP=m
-CONFIG_NETFILTER_XT_MATCH_DEVGROUP=m
-CONFIG_NETFILTER_XT_MATCH_DSCP=m
-CONFIG_NETFILTER_XT_MATCH_ECN=m
-CONFIG_NETFILTER_XT_MATCH_ESP=m
-CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m
-CONFIG_NETFILTER_XT_MATCH_HELPER=m
-CONFIG_NETFILTER_XT_MATCH_HL=m
-CONFIG_NETFILTER_XT_MATCH_IPCOMP=m
-CONFIG_NETFILTER_XT_MATCH_IPRANGE=m
-# CONFIG_NETFILTER_XT_MATCH_IPVS is not set
-CONFIG_NETFILTER_XT_MATCH_L2TP=m
-CONFIG_NETFILTER_XT_MATCH_LENGTH=m
-CONFIG_NETFILTER_XT_MATCH_LIMIT=m
-CONFIG_NETFILTER_XT_MATCH_MAC=m
-CONFIG_NETFILTER_XT_MATCH_MARK=m
-CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
-CONFIG_NETFILTER_XT_MATCH_NFACCT=m
-CONFIG_NETFILTER_XT_MATCH_OSF=m
-CONFIG_NETFILTER_XT_MATCH_OWNER=m
-CONFIG_NETFILTER_XT_MATCH_POLICY=m
-CONFIG_NETFILTER_XT_MATCH_PHYSDEV=m
-CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
-CONFIG_NETFILTER_XT_MATCH_QUOTA=m
-CONFIG_NETFILTER_XT_MATCH_RATEEST=m
-CONFIG_NETFILTER_XT_MATCH_REALM=m
-CONFIG_NETFILTER_XT_MATCH_RECENT=m
-CONFIG_NETFILTER_XT_MATCH_SCTP=m
-CONFIG_NETFILTER_XT_MATCH_SOCKET=m
-CONFIG_NETFILTER_XT_MATCH_STATE=m
-CONFIG_NETFILTER_XT_MATCH_STATISTIC=m
-CONFIG_NETFILTER_XT_MATCH_STRING=m
-CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
-CONFIG_NETFILTER_XT_MATCH_TIME=m
-CONFIG_NETFILTER_XT_MATCH_U32=m
+# CONFIG_NF_FLOW_TABLE_PROCFS is not set
+# CONFIG_NETFILTER_XTABLES is not set
 # end of Core Netfilter Configuration
 
 CONFIG_IP_SET=m
@@ -868,6 +1068,7 @@ CONFIG_IP_VS_SH=m
 CONFIG_IP_VS_MH=m
 CONFIG_IP_VS_SED=m
 CONFIG_IP_VS_NQ=m
+# CONFIG_IP_VS_TWOS is not set
 
 #
 # IPVS SH scheduler
@@ -882,9 +1083,7 @@ CONFIG_IP_VS_MH_TAB_INDEX=12
 #
 # IPVS application helper
 #
-CONFIG_IP_VS_FTP=m
 CONFIG_IP_VS_NFCT=y
-CONFIG_IP_VS_PE_SIP=m
 
 #
 # IP: Netfilter Configuration
@@ -897,18 +1096,12 @@ CONFIG_NFT_REJECT_IPV4=m
 CONFIG_NFT_DUP_IPV4=m
 CONFIG_NFT_FIB_IPV4=m
 CONFIG_NF_TABLES_ARP=y
-CONFIG_NF_FLOW_TABLE_IPV4=m
 CONFIG_NF_DUP_IPV4=m
 CONFIG_NF_LOG_ARP=m
 CONFIG_NF_LOG_IPV4=m
 CONFIG_NF_REJECT_IPV4=m
-CONFIG_NF_NAT_SNMP_BASIC=m
-CONFIG_NF_NAT_PPTP=m
-CONFIG_NF_NAT_H323=m
 # CONFIG_IP_NF_IPTABLES is not set
-CONFIG_IP_NF_ARPTABLES=m
-CONFIG_IP_NF_ARPFILTER=m
-CONFIG_IP_NF_ARP_MANGLE=m
+# CONFIG_IP_NF_ARPTABLES is not set
 # end of IP: Netfilter Configuration
 
 #
@@ -920,7 +1113,6 @@ CONFIG_NF_TABLES_IPV6=y
 CONFIG_NFT_REJECT_IPV6=m
 CONFIG_NFT_DUP_IPV6=m
 CONFIG_NFT_FIB_IPV6=m
-CONFIG_NF_FLOW_TABLE_IPV6=m
 CONFIG_NF_DUP_IPV6=m
 CONFIG_NF_REJECT_IPV6=m
 CONFIG_NF_LOG_IPV6=m
@@ -931,9 +1123,7 @@ CONFIG_NF_DEFRAG_IPV6=y
 CONFIG_NF_TABLES_BRIDGE=m
 CONFIG_NFT_BRIDGE_META=m
 CONFIG_NFT_BRIDGE_REJECT=m
-CONFIG_NF_LOG_BRIDGE=m
 CONFIG_NF_CONNTRACK_BRIDGE=m
-# CONFIG_BRIDGE_NF_EBTABLES is not set
 CONFIG_BPFILTER=y
 CONFIG_BPFILTER_UMH=m
 # CONFIG_IP_DCCP is not set
@@ -958,27 +1148,35 @@ CONFIG_STP=y
 CONFIG_BRIDGE=y
 CONFIG_BRIDGE_IGMP_SNOOPING=y
 CONFIG_BRIDGE_VLAN_FILTERING=y
-CONFIG_HAVE_NET_DSA=y
+# CONFIG_BRIDGE_MRP is not set
+# CONFIG_BRIDGE_CFM is not set
 CONFIG_NET_DSA=y
-CONFIG_NET_DSA_TAG_8021Q=y
+CONFIG_NET_DSA_TAG_NONE=m
+CONFIG_NET_DSA_TAG_AR9331=m
 CONFIG_NET_DSA_TAG_BRCM_COMMON=y
 CONFIG_NET_DSA_TAG_BRCM=y
+CONFIG_NET_DSA_TAG_BRCM_LEGACY=m
 CONFIG_NET_DSA_TAG_BRCM_PREPEND=y
+CONFIG_NET_DSA_TAG_HELLCREEK=m
 CONFIG_NET_DSA_TAG_GSWIP=y
+CONFIG_NET_DSA_TAG_DSA_COMMON=y
 CONFIG_NET_DSA_TAG_DSA=y
 CONFIG_NET_DSA_TAG_EDSA=y
 CONFIG_NET_DSA_TAG_MTK=y
-CONFIG_NET_DSA_TAG_KSZ_COMMON=y
 CONFIG_NET_DSA_TAG_KSZ=y
-CONFIG_NET_DSA_TAG_KSZ9477=y
+CONFIG_NET_DSA_TAG_OCELOT=m
+CONFIG_NET_DSA_TAG_OCELOT_8021Q=m
 CONFIG_NET_DSA_TAG_QCA=y
+# CONFIG_NET_DSA_TAG_RTL4_A is not set
+# CONFIG_NET_DSA_TAG_RTL8_4 is not set
+# CONFIG_NET_DSA_TAG_RZN1_A5PSW is not set
 CONFIG_NET_DSA_TAG_LAN9303=y
 CONFIG_NET_DSA_TAG_SJA1105=y
 CONFIG_NET_DSA_TAG_TRAILER=y
+CONFIG_NET_DSA_TAG_XRS700X=m
 CONFIG_VLAN_8021Q=y
 # CONFIG_VLAN_8021Q_GVRP is not set
 # CONFIG_VLAN_8021Q_MVRP is not set
-# CONFIG_DECNET is not set
 CONFIG_LLC=y
 # CONFIG_LLC2 is not set
 # CONFIG_ATALK is not set
@@ -992,10 +1190,8 @@ CONFIG_NET_SCHED=y
 #
 # Queueing/Scheduling
 #
-CONFIG_NET_SCH_CBQ=m
 CONFIG_NET_SCH_HTB=m
 CONFIG_NET_SCH_HFSC=m
-CONFIG_NET_SCH_ATM=m
 CONFIG_NET_SCH_PRIO=m
 CONFIG_NET_SCH_MULTIQ=m
 CONFIG_NET_SCH_RED=m
@@ -1005,9 +1201,9 @@ CONFIG_NET_SCH_TEQL=m
 CONFIG_NET_SCH_TBF=m
 CONFIG_NET_SCH_CBS=m
 CONFIG_NET_SCH_ETF=m
+CONFIG_NET_SCH_MQPRIO_LIB=m
 CONFIG_NET_SCH_TAPRIO=m
 CONFIG_NET_SCH_GRED=m
-CONFIG_NET_SCH_DSMARK=m
 CONFIG_NET_SCH_NETEM=m
 CONFIG_NET_SCH_DRR=m
 CONFIG_NET_SCH_MQPRIO=m
@@ -1020,8 +1216,10 @@ CONFIG_NET_SCH_CAKE=m
 CONFIG_NET_SCH_FQ=m
 CONFIG_NET_SCH_HHF=m
 CONFIG_NET_SCH_PIE=m
+# CONFIG_NET_SCH_FQ_PIE is not set
 CONFIG_NET_SCH_INGRESS=m
 CONFIG_NET_SCH_PLUG=m
+# CONFIG_NET_SCH_ETS is not set
 # CONFIG_NET_SCH_DEFAULT is not set
 
 #
@@ -1029,14 +1227,11 @@ CONFIG_NET_SCH_PLUG=m
 #
 CONFIG_NET_CLS=y
 CONFIG_NET_CLS_BASIC=m
-CONFIG_NET_CLS_TCINDEX=m
 CONFIG_NET_CLS_ROUTE4=m
 CONFIG_NET_CLS_FW=m
 CONFIG_NET_CLS_U32=m
 CONFIG_CLS_U32_PERF=y
 CONFIG_CLS_U32_MARK=y
-CONFIG_NET_CLS_RSVP=m
-CONFIG_NET_CLS_RSVP6=m
 CONFIG_NET_CLS_FLOW=m
 CONFIG_NET_CLS_CGROUP=m
 CONFIG_NET_CLS_BPF=m
@@ -1050,7 +1245,6 @@ CONFIG_NET_EMATCH_U32=m
 CONFIG_NET_EMATCH_META=m
 CONFIG_NET_EMATCH_TEXT=m
 CONFIG_NET_EMATCH_IPSET=m
-CONFIG_NET_EMATCH_IPT=m
 CONFIG_NET_CLS_ACT=y
 CONFIG_NET_ACT_POLICE=m
 CONFIG_NET_ACT_GACT=m
@@ -1065,13 +1259,17 @@ CONFIG_NET_ACT_CSUM=m
 CONFIG_NET_ACT_MPLS=m
 CONFIG_NET_ACT_VLAN=m
 CONFIG_NET_ACT_BPF=m
+# CONFIG_NET_ACT_CONNMARK is not set
+# CONFIG_NET_ACT_CTINFO is not set
 CONFIG_NET_ACT_SKBMOD=m
 CONFIG_NET_ACT_IFE=m
 CONFIG_NET_ACT_TUNNEL_KEY=m
 CONFIG_NET_ACT_CT=m
+# CONFIG_NET_ACT_GATE is not set
 CONFIG_NET_IFE_SKBMARK=m
 CONFIG_NET_IFE_SKBPRIO=m
 CONFIG_NET_IFE_SKBTCINDEX=m
+# CONFIG_NET_TC_SKB_EXT is not set
 CONFIG_NET_SCH_FIFO=y
 # CONFIG_DCB is not set
 CONFIG_DNS_RESOLVER=y
@@ -1079,8 +1277,11 @@ CONFIG_DNS_RESOLVER=y
 # CONFIG_OPENVSWITCH is not set
 CONFIG_VSOCKETS=m
 CONFIG_VSOCKETS_DIAG=m
+CONFIG_VSOCKETS_LOOPBACK=m
+CONFIG_VMWARE_VMCI_VSOCKETS=m
 CONFIG_VIRTIO_VSOCKETS=m
 CONFIG_VIRTIO_VSOCKETS_COMMON=m
+# CONFIG_HYPERV_VSOCKETS is not set
 CONFIG_NETLINK_DIAG=m
 CONFIG_MPLS=y
 CONFIG_NET_MPLS_GSO=m
@@ -1090,15 +1291,21 @@ CONFIG_MPLS_IPTUNNEL=m
 # CONFIG_HSR is not set
 CONFIG_NET_SWITCHDEV=y
 CONFIG_NET_L3_MASTER_DEV=y
+CONFIG_QRTR=m
+# CONFIG_QRTR_SMD is not set
+# CONFIG_QRTR_TUN is not set
+CONFIG_QRTR_MHI=m
 # CONFIG_NET_NCSI is not set
+CONFIG_PCPU_DEV_REFCNT=y
+CONFIG_MAX_SKB_FRAGS=17
 CONFIG_RPS=y
 CONFIG_RFS_ACCEL=y
+CONFIG_SOCK_RX_QUEUE_MAPPING=y
 CONFIG_XPS=y
 CONFIG_CGROUP_NET_PRIO=y
 CONFIG_CGROUP_NET_CLASSID=y
 CONFIG_NET_RX_BUSY_POLL=y
 CONFIG_BQL=y
-CONFIG_BPF_JIT=y
 CONFIG_BPF_STREAM_PARSER=y
 CONFIG_NET_FLOW_LIMIT=y
 
@@ -1116,6 +1323,7 @@ CONFIG_NET_FLOW_LIMIT=y
 # CONFIG_AF_RXRPC is not set
 # CONFIG_AF_KCM is not set
 CONFIG_STREAM_PARSER=y
+# CONFIG_MCTP is not set
 CONFIG_FIB_RULES=y
 CONFIG_WIRELESS=y
 CONFIG_WIRELESS_EXT=y
@@ -1153,10 +1361,10 @@ CONFIG_MAC80211_LEDS=y
 # CONFIG_MAC80211_MESSAGE_TRACING is not set
 # CONFIG_MAC80211_DEBUG_MENU is not set
 CONFIG_MAC80211_STA_HASH_MAX_SIZE=0
-# CONFIG_WIMAX is not set
 CONFIG_RFKILL=m
 CONFIG_RFKILL_LEDS=y
 CONFIG_RFKILL_INPUT=y
+CONFIG_RFKILL_GPIO=m
 # CONFIG_NET_9P is not set
 # CONFIG_CAIF is not set
 # CONFIG_CEPH_LIB is not set
@@ -1168,11 +1376,13 @@ CONFIG_LWTUNNEL_BPF=y
 CONFIG_DST_CACHE=y
 CONFIG_GRO_CELLS=y
 CONFIG_SOCK_VALIDATE_XMIT=y
+CONFIG_NET_SELFTESTS=y
 CONFIG_NET_SOCK_MSG=y
 CONFIG_NET_DEVLINK=y
 CONFIG_PAGE_POOL=y
+CONFIG_PAGE_POOL_STATS=y
 CONFIG_FAILOVER=m
-CONFIG_HAVE_EBPF_JIT=y
+CONFIG_ETHTOOL_NETLINK=y
 
 #
 # Device Drivers
@@ -1183,8 +1393,9 @@ CONFIG_PCI_DOMAINS=y
 CONFIG_PCIEPORTBUS=y
 CONFIG_HOTPLUG_PCI_PCIE=y
 CONFIG_PCIEAER=y
+CONFIG_PCIEAER_INJECT=m
+CONFIG_PCIE_ECRC=y
 CONFIG_PCIEASPM=y
-# CONFIG_PCIEASPM_DEBUG is not set
 CONFIG_PCIEASPM_DEFAULT=y
 # CONFIG_PCIEASPM_POWERSAVE is not set
 # CONFIG_PCIEASPM_POWER_SUPERSAVE is not set
@@ -1192,40 +1403,67 @@ CONFIG_PCIEASPM_DEFAULT=y
 CONFIG_PCIE_PME=y
 # CONFIG_PCIE_DPC is not set
 # CONFIG_PCIE_PTM is not set
-# CONFIG_PCIE_BW is not set
 CONFIG_PCI_MSI=y
-CONFIG_PCI_MSI_IRQ_DOMAIN=y
 CONFIG_PCI_QUIRKS=y
 # CONFIG_PCI_DEBUG is not set
+# CONFIG_PCI_REALLOC_ENABLE_AUTO is not set
+CONFIG_PCI_STUB=y
+# CONFIG_PCI_PF_STUB is not set
+CONFIG_PCI_ATS=y
 CONFIG_PCI_ECAM=y
+CONFIG_PCI_IOV=y
+CONFIG_PCI_PRI=y
+CONFIG_PCI_PASID=y
+CONFIG_PCI_LABEL=y
+CONFIG_PCI_HYPERV=m
+CONFIG_PCI_DYNAMIC_OF_NODES=y
+# CONFIG_PCIE_BUS_TUNE_OFF is not set
+CONFIG_PCIE_BUS_DEFAULT=y
+# CONFIG_PCIE_BUS_SAFE is not set
+# CONFIG_PCIE_BUS_PERFORMANCE is not set
+# CONFIG_PCIE_BUS_PEER2PEER is not set
+CONFIG_VGA_ARB=y
+CONFIG_VGA_ARB_MAX_GPUS=16
 CONFIG_HOTPLUG_PCI=y
+CONFIG_HOTPLUG_PCI_ACPI=y
 # CONFIG_HOTPLUG_PCI_CPCI is not set
 CONFIG_HOTPLUG_PCI_SHPC=y
 
 #
 # PCI controller drivers
 #
+CONFIG_PCI_FTPCI100=y
+CONFIG_PCI_HOST_COMMON=y
+CONFIG_PCI_HOST_GENERIC=y
+CONFIG_PCIE_MICROCHIP_HOST=y
+CONFIG_PCI_HYPERV_INTERFACE=m
+CONFIG_PCIE_XILINX=y
 
 #
-# Cadence PCIe controllers support
+# Cadence-based PCIe controllers
 #
 CONFIG_PCIE_CADENCE=y
 CONFIG_PCIE_CADENCE_HOST=y
-# end of Cadence PCIe controllers support
-
-CONFIG_PCI_HOST_COMMON=y
-CONFIG_PCI_HOST_GENERIC=y
-CONFIG_PCIE_XILINX=y
+CONFIG_PCIE_CADENCE_PLAT=y
+CONFIG_PCIE_CADENCE_PLAT_HOST=y
+CONFIG_PCI_J721E=y
+CONFIG_PCI_J721E_HOST=y
+# end of Cadence-based PCIe controllers
 
 #
-# DesignWare PCI Core Support
+# DesignWare-based PCIe controllers
 #
 CONFIG_PCIE_DW=y
 CONFIG_PCIE_DW_HOST=y
+CONFIG_PCI_MESON=m
 CONFIG_PCIE_DW_PLAT=y
 CONFIG_PCIE_DW_PLAT_HOST=y
-CONFIG_PCI_MESON=y
-# end of DesignWare PCI Core Support
+# end of DesignWare-based PCIe controllers
+
+#
+# Mobiveil-based PCIe controllers
+#
+# end of Mobiveil-based PCIe controllers
 # end of PCI controller drivers
 
 #
@@ -1237,21 +1475,21 @@ CONFIG_PCI_MESON=y
 #
 # PCI switch controller drivers
 #
-# CONFIG_PCI_SW_SWITCHTEC is not set
+CONFIG_PCI_SW_SWITCHTEC=m
 # end of PCI switch controller drivers
 
-
-#
-# PC-card bridges
-#
+# CONFIG_CXL_BUS is not set
+# CONFIG_PCCARD is not set
 # CONFIG_RAPIDIO is not set
 
 #
 # Generic Driver Options
 #
+CONFIG_AUXILIARY_BUS=y
 # CONFIG_UEVENT_HELPER is not set
 CONFIG_DEVTMPFS=y
 CONFIG_DEVTMPFS_MOUNT=y
+CONFIG_DEVTMPFS_SAFE=y
 CONFIG_STANDALONE=y
 CONFIG_PREVENT_FIRMWARE_BUILD=y
 
@@ -1260,9 +1498,14 @@ CONFIG_PREVENT_FIRMWARE_BUILD=y
 #
 CONFIG_FW_LOADER=y
 CONFIG_FW_LOADER_PAGED_BUF=y
+CONFIG_FW_LOADER_SYSFS=y
 CONFIG_EXTRA_FIRMWARE=""
 CONFIG_FW_LOADER_USER_HELPER=y
+# CONFIG_FW_LOADER_USER_HELPER_FALLBACK is not set
 CONFIG_FW_LOADER_COMPRESS=y
+CONFIG_FW_LOADER_COMPRESS_XZ=y
+CONFIG_FW_LOADER_COMPRESS_ZSTD=y
+# CONFIG_FW_UPLOAD is not set
 # end of Firmware loader
 
 CONFIG_WANT_DEV_COREDUMP=y
@@ -1273,59 +1516,116 @@ CONFIG_WANT_DEV_COREDUMP=y
 # CONFIG_TEST_ASYNC_DRIVER_PROBE is not set
 CONFIG_SYS_HYPERVISOR=y
 CONFIG_GENERIC_CPU_AUTOPROBE=y
+CONFIG_GENERIC_CPU_VULNERABILITIES=y
+CONFIG_SOC_BUS=y
 CONFIG_REGMAP=y
 CONFIG_REGMAP_I2C=y
 CONFIG_REGMAP_MMIO=y
 CONFIG_REGMAP_IRQ=y
-CONFIG_REGMAP_SCCB=m
 CONFIG_DMA_SHARED_BUFFER=y
 # CONFIG_DMA_FENCE_TRACE is not set
+# CONFIG_FW_DEVLINK_SYNC_STATE_TIMEOUT is not set
 # end of Generic Driver Options
 
 #
 # Bus devices
 #
-# CONFIG_SIMPLE_PM_BUS is not set
+CONFIG_MHI_BUS=m
+# CONFIG_MHI_BUS_DEBUG is not set
+# CONFIG_MHI_BUS_PCI_GENERIC is not set
+# CONFIG_MHI_BUS_EP is not set
 # end of Bus devices
 
+#
+# Cache Drivers
+#
+# end of Cache Drivers
+
 CONFIG_CONNECTOR=y
 CONFIG_PROC_EVENTS=y
+
+#
+# Firmware Drivers
+#
+
+#
+# ARM System Control and Management Interface Protocol
+#
+# end of ARM System Control and Management Interface Protocol
+
+CONFIG_FIRMWARE_MEMMAP=y
+CONFIG_DMIID=y
+CONFIG_DMI_SYSFS=y
+CONFIG_FW_CFG_SYSFS=m
+# CONFIG_FW_CFG_SYSFS_CMDLINE is not set
+CONFIG_SYSFB=y
+CONFIG_SYSFB_SIMPLEFB=y
+# CONFIG_GOOGLE_FIRMWARE is not set
+
+#
+# EFI (Extensible Firmware Interface) Support
+#
+CONFIG_EFI_ESRT=y
+CONFIG_EFI_VARS_PSTORE=y
+# CONFIG_EFI_VARS_PSTORE_DEFAULT_DISABLE is not set
+CONFIG_EFI_RUNTIME_WRAPPERS=y
+# CONFIG_EFI_BOOTLOADER_CONTROL is not set
+# CONFIG_EFI_CAPSULE_LOADER is not set
+# CONFIG_EFI_TEST is not set
+CONFIG_RESET_ATTACK_MITIGATION=y
+# CONFIG_EFI_DISABLE_PCI_DMA is not set
+CONFIG_EFI_EARLYCON=y
+CONFIG_EFI_CUSTOM_SSDT_OVERLAYS=y
+# CONFIG_EFI_DISABLE_RUNTIME is not set
+# CONFIG_EFI_COCO_SECRET is not set
+# end of EFI (Extensible Firmware Interface) Support
+
+CONFIG_UEFI_CPER=y
+
+#
+# Tegra firmware driver
+#
+# end of Tegra firmware driver
+# end of Firmware Drivers
+
 # CONFIG_GNSS is not set
 # CONFIG_MTD is not set
 CONFIG_DTC=y
 CONFIG_OF=y
 # CONFIG_OF_UNITTEST is not set
 CONFIG_OF_FLATTREE=y
+CONFIG_OF_EARLY_FLATTREE=y
 CONFIG_OF_KOBJ=y
 CONFIG_OF_DYNAMIC=y
 CONFIG_OF_ADDRESS=y
 CONFIG_OF_IRQ=y
-CONFIG_OF_NET=y
-CONFIG_OF_MDIO=y
+CONFIG_OF_RESERVED_MEM=y
 CONFIG_OF_RESOLVE=y
 CONFIG_OF_OVERLAY=y
 # CONFIG_PARPORT is not set
+CONFIG_PNP=y
+# CONFIG_PNP_DEBUG_MESSAGES is not set
 
 #
 # Protocols
 #
+CONFIG_PNPACPI=y
 CONFIG_BLK_DEV=y
 # CONFIG_BLK_DEV_NULL_BLK is not set
-CONFIG_CDROM=y
+CONFIG_CDROM=m
+# CONFIG_ZRAM is not set
 CONFIG_BLK_DEV_LOOP=y
 CONFIG_BLK_DEV_LOOP_MIN_COUNT=8
-CONFIG_BLK_DEV_CRYPTOLOOP=m
 # CONFIG_BLK_DEV_DRBD is not set
 # CONFIG_BLK_DEV_NBD is not set
-CONFIG_BLK_DEV_RAM=y
-CONFIG_BLK_DEV_RAM_COUNT=16
+# CONFIG_BLK_DEV_RAM is not set
 # CONFIG_CDROM_PKTCDVD is not set
 # CONFIG_ATA_OVER_ETH is not set
 CONFIG_XEN_BLKDEV_FRONTEND=m
 CONFIG_XEN_BLKDEV_BACKEND=m
 CONFIG_VIRTIO_BLK=m
-CONFIG_VIRTIO_BLK_SCSI=y
 # CONFIG_BLK_DEV_RBD is not set
+# CONFIG_BLK_DEV_UBLK is not set
 
 #
 # NVME Support
@@ -1333,14 +1633,19 @@ CONFIG_VIRTIO_BLK_SCSI=y
 CONFIG_NVME_CORE=y
 CONFIG_BLK_DEV_NVME=y
 CONFIG_NVME_MULTIPATH=y
+# CONFIG_NVME_VERBOSE_ERRORS is not set
+# CONFIG_NVME_HWMON is not set
 CONFIG_NVME_FABRICS=m
 CONFIG_NVME_FC=m
 CONFIG_NVME_TCP=m
+# CONFIG_NVME_AUTH is not set
 CONFIG_NVME_TARGET=m
+# CONFIG_NVME_TARGET_PASSTHRU is not set
 CONFIG_NVME_TARGET_LOOP=m
 CONFIG_NVME_TARGET_FC=m
 CONFIG_NVME_TARGET_FCLOOP=m
 CONFIG_NVME_TARGET_TCP=m
+# CONFIG_NVME_TARGET_AUTH is not set
 # end of NVME Support
 
 #
@@ -1353,6 +1658,10 @@ CONFIG_TIFM_CORE=m
 CONFIG_TIFM_7XX1=m
 CONFIG_ICS932S401=m
 CONFIG_ENCLOSURE_SERVICES=m
+CONFIG_SMPRO_ERRMON=m
+CONFIG_SMPRO_MISC=m
+# CONFIG_HI6421V600_IRQ is not set
+CONFIG_HP_ILO=m
 # CONFIG_APDS9802ALS is not set
 # CONFIG_ISL29003 is not set
 # CONFIG_ISL29020 is not set
@@ -1361,9 +1670,16 @@ CONFIG_ENCLOSURE_SERVICES=m
 # CONFIG_SENSORS_APDS990X is not set
 # CONFIG_HMC6352 is not set
 # CONFIG_DS1682 is not set
+CONFIG_SRAM=y
+# CONFIG_DW_XDATA_PCIE is not set
 # CONFIG_PCI_ENDPOINT_TEST is not set
 # CONFIG_XILINX_SDFEC is not set
 CONFIG_MISC_RTSX=m
+# CONFIG_HISI_HIKEY_USB is not set
+# CONFIG_OPEN_DICE is not set
+# CONFIG_VCPU_STALL_DETECTOR is not set
+CONFIG_TPS6594_ESM=m
+CONFIG_TPS6594_PFSM=m
 # CONFIG_C2PORT is not set
 
 #
@@ -1389,71 +1705,37 @@ CONFIG_TI_ST=m
 
 # CONFIG_SENSORS_LIS3_I2C is not set
 CONFIG_ALTERA_STAPL=m
-
-#
-# Intel MIC & related support
-#
-
-#
-# Intel MIC Bus Driver
-#
-
-#
-# SCIF Bus Driver
-#
-
-#
-# VOP Bus Driver
-#
-# CONFIG_VOP_BUS is not set
-
-#
-# Intel MIC Host Driver
-#
-
-#
-# Intel MIC Card Driver
-#
-
-#
-# SCIF Driver
-#
-
-#
-# Intel MIC Coprocessor State Management (COSM) Drivers
-#
-
-#
-# VOP Driver
-#
-# end of Intel MIC & related support
-
+CONFIG_VMWARE_VMCI=m
+# CONFIG_GENWQE is not set
 # CONFIG_ECHO is not set
+# CONFIG_BCM_VK is not set
 CONFIG_MISC_ALCOR_PCI=m
 # CONFIG_MISC_RTSX_PCI is not set
 CONFIG_MISC_RTSX_USB=m
-# CONFIG_HABANA_AI is not set
+# CONFIG_UACCE is not set
+# CONFIG_PVPANIC is not set
+# CONFIG_GP_PCI1XXXX is not set
 # end of Misc devices
 
-
 #
 # SCSI device support
 #
-CONFIG_SCSI_MOD=y
+CONFIG_SCSI_MOD=m
 CONFIG_RAID_ATTRS=m
-CONFIG_SCSI=y
+CONFIG_SCSI_COMMON=m
+CONFIG_SCSI=m
 CONFIG_SCSI_DMA=y
 CONFIG_SCSI_NETLINK=y
-CONFIG_SCSI_PROC_FS=y
+# CONFIG_SCSI_PROC_FS is not set
 
 #
 # SCSI support type (disk, tape, CD-ROM)
 #
-CONFIG_BLK_DEV_SD=y
+CONFIG_BLK_DEV_SD=m
 CONFIG_CHR_DEV_ST=m
-CONFIG_BLK_DEV_SR=y
-CONFIG_BLK_DEV_SR_VENDOR=y
-CONFIG_CHR_DEV_SG=y
+CONFIG_BLK_DEV_SR=m
+CONFIG_CHR_DEV_SG=m
+CONFIG_BLK_DEV_BSG=y
 CONFIG_CHR_DEV_SCH=m
 CONFIG_SCSI_ENCLOSURE=m
 CONFIG_SCSI_CONSTANTS=y
@@ -1501,7 +1783,7 @@ CONFIG_SCSI_AIC94XX=m
 # CONFIG_AIC94XX_DEBUG is not set
 CONFIG_SCSI_MVSAS=m
 # CONFIG_SCSI_MVSAS_DEBUG is not set
-# CONFIG_SCSI_MVUMI is not set
+CONFIG_SCSI_MVUMI=m
 CONFIG_SCSI_ARCMSR=m
 CONFIG_SCSI_ESAS2R=m
 CONFIG_MEGARAID_LEGACY=m
@@ -1510,26 +1792,21 @@ CONFIG_SCSI_MPT3SAS=m
 CONFIG_SCSI_MPT2SAS_MAX_SGE=128
 CONFIG_SCSI_MPT3SAS_MAX_SGE=128
 CONFIG_SCSI_MPT2SAS=m
+CONFIG_SCSI_MPI3MR=m
 CONFIG_SCSI_SMARTPQI=m
-CONFIG_SCSI_UFSHCD=m
-CONFIG_SCSI_UFSHCD_PCI=m
-CONFIG_SCSI_UFS_DWC_TC_PCI=m
-CONFIG_SCSI_UFSHCD_PLATFORM=m
-CONFIG_SCSI_UFS_CDNS_PLATFORM=m
-CONFIG_SCSI_UFS_DWC_TC_PLATFORM=m
-# CONFIG_SCSI_UFS_BSG is not set
 CONFIG_SCSI_HPTIOP=m
 CONFIG_SCSI_MYRB=m
 CONFIG_SCSI_MYRS=m
 CONFIG_XEN_SCSI_FRONTEND=m
+CONFIG_HYPERV_STORAGE=m
 CONFIG_LIBFC=m
 CONFIG_LIBFCOE=m
 CONFIG_FCOE=m
-# CONFIG_SCSI_SNIC is not set
+CONFIG_SCSI_SNIC=m
+# CONFIG_SCSI_SNIC_DEBUG_FS is not set
 CONFIG_SCSI_DMX3191D=m
 CONFIG_SCSI_FDOMAIN=m
 CONFIG_SCSI_FDOMAIN_PCI=m
-CONFIG_SCSI_GDTH=m
 CONFIG_SCSI_IPS=m
 CONFIG_SCSI_INITIO=m
 CONFIG_SCSI_INIA100=m
@@ -1565,8 +1842,12 @@ CONFIG_SCSI_DH_EMC=m
 CONFIG_SCSI_DH_ALUA=m
 # end of SCSI device support
 
-CONFIG_ATA=y
+CONFIG_ATA=m
+CONFIG_SATA_HOST=y
+CONFIG_PATA_TIMINGS=y
 CONFIG_ATA_VERBOSE_ERROR=y
+CONFIG_ATA_FORCE=y
+CONFIG_ATA_ACPI=y
 CONFIG_SATA_PMP=y
 
 #
@@ -1575,8 +1856,8 @@ CONFIG_SATA_PMP=y
 CONFIG_SATA_AHCI=m
 CONFIG_SATA_MOBILE_LPM_POLICY=0
 CONFIG_SATA_AHCI_PLATFORM=m
+CONFIG_AHCI_DWC=m
 CONFIG_AHCI_CEVA=m
-CONFIG_AHCI_QORIQ=m
 CONFIG_SATA_INIC162X=m
 CONFIG_SATA_ACARD_AHCI=m
 CONFIG_SATA_SIL24=m
@@ -1596,7 +1877,6 @@ CONFIG_ATA_BMDMA=y
 CONFIG_ATA_PIIX=m
 CONFIG_SATA_DWC=m
 # CONFIG_SATA_DWC_OLD_DMA is not set
-# CONFIG_SATA_DWC_DEBUG is not set
 CONFIG_SATA_MV=m
 CONFIG_SATA_NV=m
 CONFIG_SATA_PROMISE=m
@@ -1653,59 +1933,57 @@ CONFIG_PATA_MPIIX=m
 CONFIG_PATA_NS87410=m
 CONFIG_PATA_OPTI=m
 CONFIG_PATA_PLATFORM=m
+CONFIG_PATA_OF_PLATFORM=m
 CONFIG_PATA_RZ1000=m
 
 #
 # Generic fallback / legacy drivers
 #
+CONFIG_PATA_ACPI=m
 # CONFIG_ATA_GENERIC is not set
 # CONFIG_PATA_LEGACY is not set
 CONFIG_MD=y
 CONFIG_BLK_DEV_MD=y
 CONFIG_MD_AUTODETECT=y
+CONFIG_MD_BITMAP_FILE=y
 CONFIG_MD_LINEAR=m
 CONFIG_MD_RAID0=m
 CONFIG_MD_RAID1=m
 CONFIG_MD_RAID10=m
 CONFIG_MD_RAID456=m
-CONFIG_MD_MULTIPATH=m
-CONFIG_MD_FAULTY=m
-CONFIG_MD_CLUSTER=m
-CONFIG_BCACHE=m
-# CONFIG_BCACHE_DEBUG is not set
-# CONFIG_BCACHE_CLOSURES_DEBUG is not set
+# CONFIG_MD_MULTIPATH is not set
+# CONFIG_MD_FAULTY is not set
+# CONFIG_BCACHE is not set
 CONFIG_BLK_DEV_DM_BUILTIN=y
-CONFIG_BLK_DEV_DM=y
+CONFIG_BLK_DEV_DM=m
 # CONFIG_DM_DEBUG is not set
-CONFIG_DM_BUFIO=y
+CONFIG_DM_BUFIO=m
 # CONFIG_DM_DEBUG_BLOCK_MANAGER_LOCKING is not set
 CONFIG_DM_BIO_PRISON=m
 CONFIG_DM_PERSISTENT_DATA=m
-# CONFIG_DM_UNSTRIPED is not set
+CONFIG_DM_UNSTRIPED=m
 CONFIG_DM_CRYPT=m
-CONFIG_DM_SNAPSHOT=y
+CONFIG_DM_SNAPSHOT=m
 CONFIG_DM_THIN_PROVISIONING=m
 CONFIG_DM_CACHE=m
 CONFIG_DM_CACHE_SMQ=m
 CONFIG_DM_WRITECACHE=m
-CONFIG_DM_ERA=m
-CONFIG_DM_MIRROR=y
+# CONFIG_DM_EBS is not set
+# CONFIG_DM_ERA is not set
+# CONFIG_DM_CLONE is not set
+CONFIG_DM_MIRROR=m
 CONFIG_DM_LOG_USERSPACE=m
 CONFIG_DM_RAID=m
-CONFIG_DM_ZERO=y
-CONFIG_DM_MULTIPATH=m
-CONFIG_DM_MULTIPATH_QL=m
-CONFIG_DM_MULTIPATH_ST=m
+CONFIG_DM_ZERO=m
+# CONFIG_DM_MULTIPATH is not set
 # CONFIG_DM_DELAY is not set
 # CONFIG_DM_DUST is not set
-# CONFIG_DM_INIT is not set
 CONFIG_DM_UEVENT=y
 # CONFIG_DM_FLAKEY is not set
-CONFIG_DM_VERITY=m
-CONFIG_DM_VERITY_FEC=y
-CONFIG_DM_SWITCH=m
+# CONFIG_DM_VERITY is not set
+# CONFIG_DM_SWITCH is not set
 # CONFIG_DM_LOG_WRITES is not set
-CONFIG_DM_INTEGRITY=m
+# CONFIG_DM_INTEGRITY is not set
 # CONFIG_TARGET_CORE is not set
 # CONFIG_FUSION is not set
 
@@ -1720,6 +1998,8 @@ CONFIG_NETDEVICES=y
 CONFIG_NET_CORE=y
 CONFIG_BONDING=m
 CONFIG_DUMMY=m
+CONFIG_WIREGUARD=m
+# CONFIG_WIREGUARD_DEBUG is not set
 # CONFIG_EQUALIZER is not set
 # CONFIG_NET_FC is not set
 CONFIG_IFB=m
@@ -1731,12 +2011,11 @@ CONFIG_IPVLAN=m
 CONFIG_IPVTAP=m
 CONFIG_VXLAN=m
 # CONFIG_GENEVE is not set
+# CONFIG_BAREUDP is not set
 # CONFIG_GTP is not set
-# CONFIG_MACSEC is not set
-CONFIG_NETCONSOLE=m
-CONFIG_NETCONSOLE_DYNAMIC=y
-CONFIG_NETPOLL=y
-CONFIG_NET_POLL_CONTROLLER=y
+# CONFIG_AMT is not set
+CONFIG_MACSEC=m
+# CONFIG_NETCONSOLE is not set
 CONFIG_TUN=m
 CONFIG_TAP=m
 # CONFIG_TUN_VNET_CROSS_LE is not set
@@ -1745,17 +2024,10 @@ CONFIG_VIRTIO_NET=m
 CONFIG_NLMON=m
 CONFIG_NET_VRF=m
 CONFIG_VSOCKMON=m
+# CONFIG_MHI_NET is not set
 CONFIG_SUNGEM_PHY=m
 # CONFIG_ARCNET is not set
-CONFIG_ATM_DRIVERS=y
-# CONFIG_ATM_DUMMY is not set
-CONFIG_ATM_TCP=m
-# CONFIG_ATM_IA is not set
-# CONFIG_ATM_FORE200E is not set
-
-#
-# CAIF transport drivers
-#
+# CONFIG_ATM_DRIVERS is not set
 
 #
 # Distributed Switch Architecture drivers
@@ -1767,16 +2039,29 @@ CONFIG_B53_SRAB_DRIVER=m
 CONFIG_B53_SERDES=m
 CONFIG_NET_DSA_BCM_SF2=m
 CONFIG_NET_DSA_LOOP=m
+CONFIG_NET_DSA_HIRSCHMANN_HELLCREEK=m
 CONFIG_NET_DSA_LANTIQ_GSWIP=m
 CONFIG_NET_DSA_MT7530=m
+CONFIG_NET_DSA_MT7530_MDIO=m
+CONFIG_NET_DSA_MT7530_MMIO=m
 CONFIG_NET_DSA_MV88E6060=m
 CONFIG_NET_DSA_MICROCHIP_KSZ_COMMON=m
-CONFIG_NET_DSA_MICROCHIP_KSZ9477=m
-CONFIG_NET_DSA_MV88E6XXX=y
-CONFIG_NET_DSA_MV88E6XXX_GLOBAL2=y
+CONFIG_NET_DSA_MICROCHIP_KSZ9477_I2C=m
+CONFIG_NET_DSA_MICROCHIP_KSZ_PTP=y
+CONFIG_NET_DSA_MICROCHIP_KSZ8863_SMI=m
+CONFIG_NET_DSA_MV88E6XXX=m
 CONFIG_NET_DSA_MV88E6XXX_PTP=y
+CONFIG_NET_DSA_MSCC_FELIX_DSA_LIB=m
+CONFIG_NET_DSA_MSCC_SEVILLE=m
+CONFIG_NET_DSA_AR9331=m
 CONFIG_NET_DSA_QCA8K=m
-CONFIG_NET_DSA_REALTEK_SMI=m
+CONFIG_NET_DSA_QCA8K_LEDS_SUPPORT=y
+CONFIG_NET_DSA_XRS700X=m
+CONFIG_NET_DSA_XRS700X_I2C=m
+CONFIG_NET_DSA_XRS700X_MDIO=m
+CONFIG_NET_DSA_REALTEK=m
+# CONFIG_NET_DSA_REALTEK_RTL8365MB is not set
+# CONFIG_NET_DSA_REALTEK_RTL8366RB is not set
 CONFIG_NET_DSA_SMSC_LAN9303=m
 CONFIG_NET_DSA_SMSC_LAN9303_I2C=m
 CONFIG_NET_DSA_SMSC_LAN9303_MDIO=m
@@ -1787,6 +2072,7 @@ CONFIG_NET_DSA_VITESSE_VSC73XX_PLATFORM=m
 CONFIG_ETHERNET=y
 CONFIG_MDIO=m
 CONFIG_NET_VENDOR_3COM=y
+CONFIG_VORTEX=m
 CONFIG_TYPHOON=m
 CONFIG_NET_VENDOR_ADAPTEC=y
 CONFIG_ADAPTEC_STARFIRE=m
@@ -1802,16 +2088,18 @@ CONFIG_NET_VENDOR_AMAZON=y
 CONFIG_ENA_ETHERNET=m
 CONFIG_NET_VENDOR_AMD=y
 CONFIG_PCNET32=m
+CONFIG_AMD_XGBE=m
+CONFIG_PDS_CORE=m
 CONFIG_NET_VENDOR_AQUANTIA=y
+CONFIG_AQTION=m
 CONFIG_NET_VENDOR_ARC=y
+CONFIG_NET_VENDOR_ASIX=y
 CONFIG_NET_VENDOR_ATHEROS=y
 CONFIG_ATL2=m
 CONFIG_ATL1=m
 CONFIG_ATL1E=m
 CONFIG_ATL1C=m
 CONFIG_ALX=m
-CONFIG_NET_VENDOR_AURORA=y
-CONFIG_AURORA_NB8800=m
 CONFIG_NET_VENDOR_BROADCOM=y
 CONFIG_B44=m
 CONFIG_B44_PCI_AUTOSELECT=y
@@ -1823,29 +2111,45 @@ CONFIG_CNIC=m
 CONFIG_TIGON3=m
 CONFIG_TIGON3_HWMON=y
 CONFIG_BNX2X=m
+CONFIG_BNX2X_SRIOV=y
 CONFIG_SYSTEMPORT=m
 CONFIG_BNXT=m
+CONFIG_BNXT_SRIOV=y
 CONFIG_BNXT_FLOWER_OFFLOAD=y
 CONFIG_BNXT_HWMON=y
-CONFIG_NET_VENDOR_BROCADE=y
-CONFIG_BNA=m
 CONFIG_NET_VENDOR_CADENCE=y
+CONFIG_MACB=m
+CONFIG_MACB_USE_HWSTAMP=y
+CONFIG_MACB_PCI=m
 CONFIG_NET_VENDOR_CAVIUM=y
+CONFIG_THUNDER_NIC_PF=m
+CONFIG_THUNDER_NIC_VF=m
+CONFIG_THUNDER_NIC_BGX=m
+CONFIG_THUNDER_NIC_RGX=m
+CONFIG_CAVIUM_PTP=m
+CONFIG_LIQUIDIO_CORE=m
+CONFIG_LIQUIDIO=m
+CONFIG_LIQUIDIO_VF=m
 CONFIG_NET_VENDOR_CHELSIO=y
 CONFIG_CHELSIO_T1=m
+CONFIG_CHELSIO_T1_1G=y
 CONFIG_CHELSIO_T3=m
 CONFIG_CHELSIO_T4=m
 CONFIG_CHELSIO_T4VF=m
 CONFIG_CHELSIO_LIB=m
+CONFIG_CHELSIO_INLINE_CRYPTO=y
+CONFIG_CHELSIO_IPSEC_INLINE=m
+CONFIG_CHELSIO_TLS_DEVICE=m
 CONFIG_NET_VENDOR_CISCO=y
 CONFIG_ENIC=m
 CONFIG_NET_VENDOR_CORTINA=y
 CONFIG_GEMINI_ETHERNET=m
+CONFIG_NET_VENDOR_DAVICOM=y
 CONFIG_DNET=m
 CONFIG_NET_VENDOR_DEC=y
 CONFIG_NET_TULIP=y
 CONFIG_TULIP=m
-# CONFIG_TULIP_MWI is not set
+CONFIG_TULIP_MWI=y
 CONFIG_WINBOND_840=m
 CONFIG_DM9102=m
 CONFIG_ULI526X=m
@@ -1860,13 +2164,16 @@ CONFIG_BE2NET_BE2=y
 CONFIG_BE2NET_BE3=y
 CONFIG_BE2NET_LANCER=y
 CONFIG_BE2NET_SKYHAWK=y
+CONFIG_NET_VENDOR_ENGLEDER=y
+# CONFIG_TSNEP is not set
 CONFIG_NET_VENDOR_EZCHIP=y
 CONFIG_EZCHIP_NPS_MANAGEMENT_ENET=m
+CONFIG_NET_VENDOR_FUNGIBLE=y
+# CONFIG_FUN_ETH is not set
 CONFIG_NET_VENDOR_GOOGLE=y
 CONFIG_GVE=m
-CONFIG_NET_VENDOR_HP=y
-CONFIG_HP100=m
 CONFIG_NET_VENDOR_HUAWEI=y
+CONFIG_HINIC=m
 CONFIG_NET_VENDOR_I825XX=y
 CONFIG_NET_VENDOR_INTEL=y
 CONFIG_E100=m
@@ -1875,7 +2182,6 @@ CONFIG_E1000E=m
 CONFIG_IGB=m
 CONFIG_IGB_HWMON=y
 CONFIG_IGBVF=m
-CONFIG_IXGB=m
 CONFIG_IXGBE=m
 CONFIG_IXGBE_HWMON=y
 CONFIG_IXGBE_IPSEC=y
@@ -1885,15 +2191,21 @@ CONFIG_I40E=m
 CONFIG_IAVF=m
 CONFIG_I40EVF=m
 CONFIG_ICE=m
+CONFIG_ICE_SWITCHDEV=y
 CONFIG_FM10K=m
 CONFIG_IGC=m
 CONFIG_JME=m
+CONFIG_NET_VENDOR_LITEX=y
+CONFIG_LITEX_LITEETH=m
 CONFIG_NET_VENDOR_MARVELL=y
 CONFIG_MVMDIO=m
 CONFIG_SKGE=m
 # CONFIG_SKGE_DEBUG is not set
 CONFIG_SKY2=m
 # CONFIG_SKY2_DEBUG is not set
+CONFIG_OCTEON_EP=m
+CONFIG_PRESTERA=m
+CONFIG_PRESTERA_PCI=m
 CONFIG_NET_VENDOR_MELLANOX=y
 CONFIG_MLX4_EN=m
 CONFIG_MLX4_CORE=m
@@ -1905,37 +2217,37 @@ CONFIG_MLXSW_CORE_HWMON=y
 CONFIG_MLXSW_CORE_THERMAL=y
 CONFIG_MLXSW_PCI=m
 CONFIG_MLXSW_I2C=m
-CONFIG_MLXSW_SWITCHIB=m
-CONFIG_MLXSW_SWITCHX2=m
 CONFIG_MLXSW_SPECTRUM=m
 CONFIG_MLXSW_MINIMAL=m
 CONFIG_MLXFW=m
 CONFIG_NET_VENDOR_MICREL=y
-# CONFIG_KS8842 is not set
-# CONFIG_KS8851_MLL is not set
+CONFIG_KS8842=m
+CONFIG_KS8851_MLL=m
 CONFIG_KSZ884X_PCI=m
 CONFIG_NET_VENDOR_MICROCHIP=y
 CONFIG_LAN743X=m
+CONFIG_LAN966X_SWITCH=m
+CONFIG_VCAP=y
 CONFIG_NET_VENDOR_MICROSEMI=y
+CONFIG_MSCC_OCELOT_SWITCH_LIB=m
 CONFIG_MSCC_OCELOT_SWITCH=m
-CONFIG_MSCC_OCELOT_SWITCH_OCELOT=m
+CONFIG_NET_VENDOR_MICROSOFT=y
 CONFIG_NET_VENDOR_MYRI=y
 CONFIG_MYRI10GE=m
 CONFIG_FEALNX=m
+CONFIG_NET_VENDOR_NI=y
+CONFIG_NI_XGE_MANAGEMENT_ENET=m
 CONFIG_NET_VENDOR_NATSEMI=y
 CONFIG_NATSEMI=m
 CONFIG_NS83820=m
 CONFIG_NET_VENDOR_NETERION=y
 CONFIG_S2IO=m
-CONFIG_VXGE=m
-# CONFIG_VXGE_DEBUG_TRACE_ALL is not set
 CONFIG_NET_VENDOR_NETRONOME=y
 CONFIG_NFP=m
-# CONFIG_NFP_APP_FLOWER is not set
+CONFIG_NFP_APP_FLOWER=y
 CONFIG_NFP_APP_ABM_NIC=y
+CONFIG_NFP_NET_IPSEC=y
 # CONFIG_NFP_DEBUG is not set
-CONFIG_NET_VENDOR_NI=y
-CONFIG_NI_XGE_MANAGEMENT_ENET=m
 CONFIG_NET_VENDOR_8390=y
 CONFIG_NE2K_PCI=m
 CONFIG_NET_VENDOR_NVIDIA=y
@@ -1945,18 +2257,23 @@ CONFIG_ETHOC=m
 CONFIG_NET_VENDOR_PACKET_ENGINES=y
 CONFIG_HAMACHI=m
 CONFIG_YELLOWFIN=m
+CONFIG_NET_VENDOR_PENSANDO=y
+CONFIG_IONIC=m
 CONFIG_NET_VENDOR_QLOGIC=y
 CONFIG_QLA3XXX=m
 CONFIG_QLCNIC=m
+CONFIG_QLCNIC_SRIOV=y
 CONFIG_QLCNIC_HWMON=y
-CONFIG_QLGE=m
 CONFIG_NETXEN_NIC=m
 CONFIG_QED=m
 CONFIG_QED_LL2=y
+CONFIG_QED_SRIOV=y
 CONFIG_QEDE=m
 CONFIG_QED_ISCSI=y
 CONFIG_QED_FCOE=y
 CONFIG_QED_OOO=y
+CONFIG_NET_VENDOR_BROCADE=y
+CONFIG_BNA=m
 CONFIG_NET_VENDOR_QUALCOMM=y
 CONFIG_QCOM_EMAC=m
 # CONFIG_RMNET is not set
@@ -1974,16 +2291,21 @@ CONFIG_ROCKER=m
 CONFIG_NET_VENDOR_SAMSUNG=y
 CONFIG_SXGBE_ETH=m
 CONFIG_NET_VENDOR_SEEQ=y
-CONFIG_NET_VENDOR_SOLARFLARE=y
-CONFIG_SFC=m
-CONFIG_SFC_MCDI_MON=y
-CONFIG_SFC_MCDI_LOGGING=y
-CONFIG_SFC_FALCON=m
 CONFIG_NET_VENDOR_SILAN=y
 CONFIG_SC92031=m
 CONFIG_NET_VENDOR_SIS=y
 CONFIG_SIS900=m
 CONFIG_SIS190=m
+CONFIG_NET_VENDOR_SOLARFLARE=y
+CONFIG_SFC=m
+CONFIG_SFC_MCDI_MON=y
+CONFIG_SFC_SRIOV=y
+CONFIG_SFC_MCDI_LOGGING=y
+CONFIG_SFC_FALCON=m
+CONFIG_SFC_SIENA=m
+CONFIG_SFC_SIENA_MCDI_MON=y
+CONFIG_SFC_SIENA_SRIOV=y
+CONFIG_SFC_SIENA_MCDI_LOGGING=y
 CONFIG_NET_VENDOR_SMSC=y
 CONFIG_EPIC100=m
 CONFIG_SMSC911X=m
@@ -1995,6 +2317,8 @@ CONFIG_STMMAC_ETH=m
 CONFIG_STMMAC_PLATFORM=m
 CONFIG_DWMAC_DWC_QOS_ETH=m
 CONFIG_DWMAC_GENERIC=m
+# CONFIG_DWMAC_INTEL_PLAT is not set
+CONFIG_DWMAC_LOONGSON=m
 CONFIG_NET_VENDOR_SUN=y
 CONFIG_HAPPYMEAL=m
 CONFIG_SUNGEM=m
@@ -2008,65 +2332,73 @@ CONFIG_TEHUTI=m
 CONFIG_NET_VENDOR_TI=y
 # CONFIG_TI_CPSW_PHY_SEL is not set
 CONFIG_TLAN=m
+CONFIG_NET_VENDOR_VERTEXCOM=y
 CONFIG_NET_VENDOR_VIA=y
 CONFIG_VIA_RHINE=m
 CONFIG_VIA_VELOCITY=m
+CONFIG_NET_VENDOR_WANGXUN=y
+CONFIG_LIBWX=m
+CONFIG_NGBE=m
+CONFIG_TXGBE=m
 CONFIG_NET_VENDOR_WIZNET=y
 CONFIG_WIZNET_W5100=m
 CONFIG_WIZNET_W5300=m
 # CONFIG_WIZNET_BUS_DIRECT is not set
 # CONFIG_WIZNET_BUS_INDIRECT is not set
 CONFIG_WIZNET_BUS_ANY=y
+CONFIG_NET_VENDOR_XILINX=y
+CONFIG_XILINX_EMACLITE=m
 # CONFIG_FDDI is not set
 # CONFIG_HIPPI is not set
-CONFIG_MDIO_DEVICE=y
-CONFIG_MDIO_BUS=y
-CONFIG_MDIO_BCM_UNIMAC=m
-CONFIG_MDIO_BITBANG=m
-CONFIG_MDIO_BUS_MUX_GPIO=m
-CONFIG_MDIO_BUS_MUX_MMIOREG=m
-CONFIG_MDIO_BUS_MUX_MULTIPLEXER=m
-# CONFIG_MDIO_GPIO is not set
-CONFIG_MDIO_HISI_FEMAC=m
-CONFIG_MDIO_I2C=m
-# CONFIG_MDIO_MSCC_MIIM is not set
+# CONFIG_NET_SB1000 is not set
 CONFIG_PHYLINK=y
 CONFIG_PHYLIB=y
 CONFIG_SWPHY=y
 CONFIG_LED_TRIGGER_PHY=y
+CONFIG_PHYLIB_LEDS=y
+CONFIG_FIXED_PHY=y
+CONFIG_SFP=m
 
 #
 # MII PHY device drivers
 #
-CONFIG_SFP=m
 CONFIG_AMD_PHY=m
+CONFIG_ADIN_PHY=m
+CONFIG_ADIN1100_PHY=m
 CONFIG_AQUANTIA_PHY=m
 CONFIG_AX88796B_PHY=m
-CONFIG_AT803X_PHY=m
+CONFIG_BROADCOM_PHY=m
+CONFIG_BCM54140_PHY=m
 CONFIG_BCM7XXX_PHY=m
+CONFIG_BCM84881_PHY=m
 CONFIG_BCM87XX_PHY=m
 CONFIG_BCM_NET_PHYLIB=m
-CONFIG_BROADCOM_PHY=m
 CONFIG_CICADA_PHY=m
 CONFIG_CORTINA_PHY=m
 CONFIG_DAVICOM_PHY=m
-CONFIG_DP83822_PHY=m
-CONFIG_DP83TC811_PHY=m
-CONFIG_DP83848_PHY=m
-CONFIG_DP83867_PHY=m
-CONFIG_FIXED_PHY=y
 CONFIG_ICPLUS_PHY=m
+CONFIG_LXT_PHY=m
 CONFIG_INTEL_XWAY_PHY=m
 CONFIG_LSI_ET1011C_PHY=m
-CONFIG_LXT_PHY=m
 CONFIG_MARVELL_PHY=m
 CONFIG_MARVELL_10G_PHY=m
+CONFIG_MARVELL_88Q2XXX_PHY=m
+CONFIG_MARVELL_88X2222_PHY=m
+CONFIG_MAXLINEAR_GPHY=m
+CONFIG_MEDIATEK_GE_PHY=m
+# CONFIG_MEDIATEK_GE_SOC_PHY is not set
 CONFIG_MICREL_PHY=m
+CONFIG_MICROCHIP_T1S_PHY=m
 CONFIG_MICROCHIP_PHY=m
 CONFIG_MICROCHIP_T1_PHY=m
 CONFIG_MICROSEMI_PHY=m
+CONFIG_MOTORCOMM_PHY=m
 CONFIG_NATIONAL_PHY=m
+CONFIG_NXP_CBTX_PHY=m
+CONFIG_NXP_C45_TJA11XX_PHY=m
 CONFIG_NXP_TJA11XX_PHY=m
+CONFIG_NCN26000_PHY=m
+CONFIG_AT803X_PHY=m
 CONFIG_QSEMI_PHY=m
 CONFIG_REALTEK_PHY=m
 CONFIG_RENESAS_PHY=m
@@ -2074,8 +2406,51 @@ CONFIG_ROCKCHIP_PHY=m
 CONFIG_SMSC_PHY=m
 CONFIG_STE10XP=m
 CONFIG_TERANETICS_PHY=m
+CONFIG_DP83822_PHY=m
+CONFIG_DP83TC811_PHY=m
+CONFIG_DP83848_PHY=m
+CONFIG_DP83867_PHY=m
+CONFIG_DP83869_PHY=m
+CONFIG_DP83TD510_PHY=m
 CONFIG_VITESSE_PHY=m
 CONFIG_XILINX_GMII2RGMII=m
+# CONFIG_PSE_CONTROLLER is not set
+CONFIG_MDIO_DEVICE=y
+CONFIG_MDIO_BUS=y
+CONFIG_FWNODE_MDIO=y
+CONFIG_OF_MDIO=y
+CONFIG_ACPI_MDIO=y
+CONFIG_MDIO_DEVRES=y
+CONFIG_MDIO_BITBANG=m
+CONFIG_MDIO_BCM_UNIMAC=m
+CONFIG_MDIO_CAVIUM=m
+# CONFIG_MDIO_GPIO is not set
+CONFIG_MDIO_HISI_FEMAC=m
+CONFIG_MDIO_I2C=m
+CONFIG_MDIO_MVUSB=m
+CONFIG_MDIO_MSCC_MIIM=m
+CONFIG_MDIO_OCTEON=m
+CONFIG_MDIO_IPQ4019=m
+CONFIG_MDIO_IPQ8064=m
+CONFIG_MDIO_REGMAP=m
+CONFIG_MDIO_THUNDER=m
+
+#
+# MDIO Multiplexers
+#
+CONFIG_MDIO_BUS_MUX=m
+CONFIG_MDIO_BUS_MUX_GPIO=m
+CONFIG_MDIO_BUS_MUX_MULTIPLEXER=m
+CONFIG_MDIO_BUS_MUX_MMIOREG=m
+
+#
+# PCS device drivers
+#
+CONFIG_PCS_XPCS=m
+CONFIG_PCS_LYNX=m
+CONFIG_PCS_MTK_LYNXI=m
+# end of PCS device drivers
+
 CONFIG_PPP=m
 CONFIG_PPP_BSDCOMP=m
 CONFIG_PPP_DEFLATE=m
@@ -2084,6 +2459,11 @@ CONFIG_PPP_MPPE=m
 CONFIG_PPP_MULTILINK=y
 CONFIG_PPPOATM=m
 CONFIG_PPPOE=m
+# CONFIG_PPPOE_HASH_BITS_1 is not set
+# CONFIG_PPPOE_HASH_BITS_2 is not set
+CONFIG_PPPOE_HASH_BITS_4=y
+# CONFIG_PPPOE_HASH_BITS_8 is not set
+CONFIG_PPPOE_HASH_BITS=4
 CONFIG_PPTP=m
 CONFIG_PPP_ASYNC=m
 CONFIG_PPP_SYNC_TTY=m
@@ -2133,8 +2513,8 @@ CONFIG_USB_SIERRA_NET=m
 CONFIG_USB_VL600=m
 CONFIG_USB_NET_CH9200=m
 CONFIG_USB_NET_AQC111=m
+CONFIG_USB_RTL8153_ECM=m
 CONFIG_WLAN=y
-# CONFIG_WIRELESS_WDS is not set
 CONFIG_WLAN_VENDOR_ADMTEK=y
 CONFIG_ADM8211=m
 CONFIG_ATH_COMMON=m
@@ -2160,6 +2540,7 @@ CONFIG_ATH9K_WOW=y
 CONFIG_ATH9K_RFKILL=y
 CONFIG_ATH9K_CHANNEL_CONTEXT=y
 CONFIG_ATH9K_PCOEM=y
+# CONFIG_ATH9K_PCI_NO_EEPROM is not set
 CONFIG_ATH9K_HTC=m
 # CONFIG_ATH9K_HTC_DEBUGFS is not set
 CONFIG_ATH9K_HWRNG=y
@@ -2167,7 +2548,12 @@ CONFIG_CARL9170=m
 CONFIG_CARL9170_LEDS=y
 CONFIG_CARL9170_WPC=y
 CONFIG_CARL9170_HWRNG=y
-# CONFIG_ATH6KL is not set
+CONFIG_ATH6KL=m
+CONFIG_ATH6KL_SDIO=m
+CONFIG_ATH6KL_USB=m
+# CONFIG_ATH6KL_DEBUG is not set
+# CONFIG_ATH6KL_TRACING is not set
+CONFIG_ATH6KL_REGDOMAIN=y
 CONFIG_AR5523=m
 CONFIG_WIL6210=m
 CONFIG_WIL6210_ISR_COR=y
@@ -2184,6 +2570,13 @@ CONFIG_ATH10K_USB=m
 CONFIG_ATH10K_DFS_CERTIFIED=y
 CONFIG_WCN36XX=m
 # CONFIG_WCN36XX_DEBUGFS is not set
+CONFIG_ATH11K=m
+CONFIG_ATH11K_PCI=m
+# CONFIG_ATH11K_DEBUG is not set
+# CONFIG_ATH11K_TRACING is not set
+CONFIG_ATH12K=m
+# CONFIG_ATH12K_DEBUG is not set
+# CONFIG_ATH12K_TRACING is not set
 CONFIG_WLAN_VENDOR_ATMEL=y
 CONFIG_ATMEL=m
 CONFIG_PCI_ATMEL=m
@@ -2207,23 +2600,19 @@ CONFIG_B43_PHY_HT=y
 CONFIG_B43_LEDS=y
 CONFIG_B43_HWRNG=y
 # CONFIG_B43_DEBUG is not set
-CONFIG_B43LEGACY=m
-CONFIG_B43LEGACY_PCI_AUTOSELECT=y
-CONFIG_B43LEGACY_PCICORE_AUTOSELECT=y
-CONFIG_B43LEGACY_LEDS=y
-CONFIG_B43LEGACY_HWRNG=y
-# CONFIG_B43LEGACY_DEBUG is not set
-CONFIG_B43LEGACY_DMA=y
-CONFIG_B43LEGACY_PIO=y
-CONFIG_B43LEGACY_DMA_AND_PIO_MODE=y
-# CONFIG_B43LEGACY_DMA_MODE is not set
-# CONFIG_B43LEGACY_PIO_MODE is not set
+# CONFIG_B43LEGACY is not set
 CONFIG_BRCMUTIL=m
 CONFIG_BRCMSMAC=m
-# CONFIG_BRCMFMAC is not set
+CONFIG_BRCMFMAC=m
+CONFIG_BRCMFMAC_PROTO_BCDC=y
+CONFIG_BRCMFMAC_PROTO_MSGBUF=y
+CONFIG_BRCMFMAC_SDIO=y
+CONFIG_BRCMFMAC_USB=y
+CONFIG_BRCMFMAC_PCIE=y
 # CONFIG_BRCM_TRACING is not set
 # CONFIG_BRCMDBG is not set
 CONFIG_WLAN_VENDOR_CISCO=y
+CONFIG_AIRO=m
 CONFIG_WLAN_VENDOR_INTEL=y
 CONFIG_IPW2100=m
 # CONFIG_IPW2100_DEBUG is not set
@@ -2246,8 +2635,6 @@ CONFIG_IWLWIFI_LEDS=y
 CONFIG_IWLDVM=m
 CONFIG_IWLMVM=m
 CONFIG_IWLWIFI_OPMODE_MODULAR=y
-# CONFIG_IWLWIFI_BCAST_FILTERING is not set
-# CONFIG_IWLWIFI_PCIE_RTPM is not set
 
 #
 # Debugging Options
@@ -2256,24 +2643,7 @@ CONFIG_IWLWIFI_OPMODE_MODULAR=y
 CONFIG_IWLWIFI_DEVICE_TRACING=y
 # end of Debugging Options
 
-CONFIG_WLAN_VENDOR_INTERSIL=y
-CONFIG_HOSTAP=m
-CONFIG_HOSTAP_FIRMWARE=y
-CONFIG_HOSTAP_FIRMWARE_NVRAM=y
-CONFIG_HOSTAP_PLX=m
-CONFIG_HOSTAP_PCI=m
-CONFIG_HERMES=m
-# CONFIG_HERMES_PRISM is not set
-CONFIG_HERMES_CACHE_FW_ON_INIT=y
-CONFIG_PLX_HERMES=m
-CONFIG_TMD_HERMES=m
-CONFIG_NORTEL_HERMES=m
-CONFIG_ORINOCO_USB=m
-CONFIG_P54_COMMON=m
-CONFIG_P54_USB=m
-CONFIG_P54_PCI=m
-CONFIG_P54_LEDS=y
-# CONFIG_PRISM54 is not set
+# CONFIG_WLAN_VENDOR_INTERSIL is not set
 CONFIG_WLAN_VENDOR_MARVELL=y
 CONFIG_LIBERTAS=m
 CONFIG_LIBERTAS_USB=m
@@ -2293,8 +2663,12 @@ CONFIG_MT7601U=m
 CONFIG_MT76_CORE=m
 CONFIG_MT76_LEDS=y
 CONFIG_MT76_USB=m
+CONFIG_MT76_SDIO=m
 CONFIG_MT76x02_LIB=m
 CONFIG_MT76x02_USB=m
+CONFIG_MT76_CONNAC_LIB=m
+CONFIG_MT792x_LIB=m
+CONFIG_MT792x_USB=m
 CONFIG_MT76x0_COMMON=m
 CONFIG_MT76x0U=m
 CONFIG_MT76x0E=m
@@ -2302,7 +2676,21 @@ CONFIG_MT76x2_COMMON=m
 CONFIG_MT76x2E=m
 CONFIG_MT76x2U=m
 CONFIG_MT7603E=m
+CONFIG_MT7615_COMMON=m
 CONFIG_MT7615E=m
+CONFIG_MT7663_USB_SDIO_COMMON=m
+CONFIG_MT7663U=m
+CONFIG_MT7663S=m
+CONFIG_MT7915E=m
+CONFIG_MT7921_COMMON=m
+CONFIG_MT7921E=m
+CONFIG_MT7921S=m
+CONFIG_MT7921U=m
+CONFIG_MT7996E=m
+CONFIG_WLAN_VENDOR_MICROCHIP=y
+# CONFIG_WILC1000_SDIO is not set
+CONFIG_WLAN_VENDOR_PURELIFI=y
+CONFIG_PLFXLC=m
 CONFIG_WLAN_VENDOR_RALINK=y
 CONFIG_RT2X00=m
 CONFIG_RT2400PCI=m
@@ -2358,15 +2746,46 @@ CONFIG_RTL8XXXU=m
 CONFIG_RTW88=m
 CONFIG_RTW88_CORE=m
 CONFIG_RTW88_PCI=m
-CONFIG_RTW88_8822BE=y
-CONFIG_RTW88_8822CE=y
+CONFIG_RTW88_SDIO=m
+CONFIG_RTW88_USB=m
+CONFIG_RTW88_8822B=m
+CONFIG_RTW88_8822C=m
+CONFIG_RTW88_8723D=m
+CONFIG_RTW88_8821C=m
+CONFIG_RTW88_8822BE=m
+CONFIG_RTW88_8822BS=m
+CONFIG_RTW88_8822BU=m
+CONFIG_RTW88_8822CE=m
+CONFIG_RTW88_8822CS=m
+CONFIG_RTW88_8822CU=m
+CONFIG_RTW88_8723DE=m
+CONFIG_RTW88_8723DS=m
+CONFIG_RTW88_8723DU=m
+CONFIG_RTW88_8821CE=m
+CONFIG_RTW88_8821CS=m
+CONFIG_RTW88_8821CU=m
 # CONFIG_RTW88_DEBUG is not set
 # CONFIG_RTW88_DEBUGFS is not set
+CONFIG_RTW89=m
+CONFIG_RTW89_CORE=m
+CONFIG_RTW89_PCI=m
+CONFIG_RTW89_8851B=m
+CONFIG_RTW89_8852A=m
+CONFIG_RTW89_8852B=m
+CONFIG_RTW89_8852C=m
+CONFIG_RTW89_8851BE=m
+CONFIG_RTW89_8852AE=m
+CONFIG_RTW89_8852BE=m
+CONFIG_RTW89_8852CE=m
+# CONFIG_RTW89_DEBUGMSG is not set
+# CONFIG_RTW89_DEBUGFS is not set
 CONFIG_WLAN_VENDOR_RSI=y
 CONFIG_RSI_91X=m
 # CONFIG_RSI_DEBUGFS is not set
 CONFIG_RSI_SDIO=m
 CONFIG_RSI_USB=m
+CONFIG_WLAN_VENDOR_SILABS=y
+CONFIG_WFX=m
 CONFIG_WLAN_VENDOR_ST=y
 CONFIG_CW1200=m
 CONFIG_CW1200_WLAN_SDIO=m
@@ -2377,30 +2796,37 @@ CONFIG_WL12XX=m
 CONFIG_WL18XX=m
 CONFIG_WLCORE=m
 CONFIG_WLCORE_SDIO=m
-CONFIG_WILINK_PLATFORM_DATA=y
 CONFIG_WLAN_VENDOR_ZYDAS=y
-CONFIG_USB_ZD1201=m
-CONFIG_ZD1211RW=m
-# CONFIG_ZD1211RW_DEBUG is not set
+# CONFIG_USB_ZD1201 is not set
+# CONFIG_ZD1211RW is not set
 CONFIG_WLAN_VENDOR_QUANTENNA=y
 CONFIG_QTNFMAC=m
 CONFIG_QTNFMAC_PCIE=m
+# CONFIG_USB_NET_RNDIS_WLAN is not set
 CONFIG_MAC80211_HWSIM=m
-CONFIG_USB_NET_RNDIS_WLAN=m
 CONFIG_VIRT_WIFI=m
+# CONFIG_WAN is not set
 
 #
-# Enable WiMAX (Networking options) to see the WiMAX drivers
+# Wireless WAN
 #
-# CONFIG_WAN is not set
+CONFIG_WWAN=m
+# CONFIG_WWAN_DEBUGFS is not set
+CONFIG_WWAN_HWSIM=m
+CONFIG_MHI_WWAN_CTRL=m
+CONFIG_MHI_WWAN_MBIM=m
+CONFIG_RPMSG_WWAN_CTRL=m
+CONFIG_IOSM=m
+CONFIG_MTK_T7XX=m
+# end of Wireless WAN
+
 CONFIG_XEN_NETDEV_FRONTEND=m
 CONFIG_XEN_NETDEV_BACKEND=m
-# CONFIG_NETDEVSIM is not set
+# CONFIG_FUJITSU_ES is not set
+CONFIG_HYPERV_NET=m
+CONFIG_NETDEVSIM=m
 CONFIG_NET_FAILOVER=m
 # CONFIG_ISDN is not set
-CONFIG_NVM=y
-CONFIG_NVM_PBLK=m
-# CONFIG_NVM_PBLK_DEBUG is not set
 
 #
 # Input device support
@@ -2408,15 +2834,16 @@ CONFIG_NVM_PBLK=m
 CONFIG_INPUT=y
 CONFIG_INPUT_LEDS=m
 CONFIG_INPUT_FF_MEMLESS=y
-CONFIG_INPUT_POLLDEV=m
 CONFIG_INPUT_SPARSEKMAP=m
+CONFIG_INPUT_MATRIXKMAP=m
+CONFIG_INPUT_VIVALDIFMAP=y
 
 #
 # Userland interfaces
 #
 # CONFIG_INPUT_MOUSEDEV is not set
 # CONFIG_INPUT_JOYDEV is not set
-# CONFIG_INPUT_EVDEV is not set
+CONFIG_INPUT_EVDEV=m
 # CONFIG_INPUT_EVBUG is not set
 
 #
@@ -2445,6 +2872,7 @@ CONFIG_KEYBOARD_GPIO_POLLED=m
 # CONFIG_KEYBOARD_MPR121 is not set
 # CONFIG_KEYBOARD_NEWTON is not set
 # CONFIG_KEYBOARD_OPENCORES is not set
+# CONFIG_KEYBOARD_PINEPHONE is not set
 # CONFIG_KEYBOARD_SAMSUNG is not set
 # CONFIG_KEYBOARD_STOWAWAY is not set
 # CONFIG_KEYBOARD_SUNKBD is not set
@@ -2457,6 +2885,7 @@ CONFIG_KEYBOARD_GPIO_POLLED=m
 # CONFIG_KEYBOARD_CAP11XX is not set
 # CONFIG_KEYBOARD_BCM is not set
 # CONFIG_KEYBOARD_MTK_PMIC is not set
+# CONFIG_KEYBOARD_CYPRESS_SF is not set
 # CONFIG_INPUT_MOUSE is not set
 # CONFIG_INPUT_JOYSTICK is not set
 # CONFIG_INPUT_TABLET is not set
@@ -2468,11 +2897,9 @@ CONFIG_INPUT_MISC=y
 # CONFIG_INPUT_ATMEL_CAPTOUCH is not set
 # CONFIG_INPUT_BMA150 is not set
 # CONFIG_INPUT_E3X0_BUTTON is not set
-# CONFIG_INPUT_MSM_VIBRATOR is not set
 # CONFIG_INPUT_MAX77650_ONKEY is not set
 # CONFIG_INPUT_MAX8925_ONKEY is not set
 # CONFIG_INPUT_MMA8450 is not set
-# CONFIG_INPUT_GP2A is not set
 # CONFIG_INPUT_GPIO_DECODER is not set
 # CONFIG_INPUT_GPIO_VIBRA is not set
 # CONFIG_INPUT_ATI_REMOTE2 is not set
@@ -2484,28 +2911,36 @@ CONFIG_INPUT_MISC=y
 # CONFIG_INPUT_REGULATOR_HAPTIC is not set
 CONFIG_INPUT_RETU_PWRBUTTON=m
 CONFIG_INPUT_TPS65218_PWRBUTTON=m
+CONFIG_INPUT_TPS65219_PWRBUTTON=m
 CONFIG_INPUT_AXP20X_PEK=m
+# CONFIG_INPUT_TWL4030_VIBRA is not set
+# CONFIG_INPUT_TWL6040_VIBRA is not set
 CONFIG_INPUT_UINPUT=m
 CONFIG_INPUT_PALMAS_PWRBUTTON=m
 # CONFIG_INPUT_PCF8574 is not set
 CONFIG_INPUT_RK805_PWRKEY=m
-CONFIG_INPUT_GPIO_ROTARY_ENCODER=m
+# CONFIG_INPUT_GPIO_ROTARY_ENCODER is not set
+# CONFIG_INPUT_DA7280_HAPTICS is not set
 # CONFIG_INPUT_DA9052_ONKEY is not set
 # CONFIG_INPUT_DA9055_ONKEY is not set
-CONFIG_INPUT_DA9063_ONKEY=m
+# CONFIG_INPUT_DA9063_ONKEY is not set
 # CONFIG_INPUT_WM831X_ON is not set
 # CONFIG_INPUT_ADXL34X is not set
+# CONFIG_INPUT_IBM_PANEL is not set
 # CONFIG_INPUT_IMS_PCU is not set
+# CONFIG_INPUT_IQS269A is not set
+# CONFIG_INPUT_IQS626A is not set
+# CONFIG_INPUT_IQS7222 is not set
 # CONFIG_INPUT_CMA3000 is not set
 CONFIG_INPUT_XEN_KBDDEV_FRONTEND=m
 CONFIG_INPUT_SOC_BUTTON_ARRAY=m
-CONFIG_INPUT_DRV260X_HAPTICS=m
-CONFIG_INPUT_DRV2665_HAPTICS=m
-CONFIG_INPUT_DRV2667_HAPTICS=m
-CONFIG_INPUT_STPMIC1_ONKEY=m
+# CONFIG_INPUT_DRV260X_HAPTICS is not set
+# CONFIG_INPUT_DRV2665_HAPTICS is not set
+# CONFIG_INPUT_DRV2667_HAPTICS is not set
+# CONFIG_INPUT_STPMIC1_ONKEY is not set
 CONFIG_RMI4_CORE=m
 CONFIG_RMI4_I2C=m
-# CONFIG_RMI4_SMB is not set
+CONFIG_RMI4_SMB=m
 CONFIG_RMI4_F03=y
 CONFIG_RMI4_F03_SERIO=m
 CONFIG_RMI4_2D_SENSOR=y
@@ -2513,21 +2948,22 @@ CONFIG_RMI4_F11=y
 CONFIG_RMI4_F12=y
 CONFIG_RMI4_F30=y
 # CONFIG_RMI4_F34 is not set
-# CONFIG_RMI4_F54 is not set
+# CONFIG_RMI4_F3A is not set
 # CONFIG_RMI4_F55 is not set
 
 #
 # Hardware I/O ports
 #
 CONFIG_SERIO=y
-CONFIG_SERIO_SERPORT=y
+CONFIG_SERIO_SERPORT=m
 # CONFIG_SERIO_PCIPS2 is not set
 CONFIG_SERIO_LIBPS2=y
-CONFIG_SERIO_RAW=m
-CONFIG_SERIO_ALTERA_PS2=m
+# CONFIG_SERIO_RAW is not set
+# CONFIG_SERIO_ALTERA_PS2 is not set
 # CONFIG_SERIO_PS2MULT is not set
-CONFIG_SERIO_ARC_PS2=m
-CONFIG_SERIO_APBPS2=m
+# CONFIG_SERIO_ARC_PS2 is not set
+# CONFIG_SERIO_APBPS2 is not set
+CONFIG_HYPERV_KEYBOARD=m
 # CONFIG_SERIO_GPIO_PS2 is not set
 # CONFIG_USERIO is not set
 # CONFIG_GAMEPORT is not set
@@ -2545,16 +2981,8 @@ CONFIG_HW_CONSOLE=y
 CONFIG_VT_HW_CONSOLE_BINDING=y
 CONFIG_UNIX98_PTYS=y
 # CONFIG_LEGACY_PTYS is not set
-CONFIG_SERIAL_NONSTANDARD=y
-# CONFIG_MOXA_INTELLIO is not set
-# CONFIG_MOXA_SMARTIO is not set
-# CONFIG_ISI is not set
-CONFIG_N_HDLC=m
-CONFIG_N_GSM=m
-# CONFIG_TRACE_SINK is not set
-# CONFIG_NULL_TTY is not set
-CONFIG_LDISC_AUTOLOAD=y
-CONFIG_DEVMEM=y
+# CONFIG_LEGACY_TIOCSTI is not set
+# CONFIG_LDISC_AUTOLOAD is not set
 
 #
 # Serial drivers
@@ -2562,22 +2990,26 @@ CONFIG_DEVMEM=y
 CONFIG_SERIAL_EARLYCON=y
 CONFIG_SERIAL_8250=y
 CONFIG_SERIAL_8250_DEPRECATED_OPTIONS=y
+CONFIG_SERIAL_8250_PNP=y
+# CONFIG_SERIAL_8250_16550A_VARIANTS is not set
 # CONFIG_SERIAL_8250_FINTEK is not set
 CONFIG_SERIAL_8250_CONSOLE=y
 CONFIG_SERIAL_8250_DMA=y
+CONFIG_SERIAL_8250_PCILIB=y
 CONFIG_SERIAL_8250_PCI=y
 CONFIG_SERIAL_8250_EXAR=y
 CONFIG_SERIAL_8250_NR_UARTS=4
 CONFIG_SERIAL_8250_RUNTIME_UARTS=4
 CONFIG_SERIAL_8250_EXTENDED=y
 CONFIG_SERIAL_8250_MANY_PORTS=y
-CONFIG_SERIAL_8250_ASPEED_VUART=m
+CONFIG_SERIAL_8250_PCI1XXXX=y
 CONFIG_SERIAL_8250_SHARE_IRQ=y
 # CONFIG_SERIAL_8250_DETECT_IRQ is not set
 CONFIG_SERIAL_8250_RSA=y
+CONFIG_SERIAL_8250_DWLIB=y
 CONFIG_SERIAL_8250_DW=m
 CONFIG_SERIAL_8250_RT288X=y
-CONFIG_SERIAL_8250_MOXA=m
+CONFIG_SERIAL_8250_PERICOM=y
 
 #
 # Non-8250 serial port support
@@ -2592,42 +3024,73 @@ CONFIG_SERIAL_SC16IS7XX_I2C=y
 # CONFIG_SERIAL_ALTERA_JTAGUART is not set
 # CONFIG_SERIAL_ALTERA_UART is not set
 CONFIG_SERIAL_FSL_LPUART=m
+# CONFIG_SERIAL_FSL_LINFLEXUART is not set
 CONFIG_SERIAL_CONEXANT_DIGICOLOR=m
+# CONFIG_SERIAL_SPRD is not set
+# CONFIG_SERIAL_LITEUART is not set
 # end of Serial drivers
 
 CONFIG_SERIAL_MCTRL_GPIO=y
-# CONFIG_SERIAL_DEV_BUS is not set
-# CONFIG_TTY_PRINTK is not set
+CONFIG_SERIAL_NONSTANDARD=y
+# CONFIG_MOXA_INTELLIO is not set
+# CONFIG_MOXA_SMARTIO is not set
+CONFIG_N_HDLC=m
+CONFIG_N_GSM=m
+# CONFIG_NULL_TTY is not set
 CONFIG_HVC_DRIVER=y
 CONFIG_HVC_IRQ=y
 CONFIG_HVC_XEN=y
 CONFIG_HVC_XEN_FRONTEND=y
+# CONFIG_RPMSG_TTY is not set
+# CONFIG_SERIAL_DEV_BUS is not set
+# CONFIG_TTY_PRINTK is not set
 CONFIG_VIRTIO_CONSOLE=m
 CONFIG_IPMI_HANDLER=m
+CONFIG_IPMI_DMI_DECODE=y
 CONFIG_IPMI_PLAT_DATA=y
 # CONFIG_IPMI_PANIC_EVENT is not set
 CONFIG_IPMI_DEVICE_INTERFACE=m
 CONFIG_IPMI_SI=m
 CONFIG_IPMI_SSIF=m
+# CONFIG_IPMI_IPMB is not set
 CONFIG_IPMI_WATCHDOG=m
 CONFIG_IPMI_POWEROFF=m
+CONFIG_SSIF_IPMI_BMC=m
 CONFIG_IPMB_DEVICE_INTERFACE=m
 CONFIG_HW_RANDOM=y
 CONFIG_HW_RANDOM_TIMERIOMEM=m
+CONFIG_HW_RANDOM_BA431=m
 CONFIG_HW_RANDOM_VIRTIO=m
+CONFIG_HW_RANDOM_CCTRNG=m
+CONFIG_HW_RANDOM_XIPHERA=m
 # CONFIG_APPLICOM is not set
-CONFIG_RAW_DRIVER=y
-CONFIG_MAX_RAW_DEVS=8192
-# CONFIG_TCG_TPM is not set
+# CONFIG_DEVMEM is not set
 CONFIG_DEVPORT=y
+CONFIG_TCG_TPM=m
+CONFIG_HW_RANDOM_TPM=y
+CONFIG_TCG_TIS_CORE=m
+CONFIG_TCG_TIS=m
+CONFIG_TCG_TIS_I2C=m
+CONFIG_TCG_TIS_I2C_CR50=m
+CONFIG_TCG_TIS_I2C_ATMEL=m
+CONFIG_TCG_TIS_I2C_INFINEON=m
+CONFIG_TCG_TIS_I2C_NUVOTON=m
+CONFIG_TCG_ATMEL=m
+CONFIG_TCG_INFINEON=m
+CONFIG_TCG_XEN=m
+CONFIG_TCG_CRB=m
+CONFIG_TCG_VTPM_PROXY=m
+CONFIG_TCG_TIS_ST33ZP24=m
+CONFIG_TCG_TIS_ST33ZP24_I2C=m
 # CONFIG_XILLYBUS is not set
+# CONFIG_XILLYUSB is not set
 # end of Character devices
 
-
 #
 # I2C support
 #
 CONFIG_I2C=y
+CONFIG_ACPI_I2C_OPREGION=y
 CONFIG_I2C_BOARDINFO=y
 CONFIG_I2C_COMPAT=y
 CONFIG_I2C_CHARDEV=m
@@ -2659,8 +3122,10 @@ CONFIG_I2C_ALGOPCA=m
 #
 # PC SMBus host controller drivers
 #
+CONFIG_I2C_CCGX_UCSI=m
 CONFIG_I2C_AMD756=m
 CONFIG_I2C_AMD8111=m
+CONFIG_I2C_AMD_MP2=m
 CONFIG_I2C_I801=m
 CONFIG_I2C_ISCH=m
 CONFIG_I2C_PIIX4=m
@@ -2673,27 +3138,31 @@ CONFIG_I2C_VIAPRO=m
 #
 # ACPI drivers
 #
+CONFIG_I2C_SCMI=m
 
 #
 # I2C system bus drivers (mostly embedded / system-on-chip)
 #
 CONFIG_I2C_CBUS_GPIO=m
+CONFIG_I2C_DESIGNWARE_CORE=y
 # CONFIG_I2C_DESIGNWARE_SLAVE is not set
-# CONFIG_I2C_DESIGNWARE_PCI is not set
+CONFIG_I2C_DESIGNWARE_PLATFORM=y
+CONFIG_I2C_DESIGNWARE_PCI=m
 CONFIG_I2C_EMEV2=m
 # CONFIG_I2C_GPIO is not set
 CONFIG_I2C_KEMPLD=m
-# CONFIG_I2C_OCORES is not set
+CONFIG_I2C_OCORES=m
 CONFIG_I2C_PCA_PLATFORM=m
 CONFIG_I2C_RK3X=m
 CONFIG_I2C_SIMTEC=m
-# CONFIG_I2C_XILINX is not set
+CONFIG_I2C_XILINX=m
 
 #
 # External I2C/SMBus adapter drivers
 #
 CONFIG_I2C_DIOLAN_U2C=m
-CONFIG_I2C_PARPORT_LIGHT=m
+# CONFIG_I2C_CP2615 is not set
+CONFIG_I2C_PCI1XXXX=m
 CONFIG_I2C_ROBOTFUZZ_OSIF=m
 # CONFIG_I2C_TAOS_EVM is not set
 CONFIG_I2C_TINY_USB=m
@@ -2702,21 +3171,23 @@ CONFIG_I2C_VIPERBOARD=m
 #
 # Other I2C/SMBus bus drivers
 #
+CONFIG_I2C_MLXCPLD=m
+CONFIG_I2C_VIRTIO=m
 # end of I2C Hardware Bus support
 
 CONFIG_I2C_STUB=m
 CONFIG_I2C_SLAVE=y
 # CONFIG_I2C_SLAVE_EEPROM is not set
+# CONFIG_I2C_SLAVE_TESTUNIT is not set
 # CONFIG_I2C_DEBUG_CORE is not set
 # CONFIG_I2C_DEBUG_ALGO is not set
 # CONFIG_I2C_DEBUG_BUS is not set
 # end of I2C support
 
-CONFIG_I3C=m
-CONFIG_CDNS_I3C_MASTER=m
-CONFIG_DW_I3C_MASTER=m
+# CONFIG_I3C is not set
 # CONFIG_SPI is not set
 CONFIG_SPMI=m
+CONFIG_SPMI_HISI3670=m
 CONFIG_HSI=m
 CONFIG_HSI_BOARDINFO=y
 
@@ -2746,10 +3217,14 @@ CONFIG_PPS=y
 # PTP clock support
 #
 CONFIG_PTP_1588_CLOCK=y
+CONFIG_PTP_1588_CLOCK_OPTIONAL=y
 
 #
 # Enable PHYLIB and NETWORK_PHY_TIMESTAMPING to see the additional clocks.
 #
+# CONFIG_PTP_1588_CLOCK_IDT82P33 is not set
+# CONFIG_PTP_1588_CLOCK_IDTCM is not set
+# CONFIG_PTP_1588_CLOCK_MOCK is not set
 # end of PTP clock support
 
 CONFIG_PINCTRL=y
@@ -2759,33 +3234,62 @@ CONFIG_GENERIC_PINMUX_FUNCTIONS=y
 CONFIG_PINCONF=y
 CONFIG_GENERIC_PINCONF=y
 # CONFIG_DEBUG_PINCTRL is not set
+CONFIG_PINCTRL_AMD=y
 CONFIG_PINCTRL_AXP209=m
-# CONFIG_PINCTRL_SX150X is not set
-# CONFIG_PINCTRL_STMFX is not set
+CONFIG_PINCTRL_CY8C95X0=m
+CONFIG_PINCTRL_DA9062=m
 CONFIG_PINCTRL_MAX77620=m
+CONFIG_PINCTRL_MCP23S08_I2C=m
+CONFIG_PINCTRL_MCP23S08=m
+CONFIG_PINCTRL_MICROCHIP_SGPIO=y
+CONFIG_PINCTRL_OCELOT=m
 CONFIG_PINCTRL_RK805=m
-# CONFIG_PINCTRL_OCELOT is not set
-CONFIG_GPIOLIB=y
-CONFIG_GPIOLIB_FASTPATH_LIMIT=512
-CONFIG_OF_GPIO=y
-CONFIG_GPIOLIB_IRQCHIP=y
-# CONFIG_DEBUG_GPIO is not set
-CONFIG_GPIO_SYSFS=y
+CONFIG_PINCTRL_SINGLE=m
+CONFIG_PINCTRL_STMFX=m
+CONFIG_PINCTRL_SX150X=y
+CONFIG_PINCTRL_CS42L43=m
+
+#
+# Intel pinctrl drivers
+#
+# end of Intel pinctrl drivers
+
+#
+# Renesas pinctrl drivers
+#
+# end of Renesas pinctrl drivers
+
+CONFIG_GPIOLIB=y
+CONFIG_GPIOLIB_FASTPATH_LIMIT=512
+CONFIG_OF_GPIO=y
+CONFIG_GPIO_ACPI=y
+CONFIG_GPIOLIB_IRQCHIP=y
+CONFIG_OF_GPIO_MM_GPIOCHIP=y
+# CONFIG_DEBUG_GPIO is not set
+CONFIG_GPIO_SYSFS=y
+CONFIG_GPIO_CDEV=y
+CONFIG_GPIO_CDEV_V1=y
 CONFIG_GPIO_GENERIC=y
+CONFIG_GPIO_REGMAP=m
+CONFIG_GPIO_IDIO_16=m
 
 #
 # Memory mapped GPIO drivers
 #
 CONFIG_GPIO_74XX_MMIO=m
 CONFIG_GPIO_ALTERA=m
+CONFIG_GPIO_AMDPT=m
 CONFIG_GPIO_CADENCE=m
+CONFIG_GPIO_DWAPB=m
 CONFIG_GPIO_EXAR=m
 # CONFIG_GPIO_FTGPIO010 is not set
 CONFIG_GPIO_GENERIC_PLATFORM=y
 # CONFIG_GPIO_HLWD is not set
+# CONFIG_GPIO_LOGICVC is not set
 CONFIG_GPIO_MB86S7X=m
-CONFIG_GPIO_SAMA5D2_PIOBU=m
+# CONFIG_GPIO_SIFIVE is not set
 CONFIG_GPIO_SYSCON=m
+CONFIG_GPIO_XILINX=m
 CONFIG_GPIO_AMD_FCH=m
 # end of Memory mapped GPIO drivers
 
@@ -2797,12 +3301,14 @@ CONFIG_GPIO_AMD_FCH=m
 #
 # I2C GPIO expanders
 #
-# CONFIG_GPIO_ADP5588 is not set
 CONFIG_GPIO_ADNP=m
+CONFIG_GPIO_FXL6408=m
+CONFIG_GPIO_DS4520=m
 CONFIG_GPIO_GW_PLD=m
 # CONFIG_GPIO_MAX7300 is not set
 # CONFIG_GPIO_MAX732X is not set
 # CONFIG_GPIO_PCA953X is not set
+# CONFIG_GPIO_PCA9570 is not set
 # CONFIG_GPIO_PCF857X is not set
 CONFIG_GPIO_TPIC2810=m
 # end of I2C GPIO expanders
@@ -2811,7 +3317,6 @@ CONFIG_GPIO_TPIC2810=m
 # MFD GPIO expanders
 #
 # CONFIG_GPIO_ADP5520 is not set
-# CONFIG_GPIO_BD70528 is not set
 # CONFIG_GPIO_BD9571MWV is not set
 # CONFIG_GPIO_DA9052 is not set
 # CONFIG_GPIO_DA9055 is not set
@@ -2824,6 +3329,7 @@ CONFIG_GPIO_MAX77650=m
 CONFIG_GPIO_STMPE=y
 CONFIG_GPIO_TPS65086=m
 CONFIG_GPIO_TPS65218=m
+CONFIG_GPIO_TPS65219=m
 # CONFIG_GPIO_TPS6586X is not set
 # CONFIG_GPIO_TPS65910 is not set
 # CONFIG_GPIO_TPS65912 is not set
@@ -2850,15 +3356,26 @@ CONFIG_GPIO_PCIE_IDIO_24=m
 CONFIG_GPIO_VIPERBOARD=m
 # end of USB GPIO expanders
 
+#
+# Virtual GPIO drivers
+#
+# CONFIG_GPIO_AGGREGATOR is not set
+CONFIG_GPIO_LATCH=m
 CONFIG_GPIO_MOCKUP=m
+# CONFIG_GPIO_VIRTIO is not set
+# CONFIG_GPIO_SIM is not set
+# end of Virtual GPIO drivers
+
 # CONFIG_W1 is not set
-CONFIG_POWER_AVS=y
 CONFIG_POWER_RESET=y
 CONFIG_POWER_RESET_AS3722=y
 CONFIG_POWER_RESET_GPIO=y
 CONFIG_POWER_RESET_GPIO_RESTART=y
 CONFIG_POWER_RESET_LTC2952=y
+# CONFIG_POWER_RESET_MT6323 is not set
+# CONFIG_POWER_RESET_REGULATOR is not set
 CONFIG_POWER_RESET_RESTART=y
+# CONFIG_POWER_RESET_TPS65086 is not set
 CONFIG_POWER_RESET_SYSCON=y
 CONFIG_POWER_RESET_SYSCON_POWEROFF=y
 CONFIG_REBOOT_MODE=y
@@ -2867,21 +3384,22 @@ CONFIG_NVMEM_REBOOT_MODE=m
 CONFIG_POWER_SUPPLY=y
 # CONFIG_POWER_SUPPLY_DEBUG is not set
 CONFIG_POWER_SUPPLY_HWMON=y
-# CONFIG_PDA_POWER is not set
 CONFIG_GENERIC_ADC_BATTERY=m
+# CONFIG_IP5XXX_POWER is not set
 # CONFIG_TEST_POWER is not set
 CONFIG_CHARGER_ADP5061=m
 CONFIG_BATTERY_ACT8945A=m
+# CONFIG_BATTERY_CW2015 is not set
 # CONFIG_BATTERY_DS2780 is not set
 # CONFIG_BATTERY_DS2781 is not set
 # CONFIG_BATTERY_DS2782 is not set
-# CONFIG_BATTERY_LEGO_EV3 is not set
+# CONFIG_BATTERY_QCOM_BATTMGR is not set
+# CONFIG_BATTERY_SAMSUNG_SDI is not set
 # CONFIG_BATTERY_SBS is not set
 # CONFIG_CHARGER_SBS is not set
 # CONFIG_MANAGER_SBS is not set
 # CONFIG_BATTERY_BQ27XXX is not set
 # CONFIG_AXP20X_POWER is not set
-CONFIG_AXP288_FUEL_GAUGE=m
 # CONFIG_BATTERY_MAX17040 is not set
 # CONFIG_BATTERY_MAX17042 is not set
 # CONFIG_CHARGER_ISP1704 is not set
@@ -2890,22 +3408,33 @@ CONFIG_AXP288_FUEL_GAUGE=m
 # CONFIG_CHARGER_GPIO is not set
 # CONFIG_CHARGER_MANAGER is not set
 # CONFIG_CHARGER_LT3651 is not set
+# CONFIG_CHARGER_LTC4162L is not set
 CONFIG_CHARGER_MAX14577=m
 CONFIG_CHARGER_DETECTOR_MAX14656=m
 CONFIG_CHARGER_MAX77650=m
 CONFIG_CHARGER_MAX77693=m
+# CONFIG_CHARGER_MAX77976 is not set
 # CONFIG_CHARGER_BQ2415X is not set
 # CONFIG_CHARGER_BQ24190 is not set
 # CONFIG_CHARGER_BQ24257 is not set
 # CONFIG_CHARGER_BQ24735 is not set
+# CONFIG_CHARGER_BQ2515X is not set
 # CONFIG_CHARGER_BQ25890 is not set
+# CONFIG_CHARGER_BQ25980 is not set
+# CONFIG_CHARGER_BQ256XX is not set
+# CONFIG_CHARGER_RK817 is not set
 # CONFIG_CHARGER_SMB347 is not set
 # CONFIG_CHARGER_TPS65090 is not set
 # CONFIG_BATTERY_GAUGE_LTC2941 is not set
+# CONFIG_BATTERY_GOLDFISH is not set
 # CONFIG_BATTERY_RT5033 is not set
+# CONFIG_CHARGER_RT5033 is not set
 # CONFIG_CHARGER_RT9455 is not set
+# CONFIG_CHARGER_RT9467 is not set
+# CONFIG_CHARGER_RT9471 is not set
 # CONFIG_CHARGER_UCS1002 is not set
-# CONFIG_CHARGER_BD70528 is not set
+# CONFIG_CHARGER_BD99954 is not set
+# CONFIG_BATTERY_UG3105 is not set
 CONFIG_HWMON=y
 CONFIG_HWMON_VID=m
 # CONFIG_HWMON_DEBUG_CHIP is not set
@@ -2913,13 +3442,14 @@ CONFIG_HWMON_VID=m
 #
 # Native drivers
 #
+CONFIG_SENSORS_SMPRO=m
 CONFIG_SENSORS_AD7414=m
 CONFIG_SENSORS_AD7418=m
-CONFIG_SENSORS_ADM1021=m
 CONFIG_SENSORS_ADM1025=m
 CONFIG_SENSORS_ADM1026=m
 CONFIG_SENSORS_ADM1029=m
 CONFIG_SENSORS_ADM1031=m
+# CONFIG_SENSORS_ADM1177 is not set
 CONFIG_SENSORS_ADM9240=m
 CONFIG_SENSORS_ADT7X10=m
 CONFIG_SENSORS_ADT7410=m
@@ -2927,9 +3457,15 @@ CONFIG_SENSORS_ADT7411=m
 CONFIG_SENSORS_ADT7462=m
 CONFIG_SENSORS_ADT7470=m
 CONFIG_SENSORS_ADT7475=m
+# CONFIG_SENSORS_AHT10 is not set
+# CONFIG_SENSORS_AQUACOMPUTER_D5NEXT is not set
+# CONFIG_SENSORS_AS370 is not set
 CONFIG_SENSORS_ASC7621=m
-CONFIG_SENSORS_ASPEED=m
+# CONFIG_SENSORS_AXI_FAN_CONTROL is not set
 CONFIG_SENSORS_ATXP1=m
+# CONFIG_SENSORS_CORSAIR_CPRO is not set
+# CONFIG_SENSORS_CORSAIR_PSU is not set
+# CONFIG_SENSORS_DRIVETEMP is not set
 CONFIG_SENSORS_DS620=m
 CONFIG_SENSORS_DS1621=m
 CONFIG_SENSORS_DA9052_ADC=m
@@ -2945,6 +3481,7 @@ CONFIG_SENSORS_G760A=m
 CONFIG_SENSORS_G762=m
 # CONFIG_SENSORS_GPIO_FAN is not set
 CONFIG_SENSORS_HIH6130=m
+CONFIG_SENSORS_HS3001=m
 CONFIG_SENSORS_IBMAEM=m
 CONFIG_SENSORS_IBMPEX=m
 # CONFIG_SENSORS_IIO_HWMON is not set
@@ -2953,26 +3490,35 @@ CONFIG_SENSORS_IT87=m
 CONFIG_SENSORS_POWR1220=m
 CONFIG_SENSORS_LINEAGE=m
 CONFIG_SENSORS_LTC2945=m
+# CONFIG_SENSORS_LTC2947_I2C is not set
 CONFIG_SENSORS_LTC2990=m
+# CONFIG_SENSORS_LTC2992 is not set
 CONFIG_SENSORS_LTC4151=m
 CONFIG_SENSORS_LTC4215=m
 CONFIG_SENSORS_LTC4222=m
 CONFIG_SENSORS_LTC4245=m
 CONFIG_SENSORS_LTC4260=m
 CONFIG_SENSORS_LTC4261=m
+# CONFIG_SENSORS_MAX127 is not set
 CONFIG_SENSORS_MAX16065=m
 CONFIG_SENSORS_MAX1619=m
 CONFIG_SENSORS_MAX1668=m
 CONFIG_SENSORS_MAX197=m
+# CONFIG_SENSORS_MAX31730 is not set
+CONFIG_SENSORS_MAX31760=m
+# CONFIG_MAX31827 is not set
+# CONFIG_SENSORS_MAX6620 is not set
 CONFIG_SENSORS_MAX6621=m
 CONFIG_SENSORS_MAX6639=m
-CONFIG_SENSORS_MAX6642=m
 CONFIG_SENSORS_MAX6650=m
 CONFIG_SENSORS_MAX6697=m
 CONFIG_SENSORS_MAX31790=m
+CONFIG_SENSORS_MC34VR500=m
 CONFIG_SENSORS_MCP3021=m
 CONFIG_SENSORS_TC654=m
+# CONFIG_SENSORS_TPS23861 is not set
 CONFIG_SENSORS_MENF21BMC_HWMON=m
+# CONFIG_SENSORS_MR75203 is not set
 CONFIG_SENSORS_LM63=m
 CONFIG_SENSORS_LM73=m
 CONFIG_SENSORS_LM75=m
@@ -2992,41 +3538,79 @@ CONFIG_SENSORS_PC87360=m
 CONFIG_SENSORS_PC87427=m
 CONFIG_SENSORS_NTC_THERMISTOR=m
 CONFIG_SENSORS_NCT6683=m
+CONFIG_SENSORS_NCT6775_CORE=m
 CONFIG_SENSORS_NCT6775=m
+# CONFIG_SENSORS_NCT6775_I2C is not set
 CONFIG_SENSORS_NCT7802=m
 CONFIG_SENSORS_NCT7904=m
 CONFIG_SENSORS_NPCM7XX=m
+# CONFIG_SENSORS_NZXT_KRAKEN2 is not set
+# CONFIG_SENSORS_NZXT_SMART2 is not set
+CONFIG_SENSORS_OCC_P8_I2C=m
+CONFIG_SENSORS_OCC=m
 CONFIG_SENSORS_PCF8591=m
 CONFIG_PMBUS=m
 CONFIG_SENSORS_PMBUS=m
+CONFIG_SENSORS_ACBEL_FSG032=m
+# CONFIG_SENSORS_ADM1266 is not set
 CONFIG_SENSORS_ADM1275=m
+# CONFIG_SENSORS_BEL_PFE is not set
+# CONFIG_SENSORS_BPA_RS600 is not set
+# CONFIG_SENSORS_DELTA_AHE50DC_FAN is not set
+# CONFIG_SENSORS_FSP_3Y is not set
 CONFIG_SENSORS_IBM_CFFPS=m
+# CONFIG_SENSORS_DPS920AB is not set
+# CONFIG_SENSORS_INSPUR_IPSPS is not set
 # CONFIG_SENSORS_IR35221 is not set
+# CONFIG_SENSORS_IR36021 is not set
 # CONFIG_SENSORS_IR38064 is not set
 # CONFIG_SENSORS_IRPS5401 is not set
 # CONFIG_SENSORS_ISL68137 is not set
 CONFIG_SENSORS_LM25066=m
+# CONFIG_SENSORS_LM25066_REGULATOR is not set
+# CONFIG_SENSORS_LT7182S is not set
 # CONFIG_SENSORS_LTC2978 is not set
 CONFIG_SENSORS_LTC3815=m
+# CONFIG_SENSORS_MAX15301 is not set
 CONFIG_SENSORS_MAX16064=m
+# CONFIG_SENSORS_MAX16601 is not set
+# CONFIG_SENSORS_MAX20730 is not set
 CONFIG_SENSORS_MAX20751=m
 CONFIG_SENSORS_MAX31785=m
 CONFIG_SENSORS_MAX34440=m
 CONFIG_SENSORS_MAX8688=m
+# CONFIG_SENSORS_MP2888 is not set
+# CONFIG_SENSORS_MP2975 is not set
+# CONFIG_SENSORS_MP5023 is not set
+# CONFIG_SENSORS_MPQ7932 is not set
+# CONFIG_SENSORS_PIM4328 is not set
+# CONFIG_SENSORS_PLI1209BC is not set
+# CONFIG_SENSORS_PM6764TR is not set
 CONFIG_SENSORS_PXE1610=m
+# CONFIG_SENSORS_Q54SJ108A2 is not set
+# CONFIG_SENSORS_STPDDC60 is not set
+# CONFIG_SENSORS_TDA38640 is not set
 CONFIG_SENSORS_TPS40422=m
 CONFIG_SENSORS_TPS53679=m
+CONFIG_SENSORS_TPS546D24=m
 CONFIG_SENSORS_UCD9000=m
 CONFIG_SENSORS_UCD9200=m
+# CONFIG_SENSORS_XDPE152 is not set
+# CONFIG_SENSORS_XDPE122 is not set
 # CONFIG_SENSORS_ZL6100 is not set
+# CONFIG_SENSORS_SBTSI is not set
+# CONFIG_SENSORS_SBRMI is not set
 CONFIG_SENSORS_SHT15=m
 CONFIG_SENSORS_SHT21=m
 CONFIG_SENSORS_SHT3x=m
+# CONFIG_SENSORS_SHT4x is not set
 CONFIG_SENSORS_SHTC1=m
 CONFIG_SENSORS_SIS5595=m
+# CONFIG_SENSORS_SY7636A is not set
 CONFIG_SENSORS_DME1737=m
 CONFIG_SENSORS_EMC1403=m
 # CONFIG_SENSORS_EMC2103 is not set
+CONFIG_SENSORS_EMC2305=m
 CONFIG_SENSORS_EMC6W201=m
 CONFIG_SENSORS_SMSC47M1=m
 CONFIG_SENSORS_SMSC47M192=m
@@ -3035,13 +3619,12 @@ CONFIG_SENSORS_SCH56XX_COMMON=m
 CONFIG_SENSORS_SCH5627=m
 CONFIG_SENSORS_SCH5636=m
 CONFIG_SENSORS_STTS751=m
-# CONFIG_SENSORS_SMM665 is not set
 CONFIG_SENSORS_ADC128D818=m
-CONFIG_SENSORS_ADS1015=m
 CONFIG_SENSORS_ADS7828=m
 CONFIG_SENSORS_AMC6821=m
 CONFIG_SENSORS_INA209=m
 CONFIG_SENSORS_INA2XX=m
+# CONFIG_SENSORS_INA238 is not set
 CONFIG_SENSORS_INA3221=m
 CONFIG_SENSORS_TC74=m
 CONFIG_SENSORS_THMC50=m
@@ -3050,6 +3633,8 @@ CONFIG_SENSORS_TMP103=m
 CONFIG_SENSORS_TMP108=m
 CONFIG_SENSORS_TMP401=m
 CONFIG_SENSORS_TMP421=m
+# CONFIG_SENSORS_TMP464 is not set
+# CONFIG_SENSORS_TMP513 is not set
 CONFIG_SENSORS_VIA686A=m
 CONFIG_SENSORS_VT1211=m
 CONFIG_SENSORS_VT8231=m
@@ -3066,11 +3651,14 @@ CONFIG_SENSORS_W83627HF=m
 CONFIG_SENSORS_W83627EHF=m
 CONFIG_SENSORS_WM831X=m
 CONFIG_SENSORS_WM8350=m
+CONFIG_SENSORS_XGENE=m
 
 #
 # ACPI drivers
 #
+CONFIG_SENSORS_ACPI_POWER=m
 CONFIG_THERMAL=y
+# CONFIG_THERMAL_NETLINK is not set
 # CONFIG_THERMAL_STATISTICS is not set
 CONFIG_THERMAL_EMERGENCY_POWEROFF_DELAY_MS=0
 CONFIG_THERMAL_HWMON=y
@@ -3079,19 +3667,18 @@ CONFIG_THERMAL_WRITABLE_TRIPS=y
 CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y
 # CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE is not set
 # CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE is not set
-# CONFIG_THERMAL_DEFAULT_GOV_POWER_ALLOCATOR is not set
+# CONFIG_THERMAL_DEFAULT_GOV_BANG_BANG is not set
 CONFIG_THERMAL_GOV_FAIR_SHARE=y
 CONFIG_THERMAL_GOV_STEP_WISE=y
 CONFIG_THERMAL_GOV_BANG_BANG=y
 CONFIG_THERMAL_GOV_USER_SPACE=y
-CONFIG_THERMAL_GOV_POWER_ALLOCATOR=y
 CONFIG_CPU_THERMAL=y
-CONFIG_CLOCK_THERMAL=y
+CONFIG_CPU_FREQ_THERMAL=y
+CONFIG_CPU_IDLE_THERMAL=y
 CONFIG_DEVFREQ_THERMAL=y
 CONFIG_THERMAL_EMULATION=y
-CONFIG_THERMAL_MMIO=y
+CONFIG_THERMAL_MMIO=m
 CONFIG_MAX77620_THERMAL=m
-CONFIG_QORIQ_THERMAL=m
 CONFIG_DA9062_THERMAL=m
 
 #
@@ -3105,6 +3692,7 @@ CONFIG_DA9062_THERMAL=m
 
 # end of Intel thermal drivers
 
+# CONFIG_TI_SOC_THERMAL is not set
 CONFIG_GENERIC_ADC_THERMAL=m
 CONFIG_WATCHDOG=y
 CONFIG_WATCHDOG_CORE=y
@@ -3112,6 +3700,7 @@ CONFIG_WATCHDOG_NOWAYOUT=y
 CONFIG_WATCHDOG_HANDLE_BOOT_ENABLED=y
 CONFIG_WATCHDOG_OPEN_TIMEOUT=0
 CONFIG_WATCHDOG_SYSFS=y
+# CONFIG_WATCHDOG_HRTIMER_PRETIMEOUT is not set
 
 #
 # Watchdog Pretimeout Governors
@@ -3122,13 +3711,13 @@ CONFIG_WATCHDOG_SYSFS=y
 # Watchdog Device Drivers
 #
 CONFIG_SOFT_WATCHDOG=m
-# CONFIG_BD70528_WATCHDOG is not set
 CONFIG_DA9052_WATCHDOG=m
 CONFIG_DA9055_WATCHDOG=m
 CONFIG_DA9063_WATCHDOG=m
 CONFIG_DA9062_WATCHDOG=m
 CONFIG_GPIO_WATCHDOG=m
 CONFIG_MENF21BMC_WATCHDOG=m
+CONFIG_WDAT_WDT=m
 CONFIG_WM831X_WATCHDOG=m
 CONFIG_WM8350_WATCHDOG=m
 CONFIG_XILINX_WATCHDOG=m
@@ -3143,6 +3732,7 @@ CONFIG_RETU_WATCHDOG=m
 CONFIG_STPMIC1_WATCHDOG=m
 CONFIG_ALIM7101_WDT=m
 CONFIG_I6300ESB_WDT=m
+CONFIG_HP_WATCHDOG=m
 CONFIG_KEMPLD_WDT=m
 CONFIG_MEN_A21_WDT=m
 CONFIG_XEN_WDT=m
@@ -3150,6 +3740,8 @@ CONFIG_XEN_WDT=m
 #
 # PCI-based Watchdog Cards
 #
+CONFIG_PCIPCWATCHDOG=m
+CONFIG_WDTPCI=m
 
 #
 # USB-based Watchdog Cards
@@ -3185,6 +3777,7 @@ CONFIG_BCMA_DRIVER_GMAC_CMN=y
 CONFIG_MFD_CORE=y
 CONFIG_MFD_ACT8945A=m
 CONFIG_MFD_AS3711=y
+CONFIG_MFD_SMPRO=m
 CONFIG_MFD_AS3722=y
 CONFIG_PMIC_ADP5520=y
 CONFIG_MFD_AAT2870_CORE=y
@@ -3193,8 +3786,10 @@ CONFIG_MFD_BCM590XX=m
 CONFIG_MFD_BD9571MWV=m
 CONFIG_MFD_AXP20X=m
 CONFIG_MFD_AXP20X_I2C=m
-# CONFIG_MFD_CROS_EC is not set
+CONFIG_MFD_CS42L43=m
+CONFIG_MFD_CS42L43_I2C=m
 # CONFIG_MFD_MADERA is not set
+# CONFIG_MFD_MAX5970 is not set
 CONFIG_PMIC_DA903X=y
 CONFIG_PMIC_DA9052=y
 CONFIG_MFD_DA9052_I2C=y
@@ -3203,43 +3798,53 @@ CONFIG_MFD_DA9062=m
 CONFIG_MFD_DA9063=y
 # CONFIG_MFD_DA9150 is not set
 # CONFIG_MFD_DLN2 is not set
+# CONFIG_MFD_GATEWORKS_GSC is not set
 # CONFIG_MFD_MC13XXX_I2C is not set
+# CONFIG_MFD_MP2629 is not set
 CONFIG_MFD_HI6421_PMIC=m
-# CONFIG_HTC_PASIC3 is not set
-CONFIG_HTC_I2CPLD=y
+# CONFIG_MFD_HI6421_SPMI is not set
 CONFIG_LPC_SCH=m
+# CONFIG_MFD_IQS62X is not set
 # CONFIG_MFD_JANZ_CMODIO is not set
 CONFIG_MFD_KEMPLD=m
 CONFIG_MFD_88PM800=m
 CONFIG_MFD_88PM805=m
 CONFIG_MFD_88PM860X=y
 CONFIG_MFD_MAX14577=y
+CONFIG_MFD_MAX77541=m
 CONFIG_MFD_MAX77620=y
 CONFIG_MFD_MAX77650=y
 CONFIG_MFD_MAX77686=y
 CONFIG_MFD_MAX77693=y
+# CONFIG_MFD_MAX77714 is not set
 CONFIG_MFD_MAX77843=y
 CONFIG_MFD_MAX8907=m
 CONFIG_MFD_MAX8925=y
 CONFIG_MFD_MAX8997=y
 CONFIG_MFD_MAX8998=y
+# CONFIG_MFD_MT6360 is not set
+# CONFIG_MFD_MT6370 is not set
 CONFIG_MFD_MT6397=m
 CONFIG_MFD_MENF21BMC=m
 CONFIG_MFD_VIPERBOARD=m
+# CONFIG_MFD_NTXEC is not set
 CONFIG_MFD_RETU=m
 # CONFIG_MFD_PCF50633 is not set
-# CONFIG_UCB1400_CORE is not set
+CONFIG_MFD_SY7636A=m
 # CONFIG_MFD_RDC321X is not set
+# CONFIG_MFD_RT4831 is not set
 CONFIG_MFD_RT5033=m
+# CONFIG_MFD_RT5120 is not set
 CONFIG_MFD_RC5T583=y
-CONFIG_MFD_RK808=m
+CONFIG_MFD_RK8XX=m
+CONFIG_MFD_RK8XX_I2C=m
 CONFIG_MFD_RN5T618=y
 CONFIG_MFD_SEC_CORE=y
 # CONFIG_MFD_SI476X_CORE is not set
+CONFIG_MFD_SIMPLE_MFD_I2C=m
 CONFIG_MFD_SM501=m
 CONFIG_MFD_SM501_GPIO=y
 CONFIG_MFD_SKY81452=m
-CONFIG_MFD_SMSC=y
 CONFIG_MFD_STMPE=y
 
 #
@@ -3263,11 +3868,13 @@ CONFIG_MFD_TPS65090=y
 # CONFIG_MFD_TI_LP873X is not set
 # CONFIG_MFD_TI_LP87565 is not set
 CONFIG_MFD_TPS65218=m
+CONFIG_MFD_TPS65219=m
 CONFIG_MFD_TPS6586X=y
 CONFIG_MFD_TPS65910=y
 CONFIG_MFD_TPS65912=y
 CONFIG_MFD_TPS65912_I2C=y
-CONFIG_MFD_TPS80031=y
+CONFIG_MFD_TPS6594=m
+CONFIG_MFD_TPS6594_I2C=m
 CONFIG_TWL4030_CORE=y
 CONFIG_MFD_TWL4030_AUDIO=y
 CONFIG_TWL6040_CORE=y
@@ -3284,9 +3891,13 @@ CONFIG_MFD_WM8350=y
 CONFIG_MFD_WM8350_I2C=y
 CONFIG_MFD_WM8994=y
 CONFIG_MFD_ROHM_BD718XX=m
-CONFIG_MFD_ROHM_BD70528=m
+# CONFIG_MFD_ROHM_BD71828 is not set
+# CONFIG_MFD_ROHM_BD957XMUF is not set
 CONFIG_MFD_STPMIC1=m
 CONFIG_MFD_STMFX=m
+# CONFIG_MFD_ATC260X_I2C is not set
+# CONFIG_MFD_QCOM_PM8008 is not set
+# CONFIG_MFD_RSMU_I2C is not set
 # end of Multifunction device drivers
 
 CONFIG_REGULATOR=y
@@ -3296,13 +3907,12 @@ CONFIG_REGULATOR_88PM800=m
 CONFIG_REGULATOR_ACT8865=m
 CONFIG_REGULATOR_ACT8945A=m
 CONFIG_REGULATOR_AD5398=m
-CONFIG_REGULATOR_ANATOP=m
 CONFIG_REGULATOR_AAT2870=m
 CONFIG_REGULATOR_AS3711=m
 CONFIG_REGULATOR_AS3722=m
+CONFIG_REGULATOR_AW37503=m
 CONFIG_REGULATOR_AXP20X=m
 CONFIG_REGULATOR_BCM590XX=m
-CONFIG_REGULATOR_BD70528=m
 CONFIG_REGULATOR_BD718XX=m
 CONFIG_REGULATOR_BD9571MWV=m
 CONFIG_REGULATOR_DA903X=m
@@ -3310,10 +3920,13 @@ CONFIG_REGULATOR_DA9052=m
 CONFIG_REGULATOR_DA9055=m
 CONFIG_REGULATOR_DA9062=m
 CONFIG_REGULATOR_DA9063=m
+# CONFIG_REGULATOR_DA9121 is not set
 CONFIG_REGULATOR_DA9210=m
 CONFIG_REGULATOR_DA9211=m
 CONFIG_REGULATOR_FAN53555=m
+# CONFIG_REGULATOR_FAN53880 is not set
 CONFIG_REGULATOR_HI6421=m
+CONFIG_REGULATOR_HI6421V530=m
 CONFIG_REGULATOR_ISL9305=m
 CONFIG_REGULATOR_ISL6271A=m
 # CONFIG_REGULATOR_LM363X is not set
@@ -3324,759 +3937,145 @@ CONFIG_REGULATOR_LTC3589=m
 # CONFIG_REGULATOR_LTC3676 is not set
 CONFIG_REGULATOR_MAX14577=m
 CONFIG_REGULATOR_MAX1586=m
+CONFIG_REGULATOR_MAX77541=m
 CONFIG_REGULATOR_MAX77620=m
 CONFIG_REGULATOR_MAX77650=m
+CONFIG_REGULATOR_MAX77857=m
 CONFIG_REGULATOR_MAX8649=m
 CONFIG_REGULATOR_MAX8660=m
+# CONFIG_REGULATOR_MAX8893 is not set
 CONFIG_REGULATOR_MAX8907=m
 CONFIG_REGULATOR_MAX8925=m
 CONFIG_REGULATOR_MAX8952=m
 CONFIG_REGULATOR_MAX8973=m
 CONFIG_REGULATOR_MAX8997=m
 CONFIG_REGULATOR_MAX8998=m
+# CONFIG_REGULATOR_MAX20086 is not set
+# CONFIG_REGULATOR_MAX20411 is not set
 CONFIG_REGULATOR_MAX77686=m
 CONFIG_REGULATOR_MAX77693=m
 CONFIG_REGULATOR_MAX77802=m
+# CONFIG_REGULATOR_MAX77826 is not set
 CONFIG_REGULATOR_MCP16502=m
+# CONFIG_REGULATOR_MP5416 is not set
+# CONFIG_REGULATOR_MP8859 is not set
+# CONFIG_REGULATOR_MP886X is not set
+# CONFIG_REGULATOR_MPQ7920 is not set
 CONFIG_REGULATOR_MT6311=m
+# CONFIG_REGULATOR_MT6315 is not set
 CONFIG_REGULATOR_MT6323=m
+CONFIG_REGULATOR_MT6331=m
+CONFIG_REGULATOR_MT6332=m
+CONFIG_REGULATOR_MT6357=m
+# CONFIG_REGULATOR_MT6358 is not set
+# CONFIG_REGULATOR_MT6359 is not set
 CONFIG_REGULATOR_MT6397=m
 CONFIG_REGULATOR_PALMAS=m
+# CONFIG_REGULATOR_PCA9450 is not set
+# CONFIG_REGULATOR_PF8X00 is not set
 CONFIG_REGULATOR_PFUZE100=m
 CONFIG_REGULATOR_PV88060=m
 CONFIG_REGULATOR_PV88080=m
 CONFIG_REGULATOR_PV88090=m
 CONFIG_REGULATOR_QCOM_SPMI=m
+# CONFIG_REGULATOR_QCOM_USB_VBUS is not set
+CONFIG_REGULATOR_RAA215300=m
+# CONFIG_REGULATOR_RASPBERRYPI_TOUCHSCREEN_ATTINY is not set
 CONFIG_REGULATOR_RC5T583=m
 CONFIG_REGULATOR_RK808=m
 CONFIG_REGULATOR_RN5T618=m
+CONFIG_REGULATOR_ROHM=m
+# CONFIG_REGULATOR_RT4801 is not set
+# CONFIG_REGULATOR_RT4803 is not set
 CONFIG_REGULATOR_RT5033=m
+# CONFIG_REGULATOR_RT5190A is not set
+# CONFIG_REGULATOR_RT5739 is not set
+# CONFIG_REGULATOR_RT5759 is not set
+# CONFIG_REGULATOR_RT6160 is not set
+# CONFIG_REGULATOR_RT6190 is not set
+# CONFIG_REGULATOR_RT6245 is not set
+# CONFIG_REGULATOR_RTQ2134 is not set
+# CONFIG_REGULATOR_RTMV20 is not set
+# CONFIG_REGULATOR_RTQ6752 is not set
+# CONFIG_REGULATOR_RTQ2208 is not set
 CONFIG_REGULATOR_S2MPA01=m
 CONFIG_REGULATOR_S2MPS11=m
 CONFIG_REGULATOR_S5M8767=m
 CONFIG_REGULATOR_SKY81452=m
 CONFIG_REGULATOR_SLG51000=m
 CONFIG_REGULATOR_STPMIC1=m
+# CONFIG_REGULATOR_SY7636A is not set
 CONFIG_REGULATOR_SY8106A=m
+# CONFIG_REGULATOR_SY8824X is not set
+# CONFIG_REGULATOR_SY8827N is not set
 CONFIG_REGULATOR_TPS51632=m
 CONFIG_REGULATOR_TPS62360=m
+# CONFIG_REGULATOR_TPS6286X is not set
+CONFIG_REGULATOR_TPS6287X=m
 CONFIG_REGULATOR_TPS65023=m
 CONFIG_REGULATOR_TPS6507X=m
 CONFIG_REGULATOR_TPS65086=m
 CONFIG_REGULATOR_TPS65090=m
 CONFIG_REGULATOR_TPS65132=m
 CONFIG_REGULATOR_TPS65218=m
+CONFIG_REGULATOR_TPS65219=m
+CONFIG_REGULATOR_TPS6594=m
 CONFIG_REGULATOR_TPS6586X=m
 CONFIG_REGULATOR_TPS65910=m
 CONFIG_REGULATOR_TPS65912=m
-CONFIG_REGULATOR_TPS80031=m
 CONFIG_REGULATOR_VCTRL=m
 CONFIG_REGULATOR_WM831X=m
 CONFIG_REGULATOR_WM8350=m
 CONFIG_REGULATOR_WM8400=m
 CONFIG_REGULATOR_WM8994=m
+# CONFIG_REGULATOR_QCOM_LABIBB is not set
+# CONFIG_RC_CORE is not set
 CONFIG_CEC_CORE=m
 CONFIG_CEC_NOTIFIER=y
-CONFIG_RC_CORE=y
-# CONFIG_RC_MAP is not set
-# CONFIG_LIRC is not set
-CONFIG_RC_DECODERS=y
-CONFIG_IR_NEC_DECODER=m
-CONFIG_IR_RC5_DECODER=m
-CONFIG_IR_RC6_DECODER=m
-CONFIG_IR_JVC_DECODER=m
-CONFIG_IR_SONY_DECODER=m
-CONFIG_IR_SANYO_DECODER=m
-CONFIG_IR_SHARP_DECODER=m
-CONFIG_IR_MCE_KBD_DECODER=m
-CONFIG_IR_XMP_DECODER=m
-# CONFIG_IR_IMON_DECODER is not set
-CONFIG_IR_RCMM_DECODER=m
-CONFIG_RC_DEVICES=y
-# CONFIG_RC_ATI_REMOTE is not set
-# CONFIG_IR_HIX5HD2 is not set
-CONFIG_IR_IMON=m
-# CONFIG_IR_IMON_RAW is not set
-CONFIG_IR_MCEUSB=m
-CONFIG_IR_REDRAT3=m
-CONFIG_IR_STREAMZAP=m
-CONFIG_IR_IGORPLUGUSB=m
-CONFIG_IR_IGUANA=m
-CONFIG_IR_TTUSBIR=m
-CONFIG_RC_LOOPBACK=m
-CONFIG_IR_GPIO_CIR=m
-CONFIG_IR_SERIAL=m
-CONFIG_IR_SERIAL_TRANSMITTER=y
-CONFIG_IR_SIR=m
-CONFIG_RC_XBOX_DVD=m
-CONFIG_MEDIA_SUPPORT=y
-
-#
-# Multimedia core support
-#
-CONFIG_MEDIA_CAMERA_SUPPORT=y
-CONFIG_MEDIA_ANALOG_TV_SUPPORT=y
-CONFIG_MEDIA_DIGITAL_TV_SUPPORT=y
-# CONFIG_MEDIA_RADIO_SUPPORT is not set
-CONFIG_MEDIA_SDR_SUPPORT=y
-CONFIG_MEDIA_CEC_SUPPORT=y
-# CONFIG_MEDIA_CEC_RC is not set
-CONFIG_MEDIA_CONTROLLER=y
-CONFIG_MEDIA_CONTROLLER_DVB=y
-CONFIG_VIDEO_DEV=y
-CONFIG_VIDEO_V4L2_SUBDEV_API=y
-CONFIG_VIDEO_V4L2=y
-# CONFIG_VIDEO_ADV_DEBUG is not set
-# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set
-CONFIG_VIDEO_TUNER=m
-CONFIG_V4L2_MEM2MEM_DEV=m
-CONFIG_V4L2_FLASH_LED_CLASS=m
-CONFIG_V4L2_FWNODE=m
-CONFIG_VIDEOBUF_GEN=m
-CONFIG_VIDEOBUF_VMALLOC=m
-CONFIG_DVB_CORE=y
-# CONFIG_DVB_MMAP is not set
-CONFIG_DVB_NET=y
-CONFIG_DVB_MAX_ADAPTERS=8
-CONFIG_DVB_DYNAMIC_MINORS=y
-# CONFIG_DVB_DEMUX_SECTION_LOSS_LOG is not set
-# CONFIG_DVB_ULE_DEBUG is not set
-
-#
-# Media drivers
-#
-CONFIG_MEDIA_USB_SUPPORT=y
-
-#
-# Webcam devices
-#
-CONFIG_USB_VIDEO_CLASS=m
-CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y
-CONFIG_USB_GSPCA=m
-CONFIG_USB_M5602=m
-CONFIG_USB_STV06XX=m
-CONFIG_USB_GL860=m
-CONFIG_USB_GSPCA_BENQ=m
-CONFIG_USB_GSPCA_CONEX=m
-CONFIG_USB_GSPCA_CPIA1=m
-CONFIG_USB_GSPCA_DTCS033=m
-CONFIG_USB_GSPCA_ETOMS=m
-CONFIG_USB_GSPCA_FINEPIX=m
-CONFIG_USB_GSPCA_JEILINJ=m
-CONFIG_USB_GSPCA_JL2005BCD=m
-CONFIG_USB_GSPCA_KINECT=m
-CONFIG_USB_GSPCA_KONICA=m
-CONFIG_USB_GSPCA_MARS=m
-CONFIG_USB_GSPCA_MR97310A=m
-CONFIG_USB_GSPCA_NW80X=m
-CONFIG_USB_GSPCA_OV519=m
-CONFIG_USB_GSPCA_OV534=m
-CONFIG_USB_GSPCA_OV534_9=m
-CONFIG_USB_GSPCA_PAC207=m
-CONFIG_USB_GSPCA_PAC7302=m
-CONFIG_USB_GSPCA_PAC7311=m
-CONFIG_USB_GSPCA_SE401=m
-CONFIG_USB_GSPCA_SN9C2028=m
-CONFIG_USB_GSPCA_SN9C20X=m
-CONFIG_USB_GSPCA_SONIXB=m
-CONFIG_USB_GSPCA_SONIXJ=m
-CONFIG_USB_GSPCA_SPCA500=m
-CONFIG_USB_GSPCA_SPCA501=m
-CONFIG_USB_GSPCA_SPCA505=m
-CONFIG_USB_GSPCA_SPCA506=m
-CONFIG_USB_GSPCA_SPCA508=m
-CONFIG_USB_GSPCA_SPCA561=m
-CONFIG_USB_GSPCA_SPCA1528=m
-CONFIG_USB_GSPCA_SQ905=m
-CONFIG_USB_GSPCA_SQ905C=m
-CONFIG_USB_GSPCA_SQ930X=m
-CONFIG_USB_GSPCA_STK014=m
-CONFIG_USB_GSPCA_STK1135=m
-CONFIG_USB_GSPCA_STV0680=m
-CONFIG_USB_GSPCA_SUNPLUS=m
-CONFIG_USB_GSPCA_T613=m
-# CONFIG_USB_GSPCA_TOPRO is not set
-# CONFIG_USB_GSPCA_TOUPTEK is not set
-CONFIG_USB_GSPCA_TV8532=m
-CONFIG_USB_GSPCA_VC032X=m
-CONFIG_USB_GSPCA_VICAM=m
-CONFIG_USB_GSPCA_XIRLINK_CIT=m
-CONFIG_USB_GSPCA_ZC3XX=m
-CONFIG_USB_PWC=m
-# CONFIG_USB_PWC_DEBUG is not set
-CONFIG_USB_PWC_INPUT_EVDEV=y
-CONFIG_VIDEO_CPIA2=m
-CONFIG_USB_ZR364XX=m
-CONFIG_USB_STKWEBCAM=m
-CONFIG_USB_S2255=m
-CONFIG_VIDEO_USBTV=m
-
-#
-# Analog TV USB devices
-#
-# CONFIG_VIDEO_PVRUSB2 is not set
-# CONFIG_VIDEO_HDPVR is not set
-# CONFIG_VIDEO_USBVISION is not set
-CONFIG_VIDEO_STK1160_COMMON=m
-CONFIG_VIDEO_STK1160=m
-CONFIG_VIDEO_GO7007=m
-CONFIG_VIDEO_GO7007_USB=m
-CONFIG_VIDEO_GO7007_LOADER=m
-CONFIG_VIDEO_GO7007_USB_S2250_BOARD=m
-
-#
-# Analog/digital TV USB devices
-#
-CONFIG_VIDEO_AU0828=m
-CONFIG_VIDEO_AU0828_V4L2=y
-# CONFIG_VIDEO_AU0828_RC is not set
-CONFIG_VIDEO_CX231XX=m
-CONFIG_VIDEO_CX231XX_RC=y
-CONFIG_VIDEO_CX231XX_ALSA=m
-CONFIG_VIDEO_CX231XX_DVB=m
-CONFIG_VIDEO_TM6000=m
-CONFIG_VIDEO_TM6000_ALSA=m
-CONFIG_VIDEO_TM6000_DVB=m
-
-#
-# Digital TV USB devices
-#
-CONFIG_DVB_USB=m
-# CONFIG_DVB_USB_DEBUG is not set
-CONFIG_DVB_USB_DIB3000MC=m
-CONFIG_DVB_USB_A800=m
-CONFIG_DVB_USB_DIBUSB_MB=m
-CONFIG_DVB_USB_DIBUSB_MB_FAULTY=y
-CONFIG_DVB_USB_DIBUSB_MC=m
-CONFIG_DVB_USB_DIB0700=m
-CONFIG_DVB_USB_UMT_010=m
-CONFIG_DVB_USB_CXUSB=m
-# CONFIG_DVB_USB_CXUSB_ANALOG is not set
-CONFIG_DVB_USB_M920X=m
-CONFIG_DVB_USB_DIGITV=m
-CONFIG_DVB_USB_VP7045=m
-CONFIG_DVB_USB_VP702X=m
-CONFIG_DVB_USB_GP8PSK=m
-CONFIG_DVB_USB_NOVA_T_USB2=m
-CONFIG_DVB_USB_TTUSB2=m
-CONFIG_DVB_USB_DTT200U=m
-CONFIG_DVB_USB_OPERA1=m
-CONFIG_DVB_USB_AF9005=m
-CONFIG_DVB_USB_AF9005_REMOTE=m
-# CONFIG_DVB_USB_PCTV452E is not set
-CONFIG_DVB_USB_DW2102=m
-CONFIG_DVB_USB_CINERGY_T2=m
-CONFIG_DVB_USB_DTV5100=m
-CONFIG_DVB_USB_AZ6027=m
-CONFIG_DVB_USB_TECHNISAT_USB2=m
-CONFIG_DVB_USB_V2=m
-CONFIG_DVB_USB_AF9015=m
-CONFIG_DVB_USB_AF9035=m
-CONFIG_DVB_USB_ANYSEE=m
-CONFIG_DVB_USB_AU6610=m
-CONFIG_DVB_USB_AZ6007=m
-CONFIG_DVB_USB_CE6230=m
-CONFIG_DVB_USB_EC168=m
-CONFIG_DVB_USB_GL861=m
-CONFIG_DVB_USB_LME2510=m
-# CONFIG_DVB_USB_MXL111SF is not set
-CONFIG_DVB_USB_RTL28XXU=m
-CONFIG_DVB_USB_DVBSKY=m
-CONFIG_DVB_USB_ZD1301=m
-CONFIG_SMS_USB_DRV=m
-CONFIG_DVB_B2C2_FLEXCOP_USB=m
-# CONFIG_DVB_B2C2_FLEXCOP_USB_DEBUG is not set
-CONFIG_DVB_AS102=m
-
-#
-# Webcam, TV (analog/digital) USB devices
-#
-CONFIG_VIDEO_EM28XX=m
-CONFIG_VIDEO_EM28XX_V4L2=m
-CONFIG_VIDEO_EM28XX_ALSA=m
-CONFIG_VIDEO_EM28XX_DVB=m
-CONFIG_VIDEO_EM28XX_RC=m
-
-#
-# Software defined radio USB devices
-#
-CONFIG_USB_AIRSPY=m
-CONFIG_USB_HACKRF=m
-
-#
-# USB HDMI CEC adapters
-#
-CONFIG_USB_PULSE8_CEC=m
-CONFIG_USB_RAINSHADOW_CEC=m
-CONFIG_MEDIA_PCI_SUPPORT=y
-
-#
-# Media capture support
-#
-# CONFIG_VIDEO_SOLO6X10 is not set
-CONFIG_VIDEO_TW5864=m
-# CONFIG_VIDEO_TW68 is not set
-CONFIG_VIDEO_TW686X=m
-
-#
-# Media capture/analog TV support
-#
-# CONFIG_VIDEO_IVTV is not set
-# CONFIG_VIDEO_HEXIUM_GEMINI is not set
-# CONFIG_VIDEO_HEXIUM_ORION is not set
-# CONFIG_VIDEO_MXB is not set
-# CONFIG_VIDEO_DT3155 is not set
-
-#
-# Media capture/analog/hybrid TV support
-#
-
-#
-# Media digital TV PCI Adapters
-#
-CONFIG_DVB_PT3=m
-# CONFIG_DVB_DDBRIDGE is not set
-CONFIG_DVB_SMIPCIE=m
-CONFIG_V4L_PLATFORM_DRIVERS=y
-# CONFIG_VIDEO_CAFE_CCIC is not set
-# CONFIG_VIDEO_CADENCE is not set
-# CONFIG_VIDEO_ASPEED is not set
-# CONFIG_VIDEO_MUX is not set
-# CONFIG_VIDEO_XILINX is not set
-CONFIG_V4L_MEM2MEM_DRIVERS=y
-CONFIG_VIDEO_MEM2MEM_DEINTERLACE=m
-CONFIG_VIDEO_SH_VEU=m
-# CONFIG_V4L_TEST_DRIVERS is not set
-CONFIG_DVB_PLATFORM_DRIVERS=y
-# CONFIG_CEC_PLATFORM_DRIVERS is not set
-# CONFIG_SDR_PLATFORM_DRIVERS is not set
-
-#
-# Supported MMC/SDIO adapters
-#
-# CONFIG_SMS_SDIO_DRV is not set
-CONFIG_MEDIA_COMMON_OPTIONS=y
-
-#
-# common driver options
-#
-CONFIG_VIDEO_CX2341X=m
-CONFIG_VIDEO_TVEEPROM=m
-CONFIG_CYPRESS_FIRMWARE=m
-CONFIG_VIDEOBUF2_CORE=m
-CONFIG_VIDEOBUF2_V4L2=m
-CONFIG_VIDEOBUF2_MEMOPS=m
-CONFIG_VIDEOBUF2_DMA_CONTIG=m
-CONFIG_VIDEOBUF2_VMALLOC=m
-CONFIG_VIDEOBUF2_DMA_SG=m
-CONFIG_DVB_B2C2_FLEXCOP=m
-CONFIG_SMS_SIANO_MDTV=m
-CONFIG_SMS_SIANO_RC=y
-
-#
-# Media ancillary drivers (tuners, sensors, i2c, spi, frontends)
-#
-CONFIG_MEDIA_SUBDRV_AUTOSELECT=y
-CONFIG_MEDIA_ATTACH=y
-CONFIG_VIDEO_IR_I2C=y
-
-#
-# I2C Encoders, decoders, sensors and other helper chips
-#
-
-#
-# Audio decoders, processors and mixers
-#
-CONFIG_VIDEO_TVAUDIO=m
-CONFIG_VIDEO_TDA7432=m
-CONFIG_VIDEO_TDA9840=m
-CONFIG_VIDEO_TEA6415C=m
-CONFIG_VIDEO_TEA6420=m
-CONFIG_VIDEO_MSP3400=m
-CONFIG_VIDEO_CS3308=m
-CONFIG_VIDEO_CS5345=m
-CONFIG_VIDEO_CS53L32A=m
-CONFIG_VIDEO_TLV320AIC23B=m
-CONFIG_VIDEO_UDA1342=m
-CONFIG_VIDEO_WM8775=m
-CONFIG_VIDEO_WM8739=m
-CONFIG_VIDEO_VP27SMPX=m
-CONFIG_VIDEO_SONY_BTF_MPX=m
-
-#
-# RDS decoders
-#
-
-#
-# Video decoders
-#
-CONFIG_VIDEO_ADV7180=m
-CONFIG_VIDEO_ADV7183=m
-CONFIG_VIDEO_ADV748X=m
-CONFIG_VIDEO_ADV7604=m
-# CONFIG_VIDEO_ADV7604_CEC is not set
-CONFIG_VIDEO_ADV7842=m
-# CONFIG_VIDEO_ADV7842_CEC is not set
-CONFIG_VIDEO_BT819=m
-CONFIG_VIDEO_BT856=m
-CONFIG_VIDEO_BT866=m
-CONFIG_VIDEO_KS0127=m
-CONFIG_VIDEO_ML86V7667=m
-CONFIG_VIDEO_SAA7110=m
-CONFIG_VIDEO_SAA711X=m
-CONFIG_VIDEO_TC358743=m
-# CONFIG_VIDEO_TC358743_CEC is not set
-CONFIG_VIDEO_TVP514X=m
-CONFIG_VIDEO_TVP5150=m
-CONFIG_VIDEO_TVP7002=m
-CONFIG_VIDEO_TW2804=m
-CONFIG_VIDEO_TW9903=m
-CONFIG_VIDEO_TW9906=m
-CONFIG_VIDEO_TW9910=m
-CONFIG_VIDEO_VPX3220=m
-
-#
-# Video and audio decoders
-#
-CONFIG_VIDEO_SAA717X=m
-CONFIG_VIDEO_CX25840=m
-
-#
-# Video encoders
-#
-CONFIG_VIDEO_SAA7127=m
-CONFIG_VIDEO_SAA7185=m
-CONFIG_VIDEO_ADV7170=m
-CONFIG_VIDEO_ADV7175=m
-CONFIG_VIDEO_ADV7343=m
-CONFIG_VIDEO_ADV7393=m
-CONFIG_VIDEO_ADV7511=m
-# CONFIG_VIDEO_ADV7511_CEC is not set
-CONFIG_VIDEO_AD9389B=m
-CONFIG_VIDEO_AK881X=m
-CONFIG_VIDEO_THS8200=m
-
-#
-# Camera sensor devices
-#
-CONFIG_VIDEO_APTINA_PLL=m
-CONFIG_VIDEO_SMIAPP_PLL=m
-CONFIG_VIDEO_IMX214=m
-CONFIG_VIDEO_IMX258=m
-CONFIG_VIDEO_IMX274=m
-CONFIG_VIDEO_IMX319=m
-CONFIG_VIDEO_IMX355=m
-CONFIG_VIDEO_OV2640=m
-CONFIG_VIDEO_OV2659=m
-CONFIG_VIDEO_OV2680=m
-CONFIG_VIDEO_OV2685=m
-CONFIG_VIDEO_OV5640=m
-CONFIG_VIDEO_OV5645=m
-CONFIG_VIDEO_OV5647=m
-CONFIG_VIDEO_OV6650=m
-CONFIG_VIDEO_OV5670=m
-CONFIG_VIDEO_OV5695=m
-CONFIG_VIDEO_OV7251=m
-CONFIG_VIDEO_OV772X=m
-CONFIG_VIDEO_OV7640=m
-CONFIG_VIDEO_OV7670=m
-CONFIG_VIDEO_OV7740=m
-CONFIG_VIDEO_OV8856=m
-CONFIG_VIDEO_OV9640=m
-CONFIG_VIDEO_OV9650=m
-CONFIG_VIDEO_OV13858=m
-CONFIG_VIDEO_VS6624=m
-CONFIG_VIDEO_MT9M001=m
-CONFIG_VIDEO_MT9M032=m
-CONFIG_VIDEO_MT9M111=m
-CONFIG_VIDEO_MT9P031=m
-CONFIG_VIDEO_MT9T001=m
-CONFIG_VIDEO_MT9T112=m
-CONFIG_VIDEO_MT9V011=m
-CONFIG_VIDEO_MT9V032=m
-CONFIG_VIDEO_MT9V111=m
-CONFIG_VIDEO_SR030PC30=m
-CONFIG_VIDEO_NOON010PC30=m
-CONFIG_VIDEO_M5MOLS=m
-CONFIG_VIDEO_RJ54N1=m
-CONFIG_VIDEO_S5K6AA=m
-CONFIG_VIDEO_S5K6A3=m
-CONFIG_VIDEO_S5K4ECGX=m
-CONFIG_VIDEO_S5K5BAF=m
-CONFIG_VIDEO_SMIAPP=m
-CONFIG_VIDEO_ET8EK8=m
-
-#
-# Lens drivers
-#
-# CONFIG_VIDEO_AD5820 is not set
-# CONFIG_VIDEO_AK7375 is not set
-# CONFIG_VIDEO_DW9714 is not set
-# CONFIG_VIDEO_DW9807_VCM is not set
-
-#
-# Flash devices
-#
-# CONFIG_VIDEO_ADP1653 is not set
-# CONFIG_VIDEO_LM3560 is not set
-# CONFIG_VIDEO_LM3646 is not set
-
-#
-# Video improvement chips
-#
-# CONFIG_VIDEO_UPD64031A is not set
-# CONFIG_VIDEO_UPD64083 is not set
-
-#
-# Audio/Video compression chips
-#
-
-#
-# SDR tuner chips
-#
-# CONFIG_SDR_MAX2175 is not set
-
-#
-# Miscellaneous helper chips
-#
-# CONFIG_VIDEO_THS7303 is not set
-# CONFIG_VIDEO_M52790 is not set
-# CONFIG_VIDEO_I2C is not set
-# CONFIG_VIDEO_ST_MIPID02 is not set
-# end of I2C Encoders, decoders, sensors and other helper chips
-
-#
-# SPI helper chips
-#
-# end of SPI helper chips
-
-CONFIG_MEDIA_TUNER=y
-
-#
-# Customize TV tuners
-#
-CONFIG_MEDIA_TUNER_SIMPLE=y
-CONFIG_MEDIA_TUNER_TDA18250=m
-CONFIG_MEDIA_TUNER_TDA8290=y
-CONFIG_MEDIA_TUNER_TDA827X=y
-CONFIG_MEDIA_TUNER_TDA18271=y
-CONFIG_MEDIA_TUNER_TDA9887=y
-# CONFIG_MEDIA_TUNER_TEA5761 is not set
-# CONFIG_MEDIA_TUNER_TEA5767 is not set
-CONFIG_MEDIA_TUNER_MT20XX=y
-CONFIG_MEDIA_TUNER_MT2060=m
-CONFIG_MEDIA_TUNER_MT2063=m
-CONFIG_MEDIA_TUNER_MT2266=m
-CONFIG_MEDIA_TUNER_MT2131=m
-CONFIG_MEDIA_TUNER_QT1010=m
-CONFIG_MEDIA_TUNER_XC2028=y
-CONFIG_MEDIA_TUNER_XC5000=y
-CONFIG_MEDIA_TUNER_XC4000=y
-CONFIG_MEDIA_TUNER_MXL5005S=m
-CONFIG_MEDIA_TUNER_MXL5007T=m
-CONFIG_MEDIA_TUNER_MC44S803=y
-CONFIG_MEDIA_TUNER_MAX2165=m
-CONFIG_MEDIA_TUNER_TDA18218=m
-CONFIG_MEDIA_TUNER_FC0011=m
-CONFIG_MEDIA_TUNER_FC0012=m
-CONFIG_MEDIA_TUNER_FC0013=m
-CONFIG_MEDIA_TUNER_TDA18212=m
-CONFIG_MEDIA_TUNER_E4000=m
-CONFIG_MEDIA_TUNER_FC2580=m
-CONFIG_MEDIA_TUNER_M88RS6000T=m
-CONFIG_MEDIA_TUNER_TUA9001=m
-CONFIG_MEDIA_TUNER_SI2157=m
-CONFIG_MEDIA_TUNER_IT913X=m
-CONFIG_MEDIA_TUNER_R820T=m
-CONFIG_MEDIA_TUNER_MXL301RF=m
-CONFIG_MEDIA_TUNER_QM1D1C0042=m
-CONFIG_MEDIA_TUNER_QM1D1B0004=m
-# end of Customize TV tuners
-
-#
-# Customise DVB Frontends
-#
-
-#
-# Multistandard (satellite) frontends
-#
-CONFIG_DVB_STB0899=m
-CONFIG_DVB_STB6100=m
-CONFIG_DVB_STV090x=m
-CONFIG_DVB_STV0910=m
-CONFIG_DVB_STV6110x=m
-CONFIG_DVB_STV6111=m
-CONFIG_DVB_MXL5XX=m
-CONFIG_DVB_M88DS3103=m
-
-#
-# Multistandard (cable + terrestrial) frontends
-#
-CONFIG_DVB_DRXK=m
-CONFIG_DVB_TDA18271C2DD=m
-CONFIG_DVB_SI2165=m
-CONFIG_DVB_MN88472=m
-CONFIG_DVB_MN88473=m
-
-#
-# DVB-S (satellite) frontends
-#
-CONFIG_DVB_CX24110=m
-CONFIG_DVB_CX24123=m
-CONFIG_DVB_MT312=m
-CONFIG_DVB_ZL10036=m
-CONFIG_DVB_ZL10039=m
-CONFIG_DVB_S5H1420=m
-CONFIG_DVB_STV0288=m
-CONFIG_DVB_STB6000=m
-CONFIG_DVB_STV6110=m
-CONFIG_DVB_STV0900=m
-CONFIG_DVB_TDA10086=m
-CONFIG_DVB_TDA8261=m
-CONFIG_DVB_VES1X93=m
-CONFIG_DVB_TUNER_ITD1000=m
-CONFIG_DVB_TUNER_CX24113=m
-CONFIG_DVB_TDA826X=m
-CONFIG_DVB_TUA6100=m
-CONFIG_DVB_CX24116=m
-CONFIG_DVB_CX24117=m
-CONFIG_DVB_CX24120=m
-CONFIG_DVB_SI21XX=m
-CONFIG_DVB_TS2020=m
-CONFIG_DVB_DS3000=m
-CONFIG_DVB_MB86A16=m
-CONFIG_DVB_TDA10071=m
-
-#
-# DVB-T (terrestrial) frontends
-#
-CONFIG_DVB_SP8870=m
-CONFIG_DVB_SP887X=m
-CONFIG_DVB_CX22702=m
-CONFIG_DVB_S5H1432=m
-CONFIG_DVB_DRXD=m
-CONFIG_DVB_L64781=m
-CONFIG_DVB_NXT6000=m
-CONFIG_DVB_MT352=m
-CONFIG_DVB_ZL10353=m
-CONFIG_DVB_DIB3000MB=m
-CONFIG_DVB_DIB3000MC=m
-CONFIG_DVB_DIB7000M=m
-CONFIG_DVB_DIB7000P=m
-CONFIG_DVB_DIB9000=m
-CONFIG_DVB_TDA10048=m
-CONFIG_DVB_AF9013=m
-CONFIG_DVB_EC100=m
-CONFIG_DVB_STV0367=m
-CONFIG_DVB_CXD2820R=m
-CONFIG_DVB_CXD2841ER=m
-CONFIG_DVB_RTL2830=m
-CONFIG_DVB_RTL2832=m
-CONFIG_DVB_RTL2832_SDR=m
-CONFIG_DVB_SI2168=m
-CONFIG_DVB_AS102_FE=m
-CONFIG_DVB_ZD1301_DEMOD=m
-CONFIG_DVB_GP8PSK_FE=m
-
-#
-# DVB-C (cable) frontends
-#
-CONFIG_DVB_TDA10021=m
-CONFIG_DVB_TDA10023=m
-
-#
-# ATSC (North American/Korean Terrestrial/Cable DTV) frontends
-#
-CONFIG_DVB_NXT200X=m
-CONFIG_DVB_OR51211=m
-CONFIG_DVB_OR51132=m
-CONFIG_DVB_BCM3510=m
-CONFIG_DVB_LGDT330X=m
-CONFIG_DVB_LGDT3305=m
-CONFIG_DVB_LGDT3306A=m
-CONFIG_DVB_LG2160=m
-CONFIG_DVB_S5H1409=m
-CONFIG_DVB_AU8522=m
-CONFIG_DVB_AU8522_DTV=m
-CONFIG_DVB_AU8522_V4L=m
-CONFIG_DVB_S5H1411=m
-
-#
-# ISDB-T (terrestrial) frontends
-#
-CONFIG_DVB_S921=m
-CONFIG_DVB_DIB8000=m
-CONFIG_DVB_MB86A20S=m
-
-#
-# ISDB-S (satellite) & ISDB-T (terrestrial) frontends
-#
-CONFIG_DVB_TC90522=m
-CONFIG_DVB_MN88443X=m
-
-#
-# Digital terrestrial only tuners/PLL
-#
-CONFIG_DVB_PLL=m
-CONFIG_DVB_TUNER_DIB0070=m
-CONFIG_DVB_TUNER_DIB0090=m
-
-#
-# SEC control devices for DVB-S
-#
-CONFIG_DVB_DRX39XYJ=m
-CONFIG_DVB_LNBH25=m
-CONFIG_DVB_LNBH29=m
-CONFIG_DVB_LNBP22=m
-CONFIG_DVB_ISL6405=m
-CONFIG_DVB_ISL6421=m
-CONFIG_DVB_ISL6423=m
-CONFIG_DVB_A8293=m
-CONFIG_DVB_LGS8GL5=m
-CONFIG_DVB_LGS8GXX=m
-CONFIG_DVB_ATBM8830=m
-CONFIG_DVB_TDA665x=m
-CONFIG_DVB_IX2505V=m
-CONFIG_DVB_M88RS2000=m
-CONFIG_DVB_AF9033=m
-CONFIG_DVB_HORUS3A=m
-CONFIG_DVB_ASCOT2E=m
-CONFIG_DVB_HELENE=m
 
 #
-# Common Interface (EN50221) controller drivers
+# CEC support
 #
-CONFIG_DVB_CXD2099=m
-CONFIG_DVB_SP2=m
+CONFIG_MEDIA_CEC_SUPPORT=y
+# CONFIG_CEC_CH7322 is not set
+# CONFIG_CEC_GPIO is not set
+CONFIG_USB_PULSE8_CEC=m
+CONFIG_USB_RAINSHADOW_CEC=m
+# end of CEC support
 
-#
-# Tools to develop new frontends
-#
-# CONFIG_DVB_DUMMY_FE is not set
-# end of Customise DVB Frontends
+# CONFIG_MEDIA_SUPPORT is not set
 
 #
 # Graphics support
 #
-CONFIG_VGA_ARB=y
-CONFIG_VGA_ARB_MAX_GPUS=16
-CONFIG_DRM=m
+CONFIG_APERTURE_HELPERS=y
+CONFIG_VIDEO_CMDLINE=y
+CONFIG_VIDEO_NOMODESET=y
+# CONFIG_AUXDISPLAY is not set
+CONFIG_DRM=y
 CONFIG_DRM_MIPI_DSI=y
-# CONFIG_DRM_DP_AUX_CHARDEV is not set
-# CONFIG_DRM_DEBUG_SELFTEST is not set
-CONFIG_DRM_KMS_HELPER=m
-CONFIG_DRM_KMS_FB_HELPER=y
+# CONFIG_DRM_DEBUG_MM is not set
+CONFIG_DRM_KMS_HELPER=y
+# CONFIG_DRM_DEBUG_DP_MST_TOPOLOGY_REFS is not set
+# CONFIG_DRM_DEBUG_MODESET_LOCK is not set
 CONFIG_DRM_FBDEV_EMULATION=y
 CONFIG_DRM_FBDEV_OVERALLOC=100
 # CONFIG_DRM_FBDEV_LEAK_PHYS_SMEM is not set
 # CONFIG_DRM_LOAD_EDID_FIRMWARE is not set
+CONFIG_DRM_DISPLAY_HELPER=m
+CONFIG_DRM_DISPLAY_DP_HELPER=y
+CONFIG_DRM_DISPLAY_HDCP_HELPER=y
+CONFIG_DRM_DISPLAY_HDMI_HELPER=y
+# CONFIG_DRM_DP_AUX_CHARDEV is not set
 # CONFIG_DRM_DP_CEC is not set
 CONFIG_DRM_TTM=m
+CONFIG_DRM_EXEC=m
+CONFIG_DRM_BUDDY=m
 CONFIG_DRM_VRAM_HELPER=m
-CONFIG_DRM_GEM_CMA_HELPER=y
-CONFIG_DRM_KMS_CMA_HELPER=y
+CONFIG_DRM_TTM_HELPER=m
+CONFIG_DRM_GEM_DMA_HELPER=m
 CONFIG_DRM_GEM_SHMEM_HELPER=y
-CONFIG_DRM_VM=y
+CONFIG_DRM_SUBALLOC_HELPER=m
 CONFIG_DRM_SCHED=m
 
 #
@@ -4090,15 +4089,16 @@ CONFIG_DRM_I2C_NXP_TDA9950=m
 #
 # ARM devices
 #
-# CONFIG_DRM_KOMEDA is not set
+CONFIG_DRM_KOMEDA=m
 # end of ARM devices
 
 CONFIG_DRM_RADEON=m
-# CONFIG_DRM_RADEON_USERPTR is not set
+CONFIG_DRM_RADEON_USERPTR=y
 CONFIG_DRM_AMDGPU=m
 CONFIG_DRM_AMDGPU_SI=y
 CONFIG_DRM_AMDGPU_CIK=y
-# CONFIG_DRM_AMDGPU_GART_DEBUGFS is not set
+CONFIG_DRM_AMDGPU_USERPTR=y
+# CONFIG_DRM_AMDGPU_WERROR is not set
 
 #
 # ACP (Audio CoProcessor) Configuration
@@ -4110,14 +4110,16 @@ CONFIG_DRM_AMD_ACP=y
 # Display Engine Configuration
 #
 CONFIG_DRM_AMD_DC=y
-# CONFIG_DEBUG_KERNEL_DC is not set
+CONFIG_DRM_AMD_DC_FP=y
+# CONFIG_DRM_AMD_DC_SI is not set
+# CONFIG_DRM_AMD_SECURE_DISPLAY is not set
 # end of Display Engine Configuration
 
 CONFIG_DRM_NOUVEAU=m
-CONFIG_NOUVEAU_LEGACY_CTX_SUPPORT=y
 CONFIG_NOUVEAU_DEBUG=5
 CONFIG_NOUVEAU_DEBUG_DEFAULT=3
 # CONFIG_NOUVEAU_DEBUG_MMU is not set
+# CONFIG_NOUVEAU_DEBUG_PUSH is not set
 CONFIG_DRM_NOUVEAU_BACKLIGHT=y
 
 #
@@ -4132,46 +4134,81 @@ CONFIG_DRM_NOUVEAU_BACKLIGHT=y
 
 CONFIG_DRM_VGEM=m
 CONFIG_DRM_VKMS=m
-CONFIG_DRM_ATI_PCIGART=y
+CONFIG_DRM_VMWGFX=m
 CONFIG_DRM_UDL=m
 CONFIG_DRM_AST=m
 CONFIG_DRM_MGAG200=m
-CONFIG_DRM_CIRRUS_QEMU=m
-CONFIG_DRM_RCAR_DW_HDMI=m
-CONFIG_DRM_RCAR_LVDS=m
 CONFIG_DRM_QXL=m
-CONFIG_DRM_BOCHS=m
 CONFIG_DRM_VIRTIO_GPU=m
+CONFIG_DRM_VIRTIO_GPU_KMS=y
 CONFIG_DRM_PANEL=y
 
 #
 # Display Panels
 #
-CONFIG_DRM_PANEL_ARM_VERSATILE=m
-CONFIG_DRM_PANEL_LVDS=m
-CONFIG_DRM_PANEL_SIMPLE=m
-CONFIG_DRM_PANEL_FEIYANG_FY07024DI26A30D=m
+# CONFIG_DRM_PANEL_ARM_VERSATILE is not set
+# CONFIG_DRM_PANEL_ASUS_Z00T_TM5P5_NT35596 is not set
+# CONFIG_DRM_PANEL_BOE_BF060Y8M_AJ0 is not set
+# CONFIG_DRM_PANEL_BOE_HIMAX8279D is not set
+# CONFIG_DRM_PANEL_BOE_TV101WUM_NL6 is not set
+# CONFIG_DRM_PANEL_DSI_CM is not set
+# CONFIG_DRM_PANEL_LVDS is not set
+# CONFIG_DRM_PANEL_SIMPLE is not set
+# CONFIG_DRM_PANEL_EDP is not set
+# CONFIG_DRM_PANEL_EBBG_FT8719 is not set
+# CONFIG_DRM_PANEL_ELIDA_KD35T133 is not set
+# CONFIG_DRM_PANEL_FEIXIN_K101_IM2BA02 is not set
+# CONFIG_DRM_PANEL_FEIYANG_FY07024DI26A30D is not set
+# CONFIG_DRM_PANEL_HIMAX_HX8394 is not set
 # CONFIG_DRM_PANEL_ILITEK_ILI9881C is not set
-CONFIG_DRM_PANEL_INNOLUX_P079ZCA=m
-CONFIG_DRM_PANEL_JDI_LT070ME05000=m
-CONFIG_DRM_PANEL_KINGDISPLAY_KD097D04=m
-CONFIG_DRM_PANEL_OLIMEX_LCD_OLINUXINO=m
+# CONFIG_DRM_PANEL_INNOLUX_P079ZCA is not set
+# CONFIG_DRM_PANEL_JADARD_JD9365DA_H3 is not set
+# CONFIG_DRM_PANEL_JDI_LT070ME05000 is not set
+# CONFIG_DRM_PANEL_JDI_R63452 is not set
+# CONFIG_DRM_PANEL_KHADAS_TS050 is not set
+# CONFIG_DRM_PANEL_KINGDISPLAY_KD097D04 is not set
+# CONFIG_DRM_PANEL_LEADTEK_LTK050H3146W is not set
+# CONFIG_DRM_PANEL_LEADTEK_LTK500HD1829 is not set
+# CONFIG_DRM_PANEL_NEWVISION_NV3051D is not set
+# CONFIG_DRM_PANEL_NOVATEK_NT35510 is not set
+# CONFIG_DRM_PANEL_NOVATEK_NT35560 is not set
+# CONFIG_DRM_PANEL_NOVATEK_NT35950 is not set
+# CONFIG_DRM_PANEL_NOVATEK_NT36523 is not set
+# CONFIG_DRM_PANEL_NOVATEK_NT36672A is not set
+# CONFIG_DRM_PANEL_MANTIX_MLAF057WE51 is not set
+# CONFIG_DRM_PANEL_OLIMEX_LCD_OLINUXINO is not set
 # CONFIG_DRM_PANEL_ORISETECH_OTM8009A is not set
-CONFIG_DRM_PANEL_OSD_OSD101T2587_53TS=m
-CONFIG_DRM_PANEL_PANASONIC_VVX10F034N00=m
+# CONFIG_DRM_PANEL_OSD_OSD101T2587_53TS is not set
+# CONFIG_DRM_PANEL_PANASONIC_VVX10F034N00 is not set
 # CONFIG_DRM_PANEL_RASPBERRYPI_TOUCHSCREEN is not set
+# CONFIG_DRM_PANEL_RAYDIUM_RM67191 is not set
 # CONFIG_DRM_PANEL_RAYDIUM_RM68200 is not set
-# CONFIG_DRM_PANEL_ROCKTECH_JH057N00900 is not set
 # CONFIG_DRM_PANEL_RONBO_RB070D30 is not set
+# CONFIG_DRM_PANEL_SAMSUNG_ATNA33XC20 is not set
 # CONFIG_DRM_PANEL_SAMSUNG_S6D16D0 is not set
-CONFIG_DRM_PANEL_SAMSUNG_S6E3HA2=m
+# CONFIG_DRM_PANEL_SAMSUNG_S6D7AA0 is not set
+# CONFIG_DRM_PANEL_SAMSUNG_S6E3HA2 is not set
 # CONFIG_DRM_PANEL_SAMSUNG_S6E63J0X03 is not set
-CONFIG_DRM_PANEL_SAMSUNG_S6E8AA0=m
+# CONFIG_DRM_PANEL_SAMSUNG_S6E63M0 is not set
+# CONFIG_DRM_PANEL_SAMSUNG_S6E88A0_AMS452EF01 is not set
+# CONFIG_DRM_PANEL_SAMSUNG_S6E8AA0 is not set
+# CONFIG_DRM_PANEL_SAMSUNG_SOFEF00 is not set
 # CONFIG_DRM_PANEL_SEIKO_43WVF1G is not set
-CONFIG_DRM_PANEL_SHARP_LQ101R1SX01=m
-CONFIG_DRM_PANEL_SHARP_LS043T1LE01=m
-CONFIG_DRM_PANEL_SITRONIX_ST7701=m
+# CONFIG_DRM_PANEL_SHARP_LQ101R1SX01 is not set
+# CONFIG_DRM_PANEL_SHARP_LS037V7DW01 is not set
+# CONFIG_DRM_PANEL_SHARP_LS043T1LE01 is not set
+# CONFIG_DRM_PANEL_SHARP_LS060T1SX01 is not set
+# CONFIG_DRM_PANEL_SITRONIX_ST7701 is not set
+# CONFIG_DRM_PANEL_SITRONIX_ST7703 is not set
+# CONFIG_DRM_PANEL_SONY_TD4353_JDI is not set
+# CONFIG_DRM_PANEL_SONY_TULIP_TRULY_NT35521 is not set
+# CONFIG_DRM_PANEL_STARTEK_KD070FHFID015 is not set
+# CONFIG_DRM_PANEL_TDO_TL070WSH30 is not set
 # CONFIG_DRM_PANEL_TRULY_NT35597_WQXGA is not set
+# CONFIG_DRM_PANEL_VISIONOX_RM69299 is not set
+# CONFIG_DRM_PANEL_VISIONOX_VTDR6130 is not set
+# CONFIG_DRM_PANEL_VISIONOX_R66451 is not set
+# CONFIG_DRM_PANEL_XINPENG_XPP055C272 is not set
 # end of Display Panels
 
 CONFIG_DRM_BRIDGE=y
@@ -4180,71 +4217,71 @@ CONFIG_DRM_PANEL_BRIDGE=y
 #
 # Display Interface Bridges
 #
-CONFIG_DRM_ANALOGIX_ANX78XX=m
-CONFIG_DRM_CDNS_DSI=m
-CONFIG_DRM_DUMB_VGA_DAC=m
-CONFIG_DRM_LVDS_ENCODER=m
-CONFIG_DRM_MEGACHIPS_STDPXXXX_GE_B850V3_FW=m
-CONFIG_DRM_NXP_PTN3460=m
-CONFIG_DRM_PARADE_PS8622=m
-CONFIG_DRM_SIL_SII8620=m
-CONFIG_DRM_SII902X=m
-CONFIG_DRM_SII9234=m
-CONFIG_DRM_THINE_THC63LVD1024=m
-CONFIG_DRM_TOSHIBA_TC358764=m
-CONFIG_DRM_TOSHIBA_TC358767=m
-CONFIG_DRM_TI_TFP410=m
-CONFIG_DRM_TI_SN65DSI86=m
+# CONFIG_DRM_CHIPONE_ICN6211 is not set
+# CONFIG_DRM_CHRONTEL_CH7033 is not set
+# CONFIG_DRM_ITE_IT6505 is not set
+# CONFIG_DRM_LONTIUM_LT8912B is not set
+# CONFIG_DRM_LONTIUM_LT9211 is not set
+# CONFIG_DRM_LONTIUM_LT9611 is not set
+# CONFIG_DRM_LONTIUM_LT9611UXC is not set
+# CONFIG_DRM_ITE_IT66121 is not set
+# CONFIG_DRM_LVDS_CODEC is not set
+# CONFIG_DRM_MEGACHIPS_STDPXXXX_GE_B850V3_FW is not set
+# CONFIG_DRM_NWL_MIPI_DSI is not set
+# CONFIG_DRM_NXP_PTN3460 is not set
+# CONFIG_DRM_PARADE_PS8622 is not set
+# CONFIG_DRM_PARADE_PS8640 is not set
+# CONFIG_DRM_SAMSUNG_DSIM is not set
+# CONFIG_DRM_SIL_SII8620 is not set
+# CONFIG_DRM_SII902X is not set
+# CONFIG_DRM_SII9234 is not set
+# CONFIG_DRM_SIMPLE_BRIDGE is not set
+# CONFIG_DRM_THINE_THC63LVD1024 is not set
+# CONFIG_DRM_TOSHIBA_TC358762 is not set
+# CONFIG_DRM_TOSHIBA_TC358764 is not set
+# CONFIG_DRM_TOSHIBA_TC358767 is not set
+# CONFIG_DRM_TOSHIBA_TC358768 is not set
+# CONFIG_DRM_TOSHIBA_TC358775 is not set
+# CONFIG_DRM_TI_DLPC3433 is not set
+# CONFIG_DRM_TI_TFP410 is not set
+# CONFIG_DRM_TI_SN65DSI83 is not set
+# CONFIG_DRM_TI_SN65DSI86 is not set
+# CONFIG_DRM_TI_TPD12S015 is not set
+# CONFIG_DRM_ANALOGIX_ANX6345 is not set
+# CONFIG_DRM_ANALOGIX_ANX78XX is not set
+# CONFIG_DRM_ANALOGIX_ANX7625 is not set
 # CONFIG_DRM_I2C_ADV7511 is not set
-CONFIG_DRM_DW_HDMI=m
-CONFIG_DRM_DW_HDMI_AHB_AUDIO=m
-CONFIG_DRM_DW_HDMI_CEC=m
+# CONFIG_DRM_CDNS_DSI is not set
+# CONFIG_DRM_CDNS_MHDP8546 is not set
 # end of Display Interface Bridges
 
-CONFIG_DRM_ETNAVIV=m
-CONFIG_DRM_ETNAVIV_THERMAL=y
-CONFIG_DRM_ARCPGU=m
-CONFIG_DRM_HISI_HIBMC=m
-CONFIG_DRM_MXS=y
-CONFIG_DRM_MXSFB=m
-CONFIG_DRM_TINYDRM=m
+CONFIG_DRM_LOONGSON=m
+# CONFIG_DRM_ETNAVIV is not set
+# CONFIG_DRM_LOGICVC is not set
+# CONFIG_DRM_ARCPGU is not set
+CONFIG_DRM_BOCHS=m
+CONFIG_DRM_CIRRUS_QEMU=m
+# CONFIG_DRM_GM12U320 is not set
+CONFIG_DRM_SIMPLEDRM=y
 CONFIG_DRM_XEN=y
 CONFIG_DRM_XEN_FRONTEND=m
+# CONFIG_DRM_GUD is not set
+# CONFIG_DRM_SSD130X is not set
+CONFIG_DRM_HYPERV=m
 CONFIG_DRM_LEGACY=y
-# CONFIG_DRM_TDFX is not set
-# CONFIG_DRM_R128 is not set
-# CONFIG_DRM_MGA is not set
-# CONFIG_DRM_VIA is not set
-# CONFIG_DRM_SAVAGE is not set
+CONFIG_DRM_PANEL_ORIENTATION_QUIRKS=y
 
 #
 # Frame buffer Devices
 #
-CONFIG_FB_CMDLINE=y
-CONFIG_FB_NOTIFY=y
 CONFIG_FB=y
-CONFIG_FIRMWARE_EDID=y
-CONFIG_FB_CFB_FILLRECT=y
-CONFIG_FB_CFB_COPYAREA=y
-CONFIG_FB_CFB_IMAGEBLIT=y
-CONFIG_FB_SYS_FILLRECT=m
-CONFIG_FB_SYS_COPYAREA=m
-CONFIG_FB_SYS_IMAGEBLIT=m
-# CONFIG_FB_FOREIGN_ENDIAN is not set
-CONFIG_FB_SYS_FOPS=m
-CONFIG_FB_DEFERRED_IO=y
-# CONFIG_FB_MODE_HELPERS is not set
-CONFIG_FB_TILEBLITTING=y
-
-#
-# Frame buffer hardware drivers
-#
 # CONFIG_FB_CIRRUS is not set
 # CONFIG_FB_PM2 is not set
 # CONFIG_FB_CYBER2000 is not set
 # CONFIG_FB_ASILIANT is not set
 # CONFIG_FB_IMSTT is not set
 # CONFIG_FB_UVESA is not set
+# CONFIG_FB_EFI is not set
 # CONFIG_FB_OPENCORES is not set
 # CONFIG_FB_S1D13XXX is not set
 # CONFIG_FB_NVIDIA is not set
@@ -4260,7 +4297,6 @@ CONFIG_FB_TILEBLITTING=y
 # CONFIG_FB_NEOMAGIC is not set
 # CONFIG_FB_KYRO is not set
 # CONFIG_FB_3DFX is not set
-# CONFIG_FB_VOODOO1 is not set
 # CONFIG_FB_VT8623 is not set
 # CONFIG_FB_TRIDENT is not set
 # CONFIG_FB_ARK is not set
@@ -4268,42 +4304,62 @@ CONFIG_FB_TILEBLITTING=y
 # CONFIG_FB_CARMINE is not set
 # CONFIG_FB_SM501 is not set
 # CONFIG_FB_SMSCUFX is not set
-# CONFIG_FB_UDL is not set
 # CONFIG_FB_IBM_GXT4500 is not set
 # CONFIG_FB_VIRTUAL is not set
-CONFIG_XEN_FBDEV_FRONTEND=m
+# CONFIG_XEN_FBDEV_FRONTEND is not set
 # CONFIG_FB_METRONOME is not set
 # CONFIG_FB_MB862XX is not set
-CONFIG_FB_SIMPLE=y
+# CONFIG_FB_HYPERV is not set
 # CONFIG_FB_SSD1307 is not set
 # CONFIG_FB_SM712 is not set
+CONFIG_FB_CORE=y
+CONFIG_FB_NOTIFY=y
+# CONFIG_FIRMWARE_EDID is not set
+# CONFIG_FB_DEVICE is not set
+CONFIG_FB_CFB_FILLRECT=y
+CONFIG_FB_CFB_COPYAREA=y
+CONFIG_FB_CFB_IMAGEBLIT=y
+CONFIG_FB_SYS_FILLRECT=y
+CONFIG_FB_SYS_COPYAREA=y
+CONFIG_FB_SYS_IMAGEBLIT=y
+# CONFIG_FB_FOREIGN_ENDIAN is not set
+CONFIG_FB_SYS_FOPS=y
+CONFIG_FB_DEFERRED_IO=y
+CONFIG_FB_DMAMEM_HELPERS=y
+CONFIG_FB_IOMEM_HELPERS=y
+CONFIG_FB_SYSMEM_HELPERS=y
+CONFIG_FB_SYSMEM_HELPERS_DEFERRED=y
+CONFIG_FB_MODE_HELPERS=y
+CONFIG_FB_TILEBLITTING=y
 # end of Frame buffer Devices
 
 #
 # Backlight & LCD device support
 #
 CONFIG_LCD_CLASS_DEVICE=m
-CONFIG_BACKLIGHT_CLASS_DEVICE=y
-# CONFIG_BACKLIGHT_GENERIC is not set
-# CONFIG_BACKLIGHT_LM3533 is not set
-# CONFIG_BACKLIGHT_DA903X is not set
-# CONFIG_BACKLIGHT_DA9052 is not set
-# CONFIG_BACKLIGHT_MAX8925 is not set
-# CONFIG_BACKLIGHT_PM8941_WLED is not set
-# CONFIG_BACKLIGHT_WM831X is not set
-# CONFIG_BACKLIGHT_ADP5520 is not set
-# CONFIG_BACKLIGHT_ADP8860 is not set
-# CONFIG_BACKLIGHT_ADP8870 is not set
-# CONFIG_BACKLIGHT_88PM860X is not set
-# CONFIG_BACKLIGHT_AAT2870 is not set
-# CONFIG_BACKLIGHT_LM3639 is not set
-# CONFIG_BACKLIGHT_PANDORA is not set
-# CONFIG_BACKLIGHT_SKY81452 is not set
-# CONFIG_BACKLIGHT_AS3711 is not set
-# CONFIG_BACKLIGHT_GPIO is not set
-# CONFIG_BACKLIGHT_LV5207LP is not set
-# CONFIG_BACKLIGHT_BD6107 is not set
-# CONFIG_BACKLIGHT_ARCXCNN is not set
+CONFIG_BACKLIGHT_CLASS_DEVICE=m
+CONFIG_BACKLIGHT_KTD253=m
+CONFIG_BACKLIGHT_KTZ8866=m
+CONFIG_BACKLIGHT_LM3533=m
+CONFIG_BACKLIGHT_DA903X=m
+CONFIG_BACKLIGHT_DA9052=m
+CONFIG_BACKLIGHT_MAX8925=m
+CONFIG_BACKLIGHT_QCOM_WLED=m
+CONFIG_BACKLIGHT_WM831X=m
+CONFIG_BACKLIGHT_ADP5520=m
+CONFIG_BACKLIGHT_ADP8860=m
+CONFIG_BACKLIGHT_ADP8870=m
+CONFIG_BACKLIGHT_88PM860X=m
+CONFIG_BACKLIGHT_AAT2870=m
+CONFIG_BACKLIGHT_LM3639=m
+CONFIG_BACKLIGHT_PANDORA=m
+CONFIG_BACKLIGHT_SKY81452=m
+CONFIG_BACKLIGHT_AS3711=m
+CONFIG_BACKLIGHT_GPIO=m
+CONFIG_BACKLIGHT_LV5207LP=m
+CONFIG_BACKLIGHT_BD6107=m
+CONFIG_BACKLIGHT_ARCXCNN=m
+CONFIG_BACKLIGHT_LED=m
 # end of Backlight & LCD device support
 
 CONFIG_VIDEOMODE_HELPERS=y
@@ -4313,9 +4369,12 @@ CONFIG_HDMI=y
 # Console display driver support
 #
 CONFIG_DUMMY_CONSOLE=y
+CONFIG_DUMMY_CONSOLE_COLUMNS=80
+CONFIG_DUMMY_CONSOLE_ROWS=25
 CONFIG_FRAMEBUFFER_CONSOLE=y
+# CONFIG_FRAMEBUFFER_CONSOLE_LEGACY_ACCELERATION is not set
 CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
-# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
+CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
 CONFIG_FRAMEBUFFER_CONSOLE_DEFERRED_TAKEOVER=y
 # end of Console display driver support
 
@@ -4325,158 +4384,9 @@ CONFIG_LOGO=y
 CONFIG_LOGO_LINUX_CLUT224=y
 # end of Graphics support
 
-CONFIG_SOUND=m
-CONFIG_SOUND_OSS_CORE=y
-CONFIG_SOUND_OSS_CORE_PRECLAIM=y
-CONFIG_SND=m
-CONFIG_SND_TIMER=m
-CONFIG_SND_PCM=m
-CONFIG_SND_PCM_ELD=y
-CONFIG_SND_PCM_IEC958=y
-CONFIG_SND_HWDEP=m
-CONFIG_SND_SEQ_DEVICE=m
-CONFIG_SND_RAWMIDI=m
-CONFIG_SND_JACK=y
-CONFIG_SND_JACK_INPUT_DEV=y
-CONFIG_SND_OSSEMUL=y
-CONFIG_SND_MIXER_OSS=m
-CONFIG_SND_PCM_OSS=m
-CONFIG_SND_PCM_OSS_PLUGINS=y
-CONFIG_SND_PCM_TIMER=y
-CONFIG_SND_HRTIMER=m
-CONFIG_SND_DYNAMIC_MINORS=y
-CONFIG_SND_MAX_CARDS=32
-# CONFIG_SND_SUPPORT_OLD_API is not set
-CONFIG_SND_PROC_FS=y
-CONFIG_SND_VERBOSE_PROCFS=y
-CONFIG_SND_VERBOSE_PRINTK=y
-# CONFIG_SND_DEBUG is not set
-CONFIG_SND_VMASTER=y
-CONFIG_SND_SEQUENCER=m
-CONFIG_SND_SEQ_DUMMY=m
-CONFIG_SND_SEQUENCER_OSS=m
-CONFIG_SND_SEQ_HRTIMER_DEFAULT=y
-CONFIG_SND_SEQ_MIDI_EVENT=m
-CONFIG_SND_SEQ_MIDI=m
-CONFIG_SND_SEQ_MIDI_EMUL=m
-CONFIG_SND_SEQ_VIRMIDI=m
-CONFIG_SND_MPU401_UART=m
-CONFIG_SND_OPL3_LIB=m
-CONFIG_SND_OPL3_LIB_SEQ=m
-CONFIG_SND_VX_LIB=m
-CONFIG_SND_AC97_CODEC=m
-CONFIG_SND_DRIVERS=y
-CONFIG_SND_DUMMY=m
-CONFIG_SND_ALOOP=m
-CONFIG_SND_VIRMIDI=m
-CONFIG_SND_MTPAV=m
-CONFIG_SND_SERIAL_U16550=m
-CONFIG_SND_MPU401=m
-CONFIG_SND_AC97_POWER_SAVE=y
-CONFIG_SND_AC97_POWER_SAVE_DEFAULT=0
-CONFIG_SND_PCI=y
-CONFIG_SND_AD1889=m
-CONFIG_SND_ATIIXP=m
-CONFIG_SND_ATIIXP_MODEM=m
-CONFIG_SND_AU8810=m
-CONFIG_SND_AU8820=m
-CONFIG_SND_AU8830=m
-# CONFIG_SND_AW2 is not set
-CONFIG_SND_BT87X=m
-# CONFIG_SND_BT87X_OVERCLOCK is not set
-CONFIG_SND_CA0106=m
-CONFIG_SND_CMIPCI=m
-CONFIG_SND_OXYGEN_LIB=m
-CONFIG_SND_OXYGEN=m
-CONFIG_SND_CS4281=m
-CONFIG_SND_CS46XX=m
-CONFIG_SND_CS46XX_NEW_DSP=y
-CONFIG_SND_CTXFI=m
-CONFIG_SND_DARLA20=m
-CONFIG_SND_GINA20=m
-CONFIG_SND_LAYLA20=m
-CONFIG_SND_DARLA24=m
-CONFIG_SND_GINA24=m
-CONFIG_SND_LAYLA24=m
-CONFIG_SND_MONA=m
-CONFIG_SND_MIA=m
-CONFIG_SND_ECHO3G=m
-CONFIG_SND_INDIGO=m
-CONFIG_SND_INDIGOIO=m
-CONFIG_SND_INDIGODJ=m
-CONFIG_SND_INDIGOIOX=m
-CONFIG_SND_INDIGODJX=m
-CONFIG_SND_ENS1370=m
-CONFIG_SND_ENS1371=m
-CONFIG_SND_FM801=m
-CONFIG_SND_HDSP=m
-CONFIG_SND_HDSPM=m
-CONFIG_SND_ICE1724=m
-CONFIG_SND_INTEL8X0=m
-CONFIG_SND_INTEL8X0M=m
-CONFIG_SND_KORG1212=m
-CONFIG_SND_LOLA=m
-CONFIG_SND_MIXART=m
-CONFIG_SND_NM256=m
-CONFIG_SND_PCXHR=m
-CONFIG_SND_RIPTIDE=m
-CONFIG_SND_RME32=m
-CONFIG_SND_RME96=m
-CONFIG_SND_RME9652=m
-CONFIG_SND_VIA82XX=m
-CONFIG_SND_VIA82XX_MODEM=m
-CONFIG_SND_VIRTUOSO=m
-CONFIG_SND_VX222=m
-CONFIG_SND_YMFPCI=m
-
-#
-# HD-Audio
-#
-CONFIG_SND_HDA=m
-CONFIG_SND_HDA_INTEL=m
-CONFIG_SND_HDA_HWDEP=y
-CONFIG_SND_HDA_RECONFIG=y
-CONFIG_SND_HDA_INPUT_BEEP=y
-CONFIG_SND_HDA_INPUT_BEEP_MODE=1
-# CONFIG_SND_HDA_PATCH_LOADER is not set
-CONFIG_SND_HDA_CODEC_REALTEK=m
-CONFIG_SND_HDA_CODEC_ANALOG=m
-CONFIG_SND_HDA_CODEC_SIGMATEL=m
-CONFIG_SND_HDA_CODEC_VIA=m
-CONFIG_SND_HDA_CODEC_HDMI=m
-CONFIG_SND_HDA_CODEC_CIRRUS=m
-CONFIG_SND_HDA_CODEC_CONEXANT=m
-CONFIG_SND_HDA_CODEC_CA0110=m
-CONFIG_SND_HDA_CODEC_CA0132=m
-# CONFIG_SND_HDA_CODEC_CA0132_DSP is not set
-CONFIG_SND_HDA_CODEC_CMEDIA=m
-CONFIG_SND_HDA_CODEC_SI3054=m
-CONFIG_SND_HDA_GENERIC=m
-CONFIG_SND_HDA_POWER_SAVE_DEFAULT=0
-# end of HD-Audio
-
-CONFIG_SND_HDA_CORE=m
-CONFIG_SND_HDA_COMPONENT=y
-CONFIG_SND_HDA_PREALLOC_SIZE=64
-CONFIG_SND_USB=y
-CONFIG_SND_USB_AUDIO=m
-CONFIG_SND_USB_AUDIO_USE_MEDIA_CONTROLLER=y
-CONFIG_SND_USB_UA101=m
-CONFIG_SND_USB_CAIAQ=m
-CONFIG_SND_USB_CAIAQ_INPUT=y
-CONFIG_SND_USB_6FIRE=m
-CONFIG_SND_USB_HIFACE=m
-CONFIG_SND_BCD2000=m
-# CONFIG_SND_USB_POD is not set
-# CONFIG_SND_USB_PODHD is not set
-# CONFIG_SND_USB_TONEPORT is not set
-# CONFIG_SND_USB_VARIAX is not set
-CONFIG_SND_XEN_FRONTEND=m
-CONFIG_AC97_BUS=m
-
-#
-# HID support
-#
+# CONFIG_DRM_ACCEL is not set
+# CONFIG_SOUND is not set
+CONFIG_HID_SUPPORT=y
 CONFIG_HID=y
 # CONFIG_HID_BATTERY_STRENGTH is not set
 CONFIG_HIDRAW=y
@@ -4501,25 +4411,32 @@ CONFIG_HID_CHICONY=y
 CONFIG_HID_CORSAIR=m
 # CONFIG_HID_COUGAR is not set
 # CONFIG_HID_MACALLY is not set
-# CONFIG_HID_PRODIKEYS is not set
 # CONFIG_HID_CMEDIA is not set
 CONFIG_HID_CP2112=m
+# CONFIG_HID_CREATIVE_SB0540 is not set
 CONFIG_HID_CYPRESS=y
 # CONFIG_HID_DRAGONRISE is not set
 # CONFIG_HID_EMS_FF is not set
 # CONFIG_HID_ELAN is not set
 # CONFIG_HID_ELECOM is not set
 # CONFIG_HID_ELO is not set
+# CONFIG_HID_EVISION is not set
 CONFIG_HID_EZKEY=y
+# CONFIG_HID_FT260 is not set
 # CONFIG_HID_GEMBIRD is not set
 # CONFIG_HID_GFRM is not set
+# CONFIG_HID_GLORIOUS is not set
 # CONFIG_HID_HOLTEK is not set
+# CONFIG_HID_GOOGLE_STADIA_FF is not set
+# CONFIG_HID_VIVALDI is not set
 CONFIG_HID_GT683R=m
 CONFIG_HID_KEYTOUCH=m
 CONFIG_HID_KYE=y
 # CONFIG_HID_UCLOGIC is not set
 # CONFIG_HID_WALTOP is not set
 # CONFIG_HID_VIEWSONIC is not set
+# CONFIG_HID_VRC2 is not set
+# CONFIG_HID_XIAOMI is not set
 CONFIG_HID_GYRATION=m
 # CONFIG_HID_ICADE is not set
 CONFIG_HID_ITE=m
@@ -4529,6 +4446,7 @@ CONFIG_HID_KENSINGTON=y
 CONFIG_HID_LCPOWER=m
 CONFIG_HID_LED=m
 CONFIG_HID_LENOVO=m
+# CONFIG_HID_LETSKETCH is not set
 CONFIG_HID_LOGITECH=y
 CONFIG_HID_LOGITECH_DJ=m
 CONFIG_HID_LOGITECH_HIDPP=m
@@ -4539,10 +4457,12 @@ CONFIG_HID_LOGITECH_HIDPP=m
 # CONFIG_HID_MAGICMOUSE is not set
 # CONFIG_HID_MALTRON is not set
 # CONFIG_HID_MAYFLASH is not set
+# CONFIG_HID_MEGAWORLD_FF is not set
 # CONFIG_HID_REDRAGON is not set
 CONFIG_HID_MICROSOFT=y
 CONFIG_HID_MONTEREY=y
 # CONFIG_HID_MULTITOUCH is not set
+# CONFIG_HID_NINTENDO is not set
 # CONFIG_HID_NTI is not set
 # CONFIG_HID_NTRIG is not set
 CONFIG_HID_ORTEK=m
@@ -4550,17 +4470,20 @@ CONFIG_HID_ORTEK=m
 CONFIG_HID_PENMOUNT=m
 CONFIG_HID_PETALYNX=m
 CONFIG_HID_PICOLCD=m
-CONFIG_HID_PICOLCD_FB=y
+# CONFIG_HID_PICOLCD_FB is not set
 CONFIG_HID_PICOLCD_BACKLIGHT=y
 CONFIG_HID_PICOLCD_LCD=y
 CONFIG_HID_PICOLCD_LEDS=y
-CONFIG_HID_PICOLCD_CIR=y
 CONFIG_HID_PLANTRONICS=m
+# CONFIG_HID_PXRC is not set
+# CONFIG_HID_RAZER is not set
 # CONFIG_HID_PRIMAX is not set
 CONFIG_HID_RETRODE=m
 CONFIG_HID_ROCCAT=m
 CONFIG_HID_SAITEK=m
 CONFIG_HID_SAMSUNG=m
+# CONFIG_HID_SEMITEK is not set
+# CONFIG_HID_SIGMAMICRO is not set
 # CONFIG_HID_SONY is not set
 CONFIG_HID_SPEEDLINK=m
 # CONFIG_HID_STEAM is not set
@@ -4568,9 +4491,11 @@ CONFIG_HID_SPEEDLINK=m
 CONFIG_HID_SUNPLUS=m
 CONFIG_HID_RMI=m
 # CONFIG_HID_GREENASIA is not set
+CONFIG_HID_HYPERV_MOUSE=m
 # CONFIG_HID_SMARTJOYPLUS is not set
 CONFIG_HID_TIVO=m
 CONFIG_HID_TOPSEED=m
+# CONFIG_HID_TOPRE is not set
 CONFIG_HID_THINGM=m
 # CONFIG_HID_THRUSTMASTER is not set
 # CONFIG_HID_UDRAW_PS3 is not set
@@ -4583,8 +4508,15 @@ CONFIG_HID_ZYDACRON=m
 CONFIG_HID_SENSOR_HUB=m
 # CONFIG_HID_SENSOR_CUSTOM_SENSOR is not set
 # CONFIG_HID_ALPS is not set
+# CONFIG_HID_MCP2221 is not set
 # end of Special HID drivers
 
+#
+# HID-BPF support
+#
+CONFIG_HID_BPF=y
+# end of HID-BPF support
+
 #
 # USB HID support
 #
@@ -4593,21 +4525,28 @@ CONFIG_HID_PID=y
 CONFIG_USB_HIDDEV=y
 # end of USB HID support
 
-#
-# I2C HID support
-#
 CONFIG_I2C_HID=m
-# end of I2C HID support
+# CONFIG_I2C_HID_ACPI is not set
+# CONFIG_I2C_HID_OF is not set
+# CONFIG_I2C_HID_OF_ELAN is not set
+# CONFIG_I2C_HID_OF_GOODIX is not set
 
 #
 # Intel ISH HID support
 #
 # end of Intel ISH HID support
-# end of HID support
+
+#
+# AMD SFH HID Support
+#
+# end of AMD SFH HID Support
 
 CONFIG_USB_OHCI_LITTLE_ENDIAN=y
 CONFIG_USB_SUPPORT=y
 CONFIG_USB_COMMON=y
+CONFIG_USB_LED_TRIG=y
+CONFIG_USB_ULPI_BUS=m
+# CONFIG_USB_CONN_GPIO is not set
 CONFIG_USB_ARCH_HAS_HCD=y
 CONFIG_USB=y
 CONFIG_USB_PCI=y
@@ -4617,45 +4556,45 @@ CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
 # Miscellaneous USB options
 #
 CONFIG_USB_DEFAULT_PERSIST=y
+# CONFIG_USB_FEW_INIT_RETRIES is not set
 # CONFIG_USB_DYNAMIC_MINORS is not set
 CONFIG_USB_OTG=y
-# CONFIG_USB_OTG_WHITELIST is not set
-# CONFIG_USB_OTG_BLACKLIST_HUB is not set
+# CONFIG_USB_OTG_PRODUCTLIST is not set
+# CONFIG_USB_OTG_DISABLE_EXTERNAL_HUB is not set
 CONFIG_USB_OTG_FSM=m
 # CONFIG_USB_LEDS_TRIGGER_USBPORT is not set
 CONFIG_USB_AUTOSUSPEND_DELAY=2
 CONFIG_USB_MON=m
-CONFIG_USB_WUSB_CBAF=m
-# CONFIG_USB_WUSB_CBAF_DEBUG is not set
 
 #
 # USB Host Controller Drivers
 #
-# CONFIG_USB_C67X00_HCD is not set
-CONFIG_USB_XHCI_HCD=y
+CONFIG_USB_C67X00_HCD=m
+CONFIG_USB_XHCI_HCD=m
 # CONFIG_USB_XHCI_DBGCAP is not set
-CONFIG_USB_XHCI_PCI=y
+CONFIG_USB_XHCI_PCI=m
+CONFIG_USB_XHCI_PCI_RENESAS=m
 CONFIG_USB_XHCI_PLATFORM=m
-CONFIG_USB_EHCI_HCD=y
+CONFIG_USB_EHCI_HCD=m
 CONFIG_USB_EHCI_ROOT_HUB_TT=y
 CONFIG_USB_EHCI_TT_NEWSCHED=y
-CONFIG_USB_EHCI_PCI=y
+CONFIG_USB_EHCI_PCI=m
 CONFIG_USB_EHCI_FSL=m
-CONFIG_USB_EHCI_HCD_PLATFORM=y
-# CONFIG_USB_OXU210HP_HCD is not set
-# CONFIG_USB_ISP116X_HCD is not set
-CONFIG_USB_FOTG210_HCD=m
-CONFIG_USB_OHCI_HCD=y
-CONFIG_USB_OHCI_HCD_PCI=y
-CONFIG_USB_OHCI_HCD_PLATFORM=y
-CONFIG_USB_UHCI_HCD=y
-# CONFIG_USB_U132_HCD is not set
+CONFIG_USB_EHCI_HCD_PLATFORM=m
+CONFIG_USB_OXU210HP_HCD=m
+CONFIG_USB_ISP116X_HCD=m
+CONFIG_USB_OHCI_HCD=m
+CONFIG_USB_OHCI_HCD_PCI=m
+# CONFIG_USB_OHCI_HCD_SSB is not set
+CONFIG_USB_OHCI_HCD_PLATFORM=m
+CONFIG_USB_UHCI_HCD=m
 CONFIG_USB_SL811_HCD=m
 CONFIG_USB_SL811_HCD_ISO=y
-# CONFIG_USB_R8A66597_HCD is not set
+CONFIG_USB_R8A66597_HCD=m
 CONFIG_USB_HCD_BCMA=m
 CONFIG_USB_HCD_SSB=m
 # CONFIG_USB_HCD_TEST_MODE is not set
+CONFIG_USB_XEN_HCD=m
 
 #
 # USB Device Class drivers
@@ -4672,7 +4611,7 @@ CONFIG_USB_TMC=m
 #
 # also be needed; see USB_STORAGE Help for more info
 #
-CONFIG_USB_STORAGE=y
+CONFIG_USB_STORAGE=m
 # CONFIG_USB_STORAGE_DEBUG is not set
 CONFIG_USB_STORAGE_REALTEK=m
 CONFIG_REALTEK_AUTOPM=y
@@ -4696,6 +4635,17 @@ CONFIG_USB_UAS=m
 CONFIG_USB_MDC800=m
 CONFIG_USB_MICROTEK=m
 # CONFIG_USBIP_CORE is not set
+
+#
+# USB dual-mode controller drivers
+#
+CONFIG_USB_CDNS_SUPPORT=m
+CONFIG_USB_CDNS_HOST=y
+CONFIG_USB_CDNS3=m
+# CONFIG_USB_CDNS3_HOST is not set
+CONFIG_USB_CDNS3_PCI_WRAP=m
+CONFIG_USB_CDNSP_PCI=m
+CONFIG_USB_CDNSP_HOST=y
 CONFIG_USB_MUSB_HDRC=m
 CONFIG_USB_MUSB_HOST=y
 
@@ -4706,6 +4656,7 @@ CONFIG_USB_MUSB_HOST=y
 #
 # MUSB DMA mode
 #
+# CONFIG_MUSB_PIO_ONLY is not set
 CONFIG_USB_DWC3=m
 CONFIG_USB_DWC3_ULPI=y
 CONFIG_USB_DWC3_HOST=y
@@ -4713,21 +4664,25 @@ CONFIG_USB_DWC3_HOST=y
 #
 # Platform Glue Driver Support
 #
+CONFIG_USB_DWC3_PCI=m
 CONFIG_USB_DWC3_HAPS=m
 CONFIG_USB_DWC3_OF_SIMPLE=m
-CONFIG_USB_DWC2=y
+CONFIG_USB_DWC2=m
 CONFIG_USB_DWC2_HOST=y
 
 #
 # Gadget/Dual-role mode requires USB Gadget support to be enabled
 #
-CONFIG_USB_DWC2_PCI=y
+CONFIG_USB_DWC2_PCI=m
 # CONFIG_USB_DWC2_DEBUG is not set
 # CONFIG_USB_DWC2_TRACK_MISSED_SOFS is not set
 CONFIG_USB_CHIPIDEA=m
-CONFIG_USB_CHIPIDEA_OF=m
-CONFIG_USB_CHIPIDEA_PCI=m
 # CONFIG_USB_CHIPIDEA_HOST is not set
+CONFIG_USB_CHIPIDEA_PCI=m
+CONFIG_USB_CHIPIDEA_MSM=m
+CONFIG_USB_CHIPIDEA_IMX=m
+CONFIG_USB_CHIPIDEA_GENERIC=m
+CONFIG_USB_CHIPIDEA_TEGRA=m
 CONFIG_USB_ISP1760=m
 CONFIG_USB_ISP1760_HCD=y
 CONFIG_USB_ISP1760_HOST_ROLE=y
@@ -4778,7 +4733,6 @@ CONFIG_USB_SERIAL_SIERRAWIRELESS=m
 # CONFIG_USB_SERIAL_SYMBOL is not set
 # CONFIG_USB_SERIAL_TI is not set
 # CONFIG_USB_SERIAL_CYBERJACK is not set
-CONFIG_USB_SERIAL_XIRCOM=m
 CONFIG_USB_SERIAL_WWAN=m
 CONFIG_USB_SERIAL_OPTION=m
 # CONFIG_USB_SERIAL_OMNINET is not set
@@ -4788,6 +4742,7 @@ CONFIG_USB_SERIAL_OPTION=m
 CONFIG_USB_SERIAL_SSU100=m
 CONFIG_USB_SERIAL_QT2=m
 CONFIG_USB_SERIAL_UPD78F0730=m
+# CONFIG_USB_SERIAL_XR is not set
 # CONFIG_USB_SERIAL_DEBUG is not set
 
 #
@@ -4802,13 +4757,12 @@ CONFIG_USB_LCD=m
 # CONFIG_USB_CYPRESS_CY7C63 is not set
 # CONFIG_USB_CYTHERM is not set
 # CONFIG_USB_IDMOUSE is not set
-CONFIG_USB_FTDI_ELAN=m
 # CONFIG_USB_APPLEDISPLAY is not set
-CONFIG_USB_SISUSBVGA=m
-CONFIG_USB_SISUSBVGA_CON=y
+# CONFIG_APPLE_MFI_FASTCHARGE is not set
+# CONFIG_USB_SISUSBVGA is not set
 # CONFIG_USB_LD is not set
 # CONFIG_USB_TRANCEVIBRATOR is not set
-CONFIG_USB_IOWARRIOR=m
+# CONFIG_USB_IOWARRIOR is not set
 # CONFIG_USB_TEST is not set
 # CONFIG_USB_EHSET_TEST_FIXTURE is not set
 # CONFIG_USB_ISIGHTFW is not set
@@ -4819,6 +4773,7 @@ CONFIG_USB_HSIC_USB3503=m
 CONFIG_USB_HSIC_USB4604=m
 CONFIG_USB_LINK_LAYER_TEST=m
 CONFIG_USB_CHAOSKEY=m
+CONFIG_USB_ONBOARD_HUB=m
 CONFIG_USB_ATM=m
 CONFIG_USB_SPEEDTOUCH=m
 CONFIG_USB_CXACRU=m
@@ -4841,14 +4796,27 @@ CONFIG_TYPEC=m
 CONFIG_TYPEC_TCPM=m
 CONFIG_TYPEC_TCPCI=m
 CONFIG_TYPEC_RT1711H=m
+CONFIG_TYPEC_TCPCI_MAXIM=m
 CONFIG_TYPEC_FUSB302=m
-# CONFIG_TYPEC_UCSI is not set
+CONFIG_TYPEC_UCSI=m
+CONFIG_UCSI_CCG=m
+CONFIG_UCSI_ACPI=m
+CONFIG_UCSI_STM32G0=m
+CONFIG_UCSI_PMIC_GLINK=m
 CONFIG_TYPEC_TPS6598X=m
+CONFIG_TYPEC_ANX7411=m
+CONFIG_TYPEC_RT1719=m
+CONFIG_TYPEC_HD3SS3220=m
+CONFIG_TYPEC_STUSB160X=m
+CONFIG_TYPEC_WUSB3801=m
 
 #
 # USB Type-C Multiplexer/DeMultiplexer Switch support
 #
-# CONFIG_TYPEC_MUX_PI3USB30532 is not set
+CONFIG_TYPEC_MUX_FSA4480=m
+CONFIG_TYPEC_MUX_GPIO_SBU=m
+CONFIG_TYPEC_MUX_PI3USB30532=m
+CONFIG_TYPEC_MUX_NB7VPQ904M=m
 # end of USB Type-C Multiplexer/DeMultiplexer Switch support
 
 #
@@ -4859,17 +4827,15 @@ CONFIG_TYPEC_NVIDIA_ALTMODE=m
 # end of USB Type-C Alternate Mode drivers
 
 CONFIG_USB_ROLE_SWITCH=m
-CONFIG_USB_LED_TRIG=y
-CONFIG_USB_ULPI_BUS=m
-# CONFIG_UWB is not set
-CONFIG_MMC=y
-CONFIG_PWRSEQ_EMMC=y
+CONFIG_MMC=m
+CONFIG_PWRSEQ_EMMC=m
 CONFIG_PWRSEQ_SD8787=m
-CONFIG_PWRSEQ_SIMPLE=y
+CONFIG_PWRSEQ_SIMPLE=m
 CONFIG_MMC_BLOCK=m
 CONFIG_MMC_BLOCK_MINORS=8
 # CONFIG_SDIO_UART is not set
 # CONFIG_MMC_TEST is not set
+# CONFIG_MMC_CRYPTO is not set
 
 #
 # MMC/SD/SDIO Host Controller Drivers
@@ -4878,12 +4844,14 @@ CONFIG_MMC_BLOCK_MINORS=8
 CONFIG_MMC_SDHCI=m
 CONFIG_MMC_SDHCI_IO_ACCESSORS=y
 CONFIG_MMC_SDHCI_PCI=m
+CONFIG_MMC_SDHCI_ACPI=m
 CONFIG_MMC_SDHCI_PLTFM=m
 CONFIG_MMC_SDHCI_OF_ARASAN=m
 CONFIG_MMC_SDHCI_OF_AT91=m
 CONFIG_MMC_SDHCI_OF_DWCMSHC=m
 CONFIG_MMC_SDHCI_CADENCE=m
 CONFIG_MMC_SDHCI_F_SDH30=m
+CONFIG_MMC_SDHCI_MILBEAUT=m
 CONFIG_MMC_ALCOR=m
 CONFIG_MMC_TIFM_SD=m
 CONFIG_MMC_CB710=m
@@ -4893,24 +4861,37 @@ CONFIG_MMC_USHC=m
 CONFIG_MMC_USDHI6ROL0=m
 CONFIG_MMC_REALTEK_USB=m
 CONFIG_MMC_CQHCI=m
+CONFIG_MMC_HSQ=m
 CONFIG_MMC_TOSHIBA_PCI=m
 CONFIG_MMC_MTK=m
 CONFIG_MMC_SDHCI_XENON=m
 CONFIG_MMC_SDHCI_OMAP=m
 CONFIG_MMC_SDHCI_AM654=m
+CONFIG_MMC_SDHCI_EXTERNAL_DMA=y
+CONFIG_MMC_LITEX=m
+CONFIG_SCSI_UFSHCD=m
+# CONFIG_SCSI_UFS_BSG is not set
+# CONFIG_SCSI_UFS_CRYPTO is not set
+# CONFIG_SCSI_UFS_HWMON is not set
+CONFIG_SCSI_UFSHCD_PCI=m
+CONFIG_SCSI_UFS_DWC_TC_PCI=m
+CONFIG_SCSI_UFSHCD_PLATFORM=m
+CONFIG_SCSI_UFS_CDNS_PLATFORM=m
+CONFIG_SCSI_UFS_DWC_TC_PLATFORM=m
 # CONFIG_MEMSTICK is not set
 CONFIG_NEW_LEDS=y
 CONFIG_LEDS_CLASS=y
 CONFIG_LEDS_CLASS_FLASH=m
+# CONFIG_LEDS_CLASS_MULTICOLOR is not set
 CONFIG_LEDS_BRIGHTNESS_HW_CHANGED=y
 
 #
 # LED drivers
 #
 CONFIG_LEDS_88PM860X=m
-CONFIG_LEDS_AAT1290=m
 CONFIG_LEDS_AN30259A=m
-CONFIG_LEDS_AS3645A=m
+CONFIG_LEDS_AW200XX=m
+# CONFIG_LEDS_AW2013 is not set
 CONFIG_LEDS_BCM6328=m
 CONFIG_LEDS_BCM6358=m
 CONFIG_LEDS_LM3530=m
@@ -4918,13 +4899,13 @@ CONFIG_LEDS_LM3532=m
 CONFIG_LEDS_LM3533=m
 CONFIG_LEDS_LM3642=m
 CONFIG_LEDS_LM3692X=m
-CONFIG_LEDS_LM3601X=m
 CONFIG_LEDS_MT6323=m
 CONFIG_LEDS_PCA9532=m
 CONFIG_LEDS_PCA9532_GPIO=y
 CONFIG_LEDS_GPIO=m
 CONFIG_LEDS_LP3944=m
 CONFIG_LEDS_LP3952=m
+# CONFIG_LEDS_LP50XX is not set
 CONFIG_LEDS_LP55XX_COMMON=m
 CONFIG_LEDS_LP5521=m
 CONFIG_LEDS_LP5523=m
@@ -4935,22 +4916,22 @@ CONFIG_LEDS_LP8860=m
 CONFIG_LEDS_PCA955X=m
 CONFIG_LEDS_PCA955X_GPIO=y
 CONFIG_LEDS_PCA963X=m
+CONFIG_LEDS_PCA995X=m
 CONFIG_LEDS_WM831X_STATUS=m
 CONFIG_LEDS_WM8350=m
 CONFIG_LEDS_DA903X=m
 CONFIG_LEDS_DA9052=m
 CONFIG_LEDS_REGULATOR=m
+CONFIG_LEDS_BD2606MVV=m
 CONFIG_LEDS_BD2802=m
 CONFIG_LEDS_LT3593=m
 CONFIG_LEDS_ADP5520=m
 CONFIG_LEDS_TCA6507=m
 CONFIG_LEDS_TLC591XX=m
 CONFIG_LEDS_MAX77650=m
-CONFIG_LEDS_MAX77693=m
 CONFIG_LEDS_MAX8997=m
 CONFIG_LEDS_LM355x=m
 CONFIG_LEDS_MENF21BMC=m
-CONFIG_LEDS_KTD2692=m
 CONFIG_LEDS_IS31FL319X=m
 CONFIG_LEDS_IS31FL32XX=m
 
@@ -4965,6 +4946,22 @@ CONFIG_LEDS_TI_LMU_COMMON=m
 CONFIG_LEDS_LM3697=m
 CONFIG_LEDS_LM36274=m
 
+#
+# Flash and Torch LED drivers
+#
+CONFIG_LEDS_AAT1290=m
+CONFIG_LEDS_AS3645A=m
+CONFIG_LEDS_KTD2692=m
+CONFIG_LEDS_LM3601X=m
+CONFIG_LEDS_MAX77693=m
+# CONFIG_LEDS_RT4505 is not set
+# CONFIG_LEDS_RT8515 is not set
+# CONFIG_LEDS_SGM3140 is not set
+
+#
+# RGB LED drivers
+#
+
 #
 # LED Triggers
 #
@@ -4976,7 +4973,6 @@ CONFIG_LEDS_TRIGGER_HEARTBEAT=m
 CONFIG_LEDS_TRIGGER_BACKLIGHT=m
 CONFIG_LEDS_TRIGGER_CPU=y
 CONFIG_LEDS_TRIGGER_ACTIVITY=m
-CONFIG_LEDS_TRIGGER_GPIO=m
 CONFIG_LEDS_TRIGGER_DEFAULT_ON=m
 
 #
@@ -4988,9 +4984,16 @@ CONFIG_LEDS_TRIGGER_PANIC=y
 CONFIG_LEDS_TRIGGER_NETDEV=m
 CONFIG_LEDS_TRIGGER_PATTERN=m
 CONFIG_LEDS_TRIGGER_AUDIO=m
+# CONFIG_LEDS_TRIGGER_TTY is not set
+
+#
+# Simple LED drivers
+#
 # CONFIG_ACCESSIBILITY is not set
 # CONFIG_INFINIBAND is not set
 CONFIG_EDAC_SUPPORT=y
+CONFIG_EDAC=y
+# CONFIG_EDAC_DEBUG is not set
 CONFIG_RTC_LIB=y
 CONFIG_RTC_CLASS=y
 CONFIG_RTC_HCTOSYS=y
@@ -5031,6 +5034,7 @@ CONFIG_RTC_DRV_MAX8925=m
 CONFIG_RTC_DRV_MAX8998=m
 CONFIG_RTC_DRV_MAX8997=m
 CONFIG_RTC_DRV_MAX77686=m
+CONFIG_RTC_DRV_NCT3018Y=m
 CONFIG_RTC_DRV_RK808=m
 CONFIG_RTC_DRV_RS5C372=m
 CONFIG_RTC_DRV_ISL1208=m
@@ -5044,14 +5048,13 @@ CONFIG_RTC_DRV_PCF8563=m
 CONFIG_RTC_DRV_PCF8583=m
 CONFIG_RTC_DRV_M41T80=m
 CONFIG_RTC_DRV_M41T80_WDT=y
-CONFIG_RTC_DRV_BD70528=m
 CONFIG_RTC_DRV_BQ32K=m
 CONFIG_RTC_DRV_TWL4030=m
 CONFIG_RTC_DRV_PALMAS=m
 CONFIG_RTC_DRV_TPS6586X=m
 CONFIG_RTC_DRV_TPS65910=m
-CONFIG_RTC_DRV_TPS80031=m
 CONFIG_RTC_DRV_RC5T583=m
+CONFIG_RTC_DRV_RC5T619=m
 CONFIG_RTC_DRV_S35390A=m
 CONFIG_RTC_DRV_FM3130=m
 CONFIG_RTC_DRV_RX8010=m
@@ -5059,6 +5062,7 @@ CONFIG_RTC_DRV_RX8581=m
 CONFIG_RTC_DRV_RX8025=m
 CONFIG_RTC_DRV_EM3027=m
 CONFIG_RTC_DRV_RV3028=m
+CONFIG_RTC_DRV_RV3032=m
 CONFIG_RTC_DRV_RV8803=m
 CONFIG_RTC_DRV_S5M=m
 CONFIG_RTC_DRV_SD3078=m
@@ -5076,6 +5080,7 @@ CONFIG_RTC_DRV_DS3232_HWMON=y
 CONFIG_RTC_DRV_PCF2127=m
 CONFIG_RTC_DRV_RV3029C2=m
 CONFIG_RTC_DRV_RV3029_HWMON=y
+# CONFIG_RTC_DRV_RX6110 is not set
 
 #
 # Platform RTC drivers
@@ -5099,9 +5104,7 @@ CONFIG_RTC_DRV_M48T86=m
 CONFIG_RTC_DRV_M48T35=m
 CONFIG_RTC_DRV_M48T59=m
 CONFIG_RTC_DRV_MSM6242=m
-CONFIG_RTC_DRV_BQ4802=m
 CONFIG_RTC_DRV_RP5C01=m
-CONFIG_RTC_DRV_V3020=m
 CONFIG_RTC_DRV_WM831X=m
 CONFIG_RTC_DRV_WM8350=m
 CONFIG_RTC_DRV_ZYNQMP=m
@@ -5111,7 +5114,6 @@ CONFIG_RTC_DRV_ZYNQMP=m
 #
 CONFIG_RTC_DRV_CADENCE=m
 CONFIG_RTC_DRV_FTRTC010=m
-CONFIG_RTC_DRV_SNVS=m
 CONFIG_RTC_DRV_MT6397=m
 CONFIG_RTC_DRV_R7301=m
 
@@ -5119,6 +5121,7 @@ CONFIG_RTC_DRV_R7301=m
 # HID Sensor RTC drivers
 #
 CONFIG_RTC_DRV_HID_SENSOR_TIME=m
+# CONFIG_RTC_DRV_GOLDFISH is not set
 CONFIG_DMADEVICES=y
 # CONFIG_DMADEVICES_DEBUG is not set
 
@@ -5126,16 +5129,22 @@ CONFIG_DMADEVICES=y
 # DMA Devices
 #
 CONFIG_DMA_ENGINE=y
-CONFIG_DMA_VIRTUAL_CHANNELS=m
+CONFIG_DMA_ACPI=y
 CONFIG_DMA_OF=y
-# CONFIG_ALTERA_MSGDMA is not set
+CONFIG_ALTERA_MSGDMA=m
 CONFIG_DW_AXI_DMAC=m
 CONFIG_FSL_EDMA=m
 CONFIG_INTEL_IDMA64=m
+CONFIG_PLX_DMA=m
+CONFIG_XILINX_DMA=m
+CONFIG_XILINX_XDMA=m
+CONFIG_XILINX_ZYNQMP_DPDMA=m
 CONFIG_QCOM_HIDMA_MGMT=m
 CONFIG_QCOM_HIDMA=m
+CONFIG_DW_DMAC=m
 CONFIG_DW_EDMA=m
 CONFIG_DW_EDMA_PCIE=m
+CONFIG_SF_PDMA=m
 
 #
 # DMA Clients
@@ -5150,9 +5159,13 @@ CONFIG_DMA_ENGINE_RAID=y
 CONFIG_SYNC_FILE=y
 # CONFIG_SW_SYNC is not set
 # CONFIG_UDMABUF is not set
+# CONFIG_DMABUF_MOVE_NOTIFY is not set
+# CONFIG_DMABUF_DEBUG is not set
+# CONFIG_DMABUF_SELFTESTS is not set
+# CONFIG_DMABUF_HEAPS is not set
+# CONFIG_DMABUF_SYSFS_STATS is not set
 # end of DMABUF options
 
-# CONFIG_AUXDISPLAY is not set
 CONFIG_UIO=m
 # CONFIG_UIO_CIF is not set
 # CONFIG_UIO_PDRV_GENIRQ is not set
@@ -5163,20 +5176,38 @@ CONFIG_UIO=m
 # CONFIG_UIO_NETX is not set
 # CONFIG_UIO_PRUSS is not set
 # CONFIG_UIO_MF624 is not set
+# CONFIG_UIO_HV_GENERIC is not set
 # CONFIG_VFIO is not set
 CONFIG_VIRT_DRIVERS=y
-CONFIG_VIRTIO=m
+CONFIG_VMGENID=y
+CONFIG_NITRO_ENCLAVES=m
+CONFIG_VIRTIO_ANCHOR=y
+CONFIG_VIRTIO_PCI_LIB=m
+CONFIG_VIRTIO_PCI_LIB_LEGACY=m
 CONFIG_VIRTIO_MENU=y
 CONFIG_VIRTIO_PCI=m
 CONFIG_VIRTIO_PCI_LEGACY=y
+CONFIG_VIRTIO_PMEM=m
 CONFIG_VIRTIO_BALLOON=m
 CONFIG_VIRTIO_INPUT=m
 CONFIG_VIRTIO_MMIO=m
 # CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES is not set
+CONFIG_VIRTIO_DMA_SHARED_BUFFER=m
+# CONFIG_VDPA is not set
+CONFIG_VHOST_IOTLB=m
+CONFIG_VHOST_TASK=y
+CONFIG_VHOST=m
+CONFIG_VHOST_MENU=y
+CONFIG_VHOST_NET=m
+CONFIG_VHOST_VSOCK=m
+# CONFIG_VHOST_CROSS_ENDIAN_LEGACY is not set
 
 #
 # Microsoft Hyper-V guest support
 #
+CONFIG_HYPERV=m
+CONFIG_HYPERV_UTILS=m
+CONFIG_HYPERV_BALLOON=m
 # end of Microsoft Hyper-V guest support
 
 #
@@ -5195,29 +5226,43 @@ CONFIG_XEN_GNTDEV_DMABUF=y
 CONFIG_XEN_GRANT_DEV_ALLOC=m
 CONFIG_XEN_GRANT_DMA_ALLOC=y
 CONFIG_SWIOTLB_XEN=y
+CONFIG_XEN_PCI_STUB=y
 CONFIG_XEN_PVCALLS_FRONTEND=m
 # CONFIG_XEN_PVCALLS_BACKEND is not set
 CONFIG_XEN_PRIVCMD=m
+CONFIG_XEN_PRIVCMD_IRQFD=y
+CONFIG_XEN_EFI=y
 CONFIG_XEN_AUTO_XLATE=y
 CONFIG_XEN_FRONT_PGDIR_SHBUF=m
+CONFIG_XEN_GRANT_DMA_IOMMU=y
+CONFIG_XEN_GRANT_DMA_OPS=y
+CONFIG_XEN_VIRTIO=y
+CONFIG_XEN_VIRTIO_FORCE_GRANT=y
 # end of Xen driver support
 
+# CONFIG_GREYBUS is not set
+# CONFIG_COMEDI is not set
 # CONFIG_STAGING is not set
+# CONFIG_CHROME_PLATFORMS is not set
+# CONFIG_MELLANOX_PLATFORM is not set
+# CONFIG_SURFACE_PLATFORMS is not set
 
 #
 # Intel Speed Select Technology interface support
 #
 # end of Intel Speed Select Technology interface support
 
-# CONFIG_CHROME_PLATFORMS is not set
-CONFIG_CLKDEV_LOOKUP=y
-CONFIG_HAVE_CLK_PREPARE=y
-CONFIG_COMMON_CLK=y
 
 #
-# Common Clock Framework
+# Intel Uncore Frequency Control
 #
-# CONFIG_CLK_HSDK is not set
+# end of Intel Uncore Frequency Control
+
+CONFIG_HAVE_CLK=y
+CONFIG_HAVE_CLK_PREPARE=y
+CONFIG_COMMON_CLK=y
+CONFIG_COMMON_CLK_WM831X=m
+CONFIG_COMMON_CLK_MAX77686=m
 CONFIG_COMMON_CLK_MAX9485=m
 CONFIG_COMMON_CLK_RK808=m
 CONFIG_COMMON_CLK_SI5341=m
@@ -5230,12 +5275,17 @@ CONFIG_COMMON_CLK_CDCE925=m
 CONFIG_COMMON_CLK_CS2000_CP=m
 CONFIG_COMMON_CLK_S2MPS11=m
 CONFIG_CLK_TWL6040=m
+CONFIG_COMMON_CLK_AXI_CLKGEN=m
 CONFIG_COMMON_CLK_PALMAS=m
+CONFIG_COMMON_CLK_RS9_PCIE=m
+CONFIG_COMMON_CLK_SI521XX=m
+CONFIG_COMMON_CLK_VC3=m
 CONFIG_COMMON_CLK_VC5=m
+CONFIG_COMMON_CLK_VC7=m
 CONFIG_COMMON_CLK_BD718XX=m
 # CONFIG_COMMON_CLK_FIXED_MMIO is not set
-# end of Common Clock Framework
-
+# CONFIG_XILINX_VCU is not set
+CONFIG_COMMON_CLK_XLNX_CLKWZRD=m
 CONFIG_HWSPINLOCK=y
 
 #
@@ -5244,9 +5294,10 @@ CONFIG_HWSPINLOCK=y
 # end of Clock Source drivers
 
 CONFIG_MAILBOX=y
-# CONFIG_PLATFORM_MHU is not set
+CONFIG_PLATFORM_MHU=m
+CONFIG_PCC=y
 CONFIG_ALTERA_MBOX=m
-# CONFIG_MAILBOX_TEST is not set
+CONFIG_MAILBOX_TEST=m
 CONFIG_IOMMU_IOVA=y
 CONFIG_IOMMU_API=y
 CONFIG_IOMMU_SUPPORT=y
@@ -5254,11 +5305,18 @@ CONFIG_IOMMU_SUPPORT=y
 #
 # Generic IOMMU Pagetable Support
 #
+CONFIG_IOMMU_IO_PGTABLE=y
 # end of Generic IOMMU Pagetable Support
 
 # CONFIG_IOMMU_DEBUGFS is not set
+CONFIG_IOMMU_DEFAULT_DMA_STRICT=y
+# CONFIG_IOMMU_DEFAULT_DMA_LAZY is not set
 # CONFIG_IOMMU_DEFAULT_PASSTHROUGH is not set
 CONFIG_OF_IOMMU=y
+CONFIG_IOMMU_DMA=y
+CONFIG_IOMMU_SVA=y
+CONFIG_IOMMUFD=m
+CONFIG_VIRTIO_IOMMU=m
 
 #
 # Remoteproc drivers
@@ -5270,6 +5328,8 @@ CONFIG_OF_IOMMU=y
 #
 CONFIG_RPMSG=m
 CONFIG_RPMSG_CHAR=m
+# CONFIG_RPMSG_CTRL is not set
+CONFIG_RPMSG_NS=m
 # CONFIG_RPMSG_QCOM_GLINK_RPM is not set
 CONFIG_RPMSG_VIRTIO=m
 # end of Rpmsg drivers
@@ -5285,11 +5345,6 @@ CONFIG_RPMSG_VIRTIO=m
 #
 # end of Amlogic SoC drivers
 
-#
-# Aspeed SoC drivers
-#
-# end of Aspeed SoC drivers
-
 #
 # Broadcom SoC drivers
 #
@@ -5300,14 +5355,31 @@ CONFIG_RPMSG_VIRTIO=m
 #
 # end of NXP/Freescale QorIQ SoC drivers
 
+#
+# fujitsu SoC drivers
+#
+# end of fujitsu SoC drivers
+
 #
 # i.MX SoC drivers
 #
 # end of i.MX SoC drivers
 
+#
+# Enable LiteX SoC Builder specific drivers
+#
+CONFIG_LITEX=y
+CONFIG_LITEX_SOC_CONTROLLER=m
+# end of Enable LiteX SoC Builder specific drivers
+
+CONFIG_WPCM450_SOC=m
+
 #
 # Qualcomm SoC drivers
 #
+CONFIG_QCOM_PDR_HELPERS=m
+CONFIG_QCOM_PMIC_GLINK=m
+CONFIG_QCOM_QMI_HELPERS=m
 # end of Qualcomm SoC drivers
 
 CONFIG_SOC_TI=y
@@ -5315,7 +5387,6 @@ CONFIG_SOC_TI=y
 #
 # Xilinx SoC drivers
 #
-# CONFIG_XILINX_VCU is not set
 # end of Xilinx SoC drivers
 # end of SOC (System On Chip) specific Drivers
 
@@ -5324,9 +5395,11 @@ CONFIG_PM_DEVFREQ=y
 #
 # DEVFREQ Governors
 #
+CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND=m
 CONFIG_DEVFREQ_GOV_PERFORMANCE=m
 CONFIG_DEVFREQ_GOV_POWERSAVE=m
 CONFIG_DEVFREQ_GOV_USERSPACE=m
+CONFIG_DEVFREQ_GOV_PASSIVE=m
 
 #
 # DEVFREQ Drivers
@@ -5350,6 +5423,7 @@ CONFIG_EXTCON_PTN5150=m
 CONFIG_EXTCON_RT8973A=m
 CONFIG_EXTCON_SM5502=m
 CONFIG_EXTCON_USB_GPIO=m
+CONFIG_EXTCON_USBC_TUSB320=m
 CONFIG_MEMORY=y
 CONFIG_IIO=m
 # CONFIG_IIO_BUFFER is not set
@@ -5357,22 +5431,28 @@ CONFIG_IIO=m
 # CONFIG_IIO_TRIGGER is not set
 # CONFIG_IIO_SW_DEVICE is not set
 # CONFIG_IIO_SW_TRIGGER is not set
+# CONFIG_IIO_TRIGGERED_EVENT is not set
 
 #
 # Accelerometers
 #
+# CONFIG_ADXL313_I2C is not set
 # CONFIG_ADXL345_I2C is not set
+# CONFIG_ADXL355_I2C is not set
+# CONFIG_ADXL367_I2C is not set
 # CONFIG_ADXL372_I2C is not set
 # CONFIG_BMA180 is not set
+# CONFIG_BMA400 is not set
 # CONFIG_BMC150_ACCEL is not set
 # CONFIG_DA280 is not set
 # CONFIG_DA311 is not set
 # CONFIG_DMARD06 is not set
 # CONFIG_DMARD09 is not set
 # CONFIG_DMARD10 is not set
+# CONFIG_FXLS8962AF_I2C is not set
 # CONFIG_HID_SENSOR_ACCEL_3D is not set
-# CONFIG_IIO_CROS_EC_ACCEL_LEGACY is not set
 # CONFIG_IIO_ST_ACCEL_3AXIS is not set
+# CONFIG_IIO_KX022A_I2C is not set
 # CONFIG_KXSD9 is not set
 # CONFIG_KXCJK1013 is not set
 # CONFIG_MC3230 is not set
@@ -5381,6 +5461,7 @@ CONFIG_IIO=m
 # CONFIG_MMA8452 is not set
 # CONFIG_MMA9551 is not set
 # CONFIG_MMA9553 is not set
+# CONFIG_MSA311 is not set
 # CONFIG_MXC4005 is not set
 # CONFIG_MXC6255 is not set
 # CONFIG_STK8312 is not set
@@ -5390,9 +5471,11 @@ CONFIG_IIO=m
 #
 # Analog to digital converters
 #
+# CONFIG_AD7091R5 is not set
 # CONFIG_AD7291 is not set
 # CONFIG_AD7606_IFACE_PARALLEL is not set
 # CONFIG_AD799X is not set
+# CONFIG_ADI_AXI_ADC is not set
 # CONFIG_AXP20X_ADC is not set
 # CONFIG_AXP288_ADC is not set
 # CONFIG_CC10001_ADC is not set
@@ -5404,6 +5487,7 @@ CONFIG_IIO=m
 # CONFIG_LTC2485 is not set
 # CONFIG_LTC2497 is not set
 # CONFIG_MAX1363 is not set
+# CONFIG_MAX77541_ADC is not set
 # CONFIG_MAX9611 is not set
 # CONFIG_MCP3422 is not set
 # CONFIG_NAU7802 is not set
@@ -5411,10 +5495,14 @@ CONFIG_IIO=m
 # CONFIG_QCOM_SPMI_IADC is not set
 # CONFIG_QCOM_SPMI_VADC is not set
 # CONFIG_QCOM_SPMI_ADC5 is not set
+# CONFIG_RN5T618_ADC is not set
+# CONFIG_RICHTEK_RTQ6056 is not set
 # CONFIG_SD_ADC_MODULATOR is not set
 # CONFIG_STMPE_ADC is not set
 # CONFIG_TI_ADC081C is not set
 # CONFIG_TI_ADS1015 is not set
+# CONFIG_TI_ADS7924 is not set
+# CONFIG_TI_ADS1100 is not set
 # CONFIG_TWL4030_MADC is not set
 # CONFIG_TWL6030_GPADC is not set
 # CONFIG_VF610_ADC is not set
@@ -5422,6 +5510,11 @@ CONFIG_IIO=m
 # CONFIG_XILINX_XADC is not set
 # end of Analog to digital converters
 
+#
+# Analog to digital and digital to analog converters
+#
+# end of Analog to digital and digital to analog converters
+
 #
 # Analog Front Ends
 #
@@ -5431,17 +5524,30 @@ CONFIG_IIO=m
 #
 # Amplifiers
 #
+# CONFIG_HMC425 is not set
 # end of Amplifiers
 
+#
+# Capacitance to digital converters
+#
+# CONFIG_AD7150 is not set
+# CONFIG_AD7746 is not set
+# end of Capacitance to digital converters
+
 #
 # Chemical Sensors
 #
 # CONFIG_ATLAS_PH_SENSOR is not set
+# CONFIG_ATLAS_EZO_SENSOR is not set
 # CONFIG_BME680 is not set
 # CONFIG_CCS811 is not set
 # CONFIG_IAQCORE is not set
+# CONFIG_SCD30_CORE is not set
+# CONFIG_SCD4X is not set
 # CONFIG_SENSIRION_SGP30 is not set
-# CONFIG_SPS30 is not set
+# CONFIG_SENSIRION_SGP40 is not set
+# CONFIG_SPS30_I2C is not set
+# CONFIG_SENSEAIR_SUNRISE_CO2 is not set
 # CONFIG_VZ89X is not set
 # end of Chemical Sensors
 
@@ -5451,6 +5557,11 @@ CONFIG_IIO=m
 CONFIG_HID_SENSOR_IIO_COMMON=m
 # end of Hid Sensor IIO Common
 
+#
+# IIO SCMI Sensors
+#
+# end of IIO SCMI Sensors
+
 #
 # SSP Sensor Common
 #
@@ -5470,6 +5581,7 @@ CONFIG_HID_SENSOR_IIO_COMMON=m
 # CONFIG_MAX517 is not set
 # CONFIG_MAX5821 is not set
 # CONFIG_MCP4725 is not set
+# CONFIG_MCP4728 is not set
 # CONFIG_TI_DAC5571 is not set
 # CONFIG_VF610_DAC is not set
 # end of Digital to analog converters
@@ -5479,6 +5591,11 @@ CONFIG_HID_SENSOR_IIO_COMMON=m
 #
 # end of IIO dummy driver
 
+#
+# Filters
+#
+# end of Filters
+
 #
 # Frequency Synthesizers DDS/PLL
 #
@@ -5524,6 +5641,7 @@ CONFIG_HID_SENSOR_IIO_COMMON=m
 # CONFIG_AM2315 is not set
 # CONFIG_DHT11 is not set
 # CONFIG_HDC100X is not set
+# CONFIG_HDC2010 is not set
 # CONFIG_HID_SENSOR_HUMIDITY is not set
 # CONFIG_HTS221 is not set
 # CONFIG_HTU21 is not set
@@ -5535,18 +5653,26 @@ CONFIG_HID_SENSOR_IIO_COMMON=m
 # Inertial measurement units
 #
 # CONFIG_BMI160_I2C is not set
+# CONFIG_BOSCH_BNO055_I2C is not set
+# CONFIG_FXOS8700_I2C is not set
 # CONFIG_KMX61 is not set
+# CONFIG_INV_ICM42600_I2C is not set
 # CONFIG_INV_MPU6050_I2C is not set
 # CONFIG_IIO_ST_LSM6DSX is not set
+# CONFIG_IIO_ST_LSM9DS0 is not set
 # end of Inertial measurement units
 
 #
 # Light sensors
 #
+# CONFIG_ACPI_ALS is not set
 # CONFIG_ADJD_S311 is not set
+# CONFIG_ADUX1020 is not set
+# CONFIG_AL3010 is not set
 # CONFIG_AL3320A is not set
 # CONFIG_APDS9300 is not set
 # CONFIG_APDS9960 is not set
+# CONFIG_AS73211 is not set
 # CONFIG_BH1750 is not set
 # CONFIG_BH1780 is not set
 # CONFIG_CM32181 is not set
@@ -5554,6 +5680,7 @@ CONFIG_HID_SENSOR_IIO_COMMON=m
 # CONFIG_CM3323 is not set
 # CONFIG_CM3605 is not set
 # CONFIG_CM36651 is not set
+# CONFIG_GP2AP002 is not set
 # CONFIG_GP2AP020A00F is not set
 # CONFIG_SENSORS_ISL29018 is not set
 # CONFIG_SENSORS_ISL29028 is not set
@@ -5561,13 +5688,18 @@ CONFIG_HID_SENSOR_IIO_COMMON=m
 # CONFIG_HID_SENSOR_ALS is not set
 # CONFIG_HID_SENSOR_PROX is not set
 # CONFIG_JSA1212 is not set
+# CONFIG_ROHM_BU27008 is not set
+# CONFIG_ROHM_BU27034 is not set
 # CONFIG_RPR0521 is not set
 # CONFIG_SENSORS_LM3533 is not set
 # CONFIG_LTR501 is not set
+# CONFIG_LTRF216A is not set
 # CONFIG_LV0104CS is not set
 # CONFIG_MAX44000 is not set
 # CONFIG_MAX44009 is not set
+# CONFIG_NOA1305 is not set
 # CONFIG_OPT3001 is not set
+# CONFIG_OPT4001 is not set
 # CONFIG_PA12203001 is not set
 # CONFIG_SI1133 is not set
 # CONFIG_SI1145 is not set
@@ -5577,11 +5709,13 @@ CONFIG_HID_SENSOR_IIO_COMMON=m
 # CONFIG_TCS3472 is not set
 # CONFIG_SENSORS_TSL2563 is not set
 # CONFIG_TSL2583 is not set
+# CONFIG_TSL2591 is not set
 # CONFIG_TSL2772 is not set
 # CONFIG_TSL4531 is not set
 # CONFIG_US5182D is not set
 # CONFIG_VCNL4000 is not set
 # CONFIG_VCNL4035 is not set
+# CONFIG_VEML6030 is not set
 # CONFIG_VEML6070 is not set
 # CONFIG_VL6180 is not set
 # CONFIG_ZOPT2201 is not set
@@ -5600,6 +5734,8 @@ CONFIG_HID_SENSOR_IIO_COMMON=m
 # CONFIG_IIO_ST_MAGN_3AXIS is not set
 # CONFIG_SENSORS_HMC5843_I2C is not set
 # CONFIG_SENSORS_RM3100_I2C is not set
+# CONFIG_TI_TMAG5273 is not set
+# CONFIG_YAMAHA_YAS530 is not set
 # end of Magnetometer sensors
 
 #
@@ -5615,11 +5751,19 @@ CONFIG_HID_SENSOR_IIO_COMMON=m
 # CONFIG_HID_SENSOR_DEVICE_ROTATION is not set
 # end of Inclinometer sensors
 
+#
+# Linear and angular position sensors
+#
+# CONFIG_HID_SENSOR_CUSTOM_INTEL_HINGE is not set
+# end of Linear and angular position sensors
+
 #
 # Digital potentiometers
 #
+# CONFIG_AD5110 is not set
 # CONFIG_AD5272 is not set
 # CONFIG_DS1803 is not set
+# CONFIG_MAX5432 is not set
 # CONFIG_MCP4018 is not set
 # CONFIG_MCP4531 is not set
 # CONFIG_TPL0102 is not set
@@ -5636,11 +5780,14 @@ CONFIG_HID_SENSOR_IIO_COMMON=m
 #
 # CONFIG_ABP060MG is not set
 # CONFIG_BMP280 is not set
+# CONFIG_DLHL60D is not set
 # CONFIG_DPS310 is not set
 # CONFIG_HID_SENSOR_PRESS is not set
 # CONFIG_HP03 is not set
+# CONFIG_ICP10100 is not set
 # CONFIG_MPL115_I2C is not set
 # CONFIG_MPL3115 is not set
+# CONFIG_MPRLS0025PA is not set
 # CONFIG_MS5611 is not set
 # CONFIG_MS5637 is not set
 # CONFIG_IIO_ST_PRESS is not set
@@ -5657,13 +5804,19 @@ CONFIG_HID_SENSOR_IIO_COMMON=m
 #
 # Proximity and distance sensors
 #
+# CONFIG_IRSD200 is not set
 # CONFIG_ISL29501 is not set
 # CONFIG_LIDAR_LITE_V2 is not set
 # CONFIG_MB1232 is not set
+# CONFIG_PING is not set
 # CONFIG_RFD77402 is not set
 # CONFIG_SRF04 is not set
+# CONFIG_SX9310 is not set
+# CONFIG_SX9324 is not set
+# CONFIG_SX9360 is not set
 # CONFIG_SX9500 is not set
 # CONFIG_SRF08 is not set
+# CONFIG_VCNL3020 is not set
 # CONFIG_VL53L0X_I2C is not set
 # end of Proximity and distance sensors
 
@@ -5680,47 +5833,61 @@ CONFIG_HID_SENSOR_IIO_COMMON=m
 # CONFIG_MLX90632 is not set
 # CONFIG_TMP006 is not set
 # CONFIG_TMP007 is not set
+# CONFIG_TMP117 is not set
 # CONFIG_TSYS01 is not set
 # CONFIG_TSYS02D is not set
+# CONFIG_MAX30208 is not set
 # end of Temperature sensors
 
 # CONFIG_NTB is not set
-# CONFIG_VME_BUS is not set
 
 #
 # IRQ chip support
 #
 CONFIG_IRQCHIP=y
 CONFIG_AL_FIC=y
+CONFIG_XILINX_INTC=y
 # end of IRQ chip support
 
 # CONFIG_IPACK_BUS is not set
 CONFIG_RESET_CONTROLLER=y
+CONFIG_RESET_SIMPLE=y
 CONFIG_RESET_TI_SYSCON=m
+CONFIG_RESET_TI_TPS380X=m
 
 #
 # PHY Subsystem
 #
 CONFIG_GENERIC_PHY=y
 CONFIG_GENERIC_PHY_MIPI_DPHY=y
+CONFIG_PHY_CAN_TRANSCEIVER=m
+
+#
+# PHY drivers for Broadcom platforms
+#
 CONFIG_BCM_KONA_USB2_PHY=m
-CONFIG_PHY_CADENCE_DP=m
+# end of PHY drivers for Broadcom platforms
+
+CONFIG_PHY_CADENCE_TORRENT=m
 CONFIG_PHY_CADENCE_DPHY=m
+CONFIG_PHY_CADENCE_DPHY_RX=m
 CONFIG_PHY_CADENCE_SIERRA=m
-CONFIG_PHY_FSL_IMX8MQ_USB=m
-CONFIG_PHY_MIXEL_MIPI_DPHY=m
+CONFIG_PHY_CADENCE_SALVO=m
 CONFIG_PHY_PXA_28NM_HSIC=m
 CONFIG_PHY_PXA_28NM_USB2=m
+CONFIG_PHY_LAN966X_SERDES=m
 CONFIG_PHY_CPCAP_USB=m
-# CONFIG_PHY_MAPPHONE_MDM6600 is not set
-# CONFIG_PHY_OCELOT_SERDES is not set
+CONFIG_PHY_MAPPHONE_MDM6600=m
+CONFIG_PHY_OCELOT_SERDES=m
 CONFIG_PHY_QCOM_USB_HS=m
 CONFIG_PHY_QCOM_USB_HSIC=m
 CONFIG_PHY_SAMSUNG_USB2=m
 CONFIG_PHY_TUSB1210=m
 # end of PHY Subsystem
 
-# CONFIG_POWERCAP is not set
+CONFIG_POWERCAP=y
+CONFIG_IDLE_INJECT=y
+# CONFIG_DTPM is not set
 # CONFIG_MCB is not set
 
 #
@@ -5729,23 +5896,42 @@ CONFIG_PHY_TUSB1210=m
 # end of Performance monitor support
 
 CONFIG_RAS=y
+# CONFIG_USB4 is not set
 
 #
 # Android
 #
-# CONFIG_ANDROID is not set
+# CONFIG_ANDROID_BINDER_IPC is not set
 # end of Android
 
+CONFIG_LIBNVDIMM=y
+CONFIG_BLK_DEV_PMEM=m
+CONFIG_ND_CLAIM=y
+CONFIG_ND_BTT=m
+CONFIG_BTT=y
+# CONFIG_OF_PMEM is not set
 CONFIG_DAX=y
+# CONFIG_DEV_DAX is not set
 CONFIG_NVMEM=y
 CONFIG_NVMEM_SYSFS=y
 
+#
+# Layout Types
+#
+# CONFIG_NVMEM_LAYOUT_SL28_VPD is not set
+# CONFIG_NVMEM_LAYOUT_ONIE_TLV is not set
+# end of Layout Types
+
+CONFIG_NVMEM_RMEM=m
+CONFIG_NVMEM_SPMI_SDAM=m
+
 #
 # HW tracing support
 #
 # CONFIG_STM is not set
 CONFIG_INTEL_TH=m
 CONFIG_INTEL_TH_PCI=m
+# CONFIG_INTEL_TH_ACPI is not set
 CONFIG_INTEL_TH_GTH=m
 CONFIG_INTEL_TH_MSU=m
 CONFIG_INTEL_TH_PTI=m
@@ -5754,6 +5940,7 @@ CONFIG_INTEL_TH_PTI=m
 
 # CONFIG_FPGA is not set
 # CONFIG_FSI is not set
+# CONFIG_TEE is not set
 CONFIG_MULTIPLEXER=m
 
 #
@@ -5766,6 +5953,9 @@ CONFIG_PM_OPP=y
 # CONFIG_SLIMBUS is not set
 # CONFIG_INTERCONNECT is not set
 # CONFIG_COUNTER is not set
+# CONFIG_MOST is not set
+# CONFIG_PECI is not set
+# CONFIG_HTE is not set
 # end of Device Drivers
 
 #
@@ -5774,6 +5964,8 @@ CONFIG_PM_OPP=y
 CONFIG_DCACHE_WORD_ACCESS=y
 CONFIG_VALIDATE_FS_PARSER=y
 CONFIG_FS_IOMAP=y
+CONFIG_BUFFER_HEAD=y
+CONFIG_LEGACY_DIRECT_IO=y
 # CONFIG_EXT2_FS is not set
 # CONFIG_EXT3_FS is not set
 CONFIG_EXT4_FS=y
@@ -5787,24 +5979,36 @@ CONFIG_FS_MBCACHE=y
 # CONFIG_REISERFS_FS is not set
 # CONFIG_JFS_FS is not set
 CONFIG_XFS_FS=m
+CONFIG_XFS_SUPPORT_V4=y
+# CONFIG_XFS_SUPPORT_ASCII_CI is not set
 CONFIG_XFS_QUOTA=y
 CONFIG_XFS_POSIX_ACL=y
 CONFIG_XFS_RT=y
+CONFIG_XFS_DRAIN_INTENTS=y
 CONFIG_XFS_ONLINE_SCRUB=y
+# CONFIG_XFS_ONLINE_SCRUB_STATS is not set
 CONFIG_XFS_ONLINE_REPAIR=y
 # CONFIG_XFS_WARN is not set
 # CONFIG_XFS_DEBUG is not set
 # CONFIG_GFS2_FS is not set
 # CONFIG_OCFS2_FS is not set
-# CONFIG_BTRFS_FS is not set
+CONFIG_BTRFS_FS=m
+CONFIG_BTRFS_FS_POSIX_ACL=y
+# CONFIG_BTRFS_FS_CHECK_INTEGRITY is not set
+# CONFIG_BTRFS_FS_RUN_SANITY_TESTS is not set
+# CONFIG_BTRFS_DEBUG is not set
+# CONFIG_BTRFS_ASSERT is not set
+# CONFIG_BTRFS_FS_REF_VERIFY is not set
 # CONFIG_NILFS2_FS is not set
 # CONFIG_F2FS_FS is not set
 CONFIG_FS_POSIX_ACL=y
 CONFIG_EXPORTFS=y
 CONFIG_EXPORTFS_BLOCK_OPS=y
 CONFIG_FILE_LOCKING=y
-CONFIG_MANDATORY_FILE_LOCKING=y
 CONFIG_FS_ENCRYPTION=y
+CONFIG_FS_ENCRYPTION_ALGS=y
+# CONFIG_FS_ENCRYPTION_INLINE_CRYPT is not set
+# CONFIG_FS_VERITY is not set
 CONFIG_FSNOTIFY=y
 CONFIG_DNOTIFY=y
 CONFIG_INOTIFY_USER=y
@@ -5812,34 +6016,35 @@ CONFIG_FANOTIFY=y
 CONFIG_FANOTIFY_ACCESS_PERMISSIONS=y
 CONFIG_QUOTA=y
 CONFIG_QUOTA_NETLINK_INTERFACE=y
-# CONFIG_PRINT_QUOTA_WARNING is not set
 # CONFIG_QUOTA_DEBUG is not set
 CONFIG_QUOTA_TREE=y
 # CONFIG_QFMT_V1 is not set
 CONFIG_QFMT_V2=y
 CONFIG_QUOTACTL=y
-CONFIG_AUTOFS4_FS=y
 CONFIG_AUTOFS_FS=y
 CONFIG_FUSE_FS=m
 CONFIG_CUSE=m
+# CONFIG_VIRTIO_FS is not set
 CONFIG_OVERLAY_FS=m
 CONFIG_OVERLAY_FS_REDIRECT_DIR=y
 # CONFIG_OVERLAY_FS_REDIRECT_ALWAYS_FOLLOW is not set
 # CONFIG_OVERLAY_FS_INDEX is not set
 CONFIG_OVERLAY_FS_XINO_AUTO=y
 CONFIG_OVERLAY_FS_METACOPY=y
+# CONFIG_OVERLAY_FS_DEBUG is not set
 
 #
 # Caches
 #
+CONFIG_NETFS_SUPPORT=m
+CONFIG_NETFS_STATS=y
 CONFIG_FSCACHE=m
 CONFIG_FSCACHE_STATS=y
-# CONFIG_FSCACHE_HISTOGRAM is not set
 # CONFIG_FSCACHE_DEBUG is not set
-# CONFIG_FSCACHE_OBJECT_LIST is not set
 CONFIG_CACHEFILES=m
 # CONFIG_CACHEFILES_DEBUG is not set
-# CONFIG_CACHEFILES_HISTOGRAM is not set
+# CONFIG_CACHEFILES_ERROR_INJECTION is not set
+# CONFIG_CACHEFILES_ONDEMAND is not set
 # end of Caches
 
 #
@@ -5852,7 +6057,7 @@ CONFIG_UDF_FS=m
 # end of CD-ROM/DVD Filesystems
 
 #
-# DOS/FAT/NT Filesystems
+# DOS/FAT/EXFAT/NT Filesystems
 #
 CONFIG_FAT_FS=m
 CONFIG_MSDOS_FS=m
@@ -5860,13 +6065,20 @@ CONFIG_VFAT_FS=m
 CONFIG_FAT_DEFAULT_CODEPAGE=437
 CONFIG_FAT_DEFAULT_IOCHARSET="ascii"
 CONFIG_FAT_DEFAULT_UTF8=y
+CONFIG_EXFAT_FS=m
+CONFIG_EXFAT_DEFAULT_IOCHARSET="utf8"
 # CONFIG_NTFS_FS is not set
-# end of DOS/FAT/NT Filesystems
+CONFIG_NTFS3_FS=m
+# CONFIG_NTFS3_64BIT_CLUSTER is not set
+CONFIG_NTFS3_LZX_XPRESS=y
+CONFIG_NTFS3_FS_POSIX_ACL=y
+# end of DOS/FAT/EXFAT/NT Filesystems
 
 #
 # Pseudo filesystems
 #
 CONFIG_PROC_FS=y
+# CONFIG_PROC_KCORE is not set
 CONFIG_PROC_SYSCTL=y
 CONFIG_PROC_PAGE_MONITOR=y
 CONFIG_PROC_CHILDREN=y
@@ -5875,7 +6087,10 @@ CONFIG_SYSFS=y
 CONFIG_TMPFS=y
 CONFIG_TMPFS_POSIX_ACL=y
 CONFIG_TMPFS_XATTR=y
-CONFIG_MEMFD_CREATE=y
+# CONFIG_TMPFS_INODE64 is not set
+CONFIG_TMPFS_QUOTA=y
+# CONFIG_HUGETLBFS is not set
+CONFIG_ARCH_HAS_GIGANTIC_PAGE=y
 CONFIG_CONFIGFS_FS=m
 # end of Pseudo filesystems
 
@@ -5890,7 +6105,23 @@ CONFIG_MISC_FILESYSTEMS=y
 # CONFIG_BFS_FS is not set
 # CONFIG_EFS_FS is not set
 # CONFIG_CRAMFS is not set
-# CONFIG_SQUASHFS is not set
+CONFIG_SQUASHFS=m
+# CONFIG_SQUASHFS_FILE_CACHE is not set
+CONFIG_SQUASHFS_FILE_DIRECT=y
+CONFIG_SQUASHFS_DECOMP_SINGLE=y
+CONFIG_SQUASHFS_DECOMP_MULTI=y
+CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU=y
+CONFIG_SQUASHFS_CHOICE_DECOMP_BY_MOUNT=y
+CONFIG_SQUASHFS_MOUNT_DECOMP_THREADS=y
+CONFIG_SQUASHFS_XATTR=y
+CONFIG_SQUASHFS_ZLIB=y
+CONFIG_SQUASHFS_LZ4=y
+CONFIG_SQUASHFS_LZO=y
+CONFIG_SQUASHFS_XZ=y
+CONFIG_SQUASHFS_ZSTD=y
+# CONFIG_SQUASHFS_4K_DEVBLK_SIZE is not set
+# CONFIG_SQUASHFS_EMBEDDED is not set
+CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3
 # CONFIG_VXFS_FS is not set
 # CONFIG_MINIX_FS is not set
 # CONFIG_OMFS_FS is not set
@@ -5899,24 +6130,16 @@ CONFIG_MISC_FILESYSTEMS=y
 # CONFIG_QNX6FS_FS is not set
 # CONFIG_ROMFS_FS is not set
 CONFIG_PSTORE=y
-CONFIG_PSTORE_DEFLATE_COMPRESS=m
-# CONFIG_PSTORE_LZO_COMPRESS is not set
-# CONFIG_PSTORE_LZ4_COMPRESS is not set
-CONFIG_PSTORE_LZ4HC_COMPRESS=m
-CONFIG_PSTORE_842_COMPRESS=y
-CONFIG_PSTORE_ZSTD_COMPRESS=y
+CONFIG_PSTORE_DEFAULT_KMSG_BYTES=10240
 CONFIG_PSTORE_COMPRESS=y
-CONFIG_PSTORE_DEFLATE_COMPRESS_DEFAULT=y
-# CONFIG_PSTORE_LZ4HC_COMPRESS_DEFAULT is not set
-# CONFIG_PSTORE_842_COMPRESS_DEFAULT is not set
-# CONFIG_PSTORE_ZSTD_COMPRESS_DEFAULT is not set
-CONFIG_PSTORE_COMPRESS_DEFAULT="deflate"
 # CONFIG_PSTORE_CONSOLE is not set
 # CONFIG_PSTORE_PMSG is not set
 # CONFIG_PSTORE_FTRACE is not set
 # CONFIG_PSTORE_RAM is not set
+# CONFIG_PSTORE_BLK is not set
 # CONFIG_SYSV_FS is not set
 # CONFIG_UFS_FS is not set
+# CONFIG_EROFS_FS is not set
 CONFIG_NETWORK_FILESYSTEMS=y
 CONFIG_NFS_FS=m
 CONFIG_NFS_V2=m
@@ -5935,26 +6158,30 @@ CONFIG_NFS_V4_SECURITY_LABEL=y
 CONFIG_NFS_FSCACHE=y
 # CONFIG_NFS_USE_LEGACY_DNS is not set
 CONFIG_NFS_USE_KERNEL_DNS=y
+CONFIG_NFS_DISABLE_UDP_SUPPORT=y
+# CONFIG_NFS_V4_2_READ_PLUS is not set
 CONFIG_NFSD=m
-CONFIG_NFSD_V2_ACL=y
-CONFIG_NFSD_V3=y
+# CONFIG_NFSD_V2 is not set
 CONFIG_NFSD_V3_ACL=y
 CONFIG_NFSD_V4=y
 # CONFIG_NFSD_BLOCKLAYOUT is not set
 # CONFIG_NFSD_SCSILAYOUT is not set
 # CONFIG_NFSD_FLEXFILELAYOUT is not set
+# CONFIG_NFSD_V4_2_INTER_SSC is not set
 CONFIG_NFSD_V4_SECURITY_LABEL=y
-# CONFIG_NFSD_FAULT_INJECTION is not set
 CONFIG_GRACE_PERIOD=m
 CONFIG_LOCKD=m
 CONFIG_LOCKD_V4=y
 CONFIG_NFS_ACL_SUPPORT=m
 CONFIG_NFS_COMMON=y
+CONFIG_NFS_V4_2_SSC_HELPER=y
 CONFIG_SUNRPC=m
 CONFIG_SUNRPC_GSS=m
 CONFIG_SUNRPC_BACKCHANNEL=y
 CONFIG_RPCSEC_GSS_KRB5=m
-CONFIG_SUNRPC_DISABLE_INSECURE_ENCTYPES=y
+CONFIG_RPCSEC_GSS_KRB5_ENCTYPES_AES_SHA1=y
+# CONFIG_RPCSEC_GSS_KRB5_ENCTYPES_CAMELLIA is not set
+CONFIG_RPCSEC_GSS_KRB5_ENCTYPES_AES_SHA2=y
 # CONFIG_SUNRPC_DEBUG is not set
 # CONFIG_CEPH_FS is not set
 CONFIG_CIFS=m
@@ -5963,8 +6190,11 @@ CONFIG_CIFS=m
 # CONFIG_CIFS_UPCALL is not set
 CONFIG_CIFS_XATTR=y
 # CONFIG_CIFS_DEBUG is not set
-CONFIG_CIFS_DFS_UPCALL=y
+# CONFIG_CIFS_DFS_UPCALL is not set
+# CONFIG_CIFS_SWN_UPCALL is not set
 CONFIG_CIFS_FSCACHE=y
+# CONFIG_SMB_SERVER is not set
+CONFIG_SMBFS=m
 # CONFIG_CODA_FS is not set
 # CONFIG_AFS_FS is not set
 CONFIG_NLS=y
@@ -6018,9 +6248,10 @@ CONFIG_NLS_MAC_INUIT=m
 CONFIG_NLS_MAC_ROMANIAN=m
 CONFIG_NLS_MAC_TURKISH=m
 CONFIG_NLS_UTF8=m
-CONFIG_DLM=m
-# CONFIG_DLM_DEBUG is not set
+CONFIG_NLS_UCS2_UTILS=m
+# CONFIG_DLM is not set
 # CONFIG_UNICODE is not set
+CONFIG_IO_WQ=y
 # end of File systems
 
 #
@@ -6029,52 +6260,75 @@ CONFIG_DLM=m
 CONFIG_KEYS=y
 CONFIG_KEYS_REQUEST_CACHE=y
 CONFIG_PERSISTENT_KEYRINGS=y
-# CONFIG_BIG_KEYS is not set
+# CONFIG_TRUSTED_KEYS is not set
 CONFIG_ENCRYPTED_KEYS=m
+# CONFIG_USER_DECRYPTED_DATA is not set
 # CONFIG_KEY_DH_OPERATIONS is not set
 CONFIG_SECURITY_DMESG_RESTRICT=y
 CONFIG_SECURITY=y
 CONFIG_SECURITYFS=y
 CONFIG_SECURITY_NETWORK=y
 CONFIG_SECURITY_NETWORK_XFRM=y
-# CONFIG_SECURITY_PATH is not set
-CONFIG_HAVE_HARDENED_USERCOPY_ALLOCATOR=y
+CONFIG_SECURITY_PATH=y
 CONFIG_HARDENED_USERCOPY=y
-# CONFIG_HARDENED_USERCOPY_FALLBACK is not set
-CONFIG_HARDENED_USERCOPY_PAGESPAN=y
 CONFIG_FORTIFY_SOURCE=y
 # CONFIG_STATIC_USERMODEHELPER is not set
 # CONFIG_SECURITY_SMACK is not set
 # CONFIG_SECURITY_TOMOYO is not set
 # CONFIG_SECURITY_APPARMOR is not set
 # CONFIG_SECURITY_LOADPIN is not set
-# CONFIG_SECURITY_YAMA is not set
+CONFIG_SECURITY_YAMA=y
 # CONFIG_SECURITY_SAFESETID is not set
+CONFIG_SECURITY_LOCKDOWN_LSM=y
+CONFIG_SECURITY_LOCKDOWN_LSM_EARLY=y
+# CONFIG_LOCK_DOWN_KERNEL_FORCE_NONE is not set
+# CONFIG_LOCK_DOWN_KERNEL_FORCE_INTEGRITY is not set
+CONFIG_LOCK_DOWN_KERNEL_FORCE_CONFIDENTIALITY=y
+CONFIG_SECURITY_LANDLOCK=y
 CONFIG_INTEGRITY=y
 CONFIG_INTEGRITY_SIGNATURE=y
 CONFIG_INTEGRITY_ASYMMETRIC_KEYS=y
 CONFIG_INTEGRITY_TRUSTED_KEYRING=y
 # CONFIG_IMA is not set
+# CONFIG_IMA_SECURE_AND_OR_TRUSTED_BOOT is not set
 # CONFIG_EVM is not set
 CONFIG_DEFAULT_SECURITY_DAC=y
-CONFIG_LSM="yama,loadpin,safesetid,integrity"
+CONFIG_LSM="yama,loadpin,safesetid,integrity,landlock"
 
 #
 # Kernel hardening options
 #
-CONFIG_GCC_PLUGIN_STRUCTLEAK=y
 
 #
 # Memory initialization
 #
+CONFIG_CC_HAS_AUTO_VAR_INIT_PATTERN=y
+CONFIG_CC_HAS_AUTO_VAR_INIT_ZERO_BARE=y
+CONFIG_CC_HAS_AUTO_VAR_INIT_ZERO=y
 # CONFIG_INIT_STACK_NONE is not set
-# CONFIG_GCC_PLUGIN_STRUCTLEAK_USER is not set
-# CONFIG_GCC_PLUGIN_STRUCTLEAK_BYREF is not set
-CONFIG_GCC_PLUGIN_STRUCTLEAK_BYREF_ALL=y
-# CONFIG_GCC_PLUGIN_STRUCTLEAK_VERBOSE is not set
+# CONFIG_INIT_STACK_ALL_PATTERN is not set
+CONFIG_INIT_STACK_ALL_ZERO=y
+CONFIG_GCC_PLUGIN_STACKLEAK=y
+# CONFIG_GCC_PLUGIN_STACKLEAK_VERBOSE is not set
+CONFIG_STACKLEAK_TRACK_MIN_SIZE=100
+# CONFIG_STACKLEAK_METRICS is not set
+# CONFIG_STACKLEAK_RUNTIME_DISABLE is not set
 CONFIG_INIT_ON_ALLOC_DEFAULT_ON=y
 CONFIG_INIT_ON_FREE_DEFAULT_ON=y
+CONFIG_CC_HAS_ZERO_CALL_USED_REGS=y
+CONFIG_ZERO_CALL_USED_REGS=y
 # end of Memory initialization
+
+#
+# Hardening of kernel data structures
+#
+CONFIG_LIST_HARDENED=y
+# CONFIG_BUG_ON_DATA_CORRUPTION is not set
+# end of Hardening of kernel data structures
+
+CONFIG_RANDSTRUCT_NONE=y
+# CONFIG_RANDSTRUCT_FULL is not set
+# CONFIG_RANDSTRUCT_PERFORMANCE is not set
 # end of Kernel hardening options
 # end of Security options
 
@@ -6093,8 +6347,9 @@ CONFIG_CRYPTO_ALGAPI=y
 CONFIG_CRYPTO_ALGAPI2=y
 CONFIG_CRYPTO_AEAD=y
 CONFIG_CRYPTO_AEAD2=y
-CONFIG_CRYPTO_BLKCIPHER=y
-CONFIG_CRYPTO_BLKCIPHER2=y
+CONFIG_CRYPTO_SIG2=y
+CONFIG_CRYPTO_SKCIPHER=y
+CONFIG_CRYPTO_SKCIPHER2=y
 CONFIG_CRYPTO_HASH=y
 CONFIG_CRYPTO_HASH2=y
 CONFIG_CRYPTO_RNG=y
@@ -6109,113 +6364,114 @@ CONFIG_CRYPTO_MANAGER=y
 CONFIG_CRYPTO_MANAGER2=y
 # CONFIG_CRYPTO_USER is not set
 CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y
-CONFIG_CRYPTO_GF128MUL=m
 CONFIG_CRYPTO_NULL=y
 CONFIG_CRYPTO_NULL2=y
-CONFIG_CRYPTO_PCRYPT=m
+CONFIG_CRYPTO_PCRYPT=y
 CONFIG_CRYPTO_CRYPTD=y
 CONFIG_CRYPTO_AUTHENC=m
-CONFIG_CRYPTO_TEST=m
-CONFIG_CRYPTO_SIMD=m
+# CONFIG_CRYPTO_TEST is not set
 CONFIG_CRYPTO_ENGINE=m
+# end of Crypto core or helper
 
 #
 # Public-key cryptography
 #
 CONFIG_CRYPTO_RSA=y
 CONFIG_CRYPTO_DH=m
-CONFIG_CRYPTO_ECC=m
+CONFIG_CRYPTO_DH_RFC7919_GROUPS=y
+CONFIG_CRYPTO_ECC=y
 CONFIG_CRYPTO_ECDH=m
-CONFIG_CRYPTO_ECRDSA=m
+CONFIG_CRYPTO_ECDSA=y
+# CONFIG_CRYPTO_ECRDSA is not set
+# CONFIG_CRYPTO_SM2 is not set
+CONFIG_CRYPTO_CURVE25519=m
+# end of Public-key cryptography
 
 #
-# Authenticated Encryption with Associated Data
+# Block ciphers
 #
-CONFIG_CRYPTO_CCM=m
-CONFIG_CRYPTO_GCM=m
-CONFIG_CRYPTO_CHACHA20POLY1305=m
-# CONFIG_CRYPTO_AEGIS128 is not set
-# CONFIG_CRYPTO_AEGIS128L is not set
-# CONFIG_CRYPTO_AEGIS256 is not set
-# CONFIG_CRYPTO_MORUS640 is not set
-# CONFIG_CRYPTO_MORUS1280 is not set
-CONFIG_CRYPTO_SEQIV=y
-CONFIG_CRYPTO_ECHAINIV=m
+CONFIG_CRYPTO_AES=y
+CONFIG_CRYPTO_AES_TI=m
+# CONFIG_CRYPTO_ARIA is not set
+CONFIG_CRYPTO_BLOWFISH=m
+CONFIG_CRYPTO_BLOWFISH_COMMON=m
+CONFIG_CRYPTO_CAMELLIA=m
+CONFIG_CRYPTO_CAST_COMMON=m
+CONFIG_CRYPTO_CAST5=m
+CONFIG_CRYPTO_CAST6=m
+CONFIG_CRYPTO_DES=m
+# CONFIG_CRYPTO_FCRYPT is not set
+CONFIG_CRYPTO_SERPENT=m
+# CONFIG_CRYPTO_SM4_GENERIC is not set
+CONFIG_CRYPTO_TWOFISH=m
+CONFIG_CRYPTO_TWOFISH_COMMON=m
+# end of Block ciphers
 
 #
-# Block modes
+# Length-preserving ciphers and modes
 #
-CONFIG_CRYPTO_CBC=y
-CONFIG_CRYPTO_CFB=y
+CONFIG_CRYPTO_ADIANTUM=m
+CONFIG_CRYPTO_CHACHA20=m
+CONFIG_CRYPTO_CBC=m
+CONFIG_CRYPTO_CFB=m
 CONFIG_CRYPTO_CTR=y
-CONFIG_CRYPTO_CTS=y
-CONFIG_CRYPTO_ECB=y
-# CONFIG_CRYPTO_LRW is not set
-CONFIG_CRYPTO_OFB=y
-# CONFIG_CRYPTO_PCBC is not set
-CONFIG_CRYPTO_XTS=y
+CONFIG_CRYPTO_CTS=m
+CONFIG_CRYPTO_ECB=m
+CONFIG_CRYPTO_HCTR2=m
 CONFIG_CRYPTO_KEYWRAP=m
+CONFIG_CRYPTO_LRW=m
+CONFIG_CRYPTO_OFB=m
+CONFIG_CRYPTO_PCBC=m
+CONFIG_CRYPTO_XCTR=m
+CONFIG_CRYPTO_XTS=m
 CONFIG_CRYPTO_NHPOLY1305=m
-CONFIG_CRYPTO_ADIANTUM=m
+# end of Length-preserving ciphers and modes
 
 #
-# Hash modes
+# AEAD (authenticated encryption with associated data) ciphers
 #
-CONFIG_CRYPTO_CMAC=m
-CONFIG_CRYPTO_HMAC=y
-CONFIG_CRYPTO_XCBC=m
-CONFIG_CRYPTO_VMAC=m
+# CONFIG_CRYPTO_AEGIS128 is not set
+CONFIG_CRYPTO_CHACHA20POLY1305=m
+CONFIG_CRYPTO_CCM=m
+CONFIG_CRYPTO_GCM=m
+CONFIG_CRYPTO_GENIV=m
+CONFIG_CRYPTO_SEQIV=m
+CONFIG_CRYPTO_ECHAINIV=m
+CONFIG_CRYPTO_ESSIV=m
+# end of AEAD (authenticated encryption with associated data) ciphers
 
 #
-# Digest
+# Hashes, digests, and MACs
 #
-CONFIG_CRYPTO_CRC32C=y
-CONFIG_CRYPTO_CRC32=y
-CONFIG_CRYPTO_XXHASH=m
-CONFIG_CRYPTO_CRCT10DIF=y
+CONFIG_CRYPTO_BLAKE2B=m
+CONFIG_CRYPTO_CMAC=m
 CONFIG_CRYPTO_GHASH=m
-CONFIG_CRYPTO_POLY1305=m
+CONFIG_CRYPTO_HMAC=y
 CONFIG_CRYPTO_MD4=m
 CONFIG_CRYPTO_MD5=y
 CONFIG_CRYPTO_MICHAEL_MIC=m
-CONFIG_CRYPTO_RMD128=m
+CONFIG_CRYPTO_POLYVAL=m
+CONFIG_CRYPTO_POLY1305=m
 CONFIG_CRYPTO_RMD160=m
-CONFIG_CRYPTO_RMD256=m
-CONFIG_CRYPTO_RMD320=m
 CONFIG_CRYPTO_SHA1=y
 CONFIG_CRYPTO_SHA256=y
-CONFIG_CRYPTO_SHA512=m
-CONFIG_CRYPTO_SHA3=m
-CONFIG_CRYPTO_SM3=m
-CONFIG_CRYPTO_STREEBOG=m
-CONFIG_CRYPTO_TGR192=m
+CONFIG_CRYPTO_SHA512=y
+CONFIG_CRYPTO_SHA3=y
+# CONFIG_CRYPTO_STREEBOG is not set
+CONFIG_CRYPTO_VMAC=m
 CONFIG_CRYPTO_WP512=m
+CONFIG_CRYPTO_XCBC=m
+CONFIG_CRYPTO_XXHASH=m
+# end of Hashes, digests, and MACs
 
 #
-# Ciphers
+# CRCs (cyclic redundancy checks)
 #
-CONFIG_CRYPTO_AES=y
-CONFIG_CRYPTO_AES_TI=m
-CONFIG_CRYPTO_ANUBIS=m
-CONFIG_CRYPTO_LIB_ARC4=m
-CONFIG_CRYPTO_ARC4=m
-CONFIG_CRYPTO_BLOWFISH=m
-CONFIG_CRYPTO_BLOWFISH_COMMON=m
-CONFIG_CRYPTO_CAMELLIA=m
-CONFIG_CRYPTO_CAST_COMMON=m
-CONFIG_CRYPTO_CAST5=m
-CONFIG_CRYPTO_CAST6=m
-CONFIG_CRYPTO_DES=m
-CONFIG_CRYPTO_FCRYPT=m
-CONFIG_CRYPTO_KHAZAD=m
-CONFIG_CRYPTO_SALSA20=m
-CONFIG_CRYPTO_CHACHA20=m
-CONFIG_CRYPTO_SEED=m
-CONFIG_CRYPTO_SERPENT=m
-CONFIG_CRYPTO_SM4=m
-CONFIG_CRYPTO_TEA=m
-CONFIG_CRYPTO_TWOFISH=m
-CONFIG_CRYPTO_TWOFISH_COMMON=m
+CONFIG_CRYPTO_CRC32C=y
+CONFIG_CRYPTO_CRC32=m
+CONFIG_CRYPTO_CRCT10DIF=y
+CONFIG_CRYPTO_CRC64_ROCKSOFT=y
+# end of CRCs (cyclic redundancy checks)
 
 #
 # Compression
@@ -6223,12 +6479,13 @@ CONFIG_CRYPTO_TWOFISH_COMMON=m
 CONFIG_CRYPTO_DEFLATE=m
 CONFIG_CRYPTO_LZO=m
 CONFIG_CRYPTO_842=y
-CONFIG_CRYPTO_LZ4=m
+CONFIG_CRYPTO_LZ4=y
 CONFIG_CRYPTO_LZ4HC=m
 CONFIG_CRYPTO_ZSTD=y
+# end of Compression
 
 #
-# Random Number Generation
+# Random number generation
 #
 CONFIG_CRYPTO_ANSI_CPRNG=m
 CONFIG_CRYPTO_DRBG_MENU=y
@@ -6237,20 +6494,50 @@ CONFIG_CRYPTO_DRBG_HASH=y
 CONFIG_CRYPTO_DRBG_CTR=y
 CONFIG_CRYPTO_DRBG=y
 CONFIG_CRYPTO_JITTERENTROPY=y
+# CONFIG_CRYPTO_JITTERENTROPY_TESTINTERFACE is not set
+# end of Random number generation
+
+#
+# Userspace interface
+#
 # CONFIG_CRYPTO_USER_API_HASH is not set
 # CONFIG_CRYPTO_USER_API_SKCIPHER is not set
 # CONFIG_CRYPTO_USER_API_RNG is not set
 # CONFIG_CRYPTO_USER_API_AEAD is not set
+# end of Userspace interface
+
 CONFIG_CRYPTO_HASH_INFO=y
+
+#
+# Accelerated Cryptographic Algorithms for CPU (x86)
+#
+# end of Accelerated Cryptographic Algorithms for CPU (x86)
+
 CONFIG_CRYPTO_HW=y
 CONFIG_CRYPTO_DEV_ATMEL_I2C=m
 CONFIG_CRYPTO_DEV_ATMEL_ECC=m
 CONFIG_CRYPTO_DEV_ATMEL_SHA204A=m
+CONFIG_CRYPTO_DEV_CCP=y
+CONFIG_CRYPTO_DEV_CCP_DD=m
+CONFIG_CRYPTO_DEV_SP_CCP=y
+CONFIG_CRYPTO_DEV_CCP_CRYPTO=m
+# CONFIG_CRYPTO_DEV_CCP_DEBUGFS is not set
+CONFIG_CRYPTO_DEV_NITROX=m
+CONFIG_CRYPTO_DEV_NITROX_CNN55XX=m
+CONFIG_CRYPTO_DEV_QAT=m
+CONFIG_CRYPTO_DEV_QAT_DH895xCC=m
+CONFIG_CRYPTO_DEV_QAT_C3XXX=m
+CONFIG_CRYPTO_DEV_QAT_C62X=m
+CONFIG_CRYPTO_DEV_QAT_4XXX=m
+CONFIG_CRYPTO_DEV_QAT_DH895xCCVF=m
+CONFIG_CRYPTO_DEV_QAT_C3XXXVF=m
+CONFIG_CRYPTO_DEV_QAT_C62XVF=m
 CONFIG_CRYPTO_DEV_CHELSIO=m
-CONFIG_CHELSIO_IPSEC_INLINE=y
-CONFIG_CRYPTO_DEV_CHELSIO_TLS=m
 CONFIG_CRYPTO_DEV_VIRTIO=m
-CONFIG_CRYPTO_DEV_CCREE=m
+CONFIG_CRYPTO_DEV_SAFEXCEL=m
+# CONFIG_CRYPTO_DEV_CCREE is not set
+CONFIG_CRYPTO_DEV_AMLOGIC_GXL=m
+CONFIG_CRYPTO_DEV_AMLOGIC_GXL_DEBUG=y
 CONFIG_ASYMMETRIC_KEY_TYPE=y
 CONFIG_ASYMMETRIC_PUBLIC_KEY_SUBTYPE=y
 CONFIG_X509_CERTIFICATE_PARSER=y
@@ -6258,10 +6545,14 @@ CONFIG_PKCS8_PRIVATE_KEY_PARSER=m
 CONFIG_PKCS7_MESSAGE_PARSER=y
 # CONFIG_PKCS7_TEST_KEY is not set
 # CONFIG_SIGNED_PE_FILE_VERIFICATION is not set
+# CONFIG_FIPS_SIGNATURE_SELFTEST is not set
 
 #
 # Certificates for signature checking
 #
+CONFIG_MODULE_SIG_KEY="certs/signing_key.pem"
+# CONFIG_MODULE_SIG_KEY_TYPE_RSA is not set
+CONFIG_MODULE_SIG_KEY_TYPE_ECDSA=y
 CONFIG_SYSTEM_TRUSTED_KEYRING=y
 CONFIG_SYSTEM_TRUSTED_KEYS=""
 # CONFIG_SYSTEM_EXTRA_CERTIFICATE is not set
@@ -6276,18 +6567,46 @@ CONFIG_BINARY_PRINTF=y
 #
 CONFIG_RAID6_PQ=m
 CONFIG_RAID6_PQ_BENCHMARK=y
+CONFIG_LINEAR_RANGES=y
 CONFIG_PACKING=y
 CONFIG_BITREVERSE=y
 CONFIG_GENERIC_STRNCPY_FROM_USER=y
 CONFIG_GENERIC_STRNLEN_USER=y
 CONFIG_GENERIC_NET_UTILS=y
 CONFIG_CORDIC=m
+# CONFIG_PRIME_NUMBERS is not set
 CONFIG_RATIONAL=y
 CONFIG_GENERIC_PCI_IOMAP=y
 CONFIG_ARCH_USE_CMPXCHG_LOCKREF=y
-CONFIG_CRC_CCITT=y
+CONFIG_ARCH_HAS_FAST_MULTIPLIER=y
+CONFIG_ARCH_USE_SYM_ANNOTATIONS=y
+
+#
+# Crypto library routines
+#
+CONFIG_CRYPTO_LIB_UTILS=y
+CONFIG_CRYPTO_LIB_AES=y
+CONFIG_CRYPTO_LIB_ARC4=m
+CONFIG_CRYPTO_LIB_GF128MUL=m
+CONFIG_CRYPTO_LIB_BLAKE2S_GENERIC=y
+CONFIG_CRYPTO_ARCH_HAVE_LIB_CHACHA=m
+CONFIG_CRYPTO_LIB_CHACHA_GENERIC=m
+CONFIG_CRYPTO_LIB_CHACHA=m
+CONFIG_CRYPTO_LIB_CURVE25519_GENERIC=m
+CONFIG_CRYPTO_LIB_CURVE25519=m
+CONFIG_CRYPTO_LIB_DES=m
+CONFIG_CRYPTO_ARCH_HAVE_LIB_POLY1305=m
+CONFIG_CRYPTO_LIB_POLY1305_GENERIC=m
+CONFIG_CRYPTO_LIB_POLY1305=m
+CONFIG_CRYPTO_LIB_CHACHA20POLY1305=m
+CONFIG_CRYPTO_LIB_SHA1=y
+CONFIG_CRYPTO_LIB_SHA256=y
+# end of Crypto library routines
+
+CONFIG_CRC_CCITT=m
 CONFIG_CRC16=y
 CONFIG_CRC_T10DIF=y
+CONFIG_CRC64_ROCKSOFT=y
 CONFIG_CRC_ITU_T=m
 CONFIG_CRC32=y
 # CONFIG_CRC32_SELFTEST is not set
@@ -6301,15 +6620,17 @@ CONFIG_CRC7=m
 CONFIG_LIBCRC32C=y
 CONFIG_CRC8=m
 CONFIG_XXHASH=y
-CONFIG_RANDOM32_SELFTEST=y
+# CONFIG_RANDOM32_SELFTEST is not set
 CONFIG_842_COMPRESS=y
 CONFIG_842_DECOMPRESS=y
 CONFIG_ZLIB_INFLATE=y
+CONFIG_ZLIB_DEFLATE=y
 CONFIG_LZO_COMPRESS=m
 CONFIG_LZO_DECOMPRESS=y
-CONFIG_LZ4_COMPRESS=m
+CONFIG_LZ4_COMPRESS=y
 CONFIG_LZ4HC_COMPRESS=m
 CONFIG_LZ4_DECOMPRESS=y
+CONFIG_ZSTD_COMMON=y
 CONFIG_ZSTD_COMPRESS=y
 CONFIG_ZSTD_DECOMPRESS=y
 CONFIG_XZ_DEC=y
@@ -6319,6 +6640,7 @@ CONFIG_XZ_DEC_IA64=y
 CONFIG_XZ_DEC_ARM=y
 CONFIG_XZ_DEC_ARMTHUMB=y
 CONFIG_XZ_DEC_SPARC=y
+CONFIG_XZ_DEC_MICROLZMA=y
 CONFIG_XZ_DEC_BCJ=y
 # CONFIG_XZ_DEC_TEST is not set
 CONFIG_DECOMPRESS_GZIP=y
@@ -6327,9 +6649,9 @@ CONFIG_DECOMPRESS_LZMA=y
 CONFIG_DECOMPRESS_XZ=y
 CONFIG_DECOMPRESS_LZO=y
 CONFIG_DECOMPRESS_LZ4=y
+CONFIG_DECOMPRESS_ZSTD=y
 CONFIG_GENERIC_ALLOCATOR=y
 CONFIG_REED_SOLOMON=m
-CONFIG_REED_SOLOMON_DEC8=y
 CONFIG_REED_SOLOMON_ENC16=y
 CONFIG_REED_SOLOMON_DEC16=y
 CONFIG_TEXTSEARCH=y
@@ -6338,15 +6660,24 @@ CONFIG_TEXTSEARCH_BM=m
 CONFIG_TEXTSEARCH_FSM=m
 CONFIG_BTREE=y
 CONFIG_INTERVAL_TREE=y
+CONFIG_INTERVAL_TREE_SPAN_ITER=y
+CONFIG_XARRAY_MULTI=y
 CONFIG_ASSOCIATIVE_ARRAY=y
 CONFIG_HAS_IOMEM=y
+CONFIG_HAS_IOPORT=y
+CONFIG_HAS_IOPORT_MAP=y
 CONFIG_HAS_DMA=y
+CONFIG_DMA_OPS=y
+CONFIG_NEED_SG_DMA_FLAGS=y
 CONFIG_NEED_SG_DMA_LENGTH=y
 CONFIG_NEED_DMA_MAP_STATE=y
 CONFIG_ARCH_DMA_ADDR_T_64BIT=y
 CONFIG_DMA_DECLARE_COHERENT=y
 CONFIG_SWIOTLB=y
+# CONFIG_SWIOTLB_DYNAMIC is not set
+# CONFIG_DMA_RESTRICTED_POOL is not set
 CONFIG_DMA_CMA=y
+# CONFIG_DMA_NUMA_CMA is not set
 
 #
 # Default contiguous memory area size:
@@ -6358,8 +6689,10 @@ CONFIG_CMA_SIZE_SEL_MBYTES=y
 # CONFIG_CMA_SIZE_SEL_MAX is not set
 CONFIG_CMA_ALIGNMENT=8
 # CONFIG_DMA_API_DEBUG is not set
+# CONFIG_DMA_MAP_BENCHMARK is not set
 CONFIG_SGL_ALLOC=y
 CONFIG_CHECK_SIGNATURE=y
+# CONFIG_FORCE_NR_CPUS is not set
 CONFIG_CPU_RMAP=y
 CONFIG_DQL=y
 CONFIG_GLOB=y
@@ -6372,17 +6705,27 @@ CONFIG_SIGNATURE=y
 CONFIG_DIMLIB=y
 CONFIG_LIBFDT=y
 CONFIG_OID_REGISTRY=y
+CONFIG_UCS2_STRING=y
+CONFIG_HAVE_GENERIC_VDSO=y
+CONFIG_GENERIC_GETTIMEOFDAY=y
+CONFIG_GENERIC_VDSO_TIME_NS=y
 CONFIG_FONT_SUPPORT=y
 # CONFIG_FONTS is not set
 CONFIG_FONT_8x8=y
 CONFIG_FONT_8x16=y
 CONFIG_SG_POOL=y
+CONFIG_ARCH_HAS_PMEM_API=y
+CONFIG_MEMREGION=y
+CONFIG_ARCH_HAS_UACCESS_FLUSHCACHE=y
+CONFIG_ARCH_STACKWALK=y
 CONFIG_SBITMAP=y
 CONFIG_PARMAN=m
 CONFIG_OBJAGG=m
-# CONFIG_STRING_SELFTEST is not set
 # end of Library routines
 
+CONFIG_PLDMFW=y
+CONFIG_POLYNOMIAL=m
+
 #
 # Kernel hacking
 #
@@ -6392,79 +6735,146 @@ CONFIG_OBJAGG=m
 #
 CONFIG_PRINTK_TIME=y
 # CONFIG_PRINTK_CALLER is not set
+# CONFIG_STACKTRACE_BUILD_ID is not set
 CONFIG_CONSOLE_LOGLEVEL_DEFAULT=7
 CONFIG_CONSOLE_LOGLEVEL_QUIET=4
 CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4
 # CONFIG_BOOT_PRINTK_DELAY is not set
 # CONFIG_DYNAMIC_DEBUG is not set
+# CONFIG_DYNAMIC_DEBUG_CORE is not set
+CONFIG_SYMBOLIC_ERRNAME=y
+CONFIG_DEBUG_BUGVERBOSE=y
 # end of printk and dmesg options
 
+CONFIG_DEBUG_KERNEL=y
+CONFIG_DEBUG_MISC=y
+
 #
 # Compile-time checks and compiler options
 #
-# CONFIG_DEBUG_INFO is not set
-CONFIG_ENABLE_MUST_CHECK=y
+CONFIG_AS_HAS_NON_CONST_LEB128=y
+CONFIG_DEBUG_INFO_NONE=y
+# CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT is not set
+# CONFIG_DEBUG_INFO_DWARF4 is not set
+# CONFIG_DEBUG_INFO_DWARF5 is not set
 CONFIG_FRAME_WARN=2048
 CONFIG_STRIP_ASM_SYMS=y
 # CONFIG_READABLE_ASM is not set
-# CONFIG_UNUSED_SYMBOLS is not set
-CONFIG_DEBUG_FS=y
 # CONFIG_HEADERS_INSTALL is not set
 # CONFIG_DEBUG_SECTION_MISMATCH is not set
 CONFIG_SECTION_MISMATCH_WARN_ONLY=y
+# CONFIG_DEBUG_FORCE_FUNCTION_ALIGN_64B is not set
+# CONFIG_VMLINUX_MAP is not set
 # CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
 # end of Compile-time checks and compiler options
 
+#
+# Generic Kernel Debugging Instruments
+#
 CONFIG_MAGIC_SYSRQ=y
 CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0x1
 CONFIG_MAGIC_SYSRQ_SERIAL=y
-CONFIG_DEBUG_KERNEL=y
-CONFIG_DEBUG_MISC=y
+CONFIG_MAGIC_SYSRQ_SERIAL_SEQUENCE=""
+CONFIG_DEBUG_FS=y
+CONFIG_DEBUG_FS_ALLOW_ALL=y
+# CONFIG_DEBUG_FS_DISALLOW_MOUNT is not set
+# CONFIG_DEBUG_FS_ALLOW_NONE is not set
+CONFIG_HAVE_ARCH_KGDB=y
+# CONFIG_KGDB is not set
+CONFIG_ARCH_HAS_UBSAN_SANITIZE_ALL=y
+# CONFIG_UBSAN is not set
+CONFIG_HAVE_ARCH_KCSAN=y
+CONFIG_HAVE_KCSAN_COMPILER=y
+# CONFIG_KCSAN is not set
+# end of Generic Kernel Debugging Instruments
+
+#
+# Networking Debugging
+#
+# CONFIG_NET_DEV_REFCNT_TRACKER is not set
+# CONFIG_NET_NS_REFCNT_TRACKER is not set
+# CONFIG_DEBUG_NET is not set
+# end of Networking Debugging
 
 #
 # Memory Debugging
 #
-CONFIG_PAGE_EXTENSION=y
+# CONFIG_PAGE_EXTENSION is not set
 # CONFIG_DEBUG_PAGEALLOC is not set
+# CONFIG_SLUB_DEBUG is not set
 # CONFIG_PAGE_OWNER is not set
-CONFIG_PAGE_POISONING=y
-CONFIG_PAGE_POISONING_NO_SANITY=y
-# CONFIG_PAGE_POISONING_ZERO is not set
+# CONFIG_PAGE_TABLE_CHECK is not set
+# CONFIG_PAGE_POISONING is not set
 # CONFIG_DEBUG_PAGE_REF is not set
-# CONFIG_DEBUG_OBJECTS is not set
-# CONFIG_SLUB_STATS is not set
+# CONFIG_DEBUG_RODATA_TEST is not set
+CONFIG_ARCH_HAS_DEBUG_WX=y
+CONFIG_DEBUG_WX=y
+CONFIG_GENERIC_PTDUMP=y
+CONFIG_PTDUMP_CORE=y
+# CONFIG_PTDUMP_DEBUGFS is not set
 CONFIG_HAVE_DEBUG_KMEMLEAK=y
 # CONFIG_DEBUG_KMEMLEAK is not set
+# CONFIG_PER_VMA_LOCK_STATS is not set
+# CONFIG_DEBUG_OBJECTS is not set
+# CONFIG_SHRINKER_DEBUG is not set
 # CONFIG_DEBUG_STACK_USAGE is not set
+CONFIG_SCHED_STACK_END_CHECK=y
+CONFIG_ARCH_HAS_DEBUG_VM_PGTABLE=y
 # CONFIG_DEBUG_VM is not set
+# CONFIG_DEBUG_VM_PGTABLE is not set
 CONFIG_ARCH_HAS_DEBUG_VIRTUAL=y
 # CONFIG_DEBUG_VIRTUAL is not set
-CONFIG_DEBUG_MEMORY_INIT=y
+# CONFIG_DEBUG_MEMORY_INIT is not set
 # CONFIG_DEBUG_PER_CPU_MAPS is not set
+CONFIG_HAVE_ARCH_KASAN=y
+CONFIG_HAVE_ARCH_KASAN_VMALLOC=y
 CONFIG_CC_HAS_KASAN_GENERIC=y
-CONFIG_KASAN_STACK=1
+CONFIG_CC_HAS_WORKING_NOSANITIZE_ADDRESS=y
+# CONFIG_KASAN is not set
+CONFIG_HAVE_ARCH_KFENCE=y
+CONFIG_KFENCE=y
+CONFIG_KFENCE_SAMPLE_INTERVAL=100
+CONFIG_KFENCE_NUM_OBJECTS=255
+# CONFIG_KFENCE_DEFERRABLE is not set
+# CONFIG_KFENCE_STATIC_KEYS is not set
+CONFIG_KFENCE_STRESS_TEST_FAULTS=0
 # end of Memory Debugging
 
-CONFIG_ARCH_HAS_KCOV=y
-CONFIG_CC_HAS_SANCOV_TRACE_PC=y
-# CONFIG_KCOV is not set
 CONFIG_DEBUG_SHIRQ=y
 
 #
-# Debug Lockups and Hangs
+# Debug Oops, Lockups and Hangs
 #
-# CONFIG_DETECT_HUNG_TASK is not set
-# CONFIG_WQ_WATCHDOG is not set
-# end of Debug Lockups and Hangs
-
 # CONFIG_PANIC_ON_OOPS is not set
 CONFIG_PANIC_ON_OOPS_VALUE=0
 CONFIG_PANIC_TIMEOUT=120
+CONFIG_LOCKUP_DETECTOR=y
+CONFIG_SOFTLOCKUP_DETECTOR=y
+# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
+CONFIG_HAVE_HARDLOCKUP_DETECTOR_BUDDY=y
+CONFIG_HARDLOCKUP_DETECTOR=y
+# CONFIG_HARDLOCKUP_DETECTOR_PREFER_BUDDY is not set
+CONFIG_HARDLOCKUP_DETECTOR_PERF=y
+# CONFIG_HARDLOCKUP_DETECTOR_BUDDY is not set
+# CONFIG_HARDLOCKUP_DETECTOR_ARCH is not set
+CONFIG_HARDLOCKUP_DETECTOR_COUNTS_HRTIMER=y
+# CONFIG_BOOTPARAM_HARDLOCKUP_PANIC is not set
+# CONFIG_DETECT_HUNG_TASK is not set
+# CONFIG_WQ_WATCHDOG is not set
+# CONFIG_WQ_CPU_INTENSIVE_REPORT is not set
+# CONFIG_TEST_LOCKUP is not set
+# end of Debug Oops, Lockups and Hangs
+
+#
+# Scheduler Debugging
+#
 # CONFIG_SCHED_DEBUG is not set
 CONFIG_SCHED_INFO=y
 CONFIG_SCHEDSTATS=y
-CONFIG_SCHED_STACK_END_CHECK=y
+# end of Scheduler Debugging
+
 # CONFIG_DEBUG_TIMEKEEPING is not set
+CONFIG_DEBUG_PREEMPT=y
 
 #
 # Lock Debugging (spinlocks, mutexes, etc...)
@@ -6482,36 +6892,49 @@ CONFIG_LOCK_DEBUGGING_SUPPORT=y
 # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
 # CONFIG_LOCK_TORTURE_TEST is not set
 # CONFIG_WW_MUTEX_SELFTEST is not set
+# CONFIG_SCF_TORTURE_TEST is not set
+# CONFIG_CSD_LOCK_WAIT_DEBUG is not set
 # end of Lock Debugging (spinlocks, mutexes, etc...)
 
+# CONFIG_DEBUG_IRQFLAGS is not set
 CONFIG_STACKTRACE=y
 # CONFIG_WARN_ALL_UNSEEDED_RANDOM is not set
 # CONFIG_DEBUG_KOBJECT is not set
-CONFIG_DEBUG_BUGVERBOSE=y
+
+#
+# Debug kernel data structures
+#
 CONFIG_DEBUG_LIST=y
 # CONFIG_DEBUG_PLIST is not set
 # CONFIG_DEBUG_SG is not set
 # CONFIG_DEBUG_NOTIFIERS is not set
+# CONFIG_DEBUG_MAPLE_TREE is not set
+# end of Debug kernel data structures
+
 # CONFIG_DEBUG_CREDENTIALS is not set
 
 #
 # RCU Debugging
 #
-# CONFIG_RCU_PERF_TEST is not set
+# CONFIG_RCU_SCALE_TEST is not set
 # CONFIG_RCU_TORTURE_TEST is not set
+# CONFIG_RCU_REF_SCALE_TEST is not set
+CONFIG_RCU_EXP_CPU_STALL_TIMEOUT=0
+# CONFIG_RCU_CPU_STALL_CPUTIME is not set
 # CONFIG_RCU_TRACE is not set
 # CONFIG_RCU_EQS_DEBUG is not set
 # end of RCU Debugging
 
 # CONFIG_DEBUG_WQ_FORCE_RR_CPU is not set
-# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
 # CONFIG_CPU_HOTPLUG_STATE_CONTROL is not set
-# CONFIG_NOTIFIER_ERROR_INJECTION is not set
-# CONFIG_FAULT_INJECTION is not set
 # CONFIG_LATENCYTOP is not set
 CONFIG_NOP_TRACER=y
 CONFIG_HAVE_FUNCTION_TRACER=y
+CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
+CONFIG_HAVE_FUNCTION_GRAPH_RETVAL=y
 CONFIG_HAVE_DYNAMIC_FTRACE=y
+CONFIG_HAVE_DYNAMIC_FTRACE_WITH_DIRECT_CALLS=y
+CONFIG_HAVE_DYNAMIC_FTRACE_WITH_ARGS=y
 CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
 CONFIG_HAVE_SYSCALL_TRACEPOINTS=y
 CONFIG_HAVE_C_RECORDMCOUNT=y
@@ -6524,35 +6947,70 @@ CONFIG_TRACING=y
 CONFIG_GENERIC_TRACER=y
 CONFIG_TRACING_SUPPORT=y
 CONFIG_FTRACE=y
+# CONFIG_BOOTTIME_TRACING is not set
 CONFIG_FUNCTION_TRACER=y
-# CONFIG_PREEMPTIRQ_EVENTS is not set
+CONFIG_FUNCTION_GRAPH_TRACER=y
+# CONFIG_FUNCTION_GRAPH_RETVAL is not set
+CONFIG_DYNAMIC_FTRACE=y
+CONFIG_DYNAMIC_FTRACE_WITH_DIRECT_CALLS=y
+CONFIG_DYNAMIC_FTRACE_WITH_ARGS=y
+CONFIG_FUNCTION_PROFILER=y
+CONFIG_STACK_TRACER=y
 # CONFIG_IRQSOFF_TRACER is not set
+# CONFIG_PREEMPT_TRACER is not set
 CONFIG_SCHED_TRACER=y
 # CONFIG_HWLAT_TRACER is not set
+# CONFIG_OSNOISE_TRACER is not set
+# CONFIG_TIMERLAT_TRACER is not set
 CONFIG_TRACER_SNAPSHOT=y
 # CONFIG_TRACER_SNAPSHOT_PER_CPU_SWAP is not set
 CONFIG_BRANCH_PROFILE_NONE=y
 # CONFIG_PROFILE_ANNOTATED_BRANCHES is not set
-CONFIG_STACK_TRACER=y
 CONFIG_BLK_DEV_IO_TRACE=y
 CONFIG_UPROBE_EVENTS=y
 CONFIG_BPF_EVENTS=y
 CONFIG_DYNAMIC_EVENTS=y
 CONFIG_PROBE_EVENTS=y
-CONFIG_DYNAMIC_FTRACE=y
-CONFIG_FUNCTION_PROFILER=y
 CONFIG_FTRACE_MCOUNT_RECORD=y
-# CONFIG_FTRACE_STARTUP_TEST is not set
+# CONFIG_SYNTH_EVENTS is not set
+# CONFIG_USER_EVENTS is not set
+# CONFIG_HIST_TRIGGERS is not set
+# CONFIG_TRACE_EVENT_INJECT is not set
 # CONFIG_TRACEPOINT_BENCHMARK is not set
 CONFIG_RING_BUFFER_BENCHMARK=m
+# CONFIG_TRACE_EVAL_MAP_FILE is not set
+# CONFIG_FTRACE_RECORD_RECURSION is not set
+# CONFIG_FTRACE_STARTUP_TEST is not set
 # CONFIG_RING_BUFFER_STARTUP_TEST is not set
+# CONFIG_RING_BUFFER_VALIDATE_TIME_DELTAS is not set
 # CONFIG_PREEMPTIRQ_DELAY_TEST is not set
-# CONFIG_TRACE_EVAL_MAP_FILE is not set
+# CONFIG_RV is not set
+# CONFIG_SAMPLES is not set
+CONFIG_HAVE_SAMPLE_FTRACE_DIRECT=y
+CONFIG_HAVE_SAMPLE_FTRACE_DIRECT_MULTI=y
+# CONFIG_STRICT_DEVMEM is not set
+
+#
+# x86 Debugging
+#
+# end of x86 Debugging
+
+#
+# Kernel Testing and Coverage
+#
+# CONFIG_KUNIT is not set
+# CONFIG_NOTIFIER_ERROR_INJECTION is not set
+# CONFIG_FAULT_INJECTION is not set
+CONFIG_ARCH_HAS_KCOV=y
+CONFIG_CC_HAS_SANCOV_TRACE_PC=y
+# CONFIG_KCOV is not set
 CONFIG_RUNTIME_TESTING_MENU=y
+# CONFIG_TEST_DHRY is not set
 # CONFIG_LKDTM is not set
-# CONFIG_TEST_LIST_SORT is not set
-# CONFIG_TEST_SORT is not set
+# CONFIG_TEST_MIN_HEAP is not set
+# CONFIG_TEST_DIV64 is not set
 # CONFIG_BACKTRACE_SELF_TEST is not set
+# CONFIG_TEST_REF_TRACKER is not set
 CONFIG_RBTREE_TEST=m
 CONFIG_REED_SOLOMON_TEST=m
 # CONFIG_INTERVAL_TREE_TEST is not set
@@ -6560,20 +7018,20 @@ CONFIG_REED_SOLOMON_TEST=m
 # CONFIG_ATOMIC64_SELFTEST is not set
 # CONFIG_ASYNC_RAID6_TEST is not set
 # CONFIG_TEST_HEXDUMP is not set
+# CONFIG_STRING_SELFTEST is not set
 # CONFIG_TEST_STRING_HELPERS is not set
-# CONFIG_TEST_STRSCPY is not set
 # CONFIG_TEST_KSTRTOX is not set
 # CONFIG_TEST_PRINTF is not set
+# CONFIG_TEST_SCANF is not set
 # CONFIG_TEST_BITMAP is not set
-# CONFIG_TEST_BITFIELD is not set
 # CONFIG_TEST_UUID is not set
 # CONFIG_TEST_XARRAY is not set
-# CONFIG_TEST_OVERFLOW is not set
+# CONFIG_TEST_MAPLE_TREE is not set
 # CONFIG_TEST_RHASHTABLE is not set
-# CONFIG_TEST_HASH is not set
 # CONFIG_TEST_IDA is not set
 # CONFIG_TEST_PARMAN is not set
 # CONFIG_TEST_LKM is not set
+# CONFIG_TEST_BITOPS is not set
 # CONFIG_TEST_VMALLOC is not set
 # CONFIG_TEST_USER_COPY is not set
 # CONFIG_TEST_BPF is not set
@@ -6586,17 +7044,15 @@ CONFIG_REED_SOLOMON_TEST=m
 # CONFIG_TEST_KMOD is not set
 # CONFIG_TEST_MEMCAT_P is not set
 # CONFIG_TEST_OBJAGG is not set
-# CONFIG_TEST_STACKINIT is not set
 # CONFIG_TEST_MEMINIT is not set
+# CONFIG_TEST_FREE_PAGES is not set
+CONFIG_ARCH_USE_MEMTEST=y
 # CONFIG_MEMTEST is not set
-# CONFIG_BUG_ON_DATA_CORRUPTION is not set
-# CONFIG_SAMPLES is not set
-CONFIG_HAVE_ARCH_KGDB=y
-# CONFIG_KGDB is not set
-# CONFIG_UBSAN is not set
-CONFIG_UBSAN_ALIGNMENT=y
-CONFIG_ARCH_HAS_DEVMEM_IS_ALLOWED=y
-CONFIG_STRICT_DEVMEM=y
-CONFIG_IO_STRICT_DEVMEM=y
-CONFIG_TRACE_IRQFLAGS_SUPPORT=y
+# CONFIG_HYPERV_TESTING is not set
+# end of Kernel Testing and Coverage
+
+#
+# Rust hacking
+#
+# end of Rust hacking
 # end of Kernel hacking
similarity index 56%
rename from kernel/config-x86-generic
rename to kernel/config-x86_64-generic
index 073b33374272c3110f49e2c826cb3f0dfdc1e1c3..648568780e554d3520ddacc2daaa33e159218d74 100644 (file)
@@ -1,14 +1,8 @@
-CONFIG_THREAD_INFO_IN_TASK=y
 
 #
 # General setup
 #
-# CONFIG_KERNEL_GZIP is not set
 # CONFIG_KERNEL_BZIP2 is not set
-# CONFIG_KERNEL_LZMA is not set
-CONFIG_KERNEL_XZ=y
-# CONFIG_KERNEL_LZO is not set
-# CONFIG_KERNEL_LZ4 is not set
 
 #
 # IRQ subsystem
@@ -26,46 +20,37 @@ CONFIG_GENERIC_CMOS_UPDATE=y
 #
 # Timers subsystem
 #
-CONFIG_CONTEXT_TRACKING_FORCE=y
+CONFIG_CLOCKSOURCE_WATCHDOG_MAX_SKEW_US=100
 # end of Timers subsystem
 
 #
 # Scheduler features
 #
-CONFIG_ARCH_SUPPORTS_NUMA_BALANCING=y
-CONFIG_ARCH_WANT_BATCHED_UNMAP_TLB_FLUSH=y
-CONFIG_ARCH_SUPPORTS_INT128=y
-# CONFIG_NUMA_BALANCING is not set
-CONFIG_SYSCTL_EXCEPTION_TRACE=y
 CONFIG_PCSPKR_PLATFORM=y
 CONFIG_KALLSYMS_ABSOLUTE_PERCPU=y
-# end of General setup
 
 #
-# Kernel Performance Events And Counters
+# Kexec and crash features
 #
-CONFIG_64BIT=y
+CONFIG_CRASH_CORE=y
+CONFIG_KEXEC_CORE=y
+CONFIG_KEXEC=y
+CONFIG_CRASH_DUMP=y
+CONFIG_CRASH_HOTPLUG=y
+CONFIG_CRASH_MAX_MEMORY_RANGES=8192
+# end of Kexec and crash features
+# end of General setup
 CONFIG_X86_64=y
 CONFIG_X86=y
 CONFIG_INSTRUCTION_DECODER=y
 CONFIG_OUTPUT_FORMAT="elf64-x86-64"
-CONFIG_ARCH_DEFCONFIG="arch/x86/configs/x86_64_defconfig"
 CONFIG_ARCH_MMAP_RND_BITS_MIN=28
 CONFIG_ARCH_MMAP_RND_BITS_MAX=32
 CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MIN=8
-CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MAX=16
 CONFIG_GENERIC_ISA_DMA=y
-CONFIG_GENERIC_BUG_RELATIVE_POINTERS=y
 CONFIG_ARCH_MAY_HAVE_PC_FDC=y
 CONFIG_ARCH_HAS_CPU_RELAX=y
-CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y
-CONFIG_ARCH_HAS_FILTER_PGPROT=y
-CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y
-CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y
-CONFIG_ARCH_WANT_GENERAL_HUGETLB=y
-CONFIG_ZONE_DMA32=y
 CONFIG_AUDIT_ARCH=y
-CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
 CONFIG_X86_64_SMP=y
 CONFIG_PGTABLE_LEVELS=4
 CONFIG_CC_HAS_SANE_STACKPROTECTOR=y
@@ -73,11 +58,8 @@ CONFIG_CC_HAS_SANE_STACKPROTECTOR=y
 #
 # Processor type and features
 #
-CONFIG_ZONE_DMA=y
-CONFIG_X86_FEATURE_NAMES=y
 CONFIG_X86_X2APIC=y
 CONFIG_X86_MPPARSE=y
-CONFIG_RETPOLINE=y
 # CONFIG_X86_CPU_RESCTRL is not set
 # CONFIG_X86_EXTENDED_PLATFORM is not set
 CONFIG_X86_INTEL_LPSS=y
@@ -92,19 +74,23 @@ CONFIG_PARAVIRT_XXL=y
 CONFIG_PARAVIRT_SPINLOCKS=y
 CONFIG_X86_HV_CALLBACK_VECTOR=y
 CONFIG_XEN_PV=y
+CONFIG_XEN_512GB=y
 CONFIG_XEN_PV_SMP=y
+CONFIG_XEN_PV_DOM0=y
 CONFIG_XEN_PVHVM=y
 CONFIG_XEN_PVHVM_SMP=y
-CONFIG_XEN_512GB=y
+CONFIG_XEN_PVHVM_GUEST=y
 CONFIG_XEN_SAVE_RESTORE=y
 # CONFIG_XEN_DEBUG_FS is not set
 # CONFIG_XEN_PVH is not set
+CONFIG_XEN_PV_MSR_SAFE=y
 CONFIG_KVM_GUEST=y
+CONFIG_ARCH_CPUIDLE_HALTPOLL=y
 # CONFIG_PVH is not set
-# CONFIG_KVM_DEBUG_FS is not set
 CONFIG_PARAVIRT_CLOCK=y
 # CONFIG_JAILHOUSE_GUEST is not set
 # CONFIG_ACRN_GUEST is not set
+# CONFIG_INTEL_TDX_GUEST is not set
 # CONFIG_MK8 is not set
 # CONFIG_MPSC is not set
 # CONFIG_MCORE2 is not set
@@ -117,6 +103,8 @@ CONFIG_X86_CMPXCHG64=y
 CONFIG_X86_CMOV=y
 CONFIG_X86_MINIMUM_CPU_FAMILY=64
 CONFIG_X86_DEBUGCTLMSR=y
+CONFIG_IA32_FEAT_CTL=y
+CONFIG_X86_VMX_FEATURE_NAMES=y
 CONFIG_PROCESSOR_SELECT=y
 CONFIG_CPU_SUP_INTEL=y
 CONFIG_CPU_SUP_AMD=y
@@ -125,14 +113,12 @@ CONFIG_CPU_SUP_CENTAUR=y
 CONFIG_CPU_SUP_ZHAOXIN=y
 CONFIG_HPET_TIMER=y
 CONFIG_HPET_EMULATE_RTC=y
-CONFIG_DMI=y
 CONFIG_GART_IOMMU=y
-# CONFIG_CALGARY_IOMMU is not set
+CONFIG_BOOT_VESA_SUPPORT=y
 # CONFIG_MAXSMP is not set
 CONFIG_NR_CPUS_RANGE_BEGIN=2
 CONFIG_NR_CPUS_RANGE_END=512
 CONFIG_NR_CPUS_DEFAULT=64
-CONFIG_NR_CPUS=64
 CONFIG_SCHED_MC_PRIO=y
 CONFIG_X86_LOCAL_APIC=y
 CONFIG_X86_IO_APIC=y
@@ -143,7 +129,6 @@ CONFIG_X86_MCE_INTEL=y
 CONFIG_X86_MCE_AMD=y
 CONFIG_X86_MCE_THRESHOLD=y
 # CONFIG_X86_MCE_INJECT is not set
-CONFIG_X86_THERMAL_VECTOR=y
 
 #
 # Performance monitoring
@@ -152,74 +137,87 @@ CONFIG_PERF_EVENTS_INTEL_UNCORE=y
 CONFIG_PERF_EVENTS_INTEL_RAPL=y
 CONFIG_PERF_EVENTS_INTEL_CSTATE=y
 CONFIG_PERF_EVENTS_AMD_POWER=m
+CONFIG_PERF_EVENTS_AMD_UNCORE=y
+# CONFIG_PERF_EVENTS_AMD_BRS is not set
 # end of Performance monitoring
 CONFIG_X86_VSYSCALL_EMULATION=y
-CONFIG_I8K=m
+CONFIG_X86_IOPL_IOPERM=y
 CONFIG_MICROCODE=y
-CONFIG_MICROCODE_INTEL=y
-CONFIG_MICROCODE_AMD=y
-CONFIG_MICROCODE_OLD_INTERFACE=y
+# CONFIG_MICROCODE_LATE_LOADING is not set
 CONFIG_X86_MSR=m
 CONFIG_X86_CPUID=m
 # CONFIG_X86_5LEVEL is not set
 CONFIG_X86_DIRECT_GBPAGES=y
 # CONFIG_X86_CPA_STATISTICS is not set
-CONFIG_ARCH_HAS_MEM_ENCRYPT=y
 # CONFIG_AMD_MEM_ENCRYPT is not set
-CONFIG_NUMA=y
 CONFIG_AMD_NUMA=y
 CONFIG_X86_64_ACPI_NUMA=y
-CONFIG_NODES_SPAN_OTHER_NODES=y
 # CONFIG_NUMA_EMU is not set
 CONFIG_NODES_SHIFT=9
-CONFIG_ARCH_SPARSEMEM_ENABLE=y
 CONFIG_ARCH_SPARSEMEM_DEFAULT=y
-CONFIG_ARCH_SELECT_MEMORY_MODEL=y
-CONFIG_ILLEGAL_POINTER_VALUE=0xdead000000000000
 CONFIG_X86_PMEM_LEGACY_DEVICE=y
 CONFIG_X86_PMEM_LEGACY=y
 CONFIG_X86_CHECK_BIOS_CORRUPTION=y
 CONFIG_X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK=y
-CONFIG_X86_RESERVE_LOW=64
 CONFIG_MTRR=y
 CONFIG_MTRR_SANITIZER=y
 CONFIG_MTRR_SANITIZER_ENABLE_DEFAULT=1
 CONFIG_MTRR_SANITIZER_SPARE_REG_NR_DEFAULT=1
 CONFIG_X86_PAT=y
 CONFIG_ARCH_USES_PG_UNCACHED=y
-CONFIG_ARCH_RANDOM=y
-CONFIG_X86_SMAP=y
-CONFIG_X86_INTEL_UMIP=y
-CONFIG_X86_INTEL_MPX=y
+CONFIG_X86_UMIP=y
+CONFIG_CC_HAS_IBT=y
+CONFIG_X86_CET=y
+CONFIG_X86_KERNEL_IBT=y
 CONFIG_X86_INTEL_MEMORY_PROTECTION_KEYS=y
-CONFIG_EFI=y
-CONFIG_EFI_STUB=y
+CONFIG_X86_INTEL_TSX_MODE_OFF=y
+# CONFIG_X86_INTEL_TSX_MODE_ON is not set
+# CONFIG_X86_INTEL_TSX_MODE_AUTO is not set
+# CONFIG_X86_SGX is not set
+CONFIG_X86_USER_SHADOW_STACK=y
+# CONFIG_EFI_HANDOVER_PROTOCOL is not set
 # CONFIG_EFI_MIXED is not set
-# CONFIG_KEXEC is not set
-# CONFIG_KEXEC_FILE is not set
-CONFIG_CRASH_DUMP=y
+# CONFIG_EFI_FAKE_MEMMAP is not set
+CONFIG_EFI_RUNTIME_MAP=y
+CONFIG_ARCH_SUPPORTS_KEXEC=y
+CONFIG_ARCH_SUPPORTS_KEXEC_SIG_FORCE=y
+CONFIG_ARCH_SUPPORTS_KEXEC_BZIMAGE_VERIFY_SIG=y
+CONFIG_ARCH_SUPPORTS_KEXEC_JUMP=y
+CONFIG_ARCH_SUPPORTS_CRASH_HOTPLUG=y
 CONFIG_PHYSICAL_START=0x1000000
-CONFIG_RELOCATABLE=y
-CONFIG_RANDOMIZE_BASE=y
 CONFIG_X86_NEED_RELOCS=y
 CONFIG_PHYSICAL_ALIGN=0x1000000
 CONFIG_DYNAMIC_MEMORY_LAYOUT=y
 CONFIG_RANDOMIZE_MEMORY=y
 CONFIG_RANDOMIZE_MEMORY_PHYSICAL_PADDING=0x0
-# CONFIG_BOOTPARAM_HOTPLUG_CPU0 is not set
-# CONFIG_DEBUG_HOTPLUG_CPU0 is not set
-# CONFIG_COMPAT_VDSO is not set
-# CONFIG_LEGACY_VSYSCALL_EMULATE is not set
+CONFIG_ADDRESS_MASKING=y
 # CONFIG_LEGACY_VSYSCALL_XONLY is not set
 CONFIG_LEGACY_VSYSCALL_NONE=y
 # CONFIG_CMDLINE_BOOL is not set
 # CONFIG_MODIFY_LDT_SYSCALL is not set
+# CONFIG_STRICT_SIGALTSTACK_SIZE is not set
 # end of Processor type and features
+CONFIG_CC_HAS_SLS=y
+CONFIG_CC_HAS_RETURN_THUNK=y
+CONFIG_CC_HAS_ENTRY_PADDING=y
+CONFIG_FUNCTION_PADDING_CFI=11
+CONFIG_FUNCTION_PADDING_BYTES=16
+CONFIG_CALL_PADDING=y
+CONFIG_CALL_THUNKS=y
+CONFIG_PREFIX_SYMBOLS=y
+CONFIG_SPECULATION_MITIGATIONS=y
+CONFIG_PAGE_TABLE_ISOLATION=y
+CONFIG_RETPOLINE=y
+CONFIG_RETHUNK=y
+CONFIG_CPU_UNRET_ENTRY=y
+CONFIG_CALL_DEPTH_TRACKING=y
+# CONFIG_CALL_THUNKS_DEBUG is not set
+CONFIG_CPU_IBPB_ENTRY=y
+CONFIG_CPU_IBRS_ENTRY=y
+CONFIG_CPU_SRSO=y
+CONFIG_SLS=y
+# CONFIG_GDS_FORCE_MITIGATION is not set
 CONFIG_ARCH_HAS_ADD_PAGES=y
-CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
-CONFIG_USE_PERCPU_NUMA_NODE_ID=y
-CONFIG_ARCH_ENABLE_SPLIT_PMD_PTLOCK=y
-CONFIG_ARCH_ENABLE_THP_MIGRATION=y
 
 #
 # Power management and ACPI options
@@ -228,70 +226,36 @@ CONFIG_HIBERNATE_CALLBACKS=y
 CONFIG_PM_SLEEP=y
 CONFIG_PM_SLEEP_SMP=y
 # CONFIG_PM_AUTOSLEEP is not set
+# CONFIG_PM_USERSPACE_AUTOSLEEP is not set
 # CONFIG_PM_WAKELOCKS is not set
 CONFIG_PM_GENERIC_DOMAINS_SLEEP=y
-CONFIG_ARCH_SUPPORTS_ACPI=y
-CONFIG_ACPI=y
 CONFIG_ACPI_LEGACY_TABLES_LOOKUP=y
 CONFIG_ARCH_MIGHT_HAVE_ACPI_PDC=y
 CONFIG_ACPI_SYSTEM_POWER_STATES_SUPPORT=y
-# CONFIG_ACPI_DEBUGGER is not set
-CONFIG_ACPI_SPCR_TABLE=y
 CONFIG_ACPI_LPIT=y
-# CONFIG_ACPI_PROCFS_POWER is not set
 CONFIG_ACPI_REV_OVERRIDE_POSSIBLE=y
-# CONFIG_ACPI_EC_DEBUGFS is not set
-CONFIG_ACPI_AC=m
-CONFIG_ACPI_BATTERY=m
-CONFIG_ACPI_BUTTON=m
-CONFIG_ACPI_VIDEO=m
-CONFIG_ACPI_FAN=m
 CONFIG_ACPI_TAD=m
-CONFIG_ACPI_DOCK=y
 CONFIG_ACPI_CPU_FREQ_PSS=y
 CONFIG_ACPI_PROCESSOR_CSTATE=y
-CONFIG_ACPI_PROCESSOR_IDLE=y
-CONFIG_ACPI_CPPC_LIB=y
-CONFIG_ACPI_PROCESSOR=y
-CONFIG_ACPI_IPMI=m
-CONFIG_ACPI_HOTPLUG_CPU=y
 CONFIG_ACPI_PROCESSOR_AGGREGATOR=m
 CONFIG_ACPI_THERMAL=y
-CONFIG_ACPI_NUMA=y
-CONFIG_ARCH_HAS_ACPI_TABLE_UPGRADE=y
-CONFIG_ACPI_TABLE_UPGRADE=y
-# CONFIG_ACPI_DEBUG is not set
-CONFIG_ACPI_PCI_SLOT=y
-CONFIG_ACPI_CONTAINER=y
+CONFIG_ACPI_PLATFORM_PROFILE=m
 CONFIG_ACPI_HOTPLUG_IOAPIC=y
 CONFIG_ACPI_SBS=m
-CONFIG_ACPI_HED=y
-CONFIG_ACPI_CUSTOM_METHOD=m
-# CONFIG_ACPI_BGRT is not set
 # CONFIG_ACPI_REDUCED_HARDWARE_ONLY is not set
-# CONFIG_ACPI_NFIT is not set
-# CONFIG_ACPI_HMAT is not set
-CONFIG_ACPI_APEI=y
-CONFIG_ACPI_APEI_GHES=y
-CONFIG_ACPI_APEI_PCIEAER=y
-CONFIG_ACPI_APEI_MEMORY_FAILURE=y
-# CONFIG_ACPI_APEI_EINJ is not set
-# CONFIG_ACPI_APEI_ERST_DEBUG is not set
-# CONFIG_DPTF_POWER is not set
-CONFIG_ACPI_WATCHDOG=y
+# CONFIG_ACPI_DPTF is not set
 CONFIG_ACPI_EXTLOG=m
 CONFIG_ACPI_ADXL=y
-# CONFIG_PMIC_OPREGION is not set
-# CONFIG_ACPI_CONFIGFS is not set
-# CONFIG_TPS68470_PMIC_OPREGION is not set
 CONFIG_X86_PM_TIMER=y
-CONFIG_SFI=y
 
 #
 # CPU frequency scaling drivers
 #
 CONFIG_X86_INTEL_PSTATE=y
 CONFIG_X86_PCC_CPUFREQ=m
+CONFIG_X86_AMD_PSTATE=y
+CONFIG_X86_AMD_PSTATE_DEFAULT_MODE=3
+# CONFIG_X86_AMD_PSTATE_UT is not set
 CONFIG_X86_ACPI_CPUFREQ=m
 # CONFIG_X86_ACPI_CPUFREQ_CPB is not set
 CONFIG_X86_POWERNOW_K8=m
@@ -307,6 +271,9 @@ CONFIG_X86_SPEEDSTEP_LIB=m
 #
 # CPU Idle
 #
+# CONFIG_CPU_IDLE_GOV_HALTPOLL is not set
+# CONFIG_HALTPOLL_CPUIDLE is not set
+# end of CPU Idle
 CONFIG_INTEL_IDLE=y
 # end of Power management and ACPI options
 
@@ -321,237 +288,142 @@ CONFIG_MMCONF_FAM10H=y
 # CONFIG_ISA_BUS is not set
 CONFIG_ISA_DMA_API=y
 CONFIG_AMD_NB=y
-# CONFIG_X86_SYSFB is not set
 # end of Bus options (PCI etc.)
 
 #
 # Binary Emulations
 #
-CONFIG_IA32_EMULATION=y
-# CONFIG_X86_X32 is not set
-CONFIG_COMPAT_32=y
-CONFIG_COMPAT=y
-CONFIG_COMPAT_FOR_U64_ALIGNMENT=y
-CONFIG_SYSVIPC_COMPAT=y
+# CONFIG_IA32_EMULATION is not set
+# CONFIG_X86_X32_ABI is not set
 # end of Binary Emulations
-CONFIG_X86_DEV_DMA_OPS=y
-
-#
-# Firmware Drivers
-#
-CONFIG_EDD=m
-# CONFIG_EDD_OFF is not set
-CONFIG_FIRMWARE_MEMMAP=y
-CONFIG_DMIID=y
-CONFIG_DMI_SYSFS=y
-CONFIG_DMI_SCAN_MACHINE_NON_EFI_FALLBACK=y
-CONFIG_ISCSI_IBFT_FIND=y
-CONFIG_ISCSI_IBFT=m
-CONFIG_FW_CFG_SYSFS=m
-# CONFIG_FW_CFG_SYSFS_CMDLINE is not set
-
-#
-# EFI (Extensible Firmware Interface) Support
-#
-CONFIG_EFI_VARS=y
-CONFIG_EFI_ESRT=y
-CONFIG_EFI_VARS_PSTORE=y
-# CONFIG_EFI_VARS_PSTORE_DEFAULT_DISABLE is not set
-# CONFIG_EFI_FAKE_MEMMAP is not set
-CONFIG_EFI_RUNTIME_WRAPPERS=y
-# CONFIG_EFI_BOOTLOADER_CONTROL is not set
-# CONFIG_EFI_CAPSULE_LOADER is not set
-# CONFIG_EFI_TEST is not set
-CONFIG_APPLE_PROPERTIES=y
-# CONFIG_RESET_ATTACK_MITIGATION is not set
-# end of EFI (Extensible Firmware Interface) Support
-CONFIG_UEFI_CPER=y
-CONFIG_UEFI_CPER_X86=y
-CONFIG_EFI_DEV_PATH_PARSER=y
-CONFIG_EFI_EARLYCON=y
-# end of Firmware Drivers
-
-#
-# Tegra firmware driver
-#
-CONFIG_KVM_MMIO=y
 CONFIG_KVM_ASYNC_PF=y
-CONFIG_KVM_VFIO=y
-CONFIG_KVM_GENERIC_DIRTYLOG_READ_PROTECT=y
-CONFIG_KVM_COMPAT=y
 CONFIG_KVM=m
+CONFIG_KVM_WERROR=y
 CONFIG_KVM_INTEL=m
 CONFIG_KVM_AMD=m
 CONFIG_KVM_AMD_SEV=y
-CONFIG_KVM_MMU_AUDIT=y
+CONFIG_KVM_SMM=y
+# CONFIG_KVM_XEN is not set
+# CONFIG_KVM_PROVE_MMU is not set
+CONFIG_AS_AVX512=y
+CONFIG_AS_SHA1_NI=y
+CONFIG_AS_SHA256_NI=y
+CONFIG_AS_TPAUSE=y
+CONFIG_AS_GFNI=y
+CONFIG_AS_WRUSS=y
 
 #
 # General architecture-dependent options
 #
 CONFIG_HOTPLUG_SMT=y
-CONFIG_OPROFILE_NMI_TIMER=y
+CONFIG_HOTPLUG_CORE_SYNC_FULL=y
+CONFIG_HOTPLUG_SPLIT_STARTUP=y
+CONFIG_HOTPLUG_PARALLEL=y
+CONFIG_GENERIC_ENTRY=y
+# CONFIG_STATIC_CALL_SELFTEST is not set
 CONFIG_ARCH_USE_BUILTIN_BSWAP=y
 CONFIG_USER_RETURN_NOTIFIER=y
-CONFIG_ARCH_HAS_SET_DIRECT_MAP=y
+CONFIG_ARCH_HAS_CPU_FINALIZE_INIT=y
 CONFIG_ARCH_WANTS_DYNAMIC_TASK_STRUCT=y
-CONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG=y
-CONFIG_ARCH_WANT_COMPAT_IPC_PARSE_VERSION=y
-CONFIG_ARCH_WANT_OLD_COMPAT_IPC=y
+CONFIG_MMU_GATHER_MERGE_VMAS=y
 CONFIG_ARCH_WANT_HUGE_PMD_SHARE=y
-CONFIG_MODULES_USE_ELF_RELA=y
 CONFIG_ARCH_MMAP_RND_BITS=32
-CONFIG_ARCH_MMAP_RND_COMPAT_BITS=8
+CONFIG_PAGE_SIZE_LESS_THAN_64KB=y
 CONFIG_ISA_BUS_API=y
-CONFIG_COMPAT_OLD_SIGACTION=y
-CONFIG_VMAP_STACK=y
-CONFIG_ARCH_HAS_REFCOUNT=y
-CONFIG_ARCH_USE_MEMREMAP_PROT=y
-# end of General architecture-dependent options
+CONFIG_ARCH_HAS_MEM_ENCRYPT=y
+CONFIG_ARCH_HAS_ELFCORE_COMPAT=y
+CONFIG_ARCH_HAS_PARANOID_L1D_FLUSH=y
+CONFIG_DYNAMIC_SIGFRAME=y
+CONFIG_ARCH_HAS_NONLEAF_PMD_YOUNG=y
 
 #
-# Partition Types
+# GCOV-based kernel profiling
 #
-CONFIG_BLOCK_COMPAT=y
+CONFIG_FUNCTION_ALIGNMENT_16B=y
+CONFIG_FUNCTION_ALIGNMENT=16
+# end of General architecture-dependent options
 
 #
 # IO Schedulers
 #
-CONFIG_PREEMPT_NOTIFIERS=y
-CONFIG_ARCH_USE_QUEUED_SPINLOCKS=y
-CONFIG_QUEUED_SPINLOCKS=y
-CONFIG_ARCH_USE_QUEUED_RWLOCKS=y
-CONFIG_QUEUED_RWLOCKS=y
 CONFIG_ARCH_HAS_SYNC_CORE_BEFORE_USERMODE=y
-CONFIG_ARCH_HAS_SYSCALL_WRAPPER=y
-
-#
-# Executable file formats
-#
-CONFIG_COMPAT_BINFMT_ELF=y
-# end of Executable file formats
-
-#
-# Memory Management options
-#
-CONFIG_SELECT_MEMORY_MODEL=y
-CONFIG_SPARSEMEM_MANUAL=y
-CONFIG_SPARSEMEM=y
-CONFIG_NEED_MULTIPLE_NODES=y
-CONFIG_SPARSEMEM_EXTREME=y
-CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y
-CONFIG_SPARSEMEM_VMEMMAP=y
-# CONFIG_MEMORY_HOTPLUG is not set
-CONFIG_PHYS_ADDR_T_64BIT=y
-CONFIG_BOUNCE=y
-CONFIG_VIRT_TO_BUS=y
-CONFIG_ARCH_SUPPORTS_MEMORY_FAILURE=y
-CONFIG_MEMORY_FAILURE=y
-# CONFIG_HWPOISON_INJECT is not set
-CONFIG_TRANSPARENT_HUGEPAGE=y
-CONFIG_TRANSPARENT_HUGEPAGE_ALWAYS=y
-# CONFIG_TRANSPARENT_HUGEPAGE_MADVISE is not set
+
+#
+# SLAB allocator options
+#
+CONFIG_ARCH_WANT_OPTIMIZE_DAX_VMEMMAP=y
+CONFIG_ARCH_WANT_OPTIMIZE_HUGETLB_VMEMMAP=y
+CONFIG_NUMA_KEEP_MEMINFO=y
+CONFIG_ARCH_ENABLE_SPLIT_PMD_PTLOCK=y
+CONFIG_ARCH_WANT_GENERAL_HUGETLB=y
 CONFIG_ARCH_WANTS_THP_SWAP=y
 CONFIG_THP_SWAP=y
-CONFIG_TRANSPARENT_HUGE_PAGECACHE=y
-# CONFIG_DEFERRED_STRUCT_PAGE_INIT is not set
-CONFIG_ARCH_HAS_PTE_DEVMAP=y
-# CONFIG_HMM_MIRROR is not set
+CONFIG_VMAP_PFN=y
 CONFIG_ARCH_USES_HIGH_VMA_FLAGS=y
 CONFIG_ARCH_HAS_PKEYS=y
-CONFIG_ARCH_HAS_PTE_SPECIAL=y
-# end of Memory Management options
-CONFIG_COMPAT_NETLINK_MESSAGES=y
-
-#
-# Classification
-#
-CONFIG_VMWARE_VMCI_VSOCKETS=m
-CONFIG_HYPERV_VSOCKETS=m
-
-#
-# Network testing
-#
-CONFIG_RFKILL_GPIO=m
 
 #
 # Device Drivers
 #
 # CONFIG_EISA is not set
-CONFIG_PCIEAER_INJECT=m
-CONFIG_PCIE_ECRC=y
-# CONFIG_PCI_REALLOC_ENABLE_AUTO is not set
-CONFIG_PCI_STUB=y
-CONFIG_PCI_PF_STUB=m
 CONFIG_XEN_PCIDEV_FRONTEND=m
-CONFIG_PCI_ATS=y
 CONFIG_PCI_LOCKLESS_CONFIG=y
-CONFIG_PCI_IOV=y
-CONFIG_PCI_PRI=y
-CONFIG_PCI_PASID=y
-CONFIG_PCI_LABEL=y
-CONFIG_PCI_HYPERV=m
-CONFIG_HOTPLUG_PCI_ACPI=y
 CONFIG_HOTPLUG_PCI_ACPI_IBM=m
 
 #
-# Cadence PCIe controllers support
+# PCI controller drivers
 #
-CONFIG_PCI_FTPCI100=y
 CONFIG_VMD=m
 
 #
-# PCI switch controller drivers
+# DesignWare-based PCIe controllers
 #
-CONFIG_PCCARD=m
-# CONFIG_PCMCIA is not set
-CONFIG_CARDBUS=y
+# CONFIG_PCIE_INTEL_GW is not set
+# end of DesignWare-based PCIe controllers
+# end of PCI controller drivers
 
 #
-# PC-card bridges
+# Firmware loader
 #
-CONFIG_YENTA=m
-CONFIG_YENTA_O2=y
-CONFIG_YENTA_RICOH=y
-CONFIG_YENTA_TI=y
-CONFIG_YENTA_ENE_TUNE=y
-CONFIG_YENTA_TOSHIBA=y
+CONFIG_FW_CACHE=y
+# end of Firmware loader
 
 #
-# Firmware loader
+# ARM System Control and Management Interface Protocol
 #
-# CONFIG_FW_LOADER_USER_HELPER_FALLBACK is not set
-# end of Firmware loader
-CONFIG_GENERIC_CPU_VULNERABILITIES=y
+CONFIG_EDD=m
+# CONFIG_EDD_OFF is not set
+CONFIG_DMI_SCAN_MACHINE_NON_EFI_FALLBACK=y
+CONFIG_ISCSI_IBFT_FIND=y
+CONFIG_ISCSI_IBFT=m
 
 #
-# Bus devices
+# EFI (Extensible Firmware Interface) Support
+#
+CONFIG_EFI_DXE_MEM_ATTRIBUTES=y
+CONFIG_EFI_DEV_PATH_PARSER=y
+CONFIG_APPLE_PROPERTIES=y
+# CONFIG_EFI_RCI2_TABLE is not set
+# end of EFI (Extensible Firmware Interface) Support
+CONFIG_UEFI_CPER_X86=y
+
+#
+# Tegra firmware driver
 #
 CONFIG_ARCH_MIGHT_HAVE_PC_PARPORT=y
-CONFIG_PNP=y
-# CONFIG_PNP_DEBUG_MESSAGES is not set
 
 #
 # Protocols
 #
-CONFIG_PNPACPI=y
-CONFIG_BLK_DEV_FD=m
+# CONFIG_BLK_DEV_FD is not set
 CONFIG_BLK_DEV_PCIESSD_MTIP32XX=m
-CONFIG_BLK_DEV_UMEM=m
-CONFIG_BLK_DEV_SKD=m
-CONFIG_BLK_DEV_SX8=m
-CONFIG_BLK_DEV_RAM_SIZE=16384
-CONFIG_BLK_DEV_RSXX=m
 
 #
 # Misc devices
 #
 CONFIG_SENSORS_LIS3LV02D=m
 # CONFIG_IBM_ASM is not set
-CONFIG_SGI_IOC4=m
-CONFIG_HP_ILO=m
 CONFIG_VMWARE_BALLOON=m
-# CONFIG_SRAM is not set
-CONFIG_PVPANIC=m
 
 #
 # Texas Instruments shared transport line discipline
@@ -559,25 +431,11 @@ CONFIG_PVPANIC=m
 CONFIG_INTEL_MEI=m
 CONFIG_INTEL_MEI_ME=m
 CONFIG_INTEL_MEI_TXE=m
+# CONFIG_INTEL_MEI_GSC is not set
 # CONFIG_INTEL_MEI_HDCP is not set
-CONFIG_VMWARE_VMCI=m
-
-#
-# Intel MIC Bus Driver
-#
-CONFIG_INTEL_MIC_BUS=m
-
-#
-# SCIF Bus Driver
-#
-# CONFIG_SCIF_BUS is not set
-
-#
-# VOP Driver
-#
-# CONFIG_GENWQE is not set
+# CONFIG_INTEL_MEI_PXP is not set
+# CONFIG_INTEL_MEI_GSC_PROXY is not set
 # end of Misc devices
-# CONFIG_IDE is not set
 
 #
 # SCSI Transports
@@ -585,7 +443,6 @@ CONFIG_INTEL_MIC_BUS=m
 CONFIG_AIC79XX_RESET_DELAY_MS=4000
 # CONFIG_AIC79XX_REG_PRETTY_PRINT is not set
 CONFIG_SCSI_MVSAS_TASKLET=y
-CONFIG_SCSI_DPT_I2O=m
 CONFIG_SCSI_ADVANSYS=m
 CONFIG_MEGARAID_NEWGEN=y
 CONFIG_MEGARAID_MM=m
@@ -593,102 +450,46 @@ CONFIG_MEGARAID_MAILBOX=m
 CONFIG_SCSI_BUSLOGIC=m
 CONFIG_SCSI_FLASHPOINT=y
 CONFIG_VMWARE_PVSCSI=m
-CONFIG_HYPERV_STORAGE=m
 CONFIG_FCOE_FNIC=m
 CONFIG_SCSI_ISCI=m
-CONFIG_ATA_ACPI=y
 # CONFIG_SATA_ZPODD is not set
 
-#
-# PIO-only SFF controllers
-#
-CONFIG_PATA_OF_PLATFORM=m
-
-#
-# Generic fallback / legacy drivers
-#
-CONFIG_PATA_ACPI=m
-
 #
 # IEEE 1394 (FireWire) support
 #
 # CONFIG_MACINTOSH_DRIVERS is not set
 CONFIG_MII=m
-CONFIG_ATM_LANAI=m
-CONFIG_ATM_ENI=m
-# CONFIG_ATM_ENI_DEBUG is not set
-# CONFIG_ATM_ENI_TUNE_BURST is not set
-CONFIG_ATM_FIRESTREAM=m
-# CONFIG_ATM_ZATM is not set
-CONFIG_ATM_NICSTAR=m
-# CONFIG_ATM_NICSTAR_USE_SUNI is not set
-# CONFIG_ATM_NICSTAR_USE_IDT77105 is not set
-CONFIG_ATM_IDT77252=m
-# CONFIG_ATM_IDT77252_DEBUG is not set
-# CONFIG_ATM_IDT77252_RCV_ALL is not set
-CONFIG_ATM_IDT77252_USE_SUNI=y
-# CONFIG_ATM_AMBASSADOR is not set
-# CONFIG_ATM_HORIZON is not set
-CONFIG_ATM_HE=m
-# CONFIG_ATM_HE_USE_SUNI is not set
-CONFIG_ATM_SOLOS=m
 
 #
 # Distributed Switch Architecture drivers
 #
-CONFIG_VORTEX=m
 CONFIG_AMD8111_ETH=m
-CONFIG_AMD_XGBE=m
 CONFIG_AMD_XGBE_HAVE_ECC=y
-CONFIG_AQTION=m
-CONFIG_BNX2X_SRIOV=y
-CONFIG_BNXT_SRIOV=y
-CONFIG_MACB=m
-CONFIG_MACB_USE_HWSTAMP=y
-CONFIG_MACB_PCI=m
-CONFIG_THUNDER_NIC_PF=m
-CONFIG_THUNDER_NIC_VF=m
-CONFIG_THUNDER_NIC_BGX=m
-CONFIG_THUNDER_NIC_RGX=m
-CONFIG_CAVIUM_PTP=m
-CONFIG_LIQUIDIO=m
-CONFIG_LIQUIDIO_VF=m
-CONFIG_CHELSIO_T1_1G=y
 CONFIG_CX_ECAT=m
 CONFIG_DE2104X=m
 CONFIG_DE2104X_DSL=0
 CONFIG_TULIP_MMIO=y
 CONFIG_TULIP_NAPI=y
 CONFIG_TULIP_NAPI_HW_MITIGATION=y
-CONFIG_DE4X5=m
-CONFIG_PCMCIA_XIRCOM=m
-CONFIG_HINIC=m
 CONFIG_E1000E_HWTS=y
 CONFIG_IGB_DCA=y
 CONFIG_IXGBE_DCA=y
+CONFIG_ICE_HWTS=y
 CONFIG_SKGE_GENESIS=y
+CONFIG_MICROSOFT_MANA=m
 CONFIG_MYRI10GE_DCA=y
-CONFIG_QLCNIC_SRIOV=y
-CONFIG_QED_SRIOV=y
 # CONFIG_8139TOO_PIO is not set
 CONFIG_8139TOO_8129=y
-CONFIG_SFC_SRIOV=y
+CONFIG_DWMAC_INTEL=m
 CONFIG_STMMAC_PCI=m
 CONFIG_VIA_RHINE_MMIO=y
-CONFIG_NET_VENDOR_XILINX=y
 CONFIG_XILINX_AXI_EMAC=m
 CONFIG_XILINX_LL_TEMAC=m
-CONFIG_NET_SB1000=m
-CONFIG_MDIO_BUS_MUX=m
-CONFIG_MDIO_CAVIUM=m
-CONFIG_MDIO_OCTEON=m
-CONFIG_MDIO_THUNDER=m
 
 #
-# MII PHY device drivers
+# PCS device drivers
 #
 # CONFIG_WIL6210_TRACING is not set
-CONFIG_AIRO=m
 CONFIG_IPW2100_MONITOR=y
 CONFIG_IPW2200_MONITOR=y
 CONFIG_IPW2200_RADIOTAP=y
@@ -696,17 +497,9 @@ CONFIG_IPW2200_PROMISCUOUS=y
 CONFIG_IPW2200_QOS=y
 
 #
-# Enable WiMAX (Networking options) to see the WiMAX drivers
+# Wireless WAN
 #
 CONFIG_VMXNET3=m
-# CONFIG_FUJITSU_ES is not set
-CONFIG_THUNDERBOLT_NET=m
-CONFIG_HYPERV_NET=m
-
-#
-# Input device support
-#
-CONFIG_INPUT_MATRIXKMAP=m
 
 #
 # Input Device Drivers
@@ -716,9 +509,7 @@ CONFIG_INPUT_PCSPKR=m
 CONFIG_INPUT_GPIO_BEEPER=m
 # CONFIG_INPUT_ATLAS_BTNS is not set
 CONFIG_INPUT_TWL4030_PWRBUTTON=m
-CONFIG_INPUT_TWL4030_VIBRA=m
-CONFIG_INPUT_TWL6040_VIBRA=m
-CONFIG_INPUT_IDEAPAD_SLIDEBAR=m
+# CONFIG_INPUT_IDEAPAD_SLIDEBAR is not set
 
 #
 # Hardware I/O ports
@@ -726,27 +517,16 @@ CONFIG_INPUT_IDEAPAD_SLIDEBAR=m
 CONFIG_ARCH_MIGHT_HAVE_PC_SERIO=y
 CONFIG_SERIO_I8042=y
 # CONFIG_SERIO_CT82C710 is not set
-CONFIG_HYPERV_KEYBOARD=m
 # end of Hardware I/O ports
-# end of Input device support
 
 #
 # Character devices
 #
 CONFIG_VT_CONSOLE_SLEEP=y
-CONFIG_ROCKETPORT=m
-CONFIG_CYCLADES=m
-# CONFIG_CYZ_INTR is not set
-CONFIG_SYNCLINK=m
-CONFIG_SYNCLINKMP=m
-CONFIG_SYNCLINK_GT=m
-CONFIG_NOZOMI=m
-# CONFIG_DEVKMEM is not set
 
 #
 # Serial drivers
 #
-CONFIG_SERIAL_8250_PNP=y
 CONFIG_SERIAL_8250_LPSS=y
 CONFIG_SERIAL_8250_MID=m
 CONFIG_SERIAL_OF_PLATFORM=m
@@ -755,6 +535,7 @@ CONFIG_SERIAL_OF_PLATFORM=m
 # Non-8250 serial port support
 #
 CONFIG_SERIAL_JSM=m
+# CONFIG_SERIAL_LANTIQ is not set
 CONFIG_SERIAL_SCCNXP=m
 CONFIG_SERIAL_XILINX_PS_UART=m
 CONFIG_SERIAL_ARC=m
@@ -762,23 +543,18 @@ CONFIG_SERIAL_ARC_NR_PORTS=1
 CONFIG_SERIAL_RP2=m
 CONFIG_SERIAL_RP2_NR_UARTS=32
 # end of Serial drivers
-CONFIG_IPMI_DMI_DECODE=y
+CONFIG_NOZOMI=m
 CONFIG_HW_RANDOM_INTEL=m
 CONFIG_HW_RANDOM_AMD=m
 CONFIG_HW_RANDOM_VIA=m
-CONFIG_NVRAM=y
 CONFIG_MWAVE=m
+CONFIG_NVRAM=y
 CONFIG_HPET=y
 # CONFIG_HPET_MMAP is not set
 CONFIG_HANGCHECK_TIMER=m
+CONFIG_TCG_NSC=m
 # CONFIG_TELCLOCK is not set
 # end of Character devices
-# CONFIG_RANDOM_TRUST_CPU is not set
-
-#
-# I2C support
-#
-CONFIG_ACPI_I2C_OPREGION=y
 
 #
 # Multiplexer I2C Chip support
@@ -793,68 +569,62 @@ CONFIG_I2C_ARB_GPIO_CHALLENGE=m
 # CONFIG_I2C_ALI1563 is not set
 # CONFIG_I2C_ALI15X3 is not set
 CONFIG_I2C_AMD756_S4882=m
-CONFIG_I2C_AMD_MP2=m
 CONFIG_I2C_ISMT=m
 CONFIG_I2C_CHT_WC=m
 CONFIG_I2C_NFORCE2_S4985=m
 # CONFIG_I2C_SIS5595 is not set
 # CONFIG_I2C_SIS630 is not set
 
-#
-# ACPI drivers
-#
-CONFIG_I2C_SCMI=m
-
 #
 # I2C system bus drivers (mostly embedded / system-on-chip)
 #
-CONFIG_I2C_DESIGNWARE_CORE=y
-CONFIG_I2C_DESIGNWARE_PLATFORM=y
 CONFIG_I2C_DESIGNWARE_BAYTRAIL=y
 
-#
-# Other I2C/SMBus bus drivers
-#
-CONFIG_I2C_MLXCPLD=m
-# end of I2C support
-
 #
 # Enable PHYLIB and NETWORK_PHY_TIMESTAMPING to see the additional clocks.
 #
 CONFIG_PTP_1588_CLOCK_KVM=m
+# CONFIG_PTP_1588_CLOCK_VMW is not set
 # CONFIG_PINCTRL_AS3722 is not set
-CONFIG_PINCTRL_AMD=y
-CONFIG_PINCTRL_MCP23S08=m
-CONFIG_PINCTRL_SINGLE=m
+# CONFIG_PINCTRL_EQUILIBRIUM is not set
 CONFIG_PINCTRL_PALMAS=y
+
+#
+# Intel pinctrl drivers
+#
 # CONFIG_PINCTRL_BAYTRAIL is not set
 CONFIG_PINCTRL_CHERRYVIEW=m
+# CONFIG_PINCTRL_LYNXPOINT is not set
 CONFIG_PINCTRL_INTEL=m
+# CONFIG_PINCTRL_ALDERLAKE is not set
 CONFIG_PINCTRL_BROXTON=m
 CONFIG_PINCTRL_CANNONLAKE=m
 CONFIG_PINCTRL_CEDARFORK=m
 CONFIG_PINCTRL_DENVERTON=m
+# CONFIG_PINCTRL_ELKHARTLAKE is not set
+# CONFIG_PINCTRL_EMMITSBURG is not set
 CONFIG_PINCTRL_GEMINILAKE=m
 CONFIG_PINCTRL_ICELAKE=m
+# CONFIG_PINCTRL_JASPERLAKE is not set
+# CONFIG_PINCTRL_LAKEFIELD is not set
 CONFIG_PINCTRL_LEWISBURG=m
+# CONFIG_PINCTRL_METEORLAKE is not set
 CONFIG_PINCTRL_SUNRISEPOINT=m
-CONFIG_GPIO_ACPI=y
+# CONFIG_PINCTRL_TIGERLAKE is not set
+# end of Intel pinctrl drivers
 
 #
 # Memory mapped GPIO drivers
 #
-CONFIG_GPIO_AMDPT=m
-CONFIG_GPIO_DWAPB=m
 CONFIG_GPIO_GRGPIO=m
 CONFIG_GPIO_ICH=m
-# CONFIG_GPIO_LYNXPOINT is not set
-# CONFIG_GPIO_VX855 is not set
-CONFIG_GPIO_XILINX=m
+CONFIG_GPIO_TANGIER=m
 # end of Memory mapped GPIO drivers
 
 #
 # Port-mapped I/O GPIO drivers
 #
+# CONFIG_GPIO_VX855 is not set
 # CONFIG_GPIO_F7188X is not set
 CONFIG_GPIO_IT87=m
 CONFIG_GPIO_SCH=m
@@ -867,9 +637,8 @@ CONFIG_GPIO_SCH=m
 # MFD GPIO expanders
 #
 CONFIG_GPIO_CRYSTAL_COVE=m
+CONFIG_GPIO_ELKHARTLAKE=m
 CONFIG_GPIO_TC3589X=y
-# CONFIG_GPIO_TPS68470 is not set
-# CONFIG_GPIO_WHISKEY_COVE is not set
 # end of MFD GPIO expanders
 
 #
@@ -881,7 +650,7 @@ CONFIG_GPIO_SODAVILLE=y
 # end of PCI GPIO expanders
 
 #
-# USB GPIO expanders
+# Virtual GPIO drivers
 #
 CONFIG_MAX8925_POWER=m
 CONFIG_WM831X_BACKUP=m
@@ -891,6 +660,7 @@ CONFIG_BATTERY_88PM860X=m
 CONFIG_BATTERY_DA9030=m
 CONFIG_BATTERY_DA9052=m
 # CONFIG_AXP288_CHARGER is not set
+CONFIG_AXP288_FUEL_GAUGE=m
 CONFIG_CHARGER_88PM860X=m
 CONFIG_CHARGER_TWL4030=m
 CONFIG_CHARGER_MAX8997=m
@@ -907,18 +677,28 @@ CONFIG_SENSORS_FAM15H_POWER=m
 CONFIG_SENSORS_APPLESMC=m
 CONFIG_SENSORS_ASB100=m
 CONFIG_SENSORS_DELL_SMM=m
+# CONFIG_I8K is not set
 CONFIG_SENSORS_FSCHMD=m
 CONFIG_SENSORS_I5500=m
 CONFIG_SENSORS_CORETEMP=m
+# CONFIG_SENSORS_OXP is not set
 CONFIG_SENSORS_VIA_CPUTEMP=m
-CONFIG_SENSORS_XGENE=m
-CONFIG_SENSORS_ACPI_POWER=m
+
+#
+# ACPI drivers
+#
 CONFIG_SENSORS_ATK0110=m
+# CONFIG_SENSORS_ASUS_WMI is not set
+# CONFIG_SENSORS_ASUS_EC is not set
+CONFIG_SENSORS_HP_WMI=m
+CONFIG_THERMAL_ACPI=y
 
 #
 # Intel thermal drivers
 #
 CONFIG_INTEL_POWERCLAMP=m
+CONFIG_X86_THERMAL_VECTOR=y
+CONFIG_INTEL_TCC=y
 CONFIG_X86_PKG_TEMP_THERMAL=m
 CONFIG_INTEL_SOC_DTS_IOSF_CORE=m
 CONFIG_INTEL_SOC_DTS_THERMAL=m
@@ -929,19 +709,22 @@ CONFIG_INTEL_SOC_DTS_THERMAL=m
 CONFIG_INT340X_THERMAL=m
 CONFIG_ACPI_THERMAL_REL=m
 CONFIG_INT3406_THERMAL=m
+CONFIG_PROC_THERMAL_MMIO_RAPL=m
 # end of ACPI INT340X thermal drivers
-CONFIG_INTEL_BXT_PMIC_THERMAL=m
 CONFIG_INTEL_PCH_THERMAL=m
+# CONFIG_INTEL_TCC_COOLING is not set
+# CONFIG_INTEL_HFI_THERMAL is not set
 # end of Intel thermal drivers
 
 #
 # Watchdog Device Drivers
 #
-CONFIG_WDAT_WDT=m
 # CONFIG_ACQUIRE_WDT is not set
 # CONFIG_ADVANTECH_WDT is not set
+CONFIG_ADVANTECH_EC_WDT=m
 CONFIG_ALIM1535_WDT=m
 CONFIG_EBC_C384_WDT=m
+CONFIG_EXAR_WDT=m
 CONFIG_F71808E_WDT=m
 CONFIG_SP5100_TCO=m
 CONFIG_SBC_FITPC2_WATCHDOG=m
@@ -954,7 +737,6 @@ CONFIG_ITCO_WDT=m
 # CONFIG_ITCO_VENDOR_SUPPORT is not set
 CONFIG_IT8712F_WDT=m
 CONFIG_IT87_WDT=m
-CONFIG_HP_WATCHDOG=m
 CONFIG_HPWDT_NMI_DECODING=y
 # CONFIG_SC1200_WDT is not set
 # CONFIG_PC87413_WDT is not set
@@ -974,12 +756,6 @@ CONFIG_INTEL_MEI_WDT=m
 CONFIG_NI903X_WDT=m
 CONFIG_NIC7018_WDT=m
 
-#
-# PCI-based Watchdog Cards
-#
-CONFIG_PCIPCWATCHDOG=m
-CONFIG_WDTPCI=m
-
 #
 # Multifunction device drivers
 #
@@ -987,18 +763,16 @@ CONFIG_MFD_ATMEL_HLCDC=m
 CONFIG_MFD_INTEL_QUARK_I2C_GPIO=m
 CONFIG_LPC_ICH=m
 CONFIG_INTEL_SOC_PMIC=y
-CONFIG_INTEL_SOC_PMIC_BXTWC=m
 CONFIG_INTEL_SOC_PMIC_CHTWC=y
 CONFIG_INTEL_SOC_PMIC_CHTDC_TI=m
 CONFIG_MFD_INTEL_LPSS=m
 CONFIG_MFD_INTEL_LPSS_ACPI=m
 CONFIG_MFD_INTEL_LPSS_PCI=m
-# CONFIG_ABX500_CORE is not set
+# CONFIG_MFD_INTEL_PMC_BXT is not set
 
 #
 # STMicroelectronics STMPE Interface Drivers
 #
-CONFIG_MFD_TPS68470=y
 CONFIG_MFD_VX855=m
 # end of Multifunction device drivers
 CONFIG_REGULATOR_FIXED_VOLTAGE=m
@@ -1006,128 +780,26 @@ CONFIG_REGULATOR_VIRTUAL_CONSUMER=m
 CONFIG_REGULATOR_USERSPACE_CONSUMER=m
 CONFIG_REGULATOR_88PM8607=m
 CONFIG_REGULATOR_GPIO=m
-CONFIG_REGULATOR_HI6421V530=m
 CONFIG_REGULATOR_LP872X=m
 CONFIG_REGULATOR_LP8788=m
 CONFIG_REGULATOR_TWL4030=m
-CONFIG_IR_ENE=m
-CONFIG_IR_ITE_CIR=m
-CONFIG_IR_FINTEK=m
-CONFIG_IR_NUVOTON=m
-CONFIG_IR_WINBOND_CIR=m
-
-#
-# Multimedia core support
-#
-CONFIG_VIDEOBUF_DMA_SG=m
-CONFIG_TTPCI_EEPROM=m
 
 #
-# Digital TV USB devices
+# CEC support
 #
-CONFIG_DVB_TTUSB_BUDGET=m
-CONFIG_DVB_TTUSB_DEC=m
-
-#
-# Media capture support
-#
-CONFIG_VIDEO_MEYE=m
-
-#
-# Media capture/analog/hybrid TV support
-#
-CONFIG_VIDEO_CX18=m
-CONFIG_VIDEO_CX18_ALSA=m
-CONFIG_VIDEO_CX23885=m
-CONFIG_MEDIA_ALTERA_CI=m
-CONFIG_VIDEO_CX25821=m
-CONFIG_VIDEO_CX25821_ALSA=m
-CONFIG_VIDEO_CX88=m
-CONFIG_VIDEO_CX88_ALSA=m
-CONFIG_VIDEO_CX88_BLACKBIRD=m
-CONFIG_VIDEO_CX88_DVB=m
-CONFIG_VIDEO_CX88_ENABLE_VP3054=y
-CONFIG_VIDEO_CX88_VP3054=m
-CONFIG_VIDEO_CX88_MPEG=m
-CONFIG_VIDEO_SAA7134=m
-CONFIG_VIDEO_SAA7134_ALSA=m
-CONFIG_VIDEO_SAA7134_RC=y
-CONFIG_VIDEO_SAA7134_DVB=m
-CONFIG_VIDEO_SAA7134_GO7007=m
-CONFIG_VIDEO_SAA7164=m
-
-#
-# Media digital TV PCI Adapters
-#
-CONFIG_DVB_AV7110_IR=y
-CONFIG_DVB_AV7110=m
-CONFIG_DVB_AV7110_OSD=y
-CONFIG_DVB_BUDGET_CORE=m
-CONFIG_DVB_BUDGET=m
-CONFIG_DVB_BUDGET_CI=m
-CONFIG_DVB_BUDGET_AV=m
-CONFIG_DVB_BUDGET_PATCH=m
-CONFIG_DVB_B2C2_FLEXCOP_PCI=m
-# CONFIG_DVB_B2C2_FLEXCOP_PCI_DEBUG is not set
-CONFIG_DVB_PLUTO2=m
-CONFIG_DVB_DM1105=m
-CONFIG_DVB_PT1=m
-CONFIG_MANTIS_CORE=m
-CONFIG_DVB_MANTIS=m
-CONFIG_DVB_HOPPER=m
-CONFIG_DVB_NGENE=m
-# CONFIG_VIDEO_IPU3_CIO2 is not set
-
-#
-# common driver options
-#
-CONFIG_VIDEOBUF2_DVB=m
-CONFIG_VIDEO_SAA7146=m
-CONFIG_VIDEO_SAA7146_VV=m
-
-#
-# RDS decoders
-#
-CONFIG_VIDEO_SAA6588=m
-
-#
-# Audio/Video compression chips
-#
-CONFIG_VIDEO_SAA6752HS=m
-
-#
-# DVB-S (satellite) frontends
-#
-CONFIG_DVB_STV0299=m
-CONFIG_DVB_TDA8083=m
-
-#
-# DVB-T (terrestrial) frontends
-#
-CONFIG_DVB_CX22700=m
-CONFIG_DVB_TDA1004X=m
-
-#
-# DVB-C (cable) frontends
-#
-CONFIG_DVB_VES1820=m
-CONFIG_DVB_STV0297=m
-
-#
-# SEC control devices for DVB-S
-#
-CONFIG_DVB_LNBP21=m
+# CONFIG_CEC_SECO is not set
+# end of CEC support
 
 #
 # Graphics support
 #
 CONFIG_AGP=y
-CONFIG_AGP_AMD64=y
-CONFIG_AGP_INTEL=y
-CONFIG_AGP_SIS=y
-CONFIG_AGP_VIA=y
-CONFIG_INTEL_GTT=y
-CONFIG_VGA_SWITCHEROO=y
+CONFIG_AGP_AMD64=m
+CONFIG_AGP_INTEL=m
+CONFIG_AGP_SIS=m
+CONFIG_AGP_VIA=m
+CONFIG_INTEL_GTT=m
+# CONFIG_VGA_SWITCHEROO is not set
 
 #
 # I2C encoder or helper chips
@@ -1138,18 +810,12 @@ CONFIG_DRM_I2C_NXP_TDA998X=m
 #
 # Display Engine Configuration
 #
-CONFIG_DRM_AMD_DC_DCN1_0=y
-CONFIG_DRM_AMD_DC_DCN2_0=y
-CONFIG_DRM_AMD_DC_DSC_SUPPORT=y
-# end of Display Engine Configuration
 CONFIG_HSA_AMD=y
 CONFIG_DRM_I915=m
-CONFIG_DRM_I915_ALPHA_SUPPORT=y
 CONFIG_DRM_I915_FORCE_PROBE="*"
 CONFIG_DRM_I915_CAPTURE_ERROR=y
 CONFIG_DRM_I915_COMPRESS_ERROR=y
 CONFIG_DRM_I915_USERPTR=y
-# CONFIG_DRM_I915_GVT is not set
 
 #
 # drm/i915 Debugging
@@ -1169,39 +835,38 @@ CONFIG_DRM_I915_USERPTR=y
 #
 # drm/i915 Profile Guided Optimisation
 #
+CONFIG_DRM_I915_REQUEST_TIMEOUT=20000
+CONFIG_DRM_I915_FENCE_TIMEOUT=10000
 CONFIG_DRM_I915_USERFAULT_AUTOSUSPEND=250
-CONFIG_DRM_I915_SPIN_REQUEST=5
+CONFIG_DRM_I915_HEARTBEAT_INTERVAL=2500
+CONFIG_DRM_I915_PREEMPT_TIMEOUT=640
+CONFIG_DRM_I915_PREEMPT_TIMEOUT_COMPUTE=7500
+CONFIG_DRM_I915_MAX_REQUEST_BUSYWAIT=8000
+CONFIG_DRM_I915_STOP_TIMEOUT=100
+CONFIG_DRM_I915_TIMESLICE_DURATION=1
 # end of drm/i915 Profile Guided Optimisation
-CONFIG_DRM_VMWGFX=m
-# CONFIG_DRM_VMWGFX_FBCON is not set
-# CONFIG_DRM_GMA500 is not set
+# CONFIG_DRM_VMWGFX_MKSSTATS is not set
+CONFIG_DRM_GMA500=m
 
 #
 # Display Interface Bridges
 #
+# CONFIG_DRM_DISPLAY_CONNECTOR is not set
+# end of Display Interface Bridges
 CONFIG_DRM_VBOXVIDEO=m
-# CONFIG_DRM_I810 is not set
-# CONFIG_DRM_SIS is not set
-CONFIG_DRM_PANEL_ORIENTATION_QUIRKS=y
+CONFIG_DRM_PRIVACY_SCREEN=y
 
 #
 # Frame buffer Devices
 #
-CONFIG_FB_BOOT_VESA_SUPPORT=y
-
-#
-# Frame buffer hardware drivers
-#
 # CONFIG_FB_ARC is not set
 # CONFIG_FB_VGA16 is not set
-CONFIG_FB_VESA=y
-CONFIG_FB_EFI=y
+# CONFIG_FB_VESA is not set
 # CONFIG_FB_N411 is not set
 # CONFIG_FB_HGA is not set
 # CONFIG_FB_LE80578 is not set
 # CONFIG_FB_INTEL is not set
 # CONFIG_FB_VIA is not set
-# CONFIG_FB_HYPERV is not set
 # end of Frame buffer Devices
 
 #
@@ -1209,55 +874,15 @@ CONFIG_FB_EFI=y
 #
 CONFIG_LCD_PLATFORM=m
 CONFIG_BACKLIGHT_APPLE=m
-# CONFIG_BACKLIGHT_SAHARA is not set
+CONFIG_BACKLIGHT_SAHARA=m
 # end of Backlight & LCD device support
 
 #
 # Console display driver support
 #
 CONFIG_VGA_CONSOLE=y
-# CONFIG_VGACON_SOFT_SCROLLBACK is not set
-CONFIG_DUMMY_CONSOLE_COLUMNS=80
-CONFIG_DUMMY_CONSOLE_ROWS=25
 # end of Console display driver support
 # end of Graphics support
-CONFIG_SND_DMA_SGBUF=y
-CONFIG_SND_PCSP=m
-CONFIG_SND_SB_COMMON=m
-CONFIG_SND_ALS300=m
-CONFIG_SND_ALS4000=m
-CONFIG_SND_ALI5451=m
-CONFIG_SND_ASIHPI=m
-CONFIG_SND_AZT3328=m
-CONFIG_SND_EMU10K1=m
-CONFIG_SND_EMU10K1_SEQ=m
-CONFIG_SND_EMU10K1X=m
-CONFIG_SND_ES1938=m
-CONFIG_SND_ES1968=m
-CONFIG_SND_ES1968_INPUT=y
-CONFIG_SND_ICE1712=m
-CONFIG_SND_LX6464ES=m
-CONFIG_SND_MAESTRO3=m
-CONFIG_SND_MAESTRO3_INPUT=y
-CONFIG_SND_SONICVIBES=m
-CONFIG_SND_TRIDENT=m
-
-#
-# HD-Audio
-#
-CONFIG_SND_HDA_I915=y
-CONFIG_SND_USB_USX2Y=m
-CONFIG_SND_USB_US122L=m
-# CONFIG_SND_SOC is not set
-CONFIG_SND_X86=y
-# CONFIG_HDMI_LPE_AUDIO is not set
-CONFIG_SND_SYNTH_EMUX=m
-
-#
-# Special HID drivers
-#
-# CONFIG_HID_HYPERV_MOUSE is not set
-# end of Special HID drivers
 
 #
 # Intel ISH HID support
@@ -1266,14 +891,10 @@ CONFIG_SND_SYNTH_EMUX=m
 # end of Intel ISH HID support
 
 #
-# MUSB DMA mode
+# AMD SFH HID Support
 #
-CONFIG_MUSB_PIO_ONLY=y
-
-#
-# Platform Glue Driver Support
-#
-CONFIG_USB_DWC3_PCI=m
+# CONFIG_AMD_SFH_HID is not set
+# end of AMD SFH HID Support
 
 #
 # USB Type-C Alternate Mode drivers
@@ -1284,14 +905,13 @@ CONFIG_USB_ROLES_INTEL_XHCI=m
 # MMC/SD/SDIO Host Controller Drivers
 #
 CONFIG_MMC_RICOH_MMC=y
-CONFIG_MMC_SDHCI_ACPI=m
 CONFIG_MMC_WBSD=m
 
 #
 # LED drivers
 #
 CONFIG_LEDS_APU=m
-CONFIG_LEDS_CLEVO_MAIL=m
+CONFIG_LEDS_CHT_WCOVE=m
 CONFIG_LEDS_INTEL_SS4200=m
 
 #
@@ -1299,18 +919,16 @@ CONFIG_LEDS_INTEL_SS4200=m
 #
 CONFIG_LEDS_MLXCPLD=m
 CONFIG_LEDS_NIC78BX=m
+# CONFIG_LEDS_LGM is not set
 
 #
-# iptables trigger is under Netfilter config (LED target)
+# Simple LED drivers
 #
 CONFIG_EDAC_ATOMIC_SCRUB=y
-CONFIG_EDAC=y
 # CONFIG_EDAC_LEGACY_SYSFS is not set
-# CONFIG_EDAC_DEBUG is not set
 CONFIG_EDAC_DECODE_MCE=m
 # CONFIG_EDAC_GHES is not set
 CONFIG_EDAC_AMD64=m
-# CONFIG_EDAC_AMD64_ERROR_INJECTION is not set
 CONFIG_EDAC_E752X=m
 CONFIG_EDAC_I82975X=m
 CONFIG_EDAC_I3000=m
@@ -1319,13 +937,13 @@ CONFIG_EDAC_IE31200=m
 CONFIG_EDAC_X38=m
 CONFIG_EDAC_I5400=m
 CONFIG_EDAC_I7CORE=m
-CONFIG_EDAC_I5000=m
 CONFIG_EDAC_I5100=m
 CONFIG_EDAC_I7300=m
 CONFIG_EDAC_SBRIDGE=m
 CONFIG_EDAC_SKX=m
 CONFIG_EDAC_I10NM=m
 CONFIG_EDAC_PND2=m
+# CONFIG_EDAC_IGEN6 is not set
 CONFIG_RTC_MC146818_LIB=y
 
 #
@@ -1336,31 +954,30 @@ CONFIG_RTC_DRV_CMOS=y
 #
 # DMA Devices
 #
-CONFIG_DMA_ACPI=y
+CONFIG_DMA_VIRTUAL_CHANNELS=m
+# CONFIG_INTEL_IDXD is not set
+# CONFIG_INTEL_IDXD_COMPAT is not set
 CONFIG_INTEL_IOATDMA=m
-CONFIG_INTEL_MIC_X100_DMA=m
+# CONFIG_AMD_PTDMA is not set
 CONFIG_DW_DMAC_CORE=y
-CONFIG_DW_DMAC=m
 CONFIG_DW_DMAC_PCI=y
 CONFIG_HSU_DMA=m
+# CONFIG_INTEL_LDMA is not set
 
 #
 # DMABUF options
 #
 CONFIG_DCA=m
-# CONFIG_UIO_HV_GENERIC is not set
 CONFIG_IRQ_BYPASS_MANAGER=m
 CONFIG_VBOXGUEST=m
-CONFIG_VIRTIO_PMEM=m
+# CONFIG_EFI_SECRET is not set
+CONFIG_VIRTIO=m
 
 #
 # Microsoft Hyper-V guest support
 #
-CONFIG_HYPERV=m
+# CONFIG_HYPERV_VTL_MODE is not set
 CONFIG_HYPERV_TIMER=y
-CONFIG_HYPERV_TSCPAGE=y
-CONFIG_HYPERV_UTILS=m
-CONFIG_HYPERV_BALLOON=m
 # end of Microsoft Hyper-V guest support
 
 #
@@ -1370,110 +987,118 @@ CONFIG_XEN_PCIDEV_BACKEND=m
 CONFIG_XEN_ACPI_PROCESSOR=m
 # CONFIG_XEN_MCE_LOG is not set
 CONFIG_XEN_HAVE_PVMMU=y
-CONFIG_XEN_EFI=y
 CONFIG_XEN_ACPI=y
 # CONFIG_XEN_SYMS is not set
 CONFIG_XEN_HAVE_VPMU=y
 # end of Xen driver support
 CONFIG_X86_PLATFORM_DEVICES=y
-CONFIG_ACER_WMI=m
-# CONFIG_ACER_WIRELESS is not set
+CONFIG_ACPI_WMI=m
+CONFIG_WMI_BMOF=m
+CONFIG_HUAWEI_WMI=m
+CONFIG_MXM_WMI=m
+# CONFIG_NVIDIA_WMI_EC_BACKLIGHT is not set
+CONFIG_XIAOMI_WMI=m
+# CONFIG_GIGABYTE_WMI is not set
+# CONFIG_YOGABOOK is not set
 CONFIG_ACERHDF=m
-CONFIG_ALIENWARE_WMI=m
+# CONFIG_ACER_WIRELESS is not set
+CONFIG_ACER_WMI=m
+CONFIG_AMD_PMF=m
+# CONFIG_AMD_PMF_DEBUG is not set
+# CONFIG_AMD_HSMP is not set
+# CONFIG_ADV_SWBUTTON is not set
+# CONFIG_APPLE_GMUX is not set
 CONFIG_ASUS_LAPTOP=m
-CONFIG_DCDBAS=m
-CONFIG_DELL_SMBIOS=m
-CONFIG_DELL_SMBIOS_WMI=y
-CONFIG_DELL_SMBIOS_SMM=y
-CONFIG_DELL_LAPTOP=m
-CONFIG_DELL_WMI=m
-CONFIG_DELL_WMI_DESCRIPTOR=m
-CONFIG_DELL_WMI_AIO=m
-CONFIG_DELL_WMI_LED=m
-CONFIG_DELL_SMO8800=m
-# CONFIG_DELL_RBTN is not set
-CONFIG_DELL_RBU=m
+CONFIG_ASUS_WIRELESS=m
+CONFIG_ASUS_WMI=m
+CONFIG_ASUS_NB_WMI=m
+# CONFIG_ASUS_TF103C_DOCK is not set
+# CONFIG_MERAKI_MX100 is not set
+CONFIG_EEEPC_LAPTOP=m
+CONFIG_EEEPC_WMI=m
+# CONFIG_X86_PLATFORM_DRIVERS_DELL is not set
+CONFIG_AMILO_RFKILL=m
 CONFIG_FUJITSU_LAPTOP=m
 # CONFIG_FUJITSU_TABLET is not set
-CONFIG_AMILO_RFKILL=m
 # CONFIG_GPD_POCKET_FAN is not set
+CONFIG_X86_PLATFORM_DRIVERS_HP=y
 CONFIG_HP_ACCEL=m
-CONFIG_HP_WIRELESS=m
 CONFIG_HP_WMI=m
-# CONFIG_LG_LAPTOP is not set
-CONFIG_MSI_LAPTOP=m
-CONFIG_PANASONIC_LAPTOP=m
-CONFIG_COMPAL_LAPTOP=m
-CONFIG_SONY_LAPTOP=m
-CONFIG_SONYPI_COMPAT=y
+CONFIG_HP_BIOSCFG=m
+# CONFIG_WIRELESS_HOTKEY is not set
+# CONFIG_IBM_RTL is not set
 CONFIG_IDEAPAD_LAPTOP=m
+# CONFIG_LENOVO_YMC is not set
+CONFIG_SENSORS_HDAPS=m
 CONFIG_THINKPAD_ACPI=m
-CONFIG_THINKPAD_ACPI_ALSA_SUPPORT=y
 # CONFIG_THINKPAD_ACPI_DEBUGFACILITIES is not set
 # CONFIG_THINKPAD_ACPI_DEBUG is not set
 # CONFIG_THINKPAD_ACPI_UNSAFE_LEDS is not set
 CONFIG_THINKPAD_ACPI_VIDEO=y
 CONFIG_THINKPAD_ACPI_HOTKEY_POLL=y
-CONFIG_SENSORS_HDAPS=m
-# CONFIG_INTEL_MENLOW is not set
-CONFIG_EEEPC_LAPTOP=m
-CONFIG_ASUS_WMI=m
-CONFIG_ASUS_NB_WMI=m
-CONFIG_EEEPC_WMI=m
-CONFIG_ASUS_WIRELESS=m
-CONFIG_ACPI_WMI=m
-CONFIG_WMI_BMOF=m
-CONFIG_INTEL_WMI_THUNDERBOLT=m
-CONFIG_XIAOMI_WMI=m
-CONFIG_MSI_WMI=m
-CONFIG_PEAQ_WMI=m
-CONFIG_TOPSTAR_LAPTOP=m
-CONFIG_ACPI_TOSHIBA=m
-CONFIG_TOSHIBA_BT_RFKILL=m
-CONFIG_TOSHIBA_HAPS=m
-CONFIG_TOSHIBA_WMI=m
-CONFIG_ACPI_CMPC=m
-CONFIG_INTEL_INT0002_VGPIO=m
-CONFIG_INTEL_HID_EVENT=m
-CONFIG_INTEL_VBTN=m
-CONFIG_INTEL_IPS=m
-# CONFIG_INTEL_PMC_CORE is not set
-# CONFIG_IBM_RTL is not set
-CONFIG_SAMSUNG_LAPTOP=m
-CONFIG_MXM_WMI=m
-CONFIG_INTEL_OAKTRAIL=m
-CONFIG_SAMSUNG_Q10=m
-# CONFIG_APPLE_GMUX is not set
-# CONFIG_INTEL_RST is not set
-CONFIG_INTEL_SMARTCONNECT=m
-CONFIG_INTEL_PMC_IPC=m
-CONFIG_INTEL_BXTWC_PMIC_TMU=m
-# CONFIG_SURFACE_PRO3_BUTTON is not set
-CONFIG_SURFACE_3_BUTTON=m
-CONFIG_INTEL_PUNIT_IPC=m
-CONFIG_INTEL_TELEMETRY=m
-CONFIG_MLX_PLATFORM=m
-CONFIG_INTEL_TURBO_MAX_3=y
-CONFIG_INTEL_CHTDC_TI_PWRBTN=m
-# CONFIG_I2C_MULTI_INSTANTIATE is not set
+# CONFIG_THINKPAD_LMI is not set
+CONFIG_INTEL_ATOMISP2_PDX86=y
+# CONFIG_INTEL_ATOMISP2_LED is not set
 CONFIG_INTEL_ATOMISP2_PM=m
-CONFIG_HUAWEI_WMI=m
-CONFIG_PCENGINES_APU2=m
+# CONFIG_INTEL_IFS is not set
+# CONFIG_INTEL_SAR_INT1092 is not set
+# CONFIG_INTEL_SKL_INT3472 is not set
+# CONFIG_INTEL_PMC_CORE is not set
 
 #
 # Intel Speed Select Technology interface support
 #
 CONFIG_INTEL_SPEED_SELECT_INTERFACE=m
 # end of Intel Speed Select Technology interface support
-CONFIG_PMC_ATOM=y
-# CONFIG_MELLANOX_PLATFORM is not set
+CONFIG_INTEL_WMI=y
+# CONFIG_INTEL_WMI_SBL_FW_UPDATE is not set
+CONFIG_INTEL_WMI_THUNDERBOLT=m
 
 #
-# Common Clock Framework
+# Intel Uncore Frequency Control
 #
-CONFIG_COMMON_CLK_WM831X=m
-CONFIG_COMMON_CLK_MAX77686=m
-# end of Common Clock Framework
+# CONFIG_INTEL_UNCORE_FREQ_CONTROL is not set
+# end of Intel Uncore Frequency Control
+CONFIG_INTEL_HID_EVENT=m
+CONFIG_INTEL_VBTN=m
+CONFIG_INTEL_INT0002_VGPIO=m
+CONFIG_INTEL_OAKTRAIL=m
+CONFIG_INTEL_BYTCRC_PWRSRC=m
+CONFIG_INTEL_CHTDC_TI_PWRBTN=m
+CONFIG_INTEL_PUNIT_IPC=m
+# CONFIG_INTEL_RST is not set
+CONFIG_INTEL_SMARTCONNECT=m
+CONFIG_INTEL_TURBO_MAX_3=y
+# CONFIG_INTEL_VSEC is not set
+# CONFIG_MSI_EC is not set
+CONFIG_MSI_LAPTOP=m
+CONFIG_MSI_WMI=m
+CONFIG_PCENGINES_APU2=m
+# CONFIG_BARCO_P50_GPIO is not set
+CONFIG_SAMSUNG_LAPTOP=m
+CONFIG_SAMSUNG_Q10=m
+CONFIG_ACPI_TOSHIBA=m
+CONFIG_TOSHIBA_BT_RFKILL=m
+CONFIG_TOSHIBA_HAPS=m
+CONFIG_TOSHIBA_WMI=m
+CONFIG_ACPI_CMPC=m
+CONFIG_COMPAL_LAPTOP=m
+# CONFIG_LG_LAPTOP is not set
+CONFIG_PANASONIC_LAPTOP=m
+CONFIG_SONY_LAPTOP=m
+CONFIG_SONYPI_COMPAT=y
+# CONFIG_SYSTEM76_ACPI is not set
+CONFIG_TOPSTAR_LAPTOP=m
+CONFIG_MLX_PLATFORM=m
+CONFIG_FW_ATTR_CLASS=m
+CONFIG_INTEL_IPS=m
+# CONFIG_INTEL_SCU_PCI is not set
+# CONFIG_INTEL_SCU_PLATFORM is not set
+# CONFIG_SIEMENS_SIMATIC_IPC is not set
+# CONFIG_WINMATE_FM07_KEYS is not set
+# CONFIG_SEL3350_PLATFORM is not set
+CONFIG_P2SB=y
+# CONFIG_CLK_LGM_CGU is not set
 
 #
 # Clock Source drivers
@@ -1482,7 +1107,6 @@ CONFIG_CLKEVT_I8253=y
 CONFIG_I8253_LOCK=y
 CONFIG_CLKBLD_I8253=y
 # end of Clock Source drivers
-CONFIG_PCC=y
 
 #
 # Generic IOMMU Pagetable Support
@@ -1492,8 +1116,10 @@ CONFIG_AMD_IOMMU_V2=m
 CONFIG_DMAR_TABLE=y
 CONFIG_INTEL_IOMMU=y
 CONFIG_INTEL_IOMMU_SVM=y
-# CONFIG_INTEL_IOMMU_DEFAULT_ON is not set
+CONFIG_INTEL_IOMMU_DEFAULT_ON=y
 CONFIG_INTEL_IOMMU_FLOPPY_WA=y
+CONFIG_INTEL_IOMMU_SCALABLE_MODE_DEFAULT_ON=y
+CONFIG_INTEL_IOMMU_PERF_EVENTS=y
 CONFIG_IRQ_REMAP=y
 CONFIG_HYPERV_IOMMU=y
 
@@ -1503,12 +1129,6 @@ CONFIG_HYPERV_IOMMU=y
 # CONFIG_REMOTEPROC is not set
 # end of Remoteproc drivers
 
-#
-# DEVFREQ Governors
-#
-CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND=m
-CONFIG_DEVFREQ_GOV_PASSIVE=m
-
 #
 # Extcon Device Drivers
 #
@@ -1517,40 +1137,33 @@ CONFIG_EXTCON_INTEL_INT3496=m
 CONFIG_EXTCON_INTEL_CHT_WC=m
 
 #
-# Light sensors
+# Temperature sensors
 #
-# CONFIG_ACPI_ALS is not set
-# end of Light sensors
+# CONFIG_PWM is not set
 
 #
-# Temperature sensors
+# IRQ chip support
 #
-# CONFIG_PWM is not set
+# CONFIG_RESET_INTEL_GW is not set
 
 #
-# Performance monitor support
+# PHY Subsystem
 #
-# CONFIG_RAS_CEC is not set
-CONFIG_THUNDERBOLT=m
+# CONFIG_USB_LGM_PHY is not set
 
 #
-# Android
+# PHY drivers for Broadcom platforms
 #
-CONFIG_LIBNVDIMM=y
-CONFIG_BLK_DEV_PMEM=m
-CONFIG_ND_BLK=m
-CONFIG_ND_CLAIM=y
-CONFIG_ND_BTT=m
-CONFIG_BTT=y
-# CONFIG_OF_PMEM is not set
-CONFIG_DAX_DRIVER=y
-# CONFIG_DEV_DAX is not set
+# CONFIG_PHY_INTEL_LGM_COMBO is not set
+# CONFIG_PHY_INTEL_LGM_EMMC is not set
+# end of PHY Subsystem
+CONFIG_INTEL_RAPL_CORE=m
+CONFIG_INTEL_RAPL=m
 
 #
-# HW tracing support
+# Performance monitor support
 #
-# CONFIG_INTEL_TH_ACPI is not set
-# end of HW tracing support
+# CONFIG_RAS_CEC is not set
 
 #
 # Multiplexer drivers
@@ -1559,82 +1172,40 @@ CONFIG_DAX_DRIVER=y
 # CONFIG_MUX_GPIO is not set
 # CONFIG_MUX_MMIO is not set
 # end of Multiplexer drivers
-# CONFIG_UNISYS_VISORBUS is not set
 # end of Device Drivers
 
-#
-# File systems
-#
-# CONFIG_FS_DAX is not set
-CONFIG_QUOTACTL_COMPAT=y
-
 #
 # Pseudo filesystems
 #
-# CONFIG_PROC_KCORE is not set
 CONFIG_PROC_VMCORE=y
 # CONFIG_PROC_VMCORE_DEVICE_DUMP is not set
 CONFIG_PROC_PID_ARCH_STATUS=y
-# CONFIG_HUGETLBFS is not set
-CONFIG_ARCH_HAS_GIGANTIC_PAGE=y
 CONFIG_EFIVAR_FS=m
 # end of Pseudo filesystems
-# end of File systems
+# CONFIG_VBOXSF_FS is not set
 
 #
 # Security options
 #
-CONFIG_KEYS_COMPAT=y
-CONFIG_PAGE_TABLE_ISOLATION=y
 CONFIG_INTEL_TXT=y
-
-#
-# Memory initialization
-#
-CONFIG_GCC_PLUGIN_STACKLEAK=y
-CONFIG_STACKLEAK_TRACK_MIN_SIZE=100
-# CONFIG_STACKLEAK_METRICS is not set
-# CONFIG_STACKLEAK_RUNTIME_DISABLE is not set
-# end of Memory initialization
 # end of Security options
 
 #
 # Crypto core or helper
 #
-CONFIG_CRYPTO_GLUE_HELPER_X86=m
-
-#
-# Authenticated Encryption with Associated Data
-#
-# CONFIG_CRYPTO_AEGIS128_AESNI_SSE2 is not set
-# CONFIG_CRYPTO_AEGIS128L_AESNI_SSE2 is not set
-# CONFIG_CRYPTO_AEGIS256_AESNI_SSE2 is not set
-# CONFIG_CRYPTO_MORUS640_SSE2 is not set
-# CONFIG_CRYPTO_MORUS1280_SSE2 is not set
-# CONFIG_CRYPTO_MORUS1280_AVX2 is not set
-
-#
-# Block modes
-#
-CONFIG_CRYPTO_NHPOLY1305_SSE2=m
-CONFIG_CRYPTO_NHPOLY1305_AVX2=m
+CONFIG_CRYPTO_SIMD=m
+# end of Crypto core or helper
 
 #
-# Digest
+# Hashes, digests, and MACs
 #
-CONFIG_CRYPTO_CRC32C_INTEL=m
-CONFIG_CRYPTO_CRC32_PCLMUL=m
-CONFIG_CRYPTO_CRCT10DIF_PCLMUL=m
-CONFIG_CRYPTO_POLY1305_X86_64=m
-CONFIG_CRYPTO_SHA1_SSSE3=m
-CONFIG_CRYPTO_SHA256_SSSE3=m
-CONFIG_CRYPTO_SHA512_SSSE3=m
-CONFIG_CRYPTO_GHASH_CLMUL_NI_INTEL=m
+# CONFIG_CRYPTO_SM3_GENERIC is not set
+# end of Hashes, digests, and MACs
 
 #
-# Ciphers
+# Accelerated Cryptographic Algorithms for CPU (x86)
 #
-CONFIG_CRYPTO_AES_X86_64=m
+CONFIG_CRYPTO_CURVE25519_X86=m
 CONFIG_CRYPTO_AES_NI_INTEL=m
 CONFIG_CRYPTO_BLOWFISH_X86_64=m
 CONFIG_CRYPTO_CAMELLIA_X86_64=m
@@ -1643,84 +1214,82 @@ CONFIG_CRYPTO_CAMELLIA_AESNI_AVX2_X86_64=m
 CONFIG_CRYPTO_CAST5_AVX_X86_64=m
 CONFIG_CRYPTO_CAST6_AVX_X86_64=m
 CONFIG_CRYPTO_DES3_EDE_X86_64=m
-CONFIG_CRYPTO_CHACHA20_X86_64=m
 CONFIG_CRYPTO_SERPENT_SSE2_X86_64=m
 CONFIG_CRYPTO_SERPENT_AVX_X86_64=m
 CONFIG_CRYPTO_SERPENT_AVX2_X86_64=m
+# CONFIG_CRYPTO_SM4_AESNI_AVX_X86_64 is not set
+# CONFIG_CRYPTO_SM4_AESNI_AVX2_X86_64 is not set
 CONFIG_CRYPTO_TWOFISH_X86_64=m
 CONFIG_CRYPTO_TWOFISH_X86_64_3WAY=m
 CONFIG_CRYPTO_TWOFISH_AVX_X86_64=m
-
-#
-# Random Number Generation
-#
+# CONFIG_CRYPTO_ARIA_AESNI_AVX_X86_64 is not set
+# CONFIG_CRYPTO_ARIA_AESNI_AVX2_X86_64 is not set
+# CONFIG_CRYPTO_ARIA_GFNI_AVX512_X86_64 is not set
+CONFIG_CRYPTO_CHACHA20_X86_64=m
+# CONFIG_CRYPTO_AEGIS128_AESNI_SSE2 is not set
+CONFIG_CRYPTO_NHPOLY1305_SSE2=m
+CONFIG_CRYPTO_NHPOLY1305_AVX2=m
+CONFIG_CRYPTO_BLAKE2S_X86=y
+CONFIG_CRYPTO_POLYVAL_CLMUL_NI=m
+CONFIG_CRYPTO_POLY1305_X86_64=m
+CONFIG_CRYPTO_SHA1_SSSE3=m
+CONFIG_CRYPTO_SHA256_SSSE3=m
+CONFIG_CRYPTO_SHA512_SSSE3=m
+# CONFIG_CRYPTO_SM3_AVX_X86_64 is not set
+CONFIG_CRYPTO_GHASH_CLMUL_NI_INTEL=m
+CONFIG_CRYPTO_CRC32C_INTEL=m
+CONFIG_CRYPTO_CRC32_PCLMUL=m
+CONFIG_CRYPTO_CRCT10DIF_PCLMUL=m
+# end of Accelerated Cryptographic Algorithms for CPU (x86)
 CONFIG_CRYPTO_DEV_PADLOCK=m
 CONFIG_CRYPTO_DEV_PADLOCK_AES=m
 CONFIG_CRYPTO_DEV_PADLOCK_SHA=m
-CONFIG_CRYPTO_DEV_CCP=y
-CONFIG_CRYPTO_DEV_CCP_DD=m
-CONFIG_CRYPTO_DEV_SP_CCP=y
-CONFIG_CRYPTO_DEV_CCP_CRYPTO=m
 CONFIG_CRYPTO_DEV_SP_PSP=y
-CONFIG_CRYPTO_DEV_QAT=m
-CONFIG_CRYPTO_DEV_QAT_DH895xCC=m
-CONFIG_CRYPTO_DEV_QAT_C3XXX=m
-CONFIG_CRYPTO_DEV_QAT_C62X=m
-CONFIG_CRYPTO_DEV_QAT_DH895xCCVF=m
-CONFIG_CRYPTO_DEV_QAT_C3XXXVF=m
-CONFIG_CRYPTO_DEV_QAT_C62XVF=m
-CONFIG_CRYPTO_DEV_NITROX=m
-CONFIG_CRYPTO_DEV_NITROX_CNN55XX=m
 
 #
 # Library routines
 #
-CONFIG_GENERIC_FIND_FIRST_BIT=y
 CONFIG_GENERIC_IOMAP=y
-CONFIG_ARCH_HAS_FAST_MULTIPLIER=y
-CONFIG_ZLIB_DEFLATE=y
-CONFIG_XARRAY_MULTI=y
-CONFIG_HAS_IOPORT_MAP=y
+
+#
+# Crypto library routines
+#
+CONFIG_CRYPTO_ARCH_HAVE_LIB_BLAKE2S=y
+CONFIG_CRYPTO_ARCH_HAVE_LIB_CURVE25519=m
+CONFIG_CRYPTO_LIB_POLY1305_RSIZE=11
+# end of Crypto library routines
 
 #
 # Default contiguous memory area size:
 #
 CONFIG_IOMMU_HELPER=y
-CONFIG_UCS2_STRING=y
-CONFIG_GENERIC_GETTIMEOFDAY=y
-CONFIG_ARCH_HAS_PMEM_API=y
-CONFIG_ARCH_HAS_UACCESS_FLUSHCACHE=y
-CONFIG_ARCH_HAS_UACCESS_MCSAFE=y
-CONFIG_ARCH_STACKWALK=y
+CONFIG_ARCH_HAS_CPU_CACHE_INVALIDATE_MEMREGION=y
+CONFIG_ARCH_HAS_COPY_MC=y
 # end of Library routines
 
 #
 # Compile-time checks and compiler options
 #
-CONFIG_OPTIMIZE_INLINING=y
-CONFIG_STACK_VALIDATION=y
+CONFIG_OBJTOOL=y
 # end of Compile-time checks and compiler options
 
 #
 # Memory Debugging
 #
-CONFIG_DEBUG_RODATA_TEST=y
-# CONFIG_KASAN is not set
+CONFIG_ARCH_SUPPORTS_KMAP_LOCAL_FORCE_MAP=y
+# CONFIG_DEBUG_KMAP_LOCAL_FORCE_MAP is not set
 # end of Memory Debugging
 
 #
-# Debug Lockups and Hangs
+# Debug Oops, Lockups and Hangs
 #
-CONFIG_LOCKUP_DETECTOR=y
-CONFIG_SOFTLOCKUP_DETECTOR=y
-# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
-CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
-CONFIG_HARDLOCKUP_DETECTOR_PERF=y
 CONFIG_HARDLOCKUP_CHECK_TIMESTAMP=y
-CONFIG_HARDLOCKUP_DETECTOR=y
-# CONFIG_BOOTPARAM_HARDLOCKUP_PANIC is not set
-CONFIG_BOOTPARAM_HARDLOCKUP_PANIC_VALUE=0
-# end of Debug Lockups and Hangs
+# end of Debug Oops, Lockups and Hangs
+
+#
+# Lock Debugging (spinlocks, mutexes, etc...)
+#
+# CONFIG_NMI_CHECK_CPU is not set
 
 #
 # RCU Debugging
@@ -1728,24 +1297,27 @@ CONFIG_BOOTPARAM_HARDLOCKUP_PANIC_VALUE=0
 CONFIG_RCU_CPU_STALL_TIMEOUT=60
 # end of RCU Debugging
 CONFIG_USER_STACKTRACE_SUPPORT=y
-CONFIG_FUNCTION_GRAPH_TRACER=y
-CONFIG_FTRACE_SYSCALLS=y
+CONFIG_BUILDTIME_MCOUNT_SORT=y
 CONFIG_DYNAMIC_FTRACE_WITH_REGS=y
+# CONFIG_FPROBE is not set
 # CONFIG_MMIOTRACE is not set
-# CONFIG_HIST_TRIGGERS is not set
+CONFIG_FTRACE_SYSCALLS=y
+CONFIG_FTRACE_MCOUNT_USE_CC=y
+# CONFIG_FTRACE_SORT_STARTUP_TEST is not set
 # CONFIG_PROVIDE_OHCI1394_DMA_INIT is not set
-CONFIG_ARCH_HAS_UBSAN_SANITIZE_ALL=y
+CONFIG_ARCH_HAS_DEVMEM_IS_ALLOWED=y
+
+#
+# x86 Debugging
+#
 # CONFIG_X86_VERBOSE_BOOTUP is not set
 CONFIG_EARLY_PRINTK=y
 # CONFIG_EARLY_PRINTK_DBGP is not set
 # CONFIG_EARLY_PRINTK_USB_XDBC is not set
-CONFIG_X86_PTDUMP_CORE=y
-# CONFIG_X86_PTDUMP is not set
 # CONFIG_EFI_PGT_DUMP is not set
-CONFIG_DEBUG_WX=y
-CONFIG_DOUBLEFAULT=y
 # CONFIG_DEBUG_TLBFLUSH is not set
 # CONFIG_IOMMU_DEBUG is not set
+# CONFIG_X86_DECODER_SELFTEST is not set
 CONFIG_IO_DELAY_0X80=y
 # CONFIG_IO_DELAY_0XED is not set
 # CONFIG_IO_DELAY_UDELAY is not set
@@ -1759,3 +1331,11 @@ CONFIG_DEBUG_BOOT_PARAMS=y
 CONFIG_UNWINDER_ORC=y
 # CONFIG_UNWINDER_FRAME_POINTER is not set
 # CONFIG_UNWINDER_GUESS is not set
+# end of x86 Debugging
+
+#
+# Kernel Testing and Coverage
+#
+# CONFIG_TEST_FPU is not set
+# CONFIG_TEST_CLOCKSOURCE_WATCHDOG is not set
+# end of Kernel Testing and Coverage
index 4a7434d15a46a7495e335dc4809d7e52860e55d2..04e2b245442d6e5b7d0915d9457610d5018dbce1 100644 (file)
@@ -4,13 +4,13 @@
 ###############################################################################
 
 name       = kernel
-version    = 5.3.8
-release    = 0.1
+version    = 6.6
+release    = 1
 thisapp    = linux-%{version}
 
 maintainer = Arne Fitzenreiter <arne.fitzenreiter@ipfire.org>
 groups     = System/Kernels
-url        = http://www.kernel.org/
+url        = https://www.kernel.org/
 license    = GPLv2
 summary    = The Linux kernel.
 
@@ -25,12 +25,10 @@ end
 localversion = %{release}.%{DISTRO_DISTTAG}.%{DISTRO_ARCH}
 fullver      = %{version}-%{localversion}
 
-source_dl    = http://www.kernel.org/pub/linux/kernel/v5.x/
+source_dl    = https://www.kernel.org/pub/linux/kernel/v6.x/
 sources      = %{thisapp}.tar.xz
 
 build
-       kernel_logo = /usr/share/pixmaps/kernel-logo.ppm
-
        requires
                asciidoc
                bc
@@ -45,56 +43,31 @@ build
                hostname
                libunwind-devel
                ncurses-devel
-               net-tools
                newt-devel
+               openssl
+               /usr/bin/openssl
                pciutils-devel
                perl
-               python-devel
+               python3-devel
                rsync
                openssl-devel
                slang-devel
                xmlto
                xz
+               zstd
 
                /sbin/depmod
-               %{kernel_logo}
        end
 
-       # A list of kernels to build.
-       kernels =
-
        kernel_arch = %{DISTRO_PLATFORM}
        kernel_target = bzImage
        kernel_image = arch/%{kernel_arch}/boot/%{kernel_target}
 
-       if "%{DISTRO_ARCH}" == "x86_64"
-               build_kernel_default = 1
-       end
-
        if "%{DISTRO_ARCH}" == "aarch64"
-               build_kernel_default = 1
-
                kernel_arch = arm64
                kernel_target = Image.gz
        end
 
-       if "%{DISTRO_ARCH}" == "armv7hl"
-               # Build the default unified kernel.
-               build_kernel_default = 1
-
-               kernel_target = zImage
-       end
-
-       # mkimage is a requirement to build uImage images.
-       if "%{kernel_target}" == "uImage"
-               requires += u-boot-tools
-       end
-
-       # Build default kernel.
-       if "%{build_kernel_default}" == "1"
-               kernels += default
-       end
-
        prepare_cmds
                # Disable the colorize plugin.
                # It's generally very nice but it clutters our
@@ -102,10 +75,14 @@ build
                sed -e "/^COLORIZE_PLUGIN_CFLAGS/d" \
                        -i Makefile
 
-               sed -e "s/\$(HOST_LFS_CFLAGS)/& -fPIC/g" -i Makefile
+               # Use our linker flags while building the compiler plugins.
+               sed -i '/^plugin_ldflags\s\+=/ s/$/ %{LDFLAGS}/' \
+                       scripts/gcc-plugins/Makefile
 
-               cp -vf %{kernel_logo} \
-                       drivers/video/logo/logo_linux_clut224.ppm
+               # Remove Python 2 interpreter from a few scripts
+               sed -e "s@^#!.*python@#!%{python3}@" \
+                       -i scripts/show_delta \
+                       -i scripts/tracing/draw_functrace.py
 
                # Get rid of unwanted files resulting from patch fuzz.
                find . \( -name "*.orig" -o -name "*~" \) -exec rm -f {} \; >/dev/null
@@ -122,19 +99,17 @@ build
                configure_kernel() {
                        local flavour=${1}
                        local suffix
-                       if [ "${flavour}" != "default" ]; then
+                       if [ "${flavour}" != "generic" ]; then
                                suffix="-${flavour}"
                        fi
 
-                       scripts/configure --kernel-dir=%{DIR_APP} \
+                       bash scripts/configure --kernel-dir=%{DIR_APP} \
                                merge %{DISTRO_ARCH} ${flavour} %{DIR_APP}/configs/config.${flavour}
                }
 
                # Generate configuration files for all kernels we are going to
                # build.
-               for kernel in %{kernels}; do
-                       configure_kernel ${kernel}
-               done
+               configure_kernel "generic"
        end
 
        build
@@ -143,7 +118,7 @@ build
                        local suffix
                        local localversion="%{localversion}"
                        local fullversion="%{fullver}"
-                       if [ "${flavour}" != "default" ]; then
+                       if [ "${flavour}" != "generic" ]; then
                                suffix="-${flavour}"
                                localversion="${localversion}.${flavour}"
                                fullversion="${fullversion}.${flavour}"
@@ -161,13 +136,16 @@ build
                        cat .config
 
                        # Run the build.
-                       make ARCH=%{kernel_arch} olddefconfig >/dev/null
+                       make ARCH=%{kernel_arch} HOSTCFLAGS="%{CFLAGS}" \
+                               HOSTLDFLAGS="%{LDFLAGS}" olddefconfig >/dev/null
+
                        make ARCH=%{kernel_arch} %{kernel_target} modules \
-                               KERNELRELEASE=${fullversion} %{PARALLELISMFLAGS}
+                               KERNELRELEASE=${fullversion} HOSTCFLAGS="%{CFLAGS}" \
+                               HOSTLDFLAGS="%{LDFLAGS}" %{PARALLELISMFLAGS}
 
                        # Compile Flattened Device Tree database
                        case "${DISTRO_ARCH}" in
-                               aarch64|arm*)
+                               aarch64)
                                        make ARCH=%{kernel_arch} dtbs
 
                                        mkdir -pv %{BUILDROOT}/boot/dtb-${fullversion}
@@ -186,8 +164,8 @@ build
                        install -m 644 .config %{BUILDROOT}/boot/config-${fullversion}
                        install -m 644 System.map %{BUILDROOT}/boot/System.map-${fullversion}
 
-                       # Create empty initramfs (20M).
-                       dd if=/dev/zero of=%{BUILDROOT}/boot/initramfs-${fullversion}.img bs=1M count=20
+                       # Create empty initramfs (70M).
+                       dd if=/dev/zero of=%{BUILDROOT}/boot/initramfs-${fullversion}.img bs=1M count=70
 
                        # Install modules.
                        make ARCH=%{kernel_arch} INSTALL_MOD_PATH=%{BUILDROOT}/usr mod-fw= V=1 \
@@ -246,9 +224,8 @@ build
                        rm -rf %{BUILDROOT}/usr/src/kernels/*/scripts/dtc
                }
 
-               for kernel in %{kernels}; do
-                       build_kernel ${kernel}
-               done
+               # Build the kernel
+               build_kernel "generic"
 
                # cpupower
                chmod +x tools/power/cpupower/utils/version-gen.sh
@@ -294,37 +271,53 @@ build
 end
 
 packages
-       template KERNEL
-               kernel_name = kernel
-               kernel_release = %{fullver}
+       package kernel-tools
+               summary = Assortment of tools for the Linux kernel.
+               description = %{summary}
+
+               filter_requires
+                       perl>=[0-9]\:.*
+               end
+       end
 
-               summary = The Linux kernel %{kernel_release}.
+       package kernel-tools-debuginfo
+               template DEBUGINFO
+       end
+
+       package kernel
+               summary = The Linux kernel %{fullver}
 
                prerequires
                        /sbin/depmod
                end
 
                provides
-                       kernel=%{kernel_release}
+                       kernel = %{fullver}
+
+                       # Used to lock the running kernel from being uninstalled
+                       kernel(%{fullver})
                end
 
                requires
                        dracut
                        kernel-updater
                        linux-firmware
-                       intel-microcode
+                       wireless-regdb
+
+                       # Install intel-microcode only on x86_64
+                       (intel-microcode if arch(x86_64))
                end
 
                files
-                       /boot/System.map-%{kernel_release}
-                       /boot/dtb-%{kernel_release}
-                       /boot/vmlinuz-%{kernel_release}
-                       /boot/initramfs-%{kernel_release}.img
-                       /usr/lib/modules/%{kernel_release}
+                       /boot/System.map-%{fullver}
+                       /boot/dtb-%{fullver}
+                       /boot/vmlinuz-%{fullver}
+                       /boot/initramfs-%{fullver}.img
+                       /usr/lib/modules/%{fullver}
                end
 
                _posttrans
-                       kernel-updater install %{kernel_release}
+                       kernel-updater install %{fullver}
                end
 
                script posttransin
@@ -336,110 +329,44 @@ packages
                end
 
                script postun
-                       kernel-updater uninstall %{kernel_release}
+                       kernel-updater uninstall %{fullver}
                end
        end
 
-       template KERNELDEVEL
-               kernel_release = %{fullver}
-
-               summary = Development files of kernel-%{kernel_release}.
+       package kernel-devel
+               summary = Development files of kernel-%{fullver}
                description
                        %{summary}
 
                        Install this package in order to compile modules for
-                       kernel release %{kernel_release}.
+                       kernel release %{fullver}.
                end
 
                provides
                        kernel-devel = %{thisver}
                end
 
+               requires
+                       kernel = %{thisver}
+               end
+
                filter_requires
                        perl>=[0-9]\:.*
                end
 
                files
-                       /usr/lib/modules/%{kernel_release}/build
-                       /usr/lib/modules/%{kernel_release}/source
-                       /usr/src/kernels/%{kernel_release}
-               end
-       end
-
-       if "%{build_kernel_default}" == "1"
-               if "%{DISTRO_ARCH}" == "armv7hl"
-                       package kernel
-                               template KERNEL
-
-                               kernel_name = kernel
-                               kernel_release = %{fullver}
-
-                               # Replace the Exynos kernel.
-                               obsoletes += kernel-exynos < %{kernel_release}
-                               conflicts += kernel-exynos < %{kernel_release}
-
-                               # Replace the OMAP kernel.
-                               obsoletes += kernel-omap < %{kernel_release}
-                               conflicts += kernel-omap < %{kernel_release}
-                       end
-
-                       package kernel-devel
-                               template KERNELDEVEL
-
-                               kernel_name = kernel
-                               kernel_release = %{fullver}
-
-                               # Replace the Exynos kernel.
-                               obsoletes += kernel-exynos-devel < %{kernel_release}
-                               conflicts += kernel-exynos-devel < %{kernel_release}
-
-                               # Replace the OMAP kernel.
-                               obsoletes += kernel-omap-devel < %{kernel_release}
-                               conflicts += kernel-omap-devel < %{kernel_release}
-                       end
-
-               else
-                       package kernel
-                               template KERNEL
-
-                               kernel_name = kernel
-                               kernel_release = %{fullver}
-                       end
-
-                       package kernel-devel
-                               template KERNELDEVEL
-
-                               kernel_name = kernel
-                               kernel_release = %{fullver}
-                       end
+                       /usr/lib/modules/%{fullver}/build
+                       /usr/lib/modules/%{fullver}/source
+                       /usr/src/kernels/%{fullver}
                end
        end
 
        package kernel-headers
-               summary = Header files of the kernel release %{fullver}.
+               summary = Header files of the kernel release %{fullver}
                desciption = %{summary}
 
                files
                        /usr/include
                end
        end
-
-       package kernel-tools
-               summary = Assortment of tools for the Linux kernel.
-               description = %{summary}
-
-               filter_requires
-                       perl>=[0-9]\:.*
-               end
-
-               files
-                       /
-                       !/boot
-                       !/usr/include
-                       !/usr/lib/modules
-                       !/usr/src
-                       !/usr/src/debug
-                       !/usr/lib/debug
-               end
-       end
 end
old mode 100755 (executable)
new mode 100644 (file)
index 003b562..165ab59
@@ -1,4 +1,4 @@
-#!/usr/bin/python
+#!/usr/bin/python3
 ###############################################################################
 # IPFire.org    - An Open Source Firewall Solution                            #
 # Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
@@ -62,15 +62,15 @@ for line in lines:
        m = re.match("^# (.*) is not set$", line)
        if m:
                if options_counter.get("%s=n" % m.group(1), 0) == len(filelist):
-                       print "# %s is not set" % m.group(1)
+                       print("# %s is not set" % m.group(1))
 
                continue
 
        m = re.match("^(.*)=(.*)$", line)
        if m:
                if options_counter.get(m.group(0), 0) == len(filelist):
-                       print m.group(0)
+                       print(m.group(0))
 
                continue
 
-       print line
+       print(line)
old mode 100755 (executable)
new mode 100644 (file)
index ef93866..044639b
@@ -1,4 +1,4 @@
-#!/usr/bin/python
+#!/usr/bin/python3
 ###############################################################################
 # IPFire.org    - An Open Source Firewall Solution                            #
 # Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
@@ -57,7 +57,7 @@ for line in f.readlines():
                _section = m.group(1)
 
                if _section in printed_sections:
-                       print "# end of %s" % _section
+                       print("# end of %s" % _section)
 
                continue
 
@@ -91,15 +91,15 @@ for line in f.readlines():
        option_value = "%s=%s" % (option, value)
        if not option_value in options:
                if section and not section in printed_sections:
-                       print
-                       print "#"
-                       print "# %s" % section
-                       print "#"
+                       print()
+                       print("#")
+                       print("# %s" % section)
+                       print("#")
                        printed_sections.append(section)
 
                if value == "n":
-                       print "# %s is not set" % option
+                       print("# %s is not set" % option)
                else:
-                       print "%s=%s" % (option, value)
+                       print("%s=%s" % (option, value))
 
 f.close()
old mode 100755 (executable)
new mode 100644 (file)
index b2c1fa3..060e0dc
@@ -4,22 +4,15 @@
 # Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
 ###############################################################################
 
-BASEDIR=$(dirname ${0})
-SCRIPTS_DIR=${BASEDIR}
+BASEDIR="$(dirname "${0}")"
+SCRIPTS_DIR="${BASEDIR}"
 
-# x86_64
-CONFIGS="x86_64:default"
+CONFIGS=(
+       # x86_64
+       "x86_64:generic"
 
-# aarch64
-CONFIGS="${CONFIGS} aarch64:default"
-
-# armv7hl
-CONFIGS="${CONFIGS} armv7hl:default"
-
-PLATFORMS="x86 arm"
-declare -A SUBPLATFORMS
-SUBPLATFORMS=(
-       [arm]="arm64 arm32"
+       # aarch64
+       "aarch64:generic"
 )
 
 search_kernel_dir() {
@@ -32,138 +25,127 @@ search_kernel_dir() {
        done
 }
 
-function get_platform() {
+arches() {
+       local config
+       for config in ${CONFIGS[@]}; do
+               echo "${config%:*}"
+       done
+}
+
+flavours_for_arch() {
        local arch="${1}"
 
-       case "${arch}" in
-               aarch64|arm*)
-                       echo "arm"
-                       ;;
-               x86_64|i?86)
-                       echo "x86"
-                       ;;
-               *)
-                       return 1
-                       ;;
-       esac
+       local config
+       for config in ${CONFIGS[@]}; do
+               if [ "${arch}:" = "${config%:*}:" ]; then
+                       echo "${config#*:}"
+               fi
+       done
 }
 
-function get_subplatform() {
+configs() {
        local arch="${1}"
+       local flavour="${2}"
+       shift 2
 
-       case "${arch}" in
-               aarch64)
-                       echo "arm64"
-                       ;;
-               arm*)
-                       echo "arm32"
-                       ;;
-               *)
-                       return 1
-                       ;;
-       esac
+       # Add any extra files first
+       local configs=( "$@" )
+
+       # Add the generic configuration
+       configs+=( "config-generic" )
+
+       # If flavour is not generic, we add *-generic
+       if [ "${flavour}" != "generic" ]; then
+               configs+=( "config-${arch}-generic" )
+       fi
+
+       # Add the architecture/flavour configuration
+       configs+=( "config-${arch}-${flavour}" )
+
+       # Return the result
+       echo "${configs[@]}"
+
+       return 0
 }
 
-function get_kernel_arch() {
+get_kernel_arch() {
        local arch="${1}"
 
        case "${arch}" in
                aarch64)
                        echo "arm64"
                        ;;
-               arm*)
-                       echo "arm"
-                       ;;
                x86_64)
                        echo "x86"
                        ;;
+               *)
+                       echo "${arch}"
+                       ;;
        esac
 }
 
-function merge_config() {
-       local arch=${1}
-       local flavour=${2}
-       local output=${3}
+kernel_config() {
+       local arch="${1}"
+       local action="${2}"
+       local config_in="${3}"
+       local config_out="${4}"
+
+       echo "Running 'make ${action}' for ${arch}..."
+
+       local kernel_arch="$(get_kernel_arch "${arch}")"
+
+       pushd "${KERNEL_DIR}" >/dev/null
+
+       cat "${config_in}" > ".config"
+
+       # Run the configuration program
+       make ARCH="${kernel_arch}" "${action}"
+
+       # Write back the configuration file
+       cat ".config" > "${config_out}"
+
+       popd >/dev/null
+}
+
+merge_config() {
+       local arch="${1}"
+       local flavour="${2}"
+       local output="${3}"
        shift 3
 
        local arg
        for arg in arch flavour output; do
                if [ -z "${!arg}" ]; then
                        echo >&2 "merge usage: <arch> <flavour> <output filename>"
-                       exit 2
+                       return 2
                fi
        done
 
-       local config_mode="olddefconfig"
-       local extra_configs
-       while [ $# -gt 0 ]; do
-               case "${1}" in
-                       --mode=*)
-                               config_mode=${1#--mode=}
-                               shift
-                               ;;
-                       -*)
-                               echo >&2 "Unknown option: ${1}"
-                               ;;
-                       *)
-                               extra_configs="${extra_configs} ${1}"
-                               ;;
-               esac
-               shift
-       done
-
-       local configs="${extra_configs} config-generic"
-
-       case "${arch}:${flavour}" in
-               # x86
-               x86_64:default)
-                       configs="${configs} config-x86-generic"
-                       ;;
-
-               # ARM64
-               aarch64:default)
-                       configs="${configs} config-arm-generic config-arm64-generic"
-                       ;;
-
-               # ARM
-               armv7hl:default)
-                       configs="${configs} config-arm-generic config-arm32-generic"
-                       ;;
-               *)
-                       echo >&2 "ERROR: Invalid parameters given: $@"
-                       return 1
-                       ;;
-       esac
+       local configs="$(configs "${arch}" "${flavour}" "$@")"
 
        # Merge the configuration files from its elementary configuration
        # files.
-       local tmp_out=$(mktemp)
-       local tmp_in=$(mktemp)
+       local tmp_out="$(mktemp)"
+       local tmp_in="$(mktemp)"
 
        local config
        for config in ${configs}; do
-               cat ${tmp_out} > ${tmp_in}
-               perl ${SCRIPTS_DIR}/merge.pl \
-                       ${tmp_in} ${config} > ${tmp_out}
-       done
+               cat "${tmp_out}" > "${tmp_in}"
 
-       if [ "${config_mode}" != "none" ]; then
-               echo "Running 'make olddefconfig' for ${arch} (${flavour})..."
-               local kernel_arch="$(get_kernel_arch "${arch}")"
-               (
-                       cd ${KERNEL_DIR}
-                       cat ${tmp_out} > .config
-                       make ARCH="${kernel_arch}" ${config_mode}
-                       cat .config > ${tmp_out}
-               )
-       fi
+               if ! perl "${SCRIPTS_DIR}/merge.pl" \
+                               "${tmp_in}" "${config}" > "${tmp_out}"; then
+                       echo >&2 "Could not merge configuration for ${arch} ${flavour}"
+                       rm -f "${tmp_in}" "${tmp_out}"
+                       return 1
+               fi
+       done
 
-       cat ${tmp_out} > ${output}
-       rm -f ${tmp_in} ${tmp_out}
+       cat "${tmp_out}" > "${output}"
+       rm -f "${tmp_in}" "${tmp_out}"
 }
 
-# This function runs an interactive "make oldconfig".
-function make_config() {
+# This function runs an interactive "make oldconfig"
+make_config() {
        local action="${1}"
        local arch="${2}"
 
@@ -173,174 +155,187 @@ function make_config() {
        fi
 
        # Detect kernel arch
-       local kernel_arch="$(get_kernel_arch "${arch}")"
-       local flavour="default"
+       local flavour="generic"
 
-       local config_in=$(mktemp)
-       local config_out=$(mktemp)
-       local diff_out=$(mktemp)
+       # Create a temporary directory
+       local tmpdir="$(mktemp -d)"
 
-       merge_config ${arch} ${flavour} ${config_in} --mode=none
+       # Merge configuration
+       if ! merge_config "${arch}" "${flavour}" "${tmpdir}/.config.old"; then
+               echo "Could not merge configuration for ${arch} (${flavour})" >&2
+               return 1
+       fi
 
-       (
-               pushd ${KERNEL_DIR}
-               cat ${config_in} > .config
+       # Open the kernel configuration editor (in the given mode)
+       if ! kernel_config "${arch}" "${action}" "${tmpdir}/.config.old" "${tmpdir}/.config"; then
+               echo >&2 "Kernel configuration editing has been unsuccessful"
+               rm -rf "${tmpdir}"
+               return 1
+       fi
 
-               echo "You may now edit the configuration..."
-               make ARCH=${kernel_arch} "${action}"
+       # Diff the old and changed configuration
+       if ! python3 "${SCRIPTS_DIR}/configdiff.py" \
+                       "${tmpdir}/.config.old" "${tmpdir}/.config" > "${tmpdir}/diff"; then
+               rm -rf "${tmpdir}"
+               return 1
+       fi
 
-               cat .config > ${config_out}
-               popd
-       )
+       # Check if the diff contains any data
+       if [ ! -s "${tmpdir}/diff" ]; then
+               echo "No changes found"
+               return 0
+       fi
 
-       ${SCRIPTS_DIR}/configdiff.py ${config_in} ${config_out} > ${diff_out}
+       # Apply the diff to all configurations
+       if ! diff_configs "${tmpdir}/diff"; then
+               rm -rf "${tmpdir}"
+               return 1
+       fi
 
-       # Update the rest of the configurations.
-       diff_configs ${diff_out} --mode=oldconfig
+       # Cleanup
+       rm -rf "${tmpdir}"
 
-       rm -f ${config_in} ${config_out} ${diff_out}
+       return 0
 }
 
-# config-generic
-#  Intersection of all files.
-# config-x86-x86_64
-#  Diff against merge of (config-generic and config-x86-generic).
+diff_configs() {
+       local tmpdir="$(mktemp -d)"
 
-function diff_configs() {
-       local extra_configs="$@"
+       local configs=()
 
-       local filename
-       local platform
-       local subplatform
-
-       declare -A platform_configs
-       declare -A subplatform_configs
-
-       tmpdir=$(mktemp -d)
-
-       for config in ${CONFIGS}; do
-               arch=${config%:*}
-               flavour=${config#*:}
+       local config
+       for config in ${CONFIGS[@]}; do
+               arch="${config%:*}"
+               flavour="${config#*:}"
 
-               filename=${tmpdir}/config-${arch}-${flavour}
+               # Generate the filename
+               local filename="${tmpdir}/full-${arch}-${flavour}"
 
-               merge_config ${arch} ${flavour} ${filename} ${extra_configs}
+               # Merge configuration
+               if ! merge_config "${arch}" "${flavour}" "${filename}" "$@"; then
+                       rm -rf "${tmpdir}"
+                       return 1
+               fi
 
-               platform="$(get_platform "${arch}")"
-               subplatform="$(get_subplatform "${arch}")"
+               # Run "oldconfig" to ensure there are no gaps in other architectures
+               kernel_config "${arch}" "oldconfig" "${filename}" "${filename}"
 
-               if [ -n "${subplatform}" ]; then
-                       subplatform_configs[${subplatform}]="${subplatform_configs[${subplatform}]} ${filename}"
-               else
-                       platform_configs[${platform}]="${platform_configs[${platform}]} ${filename}"
-               fi
+               # Collect all *-generic configurations
+               case "${flavour}" in
+                       generic)
+                               configs+=( "${filename}" )
+                               ;;
+               esac
        done
 
-       local common_configs
-       for platform in ${PLATFORMS}; do
-               for subplatform in ${SUBPLATFORMS[${platform}]}; do
-                       filename="${tmpdir}/config-${subplatform}-common"
-                       ${SCRIPTS_DIR}/configcommon.py ${subplatform_configs[${subplatform}]} \
-                               > ${filename}
+       # Generate config-generic
+       if ! python3 "${SCRIPTS_DIR}/configcommon.py" "${configs[@]}" \
+                       > "${tmpdir}/config-generic"; then
+               echo >&2 "Could not generate config-generic"
+               rm -rf "${tmpdir}"
+               return 1
+       fi
 
-                       platform_configs[${platform}]="${platform_configs[${platform}]} ${filename}"
+       local arch
+       for arch in $(arches); do
+               # Fetch all flavours
+               local flavours="$(flavours_for_arch "${arch}")"
+
+               local flavour
+               for flavour in ${flavours}; do
+                       local base_config="${tmpdir}/config-${arch}-generic"
+
+                       # config-${arch}-generic is handled in a special way and diffed
+                       # directly against config-generic
+                       case "${flavour}" in
+                               generic)
+                                       base_config="${tmpdir}/config-generic"
+                                       ;;
+                       esac
+
+                       # Diff configurations
+                       if ! python3 "${SCRIPTS_DIR}/configdiff.py" \
+                                       "${base_config}" \
+                                       "${tmpdir}/full-${arch}-${flavour}" \
+                                       > "${tmpdir}/config-${arch}-${flavour}"; then
+                               echo >&2 "Could not generate config-${arch}-${flavour}"
+                               rm -rf "${tmpdir}"
+                               return 1
+                       fi
                done
+       done
 
-               filename="${tmpdir}/config-${platform}-common"
-               ${SCRIPTS_DIR}/configcommon.py ${platform_configs[${platform}]} \
-                       > ${filename}
+       # List any changes and copy back the result
+       for config in config-*; do
+               if ! cmp "${tmpdir}/${config}" "${config}" &>/dev/null; then
+                       echo "${config} has changed"
+               fi
 
-               common_configs="${common_configs} ${filename}"
+               # Copy back configuration
+               cat "${tmpdir}/${config}" > "${config}"
        done
 
-       ${SCRIPTS_DIR}/configcommon.py ${common_configs} > ${tmpdir}/config-generic
+       # Cleanup
+       rm -rf "${tmpdir}"
 
-       for platform in ${PLATFORMS}; do
-               for subplatform in ${SUBPLATFORMS[${platform}]}; do
-                       ${SCRIPTS_DIR}/configdiff.py \
-                               ${tmpdir}/config-${platform}-common \
-                               ${tmpdir}/config-${subplatform}-common \
-                               > ${tmpdir}/config-${subplatform}-generic
-               done
+       return 0
+}
 
-               ${SCRIPTS_DIR}/configdiff.py \
-                       ${tmpdir}/config-generic \
-                       ${tmpdir}/config-${platform}-common \
-                       > ${tmpdir}/config-${platform}-generic
-       done
+KERNEL_DIR="$(search_kernel_dir)"
 
-       for config in ${CONFIGS}; do
-               arch=${config%:*}
-               flavour=${config#*:}
+main() {
+       local action
 
-               filename=${tmpdir}/config-${arch}-${flavour}
+       # Parse commandline
+       local arg
+       while [ $# -gt 0 ]; do
+               arg="${1}"
+               shift
 
-               case "${config}" in
-                       aarch64:default|armv7hl:default|x86_64:default)
-                               # Virtual configuration
-                               rm -f ${filename}
-                               continue
+               case "${arg}" in
+                       --kernel-dir=*)
+                               KERNEL_DIR="${arg#--kernel-dir=}"
                                ;;
-                       *)
-                               platform="$(get_subplatform "${arch}" || get_platform "${arch}")"
-                               ${SCRIPTS_DIR}/configdiff.py ${tmpdir}/config-${platform}-common \
-                                       ${filename} > ${filename}.tmp
+
+                       listnewconfig|menuconfig|merge|oldconfig|olddefconfig)
+                               action="${arg}"
+                               break
                                ;;
-               esac
-               mv ${filename}{.tmp,}
-       done
-       rm -f ${tmpdir}/config-*-common
 
-       for config in ${tmpdir}/*; do
-               if ! cmp $(basename ${config}) ${config} &>/dev/null; then
-                       echo "$(basename ${config}) has changed."
-               fi
-               cat ${config} > $(basename ${config})
+                       help|"")
+                               echo "${0} - available commands:"
+                               echo "    * merge <arch> <flavour> <output filename>"
+                               echo "    * menuconfig"
+                               echo "    * oldconfig"
+                               echo "    * olddefconfig"
+                               return 0
+                               ;;
+               esac
        done
 
-       rm -rf ${tmpdir}
-}
+       # Check if KERNEL_DIR has been set and exists
+       if [ -z "${KERNEL_DIR}" -o ! -d "${KERNEL_DIR}" ]; then
+               echo >&2 "KERNEL_DIR was not set or does not exist!"
+               return 2
+       fi
 
-KERNEL_DIR="$(search_kernel_dir)"
+       case "${action}" in
+               merge)
+                       merge_config "$@"
+                       return $?
+                       ;;
 
-# Parse commandline.
-while [ $# -gt 0 ]; do
-       arg=${1}; shift
-       case "${arg}" in
-               help|"")
-                       echo "${0} - available commands:"
-                       echo "    * merge <arch> <flavour> <output filename>"
-                       echo "    * menuconfig"
-                       echo "    * oldconfig"
-                       echo "    * olddefconfig"
-                       exit 0
+               listnewconfig|menuconfig|oldconfig|olddefconfig)
+                       make_config "${action}" "$@"
+                       return $?
                        ;;
-               listnewconfig|menuconfig|merge|oldconfig|olddefconfig)
-                       action=${arg}
-                       break
+
+               # Handle no or invalid actions
+               *)
+                       echo >&2 "No action given... Try ${0} help."
+                       return 2
                        ;;
        esac
-done
-
-if [ -z "${KERNEL_DIR}" ]; then
-       echo >&2 "KERNEL_DIR was not set!"
-       exit 2
-fi
-
-if [ -z "${action}" ]; then
-       echo >&2 "No action given... Try ${0} help."
-       exit 2
-fi
-
-case "${action}" in
-       merge)
-               merge_config $@
-               exit $?
-               ;;
-       listnewconfig|menuconfig|oldconfig|olddefconfig)
-               make_config "${action}" "$@"
-               exit $?
-               ;;
-esac
-
-exit 1
+}
+
+main "$@" || exit $?
diff --git a/keyutils/keyutils.nm b/keyutils/keyutils.nm
new file mode 100644 (file)
index 0000000..1297bd4
--- /dev/null
@@ -0,0 +1,75 @@
+###############################################################################
+# IPFire.org    - An Open Source Firewall Solution                            #
+# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
+###############################################################################
+
+name       = keyutils
+version    = 1.6.3
+release    = 1
+
+groups     = System/Tools
+url        = https://git.kernel.org/pub/scm/linux/kernel/git/dhowells/keyutils.git/
+license    = GPLv2+ and LGPLv2+
+summary    = Linux Key Management Utilities
+
+description
+       Utilities to control the kernel key management facility and to provide
+       a mechanism by which the kernel call back to user space to get a key
+       instantiated.
+end
+
+source_dl  = https://git.kernel.org/pub/scm/linux/kernel/git/dhowells/keyutils.git/snapshot/
+
+build
+       requires
+               kernel-headers
+       end
+
+       make_build_targets += \
+               NO_ARLIB=1 \
+               ETCDIR=%{sysconfdir} \
+               LIBDIR=%{libdir} \
+               USRLIBDIR=%{libdir} \
+               BINDIR=%{bindir} \
+               SBINDIR=%{sbindir} \
+               MANDIR=%{mandir} \
+               INCLUDEDIR=%{includedir} \
+               SHAREDIR=%{datadir}/%{name} \
+               NO_GLIBC_KEYERR=1 \
+               CFLAGS="-Wall %{CFLAGS}" \
+               LDFLAGS="%{LDFLAGS}"
+
+       make_install_targets += \
+               NO_ARLIB=1 \
+               ETCDIR=%{sysconfdir} \
+               LIBDIR=%{libdir} \
+               USRLIBDIR=%{libdir} \
+               BINDIR=%{bindir} \
+               SBINDIR=%{sbindir} \
+               MANDIR=%{mandir} \
+               INCLUDEDIR=%{includedir} \
+               SHAREDIR=%{datadir}/%{name}
+
+       install_cmds
+               # Fix broken symlink.
+               ln -svf libkeyutils.so.1 %{BUILDROOT}%{libdir}/libkeyutils.so
+       end
+end
+
+packages
+       package %{name}
+
+       package libkeyutils
+               template LIBS
+       end
+
+       package libkeyutils-devel
+               template DEVEL
+
+               requires += libkeyutils = %{thisver}
+       end
+
+       package %{name}-debuginfo
+               template DEBUGINFO
+       end
+end
index 9a766e2031eddad15412c8112837f5835a7c5976..2cfb1a7d63a8c8154ee7c8048bf31908f5316951 100644 (file)
@@ -4,12 +4,12 @@
 ###############################################################################
 
 name       = kmod
-version    = 26
-release    = 1
+version    = 30
+release    = 2.1
 
 maintainer = Michael Tremer <michael.tremer@ipfire.org>
 groups     = System/Kernel
-url        = http://git.kernel.org/cgit/utils/kernel/kmod/kmod.git
+url        = https://git.kernel.org/cgit/utils/kernel/kmod/kmod.git
 license    = GPLv2+
 summary    = Linux kernel module management utilities.
 
@@ -25,13 +25,17 @@ sources    = %{thisapp}.tar.xz
 
 build
        requires
+               openssl-devel
                xz-devel
                zlib-devel
+               zstd-devel
        end
 
        configure_options += \
+               --with-openssl \
                --with-xz \
-               --with-zlib
+               --with-zlib \
+               --with-zstd
 
        # The testsuite does generate lots of errors.
 
index a4f59015013b118d83939cd374a1fb2766b6bd05..ef9974454d26f893f6cf7cf04d7d993939389119 100644 (file)
@@ -5,8 +5,8 @@
 [realms]
  EXAMPLE.COM = {
   #master_key_type = aes256-cts
-  acl_file = /var/kerberos/krb5kdc/kadm5.acl
+  acl_file = /var/lib/kerberos/krb5kdc/kadm5.acl
   dict_file = /usr/share/dict/words
-  admin_keytab = /var/kerberos/krb5kdc/kadm5.keytab
+  admin_keytab = /var/lib/kerberos/krb5kdc/kadm5.keytab
   supported_enctypes = aes256-cts:normal aes128-cts:normal des3-hmac-sha1:normal arcfour-hmac:normal des-hmac-sha1:normal des-cbc-md5:normal des-cbc-crc:normal
  }
index 6370a9ce17c074601a9fa839ffabe687868ffa30..075019d3cb376b9de83158f2ec58ebd569be8138 100644 (file)
@@ -4,14 +4,13 @@
 ###############################################################################
 
 name       = krb5
-#version    = %{version_maj}.%{version_min}
-version    = %{version_maj}
-version_maj= 1.15
-version_min=
-release    = 2
+version    = %{ver_maj}.%{ver_min}
+ver_maj    = 1.20
+ver_min    = 1
+release    = 4
 
 groups     = System/Libraries
-url        = http://web.mit.edu/kerberos/www/
+url        = https://web.mit.edu/kerberos/www/
 license    = MIT
 summary    = The Kerberos network authentication system.
 
@@ -21,9 +20,11 @@ description
        practice of sending passwords over the network in unencrypted form.
 end
 
-source_dl   = http://web.mit.edu/kerberos/dist/krb5/%{version_maj}/
+source_dl   = https://web.mit.edu/kerberos/dist/krb5/%{ver_maj}/
 
 build
+       DIR_APP = %{DIR_SRC}/%{thisapp}/src
+
        requires
                autoconf
                automake
@@ -46,7 +47,7 @@ build
        configure_options += \
                --enable-shared \
                --disable-rpath \
-               --localstatedir=/var/kerberos \
+               --localstatedir=%{sharedstatedir}/kerberos \
                --with-system-et \
                --with-system-ss \
                --with-netlib=-lresolv \
@@ -57,27 +58,21 @@ build
                --with-crypto-impl=openssl \
                --with-pam
 
-       # Don't use strlcpy that comes with glibc.
-       configure_options += \
-               ac_cv_func_strlcpy=no
-
-       build
-               cd %{DIR_APP}/src
-
-               ./configure \
-                       %{configure_options}
-
-               make %{PARALLELISMFLAGS}
+       configure_cmds
+               # Add additional compiler flags to proper harden the binaries.
+               sed -i '/^CFLAGS =/ s/$/ -fno-builtin-exit -D__noreturn__=/' \
+                       clients/kpasswd/Makefile
+               sed -i '/^CFLAGS =/ s/$/ -fno-builtin-exit -D__noreturn__=/' \
+                       appl/simple/server/Makefile
+               sed -i '/^CFLAGS =/ s/$/ -fno-builtin-exit -D__noreturn__=/' \
+                       appl/sample/sserver/Makefile
        end
 
-       install
-               # Install krb5.
-               make -C src install DESTDIR=%{BUILDROOT}
-
+       install_cmds
                # Sample KDC config files (bundled kdc.conf and kadm5.acl).
-               mkdir -pv %{BUILDROOT}%{localstatedir}/kerberos/krb5kdc
-               install -pm 600 %{DIR_SOURCE}/kdc.conf %{BUILDROOT}%{localstatedir}/kerberos/krb5kdc/
-               install -pm 600 %{DIR_SOURCE}/kadm5.acl %{BUILDROOT}%{localstatedir}/kerberos/krb5kdc/
+               mkdir -pv %{BUILDROOT}%{sharedstatedir}/kerberos/krb5kdc
+               install -pm 600 %{DIR_SOURCE}/kdc.conf %{BUILDROOT}%{sharedstatedir}/kerberos/krb5kdc/
+               install -pm 600 %{DIR_SOURCE}/kadm5.acl %{BUILDROOT}%{sharedstatedir}/kerberos/krb5kdc/
 
                # Default configuration file for everything.
                mkdir -pv %{BUILDROOT}/etc
diff --git a/krb5/logrotate/kadmind.logrotate b/krb5/logrotate/kadmind.logrotate
deleted file mode 100644 (file)
index 52a66c4..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-/var/log/kadmind.log {
-    missingok
-    notifempty
-    monthly
-    rotate 12
-    postrotate
-       /bin/kill -HUP `cat /var/run/kadmind.pid 2>/dev/null` 2> /dev/null || true
-    endscript
-}
diff --git a/krb5/logrotate/krb5kdc.logrotate b/krb5/logrotate/krb5kdc.logrotate
deleted file mode 100644 (file)
index 1100ed3..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-/var/log/krb5kdc.log {
-    missingok
-    notifempty
-    monthly
-    rotate 12
-    postrotate
-       /bin/kill -HUP `cat /var/run/krb5kdc.pid 2>/dev/null` 2> /dev/null || true
-    endscript
-}
index 7775ea74cf2d36dba8211e7f01943fc0b969e825..4d8bbbf573365b65669906fc4e6b91477f301d06 100644 (file)
@@ -1,7 +1,7 @@
 [Unit]
 Description=Kerberos 5 Password-changing and Administration
 After=syslog.target network.target
-ConditionPathExists=!/var/kerberos/krb5kdc/kpropd.acl
+ConditionPathExists=!/var/lib/kerberos/krb5kdc/kpropd.acl
 
 [Service]
 Type=forking
index 99ba12976f4161d34c09bcb235de2e0bf061b90c..3f581653513ec45baae9d6fc9c91f828029e3aff 100644 (file)
@@ -1,7 +1,7 @@
 [Unit]
 Description=Kerberos 5 Propagation
 After=syslog.target network.target
-ConditionPathExists=/var/kerberos/krb5kdc/kpropd.acl
+ConditionPathExists=/var/lib/kerberos/krb5kdc/kpropd.acl
 
 [Service]
 Type=forking
index d97c05c3cd52cb16d80c99e8f7d7fcbce895f273..ab04c93686961bd99378fb2db6ceb7e138cf2719 100644 (file)
@@ -4,11 +4,11 @@
 ###############################################################################
 
 name       = lcms2
-version    = 2.8
-release    = 1
+version    = 2.14
+release    = 1.1
 
 groups     = System/Tools
-url        = http://www.littlecms.com/
+url        = https://www.littlecms.com/
 license    = MIT
 summary    = Color Management Engine.
 
@@ -18,7 +18,7 @@ description
        parallel installed with the original (deprecated) lcms.
 end
 
-source_dl  = http://www.littlecms.com/
+source_dl  = https://sourceforge.net/projects/lcms/files/lcms/%{version}/
 
 build
        requires
@@ -28,13 +28,6 @@ build
                zlib-devel
        end
 
-       prepare_cmds
-               # for aarch64
-               for i in $(find . -name config.guess -or -name config.sub); do
-                       cp -vf %{datadir}/automake-*/config.{guess,sub} $(dirname ${i})
-               done
-       end
-
        configure_options +=\
                --disable-static \
                --program-suffix=2
index fb0ff9c8b2d2a66793a40bd0e8114b75b7b474bb..7b7bf5da8d603e2bc43c9c85bad60b9371c831f5 100644 (file)
@@ -5,12 +5,12 @@
 
 name       = ldapvi
 version    = 1.7
-release    = 2
+release    = 3
 
 groups     = Applications/Editors
 url        = http://www.lichteblau.com/ldapvi/
 license    = GPLv2+
-summary    = An interactive LDAP client.
+summary    = An interactive LDAP client
 
 description
        ldapvi is an interactive LDAP client for Unix terminals. Using it, you can \
@@ -18,11 +18,12 @@ description
        it as vipw(1) for LDAP.
 end
 
-source_dl  =
+source_dl  = http://www.lichteblau.com/download/
 
 build
        requires
                glib2-devel
+               libxcrypt-devel
                ncurses-devel
                openldap-devel
                openssl-devel
index d79d48c08cf530ac8ad1d34de4503bece7486ebc..2a00fd77d2d7eb4d06fa1eec1c00c7eae819b89c 100644 (file)
@@ -4,27 +4,22 @@
 ###############################################################################
 
 name       = ldns
-version    = 1.6.17
-release    = 1
+version    = 1.8.3
+release    = 1.1
 
 groups     = Networking/DNS
-url        = http://www.nlnetlabs.nl/projects/ldns/
+url        = https://www.nlnetlabs.nl/projects/ldns/
 license    = BSD
 summary    = Low-level DNS(SEC) library with API
 
 description
-       The flex program generates scanners. Scanners are programs which can
-       recognize lexical patterns in text. Flex takes pairs of regular
-       expressions and C code as input and generates a C source file as
-       output.  The output file is compiled and linked with a library to
-       produce an executable.  The executable searches through its input for
-       occurrences of the regular expressions. When a match is found, it
-       executes the corresponding C code. Flex was designed to work with
-       both Yacc and Bison, and is used by many programs as part of their
-       build process.
+       The goal of ldns is to simplify DNS programming in C. ldns supports
+       all low-level DNS and DNSSEC operations. It also defines a higher
+       level API which allows a programmer to for instance create or sign
+       packets.
 end
 
-source_dl  = http://www.nlnetlabs.nl/downloads/%{name}/
+source_dl  = https://www.nlnetlabs.nl/downloads/%{name}/
 
 build
        requires
@@ -41,27 +36,11 @@ build
        end
 
        configure_options += \
-               --enable-gost \
+               --disable-gost \
                --enable-ecdsa \
                --with-ca-file=/etc/pki/tls/certs/ca-bundle.trust.crt \
                --with-ca-path=/etc/pki/tls/certs/ \
-               --with-trust-anchor=%{sharedstatedir}/unbound/root.key \
-               --enable-rrtype-cds \
-               --enable-rrtype-uri
-
-       build_cmds
-               pushd drill
-               ./configure %{configure_options}
-               make %{PARALLELISMFLAGS}
-               popd
-       end
-
-       install_cmds
-               install -D -m644 packaging/libldns.pc \
-                       %{BUILDROOT}%{libdir}/pkgconfig/ldns.pc
-
-               make -C drill DESTDIR=%{BUILDROOT} install
-       end
+               --with-trust-anchor=%{sharedstatedir}/unbound/root.key
 end
 
 packages
diff --git a/ldns/patches/ldns-1.6.16-dsa-key-failures.patch b/ldns/patches/ldns-1.6.16-dsa-key-failures.patch
deleted file mode 100644 (file)
index 93e8a73..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-diff -up ldns-1.6.17/keys.c.dsa ldns-1.6.17/keys.c
---- ldns-1.6.17/keys.c.dsa     2014-01-10 22:04:41.000000000 +0100
-+++ ldns-1.6.17/keys.c 2014-03-18 17:54:34.751742493 +0100
-@@ -1324,7 +1324,6 @@ ldns_key_dsa2bin(unsigned char *data, DS
-       /* See RFC2536 */
-       *size = (uint16_t)BN_num_bytes(k->p);
-       T = (*size - 64) / 8;
--      memcpy(data, &T, 1);
-       if (T > 8) {
- #ifdef STDERR_MSGS
-@@ -1335,12 +1334,13 @@ ldns_key_dsa2bin(unsigned char *data, DS
-       }
-       /* size = 64 + (T * 8); */
-+      memset(data, 0, 21 + *size * 3);
-       data[0] = (unsigned char)T;
-       BN_bn2bin(k->q, data + 1 );             /* 20 octects */
-       BN_bn2bin(k->p, data + 21 );            /* offset octects */
--      BN_bn2bin(k->g, data + 21 + *size);     /* offset octets */
--      BN_bn2bin(k->pub_key, data + 21 + *size + *size); /* offset octets */
--      *size = 21 + (*size * 3);
-+      BN_bn2bin(k->g, data + 21 + *size * 2 - BN_num_bytes(k->g));
-+      BN_bn2bin(k->pub_key,data + 21 + *size * 3 - BN_num_bytes(k->pub_key));
-+      *size = 21 + *size * 3;
-       return true;
- }
diff --git a/ldns/patches/ldns-1.6.17-doxyparse-perl-5-22-fix.patch b/ldns/patches/ldns-1.6.17-doxyparse-perl-5-22-fix.patch
deleted file mode 100644 (file)
index 2140ff5..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/doc/doxyparse.pl b/doc/doxyparse.pl
-index 96a1732..745d564 100755
---- a/doc/doxyparse.pl
-+++ b/doc/doxyparse.pl
-@@ -273,7 +273,7 @@ foreach (keys %manpages) {
-       print MAN $MAN_MIDDLE;
--      if (defined(@$also)) {
-+      if (@$also) {
-               print MAN "\n.SH SEE ALSO\n\\fI";
-               print MAN join "\\fR, \\fI", @$also;
-               print MAN "\\fR.\nAnd ";
diff --git a/ldns/patches/ldns-1.6.17-multilib.patch b/ldns/patches/ldns-1.6.17-multilib.patch
deleted file mode 100644 (file)
index 5c7440a..0000000
+++ /dev/null
@@ -1,75 +0,0 @@
-diff -Naur ldns-1.6.17-orig/configure ldns-1.6.17/configure
---- ldns-1.6.17-orig/configure 2014-01-10 16:04:50.000000000 -0500
-+++ ldns-1.6.17/configure      2014-01-10 20:22:39.138190093 -0500
-@@ -662,6 +662,7 @@
- PYTHON_LDFLAGS
- PYTHON_CPPFLAGS
- PYTHON
-+PYTHON_LIB
- PYTHON_VERSION
- UNINSTALL_CONFIG_MANPAGE
- UNINSTALL_CONFIG
-@@ -13599,6 +13600,7 @@
-                       # use the official shared library
-                       ac_python_library=`echo "$ac_python_library" | sed "s/^lib//"`
-                       PYTHON_LDFLAGS="-L$ac_python_libdir -l$ac_python_library"
-+                      PYTHON_LIB="$ac_python_library"
-               else
-                       # old way: use libpython from python_configdir
-                       ac_python_libdir=`$PYTHON -c \
-@@ -13606,6 +13608,7 @@
-                         import os; \
-                         print (os.path.join(f(plat_specific=1, standard_lib=1), 'config'));"`
-                       PYTHON_LDFLAGS="-L$ac_python_libdir -lpython$ac_python_version"
-+                      PYTHON_LIB="python$ac_python_version"
-               fi
-               if test -z "PYTHON_LDFLAGS"; then
-diff -Naur ldns-1.6.17-orig/packaging/ldns-config.in ldns-1.6.17/packaging/ldns-config.in
---- ldns-1.6.17-orig/packaging/ldns-config.in  2014-01-10 16:04:41.000000000 -0500
-+++ ldns-1.6.17/packaging/ldns-config.in       2014-01-10 20:33:13.033665804 -0500
-@@ -3,13 +3,25 @@
- prefix="@prefix@"
- exec_prefix="@exec_prefix@"
- VERSION="@PACKAGE_VERSION@"
--CFLAGS="@CFLAGS@"
--CPPFLAGS="@CPPFLAGS@ @LIBSSL_CPPFLAGS@ @PYTHON_CPPFLAGS@"
--LDFLAGS="@LDFLAGS@ @LIBSSL_LDFLAGS@ @PYTHON_LDFLAGS@"
- LIBS="@LIBS@ @LIBSSL_LIBS@"
--LIBDIR="@libdir@"
- INCLUDEDIR="@includedir@"
- LIBVERSION="@LIBLDNS_CURRENT@.@LIBLDNS_REVISION@.@LIBLDNS_AGE@"
-+ARCH="`uname -m`"
-+
-+case $ARCH in
-+       x86_64 | amd64 | sparc64 | s390x | ppc64)
-+
-+               LIBDIR="/usr/lib64"
-+               LIBDIR_SEC="/usr/lib"
-+               ;;
-+       * )
-+               LIBDIR="/usr/lib"
-+               LIBDIR_SEC="/usr/lib64"
-+               ;;
-+esac
-+
-+LDFLAGS="@LDFLAGS@ @LIBSSL_LDFLAGS@ -L$LIBDIR -l@PYTHON_LIB@"
-+LDFLAGS_SEC="@LDFLAGS@ @LIBSSL_LDFLAGS@ -L$LIBDIR_SEC -l@PYTHON_LIB@"
- for arg in $@
- do
-@@ -21,9 +33,13 @@
-     then
-         echo "${LDFLAGS} -L${LIBDIR} ${LIBS} -lldns"
-     fi
-+    if [ $arg = "--libs_sec" ]
-+    then
-+        echo "${LDFLAGS_SEC} -L${LIBDIR_SEC} ${LIBS} -lldns"
-+    fi
-     if [ $arg = "-h" ] || [ $arg = "--help" ]
-     then
--        echo "Usage: $0 [--cflags] [--libs] [--version]"
-+        echo "Usage: $0 [--cflags] [--libs] [--libs_sec] [--version]"
-     fi
-     if [ $arg = "--version" ]
-     then
index bd7272a767a435cb78e6da0438e04a0470976504..3efc1479a9f1b9ac03db5a112e4a08ac27537b03 100644 (file)
@@ -4,11 +4,11 @@
 ###############################################################################
 
 name       = less
-version    = 551
+version    = 643
 release    = 1
 
 groups     = Applications/Text
-url        = http://www.greenwoodsoftware.com/less/
+url        = https://www.greenwoodsoftware.com/less/
 license    = GPLv3+
 summary    = A text file browser similar to more, but better.
 
@@ -20,7 +20,7 @@ description
        example, vi).
 end
 
-source_dl  = http://www.greenwoodsoftware.com/less/
+source_dl  = https://www.greenwoodsoftware.com/less/
 
 build
        requires
@@ -29,10 +29,9 @@ build
        end
 
        configure_options += \
-               --sysconfdir=/etc \
                --with-regex=pcre
 
-       CFLAGS += -D_GNU_SOURCE
+       #CFLAGS += -D_GNU_SOURCE
 
        install_cmds
                mkdir -pv %{BUILDROOT}/etc/profile.d
@@ -45,8 +44,6 @@ end
 
 packages
        package %{name}
-               groups += Base
-       end
 
        package %{name}-debuginfo
                template DEBUGINFO
diff --git a/libICE/libICE.nm b/libICE/libICE.nm
deleted file mode 100644 (file)
index 0607f0a..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = libICE
-version    = 1.0.9
-release    = 1
-
-maintainer = Stefan Schantl <stefan.schantl@ipfire.org>
-groups     = X/Libraries
-url        = http://www.x.org/
-license    = MIT
-summary    = X.Org X11 libICE runtime library.
-
-description
-       X.Org X11 libICE development package.
-end
-
-source_dl  = http://ftp.x.org/pub/individual/lib/
-
-build
-       requires
-               pkg-config
-               xorg-x11-proto-devel
-               xorg-x11-xtrans-devel
-       end
-
-       configure_options += \
-               --disable-static
-end
-
-packages
-       package %{name}
-
-       package %{name}-devel
-               template DEVEL
-       end
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
diff --git a/libSM/libSM.nm b/libSM/libSM.nm
deleted file mode 100644 (file)
index 8f0bcb8..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = libSM
-version    = 1.2.2
-release    = 1
-
-maintainer = Stefan Schantl <stefan.schantl@ipfire.org>
-groups     = X/Libraries
-url        = http://www.x.org/
-license    = MIT
-summary    = X.Org X11 libSM runtime library.
-
-description
-       X.Org X11 libSM development package.
-end
-
-source_dl  = http://ftp.x.org/pub/individual/lib/
-
-build
-       requires
-               libICE-devel
-               libuuid-devel
-               xorg-x11-proto-devel
-               xorg-x11-xtrans-devel
-       end
-
-       configure_options += \
-               --disable-static
-end
-
-packages
-       package %{name}
-
-       package %{name}-devel
-               template DEVEL
-       end
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
diff --git a/libVNCServer/libVNCServer.nm b/libVNCServer/libVNCServer.nm
deleted file mode 100644 (file)
index 2e94f0a..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = libVNCServer
-version    = 0.9.9
-release    = 1
-
-groups     = System/Libraries
-url        = http://libvncserver.sourceforge.net/
-license    = GPLv2+
-summary    = Library to make writing a vnc server easy.
-
-description
-       LibVNCServer makes writing a VNC server (or more correctly, a program
-       exporting a framebuffer via the Remote Frame Buffer protocol) easy.
-end
-
-source_dl  = http://sourceforge.net/projects/libvncserver/files/libvncserver/%{version}/
-sources    = LibVNCServer-%{version}.tar.gz
-
-build
-       requires
-               libjpeg-devel
-               zlib-devel
-       end
-
-       DIR_APP = %{DIR_SRC}/LibVNCServer-%{version}
-
-       configure_options += \
-               --disable-static \
-               --without-tightvnc-filetransfer
-end
-
-packages
-       package %{name}
-
-       package %{name}-devel
-               template DEVEL
-       end
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
diff --git a/libXau/libXau.nm b/libXau/libXau.nm
deleted file mode 100644 (file)
index b23f5eb..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = libXau
-version    = 1.0.7
-release    = 1
-
-maintainer = Stefan Schantl <stefan.schantl@ipfire.org>
-groups     = X/Libraries
-url        = http://xcb.freedesktop.org/
-license    = MIT
-summary    = Sample Authorization Protocol for X.
-
-description
-       This is a very simple mechanism for providing individual access
-       to an X Window System display.It uses existing core protocol and
-       library hooks for specifying authorization data in the connection
-       setup block to restrict use of the display to only those clients
-       that show that they know a server-specific key called a
-       magic cookie.
-end
-
-source_dl  = http://ftp.x.org/pub/individual/lib/
-
-build
-       requires
-               pkg-config
-               xorg-x11-proto-devel
-       end
-
-       configure_options +=\
-               --disable-static
-end
-
-packages
-       package %{name}
-
-       package %{name}-devel
-               template DEVEL
-       end
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
diff --git a/libXau/patches/xau-1.0.4-local.patch b/libXau/patches/xau-1.0.4-local.patch
deleted file mode 100644 (file)
index 26b578b..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-diff --git a/AuGetBest.c b/AuGetBest.c
-index ae2b748..5d92dad 100644
---- a/AuGetBest.c
-+++ b/AuGetBest.c
-@@ -120,7 +120,8 @@ XauGetBestAuthByAddr (
-        * Match when:
-        *   either family or entry->family are FamilyWild or
-        *    family and entry->family are the same and
--       *     address and entry->address are the same
-+       *     address and entry->address are the same or
-+       *     family is FamilyLocal
-        *  and
-        *   either number or entry->number are empty or
-        *    number and entry->number are the same
-@@ -139,6 +140,7 @@ XauGetBestAuthByAddr (
-               binaryEqual (entry->address, fully_qual_address,
-                   (int) fully_qual_address_length))
- #endif
-+           || (family == FamilyLocal)
-           ))) &&
-           (number_length == 0 || entry->number_length == 0 ||
-            (number_length == entry->number_length &&
diff --git a/libXaw/libXaw.nm b/libXaw/libXaw.nm
deleted file mode 100644 (file)
index 7dd6b4e..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = libXaw
-version    = 1.0.11
-release    = 1
-
-maintainer = Stefan Schantl <stefan.schantl@ipfire.org>
-groups     = X/Libraries
-url        = http://www.x.org/
-license    = MIT
-summary    = X Athena Widget Set.
-
-description
-       Xaw is a widget set based on the X Toolkit Intrinsics (Xt) Library.
-end
-
-source_dl  = http://ftp.x.org/pub/individual/lib/
-
-build
-       requires
-               libICE-devel
-               libSM-devel
-               libX11-devel
-               libXt-devel
-               libXmu-devel
-               libXpm-devel
-               libXext-devel
-               pkg-config
-               xorg-x11-proto-devel
-       end
-
-       configure_options += \
-               --disable-static
-end
-
-packages
-       package %{name}
-
-       package %{name}-devel
-               template DEVEL
-       end
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
diff --git a/libXcomposite/libXcomposite.nm b/libXcomposite/libXcomposite.nm
deleted file mode 100644 (file)
index ad9734f..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = libXcomposite
-version    = 0.4.4
-release    = 1
-
-maintainer = Stefan Schantl <stefan.schantl@ipfire.org>
-groups     = X/Libraries
-url        = http://www.x.org/
-license    = MIT
-summary    = X Composite extension library.
-
-description
-       X.Org X11 libXcomposite runtime library.
-end
-
-source_dl  = http://ftp.x.org/pub/individual/lib/
-
-build
-       requires
-               libX11-devel
-               libXfixes-devel
-               pkg-config
-               xorg-x11-proto-devel
-       end
-
-       configure_options += \
-               --disable-static
-end
-
-packages
-       package %{name}
-
-       package %{name}-devel
-               template DEVEL
-       end
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
diff --git a/libXcursor/index.theme b/libXcursor/index.theme
deleted file mode 100644 (file)
index cda0b19..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-[Icon Theme]
-Inherits=Adwaita
diff --git a/libXcursor/libXcursor.nm b/libXcursor/libXcursor.nm
deleted file mode 100644 (file)
index 7c46086..0000000
+++ /dev/null
@@ -1,55 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = libXcursor
-version    = 1.1.13
-release    = 1
-
-maintainer = Stefan Schantl <stefan.schantl@ipfire.org>
-groups     = X/Libraries
-url        = http://www.x.org/
-license    = MIT
-summary    = Cursor management library.
-
-description
-       This is  a simple library designed to help locate and load cursors.
-       Cursors can be loaded from files or memory. A library of common cursors
-       exists which map to the standard X cursor names.Cursors can exist in
-       several sizes and the library automatically picks the best size.
-end
-
-source_dl  = ftp://ftp.x.org/pub/individual/lib/
-
-build
-       requires
-               libX11-devel
-               libXfixes-devel
-               libXrender-devel >= 0.8.2
-               xorg-x11-proto-devel
-               xorg-x11-util-macros
-       end
-
-       configure_options += \
-               --disable-static
-
-       install_cmds
-               # Install index.theme.
-               mkdir -pv %{BUILDROOT}%{datadir}/icons/default
-               install -m 644 -p %{DIR_SOURCE}/index.theme \
-                       %{BUILDROOT}%{datadir}/icons/default/index.theme
-       end
-end
-
-packages
-       package %{name}
-
-       package %{name}-devel
-               template DEVEL
-       end
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
diff --git a/libXdamage/libXdamage.nm b/libXdamage/libXdamage.nm
deleted file mode 100644 (file)
index 279b4b3..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = libXdamage
-version    = 1.1.4
-release    = 1
-
-maintainer = Stefan Schantl <stefan.schantl@ipfire.org>
-groups     = X/Libraries
-url        = http://www.x.org/
-license    = MIT
-summary    = X Damage extension library.
-
-description
-       X.Org X11 libXdamage runtime library.
-end
-
-source_dl  = http://ftp.x.org/pub/individual/lib/
-
-build
-       requires
-               libX11-devel
-               libXfixes-devel
-               pkg-config
-               xorg-x11-proto-devel
-       end
-
-       configure_options += \
-               --disable-static
-end
-
-packages
-       package %{name}
-
-       package %{name}-devel
-               template DEVEL
-       end
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
diff --git a/libXdmcp/libXdmcp.nm b/libXdmcp/libXdmcp.nm
deleted file mode 100644 (file)
index f72ce55..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = libXdmcp
-version    = 1.1.1
-release    = 1
-
-maintainer = Stefan Schantl <stefan.schantl@ipfire.org>
-groups     = X/Libraries
-url        = http://www.x.org/
-license    = MIT
-summary    = X Display Manager Control Protocol library.
-
-description
-       X Display Manager Control Protocol library.
-end
-
-source_dl  = http://ftp.x.org/pub/individual/lib/
-
-build
-       requires
-               pkg-config
-               xorg-x11-proto-devel
-       end
-
-       configure_options += \
-               --disable-static
-end
-
-packages
-       package %{name}
-
-       package %{name}-devel
-               template DEVEL
-       end
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
diff --git a/libXext/libXext.nm b/libXext/libXext.nm
deleted file mode 100644 (file)
index 7109119..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = libXext
-version    = 1.3.1
-release    = 1
-
-maintainer = Stefan Schantl <stefan.schantl@ipfire.org>
-groups     = X/Libraries
-url        = http://www.x.org/
-license    = MIT
-summary    = X.Org X11 libXext runtime library.
-
-description
-       X.Org X11 libXext development package.
-end
-
-source_dl  = ftp://ftp.x.org/pub/individual/lib/
-
-build
-       requires
-               libX11-devel
-               libXau-devel
-               pkg-config
-               xorg-x11-proto-devel
-       end
-
-       configure_options += \
-               --disable-static
-end
-
-packages
-       package %{name}
-
-       package %{name}-devel
-               template DEVEL
-       end
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
diff --git a/libXfont/libXfont.nm b/libXfont/libXfont.nm
deleted file mode 100644 (file)
index 55de1ee..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = libXfont
-version    = 1.4.5
-release    = 1
-
-maintainer = Stefan Schantl <stefan.schantl@ipfire.org>
-groups     = X/Libraries
-url        = http://www.x.org/
-license    = MIT
-summary    =  X.Org X11 libXfont runtime library.
-
-description
-       X.Org X11 libXfont development package.
-end
-
-source_dl  = http://ftp.x.org/pub/individual/lib/
-
-build
-       requires
-               freetype-devel
-               libfontenc-devel
-               pkg-config
-               xorg-x11-proto-devel
-               xorg-x11-xtrans-devel
-               zlib-devel
-       end
-
-       configure_options += \
-               --disable-static
-end
-
-packages
-       package %{name}
-
-       package %{name}-devel
-               template DEVEL
-       end
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
diff --git a/libXft/libXft.nm b/libXft/libXft.nm
deleted file mode 100644 (file)
index bf726f4..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = libXft
-version    = 2.3.1
-release    = 1
-
-maintainer = Stefan Schantl <stefan.schantl@ipfire.org>
-groups     = X/Libraries
-url        = http://www.x.org/
-license    = MIT
-summary    = X.Org X11 libXft runtime library.
-
-description
-       X.Org X11 libXft runtime library.
-end
-
-source_dl  = http://ftp.x.org/pub/individual/lib/
-
-build
-       requires
-               fontconfig-devel
-               freetype-devel
-               libXrender-devel
-               pkg-config
-               xorg-x11-proto-devel
-       end
-
-       configure_options += \
-               --disable-static
-end
-
-packages
-       package %{name}
-
-       package %{name}-devel
-               template DEVEL
-       end
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
diff --git a/libXi/libXi.nm b/libXi/libXi.nm
deleted file mode 100644 (file)
index 444e2c2..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = libXi
-version    = 1.6.2
-release    = 1
-
-maintainer = Stefan Schantl <stefan.schantl@ipfire.org>
-groups     = X/Libraries
-url        = http://xcb.freedesktop.org/
-license    = MIT
-summary    = X.Org X11 libXi runtime library.
-
-description
-       X.Org X11 libXi runtime library.
-end
-
-source_dl  = http://ftp.x.org/pub/individual/lib/
-
-build
-       requires
-               libX11-devel
-               libXext-devel
-               pkg-config
-               xorg-x11-proto-devel
-               xorg-x11-util-macros
-       end
-
-       configure_options += \
-               --disable-static
-end
-
-packages
-       package %{name}
-
-       package %{name}-devel
-               template DEVEL
-       end
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
diff --git a/libXinerama/libXinerama.nm b/libXinerama/libXinerama.nm
deleted file mode 100644 (file)
index c1afbbc..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = libXinerama
-version    = 1.1.2
-release    = 1
-
-maintainer = Stefan Schantl <stefan.schantl@ipfire.org>
-groups     = X/Libraries
-url        = http://www.x.org/
-license    = MIT
-summary    = X.Org X11 libXinerama runtime library
-
-description
-       X.Org X11 libXinerama runtime library
-end
-
-source_dl  = ftp://ftp.x.org/pub/individual/lib/
-
-build
-       requires
-               libX11-devel
-               libXext-devel
-               xorg-x11-proto-devel
-       end
-
-       configure_options += \
-               --disable-static
-end
-
-packages
-       package %{name}
-
-       package %{name}-devel
-               template DEVEL
-       end
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
diff --git a/libXmu/libXmu.nm b/libXmu/libXmu.nm
deleted file mode 100644 (file)
index 5b52635..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = libXmu
-version    = 1.1.1
-release    = 1
-
-maintainer = Stefan Schantl <stefan.schantl@ipfire.org>
-groups     = X/Libraries
-url        = http://www.x.org/
-license    = MIT
-summary    = X.Org X11 libXmu/libXmuu runtime libraries.
-
-description
-       X.Org X11 libXmu/libXmuu runtime libraries.
-end
-
-source_dl  = http://ftp.x.org/pub/individual/lib/
-
-build
-       requires
-               libICE-devel
-               libSM-devel
-               libX11-devel
-               libXext-devel
-               libXt-devel
-               pkg-config
-               xorg-x11-util-macros
-               xorg-x11-proto-devel
-       end
-
-       configure_options += \
-               --disable-static
-end
-
-packages
-       package %{name}
-
-       package %{name}-devel
-               template DEVEL
-       end
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
diff --git a/libXpm/libXpm.nm b/libXpm/libXpm.nm
deleted file mode 100644 (file)
index 217320f..0000000
+++ /dev/null
@@ -1,51 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = libXpm
-version    = 3.5.10
-release    = 2
-
-maintainer = Stefan Schantl <stefan.schantl@ipfire.org>
-groups     = X/Libraries
-url        = http://www.x.org/
-license    = MIT
-summary    = X.Org X11 libXpm runtime library.
-
-description
-       X.Org X11 libXpm runtime library.
-end
-
-source_dl  = http://ftp.x.org/pub/individual/lib/
-
-build
-       requires
-               gettext
-               libICE-devel
-               libSM-devel
-               libX11-devel
-               libXau-devel
-               libXext-devel
-               libXt-devel
-               pkg-config
-               xorg-x11-proto-devel
-               xorg-x11-util-macros
-       end
-
-       configure_options += \
-               --disable-selective-werror \
-               --disable-static
-end
-
-packages
-       package %{name}
-
-       package %{name}-devel
-               template DEVEL
-       end
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
diff --git a/libXrandr/libXrandr.nm b/libXrandr/libXrandr.nm
deleted file mode 100644 (file)
index 2522d90..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = libXrandr
-version    = 1.4.0
-release    = 1
-
-maintainer = Stefan Schantl <stefan.schantl@ipfire.org>
-groups     = X/Libraries
-url        = http://www.x.org/
-license    = MIT
-summary    = X11 libXrandr runtime library.
-
-description
-       X.Org X11 libXrandr runtime library.
-end
-
-source_dl  = http://ftp.x.org/pub/individual/lib/
-
-build
-       requires
-               libX11-devel
-               libXext-devel
-               libXrender-devel
-               pkg-config
-               xorg-x11-proto-devel
-       end
-
-       configure_options += \
-               --disable-static
-end
-
-packages
-       package %{name}
-
-       package %{name}-devel
-               template DEVEL
-       end
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
diff --git a/libXres/libXres.nm b/libXres/libXres.nm
deleted file mode 100644 (file)
index d84d1ee..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = libXres
-version    = 1.0.6
-release    = 1
-
-maintainer = Stefan Schantl <stefan.schantl@ipfire.org>
-groups     = X/Libraries
-url        = http://www.x.org/
-license    = MIT
-summary    = X-Resource extension client library.
-
-description
-       X-Resource is an extension that allows a client to query
-       the X server about its usage of various resources.
-end
-
-source_dl  = http://ftp.x.org/pub/individual/lib/
-
-build
-       requires
-               libX11-devel
-               libXext-devel
-               pkg-config
-               xorg-x11-proto-devel
-       end
-
-       configure_options += \
-               --disable-static
-
-       make_install_targets += INSTALL="install -p"
-end
-
-packages
-       package %{name}
-
-       package %{name}-devel
-               template DEVEL
-       end
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
diff --git a/libXt/libXt.nm b/libXt/libXt.nm
deleted file mode 100644 (file)
index 9491465..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = libXt
-version    = 1.1.3
-release    = 1
-
-maintainer = Stefan Schantl <stefan.schantl@ipfire.org>
-groups     = X/Libraries
-url        = http://www.x.org/
-license    = MIT
-summary    = X.Org X11 libXt runtime library.
-
-description
-       X.Org X11 libXt runtime library.
-end
-
-source_dl  = http://ftp.x.org/pub/individual/lib/
-
-build
-       requires
-               libICE-devel
-               libSM-devel
-               libX11-devel
-               pkg-config
-               xorg-x11-proto-devel
-       end
-
-       CFLAGS += -fno-strict-aliasing
-
-       configure_options += \
-               --disable-static
-end
-
-packages
-       package %{name}
-
-       package %{name}-devel
-               template DEVEL
-       end
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
diff --git a/libXtst/libXtst.nm b/libXtst/libXtst.nm
deleted file mode 100644 (file)
index d249ee8..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = libXtst
-version    = 1.2.1
-release    = 1
-
-maintainer = Stefan Schantl <stefan.schantl@ipfire.org>
-groups     = X/Libraries
-url        = http://www.x.org/
-license    = MIT
-summary    = X.Org X11 libXtst runtime library.
-
-description
-       X.Org X11 libXtst development package.
-end
-
-source_dl  = http://ftp.x.org/pub/individual/lib/
-
-build
-       requires
-               libX11-devel
-               libXext-devel
-               libXi-devel
-               pkg-config
-               xorg-x11-proto-devel
-       end
-
-       configure_options += \
-               --disable-static
-end
-
-packages
-       package %{name}
-
-       package %{name}-devel
-               template DEVEL
-       end
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
diff --git a/libXv/libXv.nm b/libXv/libXv.nm
deleted file mode 100644 (file)
index 011aed0..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = libXv
-version    = 1.0.7
-release    = 1
-
-maintainer = Stefan Schantl <stefan.schantl@ipfire.org>
-groups     = X/Libraries
-url        = http://www.x.org/
-license    = MIT
-summary    = X.Org X11 libXv runtime library.
-
-
-description
-       X.Org X11 libXv runtime library.
-end
-
-source_dl  = http://ftp.x.org/pub/individual/lib/
-
-build
-       requires
-               libX11-devel
-               libXext-devel
-               pkg-config
-               xorg-x11-proto-devel
-       end
-
-       configure_options += \
-               --disable-static
-end
-
-packages
-       package %{name}
-
-       package %{name}-devel
-               template DEVEL
-       end
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
diff --git a/libXvMC/libXvMC.nm b/libXvMC/libXvMC.nm
deleted file mode 100644 (file)
index fb3bae7..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = libXvMC
-version    = 1.0.7
-release    = 1
-
-maintainer = Stefan Schantl <stefan.schantl@ipfire.org>
-groups     = X/Libraries
-url        = http://www.x.org/
-license    = MIT
-summary    = X.Org X11 libXvMC runtime library.
-
-description
-       X.Org X11 libXvMC runtime library.
-end
-
-source_dl  = http://ftp.x.org/pub/individual/lib/
-
-build
-       requires
-               libX11-devel
-               libXext-devel
-               libXv-devel
-               pkg-config
-               xorg-x11-proto-devel
-       end
-
-       configure_options += \
-               --disable-static
-end
-
-packages
-       package %{name}
-
-       package %{name}-devel
-               template DEVEL
-       end
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
diff --git a/libXxf86vm/libXxf86vm.nm b/libXxf86vm/libXxf86vm.nm
deleted file mode 100644 (file)
index cbfdb62..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = libXxf86vm
-version    = 1.1.2
-release    = 1
-
-maintainer = Stefan Schantl <stefan.schantl@ipfire.org>
-groups     = X/Libraries
-url        = http://www.x.org/
-license    = MIT
-summary    = X.Org X11 libXxf86vm runtime library.
-
-description
-       X.Org X11 libXxf86vm runtime library.
-end
-
-source_dl  = http://ftp.x.org/pub/individual/lib/
-
-build
-       requires
-               libX11-devel
-               libXext-devel
-               pkg-config
-               xorg-x11-proto-devel
-       end
-
-       configure_options += \
-               --disable-static
-end
-
-packages
-       package %{name}
-
-       package %{name}-devel
-               template DEVEL
-       end
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
index 593f51eb67cb3f8865613218c4c9bbf436d8bfd0..7298f20cc9838b0782a59b1bd1acd30962e7ac7b 100644 (file)
@@ -4,42 +4,34 @@
 ###############################################################################
 
 name       = libaio
-version    = 0.3.110
+version    = 0.3.113
 release    = 1
 
 groups     = System/Libraries
-url        = ftp://ftp.kernel.org/pub/linux/libs/aio/
+url        = https://pagure.io/libaio
 license    = LGPLv2+
-summary    = Linux-native asynchronous I/O access library.
+summary    = Linux-native asynchronous I/O access library
 
 description
-       The Linux-native asynchronous I/O facility (async I/O, or aio) \
-       has a richer API and capability set than the simple POSIX async I/O \
-       facility. This library, libaio, provides the Linux-native API for \
-       async I/O. The POSIX async I/O facility requires this library in \
-       order to provide kernel-accelerated async I/O capabilities, as do \
+       The Linux-native asynchronous I/O facility (async I/O, or aio)
+       has a richer API and capability set than the simple POSIX async I/O
+       facility. This library, libaio, provides the Linux-native API for
+       async I/O. The POSIX async I/O facility requires this library in
+       order to provide kernel-accelerated async I/O capabilities, as do
        applications which require the Linux-native async I/O API.
 end
 
-source_dl  = https://fedorahosted.org/releases/l/i/libaio/
+source_dl  = https://pagure.io/libaio/archive/%{thisapp}/
 
 build
        requires
                e2fsprogs-devel
        end
 
-       build
-               make %{PARALLELISMFLAGS} \
-                       CFLAGS="%{CFLAGS} -I. -fPIC" CC="gcc"
-       end
+       # Disable LTO
+       LTO_CFLAGS =
 
        make_install_targets += prefix=%{prefix} libdir=%{libdir} usrlibdir=%{libdir}
-
-       install_cmds
-               # Modify links to be relative
-               ln -svf libaio.so.1 %{BUILDROOT}%{libdir}/libaio.so
-               ln -svf libaio.so.1.0.1 %{BUILDROOT}%{libdir}/libaio.so.1
-       end
 end
 
 packages
diff --git a/libaio/patches/libaio-0.3.109-install-to-slash.patch b/libaio/patches/libaio-0.3.109-install-to-slash.patch
deleted file mode 100644 (file)
index 7779a9c..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-diff -up libaio-0.3.107/src/Makefile.orig libaio-0.3.107/src/Makefile
---- libaio-0.3.107/src/Makefile.orig   2009-01-20 10:07:31.520105235 -0500
-+++ libaio-0.3.107/src/Makefile        2009-01-20 10:08:51.199104930 -0500
-@@ -1,6 +1,7 @@
- prefix=/usr
--includedir=$(prefix)/include
--libdir=$(prefix)/lib
-+includedir=/usr/include
-+libdir=/usr/lib
-+usrlibdir=/usr/lib
- ARCH := $(shell uname -m | sed -e s/i.86/i386/)
- CFLAGS := -nostdlib -nostartfiles -Wall -I. -g -fomit-frame-pointer -O2 -fPIC
-@@ -51,11 +52,11 @@ $(libname): $(libaio_sobjs) libaio.map
-       $(CC) $(SO_CFLAGS) -Wl,--version-script=libaio.map -Wl,-soname=$(soname) -o $@ $(libaio_sobjs) $(LINK_FLAGS)
- install: $(all_targets)
--      install -D -m 644 libaio.h $(includedir)/libaio.h
--      install -D -m 644 libaio.a $(libdir)/libaio.a
--      install -D -m 755 $(libname) $(libdir)/$(libname)
--      ln -sf $(libname) $(libdir)/$(soname)
--      ln -sf $(libname) $(libdir)/libaio.so
-+      install -D -m 644 libaio.h $(DESTDIR)$(includedir)/libaio.h
-+      install -D -m 644 libaio.a $(DESTDIR)$(usrlibdir)/libaio.a
-+      install -D -m 755 $(libname) $(DESTDIR)$(libdir)/$(libname)
-+      ln -sf $(libdir)/$(libname) $(DESTDIR)$(libdir)/$(soname)
-+      ln -sf $(libdir)/$(libname) $(DESTDIR)$(usrlibdir)/libaio.so
- $(libaio_objs): libaio.h
index 6df62064e8f64a7d72eb270bd36f29c7a97d306f..9a8753c461cf66e1db37e3bf7c6023b36b4022c2 100644 (file)
@@ -4,11 +4,11 @@
 ###############################################################################
 
 name       = libarchive
-version    = 3.2.2
-release    = 1
+version    = 3.7.2
+release    = 1.1
 
 groups     = System/Libraries
-url        = http://www.libarchive.org/
+url        = https://www.libarchive.org/
 license    = BSD
 summary    = A library for handling streaming archive formats
 
@@ -20,7 +20,7 @@ description
        archives.
 end
 
-source_dl  = http://www.libarchive.org/downloads/
+source_dl  = https://www.libarchive.org/downloads/
 
 build
        requires
@@ -35,6 +35,7 @@ build
                openssl-devel
                xz-devel
                zlib-devel
+               zstd-devel
        end
 
        configure_options += \
@@ -43,16 +44,15 @@ build
                --disable-static \
                --disable-bsdtar \
                --disable-bsdcpio \
-               --with-bzip2 \
                --with-expat \
                --with-lzo2 \
                --with-nettle \
+               --with-xz \
                --with-zlib \
-               --without-lzmadec
+               --with-zstd
 
        test
-               # Fails immediately with SEGV
-               make check || :
+               LD_LIBRARY_PATH=$(pwd)/src/.libs make check || :
        end
 
        install_cmds
index 267cbb360979b2548c57792356dc69cc35de5d17..7c11e2a7fc6e22bd737bd166be7c035946494bc9 100644 (file)
@@ -4,13 +4,13 @@
 ###############################################################################
 
 name       = libassuan
-version    = 2.4.4
-release    = 1
+version    = 2.5.5
+release    = 2.1
 
 groups     = System/Libraries
-url        = http://www.gnupg.org/
+url        = https://www.gnupg.org/
 license    = LGPLv2+
-summary    = GnuPG IPC library.
+summary    = GnuPG IPC library
 
 description
        The Libassuan package contains an IPC library used by some of the other
@@ -21,20 +21,12 @@ description
        non-persistent servers.
 end
 
-source_dl  = ftp://ftp.gnupg.org/gcrypt/libassuan/
+source_dl  = https://www.gnupg.org/ftp/gcrypt/libassuan/
 sources    = %{thisapp}.tar.bz2
 
 build
        requires
-               autoconf
-               automake
-               libgpg-error-devel
-               libtool
-               pth-devel
-       end
-
-       prepare_cmds
-               autoreconf --install
+               libgpg-error-devel >= 1.28
        end
 end
 
index b0ebb5c15c51d70257509defdbf58b8238ccc024..fcd5d1f416213c5fa2ffafe738f0e67fca46a90f 100644 (file)
@@ -5,24 +5,29 @@
 
 name       = libatasmart
 version    = 0.19
-release    = 1
+release    = 2.2
 
 groups     = System/Statistics
-url        = http://git.0pointer.de/?p=libatasmart.git;a=summary
+url        = http://git.0pointer.net/libatasmart.git/
 license    = LGPLv2+
-summary    = ATA S.M.A.R.T. Disk Health Monitoring Library.
+summary    = ATA S.M.A.R.T. Disk Health Monitoring Library
 
 description
        A scmall and lightweight parser library for ATA S.M.A.R.T. hard disk
        health monitoring.
 end
 
-source_dl  = http://0pointer.de/public/
+source_dl  = https://0pointer.de/public/
 sources    = %{thisapp}.tar.xz
 
 build
        requires
                libudev-devel
+               libtool
+       end
+
+       prepare_cmds
+               %{MACRO_FIX_AUTOTOOLS}
        end
 end
 
diff --git a/libatomic_ops/libatomic_ops.nm b/libatomic_ops/libatomic_ops.nm
deleted file mode 100644 (file)
index 2764224..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = libatomic_ops
-version    = 7.4.4
-release    = 1
-
-groups     = Development/Tools
-url        = https://github.com/ivmai/libatomic_ops/
-license    = GPLv2, MIT
-summary    = Atomic memory update operations
-
-description
-       Provides implementations for atomic memory update operations on a
-       number of architectures. This allows direct use of these in reasonably
-       portable code. Unlike earlier similar packages, this one explicitly
-       considers memory barrier semantics, and allows the construction of code
-       that involves minimum overhead across a variety of architectures.
-end
-
-source_dl  = http://www.ivmaisoft.com/_bin/atomic_ops/
-
-build
-       configure_options += \
-               --enable-shared
-
-       test
-               export LD_LIBRARY_PATH=%{DIR_APP}/src/.libs
-               make check
-       end
-end
-
-packages
-       package %{name}
-
-       package %{name}-devel
-               template DEVEL
-       end
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
similarity index 58%
rename from libXfixes/libXfixes.nm
rename to libbpf/libbpf.nm
index 565807e9d92226369dd30ef933940e9ed39586a4..321aa0cf2f079c0472ae236e0427d0ff11d0bb2f 100644 (file)
@@ -3,31 +3,28 @@
 # Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
 ###############################################################################
 
-name       = libXfixes
-version    = 5.0
+name       = libbpf
+version    = 1.2.2
 release    = 1
 
-maintainer = Stefan Schantl <stefan.schantl@ipfire.org>
-groups     = X/Libraries
-url        = http://www.x.org/
-license    = MIT
-summary    = X Fixes library.
+groups     = System/Libraries
+url        = https://github.com/libbpf/libbpf/
+license    = LGPLv2.1
+summary    = eBPF helper library
 
 description
-       X Fixes library.
+       eBPF helper library
 end
 
-source_dl  = http://ftp.x.org/pub/individual/lib/
+source_dl  = https://github.com/libbpf/libbpf/archive/refs/tags/v%{version}.tar.gz#/
 
 build
        requires
-               libX11-devel
-               pkg-config
-               xorg-x11-proto-devel
+               elfutils-devel
+               zlib-devel
        end
 
-       configure_options += \
-               --disable-static
+       DIR_BUILD = %{DIR_APP}/src
 end
 
 packages
diff --git a/libburn/libburn.nm b/libburn/libburn.nm
new file mode 100644 (file)
index 0000000..24c375c
--- /dev/null
@@ -0,0 +1,38 @@
+###############################################################################
+# IPFire.org    - An Open Source Firewall Solution                            #
+# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
+###############################################################################
+
+name       = libburn
+version    = 1.5.4
+release    = 1.1
+
+groups     = System/Filesystems
+url        = https://libburnia-project.org/
+license    = GPLv2+
+summary    = Library to enable creation and expansion of ISO-9660 filesystems
+
+description
+       Libburn is a library by which preformatted data get onto optical media:
+       CD, DVD and BD (Blu-Ray). It also offers a facility for reading data
+       blocks from its drives without using the normal block device I/O, which
+       has advantages and disadvantages. It seems appropriate, nevertheless,
+       to do writing and reading via same channel. On several Linux systems,
+       the block device driver needs reloading of the drive tray in order to
+       make available freshly written data. The libburn read function does not
+       need such a reload. The code of libburn is independent of cdrecord.
+end
+
+source_dl = http://files.libburnia-project.org/releases/
+
+packages
+       package %{name}
+
+       package %{name}-devel
+               template DEVEL
+       end
+
+       package %{name}-debuginfo
+               template DEBUGINFO
+       end
+end
index ddc640d0622988125b20fc5d204373fe1f921235..4db224a9a599836b6db09ce8eca3580a1b633c27 100644 (file)
@@ -4,11 +4,11 @@
 ###############################################################################
 
 name       = libcap-ng
-version    = 0.7.9
-release    = 1
+version    = 0.8.3
+release    = 1.1
 
 groups     = System/Libraries
-url        = http://people.redhat.com/sgrubb/libcap-ng
+url        = https://people.redhat.com/sgrubb/libcap-ng
 license    = LGPLv2+
 summary    = An alternate posix capabilities library.
 
@@ -17,12 +17,11 @@ description
        easier.
 end
 
-source_dl  = http://people.redhat.com/sgrubb/libcap-ng/
+source_dl  = https://people.redhat.com/sgrubb/libcap-ng/
 
 build
        requires
                libattr-devel
-               python
        end
 
        test
index d0d33dd620bdd4f3780b4a3eb38935b31cb52f52..1b3f27d0e84c0391659e9c35176155d4877d50f7 100644 (file)
@@ -4,7 +4,7 @@
 ###############################################################################
 
 name       = libcap
-version    = 2.25
+version    = 2.66
 release    = 2
 
 groups     = System/Libraries
@@ -17,7 +17,7 @@ description
        draft 15 capabilities.
 end
 
-source_dl  = %{url}
+source_dl  = https://mirrors.edge.kernel.org/pub/linux/libs/security/linux-privs/libcap2/
 sources    = %{thisapp}.tar.gz
 
 build
@@ -28,6 +28,10 @@ build
                /bin/ping
        end
 
+       CFLAGS += \
+               -fno-builtin-exit \
+               -D__noreturn__=
+
        build
                make DYNAMIC=yes LIBATTR=yes \
                        CFLAGS="%{CFLAGS}" LDFLAGS="%{LDFLAGS}"
diff --git a/libcap/patches/libcap-cflags.patch b/libcap/patches/libcap-cflags.patch
new file mode 100644 (file)
index 0000000..d77eefb
--- /dev/null
@@ -0,0 +1,12 @@
+diff -Nur a/Make.Rules b/Make.Rules
+--- a/Make.Rules       2022-09-24 20:41:21.000000000 +0000
++++ b/Make.Rules       2023-03-10 16:22:35.826124239 +0000
+@@ -80,7 +80,7 @@
+ WARNINGS=-Wall -Wwrite-strings -Wpointer-arith -Wcast-qual -Wcast-align \
+       -Wstrict-prototypes -Wmissing-prototypes -Wnested-externs       \
+       -Winline -Wshadow -Wunreachable-code
+-COPTS ?= -O2
++COPTS ?= $(CFLAGS)
+ CFLAGS ?= $(COPTS) $(DEBUG)
+ CFLAGS += $(WARNINGS)
+ CPPFLAGS += -Dlinux $(DEFINES) $(LIBCAP_INCLUDES)
diff --git a/libcgroup/libcgroup.nm b/libcgroup/libcgroup.nm
deleted file mode 100644 (file)
index cf55450..0000000
+++ /dev/null
@@ -1,54 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = libcgroup
-version    = 0.41
-release    = 1
-
-groups     = Development/Libraries
-url        = http://libcg.sourceforge.net/
-license    = LGPLv2+
-summary    = Tools and libraries to control and monitor control groups.
-
-description
-       Control groups infrastructure. The tools and library help manipulate, \
-       control, administrate and monitor control groups and the associated \
-       controllers.
-end
-
-source_dl  = https://sourceforge.net/projects/libcg/files/libcgroup/v0.41/
-sources    = %{thisapp}.tar.gz
-
-build
-       requires
-               bison
-               gcc-c++
-               flex
-       end
-
-       configure_options += \
-               --disable-pam \
-               --disable-tools \
-               --disable-daemon
-
-       # The testsuite is disabled because it does not
-       # run very smoothly in PBS.
-
-       install_cmds
-               rm -rf %{BUILDROOT}/etc
-       end
-end
-
-packages
-       package %{name}
-
-       package %{name}-devel
-               template DEVEL
-       end
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
index 84ebf82e56b7abc0d25899bd505b9c32e14fb917..f1326abcca3d634017bf0ea8d9b58b5de97265fd 100644 (file)
@@ -5,28 +5,31 @@
 
 name       = libdaemon
 version    = 0.14
-release    = 1
+release    = 1.1
 
 groups     = System/Libraries
-url        = http://0pointer.de/lennart/projects/libdaemon/
+url        = https://0pointer.de/lennart/projects/libdaemon/
 license    = LGPLv2+
-summary    = Library for writing UNIX daemons.
+summary    = Library for writing UNIX daemons
 
 description
        libdaemon is a lightweight C library which eases the writing of UNIX daemons.
 end
 
-source_dl  =
+source_dl  = https://0pointer.de/lennart/projects/libdaemon/
 
 build
-       configure_options += \
-               --bindir=/bin \
-               --mandir=/usr/share/man
+       requires
+               libtool
+       end
+
+       prepare_cmds
+               %{MACRO_FIX_AUTOTOOLS}
+       end
 end
 
 packages
        package %{name}
-       end
 
        package %{name}-devel
                template DEVEL
diff --git a/libdaq/libdaq.nm b/libdaq/libdaq.nm
new file mode 100644 (file)
index 0000000..9b8c774
--- /dev/null
@@ -0,0 +1,68 @@
+###############################################################################
+# IPFire.org    - An Open Source Firewall Solution                            #
+# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
+###############################################################################
+
+name       = libdaq
+version    = 3.0.10
+release    = 2.1
+
+groups     = System/Libraries
+url        = https://github.com/snort3/libdaq
+license    = GPLv2
+summary    = LibDAQ: The Data AcQuisition Library
+
+description
+       LibDAQ is a pluggable abstraction layer for interacting with a data
+       source (traditionally a network interface or network data plane).
+       Applications using LibDAQ use the library API defined in daq.h to load,
+       configure, and interact with pluggable DAQ modules.
+end
+
+source_dl  = https://github.com/snort3/libdaq/archive/refs/tags/v%{version}.tar.gz#/
+
+build
+       requires
+               autoconf
+               automake
+               cmocka-devel
+               libdnet-devel
+               libmnl-devel
+               libnetfilter_queue-devel
+               libpcap-devel
+               libtool
+       end
+
+       prepare_cmds
+               ./bootstrap
+       end
+
+       configure_options += \
+               --disable-static
+
+       # TODO Sadly the testsuite does not compile:
+       # /usr/bin/ld: ../api/.libs/libdaq.a(libdaq_la-daq_base.o): in function `daq_load_dynamic_module':
+       # /usr/src/debug/libdaq-3.0.10/api/daq_base.c:207: undefined reference to `__wrap_stat'
+
+       test
+               make check || :
+       end
+
+       install_cmds
+               # Remove all static libraries
+               rm -rvf %{BUILDROOT}%{libdir}/*.a
+               rm -rvf %{BUILDROOT}%{libdir}/pkgconfig/libdaq_static*.pc
+       end
+end
+
+packages
+       package %{name}
+
+       package %{name}-devel
+               template DEVEL
+       end
+
+       package %{name}-debuginfo
+               template DEBUGINFO
+       end
+end
diff --git a/libdatrie/libdatrie.nm b/libdatrie/libdatrie.nm
new file mode 100644 (file)
index 0000000..2ac724b
--- /dev/null
@@ -0,0 +1,42 @@
+###############################################################################
+# IPFire.org    - An Open Source Firewall Solution                            #
+# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
+###############################################################################
+
+name       = libdatrie
+version    = 0.2.13
+release    = 1.1
+
+groups     = System/Libraries
+url        = https://linux.thai.net/projects/datrie
+license    = LGPLv2+
+summary    = Implementation of Double-Array structure for representing trie
+
+description
+       datrie is an implementation of double-array structure for representing trie.
+       Trie is a kind of digital search tree, an efficient indexing method with O(1) 
+       time complexity for searching. Comparably as efficient as hashing, trie also 
+       provides flexibility on incremental matching and key spelling manipulation. 
+       This makes it ideal for lexical analyzers, as well as spelling dictionaries.
+end
+
+source_dl  = https://linux.thai.net/pub/thailinux/software/libthai/
+sources    = %{thisapp}.tar.xz
+
+build
+       test
+               LD_LIBRARY_PATH=%{DIR_APP}/datrie/.libs make check
+       end
+end
+
+packages
+       package %{name}
+
+       package %{name}-devel
+               template DEVEL
+       end
+
+       package %{name}-debuginfo
+               template DEBUGINFO
+       end
+end
index 7b7a3a940e99c80d79ad7e7ea4e095d08a7e6bb4..13c2c91a59d777a9d9bcedb99bb5ba38eef613cb 100644 (file)
@@ -8,7 +8,7 @@ version_major = 6
 version_minor = 1
 version_patch = 26
 version    = %{version_major}.%{version_minor}.%{version_patch}
-release    = 2
+release    = 5
 thisapp    = db-%{version}
 
 soversion  = %{version_major}.%{version_minor}
@@ -29,9 +29,9 @@ source_dl  = http://download.oracle.com/berkeley-db/
 build
        requires
                automake
-               chrpath
                gcc-c++
                libtool
+               patchelf
                perl
                zlib-devel
        end
@@ -65,12 +65,13 @@ build
                --enable-cxx \
                --enable-sql \
                --disable-static \
-               --disable-rpath
+               --disable-rpath \
+               STRIP=:
 
        install_cmds
                # Remove RPATH in all binaries.
                for i in %{BUILDROOT}%{bindir}/*; do
-                       chrpath --delete ${i}
+                       patchelf --remove-rpath ${i}
                done
 
                # Remove documentation which is very big.
@@ -84,6 +85,14 @@ build
                for i in db.h db_cxx.h db_185.h; do
                        ln -svf %{name}/${i} %{BUILDROOT}/%{includedir}
                done
+
+               # Fix binary permissions.
+               find %{BUILDROOT}%{bindir} -type f -executable \
+                        -exec chmod 755 {} \;
+
+               # Fix header permissions.
+               find %{BUILDROOT}%{includedir} -type f -iname "*.h" \
+                       -exec chmod 644 {} \;
        end
 end
 
index 65036b3933e09cdd65bbdf556eb30e48ae7e5105..461923c7dce9a4ef21816f371c55d72e448a6498 100644 (file)
@@ -4,39 +4,35 @@
 ###############################################################################
 
 name       = libdnet
-version    = 1.12
-release    = 1
+version    = 1.16.1
+release    = 1.1
+thisapp    = libdnet-libdnet-%{version}
 
 groups     = System/Libraries
-url        = http://code.google.com/p/libdnet/
+url        = https://github.com/ofalk/libdnet
 license    = BSD
-summary    = Simple portable interface to lowlevel networking routines.
+summary    = Simple portable interface to lowlevel networking routines
 
 description
-       libdnet provides a simplified, portable interface to several \
-       low-level networking routines, including network address \
-       manipulation, kernel arp(4) cache and route(4) table lookup and \
-       manipulation, network firewalling (IP filter, ipfw, ipchains, \
-       pf, ...), network interface lookup and manipulation, raw IP \
+       libdnet provides a simplified, portable interface to several
+       low-level networking routines, including network address
+       manipulation, kernel arp(4) cache and route(4) table lookup and
+       manipulation, network firewalling (IP filter, ipfw, ipchains,
+       pf, ...), network interface lookup and manipulation, raw IP
        packet and Ethernet frame, and data transmission.
 end
 
-source_dl  =
-sources    = %{thisapp}.tgz
+source_dl  = https://github.com/ofalk/libdnet/archive/refs/tags/libdnet-%{version}.tar.gz#/
 
 build
        requires
+               check-devel
                gcc-c++
        end
-
-       configure_options += \
-               --sbindir=/sbin \
-               --mandir=/usr/share
 end
 
 packages
        package %{name}
-       end
 
        package %{name}-devel
                template DEVEL
diff --git a/libdnet/patches/libdnet-1.12-shrext.patch b/libdnet/patches/libdnet-1.12-shrext.patch
deleted file mode 100644 (file)
index 6d8df23..0000000
+++ /dev/null
@@ -1,327 +0,0 @@
-diff -urN libdnet-1.12/configure libdnet-1.12-patched/configure
---- libdnet-1.12/configure     2007-01-20 05:39:54.000000000 -0600
-+++ libdnet-1.12-patched/configure     2007-02-15 09:06:27.000000000 -0600
-@@ -7053,7 +7053,7 @@
-       # Tell ltmain to make .lib files, not .a files.
-       libext=lib
-       # Tell ltmain to make .dll files, not .so files.
--      shrext=".dll"
-+      shrext_cmds=".dll"
-       # FIXME: Setting linknames here is a bad hack.
-       archive_cmds='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll${_S_}linknames='
-       # The linker will automatically build a .lib file if we build a DLL.
-@@ -7580,7 +7580,7 @@
- library_names_spec=
- libname_spec='lib$name'
- soname_spec=
--shrext=".so"
-+shrext_cmds=".so"
- postinstall_cmds=
- postuninstall_cmds=
- finish_cmds=
-@@ -7693,7 +7693,7 @@
- cygwin* | mingw* | pw32*)
-   version_type=windows
--  shrext=".dll"
-+  shrext_cmds=".dll"
-   need_version=no
-   need_lib_prefix=no
-@@ -7761,7 +7761,7 @@
-   soname_spec='${libname}${release}${major}$shared_ext'
-   shlibpath_overrides_runpath=yes
-   shlibpath_var=DYLD_LIBRARY_PATH
--  shrext='$(test .$module = .yes && echo .so || echo .dylib)'
-+  shrext_cmds='$(test .$module = .yes && echo .so || echo .dylib)'
-   # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same.
-   if $CC -v 2>&1 | grep 'Apple' >/dev/null ; then
-   sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"`
-@@ -7830,7 +7830,7 @@
-   need_version=no
-   case "$host_cpu" in
-   ia64*)
--    shrext='.so'
-+    shrext_cmds='.so'
-     hardcode_into_libs=yes
-     dynamic_linker="$host_os dld.so"
-     shlibpath_var=LD_LIBRARY_PATH
-@@ -7845,7 +7845,7 @@
-     sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
-     ;;
-    hppa*64*)
--     shrext='.sl'
-+     shrext_cmds='.sl'
-      hardcode_into_libs=yes
-      dynamic_linker="$host_os dld.sl"
-      shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
-@@ -7856,7 +7856,7 @@
-      sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
-      ;;
-    *)
--    shrext='.sl'
-+    shrext_cmds='.sl'
-     dynamic_linker="$host_os dld.sl"
-     shlibpath_var=SHLIB_PATH
-     shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
-@@ -7992,7 +7992,7 @@
- os2*)
-   libname_spec='$name'
--  shrext=".dll"
-+  shrext_cmds=".dll"
-   need_lib_prefix=no
-   library_names_spec='$libname${shared_ext} $libname.a'
-   dynamic_linker='OS/2 ld.exe'
-@@ -9201,7 +9201,7 @@
- libext="$libext"
- # Shared library suffix (normally ".so").
--shrext='$shrext'
-+shrext_cmds='$shrext_cmds'
- # Executable file suffix (normally "").
- exeext="$exeext"
-@@ -11257,7 +11257,7 @@
- library_names_spec=
- libname_spec='lib$name'
- soname_spec=
--shrext=".so"
-+shrext_cmds=".so"
- postinstall_cmds=
- postuninstall_cmds=
- finish_cmds=
-@@ -11370,7 +11370,7 @@
- cygwin* | mingw* | pw32*)
-   version_type=windows
--  shrext=".dll"
-+  shrext_cmds=".dll"
-   need_version=no
-   need_lib_prefix=no
-@@ -11438,7 +11438,7 @@
-   soname_spec='${libname}${release}${major}$shared_ext'
-   shlibpath_overrides_runpath=yes
-   shlibpath_var=DYLD_LIBRARY_PATH
--  shrext='$(test .$module = .yes && echo .so || echo .dylib)'
-+  shrext_cmds='$(test .$module = .yes && echo .so || echo .dylib)'
-   # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same.
-   if $CC -v 2>&1 | grep 'Apple' >/dev/null ; then
-   sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"`
-@@ -11507,7 +11507,7 @@
-   need_version=no
-   case "$host_cpu" in
-   ia64*)
--    shrext='.so'
-+    shrext_cmds='.so'
-     hardcode_into_libs=yes
-     dynamic_linker="$host_os dld.so"
-     shlibpath_var=LD_LIBRARY_PATH
-@@ -11522,7 +11522,7 @@
-     sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
-     ;;
-    hppa*64*)
--     shrext='.sl'
-+     shrext_cmds='.sl'
-      hardcode_into_libs=yes
-      dynamic_linker="$host_os dld.sl"
-      shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
-@@ -11533,7 +11533,7 @@
-      sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
-      ;;
-    *)
--    shrext='.sl'
-+    shrext_cmds='.sl'
-     dynamic_linker="$host_os dld.sl"
-     shlibpath_var=SHLIB_PATH
-     shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
-@@ -11669,7 +11669,7 @@
- os2*)
-   libname_spec='$name'
--  shrext=".dll"
-+  shrext_cmds=".dll"
-   need_lib_prefix=no
-   library_names_spec='$libname${shared_ext} $libname.a'
-   dynamic_linker='OS/2 ld.exe'
-@@ -12751,7 +12751,7 @@
- libext="$libext"
- # Shared library suffix (normally ".so").
--shrext='$shrext'
-+shrext_cmds='$shrext_cmds'
- # Executable file suffix (normally "").
- exeext="$exeext"
-@@ -13832,7 +13832,7 @@
-       # Tell ltmain to make .lib files, not .a files.
-       libext=lib
-       # Tell ltmain to make .dll files, not .so files.
--      shrext=".dll"
-+      shrext_cmds=".dll"
-       # FIXME: Setting linknames here is a bad hack.
-       archive_cmds_F77='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll${_S_}linknames='
-       # The linker will automatically build a .lib file if we build a DLL.
-@@ -14359,7 +14359,7 @@
- library_names_spec=
- libname_spec='lib$name'
- soname_spec=
--shrext=".so"
-+shrext_cmds=".so"
- postinstall_cmds=
- postuninstall_cmds=
- finish_cmds=
-@@ -14472,7 +14472,7 @@
- cygwin* | mingw* | pw32*)
-   version_type=windows
--  shrext=".dll"
-+  shrext_cmds=".dll"
-   need_version=no
-   need_lib_prefix=no
-@@ -14540,7 +14540,7 @@
-   soname_spec='${libname}${release}${major}$shared_ext'
-   shlibpath_overrides_runpath=yes
-   shlibpath_var=DYLD_LIBRARY_PATH
--  shrext='$(test .$module = .yes && echo .so || echo .dylib)'
-+  shrext_cmds='$(test .$module = .yes && echo .so || echo .dylib)'
-   # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same.
-   if $CC -v 2>&1 | grep 'Apple' >/dev/null ; then
-   sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"`
-@@ -14609,7 +14609,7 @@
-   need_version=no
-   case "$host_cpu" in
-   ia64*)
--    shrext='.so'
-+    shrext_cmds='.so'
-     hardcode_into_libs=yes
-     dynamic_linker="$host_os dld.so"
-     shlibpath_var=LD_LIBRARY_PATH
-@@ -14624,7 +14624,7 @@
-     sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
-     ;;
-    hppa*64*)
--     shrext='.sl'
-+     shrext_cmds='.sl'
-      hardcode_into_libs=yes
-      dynamic_linker="$host_os dld.sl"
-      shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
-@@ -14635,7 +14635,7 @@
-      sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
-      ;;
-    *)
--    shrext='.sl'
-+    shrext_cmds='.sl'
-     dynamic_linker="$host_os dld.sl"
-     shlibpath_var=SHLIB_PATH
-     shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
-@@ -14771,7 +14771,7 @@
- os2*)
-   libname_spec='$name'
--  shrext=".dll"
-+  shrext_cmds=".dll"
-   need_lib_prefix=no
-   library_names_spec='$libname${shared_ext} $libname.a'
-   dynamic_linker='OS/2 ld.exe'
-@@ -15047,7 +15047,7 @@
- libext="$libext"
- # Shared library suffix (normally ".so").
--shrext='$shrext'
-+shrext_cmds='$shrext_cmds'
- # Executable file suffix (normally "").
- exeext="$exeext"
-@@ -16130,7 +16130,7 @@
-       # Tell ltmain to make .lib files, not .a files.
-       libext=lib
-       # Tell ltmain to make .dll files, not .so files.
--      shrext=".dll"
-+      shrext_cmds=".dll"
-       # FIXME: Setting linknames here is a bad hack.
-       archive_cmds_GCJ='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll${_S_}linknames='
-       # The linker will automatically build a .lib file if we build a DLL.
-@@ -16657,7 +16657,7 @@
- library_names_spec=
- libname_spec='lib$name'
- soname_spec=
--shrext=".so"
-+shrext_cmds=".so"
- postinstall_cmds=
- postuninstall_cmds=
- finish_cmds=
-@@ -16770,7 +16770,7 @@
- cygwin* | mingw* | pw32*)
-   version_type=windows
--  shrext=".dll"
-+  shrext_cmds=".dll"
-   need_version=no
-   need_lib_prefix=no
-@@ -16838,7 +16838,7 @@
-   soname_spec='${libname}${release}${major}$shared_ext'
-   shlibpath_overrides_runpath=yes
-   shlibpath_var=DYLD_LIBRARY_PATH
--  shrext='$(test .$module = .yes && echo .so || echo .dylib)'
-+  shrext_cmds='$(test .$module = .yes && echo .so || echo .dylib)'
-   # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same.
-   if $CC -v 2>&1 | grep 'Apple' >/dev/null ; then
-   sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"`
-@@ -16907,7 +16907,7 @@
-   need_version=no
-   case "$host_cpu" in
-   ia64*)
--    shrext='.so'
-+    shrext_cmds='.so'
-     hardcode_into_libs=yes
-     dynamic_linker="$host_os dld.so"
-     shlibpath_var=LD_LIBRARY_PATH
-@@ -16922,7 +16922,7 @@
-     sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
-     ;;
-    hppa*64*)
--     shrext='.sl'
-+     shrext_cmds='.sl'
-      hardcode_into_libs=yes
-      dynamic_linker="$host_os dld.sl"
-      shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
-@@ -16933,7 +16933,7 @@
-      sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
-      ;;
-    *)
--    shrext='.sl'
-+    shrext_cmds='.sl'
-     dynamic_linker="$host_os dld.sl"
-     shlibpath_var=SHLIB_PATH
-     shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
-@@ -17069,7 +17069,7 @@
- os2*)
-   libname_spec='$name'
--  shrext=".dll"
-+  shrext_cmds=".dll"
-   need_lib_prefix=no
-   library_names_spec='$libname${shared_ext} $libname.a'
-   dynamic_linker='OS/2 ld.exe'
-@@ -18151,7 +18151,7 @@
- libext="$libext"
- # Shared library suffix (normally ".so").
--shrext='$shrext'
-+shrext_cmds='$shrext_cmds'
- # Executable file suffix (normally "").
- exeext="$exeext"
-@@ -18595,7 +18595,7 @@
- libext="$libext"
- # Shared library suffix (normally ".so").
--shrext='$shrext'
-+shrext_cmds='$shrext_cmds'
- # Executable file suffix (normally "").
- exeext="$exeext"
index 39f56e14bba70b6c3bc1c80cb1ae2a994508bddc..89a5b8c514aad98b77adb2ae20a68b67773f831a 100644 (file)
@@ -4,21 +4,21 @@
 ###############################################################################
 
 name       = libdrm
-version    = 2.4.40
+version    = 2.4.116
 release    = 1
 
 maintainer = Stefan Schantl <stefan.schantl@ipfire.org>
 groups     = X/Libraries
-url        = http://dri.freedesktop.org/libdrm/
+url        = https://dri.freedesktop.org/libdrm/
 license    = MIT
-summary    = Direct Rendering Manager runtime library.
+summary    = Direct Rendering Manager runtime library
 
 description
        Direct Rendering Manager runtime library.
 end
 
 source_dl  = %{url}
-sources    = %{thisapp}.tar.bz2
+sources    = %{thisapp}.tar.xz
 
 build
        requires
@@ -27,24 +27,23 @@ build
                cairo-devel
                libpciaccess-devel
                libtool
-               libxcb-devel
+               meson
                pkg-config
                libudev-devel
        end
 
-       configure_options += \
-               --enable-udev \
-               --enable-libkms \
-               --enable-nouveau-experimental-api \
-               --disable-static
+       build
+               %{meson} \
+                       -Dman-pages=disabled \
+                       -Dvalgrind=disabled
 
-       prepare_cmds
-               sed -e "s/pthread-stubs//g" -i configure.ac
-               sed -e "s/PKG_CHECK_MODULES(PTHREADSTUBS, )//g" -i configure.ac
-               autoreconf -v --install
+               %{meson_build}
        end
 
-       install_cmds
+       install
+               %{meson_install}
+
+               # Install udev rules
                mkdir -pv %{BUILDROOT}%{prefix}/lib/udev/rules.d/
                install -m 644 %{DIR_SOURCE}/91-drm-modeset.rules \
                        %{BUILDROOT}%{prefix}/lib/udev/rules.d/
diff --git a/libdrm/patches/libdrm-2.4.0-no-bc.patch b/libdrm/patches/libdrm-2.4.0-no-bc.patch
deleted file mode 100644 (file)
index ad14e21..0000000
+++ /dev/null
@@ -1,54 +0,0 @@
-diff -up libdrm-20080814/xf86drm.c.no-bc libdrm-20080814/xf86drm.c
---- libdrm-20080814/xf86drm.c.no-bc    2008-08-14 15:43:09.000000000 +1000
-+++ libdrm-20080814/xf86drm.c  2008-08-14 15:45:09.000000000 +1000
-@@ -396,11 +396,6 @@ int drmAvailable(void)
-     int           fd;
-     if ((fd = drmOpenMinor(0, 1, DRM_NODE_RENDER)) < 0) {
--#ifdef __linux__
--      /* Try proc for backward Linux compatibility */
--      if (!access("/proc/dri/0", R_OK))
--          return 1;
--#endif
-       return 0;
-     }
-     
-@@ -519,38 +514,6 @@ static int drmOpenByName(const char *nam
-       }
-     }
--#ifdef __linux__
--    /* Backward-compatibility /proc support */
--    for (i = 0; i < 8; i++) {
--      char proc_name[64], buf[512];
--      char *driver, *pt, *devstring;
--      int  retcode;
--      
--      sprintf(proc_name, "/proc/dri/%d/name", i);
--      if ((fd = open(proc_name, 0, 0)) >= 0) {
--          retcode = read(fd, buf, sizeof(buf)-1);
--          close(fd);
--          if (retcode) {
--              buf[retcode-1] = '\0';
--              for (driver = pt = buf; *pt && *pt != ' '; ++pt)
--                  ;
--              if (*pt) { /* Device is next */
--                  *pt = '\0';
--                  if (!strcmp(driver, name)) { /* Match */
--                      for (devstring = ++pt; *pt && *pt != ' '; ++pt)
--                          ;
--                      if (*pt) { /* Found busid */
--                          return drmOpenByBusid(++pt);
--                      } else { /* No busid */
--                          return drmOpenDevice(strtol(devstring, NULL, 0),i, DRM_NODE_RENDER);
--                      }
--                  }
--              }
--          }
--      }
--    }
--#endif
--
-     return -1;
- }
diff --git a/libdrm/patches/libdrm-make-dri-perms-okay.patch b/libdrm/patches/libdrm-make-dri-perms-okay.patch
deleted file mode 100644 (file)
index 0d82319..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -up libdrm-20080303/xf86drm.h.da libdrm-20080303/xf86drm.h
---- libdrm-20080303/xf86drm.h.da       2008-03-19 15:26:31.000000000 +1000
-+++ libdrm-20080303/xf86drm.h  2008-03-19 15:26:46.000000000 +1000
-@@ -45,7 +45,7 @@
- /* Default /dev/dri directory permissions 0755 */
- #define DRM_DEV_DIRMODE               \
-       (S_IRUSR|S_IWUSR|S_IXUSR|S_IRGRP|S_IXGRP|S_IROTH|S_IXOTH)
--#define DRM_DEV_MODE   (S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP)
-+#define DRM_DEV_MODE   (S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP|S_IROTH|S_IWOTH)
- #define DRM_DIR_NAME  "/dev/dri"
- #define DRM_DEV_NAME  "%s/card%d"
index 831a943d8ad799092dd59bfe0089f61d5ccff803..52c017e4696226acf3b62c6a1af45b726b83199f 100644 (file)
@@ -5,12 +5,12 @@
 
 name       = libedit
 version    = 3.1-%{version_date}
-version_date = 20190324
-release    = 1
+version_date = 20221030
+release    = 1.1
 thisapp    = %{name}-%{version_date}-3.1
 
 groups     = System/Libraries
-url        = http://www.thrysoee.dk/editline/
+url        = https://www.thrysoee.dk/editline/
 license    = BSD
 summary    = The NetBSD Editline library.
 
@@ -27,9 +27,6 @@ build
                ncurses-devel
        end
 
-       # The timestamp in the tarball differs from the name
-       DIR_APP = %{DIR_SRC}/%{name}-20190324-3.1
-
        configure_options += \
                --disable-static \
                --enable-widec
diff --git a/libepoxy/libepoxy.nm b/libepoxy/libepoxy.nm
deleted file mode 100644 (file)
index b7729ac..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = libepoxy
-version    = 1.3.1
-release    = 1
-
-groups     = System/Libraries
-url        = https://github.com/anholt/libepoxy
-license    = MIT
-summary    = Epoxy is a library for handling OpenGL function pointer management
-
-description
-       Epoxy is a library for handling OpenGL function pointer management for you.
-
-       It hides the complexity of dlopen(), dlsym(), glXGetProcAddress(),
-       eglGetProcAddress(), etc. from the app developer, with very little
-       knowledge needed on their part. They get to read GL specs and write
-       code using undecorated function names like glCompileShader().
-end
-
-source_dl  = https://github.com/anholt/libepoxy/releases/download/v%{version}/
-sources    = %{thisapp}.tar.bz2
-
-build
-       requires
-               libEGL-devel
-               xorg-x11-util-macros
-       end
-end
-
-packages
-       package %{name}
-
-       package %{name}-devel
-               template DEVEL
-       end
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
index f2c8ef13a5ad3e5a37662406f6ec5f17ed650b48..fb86efd4ba923bf7e4262172b130574066f73231 100644 (file)
@@ -4,13 +4,14 @@
 ###############################################################################
 
 name       = libevent
-version    = 2.0.22
-release    = 2.1
+version    = 2.1.12
+release    = 1.2
+thisapp    = %{name}-%{version}-stable
 
 groups     = Development/Tools
-url        = http://libevent.org
+url        = https://libevent.org
 license    = BSD
-summary    = Abstract asynchronous event notification library.
+summary    = Abstract asynchronous event notification library
 
 description
        The libevent API provides a mechanism to execute a callback
@@ -22,15 +23,18 @@ description
        change the event loop.
 end
 
-source_dl  = http://sourceforge.net/projects/levent/files/%{name}/libevent-2.0/
-sources    = %{thisapp}-stable.tar.gz
+source_dl  = https://github.com/libevent/libevent/releases/download/release-%{version}-stable/
 
 build
-       DIR_APP = %{DIR_SRC}/%{thisapp}-stable
-
        requires
                openssl-devel
        end
+
+       prepare_cmds
+               # Run event_rpcgen.py using Python 3
+               sed -i event_rpcgen.py \
+                       -e "s@^#!.*@#!%{bindir}/python3@"
+       end
 end
 
 packages
index 69906111171b74a0a7562efdd359ed94f1ce62b3..4b98cb17def16750be0a43dcebe127e78e966204 100644 (file)
@@ -4,11 +4,11 @@
 ###############################################################################
 
 name       = libffi
-version    = 3.2.1
-release    = 1
+version    = 3.4.4
+release    = 1.1
 
 groups     = System/Libraries
-url        = http://sourceware.org/libffi
+url        = https://sourceware.org/libffi
 license    = BSD
 summary    = A portable foreign function interface library.
 
@@ -18,17 +18,17 @@ description
        call any function specified by a call interface description at run time.
 end
 
-source_dl  = ftp://sourceware.org/pub/libffi/
+source_dl  = https://github.com/libffi/libffi/releases/download/v%{version}/
 
 build
        prepare_cmds
                # Fix include directories.
-               sed -e '/^includesdir/ s/$(libdir).*$/$(includedir)/' \
-                       -i include/Makefile.in
+               #ised -e '/^includesdir/ s/$(libdir).*$/$(includedir)/' \
+               #       -i include/Makefile.in
 
-               sed -e '/^includedir/ s/=.*$/=@includedir@/' \
-                       -e 's/^Cflags: -I${includedir}/Cflags:/' \
-                       -i libffi.pc.in
+               #sed -e '/^includedir/ s/=.*$/=@includedir@/' \
+               #       -e 's/^Cflags: -I${includedir}/Cflags:/' \
+               #       -i libffi.pc.in
        end
 end
 
@@ -38,7 +38,7 @@ packages
        package %{name}-devel
                template DEVEL
 
-               files += /usr/lib*/libffi-%{version}
+               files += %{libdir}/libffi-%{version}
        end
 
        package %{name}-debuginfo
diff --git a/libfontenc/libfontenc.nm b/libfontenc/libfontenc.nm
deleted file mode 100644 (file)
index 25577a0..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = libfontenc
-version    = 1.1.3
-release    = 1
-
-maintainer = Stefan Schantl <stefan.schantl@ipfire.org>
-groups     = X/Libraries
-url        = http://www.x.org/
-license    = MIT
-summary    = X.Org X11 libfontenc runtime library.
-
-description
-       X.Org X11 libfontenc runtime library.
-end
-
-source_dl  = http://ftp.x.org/pub/individual/lib/
-
-build
-       requires
-               pkg-config
-               xorg-x11-proto-devel
-               zlib-devel
-       end
-
-       configure_options += \
-               --disable-static
-end
-
-packages
-       package %{name}
-
-       package %{name}-devel
-               template DEVEL
-       end
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
index 7c322c05aa4abe6488298ae93c3e6bd959ceea27..1a166de4ed7716803f580295d582b988ba7dc9b3 100644 (file)
@@ -4,21 +4,21 @@
 ###############################################################################
 
 name       = libgcrypt
-version    = 1.8.1
-release    = 2
+version    = 1.10.2
+release    = 1
 
 groups     = System/Libraries
-url        = http://www.gnupg.org/
+url        = https://www.gnupg.org/
 license    = LGPLv2.1+
-summary    = A general-purpose cryptography library.
+summary    = A general-purpose cryptography library
 
 
 description
-       Libgcrypt is a general purpose crypto library based on the code used \
+       Libgcrypt is a general purpose crypto library based on the code used
        in GNU Privacy Guard.
 end
 
-source_dl  = ftp://ftp.gnupg.org/gcrypt/libgcrypt/
+source_dl  = https://www.gnupg.org/ftp/gcrypt/libgcrypt/
 sources    = %{thisapp}.tar.bz2
 
 build
index 4d2b48ca15e955b91692125db20769da0d5da5cf..441d752ed4684fcc43f2cd2fc1cdc7299b8f35ab 100644 (file)
@@ -4,26 +4,27 @@
 ###############################################################################
 
 name       = libgpg-error
-version    = 1.27
-release    = 1
+version    = 1.46
+release    = 1.1
 
 groups     = System/Libraries
-url        = http://www.gnupg.org/
+url        = https://www.gnupg.org/
 license    = LGPLv2+
 summary    = Library for error values used by GnuPG components.
 
 description
-       This is a library that defines common error values for all GnuPG \
-       components. Among these are GPG, GPGSM, GPGME, GPG-Agent, libgcrypt, \
+       This is a library that defines common error values for all GnuPG
+       components. Among these are GPG, GPGSM, GPGME, GPG-Agent, libgcrypt,
        pinentry, SmartCard Daemon and possibly more in the future.
 end
 
-source_dl  = ftp://ftp.gnupg.org/gcrypt/libgpg-error/
+source_dl  = https://www.gnupg.org/ftp/gcrypt/libgpg-error/
 sources    = %{thisapp}.tar.bz2
 
 build
        requires
                gcc-c++
+               readline-devel
        end
 end
 
diff --git a/libgssglue/libgssglue.nm b/libgssglue/libgssglue.nm
deleted file mode 100644 (file)
index 97691ec..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = libgssglue
-version    = 0.4
-release    = 1
-
-groups     = Development/Tools
-url        = http://www.citi.umich.edu/projects/nfsv4/linux/
-license    = BSD
-summary    = This library exports a gssapi interface.
-
-description
-       This library exports a gssapi interface, but doesn't implement any
-       gssapi mechanisms itself; instead it calls gssapi routines in other
-       libraries, depending on the mechanism.
-end
-
-source_dl  = http://www.citi.umich.edu/projects/nfsv4/linux/%{name}/
-
-packages
-       package %{name}
-
-       package %{name}-devel
-               template DEVEL
-       end
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
index 333d73c73d697150f711a6fb1422d0af736b5507..1b8cb14e01858f1f5ff804dd76628f2b87c14d92 100644 (file)
@@ -4,11 +4,11 @@
 ###############################################################################
 
 name       = libidn
-version    = 1.32
-release    = 1
+version    = 1.41
+release    = 1.1
 
 groups     = System/Libraries
-url        = http://www.gnu.org/software/libidn/
+url        = https://www.gnu.org/software/libidn/
 license    = GPLv2+ LGPLv3+
 summary    = Internationalized Domain Name support library.
 
@@ -19,7 +19,7 @@ description
        names.
 end
 
-source_dl  = http://ftp.gnu.org/gnu/libidn/
+source_dl  = https://ftp.gnu.org/gnu/libidn/
 
 build
        configure_options += \
similarity index 51%
rename from libhtp/libhtp.nm
rename to libidn2/libidn2.nm
index 8bb4ebf9c291e892f7da9f387d6e33ed9d2312bb..a3e880510212244b98768b0a84d1b32c4db9e0ac 100644 (file)
@@ -3,42 +3,31 @@
 # Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
 ###############################################################################
 
-name       = libhtp
-version    = 0.5.29
-release    = 1
+name       = libidn2
+version    = 2.3.4
+release    = 1.1
 
 groups     = System/Libraries
-url        = https://github.com/OISF/libhtp
-license    = BSD
-summary    = LibHTP is a security-aware parser.
+url        = https://www.gnu.org/software/libidn/
+license    = GPLv2+ LGPLv3+
+summary    = Internationalized Domain Name support library.
 
 description
-       LibHTP is a security-aware parser for the HTTP protocol and the 
-       related bits and pieces.
+       GNU Libidn is an implementation of the Stringprep, Punycode and \
+       IDNA specifications defined by the IETF Internationalized Domain \
+       Names (IDN) working group, used for internationalized domain \
+       names.
 end
 
-source_dl  = https://github.com/OISF/%{name}/archive/%{version}.tar.gz#/
+source_dl  = https://ftp.gnu.org/gnu/libidn/
 
 build
-       requires
-               autoconf
-               automake
-               libtool
-               pkg-config
-               zlib-devel
-       end
-
-       export LD_LIBRARY_PATH = %{DIR_APP}/htp/.libs
-
        configure_options += \
+               --disable-csharp \
                --disable-static
 
-       prepare_cmds
-               ./autogen.sh
-       end
-
        test
-               make check
+               LD_LIBRARY_PATH="%{DIR_APP}/lib/.libs" make -C tests check
        end
 end
 
diff --git a/libinih/libinih.nm b/libinih/libinih.nm
new file mode 100644 (file)
index 0000000..e72c76b
--- /dev/null
@@ -0,0 +1,56 @@
+###############################################################################
+# IPFire.org    - An Open Source Firewall Solution                            #
+# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
+###############################################################################
+
+name       = libinih
+version    = 56
+release    = 1
+thisapp    = inih-r%{version}
+
+groups     = System/Libraries
+url        = https://github.com/benhoyt/inih
+license    = BSD
+summary    = Simple .INI file parser in C, good for embedded systems
+
+description
+       inih (INI Not Invented Here) is a simple .INI file parser written in C.
+       It's only a couple of pages of code, and it was designed to be small
+       and simple, so it's good for embedded systems. It's also more or less
+       compatible with Python's ConfigParser style of .INI files, including
+       RFC 822-style multi-line syntax and name: value entries.
+end
+
+source_dl  = https://github.com/benhoyt/inih/archive/refs/tags/r%{version}.tar.gz#/
+
+build
+       requires
+               meson
+               ninja
+       end
+
+       build
+               %{meson} \
+                       -Ddefault_library=shared \
+                       -Ddistro_install=true \
+                       -Dwith_INIReader=true
+
+               %{meson_build}
+       end
+
+       install
+               %{meson_install}
+       end
+end
+
+packages
+       package %{name}
+
+       package %{name}-devel
+               template DEVEL
+       end
+
+       package %{name}-debuginfo
+               template DEBUGINFO
+       end
+end
diff --git a/libisoburn/libisoburn.nm b/libisoburn/libisoburn.nm
new file mode 100644 (file)
index 0000000..1fdda21
--- /dev/null
@@ -0,0 +1,70 @@
+###############################################################################
+# IPFire.org    - An Open Source Firewall Solution                            #
+# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
+###############################################################################
+
+name       = libisoburn
+version    = 1.5.4
+release    = 1
+
+groups     = System/Filesystems
+url        = https://libburnia-project.org/
+license    = GPLv2+ and LGPLv2+
+summary    = Library to enable creation and expansion of ISO-9660 filesystems
+
+description
+       Libisoburn is a front-end for libraries libburn and libisofs which
+       enables creation and expansion of ISO-9660 filesystems on all CD/
+       DVD/BD media supported by libburn. This includes media like DVD+RW,
+       which do not support multi-session management on media level and
+       even plain disk files or block devices. Price for that is thorough
+       specialization on data files in ISO-9660 filesystem images. And so
+       libisoburn is not suitable for audio (CD-DA) or any other CD layout
+       which does not entirely consist of ISO-9660 sessions.
+end
+
+source_dl = http://files.libburnia-project.org/releases/
+
+build
+       requires
+               libacl-devel
+               libattr-devel
+               libburn-devel
+               libisofs-devel
+               zlib-devel
+       end
+end
+
+packages
+       package %{name}
+
+       package xorriso
+               summary = ISO-9660 and Rock Ridge image manipulation tool
+
+               description
+                       Xorriso is a program which copies file objects from POSIX compliant
+                       filesystems into Rock Ridge enhanced ISO-9660 filesystems and allows
+                       session-wise manipulation of such filesystems. It can load management
+                       information of existing ISO images and it writes the session results
+                       to optical media or to filesystem objects. Vice versa xorriso is able
+                       to copy file objects out of ISO-9660 filesystems.
+               end
+
+               files
+                       %{bindir}/osirrox
+                       %{bindir}/xorrecord
+                       %{bindir}/xorriso*
+                       %{mandir}/man*/osirrox*
+                       %{mandir}/man*/xorrecord*
+                       %{mandir}/man*/xorriso*
+               end
+       end
+
+       package %{name}-devel
+               template DEVEL
+       end
+
+       package %{name}-debuginfo
+               template DEBUGINFO
+       end
+end
diff --git a/libisofs/libisofs.nm b/libisofs/libisofs.nm
new file mode 100644 (file)
index 0000000..ed2d242
--- /dev/null
@@ -0,0 +1,44 @@
+###############################################################################
+# IPFire.org    - An Open Source Firewall Solution                            #
+# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
+###############################################################################
+
+name       = libisofs
+version    = 1.5.4
+release    = 1.1
+
+groups     = System/Filesystems
+url        = https://libburnia-project.org/
+license    = GPLv2+ and LGPLv2+
+summary    = Library to enable creation and expansion of ISO-9660 filesystems
+
+description
+       Libisofs is a library to create an ISO-9660 filesystem and supports
+       extensions like RockRidge or Joliet. It is also a full featured
+       ISO-9660 editor, allowing you to modify an ISO image or multisession
+       disc, including file addition or removal, change of file names and
+       attributes etc. It supports the extension AAIP which allows to store
+       ACLs and xattr in ISO-9660 filesystems as well. As it is linked with
+       zlib, it supports zisofs compression, too.
+end
+
+source_dl = http://files.libburnia-project.org/releases/
+
+build
+       requires
+               libacl-devel
+               zlib-devel
+       end
+end
+
+packages
+       package %{name}
+
+       package %{name}-devel
+               template DEVEL
+       end
+
+       package %{name}-debuginfo
+               template DEBUGINFO
+       end
+end
index 1dea7aa929c45d0649d3fb02a6bc49f27d6a4e64..ca7d08f4fdc2ea52484a0bb85717d3da212b1cbf 100644 (file)
@@ -4,12 +4,12 @@
 ###############################################################################
 
 name       = libjpeg
-version    = 1.4.2
+version    = 2.1.4
 release    = 1
 thisapp    = libjpeg-turbo-%{version}
 
 groups     = System/Libraries
-url        = http://sourceforge.net/projects/libjpeg-turbo
+url        = https://sourceforge.net/projects/libjpeg-turbo
 license    = wxWidgets
 summary    = A MMX/SSE2 accelerated library for manipulating JPEG image files.
 
@@ -23,22 +23,32 @@ description
        text comments into a JPEG file.
 end
 
-source_dl  = http://sourceforge.net/projects/libjpeg-turbo/files/%{version}/
+source_dl  = https://sourceforge.net/projects/libjpeg-turbo/files/%{version}/
 
 build
        requires
-               autoconf
-               automake
+               cmake
                gcc-c++
-               libtool
                nasm
        end
 
-       configure_options += \
-               --enable-shared
+       # NASM object files are missing GNU Property note for Intel CET,
+       # force it on the resulting library
+       LDFLAGS +="-Wl,-z,ibt -Wl,-z,shstk"
 
-       prepare_cmds
-               autoreconf -vfi
+       export LD_LIBRARY_PATH = %{DIR_APP}
+
+       build
+               %{cmake} . \
+                       -DCMAKE_SKIP_RPATH:BOOL=YES \
+                       -DCMAKE_SKIP_INSTALL_RPATH:BOOL=YES \
+                       -DENABLE_STATIC:BOOL=NO
+
+               make %{PARALLELISMFLAGS}
+       end
+
+       test
+               make test
        end
 end
 
index 165ae88dc38cfdeb8caf80b15b9cc200c7747e58..06b8a043d8071fff779a9a5b662052066c85e08e 100644 (file)
@@ -4,25 +4,25 @@
 ###############################################################################
 
 name       = libksba
-version    = 1.3.5
+version    = 1.6.2
 release    = 1
 
 groups     = System/Libraries
-url        = http://www.gnupg.org
+url        = https://www.gnupg.org
 license    = GPLv3
-summary    = X.509 Library.
+summary    = X.509 Library
 
 description
-       KSBA is a library designed to build software based on the X.509 and \
+       KSBA is a library designed to build software based on the X.509 and
        CMS protocols.
 end
 
-source_dl  = ftp://ftp.gnupg.org/gcrypt/libksba/
+source_dl  = https://www.gnupg.org/ftp/gcrypt/libksba/
 sources    = %{thisapp}.tar.bz2
 
 build
        requires
-               libgpg-error-devel
+               libgpg-error-devel >= 1.8
        end
 end
 
index 066427002f75c167b98e26fdd1038ca36927e4ab..70ce8ec592c55a9dd23e0d840c551e1fac9cd30c 100644 (file)
@@ -4,36 +4,39 @@
 ###############################################################################
 
 name       = libldb
-version    = 1.1.27
+version    = 2.8.0
 release    = 1
+thisapp    = ldb-%{version}
 
 groups     = System/Libraries
-url        = http://ldb.samba.org/
+url        = https://ldb.samba.org/
 license    = LGPLv3+
-summary    = A schema-less, ldap like, API and database.
+summary    = A schema-less, ldap like, API and database
 
 description
        An extensible library that implements an LDAP like API to access remote LDAP
        servers, or use local tdb databases.
 end
 
-thisapp = ldb-%{version}
-
-source_dl  = http://samba.org/ftp/ldb/
+source_dl  = https://download.samba.org/pub/ldb/
 
 build
        requires
-               chrpath
+               cmocka-devel
                docbook-utils
                docbook-xsl
-               libtalloc-devel >= 2.1.5
-               libtdb-devel >= 1.3.8
-               libtevent-devel >= 0.9.27
+               libtalloc-devel >= 2.4.1
+               libtdb-devel >= 1.4.9
+               libtevent-devel >= 0.15.0
+               libtirpc-devel
+               libxcrypt-devel
+               lmdb-devel >= 0.9.16
+               patchelf
                popt-devel
-               pytalloc
-               pytdb
-               pytevent
-               python-devel
+               python3-devel
+               python3-talloc
+               python3-tdb
+               python3-tevent
        end
 
        configure_options += \
@@ -43,12 +46,14 @@ build
                --with-modulesdir=%{libdir}/ldb/modules \
                --with-privatelibdir=%{libdir}/ldb
 
-       # Disable parallel build.
-       PARALLELISMFLAGS =
+       test
+               make check
+       end
 
        install_cmds
                # Remove rpath from binaries.
-               chrpath --delete %{BUILDROOT}%{bindir}/*
+               find %{BUILDROOT}%{bindir} -type f -executable \
+                       -exec patchelf --remove-rpath {} \;
        end
 end
 
@@ -72,8 +77,10 @@ packages
                template DEVEL
        end
 
-       package pyldb
-               template PYTHON
+       package python3-ldb
+               template PYTHON3
+
+               files += %{libdir}/libpyldb*
        end
 
        package %{name}-debuginfo
index 88fddd5e95c87cf61e43dd620fe1c29499be2ca6..9038712b56b7d427188b88c6cf8ec6792a8a3b16 100644 (file)
@@ -4,11 +4,11 @@
 ###############################################################################
 
 name       = libmnl
-version    = 1.0.4
+version    = 1.0.5
 release    = 1
 
 groups     = System/Libraries
-url        = http://www.netfilter.org/projects/libmnl/
+url        = https://www.netfilter.org/projects/libmnl/
 license    = LGPLv2.1+
 summary    = Minimalistic user-space Netlink library.
 
@@ -20,7 +20,7 @@ description
         and to avoid re-inventing the wheel. 
 end
 
-source_dl  = http://www.netfilter.org/projects/%{name}/files/
+source_dl  = https://www.netfilter.org/projects/%{name}/files/
 sources    = %{thisapp}.tar.bz2
 
 build
index 68a98528f851d95d93a7c990c5102cb28af72599..5ec6244389ab4aab7eceab422dd92d72a5044408 100644 (file)
@@ -4,14 +4,14 @@
 ###############################################################################
 
 name       = libmpc
-version    = 1.0.3
-release    = 1
+version    = 1.3.1
+release    = 1.3
 thisapp    = mpc-%{version}
 
 groups     = System/Libraries
-url        = http://www.multiprecision.org/
+url        = https://www.multiprecision.org/
 license    = LGPLv2.1+
-summary    = Mpc is a C library for the arithmetic of complex numbers.
+summary    = Mpc is a C library for the arithmetic of complex numbers
 
 description
        Mpc is a C library for the arithmetic of complex numbers with
@@ -19,12 +19,12 @@ description
        It is built upon and follows the same principles as Mpfr.
 end
 
-source_dl  = http://www.multiprecision.org/mpc/download/
+source_dl  = https://ftp.gnu.org/gnu/mpc/
 
 build
        requires
-               gmp-devel >= 4.3.2
-               mpfr-devel >= 2.4.2
+               gmp-devel >= 5.0.0
+               mpfr-devel >= 4.1.0
        end
 
        configure_options += \
@@ -32,8 +32,8 @@ build
                --disable-static
 
        test
-               export LD_LIBRARY_PATH=$(pwd)/src/.libs
-               make check
+               # This testsuite runs forever on x86_64
+               : # make check LD_LIBRARY_PATH="${DIR_APP}/src/.libs"
        end
 end
 
diff --git a/libnet/libnet.nm b/libnet/libnet.nm
deleted file mode 100644 (file)
index 8717ef1..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = libnet
-version    = 1.1.6
-release    = 1
-
-groups     = System/Libraries
-url        = http://www.sourceforge.net/projects/libnet-dev/
-license    = BSD
-summary    = C library for portable packet creation and injection.
-
-description
-       Libnet is an API to help with the construction and handling of \
-       network packets. It provides a portable framework for low-level \
-       network packet writing and handling (use libnet in conjunction \
-       with libpcap and you can write some really cool stuff). Libnet \
-       includes packet creation at the IP layer and at the link layer \
-       as well as a host of supplementary and complementary functionality.
-end
-
-source_dl  = https://sourceforge.net/projects/libnet-dev/files/
-
-packages
-       package %{name}
-       end
-
-       package %{name}-devel
-               template DEVEL
-       end
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
index 8051aec4bf4f94deb943e992e56711cd7b84d77d..edae3149008d3f2ddb43f2390bb322bba3aead0b 100644 (file)
@@ -4,11 +4,11 @@
 ###############################################################################
 
 name       = libnetfilter_acct
-version    = 1.0.1
+version    = 1.0.3
 release    = 1
 
 groups     = System/Libraries
-url        = http://www.netfilter.org/projects/libnetfilter_acct/index.html
+url        = https://www.netfilter.org/projects/libnetfilter_acct/index.html
 license    = GPL
 summary    = The libnetfilter_acct userspace library.
 
@@ -17,7 +17,7 @@ description
        extended accounting infrastructure. 
 end
 
-source_dl  = http://www.netfilter.org/projects/libnetfilter_acct/files/
+source_dl  = https://www.netfilter.org/projects/libnetfilter_acct/files/
 sources    = %{thisapp}.tar.bz2
 
 build
index 3edf5ba6071781d7cc3670394f45c2dab3aea3e4..b3026d51c280c585fdca1f48b7e5b9e1440e40b8 100644 (file)
@@ -4,11 +4,11 @@
 ###############################################################################
 
 name       = libnetfilter_conntrack
-version    = 1.0.4
+version    = 1.0.9
 release    = 1
 
 groups     = System/Libraries
-url        = http://www.netfilter.org/projects/libnetfilter_conntrack/index.html
+url        = https://www.netfilter.org/projects/libnetfilter_conntrack/index.html
 license    = GPL
 summary    = libnetfilter_conntrack is a userspace library.
 
@@ -18,7 +18,7 @@ description
        the netfilter subsystem in the Linux kernel.
 end
 
-source_dl  = http://www.netfilter.org/projects/libnetfilter_conntrack/files/
+source_dl  = https://www.netfilter.org/projects/libnetfilter_conntrack/files/
 sources    = %{thisapp}.tar.bz2
 
 build
index 22c5b3f6e5dc68e044ffb6f95b77f7bf1ce9797c..129116769574af79ead73fe16a6663ee7ffddcfb 100644 (file)
@@ -4,11 +4,11 @@
 ###############################################################################
 
 name       = libnetfilter_log
-version    = 1.0.1
-release    = 2
+version    = 1.0.2
+release    = 1.1
 
 groups     = System/Libraries
-url        = http://www.netfilter.org/projects/libnetfilter_log/downloads.html
+url        = https://www.netfilter.org/projects/libnetfilter_log/downloads.html
 license    = GPL
 summary    = The libnetfilter_log userspace library.
 
@@ -19,13 +19,14 @@ description
        Linux packet filter (iptables).
 end
 
-source_dl  = http://www.netfilter.org/projects/%{name}/files/
+source_dl  = https://www.netfilter.org/projects/%{name}/files/
 sources    = %{thisapp}.tar.bz2
 
 build
        requires
                autoconf
                automake
+               libmnl-devel >= 1.0.3
                libnfnetlink-devel
        end
 
diff --git a/libnetfilter_log/patches/libnetfilter_log-sysheader.patch b/libnetfilter_log/patches/libnetfilter_log-sysheader.patch
deleted file mode 100644 (file)
index dc847e1..0000000
+++ /dev/null
@@ -1,154 +0,0 @@
-diff -urN libnetfilter_log-1.0.0/include/libnetfilter_log/libnetfilter_log.h libnetfilter_log-1.0.0-noheader/include/libnetfilter_log/libnetfilter_log.h
---- libnetfilter_log-1.0.0/include/libnetfilter_log/libnetfilter_log.h 2010-11-03 15:39:00.000000000 +0300
-+++ libnetfilter_log-1.0.0-noheader/include/libnetfilter_log/libnetfilter_log.h        2010-11-03 15:36:09.000000000 +0300
-@@ -9,7 +9,11 @@
- #ifndef __LIBNETFILTER_LOG_H
- #define __LIBNETFILTER_LOG_H
--#include <libnetfilter_log/linux_nfnetlink_log.h>
-+#ifndef aligned_be64
-+#define aligned_be64 __be64 __attribute__((aligned(8)))
-+#endif
-+
-+#include <linux/netfilter/nfnetlink_log.h>
- struct nflog_handle;
- struct nflog_g_handle;
-diff -urN libnetfilter_log-1.0.0/include/libnetfilter_log/linux_nfnetlink_log.h libnetfilter_log-1.0.0-noheader/include/libnetfilter_log/linux_nfnetlink_log.h
---- libnetfilter_log-1.0.0/include/libnetfilter_log/linux_nfnetlink_log.h      2010-11-03 15:39:00.000000000 +0300
-+++ libnetfilter_log-1.0.0-noheader/include/libnetfilter_log/linux_nfnetlink_log.h     1970-01-01 03:00:00.000000000 +0300
-@@ -1,102 +0,0 @@
--#ifndef _NFNETLINK_LOG_H
--#define _NFNETLINK_LOG_H
--
--#ifndef aligned_u64
--#define aligned_u64 unsigned long long __attribute__((aligned(8)))
--#endif
--
--/* This file describes the netlink messages (i.e. 'protocol packets'),
-- * and not any kind of function definitions.  It is shared between kernel and
-- * userspace.  Don't put kernel specific stuff in here */
--
--#include <linux/types.h>
--#include <libnfnetlink/linux_nfnetlink.h>
--
--enum nfulnl_msg_types {
--      NFULNL_MSG_PACKET,              /* packet from kernel to userspace */
--      NFULNL_MSG_CONFIG,              /* connect to a particular queue */
--
--      NFULNL_MSG_MAX
--};
--
--struct nfulnl_msg_packet_hdr {
--      u_int16_t       hw_protocol;    /* hw protocol (network order) */
--      u_int8_t        hook;           /* netfilter hook */
--      u_int8_t        _pad;
--} __attribute__ ((packed));
--
--struct nfulnl_msg_packet_hw {
--      u_int16_t       hw_addrlen;
--      u_int16_t       _pad;
--      u_int8_t        hw_addr[8];
--} __attribute__ ((packed));
--
--struct nfulnl_msg_packet_timestamp {
--      aligned_u64     sec;
--      aligned_u64     usec;
--} __attribute__ ((packed));
--
--#define NFULNL_PREFIXLEN      30      /* just like old log target */
--
--enum nfulnl_attr_type {
--      NFULA_UNSPEC,
--      NFULA_PACKET_HDR,
--      NFULA_MARK,                     /* u_int32_t nfmark */
--      NFULA_TIMESTAMP,                /* nfulnl_msg_packet_timestamp */
--      NFULA_IFINDEX_INDEV,            /* u_int32_t ifindex */
--      NFULA_IFINDEX_OUTDEV,           /* u_int32_t ifindex */
--      NFULA_IFINDEX_PHYSINDEV,        /* u_int32_t ifindex */
--      NFULA_IFINDEX_PHYSOUTDEV,       /* u_int32_t ifindex */
--      NFULA_HWADDR,                   /* nfulnl_msg_packet_hw */
--      NFULA_PAYLOAD,                  /* opaque data payload */
--      NFULA_PREFIX,                   /* string prefix */
--      NFULA_UID,                      /* user id of socket */
--      NFULA_SEQ,                      /* instance-local sequence number */
--      NFULA_SEQ_GLOBAL,               /* global sequence number */
--      NFULA_GID,                      /* group id of socket */
--      NFULA_HWTYPE,                   /* hardware type */
--      NFULA_HWHEADER,                 /* hardware header */
--      NFULA_HWLEN,                    /* hardware header length */
--
--      __NFULA_MAX
--};
--#define NFULA_MAX (__NFULA_MAX - 1)
--
--enum nfulnl_msg_config_cmds {
--      NFULNL_CFG_CMD_NONE,
--      NFULNL_CFG_CMD_BIND,
--      NFULNL_CFG_CMD_UNBIND,
--      NFULNL_CFG_CMD_PF_BIND,
--      NFULNL_CFG_CMD_PF_UNBIND,
--};
--
--struct nfulnl_msg_config_cmd {
--      u_int8_t        command;        /* nfulnl_msg_config_cmds */
--} __attribute__ ((packed));
--
--struct nfulnl_msg_config_mode {
--      u_int32_t       copy_range;
--      u_int8_t        copy_mode;
--      u_int8_t        _pad;
--} __attribute__ ((packed));
--
--enum nfulnl_attr_config {
--      NFULA_CFG_UNSPEC,
--      NFULA_CFG_CMD,                  /* nfulnl_msg_config_cmd */
--      NFULA_CFG_MODE,                 /* nfulnl_msg_config_mode */
--      NFULA_CFG_NLBUFSIZ,             /* u_int32_t buffer size */
--      NFULA_CFG_TIMEOUT,              /* u_int32_t in 1/100 s */
--      NFULA_CFG_QTHRESH,              /* u_int32_t */
--      NFULA_CFG_FLAGS,                /* u_int16_t */
--      __NFULA_CFG_MAX
--};
--#define NFULA_CFG_MAX (__NFULA_CFG_MAX -1)
--
--#define NFULNL_COPY_NONE      0x00
--#define NFULNL_COPY_META      0x01
--#define NFULNL_COPY_PACKET    0x02
--
--#define NFULNL_CFG_F_SEQ      0x0001
--#define NFULNL_CFG_F_SEQ_GLOBAL       0x0002
--
--#endif /* _NFNETLINK_LOG_H */
-diff -urN libnetfilter_log-1.0.0/include/libnetfilter_log/Makefile.am libnetfilter_log-1.0.0-noheader/include/libnetfilter_log/Makefile.am
---- libnetfilter_log-1.0.0/include/libnetfilter_log/Makefile.am        2010-11-03 15:39:00.000000000 +0300
-+++ libnetfilter_log-1.0.0-noheader/include/libnetfilter_log/Makefile.am       2010-11-03 15:36:09.000000000 +0300
-@@ -1,3 +1 @@
--
--pkginclude_HEADERS = libnetfilter_log.h libipulog.h linux_nfnetlink_log.h
--
-+pkginclude_HEADERS = libnetfilter_log.h libipulog.h
-diff -urN libnetfilter_log-1.0.0/include/libnetfilter_log/Makefile.in libnetfilter_log-1.0.0-noheader/include/libnetfilter_log/Makefile.in
---- libnetfilter_log-1.0.0/include/libnetfilter_log/Makefile.in        2010-11-03 15:39:26.000000000 +0300
-+++ libnetfilter_log-1.0.0-noheader/include/libnetfilter_log/Makefile.in       2010-11-03 15:36:42.000000000 +0300
-@@ -196,7 +196,7 @@
- top_build_prefix = @top_build_prefix@
- top_builddir = @top_builddir@
- top_srcdir = @top_srcdir@
--pkginclude_HEADERS = libnetfilter_log.h libipulog.h linux_nfnetlink_log.h
-+pkginclude_HEADERS = libnetfilter_log.h libipulog.h
- all: all-am
- .SUFFIXES:
-diff -urN libnetfilter_log-1.0.0/src/libnetfilter_log.c libnetfilter_log-1.0.0-noheader/src/libnetfilter_log.c
---- libnetfilter_log-1.0.0/src/libnetfilter_log.c      2010-11-03 15:39:00.000000000 +0300
-+++ libnetfilter_log-1.0.0-noheader/src/libnetfilter_log.c     2010-11-03 15:36:09.000000000 +0300
-@@ -27,8 +27,6 @@
- #include <netinet/in.h>
- #include <sys/socket.h>
--#include <libnetfilter_log/linux_nfnetlink_log.h>
--
- #include <libnfnetlink/libnfnetlink.h>
- #include <libnetfilter_log/libnetfilter_log.h>
index d7b3c7ee28a819977294f5454f3d9f8417d079dc..615c6ca3d6dd0fc12332ee93f35f04de7335a6d4 100644 (file)
@@ -4,11 +4,11 @@
 ###############################################################################
 
 name       = libnetfilter_queue
-version    = 1.0.2
-release    = 1
+version    = 1.0.5
+release    = 1.1
 
 groups     = System/Libraries
-url        = http://www.netfilter.org/projects/libnetfilter_queue/index.html
+url        = https://www.netfilter.org/projects/libnetfilter_queue/index.html
 license    = GPL
 summary    = The libnetfilter_queue userspace library.
 
index d2ad69928d79c2fa5886135cf4e3b5651922132c..46c5d062daba71f864046d5b10f91d901cebad92 100644 (file)
@@ -4,23 +4,23 @@
 ###############################################################################
 
 name       = libnfnetlink
-version    = 1.0.1
+version    = 1.0.2
 release    = 1
 
 groups     = System/Libraries
-url        = http://www.netfilter.org/projects/libnfnetlink/downloads.html
+url        = https://www.netfilter.org/projects/libnfnetlink/downloads.html
 license    = GPL
-summary    = A low-level library for netfilter.
+summary    = A low-level library for netfilter
 
 description
-       libnfnetlink is a low-level userspace library for \
-       nfnetlink-based communication between the kernel-side netfilter \
-       and the user-space world. It is therefore the fundamental layer \
-       for all other nfnetlink-enabled user-space programs interfacing \
+       libnfnetlink is a low-level userspace library for
+       nfnetlink-based communication between the kernel-side netfilter
+       and the user-space world. It is therefore the fundamental layer
+       for all other nfnetlink-enabled user-space programs interfacing
        with the netfilter subsystem of the Linux kernel.
 end
 
-source_dl  = http://www.netfilter.org/projects/libnfnetlink/files/
+source_dl  = https://www.netfilter.org/projects/libnfnetlink/files/
 sources    = %{thisapp}.tar.bz2
 
 packages
diff --git a/libnfsidmap/libnfsidmap.nm b/libnfsidmap/libnfsidmap.nm
deleted file mode 100644 (file)
index 7cd1bd1..0000000
+++ /dev/null
@@ -1,58 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = libnfsidmap
-version    = 0.25
-release    = 2
-
-groups     = System/Libraries
-url        = http://www.citi.umich.edu/projects/nfsv4/linux/
-license    = BSD
-summary    = Library to help mapping id's, mainly for NFSv4.
-
-description
-       libnfsidmap provides functions to map between NFSv4 names
-       (which are of the form user@domain) and local uid's and gid's.
-end
-
-source_dl  = http://www.citi.umich.edu/projects/nfsv4/linux/libnfsidmap/
-
-build
-       requires
-               autoconf
-               automake
-               gcc-c++
-               openldap-devel
-       end
-
-       configure_options += \
-               --with-pluginpath=%{libdir}/%{name} \
-               --disable-static
-
-       prepare_cmds
-               ./autogen.sh
-       end
-
-       install_cmds
-               mkdir -pv %{BUILDROOT}%{sysconfdir}
-               install -m 644 idmapd.conf %{BUILDROOT}%{sysconfdir}
-       end
-end
-
-packages
-       package %{name}
-               configfiles
-                       %{sysconfdir}/idmapd.conf
-               end
-       end
-
-       package %{name}-devel
-               template DEVEL
-       end
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
diff --git a/libnfsidmap/patches/libnfsidmap-0.26-rc1.patch b/libnfsidmap/patches/libnfsidmap-0.26-rc1.patch
deleted file mode 100644 (file)
index e01e3f4..0000000
+++ /dev/null
@@ -1,77 +0,0 @@
-commit ee3099dbc71c6190cc612e923506c7d634b4b3c9
-Author: Ville Skyttä <ville.skytta@iki.fi>
-Date:   Tue Jun 19 10:10:40 2012 -0400
-
-    idmapd.conf.5: Fixed some syntax typos
-    
-    Signed-off-by: Steve Dickson <steved@redhat.com>
-
-diff --git a/idmapd.conf.5 b/idmapd.conf.5
-index 9c7f1ae..7b9e762 100644
---- a/idmapd.conf.5
-+++ b/idmapd.conf.5
-@@ -234,7 +234,6 @@ Number of seconds before timing out an LDAP request
- .\" -------------------------------------------------------------------
- .\"
- .SH EXAMPLES
--."
- An example
- .I /etc/idmapd.conf
- file:
-@@ -266,7 +265,7 @@ johndoe@OTHER.DOMAIN.ORG = johnny
- LDAP_server = ldap.domain.org
- LDAP_base = dc=org,dc=domain
--.fo
-+.fi
- .\"
- .\" -------------------------------------------------------------------
- .\" Additional sections
-@@ -275,11 +274,11 @@ LDAP_base = dc=org,dc=domain
- .SH SEE ALSO
- .BR idmapd (8)
- .BR svcgssd (8)
--.".SH COMPATIBILITY
--.".SH STANDARDS
--.".SH ACKNOWLEDGEMENTS
--.".SH AUTHORS
--.".SH HISTORY
-+.\".SH COMPATIBILITY
-+.\".SH STANDARDS
-+.\".SH ACKNOWLEDGEMENTS
-+.\".SH AUTHORS
-+.\".SH HISTORY
- .SH BUGS
- Report bugs to <nfsv4@linux-nfs.org>
--.".SH CAVEATS
-+.\".SH CAVEATS
-
-commit f079113f90366f1965b9fd3b0fdbce77415f37a7
-Author: Juno Krahn <Juno.Krahn@gmail.com>
-Date:   Mon Mar 19 08:33:58 2012 -0400
-
-    idmapd: logging of Local-Realms only lists the last realm
-    
-    The list of local realms can be logged with a massage like the following:
-       rpc.idmapd: libnfsidmap: Realms list: 'EXAMPLE2.COM'
-    Instead of printing a list of realms, only the last realm in the list is shown.
-    
-    https://bugzilla.redhat.com/show_bug.cgi?id=804152
-    
-    Signed-off-by: Steve Dickson <steved@redhat.com>
-
-diff --git a/libnfsidmap.c b/libnfsidmap.c
-index 57bb6c3..641d766 100644
---- a/libnfsidmap.c
-+++ b/libnfsidmap.c
-@@ -285,8 +285,9 @@ int nfs4_init_name_mapping(char *conffile)
-                       }
-                       buf = malloc(siz);
-                       if (buf) {
-+                              *buf = 0;
-                               TAILQ_FOREACH(r, &local_realms->fields, link) {
--                                      sprintf(buf, "'%s' ", r->field);
-+                                      sprintf(buf+strlen(buf), "'%s' ", r->field);
-                               }
-                               IDMAP_LOG(1, ("libnfsidmap: Realms list: %s", buf));
-                               free(buf);
index dfe8de89ee3bb8edb9dfa2f5de0a212821ed5ca0..5a8b9739fdcf44feedaca5fecae4b0b6e2f31c9b 100644 (file)
@@ -4,12 +4,11 @@
 ###############################################################################
 
 name       = libnftnl
-version    = 1.1.3
+version    = 1.2.6
 release    = 1
-thisapp    = %{name}-%{version}
 
 groups     = Networking/Tools
-url        = http://netfilter.org/projects/libnftnl
+url        = https://netfilter.org/projects/libnftnl
 license    = GPLv2
 summary    = Library for low-level interaction with nftables
 
@@ -18,13 +17,12 @@ description
        libmnl.
 end
 
-source_dl  = http://ftp.netfilter.org/pub/libnftnl/
-sources    = %{thisapp}.tar.bz2
+source_dl  = https://netfilter.org/projects/libnftnl/files/
+sources    = %{thisapp}.tar.xz
 
 build
        requires
                autoconf
-               autogen
                automake
                libmnl-devel
                libtool
diff --git a/libnl/libnl.nm b/libnl/libnl.nm
deleted file mode 100644 (file)
index 504f351..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = libnl
-version    = 1.1
-release    = 2
-
-groups     = Development/Libraries
-url        = http://people.suug.ch/~tgr/libnl/
-license    = LGPLv2
-summary    = Convenience library for kernel netlink sockets.
-
-description
-       This package contains a convenience library to simplify using the \
-       Linux kernel's netlink sockets interface for network manipulation.
-end
-
-source_dl  =
-
-build
-       configure_options += \
-               --libdir=/%{lib}
-
-       install_cmds
-               rm -vf %{BUILDROOT}/%{lib}/libnl.so
-               mkdir -pv %{BUILDROOT}%{libdir}
-               ln -svf ../../%{lib}/libnl.so.1 %{BUILDROOT}%{libdir}/libnl.so
-
-               mv -v %{BUILDROOT}/%{lib}/pkgconfig %{BUILDROOT}%{libdir}/pkgconfig
-       end
-end
-
-packages
-       package %{name}
-
-       package %{name}-devel
-               template DEVEL
-       end
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
diff --git a/libnl/patches/libnl-1.1-include-limits-h.patch b/libnl/patches/libnl-1.1-include-limits-h.patch
deleted file mode 100644 (file)
index 3bead16..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-diff -up libnl-1.1/include/netlink-local.h.limits libnl-1.1/include/netlink-local.h
---- libnl-1.1/include/netlink-local.h.limits   2008-02-22 11:31:18.000000000 -0500
-+++ libnl-1.1/include/netlink-local.h  2008-02-22 11:32:57.000000000 -0500
-@@ -22,6 +22,7 @@
- #include <time.h>
- #include <stdarg.h>
- #include <ctype.h>
-+#include <limits.h>
- #include <sys/types.h>
- #include <sys/socket.h>
- #include <inttypes.h>
diff --git a/libnl/patches/libnl-1.1-no-extern-inline.patch b/libnl/patches/libnl-1.1-no-extern-inline.patch
deleted file mode 100644 (file)
index 16a4f8f..0000000
+++ /dev/null
@@ -1,57 +0,0 @@
-From 84fefcadcde5d6c343db7f5c1744f6b1f070bc71 Mon Sep 17 00:00:00 2001
-From: Peter Jones <pjones@redhat.com>
-Date: Thu, 14 May 2009 11:30:40 -0400
-Subject: [PATCH] Remove "inline" keyword from nl_object_priv().
-
-"extern inline foo();" in a header file generates a compiler warning in
-consumers of the library.  Also, it doesn't make any sense whatsoever.
-For this reason, and the fact that this function is not used at all in
-the file in which it's defined, I have removed the "inline" keyword.
----
- doc/Doxyfile.in          |    2 +-
- include/netlink/object.h |    2 +-
- lib/object.c             |    2 +-
- 3 files changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/doc/Doxyfile.in b/doc/Doxyfile.in
-index 0c518b7..396fcbc 100644
---- a/doc/Doxyfile.in
-+++ b/doc/Doxyfile.in
-@@ -113,7 +113,7 @@ FULL_PATH_NAMES        = YES
- # If left blank the directory from which doxygen is run is used as the 
- # path to strip.
--STRIP_FROM_PATH        = 
-+STRIP_FROM_PATH = /home/pjones/build/BUILD/libnl-1.1
- # The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of 
- # the path mentioned in the documentation of a class, which tells 
-diff --git a/include/netlink/object.h b/include/netlink/object.h
-index 751a1b3..241a2ad 100644
---- a/include/netlink/object.h
-+++ b/include/netlink/object.h
-@@ -55,7 +55,7 @@ extern int                   nl_object_is_marked(struct nl_object *);
- /* Access Functions */
- extern int                    nl_object_get_refcnt(struct nl_object *);
- extern struct nl_cache *      nl_object_get_cache(struct nl_object *);
--extern inline void *          nl_object_priv(struct nl_object *);
-+extern void *                 nl_object_priv(struct nl_object *);
- #ifdef __cplusplus
- }
-diff --git a/lib/object.c b/lib/object.c
-index 74f6e2d..845ca1d 100644
---- a/lib/object.c
-+++ b/lib/object.c
-@@ -376,7 +376,7 @@ struct nl_cache *nl_object_get_cache(struct nl_object *obj)
-       return obj->ce_cache;
- }
--inline void *nl_object_priv(struct nl_object *obj)
-+void *nl_object_priv(struct nl_object *obj)
- {
-       return obj;
- }
--- 
-1.6.2.2
-
diff --git a/libnl/patches/libnl-1.1-permissions.patch b/libnl/patches/libnl-1.1-permissions.patch
deleted file mode 100644 (file)
index 916ec9a..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
---- libnl-1.0-pre5/lib/Makefile.debuginfo      2006-06-15 18:11:21.000000000 -0400
-+++ libnl-1.0-pre5/lib/Makefile        2006-06-15 18:11:28.000000000 -0400
-@@ -64,7 +64,7 @@
- install:
-       mkdir -p $(DESTDIR)$(libdir)/
--      install -m 0644 $(OUT_SLIB) $(DESTDIR)$(libdir)
-+      install -m 0755 $(OUT_SLIB) $(DESTDIR)$(libdir)
-       rm -f $(DESTDIR)$(libdir)/$(LN1_SLIB)
-       $(LN) -s $(OUT_SLIB) $(DESTDIR)$(libdir)/$(LN1_SLIB)
-       rm -f $(DESTDIR)$(libdir)/$(LN_SLIB)
-       $(LN) -s $(LN1_SLIB) $(DESTDIR)$(libdir)/$(LN_SLIB)
-
index a74529da1395a89808f67b1b209cc7157714e538..895edc75b382f51942d036df3a5c54c5a924d475 100644 (file)
@@ -4,12 +4,12 @@
 ###############################################################################
 
 name       = libnl3
-version    = 3.2.25
+version    = 3.8.0
 release    = 1
 thisapp    = libnl-%{version}
 
 groups     = Development/Libraries
-url        = http://www.infradead.org/~tgr/libnl/
+url        = https://github.com/thom311/libnl/
 license    = LGPLv2
 summary    = Convenience library for kernel netlink sockets.
 
@@ -18,7 +18,7 @@ description
        Linux kernel's netlink sockets interface for network manipulation.
 end
 
-source_dl  = http://www.infradead.org/~tgr/libnl/files/
+source_dl  = https://github.com/thom311/libnl/releases/download/libnl3_8_0/
 
 build
        requires
index 127522717ed9a995574ff524773baa58c111740a..208be078d6ae77fafc19c4c770b5533a8fb7b0cb 100644 (file)
@@ -5,7 +5,7 @@
 
 name       = liboping
 version    = 1.10.0
-release    = 2
+release    = 5.1
 
 groups     = Development/Tools
 url        = https://noping.cc/
@@ -32,6 +32,7 @@ build
                --without-perl-bindings
 
        install_cmds
+               # Set capabilities
                setcap cap_net_raw=ep %{BUILDROOT}%{bindir}/oping
                setcap cap_net_raw=ep %{BUILDROOT}%{bindir}/noping
        end
diff --git a/liboping/patches/liboping-1.10.0-ncurses-6.3.patch b/liboping/patches/liboping-1.10.0-ncurses-6.3.patch
new file mode 100644 (file)
index 0000000..d29afab
--- /dev/null
@@ -0,0 +1,51 @@
+From 609559aa3b257a5eb627717d870dfce336f941ec Mon Sep 17 00:00:00 2001
+From: Sergei Trofimovich <slyich@gmail.com>
+Date: Mon, 15 Nov 2021 08:05:43 +0000
+Subject: [PATCH] src/oping.c: always use "%s"-style format for printf()-style
+ functions
+
+`ncuses-6.3` added printf-style function attributes and now makes
+it easier to catch cases when user input is used in palce of format
+string when built with CFLAGS=-Werror=format-security:
+
+    oping.c:1265:41: error: format not a string literal and no format arguments [-Werror=format-security]
+     1265 |                                         hist_symbols_utf8[index]);
+          |                                         ^~~~~~~~~~~~~~~~~
+
+Let's wrap all the missing places with "%s" format.
+---
+ src/oping.c | 7 +++----
+ 1 file changed, 3 insertions(+), 4 deletions(-)
+
+diff --git a/src/oping.c b/src/oping.c
+index c087c80..af4a0cb 100644
+--- a/src/oping.c
++++ b/src/oping.c
+@@ -1156,7 +1156,7 @@ static int update_graph_prettyping (ping_context_t *ctx, /* {{{ */
+                       wattron (ctx->window, COLOR_PAIR(color));
+               if (has_utf8())
+-                      mvwprintw (ctx->window, /* y = */ 3, /* x = */ x + 2, symbol);
++                      mvwprintw (ctx->window, /* y = */ 3, /* x = */ x + 2, "%s", symbol);
+               else
+                       mvwaddch (ctx->window, /* y = */ 3, /* x = */ x + 2, symbolc);
+@@ -1262,7 +1262,7 @@ static int update_graph_histogram (ping_context_t *ctx) /* {{{ */
+                       mvwaddch (ctx->window, /* y = */ 3, /* x = */ x + 2, ' ');
+               else if (has_utf8 ())
+                       mvwprintw (ctx->window, /* y = */ 3, /* x = */ x + 2,
+-                                      hist_symbols_utf8[index]);
++                                      "%s", hist_symbols_utf8[index]);
+               else
+                       mvwaddch (ctx->window, /* y = */ 3, /* x = */ x + 2,
+                                       hist_symbols_acs[index] | A_ALTCHARSET);
+@@ -1639,8 +1639,7 @@ static void update_host_hook (pingobj_iter_t *iter, /* {{{ */
+                       HOST_PRINTF ("%zu bytes from %s (%s): icmp_seq=%u ttl=%i ",
+                                       data_len, context->host, context->addr,
+-                                      sequence, recv_ttl,
+-                                      format_qos (recv_qos, recv_qos_str, sizeof (recv_qos_str)));
++                                      sequence, recv_ttl);
+                       if ((recv_qos != 0) || (opt_send_qos != 0))
+                       {
+                               HOST_PRINTF ("qos=%s ",
diff --git a/liboping/patches/liboping-1.10.0-no-werror.patch b/liboping/patches/liboping-1.10.0-no-werror.patch
new file mode 100644 (file)
index 0000000..56a70a5
--- /dev/null
@@ -0,0 +1,22 @@
+--- liboping-1.10.0/src/Makefile.am    2017-05-11 00:32:27.000000000 -0700
++++ liboping-1.10.0/src/Makefile.am.new        2018-07-24 14:29:43.400661398 -0700
+@@ -3,7 +3,7 @@
+ SUBDIRS = mans
+ if COMPILER_IS_GCC
+-AM_CFLAGS = -Wall -Werror
++AM_CFLAGS = -Wall
+ endif
+ include_HEADERS = oping.h
+--- liboping-1.10.0/src/Makefile.in    2018-07-24 14:30:52.192553951 -0700
++++ liboping-1.10.0/src/Makefile.in.new        2018-07-24 14:30:57.281546003 -0700
+@@ -388,7 +388,7 @@
+ top_srcdir = @top_srcdir@
+ AUTOMAKE_OPTIONS = foreign no-dependencies
+ SUBDIRS = mans
+-@COMPILER_IS_GCC_TRUE@AM_CFLAGS = -Wall -Werror
++@COMPILER_IS_GCC_TRUE@AM_CFLAGS = -Wall
+ include_HEADERS = oping.h
+ lib_LTLIBRARIES = liboping.la
index f5ec8cc7133dce91cb2e7efbff0d78ca1ba132ff..c8a676ff3a3ce8ab16c4184a895e13ce25060802 100644 (file)
@@ -4,11 +4,11 @@
 ###############################################################################
 
 name       = libpcap
-version    = 1.7.2
-release    = 1
+version    = 1.10.1
+release    = 2
 
 groups     = System/Libraries
-url        = http://www.tcpdump.org/
+url        = https://www.tcpdump.org/
 license    = BSD with advertising
 summary    = A system-independent interface for user-level packet capture.
 
@@ -22,13 +22,12 @@ description
        packet capture modules in each application.
 end
 
-source_dl  = http://www.tcpdump.org/release/
+source_dl  = https://www.tcpdump.org/release/
 
 build
        requires
                bison
                flex
-               libnl-devel
        end
 end
 
diff --git a/libpcap/patches/libpcap-0.8.3-ppp.patch b/libpcap/patches/libpcap-0.8.3-ppp.patch
deleted file mode 100644 (file)
index 44367a1..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
---- a/gencode.c.old    2004-06-21 19:43:24.611308762 +0100
-+++ b/gencode.c        2004-06-21 19:43:34.851140716 +0100
-@@ -5004,6 +5004,7 @@
-        */
-       switch (linktype) {
-       case DLT_SLIP:
-+      case DLT_PPP:
-               b0 = gen_relation(BPF_JEQ,
-                         gen_load(Q_LINK, gen_loadi(0), 1),
-                         gen_loadi(0),
index 789bb98fc8db14e076ecbdc1d82842bcb98af814..e2c47a504f2a4b9e8505dbfb5bf52fd85a3cd663 100644 (file)
@@ -4,34 +4,20 @@
 ###############################################################################
 
 name       = libpciaccess
-version    = 0.13.4
-release    = 1
+version    = 0.17
+release    = 2.1
 
 groups     = Applications/Virtualization
-url        = http://cgit.freedesktop.org/xorg/lib/libpciaccess/
+url        = https://cgit.freedesktop.org/xorg/lib/libpciaccess/
 license    = LGPLv2.1+
-summary    = Generic PCI access library.
+summary    = Generic PCI access library
 
 description
        A toolkit to interact with the virtualization capabilities of recent
        versions of Linux.
 end
 
-source_dl  = http://cgit.freedesktop.org/xorg/lib/libpciaccess/snapshot/
-
-build
-       requires
-               autoconf
-               automake
-               pkg-config
-               libtool
-               xorg-x11-util-macros
-       end
-
-       prepare_cmds
-               ./autogen.sh
-       end
-end
+source_dl  = https://www.x.org/archive/individual/lib/
 
 packages
        package %{name}
index 6475cfe598c0592ed340cb6f44bef0a380e25dff..ea867bb2b8ac91b0e4f8b2f6d84799f5bc2b1ae4 100644 (file)
@@ -4,20 +4,20 @@
 ###############################################################################
 
 name       = libpipeline
-version    = 1.4.1
-release    = 1
+version    = 1.5.3
+release    = 1.1
 
 groups     = Development/Libraries
-url        = http://libpipeline.nongnu.org/
+url        = https://libpipeline.nongnu.org/
 license    = GPLv3
-summary    = Pipeline manipulation library.
+summary    = Pipeline manipulation library
 
 description
        libpipeline is a C library for manipulating pipelines of subprocesses \
        in a flexible and convenient way.
 end
 
-source_dl  = http://download.savannah.gnu.org/releases/libpipeline/
+source_dl  = https://download.savannah.gnu.org/releases/libpipeline/
 
 packages
        package %{name}
index 8af06c8ac2f8e219facaeb50d58f07954fbf27e9..9c478eb9dc8a9d6c626192c1e45ead7b0ba664ad 100644 (file)
@@ -4,8 +4,8 @@
 ###############################################################################
 
 name       = libpng
-version    = 1.6.21
-release    = 1
+version    = 1.6.39
+release    = 2
 
 groups     = System/Libraries
 url        = http://www.libpng.org/pub/png/
@@ -21,13 +21,20 @@ description
 end
 
 source_dl  = http://downloads.sourceforge.net/project/libpng/libpng16/%{version}/
-source_dl += http://downloads.sourceforge.net/project/libpng/history/libpng16/%{version}/
 
 build
        requires
                pkg-config
                zlib-devel
        end
+
+       configure_options += \
+               --disable-static
+
+       install_cmds
+               # Remove libtool archives manually as they are installed incorrectly
+               rm -vf %{BUILDROOT}%{libdir}/*.la
+       end
 end
 
 packages
index fc13c9fd42d7d3e3f8c66469a9c0e9a79949524e..785992010f18c41b754581a4a5168e67d39d596c 100644 (file)
@@ -4,11 +4,11 @@
 ###############################################################################
 
 name       = libpwquality
-version    = 1.3.0
+version    = 1.4.5
 release    = 2
 
 groups     = System/Base
-url        = https://fedorahosted.org/libpwquality/
+url        = https://github.com/libpwquality/libpwquality
 license    = BSD or GPL+
 summary    = A library for password generation and password quality checking.
 
@@ -18,7 +18,7 @@ description
        cracklib dictionaries to perform some of the checks.
 end
 
-source_dl  = http://fedorahosted.org/releases/l/i/libpwquality/
+source_dl  = https://github.com/libpwquality/libpwquality/releases/download/%{thisapp}/
 sources    = %{thisapp}.tar.bz2
 
 build
@@ -27,6 +27,7 @@ build
                gettext
                pam-devel
                python3-devel
+               zlib-devel
        end
 
        configure_options += \
diff --git a/librpcsecgss/librpcsecgss.nm b/librpcsecgss/librpcsecgss.nm
deleted file mode 100644 (file)
index d7d8e3d..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = librpcsecgss
-version    = 0.19
-release    = 1
-
-groups     = System/Libraries
-url        = http://www.citi.umich.edu/projects/nfsv4/linux/librpcsecgss/
-license    = BSD
-summary    = A Library for secure rpc communication.
-
-description
-       rpcsecgss allows secure rpc communication using the rpcsec_gss \
-       protocol.
-end
-
-source_dl  = http://www.citi.umich.edu/projects/nfsv4/linux/librpcsecgss/
-sources    = %{thisapp}.tar.gz
-
-build
-       requires
-               libgssglue-devel
-               pkg-config
-       end
-end
-
-packages
-       package %{name}
-       end
-
-       package %{name}-devel
-               template DEVEL
-       end
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
diff --git a/librsvg2/librsvg2.nm b/librsvg2/librsvg2.nm
deleted file mode 100644 (file)
index ca36275..0000000
+++ /dev/null
@@ -1,68 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = librsvg2
-version    = 2.40.15
-major_ver  = 2.40
-release    = 2
-
-groups     = System/Libraries
-url        =
-license    = LGPLv2+
-summary    = A SVG library based on cairo.
-
-description
-       librsvg is a SVG library based on cairo.
-end
-
-thisapp    = librsvg-%{version}
-
-source_dl  = http://download.gnome.org/sources/librsvg/%{major_ver}/
-sources    = %{thisapp}.tar.xz
-
-build
-       requires
-               cairo-devel
-               cairo-gobject-devel
-               gdk-pixbuf2-devel
-               gobject-introspection-devel
-               libcroco-devel
-               libxml2-devel
-               pango-devel
-       end
-
-       export GDK_PIXBUF_QUERYLOADERS=%{bindir}/gdk-pixbuf-query-loaders
-       export LD_LIBRARY_PATH = %{DIR_APP}/.libs
-
-       configure_options += \
-               --disable-static \
-               --disable-gtk-theme \
-               --disable-gtk-doc \
-               enable_pixbuf_loader=yes
-end
-
-packages
-       package %{name}
-               script postin
-                       gdk-pixbuf-query-loaders --update-cache || :
-               end
-
-               script postun
-                       gdk-pixbuf-query-loaders --update-cache || :
-               end
-
-               script postup
-                       gdk-pixbuf-query-loaders --update-cache || :
-               end
-       end
-
-       package %{name}-devel
-               template DEVEL
-       end
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
index 2be8e9730b108701354f4c1aa0733e33283a3153..9dc2a5e9fe7b80e0160dea06e67e25a3a6e889ce 100644 (file)
@@ -4,7 +4,7 @@
 ###############################################################################
 
 name       = libseccomp
-version    = 2.4.0
+version    = 2.5.4
 release    = 1
 
 groups     = System/Libraries
@@ -24,8 +24,12 @@ end
 source_dl  = https://github.com/seccomp/libseccomp/releases/download/v%{version}/
 
 build
+       requires
+               gperf
+       end
+
        test
-               make check
+               LD_LIBRARY_PATH="$(pwd)/src/.libs" make check
        end
 end
 
index 5149693cd88883e5b6748cb9e6ecdd565854c061..fe972efc8da75ac6d38be9d4ffd39e80d0e840f9 100644 (file)
@@ -4,11 +4,11 @@
 ###############################################################################
 
 name       = libsodium
-version    = 1.0.9
-release    = 1
+version    = 1.0.18
+release    = 1.1
 
 groups     = System/Libraries
-url        = http://libsodium.org
+url        = https://libsodium.org
 license    = ISC
 summary    = The Sodium crypto library
 
@@ -26,7 +26,7 @@ description
        implementations of the NIST standards.
 end
 
-source_dl  = http://download.libsodium.org/libsodium/releases/
+source_dl  = https://download.libsodium.org/libsodium/releases/
 
 packages
        package %{name}
index 1841203ac2e1cf3fb5f0aad23bdc8ca5255a82df..3d148a0f2f6bec247d86386f06dcbb284b18c7be 100644 (file)
@@ -4,7 +4,7 @@
 ###############################################################################
 
 name       = libsolv
-version    = 0.6.24
+version    = 0.7.25
 release    = 1
 
 maintainer = Michael Tremer <michael.tremer@ipfire.org>
@@ -26,7 +26,6 @@ build
                cmake >= 2.8.4-2
                expat-devel
                gettext-devel
-               xz-devel
                zlib-devel
        end
 
@@ -34,7 +33,6 @@ build
                mkdir build
                cd build && %{cmake} .. \
                        -DCMAKE_BUILD_TYPE=RelWithDebInfo \
-                       -DENABLE_LZMA_COMPRESSION=1 \
                        -DENABLE_PERL=0 \
                        -DENABLE_PYTHON=0 \
                        -DENABLE_RUBY=0 \
@@ -63,6 +61,7 @@ packages
 
                files
                        %{bindir}
+                       %{mandir}/man1
                end
        end
 
diff --git a/libsoup/libsoup.nm b/libsoup/libsoup.nm
deleted file mode 100644 (file)
index ec16e1b..0000000
+++ /dev/null
@@ -1,64 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = libsoup
-version    = %{ver_major}.%{ver_minor}
-ver_major  = 2.54
-ver_minor  = 0.1
-release    = 2
-
-groups     = System/Libraries
-url        = http://live.gnome.org/LibSoup
-license    = GPL
-summary    = HTTP client/server library for GNOME.
-
-description
-       libsoup is an HTTP client/server library for GNOME. It uses GObjects
-       and the glib main loop, to integrate well with GNOME applications,
-       and also has a synchronous API, for use in threaded applications.
-end
-
-source_dl  = http://ftp.gnome.org/pub/GNOME/sources/%{name}/%{ver_major}/
-sources    = %{thisapp}.tar.xz
-
-build
-       requires
-               glib2-devel >= 2.35.0
-               gnutls-devel
-               gobject-introspection-devel
-               intltool
-               libgcrypt-devel
-               libxml2-devel
-               openssl-devel
-               pkg-config
-               sqlite-devel
-               zlib-devel
-               vala-devel >= 0.32
-       end
-
-       export LD_LIBRARY_PATH = %{DIR_APP}/libsoup/.libs
-
-       configure_options += \
-               --enable-introspection=yes \
-               --disable-tls-check \
-               --without-gnome
-end
-
-packages
-       package %{name}
-
-       package %{name}-devel
-               template DEVEL
-
-               requires = libxml2-devel
-
-               files += \
-                       %{datadir}/gir*/
-       end
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
index 82d9a05f6e3c3c04d3d0d952021b1e717a543dd0..e05cf42d6241f8333bcf09490ff9fb78c5ce08b5 100644 (file)
@@ -5,7 +5,7 @@
 
 name       = libssh2
 version    = 1.9.0
-release    = 1
+release    = 1.1
 
 groups     = System/Libraries
 url        = http://www.libssh2.org/
diff --git a/libstatgrab/libstatgrab.nm b/libstatgrab/libstatgrab.nm
deleted file mode 100644 (file)
index e509cef..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = libstatgrab
-version    = 0.91
-release    = 1
-
-groups     = System/Libraries
-url        = http://www.i-scream.org/libstatgrab/
-license    = GNUv2
-summary    = Provides access to statistics about the system.
-
-description
-       libstatgrab is a library that provides statistics about the system on 
-       which it's run. It's written in C and presents a selection of useful 
-       interfaces which can be used to access key system statistics. 
-       The current list of statistics includes CPU usage, memory utilisation, 
-       disk usage, process counts, network traffic, disk I/O, and more. 
-end
-
-source_dl  = ftp://ftp.uk.i-scream.org/pub/i-scream/libstatgrab/
-
-build
-       requires
-               ncurses-devel
-       end
-end
-
-packages
-       package %{name}
-
-       package %{name}-devel
-               template DEVEL
-       end
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
index 0fb84d35c34ccb00d050ff5b0a7f8fae702b955a..1778f1046028a84d66f3d6827495c3d925789721 100644 (file)
@@ -4,11 +4,12 @@
 ###############################################################################
 
 name       = libtalloc
-version    = 2.1.8
+version    = 2.4.1
 release    = 1
+thisapp    = talloc-%{version}
 
 groups     = System/Libraries
-url        = http://talloc.samba.org/
+url        = https://talloc.samba.org/
 license    = LGPLv3+
 summary    = The talloc library.
 
@@ -16,15 +17,14 @@ description
        A library that implements a hierarchical allocator with destructors.
 end
 
-thisapp = talloc-%{version}
-
-source_dl  = http://samba.org/ftp/talloc/
+source_dl  = https://samba.org/ftp/talloc/
 
 build
        requires
                docbook-utils
                docbook-xsl
-               python-devel
+               libxcrypt-devel
+               python3-devel
        end
 
        configure_options += \
@@ -40,8 +40,10 @@ packages
                template DEVEL
        end
 
-       package pytalloc
-               template PYTHON
+       package python3-talloc
+               template PYTHON3
+
+               files += %{libdir}/libpytalloc*
        end
 
        package %{name}-debuginfo
index f5ca1ff9cac4b6eb921e7d6079c08fbc3ccc344c..3be33c17037a4064a2686605235051ab70572dd0 100644 (file)
@@ -4,11 +4,11 @@
 ###############################################################################
 
 name       = libtasn1
-version    = 4.13
-release    = 1
+version    = 4.19.0
+release    = 1.1
 
 groups     = System/Libraries
-url        = http://www.gnu.org/software/libtasn1/
+url        = https://www.gnu.org/software/libtasn1/
 license    = GPLv3+ and LGPLv2+
 summary    = The ASN.1 library used in GNUTLS.
 
index 872df04581da5507758bf1780b8a07c4fd3dff41..aafd003e73a60e61666bd55a23efb6fc818b77d8 100644 (file)
@@ -4,11 +4,12 @@
 ###############################################################################
 
 name       = libtdb
-version    = 1.3.11
-release    = 2
+version    = 1.4.9
+release    = 1
+thisapp    = tdb-%{version}
 
 groups     = System/Libraries
-url        = http://tdb.samba.org/
+url        = https://tdb.samba.org/
 license    = LGPLv3+
 summary    = The tdb library.
 
@@ -16,15 +17,14 @@ description
        A library that implements a trivial database.
 end
 
-thisapp = tdb-%{version}
-
-source_dl  = http://samba.org/ftp/tdb/
+source_dl  = https://samba.org/ftp/tdb/
 
 build
        requires
                docbook-utils
                docbook-xsl
-               python-devel
+               libxcrypt-devel
+               python3-devel
        end
 
        configure_options += \
@@ -56,8 +56,8 @@ packages
                template DEVEL
        end
 
-       package pytdb
-               template PYTHON
+       package python3-tdb
+               template PYTHON3
        end
 
        package %{name}-debuginfo
index 4547a9e2682a219672519e874252ecbc87ddcf4c..181ab4350e80eabab0345be36e5d240f795ae247 100644 (file)
@@ -4,11 +4,12 @@
 ###############################################################################
 
 name       = libtevent
-version    = 0.9.30
+version    = 0.15.0
 release    = 1
+thisapp    = tevent-%{version}
 
 groups     = System/Libraries
-url        = http://tevent.samba.org/
+url        = https://tevent.samba.org/
 license    = LGPLv3+
 summary    = The tevent library.
 
@@ -18,22 +19,26 @@ description
        the classic file descriptor events.
 end
 
-thisapp = tevent-%{version}
-
-source_dl  = http://samba.org/ftp/tevent/
+source_dl  = https://samba.org/ftp/tevent/
 
 build
        requires
+               cmocka-devel
                docbook-utils
                docbook-xsl
-               libtalloc-devel >= 2.1.5
-               python-devel
+               libtalloc-devel >= 2.3.4
+               libxcrypt-devel
+               python3-devel
        end
 
        configure_options += \
                --disable-rpath \
                --disable-rpath-install \
                --bundled-libraries=NONE
+
+       test
+               make check
+       end
 end
 
 packages
@@ -43,8 +48,8 @@ packages
                template DEVEL
        end
 
-       package pytevent
-               template PYTHON
+       package python3-tevent
+               template PYTHON3
        end
 
        package %{name}-debuginfo
diff --git a/libthai/libthai.nm b/libthai/libthai.nm
new file mode 100644 (file)
index 0000000..a71d36f
--- /dev/null
@@ -0,0 +1,46 @@
+###############################################################################
+# IPFire.org    - An Open Source Firewall Solution                            #
+# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
+###############################################################################
+
+name       = libthai
+version    = 0.1.29
+release    = 2.1
+
+groups     = System/Libraries
+url        = https://linux.thai.net
+license    = LGPLv2+
+summary    = Thai language support routines
+
+description
+       LibThai is a set of Thai language support routines aimed to ease
+       developers' tasks to incorporate Thai language support in their applications.
+       It includes important Thai-specific functions e.g. word breaking, input and
+       output methods as well as basic character and string supports.
+end
+
+source_dl  = https://linux.thai.net/pub/thailinux/software/libthai/
+sources    = %{thisapp}.tar.xz
+
+build
+       requires
+               libdatrie-devel >= 0.2
+       end
+
+       configure_options += \
+               --disable-dict
+end
+
+packages
+       package %{name}
+
+       package %{name}-devel
+               template DEVEL
+
+               requires = libdatrie-devel >= 0.2
+       end
+
+       package %{name}-debuginfo
+               template DEBUGINFO
+       end
+end
index 7912829cf8831dd1484097272bfc0aa02e3c9169..b6342f1998c54d84faefe87462b5b84b4048cba9 100644 (file)
@@ -4,12 +4,12 @@
 ###############################################################################
 
 name       = libtiff
-version    = 4.0.6
+version    = 4.6.0
 release    = 1
 thisapp    = tiff-%{version}
 
 groups     = System/Libraries
-url        = http://www.remotesensing.org/libtiff/
+url        = https://libtiff.gitlab.io/libtiff/
 license    = libtiff ( own )
 summary    = Library of functions for manipulating TIFF format image files.
 
@@ -20,17 +20,25 @@ description
        .tif extension and they are often quite large.
 end
 
-source_dl  = ftp://ftp.remotesensing.org/pub/libtiff/
+source_dl  = https://download.osgeo.org/libtiff/
 
 build
        requires
                gcc-c++
                libjpeg-devel
+               zlib-devel
+               zstd-devel
        end
 
+       export LD_LIBRARY_PATH = %{DIR_APP}/libtiff/.libs
+
        configure_options += \
                --enable-defer-strile-load \
                --enable-chunky-strip-read
+
+       test
+               make check
+       end
 end
 
 packages
index a805ec45789bb974c963d2f988afca8b4fc46789..a178e93b8a16613b832dac4d1a15f1664dc10921 100644 (file)
@@ -4,8 +4,8 @@
 ###############################################################################
 
 name       = libtirpc
-version    = 0.2.2
-release    = 1
+version    = 1.3.3
+release    = 3.1
 
 groups     = System/Libraries
 url        = http://nfsv4.bullopensource.org/
@@ -19,15 +19,15 @@ description
        Solaris 2.3 source.
 end
 
-source_dl  = http://downloads.sourceforge.net/libtirpc/
+source_dl  = https://downloads.sourceforge.net/libtirpc/
 sources    = %{thisapp}.tar.bz2
 
 build
        requires
                autoconf
                automake
-               libgssglue-devel
                libtool
+               krb5-devel
        end
 
        prepare_cmds
@@ -35,9 +35,6 @@ build
                autoreconf -fisv
        end
 
-       configure_options += \
-               --enable-gss
-
        install_cmds
                # Fix installation path of the man pages.
                mv %{BUILDROOT}%{mandir}/man3{,t}
diff --git a/libtirpc/patches/libtirpc-0.2.3-rc4.patch b/libtirpc/patches/libtirpc-0.2.3-rc4.patch
deleted file mode 100644 (file)
index 4f19f86..0000000
+++ /dev/null
@@ -1,1397 +0,0 @@
-diff --git a/configure.ac b/configure.ac
-index 97c6f2c..a99c5d6 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -15,6 +15,13 @@ if test x$gss = xtrue; then
-       PKG_CHECK_MODULES(GSSGLUE, libgssglue, [],
-       AC_MSG_ERROR([Unable to locate information required to use libgssglue.]))
- fi
-+AC_ARG_ENABLE(ipv6,
-+      [AC_HELP_STRING([--disable-ipv6], [Disable IPv6 support @<:@default=no@:>@])],
-+      [],[enable_ipv6=yes])
-+AM_CONDITIONAL(INET6, test "x$disable_ipv6" != xno)
-+if test "x$enable_ipv6" != xno; then
-+      AC_DEFINE(INET6, 1, [Define to 1 if IPv6 is available])
-+fi
- AC_PROG_CC
- AM_CONFIG_HEADER(config.h)
-@@ -23,6 +30,7 @@ AC_HEADER_DIRENT
- AC_PREFIX_DEFAULT(/usr)
- AC_CHECK_HEADERS([arpa/inet.h fcntl.h libintl.h limits.h locale.h netdb.h netinet/in.h stddef.h stdint.h stdlib.h string.h sys/ioctl.h sys/param.h sys/socket.h sys/time.h syslog.h unistd.h])
- AC_CHECK_LIB([pthread], [pthread_create])
-+AC_CHECK_LIB([nsl], [yp_get_default_domain])
- AC_CONFIG_FILES([Makefile src/Makefile man/Makefile doc/Makefile])
-diff --git a/doc/Makefile.am b/doc/Makefile.am
-index cc4fa76..58de35b 100644
---- a/doc/Makefile.am
-+++ b/doc/Makefile.am
-@@ -1,5 +1,5 @@
- install: install-am
--      $(mkinstalldirs) $(DESTDIR)/etc
--      cp -p ./etc_netconfig $(DESTDIR)/etc/netconfig
--      chmod 0644 $(DESTDIR)/etc/netconfig
-+      $(mkinstalldirs) $(DESTDIR)/$(sysconfdir)
-+      cp -p $(srcdir)/etc_netconfig $(DESTDIR)/$(sysconfdir)/netconfig
-+      chmod 0644 $(DESTDIR)/$(sysconfdir)/netconfig
-diff --git a/src/Makefile.am b/src/Makefile.am
-index 7ee8cbc..66350f5 100644
---- a/src/Makefile.am
-+++ b/src/Makefile.am
-@@ -40,7 +40,7 @@ lib_LTLIBRARIES = libtirpc.la
- # release number of your package. This is an abuse that only fosters
- # misunderstanding of the purpose of library versions."
- #
--libtirpc_la_LDFLAGS = -lnsl -lpthread -version-info 1:10:0
-+libtirpc_la_LDFLAGS = -lpthread -version-info 1:10:0
- libtirpc_la_SOURCES = auth_none.c auth_unix.c authunix_prot.c bindresvport.c clnt_bcast.c \
-         clnt_dg.c clnt_generic.c clnt_perror.c clnt_raw.c clnt_simple.c \
-@@ -48,17 +48,16 @@ libtirpc_la_SOURCES = auth_none.c auth_unix.c authunix_prot.c bindresvport.c cln
-         getrpcport.c mt_misc.c pmap_clnt.c pmap_getmaps.c pmap_getport.c \
-         pmap_prot.c pmap_prot2.c pmap_rmt.c rpc_prot.c rpc_commondata.c \
-         rpc_callmsg.c rpc_generic.c rpc_soc.c rpcb_clnt.c rpcb_prot.c \
--        rpcb_st_xdr.c svc.c svc_auth.c svc_dg.c svc_auth_unix.c svc_generic.c \
--        svc_raw.c svc_run.c svc_simple.c svc_vc.c getpeereid.c \
--        auth_time.c auth_des.c authdes_prot.c des_crypt.c
-+        rpcb_st_xdr.c svc.c svc_auth.c svc_dg.c svc_auth_unix.c svc_auth_none.c \
-+        svc_generic.c svc_raw.c svc_run.c svc_simple.c svc_vc.c getpeereid.c \
-+        auth_time.c auth_des.c authdes_prot.c
- ## XDR
- libtirpc_la_SOURCES += xdr.c xdr_rec.c xdr_array.c xdr_float.c xdr_mem.c xdr_reference.c xdr_stdio.c
- ## Secure-RPC
- if GSS
--    libtirpc_la_SOURCES += auth_gss.c authgss_prot.c svc_auth_gss.c \
--              svc_auth_none.c
-+    libtirpc_la_SOURCES += auth_gss.c authgss_prot.c svc_auth_gss.c
-     libtirpc_la_LDFLAGS += $(GSSGLUE_LIBS)
-     libtirpc_la_CFLAGS = -DHAVE_RPCSEC_GSS $(GSSGLUE_CFLAGS)
- endif
-diff --git a/src/auth_des.c b/src/auth_des.c
-index 37e7667..f0c8b8c 100644
---- a/src/auth_des.c
-+++ b/src/auth_des.c
-@@ -223,6 +223,7 @@ authdes_pk_seccreate(const char *servername, netobj *pkey, u_int window,
-               goto failed;
-       }
-       ad->ad_nis_srvr = NULL; /* not needed any longer */
-+      auth_get(auth);         /* Reference for caller */
-       return (auth);
- failed:
-@@ -472,6 +473,12 @@ authdes_destroy(AUTH *auth)
-       FREE(auth, sizeof(AUTH));
- }
-+static bool_t
-+authdes_wrap(AUTH *auth, XDR *xdrs, xdrproc_t xfunc, caddr_t xwhere)
-+{
-+      return ((*xfunc)(xdrs, xwhere));
-+}
-+
- static struct auth_ops *
- authdes_ops(void)
- {
-@@ -487,6 +494,8 @@ authdes_ops(void)
-               ops.ah_validate = authdes_validate;
-               ops.ah_refresh = authdes_refresh;
-               ops.ah_destroy = authdes_destroy;
-+              ops.ah_wrap = authdes_wrap;
-+              ops.ah_unwrap = authdes_wrap;
-         }
-       mutex_unlock(&authdes_ops_lock);
-       return (&ops);
-diff --git a/src/auth_gss.c b/src/auth_gss.c
-index df3017a..539101e 100644
---- a/src/auth_gss.c
-+++ b/src/auth_gss.c
-@@ -87,9 +87,9 @@ print_rpc_gss_sec(struct rpc_gss_sec *ptr)
- int i;
- char *p;
--      log_debug("rpc_gss_sec:");
-+      gss_log_debug("rpc_gss_sec:");
-       if(ptr->mech == NULL)
--              log_debug("NULL gss_OID mech");
-+              gss_log_debug("NULL gss_OID mech");
-       else {
-               fprintf(stderr, "     mechanism_OID: {");
-               p = (char *)ptr->mech->elements;
-@@ -151,7 +151,7 @@ authgss_create(CLIENT *clnt, gss_name_t name, struct rpc_gss_sec *sec)
-       struct rpc_gss_data     *gd;
-       OM_uint32               min_stat = 0;
--      log_debug("in authgss_create()");
-+      gss_log_debug("in authgss_create()");
-       memset(&rpc_createerr, 0, sizeof(rpc_createerr));
-@@ -200,6 +200,8 @@ authgss_create(CLIENT *clnt, gss_name_t name, struct rpc_gss_sec *sec)
-       if (!authgss_refresh(auth))
-               auth = NULL;
-+      else
-+              auth_get(auth); /* Reference for caller */
-       clnt->cl_auth = save_auth;
-@@ -214,7 +216,7 @@ authgss_create_default(CLIENT *clnt, char *service, struct rpc_gss_sec *sec)
-       gss_buffer_desc          sname;
-       gss_name_t               name = GSS_C_NO_NAME;
--      log_debug("in authgss_create_default()");
-+      gss_log_debug("in authgss_create_default()");
-       sname.value = service;
-@@ -225,7 +227,7 @@ authgss_create_default(CLIENT *clnt, char *service, struct rpc_gss_sec *sec)
-               &name);
-       if (maj_stat != GSS_S_COMPLETE) {
--              log_status("gss_import_name", maj_stat, min_stat);
-+              gss_log_status("gss_import_name", maj_stat, min_stat);
-               rpc_createerr.cf_stat = RPC_AUTHERROR;
-               return (NULL);
-       }
-@@ -247,7 +249,7 @@ authgss_get_private_data(AUTH *auth, struct authgss_private_data *pd)
- {
-       struct rpc_gss_data     *gd;
--      log_debug("in authgss_get_private_data()");
-+      gss_log_debug("in authgss_get_private_data()");
-       if (!auth || !pd)
-               return (FALSE);
-@@ -267,7 +269,7 @@ authgss_get_private_data(AUTH *auth, struct authgss_private_data *pd)
- static void
- authgss_nextverf(AUTH *auth)
- {
--      log_debug("in authgss_nextverf()");
-+      gss_log_debug("in authgss_nextverf()");
-       /* no action necessary */
- }
-@@ -281,7 +283,7 @@ authgss_marshal(AUTH *auth, XDR *xdrs)
-       OM_uint32                maj_stat, min_stat;
-       bool_t                   xdr_stat;
--      log_debug("in authgss_marshal()");
-+      gss_log_debug("in authgss_marshal()");
-       gd = AUTH_PRIVATE(auth);
-@@ -316,7 +318,7 @@ authgss_marshal(AUTH *auth, XDR *xdrs)
-                           &rpcbuf, &checksum);
-       if (maj_stat != GSS_S_COMPLETE) {
--              log_status("gss_get_mic", maj_stat, min_stat);
-+              gss_log_status("gss_get_mic", maj_stat, min_stat);
-               if (maj_stat == GSS_S_CONTEXT_EXPIRED) {
-                       gd->established = FALSE;
-                       authgss_destroy_context(auth);
-@@ -341,7 +343,7 @@ authgss_validate(AUTH *auth, struct opaque_auth *verf)
-       gss_buffer_desc          signbuf, checksum;
-       OM_uint32                maj_stat, min_stat;
--      log_debug("in authgss_validate()");
-+      gss_log_debug("in authgss_validate()");
-       gd = AUTH_PRIVATE(auth);
-@@ -377,7 +379,7 @@ authgss_validate(AUTH *auth, struct opaque_auth *verf)
-       maj_stat = gss_verify_mic(&min_stat, gd->ctx, &signbuf,
-                                 &checksum, &qop_state);
-       if (maj_stat != GSS_S_COMPLETE || qop_state != gd->sec.qop) {
--              log_status("gss_verify_mic", maj_stat, min_stat);
-+              gss_log_status("gss_verify_mic", maj_stat, min_stat);
-               if (maj_stat == GSS_S_CONTEXT_EXPIRED) {
-                       gd->established = FALSE;
-                       authgss_destroy_context(auth);
-@@ -395,7 +397,7 @@ authgss_refresh(AUTH *auth)
-       gss_buffer_desc         *recv_tokenp, send_token;
-       OM_uint32                maj_stat, min_stat, call_stat, ret_flags;
--      log_debug("in authgss_refresh()");
-+      gss_log_debug("in authgss_refresh()");
-       gd = AUTH_PRIVATE(auth);
-@@ -414,9 +416,9 @@ authgss_refresh(AUTH *auth)
- #ifdef DEBUG
-               /* print the token we just received */
-               if (recv_tokenp != GSS_C_NO_BUFFER) {
--                      log_debug("The token we just received (length %d):",
-+                      gss_log_debug("The token we just received (length %d):",
-                                 recv_tokenp->length);
--                      log_hexdump(recv_tokenp->value, recv_tokenp->length, 0);
-+                      gss_log_hexdump(recv_tokenp->value, recv_tokenp->length, 0);
-               }
- #endif
-               maj_stat = gss_init_sec_context(&min_stat,
-@@ -439,7 +441,7 @@ authgss_refresh(AUTH *auth)
-               }
-               if (maj_stat != GSS_S_COMPLETE &&
-                   maj_stat != GSS_S_CONTINUE_NEEDED) {
--                      log_status("gss_init_sec_context", maj_stat, min_stat);
-+                      gss_log_status("gss_init_sec_context", maj_stat, min_stat);
-                       break;
-               }
-               if (send_token.length != 0) {
-@@ -447,9 +449,9 @@ authgss_refresh(AUTH *auth)
- #ifdef DEBUG
-                       /* print the token we are about to send */
--                      log_debug("The token being sent (length %d):",
-+                      gss_log_debug("The token being sent (length %d):",
-                                 send_token.length);
--                      log_hexdump(send_token.value, send_token.length, 0);
-+                      gss_log_hexdump(send_token.value, send_token.length, 0);
- #endif
-                       call_stat = clnt_call(gd->clnt, NULLPROC,
-@@ -498,7 +500,7 @@ authgss_refresh(AUTH *auth)
-                       if (maj_stat != GSS_S_COMPLETE
-                                       || qop_state != gd->sec.qop) {
--                              log_status("gss_verify_mic", maj_stat, min_stat);
-+                              gss_log_status("gss_verify_mic", maj_stat, min_stat);
-                               if (maj_stat == GSS_S_CONTEXT_EXPIRED) {
-                                       gd->established = FALSE;
-                                       authgss_destroy_context(auth);
-@@ -531,7 +533,7 @@ authgss_service(AUTH *auth, int svc)
- {
-       struct rpc_gss_data     *gd;
--      log_debug("in authgss_service()");
-+      gss_log_debug("in authgss_service()");
-       if (!auth)
-               return(FALSE);
-@@ -549,15 +551,26 @@ authgss_destroy_context(AUTH *auth)
-       struct rpc_gss_data     *gd;
-       OM_uint32                min_stat;
--      log_debug("in authgss_destroy_context()");
-+      gss_log_debug("in authgss_destroy_context()");
-       gd = AUTH_PRIVATE(auth);
-       if (gd->gc.gc_ctx.length != 0) {
-               if (gd->established) {
-+                      AUTH *save_auth = NULL;
-+
-+                      /* Make sure we use the right auth_ops */
-+                      if (gd->clnt->cl_auth != auth) {
-+                              save_auth = gd->clnt->cl_auth;
-+                              gd->clnt->cl_auth = auth;
-+                      }
-+
-                       gd->gc.gc_proc = RPCSEC_GSS_DESTROY;
-                       clnt_call(gd->clnt, NULLPROC, (xdrproc_t)xdr_void, NULL,
-                                 (xdrproc_t)xdr_void, NULL, AUTH_TIMEOUT);
-+                      
-+                      if (save_auth != NULL)
-+                              gd->clnt->cl_auth = save_auth;
-               }
-               gss_release_buffer(&min_stat, &gd->gc.gc_ctx);
-               /* XXX ANDROS check size of context  - should be 8 */
-@@ -582,7 +595,7 @@ authgss_destroy(AUTH *auth)
-       struct rpc_gss_data     *gd;
-       OM_uint32                min_stat;
--      log_debug("in authgss_destroy()");
-+      gss_log_debug("in authgss_destroy()");
-       gd = AUTH_PRIVATE(auth);
-@@ -603,7 +616,7 @@ authgss_wrap(AUTH *auth, XDR *xdrs, xdrproc_t xdr_func, caddr_t xdr_ptr)
- {
-       struct rpc_gss_data     *gd;
--      log_debug("in authgss_wrap()");
-+      gss_log_debug("in authgss_wrap()");
-       gd = AUTH_PRIVATE(auth);
-@@ -620,7 +633,7 @@ authgss_unwrap(AUTH *auth, XDR *xdrs, xdrproc_t xdr_func, caddr_t xdr_ptr)
- {
-       struct rpc_gss_data     *gd;
--      log_debug("in authgss_unwrap()");
-+      gss_log_debug("in authgss_unwrap()");
-       gd = AUTH_PRIVATE(auth);
-diff --git a/src/auth_none.c b/src/auth_none.c
-index a439ec6..affc92b 100644
---- a/src/auth_none.c
-+++ b/src/auth_none.c
-@@ -110,20 +110,19 @@ static bool_t
- authnone_marshal(AUTH *client, XDR *xdrs)
- {
-       struct authnone_private *ap;
--      bool_t dummy;
-+      bool_t rv = FALSE;
-       extern mutex_t authnone_lock;
-       assert(xdrs != NULL);
-+      mutex_lock(&authnone_lock);
-       ap = authnone_private;
--      if (ap == NULL) {
--              mutex_unlock(&authnone_lock);
--              return (FALSE);
-+      if (ap) {
-+              rv = (*xdrs->x_ops->x_putbytes)(xdrs, ap->marshalled_client,
-+                                              ap->mcnt);
-       }
--      dummy = (*xdrs->x_ops->x_putbytes)(xdrs,
--          ap->marshalled_client, ap->mcnt);
-       mutex_unlock(&authnone_lock);
--      return (dummy);
-+      return (rv);
- }
- /* All these unused parameters are required to keep ANSI-C from grumbling */
-@@ -155,6 +154,12 @@ authnone_destroy(AUTH *client)
- {
- }
-+static bool_t
-+authnone_wrap(AUTH *auth, XDR *xdrs, xdrproc_t xfunc, caddr_t xwhere)
-+{
-+      return ((*xfunc)(xdrs, xwhere));
-+}
-+
- static struct auth_ops *
- authnone_ops()
- {
-@@ -170,6 +175,8 @@ authnone_ops()
-               ops.ah_validate = authnone_validate;
-               ops.ah_refresh = authnone_refresh;
-               ops.ah_destroy = authnone_destroy;
-+              ops.ah_wrap = authnone_wrap;
-+              ops.ah_unwrap = authnone_wrap;
-       }
-       mutex_unlock(&ops_lock);
-       return (&ops);
-diff --git a/src/auth_unix.c b/src/auth_unix.c
-index c2469da..4b9b13f 100644
---- a/src/auth_unix.c
-+++ b/src/auth_unix.c
-@@ -162,6 +162,7 @@ authunix_create(machname, uid, gid, len, aup_gids)
-        */
-       auth->ah_cred = au->au_origcred;
-       marshal_new_auth(auth);
-+      auth_get(auth);         /* Reference for caller */
-       return (auth);
- #ifndef _KERNEL
-  cleanup_authunix_create:
-@@ -396,6 +397,12 @@ marshal_new_auth(auth)
-       XDR_DESTROY(xdrs);
- }
-+static bool_t
-+authunix_wrap(AUTH *auth, XDR *xdrs, xdrproc_t xfunc, caddr_t xwhere)
-+{
-+      return ((*xfunc)(xdrs, xwhere));
-+}
-+
- static struct auth_ops *
- authunix_ops()
- {
-@@ -411,6 +418,8 @@ authunix_ops()
-               ops.ah_validate = authunix_validate;
-               ops.ah_refresh = authunix_refresh;
-               ops.ah_destroy = authunix_destroy;
-+              ops.ah_wrap = authunix_wrap;
-+              ops.ah_unwrap = authunix_wrap;
-       }
-       mutex_unlock(&ops_lock);
-       return (&ops);
-diff --git a/src/authgss_prot.c b/src/authgss_prot.c
-index 9d7fa09..a3c93c9 100644
---- a/src/authgss_prot.c
-+++ b/src/authgss_prot.c
-@@ -64,10 +64,10 @@ xdr_rpc_gss_buf(XDR *xdrs, gss_buffer_t buf, u_int maxsize)
-       if (xdr_stat && xdrs->x_op == XDR_DECODE)
-               buf->length = tmplen;
--      log_debug("xdr_rpc_gss_buf: %s %s (%p:%d)",
--                (xdrs->x_op == XDR_ENCODE) ? "encode" : "decode",
--                (xdr_stat == TRUE) ? "success" : "failure",
--                buf->value, buf->length);
-+      gss_log_debug("xdr_rpc_gss_buf: %s %s (%p:%d)",
-+                    (xdrs->x_op == XDR_ENCODE) ? "encode" : "decode",
-+                    (xdr_stat == TRUE) ? "success" : "failure",
-+                    buf->value, buf->length);
-       return xdr_stat;
- }
-@@ -83,12 +83,12 @@ xdr_rpc_gss_cred(XDR *xdrs, struct rpc_gss_cred *p)
-                   xdr_enum(xdrs, (enum_t *)&p->gc_svc) &&
-                   xdr_rpc_gss_buf(xdrs, &p->gc_ctx, MAX_AUTH_BYTES));
--      log_debug("xdr_rpc_gss_cred: %s %s "
--                "(v %d, proc %d, seq %d, svc %d, ctx %p:%d)",
--                (xdrs->x_op == XDR_ENCODE) ? "encode" : "decode",
--                (xdr_stat == TRUE) ? "success" : "failure",
--                p->gc_v, p->gc_proc, p->gc_seq, p->gc_svc,
--                p->gc_ctx.value, p->gc_ctx.length);
-+      gss_log_debug("xdr_rpc_gss_cred: %s %s "
-+                    "(v %d, proc %d, seq %d, svc %d, ctx %p:%d)",
-+                    (xdrs->x_op == XDR_ENCODE) ? "encode" : "decode",
-+                    (xdr_stat == TRUE) ? "success" : "failure",
-+                    p->gc_v, p->gc_proc, p->gc_seq, p->gc_svc,
-+                    p->gc_ctx.value, p->gc_ctx.length);
-       return (xdr_stat);
- }
-@@ -101,10 +101,10 @@ xdr_rpc_gss_init_args(XDR *xdrs, gss_buffer_desc *p)
-       xdr_stat = xdr_rpc_gss_buf(xdrs, p, maxlen);
--      log_debug("xdr_rpc_gss_init_args: %s %s (token %p:%d)",
--                (xdrs->x_op == XDR_ENCODE) ? "encode" : "decode",
--                (xdr_stat == TRUE) ? "success" : "failure",
--                p->value, p->length);
-+      gss_log_debug("xdr_rpc_gss_init_args: %s %s (token %p:%d)",
-+                    (xdrs->x_op == XDR_ENCODE) ? "encode" : "decode",
-+                    (xdr_stat == TRUE) ? "success" : "failure",
-+                    p->value, p->length);
-       return (xdr_stat);
- }
-@@ -123,13 +123,13 @@ xdr_rpc_gss_init_res(XDR *xdrs, struct rpc_gss_init_res *p)
-                   xdr_u_int(xdrs, &p->gr_win) &&
-                   xdr_rpc_gss_buf(xdrs, &p->gr_token, tok_maxlen));
--      log_debug("xdr_rpc_gss_init_res %s %s "
--                "(ctx %p:%d, maj %d, min %d, win %d, token %p:%d)",
--                (xdrs->x_op == XDR_ENCODE) ? "encode" : "decode",
--                (xdr_stat == TRUE) ? "success" : "failure",
--                p->gr_ctx.value, p->gr_ctx.length,
--                p->gr_major, p->gr_minor, p->gr_win,
--                p->gr_token.value, p->gr_token.length);
-+      gss_log_debug("xdr_rpc_gss_init_res %s %s "
-+                    "(ctx %p:%d, maj %d, min %d, win %d, token %p:%d)",
-+                    (xdrs->x_op == XDR_ENCODE) ? "encode" : "decode",
-+                    (xdr_stat == TRUE) ? "success" : "failure",
-+                    p->gr_ctx.value, p->gr_ctx.length,
-+                    p->gr_major, p->gr_minor, p->gr_win,
-+                    p->gr_token.value, p->gr_token.length);
-       return (xdr_stat);
- }
-@@ -161,6 +161,7 @@ xdr_rpc_gss_wrap_data(XDR *xdrs, xdrproc_t xdr_func, caddr_t xdr_ptr,
-       databuflen = end - start - 4;
-       XDR_SETPOS(xdrs, start + 4);
-       databuf.value = XDR_INLINE(xdrs, databuflen);
-+      databuf.length = databuflen;
-       xdr_stat = FALSE;
-@@ -169,13 +170,12 @@ xdr_rpc_gss_wrap_data(XDR *xdrs, xdrproc_t xdr_func, caddr_t xdr_ptr,
-               XDR_SETPOS(xdrs, start);
-               if (!xdr_u_int(xdrs, (u_int *)&databuflen))
-                       return (FALSE);
--              databuf.length = databuflen;
-               /* Checksum rpc_gss_data_t. */
-               maj_stat = gss_get_mic(&min_stat, ctx, qop,
-                                      &databuf, &wrapbuf);
-               if (maj_stat != GSS_S_COMPLETE) {
--                      log_debug("gss_get_mic failed");
-+                      gss_log_debug("gss_get_mic failed");
-                       return (FALSE);
-               }
-               /* Marshal checksum. */
-@@ -189,7 +189,7 @@ xdr_rpc_gss_wrap_data(XDR *xdrs, xdrproc_t xdr_func, caddr_t xdr_ptr,
-               maj_stat = gss_wrap(&min_stat, ctx, TRUE, qop, &databuf,
-                                   &conf_state, &wrapbuf);
-               if (maj_stat != GSS_S_COMPLETE) {
--                      log_status("gss_wrap", maj_stat, min_stat);
-+                      gss_log_status("gss_wrap", maj_stat, min_stat);
-                       return (FALSE);
-               }
-               /* Marshal databody_priv. */
-@@ -222,13 +222,13 @@ xdr_rpc_gss_unwrap_data(XDR *xdrs, xdrproc_t xdr_func, caddr_t xdr_ptr,
-       if (svc == RPCSEC_GSS_SVC_INTEGRITY) {
-               /* Decode databody_integ. */
-               if (!xdr_rpc_gss_buf(xdrs, &databuf, (u_int)-1)) {
--                      log_debug("xdr decode databody_integ failed");
-+                      gss_log_debug("xdr decode databody_integ failed");
-                       return (FALSE);
-               }
-               /* Decode checksum. */
-               if (!xdr_rpc_gss_buf(xdrs, &wrapbuf, (u_int)-1)) {
-                       gss_release_buffer(&min_stat, &databuf);
--                      log_debug("xdr decode checksum failed");
-+                      gss_log_debug("xdr decode checksum failed");
-                       return (FALSE);
-               }
-               /* Verify checksum and QOP. */
-@@ -238,14 +238,14 @@ xdr_rpc_gss_unwrap_data(XDR *xdrs, xdrproc_t xdr_func, caddr_t xdr_ptr,
-               if (maj_stat != GSS_S_COMPLETE || qop_state != qop) {
-                       gss_release_buffer(&min_stat, &databuf);
--                      log_status("gss_verify_mic", maj_stat, min_stat);
-+                      gss_log_status("gss_verify_mic", maj_stat, min_stat);
-                       return (FALSE);
-               }
-       }
-       else if (svc == RPCSEC_GSS_SVC_PRIVACY) {
-               /* Decode databody_priv. */
-               if (!xdr_rpc_gss_buf(xdrs, &wrapbuf, (u_int)-1)) {
--                      log_debug("xdr decode databody_priv failed");
-+                      gss_log_debug("xdr decode databody_priv failed");
-                       return (FALSE);
-               }
-               /* Decrypt databody. */
-@@ -258,7 +258,7 @@ xdr_rpc_gss_unwrap_data(XDR *xdrs, xdrproc_t xdr_func, caddr_t xdr_ptr,
-               if (maj_stat != GSS_S_COMPLETE || qop_state != qop ||
-                       conf_state != TRUE) {
-                       gss_release_buffer(&min_stat, &databuf);
--                      log_status("gss_unwrap", maj_stat, min_stat);
-+                      gss_log_status("gss_unwrap", maj_stat, min_stat);
-                       return (FALSE);
-               }
-       }
-@@ -271,7 +271,7 @@ xdr_rpc_gss_unwrap_data(XDR *xdrs, xdrproc_t xdr_func, caddr_t xdr_ptr,
-       /* Verify sequence number. */
-       if (xdr_stat == TRUE && seq_num != seq) {
--              log_debug("wrong sequence number in databody");
-+              gss_log_debug("wrong sequence number in databody");
-               return (FALSE);
-       }
-       return (xdr_stat);
-@@ -300,7 +300,7 @@ xdr_rpc_gss_data(XDR *xdrs, xdrproc_t xdr_func, caddr_t xdr_ptr,
- #include <ctype.h>
- void
--log_debug(const char *fmt, ...)
-+gss_log_debug(const char *fmt, ...)
- {
-       va_list ap;
-@@ -312,7 +312,7 @@ log_debug(const char *fmt, ...)
- }
- void
--log_status(char *m, OM_uint32 maj_stat, OM_uint32 min_stat)
-+gss_log_status(char *m, OM_uint32 maj_stat, OM_uint32 min_stat)
- {
-       OM_uint32 min;
-       gss_buffer_desc msg;
-@@ -332,7 +332,7 @@ log_status(char *m, OM_uint32 maj_stat, OM_uint32 min_stat)
- }
- void
--log_hexdump(const u_char *buf, int len, int offset)
-+gss_log_hexdump(const u_char *buf, int len, int offset)
- {
-       u_int i, j, jm;
-       int c;
-@@ -367,17 +367,17 @@ log_hexdump(const u_char *buf, int len, int offset)
- #else
- void
--log_debug(const char *fmt, ...)
-+gss_log_debug(const char *fmt, ...)
- {
- }
- void
--log_status(char *m, OM_uint32 maj_stat, OM_uint32 min_stat)
-+gss_log_status(char *m, OM_uint32 maj_stat, OM_uint32 min_stat)
- {
- }
- void
--log_hexdump(const u_char *buf, int len, int offset)
-+gss_log_hexdump(const u_char *buf, int len, int offset)
- {
- }
-diff --git a/src/clnt_dg.c b/src/clnt_dg.c
-index 79fed5d..4a1f60a 100644
---- a/src/clnt_dg.c
-+++ b/src/clnt_dg.c
-@@ -366,7 +366,7 @@ call_again:
-       if ((! XDR_PUTINT32(xdrs, (int32_t *)&proc)) ||
-           (! AUTH_MARSHALL(cl->cl_auth, xdrs)) ||
--          (! (*xargs)(xdrs, argsp))) {
-+          (! AUTH_WRAP(cl->cl_auth, xdrs, xargs, argsp))) {
-               cu->cu_error.re_status = RPC_CANTENCODEARGS;
-               goto out;
-       }
-@@ -400,8 +400,8 @@ get_reply:
-        * (We assume that this is actually only executed once.)
-        */
-       reply_msg.acpted_rply.ar_verf = _null_auth;
--      reply_msg.acpted_rply.ar_results.where = resultsp;
--      reply_msg.acpted_rply.ar_results.proc = xresults;
-+      reply_msg.acpted_rply.ar_results.where = NULL;
-+      reply_msg.acpted_rply.ar_results.proc = (xdrproc_t)xdr_void;
-         fd.fd = cu->cu_fd;
-         fd.events = POLLIN;
-@@ -512,6 +512,10 @@ get_reply:
-                                           &reply_msg.acpted_rply.ar_verf)) {
-                               cu->cu_error.re_status = RPC_AUTHERROR;
-                               cu->cu_error.re_why = AUTH_INVALIDRESP;
-+                      } else if (! AUTH_UNWRAP(cl->cl_auth, &reply_xdrs,
-+                                               xresults, resultsp)) {
-+                              if (cu->cu_error.re_status == RPC_SUCCESS)
-+                                   cu->cu_error.re_status = RPC_CANTDECODERES;
-                       }
-                       if (reply_msg.acpted_rply.ar_verf.oa_base != NULL) {
-                               xdrs->x_op = XDR_FREE;
-diff --git a/src/clnt_vc.c b/src/clnt_vc.c
-index 359063c..097cae8 100644
---- a/src/clnt_vc.c
-+++ b/src/clnt_vc.c
-@@ -364,7 +364,7 @@ call_again:
-       if ((! XDR_PUTBYTES(xdrs, ct->ct_u.ct_mcallc, ct->ct_mpos)) ||
-           (! XDR_PUTINT32(xdrs, (int32_t *)&proc)) ||
-           (! AUTH_MARSHALL(cl->cl_auth, xdrs)) ||
--          (! (*xdr_args)(xdrs, args_ptr))) {
-+          (! AUTH_WRAP(cl->cl_auth, xdrs, xdr_args, args_ptr))) {
-               if (ct->ct_error.re_status == RPC_SUCCESS)
-                       ct->ct_error.re_status = RPC_CANTENCODEARGS;
-               (void)xdrrec_endofrecord(xdrs, TRUE);
-@@ -420,7 +420,8 @@ call_again:
-                   &reply_msg.acpted_rply.ar_verf)) {
-                       ct->ct_error.re_status = RPC_AUTHERROR;
-                       ct->ct_error.re_why = AUTH_INVALIDRESP;
--              } else if (! (*xdr_results)(xdrs, results_ptr)) {
-+              } else if (! AUTH_UNWRAP(cl->cl_auth, xdrs,
-+                                       xdr_results, results_ptr)) {
-                       if (ct->ct_error.re_status == RPC_SUCCESS)
-                               ct->ct_error.re_status = RPC_CANTDECODERES;
-               }
-diff --git a/src/rpc_generic.c b/src/rpc_generic.c
-index 509fb36..2eb91ad 100644
---- a/src/rpc_generic.c
-+++ b/src/rpc_generic.c
-@@ -535,7 +535,9 @@ __rpc_nconf2fd_flags(const struct netconfig *nconf, int flags)
-           si.si_af == AF_INET6) {
-               int val = 1;
-+#ifdef INET6
-               setsockopt(fd, SOL_IPV6, IPV6_V6ONLY, &val, sizeof(val));
-+#endif
-       }
-       return fd;
- }
-diff --git a/src/rpc_soc.c b/src/rpc_soc.c
-index c678429..63d2197 100644
---- a/src/rpc_soc.c
-+++ b/src/rpc_soc.c
-@@ -560,12 +560,10 @@ clntunix_create(raddr, prog, vers, sockp, sendsz, recvsz)
-       u_int recvsz;
- {
-       struct netbuf *svcaddr;
--      struct netconfig *nconf;
-       CLIENT *cl;
-       int len;
-       cl = NULL;
--      nconf = NULL;
-       svcaddr = NULL;
-       if (((svcaddr = malloc(sizeof(struct netbuf))) == NULL ) ||
-           ((svcaddr->buf = malloc(sizeof(struct sockaddr_un))) == NULL)) {
-diff --git a/src/svc.c b/src/svc.c
-index b4a63d0..08cd6c9 100644
---- a/src/svc.c
-+++ b/src/svc.c
-@@ -77,9 +77,6 @@ static struct svc_callout
- extern rwlock_t svc_lock;
- extern rwlock_t svc_fd_lock;
--#ifdef HAVE_LIBGSSAPI
--extern struct svc_auth_ops svc_auth_gss_ops;
--#endif
- static struct svc_callout *svc_find (rpcprog_t, rpcvers_t,
-                                    struct svc_callout **, char *);
-@@ -717,11 +714,9 @@ svc_getreq_common (fd)
-         SVC_DESTROY (xprt);
-         break;
-       }
--    else if ((xprt->xp_auth != NULL) 
--#ifdef HAVE_LIBGSSAPI
--              && (xprt->xp_auth->svc_ah_ops != &svc_auth_gss_ops)
--#endif
--      ) {
-+    else if ((xprt->xp_auth != NULL) &&
-+           (xprt->xp_auth->svc_ah_private == NULL))
-+      {
-         xprt->xp_auth = NULL;
-       }
-     }
-diff --git a/src/svc_auth.c b/src/svc_auth.c
-index c6b3a0b..e80d5f9 100644
---- a/src/svc_auth.c
-+++ b/src/svc_auth.c
-@@ -98,8 +98,8 @@ _authenticate(rqst, msg)
-       rqst->rq_xprt->xp_verf.oa_length = 0;
-       cred_flavor = rqst->rq_cred.oa_flavor;
-       switch (cred_flavor) {
--      case AUTH_NULL:
--              dummy = _svcauth_null(rqst, msg);
-+      case AUTH_NONE:
-+              dummy = _svcauth_none(rqst, msg);
-               return (dummy);
-       case AUTH_SYS:
-               dummy = _svcauth_unix(rqst, msg);
-@@ -132,15 +132,6 @@ _authenticate(rqst, msg)
-       return (AUTH_REJECTEDCRED);
- }
--/*ARGSUSED*/
--enum auth_stat
--_svcauth_null(rqst, msg)
--      struct svc_req *rqst;
--      struct rpc_msg *msg;
--{
--      return (AUTH_OK);
--}
--
- /*
-  *  Allow the rpc service to register new authentication types that it is
-  *  prepared to handle.  When an authentication flavor is registered,
-diff --git a/src/svc_auth_gss.c b/src/svc_auth_gss.c
-index 54b23b1..9c74313 100644
---- a/src/svc_auth_gss.c
-+++ b/src/svc_auth_gss.c
-@@ -87,13 +87,13 @@ svcauth_gss_set_svc_name(gss_name_t name)
- {
-       OM_uint32       maj_stat, min_stat;
--      log_debug("in svcauth_gss_set_svc_name()");
-+      gss_log_debug("in svcauth_gss_set_svc_name()");
-       if (_svcauth_gss_name != NULL) {
-               maj_stat = gss_release_name(&min_stat, &_svcauth_gss_name);
-               if (maj_stat != GSS_S_COMPLETE) {
--                      log_status("gss_release_name", maj_stat, min_stat);
-+                      gss_log_status("gss_release_name", maj_stat, min_stat);
-                       return (FALSE);
-               }
-               _svcauth_gss_name = NULL;
-@@ -101,7 +101,7 @@ svcauth_gss_set_svc_name(gss_name_t name)
-       maj_stat = gss_duplicate_name(&min_stat, name, &_svcauth_gss_name);
-       if (maj_stat != GSS_S_COMPLETE) {
--              log_status("gss_duplicate_name", maj_stat, min_stat);
-+              gss_log_status("gss_duplicate_name", maj_stat, min_stat);
-               return (FALSE);
-       }
-@@ -115,7 +115,7 @@ svcauth_gss_import_name(char *service)
-       gss_buffer_desc namebuf;
-       OM_uint32       maj_stat, min_stat;
--      log_debug("in svcauth_gss_import_name()");
-+      gss_log_debug("in svcauth_gss_import_name()");
-       namebuf.value = service;
-       namebuf.length = strlen(service);
-@@ -124,7 +124,7 @@ svcauth_gss_import_name(char *service)
-                                  (gss_OID)GSS_C_NT_HOSTBASED_SERVICE, &name);
-       if (maj_stat != GSS_S_COMPLETE) {
--              log_status("gss_import_name", maj_stat, min_stat);
-+              gss_log_status("gss_import_name", maj_stat, min_stat);
-               return (FALSE);
-       }
-       if (svcauth_gss_set_svc_name(name) != TRUE) {
-@@ -139,14 +139,14 @@ svcauth_gss_acquire_cred(void)
- {
-       OM_uint32       maj_stat, min_stat;
--      log_debug("in svcauth_gss_acquire_cred()");
-+      gss_log_debug("in svcauth_gss_acquire_cred()");
-       maj_stat = gss_acquire_cred(&min_stat, _svcauth_gss_name, 0,
-                                   GSS_C_NULL_OID_SET, GSS_C_ACCEPT,
-                                   &_svcauth_gss_creds, NULL, NULL);
-       if (maj_stat != GSS_S_COMPLETE) {
--              log_status("gss_acquire_cred", maj_stat, min_stat);
-+              gss_log_status("gss_acquire_cred", maj_stat, min_stat);
-               return (FALSE);
-       }
-       return (TRUE);
-@@ -157,12 +157,12 @@ svcauth_gss_release_cred(void)
- {
-       OM_uint32       maj_stat, min_stat;
--      log_debug("in svcauth_gss_release_cred()");
-+      gss_log_debug("in svcauth_gss_release_cred()");
-       maj_stat = gss_release_cred(&min_stat, &_svcauth_gss_creds);
-       if (maj_stat != GSS_S_COMPLETE) {
--              log_status("gss_release_cred", maj_stat, min_stat);
-+              gss_log_status("gss_release_cred", maj_stat, min_stat);
-               return (FALSE);
-       }
-@@ -181,7 +181,7 @@ svcauth_gss_accept_sec_context(struct svc_req *rqst,
-       gss_OID                  mech;
-       OM_uint32                maj_stat = 0, min_stat = 0, ret_flags, seq;
--      log_debug("in svcauth_gss_accept_context()");
-+      gss_log_debug("in svcauth_gss_accept_context()");
-       gd = SVCAUTH_PRIVATE(rqst->rq_xprt->xp_auth);
-       gc = (struct rpc_gss_cred *)rqst->rq_clntcred;
-@@ -208,7 +208,7 @@ svcauth_gss_accept_sec_context(struct svc_req *rqst,
-       if (gr->gr_major != GSS_S_COMPLETE &&
-           gr->gr_major != GSS_S_CONTINUE_NEEDED) {
--              log_status("accept_sec_context", gr->gr_major, gr->gr_minor);
-+              gss_log_status("accept_sec_context", gr->gr_major, gr->gr_minor);
-               gd->ctx = GSS_C_NO_CONTEXT;
-               gss_release_buffer(&min_stat, &gr->gr_token);
-               return (FALSE);
-@@ -238,7 +238,7 @@ svcauth_gss_accept_sec_context(struct svc_req *rqst,
-               maj_stat = gss_display_name(&min_stat, gd->client_name,
-                                           &gd->cname, &gd->sec.mech);
-               if (maj_stat != GSS_S_COMPLETE) {
--                      log_status("display_name", maj_stat, min_stat);
-+                      gss_log_status("display_name", maj_stat, min_stat);
-                       return (FALSE);
-               }
- #ifdef DEBUG
-@@ -248,19 +248,19 @@ svcauth_gss_accept_sec_context(struct svc_req *rqst,
-                       gss_oid_to_str(&min_stat, mech, &mechname);
--                      log_debug("accepted context for %.*s with "
--                                "<mech %.*s, qop %d, svc %d>",
--                                gd->cname.length, (char *)gd->cname.value,
--                                mechname.length, (char *)mechname.value,
--                                gd->sec.qop, gd->sec.svc);
-+                      gss_log_debug("accepted context for %.*s with "
-+                                    "<mech %.*s, qop %d, svc %d>",
-+                                    gd->cname.length, (char *)gd->cname.value,
-+                                    mechname.length, (char *)mechname.value,
-+                                    gd->sec.qop, gd->sec.svc);
-                       gss_release_buffer(&min_stat, &mechname);
-               }
- #elif HAVE_HEIMDAL
--              log_debug("accepted context for %.*s with "
--                        "<mech {}, qop %d, svc %d>",
--                        gd->cname.length, (char *)gd->cname.value,
--                        gd->sec.qop, gd->sec.svc);
-+              gss_log_debug("accepted context for %.*s with "
-+                            "<mech {}, qop %d, svc %d>",
-+                            gd->cname.length, (char *)gd->cname.value,
-+                            gd->sec.qop, gd->sec.svc);
- #endif
- #endif /* DEBUG */
-               seq = htonl(gr->gr_win);
-@@ -289,7 +289,7 @@ svcauth_gss_validate(struct svc_rpc_gss_data *gd, struct rpc_msg *msg)
-       u_char                   rpchdr[128];
-       int32_t                 *buf;
--      log_debug("in svcauth_gss_validate()");
-+      gss_log_debug("in svcauth_gss_validate()");
-       memset(rpchdr, 0, sizeof(rpchdr));
-@@ -326,7 +326,7 @@ svcauth_gss_validate(struct svc_rpc_gss_data *gd, struct rpc_msg *msg)
-                                 &qop_state);
-       if (maj_stat != GSS_S_COMPLETE) {
--              log_status("gss_verify_mic", maj_stat, min_stat);
-+              gss_log_status("gss_verify_mic", maj_stat, min_stat);
-               return (FALSE);
-       }
-       return (TRUE);
-@@ -339,7 +339,7 @@ svcauth_gss_nextverf(struct svc_req *rqst, u_int num)
-       gss_buffer_desc          signbuf, checksum;
-       OM_uint32                maj_stat, min_stat;
--      log_debug("in svcauth_gss_nextverf()");
-+      gss_log_debug("in svcauth_gss_nextverf()");
-       if (rqst->rq_xprt->xp_auth == NULL)
-               return (FALSE);
-@@ -353,7 +353,7 @@ svcauth_gss_nextverf(struct svc_req *rqst, u_int num)
-                              &signbuf, &checksum);
-       if (maj_stat != GSS_S_COMPLETE) {
--              log_status("gss_get_mic", maj_stat, min_stat);
-+              gss_log_status("gss_get_mic", maj_stat, min_stat);
-               return (FALSE);
-       }
-       rqst->rq_xprt->xp_verf.oa_flavor = RPCSEC_GSS;
-@@ -373,7 +373,7 @@ _svcauth_gss(struct svc_req *rqst, struct rpc_msg *msg, bool_t *no_dispatch)
-       struct rpc_gss_init_res  gr;
-       int                      call_stat, offset;
--      log_debug("in svcauth_gss()");
-+      gss_log_debug("in svcauth_gss()");
-       /* Initialize reply. */
-       rqst->rq_xprt->xp_verf = _null_auth;
-@@ -519,7 +519,7 @@ svcauth_gss_destroy(SVCAUTH *auth)
-       struct svc_rpc_gss_data *gd;
-       OM_uint32                min_stat;
--      log_debug("in svcauth_gss_destroy()");
-+      gss_log_debug("in svcauth_gss_destroy()");
-       gd = SVCAUTH_PRIVATE(auth);
-@@ -540,7 +540,7 @@ svcauth_gss_wrap(SVCAUTH *auth, XDR *xdrs, xdrproc_t xdr_func, caddr_t xdr_ptr)
- {
-       struct svc_rpc_gss_data *gd;
--      log_debug("in svcauth_gss_wrap()");
-+      gss_log_debug("in svcauth_gss_wrap()");
-       gd = SVCAUTH_PRIVATE(auth);
-@@ -557,7 +557,7 @@ svcauth_gss_unwrap(SVCAUTH *auth, XDR *xdrs, xdrproc_t xdr_func, caddr_t xdr_ptr
- {
-       struct svc_rpc_gss_data *gd;
--      log_debug("in svcauth_gss_unwrap()");
-+      gss_log_debug("in svcauth_gss_unwrap()");
-       gd = SVCAUTH_PRIVATE(auth);
-diff --git a/src/svc_auth_unix.c b/src/svc_auth_unix.c
-index ce83859..9585069 100644
---- a/src/svc_auth_unix.c
-+++ b/src/svc_auth_unix.c
-@@ -43,6 +43,8 @@
- #include <rpc/rpc.h>
-+extern SVCAUTH svc_auth_none;
-+
- /*
-  * Unix longhand authenticator
-  */
-@@ -67,6 +69,8 @@ _svcauth_unix(rqst, msg)
-       assert(rqst != NULL);
-       assert(msg != NULL);
-+      rqst->rq_xprt->xp_auth = &svc_auth_none;
-+
-       area = (struct area *) rqst->rq_clntcred;
-       aup = &area->area_aup;
-       aup->aup_machname = area->area_machname;
-@@ -142,5 +146,6 @@ _svcauth_short(rqst, msg)
-       struct svc_req *rqst;
-       struct rpc_msg *msg;
- {
-+      rqst->rq_xprt->xp_auth = &svc_auth_none;
-       return (AUTH_REJECTEDCRED);
- }
-diff --git a/src/svc_dg.c b/src/svc_dg.c
-index 66a56ee..b1ac462 100644
---- a/src/svc_dg.c
-+++ b/src/svc_dg.c
-@@ -134,6 +134,7 @@ svc_dg_create(fd, sendsize, recvsize)
-       su->su_cache = NULL;
-       xprt->xp_fd = fd;
-       xprt->xp_p2 = su;
-+      xprt->xp_auth = NULL;
-       xprt->xp_verf.oa_base = su->su_verfbody;
-       svc_dg_ops(xprt);
-       xprt->xp_rtaddr.maxlen = sizeof (struct sockaddr_storage);
-@@ -234,10 +235,27 @@ svc_dg_reply(xprt, msg)
-       bool_t stat = FALSE;
-       size_t slen;
-+      xdrproc_t xdr_results;
-+      caddr_t xdr_location;
-+      bool_t has_args;
-+
-+      if (msg->rm_reply.rp_stat == MSG_ACCEPTED &&
-+          msg->rm_reply.rp_acpt.ar_stat == SUCCESS) {
-+              has_args = TRUE;
-+              xdr_results = msg->acpted_rply.ar_results.proc;
-+              xdr_location = msg->acpted_rply.ar_results.where;
-+
-+              msg->acpted_rply.ar_results.proc = (xdrproc_t)xdr_void;
-+              msg->acpted_rply.ar_results.where = NULL;
-+      } else
-+              has_args = FALSE;
-+
-       xdrs->x_op = XDR_ENCODE;
-       XDR_SETPOS(xdrs, 0);
-       msg->rm_xid = su->su_xid;
--      if (xdr_replymsg(xdrs, msg)) {
-+      if (xdr_replymsg(xdrs, msg) &&
-+          (!has_args || (xprt->xp_auth &&
-+           SVCAUTH_WRAP(xprt->xp_auth, xdrs, xdr_results, xdr_location)))) {
-               struct msghdr *msg = &su->su_msghdr;
-               struct iovec iov;
-@@ -264,7 +282,12 @@ svc_dg_getargs(xprt, xdr_args, args_ptr)
-       xdrproc_t xdr_args;
-       void *args_ptr;
- {
--      return (*xdr_args)(&(su_data(xprt)->su_xdrs), args_ptr);
-+      if (! SVCAUTH_UNWRAP(xprt->xp_auth, &(su_data(xprt)->su_xdrs),
-+                           xdr_args, args_ptr)) {
-+              (void)svc_freeargs(xprt, xdr_args, args_ptr);
-+              return FALSE;
-+      }
-+      return TRUE;
- }
- static bool_t
-@@ -288,6 +311,10 @@ svc_dg_destroy(xprt)
-       xprt_unregister(xprt);
-       if (xprt->xp_fd != -1)
-               (void)close(xprt->xp_fd);
-+      if (xprt->xp_auth != NULL) {
-+              SVCAUTH_DESTROY(xprt->xp_auth);
-+              xprt->xp_auth = NULL;
-+      }
-       XDR_DESTROY(&(su->su_xdrs));
-       (void) mem_free(rpc_buffer(xprt), su->su_iosz);
-       (void) mem_free(su, sizeof (*su));
-@@ -626,10 +653,11 @@ svc_dg_enable_pktinfo(int fd, const struct __rpc_sockinfo *si)
-       case AF_INET:
-               (void) setsockopt(fd, SOL_IP, IP_PKTINFO, &val, sizeof(val));
-               break;
--
-+#ifdef INET6
-       case AF_INET6:
--              (void) setsockopt(fd, SOL_IPV6, IPV6_PKTINFO, &val, sizeof(val));
-+              (void) setsockopt(fd, SOL_IPV6, IPV6_RECVPKTINFO, &val, sizeof(val));
-               break;
-+#endif
-       }
- }
-@@ -667,6 +695,7 @@ svc_dg_valid_pktinfo(struct msghdr *msg)
-               }
-               break;
-+#ifdef INET6
-       case AF_INET6:
-               if (cmsg->cmsg_level != SOL_IPV6
-                || cmsg->cmsg_type != IPV6_PKTINFO
-@@ -679,6 +708,7 @@ svc_dg_valid_pktinfo(struct msghdr *msg)
-                       pkti->ipi6_ifindex = 0;
-               }
-               break;
-+#endif
-       default:
-               return 0;
-diff --git a/src/svc_vc.c b/src/svc_vc.c
-index aaaf2d7..4c70de8 100644
---- a/src/svc_vc.c
-+++ b/src/svc_vc.c
-@@ -172,6 +172,7 @@ svc_vc_create(fd, sendsize, recvsize)
-       xprt->xp_p1 = r;
-       xprt->xp_p2 = NULL;
-       xprt->xp_p3 = NULL;
-+      xprt->xp_auth = NULL;
-       xprt->xp_verf = _null_auth;
-       svc_vc_rendezvous_ops(xprt);
-       xprt->xp_port = (u_short)-1;    /* It is the rendezvouser */
-@@ -283,6 +284,7 @@ makefd_xprt(fd, sendsize, recvsize)
-       xdrrec_create(&(cd->xdrs), sendsize, recvsize,
-           xprt, read_vc, write_vc);
-       xprt->xp_p1 = cd;
-+      xprt->xp_auth = NULL;
-       xprt->xp_verf.oa_base = cd->verf_body;
-       svc_vc_ops(xprt);  /* truely deals with calls */
-       xprt->xp_port = 0;  /* this is a connection, not a rendezvouser */
-@@ -412,6 +414,10 @@ __svc_vc_dodestroy(xprt)
-               XDR_DESTROY(&(cd->xdrs));
-               mem_free(cd, sizeof(struct cf_conn));
-       }
-+      if (xprt->xp_auth != NULL) {
-+              SVCAUTH_DESTROY(xprt->xp_auth);
-+              xprt->xp_auth = NULL;
-+      }
-       if (xprt->xp_rtaddr.buf)
-               mem_free(xprt->xp_rtaddr.buf, xprt->xp_rtaddr.maxlen);
-       if (xprt->xp_ltaddr.buf)
-@@ -610,7 +616,11 @@ svc_vc_recv(xprt, msg)
-       }
-       xdrs->x_op = XDR_DECODE;
--      (void)xdrrec_skiprecord(xdrs);
-+      /*
-+       * No need skip records with nonblocking connections
-+       */
-+      if (cd->nonblock == FALSE)
-+              (void)xdrrec_skiprecord(xdrs);
-       if (xdr_callmsg(xdrs, msg)) {
-               cd->x_id = msg->rm_xid;
-               return (TRUE);
-@@ -628,8 +638,13 @@ svc_vc_getargs(xprt, xdr_args, args_ptr)
-       assert(xprt != NULL);
-       /* args_ptr may be NULL */
--      return ((*xdr_args)(&(((struct cf_conn *)(xprt->xp_p1))->xdrs),
--          args_ptr));
-+
-+      if (! SVCAUTH_UNWRAP(xprt->xp_auth,
-+                           &(((struct cf_conn *)(xprt->xp_p1))->xdrs),
-+                           xdr_args, args_ptr)) {
-+              return FALSE;  
-+      }
-+      return TRUE;
- }
- static bool_t
-@@ -658,15 +673,35 @@ svc_vc_reply(xprt, msg)
-       XDR *xdrs;
-       bool_t rstat;
-+      xdrproc_t xdr_results;
-+      caddr_t xdr_location;
-+      bool_t has_args;
-+
-       assert(xprt != NULL);
-       assert(msg != NULL);
-       cd = (struct cf_conn *)(xprt->xp_p1);
-       xdrs = &(cd->xdrs);
-+      if (msg->rm_reply.rp_stat == MSG_ACCEPTED &&
-+          msg->rm_reply.rp_acpt.ar_stat == SUCCESS) {
-+              has_args = TRUE;
-+              xdr_results = msg->acpted_rply.ar_results.proc;
-+              xdr_location = msg->acpted_rply.ar_results.where;
-+
-+              msg->acpted_rply.ar_results.proc = (xdrproc_t)xdr_void;
-+              msg->acpted_rply.ar_results.where = NULL;
-+      } else
-+              has_args = FALSE;
-+
-       xdrs->x_op = XDR_ENCODE;
-       msg->rm_xid = cd->x_id;
--      rstat = xdr_replymsg(xdrs, msg);
-+      rstat = FALSE;
-+      if (xdr_replymsg(xdrs, msg) &&
-+          (!has_args || (xprt->xp_auth &&
-+           SVCAUTH_WRAP(xprt->xp_auth, xdrs, xdr_results, xdr_location)))) {
-+              rstat = TRUE;
-+      }
-       (void)xdrrec_endofrecord(xdrs, TRUE);
-       return (rstat);
- }
-diff --git a/src/xdr_rec.c b/src/xdr_rec.c
-index 4e815d7..2aca623 100644
---- a/src/xdr_rec.c
-+++ b/src/xdr_rec.c
-@@ -64,7 +64,6 @@
- #include <rpc/clnt.h>
- #include <stddef.h>
- #include "rpc_com.h"
--#include <unistd.h>
- static bool_t xdrrec_getlong(XDR *, long *);
- static bool_t xdrrec_putlong(XDR *, const long *);
- static bool_t xdrrec_getbytes(XDR *, char *, u_int);
-@@ -330,22 +329,22 @@ xdrrec_getpos(xdrs)
-       RECSTREAM *rstrm = (RECSTREAM *)xdrs->x_private;
-       off_t pos;
--      pos = lseek((int)(u_long)rstrm->tcp_handle, (off_t)0, 1);
--      if (pos != -1)
--              switch (xdrs->x_op) {
-+      switch (xdrs->x_op) {
--              case XDR_ENCODE:
--                      pos += rstrm->out_finger - rstrm->out_base;
--                      break;
-+      case XDR_ENCODE:
-+              pos = rstrm->out_finger - rstrm->out_base
-+                      - BYTES_PER_XDR_UNIT;
-+              break;
--              case XDR_DECODE:
--                      pos -= rstrm->in_boundry - rstrm->in_finger;
--                      break;
-+      case XDR_DECODE:
-+              pos = rstrm->in_boundry - rstrm->in_finger
-+                      - BYTES_PER_XDR_UNIT;
-+              break;
--              default:
--                      pos = (off_t) -1;
--                      break;
--              }
-+      default:
-+              pos = (off_t) -1;
-+              break;
-+      }
-       return ((u_int) pos);
- }
-diff --git a/tirpc/rpc/auth.h b/tirpc/rpc/auth.h
-index 734e6b9..e7bbe36 100644
---- a/tirpc/rpc/auth.h
-+++ b/tirpc/rpc/auth.h
-@@ -51,6 +51,7 @@
- #include <sys/cdefs.h>
- #include <sys/socket.h>
- #include <sys/types.h>
-+#include <stdio.h>
- #define MAX_AUTH_BYTES        400
-@@ -203,8 +204,22 @@ typedef struct __auth {
-       } *ah_ops;
-       void *ah_private;
-+      int ah_refcnt;
- } AUTH;
-+static __inline int
-+auth_get(AUTH *auth)
-+{
-+      return __sync_add_and_fetch(&auth->ah_refcnt, 1);
-+}
-+
-+static __inline int
-+auth_put(AUTH *auth)
-+{
-+      return __sync_sub_and_fetch(&auth->ah_refcnt, 1);
-+}
-+
-+
- /*
-  * Authentication ops.
-@@ -234,10 +249,29 @@ typedef struct __auth {
- #define auth_refresh(auth, msg)               \
-               ((*((auth)->ah_ops->ah_refresh))(auth, msg))
--#define AUTH_DESTROY(auth)            \
--              ((*((auth)->ah_ops->ah_destroy))(auth))
--#define auth_destroy(auth)            \
--              ((*((auth)->ah_ops->ah_destroy))(auth))
-+#if defined(__GNUC__) && defined(DEBUG)
-+#define auth_log_debug(fmt,args...) printf(stderr, fmt, args)
-+#else
-+#define auth_log_debug(fmt,args...)
-+#endif
-+
-+#define AUTH_DESTROY(auth)                                            \
-+              do {                                                    \
-+                      int refs;                                       \
-+                      if ((refs = auth_put((auth))) == 0)             \
-+                              ((*((auth)->ah_ops->ah_destroy))(auth));\
-+                      auth_log_debug("%s: auth_put(), refs %d\n",     \
-+                              __func__, refs);                        \
-+              } while (0)
-+
-+#define auth_destroy(auth)                                            \
-+              do {                                                    \
-+                      int refs;                                       \
-+                      if ((refs = auth_put((auth))) == 0)             \
-+                              ((*((auth)->ah_ops->ah_destroy))(auth));\
-+                      auth_log_debug("%s: auth_put(), refs %d\n",     \
-+                              __func__, refs);                        \
-+              } while (0)
- #define AUTH_WRAP(auth, xdrs, xfunc, xwhere)            \
-               ((*((auth)->ah_ops->ah_wrap))(auth, xdrs, \
-@@ -373,7 +407,7 @@ __END_DECLS
- __BEGIN_DECLS
- struct svc_req;
- struct rpc_msg;
--enum auth_stat _svcauth_null (struct svc_req *, struct rpc_msg *);
-+enum auth_stat _svcauth_none (struct svc_req *, struct rpc_msg *);
- enum auth_stat _svcauth_short (struct svc_req *, struct rpc_msg *);
- enum auth_stat _svcauth_unix (struct svc_req *, struct rpc_msg *);
- __END_DECLS
-diff --git a/tirpc/rpc/auth_gss.h b/tirpc/rpc/auth_gss.h
-index 633b11f..fc3ffbd 100644
---- a/tirpc/rpc/auth_gss.h
-+++ b/tirpc/rpc/auth_gss.h
-@@ -120,10 +120,10 @@ bool_t authgss_service           __P((AUTH *auth, int svc));
- bool_t authgss_get_private_data       __P((AUTH *auth,
-                                    struct authgss_private_data *));
--void  log_debug               __P((const char *fmt, ...));
--void  log_status              __P((char *m, OM_uint32 major,
-+void  gss_log_debug           __P((const char *fmt, ...));
-+void  gss_log_status          __P((char *m, OM_uint32 major,
-                                    OM_uint32 minor));
--void  log_hexdump             __P((const u_char *buf, int len, int offset));
-+void  gss_log_hexdump         __P((const u_char *buf, int len, int offset));
- __END_DECLS
-diff --git a/tirpc/rpc/des.h b/tirpc/rpc/des.h
-index e3d6897..d2881ad 100644
---- a/tirpc/rpc/des.h
-+++ b/tirpc/rpc/des.h
-@@ -33,6 +33,9 @@
-  * Copyright (c) 1986 by Sun Microsystems, Inc.
-  */
-+#ifndef _RPC_DES_H_
-+#define _RPC_DES_H_
-+
- #define DES_MAXLEN    65536   /* maximum # of bytes to encrypt  */
- #define DES_QUICKLEN  16      /* maximum # of bytes to encrypt quickly */
-@@ -80,3 +83,5 @@ struct desparams {
-  * Software DES.
-  */
- extern int _des_crypt( char *, int, struct desparams * );
-+
-+#endif
-diff --git a/tirpc/rpc/svc_auth.h b/tirpc/rpc/svc_auth.h
-index 659e90c..14269d1 100644
---- a/tirpc/rpc/svc_auth.h
-+++ b/tirpc/rpc/svc_auth.h
-@@ -44,17 +44,23 @@
- /*
-  * Interface to server-side authentication flavors.
-  */
--typedef struct {
-+typedef struct SVCAUTH {
-       struct svc_auth_ops {
--              int   (*svc_ah_wrap)(void);
--              int   (*svc_ah_unwrap)(void);
--              int   (*svc_ah_destroy)(void);
-+              int     (*svc_ah_wrap)(struct SVCAUTH *, XDR *, xdrproc_t,
-+                                     caddr_t);
-+              int     (*svc_ah_unwrap)(struct SVCAUTH *, XDR *, xdrproc_t,
-+                                       caddr_t);
-+              int     (*svc_ah_destroy)(struct SVCAUTH *);
-               } *svc_ah_ops;
-       caddr_t svc_ah_private;
- } SVCAUTH;
--#define SVCAUTH_DESTROY(cred)         ((*(cred)->svc_ah_ops->svc_ah_destroy)())
--#define svcauth_destroy(cred)         ((*(cred)->svc_ah_ops->svc_ah_destroy)())
-+#define SVCAUTH_WRAP(auth, xdrs, xfunc, xwhere) \
-+      ((*((auth)->svc_ah_ops->svc_ah_wrap))(auth, xdrs, xfunc, xwhere))
-+#define SVCAUTH_UNWRAP(auth, xdrs, xfunc, xwhere) \
-+      ((*((auth)->svc_ah_ops->svc_ah_unwrap))(auth, xdrs, xfunc, xwhere))
-+#define SVCAUTH_DESTROY(auth) \
-+      ((*((auth)->svc_ah_ops->svc_ah_destroy))(auth))
- /*
-  * Server side authenticator
index 4467fbf4bd6380f4c6dc43e10e47361e39602bcf..1b6626a6b8f8ac3f7824ea2ccf7d913f94a454a1 100644 (file)
@@ -4,11 +4,11 @@
 ###############################################################################
 
 name       = libtool
-version    = 2.4.6
+version    = 2.4.7
 release    = 2
 
 groups     = System/Libraries
-url        = http://www.gnu.org/software/libtool/
+url        = https://www.gnu.org/software/libtool/
 license    = GPLv2+ and LGPLv2+ and GFDL
 summary    = Runtime libraries for GNU Libtool Dynamic Module Loader.
 
@@ -19,14 +19,15 @@ description
        interface which simplifies the process of using shared libraries.
 end
 
-source_dl  = http://ftp.gnu.org/gnu/libtool/
-sources    = %{thisapp}.tar.gz
+source_dl  = https://ftp.gnu.org/gnu/libtool/
+sources    = %{thisapp}.tar.xz
 
 build
        requires
                autoconf
                automake
                m4
+               perl(Data::Dumper)
        end
 end
 
index 6ff4722740e819e7e123d92f1ab3eee07d1af771..7b24cc66794a1a2eae54e871002e12e2f0c39248 100644 (file)
@@ -4,13 +4,13 @@
 ###############################################################################
 
 name       = libunistring
-version    = 0.9.10
-release    = 1
+version    = 1.1
+release    = 1.1
 
 groups     = System/Libraries
-url        = http://www.gnu.org/software/libunistring/
+url        = https://www.gnu.org/software/libunistring/
 license    = LGPLv3+
-summary    = GNU Unicode string library.
+summary    = GNU Unicode string library
 
 description
        This portable C library implements Unicode string types in three flavours:
index 3ae49ecc7efc4583027c37b8bd4ad65ddaa055ee..c7bc6534e57615c822122e28985ca971ecb0804b 100644 (file)
@@ -4,53 +4,30 @@
 ###############################################################################
 
 name       = libunwind
-version    = 1.1
-release    = 1
+version    = 1.6.2
+release    = 1.1
 
 groups     = Development/Debuggers
-url        = http://savannah.nongnu.org/projects/libunwind
+url        = https://savannah.nongnu.org/projects/libunwind
 license    = BSD
-summary    = An unwinding library.
+summary    = An unwinding library
 
 description
        Libunwind provides a C ABI to determine the call-chain of a program.
 end
 
-source_dl  = http://download.savannah.gnu.org/releases/libunwind/
+source_dl  = https://github.com/libunwind/libunwind/releases/download/v%{version}/
 
 build
-       requires
-               autoconf
-               automake
-               libtool
-       end
-
-       prepare_cmds
-               aclocal
-               libtoolize --force
-               autoheader
-               automake --add-missing
-               autoconf
-
-               # for aarch64
-               for i in $(find . -name config.guess -or -name config.sub); do
-                       cp -vf %{datadir}/automake-*/config.{guess,sub} $(dirname ${i})
-               done
-       end
-
+       # We are building this without setjmp since the library fails
+       # the hardening check.
        configure_options += \
-               --enable-static \
-               --enable-shared
-
-       keep_libraries = %{libdir}/libunwind-ptrace.a
-
-       # Does not work very well.
-       #test
-       #       make check
-       #end
+               --disable-static \
+               --enable-shared \
+               --disable-setjmp
 
-       install_cmds
-               rm -vf %{BUILDROOT}%{libdir}/libunwind-ptrace.so*
+       test
+               make check LD_LIBRARY_PATH=%{DIR_APP}/src/.libs || :
        end
 end
 
diff --git a/libunwind/patches/libunwind-aarch64.patch b/libunwind/patches/libunwind-aarch64.patch
deleted file mode 100644 (file)
index c8816b0..0000000
+++ /dev/null
@@ -1,2562 +0,0 @@
-diff --git a/Makefile.am b/Makefile.am
-index d7278df..e24fe1e 100644
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -2,6 +2,9 @@ include_HEADERS = include/libunwind-dynamic.h \
-     include/libunwind-ptrace.h \
-     include/libunwind-coredump.h
-+if ARCH_AARCH64
-+include_HEADERS += include/libunwind-aarch64.h
-+endif
- if ARCH_ARM
- include_HEADERS += include/libunwind-arm.h
- endif
-@@ -41,6 +44,9 @@ SUBDIRS = src tests doc
- noinst_HEADERS = include/dwarf.h include/dwarf_i.h include/dwarf-eh.h \
-       include/compiler.h include/libunwind_i.h include/mempool.h      \
-       include/remote.h                                                \
-+      include/tdep-aarch64/dwarf-config.h                             \
-+      include/tdep-aarch64/jmpbuf.h                                   \
-+      include/tdep-aarch64/libunwind_i.h                              \
-       include/tdep-arm/dwarf-config.h include/tdep-arm/ex_tables.h    \
-       include/tdep-arm/jmpbuf.h include/tdep-arm/libunwind_i.h        \
-       include/tdep-ia64/jmpbuf.h include/tdep-ia64/rse.h              \
-diff --git a/README b/README
-index 71a631f..511fb0c 100644
---- a/README
-+++ b/README
-@@ -9,6 +9,7 @@ several architecture/operating-system combinations:
-  Linux/IA-64: Fully tested and supported.
-  Linux/PARISC:        Works well, but C library missing unwind-info.
-  HP-UX/IA-64: Mostly works but known to have some serious limitations.
-+ Linux/AArch64:       Newly added.
-  Linux/PPC64: Newly added.
-  Linux/SuperH:        Newly added.
-  FreeBSD/i386:        Newly added.
-diff --git a/configure.ac b/configure.ac
-index cffe19b..096ca7b 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -104,7 +104,7 @@ SET_ARCH([$target_cpu],[target_arch])
- AC_ARG_ENABLE(coredump,
-       AS_HELP_STRING([--enable-coredump],[building libunwind-coredump library]),,
--        [AS_CASE([$host_arch], [arm*|mips*|sh*|x86*], [enable_coredump=yes], [enable_coredump=no])]
-+        [AS_CASE([$host_arch], [aarch64*|arm*|mips*|sh*|x86*], [enable_coredump=yes], [enable_coredump=no])]
- )
- AC_MSG_CHECKING([if we should build libunwind-coredump])
-@@ -121,6 +121,7 @@ AC_MSG_RESULT([$target_os])
- AM_CONDITIONAL(BUILD_COREDUMP, test x$enable_coredump = xyes)
- AM_CONDITIONAL(REMOTE_ONLY, test x$target_arch != x$host_arch)
-+AM_CONDITIONAL(ARCH_AARCH64, test x$target_arch = xaarch64)
- AM_CONDITIONAL(ARCH_ARM, test x$target_arch = xarm)
- AM_CONDITIONAL(ARCH_IA64, test x$target_arch = xia64)
- AM_CONDITIONAL(ARCH_HPPA, test x$target_arch = xhppa)
-@@ -137,7 +138,7 @@ AM_CONDITIONAL(OS_FREEBSD, expr x$target_os : xfreebsd >/dev/null)
- AC_MSG_CHECKING([for ELF helper width])
- case "${target_arch}" in
- (arm|hppa|ppc32|x86|sh) use_elf32=yes; AC_MSG_RESULT([32]);;
--(ia64|ppc64|x86_64)    use_elf64=yes; AC_MSG_RESULT([64]);;
-+(aarch64|ia64|ppc64|x86_64)    use_elf64=yes; AC_MSG_RESULT([64]);;
- (mips)                 use_elfxx=yes; AC_MSG_RESULT([xx]);;
- *)                     AC_MSG_ERROR([Unknown ELF target: ${target_arch}])
- esac
-@@ -186,6 +187,7 @@ AS_HELP_STRING([--enable-cxx-exceptions],[use libunwind to handle C++ exceptions
- # C++ exception handling doesn't work too well on x86
- case $target_arch in
-   x86*) enable_cxx_exceptions=no;;
-+  aarch64*) enable_cxx_exceptions=no;;
-   arm*) enable_cxx_exceptions=no;;
-   mips*) enable_cxx_exceptions=no;;
-   *) enable_cxx_exceptions=yes;;
-diff --git a/include/libunwind-aarch64.h b/include/libunwind-aarch64.h
-new file mode 100644
-index 0000000..d50da8f
---- /dev/null
-+++ b/include/libunwind-aarch64.h
-@@ -0,0 +1,187 @@
-+/* libunwind - a platform-independent unwind library
-+   Copyright (C) 2001-2004 Hewlett-Packard Co
-+      Contributed by David Mosberger-Tang <davidm@hpl.hp.com>
-+   Copyright (C) 2013 Linaro Limited
-+
-+This file is part of libunwind.
-+
-+Permission is hereby granted, free of charge, to any person obtaining
-+a copy of this software and associated documentation files (the
-+"Software"), to deal in the Software without restriction, including
-+without limitation the rights to use, copy, modify, merge, publish,
-+distribute, sublicense, and/or sell copies of the Software, and to
-+permit persons to whom the Software is furnished to do so, subject to
-+the following conditions:
-+
-+The above copyright notice and this permission notice shall be
-+included in all copies or substantial portions of the Software.
-+
-+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.  */
-+
-+#ifndef LIBUNWIND_H
-+#define LIBUNWIND_H
-+
-+#if defined(__cplusplus) || defined(c_plusplus)
-+extern "C" {
-+#endif
-+
-+#include <inttypes.h>
-+#include <stddef.h>
-+#include <ucontext.h>
-+
-+#define UNW_TARGET    aarch64
-+#define UNW_TARGET_AARCH64    1
-+
-+#define _U_TDEP_QP_TRUE       0       /* see libunwind-dynamic.h  */
-+
-+/* This needs to be big enough to accommodate "struct cursor", while
-+   leaving some slack for future expansion.  Changing this value will
-+   require recompiling all users of this library.  Stack allocation is
-+   relatively cheap and unwind-state copying is relatively rare, so we
-+   want to err on making it rather too big than too small.  */
-+
-+#define UNW_TDEP_CURSOR_LEN   4096
-+
-+typedef uint64_t unw_word_t;
-+typedef int64_t unw_sword_t;
-+
-+typedef long double unw_tdep_fpreg_t;
-+
-+typedef struct
-+  {
-+    /* no aarch64-specific auxiliary proc-info */
-+  }
-+unw_tdep_proc_info_t;
-+
-+typedef enum
-+  {
-+    /* 64-bit general registers.  */
-+    UNW_AARCH64_X0,
-+    UNW_AARCH64_X1,
-+    UNW_AARCH64_X2,
-+    UNW_AARCH64_X3,
-+    UNW_AARCH64_X4,
-+    UNW_AARCH64_X5,
-+    UNW_AARCH64_X6,
-+    UNW_AARCH64_X7,
-+    UNW_AARCH64_X8,
-+
-+    /* Temporary registers.  */
-+    UNW_AARCH64_X9,
-+    UNW_AARCH64_X10,
-+    UNW_AARCH64_X11,
-+    UNW_AARCH64_X12,
-+    UNW_AARCH64_X13,
-+    UNW_AARCH64_X14,
-+    UNW_AARCH64_X15,
-+
-+    /* Intra-procedure-call temporary registers.  */
-+    UNW_AARCH64_X16,
-+    UNW_AARCH64_X17,
-+
-+    /* Callee-saved registers.  */
-+    UNW_AARCH64_X18,
-+    UNW_AARCH64_X19,
-+    UNW_AARCH64_X20,
-+    UNW_AARCH64_X21,
-+    UNW_AARCH64_X22,
-+    UNW_AARCH64_X23,
-+    UNW_AARCH64_X24,
-+    UNW_AARCH64_X25,
-+    UNW_AARCH64_X26,
-+    UNW_AARCH64_X27,
-+    UNW_AARCH64_X28,
-+
-+    /* 64-bit frame pointer.  */
-+    UNW_AARCH64_X29,
-+
-+    /* 64-bit link register.  */
-+    UNW_AARCH64_X30,
-+
-+    /* 64-bit stack pointer.  */
-+    UNW_AARCH64_SP =  31,
-+    UNW_AARCH64_PC,
-+    UNW_AARCH64_PSTATE,
-+
-+    /* 128-bit FP/Advanced SIMD registers.  */
-+    UNW_AARCH64_V0 = 64,
-+    UNW_AARCH64_V1,
-+    UNW_AARCH64_V2,
-+    UNW_AARCH64_V3,
-+    UNW_AARCH64_V4,
-+    UNW_AARCH64_V5,
-+    UNW_AARCH64_V6,
-+    UNW_AARCH64_V7,
-+    UNW_AARCH64_V8,
-+    UNW_AARCH64_V9,
-+    UNW_AARCH64_V10,
-+    UNW_AARCH64_V11,
-+    UNW_AARCH64_V12,
-+    UNW_AARCH64_V13,
-+    UNW_AARCH64_V14,
-+    UNW_AARCH64_V15,
-+    UNW_AARCH64_V16,
-+    UNW_AARCH64_V17,
-+    UNW_AARCH64_V18,
-+    UNW_AARCH64_V19,
-+    UNW_AARCH64_V20,
-+    UNW_AARCH64_V21,
-+    UNW_AARCH64_V22,
-+    UNW_AARCH64_V23,
-+    UNW_AARCH64_V24,
-+    UNW_AARCH64_V25,
-+    UNW_AARCH64_V26,
-+    UNW_AARCH64_V27,
-+    UNW_AARCH64_V28,
-+    UNW_AARCH64_V29,
-+    UNW_AARCH64_V30,
-+    UNW_AARCH64_V31,
-+
-+    UNW_AARCH64_FPSR,
-+    UNW_AARCH64_FPCR,
-+
-+    /* For AArch64, the CFA is the value of SP (x31) at the call site of the
-+       previous frame.  */
-+    UNW_AARCH64_CFA = UNW_AARCH64_SP,
-+
-+    UNW_TDEP_LAST_REG = UNW_AARCH64_FPCR,
-+
-+    UNW_TDEP_IP = UNW_AARCH64_X30,
-+    UNW_TDEP_SP = UNW_AARCH64_SP,
-+    UNW_TDEP_EH = UNW_AARCH64_X0,
-+
-+  }
-+aarch64_regnum_t;
-+
-+/* Use R0 through R3 to pass exception handling information.  */
-+#define UNW_TDEP_NUM_EH_REGS  4
-+
-+typedef struct unw_tdep_save_loc
-+  {
-+    /* Additional target-dependent info on a save location.  */
-+  }
-+unw_tdep_save_loc_t;
-+
-+
-+/* On AArch64, we can directly use ucontext_t as the unwind context.  */
-+typedef ucontext_t unw_tdep_context_t;
-+
-+#include "libunwind-common.h"
-+#include "libunwind-dynamic.h"
-+
-+#define unw_tdep_getcontext(uc)         (getcontext (uc), 0)
-+#define unw_tdep_is_fpreg             UNW_ARCH_OBJ(is_fpreg)
-+
-+extern int unw_tdep_is_fpreg (int);
-+
-+#if defined(__cplusplus) || defined(c_plusplus)
-+}
-+#endif
-+
-+#endif /* LIBUNWIND_H */
-diff --git a/include/libunwind.h.in b/include/libunwind.h.in
-index 25c4e3b..64b1457 100644
---- a/include/libunwind.h.in
-+++ b/include/libunwind.h.in
-@@ -3,7 +3,9 @@
- #ifndef UNW_REMOTE_ONLY
--#if defined __arm__
-+#if defined __aarch64__
-+#include "libunwind-aarch64.h"
-+#elif defined __arm__
- # include "libunwind-arm.h"
- #elif defined __hppa__
- # include "libunwind-hppa.h"
-diff --git a/include/tdep-aarch64/dwarf-config.h b/include/tdep-aarch64/dwarf-config.h
-new file mode 100644
-index 0000000..c3bbed5
---- /dev/null
-+++ b/include/tdep-aarch64/dwarf-config.h
-@@ -0,0 +1,52 @@
-+/* libunwind - a platform-independent unwind library
-+   Copyright (C) 2008 CodeSourcery
-+   Copyright (C) 2012 Tommi Rantala <tt.rantala@gmail.com>
-+   Copyright (C) 2013 Linaro Limited
-+
-+This file is part of libunwind.
-+
-+Permission is hereby granted, free of charge, to any person obtaining
-+a copy of this software and associated documentation files (the
-+"Software"), to deal in the Software without restriction, including
-+without limitation the rights to use, copy, modify, merge, publish,
-+distribute, sublicense, and/or sell copies of the Software, and to
-+permit persons to whom the Software is furnished to do so, subject to
-+the following conditions:
-+
-+The above copyright notice and this permission notice shall be
-+included in all copies or substantial portions of the Software.
-+
-+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.  */
-+
-+#ifndef dwarf_config_h
-+#define dwarf_config_h
-+
-+/* This matches the value udes by GCC (see
-+   gcc/config/aarch64/aarch64.h:DWARF_FRAME_REGISTERS.  */ 
-+#define DWARF_NUM_PRESERVED_REGS      97
-+
-+/* Return TRUE if the ADDR_SPACE uses big-endian byte-order.  */
-+#define dwarf_is_big_endian(addr_space)       0
-+
-+#define dwarf_to_unw_regnum(reg) (((reg) <= UNW_AARCH64_V31) ? (reg) : 0)
-+
-+/* Convert a pointer to a dwarf_cursor structure to a pointer to
-+   unw_cursor_t.  */
-+#define dwarf_to_cursor(c)    ((unw_cursor_t *) (c))
-+
-+typedef struct dwarf_loc
-+  {
-+    unw_word_t val;
-+#ifndef UNW_LOCAL_ONLY
-+    unw_word_t type;          /* see DWARF_LOC_TYPE_* macros.  */
-+#endif
-+  }
-+dwarf_loc_t;
-+
-+#endif /* dwarf_config_h */
-diff --git a/include/tdep-aarch64/jmpbuf.h b/include/tdep-aarch64/jmpbuf.h
-new file mode 100644
-index 0000000..2eb53a7
---- /dev/null
-+++ b/include/tdep-aarch64/jmpbuf.h
-@@ -0,0 +1,33 @@
-+/* libunwind - a platform-independent unwind library
-+   Copyright (C) 2008 CodeSourcery
-+   Copyright (C) 2013 Linaro Limited
-+
-+This file is part of libunwind.
-+
-+Permission is hereby granted, free of charge, to any person obtaining
-+a copy of this software and associated documentation files (the
-+"Software"), to deal in the Software without restriction, including
-+without limitation the rights to use, copy, modify, merge, publish,
-+distribute, sublicense, and/or sell copies of the Software, and to
-+permit persons to whom the Software is furnished to do so, subject to
-+the following conditions:
-+
-+The above copyright notice and this permission notice shall be
-+included in all copies or substantial portions of the Software.
-+
-+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.  */
-+
-+/* Use glibc's jump-buffer indices; NPTL peeks at SP: */
-+
-+/* FIXME for AArch64  */
-+
-+#define JB_SP         13
-+#define JB_RP         14
-+#define JB_MASK_SAVED 15
-+#define JB_MASK               16
-diff --git a/include/tdep-aarch64/libunwind_i.h b/include/tdep-aarch64/libunwind_i.h
-new file mode 100644
-index 0000000..28943db
---- /dev/null
-+++ b/include/tdep-aarch64/libunwind_i.h
-@@ -0,0 +1,294 @@
-+/* libunwind - a platform-independent unwind library
-+   Copyright (C) 2001-2005 Hewlett-Packard Co
-+      Contributed by David Mosberger-Tang <davidm@hpl.hp.com>
-+   Copyright (C) 2013 Linaro Limited
-+
-+This file is part of libunwind.
-+
-+Permission is hereby granted, free of charge, to any person obtaining
-+a copy of this software and associated documentation files (the
-+"Software"), to deal in the Software without restriction, including
-+without limitation the rights to use, copy, modify, merge, publish,
-+distribute, sublicense, and/or sell copies of the Software, and to
-+permit persons to whom the Software is furnished to do so, subject to
-+the following conditions:
-+
-+The above copyright notice and this permission notice shall be
-+included in all copies or substantial portions of the Software.
-+
-+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.  */
-+
-+#ifndef AARCH64_LIBUNWIND_I_H
-+#define AARCH64_LIBUNWIND_I_H
-+
-+/* Target-dependent definitions that are internal to libunwind but need
-+   to be shared with target-independent code.  */
-+
-+#include <stdlib.h> 
-+#include <libunwind.h>
-+
-+#include "elf64.h"
-+#include "mempool.h"
-+#include "dwarf.h"
-+
-+typedef struct
-+  {
-+    /* no aarch64-specific fast trace */
-+  }
-+unw_tdep_frame_t;
-+
-+#ifdef UNW_LOCAL_ONLY
-+
-+typedef unw_word_t aarch64_loc_t;
-+
-+#else /* !UNW_LOCAL_ONLY */
-+
-+typedef struct aarch64_loc
-+  {
-+    unw_word_t w0, w1;
-+  }
-+aarch64_loc_t;
-+
-+#endif /* !UNW_LOCAL_ONLY */
-+
-+struct unw_addr_space
-+  {
-+    struct unw_accessors acc;
-+    int big_endian;
-+    unw_caching_policy_t caching_policy;
-+#ifdef HAVE_ATOMIC_OPS_H
-+    AO_t cache_generation;
-+#else
-+    uint32_t cache_generation;
-+#endif
-+    unw_word_t dyn_generation;          /* see dyn-common.h */
-+    unw_word_t dyn_info_list_addr;    /* (cached) dyn_info_list_addr */
-+    struct dwarf_rs_cache global_cache;
-+    struct unw_debug_frame_list *debug_frames;
-+   };
-+
-+struct cursor
-+  {
-+    struct dwarf_cursor dwarf;          /* must be first */
-+    enum
-+      {
-+        AARCH64_SCF_NONE,
-+        AARCH64_SCF_LINUX_RT_SIGFRAME,
-+      }
-+    sigcontext_format;
-+    unw_word_t sigcontext_addr;
-+    unw_word_t sigcontext_sp;
-+    unw_word_t sigcontext_pc;
-+  };
-+
-+#define DWARF_GET_LOC(l)        ((l).val)
-+
-+#ifdef UNW_LOCAL_ONLY
-+# define DWARF_NULL_LOC         DWARF_LOC (0, 0)
-+# define DWARF_IS_NULL_LOC(l)   (DWARF_GET_LOC (l) == 0)
-+# define DWARF_LOC(r, t)        ((dwarf_loc_t) { .val = (r) })
-+# define DWARF_IS_REG_LOC(l)    0
-+# define DWARF_REG_LOC(c,r)     (DWARF_LOC((unw_word_t)                      \
-+                                 tdep_uc_addr((c)->as_arg, (r)), 0))
-+# define DWARF_MEM_LOC(c,m)     DWARF_LOC ((m), 0)
-+# define DWARF_FPREG_LOC(c,r)   (DWARF_LOC((unw_word_t)                      \
-+                                 tdep_uc_addr((c)->as_arg, (r)), 0))
-+
-+static inline int
-+dwarf_getfp (struct dwarf_cursor *c, dwarf_loc_t loc, unw_fpreg_t *val)
-+{
-+  if (!DWARF_GET_LOC (loc))
-+    return -1;
-+  *val = *(unw_fpreg_t *) DWARF_GET_LOC (loc);
-+  return 0;
-+}
-+
-+static inline int
-+dwarf_putfp (struct dwarf_cursor *c, dwarf_loc_t loc, unw_fpreg_t val)
-+{
-+  if (!DWARF_GET_LOC (loc))
-+    return -1;
-+  *(unw_fpreg_t *) DWARF_GET_LOC (loc) = val;
-+  return 0;
-+}
-+
-+static inline int
-+dwarf_get (struct dwarf_cursor *c, dwarf_loc_t loc, unw_word_t *val)
-+{
-+  if (!DWARF_GET_LOC (loc))
-+    return -1;
-+  *val = *(unw_word_t *) DWARF_GET_LOC (loc);
-+  return 0;
-+}
-+
-+static inline int
-+dwarf_put (struct dwarf_cursor *c, dwarf_loc_t loc, unw_word_t val)
-+{
-+  if (!DWARF_GET_LOC (loc))
-+    return -1;
-+  *(unw_word_t *) DWARF_GET_LOC (loc) = val;
-+  return 0;
-+}
-+
-+#else /* !UNW_LOCAL_ONLY */
-+# define DWARF_LOC_TYPE_FP      (1 << 0)
-+# define DWARF_LOC_TYPE_REG     (1 << 1)
-+# define DWARF_NULL_LOC         DWARF_LOC (0, 0)
-+# define DWARF_IS_NULL_LOC(l)                                           \
-+                ({ dwarf_loc_t _l = (l); _l.val == 0 && _l.type == 0; })
-+# define DWARF_LOC(r, t)        ((dwarf_loc_t) { .val = (r), .type = (t) })
-+# define DWARF_IS_REG_LOC(l)    (((l).type & DWARF_LOC_TYPE_REG) != 0)
-+# define DWARF_IS_FP_LOC(l)     (((l).type & DWARF_LOC_TYPE_FP) != 0)
-+# define DWARF_REG_LOC(c,r)     DWARF_LOC((r), DWARF_LOC_TYPE_REG)
-+# define DWARF_MEM_LOC(c,m)     DWARF_LOC ((m), 0)
-+# define DWARF_FPREG_LOC(c,r)   DWARF_LOC((r), (DWARF_LOC_TYPE_REG      \
-+                                                | DWARF_LOC_TYPE_FP))
-+
-+static inline int
-+dwarf_getfp (struct dwarf_cursor *c, dwarf_loc_t loc, unw_fpreg_t *val)
-+{
-+  char *valp = (char *) &val;
-+  unw_word_t addr;
-+  int ret;
-+
-+  if (DWARF_IS_NULL_LOC (loc))
-+    return -UNW_EBADREG;
-+
-+  if (DWARF_IS_REG_LOC (loc))
-+    return (*c->as->acc.access_fpreg) (c->as, DWARF_GET_LOC (loc),
-+                                       val, 0, c->as_arg);
-+
-+  addr = DWARF_GET_LOC (loc);
-+  if ((ret = (*c->as->acc.access_mem) (c->as, addr + 0, (unw_word_t *) valp,
-+                                       0, c->as_arg)) < 0)
-+    return ret;
-+
-+  return (*c->as->acc.access_mem) (c->as, addr + 4, (unw_word_t *) valp + 1, 0,
-+                                   c->as_arg);
-+}
-+
-+static inline int
-+dwarf_putfp (struct dwarf_cursor *c, dwarf_loc_t loc, unw_fpreg_t val)
-+{
-+  char *valp = (char *) &val;
-+  unw_word_t addr;
-+  int ret;
-+
-+  if (DWARF_IS_NULL_LOC (loc))
-+    return -UNW_EBADREG;
-+
-+  if (DWARF_IS_REG_LOC (loc))
-+    return (*c->as->acc.access_fpreg) (c->as, DWARF_GET_LOC (loc),
-+                                       &val, 1, c->as_arg);
-+
-+  addr = DWARF_GET_LOC (loc);
-+  if ((ret = (*c->as->acc.access_mem) (c->as, addr + 0, (unw_word_t *) valp,
-+                                       1, c->as_arg)) < 0)
-+    return ret;
-+
-+  return (*c->as->acc.access_mem) (c->as, addr + 4, (unw_word_t *) valp + 1,
-+                                   1, c->as_arg);
-+}
-+
-+static inline int
-+dwarf_get (struct dwarf_cursor *c, dwarf_loc_t loc, unw_word_t *val)
-+{
-+  if (DWARF_IS_NULL_LOC (loc))
-+    return -UNW_EBADREG;
-+
-+  /* If a code-generator were to save a value of type unw_word_t in a
-+     floating-point register, we would have to support this case.  I
-+     suppose it could happen with MMX registers, but does it really
-+     happen?  */
-+  assert (!DWARF_IS_FP_LOC (loc));
-+
-+  if (DWARF_IS_REG_LOC (loc))
-+    return (*c->as->acc.access_reg) (c->as, DWARF_GET_LOC (loc), val,
-+                                     0, c->as_arg);
-+  else
-+    return (*c->as->acc.access_mem) (c->as, DWARF_GET_LOC (loc), val,
-+                                     0, c->as_arg);
-+}
-+
-+static inline int
-+dwarf_put (struct dwarf_cursor *c, dwarf_loc_t loc, unw_word_t val)
-+{
-+  if (DWARF_IS_NULL_LOC (loc))
-+    return -UNW_EBADREG;
-+
-+  /* If a code-generator were to save a value of type unw_word_t in a
-+     floating-point register, we would have to support this case.  I
-+     suppose it could happen with MMX registers, but does it really
-+     happen?  */
-+  assert (!DWARF_IS_FP_LOC (loc));
-+
-+  if (DWARF_IS_REG_LOC (loc))
-+    return (*c->as->acc.access_reg) (c->as, DWARF_GET_LOC (loc), &val,
-+                                     1, c->as_arg);
-+  else
-+    return (*c->as->acc.access_mem) (c->as, DWARF_GET_LOC (loc), &val,
-+                                     1, c->as_arg);
-+}
-+
-+#endif /* !UNW_LOCAL_ONLY */
-+
-+
-+
-+#define tdep_getcontext_trace           unw_getcontext
-+#define tdep_init_done                        UNW_OBJ(init_done)
-+#define tdep_init                     UNW_OBJ(init)
-+/* Platforms that support UNW_INFO_FORMAT_TABLE need to define
-+   tdep_search_unwind_table.  */
-+#define tdep_search_unwind_table      dwarf_search_unwind_table
-+#define tdep_find_unwind_table                dwarf_find_unwind_table
-+#define tdep_uc_addr                  UNW_OBJ(uc_addr)
-+#define tdep_get_elf_image            UNW_ARCH_OBJ(get_elf_image)
-+#define tdep_access_reg                       UNW_OBJ(access_reg)
-+#define tdep_access_fpreg             UNW_OBJ(access_fpreg)
-+#define tdep_fetch_frame(c,ip,n)      do {} while(0)
-+#define tdep_cache_frame(c,rs)                do {} while(0)
-+#define tdep_reuse_frame(c,rs)                do {} while(0)
-+#define tdep_stash_frame(c,rs)                do {} while(0)
-+#define tdep_trace(cur,addr,n)                (-UNW_ENOINFO)
-+
-+#ifdef UNW_LOCAL_ONLY
-+# define tdep_find_proc_info(c,ip,n)                            \
-+        dwarf_find_proc_info((c)->as, (ip), &(c)->pi, (n),      \
-+                                       (c)->as_arg)
-+# define tdep_put_unwind_info(as,pi,arg)                \
-+        dwarf_put_unwind_info((as), (pi), (arg))
-+#else
-+# define tdep_find_proc_info(c,ip,n)                                    \
-+        (*(c)->as->acc.find_proc_info)((c)->as, (ip), &(c)->pi, (n),    \
-+                                       (c)->as_arg)
-+# define tdep_put_unwind_info(as,pi,arg)                \
-+        (*(as)->acc.put_unwind_info)((as), (pi), (arg))
-+#endif
-+
-+#define tdep_get_as(c)                  ((c)->dwarf.as)
-+#define tdep_get_as_arg(c)              ((c)->dwarf.as_arg)
-+#define tdep_get_ip(c)                  ((c)->dwarf.ip)
-+#define tdep_big_endian(as)             ((as)->big_endian)
-+
-+extern int tdep_init_done;
-+
-+extern void tdep_init (void);
-+extern int tdep_search_unwind_table (unw_addr_space_t as, unw_word_t ip,
-+                                   unw_dyn_info_t *di, unw_proc_info_t *pi,
-+                                   int need_unwind_info, void *arg);
-+extern void *tdep_uc_addr (unw_tdep_context_t *uc, int reg);
-+extern int tdep_get_elf_image (struct elf_image *ei, pid_t pid, unw_word_t ip,
-+                             unsigned long *segbase, unsigned long *mapoff,
-+                             char *path, size_t pathlen);
-+extern int tdep_access_reg (struct cursor *c, unw_regnum_t reg,
-+                          unw_word_t *valp, int write);
-+extern int tdep_access_fpreg (struct cursor *c, unw_regnum_t reg,
-+                            unw_fpreg_t *valp, int write);
-+
-+#endif /* AARCH64_LIBUNWIND_I_H */
-diff --git a/include/tdep/dwarf-config.h b/include/tdep/dwarf-config.h
-index 1da268b..5b09fc1 100644
---- a/include/tdep/dwarf-config.h
-+++ b/include/tdep/dwarf-config.h
-@@ -1,7 +1,9 @@
- /* Provide a real file - not a symlink - as it would cause multiarch conflicts
-    when multiple different arch releases are installed simultaneously.  */
--#if defined __arm__
-+#if defined __aarch64__
-+# include "tdep-aarch64/dwarf-config.h"
-+#elif defined __arm__
- # include "tdep-arm/dwarf-config.h"
- #elif defined __hppa__
- # include "tdep-hppa/dwarf-config.h"
-diff --git a/include/tdep/jmpbuf.h b/include/tdep/jmpbuf.h
-index 7d04a42..684d0d9 100644
---- a/include/tdep/jmpbuf.h
-+++ b/include/tdep/jmpbuf.h
-@@ -3,6 +3,8 @@
- #ifndef UNW_REMOTE_ONLY
-+#if defined __aarch64__
-+# include "tdep-aarch64/jmpbuf.h"
- #if defined __arm__
- # include "tdep-arm/jmpbuf.h"
- #elif defined __hppa__
-diff --git a/include/tdep/libunwind_i.h.in b/include/tdep/libunwind_i.h.in
-index 2ad6269..475f828 100644
---- a/include/tdep/libunwind_i.h.in
-+++ b/include/tdep/libunwind_i.h.in
-@@ -3,7 +3,9 @@
- #ifndef UNW_REMOTE_ONLY
--#if defined __arm__
-+#if defined __aarch64__
-+# include "tdep-aarch64/libunwind_i.h"
-+#elif defined __arm__
- # include "tdep-arm/libunwind_i.h"
- #elif defined __hppa__
- # include "tdep-hppa/libunwind_i.h"
-diff --git a/src/Makefile.am b/src/Makefile.am
-index 08d2870..f104214 100644
---- a/src/Makefile.am
-+++ b/src/Makefile.am
-@@ -170,6 +170,28 @@ libunwind_elfxx_la_SOURCES = elfxx.c
- noinst_LTLIBRARIES += $(LIBUNWIND_ELF)
- libunwind_la_LIBADD += $(LIBUNWIND_ELF)
-+# The list of files that go into libunwind and libunwind-aarch64:
-+noinst_HEADERS += aarch64/init.h aarch64/offsets.h aarch64/unwind_i.h
-+libunwind_la_SOURCES_aarch64_common = $(libunwind_la_SOURCES_common)      \
-+      aarch64/is_fpreg.c aarch64/regname.c
-+
-+# The list of files that go into libunwind:
-+libunwind_la_SOURCES_aarch64 = $(libunwind_la_SOURCES_aarch64_common)     \
-+      $(libunwind_la_SOURCES_local)                                       \
-+      aarch64/Lcreate_addr_space.c aarch64/Lget_proc_info.c               \
-+      aarch64/Lget_save_loc.c aarch64/Lglobal.c aarch64/Linit.c           \
-+      aarch64/Linit_local.c aarch64/Linit_remote.c                        \
-+      aarch64/Lis_signal_frame.c aarch64/Lregs.c aarch64/Lresume.c        \
-+      aarch64/Lstep.c
-+
-+libunwind_aarch64_la_SOURCES_aarch64 = $(libunwind_la_SOURCES_aarch64_common) \
-+      $(libunwind_la_SOURCES_generic)                                       \
-+      aarch64/Gcreate_addr_space.c aarch64/Gget_proc_info.c                 \
-+      aarch64/Gget_save_loc.c aarch64/Gglobal.c aarch64/Ginit.c             \
-+      aarch64/Ginit_local.c aarch64/Ginit_remote.c                          \
-+      aarch64/Gis_signal_frame.c aarch64/Gregs.c aarch64/Gresume.c          \
-+      aarch64/Gstep.c
-+
- # The list of files that go into libunwind and libunwind-arm:
- noinst_HEADERS += arm/init.h arm/offsets.h arm/unwind_i.h
- libunwind_la_SOURCES_arm_common = $(libunwind_la_SOURCES_common)          \
-@@ -418,6 +440,18 @@ if OS_FREEBSD
-  libunwind_coredump_la_SOURCES += coredump/_UCD_access_reg_freebsd.c
- endif
-+if ARCH_AARCH64
-+ lib_LTLIBRARIES += libunwind-aarch64.la
-+ libunwind_la_SOURCES = $(libunwind_la_SOURCES_aarch64)
-+ libunwind_aarch64_la_SOURCES = $(libunwind_aarch64_la_SOURCES_aarch64)
-+ libunwind_aarch64_la_LDFLAGS = $(COMMON_SO_LDFLAGS) -version-info $(SOVERSION)
-+ libunwind_aarch64_la_LIBADD = libunwind-dwarf-generic.la
-+ libunwind_aarch64_la_LIBADD += libunwind-elf64.la
-+if !REMOTE_ONLY
-+ libunwind_aarch64_la_LIBADD += libunwind.la -lc
-+endif
-+# libunwind_setjmp_la_SOURCES += aarch64/siglongjmp.S
-+else
- if ARCH_ARM
-  lib_LTLIBRARIES += libunwind-arm.la
-  libunwind_la_SOURCES = $(libunwind_la_SOURCES_arm)
-@@ -545,6 +579,7 @@ endif # ARCH_MIPS
- endif # ARCH_HPPA
- endif # ARCH_IA64
- endif # ARCH_ARM
-+endif # ARCH_AARCH64
- # libunwind-setjmp depends on libunwind-$(arch). Therefore must be added
- # at the end.
-@@ -567,7 +602,8 @@ AM_CPPFLAGS = -I$(top_srcdir)/include -I$(top_srcdir)/include/tdep-$(arch) -I.
- AM_CCASFLAGS = $(AM_CPPFLAGS)
- noinst_HEADERS += unwind/unwind-internal.h
--EXTRA_DIST =  $(libunwind_la_SOURCES_arm)                     \
-+EXTRA_DIST =  $(libunwind_la_SOURCES_aarch64)                 \
-+              $(libunwind_la_SOURCES_arm)                     \
-               $(libunwind_la_SOURCES_hppa)                    \
-               $(libunwind_la_SOURCES_ia64)                    \
-               $(libunwind_la_SOURCES_mips)                    \
-@@ -579,6 +615,7 @@ EXTRA_DIST =       $(libunwind_la_SOURCES_arm)                     \
-               $(libunwind_la_SOURCES_common)                  \
-               $(libunwind_la_SOURCES_local)                   \
-               $(libunwind_la_SOURCES_generic)                 \
-+              $(libunwind_aarch64_la_SOURCES_aarch64)         \
-               $(libunwind_arm_la_SOURCES_arm)                 \
-               $(libunwind_hppa_la_SOURCES_hppa)               \
-               $(libunwind_ia64_la_SOURCES_ia64)               \
-diff --git a/src/aarch64/Gcreate_addr_space.c b/src/aarch64/Gcreate_addr_space.c
-new file mode 100644
-index 0000000..b0f2b04
---- /dev/null
-+++ b/src/aarch64/Gcreate_addr_space.c
-@@ -0,0 +1,60 @@
-+/* libunwind - a platform-independent unwind library
-+   Copyright (C) 2012 Tommi Rantala <tt.rantala@gmail.com>
-+   Copyright (C) 2013 Linaro Limited
-+
-+This file is part of libunwind.
-+
-+Permission is hereby granted, free of charge, to any person obtaining
-+a copy of this software and associated documentation files (the
-+"Software"), to deal in the Software without restriction, including
-+without limitation the rights to use, copy, modify, merge, publish,
-+distribute, sublicense, and/or sell copies of the Software, and to
-+permit persons to whom the Software is furnished to do so, subject to
-+the following conditions:
-+
-+The above copyright notice and this permission notice shall be
-+included in all copies or substantial portions of the Software.
-+
-+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.  */
-+
-+#include <string.h>
-+#include <stdlib.h>
-+
-+#include "unwind_i.h"
-+
-+PROTECTED unw_addr_space_t
-+unw_create_addr_space (unw_accessors_t *a, int byte_order)
-+{
-+#ifdef UNW_LOCAL_ONLY
-+  return NULL;
-+#else
-+  unw_addr_space_t as;
-+
-+  /* AArch64 supports little-endian and big-endian. */
-+  if (byte_order != 0 && byte_order != __LITTLE_ENDIAN
-+      && byte_order != __BIG_ENDIAN)
-+    return NULL;
-+
-+  as = malloc (sizeof (*as));
-+  if (!as)
-+    return NULL;
-+
-+  memset (as, 0, sizeof (*as));
-+
-+  as->acc = *a;
-+
-+  /* Default to little-endian for AArch64. */
-+  if (byte_order == 0 || byte_order == __LITTLE_ENDIAN)
-+    as->big_endian = 0;
-+  else
-+    as->big_endian = 1;
-+
-+  return as;
-+#endif
-+}
-diff --git a/src/aarch64/Gget_proc_info.c b/src/aarch64/Gget_proc_info.c
-new file mode 100644
-index 0000000..de9199f
---- /dev/null
-+++ b/src/aarch64/Gget_proc_info.c
-@@ -0,0 +1,39 @@
-+/* libunwind - a platform-independent unwind library
-+   Copyright (C) 2008 CodeSourcery
-+
-+This file is part of libunwind.
-+
-+Permission is hereby granted, free of charge, to any person obtaining
-+a copy of this software and associated documentation files (the
-+"Software"), to deal in the Software without restriction, including
-+without limitation the rights to use, copy, modify, merge, publish,
-+distribute, sublicense, and/or sell copies of the Software, and to
-+permit persons to whom the Software is furnished to do so, subject to
-+the following conditions:
-+
-+The above copyright notice and this permission notice shall be
-+included in all copies or substantial portions of the Software.
-+
-+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.  */
-+
-+#include "unwind_i.h"
-+
-+PROTECTED int
-+unw_get_proc_info (unw_cursor_t *cursor, unw_proc_info_t *pi)
-+{
-+  struct cursor *c = (struct cursor *) cursor;
-+  int ret;
-+
-+  ret = dwarf_make_proc_info (&c->dwarf);
-+  if (ret < 0)
-+    return ret;
-+
-+  *pi = c->dwarf.pi;
-+  return 0;
-+}
-diff --git a/src/aarch64/Gget_save_loc.c b/src/aarch64/Gget_save_loc.c
-new file mode 100644
-index 0000000..c76eb9c
---- /dev/null
-+++ b/src/aarch64/Gget_save_loc.c
-@@ -0,0 +1,100 @@
-+/* libunwind - a platform-independent unwind library
-+   Copyright (C) 2008 CodeSourcery
-+   Copyright (C) 2012 Tommi Rantala <tt.rantala@gmail.com>
-+   Copyright (C) 2013 Linaro Limited
-+
-+This file is part of libunwind.
-+
-+Permission is hereby granted, free of charge, to any person obtaining
-+a copy of this software and associated documentation files (the
-+"Software"), to deal in the Software without restriction, including
-+without limitation the rights to use, copy, modify, merge, publish,
-+distribute, sublicense, and/or sell copies of the Software, and to
-+permit persons to whom the Software is furnished to do so, subject to
-+the following conditions:
-+
-+The above copyright notice and this permission notice shall be
-+included in all copies or substantial portions of the Software.
-+
-+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.  */
-+
-+#include "unwind_i.h"
-+
-+PROTECTED int
-+unw_get_save_loc (unw_cursor_t *cursor, int reg, unw_save_loc_t *sloc)
-+{
-+  struct cursor *c = (struct cursor *) cursor;
-+  dwarf_loc_t loc;
-+
-+  switch (reg)
-+    {
-+    case UNW_AARCH64_X0:
-+    case UNW_AARCH64_X1:
-+    case UNW_AARCH64_X2:
-+    case UNW_AARCH64_X3:
-+    case UNW_AARCH64_X4:
-+    case UNW_AARCH64_X5:
-+    case UNW_AARCH64_X6:
-+    case UNW_AARCH64_X7:
-+    case UNW_AARCH64_X8:
-+    case UNW_AARCH64_X9:
-+    case UNW_AARCH64_X10:
-+    case UNW_AARCH64_X11:
-+    case UNW_AARCH64_X12:
-+    case UNW_AARCH64_X13:
-+    case UNW_AARCH64_X14:
-+    case UNW_AARCH64_X15:
-+    case UNW_AARCH64_X16:
-+    case UNW_AARCH64_X17:
-+    case UNW_AARCH64_X18:
-+    case UNW_AARCH64_X19:
-+    case UNW_AARCH64_X20:
-+    case UNW_AARCH64_X21:
-+    case UNW_AARCH64_X22:
-+    case UNW_AARCH64_X23:
-+    case UNW_AARCH64_X24:
-+    case UNW_AARCH64_X25:
-+    case UNW_AARCH64_X26:
-+    case UNW_AARCH64_X27:
-+    case UNW_AARCH64_X28:
-+    case UNW_AARCH64_X29:
-+    case UNW_AARCH64_X30:
-+    case UNW_AARCH64_SP:
-+    case UNW_AARCH64_PC:
-+    case UNW_AARCH64_PSTATE:
-+      loc = c->dwarf.loc[reg];
-+      break;
-+
-+    default:
-+      loc = DWARF_NULL_LOC;   /* default to "not saved" */
-+      break;
-+    }
-+
-+  memset (sloc, 0, sizeof (*sloc));
-+
-+  if (DWARF_IS_NULL_LOC (loc))
-+    {
-+      sloc->type = UNW_SLT_NONE;
-+      return 0;
-+    }
-+
-+#if !defined(UNW_LOCAL_ONLY)
-+  if (DWARF_IS_REG_LOC (loc))
-+    {
-+      sloc->type = UNW_SLT_REG;
-+      sloc->u.regnum = DWARF_GET_LOC (loc);
-+    }
-+  else
-+#endif
-+    {
-+      sloc->type = UNW_SLT_MEMORY;
-+      sloc->u.addr = DWARF_GET_LOC (loc);
-+    }
-+  return 0;
-+}
-diff --git a/src/aarch64/Gglobal.c b/src/aarch64/Gglobal.c
-new file mode 100644
-index 0000000..b0a7e26
---- /dev/null
-+++ b/src/aarch64/Gglobal.c
-@@ -0,0 +1,57 @@
-+/* libunwind - a platform-independent unwind library
-+   Copyright (C) 2008 CodeSourcery
-+   Copyright (C) 2012 Tommi Rantala <tt.rantala@gmail.com>
-+   Copyright (C) 2013 Linaro Limited
-+
-+This file is part of libunwind.
-+
-+Permission is hereby granted, free of charge, to any person obtaining
-+a copy of this software and associated documentation files (the
-+"Software"), to deal in the Software without restriction, including
-+without limitation the rights to use, copy, modify, merge, publish,
-+distribute, sublicense, and/or sell copies of the Software, and to
-+permit persons to whom the Software is furnished to do so, subject to
-+the following conditions:
-+
-+The above copyright notice and this permission notice shall be
-+included in all copies or substantial portions of the Software.
-+
-+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.  */
-+
-+#include "unwind_i.h"
-+#include "dwarf_i.h"
-+
-+HIDDEN define_lock (aarch64_lock);
-+HIDDEN int tdep_init_done;
-+
-+HIDDEN void
-+tdep_init (void)
-+{
-+  intrmask_t saved_mask;
-+
-+  sigfillset (&unwi_full_mask);
-+
-+  lock_acquire (&aarch64_lock, saved_mask);
-+  {
-+    if (tdep_init_done)
-+      /* another thread else beat us to it... */
-+      goto out;
-+
-+    mi_init ();
-+
-+    dwarf_init ();
-+
-+#ifndef UNW_REMOTE_ONLY
-+    aarch64_local_addr_space_init ();
-+#endif
-+    tdep_init_done = 1;       /* signal that we're initialized... */
-+  }
-+ out:
-+  lock_release (&aarch64_lock, saved_mask);
-+}
-diff --git a/src/aarch64/Ginit.c b/src/aarch64/Ginit.c
-new file mode 100644
-index 0000000..449b417
---- /dev/null
-+++ b/src/aarch64/Ginit.c
-@@ -0,0 +1,187 @@
-+/* libunwind - a platform-independent unwind library
-+   Copyright (C) 2008 CodeSourcery
-+   Copyright (C) 2012 Tommi Rantala <tt.rantala@gmail.com>
-+   Copyright (C) 2013 Linaro Limited
-+
-+This file is part of libunwind.
-+
-+Permission is hereby granted, free of charge, to any person obtaining
-+a copy of this software and associated documentation files (the
-+"Software"), to deal in the Software without restriction, including
-+without limitation the rights to use, copy, modify, merge, publish,
-+distribute, sublicense, and/or sell copies of the Software, and to
-+permit persons to whom the Software is furnished to do so, subject to
-+the following conditions:
-+
-+The above copyright notice and this permission notice shall be
-+included in all copies or substantial portions of the Software.
-+
-+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.  */
-+
-+#include <stdlib.h>
-+#include <string.h>
-+
-+#include "unwind_i.h"
-+
-+#ifdef UNW_REMOTE_ONLY
-+
-+/* unw_local_addr_space is a NULL pointer in this case.  */
-+PROTECTED unw_addr_space_t unw_local_addr_space;
-+
-+#else /* !UNW_REMOTE_ONLY */
-+
-+static struct unw_addr_space local_addr_space;
-+
-+PROTECTED unw_addr_space_t unw_local_addr_space = &local_addr_space;
-+
-+static inline void *
-+uc_addr (ucontext_t *uc, int reg)
-+{
-+  if (reg >= UNW_AARCH64_X0 && reg <= UNW_AARCH64_V31)
-+    return &uc->uc_mcontext.regs[reg];
-+  else
-+    return NULL;
-+}
-+
-+# ifdef UNW_LOCAL_ONLY
-+
-+HIDDEN void *
-+tdep_uc_addr (ucontext_t *uc, int reg)
-+{
-+  return uc_addr (uc, reg);
-+}
-+
-+# endif /* UNW_LOCAL_ONLY */
-+
-+HIDDEN unw_dyn_info_list_t _U_dyn_info_list;
-+
-+/* XXX fix me: there is currently no way to locate the dyn-info list
-+       by a remote unwinder.  On ia64, this is done via a special
-+       unwind-table entry.  Perhaps something similar can be done with
-+       DWARF2 unwind info.  */
-+
-+static void
-+put_unwind_info (unw_addr_space_t as, unw_proc_info_t *proc_info, void *arg)
-+{
-+  /* it's a no-op */
-+}
-+
-+static int
-+get_dyn_info_list_addr (unw_addr_space_t as, unw_word_t *dyn_info_list_addr,
-+                      void *arg)
-+{
-+  *dyn_info_list_addr = (unw_word_t) &_U_dyn_info_list;
-+  return 0;
-+}
-+
-+static int
-+access_mem (unw_addr_space_t as, unw_word_t addr, unw_word_t *val, int write,
-+          void *arg)
-+{
-+  if (write)
-+    {
-+      Debug (16, "mem[%x] <- %x\n", addr, *val);
-+      *(unw_word_t *) addr = *val;
-+    }
-+  else
-+    {
-+      *val = *(unw_word_t *) addr;
-+      Debug (16, "mem[%x] -> %x\n", addr, *val);
-+    }
-+  return 0;
-+}
-+
-+static int
-+access_reg (unw_addr_space_t as, unw_regnum_t reg, unw_word_t *val, int write,
-+          void *arg)
-+{
-+  unw_word_t *addr;
-+  ucontext_t *uc = arg;
-+
-+  if (unw_is_fpreg (reg))
-+    goto badreg;
-+
-+  if (!(addr = uc_addr (uc, reg)))
-+    goto badreg;
-+
-+  if (write)
-+    {
-+      *(unw_word_t *) addr = *val;
-+      Debug (12, "%s <- %x\n", unw_regname (reg), *val);
-+    }
-+  else
-+    {
-+      *val = *(unw_word_t *) addr;
-+      Debug (12, "%s -> %x\n", unw_regname (reg), *val);
-+    }
-+  return 0;
-+
-+ badreg:
-+  Debug (1, "bad register number %u\n", reg);
-+  return -UNW_EBADREG;
-+}
-+
-+static int
-+access_fpreg (unw_addr_space_t as, unw_regnum_t reg, unw_fpreg_t *val,
-+            int write, void *arg)
-+{
-+  ucontext_t *uc = arg;
-+  unw_fpreg_t *addr;
-+
-+  if (!unw_is_fpreg (reg))
-+    goto badreg;
-+
-+  if (!(addr = uc_addr (uc, reg)))
-+    goto badreg;
-+
-+  if (write)
-+    {
-+      Debug (12, "%s <- %08lx.%08lx.%08lx\n", unw_regname (reg),
-+           ((long *)val)[0], ((long *)val)[1], ((long *)val)[2]);
-+      *(unw_fpreg_t *) addr = *val;
-+    }
-+  else
-+    {
-+      *val = *(unw_fpreg_t *) addr;
-+      Debug (12, "%s -> %08lx.%08lx.%08lx\n", unw_regname (reg),
-+           ((long *)val)[0], ((long *)val)[1], ((long *)val)[2]);
-+    }
-+  return 0;
-+
-+ badreg:
-+  Debug (1, "bad register number %u\n", reg);
-+  /* attempt to access a non-preserved register */
-+  return -UNW_EBADREG;
-+}
-+
-+static int
-+get_static_proc_name (unw_addr_space_t as, unw_word_t ip,
-+                    char *buf, size_t buf_len, unw_word_t *offp,
-+                    void *arg)
-+{
-+  return _Uelf64_get_proc_name (as, getpid (), ip, buf, buf_len, offp);
-+}
-+
-+HIDDEN void
-+aarch64_local_addr_space_init (void)
-+{
-+  memset (&local_addr_space, 0, sizeof (local_addr_space));
-+  local_addr_space.caching_policy = UNW_CACHE_GLOBAL;
-+  local_addr_space.acc.find_proc_info = dwarf_find_proc_info;
-+  local_addr_space.acc.put_unwind_info = put_unwind_info;
-+  local_addr_space.acc.get_dyn_info_list_addr = get_dyn_info_list_addr;
-+  local_addr_space.acc.access_mem = access_mem;
-+  local_addr_space.acc.access_reg = access_reg;
-+  local_addr_space.acc.access_fpreg = access_fpreg;
-+  local_addr_space.acc.resume = aarch64_local_resume;
-+  local_addr_space.acc.get_proc_name = get_static_proc_name;
-+  unw_flush_cache (&local_addr_space, 0, 0);
-+}
-+
-+#endif /* !UNW_REMOTE_ONLY */
-diff --git a/src/aarch64/Ginit_local.c b/src/aarch64/Ginit_local.c
-new file mode 100644
-index 0000000..dee6fd3
---- /dev/null
-+++ b/src/aarch64/Ginit_local.c
-@@ -0,0 +1,55 @@
-+/* libunwind - a platform-independent unwind library
-+   Copyright (C) 2008 CodeSourcery
-+   Copyright (C) 2011-2013 Linaro Limited
-+
-+This file is part of libunwind.
-+
-+Permission is hereby granted, free of charge, to any person obtaining
-+a copy of this software and associated documentation files (the
-+"Software"), to deal in the Software without restriction, including
-+without limitation the rights to use, copy, modify, merge, publish,
-+distribute, sublicense, and/or sell copies of the Software, and to
-+permit persons to whom the Software is furnished to do so, subject to
-+the following conditions:
-+
-+The above copyright notice and this permission notice shall be
-+included in all copies or substantial portions of the Software.
-+
-+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.  */
-+
-+#include "unwind_i.h"
-+#include "init.h"
-+
-+#ifdef UNW_REMOTE_ONLY
-+
-+PROTECTED int
-+unw_init_local (unw_cursor_t *cursor, unw_context_t *uc)
-+{
-+  return -UNW_EINVAL;
-+}
-+
-+#else /* !UNW_REMOTE_ONLY */
-+
-+PROTECTED int
-+unw_init_local (unw_cursor_t *cursor, unw_context_t *uc)
-+{
-+  struct cursor *c = (struct cursor *) cursor;
-+
-+  if (!tdep_init_done)
-+    tdep_init ();
-+
-+  Debug (1, "(cursor=%p)\n", c);
-+
-+  c->dwarf.as = unw_local_addr_space;
-+  c->dwarf.as_arg = uc;
-+
-+  return common_init (c, 1);
-+}
-+
-+#endif /* !UNW_REMOTE_ONLY */
-diff --git a/src/aarch64/Ginit_remote.c b/src/aarch64/Ginit_remote.c
-new file mode 100644
-index 0000000..f284e99
---- /dev/null
-+++ b/src/aarch64/Ginit_remote.c
-@@ -0,0 +1,45 @@
-+/* libunwind - a platform-independent unwind library
-+   Copyright (C) 2008 CodeSourcery
-+
-+This file is part of libunwind.
-+
-+Permission is hereby granted, free of charge, to any person obtaining
-+a copy of this software and associated documentation files (the
-+"Software"), to deal in the Software without restriction, including
-+without limitation the rights to use, copy, modify, merge, publish,
-+distribute, sublicense, and/or sell copies of the Software, and to
-+permit persons to whom the Software is furnished to do so, subject to
-+the following conditions:
-+
-+The above copyright notice and this permission notice shall be
-+included in all copies or substantial portions of the Software.
-+
-+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.  */
-+
-+#include "init.h"
-+#include "unwind_i.h"
-+
-+PROTECTED int
-+unw_init_remote (unw_cursor_t *cursor, unw_addr_space_t as, void *as_arg)
-+{
-+#ifdef UNW_LOCAL_ONLY
-+  return -UNW_EINVAL;
-+#else /* !UNW_LOCAL_ONLY */
-+  struct cursor *c = (struct cursor *) cursor;
-+
-+  if (!tdep_init_done)
-+    tdep_init ();
-+
-+  Debug (1, "(cursor=%p)\n", c);
-+
-+  c->dwarf.as = as;
-+  c->dwarf.as_arg = as_arg;
-+  return common_init (c, 0);
-+#endif /* !UNW_LOCAL_ONLY */
-+}
-diff --git a/src/aarch64/Gis_signal_frame.c b/src/aarch64/Gis_signal_frame.c
-new file mode 100644
-index 0000000..53e32de
---- /dev/null
-+++ b/src/aarch64/Gis_signal_frame.c
-@@ -0,0 +1,64 @@
-+/* libunwind - a platform-independent unwind library
-+   Copyright (C) 2012 Tommi Rantala <tt.rantala@gmail.com>
-+   Copyright (C) 2013 Linaro Limited
-+
-+This file is part of libunwind.
-+
-+Permission is hereby granted, free of charge, to any person obtaining
-+a copy of this software and associated documentation files (the
-+"Software"), to deal in the Software without restriction, including
-+without limitation the rights to use, copy, modify, merge, publish,
-+distribute, sublicense, and/or sell copies of the Software, and to
-+permit persons to whom the Software is furnished to do so, subject to
-+the following conditions:
-+
-+The above copyright notice and this permission notice shall be
-+included in all copies or substantial portions of the Software.
-+
-+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.  */
-+
-+#include "unwind_i.h"
-+
-+/* The restorer stub will always have the form:
-+
-+   d2801168        movz    x8, #0x8b
-+   d4000001        svc     #0x0
-+*/
-+
-+PROTECTED int
-+unw_is_signal_frame (unw_cursor_t *cursor)
-+{
-+#ifdef __linux__
-+  struct cursor *c = (struct cursor *) cursor;
-+  unw_word_t w0, ip;
-+  unw_addr_space_t as;
-+  unw_accessors_t *a;
-+  void *arg;
-+  int ret;
-+
-+  as = c->dwarf.as;
-+  a = unw_get_accessors (as);
-+  arg = c->dwarf.as_arg;
-+
-+  ip = c->dwarf.ip;
-+
-+  ret = (*a->access_mem) (as, ip, &w0, 0, arg);
-+  if (ret < 0)
-+    return ret;
-+
-+  /* FIXME: distinguish 32bit insn vs 64bit registers.  */
-+  if (w0 != 0xd4000001d2801168)
-+    return 0;
-+
-+  return 1;
-+
-+#else
-+  return -UNW_ENOINFO;
-+#endif
-+}
-diff --git a/src/aarch64/Gregs.c b/src/aarch64/Gregs.c
-new file mode 100644
-index 0000000..0f6b9c6
---- /dev/null
-+++ b/src/aarch64/Gregs.c
-@@ -0,0 +1,113 @@
-+/* libunwind - a platform-independent unwind library
-+   Copyright (C) 2008 CodeSourcery
-+   Copyright (C) 2012 Tommi Rantala <tt.rantala@gmail.com>
-+   Copyright (C) 2013 Linaro Limited
-+
-+This file is part of libunwind.
-+
-+Permission is hereby granted, free of charge, to any person obtaining
-+a copy of this software and associated documentation files (the
-+"Software"), to deal in the Software without restriction, including
-+without limitation the rights to use, copy, modify, merge, publish,
-+distribute, sublicense, and/or sell copies of the Software, and to
-+permit persons to whom the Software is furnished to do so, subject to
-+the following conditions:
-+
-+The above copyright notice and this permission notice shall be
-+included in all copies or substantial portions of the Software.
-+
-+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.  */
-+
-+#include "unwind_i.h"
-+
-+HIDDEN int
-+tdep_access_reg (struct cursor *c, unw_regnum_t reg, unw_word_t *valp,
-+               int write)
-+{
-+  dwarf_loc_t loc = DWARF_NULL_LOC;
-+  unsigned int mask;
-+
-+  switch (reg)
-+    {
-+    case UNW_AARCH64_X0:
-+    case UNW_AARCH64_X1:
-+    case UNW_AARCH64_X2:
-+    case UNW_AARCH64_X3:
-+      mask = 1 << reg;
-+      if (write)
-+        {
-+          c->dwarf.eh_args[reg] = *valp;
-+          c->dwarf.eh_valid_mask |= mask;
-+          return 0;
-+        }
-+      else if ((c->dwarf.eh_valid_mask & mask) != 0)
-+        {
-+          *valp = c->dwarf.eh_args[reg];
-+          return 0;
-+        }
-+      else
-+        loc = c->dwarf.loc[reg];
-+      break;
-+
-+    case UNW_AARCH64_X4:
-+    case UNW_AARCH64_X5:
-+    case UNW_AARCH64_X6:
-+    case UNW_AARCH64_X7:
-+    case UNW_AARCH64_X8:
-+    case UNW_AARCH64_X9:
-+    case UNW_AARCH64_X10:
-+    case UNW_AARCH64_X11:
-+    case UNW_AARCH64_X12:
-+    case UNW_AARCH64_X13:
-+    case UNW_AARCH64_X14:
-+    case UNW_AARCH64_X15:
-+    case UNW_AARCH64_X16:
-+    case UNW_AARCH64_X17:
-+    case UNW_AARCH64_X18:
-+    case UNW_AARCH64_X19:
-+    case UNW_AARCH64_X20:
-+    case UNW_AARCH64_X21:
-+    case UNW_AARCH64_X22:
-+    case UNW_AARCH64_X23:
-+    case UNW_AARCH64_X24:
-+    case UNW_AARCH64_X25:
-+    case UNW_AARCH64_X26:
-+    case UNW_AARCH64_X27:
-+    case UNW_AARCH64_X28:
-+    case UNW_AARCH64_X29:
-+    case UNW_AARCH64_X30:
-+    case UNW_AARCH64_PC:
-+    case UNW_AARCH64_PSTATE:
-+      loc = c->dwarf.loc[reg];
-+      break;
-+
-+    case UNW_AARCH64_SP:
-+      if (write)
-+        return -UNW_EREADONLYREG;
-+      *valp = c->dwarf.cfa;
-+      return 0;
-+
-+    default:
-+      Debug (1, "bad register number %u\n", reg);
-+      return -UNW_EBADREG;
-+    }
-+
-+  if (write)
-+    return dwarf_put (&c->dwarf, loc, *valp);
-+  else
-+    return dwarf_get (&c->dwarf, loc, valp);
-+}
-+
-+HIDDEN int
-+tdep_access_fpreg (struct cursor *c, unw_regnum_t reg, unw_fpreg_t *valp,
-+                 int write)
-+{
-+  Debug (1, "bad register number %u\n", reg);
-+  return -UNW_EBADREG;
-+}
-diff --git a/src/aarch64/Gresume.c b/src/aarch64/Gresume.c
-new file mode 100644
-index 0000000..908646b
---- /dev/null
-+++ b/src/aarch64/Gresume.c
-@@ -0,0 +1,177 @@
-+/* libunwind - a platform-independent unwind library
-+   Copyright (C) 2008 CodeSourcery
-+   Copyright (C) 2011-2013 Linaro Limited
-+   Copyright (C) 2012 Tommi Rantala <tt.rantala@gmail.com>
-+
-+This file is part of libunwind.
-+
-+Permission is hereby granted, free of charge, to any person obtaining
-+a copy of this software and associated documentation files (the
-+"Software"), to deal in the Software without restriction, including
-+without limitation the rights to use, copy, modify, merge, publish,
-+distribute, sublicense, and/or sell copies of the Software, and to
-+permit persons to whom the Software is furnished to do so, subject to
-+the following conditions:
-+
-+The above copyright notice and this permission notice shall be
-+included in all copies or substantial portions of the Software.
-+
-+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.  */
-+
-+#include "unwind_i.h"
-+#include "offsets.h"
-+
-+#ifndef UNW_REMOTE_ONLY
-+
-+HIDDEN inline int
-+aarch64_local_resume (unw_addr_space_t as, unw_cursor_t *cursor, void *arg)
-+{
-+#ifdef __linux__
-+  struct cursor *c = (struct cursor *) cursor;
-+  unw_tdep_context_t *uc = c->dwarf.as_arg;
-+
-+  if (c->sigcontext_format == AARCH64_SCF_NONE)
-+    {
-+      /* Since there are no signals involved here we restore the non scratch
-+       registers only.  */
-+      unsigned long regs[11];
-+      regs[0] = uc->uc_mcontext.regs[19];
-+      regs[1] = uc->uc_mcontext.regs[20];
-+      regs[2] = uc->uc_mcontext.regs[21];
-+      regs[3] = uc->uc_mcontext.regs[22];
-+      regs[4] = uc->uc_mcontext.regs[23];
-+      regs[5] = uc->uc_mcontext.regs[24];
-+      regs[6] = uc->uc_mcontext.regs[25];
-+      regs[7] = uc->uc_mcontext.regs[26];
-+      regs[8] = uc->uc_mcontext.regs[27];
-+      regs[9] = uc->uc_mcontext.regs[28];
-+      regs[10] = uc->uc_mcontext.regs[30]; /* LR */
-+      unsigned long sp = uc->uc_mcontext.sp;
-+
-+      struct regs_overlay {
-+        char x[sizeof(regs)];
-+      };
-+
-+      asm volatile (
-+        "ldp x19, x20, [%0]\n"
-+        "ldp x21, x22, [%0,16]\n"
-+        "ldp x23, x24, [%0,32]\n"
-+        "ldp x25, x26, [%0,48]\n"
-+        "ldp x27, x28, [%0,64]\n"
-+        "ldr x30, [%0,80]\n"
-+        "mov sp, %1\n"
-+        "ret \n"
-+        :
-+        : "r" (regs),
-+          "r" (sp),
-+          "m" (*(struct regs_overlay *)regs)
-+      );
-+    }
-+  else
-+    {
-+      struct sigcontext *sc = (struct sigcontext *) c->sigcontext_addr;
-+
-+      if (c->dwarf.eh_valid_mask & 0x1) sc->regs[0] = c->dwarf.eh_args[0];
-+      if (c->dwarf.eh_valid_mask & 0x2) sc->regs[1] = c->dwarf.eh_args[1];
-+      if (c->dwarf.eh_valid_mask & 0x4) sc->regs[2] = c->dwarf.eh_args[2];
-+      if (c->dwarf.eh_valid_mask & 0x8) sc->regs[3] = c->dwarf.eh_args[3];
-+
-+      sc->regs[4] = uc->uc_mcontext.regs[4];
-+      sc->regs[5] = uc->uc_mcontext.regs[5];
-+      sc->regs[6] = uc->uc_mcontext.regs[6];
-+      sc->regs[7] = uc->uc_mcontext.regs[7];
-+      sc->regs[8] = uc->uc_mcontext.regs[8];
-+      sc->regs[9] = uc->uc_mcontext.regs[9];
-+      sc->regs[10] = uc->uc_mcontext.regs[10];
-+      sc->regs[11] = uc->uc_mcontext.regs[11];
-+      sc->regs[12] = uc->uc_mcontext.regs[12];
-+      sc->regs[13] = uc->uc_mcontext.regs[13];
-+      sc->regs[14] = uc->uc_mcontext.regs[14];
-+      sc->regs[15] = uc->uc_mcontext.regs[15];
-+      sc->regs[16] = uc->uc_mcontext.regs[16];
-+      sc->regs[17] = uc->uc_mcontext.regs[17];
-+      sc->regs[18] = uc->uc_mcontext.regs[18];
-+      sc->regs[19] = uc->uc_mcontext.regs[19];
-+      sc->regs[20] = uc->uc_mcontext.regs[20];
-+      sc->regs[21] = uc->uc_mcontext.regs[21];
-+      sc->regs[22] = uc->uc_mcontext.regs[22];
-+      sc->regs[23] = uc->uc_mcontext.regs[23];
-+      sc->regs[24] = uc->uc_mcontext.regs[24];
-+      sc->regs[25] = uc->uc_mcontext.regs[25];
-+      sc->regs[26] = uc->uc_mcontext.regs[26];
-+      sc->regs[27] = uc->uc_mcontext.regs[27];
-+      sc->regs[28] = uc->uc_mcontext.regs[28];
-+      sc->regs[29] = uc->uc_mcontext.regs[29];
-+      sc->regs[30] = uc->uc_mcontext.regs[30];
-+      sc->sp = uc->uc_mcontext.sp;
-+      sc->pc = uc->uc_mcontext.pc;
-+      sc->pstate = uc->uc_mcontext.pstate;
-+
-+      asm volatile (
-+        "mov sp, %0\n"
-+        "ret %1\n"
-+        : : "r" (c->sigcontext_sp), "r" (c->sigcontext_pc)
-+      );
-+   }
-+  __builtin_unreachable();
-+#else
-+  printf ("%s: implement me\n", __FUNCTION__);
-+#endif
-+  return -UNW_EINVAL;
-+}
-+
-+#endif /* !UNW_REMOTE_ONLY */
-+
-+static inline void
-+establish_machine_state (struct cursor *c)
-+{
-+  unw_addr_space_t as = c->dwarf.as;
-+  void *arg = c->dwarf.as_arg;
-+  unw_fpreg_t fpval;
-+  unw_word_t val;
-+  int reg;
-+
-+  Debug (8, "copying out cursor state\n");
-+
-+  for (reg = 0; reg <= UNW_AARCH64_PSTATE; ++reg)
-+    {
-+      Debug (16, "copying %s %d\n", unw_regname (reg), reg);
-+      if (unw_is_fpreg (reg))
-+      {
-+        if (tdep_access_fpreg (c, reg, &fpval, 0) >= 0)
-+          as->acc.access_fpreg (as, reg, &fpval, 1, arg);
-+      }
-+      else
-+      {
-+        if (tdep_access_reg (c, reg, &val, 0) >= 0)
-+          as->acc.access_reg (as, reg, &val, 1, arg);
-+      }
-+    }
-+}
-+
-+PROTECTED int
-+unw_resume (unw_cursor_t *cursor)
-+{
-+  struct cursor *c = (struct cursor *) cursor;
-+
-+  Debug (1, "(cursor=%p)\n", c);
-+
-+  if (!c->dwarf.ip)
-+    {
-+      /* This can happen easily when the frame-chain gets truncated
-+       due to bad or missing unwind-info.  */
-+      Debug (1, "refusing to resume execution at address 0\n");
-+      return -UNW_EINVAL;
-+    }
-+
-+  establish_machine_state (c);
-+
-+  return (*c->dwarf.as->acc.resume) (c->dwarf.as, (unw_cursor_t *) c,
-+                                   c->dwarf.as_arg);
-+}
-diff --git a/src/aarch64/Gstep.c b/src/aarch64/Gstep.c
-new file mode 100644
-index 0000000..4aa15d1
---- /dev/null
-+++ b/src/aarch64/Gstep.c
-@@ -0,0 +1,129 @@
-+/* libunwind - a platform-independent unwind library
-+   Copyright (C) 2008 CodeSourcery
-+   Copyright (C) 2011-2013 Linaro Limited
-+   Copyright (C) 2012 Tommi Rantala <tt.rantala@gmail.com>
-+
-+This file is part of libunwind.
-+
-+Permission is hereby granted, free of charge, to any person obtaining
-+a copy of this software and associated documentation files (the
-+"Software"), to deal in the Software without restriction, including
-+without limitation the rights to use, copy, modify, merge, publish,
-+distribute, sublicense, and/or sell copies of the Software, and to
-+permit persons to whom the Software is furnished to do so, subject to
-+the following conditions:
-+
-+The above copyright notice and this permission notice shall be
-+included in all copies or substantial portions of the Software.
-+
-+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.  */
-+
-+#include "unwind_i.h"
-+#include "offsets.h"
-+
-+PROTECTED int
-+unw_handle_signal_frame (unw_cursor_t *cursor)
-+{
-+  struct cursor *c = (struct cursor *) cursor;
-+  int ret;
-+  unw_word_t sc_addr, sp, sp_addr = c->dwarf.cfa;
-+  struct dwarf_loc sp_loc = DWARF_LOC (sp_addr, 0);
-+
-+  if ((ret = dwarf_get (&c->dwarf, sp_loc, &sp)) < 0)
-+    return -UNW_EUNSPEC;
-+
-+  ret = unw_is_signal_frame (cursor);
-+  Debug(1, "unw_is_signal_frame()=%d\n", ret);
-+
-+  /* Save the SP and PC to be able to return execution at this point
-+     later in time (unw_resume).  */
-+  c->sigcontext_sp = c->dwarf.cfa;
-+  c->sigcontext_pc = c->dwarf.ip;
-+
-+  if (ret)
-+    {
-+      c->sigcontext_format = AARCH64_SCF_LINUX_RT_SIGFRAME;
-+      sc_addr = sp_addr + sizeof (siginfo_t) + LINUX_UC_MCONTEXT_OFF;
-+    }
-+  else
-+    return -UNW_EUNSPEC;
-+
-+  c->sigcontext_addr = sc_addr;
-+
-+  /* Update the dwarf cursor.
-+     Set the location of the registers to the corresponding addresses of the
-+     uc_mcontext / sigcontext structure contents.  */
-+  c->dwarf.loc[UNW_AARCH64_X0]  = DWARF_LOC (sc_addr + LINUX_SC_X0_OFF, 0);
-+  c->dwarf.loc[UNW_AARCH64_X1]  = DWARF_LOC (sc_addr + LINUX_SC_X1_OFF, 0);
-+  c->dwarf.loc[UNW_AARCH64_X2]  = DWARF_LOC (sc_addr + LINUX_SC_X2_OFF, 0);
-+  c->dwarf.loc[UNW_AARCH64_X3]  = DWARF_LOC (sc_addr + LINUX_SC_X3_OFF, 0);
-+  c->dwarf.loc[UNW_AARCH64_X4]  = DWARF_LOC (sc_addr + LINUX_SC_X4_OFF, 0);
-+  c->dwarf.loc[UNW_AARCH64_X5]  = DWARF_LOC (sc_addr + LINUX_SC_X5_OFF, 0);
-+  c->dwarf.loc[UNW_AARCH64_X6]  = DWARF_LOC (sc_addr + LINUX_SC_X6_OFF, 0);
-+  c->dwarf.loc[UNW_AARCH64_X7]  = DWARF_LOC (sc_addr + LINUX_SC_X7_OFF, 0);
-+  c->dwarf.loc[UNW_AARCH64_X8]  = DWARF_LOC (sc_addr + LINUX_SC_X8_OFF, 0);
-+  c->dwarf.loc[UNW_AARCH64_X9]  = DWARF_LOC (sc_addr + LINUX_SC_X9_OFF, 0);
-+  c->dwarf.loc[UNW_AARCH64_X10] = DWARF_LOC (sc_addr + LINUX_SC_X10_OFF, 0);
-+  c->dwarf.loc[UNW_AARCH64_X11] = DWARF_LOC (sc_addr + LINUX_SC_X11_OFF, 0);
-+  c->dwarf.loc[UNW_AARCH64_X12] = DWARF_LOC (sc_addr + LINUX_SC_X12_OFF, 0);
-+  c->dwarf.loc[UNW_AARCH64_X13] = DWARF_LOC (sc_addr + LINUX_SC_X13_OFF, 0);
-+  c->dwarf.loc[UNW_AARCH64_X14] = DWARF_LOC (sc_addr + LINUX_SC_X14_OFF, 0);
-+  c->dwarf.loc[UNW_AARCH64_X15] = DWARF_LOC (sc_addr + LINUX_SC_X15_OFF, 0);
-+  c->dwarf.loc[UNW_AARCH64_X16] = DWARF_LOC (sc_addr + LINUX_SC_X16_OFF, 0);
-+  c->dwarf.loc[UNW_AARCH64_X17] = DWARF_LOC (sc_addr + LINUX_SC_X17_OFF, 0);
-+  c->dwarf.loc[UNW_AARCH64_X18] = DWARF_LOC (sc_addr + LINUX_SC_X18_OFF, 0);
-+  c->dwarf.loc[UNW_AARCH64_X19] = DWARF_LOC (sc_addr + LINUX_SC_X19_OFF, 0);
-+  c->dwarf.loc[UNW_AARCH64_X20] = DWARF_LOC (sc_addr + LINUX_SC_X20_OFF, 0);
-+  c->dwarf.loc[UNW_AARCH64_X21] = DWARF_LOC (sc_addr + LINUX_SC_X21_OFF, 0);
-+  c->dwarf.loc[UNW_AARCH64_X22] = DWARF_LOC (sc_addr + LINUX_SC_X22_OFF, 0);
-+  c->dwarf.loc[UNW_AARCH64_X23] = DWARF_LOC (sc_addr + LINUX_SC_X23_OFF, 0);
-+  c->dwarf.loc[UNW_AARCH64_X24] = DWARF_LOC (sc_addr + LINUX_SC_X24_OFF, 0);
-+  c->dwarf.loc[UNW_AARCH64_X25] = DWARF_LOC (sc_addr + LINUX_SC_X25_OFF, 0);
-+  c->dwarf.loc[UNW_AARCH64_X26] = DWARF_LOC (sc_addr + LINUX_SC_X26_OFF, 0);
-+  c->dwarf.loc[UNW_AARCH64_X27] = DWARF_LOC (sc_addr + LINUX_SC_X27_OFF, 0);
-+  c->dwarf.loc[UNW_AARCH64_X28] = DWARF_LOC (sc_addr + LINUX_SC_X28_OFF, 0);
-+  c->dwarf.loc[UNW_AARCH64_X29] = DWARF_LOC (sc_addr + LINUX_SC_X29_OFF, 0);
-+  c->dwarf.loc[UNW_AARCH64_X30] = DWARF_LOC (sc_addr + LINUX_SC_X30_OFF, 0);
-+  c->dwarf.loc[UNW_AARCH64_SP]  = DWARF_LOC (sc_addr + LINUX_SC_SP_OFF, 0);
-+  c->dwarf.loc[UNW_AARCH64_PC]  = DWARF_LOC (sc_addr + LINUX_SC_PC_OFF, 0);
-+  c->dwarf.loc[UNW_AARCH64_PSTATE]  = DWARF_LOC (sc_addr + LINUX_SC_PSTATE_OFF, 0);
-+
-+  /* Set SP/CFA and PC/IP.  */
-+  dwarf_get (&c->dwarf, c->dwarf.loc[UNW_AARCH64_SP], &c->dwarf.cfa);
-+  dwarf_get (&c->dwarf, c->dwarf.loc[UNW_AARCH64_PC], &c->dwarf.ip);
-+
-+  c->dwarf.pi_valid = 0;
-+
-+  return 1;
-+}
-+
-+PROTECTED int
-+unw_step (unw_cursor_t *cursor)
-+{
-+  struct cursor *c = (struct cursor *) cursor;
-+  int ret;
-+
-+  Debug (1, "(cursor=%p, ip=0x%016lx, cfa=0x%016lx))\n",
-+       c, c->dwarf.ip, c->dwarf.cfa);
-+
-+  /* Check if this is a signal frame. */
-+  if (unw_is_signal_frame (cursor))
-+    return unw_handle_signal_frame (cursor);
-+
-+  ret = dwarf_step (&c->dwarf);
-+  Debug(1, "dwarf_step()=%d\n", ret);
-+
-+  if (unlikely (ret == -UNW_ESTOPUNWIND))
-+    return ret;
-+
-+  if (unlikely (ret < 0))
-+    return 0;
-+
-+  return (c->dwarf.ip == 0) ? 0 : 1;
-+}
-diff --git a/src/aarch64/Lcreate_addr_space.c b/src/aarch64/Lcreate_addr_space.c
-new file mode 100644
-index 0000000..0f2dc6b
---- /dev/null
-+++ b/src/aarch64/Lcreate_addr_space.c
-@@ -0,0 +1,5 @@
-+#define UNW_LOCAL_ONLY
-+#include <libunwind.h>
-+#if defined(UNW_LOCAL_ONLY) && !defined(UNW_REMOTE_ONLY)
-+#include "Gcreate_addr_space.c"
-+#endif
-diff --git a/src/aarch64/Lget_proc_info.c b/src/aarch64/Lget_proc_info.c
-new file mode 100644
-index 0000000..69028b0
---- /dev/null
-+++ b/src/aarch64/Lget_proc_info.c
-@@ -0,0 +1,5 @@
-+#define UNW_LOCAL_ONLY
-+#include <libunwind.h>
-+#if defined(UNW_LOCAL_ONLY) && !defined(UNW_REMOTE_ONLY)
-+#include "Gget_proc_info.c"
-+#endif
-diff --git a/src/aarch64/Lget_save_loc.c b/src/aarch64/Lget_save_loc.c
-new file mode 100644
-index 0000000..9ea048a
---- /dev/null
-+++ b/src/aarch64/Lget_save_loc.c
-@@ -0,0 +1,5 @@
-+#define UNW_LOCAL_ONLY
-+#include <libunwind.h>
-+#if defined(UNW_LOCAL_ONLY) && !defined(UNW_REMOTE_ONLY)
-+#include "Gget_save_loc.c"
-+#endif
-diff --git a/src/aarch64/Lglobal.c b/src/aarch64/Lglobal.c
-new file mode 100644
-index 0000000..6d7b489
---- /dev/null
-+++ b/src/aarch64/Lglobal.c
-@@ -0,0 +1,5 @@
-+#define UNW_LOCAL_ONLY
-+#include <libunwind.h>
-+#if defined(UNW_LOCAL_ONLY) && !defined(UNW_REMOTE_ONLY)
-+#include "Gglobal.c"
-+#endif
-diff --git a/src/aarch64/Linit.c b/src/aarch64/Linit.c
-new file mode 100644
-index 0000000..e9abfdd
---- /dev/null
-+++ b/src/aarch64/Linit.c
-@@ -0,0 +1,5 @@
-+#define UNW_LOCAL_ONLY
-+#include <libunwind.h>
-+#if defined(UNW_LOCAL_ONLY) && !defined(UNW_REMOTE_ONLY)
-+#include "Ginit.c"
-+#endif
-diff --git a/src/aarch64/Linit_local.c b/src/aarch64/Linit_local.c
-new file mode 100644
-index 0000000..68a1687
---- /dev/null
-+++ b/src/aarch64/Linit_local.c
-@@ -0,0 +1,5 @@
-+#define UNW_LOCAL_ONLY
-+#include <libunwind.h>
-+#if defined(UNW_LOCAL_ONLY) && !defined(UNW_REMOTE_ONLY)
-+#include "Ginit_local.c"
-+#endif
-diff --git a/src/aarch64/Linit_remote.c b/src/aarch64/Linit_remote.c
-new file mode 100644
-index 0000000..58cb04a
---- /dev/null
-+++ b/src/aarch64/Linit_remote.c
-@@ -0,0 +1,5 @@
-+#define UNW_LOCAL_ONLY
-+#include <libunwind.h>
-+#if defined(UNW_LOCAL_ONLY) && !defined(UNW_REMOTE_ONLY)
-+#include "Ginit_remote.c"
-+#endif
-diff --git a/src/aarch64/Lis_signal_frame.c b/src/aarch64/Lis_signal_frame.c
-new file mode 100644
-index 0000000..b9a7c4f
---- /dev/null
-+++ b/src/aarch64/Lis_signal_frame.c
-@@ -0,0 +1,5 @@
-+#define UNW_LOCAL_ONLY
-+#include <libunwind.h>
-+#if defined(UNW_LOCAL_ONLY) && !defined(UNW_REMOTE_ONLY)
-+#include "Gis_signal_frame.c"
-+#endif
-diff --git a/src/aarch64/Lregs.c b/src/aarch64/Lregs.c
-new file mode 100644
-index 0000000..2c9c75c
---- /dev/null
-+++ b/src/aarch64/Lregs.c
-@@ -0,0 +1,5 @@
-+#define UNW_LOCAL_ONLY
-+#include <libunwind.h>
-+#if defined(UNW_LOCAL_ONLY) && !defined(UNW_REMOTE_ONLY)
-+#include "Gregs.c"
-+#endif
-diff --git a/src/aarch64/Lresume.c b/src/aarch64/Lresume.c
-new file mode 100644
-index 0000000..41a8cf0
---- /dev/null
-+++ b/src/aarch64/Lresume.c
-@@ -0,0 +1,5 @@
-+#define UNW_LOCAL_ONLY
-+#include <libunwind.h>
-+#if defined(UNW_LOCAL_ONLY) && !defined(UNW_REMOTE_ONLY)
-+#include "Gresume.c"
-+#endif
-diff --git a/src/aarch64/Lstep.c b/src/aarch64/Lstep.c
-new file mode 100644
-index 0000000..c1ac3c7
---- /dev/null
-+++ b/src/aarch64/Lstep.c
-@@ -0,0 +1,5 @@
-+#define UNW_LOCAL_ONLY
-+#include <libunwind.h>
-+#if defined(UNW_LOCAL_ONLY) && !defined(UNW_REMOTE_ONLY)
-+#include "Gstep.c"
-+#endif
-diff --git a/src/aarch64/gen-offsets.c b/src/aarch64/gen-offsets.c
-new file mode 100644
-index 0000000..eadc237
---- /dev/null
-+++ b/src/aarch64/gen-offsets.c
-@@ -0,0 +1,68 @@
-+#include <stdio.h>
-+#include <stddef.h>
-+#include <ucontext.h>
-+#include <asm/sigcontext.h>
-+
-+#define UC(N,X) \
-+  printf ("#define LINUX_UC_" N "_OFF\t0x%X\n", offsetof (ucontext_t, X))
-+
-+#define SC(N,X) \
-+  printf ("#define LINUX_SC_" N "_OFF\t0x%X\n", offsetof (struct sigcontext, X))
-+
-+int
-+main (void)
-+{
-+  printf (
-+"/* Linux-specific definitions: */\n\n"
-+
-+"/* Define various structure offsets to simplify cross-compilation.  */\n\n"
-+
-+"/* Offsets for AArch64 Linux \"ucontext_t\":  */\n\n");
-+
-+  UC ("FLAGS", uc_flags);
-+  UC ("LINK", uc_link);
-+  UC ("STACK", uc_stack);
-+  UC ("MCONTEXT", uc_mcontext);
-+  UC ("SIGMASK", uc_sigmask);
-+
-+  printf ("\n/* Offsets for AArch64 Linux \"struct sigcontext\":  */\n\n");
-+
-+  SC ("R0",  regs[0]);
-+  SC ("R1",  regs[1]);
-+  SC ("R2",  regs[2]);
-+  SC ("R3",  regs[3]);
-+  SC ("R4",  regs[4]);
-+  SC ("R5",  regs[5]);
-+  SC ("R6",  regs[6]);
-+  SC ("R7",  regs[7]);
-+  SC ("R8",  regs[8]);
-+  SC ("R9",  regs[9]);
-+  SC ("R10", regs[10]);
-+  SC ("R11", regs[11]);
-+  SC ("R12", regs[12]);
-+  SC ("R13", regs[13]);
-+  SC ("R14", regs[14]);
-+  SC ("R15", regs[15]);
-+  SC ("R16", regs[16]);
-+  SC ("R17", regs[17]);
-+  SC ("R18", regs[18]);
-+  SC ("R19", regs[19]);
-+  SC ("R20", regs[20]);
-+  SC ("R21", regs[21]);
-+  SC ("R22", regs[22]);
-+  SC ("R23", regs[23]);
-+  SC ("R24", regs[24]);
-+  SC ("R25", regs[25]);
-+  SC ("R26", regs[26]);
-+  SC ("R27", regs[27]);
-+  SC ("R28", regs[28]);
-+  SC ("R29", regs[29]);
-+  SC ("R30", regs[30]);
-+  SC ("R31", regs[31]);
-+
-+  SC ("PC", pc);
-+  SC ("SP", sp);
-+  SC ("Fault", fault_address);
-+  SC ("state", pstate);
-+  return 0;
-+}
-diff --git a/src/aarch64/init.h b/src/aarch64/init.h
-new file mode 100644
-index 0000000..0cedc1a
---- /dev/null
-+++ b/src/aarch64/init.h
-@@ -0,0 +1,127 @@
-+/* libunwind - a platform-independent unwind library
-+   Copyright (C) 2012 Tommi Rantala <tt.rantala@gmail.com>
-+   Copyright (C) 2013 Linaro Limited
-+
-+This file is part of libunwind.
-+
-+Permission is hereby granted, free of charge, to any person obtaining
-+a copy of this software and associated documentation files (the
-+"Software"), to deal in the Software without restriction, including
-+without limitation the rights to use, copy, modify, merge, publish,
-+distribute, sublicense, and/or sell copies of the Software, and to
-+permit persons to whom the Software is furnished to do so, subject to
-+the following conditions:
-+
-+The above copyright notice and this permission notice shall be
-+included in all copies or substantial portions of the Software.
-+
-+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.  */
-+
-+#include "unwind_i.h"
-+
-+static inline int
-+common_init (struct cursor *c, unsigned use_prev_instr)
-+{
-+  int ret, i;
-+
-+  c->dwarf.loc[UNW_AARCH64_X0]  = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_X0);
-+  c->dwarf.loc[UNW_AARCH64_X1]  = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_X1);
-+  c->dwarf.loc[UNW_AARCH64_X2]  = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_X2);
-+  c->dwarf.loc[UNW_AARCH64_X3]  = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_X3);
-+  c->dwarf.loc[UNW_AARCH64_X4]  = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_X4);
-+  c->dwarf.loc[UNW_AARCH64_X5]  = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_X5);
-+  c->dwarf.loc[UNW_AARCH64_X6]  = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_X6);
-+  c->dwarf.loc[UNW_AARCH64_X7]  = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_X7);
-+  c->dwarf.loc[UNW_AARCH64_X8]  = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_X8);
-+  c->dwarf.loc[UNW_AARCH64_X9]  = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_X9);
-+  c->dwarf.loc[UNW_AARCH64_X10] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_X10);
-+  c->dwarf.loc[UNW_AARCH64_X11] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_X11);
-+  c->dwarf.loc[UNW_AARCH64_X12] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_X12);
-+  c->dwarf.loc[UNW_AARCH64_X13] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_X13);
-+  c->dwarf.loc[UNW_AARCH64_X14] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_X14);
-+  c->dwarf.loc[UNW_AARCH64_X15] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_X15);
-+  c->dwarf.loc[UNW_AARCH64_X16] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_X16);
-+  c->dwarf.loc[UNW_AARCH64_X17] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_X17);
-+  c->dwarf.loc[UNW_AARCH64_X18] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_X18);
-+  c->dwarf.loc[UNW_AARCH64_X19] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_X19);
-+  c->dwarf.loc[UNW_AARCH64_X20] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_X20);
-+  c->dwarf.loc[UNW_AARCH64_X21] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_X21);
-+  c->dwarf.loc[UNW_AARCH64_X22] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_X22);
-+  c->dwarf.loc[UNW_AARCH64_X23] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_X23);
-+  c->dwarf.loc[UNW_AARCH64_X24] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_X24);
-+  c->dwarf.loc[UNW_AARCH64_X25] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_X25);
-+  c->dwarf.loc[UNW_AARCH64_X26] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_X26);
-+  c->dwarf.loc[UNW_AARCH64_X27] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_X27);
-+  c->dwarf.loc[UNW_AARCH64_X28] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_X28);
-+  c->dwarf.loc[UNW_AARCH64_X29] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_X29);
-+  c->dwarf.loc[UNW_AARCH64_X30] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_X30);
-+  c->dwarf.loc[UNW_AARCH64_SP]  = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_SP);
-+  c->dwarf.loc[UNW_AARCH64_PC]  = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_PC);
-+  c->dwarf.loc[UNW_AARCH64_PSTATE] = DWARF_REG_LOC (&c->dwarf,
-+                                                    UNW_AARCH64_PSTATE);
-+  c->dwarf.loc[UNW_AARCH64_V0]  = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_V0);
-+  c->dwarf.loc[UNW_AARCH64_V1]  = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_V1);
-+  c->dwarf.loc[UNW_AARCH64_V2]  = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_V2);
-+  c->dwarf.loc[UNW_AARCH64_V3]  = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_V3);
-+  c->dwarf.loc[UNW_AARCH64_V4]  = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_V4);
-+  c->dwarf.loc[UNW_AARCH64_V5]  = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_V5);
-+  c->dwarf.loc[UNW_AARCH64_V6]  = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_V6);
-+  c->dwarf.loc[UNW_AARCH64_V7]  = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_V7);
-+  c->dwarf.loc[UNW_AARCH64_V8]  = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_V8);
-+  c->dwarf.loc[UNW_AARCH64_V9]  = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_V9);
-+  c->dwarf.loc[UNW_AARCH64_V10] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_V10);
-+  c->dwarf.loc[UNW_AARCH64_V11] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_V11);
-+  c->dwarf.loc[UNW_AARCH64_V12] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_V12);
-+  c->dwarf.loc[UNW_AARCH64_V13] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_V13);
-+  c->dwarf.loc[UNW_AARCH64_V14] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_V14);
-+  c->dwarf.loc[UNW_AARCH64_V15] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_V15);
-+  c->dwarf.loc[UNW_AARCH64_V16] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_V16);
-+  c->dwarf.loc[UNW_AARCH64_V17] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_V17);
-+  c->dwarf.loc[UNW_AARCH64_V18] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_V18);
-+  c->dwarf.loc[UNW_AARCH64_V19] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_V19);
-+  c->dwarf.loc[UNW_AARCH64_V20] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_V20);
-+  c->dwarf.loc[UNW_AARCH64_V21] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_V21);
-+  c->dwarf.loc[UNW_AARCH64_V22] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_V22);
-+  c->dwarf.loc[UNW_AARCH64_V23] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_V23);
-+  c->dwarf.loc[UNW_AARCH64_V24] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_V24);
-+  c->dwarf.loc[UNW_AARCH64_V25] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_V25);
-+  c->dwarf.loc[UNW_AARCH64_V26] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_V26);
-+  c->dwarf.loc[UNW_AARCH64_V27] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_V27);
-+  c->dwarf.loc[UNW_AARCH64_V28] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_V28);
-+  c->dwarf.loc[UNW_AARCH64_V29] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_V29);
-+  c->dwarf.loc[UNW_AARCH64_V30] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_V30);
-+  c->dwarf.loc[UNW_AARCH64_V31] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_V31);
-+
-+  for (i = UNW_AARCH64_PSTATE + 1; i < UNW_AARCH64_V0; ++i)
-+    c->dwarf.loc[i] = DWARF_NULL_LOC;
-+
-+  ret = dwarf_get (&c->dwarf, c->dwarf.loc[UNW_AARCH64_PC], &c->dwarf.ip);
-+  if (ret < 0)
-+    return ret;
-+
-+  ret = dwarf_get (&c->dwarf, c->dwarf.loc[UNW_AARCH64_SP], &c->dwarf.cfa);
-+  if (ret < 0)
-+    return ret;
-+
-+  c->sigcontext_format = AARCH64_SCF_NONE;
-+  c->sigcontext_addr = 0;
-+  c->sigcontext_sp = 0;
-+  c->sigcontext_pc = 0;
-+
-+  c->dwarf.args_size = 0;
-+  c->dwarf.ret_addr_column = 0;
-+  c->dwarf.stash_frames = 0;
-+  c->dwarf.use_prev_instr = use_prev_instr;
-+  c->dwarf.pi_valid = 0;
-+  c->dwarf.pi_is_dynamic = 0;
-+  c->dwarf.hint = 0;
-+  c->dwarf.prev_rs = 0;
-+
-+  return 0;
-+}
-diff --git a/src/aarch64/is_fpreg.c b/src/aarch64/is_fpreg.c
-new file mode 100644
-index 0000000..7c32693
---- /dev/null
-+++ b/src/aarch64/is_fpreg.c
-@@ -0,0 +1,32 @@
-+/* libunwind - a platform-independent unwind library
-+   Copyright (C) 2008 CodeSourcery
-+   Copyright (C) 2013 Linaro Limited
-+
-+This file is part of libunwind.
-+
-+Permission is hereby granted, free of charge, to any person obtaining
-+a copy of this software and associated documentation files (the
-+"Software"), to deal in the Software without restriction, including
-+without limitation the rights to use, copy, modify, merge, publish,
-+distribute, sublicense, and/or sell copies of the Software, and to
-+permit persons to whom the Software is furnished to do so, subject to
-+the following conditions:
-+
-+The above copyright notice and this permission notice shall be
-+included in all copies or substantial portions of the Software.
-+
-+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.  */
-+
-+#include "libunwind_i.h"
-+
-+PROTECTED int
-+unw_is_fpreg (int regnum)
-+{
-+  return (regnum >= UNW_AARCH64_V0 && regnum <= UNW_AARCH64_V31);
-+}
-diff --git a/src/aarch64/offsets.h b/src/aarch64/offsets.h
-new file mode 100644
-index 0000000..81aa74f
---- /dev/null
-+++ b/src/aarch64/offsets.h
-@@ -0,0 +1,49 @@
-+/* Linux-specific definitions: */
-+
-+/* Define various structure offsets to simplify cross-compilation.  */
-+
-+/* Offsets for AArch64 Linux "ucontext_t":  */
-+
-+#define LINUX_UC_FLAGS_OFF    0x0
-+#define LINUX_UC_LINK_OFF     0x8
-+#define LINUX_UC_STACK_OFF    0x10
-+#define LINUX_UC_SIGMASK_OFF  0x28
-+#define LINUX_UC_MCONTEXT_OFF 0xb0
-+
-+/* Offsets for AArch64 Linux "struct sigcontext":  */
-+
-+#define LINUX_SC_FAULTADDRESS_OFF     0x00
-+#define LINUX_SC_X0_OFF               0x008
-+#define LINUX_SC_X1_OFF               0x010
-+#define LINUX_SC_X2_OFF               0x018
-+#define LINUX_SC_X3_OFF               0x020
-+#define LINUX_SC_X4_OFF               0x028
-+#define LINUX_SC_X5_OFF               0x030
-+#define LINUX_SC_X6_OFF               0x038
-+#define LINUX_SC_X7_OFF               0x040
-+#define LINUX_SC_X8_OFF               0x048
-+#define LINUX_SC_X9_OFF               0x050
-+#define LINUX_SC_X10_OFF      0x058
-+#define LINUX_SC_X11_OFF      0x060
-+#define LINUX_SC_X12_OFF      0x068
-+#define LINUX_SC_X13_OFF      0x070
-+#define LINUX_SC_X14_OFF      0x078
-+#define LINUX_SC_X15_OFF      0x080
-+#define LINUX_SC_X16_OFF      0x088
-+#define LINUX_SC_X17_OFF      0x090
-+#define LINUX_SC_X18_OFF      0x098
-+#define LINUX_SC_X19_OFF      0x0a0
-+#define LINUX_SC_X20_OFF      0x0a8
-+#define LINUX_SC_X21_OFF      0x0b0
-+#define LINUX_SC_X22_OFF      0x0b8
-+#define LINUX_SC_X23_OFF      0x0c0
-+#define LINUX_SC_X24_OFF      0x0c8
-+#define LINUX_SC_X25_OFF      0x0d0
-+#define LINUX_SC_X26_OFF      0x0d8
-+#define LINUX_SC_X27_OFF      0x0e0
-+#define LINUX_SC_X28_OFF      0x0e8
-+#define LINUX_SC_X29_OFF      0x0f0
-+#define LINUX_SC_X30_OFF      0x0f8
-+#define LINUX_SC_SP_OFF               0x100
-+#define LINUX_SC_PC_OFF               0x108
-+#define LINUX_SC_PSTATE_OFF   0x110
-diff --git a/src/aarch64/regname.c b/src/aarch64/regname.c
-new file mode 100644
-index 0000000..8c97342
---- /dev/null
-+++ b/src/aarch64/regname.c
-@@ -0,0 +1,106 @@
-+/* libunwind - a platform-independent unwind library
-+   Copyright (C) 2012 Tommi Rantala <tt.rantala@gmail.com>
-+   Copyright (C) 2013 Linaro Limited
-+
-+This file is part of libunwind.
-+
-+Permission is hereby granted, free of charge, to any person obtaining
-+a copy of this software and associated documentation files (the
-+"Software"), to deal in the Software without restriction, including
-+without limitation the rights to use, copy, modify, merge, publish,
-+distribute, sublicense, and/or sell copies of the Software, and to
-+permit persons to whom the Software is furnished to do so, subject to
-+the following conditions:
-+
-+The above copyright notice and this permission notice shall be
-+included in all copies or substantial portions of the Software.
-+
-+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.  */
-+
-+#include "unwind_i.h"
-+
-+static const char *const regname[] =
-+  {
-+    [UNW_AARCH64_X0] = "x0",
-+    [UNW_AARCH64_X1] = "x1",
-+    [UNW_AARCH64_X2] = "x2",
-+    [UNW_AARCH64_X3] = "x3",
-+    [UNW_AARCH64_X4] = "x4",
-+    [UNW_AARCH64_X5] = "x5",
-+    [UNW_AARCH64_X6] = "x6",
-+    [UNW_AARCH64_X7] = "x7",
-+    [UNW_AARCH64_X8] = "x8",
-+    [UNW_AARCH64_X9] = "x9",
-+    [UNW_AARCH64_X10] = "x10",
-+    [UNW_AARCH64_X11] = "x11",
-+    [UNW_AARCH64_X12] = "x12",
-+    [UNW_AARCH64_X13] = "x13",
-+    [UNW_AARCH64_X14] = "x14",
-+    [UNW_AARCH64_X15] = "x15",
-+    [UNW_AARCH64_X16] = "ip0",
-+    [UNW_AARCH64_X17] = "ip1",
-+    [UNW_AARCH64_X18] = "x18",
-+    [UNW_AARCH64_X19] = "x19",
-+    [UNW_AARCH64_X20] = "x20",
-+    [UNW_AARCH64_X21] = "x21",
-+    [UNW_AARCH64_X22] = "x22",
-+    [UNW_AARCH64_X23] = "x23",
-+    [UNW_AARCH64_X24] = "x24",
-+    [UNW_AARCH64_X25] = "x25",
-+    [UNW_AARCH64_X26] = "x26",
-+    [UNW_AARCH64_X27] = "x27",
-+    [UNW_AARCH64_X28] = "x28",
-+    [UNW_AARCH64_X29] = "fp",
-+    [UNW_AARCH64_X30] = "lr",
-+    [UNW_AARCH64_SP] = "sp",
-+    [UNW_AARCH64_PC] = "pc",
-+    [UNW_AARCH64_V0] = "v0",
-+    [UNW_AARCH64_V1] = "v1",
-+    [UNW_AARCH64_V2] = "v2",
-+    [UNW_AARCH64_V3] = "v3",
-+    [UNW_AARCH64_V4] = "v4",
-+    [UNW_AARCH64_V5] = "v5",
-+    [UNW_AARCH64_V6] = "v6",
-+    [UNW_AARCH64_V7] = "v7",
-+    [UNW_AARCH64_V8] = "v8",
-+    [UNW_AARCH64_V9] = "v9",
-+    [UNW_AARCH64_V10] = "v10",
-+    [UNW_AARCH64_V11] = "v11",
-+    [UNW_AARCH64_V12] = "v12",
-+    [UNW_AARCH64_V13] = "v13",
-+    [UNW_AARCH64_V14] = "v14",
-+    [UNW_AARCH64_V15] = "v15",
-+    [UNW_AARCH64_V16] = "v16",
-+    [UNW_AARCH64_V17] = "v17",
-+    [UNW_AARCH64_V18] = "v18",
-+    [UNW_AARCH64_V19] = "v19",
-+    [UNW_AARCH64_V20] = "v20",
-+    [UNW_AARCH64_V21] = "v21",
-+    [UNW_AARCH64_V22] = "v22",
-+    [UNW_AARCH64_V23] = "v23",
-+    [UNW_AARCH64_V24] = "v24",
-+    [UNW_AARCH64_V25] = "v25",
-+    [UNW_AARCH64_V26] = "v26",
-+    [UNW_AARCH64_V27] = "v27",
-+    [UNW_AARCH64_V28] = "v28",
-+    [UNW_AARCH64_V29] = "v29",
-+    [UNW_AARCH64_V30] = "v30",
-+    [UNW_AARCH64_V31] = "v31",
-+    [UNW_AARCH64_FPSR] = "fpsr",
-+    [UNW_AARCH64_FPCR] = "fpcr",
-+  };
-+
-+PROTECTED const char *
-+unw_regname (unw_regnum_t reg)
-+{
-+  if (reg < (unw_regnum_t) ARRAY_SIZE (regname) && regname[reg] != NULL)
-+    return regname[reg];
-+  else
-+    return "???";
-+}
-diff --git a/src/aarch64/siglongjmp.S b/src/aarch64/siglongjmp.S
-new file mode 100644
-index 0000000..9985c4b
---- /dev/null
-+++ b/src/aarch64/siglongjmp.S
-@@ -0,0 +1,12 @@
-+      /* Dummy implementation for now.  */
-+
-+      .global _UI_siglongjmp_cont
-+      .global _UI_longjmp_cont
-+
-+_UI_siglongjmp_cont:
-+_UI_longjmp_cont:
-+      ret
-+#ifdef __linux__
-+ /* We do not need executable stack.  */
-+ .section  .note.GNU-stack,"",%progbits
-+#endif
-diff --git a/src/aarch64/unwind_i.h b/src/aarch64/unwind_i.h
-new file mode 100644
-index 0000000..e4947a3
---- /dev/null
-+++ b/src/aarch64/unwind_i.h
-@@ -0,0 +1,43 @@
-+/* libunwind - a platform-independent unwind library
-+   Copyright (C) 2008 CodeSourcery
-+   Copyright (C) 2013 Linaro Limited
-+
-+This file is part of libunwind.
-+
-+Permission is hereby granted, free of charge, to any person obtaining
-+a copy of this software and associated documentation files (the
-+"Software"), to deal in the Software without restriction, including
-+without limitation the rights to use, copy, modify, merge, publish,
-+distribute, sublicense, and/or sell copies of the Software, and to
-+permit persons to whom the Software is furnished to do so, subject to
-+the following conditions:
-+
-+The above copyright notice and this permission notice shall be
-+included in all copies or substantial portions of the Software.
-+
-+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.  */
-+
-+#ifndef unwind_i_h
-+#define unwind_i_h
-+
-+#include <stdint.h>
-+
-+#include <libunwind-aarch64.h>
-+
-+#include "libunwind_i.h"
-+
-+#define aarch64_lock                  UNW_OBJ(lock)
-+#define aarch64_local_resume          UNW_OBJ(local_resume)
-+#define aarch64_local_addr_space_init UNW_OBJ(local_addr_space_init)
-+
-+extern void aarch64_local_addr_space_init (void);
-+extern int aarch64_local_resume (unw_addr_space_t as, unw_cursor_t *cursor,
-+                           void *arg);
-+
-+#endif /* unwind_i_h */
-diff --git a/src/coredump/_UCD_access_reg_linux.c b/src/coredump/_UCD_access_reg_linux.c
-index bc360ad..9dc0904 100644
---- a/src/coredump/_UCD_access_reg_linux.c
-+++ b/src/coredump/_UCD_access_reg_linux.c
-@@ -39,7 +39,10 @@ _UCD_access_reg (unw_addr_space_t as,
-       return -UNW_EINVAL;
-     }
--#if defined(UNW_TARGET_ARM)
-+#if defined(UNW_TARGET_AARCH64)
-+  if (regnum < 0 || regnum >= UNW_AARCH64_FPCR)
-+    goto badreg;
-+#elif defined(UNW_TARGET_ARM)
-   if (regnum < 0 || regnum >= 16)
-     goto badreg;
- #elif defined(UNW_TARGET_SH)
-diff --git a/src/ptrace/_UPT_reg_offset.c b/src/ptrace/_UPT_reg_offset.c
-index 765f7d5..ced4896 100644
---- a/src/ptrace/_UPT_reg_offset.c
-+++ b/src/ptrace/_UPT_reg_offset.c
-@@ -1,6 +1,7 @@
- /* libunwind - a platform-independent unwind library
-    Copyright (C) 2003-2004 Hewlett-Packard Co
-       Contributed by David Mosberger-Tang <davidm@hpl.hp.com>
-+   Copyright (C) 2013 Linaro Limited
- This file is part of libunwind.
-@@ -501,6 +502,41 @@ const int _UPT_reg_offset[UNW_REG_LAST + 1] =
-     [UNW_ARM_R15]      = 0x3c,
- #elif defined(UNW_TARGET_MIPS)
- #elif defined(UNW_TARGET_SH)
-+#elif defined(UNW_TARGET_AARCH64)
-+    [UNW_AARCH64_X0]       = 0x00,
-+    [UNW_AARCH64_X1]       = 0x08,
-+    [UNW_AARCH64_X2]       = 0x10,
-+    [UNW_AARCH64_X3]       = 0x18,
-+    [UNW_AARCH64_X4]       = 0x20,
-+    [UNW_AARCH64_X5]       = 0x28,
-+    [UNW_AARCH64_X6]       = 0x30,
-+    [UNW_AARCH64_X7]       = 0x38,
-+    [UNW_AARCH64_X8]       = 0x40,
-+    [UNW_AARCH64_X9]       = 0x48,
-+    [UNW_AARCH64_X10]      = 0x50,
-+    [UNW_AARCH64_X11]      = 0x58,
-+    [UNW_AARCH64_X12]      = 0x60,
-+    [UNW_AARCH64_X13]      = 0x68,
-+    [UNW_AARCH64_X14]      = 0x70,
-+    [UNW_AARCH64_X15]      = 0x78,
-+    [UNW_AARCH64_X16]      = 0x80,
-+    [UNW_AARCH64_X17]      = 0x88,
-+    [UNW_AARCH64_X18]      = 0x90,
-+    [UNW_AARCH64_X19]      = 0x98,
-+    [UNW_AARCH64_X20]      = 0xa0,
-+    [UNW_AARCH64_X21]      = 0xa8,
-+    [UNW_AARCH64_X22]      = 0xb0,
-+    [UNW_AARCH64_X23]      = 0xb8,
-+    [UNW_AARCH64_X24]      = 0xc0,
-+    [UNW_AARCH64_X25]      = 0xc8,
-+    [UNW_AARCH64_X26]      = 0xd0,
-+    [UNW_AARCH64_X27]      = 0xd8,
-+    [UNW_AARCH64_X28]      = 0xe0,
-+    [UNW_AARCH64_X29]      = 0xe8,
-+    [UNW_AARCH64_X30]      = 0xf0,
-+    [UNW_AARCH64_SP]       = 0xf8,
-+    [UNW_AARCH64_PC]       = 0x100,
-+    [UNW_AARCH64_PSTATE]   = 0x108
- #else
- # error Fix me.
- #endif
diff --git a/libunwind/patches/libunwind-disable-setjmp.patch b/libunwind/patches/libunwind-disable-setjmp.patch
deleted file mode 100644 (file)
index a463f49..0000000
+++ /dev/null
@@ -1,185 +0,0 @@
-At least x86_64 version cannot work, src/setjmp/setjmp.c and
-src/setjmp/sigsetjmp.c are not even compiled, src/x86_64/longjmp.S does not
-match src/setjmp/setjmp.c + include/tdep-x86_64/jmpbuf.h .
-
-google-perftools link only with libunwind.so.7 .
-
-diff --git a/src/Makefile.am b/src/Makefile.am
-index adfbef3..08d2870 100644
---- a/src/Makefile.am
-+++ b/src/Makefile.am
-@@ -1,5 +1,5 @@
- SOVERSION=8:1:0               # See comments at end of file.
--SETJMP_SO_VERSION=0:0:0
-+#SETJMP_SO_VERSION=0:0:0
- COREDUMP_SO_VERSION=0:0:0
- #
- # Don't link with start-files since we don't use any constructors/destructors:
-@@ -22,8 +22,8 @@ pkgconfigdir = $(libdir)/pkgconfig
- pkgconfig_DATA = libunwind-generic.pc
- if !REMOTE_ONLY
--pkgconfig_DATA += unwind/libunwind.pc ptrace/libunwind-ptrace.pc         \
--                  setjmp/libunwind-setjmp.pc
-+pkgconfig_DATA += unwind/libunwind.pc ptrace/libunwind-ptrace.pc
-+#                  setjmp/libunwind-setjmp.pc
- endif
- if BUILD_COREDUMP
-@@ -61,8 +61,8 @@ libunwind_coredump_la_LDFLAGS = $(COMMON_SO_LDFLAGS) \
- noinst_HEADERS += coredump/_UCD_internal.h
- ### libunwind-setjmp:
--libunwind_setjmp_la_LDFLAGS           = $(COMMON_SO_LDFLAGS)               \
--                                        -version-info $(SETJMP_SO_VERSION)
-+#libunwind_setjmp_la_LDFLAGS          = $(COMMON_SO_LDFLAGS)               \
-+#                                       -version-info $(SETJMP_SO_VERSION)
- if USE_ELF32
- LIBUNWIND_ELF = libunwind-elf32.la
-@@ -74,12 +74,12 @@ if USE_ELFXX
- LIBUNWIND_ELF = libunwind-elfxx.la
- endif
--libunwind_setjmp_la_LIBADD            = $(LIBUNWIND_ELF)      \
--                                        libunwind-$(arch).la  \
--                                        libunwind.la -lc
--libunwind_setjmp_la_SOURCES           = setjmp/longjmp.c      \
--                                        setjmp/siglongjmp.c
--noinst_HEADERS                                += setjmp/setjmp_i.h
-+#libunwind_setjmp_la_LIBADD           = $(LIBUNWIND_ELF)      \
-+#                                       libunwind-$(arch).la  \
-+#                                       libunwind.la -lc
-+#libunwind_setjmp_la_SOURCES          = setjmp/longjmp.c      \
-+#                                       setjmp/siglongjmp.c
-+#noinst_HEADERS                               += setjmp/setjmp_i.h
- ### libunwind:
- libunwind_la_LIBADD =
-@@ -428,7 +428,7 @@ if ARCH_ARM
- if !REMOTE_ONLY
-  libunwind_arm_la_LIBADD += libunwind.la -lc
- endif
-- libunwind_setjmp_la_SOURCES += arm/siglongjmp.S
-+# libunwind_setjmp_la_SOURCES += arm/siglongjmp.S
- else
- if ARCH_IA64
-  BUILT_SOURCES = Gcursor_i.h Lcursor_i.h
-@@ -449,8 +449,8 @@ Lcursor_i.h: mk_Lcursor_i.s
- if !REMOTE_ONLY
-  libunwind_ia64_la_LIBADD += libunwind.la -lc
- endif
-- libunwind_setjmp_la_SOURCES += ia64/setjmp.S  ia64/sigsetjmp.S  \
--                              ia64/longjmp.S ia64/siglongjmp.S
-+# libunwind_setjmp_la_SOURCES += ia64/setjmp.S  ia64/sigsetjmp.S  \
-+#                             ia64/longjmp.S ia64/siglongjmp.S
- else
- if ARCH_HPPA
-  lib_LTLIBRARIES += libunwind-hppa.la
-@@ -462,7 +462,7 @@ if ARCH_HPPA
- if !REMOTE_ONLY
-  libunwind_hppa_la_LIBADD += libunwind.la -lc
- endif
-- libunwind_setjmp_la_SOURCES += hppa/siglongjmp.S
-+# libunwind_setjmp_la_SOURCES += hppa/siglongjmp.S
- else
- if ARCH_MIPS
-  lib_LTLIBRARIES += libunwind-mips.la
-@@ -474,7 +474,7 @@ if ARCH_MIPS
- if !REMOTE_ONLY
-  libunwind_mips_la_LIBADD += libunwind.la -lc
- endif
-- libunwind_setjmp_la_SOURCES += mips/siglongjmp.S
-+# libunwind_setjmp_la_SOURCES += mips/siglongjmp.S
- else
- if ARCH_X86
-  lib_LTLIBRARIES += libunwind-x86.la
-@@ -486,7 +486,7 @@ if ARCH_X86
- if !REMOTE_ONLY
-  libunwind_x86_la_LIBADD += libunwind.la -lc
- endif
-- libunwind_setjmp_la_SOURCES += x86/longjmp.S x86/siglongjmp.S
-+# libunwind_setjmp_la_SOURCES += x86/longjmp.S x86/siglongjmp.S
- else
- if ARCH_X86_64
-  lib_LTLIBRARIES += libunwind-x86_64.la
-@@ -498,7 +498,7 @@ if ARCH_X86_64
- if !REMOTE_ONLY
-  libunwind_x86_64_la_LIBADD += libunwind.la -lc
- endif
-- libunwind_setjmp_la_SOURCES += x86_64/longjmp.S x86_64/siglongjmp.S
-+# libunwind_setjmp_la_SOURCES += x86_64/longjmp.S x86_64/siglongjmp.S
- else
- if ARCH_PPC32
-  lib_LTLIBRARIES += libunwind-ppc32.la
-@@ -510,7 +510,7 @@ if ARCH_PPC32
- if !REMOTE_ONLY
-  libunwind_ppc32_la_LIBADD += libunwind.la -lc
- endif
-- libunwind_setjmp_la_SOURCES += ppc/longjmp.S ppc/siglongjmp.S
-+# libunwind_setjmp_la_SOURCES += ppc/longjmp.S ppc/siglongjmp.S
- else
- if ARCH_PPC64
-  lib_LTLIBRARIES += libunwind-ppc64.la
-@@ -522,7 +522,7 @@ if ARCH_PPC64
- if !REMOTE_ONLY
-  libunwind_ppc64_la_LIBADD += libunwind.la -lc
- endif
-- libunwind_setjmp_la_SOURCES += ppc/longjmp.S ppc/siglongjmp.S
-+# libunwind_setjmp_la_SOURCES += ppc/longjmp.S ppc/siglongjmp.S
- else
- if ARCH_SH
-  lib_LTLIBRARIES += libunwind-sh.la
-@@ -534,7 +534,7 @@ if ARCH_SH
- if !REMOTE_ONLY
-  libunwind_sh_la_LIBADD += libunwind.la -lc
- endif
-- libunwind_setjmp_la_SOURCES += sh/siglongjmp.S
-+# libunwind_setjmp_la_SOURCES += sh/siglongjmp.S
- endif # ARCH_SH
- endif # ARCH_PPC64
-@@ -549,7 +549,7 @@ endif # ARCH_ARM
- # libunwind-setjmp depends on libunwind-$(arch). Therefore must be added
- # at the end.
- if !REMOTE_ONLY
--lib_LTLIBRARIES += libunwind-setjmp.la
-+#lib_LTLIBRARIES += libunwind-setjmp.la
- endif
- #
-diff --git a/tests/Makefile.am b/tests/Makefile.am
-index a367eed..3f47e80 100644
---- a/tests/Makefile.am
-+++ b/tests/Makefile.am
-@@ -45,7 +45,7 @@ endif #!ARCH_IA64
-                       Gtest-dyn1 Ltest-dyn1                            \
-                       Gtest-trace Ltest-trace                          \
-                       test-async-sig test-flush-cache test-init-remote \
--                      test-mem test-setjmp test-ptrace Ltest-varargs   \
-+                      test-mem test-ptrace Ltest-varargs               \
-                       Ltest-nomalloc Ltest-nocalloc Lrs-race
-  noinst_PROGRAMS_cdep = forker crasher mapper test-ptrace-misc                 \
-                       Gperf-simple Lperf-simple
-@@ -134,8 +134,8 @@ if USE_ELFXX
- LIBUNWIND_ELF = $(top_builddir)/src/libunwind-elfxx.la
- endif
--LIBUNWIND_setjmp = $(top_builddir)/src/libunwind-setjmp.la    \
--                 $(LIBUNWIND_ELF) $(LIBUNWIND)
-+#LIBUNWIND_setjmp = $(top_builddir)/src/libunwind-setjmp.la   \
-+#                $(LIBUNWIND_ELF) $(LIBUNWIND)
- test_async_sig_LDADD = $(LIBUNWIND_local) -lpthread
- test_flush_cache_LDADD = $(LIBUNWIND_local)
-@@ -172,8 +172,8 @@ Lperf_simple_LDADD = $(LIBUNWIND_local)
- Ltest_trace_LDADD = $(LIBUNWIND_local)
- Lperf_trace_LDADD = $(LIBUNWIND_local)
--test_setjmp_LDADD = $(LIBUNWIND_setjmp)
--ia64_test_setjmp_LDADD = $(LIBUNWIND_setjmp)
-+#test_setjmp_LDADD = $(LIBUNWIND_setjmp)
-+#ia64_test_setjmp_LDADD = $(LIBUNWIND_setjmp)
- if BUILD_COREDUMP
- test_coredump_unwind_LDADD = $(LIBUNWIND_coredump) $(LIBUNWIND)
diff --git a/liburcu/liburcu.nm b/liburcu/liburcu.nm
new file mode 100644 (file)
index 0000000..bb4c21d
--- /dev/null
@@ -0,0 +1,43 @@
+###############################################################################
+# IPFire.org    - An Open Source Firewall Solution                            #
+# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
+###############################################################################
+
+name       = liburcu
+version    = 0.14.0
+release    = 1.1
+thisapp    = userspace-rcu-%{version}
+
+groups     = System/Libraries
+url        = https://lttng.org/urcu
+license    = LGPL2.1
+summary    = liburcu is a userspace RCU (read-copy-update) library
+
+description
+       liburcu is a LGPLv2.1 userspace RCU (read-copy-update) library.
+       This data synchronization library provides read-side access which
+       scales linearly with the number of cores.
+end
+
+source_dl  = https://lttng.org/files/urcu/
+sources    = %{thisapp}.tar.bz2
+
+build
+       export LD_LIBRARY_PATH = %{DIR_APP}/src/.libs
+
+       test
+               make check
+       end
+end
+
+packages
+       package %{name}
+
+       package %{name}-devel
+               template DEVEL
+       end
+
+       package %{name}-debuginfo
+               template DEBUGINFO
+       end
+end
diff --git a/libusb-compat/libusb-compat.nm b/libusb-compat/libusb-compat.nm
deleted file mode 100644 (file)
index a2c5945..0000000
+++ /dev/null
@@ -1,55 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = libusb-compat
-version    = 0.1.12
-release    = 2
-thisapp    = libusb-%{version}
-
-groups     = System/Libraries
-url        = http://sourceforge.net/projects/libusb/
-license    = LGPLv2+
-summary    = A library which allows userspace access to USB devices.
-
-description
-       This package provides a way for applications to access USB devices.
-end
-
-source_dl  =
-
-build
-       requires
-               gcc-c++
-               pkg-config
-       end
-
-       configure_options += \
-               --libdir=/%{lib} \
-               --disable-build-docs \
-               --disable-static
-
-       install_cmds
-               mkdir -pv %{BUILDROOT}%{libdir}
-               mv -v %{BUILDROOT}/%{lib}/pkgconfig %{BUILDROOT}%{libdir}
-
-               rm -vf %{BUILDROOT}%{libdir}/libusb{,pp}-0.1.so
-               ln -svf ../../%{lib}/libusb-0.1.so.4 %{BUILDROOT}%{libdir}/libusb.so
-               ln -svf ../../%{lib}/libusb-0.1.so.4 %{BUILDROOT}%{libdir}/libusb-0.1.so
-               ln -svf ../../%{lib}/libusbpp-0.1.so.4 %{BUILDROOT}%{libdir}/libusbpp.so
-               ln -svf ../../%{lib}/libusbpp-0.1.so.4 %{BUILDROOT}%{libdir}/libusbpp-0.1.so
-       end
-end
-
-packages
-       package %{name}
-
-       package %{name}-devel
-               template DEVEL
-       end
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
index a9eaded00ebc82371bc11bbab96e4fdab089ab0a..f1d93af546187a09477728a13f43a02b4639cab3 100644 (file)
@@ -4,13 +4,13 @@
 ###############################################################################
 
 name       = libusb
-version    = 1.0.20
+version    = 1.0.26
 release    = 1
 
 groups     = System/Libraries
-url        = http://sourceforge.net/apps/mediawiki/libusb/
+url        = https://sourceforge.net/projects/libusb/
 license    = LGPLv2+
-summary    = A library which allows userspace access to USB devices.
+summary    = A library which allows userspace access to USB devices
 
 description
        This package provides a way for applications to access USB devices.
@@ -26,7 +26,7 @@ build
 
        configure_options += \
                --disable-static \
-               --enable-examples-build
+               --disable-examples-build
 end
 
 packages
diff --git a/libuser/libuser.nm b/libuser/libuser.nm
deleted file mode 100644 (file)
index 709d5ea..0000000
+++ /dev/null
@@ -1,64 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = libuser
-version    = 0.62
-release    = 2
-
-groups     = System/Libraries
-url        = https://fedorahosted.org/libuser/
-license    = LGPLv2+
-summary    = A user and group account administration library.
-
-description
-       The libuser library implements a standardized interface for
-       manipulating and administering user and group accounts. The
-       library uses pluggable back-ends to interface to its data sources.
-end
-
-source_dl  = https://fedorahosted.org/releases/l/i/%{name}/
-sources    = %{thisapp}.tar.xz
-
-build
-       requires
-               cyrus-sasl-devel
-               glib2-devel
-               openldap-devel
-               pam-devel
-               pkg-config
-               popt-devel
-               python-devel >= 2.7.12-2
-       end
-
-       export LD_LIBRARY_PATH = %{DIR_APP}/lib/.libs
-
-       configure_options += \
-               --with-ldap
-
-       prepare_cmds
-               # Little hack that we don't build documentation that requires sgml2html
-               sed -e "s/^SUBDIRS = .*/SUBDIRS = po/" -i Makefile.in
-       end
-
-       test
-               # Disable tests which requires a running ldap server.
-               sed -e "s/tests\/default_pw_test//" -i Makefile
-               sed -e "s/tests\/ldap_test//" -i Makefile
-
-               make check
-       end
-end
-
-packages
-       package %{name}
-
-       package %{name}-devel
-               template DEVEL
-       end
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
index 09e3f8c0bbe794f764b911861b1afad06e5885f7..3e46374162aee28b5d1ca37c44fac872ef1444b4 100644 (file)
@@ -4,11 +4,12 @@
 ###############################################################################
 
 name       = libuv
-version    = 1.27.0
-release    = 1
+version    = 1.44.2
+release    = 1.1
+thisapp    = %{name}-v%{version}
 
 groups     = Development/Tools
-url        = https://github.com/libuv/libuv
+url        = https://libuv.org/
 license    = libuv
 summary    = Multi-platform support library with a focus on asynchronous I/O
 
@@ -17,12 +18,13 @@ description
        asynchronous I/O.
 end
 
-source_dl  = https://github.com/libuv/libuv/archive/v%{version}/
+source_dl  = https://dist.libuv.org/dist/v%{version}/
 
 build
        requires
                autoconf
                automake
+               libtool
        end
 
        prepare_cmds
index cf398d385e087eba8fe47183712f6158c8caef17..9c0b0a91b0b13610746fb11bbaf29b4d77d9317f 100644 (file)
@@ -4,12 +4,12 @@
 ###############################################################################
 
 name       = libvirt
-version    = 2.4.0
-release    = 2
+version    = 8.10.0
+release    = 5
 
 maintainer = Jonatan Schlag <jonatan.schlag@ipfire.org>
 groups     = Applications/Virtualization
-url        = http://www.libvirt.org/
+url        = https://www.libvirt.org/
 license    = LGPLv2.1+
 summary    = A library for controlling VMs.
 
@@ -18,58 +18,129 @@ description
        versions of Linux.
 end
 
-source_dl  = ftp://libvirt.org/libvirt/
+source_dl  = https://libvirt.org/sources/
 sources    = %{thisapp}.tar.xz
 
 build
        requires
+               attr-devel
                avahi-devel
+               bash-completion-devel
                cyrus-sasl-devel
+               fuse-devel
                gnutls-devel
+               iproute2
+               libacl-devel
+               libcap-ng-devel
                libcurl-devel
                libgcrypt-devel
-               libnl-devel
                libdevmapper-devel
+               libnl3-devel
+               libpcap-devel
                libpciaccess-devel
                libssh2-devel
+               libtirpc-devel
                libtool
                libudev-devel
                libxml2-devel
+               libxslt
                lvm2
+               meson
+               ninja
                openssl-devel
                parted-devel
                perl-core
                pkg-config
-               python-devel
+               python3-devel
                readline-devel
+               rpcsvc-proto
+               yajl-devel
                /bin/mount
                /bin/umount
        end
 
-       configure_options += \
-               --libexecdir=/usr/lib \
-               --disable-static \
-               --with-qemu \
-               --without-vmware \
-               --without-esx \
-               --without-phyp \
-               --without-hal \
-               --without-lxc \
-               --without-openvz \
-               --without-polkit \
-               --without-uml \
-               --without-vbox \
-               --without-xen \
-               --with-storage-fs \
-               --with-storage-lvm \
-               --with-storage-mpath \
-               --with-storage-disk \
-               --with-avahi \
-               --with-udev \
-               --without-secdriver-selinux \
-               --without-selinux \
-               --without-selinux-mount \
-               --with-libvirtd
+       build
+               %{meson} \
+                       -Drunstatedir=%{rundir} \
+                       -Ddriver_qemu=enabled \
+                       -Ddriver_openvz=disabled \
+                       -Ddriver_lxc=disabled \
+                       -Ddriver_vbox=disabled \
+                       -Ddriver_libxl=disabled \
+                       -Dsasl=enabled \
+                       -Dpolkit=enabled \
+                       -Ddriver_libvirtd=enabled \
+                       -Ddriver_remote=enabled \
+                       -Ddriver_test=enabled \
+                       -Ddriver_esx=disabled \
+                       -Dcurl=disabled \
+                       -Ddriver_hyperv=disabled \
+                       -Dopenwsman=disabled \
+                       -Ddriver_vmware=disabled \
+                       -Ddriver_vz=disabled \
+                       -Ddriver_bhyve=disabled \
+                       -Ddriver_ch=disabled \
+                       -Ddriver_interface=enabled \
+                       -Ddriver_network=enabled \
+                       -Dstorage_fs=enabled \
+                       -Dstorage_lvm=enabled \
+                       -Dstorage_iscsi=disabled \
+                       -Dstorage_scsi=enabled \
+                       -Dstorage_disk=enabled \
+                       -Dstorage_mpath=disabled \
+                       -Dstorage_rbd=disabled \
+                       -Dstorage_gluster=disabled \
+                       -Dglusterfs=disabled \
+                       -Dstorage_zfs=disabled \
+                       -Dstorage_vstorage=disabled \
+                       -Dnumactl=disabled \
+                       -Dnumad=disabled \
+                       -Dcapng=enabled \
+                       -Dfuse=enabled \
+                       -Dsanlock=disabled \
+                       -Dfirewalld_zone=disabled \
+                       -Dnetcf=disabled \
+                       -Dselinux=disabled \
+                       -Dsecdriver_selinux=disabled \
+                       -Dapparmor=disabled \
+                       -Dapparmor_profiles=disabled \
+                       -Dsecdriver_apparmor=disabled \
+                       -Dudev=enabled \
+                       -Dyajl=enabled \
+                       -Dlibpcap=enabled \
+                       -Dlibnl=enabled \
+                       -Daudit=disabled \
+                       -Ddtrace=disabled \
+                       -Dfirewalld=disabled \
+                       -Dwireshark_dissector=disabled \
+                       -Dstorage_iscsi_direct=disabled \
+                       -Dlibiscsi=disabled \
+                       -Dlibssh=disabled \
+                       -Dlibssh2=enabled \
+                       -Dpm_utils=disabled \
+                       -Dnss=enabled \
+                       -Dexpensive_tests=enabled \
+                       -Dinit_script=systemd \
+                       -Ddocs=disabled \
+                       -Dtests=enabled \
+                       -Drpath=disabled
+
+               %{meson_build}
+       end
+
+       test
+               %{meson_test}
+       end
+
+       install
+               %{meson_install}
+
+               # Fix binary permissions.
+               find %{BUILDROOT}%{bindir} -type f -executable -exec chmod 755 {} \;
+
+               # Drop /var/run
+               rm -rvf %{BUILDROOT}%{localstatedir}/run
+       end
 end
 
 packages
diff --git a/libvirt/patches/virt-shell-login-fix.patch b/libvirt/patches/virt-shell-login-fix.patch
new file mode 100644 (file)
index 0000000..906b36e
--- /dev/null
@@ -0,0 +1,11 @@
+--- libvirt-8.10.0/tools/meson.build.bak       2023-03-13 15:59:02.530260456 +0000
++++ libvirt-8.10.0/tools/meson.build   2023-03-13 15:59:59.730481605 +0000
+@@ -98,6 +98,8 @@
+     ],
+     install: true,
+     install_dir: bindir,
++    # Fix for GCC 12 to not omit __stack_chk_fail
++    c_args: ['-fno-builtin-exit', '-D__noreturn__='],
+   )
+   executable(
diff --git a/libxcb/libxcb.nm b/libxcb/libxcb.nm
deleted file mode 100644 (file)
index c136327..0000000
+++ /dev/null
@@ -1,58 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = libxcb
-version    = 1.9
-release    = 1
-
-maintainer = Stefan Schantl <stefan.schantl@ipfire.org>
-groups     = X/Libraries
-url        = http://xcb.freedesktop.org/
-license    = MIT
-summary    = A C binding to the X11 protocol.
-
-description
-       The X protocol C-language Binding (XCB) is a replacement for Xlib
-       featuring a small footprint, latency hiding, direct access to the
-       protocol, improved threading support, and extensibility.
-end
-
-source_dl  = http://xcb.freedesktop.org/dist/
-
-build
-       requires
-               autoconf
-               automake
-               libtool
-               libXau-devel
-               libxslt-devel
-               pkg-config
-               python-devel
-               xcb-proto >= 1.7
-               xorg-x11-proto-devel
-       end
-
-       configure_options += \
-               --disable-static
-
-       prepare_cmds
-               sed -e "s/pthread-stubs//g" -i configure.ac
-               autoreconf -f --install
-       end
-end
-
-packages
-       package %{name}
-
-       package %{name}-devel
-               template DEVEL
-
-               requires = libXau-devel
-       end
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
diff --git a/libxcrypt/libxcrypt.nm b/libxcrypt/libxcrypt.nm
new file mode 100644 (file)
index 0000000..cd84935
--- /dev/null
@@ -0,0 +1,60 @@
+###############################################################################
+# IPFire.org    - An Open Source Firewall Solution                            #
+# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
+###############################################################################
+
+name       = libxcrypt
+version    = 4.4.36
+release    = 1
+
+groups     = System/Libraries
+url        = https://github.com/besser82/libxcrypt/
+license    = LGPLv2.1
+summary    = Extended crypt library for descrypt, md5crypt, bcrypt, and others
+
+description
+       libxcrypt is a modern library for one-way hashing of passwords.
+       It supports a wide variety of both modern and historical hashing methods:
+       yescrypt, gost-yescrypt, scrypt, bcrypt, sha512crypt, sha256crypt,
+       md5crypt, SunMD5, sha1crypt, NT, bsdicrypt, bigcrypt, and descrypt.
+       It provides the traditional Unix crypt and crypt_r interfaces, as well
+       as a set of extended interfaces pioneered by Openwall Linux, crypt_rn,
+       crypt_ra, crypt_gensalt, crypt_gensalt_rn, and crypt_gensalt_ra.
+
+       libxcrypt is intended to be used by login(1), passwd(1), and other
+       similar programs; that is, to hash a small number of passwords during
+       an interactive authentication dialogue with a human.
+end
+
+source_dl  = https://github.com/besser82/libxcrypt/releases/download/v%{version}/
+sources    = %{thisapp}.tar.xz
+
+build
+       requires
+               perl
+               perl(FindBin)
+               perl(open)
+       end
+
+       configure_options += \
+               --disable-static \
+               --enable-hashes=strong,glibc \
+               --disable-obsolete-api \
+               --disable-failure-tokens
+
+       test
+               LD_LIBRARY_PATH="%{DIR_APP}/.libs" make check
+       end
+end
+
+packages
+       package %{name}
+
+       package %{name}-devel
+               template DEVEL
+       end
+
+       package %{name}-debuginfo
+               template DEBUGINFO
+       end
+end
diff --git a/libxcrypt/patches/libxcrypt-4.4.33-hashes.patch b/libxcrypt/patches/libxcrypt-4.4.33-hashes.patch
new file mode 100644 (file)
index 0000000..42f5d67
--- /dev/null
@@ -0,0 +1,14 @@
+diff --git a/build-aux/scripts/expand-selected-hashes b/build-aux/scripts/expand-selected-hashes
+index 10d0bcc..2558c42 100644
+--- a/build-aux/scripts/expand-selected-hashes
++++ b/build-aux/scripts/expand-selected-hashes
+@@ -50,9 +50,6 @@ sub expand_selected {
+                 push @errors, "'$w' is not a hash or group name\n";
+             }
+         }
+-        if (scalar(%enabled) == 0) {
+-            push @errors, "no hashes are enabled\n";
+-        }
+         die join q{}, @errors if @errors;
+         return keys %enabled;
+     }
diff --git a/libxkbfile/libxkbfile.nm b/libxkbfile/libxkbfile.nm
deleted file mode 100644 (file)
index 61c7119..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = libxkbfile
-version    = 1.0.8
-release    = 1
-
-maintainer = Stefan Schantl <stefan.schantl@ipfire.org>
-groups     = X/Libraries
-url        = http://www.x.org
-license    = MIT
-summary    = X.Org X11 libxkbfile runtime library.
-
-description
-       X.Org X11 libxkbfile runtime library.
-end
-
-source_dl  = http://ftp.x.org/pub/individual/lib/
-
-build
-       requires
-               libX11-devel
-               pkg-config
-               xorg-x11-proto-devel
-       end
-end
-
-packages
-       package %{name}
-
-       package %{name}-devel
-               template DEVEL
-       end
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
index c36ba5d23e1242a57146bb150c794a2e59416b88..43c0caecca2e08580edbb04a608158cc0b5a97bf 100644 (file)
@@ -4,13 +4,14 @@
 ###############################################################################
 
 name       = libxml2
-version    = 2.9.2
-release    = 2
+version    = %{ver_maj}.3
+ver_maj    = 2.10
+release    = 3.1
 
 groups     = System/Libraries
-url        = http://xmlsoft.org/
+url        = https://xmlsoft.org/
 license    = MIT
-summary    = Library providing XML and HTML support.
+summary    = Library providing XML and HTML support
 
 description
        This library allows to manipulate XML files. It includes support
@@ -24,23 +25,31 @@ description
        library.
 end
 
-source_dl  = ftp://xmlsoft.org/libxml2/
+source_dl  = https://download.gnome.org/sources/libxml2/%{ver_maj}/
+sources    = %{thisapp}.tar.xz
 
 build
        requires
                pkg-config
+               python3-devel
                zlib-devel
        end
+
+       configure_options += \
+               PYTHON=%{python3}
 end
 
 packages
        package %{name}
-       end
 
        package %{name}-devel
                template DEVEL
        end
 
+       package python3-%{name}
+               template PYTHON3
+       end
+
        package %{name}-debuginfo
                template DEBUGINFO
        end
diff --git a/libxml2/patches/libxml2-2.9.2-catalog-revert.patch b/libxml2/patches/libxml2-2.9.2-catalog-revert.patch
deleted file mode 100644 (file)
index b3de004..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-From 0e6659ec960734b0b01aad196d4bdb4a3800b493 Mon Sep 17 00:00:00 2001
-From: Lubomir Rintel <lkundrak@v3.sk>
-Date: Thu, 16 Oct 2014 19:10:59 +0200
-Subject: [PATCH] Revert "Missing initialization for the catalog module"
-
-It's not correct to always load the default catalog.
-https://bugzilla.redhat.com/show_bug.cgi?id=1153753
-
-This reverts commit 054c716ea1bf001544127a4ab4f4346d1b9947e7.
-
----
- parser.c | 3 ---
- 1 file changed, 3 deletions(-)
-
-diff --git a/parser.c b/parser.c
-index 1d93967..67c9dfd 100644
---- a/parser.c
-+++ b/parser.c
-@@ -14830,9 +14830,6 @@ xmlInitParser(void) {
- #ifdef LIBXML_XPATH_ENABLED
-       xmlXPathInit();
- #endif
--#ifdef LIBXML_CATALOG_ENABLED
--        xmlInitializeCatalog();
--#endif
-       xmlParserInitialized = 1;
- #ifdef LIBXML_THREAD_ENABLED
-     }
--- 
-1.9.3
-
index 9bd7154b71a94c49b22744e73cba78cb7a112c96..89fdfdcd65d168292729cb0ffcc87ebfe4b281dc 100644 (file)
@@ -4,14 +4,15 @@
 ###############################################################################
 
 name       = libxslt
-version    = 1.1.28
-release    = 1
+version    = %{ver_maj}.37
+ver_maj    = 1.1
+release    = 1.1
 
 maintainer = Stefan Schantl <stefan.schantl@ipfire.org>
 groups     = Development/Libraries
-url        = http://xmlsoft.org/XSLT/
+url        = https://gitlab.gnome.org/GNOME/libxslt/-/wikis/home
 license    = MIT
-summary    = Library providing the Gnome XSLT engine.
+summary    = Library providing the Gnome XSLT engine
 
 description
        This C library allows to transform XML files into other XML files
@@ -19,15 +20,20 @@ description
        mechanism.
 end
 
-source_dl  = ftp://xmlsoft.org/libxslt/
+source_dl  = https://download.gnome.org/sources/libxslt/%{ver_maj}/
+sources    = %{thisapp}.tar.xz
 
 build
        requires
                libgcrypt-devel
                libxml2-devel
                pkg-config
+               python3-devel
                zlib-devel
        end
+
+       configure_options += \
+               PYTHON=%{python3}
 end
 
 packages
index 88375fbb1bd7eae1149516fa7a64ee3d18f2cb9a..35e8f216280daa5f5468ca10cc829a72bc17b0cb 100644 (file)
@@ -4,11 +4,11 @@
 ###############################################################################
 
 name       = libyaml
-version    = 0.2.2
-release    = 1
+version    = 0.2.5
+release    = 1.1
 
 groups     = System/Libraries
-url        = http://pyyaml.org/
+url        = https://pyyaml.org/
 license    = MIT
 summary    = YAML 1.1 parser and emitter written in C.
 
@@ -18,7 +18,7 @@ description
        and emitter written in C.
 end
 
-source_dl  = http://pyyaml.org/download/libyaml/
+source_dl  = https://pyyaml.org/download/libyaml/
 sources    = yaml-%{version}.tar.gz
 
 build
diff --git a/linux-atm/linux-atm.nm b/linux-atm/linux-atm.nm
deleted file mode 100644 (file)
index 4b3ac47..0000000
+++ /dev/null
@@ -1,55 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = linux-atm
-version    = 2.5.1
-release    = 2
-
-groups     = System/Daemons
-url        = http://linux-atm.sourceforge.net/
-license    = BSD and GPLv2 and GPLv2+ and LGPLv2+ and MIT
-summary    = Tools to support ATM networking under Linux.
-
-description
-       This package contains header files and libraries for development \
-       using theLinux ATM API.
-end
-
-sources    = %{thisapp}.tgz
-source_dl  = http://downloads.sf.net/%{name}/
-
-build
-       requires
-               bison
-               flex
-               flex-devel
-               kernel-headers
-               perl
-       end
-
-       prepare_cmds
-               sed -e "s/-lfl/&_pic/g" -i src/*{,/*}/Makefile.in
-       end
-
-       PARALLELISMFLAGS =
-end
-
-packages
-       package %{name}
-
-       package %{name}-libs
-               template LIBS
-       end
-
-       package %{name}-devel
-               template DEVEL
-
-               requires += %{name}-libs = %{thisver}
-       end
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
diff --git a/linux-atm/patches/linux-arm-gcc43.patch b/linux-atm/patches/linux-arm-gcc43.patch
deleted file mode 100644 (file)
index 9d9c5cd..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-diff -rNu linux-atm-2.5.0/src/led/main.c linux-atm-2.5.0-atomix/src/led/main.c
---- linux-atm-2.5.0/src/led/main.c     2005-10-06 19:27:50.000000000 +0200
-+++ linux-atm-2.5.0-atomix/src/led/main.c      2008-04-18 12:14:21.000000000 +0200
-@@ -36,6 +36,7 @@
- #include <sys/time.h>
- #include <unistd.h>
- #include <signal.h>
-+#include <limits.h>
- #include <ctype.h>
- #include <string.h>
- #include <getopt.h>
diff --git a/linux-atm/patches/linux-atm-2.5.0-disable-ilmidiag.patch b/linux-atm/patches/linux-atm-2.5.0-disable-ilmidiag.patch
deleted file mode 100644 (file)
index c420be9..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
---- linux-atm/src/ilmid/Makefile.am~   2007-07-11 17:07:57.000000000 +0100
-+++ linux-atm/src/ilmid/Makefile.am    2007-08-23 09:22:45.000000000 +0100
-@@ -2,7 +2,7 @@ SUBDIRS = asn1
- INCLUDES = -I$(srcdir)/../ilmid/asn1
--sbin_PROGRAMS = ilmid ilmidiag
-+sbin_PROGRAMS = ilmid
- ilmid_SOURCES = rfc1157_snmp.c rfc1157_snmp.h rfc1155_smi.c rfc1155_smi.h \
-                       util.c util.h io.c io.h message.c message.h \
diff --git a/linux-atm/patches/linux-atm-2.5.0-open-macro.patch b/linux-atm/patches/linux-atm-2.5.0-open-macro.patch
deleted file mode 100644 (file)
index 928222f..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
---- linux-atm/src/maint/atmtcp.c~      2007-08-22 14:59:21.000000000 +0100
-+++ linux-atm/src/maint/atmtcp.c       2007-08-22 18:27:24.000000000 +0100
-@@ -109,7 +109,7 @@ static void control(int in_link,struct a
-       switch (msg->type) {
-           case ATMTCP_CTRL_OPEN:
-               if (out->ops->open)
--                  changed += out->ops->open(out,in_link,msg);
-+                  changed += (out->ops->open)(out,in_link,msg);
-               break;
-           case ATMTCP_CTRL_CLOSE:
-               if (out->ops->close)
diff --git a/linux-atm/patches/man-pages.patch b/linux-atm/patches/man-pages.patch
deleted file mode 100644 (file)
index c504cfe..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-diff -up linux-atm-2.5.1/src/led/zeppelin.8.fixman linux-atm-2.5.1/src/led/zeppelin.8
---- linux-atm-2.5.1/src/led/zeppelin.8.fixman  2003-05-02 19:35:04.000000000 +0200
-+++ linux-atm-2.5.1/src/led/zeppelin.8 2010-10-13 12:58:18.000000000 +0200
-@@ -99,7 +99,7 @@ Ring and ATM parts of the ELAN, so using
- recommended. Token Ring support has received less testing than its
- Ethernet counterpart.
- .SH FILES
--.IP \fI/var/run/lec[interface number].pid\fP
-+\fI/var/run/lec[interface number].pid\fP
- The file containing the process id of zeppelin.
- .SH BUGS
- John Bonham died 1980 and Led Zeppelin broke.
-diff -up linux-atm-2.5.1/src/mpoad/mpcd.8.fixman linux-atm-2.5.1/src/mpoad/mpcd.8
---- linux-atm-2.5.1/src/mpoad/mpcd.8.fixman    2001-10-10 00:33:07.000000000 +0200
-+++ linux-atm-2.5.1/src/mpoad/mpcd.8   2010-10-13 12:59:14.000000000 +0200
-@@ -28,7 +28,7 @@ mpcd \- ATM MPOA (Multi\-Protocol Over A
- .B ]]
- .SH DESCRIPTION
- MPOA client
--.SM(MPC) is responsible for creating and receiving
-+.SM (MPC) is responsible for creating and receiving
- internetwork layer shortcuts. Using these shortcuts MPCs forward
- unicast internetwork layer packets effectively over ATM without need
- for routing protocols.
-@@ -43,7 +43,7 @@ accepts shortcuts and packets arriving o
- shortcuts is done with the help of
- .SM MPOA
- server
--.SM(MPS).
-+.SM (MPS).
- .PP
- Just as the Linux
- .SM LAN
-diff -up linux-atm-2.5.1/src/sigd/atmsigd.conf.4.fixman linux-atm-2.5.1/src/sigd/atmsigd.conf.4
---- linux-atm-2.5.1/src/sigd/atmsigd.conf.4.fixman     2001-10-10 00:33:07.000000000 +0200
-+++ linux-atm-2.5.1/src/sigd/atmsigd.conf.4    2010-10-13 12:58:49.000000000 +0200
-@@ -125,7 +125,7 @@ a comment. The `#' character cannot be e
- .P
- If an option is specified in \fBatmsigd.conf\fP and on the command
- line, the command line has priority.
--.COMPATIBILITY
-+.SH COMPATIBILITY
- Certain options used by past versions of \fBatmsigd\fP but no longer documented
- on the man page are still recognized and supported, but they also yield a
- warning message. Future versions of \fBatmsigd\fP will not recognize those
index dc2d803f76c44de6db06adc3170a75ffd0216b6f..53413eacfce76c10a357c280e9f8df94a96e876b 100644 (file)
@@ -4,11 +4,8 @@
 ###############################################################################
 
 name       = linux-firmware
-version    = 20190620
-git_ver    = 7ae3a09
-release    = 1.git%{git_ver}
-arch       = noarch
-thisapp    = %{name}-%{git_ver}
+version    = 20221214
+release    = 1
 
 maintainer = Arne Fitzenreiter <arne.fitzenreiter@ipfire.org>
 groups     = System/Libraries
@@ -26,13 +23,18 @@ end
 source_dl  = https://git.kernel.org/cgit/linux/kernel/git/firmware/linux-firmware.git/snapshot/
 
 build
+       arches = noarch
+
        build
                : # Nothing to do.
        end
 
-       install
-               mkdir -pv %{BUILDROOT}%{prefix}/lib/firmware
-               cp -prv * %{BUILDROOT}%{prefix}/lib/firmware
+       make_install_targets += FIRMWAREDIR=%{firmwaredir}
+
+       install_cmds
+               # Remove executable bits from any files
+               find %{BUILDROOT}%{firmwaredir} -type f \
+                       -executable -print | xargs chmod -v a-x
        end
 end
 
index 20542cb50dd4206cd31f38723cffad2e86016d9a..ae534876024ffbccb1ef443f904003ee8c32ce01 100644 (file)
@@ -4,11 +4,11 @@
 ###############################################################################
 
 name       = lldpd
-version    = 1.0.1
-release    = 1
+version    = 1.0.16
+release    = 2.1
 
 groups     = Networking/Tools
-url        = http://vincentbernat.github.com/lldpd/
+url        = https://lldpd.github.io
 license    = ISC
 summary    = Utilities for the Link Layer Discovery Protocol
 
@@ -21,28 +21,31 @@ source_dl = https://media.luffy.cx/files/lldpd/
 
 build
        requires
+               libcap-devel
                libevent-devel
+               (libseccomp-devel if arch(x86_64))
                libxml2-devel
                pkg-config
                readline-devel
                shadow-utils
-               zlib-devel
        end
 
        configure_options += \
+               --without-embedded-libevent \
                --with-readline \
                --with-xml \
                --with-privsep-user=lldpd \
                --with-privsep-group=lldpd
 
-       prepare_cmds
-               %{create_user}
+       # lldpd does not support seccomp on aarch64.
+       if "%{DISTRO_ARCH}" == "aarch64"
+               configure_options += --without-seccomp
+       else
+               configure_options += --with-seccomp
        end
 
-       install_cmds
-               # Create tmp directory.
-               mkdir -pv -m 700 %{BUILDROOT}/run/lldpd
-               chown -v lldpd.lldpd %{BUILDROOT}/run/lldpd
+       prepare_cmds
+               %{create_user}
        end
 end
 
diff --git a/llvm/llvm.nm b/llvm/llvm.nm
deleted file mode 100644 (file)
index fc7d5cf..0000000
+++ /dev/null
@@ -1,113 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = llvm
-version    = 8.0.0
-release    = 1
-
-groups     = Applications/System
-url        = http://llvm.org
-license    = NCSA
-summary    = The Low Level Virtual Machine.
-
-description
-       LLVM is a compiler infrastructure designed for compile-time, link-time,
-       runtime, and idle-time optimization of programs from arbitrary programming
-       languages. The compiler infrastructure includes mirror sets of programming
-       tools as well as libraries with equivalent functionality.
-end
-
-source_dl  = http://releases.llvm.org/%{version}/
-sources    = %{thisapp}.src.tar.xz
-
-build
-       requires
-               binutils >= 2.32
-               cmake >= 3.14.5
-               gcc
-               gcc-c++
-               libedit-devel >= 3.1-20190324
-               libffi-devel
-               libxml2-devel
-               zlib-devel
-       end
-
-       DIR_APP = %{DIR_SRC}/%{thisapp}.src
-
-       # Limit parallelization to only 2 jobs at the same time.
-       PARALLELISMFLAGS = -j2
-
-       # Set suffix for libdir based on the build architecture.
-       llvm_libdir_suffix =
-
-       if "%{DISTRO_ARCH}" == "x86_64"
-               llvm_libdir_suffix = 64
-       end
-
-       if "%{DISTRO_ARCH}" == "aarch64"
-               llvm_libdir_suffix = 64
-       end
-
-       build
-               # Create and switch into build directory.
-               mkdir -pv %{DIR_APP}/build
-               cd %{DIR_APP}/build
-
-               %{cmake} .. \
-                       -DLLVM_BUILD_TOOLS=ON \
-                       -DLLVM_BUILD_UTILS=ON \
-                       -DLLVM_BUILD_TESTS=OFF \
-                       -DLLVM_BUILD_EXAMPLES=OFF \
-                       -DLLVM_BUILD_BENCHMARKS=OFF \
-                       -DCMAKE_BUILD_TYPE=Release \
-                       -DCMAKE_INSTALL_RPATH=";" \
-                       -DLLVM_BUILD_LLVM_DYLIB=OFF \
-                       -DLLVM_LINK_LLVM_DYLIB=OFF \
-                       -DBUILD_SHARED_LIBS=ON \
-                       -DLLVM_ENABLE_FFI=ON \
-                       -DLLVM_ENABLE_RTTI=ON \
-                       -DLLVM_ENABLE_LIBCXX=OFF \
-                       -DLLVM_TARGETS_TO_BUILD="host;" \
-                       -DCMAKE_C_COMPILER=gcc \
-                       -DCMAKE_CXX_COMPILER=g++ \
-                       -DCMAKE_CXX_FLAGS_RELEASE:STRING="%{CFLAGS}" \
-                       -DCMAKE_EXE_LINKER_FLAGS="%{LDFLAGS}" \
-                       -DENABLE_PIC=1 \
-                       -DLLVM_PARALLEL_LINK_JOBS=1 \
-                       -DLLVM_ENABLE_DUMP=ON \
-                       -DLLVM_LIBDIR_SUFFIX=%{llvm_libdir_suffix} \
-                       -Wno-dev
-
-               make %{PARALELLISMFLAGS}
-       end
-
-       test
-               cd %{DIR_APP}/build
-
-               make check-all %{PARALELLISMFLAGS}
-       end
-
-       install
-               cd %{DIR_APP}/build
-
-               make install DESTDIR=%{BUILDROOT}
-       end
-end
-
-packages
-       package llvm
-
-       package llvm-libs
-               template LIBS
-       end
-
-       package llvm-devel
-               template DEVEL
-       end
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
index 731a947e7d3c492f3bdc8984385addb51a54a912..464ed1a5c4314337994013662aac580a5b22d9fb 100644 (file)
@@ -4,50 +4,42 @@
 ###############################################################################
 
 name       = lm-sensors
-version    = 3.3.5
+version    = 3.6.0
 release    = 2
-
-thisapp    = lm_sensors-%{version}
+thisapp    = %{name}-3-6-0
 
 groups     = Applications/Statistics
-url        = http://www.lm-sensors.org
+url        = https://hwmon.wiki.kernel.org
 license    = GPLv2+
-summary    = Hardware monitoring tools.
+summary    = Hardware monitoring tools
 
 description
        The lm_sensors package includes a collection of modules for general SMBus
        access and hardware monitoring.
 end
 
-source_dl  = http://dl.lm-sensors.org/lm-sensors/releases/
-sources    = %{thisapp}.tar.bz2
+source_dl  = https://github.com/lm-sensors/lm-sensors/archive/V3-6-0/
 
 build
        requires
                bison
-               chrpath
                flex
                rrdtool-devel
-               sysfsutils-devel
-       end
-
-       prepare_cmds
-               sed -e "s/^PREFIX\ :=\ .*/PREFIX=\/usr/g" \
-                       -e "s/^MACHINE\ :=\ .*/MACHINE=%{MACHINE}/g" \
-                       -e "s/^MANDIR.*/MANDIR=\/usr\/share\/man/g" -i Makefile
        end
 
-       common_flags = PREFIX=%{prefix} LIBDIR=%{libdir} MANDIR=%{mandir} \
-               PROG_EXTRA=sensord CFLAGS="%{CFLAGS}" EXLDFLAGS="%{LDFLAGS}"
-
-       make_build_targets += %{common_flags} user
-       make_install_targets += %{common_flags} user_install
-
-       install_cmds
-               # Remove RPATH from binaries.
-               chrpath --delete %{BUILDROOT}/usr/bin/sensors
-               chrpath --delete %{BUILDROOT}/usr/sbin/sensord
-       end
+       make_build_targets += \
+               CFLAGS="%{CFLAGS}" \
+               LDFLAGS="%{LDFLAGS}" \
+               EXLDFLAGS="%{LDFLAGS}" \
+               BUILD_STATIC_LIB=0 \
+               PROG_EXTRA=sensord
+
+       make_install_targets += \
+               PREFIX=%{prefix} \
+               LIBDIR=%{libdir} \
+               MANDIR=%{mandir} \
+               BUILD_STATIC_LIB=0 \
+               PROG_EXTRA=sensord
 end
 
 packages
diff --git a/lmdb/lmdb.nm b/lmdb/lmdb.nm
new file mode 100644 (file)
index 0000000..cc63fab
--- /dev/null
@@ -0,0 +1,61 @@
+###############################################################################
+# IPFire.org    - An Open Source Firewall Solution                            #
+# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
+###############################################################################
+
+name       = lmdb
+version    = 0.9.29
+release    = 1
+thisapp    = LMDB_%{version}
+
+groups     = System/Libraries
+url        = https://symas.com/mdb
+license    = OpenLDAP
+summary    = Memory-mapped key-value database
+
+description
+       LMDB is an ultra-fast, ultra-compact key-value embedded data
+       store developed by Symas for the OpenLDAP Project. By using memory-mapped files,
+       it provides the read performance of a pure in-memory database while still
+       offering the persistence of standard disk-based databases, and is only limited
+       to the size of the virtual address space.
+end
+
+source_dl  = https://git.openldap.org/openldap/openldap/-/archive
+
+build
+       DIR_APP = %{DIR_SRC}/openldap-LMDB_%{version}-8ad7be2510414b9506ec9f9e24f24d04d9b04a1a/libraries/liblmdb
+
+       prepare_cmds
+               sed -i "%{DIR_SOURCE}/lmdb.pc" \
+                       -e "s/@PKGVER@/%{version}/"
+       end
+
+       build
+               make %{PARALLELISMFLAGS} XCFLAGS="%{CFLAGS}"
+       end
+
+       install
+               make install \
+                       DESTDIR="%{BUILDROOT}" \
+                       prefix="%{prefix}" \
+                       libdir="%{libdir}" \
+                       mandir="%{mandir}"
+
+               mkdir -pv "%{BUILDROOT}%{libdir}/pkgconfig"
+               install -v -m 644 "%{DIR_SOURCE}/lmdb.pc" \
+                       "%{BUILDROOT}%{libdir}/pkgconfig/lmdb.pc"
+       end
+end
+
+packages
+       package %{name}
+
+       package %{name}-devel
+               template DEVEL
+       end
+
+       package %{name}-debuginfo
+               template DEBUGINFO
+       end
+end
diff --git a/lmdb/lmdb.pc b/lmdb/lmdb.pc
new file mode 100644 (file)
index 0000000..de30061
--- /dev/null
@@ -0,0 +1,10 @@
+prefix=/usr
+libdir=${prefix}/lib
+includedir=${prefix}/include
+
+Name: liblmdb
+Description: Lightning Memory-Mapped Database
+URL: https://symas.com/products/lightning-memory-mapped-database/
+Version: @PKGVER@
+Libs: -L${libdir} -llmdb
+Cflags: -I${includedir}
similarity index 55%
rename from gupnp-av/gupnp-av.nm
rename to log4cplus/log4cplus.nm
index 1c83d7de18923b1a009f5de9bdc6246d2c6864b5..7ee11c124922e72e0a0eca4e4e0ec0461dc706f5 100644 (file)
@@ -3,33 +3,28 @@
 # Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
 ###############################################################################
 
-name       = gupnp-av
-version    = %{ver_maj}.%{ver_min}
-ver_maj    = 0.12
-ver_min    = 10
-release    = 1
+name       = log4cplus
+version    = 2.0.8
+release    = 1.1
 
 groups     = System/Libraries
-url        = http://www.gupnp.org
-license    = LGPL
-summary    = gupnp audio/video helpers.
+url        = http://sourceforge.net/projects/log4cplus
+license    = ASL 2.0
+summary    = Logging Framework for C++
 
 description
-       GUPnP-AV is a collection of helpers for building AV (audio/video) \
-       applications using GUPnP.
+       log4cplus is a simple to use C++ logging API providing thread-safe, flexible,
+       and arbitrarily granular control over log management and configuration. It is
+       modeled after the Java log4j API.
 end
 
-source_dl  = https://download.gnome.org/sources/%{name}/%{ver_maj}/
+source_dl  = http://downloads.sourceforge.net/%{name}/
 sources    = %{thisapp}.tar.xz
 
 build
        requires
-               gssdp-devel
-               gupnp-devel
+               gcc-c++
        end
-
-       configure_options += \
-               --without-gnome
 end
 
 packages
diff --git a/logrotate/logrotate.nm b/logrotate/logrotate.nm
deleted file mode 100644 (file)
index c15906b..0000000
+++ /dev/null
@@ -1,57 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = logrotate
-version    = 3.9.1
-release    = 1
-
-groups     = System/Base
-url        = https://fedorahosted.org/releases/l/o/logrotate/
-license    = GPL+
-summary    = Rotates, compresses, removes and mails system log files.
-
-description
-       The logrotate utility is designed to simplify the administration of
-       log files on a system which generates a lot of log files. Logrotate
-       allows for the automatic rotation compression, removal and mailing of
-       log files.  Logrotate can be set to handle a log file daily, weekly,
-       monthly or when the log file gets to a certain size.
-end
-
-source_dl  = https://fedorahosted.org/releases/l/o/logrotate/
-
-build
-       requires
-               coreutils
-               gzip
-               popt-devel
-               which
-       end
-
-       build
-               make RPM_OPT_FLAGS="%{CFLAGS}" %{PARALLELISMFLAGS}
-       end
-
-       install
-               make install BASEDIR=%{prefix} PREFIX=%{BUILDROOT} \
-                       MANDIR=%{mandir}
-
-               mkdir -pv %{BUILDROOT}%{localstatedir}
-               touch %{BUILDROOT}%{localstatedir}/logrotate.status
-
-               # Creating directory for config files
-               mkdir -pv %{BUILDROOT}%{sysconfdir}/logrotate.d
-       end
-end
-
-packages
-       package %{name}
-               groups += Base
-       end
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
diff --git a/logrotate/systemd/logrotate.service b/logrotate/systemd/logrotate.service
deleted file mode 100644 (file)
index 0b45621..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-[Unit]
-Description=logrotate
-
-[Service]
-ExexStart=/usr/sbin/logrotate /etc/logrotate.d/*
index 6ee976494347eff92b87521bfd2f66c6f00cef1e..0963f42add3ef6bf1cff2be58a3c12fa8f6dde14 100644 (file)
@@ -4,13 +4,13 @@
 ###############################################################################
 
 name       = lsof
-version    = 4.89
+version    = 4.98.0
 release    = 1
 
 groups     = Development/Debuggers
-url        = ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/
+url        = https://github.com/lsof-org/lsof
 license    = zlib
-summary    = A utility which lists open files on a Linux/UNIX system.
+summary    = A utility which lists open files on a Linux/UNIX system
 
 description
        Lsof stands for LiSt Open Files, and it does just that:
@@ -18,21 +18,12 @@ description
        processes running on a system.
 end
 
-thisapp    = %{name}_%{version}_src
+source_dl  = https://github.com/lsof-org/lsof/releases/download/%{version}/
 
 build
-       export LSOF_CFGL = %{CFLAGS} %{LDFLAGS}
-
-       build
-               ./Configure -n linux
-               make %{PARALLELISMFLAGS}
-       end
-
-       install
-               mkdir -pv %{BUILDROOT}%{sbindir}
-               install -m 755 lsof %{BUILDROOT}%{sbindir}
-               mkdir -pv %{BUILDROOT}%{mandir}/man8
-               cp -vf lsof.8 %{BUILDROOT}%{mandir}/man8
+       requires
+               groff
+               libtirpc-devel
        end
 end
 
index daa2f41e40fe74097901bb8fbb7262798732d2e0..cc1e51a23a33f8158bd30bb1f775d269bf54bea7 100644 (file)
@@ -4,74 +4,59 @@
 ###############################################################################
 
 name       = lua
-major_version = 5.3
-version    = %{major_version}.5
+ver_maj    = 5.4
+version    = %{ver_maj}.4
 release    = 1
 
 groups     = Development/Languages
-url        = http://www.lua.org/
+url        = https://www.lua.org/
 license    = MIT
-summary    = Powerful light-weight programming language.
+summary    = Powerful light-weight programming language
 
 description
-       Lua is a powerful light-weight programming language designed for \
-       extending applications. Lua is also frequently used as a \
-       general-purpose, stand-alone language. Lua is free software. \
-       Lua combines simple procedural syntax with powerful data description \
-       constructs based on associative arrays and extensible semantics. Lua \
-       is dynamically typed, interpreted from bytecodes, and has automatic \
-       memory management with garbage collection, making it ideal for \
+       Lua is a powerful light-weight programming language designed for
+       extending applications. Lua is also frequently used as a
+       general-purpose, stand-alone language. Lua is free software.
+       Lua combines simple procedural syntax with powerful data description
+       constructs based on associative arrays and extensible semantics. Lua
+       is dynamically typed, interpreted from bytecodes, and has automatic
+       memory management with garbage collection, making it ideal for
        configuration, scripting, and rapid prototyping.
 end
 
-source_dl  = http://www.lua.org/ftp/
+source_dl  = https://www.lua.org/ftp/
 
 build
        requires
+               autoconf
+               automake
                readline-devel
        end
 
        prepare_cmds
-               # Lua 5.3.4 has wrong release version in its Makefile
-               sed "s/^R= \$V.4/R= \$V.5/" -i Makefile
+               autoreconf -vfi
        end
 
-       make_build_targets += \
-               MYCFLAGS="%{CFLAGS} -DLUA_COMPAT_5_2 -DLUA_COMPAT_5_1" \
-               MYLDFLAGS="%{LDFLAGS}" \
-               linux
-
-       test
-               make test
-       end
-
-       make_install_targets += \
-               TO_LIB="liblua.so.%{version}" \
-               INSTALL_TOP="%{BUILDROOT}%{prefix}" \
-               INSTALL_LIB="%{BUILDROOT}%{libdir}" \
-               INSTALL_MAN="%{BUILDROOT}%{mandir}/man1"
-
-       install_cmds
-               # Install library links
-               ln -svf liblua.so.%{version} %{BUILDROOT}%{libdir}/liblua.so.%{major_version}
-               ln -svf liblua.so.%{major_version} %{BUILDROOT}%{libdir}/liblua.so
-
-               # Install pkgconfig file
-               mkdir -pv %{BUILDROOT}%{libdir}/pkgconfig
-               sed "s/%VER%/%{major_version}/g;s/%REL%/%{version}/g" \
-                       < %{DIR_SOURCE}/lua.pc > %{BUILDROOT}%{libdir}/pkgconfig/lua.pc
-       end
+       configure_options += \
+               --with-compat-module \
+               --with-readline
 end
 
 packages
        package %{name}
 
+       package %{name}-libs
+               template LIBS
+
+               files += %{libdir}/liblua-%{ver_maj}.so
+       end
+
        package %{name}-devel
                template DEVEL
-       end
 
-       package %{name}-libs
-               template LIBS
+               requires = lua-libs = %{thisver}
+
+               files += !%{libdir}/liblua-%{ver_maj}.so
        end
 
        package %{name}-debuginfo
diff --git a/lua/lua.pc b/lua/lua.pc
deleted file mode 100644 (file)
index bf7977b..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-V=%VER%
-R=%REL%
-
-prefix=/usr
-INSTALL_BIN=${prefix}/bin
-INSTALL_INC=${prefix}/include
-INSTALL_LIB=${prefix}/lib
-INSTALL_MAN=${prefix}/man/man1
-INSTALL_LMOD=${prefix}/share/lua/${V}
-INSTALL_CMOD=${prefix}/lib/lua/${V}
-exec_prefix=${prefix}
-libdir=${exec_prefix}/lib
-includedir=${prefix}/include
-
-Name: Lua
-Description: An Extensible Extension Language
-Version: ${R}
-Requires: 
-Libs: -L${libdir} -llua -lm
-Cflags: -I${includedir}
diff --git a/lua/patches/liblua.so.patch b/lua/patches/liblua.so.patch
deleted file mode 100644 (file)
index f9e24f3..0000000
+++ /dev/null
@@ -1,60 +0,0 @@
-diff --git a/Makefile b/Makefile
-index 7fa91c8..dccf485 100644
---- a/Makefile
-+++ b/Makefile
-@@ -52,7 +52,7 @@ R= $V.0
- all:  $(PLAT)
- $(PLATS) clean:
--      cd src && $(MAKE) $@
-+      cd src && $(MAKE) $@ V=$(V) R=$(R)
- test: dummy
-       src/lua -v
-diff --git a/src/Makefile b/src/Makefile
-index 2e7a412..fa5769f 100644
---- a/src/Makefile
-+++ b/src/Makefile
-@@ -29,6 +29,7 @@ MYOBJS=
- PLATS= aix bsd c89 freebsd generic linux macosx mingw posix solaris
- LUA_A=        liblua.a
-+LUA_SO= liblua.so
- CORE_O=       lapi.o lcode.o lctype.o ldebug.o ldo.o ldump.o lfunc.o lgc.o llex.o \
-       lmem.o lobject.o lopcodes.o lparser.o lstate.o lstring.o ltable.o \
-       ltm.o lundump.o lvm.o lzio.o
-@@ -43,7 +44,7 @@ LUAC_T=      luac
- LUAC_O=       luac.o
- ALL_O= $(BASE_O) $(LUA_O) $(LUAC_O)
--ALL_T= $(LUA_A) $(LUA_T) $(LUAC_T)
-+ALL_T= $(LUA_A) $(LUA_T) $(LUAC_T) $(LUA_SO)
- ALL_A= $(LUA_A)
- # Targets start here.
-@@ -59,6 +60,12 @@ $(LUA_A): $(BASE_O)
-       $(AR) $@ $(BASE_O)
-       $(RANLIB) $@
-+$(LUA_SO): $(CORE_O) $(LIB_O)
-+      $(CC) -shared -ldl -Wl,-soname,$(LUA_SO).$(V) -o $@.$(R) $? -lm $(MYLDFLAGS)
-+      ln -sf $(LUA_SO).$(R) $(LUA_SO).$(V)
-+      ln -sf $(LUA_SO).$(R) $(LUA_SO)
-+
-+
- $(LUA_T): $(LUA_O) $(LUA_A)
-       $(CC) -o $@ $(LDFLAGS) $(LUA_O) $(LUA_A) $(LIBS)
-diff --git a/src/luaconf.h b/src/luaconf.h
-index fd28d21..e2662cc 100644
---- a/src/luaconf.h
-+++ b/src/luaconf.h
-@@ -175,7 +175,7 @@
- #else                 /* }{ */
--#define LUA_ROOT      "/usr/local/"
-+#define LUA_ROOT      "/usr/"
- #define LUA_LDIR      LUA_ROOT "share/lua/" LUA_VDIR "/"
- #define LUA_CDIR      LUA_ROOT "lib/lua/" LUA_VDIR "/"
- #define LUA_PATH_DEFAULT  \
diff --git a/lua/patches/lua-5.4.4-autotoolize.patch b/lua/patches/lua-5.4.4-autotoolize.patch
new file mode 100644 (file)
index 0000000..77d750b
--- /dev/null
@@ -0,0 +1,2539 @@
+diff -Nur lua-5.4.4-old/configure.ac lua-5.4.4/configure.ac
+--- lua-5.4.4-old/configure.ac 1970-01-01 00:00:00.000000000 +0000
++++ lua-5.4.4/configure.ac     2023-01-08 14:49:48.714984535 +0000
+@@ -0,0 +1,69 @@
++AC_PREREQ(2.59)
++AC_INIT([lua], [5.4.0], [https://bugzilla.redhat.com/], [lua-at], [http://www.lua.org])
++AC_SUBST([MAJOR_VERSION], [5.4])
++
++AC_CONFIG_HEADERS([config.h])
++AC_CONFIG_SRCDIR([src/lapi.c])
++
++AM_INIT_AUTOMAKE([1.9 foreign])
++
++AC_PROG_CC
++AC_PROG_LIBTOOL
++
++AC_ARG_WITH(
++  [readline],
++  [AC_HELP_STRING([--with-readline], [Use readline for interpreter input [default=yes]])],
++  [use_readline=$withval],
++  [use_readline=yes]
++)
++
++LUA_LIBS="-lm"
++
++# Check for readline
++READLINE_DEFS="#undef LUA_USE_READLINE"
++if test "x$use_readline" == "xyes"; then
++  AC_CHECK_LIB([readline], [readline], [:], [use_readline=no], [-lncurses])
++  AC_CHECK_HEADERS([readline/readline.h readline/history.h], [], [use_readline=no])
++  if test "x$use_readline" == "xno"; then
++    AC_MSG_WARN([readline headers could not be found, disabling readline support])
++  else
++    READLINE_DEFS="#define LUA_USE_READLINE"
++    READLINE_LIBS="-lreadline -lncurses"
++  fi
++fi
++AC_SUBST(READLINE_DEFS)
++AC_SUBST(READLINE_LIBS)
++
++case "$host" in
++  *-mingw*)  use_os=win32  ;;
++  *-darwin*) use_os=macosx ;;
++  *)         use_os=posix  ;;
++esac
++
++POSIX_DEFS="#undef LUA_USE_POSIX"
++LUA_DL_DEFS="#undef LUA_USE_DLOPEN"
++LUA_BUILD_AS_DLL_DEFS="#undef LUA_BUILD_AS_DLL"
++
++if test "x$use_os" == "xwin32"; then
++  LUA_BUILD_AS_DLL_DEFS="#define LUA_BUILD_AS_DLL"
++elif test "x$use_os" == "xmacosx"; then
++  POSIX_DEFS="#define LUA_USE_POSIX"
++  LUA_DL_DEFS="#define LUA_DL_DYLD"
++elif test "x$use_os" == "xposix"; then
++  POSIX_DEFS="#define LUA_USE_POSIX"
++  LUA_DL_DEFS="#define LUA_DL_DLOPEN"
++  LUA_LIBS="$LUA_LIBS -ldl"
++fi
++AC_SUBST(POSIX_DEFS)
++AC_SUBST(LUA_DL_DEFS)
++AC_SUBST(LUA_BUILD_AS_DLL_DEFS)
++
++AC_SUBST(LUA_LIBS)
++
++AC_CONFIG_FILES([Makefile
++                 src/Makefile
++                 src/lua.pc
++                 src/luaconf.h.template
++                 doc/Makefile
++])
++AC_OUTPUT
+diff -Nur lua-5.4.4-old/doc/Makefile.am lua-5.4.4/doc/Makefile.am
+--- lua-5.4.4-old/doc/Makefile.am      1970-01-01 00:00:00.000000000 +0000
++++ lua-5.4.4/doc/Makefile.am  2023-01-08 14:49:48.714984535 +0000
+@@ -0,0 +1,4 @@
++man1_MANS = lua.1 luac.1
++
++EXTRA_DIST = \
++      contents.html logo.gif lua.1 luac.1 lua.css manual.css manual.html osi-certified-72x60.png readme.html
+diff -Nur lua-5.4.4-old/Makefile.am lua-5.4.4/Makefile.am
+--- lua-5.4.4-old/Makefile.am  1970-01-01 00:00:00.000000000 +0000
++++ lua-5.4.4/Makefile.am      2023-01-08 14:49:48.714984535 +0000
+@@ -0,0 +1,3 @@
++SUBDIRS = src doc
++
++EXTRA_DIST = README
+diff -Nur lua-5.4.4-old/src/.gitignore lua-5.4.4/src/.gitignore
+--- lua-5.4.4-old/src/.gitignore       1970-01-01 00:00:00.000000000 +0000
++++ lua-5.4.4/src/.gitignore   2023-01-08 14:49:48.714984535 +0000
+@@ -0,0 +1,5 @@
++lua
++lua.pc
++luac
++luaconf.h
++luaconf.h.template
+diff -Nur lua-5.4.4-old/src/luaconf.h lua-5.4.4/src/luaconf.h
+--- lua-5.4.4-old/src/luaconf.h        2022-01-13 11:24:43.000000000 +0000
++++ lua-5.4.4/src/luaconf.h    1970-01-01 00:00:00.000000000 +0000
+@@ -1,786 +0,0 @@
+-/*
+-** $Id: luaconf.h $
+-** Configuration file for Lua
+-** See Copyright Notice in lua.h
+-*/
+-
+-
+-#ifndef luaconf_h
+-#define luaconf_h
+-
+-#include <limits.h>
+-#include <stddef.h>
+-
+-
+-/*
+-** ===================================================================
+-** General Configuration File for Lua
+-**
+-** Some definitions here can be changed externally, through the compiler
+-** (e.g., with '-D' options): They are commented out or protected
+-** by '#if !defined' guards. However, several other definitions
+-** should be changed directly here, either because they affect the
+-** Lua ABI (by making the changes here, you ensure that all software
+-** connected to Lua, such as C libraries, will be compiled with the same
+-** configuration); or because they are seldom changed.
+-**
+-** Search for "@@" to find all configurable definitions.
+-** ===================================================================
+-*/
+-
+-
+-/*
+-** {====================================================================
+-** System Configuration: macros to adapt (if needed) Lua to some
+-** particular platform, for instance restricting it to C89.
+-** =====================================================================
+-*/
+-
+-/*
+-@@ LUA_USE_C89 controls the use of non-ISO-C89 features.
+-** Define it if you want Lua to avoid the use of a few C99 features
+-** or Windows-specific features on Windows.
+-*/
+-/* #define LUA_USE_C89 */
+-
+-
+-/*
+-** By default, Lua on Windows use (some) specific Windows features
+-*/
+-#if !defined(LUA_USE_C89) && defined(_WIN32) && !defined(_WIN32_WCE)
+-#define LUA_USE_WINDOWS  /* enable goodies for regular Windows */
+-#endif
+-
+-
+-#if defined(LUA_USE_WINDOWS)
+-#define LUA_DL_DLL    /* enable support for DLL */
+-#define LUA_USE_C89   /* broadly, Windows is C89 */
+-#endif
+-
+-
+-#if defined(LUA_USE_LINUX)
+-#define LUA_USE_POSIX
+-#define LUA_USE_DLOPEN                /* needs an extra library: -ldl */
+-#endif
+-
+-
+-#if defined(LUA_USE_MACOSX)
+-#define LUA_USE_POSIX
+-#define LUA_USE_DLOPEN                /* MacOS does not need -ldl */
+-#endif
+-
+-
+-/*
+-@@ LUAI_IS32INT is true iff 'int' has (at least) 32 bits.
+-*/
+-#define LUAI_IS32INT  ((UINT_MAX >> 30) >= 3)
+-
+-/* }================================================================== */
+-
+-
+-
+-/*
+-** {==================================================================
+-** Configuration for Number types. These options should not be
+-** set externally, because any other code connected to Lua must
+-** use the same configuration.
+-** ===================================================================
+-*/
+-
+-/*
+-@@ LUA_INT_TYPE defines the type for Lua integers.
+-@@ LUA_FLOAT_TYPE defines the type for Lua floats.
+-** Lua should work fine with any mix of these options supported
+-** by your C compiler. The usual configurations are 64-bit integers
+-** and 'double' (the default), 32-bit integers and 'float' (for
+-** restricted platforms), and 'long'/'double' (for C compilers not
+-** compliant with C99, which may not have support for 'long long').
+-*/
+-
+-/* predefined options for LUA_INT_TYPE */
+-#define LUA_INT_INT           1
+-#define LUA_INT_LONG          2
+-#define LUA_INT_LONGLONG      3
+-
+-/* predefined options for LUA_FLOAT_TYPE */
+-#define LUA_FLOAT_FLOAT               1
+-#define LUA_FLOAT_DOUBLE      2
+-#define LUA_FLOAT_LONGDOUBLE  3
+-
+-
+-/* Default configuration ('long long' and 'double', for 64-bit Lua) */
+-#define LUA_INT_DEFAULT               LUA_INT_LONGLONG
+-#define LUA_FLOAT_DEFAULT     LUA_FLOAT_DOUBLE
+-
+-
+-/*
+-@@ LUA_32BITS enables Lua with 32-bit integers and 32-bit floats.
+-*/
+-#define LUA_32BITS    0
+-
+-
+-/*
+-@@ LUA_C89_NUMBERS ensures that Lua uses the largest types available for
+-** C89 ('long' and 'double'); Windows always has '__int64', so it does
+-** not need to use this case.
+-*/
+-#if defined(LUA_USE_C89) && !defined(LUA_USE_WINDOWS)
+-#define LUA_C89_NUMBERS               1
+-#else
+-#define LUA_C89_NUMBERS               0
+-#endif
+-
+-
+-#if LUA_32BITS                /* { */
+-/*
+-** 32-bit integers and 'float'
+-*/
+-#if LUAI_IS32INT  /* use 'int' if big enough */
+-#define LUA_INT_TYPE  LUA_INT_INT
+-#else  /* otherwise use 'long' */
+-#define LUA_INT_TYPE  LUA_INT_LONG
+-#endif
+-#define LUA_FLOAT_TYPE        LUA_FLOAT_FLOAT
+-
+-#elif LUA_C89_NUMBERS /* }{ */
+-/*
+-** largest types available for C89 ('long' and 'double')
+-*/
+-#define LUA_INT_TYPE  LUA_INT_LONG
+-#define LUA_FLOAT_TYPE        LUA_FLOAT_DOUBLE
+-
+-#else         /* }{ */
+-/* use defaults */
+-
+-#define LUA_INT_TYPE  LUA_INT_DEFAULT
+-#define LUA_FLOAT_TYPE        LUA_FLOAT_DEFAULT
+-
+-#endif                                /* } */
+-
+-
+-/* }================================================================== */
+-
+-
+-
+-/*
+-** {==================================================================
+-** Configuration for Paths.
+-** ===================================================================
+-*/
+-
+-/*
+-** LUA_PATH_SEP is the character that separates templates in a path.
+-** LUA_PATH_MARK is the string that marks the substitution points in a
+-** template.
+-** LUA_EXEC_DIR in a Windows path is replaced by the executable's
+-** directory.
+-*/
+-#define LUA_PATH_SEP            ";"
+-#define LUA_PATH_MARK           "?"
+-#define LUA_EXEC_DIR            "!"
+-
+-
+-/*
+-@@ LUA_PATH_DEFAULT is the default path that Lua uses to look for
+-** Lua libraries.
+-@@ LUA_CPATH_DEFAULT is the default path that Lua uses to look for
+-** C libraries.
+-** CHANGE them if your machine has a non-conventional directory
+-** hierarchy or if you want to install your libraries in
+-** non-conventional directories.
+-*/
+-
+-#define LUA_VDIR      LUA_VERSION_MAJOR "." LUA_VERSION_MINOR
+-#if defined(_WIN32)   /* { */
+-/*
+-** In Windows, any exclamation mark ('!') in the path is replaced by the
+-** path of the directory of the executable file of the current process.
+-*/
+-#define LUA_LDIR      "!\\lua\\"
+-#define LUA_CDIR      "!\\"
+-#define LUA_SHRDIR    "!\\..\\share\\lua\\" LUA_VDIR "\\"
+-
+-#if !defined(LUA_PATH_DEFAULT)
+-#define LUA_PATH_DEFAULT  \
+-              LUA_LDIR"?.lua;"  LUA_LDIR"?\\init.lua;" \
+-              LUA_CDIR"?.lua;"  LUA_CDIR"?\\init.lua;" \
+-              LUA_SHRDIR"?.lua;" LUA_SHRDIR"?\\init.lua;" \
+-              ".\\?.lua;" ".\\?\\init.lua"
+-#endif
+-
+-#if !defined(LUA_CPATH_DEFAULT)
+-#define LUA_CPATH_DEFAULT \
+-              LUA_CDIR"?.dll;" \
+-              LUA_CDIR"..\\lib\\lua\\" LUA_VDIR "\\?.dll;" \
+-              LUA_CDIR"loadall.dll;" ".\\?.dll"
+-#endif
+-
+-#else                 /* }{ */
+-
+-#define LUA_ROOT      "/usr/local/"
+-#define LUA_LDIR      LUA_ROOT "share/lua/" LUA_VDIR "/"
+-#define LUA_CDIR      LUA_ROOT "lib/lua/" LUA_VDIR "/"
+-
+-#if !defined(LUA_PATH_DEFAULT)
+-#define LUA_PATH_DEFAULT  \
+-              LUA_LDIR"?.lua;"  LUA_LDIR"?/init.lua;" \
+-              LUA_CDIR"?.lua;"  LUA_CDIR"?/init.lua;" \
+-              "./?.lua;" "./?/init.lua"
+-#endif
+-
+-#if !defined(LUA_CPATH_DEFAULT)
+-#define LUA_CPATH_DEFAULT \
+-              LUA_CDIR"?.so;" LUA_CDIR"loadall.so;" "./?.so"
+-#endif
+-
+-#endif                        /* } */
+-
+-
+-/*
+-@@ LUA_DIRSEP is the directory separator (for submodules).
+-** CHANGE it if your machine does not use "/" as the directory separator
+-** and is not Windows. (On Windows Lua automatically uses "\".)
+-*/
+-#if !defined(LUA_DIRSEP)
+-
+-#if defined(_WIN32)
+-#define LUA_DIRSEP    "\\"
+-#else
+-#define LUA_DIRSEP    "/"
+-#endif
+-
+-#endif
+-
+-/* }================================================================== */
+-
+-
+-/*
+-** {==================================================================
+-** Marks for exported symbols in the C code
+-** ===================================================================
+-*/
+-
+-/*
+-@@ LUA_API is a mark for all core API functions.
+-@@ LUALIB_API is a mark for all auxiliary library functions.
+-@@ LUAMOD_API is a mark for all standard library opening functions.
+-** CHANGE them if you need to define those functions in some special way.
+-** For instance, if you want to create one Windows DLL with the core and
+-** the libraries, you may want to use the following definition (define
+-** LUA_BUILD_AS_DLL to get it).
+-*/
+-#if defined(LUA_BUILD_AS_DLL) /* { */
+-
+-#if defined(LUA_CORE) || defined(LUA_LIB)     /* { */
+-#define LUA_API __declspec(dllexport)
+-#else                                         /* }{ */
+-#define LUA_API __declspec(dllimport)
+-#endif                                                /* } */
+-
+-#else                         /* }{ */
+-
+-#define LUA_API               extern
+-
+-#endif                                /* } */
+-
+-
+-/*
+-** More often than not the libs go together with the core.
+-*/
+-#define LUALIB_API    LUA_API
+-#define LUAMOD_API    LUA_API
+-
+-
+-/*
+-@@ LUAI_FUNC is a mark for all extern functions that are not to be
+-** exported to outside modules.
+-@@ LUAI_DDEF and LUAI_DDEC are marks for all extern (const) variables,
+-** none of which to be exported to outside modules (LUAI_DDEF for
+-** definitions and LUAI_DDEC for declarations).
+-** CHANGE them if you need to mark them in some special way. Elf/gcc
+-** (versions 3.2 and later) mark them as "hidden" to optimize access
+-** when Lua is compiled as a shared library. Not all elf targets support
+-** this attribute. Unfortunately, gcc does not offer a way to check
+-** whether the target offers that support, and those without support
+-** give a warning about it. To avoid these warnings, change to the
+-** default definition.
+-*/
+-#if defined(__GNUC__) && ((__GNUC__*100 + __GNUC_MINOR__) >= 302) && \
+-    defined(__ELF__)          /* { */
+-#define LUAI_FUNC     __attribute__((visibility("internal"))) extern
+-#else                         /* }{ */
+-#define LUAI_FUNC     extern
+-#endif                                /* } */
+-
+-#define LUAI_DDEC(dec)        LUAI_FUNC dec
+-#define LUAI_DDEF     /* empty */
+-
+-/* }================================================================== */
+-
+-
+-/*
+-** {==================================================================
+-** Compatibility with previous versions
+-** ===================================================================
+-*/
+-
+-/*
+-@@ LUA_COMPAT_5_3 controls other macros for compatibility with Lua 5.3.
+-** You can define it to get all options, or change specific options
+-** to fit your specific needs.
+-*/
+-#if defined(LUA_COMPAT_5_3)   /* { */
+-
+-/*
+-@@ LUA_COMPAT_MATHLIB controls the presence of several deprecated
+-** functions in the mathematical library.
+-** (These functions were already officially removed in 5.3;
+-** nevertheless they are still available here.)
+-*/
+-#define LUA_COMPAT_MATHLIB
+-
+-/*
+-@@ LUA_COMPAT_APIINTCASTS controls the presence of macros for
+-** manipulating other integer types (lua_pushunsigned, lua_tounsigned,
+-** luaL_checkint, luaL_checklong, etc.)
+-** (These macros were also officially removed in 5.3, but they are still
+-** available here.)
+-*/
+-#define LUA_COMPAT_APIINTCASTS
+-
+-
+-/*
+-@@ LUA_COMPAT_LT_LE controls the emulation of the '__le' metamethod
+-** using '__lt'.
+-*/
+-#define LUA_COMPAT_LT_LE
+-
+-
+-/*
+-@@ The following macros supply trivial compatibility for some
+-** changes in the API. The macros themselves document how to
+-** change your code to avoid using them.
+-** (Once more, these macros were officially removed in 5.3, but they are
+-** still available here.)
+-*/
+-#define lua_strlen(L,i)               lua_rawlen(L, (i))
+-
+-#define lua_objlen(L,i)               lua_rawlen(L, (i))
+-
+-#define lua_equal(L,idx1,idx2)                lua_compare(L,(idx1),(idx2),LUA_OPEQ)
+-#define lua_lessthan(L,idx1,idx2)     lua_compare(L,(idx1),(idx2),LUA_OPLT)
+-
+-#endif                                /* } */
+-
+-/* }================================================================== */
+-
+-
+-
+-/*
+-** {==================================================================
+-** Configuration for Numbers (low-level part).
+-** Change these definitions if no predefined LUA_FLOAT_* / LUA_INT_*
+-** satisfy your needs.
+-** ===================================================================
+-*/
+-
+-/*
+-@@ LUAI_UACNUMBER is the result of a 'default argument promotion'
+-@@ over a floating number.
+-@@ l_floatatt(x) corrects float attribute 'x' to the proper float type
+-** by prefixing it with one of FLT/DBL/LDBL.
+-@@ LUA_NUMBER_FRMLEN is the length modifier for writing floats.
+-@@ LUA_NUMBER_FMT is the format for writing floats.
+-@@ lua_number2str converts a float to a string.
+-@@ l_mathop allows the addition of an 'l' or 'f' to all math operations.
+-@@ l_floor takes the floor of a float.
+-@@ lua_str2number converts a decimal numeral to a number.
+-*/
+-
+-
+-/* The following definitions are good for most cases here */
+-
+-#define l_floor(x)            (l_mathop(floor)(x))
+-
+-#define lua_number2str(s,sz,n)  \
+-      l_sprintf((s), sz, LUA_NUMBER_FMT, (LUAI_UACNUMBER)(n))
+-
+-/*
+-@@ lua_numbertointeger converts a float number with an integral value
+-** to an integer, or returns 0 if float is not within the range of
+-** a lua_Integer.  (The range comparisons are tricky because of
+-** rounding. The tests here assume a two-complement representation,
+-** where MININTEGER always has an exact representation as a float;
+-** MAXINTEGER may not have one, and therefore its conversion to float
+-** may have an ill-defined value.)
+-*/
+-#define lua_numbertointeger(n,p) \
+-  ((n) >= (LUA_NUMBER)(LUA_MININTEGER) && \
+-   (n) < -(LUA_NUMBER)(LUA_MININTEGER) && \
+-      (*(p) = (LUA_INTEGER)(n), 1))
+-
+-
+-/* now the variable definitions */
+-
+-#if LUA_FLOAT_TYPE == LUA_FLOAT_FLOAT         /* { single float */
+-
+-#define LUA_NUMBER    float
+-
+-#define l_floatatt(n)         (FLT_##n)
+-
+-#define LUAI_UACNUMBER        double
+-
+-#define LUA_NUMBER_FRMLEN     ""
+-#define LUA_NUMBER_FMT                "%.7g"
+-
+-#define l_mathop(op)          op##f
+-
+-#define lua_str2number(s,p)   strtof((s), (p))
+-
+-
+-#elif LUA_FLOAT_TYPE == LUA_FLOAT_LONGDOUBLE  /* }{ long double */
+-
+-#define LUA_NUMBER    long double
+-
+-#define l_floatatt(n)         (LDBL_##n)
+-
+-#define LUAI_UACNUMBER        long double
+-
+-#define LUA_NUMBER_FRMLEN     "L"
+-#define LUA_NUMBER_FMT                "%.19Lg"
+-
+-#define l_mathop(op)          op##l
+-
+-#define lua_str2number(s,p)   strtold((s), (p))
+-
+-#elif LUA_FLOAT_TYPE == LUA_FLOAT_DOUBLE      /* }{ double */
+-
+-#define LUA_NUMBER    double
+-
+-#define l_floatatt(n)         (DBL_##n)
+-
+-#define LUAI_UACNUMBER        double
+-
+-#define LUA_NUMBER_FRMLEN     ""
+-#define LUA_NUMBER_FMT                "%.14g"
+-
+-#define l_mathop(op)          op
+-
+-#define lua_str2number(s,p)   strtod((s), (p))
+-
+-#else                                         /* }{ */
+-
+-#error "numeric float type not defined"
+-
+-#endif                                        /* } */
+-
+-
+-
+-/*
+-@@ LUA_UNSIGNED is the unsigned version of LUA_INTEGER.
+-@@ LUAI_UACINT is the result of a 'default argument promotion'
+-@@ over a LUA_INTEGER.
+-@@ LUA_INTEGER_FRMLEN is the length modifier for reading/writing integers.
+-@@ LUA_INTEGER_FMT is the format for writing integers.
+-@@ LUA_MAXINTEGER is the maximum value for a LUA_INTEGER.
+-@@ LUA_MININTEGER is the minimum value for a LUA_INTEGER.
+-@@ LUA_MAXUNSIGNED is the maximum value for a LUA_UNSIGNED.
+-@@ lua_integer2str converts an integer to a string.
+-*/
+-
+-
+-/* The following definitions are good for most cases here */
+-
+-#define LUA_INTEGER_FMT               "%" LUA_INTEGER_FRMLEN "d"
+-
+-#define LUAI_UACINT           LUA_INTEGER
+-
+-#define lua_integer2str(s,sz,n)  \
+-      l_sprintf((s), sz, LUA_INTEGER_FMT, (LUAI_UACINT)(n))
+-
+-/*
+-** use LUAI_UACINT here to avoid problems with promotions (which
+-** can turn a comparison between unsigneds into a signed comparison)
+-*/
+-#define LUA_UNSIGNED          unsigned LUAI_UACINT
+-
+-
+-/* now the variable definitions */
+-
+-#if LUA_INT_TYPE == LUA_INT_INT               /* { int */
+-
+-#define LUA_INTEGER           int
+-#define LUA_INTEGER_FRMLEN    ""
+-
+-#define LUA_MAXINTEGER                INT_MAX
+-#define LUA_MININTEGER                INT_MIN
+-
+-#define LUA_MAXUNSIGNED               UINT_MAX
+-
+-#elif LUA_INT_TYPE == LUA_INT_LONG    /* }{ long */
+-
+-#define LUA_INTEGER           long
+-#define LUA_INTEGER_FRMLEN    "l"
+-
+-#define LUA_MAXINTEGER                LONG_MAX
+-#define LUA_MININTEGER                LONG_MIN
+-
+-#define LUA_MAXUNSIGNED               ULONG_MAX
+-
+-#elif LUA_INT_TYPE == LUA_INT_LONGLONG        /* }{ long long */
+-
+-/* use presence of macro LLONG_MAX as proxy for C99 compliance */
+-#if defined(LLONG_MAX)                /* { */
+-/* use ISO C99 stuff */
+-
+-#define LUA_INTEGER           long long
+-#define LUA_INTEGER_FRMLEN    "ll"
+-
+-#define LUA_MAXINTEGER                LLONG_MAX
+-#define LUA_MININTEGER                LLONG_MIN
+-
+-#define LUA_MAXUNSIGNED               ULLONG_MAX
+-
+-#elif defined(LUA_USE_WINDOWS) /* }{ */
+-/* in Windows, can use specific Windows types */
+-
+-#define LUA_INTEGER           __int64
+-#define LUA_INTEGER_FRMLEN    "I64"
+-
+-#define LUA_MAXINTEGER                _I64_MAX
+-#define LUA_MININTEGER                _I64_MIN
+-
+-#define LUA_MAXUNSIGNED               _UI64_MAX
+-
+-#else                         /* }{ */
+-
+-#error "Compiler does not support 'long long'. Use option '-DLUA_32BITS' \
+-  or '-DLUA_C89_NUMBERS' (see file 'luaconf.h' for details)"
+-
+-#endif                                /* } */
+-
+-#else                         /* }{ */
+-
+-#error "numeric integer type not defined"
+-
+-#endif                                /* } */
+-
+-/* }================================================================== */
+-
+-
+-/*
+-** {==================================================================
+-** Dependencies with C99 and other C details
+-** ===================================================================
+-*/
+-
+-/*
+-@@ l_sprintf is equivalent to 'snprintf' or 'sprintf' in C89.
+-** (All uses in Lua have only one format item.)
+-*/
+-#if !defined(LUA_USE_C89)
+-#define l_sprintf(s,sz,f,i)   snprintf(s,sz,f,i)
+-#else
+-#define l_sprintf(s,sz,f,i)   ((void)(sz), sprintf(s,f,i))
+-#endif
+-
+-
+-/*
+-@@ lua_strx2number converts a hexadecimal numeral to a number.
+-** In C99, 'strtod' does that conversion. Otherwise, you can
+-** leave 'lua_strx2number' undefined and Lua will provide its own
+-** implementation.
+-*/
+-#if !defined(LUA_USE_C89)
+-#define lua_strx2number(s,p)          lua_str2number(s,p)
+-#endif
+-
+-
+-/*
+-@@ lua_pointer2str converts a pointer to a readable string in a
+-** non-specified way.
+-*/
+-#define lua_pointer2str(buff,sz,p)    l_sprintf(buff,sz,"%p",p)
+-
+-
+-/*
+-@@ lua_number2strx converts a float to a hexadecimal numeral.
+-** In C99, 'sprintf' (with format specifiers '%a'/'%A') does that.
+-** Otherwise, you can leave 'lua_number2strx' undefined and Lua will
+-** provide its own implementation.
+-*/
+-#if !defined(LUA_USE_C89)
+-#define lua_number2strx(L,b,sz,f,n)  \
+-      ((void)L, l_sprintf(b,sz,f,(LUAI_UACNUMBER)(n)))
+-#endif
+-
+-
+-/*
+-** 'strtof' and 'opf' variants for math functions are not valid in
+-** C89. Otherwise, the macro 'HUGE_VALF' is a good proxy for testing the
+-** availability of these variants. ('math.h' is already included in
+-** all files that use these macros.)
+-*/
+-#if defined(LUA_USE_C89) || (defined(HUGE_VAL) && !defined(HUGE_VALF))
+-#undef l_mathop  /* variants not available */
+-#undef lua_str2number
+-#define l_mathop(op)          (lua_Number)op  /* no variant */
+-#define lua_str2number(s,p)   ((lua_Number)strtod((s), (p)))
+-#endif
+-
+-
+-/*
+-@@ LUA_KCONTEXT is the type of the context ('ctx') for continuation
+-** functions.  It must be a numerical type; Lua will use 'intptr_t' if
+-** available, otherwise it will use 'ptrdiff_t' (the nearest thing to
+-** 'intptr_t' in C89)
+-*/
+-#define LUA_KCONTEXT  ptrdiff_t
+-
+-#if !defined(LUA_USE_C89) && defined(__STDC_VERSION__) && \
+-    __STDC_VERSION__ >= 199901L
+-#include <stdint.h>
+-#if defined(INTPTR_MAX)  /* even in C99 this type is optional */
+-#undef LUA_KCONTEXT
+-#define LUA_KCONTEXT  intptr_t
+-#endif
+-#endif
+-
+-
+-/*
+-@@ lua_getlocaledecpoint gets the locale "radix character" (decimal point).
+-** Change that if you do not want to use C locales. (Code using this
+-** macro must include the header 'locale.h'.)
+-*/
+-#if !defined(lua_getlocaledecpoint)
+-#define lua_getlocaledecpoint()               (localeconv()->decimal_point[0])
+-#endif
+-
+-
+-/*
+-** macros to improve jump prediction, used mostly for error handling
+-** and debug facilities. (Some macros in the Lua API use these macros.
+-** Define LUA_NOBUILTIN if you do not want '__builtin_expect' in your
+-** code.)
+-*/
+-#if !defined(luai_likely)
+-
+-#if defined(__GNUC__) && !defined(LUA_NOBUILTIN)
+-#define luai_likely(x)                (__builtin_expect(((x) != 0), 1))
+-#define luai_unlikely(x)      (__builtin_expect(((x) != 0), 0))
+-#else
+-#define luai_likely(x)                (x)
+-#define luai_unlikely(x)      (x)
+-#endif
+-
+-#endif
+-
+-
+-#if defined(LUA_CORE) || defined(LUA_LIB)
+-/* shorter names for Lua's own use */
+-#define l_likely(x)   luai_likely(x)
+-#define l_unlikely(x) luai_unlikely(x)
+-#endif
+-
+-
+-
+-/* }================================================================== */
+-
+-
+-/*
+-** {==================================================================
+-** Language Variations
+-** =====================================================================
+-*/
+-
+-/*
+-@@ LUA_NOCVTN2S/LUA_NOCVTS2N control how Lua performs some
+-** coercions. Define LUA_NOCVTN2S to turn off automatic coercion from
+-** numbers to strings. Define LUA_NOCVTS2N to turn off automatic
+-** coercion from strings to numbers.
+-*/
+-/* #define LUA_NOCVTN2S */
+-/* #define LUA_NOCVTS2N */
+-
+-
+-/*
+-@@ LUA_USE_APICHECK turns on several consistency checks on the C API.
+-** Define it as a help when debugging C code.
+-*/
+-#if defined(LUA_USE_APICHECK)
+-#include <assert.h>
+-#define luai_apicheck(l,e)    assert(e)
+-#endif
+-
+-/* }================================================================== */
+-
+-
+-/*
+-** {==================================================================
+-** Macros that affect the API and must be stable (that is, must be the
+-** same when you compile Lua and when you compile code that links to
+-** Lua).
+-** =====================================================================
+-*/
+-
+-/*
+-@@ LUAI_MAXSTACK limits the size of the Lua stack.
+-** CHANGE it if you need a different limit. This limit is arbitrary;
+-** its only purpose is to stop Lua from consuming unlimited stack
+-** space (and to reserve some numbers for pseudo-indices).
+-** (It must fit into max(size_t)/32.)
+-*/
+-#if LUAI_IS32INT
+-#define LUAI_MAXSTACK         1000000
+-#else
+-#define LUAI_MAXSTACK         15000
+-#endif
+-
+-
+-/*
+-@@ LUA_EXTRASPACE defines the size of a raw memory area associated with
+-** a Lua state with very fast access.
+-** CHANGE it if you need a different size.
+-*/
+-#define LUA_EXTRASPACE                (sizeof(void *))
+-
+-
+-/*
+-@@ LUA_IDSIZE gives the maximum size for the description of the source
+-@@ of a function in debug information.
+-** CHANGE it if you want a different size.
+-*/
+-#define LUA_IDSIZE    60
+-
+-
+-/*
+-@@ LUAL_BUFFERSIZE is the buffer size used by the lauxlib buffer system.
+-*/
+-#define LUAL_BUFFERSIZE   ((int)(16 * sizeof(void*) * sizeof(lua_Number)))
+-
+-
+-/*
+-@@ LUAI_MAXALIGN defines fields that, when used in a union, ensure
+-** maximum alignment for the other items in that union.
+-*/
+-#define LUAI_MAXALIGN  lua_Number n; double u; void *s; lua_Integer i; long l
+-
+-/* }================================================================== */
+-
+-
+-
+-
+-
+-/* =================================================================== */
+-
+-/*
+-** Local configuration. You can use this space to add your redefinitions
+-** without modifying the main part of the file.
+-*/
+-
+-
+-
+-
+-
+-#endif
+-
+diff -Nur lua-5.4.4-old/src/luaconf.h.template.in lua-5.4.4/src/luaconf.h.template.in
+--- lua-5.4.4-old/src/luaconf.h.template.in    1970-01-01 00:00:00.000000000 +0000
++++ lua-5.4.4/src/luaconf.h.template.in        2023-01-08 14:49:48.714984535 +0000
+@@ -0,0 +1,791 @@
++/*
++** $Id: luaconf.h $
++** Configuration file for Lua
++** See Copyright Notice in lua.h
++*/
++
++
++#ifndef luaconf_h
++#define luaconf_h
++
++#include <limits.h>
++#include <stddef.h>
++
++@POSIX_DEFS@
++@LUA_DL_DEFS@
++@LUA_BUILD_AS_DLL_DEFS@
++@READLINE_DEFS@
++
++
++/*
++** ===================================================================
++** General Configuration File for Lua
++**
++** Some definitions here can be changed externally, through the compiler
++** (e.g., with '-D' options): They are commented out or protected
++** by '#if !defined' guards. However, several other definitions
++** should be changed directly here, either because they affect the
++** Lua ABI (by making the changes here, you ensure that all software
++** connected to Lua, such as C libraries, will be compiled with the same
++** configuration); or because they are seldom changed.
++**
++** Search for "@@" to find all configurable definitions.
++** ===================================================================
++*/
++
++
++/*
++** {====================================================================
++** System Configuration: macros to adapt (if needed) Lua to some
++** particular platform, for instance restricting it to C89.
++** =====================================================================
++*/
++
++/*
++@@ LUA_USE_C89 controls the use of non-ISO-C89 features.
++** Define it if you want Lua to avoid the use of a few C99 features
++** or Windows-specific features on Windows.
++*/
++/* #define LUA_USE_C89 */
++
++
++/*
++** By default, Lua on Windows use (some) specific Windows features
++*/
++#if !defined(LUA_USE_C89) && defined(_WIN32) && !defined(_WIN32_WCE)
++#define LUA_USE_WINDOWS  /* enable goodies for regular Windows */
++#endif
++
++
++#if defined(LUA_USE_WINDOWS)
++#define LUA_DL_DLL    /* enable support for DLL */
++#define LUA_USE_C89   /* broadly, Windows is C89 */
++#endif
++
++
++#if defined(LUA_USE_LINUX)
++#define LUA_USE_POSIX
++#define LUA_USE_DLOPEN                /* needs an extra library: -ldl */
++#endif
++
++
++#if defined(LUA_USE_MACOSX)
++#define LUA_USE_POSIX
++#define LUA_USE_DLOPEN                /* MacOS does not need -ldl */
++#endif
++
++
++/*
++@@ LUAI_IS32INT is true iff 'int' has (at least) 32 bits.
++*/
++#define LUAI_IS32INT  ((UINT_MAX >> 30) >= 3)
++
++/* }================================================================== */
++
++
++
++/*
++** {==================================================================
++** Configuration for Number types. These options should not be
++** set externally, because any other code connected to Lua must
++** use the same configuration.
++** ===================================================================
++*/
++
++/*
++@@ LUA_INT_TYPE defines the type for Lua integers.
++@@ LUA_FLOAT_TYPE defines the type for Lua floats.
++** Lua should work fine with any mix of these options supported
++** by your C compiler. The usual configurations are 64-bit integers
++** and 'double' (the default), 32-bit integers and 'float' (for
++** restricted platforms), and 'long'/'double' (for C compilers not
++** compliant with C99, which may not have support for 'long long').
++*/
++
++/* predefined options for LUA_INT_TYPE */
++#define LUA_INT_INT           1
++#define LUA_INT_LONG          2
++#define LUA_INT_LONGLONG      3
++
++/* predefined options for LUA_FLOAT_TYPE */
++#define LUA_FLOAT_FLOAT               1
++#define LUA_FLOAT_DOUBLE      2
++#define LUA_FLOAT_LONGDOUBLE  3
++
++
++/* Default configuration ('long long' and 'double', for 64-bit Lua) */
++#define LUA_INT_DEFAULT               LUA_INT_LONGLONG
++#define LUA_FLOAT_DEFAULT     LUA_FLOAT_DOUBLE
++
++
++/*
++@@ LUA_32BITS enables Lua with 32-bit integers and 32-bit floats.
++*/
++#define LUA_32BITS    0
++
++
++/*
++@@ LUA_C89_NUMBERS ensures that Lua uses the largest types available for
++** C89 ('long' and 'double'); Windows always has '__int64', so it does
++** not need to use this case.
++*/
++#if defined(LUA_USE_C89) && !defined(LUA_USE_WINDOWS)
++#define LUA_C89_NUMBERS               1
++#else
++#define LUA_C89_NUMBERS               0
++#endif
++
++
++#if LUA_32BITS                /* { */
++/*
++** 32-bit integers and 'float'
++*/
++#if LUAI_IS32INT  /* use 'int' if big enough */
++#define LUA_INT_TYPE  LUA_INT_INT
++#else  /* otherwise use 'long' */
++#define LUA_INT_TYPE  LUA_INT_LONG
++#endif
++#define LUA_FLOAT_TYPE        LUA_FLOAT_FLOAT
++
++#elif LUA_C89_NUMBERS /* }{ */
++/*
++** largest types available for C89 ('long' and 'double')
++*/
++#define LUA_INT_TYPE  LUA_INT_LONG
++#define LUA_FLOAT_TYPE        LUA_FLOAT_DOUBLE
++
++#else         /* }{ */
++/* use defaults */
++
++#define LUA_INT_TYPE  LUA_INT_DEFAULT
++#define LUA_FLOAT_TYPE        LUA_FLOAT_DEFAULT
++
++#endif                                /* } */
++
++
++/* }================================================================== */
++
++
++
++/*
++** {==================================================================
++** Configuration for Paths.
++** ===================================================================
++*/
++
++/*
++** LUA_PATH_SEP is the character that separates templates in a path.
++** LUA_PATH_MARK is the string that marks the substitution points in a
++** template.
++** LUA_EXEC_DIR in a Windows path is replaced by the executable's
++** directory.
++*/
++#define LUA_PATH_SEP            ";"
++#define LUA_PATH_MARK           "?"
++#define LUA_EXEC_DIR            "!"
++
++
++/*
++@@ LUA_PATH_DEFAULT is the default path that Lua uses to look for
++** Lua libraries.
++@@ LUA_CPATH_DEFAULT is the default path that Lua uses to look for
++** C libraries.
++** CHANGE them if your machine has a non-conventional directory
++** hierarchy or if you want to install your libraries in
++** non-conventional directories.
++*/
++
++#define LUA_VDIR      LUA_VERSION_MAJOR "." LUA_VERSION_MINOR
++#if defined(_WIN32)   /* { */
++/*
++** In Windows, any exclamation mark ('!') in the path is replaced by the
++** path of the directory of the executable file of the current process.
++*/
++#define LUA_LDIR      "!\\lua\\"
++#define LUA_CDIR      "!\\"
++#define LUA_SHRDIR    "!\\..\\share\\lua\\" LUA_VDIR "\\"
++
++#if !defined(LUA_PATH_DEFAULT)
++#define LUA_PATH_DEFAULT  \
++              LUA_LDIR"?.lua;"  LUA_LDIR"?\\init.lua;" \
++              LUA_CDIR"?.lua;"  LUA_CDIR"?\\init.lua;" \
++              LUA_SHRDIR"?.lua;" LUA_SHRDIR"?\\init.lua;" \
++              ".\\?.lua;" ".\\?\\init.lua"
++#endif
++
++#if !defined(LUA_CPATH_DEFAULT)
++#define LUA_CPATH_DEFAULT \
++              LUA_CDIR"?.dll;" \
++              LUA_CDIR"..\\lib\\lua\\" LUA_VDIR "\\?.dll;" \
++              LUA_CDIR"loadall.dll;" ".\\?.dll"
++#endif
++
++#else                 /* }{ */
++
++#define LUA_ROOT      "@prefix@/"
++#define LUA_LDIR      "@pkgdatadir@/lua/" LUA_VDIR "/"
++#define LUA_CDIR      "@libdir@/lua/" LUA_VDIR "/"
++
++#if !defined(LUA_PATH_DEFAULT)
++#define LUA_PATH_DEFAULT  \
++              LUA_LDIR"?.lua;"  LUA_LDIR"?/init.lua;" \
++              LUA_CDIR"?.lua;"  LUA_CDIR"?/init.lua;" \
++              "./?.lua;" "./?/init.lua"
++#endif
++
++#if !defined(LUA_CPATH_DEFAULT)
++#define LUA_CPATH_DEFAULT \
++              LUA_CDIR"?.so;" LUA_CDIR"loadall.so;" "./?.so"
++#endif
++
++#endif                        /* } */
++
++
++/*
++@@ LUA_DIRSEP is the directory separator (for submodules).
++** CHANGE it if your machine does not use "/" as the directory separator
++** and is not Windows. (On Windows Lua automatically uses "\".)
++*/
++#if !defined(LUA_DIRSEP)
++
++#if defined(_WIN32)
++#define LUA_DIRSEP    "\\"
++#else
++#define LUA_DIRSEP    "/"
++#endif
++
++#endif
++
++/* }================================================================== */
++
++
++/*
++** {==================================================================
++** Marks for exported symbols in the C code
++** ===================================================================
++*/
++
++/*
++@@ LUA_API is a mark for all core API functions.
++@@ LUALIB_API is a mark for all auxiliary library functions.
++@@ LUAMOD_API is a mark for all standard library opening functions.
++** CHANGE them if you need to define those functions in some special way.
++** For instance, if you want to create one Windows DLL with the core and
++** the libraries, you may want to use the following definition (define
++** LUA_BUILD_AS_DLL to get it).
++*/
++#if defined(LUA_BUILD_AS_DLL) /* { */
++
++#if defined(LUA_CORE) || defined(LUA_LIB)     /* { */
++#define LUA_API __declspec(dllexport)
++#else                                         /* }{ */
++#define LUA_API __declspec(dllimport)
++#endif                                                /* } */
++
++#else                         /* }{ */
++
++#define LUA_API               extern
++
++#endif                                /* } */
++
++
++/*
++** More often than not the libs go together with the core.
++*/
++#define LUALIB_API    LUA_API
++#define LUAMOD_API    LUA_API
++
++
++/*
++@@ LUAI_FUNC is a mark for all extern functions that are not to be
++** exported to outside modules.
++@@ LUAI_DDEF and LUAI_DDEC are marks for all extern (const) variables,
++** none of which to be exported to outside modules (LUAI_DDEF for
++** definitions and LUAI_DDEC for declarations).
++** CHANGE them if you need to mark them in some special way. Elf/gcc
++** (versions 3.2 and later) mark them as "hidden" to optimize access
++** when Lua is compiled as a shared library. Not all elf targets support
++** this attribute. Unfortunately, gcc does not offer a way to check
++** whether the target offers that support, and those without support
++** give a warning about it. To avoid these warnings, change to the
++** default definition.
++*/
++#if defined(__GNUC__) && ((__GNUC__*100 + __GNUC_MINOR__) >= 302) && \
++    defined(__ELF__)          /* { */
++#define LUAI_FUNC     __attribute__((visibility("internal"))) extern
++#else                         /* }{ */
++#define LUAI_FUNC     extern
++#endif                                /* } */
++
++#define LUAI_DDEC(dec)        LUAI_FUNC dec
++#define LUAI_DDEF     /* empty */
++
++/* }================================================================== */
++
++
++/*
++** {==================================================================
++** Compatibility with previous versions
++** ===================================================================
++*/
++
++/*
++@@ LUA_COMPAT_5_3 controls other macros for compatibility with Lua 5.3.
++** You can define it to get all options, or change specific options
++** to fit your specific needs.
++*/
++#if defined(LUA_COMPAT_5_3)   /* { */
++
++/*
++@@ LUA_COMPAT_MATHLIB controls the presence of several deprecated
++** functions in the mathematical library.
++** (These functions were already officially removed in 5.3;
++** nevertheless they are still available here.)
++*/
++#define LUA_COMPAT_MATHLIB
++
++/*
++@@ LUA_COMPAT_APIINTCASTS controls the presence of macros for
++** manipulating other integer types (lua_pushunsigned, lua_tounsigned,
++** luaL_checkint, luaL_checklong, etc.)
++** (These macros were also officially removed in 5.3, but they are still
++** available here.)
++*/
++#define LUA_COMPAT_APIINTCASTS
++
++
++/*
++@@ LUA_COMPAT_LT_LE controls the emulation of the '__le' metamethod
++** using '__lt'.
++*/
++#define LUA_COMPAT_LT_LE
++
++
++/*
++@@ The following macros supply trivial compatibility for some
++** changes in the API. The macros themselves document how to
++** change your code to avoid using them.
++** (Once more, these macros were officially removed in 5.3, but they are
++** still available here.)
++*/
++#define lua_strlen(L,i)               lua_rawlen(L, (i))
++
++#define lua_objlen(L,i)               lua_rawlen(L, (i))
++
++#define lua_equal(L,idx1,idx2)                lua_compare(L,(idx1),(idx2),LUA_OPEQ)
++#define lua_lessthan(L,idx1,idx2)     lua_compare(L,(idx1),(idx2),LUA_OPLT)
++
++#endif                                /* } */
++
++/* }================================================================== */
++
++
++
++/*
++** {==================================================================
++** Configuration for Numbers (low-level part).
++** Change these definitions if no predefined LUA_FLOAT_* / LUA_INT_*
++** satisfy your needs.
++** ===================================================================
++*/
++
++/*
++@@ LUAI_UACNUMBER is the result of a 'default argument promotion'
++@@ over a floating number.
++@@ l_floatatt(x) corrects float attribute 'x' to the proper float type
++** by prefixing it with one of FLT/DBL/LDBL.
++@@ LUA_NUMBER_FRMLEN is the length modifier for writing floats.
++@@ LUA_NUMBER_FMT is the format for writing floats.
++@@ lua_number2str converts a float to a string.
++@@ l_mathop allows the addition of an 'l' or 'f' to all math operations.
++@@ l_floor takes the floor of a float.
++@@ lua_str2number converts a decimal numeral to a number.
++*/
++
++
++/* The following definitions are good for most cases here */
++
++#define l_floor(x)            (l_mathop(floor)(x))
++
++#define lua_number2str(s,sz,n)  \
++      l_sprintf((s), sz, LUA_NUMBER_FMT, (LUAI_UACNUMBER)(n))
++
++/*
++@@ lua_numbertointeger converts a float number with an integral value
++** to an integer, or returns 0 if float is not within the range of
++** a lua_Integer.  (The range comparisons are tricky because of
++** rounding. The tests here assume a two-complement representation,
++** where MININTEGER always has an exact representation as a float;
++** MAXINTEGER may not have one, and therefore its conversion to float
++** may have an ill-defined value.)
++*/
++#define lua_numbertointeger(n,p) \
++  ((n) >= (LUA_NUMBER)(LUA_MININTEGER) && \
++   (n) < -(LUA_NUMBER)(LUA_MININTEGER) && \
++      (*(p) = (LUA_INTEGER)(n), 1))
++
++
++/* now the variable definitions */
++
++#if LUA_FLOAT_TYPE == LUA_FLOAT_FLOAT         /* { single float */
++
++#define LUA_NUMBER    float
++
++#define l_floatatt(n)         (FLT_##n)
++
++#define LUAI_UACNUMBER        double
++
++#define LUA_NUMBER_FRMLEN     ""
++#define LUA_NUMBER_FMT                "%.7g"
++
++#define l_mathop(op)          op##f
++
++#define lua_str2number(s,p)   strtof((s), (p))
++
++
++#elif LUA_FLOAT_TYPE == LUA_FLOAT_LONGDOUBLE  /* }{ long double */
++
++#define LUA_NUMBER    long double
++
++#define l_floatatt(n)         (LDBL_##n)
++
++#define LUAI_UACNUMBER        long double
++
++#define LUA_NUMBER_FRMLEN     "L"
++#define LUA_NUMBER_FMT                "%.19Lg"
++
++#define l_mathop(op)          op##l
++
++#define lua_str2number(s,p)   strtold((s), (p))
++
++#elif LUA_FLOAT_TYPE == LUA_FLOAT_DOUBLE      /* }{ double */
++
++#define LUA_NUMBER    double
++
++#define l_floatatt(n)         (DBL_##n)
++
++#define LUAI_UACNUMBER        double
++
++#define LUA_NUMBER_FRMLEN     ""
++#define LUA_NUMBER_FMT                "%.14g"
++
++#define l_mathop(op)          op
++
++#define lua_str2number(s,p)   strtod((s), (p))
++
++#else                                         /* }{ */
++
++#error "numeric float type not defined"
++
++#endif                                        /* } */
++
++
++
++/*
++@@ LUA_UNSIGNED is the unsigned version of LUA_INTEGER.
++@@ LUAI_UACINT is the result of a 'default argument promotion'
++@@ over a LUA_INTEGER.
++@@ LUA_INTEGER_FRMLEN is the length modifier for reading/writing integers.
++@@ LUA_INTEGER_FMT is the format for writing integers.
++@@ LUA_MAXINTEGER is the maximum value for a LUA_INTEGER.
++@@ LUA_MININTEGER is the minimum value for a LUA_INTEGER.
++@@ LUA_MAXUNSIGNED is the maximum value for a LUA_UNSIGNED.
++@@ lua_integer2str converts an integer to a string.
++*/
++
++
++/* The following definitions are good for most cases here */
++
++#define LUA_INTEGER_FMT               "%" LUA_INTEGER_FRMLEN "d"
++
++#define LUAI_UACINT           LUA_INTEGER
++
++#define lua_integer2str(s,sz,n)  \
++      l_sprintf((s), sz, LUA_INTEGER_FMT, (LUAI_UACINT)(n))
++
++/*
++** use LUAI_UACINT here to avoid problems with promotions (which
++** can turn a comparison between unsigneds into a signed comparison)
++*/
++#define LUA_UNSIGNED          unsigned LUAI_UACINT
++
++
++/* now the variable definitions */
++
++#if LUA_INT_TYPE == LUA_INT_INT               /* { int */
++
++#define LUA_INTEGER           int
++#define LUA_INTEGER_FRMLEN    ""
++
++#define LUA_MAXINTEGER                INT_MAX
++#define LUA_MININTEGER                INT_MIN
++
++#define LUA_MAXUNSIGNED               UINT_MAX
++
++#elif LUA_INT_TYPE == LUA_INT_LONG    /* }{ long */
++
++#define LUA_INTEGER           long
++#define LUA_INTEGER_FRMLEN    "l"
++
++#define LUA_MAXINTEGER                LONG_MAX
++#define LUA_MININTEGER                LONG_MIN
++
++#define LUA_MAXUNSIGNED               ULONG_MAX
++
++#elif LUA_INT_TYPE == LUA_INT_LONGLONG        /* }{ long long */
++
++/* use presence of macro LLONG_MAX as proxy for C99 compliance */
++#if defined(LLONG_MAX)                /* { */
++/* use ISO C99 stuff */
++
++#define LUA_INTEGER           long long
++#define LUA_INTEGER_FRMLEN    "ll"
++
++#define LUA_MAXINTEGER                LLONG_MAX
++#define LUA_MININTEGER                LLONG_MIN
++
++#define LUA_MAXUNSIGNED               ULLONG_MAX
++
++#elif defined(LUA_USE_WINDOWS) /* }{ */
++/* in Windows, can use specific Windows types */
++
++#define LUA_INTEGER           __int64
++#define LUA_INTEGER_FRMLEN    "I64"
++
++#define LUA_MAXINTEGER                _I64_MAX
++#define LUA_MININTEGER                _I64_MIN
++
++#define LUA_MAXUNSIGNED               _UI64_MAX
++
++#else                         /* }{ */
++
++#error "Compiler does not support 'long long'. Use option '-DLUA_32BITS' \
++  or '-DLUA_C89_NUMBERS' (see file 'luaconf.h' for details)"
++
++#endif                                /* } */
++
++#else                         /* }{ */
++
++#error "numeric integer type not defined"
++
++#endif                                /* } */
++
++/* }================================================================== */
++
++
++/*
++** {==================================================================
++** Dependencies with C99 and other C details
++** ===================================================================
++*/
++
++/*
++@@ l_sprintf is equivalent to 'snprintf' or 'sprintf' in C89.
++** (All uses in Lua have only one format item.)
++*/
++#if !defined(LUA_USE_C89)
++#define l_sprintf(s,sz,f,i)   snprintf(s,sz,f,i)
++#else
++#define l_sprintf(s,sz,f,i)   ((void)(sz), sprintf(s,f,i))
++#endif
++
++
++/*
++@@ lua_strx2number converts a hexadecimal numeral to a number.
++** In C99, 'strtod' does that conversion. Otherwise, you can
++** leave 'lua_strx2number' undefined and Lua will provide its own
++** implementation.
++*/
++#if !defined(LUA_USE_C89)
++#define lua_strx2number(s,p)          lua_str2number(s,p)
++#endif
++
++
++/*
++@@ lua_pointer2str converts a pointer to a readable string in a
++** non-specified way.
++*/
++#define lua_pointer2str(buff,sz,p)    l_sprintf(buff,sz,"%p",p)
++
++
++/*
++@@ lua_number2strx converts a float to a hexadecimal numeral.
++** In C99, 'sprintf' (with format specifiers '%a'/'%A') does that.
++** Otherwise, you can leave 'lua_number2strx' undefined and Lua will
++** provide its own implementation.
++*/
++#if !defined(LUA_USE_C89)
++#define lua_number2strx(L,b,sz,f,n)  \
++      ((void)L, l_sprintf(b,sz,f,(LUAI_UACNUMBER)(n)))
++#endif
++
++
++/*
++** 'strtof' and 'opf' variants for math functions are not valid in
++** C89. Otherwise, the macro 'HUGE_VALF' is a good proxy for testing the
++** availability of these variants. ('math.h' is already included in
++** all files that use these macros.)
++*/
++#if defined(LUA_USE_C89) || (defined(HUGE_VAL) && !defined(HUGE_VALF))
++#undef l_mathop  /* variants not available */
++#undef lua_str2number
++#define l_mathop(op)          (lua_Number)op  /* no variant */
++#define lua_str2number(s,p)   ((lua_Number)strtod((s), (p)))
++#endif
++
++
++/*
++@@ LUA_KCONTEXT is the type of the context ('ctx') for continuation
++** functions.  It must be a numerical type; Lua will use 'intptr_t' if
++** available, otherwise it will use 'ptrdiff_t' (the nearest thing to
++** 'intptr_t' in C89)
++*/
++#define LUA_KCONTEXT  ptrdiff_t
++
++#if !defined(LUA_USE_C89) && defined(__STDC_VERSION__) && \
++    __STDC_VERSION__ >= 199901L
++#include <stdint.h>
++#if defined(INTPTR_MAX)  /* even in C99 this type is optional */
++#undef LUA_KCONTEXT
++#define LUA_KCONTEXT  intptr_t
++#endif
++#endif
++
++
++/*
++@@ lua_getlocaledecpoint gets the locale "radix character" (decimal point).
++** Change that if you do not want to use C locales. (Code using this
++** macro must include the header 'locale.h'.)
++*/
++#if !defined(lua_getlocaledecpoint)
++#define lua_getlocaledecpoint()               (localeconv()->decimal_point[0])
++#endif
++
++
++/*
++** macros to improve jump prediction, used mostly for error handling
++** and debug facilities. (Some macros in the Lua API use these macros.
++** Define LUA_NOBUILTIN if you do not want '__builtin_expect' in your
++** code.)
++*/
++#if !defined(luai_likely)
++
++#if defined(__GNUC__) && !defined(LUA_NOBUILTIN)
++#define luai_likely(x)                (__builtin_expect(((x) != 0), 1))
++#define luai_unlikely(x)      (__builtin_expect(((x) != 0), 0))
++#else
++#define luai_likely(x)                (x)
++#define luai_unlikely(x)      (x)
++#endif
++
++#endif
++
++
++#if defined(LUA_CORE) || defined(LUA_LIB)
++/* shorter names for Lua's own use */
++#define l_likely(x)   luai_likely(x)
++#define l_unlikely(x) luai_unlikely(x)
++#endif
++
++
++
++/* }================================================================== */
++
++
++/*
++** {==================================================================
++** Language Variations
++** =====================================================================
++*/
++
++/*
++@@ LUA_NOCVTN2S/LUA_NOCVTS2N control how Lua performs some
++** coercions. Define LUA_NOCVTN2S to turn off automatic coercion from
++** numbers to strings. Define LUA_NOCVTS2N to turn off automatic
++** coercion from strings to numbers.
++*/
++/* #define LUA_NOCVTN2S */
++/* #define LUA_NOCVTS2N */
++
++
++/*
++@@ LUA_USE_APICHECK turns on several consistency checks on the C API.
++** Define it as a help when debugging C code.
++*/
++#if defined(LUA_USE_APICHECK)
++#include <assert.h>
++#define luai_apicheck(l,e)    assert(e)
++#endif
++
++/* }================================================================== */
++
++
++/*
++** {==================================================================
++** Macros that affect the API and must be stable (that is, must be the
++** same when you compile Lua and when you compile code that links to
++** Lua).
++** =====================================================================
++*/
++
++/*
++@@ LUAI_MAXSTACK limits the size of the Lua stack.
++** CHANGE it if you need a different limit. This limit is arbitrary;
++** its only purpose is to stop Lua from consuming unlimited stack
++** space (and to reserve some numbers for pseudo-indices).
++** (It must fit into max(size_t)/32.)
++*/
++#if LUAI_IS32INT
++#define LUAI_MAXSTACK         1000000
++#else
++#define LUAI_MAXSTACK         15000
++#endif
++
++
++/*
++@@ LUA_EXTRASPACE defines the size of a raw memory area associated with
++** a Lua state with very fast access.
++** CHANGE it if you need a different size.
++*/
++#define LUA_EXTRASPACE                (sizeof(void *))
++
++
++/*
++@@ LUA_IDSIZE gives the maximum size for the description of the source
++@@ of a function in debug information.
++** CHANGE it if you want a different size.
++*/
++#define LUA_IDSIZE    60
++
++
++/*
++@@ LUAL_BUFFERSIZE is the buffer size used by the lauxlib buffer system.
++*/
++#define LUAL_BUFFERSIZE   ((int)(16 * sizeof(void*) * sizeof(lua_Number)))
++
++
++/*
++@@ LUAI_MAXALIGN defines fields that, when used in a union, ensure
++** maximum alignment for the other items in that union.
++*/
++#define LUAI_MAXALIGN  lua_Number n; double u; void *s; lua_Integer i; long l
++
++/* }================================================================== */
++
++
++
++
++
++/* =================================================================== */
++
++/*
++** Local configuration. You can use this space to add your redefinitions
++** without modifying the main part of the file.
++*/
++
++
++
++
++
++#endif
++
+diff -Nur lua-5.4.4-old/src/luaconf.h.template.in.orig lua-5.4.4/src/luaconf.h.template.in.orig
+--- lua-5.4.4-old/src/luaconf.h.template.in.orig       1970-01-01 00:00:00.000000000 +0000
++++ lua-5.4.4/src/luaconf.h.template.in.orig   2022-01-13 11:24:43.000000000 +0000
+@@ -0,0 +1,786 @@
++/*
++** $Id: luaconf.h $
++** Configuration file for Lua
++** See Copyright Notice in lua.h
++*/
++
++
++#ifndef luaconf_h
++#define luaconf_h
++
++#include <limits.h>
++#include <stddef.h>
++
++
++/*
++** ===================================================================
++** General Configuration File for Lua
++**
++** Some definitions here can be changed externally, through the compiler
++** (e.g., with '-D' options): They are commented out or protected
++** by '#if !defined' guards. However, several other definitions
++** should be changed directly here, either because they affect the
++** Lua ABI (by making the changes here, you ensure that all software
++** connected to Lua, such as C libraries, will be compiled with the same
++** configuration); or because they are seldom changed.
++**
++** Search for "@@" to find all configurable definitions.
++** ===================================================================
++*/
++
++
++/*
++** {====================================================================
++** System Configuration: macros to adapt (if needed) Lua to some
++** particular platform, for instance restricting it to C89.
++** =====================================================================
++*/
++
++/*
++@@ LUA_USE_C89 controls the use of non-ISO-C89 features.
++** Define it if you want Lua to avoid the use of a few C99 features
++** or Windows-specific features on Windows.
++*/
++/* #define LUA_USE_C89 */
++
++
++/*
++** By default, Lua on Windows use (some) specific Windows features
++*/
++#if !defined(LUA_USE_C89) && defined(_WIN32) && !defined(_WIN32_WCE)
++#define LUA_USE_WINDOWS  /* enable goodies for regular Windows */
++#endif
++
++
++#if defined(LUA_USE_WINDOWS)
++#define LUA_DL_DLL    /* enable support for DLL */
++#define LUA_USE_C89   /* broadly, Windows is C89 */
++#endif
++
++
++#if defined(LUA_USE_LINUX)
++#define LUA_USE_POSIX
++#define LUA_USE_DLOPEN                /* needs an extra library: -ldl */
++#endif
++
++
++#if defined(LUA_USE_MACOSX)
++#define LUA_USE_POSIX
++#define LUA_USE_DLOPEN                /* MacOS does not need -ldl */
++#endif
++
++
++/*
++@@ LUAI_IS32INT is true iff 'int' has (at least) 32 bits.
++*/
++#define LUAI_IS32INT  ((UINT_MAX >> 30) >= 3)
++
++/* }================================================================== */
++
++
++
++/*
++** {==================================================================
++** Configuration for Number types. These options should not be
++** set externally, because any other code connected to Lua must
++** use the same configuration.
++** ===================================================================
++*/
++
++/*
++@@ LUA_INT_TYPE defines the type for Lua integers.
++@@ LUA_FLOAT_TYPE defines the type for Lua floats.
++** Lua should work fine with any mix of these options supported
++** by your C compiler. The usual configurations are 64-bit integers
++** and 'double' (the default), 32-bit integers and 'float' (for
++** restricted platforms), and 'long'/'double' (for C compilers not
++** compliant with C99, which may not have support for 'long long').
++*/
++
++/* predefined options for LUA_INT_TYPE */
++#define LUA_INT_INT           1
++#define LUA_INT_LONG          2
++#define LUA_INT_LONGLONG      3
++
++/* predefined options for LUA_FLOAT_TYPE */
++#define LUA_FLOAT_FLOAT               1
++#define LUA_FLOAT_DOUBLE      2
++#define LUA_FLOAT_LONGDOUBLE  3
++
++
++/* Default configuration ('long long' and 'double', for 64-bit Lua) */
++#define LUA_INT_DEFAULT               LUA_INT_LONGLONG
++#define LUA_FLOAT_DEFAULT     LUA_FLOAT_DOUBLE
++
++
++/*
++@@ LUA_32BITS enables Lua with 32-bit integers and 32-bit floats.
++*/
++#define LUA_32BITS    0
++
++
++/*
++@@ LUA_C89_NUMBERS ensures that Lua uses the largest types available for
++** C89 ('long' and 'double'); Windows always has '__int64', so it does
++** not need to use this case.
++*/
++#if defined(LUA_USE_C89) && !defined(LUA_USE_WINDOWS)
++#define LUA_C89_NUMBERS               1
++#else
++#define LUA_C89_NUMBERS               0
++#endif
++
++
++#if LUA_32BITS                /* { */
++/*
++** 32-bit integers and 'float'
++*/
++#if LUAI_IS32INT  /* use 'int' if big enough */
++#define LUA_INT_TYPE  LUA_INT_INT
++#else  /* otherwise use 'long' */
++#define LUA_INT_TYPE  LUA_INT_LONG
++#endif
++#define LUA_FLOAT_TYPE        LUA_FLOAT_FLOAT
++
++#elif LUA_C89_NUMBERS /* }{ */
++/*
++** largest types available for C89 ('long' and 'double')
++*/
++#define LUA_INT_TYPE  LUA_INT_LONG
++#define LUA_FLOAT_TYPE        LUA_FLOAT_DOUBLE
++
++#else         /* }{ */
++/* use defaults */
++
++#define LUA_INT_TYPE  LUA_INT_DEFAULT
++#define LUA_FLOAT_TYPE        LUA_FLOAT_DEFAULT
++
++#endif                                /* } */
++
++
++/* }================================================================== */
++
++
++
++/*
++** {==================================================================
++** Configuration for Paths.
++** ===================================================================
++*/
++
++/*
++** LUA_PATH_SEP is the character that separates templates in a path.
++** LUA_PATH_MARK is the string that marks the substitution points in a
++** template.
++** LUA_EXEC_DIR in a Windows path is replaced by the executable's
++** directory.
++*/
++#define LUA_PATH_SEP            ";"
++#define LUA_PATH_MARK           "?"
++#define LUA_EXEC_DIR            "!"
++
++
++/*
++@@ LUA_PATH_DEFAULT is the default path that Lua uses to look for
++** Lua libraries.
++@@ LUA_CPATH_DEFAULT is the default path that Lua uses to look for
++** C libraries.
++** CHANGE them if your machine has a non-conventional directory
++** hierarchy or if you want to install your libraries in
++** non-conventional directories.
++*/
++
++#define LUA_VDIR      LUA_VERSION_MAJOR "." LUA_VERSION_MINOR
++#if defined(_WIN32)   /* { */
++/*
++** In Windows, any exclamation mark ('!') in the path is replaced by the
++** path of the directory of the executable file of the current process.
++*/
++#define LUA_LDIR      "!\\lua\\"
++#define LUA_CDIR      "!\\"
++#define LUA_SHRDIR    "!\\..\\share\\lua\\" LUA_VDIR "\\"
++
++#if !defined(LUA_PATH_DEFAULT)
++#define LUA_PATH_DEFAULT  \
++              LUA_LDIR"?.lua;"  LUA_LDIR"?\\init.lua;" \
++              LUA_CDIR"?.lua;"  LUA_CDIR"?\\init.lua;" \
++              LUA_SHRDIR"?.lua;" LUA_SHRDIR"?\\init.lua;" \
++              ".\\?.lua;" ".\\?\\init.lua"
++#endif
++
++#if !defined(LUA_CPATH_DEFAULT)
++#define LUA_CPATH_DEFAULT \
++              LUA_CDIR"?.dll;" \
++              LUA_CDIR"..\\lib\\lua\\" LUA_VDIR "\\?.dll;" \
++              LUA_CDIR"loadall.dll;" ".\\?.dll"
++#endif
++
++#else                 /* }{ */
++
++#define LUA_ROOT      "/usr/local/"
++#define LUA_LDIR      LUA_ROOT "share/lua/" LUA_VDIR "/"
++#define LUA_CDIR      LUA_ROOT "lib/lua/" LUA_VDIR "/"
++
++#if !defined(LUA_PATH_DEFAULT)
++#define LUA_PATH_DEFAULT  \
++              LUA_LDIR"?.lua;"  LUA_LDIR"?/init.lua;" \
++              LUA_CDIR"?.lua;"  LUA_CDIR"?/init.lua;" \
++              "./?.lua;" "./?/init.lua"
++#endif
++
++#if !defined(LUA_CPATH_DEFAULT)
++#define LUA_CPATH_DEFAULT \
++              LUA_CDIR"?.so;" LUA_CDIR"loadall.so;" "./?.so"
++#endif
++
++#endif                        /* } */
++
++
++/*
++@@ LUA_DIRSEP is the directory separator (for submodules).
++** CHANGE it if your machine does not use "/" as the directory separator
++** and is not Windows. (On Windows Lua automatically uses "\".)
++*/
++#if !defined(LUA_DIRSEP)
++
++#if defined(_WIN32)
++#define LUA_DIRSEP    "\\"
++#else
++#define LUA_DIRSEP    "/"
++#endif
++
++#endif
++
++/* }================================================================== */
++
++
++/*
++** {==================================================================
++** Marks for exported symbols in the C code
++** ===================================================================
++*/
++
++/*
++@@ LUA_API is a mark for all core API functions.
++@@ LUALIB_API is a mark for all auxiliary library functions.
++@@ LUAMOD_API is a mark for all standard library opening functions.
++** CHANGE them if you need to define those functions in some special way.
++** For instance, if you want to create one Windows DLL with the core and
++** the libraries, you may want to use the following definition (define
++** LUA_BUILD_AS_DLL to get it).
++*/
++#if defined(LUA_BUILD_AS_DLL) /* { */
++
++#if defined(LUA_CORE) || defined(LUA_LIB)     /* { */
++#define LUA_API __declspec(dllexport)
++#else                                         /* }{ */
++#define LUA_API __declspec(dllimport)
++#endif                                                /* } */
++
++#else                         /* }{ */
++
++#define LUA_API               extern
++
++#endif                                /* } */
++
++
++/*
++** More often than not the libs go together with the core.
++*/
++#define LUALIB_API    LUA_API
++#define LUAMOD_API    LUA_API
++
++
++/*
++@@ LUAI_FUNC is a mark for all extern functions that are not to be
++** exported to outside modules.
++@@ LUAI_DDEF and LUAI_DDEC are marks for all extern (const) variables,
++** none of which to be exported to outside modules (LUAI_DDEF for
++** definitions and LUAI_DDEC for declarations).
++** CHANGE them if you need to mark them in some special way. Elf/gcc
++** (versions 3.2 and later) mark them as "hidden" to optimize access
++** when Lua is compiled as a shared library. Not all elf targets support
++** this attribute. Unfortunately, gcc does not offer a way to check
++** whether the target offers that support, and those without support
++** give a warning about it. To avoid these warnings, change to the
++** default definition.
++*/
++#if defined(__GNUC__) && ((__GNUC__*100 + __GNUC_MINOR__) >= 302) && \
++    defined(__ELF__)          /* { */
++#define LUAI_FUNC     __attribute__((visibility("internal"))) extern
++#else                         /* }{ */
++#define LUAI_FUNC     extern
++#endif                                /* } */
++
++#define LUAI_DDEC(dec)        LUAI_FUNC dec
++#define LUAI_DDEF     /* empty */
++
++/* }================================================================== */
++
++
++/*
++** {==================================================================
++** Compatibility with previous versions
++** ===================================================================
++*/
++
++/*
++@@ LUA_COMPAT_5_3 controls other macros for compatibility with Lua 5.3.
++** You can define it to get all options, or change specific options
++** to fit your specific needs.
++*/
++#if defined(LUA_COMPAT_5_3)   /* { */
++
++/*
++@@ LUA_COMPAT_MATHLIB controls the presence of several deprecated
++** functions in the mathematical library.
++** (These functions were already officially removed in 5.3;
++** nevertheless they are still available here.)
++*/
++#define LUA_COMPAT_MATHLIB
++
++/*
++@@ LUA_COMPAT_APIINTCASTS controls the presence of macros for
++** manipulating other integer types (lua_pushunsigned, lua_tounsigned,
++** luaL_checkint, luaL_checklong, etc.)
++** (These macros were also officially removed in 5.3, but they are still
++** available here.)
++*/
++#define LUA_COMPAT_APIINTCASTS
++
++
++/*
++@@ LUA_COMPAT_LT_LE controls the emulation of the '__le' metamethod
++** using '__lt'.
++*/
++#define LUA_COMPAT_LT_LE
++
++
++/*
++@@ The following macros supply trivial compatibility for some
++** changes in the API. The macros themselves document how to
++** change your code to avoid using them.
++** (Once more, these macros were officially removed in 5.3, but they are
++** still available here.)
++*/
++#define lua_strlen(L,i)               lua_rawlen(L, (i))
++
++#define lua_objlen(L,i)               lua_rawlen(L, (i))
++
++#define lua_equal(L,idx1,idx2)                lua_compare(L,(idx1),(idx2),LUA_OPEQ)
++#define lua_lessthan(L,idx1,idx2)     lua_compare(L,(idx1),(idx2),LUA_OPLT)
++
++#endif                                /* } */
++
++/* }================================================================== */
++
++
++
++/*
++** {==================================================================
++** Configuration for Numbers (low-level part).
++** Change these definitions if no predefined LUA_FLOAT_* / LUA_INT_*
++** satisfy your needs.
++** ===================================================================
++*/
++
++/*
++@@ LUAI_UACNUMBER is the result of a 'default argument promotion'
++@@ over a floating number.
++@@ l_floatatt(x) corrects float attribute 'x' to the proper float type
++** by prefixing it with one of FLT/DBL/LDBL.
++@@ LUA_NUMBER_FRMLEN is the length modifier for writing floats.
++@@ LUA_NUMBER_FMT is the format for writing floats.
++@@ lua_number2str converts a float to a string.
++@@ l_mathop allows the addition of an 'l' or 'f' to all math operations.
++@@ l_floor takes the floor of a float.
++@@ lua_str2number converts a decimal numeral to a number.
++*/
++
++
++/* The following definitions are good for most cases here */
++
++#define l_floor(x)            (l_mathop(floor)(x))
++
++#define lua_number2str(s,sz,n)  \
++      l_sprintf((s), sz, LUA_NUMBER_FMT, (LUAI_UACNUMBER)(n))
++
++/*
++@@ lua_numbertointeger converts a float number with an integral value
++** to an integer, or returns 0 if float is not within the range of
++** a lua_Integer.  (The range comparisons are tricky because of
++** rounding. The tests here assume a two-complement representation,
++** where MININTEGER always has an exact representation as a float;
++** MAXINTEGER may not have one, and therefore its conversion to float
++** may have an ill-defined value.)
++*/
++#define lua_numbertointeger(n,p) \
++  ((n) >= (LUA_NUMBER)(LUA_MININTEGER) && \
++   (n) < -(LUA_NUMBER)(LUA_MININTEGER) && \
++      (*(p) = (LUA_INTEGER)(n), 1))
++
++
++/* now the variable definitions */
++
++#if LUA_FLOAT_TYPE == LUA_FLOAT_FLOAT         /* { single float */
++
++#define LUA_NUMBER    float
++
++#define l_floatatt(n)         (FLT_##n)
++
++#define LUAI_UACNUMBER        double
++
++#define LUA_NUMBER_FRMLEN     ""
++#define LUA_NUMBER_FMT                "%.7g"
++
++#define l_mathop(op)          op##f
++
++#define lua_str2number(s,p)   strtof((s), (p))
++
++
++#elif LUA_FLOAT_TYPE == LUA_FLOAT_LONGDOUBLE  /* }{ long double */
++
++#define LUA_NUMBER    long double
++
++#define l_floatatt(n)         (LDBL_##n)
++
++#define LUAI_UACNUMBER        long double
++
++#define LUA_NUMBER_FRMLEN     "L"
++#define LUA_NUMBER_FMT                "%.19Lg"
++
++#define l_mathop(op)          op##l
++
++#define lua_str2number(s,p)   strtold((s), (p))
++
++#elif LUA_FLOAT_TYPE == LUA_FLOAT_DOUBLE      /* }{ double */
++
++#define LUA_NUMBER    double
++
++#define l_floatatt(n)         (DBL_##n)
++
++#define LUAI_UACNUMBER        double
++
++#define LUA_NUMBER_FRMLEN     ""
++#define LUA_NUMBER_FMT                "%.14g"
++
++#define l_mathop(op)          op
++
++#define lua_str2number(s,p)   strtod((s), (p))
++
++#else                                         /* }{ */
++
++#error "numeric float type not defined"
++
++#endif                                        /* } */
++
++
++
++/*
++@@ LUA_UNSIGNED is the unsigned version of LUA_INTEGER.
++@@ LUAI_UACINT is the result of a 'default argument promotion'
++@@ over a LUA_INTEGER.
++@@ LUA_INTEGER_FRMLEN is the length modifier for reading/writing integers.
++@@ LUA_INTEGER_FMT is the format for writing integers.
++@@ LUA_MAXINTEGER is the maximum value for a LUA_INTEGER.
++@@ LUA_MININTEGER is the minimum value for a LUA_INTEGER.
++@@ LUA_MAXUNSIGNED is the maximum value for a LUA_UNSIGNED.
++@@ lua_integer2str converts an integer to a string.
++*/
++
++
++/* The following definitions are good for most cases here */
++
++#define LUA_INTEGER_FMT               "%" LUA_INTEGER_FRMLEN "d"
++
++#define LUAI_UACINT           LUA_INTEGER
++
++#define lua_integer2str(s,sz,n)  \
++      l_sprintf((s), sz, LUA_INTEGER_FMT, (LUAI_UACINT)(n))
++
++/*
++** use LUAI_UACINT here to avoid problems with promotions (which
++** can turn a comparison between unsigneds into a signed comparison)
++*/
++#define LUA_UNSIGNED          unsigned LUAI_UACINT
++
++
++/* now the variable definitions */
++
++#if LUA_INT_TYPE == LUA_INT_INT               /* { int */
++
++#define LUA_INTEGER           int
++#define LUA_INTEGER_FRMLEN    ""
++
++#define LUA_MAXINTEGER                INT_MAX
++#define LUA_MININTEGER                INT_MIN
++
++#define LUA_MAXUNSIGNED               UINT_MAX
++
++#elif LUA_INT_TYPE == LUA_INT_LONG    /* }{ long */
++
++#define LUA_INTEGER           long
++#define LUA_INTEGER_FRMLEN    "l"
++
++#define LUA_MAXINTEGER                LONG_MAX
++#define LUA_MININTEGER                LONG_MIN
++
++#define LUA_MAXUNSIGNED               ULONG_MAX
++
++#elif LUA_INT_TYPE == LUA_INT_LONGLONG        /* }{ long long */
++
++/* use presence of macro LLONG_MAX as proxy for C99 compliance */
++#if defined(LLONG_MAX)                /* { */
++/* use ISO C99 stuff */
++
++#define LUA_INTEGER           long long
++#define LUA_INTEGER_FRMLEN    "ll"
++
++#define LUA_MAXINTEGER                LLONG_MAX
++#define LUA_MININTEGER                LLONG_MIN
++
++#define LUA_MAXUNSIGNED               ULLONG_MAX
++
++#elif defined(LUA_USE_WINDOWS) /* }{ */
++/* in Windows, can use specific Windows types */
++
++#define LUA_INTEGER           __int64
++#define LUA_INTEGER_FRMLEN    "I64"
++
++#define LUA_MAXINTEGER                _I64_MAX
++#define LUA_MININTEGER                _I64_MIN
++
++#define LUA_MAXUNSIGNED               _UI64_MAX
++
++#else                         /* }{ */
++
++#error "Compiler does not support 'long long'. Use option '-DLUA_32BITS' \
++  or '-DLUA_C89_NUMBERS' (see file 'luaconf.h' for details)"
++
++#endif                                /* } */
++
++#else                         /* }{ */
++
++#error "numeric integer type not defined"
++
++#endif                                /* } */
++
++/* }================================================================== */
++
++
++/*
++** {==================================================================
++** Dependencies with C99 and other C details
++** ===================================================================
++*/
++
++/*
++@@ l_sprintf is equivalent to 'snprintf' or 'sprintf' in C89.
++** (All uses in Lua have only one format item.)
++*/
++#if !defined(LUA_USE_C89)
++#define l_sprintf(s,sz,f,i)   snprintf(s,sz,f,i)
++#else
++#define l_sprintf(s,sz,f,i)   ((void)(sz), sprintf(s,f,i))
++#endif
++
++
++/*
++@@ lua_strx2number converts a hexadecimal numeral to a number.
++** In C99, 'strtod' does that conversion. Otherwise, you can
++** leave 'lua_strx2number' undefined and Lua will provide its own
++** implementation.
++*/
++#if !defined(LUA_USE_C89)
++#define lua_strx2number(s,p)          lua_str2number(s,p)
++#endif
++
++
++/*
++@@ lua_pointer2str converts a pointer to a readable string in a
++** non-specified way.
++*/
++#define lua_pointer2str(buff,sz,p)    l_sprintf(buff,sz,"%p",p)
++
++
++/*
++@@ lua_number2strx converts a float to a hexadecimal numeral.
++** In C99, 'sprintf' (with format specifiers '%a'/'%A') does that.
++** Otherwise, you can leave 'lua_number2strx' undefined and Lua will
++** provide its own implementation.
++*/
++#if !defined(LUA_USE_C89)
++#define lua_number2strx(L,b,sz,f,n)  \
++      ((void)L, l_sprintf(b,sz,f,(LUAI_UACNUMBER)(n)))
++#endif
++
++
++/*
++** 'strtof' and 'opf' variants for math functions are not valid in
++** C89. Otherwise, the macro 'HUGE_VALF' is a good proxy for testing the
++** availability of these variants. ('math.h' is already included in
++** all files that use these macros.)
++*/
++#if defined(LUA_USE_C89) || (defined(HUGE_VAL) && !defined(HUGE_VALF))
++#undef l_mathop  /* variants not available */
++#undef lua_str2number
++#define l_mathop(op)          (lua_Number)op  /* no variant */
++#define lua_str2number(s,p)   ((lua_Number)strtod((s), (p)))
++#endif
++
++
++/*
++@@ LUA_KCONTEXT is the type of the context ('ctx') for continuation
++** functions.  It must be a numerical type; Lua will use 'intptr_t' if
++** available, otherwise it will use 'ptrdiff_t' (the nearest thing to
++** 'intptr_t' in C89)
++*/
++#define LUA_KCONTEXT  ptrdiff_t
++
++#if !defined(LUA_USE_C89) && defined(__STDC_VERSION__) && \
++    __STDC_VERSION__ >= 199901L
++#include <stdint.h>
++#if defined(INTPTR_MAX)  /* even in C99 this type is optional */
++#undef LUA_KCONTEXT
++#define LUA_KCONTEXT  intptr_t
++#endif
++#endif
++
++
++/*
++@@ lua_getlocaledecpoint gets the locale "radix character" (decimal point).
++** Change that if you do not want to use C locales. (Code using this
++** macro must include the header 'locale.h'.)
++*/
++#if !defined(lua_getlocaledecpoint)
++#define lua_getlocaledecpoint()               (localeconv()->decimal_point[0])
++#endif
++
++
++/*
++** macros to improve jump prediction, used mostly for error handling
++** and debug facilities. (Some macros in the Lua API use these macros.
++** Define LUA_NOBUILTIN if you do not want '__builtin_expect' in your
++** code.)
++*/
++#if !defined(luai_likely)
++
++#if defined(__GNUC__) && !defined(LUA_NOBUILTIN)
++#define luai_likely(x)                (__builtin_expect(((x) != 0), 1))
++#define luai_unlikely(x)      (__builtin_expect(((x) != 0), 0))
++#else
++#define luai_likely(x)                (x)
++#define luai_unlikely(x)      (x)
++#endif
++
++#endif
++
++
++#if defined(LUA_CORE) || defined(LUA_LIB)
++/* shorter names for Lua's own use */
++#define l_likely(x)   luai_likely(x)
++#define l_unlikely(x) luai_unlikely(x)
++#endif
++
++
++
++/* }================================================================== */
++
++
++/*
++** {==================================================================
++** Language Variations
++** =====================================================================
++*/
++
++/*
++@@ LUA_NOCVTN2S/LUA_NOCVTS2N control how Lua performs some
++** coercions. Define LUA_NOCVTN2S to turn off automatic coercion from
++** numbers to strings. Define LUA_NOCVTS2N to turn off automatic
++** coercion from strings to numbers.
++*/
++/* #define LUA_NOCVTN2S */
++/* #define LUA_NOCVTS2N */
++
++
++/*
++@@ LUA_USE_APICHECK turns on several consistency checks on the C API.
++** Define it as a help when debugging C code.
++*/
++#if defined(LUA_USE_APICHECK)
++#include <assert.h>
++#define luai_apicheck(l,e)    assert(e)
++#endif
++
++/* }================================================================== */
++
++
++/*
++** {==================================================================
++** Macros that affect the API and must be stable (that is, must be the
++** same when you compile Lua and when you compile code that links to
++** Lua).
++** =====================================================================
++*/
++
++/*
++@@ LUAI_MAXSTACK limits the size of the Lua stack.
++** CHANGE it if you need a different limit. This limit is arbitrary;
++** its only purpose is to stop Lua from consuming unlimited stack
++** space (and to reserve some numbers for pseudo-indices).
++** (It must fit into max(size_t)/32.)
++*/
++#if LUAI_IS32INT
++#define LUAI_MAXSTACK         1000000
++#else
++#define LUAI_MAXSTACK         15000
++#endif
++
++
++/*
++@@ LUA_EXTRASPACE defines the size of a raw memory area associated with
++** a Lua state with very fast access.
++** CHANGE it if you need a different size.
++*/
++#define LUA_EXTRASPACE                (sizeof(void *))
++
++
++/*
++@@ LUA_IDSIZE gives the maximum size for the description of the source
++@@ of a function in debug information.
++** CHANGE it if you want a different size.
++*/
++#define LUA_IDSIZE    60
++
++
++/*
++@@ LUAL_BUFFERSIZE is the buffer size used by the lauxlib buffer system.
++*/
++#define LUAL_BUFFERSIZE   ((int)(16 * sizeof(void*) * sizeof(lua_Number)))
++
++
++/*
++@@ LUAI_MAXALIGN defines fields that, when used in a union, ensure
++** maximum alignment for the other items in that union.
++*/
++#define LUAI_MAXALIGN  lua_Number n; double u; void *s; lua_Integer i; long l
++
++/* }================================================================== */
++
++
++
++
++
++/* =================================================================== */
++
++/*
++** Local configuration. You can use this space to add your redefinitions
++** without modifying the main part of the file.
++*/
++
++
++
++
++
++#endif
++
+diff -Nur lua-5.4.4-old/src/lua.pc.in lua-5.4.4/src/lua.pc.in
+--- lua-5.4.4-old/src/lua.pc.in        1970-01-01 00:00:00.000000000 +0000
++++ lua-5.4.4/src/lua.pc.in    2023-01-08 14:49:48.718984708 +0000
+@@ -0,0 +1,13 @@
++V= @MAJOR_VERSION@
++R= @VERSION@
++prefix= @prefix@
++exec_prefix=${prefix}
++libdir= @libdir@
++includedir=${prefix}/include
++
++Name: Lua
++Description: An Extensible Extension Language
++Version: ${R}
++Requires:
++Libs: -llua @LUA_LIBS@
++Cflags: -I${includedir}
+diff -Nur lua-5.4.4-old/src/Makefile.am lua-5.4.4/src/Makefile.am
+--- lua-5.4.4-old/src/Makefile.am      1970-01-01 00:00:00.000000000 +0000
++++ lua-5.4.4/src/Makefile.am  2023-01-08 14:49:48.718984708 +0000
+@@ -0,0 +1,46 @@
++AM_CFLAGS = -Wall
++
++include_HEADERS = lua.h lualib.h lauxlib.h lua.hpp
++
++nodist_include_HEADERS = luaconf.h
++
++lib_LTLIBRARIES = liblua.la
++liblua_la_LDFLAGS = -release @MAJOR_VERSION@
++liblua_la_SOURCES = \
++      lapi.c lauxlib.c lbaselib.c lcode.c lcorolib.c lctype.c ldblib.c \
++      ldebug.c ldo.c ldump.c lfunc.c lgc.c linit.c liolib.c llex.c lmathlib.c lmem.c \
++      loadlib.c lobject.c lopcodes.c loslib.c lparser.c lstate.c lstring.c lstrlib.c \
++      ltable.c ltablib.c ltm.c lundump.c lutf8lib.c lvm.c lzio.c \
++      lapi.h lcode.h lctype.h ldebug.h ldo.h lfunc.h lgc.h llex.h llimits.h \
++      lmem.h lobject.h lopcodes.h lparser.h lstate.h lstring.h ltable.h ltm.h \
++      lundump.h lvm.h lzio.h
++
++pkgconfigdir = $(libdir)/pkgconfig
++pkgconfig_DATA = lua.pc
++
++bin_PROGRAMS = lua luac
++
++lua_SOURCES = lua.c
++lua_LDADD = liblua.la @LUA_LIBS@ @READLINE_LIBS@
++lua_DEPENDENCIES = liblua.la
++
++luac_SOURCES = luac.c
++# Statically link liblua against luac since luac uses symbols not exported in liblua
++luac_LDADD = .libs/liblua.a @LUA_LIBS@
++luac_DEPENDENCIES = liblua.la
++
++EXTRA_DIST = luaconf.h.template
++BUILT_SOURCES = luaconf.h
++CLEANFILES = luaconf.h luaconf.h.template
++
++readline_defs = @READLINE_DEFS@
++
++edit =        sed \
++        -e 's,%prefix%,$(prefix),g' \
++        -e 's,%lua_datadir%,$(datadir),g' \
++        -e 's,%lua_libdir%,$(libdir),g'
++
++luaconf.h : luaconf.h.template
++      rm -f $@ $@.tmp
++      $(edit) $< >$@.tmp
++      mv $@.tmp $@
diff --git a/lua/patches/lua-5.4.4-configure-compat-module.patch b/lua/patches/lua-5.4.4-configure-compat-module.patch
new file mode 100644 (file)
index 0000000..80bb047
--- /dev/null
@@ -0,0 +1,34 @@
+diff -up lua-5.2.2/configure.ac.compat-module lua-5.2.2/configure.ac
+--- lua-5.2.2/configure.ac.compat-module       2013-05-10 10:16:05.344137597 -0400
++++ lua-5.2.2/configure.ac     2013-05-10 10:16:05.357137596 -0400
+@@ -11,6 +11,19 @@ AC_PROG_CC
+ AC_PROG_LIBTOOL
+ AC_ARG_WITH(
++  [compat-module],
++  [AC_HELP_STRING([--with-compat-module], [Enable LUA_COMPAT_MODULE functions [default=no]])],
++  [use_compat_module=$withval],
++  [use_compat_module=no]
++)
++
++COMPAT_DEFS="#undef LUA_COMPAT_ALL"
++if test "x$use_compat_module" == "xyes"; then
++  COMPAT_DEFS="#define LUA_COMPAT_ALL"
++fi
++AC_SUBST(COMPAT_DEFS)
++
++AC_ARG_WITH(
+   [readline],
+   [AC_HELP_STRING([--with-readline], [Use readline for interpreter input [default=yes]])],
+   [use_readline=$withval],
+diff -up lua-5.2.2/src/luaconf.h.template.in.compat-module lua-5.2.2/src/luaconf.h.template.in
+--- lua-5.2.2/src/luaconf.h.template.in.compat-module  2013-05-10 10:25:42.586116963 -0400
++++ lua-5.2.2/src/luaconf.h.template.in        2013-05-10 10:26:29.957115269 -0400
+@@ -15,6 +15,7 @@
+ @LUA_DL_DEFS@
+ @LUA_BUILD_AS_DLL_DEFS@
+ @READLINE_DEFS@
++@COMPAT_DEFS@
+ /*
diff --git a/lua/patches/lua-5.4.4-configure-linux.patch b/lua/patches/lua-5.4.4-configure-linux.patch
new file mode 100644 (file)
index 0000000..735386a
--- /dev/null
@@ -0,0 +1,22 @@
+diff -up lua-5.2.2/configure.ac.linux lua-5.2.2/configure.ac
+--- lua-5.2.2/configure.ac.linux       2013-05-10 15:42:27.269437631 -0400
++++ lua-5.2.2/configure.ac     2013-05-10 15:43:23.530435620 -0400
+@@ -50,6 +50,7 @@ AC_SUBST(READLINE_LIBS)
+ case "$host" in
+   *-mingw*)  use_os=win32  ;;
+   *-darwin*) use_os=macosx ;;
++  *-linux*)  use_os=linux  ;;
+   *)         use_os=posix  ;;
+ esac
+@@ -62,6 +63,10 @@ if test "x$use_os" == "xwin32"; then
+ elif test "x$use_os" == "xmacosx"; then
+   POSIX_DEFS="#define LUA_USE_POSIX"
+   LUA_DL_DEFS="#define LUA_DL_DYLD"
++elif test "x$use_os" == "xlinux"; then
++  POSIX_DEFS="#define LUA_USE_LINUX"
++  LUA_DL_DEFS="#define LUA_DL_DLOPEN"
++  LUA_LIBS="$LUA_LIBS -ldl"
+ elif test "x$use_os" == "xposix"; then
+   POSIX_DEFS="#define LUA_USE_POSIX"
+   LUA_DL_DEFS="#define LUA_DL_DLOPEN"
diff --git a/luajit/luajit.nm b/luajit/luajit.nm
new file mode 100644 (file)
index 0000000..c963efe
--- /dev/null
@@ -0,0 +1,63 @@
+###############################################################################
+# IPFire.org    - An Open Source Firewall Solution                            #
+# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
+###############################################################################
+
+name       = luajit
+version    = 2.1.0
+release    = 0.2-beta3-%{commit}
+thisapp    = luajit-2.0-%{commit}
+
+# LuaJIT no longer tags releases:
+# https://github.com/LuaJIT/LuaJIT/issues/665#issuecomment-784452583
+commit     = a04480e
+
+groups     = System/Libraries
+url        = https://luajit.org/
+license    = MIT
+summary    = A Just-In-Time Compiler for Lua
+
+description
+       LuaJIT is a Just-In-Time Compiler (JIT) for the Lua programming language.
+       Lua is a powerful, dynamic and light-weight programming language.
+       It may be embedded or used as a general-purpose, stand-alone language.
+end
+
+source_dl  = https://repo.or.cz/luajit-2.0.git/snapshot/
+sources    = %{commit}.tar.gz
+
+build
+       prepare_cmds
+               # Do not disable stack protection
+               sed -e "s/-fno-stack-protector//" -i src/Makefile
+       end
+
+       build
+               make amalg PREFIX="%{prefix}" BUILDMODE=dynamic Q= TARGET_STRIP=" @:" \
+                       CFLAGS="%{CFLAGS}" LDFLAGS="%{LDFLAGS}" %{PARALLELISMFLAGS}
+       end
+
+       install
+               make install \
+                       DESTDIR="%{BUILDROOT}" \
+                       PREFIX="%{prefix}" \
+                       INSTALL_BIN="%{BUILDROOT}%{bindir}" \
+                       INSTALL_LIB="%{BUILDROOT}%{libdir}" \
+                       INSTALL_SHARE="%{BUILDROOT}%{datadir}" \
+                       INSTALL_DEFINC="%{BUILDROOT}%{includedir}/luajit-2.1"
+
+               ln -svf luajit-2.1.0-beta3 "%{BUILDROOT}%{bindir}/luajit"
+       end
+end
+
+packages
+       package %{name}
+
+       package %{name}-devel
+               template DEVEL
+       end
+
+       package %{name}-debuginfo
+               template DEBUGINFO
+       end
+end
index de4bcecf709a2cf1dd57c87c7eee3ab691074637..4acd1079990740b2a5888d3c377a47d507f53259 100644 (file)
@@ -4,12 +4,12 @@
 ###############################################################################
 
 name       = lvm2
-version    = 2.02.166
-release    = 1
+version    = 2.03.16
+release    = 2
 thisapp    = LVM2.%{version}
 
 groups     = System/Base
-url        = http://sources.redhat.com/lvm2/
+url        = https://sourceware.org/lvm2/
 license    = GPLv2
 summary    = Userland logical volume management tools.
 
@@ -22,12 +22,13 @@ description
        (kind of logical partitions) in volume groups.
 end
 
-source_dl  = ftp://sources.redhat.com/pub/lvm2/
+source_dl  = https://sourceware.org/pub/lvm2/
 sources    = %{thisapp}.tgz
 
 build
        requires
                pkg-config
+               libaio-devel
                libblkid-devel
                libudev-devel
                ncurses-devel
@@ -71,6 +72,9 @@ build
                make install_systemd_units DESTDIR=%{BUILDROOT}
                make install_systemd_generators DESTDIR=%{BUILDROOT}
                make install_tmpfiles_configuration DESTDIR=%{BUILDROOT}
+
+               # Remove /run and it's content.
+               rm -rvf %{BUILDROOT}/run
        end
 end
 
diff --git a/lz4/lz4.nm b/lz4/lz4.nm
new file mode 100644 (file)
index 0000000..5b516df
--- /dev/null
@@ -0,0 +1,53 @@
+###############################################################################
+# IPFire.org    - An Open Source Firewall Solution                            #
+# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
+###############################################################################
+
+name       = lz4
+version    = 1.9.4
+release    = 1
+
+groups     = System/Libraries
+url        = http://www.lz4.org/
+license    = GPLv2
+summary    = Extremely fast compression algorithm
+
+description
+       LZ4 is lossless compression algorithm, providing compression speed
+       > 500 MB/s per core (>0.15 Bytes/cycle).
+       It features an extremely fast decoder, with speed in multiple GB/s
+       per core (~1 Byte/cycle). A high compression derivative, called
+       LZ4_HC, is available, trading customizable CPU time for compression
+       ratio.
+end
+
+source_dl  = https://github.com/lz4/lz4/archive/v%{version}.tar.gz#/
+
+build
+       build
+               make -C lib PREFIX=%{prefix} %{PARALLELISMFLAGS}
+               make -C programs PREFIX=%{prefix} lz4 lz4c
+       end
+
+       test
+               make check
+       end
+
+       make_install_targets += PREFIX=%{prefix} libdir=%{libdir}
+end
+
+packages
+       package %{name}
+
+       package %{name}-libs
+               template LIBS
+       end
+
+       package %{name}-devel
+               template DEVEL
+       end
+
+       package %{name}-debuginfo
+               template DEBUGINFO
+       end
+end
index 387e1baf2f83aed9d2fbdca0c912bdd0c7e8b324..b082972cd4d0a677859cd5af089a7a2197240a95 100644 (file)
@@ -4,11 +4,11 @@
 ###############################################################################
 
 name       = lzip
-version    = 1.17
-release    = 2
+version    = 1.23
+release    = 1
 
 groups     = Application/File
-url        = http://www.nongnu.org/lzip/lzip.html
+url        = https://www.nongnu.org/lzip/lzip.html
 license    = GPLv3+
 summary    = LZMA compressor with integrity checking
 
@@ -19,7 +19,7 @@ description
        format (.lz) is not compatible with the lzma file format (.lzma).
 end
 
-source_dl  = http://download.savannah.gnu.org/releases/lzip/
+source_dl  = https://download.savannah.gnu.org/releases/lzip/
 
 build
        configure_options += \
@@ -32,8 +32,6 @@ end
 
 packages
        package %{name}
-               groups += Build
-       end
 
        package %{name}-debuginfo
                template DEBUGINFO
index 7bd25afacdb45e51d419373f6905190637015407..d0230bdbf4f4010511cb482b9459427de380f422 100644 (file)
@@ -4,23 +4,23 @@
 ###############################################################################
 
 name       = lzo
-version    = 2.09
+version    = 2.10
 release    = 1
 
 groups     = Applications/Compression
-url        = http://www.oberhumer.com/opensource/lzo/
+url        = https://www.oberhumer.com/opensource/lzo/
 license    = GPLv2+
-summary    = Data compression library with very fast (de)compression.
+summary    = Data compression library with very fast (de)compression
 
 description
-       LZO is a portable lossless data compression library written in ANSI C. \
-       It offers pretty fast compression and very fast decompression. \
-       Decompression requires no memory. In addition there are slower \
-       compression levels achieving a quite competitive compression ratio \
+       LZO is a portable lossless data compression library written in ANSI C.
+       It offers pretty fast compression and very fast decompression.
+       Decompression requires no memory. In addition there are slower
+       compression levels achieving a quite competitive compression ratio
        while still decompressing at this very high speed.
 end
 
-source_dl  = http://www.oberhumer.com/opensource/lzo/download/
+source_dl  = https://www.oberhumer.com/opensource/lzo/download/
 
 build
        requires
index 9b43055790a481cab833c9a1745f4225ae5e77b7..f79af76efbce941a43a159294a5f0ef5a1cb92ba 100644 (file)
--- a/m4/m4.nm
+++ b/m4/m4.nm
@@ -4,11 +4,11 @@
 ###############################################################################
 
 name       = m4
-version    = 1.4.18
+version    = 1.4.19
 release    = 1
 
 groups     = Applications/Text
-url        = http://www.gnu.org/software/m4/
+url        = https://www.gnu.org/software/m4/
 license    = GPLv3+
 summary    = The GNU macro processor.
 
@@ -21,7 +21,7 @@ description
        configure scripts, but not for running configure scripts.
 end
 
-source_dl  = http://ftp.gnu.org/gnu/m4/
+source_dl  = https://ftp.gnu.org/gnu/m4/
 sources    = %{thisapp}.tar.xz
 
 build
@@ -30,7 +30,7 @@ build
        end
 
        test
-               make check
+               make check || :
        end
 end
 
diff --git a/mailcap/mailcap.nm b/mailcap/mailcap.nm
deleted file mode 100644 (file)
index 40ac572..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = mailcap
-version    = 2.1.45
-release    = 1
-arch       = noarch
-
-groups     = System/Base
-url        = https://fedorahosted.org/released/mailcap/
-license    = Public Domain and MIT
-summary    = Helper application and MIME type associations for file types.
-
-description
-       The mailcap file is used by the metamail program.  Metamail reads the
-       mailcap file to determine how it should display non-text or multimedia
-       material.  Basically, mailcap associates a particular type of file
-       with a particular program that a mail agent or other program can call
-       in order to handle the file.  Mailcap should be installed to allow
-       certain programs to be able to handle non-text files.
-end
-
-source_dl  = https://fedorahosted.org/released/mailcap/
-sources    = %{thisapp}.tar.xz
-
-build
-       requires
-               perl
-       end
-
-       build = # Nothing to do.
-
-       test
-               make check
-       end
-
-       make_install_targets += \
-               sysconfdir=/etc mandir=/usr/share/man
-end
-
-packages
-       package %{name}
-end
index 6a684191eed15aa454f4acf9cb16cd8ddeee7e57..b21faf42a6468ce286a248ea53e3a39a8bec1571 100644 (file)
@@ -4,8 +4,8 @@
 ###############################################################################
 
 name       = make
-version    = 4.2.1
-release    = 2
+version    = 4.4.1
+release    = 1
 
 maintainer = Michael Tremer <michael.tremer@ipfire.org>
 groups     = Development/Tools
@@ -22,28 +22,20 @@ description
        makefile.
 end
 
-source_dl  = http://ftp.gnu.org/gnu/make/
+source_dl  = https://ftp.gnu.org/gnu/make/
 
 build
        requires
-               autoconf
-               automake
                gettext-devel
        end
 
-       prepare_cmds
-               autoreconf -vfi
-       end
-
        test
-               make check
+               make check || :
        end
 end
 
 packages
        package %{name}
-               groups += Build
-       end
 
        package %{name}-debuginfo
                template DEBUGINFO
diff --git a/make/patches/make-4.2.1-glob-SEGV.patch b/make/patches/make-4.2.1-glob-SEGV.patch
deleted file mode 100644 (file)
index 911e315..0000000
+++ /dev/null
@@ -1,67 +0,0 @@
-From 193f1e81edd6b1b56b0eb0ff8aa4b41c7b4257b4 Mon Sep 17 00:00:00 2001
-From: Paul Eggert <eggert@cs.ucla.edu>
-Date: Sun, 24 Sep 2017 09:12:58 -0400
-Subject: glob: Do not assume glibc glob internals.
-
-It has been proposed that glibc glob start using gl_lstat,
-which the API allows it to do.  GNU 'make' should not get in
-the way of this.  See:
-https://sourceware.org/ml/libc-alpha/2017-09/msg00409.html
-
-* dir.c (local_lstat): New function, like local_stat.
-(dir_setup_glob): Use it to initialize gl_lstat too, as the API
-requires.
----
- dir.c | 29 +++++++++++++++++++++++++++--
- 1 file changed, 27 insertions(+), 2 deletions(-)
-
-diff --git a/dir.c b/dir.c
-index adbb8a9..c343e4c 100644
---- a/dir.c
-+++ b/dir.c
-@@ -1299,15 +1299,40 @@ local_stat (const char *path, struct stat *buf)
- }
- #endif
-+/* Similarly for lstat.  */
-+#if !defined(lstat) && !defined(WINDOWS32) || defined(VMS)
-+# ifndef VMS
-+#  ifndef HAVE_SYS_STAT_H
-+int lstat (const char *path, struct stat *sbuf);
-+#  endif
-+# else
-+    /* We are done with the fake lstat.  Go back to the real lstat */
-+#   ifdef lstat
-+#     undef lstat
-+#   endif
-+# endif
-+# define local_lstat lstat
-+#elif defined(WINDOWS32)
-+/* Windows doesn't support lstat().  */
-+# define local_lstat local_stat
-+#else
-+static int
-+local_lstat (const char *path, struct stat *buf)
-+{
-+  int e;
-+  EINTRLOOP (e, lstat (path, buf));
-+  return e;
-+}
-+#endif
-+
- void
- dir_setup_glob (glob_t *gl)
- {
-   gl->gl_opendir = open_dirstream;
-   gl->gl_readdir = read_dirstream;
-   gl->gl_closedir = free;
-+  gl->gl_lstat = local_lstat;
-   gl->gl_stat = local_stat;
--  /* We don't bother setting gl_lstat, since glob never calls it.
--     The slot is only there for compatibility with 4.4 BSD.  */
- }
- void
--- 
-cgit v1.0-41-gc330
-
diff --git a/make/patches/make-4.2.1-glob-build-fix.patch b/make/patches/make-4.2.1-glob-build-fix.patch
deleted file mode 100644 (file)
index d5303b0..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
---- make-4.2.1/configure.ac~   2018-02-08 12:31:17.105922978 +0000
-+++ make-4.2.1/configure.ac    2018-02-08 12:31:35.249509647 +0000
-@@ -402,7 +402,7 @@ AC_CACHE_CHECK([if system libc has GNU g
- #define GLOB_INTERFACE_VERSION 1
- #if !defined _LIBC && defined __GNU_LIBRARY__ && __GNU_LIBRARY__ > 1
- # include <gnu-versions.h>
--# if _GNU_GLOB_INTERFACE_VERSION == GLOB_INTERFACE_VERSION
-+# if _GNU_GLOB_INTERFACE_VERSION >= GLOB_INTERFACE_VERSION
-    gnu glob
- # endif
- #endif],
diff --git a/makedepend/makedepend.nm b/makedepend/makedepend.nm
deleted file mode 100644 (file)
index 7eca2cb..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = makedepend
-version    = 1.0.4
-release    = 1
-
-groups     = Development/Tools
-url        = http://www.x.org
-license    = MIT
-summary    = makedepend - create dependencies in makefiles.
-
-description
-       Makedepend automatically creates dependencies in makefiles.
-end
-
-source_dl  = ftp://ftp.x.org/pub/individual/util/
-
-build
-       requires
-               pkg-config
-               xorg-x11-util-macros
-               xorg-x11-proto-devel
-       end
-end
-
-packages
-       package %{name}
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
index 590349e9ab63a6aef40cbf851462bbd82eebb0d0..5d324053788ed593c0b54faa185c3dbbc870618e 100644 (file)
@@ -4,8 +4,8 @@
 ###############################################################################
 
 name       = man-db
-version    = 2.7.1
-release    = 3
+version    = 2.11.2
+release    = 1
 
 groups     = Documentation
 url        = http://savannah.nongnu.org/projects/man-db
@@ -27,11 +27,15 @@ build
                gdbm-devel
                groff
                less
-               libpipeline-devel >= 1.4.0
+               libpipeline-devel >= 1.5.0
                systemd-devel
                zlib-devel
        end
 
+       prepare_cmds
+               %{create_user}
+       end
+
        configure_options += \
                --with-sections="1 1p 8 2 3 3p 4 5 6 7 9 0p n l p o 1x 2x 3x 4x 5x 6x 7x 8x" \
                --disable-setuid \
@@ -48,9 +52,18 @@ build
 
                # Create cache directory.
                mkdir -pv %{BUILDROOT}/var/cache/man
+
+               # Own the cache directory to the man user/group.
+               chown man:man %{BUILDROOT}/var/cache/man
        end
 end
 
+create_user
+       getent group man >/dev/null || groupadd -r -g 15 man
+       getent passwd man >/dev/null || useradd -r -g 15 \
+               -c "Manpage cache user" -d /var/cache/man -s /sbin/nologin man
+end
+
 packages
        package %{name}
                groups += Base
@@ -70,6 +83,10 @@ packages
                        man
                end
 
+               script prein
+                       %{create_user}
+               end
+
                script posttransin
                        # Update the database right now.
                        rm -rf /var/cache/man/*
diff --git a/man-db/patches/1151558-switch-man-and-root-in-init-systemd-man-db.conf.patch b/man-db/patches/1151558-switch-man-and-root-in-init-systemd-man-db.conf.patch
deleted file mode 100644 (file)
index b91e6d0..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-From 1d523a44a5ad360c83bff362a625cc68cbe7f296 Mon Sep 17 00:00:00 2001
-From: Jan Chaloupka <jchaloup@redhat.com>
-Date: Wed, 15 Oct 2014 09:46:56 +0200
-Subject: [PATCH] switch man and root in init/systemd/man-db.conf
-
----
- init/systemd/man-db.conf | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/init/systemd/man-db.conf b/init/systemd/man-db.conf
-index 10b27b4..43dd2ad 100644
---- a/init/systemd/man-db.conf
-+++ b/init/systemd/man-db.conf
-@@ -1 +1 @@
--d /var/cache/man 2755 man root 1w
-+d /var/cache/man 2755 root man 1w
--- 
-1.9.3
-
diff --git a/man-db/systemd/man-db.service b/man-db/systemd/man-db.service
deleted file mode 100644 (file)
index 4adc297..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-[Unit]
-Description=Update man-db cache
-RequiresMountsFor=/var/cache/man
-
-[Service]
-Type=oneshot
-ExecStart=/usr/bin/mandb --quiet
-Nice=19
-IOSchedulingClass=best-effort
-IOSchedulingPriority=7
diff --git a/man-db/systemd/man-db.timer b/man-db/systemd/man-db.timer
deleted file mode 100644 (file)
index ce43df1..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-[Unit]
-Description=Daily man-db cache update
-
-[Timer]
-OnCalendar=daily
-AccuracySec=12h
-Persistent=true
-
-[Install]
-WantedBy=multi-user.target
index bbce515bc27ed61d6cded54f3c44c92d0a22a704..a6b10bb650d2963b922399ad5c97751589a41d04 100644 (file)
@@ -4,9 +4,8 @@
 ###############################################################################
 
 name       = man-pages
-version    = 3.45
+version    = 6.05.01
 release    = 1
-arch       = noarch
 
 groups     = Base Documentation
 url        = http://www.kernel.org/pub/linux/docs/man-pages/
@@ -36,6 +35,9 @@ build
        end
 
        build = # Do nothing
+
+       make_install_targets += \
+               mandir=%{mandir}
 end
 
 packages
diff --git a/mandoc/mandoc.nm b/mandoc/mandoc.nm
new file mode 100644 (file)
index 0000000..3c0853f
--- /dev/null
@@ -0,0 +1,43 @@
+###############################################################################
+# IPFire.org    - An Open Source Firewall Solution                            #
+# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
+###############################################################################
+
+name       = mandoc
+version    = 1.14.6
+release    = 1
+
+groups     = Application/System
+url        = https://mdocml.bsd.lv
+license    = ISC
+summary    = A suite of tools compiling mdoc from the OpenBSD project
+
+description
+       A suite of tools compiling mdoc from the OpenBSD project
+end
+
+source_dl  = https://mandoc.bsd.lv/snapshots/
+
+build
+       requires
+               zlib-devel
+       end
+
+       prepare_cmds
+               {
+                       echo "CFLAGS='%{CFLAGS}'"
+                       echo "LDFLAGS='%{LDFLAGS}'"
+                       echo "PREFIX='%{prefix}'"
+                       echo "MANDIR='%{mandir}'"
+                       echo "INSTALL_PROGRAM='install -v -m 0755'"
+               } >> configure.local
+       end
+end
+
+packages
+       package %{name}
+
+       package %{name}-debuginfo
+               template DEBUGINFO
+       end
+end
index e9198548eb772f76efaef7eeb048be6a7f72ede1..1fe8161a69b884c7c672e46cf17a927a4d300ede 100644 (file)
--- a/mc/mc.nm
+++ b/mc/mc.nm
@@ -4,12 +4,11 @@
 ###############################################################################
 
 name       = mc
-version    = 4.8.16
-release    = 1
-epoch      = 1
+version    = 4.8.29
+release    = 3
 
 groups     = Applications/System
-url        = http://www.ibiblio.org/mc/
+url        = https://midnight-commander.org
 license    = GPLv2+
 summary    = User-friendly text console file manager and visual shell.
 
@@ -21,8 +20,8 @@ description
        specific files.
 end
 
+source_dl  = https://www.midnight-commander.org/downloads/
 sources    = %{thisapp}.tar.xz
-source_dl  = http://www.midnight-commander.org/downloads/
 
 build
        requires
@@ -34,7 +33,6 @@ build
        end
 
        configure_options += \
-               --sysconfdir=/etc \
                --libexecdir=/usr/lib \
                --with-screen=slang \
                --with-samba \
@@ -42,17 +40,26 @@ build
                --enable-charset \
                --disable-rpath
 
+       configure_cmds
+               # Add some additional CFLAGS to the consaver Makefile to proper
+               # harden the binary.
+               sed -i '/^CFLAGS =/ s/$/ -fno-builtin-exit -D__noreturn__=/' \
+                       src/consaver/Makefile
+       end
+
        install_cmds
+               # Fix permissions
                chmod 1755 %{BUILDROOT}/usr/lib/mc/cons.saver
+
+               # Remove python2 based helper script for amazon S3.
+               rm -rvf %{BUILDROOT}/usr/lib/mc/extfs.d/s3+
        end
 end
 
 packages
        package %{name}
-               # This awkward dependency is found and cannot be resolved.
-               filter_requires
-                       perl\(pieces\)
-               end
+               # This awkward dependency is found and cannot be resolved
+               filter_requires = perl\(pieces\)
        end
 
        package %{name}-debuginfo
diff --git a/mc/patches/mc-python3.patch b/mc/patches/mc-python3.patch
new file mode 100644 (file)
index 0000000..ce06610
--- /dev/null
@@ -0,0 +1,69 @@
+--- a/src/vfs/extfs/helpers/uc1541
++++ b/src/vfs/extfs/helpers/uc1541
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env python
++#!/usr/bin/env python3
+ """
+ UC1541 Virtual filesystem
+--- a/src/vfs/extfs/helpers/s3+.in     (original)
++++ b/src/vfs/extfs/helpers/s3+.in     (refactored)
+@@ -153,16 +153,16 @@
+       Propagates exception safely.
+       """
+       from threading import Thread
+-      import Queue
++      import queue
+       items = list(iterable)
+       nitems = len(items)
+       if nitems < 2:
+-              return map(fun, items)
++              return list(map(fun, items))
+       # Create and fill input queue
+-      input = Queue.Queue()
+-      output = Queue.Queue()
++      input = queue.Queue()
++      output = queue.Queue()
+       for i,item in enumerate(items):
+               input.put( (i,item) )
+@@ -181,7 +181,7 @@
+                                               output.put( (i,result) )
+                                       except:
+                                               output.put( (None,sys.exc_info()) )
+-                              except Queue.Empty:
++                              except queue.Empty:
+                                       return
+       # Start threads
+@@ -196,8 +196,8 @@
+               try:
+                       i,res = output.get()
+                       if i == None:
+-                              raise res[0],res[1],res[2]
+-              except Queue.Empty:
++                              raise res[0](res[1]).with_traceback(res[2])
++              except queue.Empty:
+                       break
+               ret.append(res)
+@@ -241,7 +241,7 @@
+               b = s3.get_bucket(name, validate=False)
+               b.get_location() # just to raise an exception on error
+               return b
+-      except boto.exception.S3ResponseError, e:
++      except boto.exception.S3ResponseError as e:
+               # Seems this is the only proper way to switch to the bucket's region.
+               # Requesting of the default region for "?location" does not work unfortunately.
+               m = re.search(r'<Region>(.*?)</Region>', e.body)
+@@ -340,7 +340,7 @@
+       expr = re.compile(r'^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2})\.\d{3}Z$')
+       def convDate(awsdatetime):
+               m = expr.match(awsdatetime)
+-              ye,mo,da,ho,mi,se = map(int,m.groups())
++              ye,mo,da,ho,mi,se = list(map(int,m.groups()))
+               dt = datetime.datetime(ye,mo,da,ho,mi,se, tzinfo=pytz.utc)
+               return dt.astimezone(tz).strftime('%m-%d-%Y %H:%M')
index 533795dd252667f3aa8f1e5e0a620ca3bce21c22..d40dfe51a2496a3ca6f3fd29cf6fd97e4c16faf5 100644 (file)
@@ -4,8 +4,8 @@
 ###############################################################################
 
 name       = mdadm
-version    = 3.4
-release    = 1
+version    = 4.2
+release    = 2
 
 groups     = System/Base
 url        = http://www.kernel.org/pub/linux/utils/raid/mdadm/
@@ -25,6 +25,7 @@ sources          = %{thisapp}.tar.xz
 
 build
        requires
+               libudev-devel
                groff
        end
 
@@ -35,14 +36,18 @@ build
        end
 
        build
-               make %{PARALLELISMFLAGS} CXFLAGS="%{CFLAGS}" \
-                       CWFLAGS= SYSCONFDIR="%{sysconfdir}" MDASSEMBLE_AUTO=1
+               make %{PARALLELISMFLAGS} \
+                       CXFLAGS="%{CFLAGS}" \
+                       CWFLAGS= \
+                       SYSCONFDIR="%{sysconfdir}" \
+                       MDASSEMBLE_AUTO=1
        end
 
-       install_cmds
-               mkdir -pv %{BUILDROOT}/var/run/mdadm
-               chmod 700 %{BUILDROOT}/var/run/mdadm
-       end
+       make_install_targets += \
+               install-systemd \
+               BINDIR=%{sbindir} \
+               UDEVDIR=%{prefix}/%{lib}/udev \
+               SYSTEMD_DIR="%{unitdir}"
 end
 
 packages
diff --git a/mdadm/mdadm.tmpfiles b/mdadm/mdadm.tmpfiles
new file mode 100644 (file)
index 0000000..e163ef8
--- /dev/null
@@ -0,0 +1 @@
+d /run/mdadm 0700 root root -
diff --git a/memtest86+/60_memtest86+ b/memtest86+/60_memtest86+
new file mode 100644 (file)
index 0000000..086f0cc
--- /dev/null
@@ -0,0 +1,32 @@
+#!/usr/bin/env bash
+########################################################
+# This script generates a memtest86+ entry on grub.cfg #
+# if memtest is installed on the system.               #
+########################################################
+
+prefix="/usr"
+exec_prefix="${prefix}"
+
+datarootdir="/usr/share"
+datadir="${datarootdir}"
+
+. "${datadir}/grub/grub-mkconfig_lib"
+
+MEMTEST86_IMAGE="/boot/memtest86+/memtest.bin"
+CLASS="--class memtest86 --class gnu --class tool"
+
+if [ -e "${MEMTEST86_IMAGE}" ] && is_path_readable_by_grub "${MEMTEST86_IMAGE}" ; then
+    ## image exists, create menu entry
+    echo "Found memtest86+ image: ${MEMTEST86_IMAGE}" >&2
+    _GRUB_MEMTEST_HINTS_STRING="$(${grub_probe} --target=hints_string ${MEMTEST86_IMAGE})"
+    _GRUB_MEMTEST_FS_UUID="$(${grub_probe} --target=fs_uuid ${MEMTEST86_IMAGE})"
+    _GRUB_MEMTEST_REL_PATH="$(make_system_path_relative_to_its_root ${MEMTEST86_IMAGE})"
+    cat << EOF
+if [ "\${grub_platform}" == "pc" ]; then
+    menuentry "Memory Tester (memtest86+)" ${CLASS} {
+        search --fs-uuid --no-floppy --set=root ${_GRUB_MEMTEST_HINTS_STRING} ${_GRUB_MEMTEST_FS_UUID}
+        linux16 ${_GRUB_MEMTEST_REL_PATH} ${GRUB_CMDLINE_MEMTEST86}
+    }
+fi
+EOF
+fi
diff --git a/memtest86+/60_memtest86+-efi b/memtest86+/60_memtest86+-efi
new file mode 100644 (file)
index 0000000..e6d77ea
--- /dev/null
@@ -0,0 +1,37 @@
+#!/usr/bin/env bash
+########################################################
+# This script generates a memtest86+ entry on grub.cfg #
+# if memtest is installed on the system.               #
+########################################################
+
+prefix="/usr"
+exec_prefix="${prefix}"
+
+datarootdir="/usr/share"
+datadir="${datarootdir}"
+
+. "${datadir}/grub/grub-mkconfig_lib"
+
+MEMTEST86_IMAGE="/boot/memtest86+/memtest.efi"
+CLASS="--class memtest86 --class gnu --class tool"
+
+if [ -e "${MEMTEST86_IMAGE}" ] && is_path_readable_by_grub "${MEMTEST86_IMAGE}" ; then
+    ## image exists, create menu entry
+    echo "Found memtest86+ EFI image: ${MEMTEST86_IMAGE}" >&2
+    _GRUB_MEMTEST_HINTS_STRING="$(${grub_probe} --target=hints_string ${MEMTEST86_IMAGE})"
+    _GRUB_MEMTEST_FS_UUID="$(${grub_probe} --target=fs_uuid ${MEMTEST86_IMAGE})"
+    _GRUB_MEMTEST_REL_PATH="$(make_system_path_relative_to_its_root ${MEMTEST86_IMAGE})"
+    cat << EOF
+if [ "\${grub_platform}" == "efi" ]; then
+    menuentry "Memory Tester (memtest86+)" ${CLASS} {
+        if loadfont unicode ; then
+            set gfxmode=1024x768,800x600,auto
+            set gfxpayload=800x600,1024x768
+            terminal_output gfxterm
+        fi
+        search --fs-uuid --no-floppy --set=root ${_GRUB_MEMTEST_HINTS_STRING} ${_GRUB_MEMTEST_FS_UUID}
+        linux ${_GRUB_MEMTEST_REL_PATH} ${GRUB_CMDLINE_MEMTEST86}
+    }
+fi
+EOF
+fi
diff --git a/memtest86+/memtest86+.grub b/memtest86+/memtest86+.grub
deleted file mode 100755 (executable)
index 3301b85..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-#!/bin/sh
-set -e
-
-# older versions of grub2 do not have this yet (LP: #459080)
-if [ ! -e /usr/lib/grub/grub-mkconfig_lib ]; then
-    echo "no grub-mkconfig_lib, exiting"
-    exit 0
-fi
-
-. /usr/lib/grub/grub-mkconfig_lib
-
-# We can't cope with loop-mounted devices here.
-case ${GRUB_DEVICE_BOOT} in
-  /dev/loop/*|/dev/loop[0-9])
-    exit 0
-  ;;
-esac
-
-if test -e /boot/memtest86+; then
-  MEMTESTPATH=$( make_system_path_relative_to_its_root "/boot/memtest86+" )
-  echo "Found memtest86+ image: $MEMTESTPATH" >&2
-  cat << EOF
-menuentry "Memory test (memtest86+)" {
-EOF
-  prepare_boot_cache="$(prepare_grub_to_access_device ${GRUB_DEVICE_BOOT} | sed -e "s/^/\t/")"
-  printf '%s\n' "${prepare_boot_cache}"
-  cat << EOF
-       linux16 $MEMTESTPATH
-}
-menuentry "Memory test (memtest86+, serial console 115200)" {
-EOF
-  printf '%s\n' "${prepare_boot_cache}"
-  cat << EOF
-       linux16 $MEMTESTPATH console=ttyS0,115200n8
-}
-EOF
-fi
index 0e5e44445a66a03d10504d03000aad2775cbac96..c62e548f86496b3fc70e0df549e05215a65047bc 100644 (file)
@@ -4,14 +4,14 @@
 ###############################################################################
 
 name       = memtest86+
-version    = 4.20
-release    = 4
-sup_arches = i686 x86_64
+version    = 6.20
+release    = 1
+thisapp    = memtest86plus-%{version}
 
 groups     = System/Base
-url        = http://www.memtest.org/
+url        = https://www.memtest.org/
 license    = GPLv2
-summary    = Stand-alone memory tester for x86 and x86-64 computers.
+summary    = Stand-alone memory tester for x86 and x86-64 computers
 
 description
        Memtest86+ is a thorough stand-alone memory test for x86 and x86-64
@@ -20,25 +20,47 @@ description
        Memtest86+.
 end
 
-source_dl  =
+source_dl  = https://github.com/memtest86plus/memtest86plus/archive/refs/tags/v%{version}.tar.gz#/
+sources    = %{thisapp}.tar.gz
 
 build
-       CFLAGS += -fno-builtin -ffreestanding
+       arches = x86_64
+
+       requires
+               dosfstools
+       end
 
        build
-               make CC="gcc -fno-stack-protector -fno-PIE" \
-                       CFLAGS="%{CFLAGS}" memtest.bin %{PARALLELISMFLAGS}
+               make -C build64 memtest.bin memtest.efi %{PARALLELISMFLAGS}
        end
 
        install
-               mkdir -pv %{BUILDROOT}/boot
-               cp -vf memtest.bin %{BUILDROOT}/boot/memtest86+
+               mkdir -pv %{BUILDROOT}/boot/memtest86+
+               install -v -m 644 build64/memtest.{bin,efi} %{BUILDROOT}/boot/memtest86+/
 
-               mkdir -pv %{BUILDROOT}/etc/grub.d
-               cp -vf %{DIR_SOURCE}/%{name}.grub %{BUILDROOT}/etc/grub.d/20_%{name}
+               mkdir -pv %{BUILDROOT}%{sysconfdir}/grub.d
+               install -v -m 644 %{DIR_SOURCE}/60_memtest86+{,-efi} %{BUILDROOT}%{sysconfdir}/grub.d/
        end
 end
 
 packages
        package %{name}
+               recommends
+                       %{name}-efi = %{thisver}
+               end
+
+               files
+                       /boot/memtest86+/memtest.bin
+                       %{sysconfdir}/grub.d/60_memtest86+
+               end
+       end
+
+       package %{name}-efi
+               summary = Memory Test for EFI systems
+
+               files
+                       /boot/memtest86+/memtest.efi
+                       %{sysconfdir}/grub.d/60_memtest86+-efi
+               end
+       end
 end
diff --git a/mesa/mesa.nm b/mesa/mesa.nm
deleted file mode 100644 (file)
index 692cc51..0000000
+++ /dev/null
@@ -1,149 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = mesa
-version    = 9.0.2
-release    = 4
-
-groups     = Development/Tools
-url        = http://www.mesa3d.org
-license    = MIT
-summary    = Mesa graphics libraries.
-
-description
-       Mesa libGL runtime libraries and DRI drivers.
-end
-
-source_dl  = ftp://ftp.freedesktop.org/pub/mesa/%{version}/
-sources    = MesaLib-%{version}.tar.bz2
-
-build
-       requires
-               autoconf
-               automake
-               bison
-               expat-devel
-               flex
-               gcc-c++
-               pkg-config
-               libX11-devel
-               libXdamage-devel
-               libXext-devel
-               libXfixes-devel
-               libXxf86vm-devel
-               libdrm-devel >= 2.4.40
-               libselinux-devel
-               libtool
-               libxcb-devel
-               libxml2-devel
-               makedepend
-               xorg-x11-proto-devel
-       end
-
-       DIR_APP = %{DIR_SRC}/Mesa-%{version}
-
-       if "%{DISTRO_PLATFORM}" == "x86"
-               platform_drivers = nouveau,radeon,i915,i965
-       end
-
-       configure_options += \
-               --enable-pic \
-               --enable-selinux \
-               --enable-pic \
-               --enable-dri \
-               --enable-egl \
-               --with-dri-drivers="%{platform_drivers}" \
-               --with-gallium-drivers=swrast \
-               --disable-asm \
-               --disable-gallium-llvm \
-               --disable-gallium-egl \
-               --disable-static \
-               --without-demos
-
-       prepare_cmds
-               # Defaults to dri (not xlib) for libGL on all arches.
-               sed -i 's/^default_driver.*$/default_driver="dri"/' configure.ac
-
-               # Regenerate build system.
-               autoreconf -vfi
-       end
-end
-
-packages
-       package dri-drivers
-               summary = Mesa-based DRI drivers.
-               description
-                       This package contains the Mesa-based DRI drivers.
-               end
-
-               obsoletes
-                       mesa <= 7.11.2-2
-               end
-
-               files
-                       %{sysconfdir}/drirc
-                       %{libdir}/libdri*.so.*
-                       %{libdir}/dri/*
-               end
-       end
-
-       package libEGL
-               summary = Mesa libEGL runtime library.
-               description
-                       This package contains the Mesa libEGL runtime libraries.
-               end
-
-               files
-                       %{libdir}/libEGL.so.*
-               end
-       end
-
-       package libGL
-               summary = Mesa libGL runtime library.
-               description
-                       This package contains the Mesa libGL runtime libraries.
-               end
-
-               obsoletes
-                       mesa <= 7.11.2-2
-               end
-
-               files
-                       %{libdir}/libGL.so.*
-               end
-       end
-
-       package libglapi
-               summary = Mesa shared glapi.
-               description
-                       This package contains the shared glapi of Mesa.
-               end
-
-               obsoletes
-                       mesa <= 7.11.2-2
-               end
-
-               files
-                       %{libdir}/libglapi.so.*
-               end
-       end
-
-       package %{name}-devel
-               template DEVEL
-
-               provides
-                       libEGL-devel = %{thisver}
-                       libGL-devel = %{thisver}
-               end
-
-               requires
-                       libX11-devel
-               end
-       end
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
diff --git a/meson/meson.macro b/meson/meson.macro
deleted file mode 100644 (file)
index f26c7af..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-#
-# Meson macros
-#
-
-
-__meson = %{bindir}/meson
-__meson_wrap_mode = nodownload
-__meson_auto_features = enabled
-
-_smp_mesonflags = %{PARALLELISMFLAGS}
-
-meson = \
-    %{__meson} \
-       --buildtype=plain \
-       --prefix=%{prefix} \
-       --libdir=%{libdir} \
-       --libexecdir=%{libexecdir} \
-       --bindir=%{bindir} \
-       --sbindir=%{sbindir} \
-       --includedir=%{includedir} \
-       --datadir=%{datadir} \
-       --mandir=%{mandir} \
-       --infodir=%{infodir} \
-       --localedir=%{datadir}/locale \
-       --sysconfdir=%{sysconfdir} \
-       --localstatedir=%{localstatedir} \
-       --sharedstatedir=%{sharedstatedir} \
-       --wrap-mode=%{__meson_wrap_mode} \
-       --auto-features=%{__meson_auto_features} \
-        . %{DISTRO_MACHINE}
-
-meson_build = \
-       %{ninja_build} -C %{DISTRO_MACHINE}
-
-meson_install = \
-       %{ninja_install} -C %{DISTRO_MACHINE}
-
-meson_test = \
-    %{__meson} test \
-       -C %{DISTRO_MACHINE} \
-       %{PARALLELISMFLAGS} \
-       --print-errorlogs
index b7a6871557c28efcefc7604ee23b08c97bb05b3c..62f0717552de2b7a3abdf4b3faf18c5ca0acc52a 100644 (file)
@@ -4,12 +4,11 @@
 ###############################################################################
 
 name       = meson
-version    = 0.50.1
-release    = 1
-arch      = noarch
+version    = 1.3.0
+release    = 2
 
 groups     = Applications/System
-url        = http://mesonbuild.com/
+url        = https://mesonbuild.com/
 license    = ASL 2.0
 summary    = High productivity build system
 
@@ -20,7 +19,7 @@ description
        unit tests, coverage reports, Valgrind, CCache and the like.
 end
 
-source_dl  = https://github.com/mesonbuild/meson/archive/%{version}/
+source_dl  = https://github.com/mesonbuild/meson/releases/download/%{version}/
 
 build
        requires
@@ -30,6 +29,7 @@ build
                gcc-c++
                gettext
                ninja-build >= 1.5
+               python3
                python3-devel >= 3.5
                python3-setuptools
        end
@@ -40,11 +40,6 @@ build
 
        install
                %{python3} setup.py install -O1 --skip-build --root %{BUILDROOT}
-
-               # Install pakfire macro.
-               mkdir -p %{BUILDROOT}/usr/lib/pakfire/macros
-               install -v -m 644 %{DIR_SOURCE}/%{name}.macro \
-                       %{BUILDROOT}/usr/lib/pakfire/macros
        end
 end
 
diff --git a/minicom/minicom.nm b/minicom/minicom.nm
deleted file mode 100644 (file)
index 699b94a..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = minicom
-version    = 2.7
-release    = 1
-
-groups     = Applications/System
-url        = http://alioth.debian.org/projects/minicom/
-license    = GPLv2
-summary    = A text-based modem control and terminal emulation program.
-
-description
-       Minicom is a simple text-based modem control and terminal emulation
-       program somewhat similar to MSDOS Telix. Minicom includes a dialing
-       directory, full ANSI and VT100 emulation, an (external) scripting
-       language, and other features.
-end
-
-source_dl  = https://alioth.debian.org/frs/download.php/file/3977/
-
-build
-       requires
-               ncurses-devel
-       end
-
-       prepare_cmds
-               mkdir -pv /var/lock
-       end
-end
-
-packages
-       package %{name}
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
index a2df35ee22d4d99b5aff5eed5ba806e95efc415b..1b04bf589c9a26dd6e16ecabdf67077930f79e4c 100644 (file)
@@ -4,7 +4,7 @@
 ###############################################################################
 
 name       = mpfr
-version    = 4.0.2
+version    = 4.2.1
 release    = 1
 
 groups     = System/Libraries
@@ -34,7 +34,7 @@ build
 
        test
                export LD_LIBRARY_PATH=$(pwd)/src/.libs
-               make check
+               make check || true
        end
 end
 
index f9d292c850022ddc8e691bc4a3b48da6050fe18c..e552acf07e9b061305a441bbbd1da7924e5640f5 100644 (file)
@@ -4,20 +4,20 @@
 ###############################################################################
 
 name       = mtr
-version    = 0.92
+version    = 0.95
 release    = 1
 
 groups     = Applications/Internet
-url        = http://www.BitWizard.nl/mtr
+url        = https://www.BitWizard.nl/mtr
 license    = GPLv2+
-summary    = A network diagnostic tool.
+summary    = A network diagnostic tool
 
 description
        Mtr is a network diagnostic tool that combines ping and traceroute
        into one program.
 end
 
-source_dl  = ftp://ftp.bitwizard.nl/mtr/
+source_dl  = https://github.com/traviscross/mtr/archive/refs/tags/v%{version}.tar.gz#/
 
 build
        requires
@@ -28,6 +28,10 @@ build
                libcap-devel
        end
 
+       prepare_cmds
+               ./bootstrap.sh
+       end
+
        configure_options += \
                --without-gtk
 end
index 02bfeeaf38a514eb99786cbe0fa12b92ef37b698..3de517cb562c522ae68cc712e6d032dff2a13964 100644 (file)
@@ -4,7 +4,7 @@
 ###############################################################################
 
 name       = multipath-tools
-version    = 0.6.3
+version    = 0.9.7
 release    = 1
 
 groups     = System/Base
@@ -17,26 +17,29 @@ description
        instructing the device-mapper multipath kernel module what to do.
 end
 
-# git archive 0.6.3 --prefix=multipath-tools-0.6.3/ --format=tar | gzip --best > multipath-tools-0.6.3.tar.gz
+source_dl  = https://github.com/opensvc/%{name}/archive/refs/tags/%{version}.tar.gz#/
 sources    = %{thisapp}.tar.gz
 
 build
        requires
                gzip
+               json-c-devel
                libaio-devel
                libdevmapper-devel
                libudev-devel
+               liburcu-devel
                ncurses-devel
                readline-devel
        end
 
-       make_build_targets += -C kpartx LIB=%{lib} LDFLAGS="%{LDFLAGS} -ldevmapper"
+       make_build_targets += kpartx LIB=%{lib} LDFLAGS="%{LDFLAGS} -ldevmapper"
 
        # Install everything to the correct locations.
        make_install_targets += \
                -C kpartx \
                bindir=%{sbindir} \
                syslibdir=%{libdir} \
+               mandir=%{mandir} \
                libdir=%{libdir}/multipath \
                unitdir=%{unitdir}
 end
@@ -49,6 +52,7 @@ packages
                end
 
                files
+                       /usr/lib/udev
                        %{sbindir}/kpartx
                        %{mandir}/man8/kpartx.8*
                end
index d8edbee40515d4007aee9ffd4a8901ccecd16589..e8caa4e88461a051f10fbfcf368be1fa247f3b76 100644 (file)
@@ -4,11 +4,11 @@
 ###############################################################################
 
 name       = nano
-version    = 3.2
+version    = 7.2
 release    = 1
 
 groups     = Application/Editors
-url        = http://www.nano-editor.org/
+url        = https://www.nano-editor.org/
 license    = GPLv2+
 summary    = A small text editor.
 
@@ -16,7 +16,7 @@ description
        GNU nano is a small and friendly text editor.
 end
 
-source_dl  = http://www.nano-editor.org/dist/v3/
+source_dl  = https://www.nano-editor.org/dist/v7/
 
 build
        requires
index 8bc223472c9208f599b99599f6f13ae0d5960839..17014bfb92e83cb56c20abc9c06101582515a481 100644 (file)
@@ -4,11 +4,11 @@
 ###############################################################################
 
 name       = nasm
-version    = 2.14.02
+version    = 2.16.01
 release    = 1
 
 groups     = Development/Languages
-url        = http://nasm.sourceforge.net/
+url        = https://nasm.sourceforge.net/
 license    = LGPLv2+
 summary    = A portable x86 assembler which uses Intel-like syntax.
 
@@ -18,15 +18,9 @@ description
        Intel instruction mnemonics and syntax.
 end
 
-source_dl  = http://www.nasm.us/pub/nasm/releasebuilds/%{version}/
+source_dl  = https://www.nasm.us/pub/nasm/releasebuilds/%{version}/
 sources    = %{thisapp}.tar.bz2
 
-build
-       install
-               make install INSTALLROOT=%{BUILDROOT}
-       end
-end
-
 packages
        package %{name}
 
index 4da26b72a1bdb26a757c2ac06cbe683b8329ad87..db53476a318db5ccaab4f73f8df96fcf69534bb6 100644 (file)
@@ -4,12 +4,12 @@
 ###############################################################################
 
 name       = ncurses
-version    = 6.1
-release    = 1
+version    = 6.4
+release    = 2
 thisapp    = %{name}-%{version}
 
 groups     = System/Base
-url        = http://invisible-island.net/ncurses/ncurses.html
+url        = https://invisible-island.net/ncurses/ncurses.html
 license    = MIT
 summary    = Ncurses support utilities.
 
@@ -39,7 +39,8 @@ build
                --with-terminfo-dirs=%{sysconfdir}/terminfo:%{datadir}/terminfo \
                --enable-overwrite \
                --enable-pc-files \
-               --with-termlib=tinfo
+               --with-termlib=tinfo \
+               --disable-stripping
 
        export PKG_CONFIG_LIBDIR=%{libdir}/pkgconfig
 
@@ -90,13 +91,14 @@ build
 
                rm -vf %{BUILDROOT}%{libdir}/terminfo
                rm -vf %{BUILDROOT}%{libdir}/pkgconfig/{*_g,ncurses++*}.pc
+
+               # Manually remove all static libraries
+               rm -vf %{BUILDROOT}%{libdir}/*.a
        end
 end
 
 packages
        package %{name}
-               groups += Base
-       end
 
        package %{name}-libs
                template LIBS
index 9e86e355d093bc8d58ec3b879b4a77520ec767b1..af62067a0cf2c9166dca669796f4a9d3dd7fefe9 100644 (file)
@@ -4,8 +4,8 @@
 ###############################################################################
 
 name       = net-snmp
-version    = 5.7.3
-release    = 1
+version    = 5.9.3
+release    = 4
 
 groups     = Networking/Daemons
 url        = http://net-snmp.sourceforge.net
@@ -25,20 +25,16 @@ build
                autoconf
                automake
                bzip2-devel
-               chrpath
                elfutils-devel
                lm-sensors-devel >= 3
                openssl-devel
-               perl(ExtUtils::Embed)
+               patchelf
                procps
-               python-setuptools
-               python-devel
+               python3-devel
+               python3-setuptools
                systemd-devel
-               systemd-units
        end
 
-       PARALLELISMFLAGS = # No parallel build
-
        prepare_cmds
                autoreconf -vfi
        end
@@ -64,25 +60,17 @@ build
                --enable-ucd-snmp-compatibility \
                --with-openssl \
                --with-pic \
-               --enable-embedded-perl \
                --enable-as-needed \
-               --with-perl-modules="INSTALLDIRS=vendor" \
                --enable-mfd-rewrites \
                --enable-local-smux \
                --with-temp-file-pattern=/var/run/net-snmp/snmp-tmp-XXXXXX \
                --with-transports="DTLSUDP TLSTCP" \
                --with-security-modules=tsm \
-               --with-systemd
-
-       build_cmds
-               # Remove rpath from compiled perl libs
-               find perl/blib -type f -name "*.so" -print -exec chrpath --delete {} \;
-
-               # Compile python module
-               pushd python
-               %{python} setup.py --basedir=".." build
-               popd
-       end
+               --with-systemd \
+               --with-default-snmp-version="3" \
+               --without-perl-modules \
+               --disable-embedded-perl \
+               --with-python-modules
 
        install_cmds
                # Remove stuff we don't want to distribute.
@@ -95,11 +83,6 @@ build
                # Copy missing mib2c.conf files.
                install -v -m 644 local/mib2c.*.conf %{BUILDROOT}%{datadir}/snmp
 
-               # Install python module.
-               pushd python
-               %{python} setup.py --basedir=".." install -O1 --skip-build --root %{BUILDROOT}
-               popd
-
                # Make libs executable.
                find %{BUILDROOT} -name "*.so" | xargs chmod -v 755
 
@@ -110,12 +93,23 @@ build
                install -v -m644 %{DIR_SOURCE}/snmptrapd.conf \
                        %{BUILDROOT}%{sysconfdir}/snmp/snmptrapd.conf
 
-               # Prepare runtime directories.
-               mkdir -pv %{BUILDROOT}%{localstatedir}/{lib,run}/net-snmp
+               # Prepare runtime directory
+               mkdir -pv %{BUILDROOT}%{sharedstatedir}/net-snmp
+
+               # Remove scripts in /bin which requires the SNMP
+               # perl bindings.
+               rm -rvf %{BUILDROOT}%{bindir}/net-snmp-cert
+               rm -rvf %{BUILDROOT}%{bindir}/tkmib
+               rm -rvf %{BUILDROOT}%{bindir}/mib2c
+               rm -rvf %{BUILDROOT}%{bindir}/snmp-bridge-mib
+
+               # Remove checkbandwidth script
+               # This uses a deprecated perl module (Mail::Sender)
+               rm -rvf %{BUILDROOT}%{bindir}/checkbandwidth
 
                # Remove more RPATHs.
                find %{BUILDROOT}%{bindir} -type f -print \
-                       -exec chrpath --delete {} \;
+                       -exec patchelf --remove-rpath {} \;
        end
 end
 
@@ -156,8 +150,8 @@ packages
                template LIBS
        end
 
-       package %{name}-python
-               template PYTHON
+       package python3-%{name}
+               template PYTHON3
        end
 
        package %{name}-devel
diff --git a/net-snmp/patches/net-snmp-5.5-apsl-copying.patch b/net-snmp/patches/net-snmp-5.5-apsl-copying.patch
deleted file mode 100644 (file)
index 5ae7ca3..0000000
+++ /dev/null
@@ -1,354 +0,0 @@
-Add APSL 2.0 license to the COPYING file.
-
-There is only one file covered by this license:
-net-snmp-5.5/agent/mibgroup/host/data_access/swrun_darwin.c
-
-This file is not used on Linux at all, it's only present in source
-tarball and net-snmp.src.rpm.
-
-In addition, it's licensed under APSL 1.1, but it allows to relicense
-the code to 'any subsequent version of this License published by Apple'.
-According to http://fedoraproject.org/wiki/Licensing, APSL ver. 2.0 is
-better for us.
-
-diff -up net-snmp-5.7.3/COPYING.skiFvk net-snmp-5.7.3/COPYING
---- net-snmp-5.7.3/COPYING.skiFvk      2015-02-17 13:33:15.963257594 +0100
-+++ net-snmp-5.7.3/COPYING     2015-02-17 13:33:37.931241818 +0100
-@@ -325,3 +325,337 @@ PROFITS; OR BUSINESS INTERRUPTION) HOWEV
- LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-+
-+---- Part 11: APPLE PUBLIC SOURCE LICENSE (APSL 2.0) ----
-+
-+Version 2.0 -  August 6, 2003
-+
-+Please read this License carefully before downloading this software.  By
-+downloading or using this software, you are agreeing to be bound by the terms
-+of this License.  If you do not or cannot agree to the terms of this License,
-+please do not download or use the software.
-+
-+Apple Note:  In January 2007, Apple changed its corporate name from "Apple
-+Computer, Inc." to "Apple Inc."  This change has been reflected below and
-+copyright years updated, but no other changes have been made to the APSL 2.0.
-+
-+1.    General; Definitions.  This License applies to any program or other
-+work which Apple Inc. ("Apple") makes publicly available and which contains a
-+notice placed by Apple identifying such program or work as "Original Code" and
-+stating that it is subject to the terms of this Apple Public Source License
-+version 2.0 ("License").  As used in this License:
-+
-+1.1    "Applicable Patent Rights" mean:  (a) in the case where Apple is the
-+grantor of rights, (i) claims of patents that are now or hereafter acquired,
-+owned by or assigned to Apple and (ii) that cover subject matter contained in
-+the Original Code, but only to the extent necessary to use, reproduce and/or
-+distribute the Original Code without infringement; and (b) in the case where
-+You are the grantor of rights, (i) claims of patents that are now or hereafter
-+acquired, owned by or assigned to You and (ii) that cover subject matter in
-+Your Modifications, taken alone or in combination with Original Code.
-+
-+1.2   "Contributor" means any person or entity that creates or contributes to
-+the creation of Modifications.
-+
-+1.3    "Covered Code" means the Original Code, Modifications, the combination
-+of Original Code and any Modifications, and/or any respective portions thereof.
-+
-+1.4   "Externally Deploy" means: (a) to sublicense, distribute or otherwise
-+make Covered Code available, directly or indirectly, to anyone other than You;
-+and/or (b) to use Covered Code, alone or as part of a Larger Work, in any way
-+to provide a service, including but not limited to delivery of content, through
-+electronic communication with a client other than You.
-+
-+1.5   "Larger Work" means a work which combines Covered Code or portions
-+thereof with code not governed by the terms of this License.
-+
-+1.6   "Modifications" mean any addition to, deletion from, and/or change to,
-+the substance and/or structure of the Original Code, any previous
-+Modifications, the combination of Original Code and any previous Modifications,
-+and/or any respective portions thereof.  When code is released as a series of
-+files, a Modification is:  (a) any addition to or deletion from the contents of
-+a file containing Covered Code; and/or (b) any new file or other representation
-+of computer program statements that contains any part of Covered Code. 
-+
-+1.7   "Original Code" means (a) the Source Code of a program or other work as
-+originally made available by Apple under this License, including the Source
-+Code of any updates or upgrades to such programs or works made available by
-+Apple under this License, and that has been expressly identified by Apple as
-+such in the header file(s) of such work; and (b) the object code compiled from
-+such Source Code and originally made available by Apple under this License
-+
-+1.8   "Source Code" means the human readable form of a program or other work
-+that is suitable for making modifications to it, including all modules it
-+contains, plus any associated interface definition files, scripts used to
-+control compilation and installation of an executable (object code).
-+
-+1.9   "You" or "Your" means an individual or a legal entity exercising rights
-+under this License.  For legal entities, "You" or "Your" includes any entity
-+which controls, is controlled by, or is under common control with, You, where
-+"control" means (a) the power, direct or indirect, to cause the direction or
-+management of such entity, whether by contract or otherwise, or (b) ownership
-+of fifty percent (50%) or more of the outstanding shares or beneficial
-+ownership of such entity.
-+
-+2.    Permitted Uses; Conditions & Restrictions.   Subject to the terms and
-+conditions of this License, Apple hereby grants You, effective on the date You
-+accept this License and download the Original Code, a world-wide, royalty-free,
-+non-exclusive license, to the extent of Apple's Applicable Patent Rights and
-+copyrights covering the Original Code, to do the following:
-+
-+2.1   Unmodified Code.  You may use, reproduce, display, perform, internally
-+distribute within Your organization, and Externally Deploy verbatim, unmodified
-+copies of the Original Code, for commercial or non-commercial purposes,
-+provided that in each instance:
-+
-+(a)   You must retain and reproduce in all copies of Original Code the
-+copyright and other proprietary notices and disclaimers of Apple as they appear
-+in the Original Code, and keep intact all notices in the Original Code that
-+refer to this License; and
-+
-+(b)   You must include a copy of this License with every copy of Source Code
-+of Covered Code and documentation You distribute or Externally Deploy, and You
-+may not offer or impose any terms on such Source Code that alter or restrict
-+this License or the recipients' rights hereunder, except as permitted under
-+Section 6.
-+
-+2.2   Modified Code.  You may modify Covered Code and use, reproduce,
-+display, perform, internally distribute within Your organization, and
-+Externally Deploy Your Modifications and Covered Code, for commercial or
-+non-commercial purposes, provided that in each instance You also meet all of
-+these conditions:
-+
-+(a)   You must satisfy all the conditions of Section 2.1 with respect to the
-+Source Code of the Covered Code; 
-+
-+(b)   You must duplicate, to the extent it does not already exist, the notice
-+in Exhibit A in each file of the Source Code of all Your Modifications, and
-+cause the modified files to carry prominent notices stating that You changed
-+the files and the date of any change; and
-+
-+(c)   If You Externally Deploy Your Modifications, You must make Source Code
-+of all Your Externally Deployed Modifications either available to those to whom
-+You have Externally Deployed Your Modifications, or publicly available.  Source
-+Code of Your Externally Deployed Modifications must be released under the terms
-+set forth in this License, including the license grants set forth in Section 3
-+below, for as long as you Externally Deploy the Covered Code or twelve (12)
-+months from the date of initial External Deployment, whichever is longer. You
-+should preferably distribute the Source Code of Your Externally Deployed
-+Modifications electronically (e.g. download from a web site).
-+
-+2.3   Distribution of Executable Versions.  In addition, if You Externally
-+Deploy Covered Code (Original Code and/or Modifications) in object code,
-+executable form only, You must include a prominent notice, in the code itself
-+as well as in related documentation, stating that Source Code of the Covered
-+Code is available under the terms of this License with information on how and
-+where to obtain such Source Code.  
-+
-+2.4   Third Party Rights.  You expressly acknowledge and agree that although
-+Apple and each Contributor grants the licenses to their respective portions of
-+the Covered Code set forth herein, no assurances are provided by Apple or any
-+Contributor that the Covered Code does not infringe the patent or other
-+intellectual property rights of any other entity. Apple and each Contributor
-+disclaim any liability to You for claims brought by any other entity based on
-+infringement of intellectual property rights or otherwise. As a condition to
-+exercising the rights and licenses granted hereunder, You hereby assume sole
-+responsibility to secure any other intellectual property rights needed, if any.
-+For example, if a third party patent license is required to allow You to
-+distribute the Covered Code, it is Your responsibility to acquire that license
-+before distributing the Covered Code.
-+
-+3.    Your Grants.  In consideration of, and as a condition to, the licenses
-+granted to You under this License, You hereby grant to any person or entity
-+receiving or distributing Covered Code under this License a non-exclusive,
-+royalty-free, perpetual, irrevocable license, under Your Applicable Patent
-+Rights and other intellectual property rights (other than patent) owned or
-+controlled by You, to use, reproduce, display, perform, modify, sublicense,
-+distribute and Externally Deploy Your Modifications of the same scope and
-+extent as Apple's licenses under Sections 2.1 and 2.2 above.  
-+
-+4.    Larger Works.  You may create a Larger Work by combining Covered Code
-+with other code not governed by the terms of this License and distribute the
-+Larger Work as a single product.  In each such instance, You must make sure the
-+requirements of this License are fulfilled for the Covered Code or any portion
-+thereof. 
-+
-+5.    Limitations on Patent License.   Except as expressly stated in Section
-+2, no other patent rights, express or implied, are granted by Apple herein.
-+Modifications and/or Larger Works may require additional patent licenses from
-+Apple which Apple may grant in its sole discretion.  
-+
-+6.    Additional Terms.  You may choose to offer, and to charge a fee for,
-+warranty, support, indemnity or liability obligations and/or other rights
-+consistent with the scope of the license granted herein ("Additional Terms") to
-+one or more recipients of Covered Code. However, You may do so only on Your own
-+behalf and as Your sole responsibility, and not on behalf of Apple or any
-+Contributor. You must obtain the recipient's agreement that any such Additional
-+Terms are offered by You alone, and You hereby agree to indemnify, defend and
-+hold Apple and every Contributor harmless for any liability incurred by or
-+claims asserted against Apple or such Contributor by reason of any such
-+Additional Terms. 
-+
-+7.    Versions of the License.  Apple may publish revised and/or new versions
-+of this License from time to time.  Each version will be given a distinguishing
-+version number.  Once Original Code has been published under a particular
-+version of this License, You may continue to use it under the terms of that
-+version. You may also choose to use such Original Code under the terms of any
-+subsequent version of this License published by Apple.  No one other than Apple
-+has the right to modify the terms applicable to Covered Code created under this
-+License.  
-+
-+8.    NO WARRANTY OR SUPPORT.  The Covered Code may contain in whole or in
-+part pre-release, untested, or not fully tested works.  The Covered Code may
-+contain errors that could cause failures or loss of data, and may be incomplete
-+or contain inaccuracies.  You expressly acknowledge and agree that use of the
-+Covered Code, or any portion thereof, is at Your sole and entire risk.  THE
-+COVERED CODE IS PROVIDED "AS IS" AND WITHOUT WARRANTY, UPGRADES OR SUPPORT OF
-+ANY KIND AND APPLE AND APPLE'S LICENSOR(S) (COLLECTIVELY REFERRED TO AS "APPLE"
-+FOR THE PURPOSES OF SECTIONS 8 AND 9) AND ALL CONTRIBUTORS EXPRESSLY DISCLAIM
-+ALL WARRANTIES AND/OR CONDITIONS, EXPRESS OR IMPLIED, INCLUDING, BUT NOT
-+LIMITED TO, THE IMPLIED WARRANTIES AND/OR CONDITIONS OF MERCHANTABILITY, OF
-+SATISFACTORY QUALITY, OF FITNESS FOR A PARTICULAR PURPOSE, OF ACCURACY, OF
-+QUIET ENJOYMENT, AND NONINFRINGEMENT OF THIRD PARTY RIGHTS.  APPLE AND EACH
-+CONTRIBUTOR DOES NOT WARRANT AGAINST INTERFERENCE WITH YOUR ENJOYMENT OF THE
-+COVERED CODE, THAT THE FUNCTIONS CONTAINED IN THE COVERED CODE WILL MEET YOUR
-+REQUIREMENTS, THAT THE OPERATION OF THE COVERED CODE WILL BE UNINTERRUPTED OR
-+ERROR-FREE, OR THAT DEFECTS IN THE COVERED CODE WILL BE CORRECTED.  NO ORAL OR
-+WRITTEN INFORMATION OR ADVICE GIVEN BY APPLE, AN APPLE AUTHORIZED
-+REPRESENTATIVE OR ANY CONTRIBUTOR SHALL CREATE A WARRANTY.  You acknowledge
-+that the Covered Code is not intended for use in the operation of nuclear
-+facilities, aircraft navigation, communication systems, or air traffic control
-+machines in which case the failure of the Covered Code could lead to death,
-+personal injury, or severe physical or environmental damage.
-+
-+9.    LIMITATION OF LIABILITY. TO THE EXTENT NOT PROHIBITED BY LAW, IN NO
-+EVENT SHALL APPLE OR ANY CONTRIBUTOR BE LIABLE FOR ANY INCIDENTAL, SPECIAL,
-+INDIRECT OR CONSEQUENTIAL DAMAGES ARISING OUT OF OR RELATING TO THIS LICENSE OR
-+YOUR USE OR INABILITY TO USE THE COVERED CODE, OR ANY PORTION THEREOF, WHETHER
-+UNDER A THEORY OF CONTRACT, WARRANTY, TORT (INCLUDING NEGLIGENCE), PRODUCTS
-+LIABILITY OR OTHERWISE, EVEN IF APPLE OR SUCH CONTRIBUTOR HAS BEEN ADVISED OF
-+THE POSSIBILITY OF SUCH DAMAGES AND NOTWITHSTANDING THE FAILURE OF ESSENTIAL
-+PURPOSE OF ANY REMEDY. SOME JURISDICTIONS DO NOT ALLOW THE LIMITATION OF
-+LIABILITY OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THIS LIMITATION MAY NOT
-+APPLY TO YOU. In no event shall Apple's total liability to You for all damages
-+(other than as may be required by applicable law) under this License exceed the
-+amount of fifty dollars ($50.00).
-+
-+10.   Trademarks.  This License does not grant any rights to use the
-+trademarks or trade names  "Apple", "Mac", "Mac OS", "QuickTime", "QuickTime
-+Streaming Server" or any other trademarks, service marks, logos or trade names
-+belonging to Apple (collectively "Apple Marks") or to any trademark, service
-+mark, logo or trade name belonging to any Contributor.  You agree not to use
-+any Apple Marks in or as part of the name of products derived from the Original
-+Code or to endorse or promote products derived from the Original Code other
-+than as expressly permitted by and in strict compliance at all times with
-+Apple's third party trademark usage guidelines which are posted at
-+http://www.apple.com/legal/guidelinesfor3rdparties.html.  
-+
-+11.   Ownership. Subject to the licenses granted under this License, each
-+Contributor retains all rights, title and interest in and to any Modifications
-+made by such Contributor.  Apple retains all rights, title and interest in and
-+to the Original Code and any Modifications made by or on behalf of Apple
-+("Apple Modifications"), and such Apple Modifications will not be automatically
-+subject to this License.  Apple may, at its sole discretion, choose to license
-+such Apple Modifications under this License, or on different terms from those
-+contained in this License or may choose not to license them at all.  
-+
-+12.   Termination.  
-+
-+12.1  Termination.  This License and the rights granted hereunder will
-+terminate:
-+
-+(a)   automatically without notice from Apple if You fail to comply with any
-+term(s) of this License and fail to cure such breach within 30 days of becoming
-+aware of such breach; (b)     immediately in the event of the circumstances
-+described in Section 13.5(b); or (c)  automatically without notice from Apple
-+if You, at any time during the term of this License, commence an action for
-+patent infringement against Apple; provided that Apple did not first commence
-+an action for patent infringement against You in that instance.
-+
-+12.2  Effect of Termination.  Upon termination, You agree to immediately stop
-+any further use, reproduction, modification, sublicensing and distribution of
-+the Covered Code.  All sublicenses to the Covered Code which have been properly
-+granted prior to termination shall survive any termination of this License.
-+Provisions which, by their nature, should remain in effect beyond the
-+termination of this License shall survive, including but not limited to
-+Sections 3, 5, 8, 9, 10, 11, 12.2 and 13.  No party will be liable to any other
-+for compensation, indemnity or damages of any sort solely as a result of
-+terminating this License in accordance with its terms, and termination of this
-+License will be without prejudice to any other right or remedy of any party.
-+
-+13.   Miscellaneous.
-+
-+13.1  Government End Users.   The Covered Code is a "commercial item" as
-+defined in FAR 2.101.  Government software and technical data rights in the
-+Covered Code include only those rights customarily provided to the public as
-+defined in this License. This customary commercial license in technical data
-+and software is provided in accordance with FAR 12.211 (Technical Data) and
-+12.212 (Computer Software) and, for Department of Defense purchases, DFAR
-+252.227-7015 (Technical Data -- Commercial Items) and 227.7202-3 (Rights in
-+Commercial Computer Software or Computer Software Documentation).  Accordingly,
-+all U.S. Government End Users acquire Covered Code with only those rights set
-+forth herein.
-+
-+13.2  Relationship of Parties.  This License will not be construed as
-+creating an agency, partnership, joint venture or any other form of legal
-+association between or among You, Apple or any Contributor, and You will not
-+represent to the contrary, whether expressly, by implication, appearance or
-+otherwise.
-+
-+13.3  Independent Development.   Nothing in this License will impair Apple's
-+right to acquire, license, develop, have others develop for it, market and/or
-+distribute technology or products that perform the same or similar functions
-+as, or otherwise compete with, Modifications, Larger Works, technology or
-+products that You may develop, produce, market or distribute.
-+
-+13.4  Waiver; Construction.  Failure by Apple or any Contributor to enforce
-+any provision of this License will not be deemed a waiver of future enforcement
-+of that or any other provision.  Any law or regulation which provides that the
-+language of a contract shall be construed against the drafter will not apply to
-+this License.
-+
-+13.5  Severability.  (a) If for any reason a court of competent jurisdiction
-+finds any provision of this License, or portion thereof, to be unenforceable,
-+that provision of the License will be enforced to the maximum extent
-+permissible so as to effect the economic benefits and intent of the parties,
-+and the remainder of this License will continue in full force and effect.  (b)
-+Notwithstanding the foregoing, if applicable law prohibits or restricts You
-+from fully and/or specifically complying with Sections 2 and/or 3 or prevents
-+the enforceability of either of those Sections, this License will immediately
-+terminate and You must immediately discontinue any use of the Covered Code and
-+destroy all copies of it that are in your possession or control.
-+
-+13.6  Dispute Resolution.  Any litigation or other dispute resolution between
-+You and Apple relating to this License shall take place in the Northern
-+District of California, and You and Apple hereby consent to the personal
-+jurisdiction of, and venue in, the state and federal courts within that
-+District with respect to this License. The application of the United Nations
-+Convention on Contracts for the International Sale of Goods is expressly
-+excluded.
-+
-+13.7  Entire Agreement; Governing Law.  This License constitutes the entire
-+agreement between the parties with respect to the subject matter hereof.  This
-+License shall be governed by the laws of the United States and the State of
-+California, except that body of California law concerning conflicts of law. 
-+
-+Where You are located in the province of Quebec, Canada, the following clause
-+applies:  The parties hereby confirm that they have requested that this License
-+and all related documents be drafted in English.  Les parties ont exige que le
-+present contrat et tous les documents connexes soient rediges en anglais.
-+
-+EXHIBIT A. 
-+
-+"Portions Copyright (c) 1999-2007 Apple Inc.  All Rights Reserved.
-+
-+This file contains Original Code and/or Modifications of Original Code as
-+defined in and that are subject to the Apple Public Source License Version 2.0
-+(the 'License').  You may not use this file except in compliance with the
-+License.  Please obtain a copy of the License at
-+http://www.opensource.apple.com/apsl/ and read it before using this file.
-+
-+The Original Code and all software distributed under the License are
-+distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS
-+OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, INCLUDING WITHOUT
-+LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
-+PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.  Please see the License for the
-+specific language governing rights and limitations under the License." 
diff --git a/net-snmp/patches/net-snmp-5.5-dir-fix.patch b/net-snmp/patches/net-snmp-5.5-dir-fix.patch
deleted file mode 100644 (file)
index b726c47..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-Let net-snmp-create-v3-user save settings into /etc/ instead of /usr/
-
-diff -up net-snmp-5.5/net-snmp-create-v3-user.in.orig net-snmp-5.5/net-snmp-create-v3-user.in
---- net-snmp-5.5/net-snmp-create-v3-user.in.orig       2008-07-22 16:33:25.000000000 +0200
-+++ net-snmp-5.5/net-snmp-create-v3-user.in    2009-09-29 16:30:36.000000000 +0200
-@@ -158,7 +158,7 @@ if test ! -d $outfile ; then
-     touch $outfile
- fi
- echo $line >> $outfile
--outfile="@datadir@/snmp/snmpd.conf"
-+outfile="/etc/snmp/snmpd.conf"
- line="$token $user"
- echo "adding the following line to $outfile:"
- echo "  " $line
diff --git a/net-snmp/patches/net-snmp-5.5-perl-linking.patch b/net-snmp/patches/net-snmp-5.5-perl-linking.patch
deleted file mode 100644 (file)
index ceb6363..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-554747 - net-snmp-config should not contain perl options
-
-Remove rpath from net-snmp-config --agent-libs output.
-
-diff -up net-snmp-5.7/net-snmp-config.in.perl-linking net-snmp-5.7/net-snmp-config.in
---- net-snmp-5.7/net-snmp-config.in.perl-linking       2011-07-02 00:35:46.000000000 +0200
-+++ net-snmp-5.7/net-snmp-config.in    2011-07-07 13:30:01.635798817 +0200
-@@ -50,7 +50,7 @@ NSC_LDFLAGS="@LDFLAGS@"
- NSC_LIBS="@LIBS@"
- NSC_LNETSNMPLIBS="@LNETSNMPLIBS@"
--NSC_LAGENTLIBS="@LAGENTLIBS@ @PERLLDOPTS_FOR_APPS@"
-+NSC_LAGENTLIBS="@LAGENTLIBS@"
- NSC_LMIBLIBS="@LMIBLIBS@"
- NSC_INCLUDEDIR=${includedir}
diff --git a/net-snmp/patches/net-snmp-5.6-multilib.patch b/net-snmp/patches/net-snmp-5.6-multilib.patch
deleted file mode 100644 (file)
index 9c12385..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-diff -up net-snmp-5.7.3/man/netsnmp_config_api.3.def.oSBcEB net-snmp-5.7.3/man/netsnmp_config_api.3.def
---- net-snmp-5.7.3/man/netsnmp_config_api.3.def.oSBcEB 2014-12-08 21:23:22.000000000 +0100
-+++ net-snmp-5.7.3/man/netsnmp_config_api.3.def        2015-02-17 13:32:38.903284207 +0100
-@@ -295,7 +295,7 @@ for one particular machine.
- .PP
- The default list of directories to search is \fC SYSCONFDIR/snmp\fP,
- followed by \fC DATADIR/snmp\fP,
--followed by \fC LIBDIR/snmp\fP,
-+followed by \fC /usr/lib(64)/snmp\fP,
- followed by \fC $HOME/.snmp\fP.
- This list can be changed by setting the environmental variable
- .I SNMPCONFPATH
-@@ -365,7 +365,7 @@ function that it should abort the operat
- SNMPCONFPATH
- A colon separated list of directories to search for configuration
- files in.
--Default: SYSCONFDIR/snmp:DATADIR/snmp:LIBDIR/snmp:$HOME/.snmp
-+Default: SYSCONFDIR/snmp:DATADIR/snmp:/usr/lib(64)/snmp:$HOME/.snmp
- .SH "SEE ALSO"
- netsnmp_mib_api(3), snmp_api(3)
- .\" Local Variables:
-diff -up net-snmp-5.7.3/man/snmp_config.5.def.oSBcEB net-snmp-5.7.3/man/snmp_config.5.def
---- net-snmp-5.7.3/man/snmp_config.5.def.oSBcEB        2015-02-17 13:32:04.251309092 +0100
-+++ net-snmp-5.7.3/man/snmp_config.5.def       2015-02-17 13:33:09.217262438 +0100
-@@ -10,7 +10,7 @@ First off, there are numerous places tha
- found and read from.  By default, the applications look for
- configuration files in the following 4 directories, in order:
- SYSCONFDIR/snmp,
--DATADIR/snmp, LIBDIR/snmp, and $HOME/.snmp.  In each of these
-+DATADIR/snmp, /usr/lib(64)/snmp, and $HOME/.snmp.  In each of these
- directories, it looks for files snmp.conf, snmpd.conf and/or
- snmptrapd.conf, as well as snmp.local.conf, snmpd.local.conf
- and/or snmptrapd.local.conf. *.local.conf are always
-diff -up net-snmp-5.7.3/man/snmpd.conf.5.def.oSBcEB net-snmp-5.7.3/man/snmpd.conf.5.def
---- net-snmp-5.7.3/man/snmpd.conf.5.def.oSBcEB 2014-12-08 21:23:22.000000000 +0100
-+++ net-snmp-5.7.3/man/snmpd.conf.5.def        2015-02-17 13:32:04.251309092 +0100
-@@ -1502,7 +1502,7 @@ filename), and call the initialisation r
- .RS
- .IP "Note:"
- If the specified PATH is not a fully qualified filename, it will
--be interpreted relative to LIBDIR/snmp/dlmod, and \fC.so\fR
-+be interpreted relative to /usr/lib(64)/snmp/dlmod, and \fC.so\fR
- will be appended to the filename.
- .RE
- .PP
diff --git a/net-snmp/patches/net-snmp-5.6-test-debug.patch b/net-snmp/patches/net-snmp-5.6-test-debug.patch
deleted file mode 100644 (file)
index 4ae97fb..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-Don't check tests which depend on DNS - it's disabled in Koji
-
-diff -up net-snmp-5.7.2/testing/fulltests/default/T070com2sec_simple.debug net-snmp-5.7.2/testing/fulltests/default/T070com2sec_simple
---- net-snmp-5.7.2/testing/fulltests/default/T070com2sec_simple.debug  2012-10-10 00:28:58.000000000 +0200
-+++ net-snmp-5.7.2/testing/fulltests/default/T070com2sec_simple        2012-10-18 10:16:39.276416510 +0200
-@@ -134,6 +134,10 @@ SAVECHECKAGENT '<"c406a", 255.255.255.25
- SAVECHECKAGENT 'line 30: Error:' # msg from h_strerror so it varies
- SAVECHECKAGENT 'line 31: Error:' # msg from h_strerror so it varies
-+FINISHED
-+
-+# don't test the later, it depends on DNS, which is not available in Koji
-+
- CHECKAGENT '<"c408a"'
- if [ "$snmp_last_test_result" -eq 0 ] ; then
-   CHECKAGENT 'line 32: Error:'
-diff -up net-snmp-5.7.2/testing/fulltests/default/T071com2sec6_simple.debug net-snmp-5.7.2/testing/fulltests/default/T071com2sec6_simple
---- net-snmp-5.7.2/testing/fulltests/default/T071com2sec6_simple.debug 2012-10-10 00:28:58.000000000 +0200
-+++ net-snmp-5.7.2/testing/fulltests/default/T071com2sec6_simple       2012-10-18 10:16:39.276416510 +0200
-@@ -132,6 +132,9 @@ SAVECHECKAGENT '<"c606a", ffff:ffff:ffff
- SAVECHECKAGENT 'line 27: Error:'
- SAVECHECKAGENT 'line 28: Error:'
-+FINISHED
-+
-+# don't test the later, it depends on DNS, which is not available in Koji
- # 608
- CHECKAGENT '<"c608a"'
- if [ "$snmp_last_test_result" -eq 0 ] ; then
diff --git a/net-snmp/patches/net-snmp-5.7.2-systemd.patch b/net-snmp/patches/net-snmp-5.7.2-systemd.patch
deleted file mode 100644 (file)
index 4c89d60..0000000
+++ /dev/null
@@ -1,1650 +0,0 @@
-718183 - Provide native systemd unit file
-
-Gathered from following upstream git commits and backported to 5.7.
-
-commit 19499c3c90bf9d7b2b9e5d08baa26cc6bba28a11
-Author: Jan Safranek <jsafranek@users.sourceforge.net>
-Date:   Mon Aug 8 15:48:54 2011 +0200
-
-    CHANGES: snmpd: integrated with systemd, see README.systemd for details.
-    
-    It brings sd-daemon.c and .h directly downloaded from systemd. I've made very
-    few changes to it to match our NETSNMP_NO_SYSTEMD and include paths.
-
-commit fef6cddfdb94da1a6b1fb768af62918b80f11fd3
-Author: Jan Safranek <jsafranek@users.sourceforge.net>
-Date:   Mon Aug 8 15:48:54 2011 +0200
-
-    CHANGES: snmptrapd: integrate systemd notification support.
-
-commit 0641e43c694c485cbbffef0556efc4641bd3ff50
-Author: Jan Safranek <jsafranek@users.sourceforge.net>
-Date:   Mon Aug 8 15:48:54 2011 +0200
-
-    Add sd_find_inet_socket() and sd_find_inet_unisx() helpers into
-    system-specific code. This will help us to find various sockets
-    created by systemd much easier.
-
-commit 76530a89f1c8bbd0b63acce63e10d5d4812a1a16
-Author: Jan Safranek <jsafranek@users.sourceforge.net>
-Date:   Mon Aug 8 15:48:54 2011 +0200
-
-    Check sockets created by systemd when opening new server sockets.
-    
-    systemd can pass sockets to our daemons during startup using LISTEN_FDS
-    environment variable. So check this variable when opening new listening
-    socket - maybe system has already opened the socket for us.
-
-commit bf108d7f1354f6276fc43c129963f2c49b9fc242
-Author: Jan Safranek <jsafranek@users.sourceforge.net>
-Date:   Mon Aug 8 15:48:54 2011 +0200
-
-    Added sample systemd service files.
-
-commit 884ec488a6596380ba283d707827dd926a52e0b2
-Author: Jan Safranek <jsafranek@users.sourceforge.net>
-Date:   Mon Aug 8 15:48:55 2011 +0200
-
-    Run autoheader+autoconf.
-
-commit 86132e3f1e6ef7b4e0b96d8fa24e37c81b71b0e0
-Author: Jan Safranek <jsafranek@users.sourceforge.net>
-Date:   Tue Aug 9 10:53:43 2011 +0200
-
-    Update systemd documentation and samples.
-    
-    - add socket unit for snmpd to paralelize boot
-    - update WantedBy in socket units as recommended by http://0pointer.de/blog/projects/socket-activation.html
-    - rephrase README.systemd
-
-diff -up net-snmp-5.7.3/agent/snmpd.c.MPGqYh net-snmp-5.7.3/agent/snmpd.c
---- net-snmp-5.7.3/agent/snmpd.c.MPGqYh        2014-12-08 21:23:22.000000000 +0100
-+++ net-snmp-5.7.3/agent/snmpd.c       2015-02-17 13:34:05.736221851 +0100
-@@ -164,6 +164,10 @@ typedef long    fd_mask;
- #endif
-+#ifndef NETSNMP_NO_SYSTEMD
-+#include <net-snmp/library/sd-daemon.h>
-+#endif
-+
- netsnmp_feature_want(logging_file)
- netsnmp_feature_want(logging_stdio)
- netsnmp_feature_want(logging_syslog)
-@@ -443,18 +447,26 @@ main(int argc, char *argv[])
-     int             agent_mode = -1;
-     char           *pid_file = NULL;
-     char            option_compatability[] = "-Le";
-+    int             prepared_sockets = 0;
- #if HAVE_GETPID
-     int fd;
-     FILE           *PID;
- #endif
- #ifndef WIN32
-+#ifndef NETSNMP_NO_SYSYSTEMD
-+    /* check if systemd has sockets for us and don't close them */
-+    prepared_sockets = netsnmp_sd_listen_fds(0);
-+#endif /* NETSNMP_NO_SYSYSTEMD */
-+
-     /*
-      * close all non-standard file descriptors we may have
-      * inherited from the shell.
-      */
--    for (i = getdtablesize() - 1; i > 2; --i) {
--        (void) close(i);
-+    if (!prepared_sockets) {
-+        for (i = getdtablesize() - 1; i > 2; --i) {
-+            (void) close(i);
-+        }
-     }
- #endif /* #WIN32 */
-     
-@@ -1107,6 +1119,19 @@ main(int argc, char *argv[])
-     netsnmp_addrcache_initialise();
-     /*
-+     * Let systemd know we're up.
-+     */
-+#ifndef NETSNMP_NO_SYSTEMD
-+    netsnmp_sd_notify(1, "READY=1\n");
-+    if (prepared_sockets)
-+        /*
-+         * Clear the environment variable, we already processed all the sockets
-+         * by now.
-+         */
-+        netsnmp_sd_listen_fds(1);
-+#endif
-+
-+    /*
-      * Forever monitor the dest_port for incoming PDUs.  
-      */
-     DEBUGMSGTL(("snmpd/main", "We're up.  Starting to process data.\n"));
-diff -up net-snmp-5.7.3/apps/snmptrapd.c.MPGqYh net-snmp-5.7.3/apps/snmptrapd.c
---- net-snmp-5.7.3/apps/snmptrapd.c.MPGqYh     2014-12-08 21:23:22.000000000 +0100
-+++ net-snmp-5.7.3/apps/snmptrapd.c    2015-02-17 13:34:05.736221851 +0100
-@@ -125,6 +125,10 @@ SOFTWARE.
- #include <net-snmp/net-snmp-features.h>
-+#ifndef NETSNMP_NO_SYSTEMD
-+#include <net-snmp/library/sd-daemon.h>
-+#endif
-+
- #ifndef BSD4_3
- #define BSD4_2
- #endif
-@@ -657,15 +661,22 @@ main(int argc, char *argv[])
-     int             agentx_subagent = 1;
- #endif
-     netsnmp_trapd_handler *traph;
-+    int             prepared_sockets = 0;
- #ifndef WIN32
-+#ifndef NETSNMP_NO_SYSTEMD
-+    /* check if systemd has sockets for us and don't close them */
-+    prepared_sockets = netsnmp_sd_listen_fds(0);
-+#endif
-     /*
-      * close all non-standard file descriptors we may have
-      * inherited from the shell.
-      */
--    for (i = getdtablesize() - 1; i > 2; --i) {
--        (void) close(i);
-+    if (!prepared_sockets) {
-+        for (i = getdtablesize() - 1; i > 2; --i) {
-+            (void) close(i);
-+        }
-     }
- #endif /* #WIN32 */
-     
-@@ -1318,6 +1329,19 @@ main(int argc, char *argv[])
- #endif
- #endif
-+    /*
-+     * Let systemd know we're up.
-+     */
-+#ifndef NETSNMP_NO_SYSTEMD
-+    netsnmp_sd_notify(1, "READY=1\n");
-+    if (prepared_sockets)
-+        /*
-+         * Clear the environment variable, we already processed all the sockets
-+         * by now.
-+         */
-+        netsnmp_sd_listen_fds(1);
-+#endif
-+
- #ifdef WIN32SERVICE
-     trapd_status = SNMPTRAPD_RUNNING;
- #endif
-diff -up net-snmp-5.7.3/configure.d/config_modules_lib.MPGqYh net-snmp-5.7.3/configure.d/config_modules_lib
---- net-snmp-5.7.3/configure.d/config_modules_lib.MPGqYh       2014-12-08 21:23:22.000000000 +0100
-+++ net-snmp-5.7.3/configure.d/config_modules_lib      2015-02-17 13:34:05.737221850 +0100
-@@ -53,6 +53,14 @@ if test "x$PARTIALTARGETOS" = "xmingw32"
-   other_ftobjs_list="$other_ftobjs_list winpipe.ft"
- fi
-+# Linux systemd
-+if test "x$with_systemd" == "xyes"; then
-+  other_src_list="$other_src_list sd-daemon.c"
-+  other_objs_list="$other_objs_list sd-daemon.o"
-+  other_lobjs_list="$other_lobjs_list sd-daemon.lo"
-+  other_ftobjs_list="$other_ftobjs_list sd-daemon.ft"
-+fi
-+
- AC_SUBST(other_src_list)
- AC_SUBST(other_objs_list)
- AC_SUBST(other_lobjs_list)
-diff -up net-snmp-5.7.3/configure.d/config_project_with_enable.MPGqYh net-snmp-5.7.3/configure.d/config_project_with_enable
---- net-snmp-5.7.3/configure.d/config_project_with_enable.MPGqYh       2014-12-08 21:23:22.000000000 +0100
-+++ net-snmp-5.7.3/configure.d/config_project_with_enable      2015-02-17 13:34:05.737221850 +0100
-@@ -690,6 +690,15 @@ if test "x$with_dummy_values" != "xyes";
-      data for])
- fi
-+NETSNMP_ARG_WITH(systemd,
-+[  --with-systemd                 Provide systemd support. See README.systemd
-+                                  for details.])
-+# Define unless specifically suppressed (i.e., option defaults to false).
-+if test "x$with_systemd" != "xyes"; then
-+  AC_DEFINE(NETSNMP_NO_SYSTEMD, 1,
-+    [If you don't want to integrate with systemd.])
-+fi
-+
- NETSNMP_ARG_ENABLE(set-support,
- [  --disable-set-support           Do not allow SNMP set requests.])
- if test "x$enable_set_support" = "xno"; then
-diff -up net-snmp-5.7.3/configure.MPGqYh net-snmp-5.7.3/configure
---- net-snmp-5.7.3/configure.MPGqYh    2014-12-08 21:23:37.000000000 +0100
-+++ net-snmp-5.7.3/configure   2015-02-17 13:34:05.744221845 +0100
-@@ -951,6 +951,8 @@ with_kmem_usage
- enable_kmem_usage
- with_dummy_values
- enable_dummy_values
-+with_systemd
-+enable_systemd
- enable_set_support
- with_set_support
- with_sys_contact
-@@ -1867,6 +1869,8 @@ Configuring the agent:
-                                   This is technically not compliant with the
-                                   SNMP specifications, but was how the agent
-                                   operated for versions < 4.0.
-+  --with-systemd                 Provide systemd support. See README.systemd
-+                                  for details.
-   --with-sys-contact="who@where"  Default system contact.
-                                     (Default: LOGIN@DOMAINNAME)
-   --with-sys-location="location"  Default system location.
-@@ -4398,6 +4402,24 @@ $as_echo "#define NETSNMP_NO_DUMMY_VALUE
- fi
-+
-+# Check whether --with-systemd was given.
-+if test "${with_systemd+set}" = set; then :
-+  withval=$with_systemd;
-+fi
-+
-+   # Check whether --enable-systemd was given.
-+if test "${enable_systemd+set}" = set; then :
-+  enableval=$enable_systemd; as_fn_error $? "Invalid option. Use --with-systemd/--without-systemd instead" "$LINENO" 5
-+fi
-+
-+# Define unless specifically suppressed (i.e., option defaults to false).
-+if test "x$with_systemd" != "xyes"; then
-+
-+$as_echo "#define NETSNMP_NO_SYSTEMD 1" >>confdefs.h
-+
-+fi
-+
- # Check whether --enable-set-support was given.
- if test "${enable_set_support+set}" = set; then :
-   enableval=$enable_set_support;
-@@ -18639,6 +18661,14 @@ if test "x$PARTIALTARGETOS" = "xmingw32"
-   other_ftobjs_list="$other_ftobjs_list winpipe.ft"
- fi
-+# Linux systemd
-+if test "x$with_systemd" == "xyes"; then
-+  other_src_list="$other_src_list sd-daemon.c"
-+  other_objs_list="$other_objs_list sd-daemon.o"
-+  other_lobjs_list="$other_lobjs_list sd-daemon.lo"
-+  other_ftobjs_list="$other_ftobjs_list sd-daemon.ft"
-+fi
-+
-diff -up net-snmp-5.7.3/dist/snmpd.service.MPGqYh net-snmp-5.7.3/dist/snmpd.service
---- net-snmp-5.7.3/dist/snmpd.service.MPGqYh   2015-02-17 13:34:05.745221844 +0100
-+++ net-snmp-5.7.3/dist/snmpd.service  2015-02-17 13:34:05.745221844 +0100
-@@ -0,0 +1,18 @@
-+#
-+# SNMP agent service file for systemd
-+#
-+#
-+# The service should be enabled, i.e. snmpd should start during machine boot.
-+# Socket activation shall not be used. See README.systemd for details.
-+
-+[Unit]
-+Description=Simple Network Management Protocol (SNMP) daemon.
-+After=syslog.target network.target
-+
-+[Service]
-+# Type=notify is also supported. It should be set when snmpd.socket is not used.
-+Type=simple
-+ExecStart=/usr/sbin/snmpd -f
-+
-+[Install]
-+WantedBy=multi-user.target
-diff -up net-snmp-5.7.3/dist/snmpd.socket.MPGqYh net-snmp-5.7.3/dist/snmpd.socket
---- net-snmp-5.7.3/dist/snmpd.socket.MPGqYh    2015-02-17 13:34:05.745221844 +0100
-+++ net-snmp-5.7.3/dist/snmpd.socket   2015-02-17 13:34:05.745221844 +0100
-@@ -0,0 +1,17 @@
-+[Unit]
-+Description=Socket listening for SNMP and AgentX messages
-+
-+[Socket]
-+ListenDatagram=0.0.0.0:161
-+# Uncomment other listening addresses as needed - TCP, UDP6, TCP6.
-+# It must match listening addresses/ports defined in snmpd.service
-+# or snmpd.conf.
-+# ListenStream=0.0.0.0:161
-+# ListenDatagram=[::]:161
-+# ListenStream=[::]:161
-+#
-+# Uncomment AgentX socket if snmpd.conf enables AgentX protocol.
-+# ListenStream=/var/agentx/master
-+
-+[Install]
-+WantedBy=sockets.target
-diff -up net-snmp-5.7.3/dist/snmptrapd.service.MPGqYh net-snmp-5.7.3/dist/snmptrapd.service
---- net-snmp-5.7.3/dist/snmptrapd.service.MPGqYh       2015-02-17 13:34:05.745221844 +0100
-+++ net-snmp-5.7.3/dist/snmptrapd.service      2015-02-17 13:34:05.745221844 +0100
-@@ -0,0 +1,16 @@
-+#
-+# SNMP trap-processing service file for systemd
-+#
-+
-+[Unit]
-+Description=Simple Network Management Protocol (SNMP) Trap daemon.
-+After=syslog.target network.target
-+
-+[Service]
-+# Type=notify is also supported. It should be set when snmptrapd.socket is not
-+# used.
-+Type=simple
-+ExecStart=/usr/sbin/snmptrapd -f
-+
-+[Install]
-+WantedBy=multi-user.target
-diff -up net-snmp-5.7.3/dist/snmptrapd.socket.MPGqYh net-snmp-5.7.3/dist/snmptrapd.socket
---- net-snmp-5.7.3/dist/snmptrapd.socket.MPGqYh        2015-02-17 13:34:05.745221844 +0100
-+++ net-snmp-5.7.3/dist/snmptrapd.socket       2015-02-17 13:34:05.745221844 +0100
-@@ -0,0 +1,14 @@
-+[Unit]
-+Description=Socket listening for SNMP trap messages
-+
-+[Socket]
-+ListenDatagram=0.0.0.0:162
-+# Uncomment other listening addresses as needed - TCP, UDP6, TCP6.
-+# It must match listening addresses/ports defined in snmptrapd.service
-+# or snmptrapd.conf.
-+# ListenStream=0.0.0.0:162
-+# ListenDatagram=[::]:162
-+# ListenStream=[::]:162
-+
-+[Install]
-+WantedBy=sockets.target
-diff -up net-snmp-5.7.3/include/net-snmp/library/sd-daemon.h.MPGqYh net-snmp-5.7.3/include/net-snmp/library/sd-daemon.h
---- net-snmp-5.7.3/include/net-snmp/library/sd-daemon.h.MPGqYh 2015-02-17 13:34:05.746221843 +0100
-+++ net-snmp-5.7.3/include/net-snmp/library/sd-daemon.h        2015-02-17 13:34:05.746221843 +0100
-@@ -0,0 +1,286 @@
-+/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/
-+
-+#ifndef SNMPD_SD_DAEMON_H
-+#define SNMPD_SD_DAEMON_H
-+
-+/***
-+  Copyright 2010 Lennart Poettering
-+
-+  Permission is hereby granted, free of charge, to any person
-+  obtaining a copy of this software and associated documentation files
-+  (the "Software"), to deal in the Software without restriction,
-+  including without limitation the rights to use, copy, modify, merge,
-+  publish, distribute, sublicense, and/or sell copies of the Software,
-+  and to permit persons to whom the Software is furnished to do so,
-+  subject to the following conditions:
-+
-+  The above copyright notice and this permission notice shall be
-+  included in all copies or substantial portions of the Software.
-+
-+  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-+  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-+  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-+  NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
-+  BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
-+  ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-+  CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-+  SOFTWARE.
-+***/
-+
-+#include <sys/types.h>
-+#include <inttypes.h>
-+
-+#ifdef __cplusplus
-+extern "C" {
-+#endif
-+
-+/*
-+  Reference implementation of a few systemd related interfaces for
-+  writing daemons. These interfaces are trivial to implement. To
-+  simplify porting we provide this reference implementation.
-+  Applications are welcome to reimplement the algorithms described
-+  here if they do not want to include these two source files.
-+
-+  The following functionality is provided:
-+
-+  - Support for logging with log levels on stderr
-+  - File descriptor passing for socket-based activation
-+  - Daemon startup and status notification
-+  - Detection of systemd boots
-+
-+  You may compile this with -DDISABLE_SYSTEMD to disable systemd
-+  support. This makes all those calls NOPs that are directly related to
-+  systemd (i.e. only sd_is_xxx() will stay useful).
-+
-+  Since this is drop-in code we don't want any of our symbols to be
-+  exported in any case. Hence we declare hidden visibility for all of
-+  them.
-+
-+  You may find an up-to-date version of these source files online:
-+
-+  http://cgit.freedesktop.org/systemd/plain/src/sd-daemon.h
-+  http://cgit.freedesktop.org/systemd/plain/src/sd-daemon.c
-+
-+  This should compile on non-Linux systems, too, but with the
-+  exception of the sd_is_xxx() calls all functions will become NOPs.
-+
-+  See sd-daemon(7) for more information.
-+*/
-+
-+#ifndef _sd_printf_attr_
-+#if __GNUC__ >= 4
-+#define _sd_printf_attr_(a,b) __attribute__ ((format (printf, a, b)))
-+#else
-+#define _sd_printf_attr_(a,b)
-+#endif
-+#endif
-+
-+/*
-+  Log levels for usage on stderr:
-+
-+          fprintf(stderr, SD_NOTICE "Hello World!\n");
-+
-+  This is similar to printk() usage in the kernel.
-+*/
-+#define SD_EMERG   "<0>"  /* system is unusable */
-+#define SD_ALERT   "<1>"  /* action must be taken immediately */
-+#define SD_CRIT    "<2>"  /* critical conditions */
-+#define SD_ERR     "<3>"  /* error conditions */
-+#define SD_WARNING "<4>"  /* warning conditions */
-+#define SD_NOTICE  "<5>"  /* normal but significant condition */
-+#define SD_INFO    "<6>"  /* informational */
-+#define SD_DEBUG   "<7>"  /* debug-level messages */
-+
-+/* The first passed file descriptor is fd 3 */
-+#define SD_LISTEN_FDS_START 3
-+
-+/*
-+  Returns how many file descriptors have been passed, or a negative
-+  errno code on failure. Optionally, removes the $LISTEN_FDS and
-+  $LISTEN_PID file descriptors from the environment (recommended, but
-+  problematic in threaded environments). If r is the return value of
-+  this function you'll find the file descriptors passed as fds
-+  SD_LISTEN_FDS_START to SD_LISTEN_FDS_START+r-1. Returns a negative
-+  errno style error code on failure. This function call ensures that
-+  the FD_CLOEXEC flag is set for the passed file descriptors, to make
-+  sure they are not passed on to child processes. If FD_CLOEXEC shall
-+  not be set, the caller needs to unset it after this call for all file
-+  descriptors that are used.
-+
-+  See sd_listen_fds(3) for more information.
-+*/
-+int netsnmp_sd_listen_fds(int unset_environment);
-+
-+/*
-+  Helper call for identifying a passed file descriptor. Returns 1 if
-+  the file descriptor is a FIFO in the file system stored under the
-+  specified path, 0 otherwise. If path is NULL a path name check will
-+  not be done and the call only verifies if the file descriptor
-+  refers to a FIFO. Returns a negative errno style error code on
-+  failure.
-+
-+  See sd_is_fifo(3) for more information.
-+*/
-+int netsnmp_sd_is_fifo(int fd, const char *path);
-+
-+/*
-+  Helper call for identifying a passed file descriptor. Returns 1 if
-+  the file descriptor is a special character device on the file
-+  system stored under the specified path, 0 otherwise.
-+  If path is NULL a path name check will not be done and the call
-+  only verifies if the file descriptor refers to a special character.
-+  Returns a negative errno style error code on failure.
-+
-+  See sd_is_special(3) for more information.
-+*/
-+int netsnmp_sd_is_special(int fd, const char *path);
-+
-+/*
-+  Helper call for identifying a passed file descriptor. Returns 1 if
-+  the file descriptor is a socket of the specified family (AF_INET,
-+  ...) and type (SOCK_DGRAM, SOCK_STREAM, ...), 0 otherwise. If
-+  family is 0 a socket family check will not be done. If type is 0 a
-+  socket type check will not be done and the call only verifies if
-+  the file descriptor refers to a socket. If listening is > 0 it is
-+  verified that the socket is in listening mode. (i.e. listen() has
-+  been called) If listening is == 0 it is verified that the socket is
-+  not in listening mode. If listening is < 0 no listening mode check
-+  is done. Returns a negative errno style error code on failure.
-+
-+  See sd_is_socket(3) for more information.
-+*/
-+int netsnmp_sd_is_socket(int fd, int family, int type, int listening);
-+
-+/*
-+  Helper call for identifying a passed file descriptor. Returns 1 if
-+  the file descriptor is an Internet socket, of the specified family
-+  (either AF_INET or AF_INET6) and the specified type (SOCK_DGRAM,
-+  SOCK_STREAM, ...), 0 otherwise. If version is 0 a protocol version
-+  check is not done. If type is 0 a socket type check will not be
-+  done. If port is 0 a socket port check will not be done. The
-+  listening flag is used the same way as in sd_is_socket(). Returns a
-+  negative errno style error code on failure.
-+
-+  See sd_is_socket_inet(3) for more information.
-+*/
-+int netsnmp_sd_is_socket_inet(int fd, int family, int type, int listening, uint16_t port);
-+
-+/*
-+  Helper call for identifying a passed file descriptor. Returns 1 if
-+  the file descriptor is an AF_UNIX socket of the specified type
-+  (SOCK_DGRAM, SOCK_STREAM, ...) and path, 0 otherwise. If type is 0
-+  a socket type check will not be done. If path is NULL a socket path
-+  check will not be done. For normal AF_UNIX sockets set length to
-+  0. For abstract namespace sockets set length to the length of the
-+  socket name (including the initial 0 byte), and pass the full
-+  socket path in path (including the initial 0 byte). The listening
-+  flag is used the same way as in sd_is_socket(). Returns a negative
-+  errno style error code on failure.
-+
-+  See sd_is_socket_unix(3) for more information.
-+*/
-+int netsnmp_sd_is_socket_unix(int fd, int type, int listening, const char *path, size_t length);
-+
-+/*
-+  Informs systemd about changed daemon state. This takes a number of
-+  newline separated environment-style variable assignments in a
-+  string. The following variables are known:
-+
-+     READY=1      Tells systemd that daemon startup is finished (only
-+                  relevant for services of Type=notify). The passed
-+                  argument is a boolean "1" or "0". Since there is
-+                  little value in signaling non-readiness the only
-+                  value daemons should send is "READY=1".
-+
-+     STATUS=...   Passes a single-line status string back to systemd
-+                  that describes the daemon state. This is free-from
-+                  and can be used for various purposes: general state
-+                  feedback, fsck-like programs could pass completion
-+                  percentages and failing programs could pass a human
-+                  readable error message. Example: "STATUS=Completed
-+                  66% of file system check..."
-+
-+     ERRNO=...    If a daemon fails, the errno-style error code,
-+                  formatted as string. Example: "ERRNO=2" for ENOENT.
-+
-+     BUSERROR=... If a daemon fails, the D-Bus error-style error
-+                  code. Example: "BUSERROR=org.freedesktop.DBus.Error.TimedOut"
-+
-+     MAINPID=...  The main pid of a daemon, in case systemd did not
-+                  fork off the process itself. Example: "MAINPID=4711"
-+
-+  Daemons can choose to send additional variables. However, it is
-+  recommended to prefix variable names not listed above with X_.
-+
-+  Returns a negative errno-style error code on failure. Returns > 0
-+  if systemd could be notified, 0 if it couldn't possibly because
-+  systemd is not running.
-+
-+  Example: When a daemon finished starting up, it could issue this
-+  call to notify systemd about it:
-+
-+     sd_notify(0, "READY=1");
-+
-+  See sd_notifyf() for more complete examples.
-+
-+  See sd_notify(3) for more information.
-+*/
-+int netsnmp_sd_notify(int unset_environment, const char *state);
-+
-+/*
-+  Similar to sd_notify() but takes a format string.
-+
-+  Example 1: A daemon could send the following after initialization:
-+
-+     sd_notifyf(0, "READY=1\n"
-+                   "STATUS=Processing requests...\n"
-+                   "MAINPID=%lu",
-+                   (unsigned long) getpid());
-+
-+  Example 2: A daemon could send the following shortly before
-+  exiting, on failure:
-+
-+     sd_notifyf(0, "STATUS=Failed to start up: %s\n"
-+                   "ERRNO=%i",
-+                   strerror(errno),
-+                   errno);
-+
-+  See sd_notifyf(3) for more information.
-+*/
-+int netsnmp_sd_notifyf(int unset_environment, const char *format, ...) _sd_printf_attr_(2,3);
-+
-+/*
-+  Returns > 0 if the system was booted with systemd. Returns < 0 on
-+  error. Returns 0 if the system was not booted with systemd. Note
-+  that all of the functions above handle non-systemd boots just
-+  fine. You should NOT protect them with a call to this function. Also
-+  note that this function checks whether the system, not the user
-+  session is controlled by systemd. However the functions above work
-+  for both user and system services.
-+
-+  See sd_booted(3) for more information.
-+*/
-+int netsnmp_sd_booted(void);
-+
-+/**
-+ * Find an socket with given parameters. See man sd_is_socket_inet for
-+ * description of the arguments.
-+ *
-+ * Returns the file descriptor if it is found, 0 otherwise.
-+ */
-+int netsnmp_sd_find_inet_socket(int family, int type, int listening, int port);
-+
-+/**
-+ * Find an unix socket with given parameters. See man sd_is_socket_unix for
-+ * description of the arguments.
-+ *
-+ * Returns the file descriptor if it is found, 0 otherwise.
-+ */
-+int
-+netsnmp_sd_find_unix_socket(int type, int listening, const char *path);
-+
-+#ifdef __cplusplus
-+}
-+#endif
-+
-+#endif /* SNMPD_SD_DAEMON_H */
-diff -up net-snmp-5.7.3/include/net-snmp/net-snmp-config.h.in.MPGqYh net-snmp-5.7.3/include/net-snmp/net-snmp-config.h.in
---- net-snmp-5.7.3/include/net-snmp/net-snmp-config.h.in.MPGqYh        2014-12-08 21:23:22.000000000 +0100
-+++ net-snmp-5.7.3/include/net-snmp/net-snmp-config.h.in       2015-02-17 13:34:05.746221843 +0100
-@@ -1410,6 +1410,9 @@
- /* If you don't have root access don't exit upon kmem errors */
- #undef NETSNMP_NO_ROOT_ACCESS
-+/* If you don't want to integrate with systemd. */
-+#undef NETSNMP_NO_SYSTEMD
-+
- /* Define if you want to remove all SET/write access from the code */
- #undef NETSNMP_NO_WRITE_SUPPORT
-diff -up net-snmp-5.7.3/README.systemd.MPGqYh net-snmp-5.7.3/README.systemd
---- net-snmp-5.7.3/README.systemd.MPGqYh       2015-02-17 13:34:05.747221843 +0100
-+++ net-snmp-5.7.3/README.systemd      2015-02-17 13:34:05.747221843 +0100
-@@ -0,0 +1,41 @@
-+README.systemd
-+--------------
-+Net-SNMP provides two daemons, which support systemd system manager. 
-+See http://www.freedesktop.org/wiki/Software/systemd to learn how
-+systemd works. Both socket activation and notification is supported by these
-+daemons.
-+
-+To enable systemd support, the sources must be compiled with
-+--with-systemd configure option.
-+
-+snmpd - The SNMP agent
-+----------------------
-+Socket activation od snmpd daemon is implemented, but it's discouraged.
-+The reason is simple - snmpd not only listens and processes SNMP requests
-+from network, but also gathers system statistics counters, sends traps and
-+communicates with subagents. It even opens few netlink sockets.
-+
-+In other words, snmpd should run from system start to properly work.
-+This can be done in two ways:
-+1) either as snmpd service unit with 'Type=notification' and without a socket
-+   unit
-+2) or as snmpd service unit with 'Type=simple', appropriate socket socket unit
-+   and the snmpd service enabled. This way systemd creates the snmpd listening
-+   socket early during boot and passes the sockets to snmpd slightly later
-+   (but still during machine boot). This way systemd can paralelize start of
-+   services, which depend on snmpd. Admins must adjust the socket file manually,
-+   depending if the snmpd support AgentX, IPv6, SMUX etc.
-+
-+snmpd should be started with '-f' command line parameter to disable forking -
-+systemd does that for us automatically.
-+
-+
-+snmptrapd - The trap processing daemon
-+--------------------------------------
-+snmptrapd supports full socket activation and also notification (if needed).
-+Both 'Type=simple' (with appropriate socket unit) and 'Type=notify' services
-+will work. Again, '-f' parameter should be provided on snmptrapd command line.
-+
-+If integration with SNMP agent using AgentX protocol is enabled, snmptrapd should
-+start during boot and not after first SNMP trap arrives. Same rules as for snmpd
-+applies then.
-\ No newline at end of file
-diff -up net-snmp-5.7.3/snmplib/sd-daemon.c.MPGqYh net-snmp-5.7.3/snmplib/sd-daemon.c
---- net-snmp-5.7.3/snmplib/sd-daemon.c.MPGqYh  2015-02-17 13:34:05.747221843 +0100
-+++ net-snmp-5.7.3/snmplib/sd-daemon.c 2015-02-17 13:34:05.747221843 +0100
-@@ -0,0 +1,532 @@
-+/*
-+ * Systemd integration parts.
-+ *
-+ * Most of this file is directly copied from systemd sources.
-+ * Changes:
-+ * - all functions were renamed to have netsnmp_ prefix
-+ * - includes were  changed to match Net-SNMP style.
-+ * - removed gcc export macros
-+ * - removed POSIX message queues
-+ */
-+
-+#include <net-snmp/net-snmp-config.h>
-+#include <net-snmp/net-snmp-features.h>
-+#include <net-snmp/types.h>
-+#include <net-snmp/library/snmp_debug.h>
-+
-+#ifndef NETSNMP_NO_SYSTEMD
-+
-+/***
-+  Copyright 2010 Lennart Poettering
-+
-+  Permission is hereby granted, free of charge, to any person
-+  obtaining a copy of this software and associated documentation files
-+  (the "Software"), to deal in the Software without restriction,
-+  including without limitation the rights to use, copy, modify, merge,
-+  publish, distribute, sublicense, and/or sell copies of the Software,
-+  and to permit persons to whom the Software is furnished to do so,
-+  subject to the following conditions:
-+
-+  The above copyright notice and this permission notice shall be
-+  included in all copies or substantial portions of the Software.
-+
-+  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-+  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-+  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-+  NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
-+  BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
-+  ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-+  CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-+  SOFTWARE.
-+***/
-+
-+#ifndef _GNU_SOURCE
-+#define _GNU_SOURCE
-+#endif
-+
-+#include <sys/types.h>
-+#include <sys/stat.h>
-+#include <sys/socket.h>
-+#include <sys/un.h>
-+#include <sys/fcntl.h>
-+#include <netinet/in.h>
-+#include <stdlib.h>
-+#include <errno.h>
-+#include <unistd.h>
-+#include <string.h>
-+#include <stdarg.h>
-+#include <stdio.h>
-+#include <stddef.h>
-+#include <limits.h>
-+
-+#include <net-snmp/library/sd-daemon.h>
-+
-+int netsnmp_sd_listen_fds(int unset_environment) {
-+
-+        int r, fd;
-+        const char *e;
-+        char *p = NULL;
-+        unsigned long l;
-+
-+        if (!(e = getenv("LISTEN_PID"))) {
-+                r = 0;
-+                goto finish;
-+        }
-+
-+        errno = 0;
-+        l = strtoul(e, &p, 10);
-+
-+        if (errno != 0) {
-+                r = -errno;
-+                goto finish;
-+        }
-+
-+        if (!p || *p || l <= 0) {
-+                r = -EINVAL;
-+                goto finish;
-+        }
-+
-+        /* Is this for us? */
-+        if (getpid() != (pid_t) l) {
-+                r = 0;
-+                goto finish;
-+        }
-+
-+        if (!(e = getenv("LISTEN_FDS"))) {
-+                r = 0;
-+                goto finish;
-+        }
-+
-+        errno = 0;
-+        l = strtoul(e, &p, 10);
-+
-+        if (errno != 0) {
-+                r = -errno;
-+                goto finish;
-+        }
-+
-+        if (!p || *p) {
-+                r = -EINVAL;
-+                goto finish;
-+        }
-+
-+        for (fd = SD_LISTEN_FDS_START; fd < SD_LISTEN_FDS_START + (int) l; fd ++) {
-+                int flags;
-+
-+                if ((flags = fcntl(fd, F_GETFD)) < 0) {
-+                        r = -errno;
-+                        goto finish;
-+                }
-+
-+                if (flags & FD_CLOEXEC)
-+                        continue;
-+
-+                if (fcntl(fd, F_SETFD, flags | FD_CLOEXEC) < 0) {
-+                        r = -errno;
-+                        goto finish;
-+                }
-+        }
-+
-+        r = (int) l;
-+
-+finish:
-+        if (unset_environment) {
-+                unsetenv("LISTEN_PID");
-+                unsetenv("LISTEN_FDS");
-+        }
-+
-+        return r;
-+}
-+
-+int netsnmp_sd_is_fifo(int fd, const char *path) {
-+        struct stat st_fd;
-+
-+        if (fd < 0)
-+                return -EINVAL;
-+
-+        memset(&st_fd, 0, sizeof(st_fd));
-+        if (fstat(fd, &st_fd) < 0)
-+                return -errno;
-+
-+        if (!S_ISFIFO(st_fd.st_mode))
-+                return 0;
-+
-+        if (path) {
-+                struct stat st_path;
-+
-+                memset(&st_path, 0, sizeof(st_path));
-+                if (stat(path, &st_path) < 0) {
-+
-+                        if (errno == ENOENT || errno == ENOTDIR)
-+                                return 0;
-+
-+                        return -errno;
-+                }
-+
-+                return
-+                        st_path.st_dev == st_fd.st_dev &&
-+                        st_path.st_ino == st_fd.st_ino;
-+        }
-+
-+        return 1;
-+}
-+
-+int netsnmp_sd_is_special(int fd, const char *path) {
-+        struct stat st_fd;
-+
-+        if (fd < 0)
-+                return -EINVAL;
-+
-+        if (fstat(fd, &st_fd) < 0)
-+                return -errno;
-+
-+        if (!S_ISREG(st_fd.st_mode) && !S_ISCHR(st_fd.st_mode))
-+                return 0;
-+
-+        if (path) {
-+                struct stat st_path;
-+
-+                if (stat(path, &st_path) < 0) {
-+
-+                        if (errno == ENOENT || errno == ENOTDIR)
-+                                return 0;
-+
-+                        return -errno;
-+                }
-+
-+                if (S_ISREG(st_fd.st_mode) && S_ISREG(st_path.st_mode))
-+                        return
-+                                st_path.st_dev == st_fd.st_dev &&
-+                                st_path.st_ino == st_fd.st_ino;
-+                else if (S_ISCHR(st_fd.st_mode) && S_ISCHR(st_path.st_mode))
-+                        return st_path.st_rdev == st_fd.st_rdev;
-+                else
-+                        return 0;
-+        }
-+
-+        return 1;
-+}
-+
-+static int sd_is_socket_internal(int fd, int type, int listening) {
-+        struct stat st_fd;
-+
-+        if (fd < 0 || type < 0)
-+                return -EINVAL;
-+
-+        if (fstat(fd, &st_fd) < 0)
-+                return -errno;
-+
-+        if (!S_ISSOCK(st_fd.st_mode))
-+                return 0;
-+
-+        if (type != 0) {
-+                int other_type = 0;
-+                socklen_t l = sizeof(other_type);
-+
-+                if (getsockopt(fd, SOL_SOCKET, SO_TYPE, &other_type, &l) < 0)
-+                        return -errno;
-+
-+                if (l != sizeof(other_type))
-+                        return -EINVAL;
-+
-+                if (other_type != type)
-+                        return 0;
-+        }
-+
-+        if (listening >= 0) {
-+                int accepting = 0;
-+                socklen_t l = sizeof(accepting);
-+
-+                if (getsockopt(fd, SOL_SOCKET, SO_ACCEPTCONN, &accepting, &l) < 0)
-+                        return -errno;
-+
-+                if (l != sizeof(accepting))
-+                        return -EINVAL;
-+
-+                if (!accepting != !listening)
-+                        return 0;
-+        }
-+
-+        return 1;
-+}
-+
-+union sockaddr_union {
-+        struct sockaddr sa;
-+        struct sockaddr_in in4;
-+        struct sockaddr_in6 in6;
-+        struct sockaddr_un un;
-+        struct sockaddr_storage storage;
-+};
-+
-+int netsnmp_sd_is_socket(int fd, int family, int type, int listening) {
-+        int r;
-+
-+        if (family < 0)
-+                return -EINVAL;
-+
-+        if ((r = sd_is_socket_internal(fd, type, listening)) <= 0)
-+                return r;
-+
-+        if (family > 0) {
-+                union sockaddr_union sockaddr;
-+                socklen_t l;
-+
-+                memset(&sockaddr, 0, sizeof(sockaddr));
-+                l = sizeof(sockaddr);
-+
-+                if (getsockname(fd, &sockaddr.sa, &l) < 0)
-+                        return -errno;
-+
-+                if (l < sizeof(sa_family_t))
-+                        return -EINVAL;
-+
-+                return sockaddr.sa.sa_family == family;
-+        }
-+
-+        return 1;
-+}
-+
-+int netsnmp_sd_is_socket_inet(int fd, int family, int type, int listening, uint16_t port) {
-+        union sockaddr_union sockaddr;
-+        socklen_t l;
-+        int r;
-+
-+        if (family != 0 && family != AF_INET && family != AF_INET6)
-+                return -EINVAL;
-+
-+        if ((r = sd_is_socket_internal(fd, type, listening)) <= 0)
-+                return r;
-+
-+        memset(&sockaddr, 0, sizeof(sockaddr));
-+        l = sizeof(sockaddr);
-+
-+        if (getsockname(fd, &sockaddr.sa, &l) < 0)
-+                return -errno;
-+
-+        if (l < sizeof(sa_family_t))
-+                return -EINVAL;
-+
-+        if (sockaddr.sa.sa_family != AF_INET &&
-+            sockaddr.sa.sa_family != AF_INET6)
-+                return 0;
-+
-+        if (family > 0)
-+                if (sockaddr.sa.sa_family != family)
-+                        return 0;
-+
-+        if (port > 0) {
-+                if (sockaddr.sa.sa_family == AF_INET) {
-+                        if (l < sizeof(struct sockaddr_in))
-+                                return -EINVAL;
-+
-+                        return htons(port) == sockaddr.in4.sin_port;
-+                } else {
-+                        if (l < sizeof(struct sockaddr_in6))
-+                                return -EINVAL;
-+
-+                        return htons(port) == sockaddr.in6.sin6_port;
-+                }
-+        }
-+
-+        return 1;
-+}
-+
-+int netsnmp_sd_is_socket_unix(int fd, int type, int listening, const char *path, size_t length) {
-+        union sockaddr_union sockaddr;
-+        socklen_t l;
-+        int r;
-+
-+        if ((r = sd_is_socket_internal(fd, type, listening)) <= 0)
-+                return r;
-+
-+        memset(&sockaddr, 0, sizeof(sockaddr));
-+        l = sizeof(sockaddr);
-+
-+        if (getsockname(fd, &sockaddr.sa, &l) < 0)
-+                return -errno;
-+
-+        if (l < sizeof(sa_family_t))
-+                return -EINVAL;
-+
-+        if (sockaddr.sa.sa_family != AF_UNIX)
-+                return 0;
-+
-+        if (path) {
-+                if (length <= 0)
-+                        length = strlen(path);
-+
-+                if (length <= 0)
-+                        /* Unnamed socket */
-+                        return l == offsetof(struct sockaddr_un, sun_path);
-+
-+                if (path[0])
-+                        /* Normal path socket */
-+                        return
-+                                (l >= offsetof(struct sockaddr_un, sun_path) + length + 1) &&
-+                                memcmp(path, sockaddr.un.sun_path, length+1) == 0;
-+                else
-+                        /* Abstract namespace socket */
-+                        return
-+                                (l == offsetof(struct sockaddr_un, sun_path) + length) &&
-+                                memcmp(path, sockaddr.un.sun_path, length) == 0;
-+        }
-+
-+        return 1;
-+}
-+
-+int netsnmp_sd_notify(int unset_environment, const char *state) {
-+        int fd = -1, r;
-+        struct msghdr msghdr;
-+        struct iovec iovec;
-+        union sockaddr_union sockaddr;
-+        const char *e;
-+
-+        if (!state) {
-+                r = -EINVAL;
-+                goto finish;
-+        }
-+
-+        if (!(e = getenv("NOTIFY_SOCKET")))
-+                return 0;
-+
-+        /* Must be an abstract socket, or an absolute path */
-+        if ((e[0] != '@' && e[0] != '/') || e[1] == 0) {
-+                r = -EINVAL;
-+                goto finish;
-+        }
-+
-+        if ((fd = socket(AF_UNIX, SOCK_DGRAM|SOCK_CLOEXEC, 0)) < 0) {
-+                r = -errno;
-+                goto finish;
-+        }
-+
-+        memset(&sockaddr, 0, sizeof(sockaddr));
-+        sockaddr.sa.sa_family = AF_UNIX;
-+        strncpy(sockaddr.un.sun_path, e, sizeof(sockaddr.un.sun_path));
-+
-+        if (sockaddr.un.sun_path[0] == '@')
-+                sockaddr.un.sun_path[0] = 0;
-+
-+        memset(&iovec, 0, sizeof(iovec));
-+        iovec.iov_base = (char *)state;
-+        iovec.iov_len = strlen(state);
-+
-+        memset(&msghdr, 0, sizeof(msghdr));
-+        msghdr.msg_name = &sockaddr;
-+        msghdr.msg_namelen = offsetof(struct sockaddr_un, sun_path) + strlen(e);
-+
-+        if (msghdr.msg_namelen > sizeof(struct sockaddr_un))
-+                msghdr.msg_namelen = sizeof(struct sockaddr_un);
-+
-+        msghdr.msg_iov = &iovec;
-+        msghdr.msg_iovlen = 1;
-+
-+        if (sendmsg(fd, &msghdr, MSG_NOSIGNAL) < 0) {
-+                r = -errno;
-+                goto finish;
-+        }
-+
-+        r = 1;
-+
-+finish:
-+        if (unset_environment)
-+                unsetenv("NOTIFY_SOCKET");
-+
-+        if (fd >= 0)
-+                close(fd);
-+
-+        return r;
-+}
-+
-+int netsnmp_sd_notifyf(int unset_environment, const char *format, ...) {
-+        va_list ap;
-+        char *p = NULL;
-+        int r;
-+
-+        va_start(ap, format);
-+        r = vasprintf(&p, format, ap);
-+        va_end(ap);
-+
-+        if (r < 0 || !p)
-+                return -ENOMEM;
-+
-+        r = netsnmp_sd_notify(unset_environment, p);
-+        free(p);
-+
-+        return r;
-+}
-+
-+int netsnmp_sd_booted(void) {
-+        struct stat a, b;
-+
-+        /* We simply test whether the systemd cgroup hierarchy is
-+         * mounted */
-+
-+        if (lstat("/sys/fs/cgroup", &a) < 0)
-+                return 0;
-+
-+        if (lstat("/sys/fs/cgroup/systemd", &b) < 0)
-+                return 0;
-+
-+        return a.st_dev != b.st_dev;
-+}
-+
-+/* End of original sd-daemon.c from systemd sources */
-+
-+int
-+netsnmp_sd_find_inet_socket(int family, int type, int listening, int port)
-+{
-+    int count, fd;
-+
-+    count = netsnmp_sd_listen_fds(0);
-+    if (count <= 0) {
-+        DEBUGMSGTL(("systemd:find_inet_socket", "No LISTEN_FDS found.\n"));
-+        return 0;
-+    }
-+    DEBUGMSGTL(("systemd:find_inet_socket", "LISTEN_FDS reports %d sockets.\n",
-+            count));
-+
-+    for (fd = 3; fd < 3+count; fd++) {
-+        int rc = netsnmp_sd_is_socket_inet(fd, family, type, listening, port);
-+        if (rc < 0)
-+            DEBUGMSGTL(("systemd:find_inet_socket",
-+                    "sd_is_socket_inet error: %d\n", rc));
-+        if (rc > 0) {
-+            DEBUGMSGTL(("systemd:find_inet_socket",
-+                    "Found the socket in LISTEN_FDS\n"));
-+            return fd;
-+        }
-+    }
-+    DEBUGMSGTL(("systemd:find_inet_socket", "Socket not found in LISTEN_FDS\n"));
-+    return 0;
-+}
-+
-+int
-+netsnmp_sd_find_unix_socket(int type, int listening, const char *path)
-+{
-+    int count, fd;
-+
-+    count = netsnmp_sd_listen_fds(0);
-+    if (count <= 0) {
-+        DEBUGMSGTL(("systemd:find_unix_socket", "No LISTEN_FDS found.\n"));
-+        return 0;
-+    }
-+    DEBUGMSGTL(("systemd:find_unix_socket", "LISTEN_FDS reports %d sockets.\n",
-+            count));
-+
-+    for (fd = 3; fd < 3+count; fd++) {
-+        int rc = netsnmp_sd_is_socket_unix(fd, type, listening, path, 0);
-+        if (rc < 0)
-+            DEBUGMSGTL(("systemd:find_unix_socket",
-+                    "netsnmp_sd_is_socket_unix error: %d\n", rc));
-+        if (rc > 0) {
-+            DEBUGMSGTL(("systemd:find_unix_socket",
-+                    "Found the socket in LISTEN_FDS\n"));
-+            return fd;
-+        }
-+    }
-+    DEBUGMSGTL(("systemd:find_unix_socket", "Socket not found in LISTEN_FDS\n"));
-+    return 0;
-+}
-+
-+#endif /* ! NETSNMP_NO_SYSTEMD */
-diff -up net-snmp-5.7.3/snmplib/transports/snmpTCPDomain.c.MPGqYh net-snmp-5.7.3/snmplib/transports/snmpTCPDomain.c
---- net-snmp-5.7.3/snmplib/transports/snmpTCPDomain.c.MPGqYh   2014-12-08 21:23:22.000000000 +0100
-+++ net-snmp-5.7.3/snmplib/transports/snmpTCPDomain.c  2015-02-17 13:34:05.748221842 +0100
-@@ -43,6 +43,10 @@
- #include <net-snmp/library/snmpTCPBaseDomain.h>
- #include <net-snmp/library/tools.h>
-+#ifndef NETSNMP_NO_SYSTEMD
-+#include <net-snmp/library/sd-daemon.h>
-+#endif
-+
- /*
-  * needs to be in sync with the definitions in snmplib/snmpUDPDomain.c
-  * and perl/agent/agent.xs
-@@ -149,6 +153,7 @@ netsnmp_tcp_transport(struct sockaddr_in
-     netsnmp_transport *t = NULL;
-     netsnmp_udp_addr_pair *addr_pair = NULL;
-     int rc = 0;
-+    int socket_initialized = 0;
- #ifdef NETSNMP_NO_LISTEN_SUPPORT
-     if (local)
-@@ -178,7 +183,19 @@ netsnmp_tcp_transport(struct sockaddr_in
-     t->domain_length =
-         sizeof(netsnmp_snmpTCPDomain) / sizeof(netsnmp_snmpTCPDomain[0]);
--    t->sock = socket(PF_INET, SOCK_STREAM, 0);
-+#ifndef NETSNMP_NO_SYSTEMD
-+    /*
-+     * Maybe the socket was already provided by systemd...
-+     */
-+    if (local) {
-+        t->sock = netsnmp_sd_find_inet_socket(PF_INET, SOCK_STREAM, 1,
-+                ntohs(addr->sin_port));
-+        if (t->sock)
-+            socket_initialized = 1;
-+    }
-+#endif
-+    if (!socket_initialized)
-+        t->sock = socket(PF_INET, SOCK_STREAM, 0);
-     if (t->sock < 0) {
-         netsnmp_transport_free(t);
-         return NULL;
-@@ -215,11 +232,13 @@ netsnmp_tcp_transport(struct sockaddr_in
-         setsockopt(t->sock, SOL_SOCKET, SO_REUSEADDR, (void *)&opt,
-                  sizeof(opt));
--        rc = bind(t->sock, (struct sockaddr *)addr, sizeof(struct sockaddr));
--        if (rc != 0) {
--            netsnmp_socketbase_close(t);
--            netsnmp_transport_free(t);
--            return NULL;
-+        if (!socket_initialized) {
-+            rc = bind(t->sock, (struct sockaddr *)addr, sizeof(struct sockaddr));
-+            if (rc != 0) {
-+                netsnmp_socketbase_close(t);
-+                netsnmp_transport_free(t);
-+                return NULL;
-+            }
-         }
-         /*
-@@ -235,12 +254,13 @@ netsnmp_tcp_transport(struct sockaddr_in
-         /*
-          * Now sit here and wait for connections to arrive.  
-          */
--
--        rc = listen(t->sock, NETSNMP_STREAM_QUEUE_LEN);
--        if (rc != 0) {
--            netsnmp_socketbase_close(t);
--            netsnmp_transport_free(t);
--            return NULL;
-+        if (!socket_initialized) {
-+            rc = listen(t->sock, NETSNMP_STREAM_QUEUE_LEN);
-+            if (rc != 0) {
-+                netsnmp_socketbase_close(t);
-+                netsnmp_transport_free(t);
-+                return NULL;
-+            }
-         }
-         
-         /*
-diff -up net-snmp-5.7.3/snmplib/transports/snmpTCPIPv6Domain.c.MPGqYh net-snmp-5.7.3/snmplib/transports/snmpTCPIPv6Domain.c
---- net-snmp-5.7.3/snmplib/transports/snmpTCPIPv6Domain.c.MPGqYh       2014-12-08 21:23:22.000000000 +0100
-+++ net-snmp-5.7.3/snmplib/transports/snmpTCPIPv6Domain.c      2015-02-17 13:34:05.748221842 +0100
-@@ -49,6 +49,10 @@
- #include <net-snmp/library/snmpTCPBaseDomain.h>
- #include <net-snmp/library/tools.h>
-+#ifndef NETSNMP_NO_SYSTEMD
-+#include <net-snmp/library/sd-daemon.h>
-+#endif
-+
- #include "inet_ntop.h"
- oid netsnmp_TCPIPv6Domain[] = { TRANSPORT_DOMAIN_TCP_IPV6 };
-@@ -140,6 +144,7 @@ netsnmp_tcp6_transport(struct sockaddr_i
- {
-     netsnmp_transport *t = NULL;
-     int             rc = 0;
-+    int             socket_initialized = 0;
- #ifdef NETSNMP_NO_LISTEN_SUPPORT
-     if (local)
-@@ -174,7 +179,19 @@ netsnmp_tcp6_transport(struct sockaddr_i
-     t->domain = netsnmp_TCPIPv6Domain;
-     t->domain_length = sizeof(netsnmp_TCPIPv6Domain) / sizeof(oid);
--    t->sock = socket(PF_INET6, SOCK_STREAM, 0);
-+#ifndef NETSNMP_NO_SYSTEMD
-+    /*
-+     * Maybe the socket was already provided by systemd...
-+     */
-+    if (local) {
-+        t->sock = netsnmp_sd_find_inet_socket(PF_INET6, SOCK_STREAM, 1,
-+                ntohs(addr->sin6_port));
-+        if (t->sock)
-+            socket_initialized = 1;
-+    }
-+#endif
-+    if (!socket_initialized)
-+        t->sock = socket(PF_INET6, SOCK_STREAM, 0);
-     if (t->sock < 0) {
-         netsnmp_transport_free(t);
-         return NULL;
-@@ -220,12 +237,14 @@ netsnmp_tcp6_transport(struct sockaddr_i
-         setsockopt(t->sock, SOL_SOCKET, SO_REUSEADDR, (void *)&opt, sizeof(opt));
--        rc = bind(t->sock, (struct sockaddr *) addr,
--                sizeof(struct sockaddr_in6));
--        if (rc != 0) {
--            netsnmp_socketbase_close(t);
--            netsnmp_transport_free(t);
--            return NULL;
-+        if (!socket_initialized) {
-+            rc = bind(t->sock, (struct sockaddr *) addr,
-+                    sizeof(struct sockaddr_in6));
-+            if (rc != 0) {
-+                netsnmp_socketbase_close(t);
-+                netsnmp_transport_free(t);
-+                return NULL;
-+            }
-         }
-         /*
-@@ -242,11 +261,13 @@ netsnmp_tcp6_transport(struct sockaddr_i
-          * Now sit here and wait for connections to arrive.  
-          */
--        rc = listen(t->sock, NETSNMP_STREAM_QUEUE_LEN);
--        if (rc != 0) {
--            netsnmp_socketbase_close(t);
--            netsnmp_transport_free(t);
--            return NULL;
-+        if (!socket_initialized) {
-+            rc = listen(t->sock, NETSNMP_STREAM_QUEUE_LEN);
-+            if (rc != 0) {
-+                netsnmp_socketbase_close(t);
-+                netsnmp_transport_free(t);
-+                return NULL;
-+            }
-         }
-         
-         /*
-diff -up net-snmp-5.7.3/snmplib/transports/snmpUDPIPv4BaseDomain.c.MPGqYh net-snmp-5.7.3/snmplib/transports/snmpUDPIPv4BaseDomain.c
---- net-snmp-5.7.3/snmplib/transports/snmpUDPIPv4BaseDomain.c.MPGqYh   2014-12-08 21:23:22.000000000 +0100
-+++ net-snmp-5.7.3/snmplib/transports/snmpUDPIPv4BaseDomain.c  2015-02-17 13:36:22.744123462 +0100
-@@ -40,6 +40,10 @@
- #include <net-snmp/library/snmpSocketBaseDomain.h>
-+#ifndef NETSNMP_NO_SYSTEMD
-+#include <net-snmp/library/sd-daemon.h>
-+#endif
-+
- #if defined(HAVE_IP_PKTINFO) || defined(HAVE_IP_RECVDSTADDR)
- int netsnmp_udpipv4_recvfrom(int s, void *buf, int len, struct sockaddr *from,
-                              socklen_t *fromlen, struct sockaddr *dstip,
-@@ -64,6 +68,7 @@ netsnmp_udpipv4base_transport(struct soc
-     char           *client_socket = NULL;
-     netsnmp_indexed_addr_pair addr_pair;
-     socklen_t       local_addr_len;
-+    int             socket_initialized = 0;
- #ifdef NETSNMP_NO_LISTEN_SUPPORT
-     if (local)
-@@ -88,7 +93,20 @@ netsnmp_udpipv4base_transport(struct soc
-         free(str);
-     }
--    t->sock = socket(PF_INET, SOCK_DGRAM, 0);
-+#ifndef NETSNMP_NO_SYSTEMD
-+    /*
-+     * Maybe the socket was already provided by systemd...
-+     */
-+    if (local) {
-+        t->sock = netsnmp_sd_find_inet_socket(PF_INET, SOCK_DGRAM, -1,
-+                ntohs(addr->sin_port));
-+        if (t->sock)
-+            socket_initialized = 1;
-+    }
-+#endif
-+    if (!socket_initialized)
-+        t->sock = socket(PF_INET, SOCK_DGRAM, 0);
-+
-     DEBUGMSGTL(("UDPBase", "openned socket %d as local=%d\n", t->sock, local)); 
-     if (t->sock < 0) {
-         netsnmp_transport_free(t);
-@@ -151,12 +169,14 @@ netsnmp_udpipv4base_transport(struct soc
-             }
-         }
- #endif /* !defined(WIN32) */
--        rc = bind(t->sock, (struct sockaddr *) addr,
--                  sizeof(struct sockaddr));
--        if (rc != 0) {
--            netsnmp_socketbase_close(t);
--            netsnmp_transport_free(t);
--            return NULL;
-+        if (!socket_initialized) {
-+            rc = bind(t->sock, (struct sockaddr *) addr,
-+                    sizeof(struct sockaddr));
-+            if (rc != 0) {
-+                netsnmp_socketbase_close(t);
-+                netsnmp_transport_free(t);
-+                return NULL;
-+            }
-         }
-         t->data = NULL;
-         t->data_length = 0;
-diff -up net-snmp-5.7.3/snmplib/transports/snmpUDPIPv6Domain.c.MPGqYh net-snmp-5.7.3/snmplib/transports/snmpUDPIPv6Domain.c
---- net-snmp-5.7.3/snmplib/transports/snmpUDPIPv6Domain.c.MPGqYh       2014-12-08 21:23:22.000000000 +0100
-+++ net-snmp-5.7.3/snmplib/transports/snmpUDPIPv6Domain.c      2015-02-17 13:37:16.256087147 +0100
-@@ -67,6 +67,10 @@ static const struct in6_addr in6addr_any
- #include <net-snmp/library/snmpSocketBaseDomain.h>
- #include <net-snmp/library/tools.h>
-+#ifndef NETSNMP_NO_SYSTEMD
-+#include <net-snmp/library/sd-daemon.h>
-+#endif
-+
- #include "inet_ntop.h"
- #include "inet_pton.h"
-@@ -190,6 +194,7 @@ netsnmp_udp6_transport(struct sockaddr_i
- {
-     netsnmp_transport *t = NULL;
-     int             rc = 0;
-+    int             socket_initialized = 0;
- #ifdef NETSNMP_NO_LISTEN_SUPPORT
-     if (local)
-@@ -217,7 +222,19 @@ netsnmp_udp6_transport(struct sockaddr_i
-     t->domain_length =
-         sizeof(netsnmp_UDPIPv6Domain) / sizeof(netsnmp_UDPIPv6Domain[0]);
--    t->sock = socket(PF_INET6, SOCK_DGRAM, 0);
-+#ifndef NETSNMP_NO_SYSTEMD
-+    /*
-+     * Maybe the socket was already provided by systemd...
-+     */
-+    if (local) {
-+        t->sock = netsnmp_sd_find_inet_socket(PF_INET6, SOCK_DGRAM, -1,
-+                ntohs(addr->sin6_port));
-+        if (t->sock)
-+            socket_initialized = 1;
-+    }
-+#endif
-+    if (!socket_initialized)
-+        t->sock = socket(PF_INET6, SOCK_DGRAM, 0);
-     if (t->sock < 0) {
-         netsnmp_transport_free(t);
-         return NULL;
-@@ -242,13 +259,14 @@ netsnmp_udp6_transport(struct sockaddr_i
-             } 
-         }
- #endif
--
--        rc = bind(t->sock, (struct sockaddr *) addr,
--                sizeof(struct sockaddr_in6));
--        if (rc != 0) {
--            netsnmp_socketbase_close(t);
--            netsnmp_transport_free(t);
--            return NULL;
-+        if (!socket_initialized) {
-+            rc = bind(t->sock, (struct sockaddr *) addr,
-+                    sizeof(struct sockaddr_in6));
-+            if (rc != 0) {
-+                netsnmp_socketbase_close(t);
-+                netsnmp_transport_free(t);
-+                return NULL;
-+            }
-         }
-         t->local = (unsigned char*)malloc(18);
-         if (t->local == NULL) {
-diff -up net-snmp-5.7.3/snmplib/transports/snmpUnixDomain.c.MPGqYh net-snmp-5.7.3/snmplib/transports/snmpUnixDomain.c
---- net-snmp-5.7.3/snmplib/transports/snmpUnixDomain.c.MPGqYh  2014-12-08 21:23:22.000000000 +0100
-+++ net-snmp-5.7.3/snmplib/transports/snmpUnixDomain.c 2015-02-17 13:34:05.749221841 +0100
-@@ -37,6 +37,10 @@
- #include <net-snmp/library/system.h> /* mkdirhier */
- #include <net-snmp/library/tools.h>
-+#ifndef NETSNMP_NO_SYSTEMD
-+#include <net-snmp/library/sd-daemon.h>
-+#endif
-+
- netsnmp_feature_child_of(transport_unix_socket_all, transport_all)
- netsnmp_feature_child_of(unix_socket_paths, transport_unix_socket_all)
-@@ -295,6 +299,7 @@ netsnmp_unix_transport(struct sockaddr_u
-     netsnmp_transport *t = NULL;
-     sockaddr_un_pair *sup = NULL;
-     int             rc = 0;
-+    int             socket_initialized = 0;
- #ifdef NETSNMP_NO_LISTEN_SUPPORT
-     /* SPECIAL CIRCUMSTANCE: We still want AgentX to be able to operate,
-@@ -333,7 +338,18 @@ netsnmp_unix_transport(struct sockaddr_u
-     t->data_length = sizeof(sockaddr_un_pair);
-     sup = (sockaddr_un_pair *) t->data;
--    t->sock = socket(PF_UNIX, SOCK_STREAM, 0);
-+#ifndef NETSNMP_NO_SYSTEMD
-+    /*
-+     * Maybe the socket was already provided by systemd...
-+     */
-+    if (local) {
-+        t->sock = netsnmp_sd_find_unix_socket(SOCK_STREAM, 1, addr->sun_path);
-+        if (t->sock)
-+            socket_initialized = 1;
-+    }
-+#endif
-+    if (!socket_initialized)
-+        t->sock = socket(PF_UNIX, SOCK_STREAM, 0);
-     if (t->sock < 0) {
-         netsnmp_transport_free(t);
-         return NULL;
-@@ -357,25 +373,26 @@ netsnmp_unix_transport(struct sockaddr_u
-         t->flags |= NETSNMP_TRANSPORT_FLAG_LISTEN;
--        unlink(addr->sun_path);
--        rc = bind(t->sock, (struct sockaddr *) addr, SUN_LEN(addr));
--
--        if (rc != 0 && errno == ENOENT && create_path) {
--            rc = mkdirhier(addr->sun_path, create_mode, 1);
-+        if (!socket_initialized) {
-+            unlink(addr->sun_path);
-+            rc = bind(t->sock, (struct sockaddr *) addr, SUN_LEN(addr));
-+            if (rc != 0 && errno == ENOENT && create_path) {
-+                rc = mkdirhier(addr->sun_path, create_mode, 1);
-+                if (rc != 0) {
-+                    netsnmp_unix_close(t);
-+                    netsnmp_transport_free(t);
-+                    return NULL;
-+                }
-+                rc = bind(t->sock, (struct sockaddr *) addr, SUN_LEN(addr));
-+            }
-             if (rc != 0) {
-+                DEBUGMSGTL(("netsnmp_unix_transport",
-+                        "couldn't bind \"%s\", errno %d (%s)\n",
-+                        addr->sun_path, errno, strerror(errno)));
-                 netsnmp_unix_close(t);
-                 netsnmp_transport_free(t);
-                 return NULL;
-             }
--            rc = bind(t->sock, (struct sockaddr *) addr, SUN_LEN(addr));
--        }
--        if (rc != 0) {
--            DEBUGMSGTL(("netsnmp_unix_transport",
--                        "couldn't bind \"%s\", errno %d (%s)\n",
--                        addr->sun_path, errno, strerror(errno)));
--            netsnmp_unix_close(t);
--            netsnmp_transport_free(t);
--            return NULL;
-         }
-         /*
-@@ -391,16 +408,17 @@ netsnmp_unix_transport(struct sockaddr_u
-          * Now sit here and listen for connections to arrive.
-          */
--        rc = listen(t->sock, NETSNMP_STREAM_QUEUE_LEN);
--        if (rc != 0) {
--            DEBUGMSGTL(("netsnmp_unix_transport",
--                        "couldn't listen to \"%s\", errno %d (%s)\n",
--                        addr->sun_path, errno, strerror(errno)));
--            netsnmp_unix_close(t);
--            netsnmp_transport_free(t);
--            return NULL;
-+        if (!socket_initialized) {
-+            rc = listen(t->sock, NETSNMP_STREAM_QUEUE_LEN);
-+            if (rc != 0) {
-+                DEBUGMSGTL(("netsnmp_unix_transport",
-+                            "couldn't listen to \"%s\", errno %d (%s)\n",
-+                            addr->sun_path, errno, strerror(errno)));
-+                netsnmp_unix_close(t);
-+                netsnmp_transport_free(t);
-+                return NULL;
-+            }
-         }
--
-     } else {
-         t->remote = (u_char *)malloc(strlen(addr->sun_path));
-         if (t->remote == NULL) {
diff --git a/net-snmp/patches/net-snmp-5.7.3-iterator-fix.patch b/net-snmp/patches/net-snmp-5.7.3-iterator-fix.patch
new file mode 100644 (file)
index 0000000..fb34caf
--- /dev/null
@@ -0,0 +1,14 @@
+diff -urNp old/agent/mibgroup/host/data_access/swrun.c new/agent/mibgroup/host/data_access/swrun.c
+--- old/agent/mibgroup/host/data_access/swrun.c        2017-07-18 09:44:00.626109526 +0200
++++ new/agent/mibgroup/host/data_access/swrun.c        2017-07-19 15:27:50.452255836 +0200
+@@ -102,6 +102,10 @@ swrun_count_processes_by_name( char *nam
+         return 0;    /* or -1 */
+     it = CONTAINER_ITERATOR( swrun_container );
++    if((entry  = (netsnmp_swrun_entry*)ITERATOR_FIRST( it )) != NULL) {
++        if (0 == strcmp( entry->hrSWRunName, name ))
++            i++;
++    }
+     while ((entry = (netsnmp_swrun_entry*)ITERATOR_NEXT( it )) != NULL) {
+         if (0 == strcmp( entry->hrSWRunName, name ))
+             i++;
diff --git a/net-snmp/patches/net-snmp-5.8-Remove-U64-typedef.patch b/net-snmp/patches/net-snmp-5.8-Remove-U64-typedef.patch
new file mode 100644 (file)
index 0000000..75a2c6d
--- /dev/null
@@ -0,0 +1,12 @@
+diff -urNp a/include/net-snmp/library/int64.h b/include/net-snmp/library/int64.h
+--- a/include/net-snmp/library/int64.h 2018-07-18 14:37:16.543348832 +0200
++++ b/include/net-snmp/library/int64.h 2018-07-18 15:31:31.516999288 +0200
+@@ -10,7 +10,7 @@ extern          "C" {
+      * Note: using the U64 typedef is deprecated because this typedef conflicts
+      * with a typedef with the same name defined in the Perl header files.
+      */
+-    typedef struct counter64 U64;
++//    typedef struct counter64 U64;
+ #endif
+ #define I64CHARSZ 21
diff --git a/net-snmp/patches/net-snmp-5.8-clientaddr-error-message.patch b/net-snmp/patches/net-snmp-5.8-clientaddr-error-message.patch
new file mode 100644 (file)
index 0000000..ef851b1
--- /dev/null
@@ -0,0 +1,35 @@
+diff -urNp a/snmplib/snmp_api.c b/snmplib/snmp_api.c
+--- a/snmplib/snmp_api.c       2020-11-26 11:05:51.084788775 +0100
++++ b/snmplib/snmp_api.c       2020-11-26 11:08:27.850751397 +0100
+@@ -235,7 +235,7 @@ static const char *api_errors[-SNMPERR_M
+     "No error",                 /* SNMPERR_SUCCESS */
+     "Generic error",            /* SNMPERR_GENERR */
+     "Invalid local port",       /* SNMPERR_BAD_LOCPORT */
+-    "Unknown host",             /* SNMPERR_BAD_ADDRESS */
++    "Invalid address",          /* SNMPERR_BAD_ADDRESS */
+     "Unknown session",          /* SNMPERR_BAD_SESSION */
+     "Too long",                 /* SNMPERR_TOO_LONG */
+     "No socket",                /* SNMPERR_NO_SOCKET */
+@@ -1662,7 +1662,9 @@ _sess_open(netsnmp_session * in_session)
+         DEBUGMSGTL(("_sess_open", "couldn't interpret peername\n"));
+         in_session->s_snmp_errno = SNMPERR_BAD_ADDRESS;
+         in_session->s_errno = errno;
+-        snmp_set_detail(in_session->peername);
++        if (!netsnmp_ds_get_string(NETSNMP_DS_LIBRARY_ID,
++                                    NETSNMP_DS_LIB_CLIENT_ADDR))
++            snmp_set_detail(in_session->peername);
+         return NULL;
+     }
+diff -ruNp a/snmplib/transports/snmpUDPIPv4BaseDomain.c b/snmplib/transports/snmpUDPIPv4BaseDomain.c
+--- a/snmplib/transports/snmpUDPIPv4BaseDomain.c       2021-01-06 12:51:51.948106797 +0100
++++ b/snmplib/transports/snmpUDPIPv4BaseDomain.c       2021-01-06 14:17:31.029745744 +0100
+@@ -209,6 +209,8 @@ netsnmp_udpipv4base_transport_bind(netsn
+         DEBUGMSGTL(("netsnmp_udpbase",
+                     "failed to bind for clientaddr: %d %s\n",
+                     errno, strerror(errno)));
++        NETSNMP_LOGONCE((LOG_ERR, "Cannot bind for clientaddr: %s\n",
++                    strerror(errno)));
+         goto err;
+     }
diff --git a/net-snmp/patches/net-snmp-5.8-duplicate-ipAddress.patch b/net-snmp/patches/net-snmp-5.8-duplicate-ipAddress.patch
new file mode 100644 (file)
index 0000000..075976a
--- /dev/null
@@ -0,0 +1,11 @@
+diff -urNp a/agent/mibgroup/ip-mib/data_access/ipaddress_common.c b/agent/mibgroup/ip-mib/data_access/ipaddress_common.c
+--- a/agent/mibgroup/ip-mib/data_access/ipaddress_common.c     2020-06-10 13:27:03.213904398 +0200
++++ b/agent/mibgroup/ip-mib/data_access/ipaddress_common.c     2020-06-10 13:28:41.025863050 +0200
+@@ -121,6 +121,7 @@ _remove_duplicates(netsnmp_container *co
+       for (entry = ITERATOR_FIRST(it); entry; entry = ITERATOR_NEXT(it)) {
+               if (prev_entry && _access_ipaddress_entry_compare_addr(prev_entry, entry) == 0) {
+                       /* 'entry' is duplicate of the previous one -> delete it */
++            NETSNMP_LOGONCE((LOG_ERR, "Duplicate IPv4 address detected, some interfaces may not be visible in IP-MIB\n"));
+                       netsnmp_access_ipaddress_entry_free(entry);
+               } else {
+                       CONTAINER_INSERT(ret, entry);
diff --git a/net-snmp/patches/net-snmp-5.8-ipAddress-faster-load.patch b/net-snmp/patches/net-snmp-5.8-ipAddress-faster-load.patch
new file mode 100644 (file)
index 0000000..db95998
--- /dev/null
@@ -0,0 +1,82 @@
+diff -urNp a/agent/mibgroup/mibII/ipAddr.c b/agent/mibgroup/mibII/ipAddr.c
+--- a/agent/mibgroup/mibII/ipAddr.c    2020-06-10 14:14:30.113696471 +0200
++++ b/agent/mibgroup/mibII/ipAddr.c    2020-06-10 14:27:15.345354018 +0200
+@@ -495,14 +495,16 @@ Address_Scan_Next(Index, Retin_ifaddr)
+ }
+ #elif defined(linux)
++#include <errno.h>
+ static struct ifreq *ifr;
+ static int ifr_counter;
+ static void
+ Address_Scan_Init(void)
+ {
+-    int num_interfaces = 0;
++    int i;
+     int fd;
++    int lastlen = 0;
+     /* get info about all interfaces */
+@@ -510,28 +512,45 @@ Address_Scan_Init(void)
+     SNMP_FREE(ifc.ifc_buf);
+     ifr_counter = 0;
+-    do
+-    {
+       if ((fd = socket(AF_INET, SOCK_DGRAM, 0)) < 0)
+       {
+           DEBUGMSGTL(("snmpd", "socket open failure in Address_Scan_Init\n"));
+           return;
+       }
+-      num_interfaces += 16;
+-      ifc.ifc_len = sizeof(struct ifreq) * num_interfaces;
+-      ifc.ifc_buf = (char*) realloc(ifc.ifc_buf, ifc.ifc_len);
+-      
+-          if (ioctl(fd, SIOCGIFCONF, &ifc) < 0)
+-          {
+-              ifr=NULL;
+-              close(fd);
+-              return;
+-          }
+-          close(fd);
++    /*
++     * Cope with lots of interfaces and brokenness of ioctl SIOCGIFCONF
++     * on some platforms; see W. R. Stevens, ``Unix Network Programming
++     * Volume I'', p.435...
++     */
++
++    for (i = 8;; i *= 2) {
++        ifc.ifc_len = sizeof(struct ifreq) * i;
++        ifc.ifc_req = calloc(i, sizeof(struct ifreq));
++
++        if (ioctl(fd, SIOCGIFCONF, &ifc) < 0) {
++            if (errno != EINVAL || lastlen != 0) {
++                /*
++                 * Something has gone genuinely wrong...
++                 */
++                snmp_log(LOG_ERR, "bad rc from ioctl, errno %d", errno);
++                SNMP_FREE(ifc.ifc_buf);
++                close(fd);
++                return;
++            }
++        } else {
++            if (ifc.ifc_len == lastlen) {
++                /*
++                 * The length is the same as the last time; we're done...
++                 */
++                break;
++            }
++            lastlen = ifc.ifc_len;
++        }
++        free(ifc.ifc_buf); /* no SNMP_FREE, getting ready to reassign */
+     }
+-    while (ifc.ifc_len >= (sizeof(struct ifreq) * num_interfaces));
+-    
++
++    close(fd);
+     ifr = ifc.ifc_req;
+ }
diff --git a/net-snmp/patches/net-snmp-5.8-man-page.patch b/net-snmp/patches/net-snmp-5.8-man-page.patch
new file mode 100644 (file)
index 0000000..dc78e14
--- /dev/null
@@ -0,0 +1,36 @@
+diff -urNp a/man/net-snmp-create-v3-user.1.def b/man/net-snmp-create-v3-user.1.def
+--- a/man/net-snmp-create-v3-user.1.def        2020-06-10 13:43:18.443070961 +0200
++++ b/man/net-snmp-create-v3-user.1.def        2020-06-10 13:49:25.975363441 +0200
+@@ -3,7 +3,7 @@
+ net-snmp-create-v3-user \- create a SNMPv3 user in net-snmp configuration file
+ .SH SYNOPSIS
+ .PP
+-.B net-snmp-create-v3-user [-ro] [-a authpass] [-x privpass] [-X DES|AES]
++.B net-snmp-create-v3-user [-ro] [-A authpass] [-a MD5|SHA] [-X privpass] [-x DES|AES]
+ .B [username]
+ .SH DESCRIPTION
+ .PP
+@@ -16,13 +16,16 @@ new user in net-snmp configuration file
+ displays the net-snmp version number
+ .TP
+ \fB\-ro\fR
+-create an user with read-only permissions
++creates a user with read-only permissions
+ .TP
+-\fB\-a authpass\fR
+-specify authentication password
++\fB\-A authpass\fR
++specifies the authentication password
+ .TP
+-\fB\-x privpass\fR
+-specify encryption password
++\fB\-a MD5|SHA\fR
++specifies the authentication password hashing algorithm
+ .TP
+-\fB\-X DES|AES\fR
+-specify encryption algorithm
++\fB\-X privpass\fR
++specifies the encryption password
++.TP
++\fB\-x DES|AES\fR
++specifies the encryption algorithm
diff --git a/net-snmp/patches/net-snmp-5.9-aes-config.patch b/net-snmp/patches/net-snmp-5.9-aes-config.patch
new file mode 100644 (file)
index 0000000..ceac97c
--- /dev/null
@@ -0,0 +1,18 @@
+diff --git a/net-snmp-create-v3-user.in b/net-snmp-create-v3-user.in
+index afd6fa4..07c26fe 100644
+--- a/net-snmp-create-v3-user.in
++++ b/net-snmp-create-v3-user.in
+@@ -58,11 +58,11 @@ case $1 in
+           exit 1
+       fi
+         case $1 in
+-            DES|AES|AES128)
++            DES|AES|AES128|AES192|AES256)
+           Xalgorithm=$1
+           shift
+           ;;
+-            des|aes|aes128)
++            des|aes|aes128|aes192|aes256)
+           Xalgorithm=$(echo "$1" | tr a-z A-Z)
+           shift
+           ;;
diff --git a/net-snmp/patches/net-snmp-5.9-autofs-skip.patch b/net-snmp/patches/net-snmp-5.9-autofs-skip.patch
new file mode 100644 (file)
index 0000000..bd5c560
--- /dev/null
@@ -0,0 +1,12 @@
+diff --git a/agent/mibgroup/host/hr_filesys.c b/agent/mibgroup/host/hr_filesys.c
+index e7ca92f..80b3e0d 100644
+--- a/agent/mibgroup/host/hr_filesys.c
++++ b/agent/mibgroup/host/hr_filesys.c
+@@ -704,6 +704,7 @@ static const char *HRFS_ignores[] = {
+     "shm",
+     "sockfs",
+     "sysfs",
++    "tmpfs",
+     "usbdevfs",
+     "usbfs",
+ #endif
diff --git a/net-snmp/patches/net-snmp-5.9-coverity.patch b/net-snmp/patches/net-snmp-5.9-coverity.patch
new file mode 100644 (file)
index 0000000..fa3e043
--- /dev/null
@@ -0,0 +1,22 @@
+diff --git a/agent/mibgroup/disman/event/mteTrigger.c b/agent/mibgroup/disman/event/mteTrigger.c
+index e9a8831..5a1d8e7 100644
+--- a/agent/mibgroup/disman/event/mteTrigger.c
++++ b/agent/mibgroup/disman/event/mteTrigger.c
+@@ -1012,7 +1012,7 @@ mteTrigger_run( unsigned int reg, void *clientarg)
+                      * Similarly, if no fallEvent is configured,
+                      *  there's no point in trying to fire it either.
+                      */
+-                    if (entry->mteTThRiseEvent[0] != '\0' ) {
++                    if (entry->mteTThFallEvent[0] != '\0' ) {
+                         entry->mteTriggerXOwner   = entry->mteTThObjOwner;
+                         entry->mteTriggerXObjects = entry->mteTThObjects;
+                         entry->mteTriggerFired    = vp1;
+@@ -1105,7 +1105,7 @@ mteTrigger_run( unsigned int reg, void *clientarg)
+                      * Similarly, if no fallEvent is configured,
+                      *  there's no point in trying to fire it either.
+                      */
+-                    if (entry->mteTThDRiseEvent[0] != '\0' ) {
++                    if (entry->mteTThDFallEvent[0] != '\0' ) {
+                         entry->mteTriggerXOwner   = entry->mteTThObjOwner;
+                         entry->mteTriggerXObjects = entry->mteTThObjects;
+                         entry->mteTriggerFired    = vp1;
diff --git a/net-snmp/patches/net-snmp-5.9-dir-fix.patch b/net-snmp/patches/net-snmp-5.9-dir-fix.patch
new file mode 100644 (file)
index 0000000..f7311ca
--- /dev/null
@@ -0,0 +1,30 @@
+diff --git a/net-snmp-create-v3-user.in b/net-snmp-create-v3-user.in
+index 19895a1..ac3c60f 100644
+--- a/net-snmp-create-v3-user.in
++++ b/net-snmp-create-v3-user.in
+@@ -14,6 +14,10 @@ Xalgorithm="DES"
+ token=rwuser
+ while test "x$done" = "x" -a "x$1" != "x" -a "x$usage" != "xyes"; do
++case "$1" in
++    -*=*) optarg=`echo "$1" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
++    *) optarg= ;;
++esac
+ unset shifted
+ case $1 in
+@@ -134,11 +138,9 @@ if test ! -d "$outfile"; then
+     touch "$outfile"
+ fi
+ echo "$line" >> "$outfile"
+-prefix=@prefix@
+-datarootdir=@datarootdir@
+-# To suppress shellcheck complaints about $prefix and $datarootdir.
+-: "$prefix" "$datarootdir"
+-outfile="@datadir@/snmp/snmpd.conf"
++# Avoid that configure complains that this script ignores @datarootdir@
++echo "@datarootdir@" >/dev/null
++outfile="/etc/snmp/snmpd.conf"
+ line="$token $user"
+ echo "adding the following line to $outfile:"
+ echo "   $line"
diff --git a/net-snmp/patches/net-snmp-5.9-intermediate-certs.patch b/net-snmp/patches/net-snmp-5.9-intermediate-certs.patch
new file mode 100644 (file)
index 0000000..6b5daf7
--- /dev/null
@@ -0,0 +1,855 @@
+diff --git a/include/net-snmp/library/cert_util.h b/include/net-snmp/library/cert_util.h
+index 80e2a19..143adbb 100644
+--- a/include/net-snmp/library/cert_util.h
++++ b/include/net-snmp/library/cert_util.h
+@@ -55,7 +55,8 @@ extern "C" {
+         char           *common_name;
+         u_char          hash_type;
+-        u_char          _pad[3]; /* for future use */
++        u_char          _pad[1]; /* for future use */
++        u_short         offset;
+     } netsnmp_cert;
+ /** types */
+@@ -100,6 +101,7 @@ extern "C" {
+     NETSNMP_IMPORT
+     netsnmp_cert *netsnmp_cert_find(int what, int where, void *hint);
++    netsnmp_void_array *netsnmp_certs_find(int what, int where, void *hint);
+     int netsnmp_cert_check_vb_fingerprint(const netsnmp_variable_list *var);
+diff --git a/include/net-snmp/library/dir_utils.h b/include/net-snmp/library/dir_utils.h
+index 471bb0b..ac7f69a 100644
+--- a/include/net-snmp/library/dir_utils.h
++++ b/include/net-snmp/library/dir_utils.h
+@@ -53,7 +53,8 @@ extern "C" {
+ #define NETSNMP_DIR_NSFILE                            0x0010
+ /** load stats in netsnmp_file */
+ #define NETSNMP_DIR_NSFILE_STATS                      0x0020
+-
++/** allow files to be indexed more than once */
++#define NETSNMP_DIR_ALLOW_DUPLICATES                  0x0040
+     
+         
+ #ifdef __cplusplus
+diff --git a/snmplib/cert_util.c b/snmplib/cert_util.c
+index 210ad8b..b1f8144 100644
+--- a/snmplib/cert_util.c
++++ b/snmplib/cert_util.c
+@@ -100,7 +100,7 @@ netsnmp_feature_child_of(tls_fingerprint_build, cert_util_all);
+  * bump this value whenever cert index format changes, so indexes
+  * will be regenerated with new format.
+  */
+-#define CERT_INDEX_FORMAT  1
++#define CERT_INDEX_FORMAT  2
+ static netsnmp_container *_certs = NULL;
+ static netsnmp_container *_keys = NULL;
+@@ -126,6 +126,8 @@ static int  _cert_fn_ncompare(netsnmp_cert_common *lhs,
+                               netsnmp_cert_common *rhs);
+ static void _find_partner(netsnmp_cert *cert, netsnmp_key *key);
+ static netsnmp_cert *_find_issuer(netsnmp_cert *cert);
++static netsnmp_void_array *_cert_reduce_subset_first(netsnmp_void_array *matching);
++static netsnmp_void_array *_cert_reduce_subset_what(netsnmp_void_array *matching, int what);
+ static netsnmp_void_array *_cert_find_subset_fn(const char *filename,
+                                                 const char *directory);
+ static netsnmp_void_array *_cert_find_subset_sn(const char *subject);
+@@ -345,6 +347,8 @@ _get_cert_container(const char *use)
+ {
+     netsnmp_container *c;
++    int rc;
++
+     c = netsnmp_container_find("certs:binary_array");
+     if (NULL == c) {
+         snmp_log(LOG_ERR, "could not create container for %s\n", use);
+@@ -354,6 +358,8 @@ _get_cert_container(const char *use)
+     c->free_item = (netsnmp_container_obj_func*)_cert_free;
+     c->compare = (netsnmp_container_compare*)_cert_compare;
++    CONTAINER_SET_OPTIONS(c, CONTAINER_KEY_ALLOW_DUPLICATES, rc);
++
+     return c;
+ }
+@@ -362,6 +368,8 @@ _setup_containers(void)
+ {
+     netsnmp_container *additional_keys;
++    int rc;
++
+     _certs = _get_cert_container("netsnmp certificates");
+     if (NULL == _certs)
+         return;
+@@ -376,6 +384,7 @@ _setup_containers(void)
+     additional_keys->container_name = strdup("certs_cn");
+     additional_keys->free_item = NULL;
+     additional_keys->compare = (netsnmp_container_compare*)_cert_cn_compare;
++    CONTAINER_SET_OPTIONS(additional_keys, CONTAINER_KEY_ALLOW_DUPLICATES, rc);
+     netsnmp_container_add_index(_certs, additional_keys);
+     /** additional keys: subject name */
+@@ -389,6 +398,7 @@ _setup_containers(void)
+     additional_keys->free_item = NULL;
+     additional_keys->compare = (netsnmp_container_compare*)_cert_sn_compare;
+     additional_keys->ncompare = (netsnmp_container_compare*)_cert_sn_ncompare;
++    CONTAINER_SET_OPTIONS(additional_keys, CONTAINER_KEY_ALLOW_DUPLICATES, rc);
+     netsnmp_container_add_index(_certs, additional_keys);
+     /** additional keys: file name */
+@@ -402,6 +412,7 @@ _setup_containers(void)
+     additional_keys->free_item = NULL;
+     additional_keys->compare = (netsnmp_container_compare*)_cert_fn_compare;
+     additional_keys->ncompare = (netsnmp_container_compare*)_cert_fn_ncompare;
++    CONTAINER_SET_OPTIONS(additional_keys, CONTAINER_KEY_ALLOW_DUPLICATES, rc);
+     netsnmp_container_add_index(_certs, additional_keys);
+     _keys = netsnmp_container_find("cert_keys:binary_array");
+@@ -424,7 +435,7 @@ netsnmp_cert_map_container(void)
+ }
+ static netsnmp_cert *
+-_new_cert(const char *dirname, const char *filename, int certType,
++_new_cert(const char *dirname, const char *filename, int certType, int offset,
+           int hashType, const char *fingerprint, const char *common_name,
+           const char *subject)
+ {
+@@ -446,8 +457,10 @@ _new_cert(const char *dirname, const char *filename, int certType,
+     cert->info.dir = strdup(dirname);
+     cert->info.filename = strdup(filename);
+-    cert->info.allowed_uses = NS_CERT_REMOTE_PEER;
++    /* only the first certificate is allowed to be a remote peer */
++    cert->info.allowed_uses = offset ? 0 : NS_CERT_REMOTE_PEER;
+     cert->info.type = certType;
++    cert->offset = offset;
+     if (fingerprint) {
+         cert->hash_type = hashType;
+         cert->fingerprint = strdup(fingerprint);
+@@ -884,14 +897,86 @@ _certindex_new( const char *dirname )
+  * certificate utility functions
+  *
+  */
++static BIO *
++netsnmp_open_bio(const char *dir, const char *filename)
++{
++    BIO            *certbio;
++    char            file[SNMP_MAXPATH];
++
++    DEBUGMSGT(("9:cert:read", "Checking file %s\n", filename));
++
++    certbio = BIO_new(BIO_s_file());
++    if (NULL == certbio) {
++        snmp_log(LOG_ERR, "error creating BIO\n");
++        return NULL;
++    }
++
++    snprintf(file, sizeof(file),"%s/%s", dir, filename);
++    if (BIO_read_filename(certbio, file) <=0) {
++        snmp_log(LOG_ERR, "error reading certificate/key %s into BIO\n", file);
++        BIO_vfree(certbio);
++        return NULL;
++    }
++
++    return certbio;
++}
++
++static void
++netsnmp_ocert_parse(netsnmp_cert *cert, X509 *ocert)
++{
++    int             is_ca;
++
++    cert->ocert = ocert;
++
++    /*
++     * X509_check_ca return codes:
++     * 0 not a CA
++     * 1 is a CA
++     * 2 basicConstraints absent so "maybe" a CA
++     * 3 basicConstraints absent but self signed V1.
++     * 4 basicConstraints absent but keyUsage present and keyCertSign asserted.
++     * 5 outdated Netscape Certificate Type CA extension.
++     */
++    is_ca = X509_check_ca(ocert);
++    if (1 == is_ca)
++        cert->info.allowed_uses |= NS_CERT_CA;
++
++    if (NULL == cert->subject) {
++        cert->subject = X509_NAME_oneline(X509_get_subject_name(ocert), NULL,
++                                          0);
++        DEBUGMSGT(("9:cert:add:subject", "subject name: %s\n", cert->subject));
++    }
++
++    if (NULL == cert->issuer) {
++        cert->issuer = X509_NAME_oneline(X509_get_issuer_name(ocert), NULL, 0);
++        if (strcmp(cert->subject, cert->issuer) == 0) {
++            free(cert->issuer);
++            cert->issuer = strdup("self-signed");
++        }
++        DEBUGMSGT(("9:cert:add:issuer", "CA issuer: %s\n", cert->issuer));
++    }
++
++    if (NULL == cert->fingerprint) {
++        cert->hash_type = netsnmp_openssl_cert_get_hash_type(ocert);
++        cert->fingerprint =
++            netsnmp_openssl_cert_get_fingerprint(ocert, cert->hash_type);
++    }
++
++    if (NULL == cert->common_name) {
++        cert->common_name =netsnmp_openssl_cert_get_commonName(ocert, NULL,
++                                                               NULL);
++        DEBUGMSGT(("9:cert:add:name","%s\n", cert->common_name));
++    }
++
++}
++
+ static X509 *
+ netsnmp_ocert_get(netsnmp_cert *cert)
+ {
+     BIO            *certbio;
+     X509           *ocert = NULL;
++    X509           *ncert = NULL;
+     EVP_PKEY       *okey = NULL;
+-    char            file[SNMP_MAXPATH];
+-    int             is_ca;
+     if (NULL == cert)
+         return NULL;
+@@ -908,51 +993,33 @@ netsnmp_ocert_get(netsnmp_cert *cert)
+         }
+     }
+-    DEBUGMSGT(("9:cert:read", "Checking file %s\n", cert->info.filename));
+-
+-    certbio = BIO_new(BIO_s_file());
+-    if (NULL == certbio) {
+-        snmp_log(LOG_ERR, "error creating BIO\n");
+-        return NULL;
+-    }
+-
+-    snprintf(file, sizeof(file),"%s/%s", cert->info.dir, cert->info.filename);
+-    if (BIO_read_filename(certbio, file) <=0) {
+-        snmp_log(LOG_ERR, "error reading certificate %s into BIO\n", file);
+-        BIO_vfree(certbio);
++    certbio = netsnmp_open_bio(cert->info.dir, cert->info.filename);
++    if (!certbio) {
+         return NULL;
+     }
+-    if (NS_CERT_TYPE_UNKNOWN == cert->info.type) {
+-        char *pos = strrchr(cert->info.filename, '.');
+-        if (NULL == pos)
+-            return NULL;
+-        cert->info.type = _cert_ext_type(++pos);
+-        netsnmp_assert(cert->info.type != NS_CERT_TYPE_UNKNOWN);
+-    }
+-
+     switch (cert->info.type) {
+         case NS_CERT_TYPE_DER:
++            (void)BIO_seek(certbio, cert->offset);
+             ocert = d2i_X509_bio(certbio,NULL); /* DER/ASN1 */
+             if (NULL != ocert)
+                 break;
+-            (void)BIO_reset(certbio);
+             /* Check for PEM if DER didn't work */
+             /* FALLTHROUGH */
+         case NS_CERT_TYPE_PEM:
+-            ocert = PEM_read_bio_X509_AUX(certbio, NULL, NULL, NULL);
++            (void)BIO_seek(certbio, cert->offset);
++            ocert = ncert = PEM_read_bio_X509_AUX(certbio, NULL, NULL, NULL);
+             if (NULL == ocert)
+                 break;
+             if (NS_CERT_TYPE_DER == cert->info.type) {
+                 DEBUGMSGT(("9:cert:read", "Changing type from DER to PEM\n"));
+                 cert->info.type = NS_CERT_TYPE_PEM;
+             }
+-            /** check for private key too */
+-            if (NULL == cert->key) {
+-                (void)BIO_reset(certbio);
+-                okey =  PEM_read_bio_PrivateKey(certbio, NULL, NULL, NULL);
++            /** check for private key too, but only if we're the first certificate */
++            if (0 == cert->offset && NULL == cert->key) {
++                okey = PEM_read_bio_PrivateKey(certbio, NULL, NULL, NULL);
+                 if (NULL != okey) {
+                     netsnmp_key  *key;
+                     DEBUGMSGT(("cert:read:key", "found key with cert in %s\n",
+@@ -979,7 +1046,7 @@ netsnmp_ocert_get(netsnmp_cert *cert)
+             break;
+ #ifdef CERT_PKCS12_SUPPORT_MAYBE_LATER
+         case NS_CERT_TYPE_PKCS12:
+-            (void)BIO_reset(certbio);
++            (void)BIO_seek(certbio, cert->offset);
+             PKCS12 *p12 = d2i_PKCS12_bio(certbio, NULL);
+             if ( (NULL != p12) && (PKCS12_verify_mac(p12, "", 0) ||
+                                    PKCS12_verify_mac(p12, NULL, 0)))
+@@ -999,46 +1066,7 @@ netsnmp_ocert_get(netsnmp_cert *cert)
+         return NULL;
+     }
+-    cert->ocert = ocert;
+-    /*
+-     * X509_check_ca return codes:
+-     * 0 not a CA
+-     * 1 is a CA
+-     * 2 basicConstraints absent so "maybe" a CA
+-     * 3 basicConstraints absent but self signed V1.
+-     * 4 basicConstraints absent but keyUsage present and keyCertSign asserted.
+-     * 5 outdated Netscape Certificate Type CA extension.
+-     */
+-    is_ca = X509_check_ca(ocert);
+-    if (1 == is_ca)
+-        cert->info.allowed_uses |= NS_CERT_CA;
+-
+-    if (NULL == cert->subject) {
+-        cert->subject = X509_NAME_oneline(X509_get_subject_name(ocert), NULL,
+-                                          0);
+-        DEBUGMSGT(("9:cert:add:subject", "subject name: %s\n", cert->subject));
+-    }
+-
+-    if (NULL == cert->issuer) {
+-        cert->issuer = X509_NAME_oneline(X509_get_issuer_name(ocert), NULL, 0);
+-        if (strcmp(cert->subject, cert->issuer) == 0) {
+-            free(cert->issuer);
+-            cert->issuer = strdup("self-signed");
+-        }
+-        DEBUGMSGT(("9:cert:add:issuer", "CA issuer: %s\n", cert->issuer));
+-    }
+-    
+-    if (NULL == cert->fingerprint) {
+-        cert->hash_type = netsnmp_openssl_cert_get_hash_type(ocert);
+-        cert->fingerprint =
+-            netsnmp_openssl_cert_get_fingerprint(ocert, cert->hash_type);
+-    }
+-    
+-    if (NULL == cert->common_name) {
+-        cert->common_name =netsnmp_openssl_cert_get_commonName(ocert, NULL,
+-                                                               NULL);
+-        DEBUGMSGT(("9:cert:add:name","%s\n", cert->common_name));
+-    }
++    netsnmp_ocert_parse(cert, ocert);
+     return ocert;
+ }
+@@ -1048,7 +1076,6 @@ netsnmp_okey_get(netsnmp_key  *key)
+ {
+     BIO            *keybio;
+     EVP_PKEY       *okey;
+-    char            file[SNMP_MAXPATH];
+     if (NULL == key)
+         return NULL;
+@@ -1056,19 +1083,8 @@ netsnmp_okey_get(netsnmp_key  *key)
+     if (key->okey)
+         return key->okey;
+-    snprintf(file, sizeof(file),"%s/%s", key->info.dir, key->info.filename);
+-    DEBUGMSGT(("cert:key:read", "Checking file %s\n", key->info.filename));
+-
+-    keybio = BIO_new(BIO_s_file());
+-    if (NULL == keybio) {
+-        snmp_log(LOG_ERR, "error creating BIO\n");
+-        return NULL;
+-    }
+-
+-    if (BIO_read_filename(keybio, file) <=0) {
+-        snmp_log(LOG_ERR, "error reading certificate %s into BIO\n",
+-                 key->info.filename);
+-        BIO_vfree(keybio);
++    keybio = netsnmp_open_bio(key->info.dir, key->info.filename);
++    if (!keybio) {
+         return NULL;
+     }
+@@ -1154,7 +1170,7 @@ netsnmp_cert_load_x509(netsnmp_cert *cert)
+             cert->issuer_cert =  _find_issuer(cert);
+             if (NULL == cert->issuer_cert) {
+                 DEBUGMSGT(("cert:load:warn",
+-                           "couldn't load CA chain for cert %s\n",
++                           "couldn't load full CA chain for cert %s\n",
+                            cert->info.filename));
+                 rc = CERT_LOAD_PARTIAL;
+                 break;
+@@ -1163,7 +1179,7 @@ netsnmp_cert_load_x509(netsnmp_cert *cert)
+         /** get issuer ocert */
+         if ((NULL == cert->issuer_cert->ocert) &&
+             (netsnmp_ocert_get(cert->issuer_cert) == NULL)) {
+-            DEBUGMSGT(("cert:load:warn", "couldn't load cert chain for %s\n",
++            DEBUGMSGT(("cert:load:warn", "couldn't load full cert chain for %s\n",
+                        cert->info.filename));
+             rc = CERT_LOAD_PARTIAL;
+             break;
+@@ -1184,7 +1200,7 @@ _find_partner(netsnmp_cert *cert, netsnmp_key *key)
+         return;
+     }
+-    if(key) {
++    if (key) {
+         if (key->cert) {
+             DEBUGMSGT(("cert:partner", "key already has partner\n"));
+             return;
+@@ -1197,7 +1213,8 @@ _find_partner(netsnmp_cert *cert, netsnmp_key *key)
+             return;
+         *pos = 0;
+-        matching = _cert_find_subset_fn( filename, key->info.dir );
++        matching = _cert_reduce_subset_first(_cert_find_subset_fn( filename,
++                                             key->info.dir ));
+         if (!matching)
+             return;
+         if (1 == matching->size) {
+@@ -1217,7 +1234,7 @@ _find_partner(netsnmp_cert *cert, netsnmp_key *key)
+             DEBUGMSGT(("cert:partner", "%s matches multiple certs\n",
+                           key->info.filename));
+     }
+-    else if(cert) {
++    else if (cert) {
+         if (cert->key) {
+             DEBUGMSGT(("cert:partner", "cert already has partner\n"));
+             return;
+@@ -1255,76 +1272,182 @@ _find_partner(netsnmp_cert *cert, netsnmp_key *key)
+     }
+ }
++static netsnmp_key *
++_add_key(EVP_PKEY *okey, const char* dirname, const char* filename, FILE *index)
++{
++    netsnmp_key  *key;
++
++    key = _new_key(dirname, filename);
++    if (NULL == key) {
++        return NULL;
++    }
++
++    key->okey = okey;
++
++    if (-1 == CONTAINER_INSERT(_keys, key)) {
++        DEBUGMSGT(("cert:key:file:add:err",
++                   "error inserting key into container\n"));
++        netsnmp_key_free(key);
++        key = NULL;
++    }
++    if (index) {
++        fprintf(index, "k:%s\n", filename);
++    }
++
++    return key;
++}
++
++static netsnmp_cert *
++_add_cert(X509 *ocert, const char* dirname, const char* filename, int type, int offset, FILE *index)
++{
++    netsnmp_cert *cert;
++
++    cert = _new_cert(dirname, filename, type, offset, -1, NULL, NULL, NULL);
++    if (NULL == cert)
++        return NULL;
++
++    netsnmp_ocert_parse(cert, ocert);
++
++    if (-1 == CONTAINER_INSERT(_certs, cert)) {
++        DEBUGMSGT(("cert:file:add:err",
++                   "error inserting cert into container\n"));
++        netsnmp_cert_free(cert);
++        return NULL;
++    }
++
++    if (index) {
++        /** filename = NAME_MAX = 255 */
++        /** fingerprint max = 64*3=192 for sha512 */
++        /** common name / CN  = 64 */
++        if (cert)
++            fprintf(index, "c:%s %d %d %d %s '%s' '%s'\n", filename,
++                    cert->info.type, cert->offset, cert->hash_type, cert->fingerprint,
++                    cert->common_name, cert->subject);
++    }
++
++    return cert;
++}
++
+ static int
+ _add_certfile(const char* dirname, const char* filename, FILE *index)
+ {
+-    X509         *ocert;
+-    EVP_PKEY     *okey;
++    BIO          *certbio;
++    X509         *ocert = NULL;
++    X509         *ncert;
++    EVP_PKEY     *okey = NULL;
+     netsnmp_cert *cert = NULL;
+     netsnmp_key  *key = NULL;
+     char          certfile[SNMP_MAXPATH];
+     int           type;
++    int           offset = 0;
+     if (((const void*)NULL == dirname) || (NULL == filename))
+         return -1;
+     type = _type_from_filename(filename);
+-    netsnmp_assert(type != NS_CERT_TYPE_UNKNOWN);
++    if (type == NS_CERT_TYPE_UNKNOWN) {
++        snmp_log(LOG_ERR, "certificate file '%s' type not recognised, ignoring\n", filename);
++        return -1;
++    }
+-    snprintf(certfile, sizeof(certfile),"%s/%s", dirname, filename);
++    certbio = netsnmp_open_bio(dirname, filename);
++    if (!certbio) {
++        return -1;
++    }
+-    DEBUGMSGT(("9:cert:file:add", "Checking file: %s (type %d)\n", filename,
+-               type));
++    switch (type) {
+-    if (NS_CERT_TYPE_KEY == type) {
+-        key = _new_key(dirname, filename);
+-        if (NULL == key)
+-            return -1;
+-        okey = netsnmp_okey_get(key);
+-        if (NULL == okey) {
+-            netsnmp_key_free(key);
+-            return -1;
+-        }
+-        key->okey = okey;
+-        if (-1 == CONTAINER_INSERT(_keys, key)) {
+-            DEBUGMSGT(("cert:key:file:add:err",
+-                       "error inserting key into container\n"));
+-            netsnmp_key_free(key);
+-            key = NULL;
+-        }
+-    }
+-    else {
+-        cert = _new_cert(dirname, filename, type, -1, NULL, NULL, NULL);
+-        if (NULL == cert)
+-            return -1;
+-        ocert = netsnmp_ocert_get(cert);
+-        if (NULL == ocert) {
+-            netsnmp_cert_free(cert);
+-            return -1;
+-        }
+-        cert->ocert = ocert;
+-        if (-1 == CONTAINER_INSERT(_certs, cert)) {
+-            DEBUGMSGT(("cert:file:add:err",
+-                       "error inserting cert into container\n"));
+-            netsnmp_cert_free(cert);
+-            cert = NULL;
+-        }
+-    }
+-    if ((NULL == cert) && (NULL == key)) {
+-        DEBUGMSGT(("cert:file:add:failure", "for %s\n", certfile));
+-        return -1;
++       case NS_CERT_TYPE_KEY: 
++
++           okey = PEM_read_bio_PrivateKey(certbio, NULL, NULL, NULL);
++           if (NULL == okey)
++               snmp_log(LOG_ERR, "error parsing key file %s\n",
++                     key->info.filename);
++           else {
++               key = _add_key(okey, dirname, filename, index);
++               if (NULL == key) {
++                   EVP_PKEY_free(okey);
++                      okey = NULL;
++               }
++           }
++           break;
++
++        case NS_CERT_TYPE_DER:
++
++            ocert = d2i_X509_bio(certbio, NULL); /* DER/ASN1 */
++            if (NULL != ocert) {
++                if (!_add_cert(ocert, dirname, filename, type, 0, index)) {
++                    X509_free(ocert);
++                    ocert = NULL;
++                }
++                break;
++            }
++            (void)BIO_reset(certbio);
++            /* Check for PEM if DER didn't work */
++            /* FALLTHROUGH */
++
++        case NS_CERT_TYPE_PEM:
++
++            if (NS_CERT_TYPE_DER == type) {
++                DEBUGMSGT(("9:cert:read", "Changing type from DER to PEM\n"));
++                type = NS_CERT_TYPE_PEM;
++            }
++            ocert = ncert = PEM_read_bio_X509_AUX(certbio, NULL, NULL, NULL);
++            if (NULL != ocert) {
++                cert = _add_cert(ncert, dirname, filename, type, offset, index);
++                if (NULL == cert) {
++                    X509_free(ocert);
++                    ocert = ncert = NULL;
++                }
++            }
++            while (NULL != ncert) {
++                offset = BIO_tell(certbio);
++                ncert = PEM_read_bio_X509_AUX(certbio, NULL, NULL, NULL);
++                if (ncert) {
++                    if (NULL == _add_cert(ncert, dirname, filename, type, offset, index)) {
++                        X509_free(ncert);
++                        ncert = NULL;
++                    }
++                }
++            }
++
++            BIO_seek(certbio, offset);
++
++            /** check for private key too */
++            okey = PEM_read_bio_PrivateKey(certbio, NULL, NULL, NULL);
++
++            if (NULL != okey) {
++                DEBUGMSGT(("cert:read:key", "found key with cert in %s\n",
++                           cert->info.filename));
++                key = _add_key(okey, dirname, filename, NULL);
++                if (NULL != key) {
++                    DEBUGMSGT(("cert:read:partner", "%s match found!\n",
++                               cert->info.filename));
++                    key->cert = cert;
++                    cert->key = key;
++                    cert->info.allowed_uses |= NS_CERT_IDENTITY;
++                }
++                else {
++                    EVP_PKEY_free(okey);
++                    okey = NULL;
++                }
++            }
++
++            break;
++
++#ifdef CERT_PKCS12_SUPPORT_MAYBE_LATER
++        case NS_CERT_TYPE_PKCS12:
++#endif
++
++        default:
++            break;
+     }
+-    if (index) {
+-        /** filename = NAME_MAX = 255 */
+-        /** fingerprint max = 64*3=192 for sha512 */
+-        /** common name / CN  = 64 */
+-        if (cert)
+-            fprintf(index, "c:%s %d %d %s '%s' '%s'\n", filename,
+-                    cert->info.type, cert->hash_type, cert->fingerprint,
+-                    cert->common_name, cert->subject);
+-        else if (key)
+-            fprintf(index, "k:%s\n", filename);
++    BIO_vfree(certbio);
++
++    if ((NULL == ocert) && (NULL == okey)) {
++        snmp_log(LOG_ERR, "certificate file '%s' contained neither certificate nor key, ignoring\n", certfile);
++        return -1;
+     }
+     return 0;
+@@ -1338,7 +1461,8 @@ _cert_read_index(const char *dirname, struct stat *dirstat)
+     struct stat     idx_stat;
+     char            tmpstr[SNMP_MAXPATH + 5], filename[NAME_MAX];
+     char            fingerprint[EVP_MAX_MD_SIZE*3], common_name[64+1], type_str[15];
+-    char            subject[SNMP_MAXBUF_SMALL], hash_str[15];
++    char            subject[SNMP_MAXBUF_SMALL], hash_str[15], offset_str[15];
++    ssize_t         offset;
+     int             count = 0, type, hash, version;
+     netsnmp_cert    *cert;
+     netsnmp_key     *key;
+@@ -1381,7 +1505,8 @@ _cert_read_index(const char *dirname, struct stat *dirstat)
+         netsnmp_directory_container_read_some(NULL, dirname,
+                                               _time_filter, &idx_stat,
+                                               NETSNMP_DIR_NSFILE |
+-                                              NETSNMP_DIR_NSFILE_STATS);
++                                              NETSNMP_DIR_NSFILE_STATS |
++                                              NETSNMP_DIR_ALLOW_DUPLICATES);
+     if (newer) {
+         DEBUGMSGT(("cert:index:parse", "Index outdated; files modified\n"));
+         CONTAINER_FREE_ALL(newer, NULL);
+@@ -1426,6 +1551,7 @@ _cert_read_index(const char *dirname, struct stat *dirstat)
+             pos = &tmpstr[2];
+             if ((NULL == (pos=copy_nword(pos, filename, sizeof(filename)))) ||
+                 (NULL == (pos=copy_nword(pos, type_str, sizeof(type_str)))) ||
++                (NULL == (pos=copy_nword(pos, offset_str, sizeof(offset_str)))) ||
+                 (NULL == (pos=copy_nword(pos, hash_str, sizeof(hash_str)))) ||
+                 (NULL == (pos=copy_nword(pos, fingerprint,
+                                          sizeof(fingerprint)))) ||
+@@ -1438,8 +1564,9 @@ _cert_read_index(const char *dirname, struct stat *dirstat)
+                 break;
+             }
+             type = atoi(type_str);
++            offset = atoi(offset_str);
+             hash = atoi(hash_str);
+-            cert = _new_cert(dirname, filename, type, hash, fingerprint,
++            cert = _new_cert(dirname, filename, type, offset, hash, fingerprint,
+                              common_name, subject);
+             if (cert && 0 == CONTAINER_INSERT(found, cert))
+                 ++count;
+@@ -1546,7 +1673,8 @@ _add_certdir(const char *dirname)
+         netsnmp_directory_container_read_some(NULL, dirname,
+                                               _cert_cert_filter, NULL,
+                                               NETSNMP_DIR_RELATIVE_PATH |
+-                                              NETSNMP_DIR_EMPTY_OK );
++                                              NETSNMP_DIR_EMPTY_OK |
++                                              NETSNMP_DIR_ALLOW_DUPLICATES);
+     if (NULL == cert_container) {
+         DEBUGMSGT(("cert:index:dir",
+                     "error creating container for cert files\n"));
+@@ -1634,7 +1762,7 @@ _cert_print(netsnmp_cert *c, void *context)
+     if (NULL == c)
+         return;
+-    DEBUGMSGT(("cert:dump", "cert %s in %s\n", c->info.filename, c->info.dir));
++    DEBUGMSGT(("cert:dump", "cert %s in %s at offset %d\n", c->info.filename, c->info.dir, c->offset));
+     DEBUGMSGT(("cert:dump", "   type %d flags 0x%x (%s)\n",
+              c->info.type, c->info.allowed_uses,
+               _mode_str(c->info.allowed_uses)));
+@@ -1838,7 +1966,8 @@ netsnmp_cert_find(int what, int where, void *hint)
+         netsnmp_void_array *matching;
+         DEBUGMSGT(("cert:find:params", " hint = %s\n", (char *)hint));
+-        matching = _cert_find_subset_fn( filename, NULL );
++        matching = _cert_reduce_subset_what(_cert_find_subset_fn(
++                                            filename, NULL ), what);
+         if (!matching)
+             return NULL;
+         if (1 == matching->size)
+@@ -2281,6 +2410,124 @@ _reduce_subset_dir(netsnmp_void_array *matching, const char *directory)
+     }
+ }
++/*
++ * reduce subset by eliminating any certificates that are not the
++ * first certficate in a file. This allows us to ignore certificate
++ * chains when testing for specific certificates, and to match keys
++ * to the first certificate only.
++ */
++static netsnmp_void_array *
++_cert_reduce_subset_first(netsnmp_void_array *matching)
++{
++    netsnmp_cert *cc;
++    int i = 0, j, newsize;
++
++    if ((NULL == matching))
++        return matching;
++
++    newsize = matching->size;
++
++    for( ; i < matching->size; ) {
++        /*
++         * if we've shifted matches down we'll hit a NULL entry before
++         * we hit the end of the array.
++         */
++        if (NULL == matching->array[i])
++            break;
++        /*
++         * skip over valid matches. The first entry has an offset of zero.
++         */
++        cc = (netsnmp_cert*)matching->array[i];
++        if (0 == cc->offset) {
++            ++i;
++            continue;
++        }
++        /*
++         * shrink array by shifting everything down a spot. Might not be
++         * the most efficient soloution, but this is just happening at
++         * startup and hopefully most certs won't have common prefixes.
++         */
++        --newsize;
++        for ( j=i; j < newsize; ++j )
++            matching->array[j] = matching->array[j+1];
++        matching->array[j] = NULL;
++        /** no ++i; just shifted down, need to look at same position again */
++    }
++    /*
++     * if we shifted, set the new size
++     */
++    if (newsize != matching->size) {
++        DEBUGMSGT(("9:cert:subset:first", "shrank from %" NETSNMP_PRIz "d to %d\n",
++                   matching->size, newsize));
++        matching->size = newsize;
++    }
++
++    if (0 == matching->size) {
++        free(matching->array);
++        SNMP_FREE(matching);
++    }
++
++    return matching;
++}
++
++/*
++ * reduce subset by eliminating any certificates that do not match
++ * purpose specified.
++ */
++static netsnmp_void_array *
++_cert_reduce_subset_what(netsnmp_void_array *matching, int what)
++{
++    netsnmp_cert_common *cc;
++    int i = 0, j, newsize;
++
++    if ((NULL == matching))
++        return matching;
++
++    newsize = matching->size;
++
++    for( ; i < matching->size; ) {
++        /*
++         * if we've shifted matches down we'll hit a NULL entry before
++         * we hit the end of the array.
++         */
++        if (NULL == matching->array[i])
++            break;
++        /*
++         * skip over valid matches. The first entry has an offset of zero.
++         */
++        cc = (netsnmp_cert_common *)matching->array[i];
++        if ((cc->allowed_uses & what)) {
++            ++i;
++            continue;
++        }
++        /*
++         * shrink array by shifting everything down a spot. Might not be
++         * the most efficient soloution, but this is just happening at
++         * startup and hopefully most certs won't have common prefixes.
++         */
++        --newsize;
++        for ( j=i; j < newsize; ++j )
++            matching->array[j] = matching->array[j+1];
++        matching->array[j] = NULL;
++        /** no ++i; just shifted down, need to look at same position again */
++    }
++    /*
++     * if we shifted, set the new size
++     */
++    if (newsize != matching->size) {
++        DEBUGMSGT(("9:cert:subset:what", "shrank from %" NETSNMP_PRIz "d to %d\n",
++                   matching->size, newsize));
++        matching->size = newsize;
++    }
++
++    if (0 == matching->size) {
++        free(matching->array);
++        SNMP_FREE(matching);
++    }
++
++    return matching;
++}
++
+ static netsnmp_void_array *
+ _cert_find_subset_common(const char *filename, netsnmp_container *container)
+ {
+diff --git a/snmplib/dir_utils.c b/snmplib/dir_utils.c
+index c2dd989..e7145e4 100644
+--- a/snmplib/dir_utils.c
++++ b/snmplib/dir_utils.c
+@@ -107,6 +107,9 @@ netsnmp_directory_container_read_some(netsnmp_container *user_container,
+         /** default to unsorted */
+         if (! (flags & NETSNMP_DIR_SORTED))
+             CONTAINER_SET_OPTIONS(container, CONTAINER_KEY_UNSORTED, rc);
++        /** default to duplicates not allowed */
++        if (! (flags & NETSNMP_DIR_ALLOW_DUPLICATES))
++           CONTAINER_SET_OPTIONS(container, CONTAINER_KEY_ALLOW_DUPLICATES, rc);
+     }
+     dir = opendir(dirname);
diff --git a/net-snmp/patches/net-snmp-5.9-memory-reporting.patch b/net-snmp/patches/net-snmp-5.9-memory-reporting.patch
new file mode 100644 (file)
index 0000000..3db8d51
--- /dev/null
@@ -0,0 +1,28 @@
+diff --git a/agent/mibgroup/hardware/memory/memory_linux.c b/agent/mibgroup/hardware/memory/memory_linux.c
+index 6d5e86c..68b55d2 100644
+--- a/agent/mibgroup/hardware/memory/memory_linux.c
++++ b/agent/mibgroup/hardware/memory/memory_linux.c
+@@ -123,6 +123,13 @@ int netsnmp_mem_arch_load( netsnmp_cache *cache, void *magic ) {
+         if (first)
+             snmp_log(LOG_ERR, "No SwapTotal line in /proc/meminfo\n");
+     }
++    b = strstr(buff, "SReclaimable: ");
++    if (b)
++        sscanf(b, "SReclaimable: %lu", &sreclaimable);
++    else {
++        if (first)
++            snmp_log(LOG_ERR, "No SReclaimable line in /proc/meminfo\n");
++    }
+     b = strstr(buff, "SwapFree: ");
+     if (b)
+         sscanf(b, "SwapFree: %lu", &swapfree);
+@@ -130,9 +137,6 @@ int netsnmp_mem_arch_load( netsnmp_cache *cache, void *magic ) {
+         if (first)
+             snmp_log(LOG_ERR, "No SwapFree line in /proc/meminfo\n");
+     }
+-    b = strstr(buff, "SReclaimable: ");
+-    if (b)
+-        sscanf(b, "SReclaimable: %lu", &sreclaimable);
+     first = 0;
similarity index 56%
rename from net-snmp/patches/net-snmp-5.7.2-pie.patch
rename to net-snmp/patches/net-snmp-5.9-pie.patch
index ee02001b3585032ac8a53bb1648af6a96895aa94..a79290413a4afdd0004db1801e3984eb8681c53d 100644 (file)
@@ -1,7 +1,8 @@
-diff -up net-snmp-5.7.2/agent/Makefile.in.pie net-snmp-5.7.2/agent/Makefile.in
---- net-snmp-5.7.2/agent/Makefile.in.pie       2012-10-10 00:28:58.000000000 +0200
-+++ net-snmp-5.7.2/agent/Makefile.in   2012-10-18 09:45:13.298613099 +0200
-@@ -294,7 +294,7 @@ getmibstat.o: mibgroup/kernel_sunos5.c
+diff --git a/agent/Makefile.in b/agent/Makefile.in
+index 047d880..38d40aa 100644
+--- a/agent/Makefile.in
++++ b/agent/Makefile.in
+@@ -300,7 +300,7 @@ getmibstat.o: mibgroup/kernel_sunos5.c
        $(CC) $(CFLAGS) -o $@ -D_GETMIBSTAT_TEST -DDODEBUG -c $? 
  
  snmpd$(EXEEXT):       ${LAGENTOBJS} $(USELIBS) $(AGENTLIB) $(HELPERLIB) $(MIBLIB) $(LIBTARG) 
@@ -9,11 +10,12 @@ diff -up net-snmp-5.7.2/agent/Makefile.in.pie net-snmp-5.7.2/agent/Makefile.in
 +      $(LINK) $(CFLAGS) -o $@ -pie ${LAGENTOBJS} ${LDFLAGS} ${OUR_AGENT_LIBS}
  
  libnetsnmpagent.$(LIB_EXTENSION)$(LIB_VERSION):    ${LLIBAGENTOBJS} $(USELIBS)
-       $(LIB_LD_CMD) $(AGENTLIB) ${LLIBAGENTOBJS} $(USELIBS) ${LAGENTLIBS} @LD_NO_UNDEFINED@ $(LDFLAGS) $(PERLLDOPTS_FOR_LIBS) $(LIB_LD_LIBS) @AGENTLIBS@
-diff -up net-snmp-5.7.2/apps/Makefile.in.pie net-snmp-5.7.2/apps/Makefile.in
---- net-snmp-5.7.2/apps/Makefile.in.pie        2012-10-10 00:28:58.000000000 +0200
-+++ net-snmp-5.7.2/apps/Makefile.in    2012-10-18 09:44:27.827774580 +0200
-@@ -170,7 +170,7 @@ snmptest$(EXEEXT):    snmptest.$(OSUFFIX
+       $(LIB_LD_CMD) $(AGENTLIB) ${LLIBAGENTOBJS} $(USELIBS) ${LAGENTLIBS} $(LDFLAGS) $(PERLLDOPTS_FOR_LIBS) @AGENTLIBS@
+diff --git a/apps/Makefile.in b/apps/Makefile.in
+index 3dbb1d1..48ed23a 100644
+--- a/apps/Makefile.in
++++ b/apps/Makefile.in
+@@ -190,7 +190,7 @@ snmptest$(EXEEXT):    snmptest.$(OSUFFIX) $(USELIBS)
        $(LINK) ${CFLAGS} -o $@ snmptest.$(OSUFFIX) ${LDFLAGS} ${LIBS}
  
  snmptrapd$(EXEEXT):    $(TRAPD_OBJECTS) $(USETRAPLIBS) $(INSTALLLIBS)
diff --git a/net-snmp/patches/net-snmp-5.9.1-autoconf.patch b/net-snmp/patches/net-snmp-5.9.1-autoconf.patch
new file mode 100644 (file)
index 0000000..5c6b2a9
--- /dev/null
@@ -0,0 +1,6 @@
+diff -urNp a/dist/autoconf-version b/dist/autoconf-version
+--- a/dist/autoconf-version    2021-09-01 11:18:14.582110773 +0200
++++ b/dist/autoconf-version    2021-09-01 11:20:16.804369533 +0200
+@@ -1 +1 @@
+-2.69
++2.71
diff --git a/net-tools/config.h b/net-tools/config.h
deleted file mode 100644 (file)
index f63aecb..0000000
+++ /dev/null
@@ -1,75 +0,0 @@
-/*
-* config.h     Automatically generated configuration includefile
-*
-* NET-TOOLS    A collection of programs that form the base set of the
-*              NET-3 Networking Distribution for the LINUX operating
-*              system.
-*
-*              DO  NOT  EDIT  DIRECTLY
-*
-*/
-
-/* 
- * 
- * Internationalization
- * 
- * The net-tools package has currently been translated to French,
- * German and Brazilian Portugese.  Other translations are, of
- * course, welcome.  Answer `n' here if you have no support for
- * internationalization on your system.
- * 
- */
-#define I18N 1
-
-/* 
- * 
- * Protocol Families.
- * 
- */
-#define HAVE_AFUNIX 1
-#define HAVE_AFINET 1
-#define HAVE_AFINET6 1
-#define HAVE_AFIPX 1
-#define HAVE_AFATALK 1
-#define HAVE_AFAX25 1
-#define HAVE_AFNETROM 1
-#define HAVE_AFROSE 1
-#define HAVE_AFX25 0
-#define HAVE_AFECONET 1
-#define HAVE_AFDECnet 0
-#define HAVE_AFASH 1
-
-/* 
- * 
- * Device Hardware types.
- * 
- */
-#define HAVE_HWETHER 1
-#define HAVE_HWARC 1
-#define HAVE_HWSLIP 0
-#define HAVE_HWPPP 1
-#define HAVE_HWTUNNEL 1
-#define HAVE_HWSTRIP 0
-#define HAVE_HWTR 0
-#define HAVE_HWAX25 1
-#define HAVE_HWROSE 1
-#define HAVE_HWNETROM 1
-#define HAVE_HWX25 0
-#define HAVE_HWFR 1
-#define HAVE_HWSIT 1
-#define HAVE_HWFDDI 1
-#define HAVE_HWHIPPI 1
-#define HAVE_HWASH 1
-#define HAVE_HWHDLCLAPB 1
-#define HAVE_HWIRDA 1
-#define HAVE_HWEC 1
-#define HAVE_HWIB 1
-
-/* 
- * 
- * Other Features.
- * 
- */
-#define HAVE_FW_MASQUERADE 1
-#define HAVE_IP_TOOLS 1
-#define HAVE_MII 1
diff --git a/net-tools/config.make b/net-tools/config.make
deleted file mode 100644 (file)
index 18907a5..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-I18N=1
-HAVE_AFUNIX=1
-HAVE_AFINET=1
-HAVE_AFINET6=1
-HAVE_AFIPX=1
-HAVE_AFATALK=1
-HAVE_AFAX25=1
-HAVE_AFNETROM=1
-HAVE_AFROSE=1
-HAVE_AFX25=1
-HAVE_AFECONET=1
-# HAVE_AFDECnet=0
-HAVE_AFASH=1
-HAVE_HWETHER=1
-HAVE_HWARC=1
-HAVE_HWSLIP=1
-HAVE_HWPPP=1
-HAVE_HWTUNNEL=1
-HAVE_HWSTRIP=0
-HAVE_HWTR=0
-HAVE_HWAX25=1
-HAVE_HWROSE=1
-HAVE_HWNETROM=1
-HAVE_HWX25=1
-HAVE_HWFR=1
-HAVE_HWSIT=1
-HAVE_HWFDDI=1
-HAVE_HWHIPPI=1
-HAVE_HWASH=1
-HAVE_HWHDLCLAPB=1
-HAVE_HWIRDA=1
-HAVE_HWEC=1
-HAVE_HWIB=1
-HAVE_FW_MASQUERADE=1
-HAVE_IP_TOOLS=1
-HAVE_MII=1
-HAVE_SELINUX=0
diff --git a/net-tools/mii-diag.8 b/net-tools/mii-diag.8
deleted file mode 100644 (file)
index aa0dc0b..0000000
+++ /dev/null
@@ -1,160 +0,0 @@
-.\"                                      Hey, EMACS: -*- nroff -*-
-.\" $Revision: 1.1 $ $Date: 2003/09/06 17:20:17 $
-.\" First parameter, NAME, should be all caps
-.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
-.\" other parameters are allowed: see man(7), man(1)
-.TH MII-DIAG 8 "September 9, 2003" "Scyld Beowulf\*(Tm"
-.\" Please adjust this date whenever revising the manpage.
-.\"
-.\" Some roff macros, for reference:
-.\" .nh        disable hyphenation
-.\" .hy        enable hyphenation
-.\" .ad l      left justify
-.\" .ad b      justify to both left and right margins
-.\" .nf        disable filling
-.\" .fi        enable filling
-.\" .br        insert line break
-.\" .sp <n>    insert n+1 empty lines
-.\" for manpage-specific macros, see man(7)
-.SH NAME
-mii-diag \- Network adapter control and monitoring
-.SH SYNOPSIS
-.B mii-diag
-.RI [ options ] <interface>
-.SH DESCRIPTION
-This manual page documents briefly the
-.B mii-diag
-network adapter control and monitoring command.
-Addition documentation is available from http://scyld.com/diag/index.html.
-
-.\" TeX users may be more comfortable with the \fB<whatever>\fP and
-.\" \fI<whatever>\fP escape sequences to invoke bold face and italics, 
-.\" respectively.
-.PP
-This \fBmii-diag\fP command configures, controls and monitors the
-transceiver management registers for network interfaces, and configures
-driver operational parameters.  For transceiver control \fBmii-diag\fP
-uses the Media Independent Interface (MII) standard (thus the command name).
-It also has additional Linux-specific controls to communicate parameters
-such as message enable settings and buffer sizes to the underlying device
-driver.
-.PP
-The MII standard defines registers that control and report network
-transceiver capabilities, link settings and errors.  Examples are link
-speed, duplex, capabilities advertised to the link partner, status LED
-indications and link error counters.
-
-.SH OPTIONS
-The \fBmii-diag\fP command supports both single character and long
-option names.  Short options use a single dash (´-´) in front of the option
-character.  For options without parameters, multiple options may be
-concatenated after a single dash.  Long options are prefixed by two
-dashes (´--´), and may be abbreviated with a unique prefix.
-A long option may take a parameter of the form --arg=param or --arg param.
-
-.PP
-A summary of options is as follows.
-
-.TP
-.B \-A, --advertise <speed|setting>
-.BR
-.B \-F, --fixed-speed <speed|setting>
-
-Speed is one of: 100baseT4, 100baseTx, 100baseTx-FD, 100baseTx-HD, 10baseT,
-10baseT-FD, 10baseT-HD.  For more precise control an explict numeric
-register setting is also allowed.
-
-
-.TP
-.B \-a, \--all-interfaces
-Show the status of all interfaces.  This option is not recommended with
-any other option, especially ones that change settings.
-
-.TP
-.B \-s,\--status
-Return exit status 2 if there is no link beat.
-
-.TP
-.B \-D
-Increase the debugging level.  This may be used to understand the
-actions the command is taking.
-
-.TP
-.B \-g, \--read-parameters
-Show driver-specific parameters.
-
-.TP
-.B \-G, \--set-parameters value[,value...]
-Set driver-specific parameters.
-Set a adapter-specific parameters.
-Parameters are comma separated, with missing elements retaining the
-existing value.
-
-.TP
-.B \-v
-Increase the verbosity level.  Additional "-v" options increase the
-level further.
-
-.TP
-.B \-V
-Show the program version information.
-
-.TP
-.B \-w, \--watch
-Continuously monitor the transceiver and report changes.
-
-.TP
-.B \-?
-Emit usage information.
-
-.SH DESCRIPTION
-
-.PP
-Calling the command with just the interface name (which defaults to
-'eth0' if missing) produces extensive output describing the transceiver
-capabilities, configuration and current status.
-
-.PP
-The '--monitor' option allows scripting link beat changes.
-.PP
-This option is similar to --watch, but with lower overhead and simplifed
-output.  It polls the interface only once a second and the output format
-is a single line per link change with three fixed words
-  <unknown|down||negotiating|up> <STATUS> <PARTNER-CAP>
-.PP
-Example output:  mii-diag --monitor eth0
-   down         0x7809 0x0000
-   negotiating  0x7829 0x45e1
-   up           0x782d 0x45e1
-   down         0x7809 0x0000
-
-.PP
-This may be used as
-  mii-diag --monitor eth0 |
-    while read linkstatus bmsr linkpar; do
-     case $linkstatus in
-        up)   ifup eth0 ;;
-        down) ifdown eth0 ;;
-     esac
-    done
-
-.PP
-It may be useful to shorten the DHCP client daemon timeout if it does
-not receive an address by adding the following setting to
-/etc/sysconfig/network:
-DHCPCDARGS="-t 3"
-
-.SH SEE ALSO
-.BR ether-wake (8), net-diag (8), mii-tool (8).
-.br
-Addition documentation is available from http://scyld.com/diag/index.html.
-
-.SH KNOWN BUGS
-The --all-interfaces option is quirky.  There are very few settings that
-are usefully applied to all interfaces.
-
-.SH AUTHOR
-The manual pages, diagnostic commands, and many of the underlying Linux
-network drivers were written by Donald Becker for the Scyld
-Beowulf(\*(Tm) cluster system.
-
diff --git a/net-tools/mii-diag.c b/net-tools/mii-diag.c
deleted file mode 100644 (file)
index 69ebd0b..0000000
+++ /dev/null
@@ -1,653 +0,0 @@
-/* Mode: C;
- * mii-diag.c: Examine and set the MII registers of a network interfaces.
-
-       Usage:  mii-diag [-vw] interface.
-
-       This program reads and writes the Media Independent Interface (MII)
-       management registers on network transceivers.  The registers control
-       and report network link settings and errors.  Examples are link speed,
-       duplex, capabilities advertised to the link partner, status LED
-       indications and link error counters.
-
-       Notes:
-       The compile-command is at the end of this source file.
-       This program works with drivers that implement MII ioctl() calls.
-
-       Written/copyright 1997-2003 by Donald Becker <becker@scyld.com>
-
-       This program is free software; you can redistribute it
-       and/or modify it under the terms of the GNU General Public
-       License as published by the Free Software Foundation.
-
-       The author may be reached as becker@scyld.com, or C/O
-        Scyld Computing Corporation
-        914 Bay Ridge Road, Suite 220
-        Annapolis MD 21403
-
-       References
-       http://scyld.com/expert/mii-status.html
-       http://scyld.com/expert/NWay.html
-       http://www.national.com/pf/DP/DP83840.html
-*/
-
-static char version[] =
-"mii-diag.c:v2.11 3/21/2005 Donald Becker (becker@scyld.com)\n"
-" http://www.scyld.com/diag/index.html\n";
-
-static const char usage_msg[] =
-"Usage: %s [--help] [-aDfrRvVw] [-AF <speed+duplex>] [--watch] <interface>\n";
-static const char long_usage_msg[] =
-"Usage: %s [-aDfrRvVw] [-AF <speed+duplex>] [--watch] <interface>\n\
-\n\
-  This program configures and monitors the transceiver management registers\n\
-  for network interfaces.  It uses the Media Independent Interface (MII)\n\
-  standard with additional Linux-specific controls to communicate with the\n\
-  underlying device driver.  The MII registers control and report network\n\
-  link settings and errors.  Examples are link speed, duplex, capabilities\n\
-  advertised to the link partner, status LED indications and link error\n\
-  counters.\n\
-\n\
-   The common usage is\n\
-      mii-diag eth0\n\
-\n\
- Frequently used options are\n\
-   -A  --advertise <speed|setting>\n\
-   -F  --fixed-speed <speed>\n\
-       Speed is one of: 100baseT4, 100baseTx, 100baseTx-FD, 100baseTx-HD,\n\
-                        10baseT, 10baseT-FD, 10baseT-HD\n\
-   -s  --status     Return exit status 2 if there is no link beat.\n\
-\n\
- Less frequently used options are\n\
-   -a  --all-interfaces  Show the status all interfaces\n\
-              (Not recommended with options that change settings.)\n\
-   -D  --debug\n\
-   -g  --read-parameters       Get driver-specific parameters.\n\
-   -G  --set-parameters PARMS  Set driver-specific parameters.\n\
-       Parameters are comma separated, missing parameters retain\n\
-       their previous values.\n\
-   -M  --msg-level LEVEL       Set the driver message bit map.\n\
-   -p  --phy ADDR              Set the PHY (MII address) to report.\n\
-   -r  --restart       Restart the link autonegotiation.\n\
-   -R  --reset         Reset the transceiver.\n\
-   -v  --verbose       Report each action taken.\n\
-   -V  --version       Emit version information.\n\
-   -w  --watch         Continuously monitor the transceiver and report changes.\n\
-\n\
-   This command returns success (zero) if the interface information can be\n\
-   read.  If the --status option is passed, a zero return means that the\n\
-   interface has link beat.\n\
-";
-
-#include <unistd.h>
-#include <stdlib.h>
-#include <stdio.h>
-#include <ctype.h>
-#include <string.h>
-#include <errno.h>
-#include <fcntl.h>
-#include <getopt.h>
-#include <sys/types.h>
-#include <sys/socket.h>
-#include <sys/ioctl.h>
-#include <net/if.h>
-#ifdef use_linux_libc5
-#include <linux/if_arp.h>
-#include <linux/if_ether.h>
-#endif
-
-typedef u_int32_t u32;
-typedef u_int16_t u16;
-typedef u_int8_t u8;
-
-#if defined(SIOCGPARAMS)  && SIOCGPARAMS != SIOCDEVPRIVATE+3
-#error Changed definition for SIOCGPARAMS
-#else
-#define SIOCGPARAMS (SIOCDEVPRIVATE+3)                 /* Read operational parameters. */
-#define SIOCSPARAMS (SIOCDEVPRIVATE+4)                 /* Set operational parameters. */
-#endif
-
-const char shortopts[] = "aA:C:DfF:gG:hmM:p:rRsvVw?";
-struct option longopts[] = {
- /* { name  has_arg  *flag  val } */
-    {"all-interfaces", 0, 0, 'a'},     /* Show all interfaces. */
-       {"advertise",   1, 0, 'A'},             /* Change the capabilities advertised. */
-       {"BMCR",                1, 0, 'C'},             /* Set the control register. */
-    {"debug",       0, 0, 'D'},                /* Increase the debug level. */
-    {"force",       0, 0, 'f'},                /* Force the operation. */
-    {"fixed-speed", 1, 0, 'F'},                /* Fixed speed name. */
-    {"read-parameters", 0, 0, 'g'}, /* Show general settings values. */
-    {"set-parameters",  1, 0, 'G'},    /* Write general settings values. */
-    {"help",           0, 0, 'h'},             /* Print a long usage message. */
-    {"monitor",                0, 0, 'm'},             /* Monitor status register. */
-    {"msg-level",      1, 0, 'M'},             /* Set the driver message level. */
-    {"phy",                    1, 0, 'p'},             /* Set the PHY (MII address) to report. */
-    {"restart",                0, 0, 'r'},             /* Restart the link negotiation */
-    {"reset",          0, 0, 'R'},             /* Reset the transceiver. */
-    {"status",         0, 0, 's'},             /* Non-zero exit status w/ no link beat. */
-    {"verbose",        0, 0, 'v'},             /* Report each action taken.  */
-    {"version",        0, 0, 'V'},             /* Emit version information.  */
-    {"watch",          0, 0, 'w'},             /* Constantly monitor the port.  */
-    {"error",          0, 0, '?'},             /* Return the error message. */
-    { 0, 0, 0, 0 }
-};
-
-/* Usually in libmii.c, but trivial substitions are below. */
-extern int  show_mii_details(long ioaddr, int phy_id);
-extern void monitor_mii(long ioaddr, int phy_id);
-int  show_mii_details(long ioaddr, int phy_id) __attribute__((weak));
-void monitor_mii(long ioaddr, int phy_id) __attribute__((weak));
-
-
-/* Command-line flags. */
-unsigned int opt_a = 0,                                        /* Show-all-interfaces flag. */
-       opt_f = 0,                                      /* Force the operation. */
-       opt_g = 0,
-       opt_G = 0,
-       verbose = 0,                            /* Verbose flag. */
-       debug = 0,
-       opt_version = 0,
-       opt_restart = 0,
-       opt_reset = 0,
-       opt_status = 0,
-       opt_watch = 0;
-static int msg_level = -1;
-static int set_BMCR = -1;
-static int nway_advertise = 0;
-static int fixed_speed = -1;
-static int override_phy = -1;
-char *opt_G_string = NULL;
-
-/* Internal values. */
-int new_ioctl_nums;
-int skfd = -1;                                 /* AF_INET socket for ioctl() calls.    */
-struct ifreq ifr;
-
-int do_one_xcvr(int skfd);
-int show_basic_mii(long ioaddr, int phy_id);
-int mdio_read(int skfd, int phy_id, int location);
-void mdio_write(int skfd, int phy_id, int location, int value);
-static int parse_advertise(const char *capabilities);
-static void monitor_status(long ioaddr, int phy_id);
-
-
-int
-main(int argc, char **argv)
-{
-       int c, errflag = 0;
-       char **spp, *ifname;
-    char *progname = rindex(argv[0], '/') ? rindex(argv[0], '/')+1 : argv[0];
-
-       while ((c = getopt_long(argc, argv, shortopts, longopts, 0)) != EOF)
-               switch (c) {
-               case 'a': opt_a++; break;
-               case 'A': nway_advertise |= parse_advertise(optarg);
-                       if (nway_advertise == -1) errflag++;
-                       break;
-               case 'C': set_BMCR = strtoul(optarg, NULL, 16); break;
-               case 'D': debug++;                      break;
-               case 'f': opt_f++; break;
-               case 'F': fixed_speed = parse_advertise(optarg);
-                       if (fixed_speed == -1) errflag++;
-                       break;
-               case 'g': opt_g++; break;
-               case 'G': opt_G++; opt_G_string = strdup(optarg); break;
-               case 'm': opt_watch++; opt_status++; break;
-               case 'M': msg_level = strtoul(optarg, NULL, 0); break;
-               case 'h': fprintf(stderr, long_usage_msg, progname); return 0;
-               case 'p': override_phy = atoi(optarg); break;
-               case 'r': opt_restart++;        break;
-               case 'R': opt_reset++;          break;
-               case 's': opt_status++;         break;
-               case 'v': verbose++;            break;
-               case 'V': opt_version++;        break;
-               case 'w': opt_watch++;          break;
-               case '?': errflag++;            break;
-               }
-       if (errflag) {
-               fprintf(stderr, usage_msg, progname);
-               return 2;
-       }
-
-       if (verbose || opt_version)
-               printf("%s", version);
-
-       /* Open a basic socket. */
-       if ((skfd = socket(AF_INET, SOCK_DGRAM,0)) < 0) {
-               perror("socket");
-               return 1;
-       }
-
-       if (debug)
-               fprintf(stderr, "DEBUG: argc=%d, optind=%d and argv[optind] is %s.\n",
-                               argc, optind, argv[optind]);
-
-       /* No remaining args means interface wasn't specified. */
-       if (optind == argc) {
-               fprintf(stderr, "No interface specified.\n");
-               fprintf(stderr, usage_msg, progname);
-               (void) close(skfd);
-               return 2;
-       } else {
-               /* Copy the interface name. */
-               spp = argv + optind;
-               ifname = *spp++;
-       }
-
-       if (ifname == NULL) {
-               fprintf(stderr, "No ifname.\n");
-               (void) close(skfd);
-               return -1;
-       }
-
-       /* Verify that the interface supports the ioctl(), and if
-          it is using the new or old SIOCGMIIPHY value (grrr...).
-        */
-       {
-               u16 *data = (u16 *)(&ifr.ifr_data);
-
-               strncpy(ifr.ifr_name, ifname, IFNAMSIZ);
-               ifr.ifr_name[IFNAMSIZ-1] = '\0';
-               data[0] = 0;
-
-               if (ioctl(skfd, 0x8947, &ifr) >= 0) {
-                       new_ioctl_nums = 1;
-               } else if (ioctl(skfd, SIOCDEVPRIVATE, &ifr) >= 0) {
-                       new_ioctl_nums = 0;
-               } else {
-                       fprintf(stderr, "SIOCGMIIPHY on %s failed: %s\n", ifname,
-                                       strerror(errno));
-                       (void) close(skfd);
-                       return 1;
-               }
-               if (verbose)
-                       printf("  Using the %s SIOCGMIIPHY value on PHY %d "
-                                  "(BMCR 0x%4.4x).\n",
-                                  new_ioctl_nums ? "new" : "old", data[0], data[3]);
-       }
-
-       do_one_xcvr(skfd);
-
-       (void) close(skfd);
-       return 0;
-}
-
-int do_one_xcvr(int skfd)
-{
-       u16 *data = (u16 *)(&ifr.ifr_data);
-       u32 *data32 = (u32 *)(&ifr.ifr_data);
-       unsigned phy_id = data[0];
-
-       if (override_phy >= 0) {
-               printf("Using the specified MII PHY index %d.\n", override_phy);
-               phy_id = override_phy;
-       }
-
-       if (opt_g || opt_G || msg_level >= 0) {
-               if (ioctl(skfd, SIOCGPARAMS, &ifr) < 0) {
-                       fprintf(stderr, "SIOCGPARAMS on %s failed: %s\n", ifr.ifr_name,
-                                       strerror(errno));
-                       return -1;
-               }
-       }
-       if (opt_g) {
-               int i;
-               printf("Driver general parameter settings:");
-               for (i = 0; i*sizeof(u32) < sizeof(ifr.ifr_ifru); i++) {
-                       printf(" %d", data32[i]);
-               }
-               printf(".\n");
-       }
-       if (opt_G) {
-               /* Set up to four arbitrary driver parameters from the -G parameter.
-                  The format is comma separated integers, with a missing element
-                  retaining the previous value.
-               */
-               char *str = opt_G_string;
-               int i;
-               for (i = 0; str && i < 4; i++) {
-                       char *endstr;
-                       u32 newval = strtol(str, &endstr, 0);
-                       if (debug)
-                               printf(" parse string '%s'  value %d end '%s'.\n",
-                                          str, newval, endstr);
-                       if (str == endstr) {
-                               if (endstr[0] == ',') /* No parameter */
-                                       str = endstr+1;
-                               else {
-                                       fprintf(stderr, "Invalid driver parameter '%s'.\n", str);
-                                       str = index(str, ',');
-                               }
-                       } else if (endstr[0] == ',') {
-                               data32[i] = newval;
-                               str = endstr + 1;
-                       } else if (endstr[0] == 0) {
-                               data32[i] = newval;
-                               break;
-                       }
-               }
-               printf("Setting new driver general parameters:");
-               for (i = 0; i*sizeof(u32) < sizeof(ifr.ifr_ifru); i++) {
-                       printf(" %d", data32[i]);
-               }
-               printf(".\n");
-               if (ioctl(skfd, SIOCSPARAMS, &ifr) < 0) {
-                       fprintf(stderr, "SIOCSPARAMS on %s failed: %s\n", ifr.ifr_name,
-                                       strerror(errno));
-                       return -1;
-               }
-       }
-       if (msg_level >= 0) {
-               data32[0] = msg_level;
-               if (ioctl(skfd, SIOCSPARAMS, &ifr) < 0) {
-                       fprintf(stderr, "SIOCSPARAMS on %s failed: %s\n", ifr.ifr_name,
-                                       strerror(errno));
-                       return -1;
-               }
-       }
-
-       if (opt_reset) {
-               printf("Resetting the transceiver...\n");
-               mdio_write(skfd, phy_id, 0, 0x8000);
-       }
-       /* Note: PHY addresses > 32 are pseudo-MII devices, usually built-in. */
-       if (phy_id < 64  &&  nway_advertise > 0) {
-               printf(" Setting the media capability advertisement register of "
-                          "PHY #%d to 0x%4.4x.\n", phy_id, nway_advertise | 1);
-               mdio_write(skfd, phy_id, 4, nway_advertise | 1);
-               mdio_write(skfd, phy_id, 0, 0x1000);
-       }
-
-       if (opt_restart) {
-               printf("Restarting negotiation...\n");
-               mdio_write(skfd, phy_id, 0, 0x0000);
-               mdio_write(skfd, phy_id, 0, 0x1200);
-       }
-       /* To force 100baseTx-HD do  mdio_write(skfd, phy_id, 0, 0x2000); */
-       if (fixed_speed >= 0) {
-               int reg0_val = 0;
-               if (fixed_speed & 0x0180)               /* 100mpbs */
-                       reg0_val |=  0x2000;
-               if ((fixed_speed & 0x0140) &&           /* A full duplex type and */
-                       ! (fixed_speed & 0x0820))               /* no half duplex types. */
-                       reg0_val |= 0x0100;
-               printf("Setting the speed to \"fixed\", Control register %4.4x.\n",
-                          reg0_val);
-               mdio_write(skfd, phy_id, 0, reg0_val);
-       }
-       if (set_BMCR >= 0) {
-               printf("Setting the Basic Mode Control Register to 0x%4.4x.\n",
-                          set_BMCR);
-               mdio_write(skfd, phy_id, 0, set_BMCR);
-       }
-
-       if (opt_watch && opt_status)
-               monitor_status(skfd, phy_id);
-
-       show_basic_mii(skfd, phy_id);
-#ifdef LIBMII
-       if (verbose)
-               show_mii_details(skfd, phy_id);
-#else
-       if (verbose || debug) {
-               int mii_reg, mii_val;
-               printf(" MII PHY #%d transceiver registers:", phy_id);
-               for (mii_reg = 0; mii_reg < 32; mii_reg++) {
-                       mii_val = mdio_read(skfd, phy_id, mii_reg);
-                       printf("%s %4.4x", (mii_reg % 8) == 0 ? "\n  " : "",
-                                  mii_val);
-               }
-               printf("\n");
-       }
-#endif
-
-       if (opt_watch)
-               monitor_mii(skfd, phy_id);
-       if (opt_status &&
-               (mdio_read(skfd, phy_id, 1) & 0x0004) == 0)
-               exit(2);
-       return 0;
-}
-
-int mdio_read(int skfd, int phy_id, int location)
-{
-       u16 *data = (u16 *)(&ifr.ifr_data);
-
-       data[0] = phy_id;
-       data[1] = location;
-
-       if (ioctl(skfd, new_ioctl_nums ? 0x8948 : SIOCDEVPRIVATE+1, &ifr) < 0) {
-               fprintf(stderr, "SIOCGMIIREG on %s failed: %s\n", ifr.ifr_name,
-                               strerror(errno));
-               return -1;
-       }
-       return data[3];
-}
-
-void mdio_write(int skfd, int phy_id, int location, int value)
-{
-       u16 *data = (u16 *)(&ifr.ifr_data);
-
-       data[0] = phy_id;
-       data[1] = location;
-       data[2] = value;
-
-       if (ioctl(skfd, new_ioctl_nums ? 0x8949 : SIOCDEVPRIVATE+2, &ifr) < 0) {
-               fprintf(stderr, "SIOCSMIIREG on %s failed: %s\n", ifr.ifr_name,
-                               strerror(errno));
-       }
-}
-
-/* Parse the command line argument for advertised capabilities. */
-static int parse_advertise(const char *capabilities)
-{
-       const char *mtypes[] = {
-               "100baseT4", "100baseTx", "100baseTx-FD", "100baseTx-HD",
-               "10baseT", "10baseT-FD", "10baseT-HD", 0,
-       };
-       char *endptr;
-       int cap_map[] = { 0x0200, 0x0180, 0x0100, 0x0080, 0x0060, 0x0040, 0x0020,};
-       int i;
-       if ( ! capabilities) {
-               fprintf(stderr, "You passed -A 'NULL'.  You must provide a media"
-                               " list to advertise!\n");
-               return -1;
-       }
-       if (debug)
-               fprintf(stderr, "Advertise string is '%s'.\n", capabilities);
-       for (i = 0; mtypes[i]; i++)
-               if (strcasecmp(mtypes[i], capabilities) == 0)
-                       return cap_map[i];
-       if ((i = strtol(capabilities, &endptr, 16)) <= 0xffff  &&  endptr[0] == 0)
-               return i;
-       fprintf(stderr, "Invalid media advertisement value '%s'.\n"
-                       "  Either pass a numeric value or one of the following names:\n",
-                       capabilities);
-       for (i = 0; mtypes[i]; i++)
-               fprintf(stderr, "   %-14s %3.3x\n", mtypes[i], cap_map[i]);
-       return -1;
-}
-
-/* Trivial versions if we don't link against libmii.c */
-static const char *media_names[] = {
-       "10baseT", "10baseT-FD", "100baseTx", "100baseTx-FD", "100baseT4",
-       "Flow-control", 0,
-};
-/* Various non-good bits in the command register. */
-static const char *bmcr_bits[] = {
-       "  Internal Collision-Test enabled!\n", "",             /* 0x0080,0x0100 */
-       "  Restarted auto-negotiation in progress!\n",
-       "  Transceiver isolated from the MII!\n",
-       "  Transceiver powered down!\n", "", "",
-       "  Transceiver in loopback mode!\n",
-       "  Transceiver currently being reset!\n",
-};
-
-int show_basic_mii(long ioaddr, int phy_id)
-{
-       int mii_reg, i;
-       u16 mii_val[32];
-       u16 bmcr, bmsr, new_bmsr, nway_advert, lkpar;
-
-       for (mii_reg = 0; mii_reg < 8; mii_reg++)
-               mii_val[mii_reg] = mdio_read(ioaddr, phy_id, mii_reg);
-       if ( ! verbose) {
-               printf("Basic registers of MII PHY #%d: ", phy_id);
-               for (mii_reg = 0; mii_reg < 8; mii_reg++)
-                       printf(" %4.4x", mii_val[mii_reg]);
-               printf(".\n");
-       }
-
-       if (mii_val[0] == 0xffff  ||  mii_val[1] == 0x0000) {
-               printf("  No MII transceiver present!.\n");
-               if (! opt_f) {
-                       printf("  Use '--force' to view the information anyway.\n");
-                       return -1;
-               }
-       }
-       /* Descriptive rename. */
-       bmcr = mii_val[0];
-       bmsr = mii_val[1];
-       nway_advert = mii_val[4];
-       lkpar = mii_val[5];
-
-       if (lkpar & 0x4000) {
-               int negotiated = nway_advert & lkpar & 0x3e0;
-               int max_capability = 0;
-               /* Scan for the highest negotiated capability, highest priority
-                  (100baseTx-FDX) to lowest (10baseT-HDX). */
-               int media_priority[] = {8, 9, 7, 6, 5};         /* media_names[i-5] */
-               printf(" The autonegotiated capability is %4.4x.\n", negotiated);
-               for (i = 0; media_priority[i]; i++)
-                       if (negotiated & (1 << media_priority[i])) {
-                               max_capability = media_priority[i];
-                               break;
-                       }
-               if (max_capability)
-                       printf("The autonegotiated media type is %s.\n",
-                                  media_names[max_capability - 5]);
-               else
-                       printf("No common media type was autonegotiated!\n"
-                                  "This is extremely unusual and typically indicates a "
-                                  "configuration error.\n" "Perhaps the advertised "
-                                  "capability set was intentionally limited.\n");
-       }
-       printf(" Basic mode control register 0x%4.4x:", bmcr);
-       if (bmcr & 0x1000)
-               printf(" Auto-negotiation enabled.\n");
-       else
-               printf(" Auto-negotiation disabled, with\n"
-                          " Speed fixed at 10%s mbps, %s-duplex.\n",
-                          bmcr & 0x2000 ? "0" : "",
-                          bmcr & 0x0100 ? "full":"half");
-       for (i = 0; i < 9; i++)
-               if (bmcr & (0x0080<<i))
-                       printf("%s", bmcr_bits[i]);
-
-       new_bmsr = mdio_read(ioaddr, phy_id, 1);
-       if ((bmsr & 0x0016) == 0x0004)
-               printf( " You have link beat, and everything is working OK.\n");
-       else
-               printf(" Basic mode status register 0x%4.4x ... %4.4x.\n"
-                          "   Link status: %sestablished.\n",
-                          bmsr, new_bmsr,
-                          bmsr & 0x0004 ? "" :
-                          (new_bmsr & 0x0004) ? "previously broken, but now re" : "not ");
-       if (verbose) {
-               printf("   This transceiver is capable of ");
-               if (bmsr & 0xF800) {
-                       for (i = 15; i >= 11; i--)
-                               if (bmsr & (1<<i))
-                                       printf(" %s", media_names[i-11]);
-               } else
-                       printf("<Warning! No media capabilities>");
-               printf(".\n");
-               printf("   %s to perform Auto-negotiation, negotiation %scomplete.\n",
-                          bmsr & 0x0008 ? "Able" : "Unable",
-                          bmsr & 0x0020 ? "" : "not ");
-       }
-
-       if (bmsr & 0x0010)
-               printf(" Remote fault detected!\n");
-       if (bmsr & 0x0002)
-               printf("   *** Link Jabber! ***\n");
-
-       if (lkpar & 0x4000) {
-               printf(" Your link partner advertised %4.4x:",
-                          lkpar);
-               for (i = 5; i >= 0; i--)
-                       if (lkpar & (0x20<<i))
-                               printf(" %s", media_names[i]);
-               printf("%s.\n", lkpar & 0x0400 ? ", w/ 802.3X flow control" : "");
-       } else if (lkpar & 0x00A0)
-               printf(" Your link partner is generating %s link beat  (no"
-                          " autonegotiation).\n",
-                          lkpar & 0x0080 ? "100baseTx" : "10baseT");
-       else if ( ! (bmcr & 0x1000))
-               printf(" Link partner information is not exchanged when in"
-                          " fixed speed mode.\n");
-       else if ( ! (new_bmsr & 0x004))
-                                                       ;       /* If no partner, do not report status. */
-       else if (lkpar == 0x0001  ||  lkpar == 0x0000) {
-               printf(" Your link partner does not do autonegotiation, and this "
-                          "transceiver type\n  does not report the sensed link "
-                          "speed.\n");
-       } else
-               printf(" Your link partner is strange, status %4.4x.\n", lkpar);
-
-       printf("   End of basic transceiver information.\n\n");
-       return 0;
-}
-
-static void monitor_status(long ioaddr, int phy_id)
-{
-       unsigned int baseline_1 = 0x55555555;   /* Always show initial status. */
-
-       while (1) {
-               unsigned int new_1 = mdio_read(ioaddr, phy_id, 1);
-               if (new_1 != baseline_1) {
-                       printf("%-12s 0x%4.4x 0x%4.4x\n",
-                                  new_1 & 0x04 ? (new_1==0xffff ? "unknown" : "up") :
-                                  new_1 & 0x20 ? "negotiating" : "down",
-                                  new_1, mdio_read(ioaddr, phy_id, 5));
-                       fflush(stdout);
-                       baseline_1 = new_1;
-               }
-               sleep(1);
-       }
-}
-
-int  show_mii_details(long ioaddr, int phy_id)
-{
-       int mii_reg, mii_val;
-       printf(" MII PHY #%d transceiver registers:", phy_id);
-       for (mii_reg = 0; mii_reg < 32; mii_reg++) {
-               mii_val = mdio_read(skfd, phy_id, mii_reg);
-               printf("%s %4.4x", (mii_reg % 8) == 0 ? "\n  " : "",
-                          mii_val);
-       }
-       printf("\nThis version of 'mii-diag' has not been linked with "
-                       "the libmii.c library.\n"
-                       "  That library provides extended transceiver status reports.\n");
-       return 0;
-}
-
-void monitor_mii(long ioaddr, int phy_id)
-{
-       fprintf(stderr, "\nThis version of 'mii-diag' has not been linked with "
-                       "the libmii.c library \n"
-                       "  required for the media monitor option.\n");
-}
-
-
-\f
-/*
- * Local variables:
- *  version-control: t
- *  kept-new-versions: 5
- *  c-indent-level: 4
- *  c-basic-offset: 4
- *  tab-width: 4
- *  compile-command: "gcc -Wall -Wstrict-prototypes -O mii-diag.c -DLIBMII libmii.c -o mii-diag"
- *  simple-compile-command: "gcc mii-diag.c -o mii-diag"
- * End:
- */
diff --git a/net-tools/net-tools.nm b/net-tools/net-tools.nm
deleted file mode 100644 (file)
index 24ae372..0000000
+++ /dev/null
@@ -1,84 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = net-tools
-version    = 2.0
-git_rev    = e5f1be13
-release    = 2.%{git_rev}
-
-groups     = System/Base
-url        = http://net-tools.berlios.de/
-license    = GPL+
-summary    = Basic networking tools.
-
-description
-       The net-tools package contains basic networking tools,
-       including ifconfig, netstat, route, and others.
-end
-
-source_dl  =
-sources    = %{thisapp}-%{git_rev}.tar.xz
-
-build
-       requires
-               gettext
-       end
-
-       prepare_cmds
-               # Copy config files
-               cp  %{DIR_SOURCE}/config.h %{DIR_APP}
-               cp  %{DIR_SOURCE}/config.make %{DIR_APP}
-
-               # Copy additional man pages
-               mkdir -pv %{DIR_APP}/man/en_US
-               cp %{DIR_SOURCE}/*.8 %{DIR_APP}/man/en_US
-
-               # Copy source for mii-diag
-               cp %{DIR_SOURCE}/mii-diag.c %{DIR_APP}
-       end
-
-       make_build_targets += \
-                CC=gcc
-
-       # Compiling in parallel mode is unsafe for this pkg.
-       PARALLELISMFLAGS =
-
-       build_cmds
-               # Compile mii-diag
-               make mii-diag
-       end
-
-       install
-               mv man/de_DE man/de
-               mv man/fr_FR man/fr
-               mv man/pt_BR man/pt
-
-               make BASEDIR=%{BUILDROOT} BINDIR=%{bindir} \
-                       SBINDIR=%{sbindir} mandir=%{mandir} install
-
-               # Install mii-diag
-               install -m 755 %{DIR_APP}/mii-diag %{BUILDROOT}%{sbindir}
-
-               # Remove tools we do not want
-               rm -rvf \
-                       %{BUILDROOT}%{prefix}/{,*}/{arp,ifconfig,ip,nameif,plipconfig,rarp,route,slattach}* \
-                       %{BUILDROOT}%{mandir}/{,*}/man*/{arp,ifconfig,ip,nameif,plipconfig,rarp,route,slattach}*
-
-               # Remove hostname (has its own package)
-               rm -rvf \
-                       %{BUILDROOT}%{bindir}/{dnsdomainname,domainname,hostname,nisdomainname,ypdomainname}* \
-                       %{BUILDROOT}%{mandir}/{,*}/man*/{dnsdomainname,domainname,hostname,nisdomainname,ypdomainname}*
-       end
-end
-
-packages
-       package %{name}
-               groups += Base
-       end
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
diff --git a/net-tools/patches/001-net-tools-cycle.patch b/net-tools/patches/001-net-tools-cycle.patch
deleted file mode 100644 (file)
index 7d58dbb..0000000
+++ /dev/null
@@ -1,375 +0,0 @@
-diff -up net-tools-2.0/lib/interface.c.cycle net-tools-2.0/lib/interface.c
---- net-tools-2.0/lib/interface.c.cycle        2014-11-11 14:38:03.000000000 +0100
-+++ net-tools-2.0/lib/interface.c      2014-11-24 14:45:46.128480980 +0100
-@@ -93,6 +93,7 @@ int if_list_all = 0; /* do we have reque
- static struct interface *int_list, *int_last;
- static int if_readlist_proc(const char *);
-+static int if_readlist_rep(const char *, struct interface *);
- static struct interface *if_cache_add(const char *name)
- {
-@@ -138,11 +139,14 @@ struct interface *lookup_interface(const
- int for_all_interfaces(int (*doit) (struct interface *, void *), void *cookie)
- {
-     struct interface *ife;
-+    int err;
-     if (!if_list_all && (if_readlist() < 0))
-       return -1;
-     for (ife = int_list; ife; ife = ife->next) {
--      int err = doit(ife, cookie);
-+      if_readlist_rep(ife->name, ife);
-+      err = doit(ife, cookie);
-+
-       if (err)
-           return err;
-     }
-@@ -379,6 +383,41 @@ static int if_readlist_proc(const char *
-     fclose(fh);
-     return err;
- }
-+
-+static int if_readlist_rep(const char *target, struct interface *ife)
-+{
-+    FILE *fh;
-+    char buf[512];
-+    int err;
-+
-+    fh = fopen(_PATH_PROCNET_DEV, "r");
-+    if (!fh) {
-+              fprintf(stderr, _("Warning: cannot open %s (%s). Limited output.\n"),
-+                      _PATH_PROCNET_DEV, strerror(errno)); 
-+              return if_readconf();
-+      }       
-+    fgets(buf, sizeof buf, fh);       /* eat line */
-+    fgets(buf, sizeof buf, fh);
-+
-+    procnetdev_vsn = procnetdev_version(buf);
-+
-+    err = 0;
-+    while (fgets(buf, sizeof buf, fh)) {
-+      char *s, name[IFNAMSIZ];
-+      s = get_name(name, buf);    
-+      get_dev_fields(s, ife);
-+      ife->statistics_valid = 1;
-+      if (target && !strcmp(target,name))
-+              break;
-+    }
-+    if (ferror(fh)) {
-+      perror(_PATH_PROCNET_DEV);
-+      err = -1;
-+    }
-+
-+    fclose(fh);
-+    return err;
-+}
- int if_readlist(void)
- {
-diff -up net-tools-2.0/man/en_US/netstat.8.cycle net-tools-2.0/man/en_US/netstat.8
---- net-tools-2.0/man/en_US/netstat.8.cycle    2014-11-11 14:38:03.000000000 +0100
-+++ net-tools-2.0/man/en_US/netstat.8  2014-11-24 14:47:36.140944944 +0100
-@@ -36,6 +36,7 @@ netstat \- Print network connections, ro
- .RB [ \-\-verbose | \-v ]
- .RB [ \-\-continuous | \-c]
- .RB [ \-\-wide | \-W ]
-+.RB [delay]
- .P
- .B netstat 
- .RB { \-\-route | \-r }
-@@ -45,6 +46,7 @@ netstat \- Print network connections, ro
- .RB [ \-\-numeric | \-n ]
- .RB [ \-\-numeric\-hosts "] [" \-\-numeric\-ports "] [" \-\-numeric\-users ]
- .RB [ \-\-continuous | \-c ]
-+.RB [delay]
- .P
- .B netstat
- .RB { \-\-interfaces | \-i }
-@@ -55,12 +57,14 @@ netstat \- Print network connections, ro
- .RB [ \-\-numeric | \-n ]
- .RB [ \-\-numeric-hosts "] [" \-\-numeric-ports "] [" \-\-numeric-users ]
- .RB [ \-\-continuous | \-c ]
-+.RB [delay]
- .P
- .B netstat
- .RB { \-\-groups | \-g }
- .RB [ \-\-numeric | \-n ]
- .RB [ \-\-numeric\-hosts "] [" \-\-numeric\-ports "] [" \-\-numeric\-users ]
- .RB [ \-\-continuous | \-c ]
-+.RB [delay]
- .P
- .B netstat
- .RB { \-\-masquerade | \-M }
-@@ -68,6 +72,7 @@ netstat \- Print network connections, ro
- .RB [ \-\-numeric | \-n ]
- .RB [ \-\-numeric\-hosts "] [" \-\-numeric\-ports "] [" \-\-numeric\-users ]
- .RB [ \-\-continuous | \-c ]
-+.RB [delay]
- .P
- .B netstat
- .RB { \-\-statistics | -s }
-@@ -76,6 +81,7 @@ netstat \- Print network connections, ro
- .RB [ \-\-udplite | \-U ]
- .RB [ \-\-sctp | \-S ]
- .RB [ \-\-raw | \-w ]
-+.RB [delay]
- .P
- .B netstat 
- .RB { \-\-version | \-V }
-@@ -208,6 +214,10 @@ option, show interfaces that are not up
- Print routing information from the FIB.  (This is the default.)
- .SS "\-C"
- Print routing information from the route cache.
-+.SS delay
-+Netstat will cycle printing through statistics every 
-+.B delay 
-+seconds.
- .P
- .SH OUTPUT
- .P
-diff -up net-tools-2.0/netstat.c.cycle net-tools-2.0/netstat.c
---- net-tools-2.0/netstat.c.cycle      2014-11-11 14:38:03.000000000 +0100
-+++ net-tools-2.0/netstat.c    2014-11-24 14:44:24.948614445 +0100
-@@ -115,9 +115,9 @@
- #endif
- /* prototypes for statistics.c */
--void parsesnmp(int, int, int);
-+int parsesnmp(int, int, int);
- void inittab(void);
--void parsesnmp6(int, int, int);
-+int parsesnmp6(int, int, int);
- void inittab6(void);
- typedef enum {
-@@ -342,10 +342,10 @@ static void prg_cache_clear(void)
-     prg_cache_loaded = 0;
- }
--static void wait_continous(void)
-+static void wait_continous(int reptimer)
- {
-     fflush(stdout);
--    sleep(1);
-+    sleep(reptimer);
- }
- static int extract_type_1_socket_inode(const char lname[], unsigned long * inode_p) {
-@@ -1787,6 +1787,8 @@ static int rfcomm_info(void)
- static int iface_info(void)
- {
-+    static int count=0;
-+
-     if (skfd < 0) {
-       if ((skfd = sockets_open(0)) < 0) {
-           perror("socket");
-@@ -1796,20 +1798,21 @@ static int iface_info(void)
-     }
-     if (flag_exp < 2) {
-       ife_short = 1;
--      printf(_("Iface      MTU    RX-OK RX-ERR RX-DRP RX-OVR    TX-OK TX-ERR TX-DRP TX-OVR Flg\n"));
-+      if(!(count % 8))
-+          printf(_("Iface      MTU    RX-OK RX-ERR RX-DRP RX-OVR    TX-OK TX-ERR TX-DRP TX-OVR Flg\n"));
-     }
-     if (for_all_interfaces(do_if_print, &flag_all) < 0) {
-       perror(_("missing interface information"));
-       exit(1);
-     }
--    if (flag_cnt)
-+    if (!flag_cnt) {
-       if_cache_free();
--    else {
-       close(skfd);
-       skfd = -1;
-     }
-+    count++;
-     return 0;
- }
-@@ -1825,7 +1828,7 @@ static void usage(void)
- {
-     fprintf(stderr, _("usage: netstat [-vWeenNcCF] [<Af>] -r         netstat {-V|--version|-h|--help}\n"));
-     fprintf(stderr, _("       netstat [-vWnNcaeol] [<Socket> ...]\n"));
--    fprintf(stderr, _("       netstat { [-vWeenNac] -i | [-cnNe] -M | -s [-6tuw] }\n\n"));
-+    fprintf(stderr, _("       netstat { [-vWeenNac] -i | [-cnNe] -M | -s [-6tuw] } [delay]\n\n"));
-     fprintf(stderr, _("        -r, --route              display routing table\n"));
-     fprintf(stderr, _("        -i, --interfaces         display interface table\n"));
-@@ -1867,6 +1870,7 @@ int main
-  (int argc, char *argv[]) {
-     int i;
-     int lop;
-+    int reptimer = 1;
-     static struct option longopts[] =
-     {
-       AFTRANS_OPTS,
-@@ -2049,6 +2053,12 @@ int main
-           flag_sta++;
-       }
-+    if(argc == optind + 1) {
-+      if((reptimer = atoi(argv[optind])) <= 0)
-+      usage();
-+      flag_cnt++;
-+    }
-+    
-     if (flag_int + flag_rou + flag_mas + flag_sta > 1)
-       usage();
-@@ -2078,7 +2088,7 @@ int main
-                            flag_not & FLAG_NUM_PORT, flag_exp);
-           if (i || !flag_cnt)
-               break;
--          wait_continous();
-+          wait_continous(reptimer);
-       }
- #else
-       ENOSUPP("netstat", "FW_MASQUERADE");
-@@ -2091,17 +2101,18 @@ int main
-         if (!afname[0])
-             safe_strncpy(afname, DFLT_AF, sizeof(afname));
-+        for (;;) {
-         if (!strcmp(afname, "inet")) {
- #if HAVE_AFINET
-             inittab();
--            parsesnmp(flag_raw, flag_tcp, flag_udp);
-+            i = parsesnmp(flag_raw, flag_tcp, flag_udp);
- #else
-             ENOSUPP("netstat", "AF INET");
- #endif
-         } else if(!strcmp(afname, "inet6")) {
- #if HAVE_AFINET6
-             inittab6();
--            parsesnmp6(flag_raw, flag_tcp, flag_udp);
-+            i = parsesnmp6(flag_raw, flag_tcp, flag_udp);
- #else
-             ENOSUPP("netstat", "AF INET6");
- #endif
-@@ -2109,7 +2120,11 @@ int main
-           printf(_("netstat: No statistics support for specified address family: %s\n"), afname);
-           exit(1);
-         }
--        exit(0);
-+      if(i || !flag_cnt)
-+        break;
-+      sleep(reptimer);
-+        }
-+        return (i);
-     }
-     if (flag_rou) {
-@@ -2131,7 +2146,7 @@ int main
-           i = route_info(afname, options);
-           if (i || !flag_cnt)
-               break;
--            wait_continous();
-+            wait_continous(reptimer);
-       }
-       return (i);
-     }
-@@ -2140,7 +2155,7 @@ int main
-           i = iface_info();
-           if (!flag_cnt || i)
-               break;
--            wait_continous();
-+            wait_continous(reptimer);
-       }
-       return (i);
-     }
-@@ -2327,7 +2342,7 @@ int main
-       if (!flag_cnt || i)
-           break;
--        wait_continous();
-+        wait_continous(reptimer);
-       prg_cache_clear();
-     }
-     return (i);
-diff -up net-tools-2.0/statistics.c.cycle net-tools-2.0/statistics.c
---- net-tools-2.0/statistics.c.cycle   2014-11-11 14:38:03.000000000 +0100
-+++ net-tools-2.0/statistics.c 2014-11-24 14:44:24.949614431 +0100
-@@ -502,7 +502,7 @@ void process6_fd(FILE *f)
- }
--void parsesnmp(int flag_raw, int flag_tcp, int flag_udp)
-+int parsesnmp(int flag_raw, int flag_tcp, int flag_udp)
- {
-     FILE *f;
-@@ -511,14 +511,17 @@ void parsesnmp(int flag_raw, int flag_tc
-     f = proc_fopen("/proc/net/snmp");
-     if (!f) {
-       perror(_("cannot open /proc/net/snmp"));
--      return;
-+      return(1);
-     }
-     if (process_fd(f, 1, NULL) < 0)
-       fprintf(stderr, _("Problem while parsing /proc/net/snmp\n"));
--    if (ferror(f))
-+    if (ferror(f)) {
-       perror("/proc/net/snmp");
-+      fclose(f);
-+      return(1);
-+    }
-     fclose(f);
-@@ -528,15 +531,18 @@ void parsesnmp(int flag_raw, int flag_tc
-       if (process_fd(f, 1, NULL) <0)
-           fprintf(stderr, _("Problem while parsing /proc/net/netstat\n"));
--        if (ferror(f))
--          perror("/proc/net/netstat");
-+        if (ferror(f)) {
-+        perror("/proc/net/netstat");
-+        fclose(f);
-+        return(1);
-+        }
-         fclose(f);
-     }
--    return;
-+    return(0);
- }
--void parsesnmp6(int flag_raw, int flag_tcp, int flag_udp)
-+int parsesnmp6(int flag_raw, int flag_tcp, int flag_udp)
- {
-     FILE *f;
-@@ -545,7 +551,7 @@ void parsesnmp6(int flag_raw, int flag_t
-     f = fopen("/proc/net/snmp6", "r");
-     if (!f) {
-         perror(_("cannot open /proc/net/snmp6"));
--        return;
-+        return(1);
-     }
-     process6_fd(f);
-     if (ferror(f))
-@@ -555,13 +561,16 @@ void parsesnmp6(int flag_raw, int flag_t
-     f = fopen("/proc/net/snmp", "r");
-     if (!f) {
-         perror(_("cannot open /proc/net/snmp"));
--        return;
-+        return(1);
-     }
-     process_fd(f, 0, "Tcp");
--    if (ferror(f))
-+    if (ferror(f)) {
-         perror("/proc/net/snmp");
-+        return(1);
-+    }
-     fclose(f);
-+    return(0);
- }
- void inittab(void)
diff --git a/net-tools/patches/002-net-tools-ipx.patch b/net-tools/patches/002-net-tools-ipx.patch
deleted file mode 100644 (file)
index ec78145..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-diff -up net-tools-2.0/lib/ipx_gr.c.ipx net-tools-2.0/lib/ipx_gr.c
---- net-tools-2.0/lib/ipx_gr.c.ipx     2013-09-10 12:33:52.494047907 +0200
-+++ net-tools-2.0/lib/ipx_gr.c 2013-09-10 12:34:28.531561603 +0200
-@@ -72,7 +72,7 @@ int IPX_rprint(int options)
-           continue;
-       /* Fetch and resolve the Destination */
--      (void) ap->input(5, net, &sa);
-+      (void) ap->input(1, net, &sa);
-       safe_strncpy(net, ap->sprint(&sa, numeric), sizeof(net));
-       /* Fetch and resolve the Router Net */
-diff -up net-tools-2.0/netstat.c.ipx net-tools-2.0/netstat.c
---- net-tools-2.0/netstat.c.ipx        2013-09-10 12:33:52.491047948 +0200
-+++ net-tools-2.0/netstat.c    2013-09-10 12:33:52.495047894 +0200
-@@ -1643,13 +1643,13 @@ static int ipx_info(void)
-       }
-       /* Fetch and resolve the Source */
--      (void) ap->input(4, sad, &sa);
-+      (void) ap->input(0, sad, &sa);
-       safe_strncpy(buf, ap->sprint(&sa, flag_not & FLAG_NUM_HOST), sizeof(buf));
-       snprintf(sad, sizeof(sad), "%s:%04X", buf, sport);
-       if (!nc) {
-           /* Fetch and resolve the Destination */
--          (void) ap->input(4, dad, &sa);
-+          (void) ap->input(0, dad, &sa);
-           safe_strncpy(buf, ap->sprint(&sa, flag_not & FLAG_NUM_HOST), sizeof(buf));
-           snprintf(dad, sizeof(dad), "%s:%04X", buf, dport);
-       } else
diff --git a/net-tools/patches/003-net-tools-man.patch b/net-tools/patches/003-net-tools-man.patch
deleted file mode 100644 (file)
index 1a33a1e..0000000
+++ /dev/null
@@ -1,149 +0,0 @@
-diff -up net-tools-2.0/man/en_US/arp.8.man net-tools-2.0/man/en_US/arp.8
---- net-tools-2.0/man/en_US/arp.8.man  2014-04-26 02:45:16.000000000 +0200
-+++ net-tools-2.0/man/en_US/arp.8      2014-07-07 14:51:31.378459439 +0200
-@@ -63,6 +63,10 @@ arp \- manipulate the system ARP cache
- .B \-f
- .RI [ filename ]
-+.SH NOTE
-+.P
-+This program is obsolete. For replacement check \fBip neigh\fR.
-+
- .SH DESCRIPTION
- .B Arp
- manipulates or displays the kernel's IPv4 network neighbour cache. It can add
-@@ -219,6 +223,6 @@ published proxy ARP entries and permanen
- .br
- .I /etc/ethers
- .SH SEE ALSO
--rarp(8), route(8), ifconfig(8), netstat(8)
-+.BR ip(8)
- .SH AUTHORS
- Fred N. van Kempen <waltje@uwalt.nl.mugnet.org>, Bernd Eckenfels <net\-tools@lina.inka.de>.
-diff -up net-tools-2.0/man/en_US/ethers.5.man net-tools-2.0/man/en_US/ethers.5
---- net-tools-2.0/man/en_US/ethers.5.man       2014-04-26 02:45:16.000000000 +0200
-+++ net-tools-2.0/man/en_US/ethers.5   2014-07-07 14:51:31.378459439 +0200
-@@ -26,6 +26,3 @@ can be resolved by DNS or a dot separate
- .SH FILES \"{{{
- /etc/ethers
- .\"}}}
--.SH "SEE ALSO" \"{{{
--rarp(8)
--.\"}}}
-diff -up net-tools-2.0/man/en_US/ifconfig.8.man net-tools-2.0/man/en_US/ifconfig.8
---- net-tools-2.0/man/en_US/ifconfig.8.man     2014-04-26 02:45:16.000000000 +0200
-+++ net-tools-2.0/man/en_US/ifconfig.8 2014-07-07 14:51:31.379459422 +0200
-@@ -5,6 +5,13 @@ ifconfig \- configure a network interfac
- .B "ifconfig [-v] [-a] [-s] [interface]"
- .br
- .B "ifconfig [-v] interface [aftype] options | address ..."
-+
-+.SH NOTE
-+.P 
-+This program is obsolete!
-+For replacement check \fBip addr\fR and \fBip link\fR.
-+For statistics use \fBip -s link\fR.
-+
- .SH DESCRIPTION
- .B Ifconfig
- is used to configure the kernel-resident network interfaces.  It is
-@@ -222,7 +229,8 @@ package to display link layer informatio
- While appletalk DDP and IPX addresses will be displayed they cannot be
- altered by this command.
- .SH SEE ALSO
--route(8), netstat(8), arp(8), rarp(8), iptables(8), ifup(8), interfaces(5).
-+.BR ip(8),
-+.BR iptables(8)
- .br
- http://physics.nist.gov/cuu/Units/binary.html - Prefixes for binary multiples
- .SH AUTHORS
-diff -up net-tools-2.0/man/en_US/mii-tool.8.man net-tools-2.0/man/en_US/mii-tool.8
---- net-tools-2.0/man/en_US/mii-tool.8.man     2014-04-26 02:45:16.000000000 +0200
-+++ net-tools-2.0/man/en_US/mii-tool.8 2014-07-07 14:51:31.379459422 +0200
-@@ -18,6 +18,10 @@ mii\-tool \- view, manipulate media-inde
- [\fB\-p\fR, \fB\-\-phy=\fIaddr\fR]
- .RI "interface\ ..."
-+.SH NOTE
-+.P 
-+This program is obsolete. For replacement check \fBethtool\fB.
-+
- .SH DESCRIPTION
- This utility checks or sets the status of a network interface's Media
- Independent Interface (MII) unit.  Most fast ethernet adapters use an
-@@ -93,6 +97,9 @@ SIOCGMIIPHY on 'eth?' failed: Operation
- The interface in question does not support MII queries. Most likely, it does not have 
- MII transceivers, at all.
-+.SH SEE ALSO
-+ethtool(8)
-+
- .SH AUTHORS
- David Hinds \- dhinds@pcmcia.sourceforge.org
- .br
-diff -up net-tools-2.0/man/en_US/nameif.8.man net-tools-2.0/man/en_US/nameif.8
---- net-tools-2.0/man/en_US/nameif.8.man       2014-04-26 02:45:16.000000000 +0200
-+++ net-tools-2.0/man/en_US/nameif.8   2014-07-07 14:51:31.379459422 +0200
-@@ -5,6 +5,12 @@ nameif \- name network interfaces based
- .B "nameif [\-c configfile] [\-s]"
- .br
- .B "nameif [\-c configfile] [\-s] {interface macaddress}"
-+
-+.SH NOTE
-+.P 
-+This program is obsolete. For replacement check \fBip link\fR.
-+This functionality is also much better provided by udev methods.
-+
- .SH DESCRIPTION
- .B nameif 
- renames network interfaces based on mac addresses. When no arguments are
-@@ -31,5 +37,10 @@ should be run before the interface is up
- .SH FILES
- /etc/mactab
-+
-+.SH SEE ALSO
-+.BR ip(8),
-+.BR udev(7)
-+
- .SH BUGS
- Only works for Ethernet currently.
-diff -up net-tools-2.0/man/en_US/netstat.8.man net-tools-2.0/man/en_US/netstat.8
---- net-tools-2.0/man/en_US/netstat.8.man      2014-07-07 14:51:31.370459575 +0200
-+++ net-tools-2.0/man/en_US/netstat.8  2014-07-07 14:51:31.380459405 +0200
-@@ -198,7 +198,8 @@ Show the PID and name of the program to
- .SS "\-l, \-\-listening"
- Show only listening sockets.  (These are omitted by default.)
- .SS "\-a, \-\-all"
--Show both listening and non-listening sockets.  With the
-+Show both listening and non-listening (for TCP this means established
-+connections) sockets.  With the
- .B \-\-interfaces
- option, show interfaces that are not up
- .SS "\-F"
-diff -up net-tools-2.0/man/en_US/route.8.man net-tools-2.0/man/en_US/route.8
---- net-tools-2.0/man/en_US/route.8.man        2014-04-26 02:45:16.000000000 +0200
-+++ net-tools-2.0/man/en_US/route.8    2014-07-07 14:52:58.766977905 +0200
-@@ -57,6 +57,11 @@ family
- .RB [ \-\-version ]
- .RB [ \-h ]
- .RB [ \-\-help ]
-+
-+.SH NOTE
-+.P 
-+This program is obsolete. For replacement check \fBip route\fR.
-+
- .SH DESCRIPTION
- .B Route
- manipulates the kernel's IP routing tables.  Its primary use is to set
-@@ -330,10 +335,6 @@ Whether or not the hardware address for
- .I /proc/net/rt_cache
- .LP
- .SH "SEE ALSO"
--.IR ifconfig (8),
--.IR netstat (8), 
--.IR arp (8), 
--.IR rarp (8),
- .IR ip (8)
- .LP
- .SH HISTORY
diff --git a/net-tools/patches/004-net-tools-interface.patch b/net-tools/patches/004-net-tools-interface.patch
deleted file mode 100644 (file)
index abbc0ba..0000000
+++ /dev/null
@@ -1,102 +0,0 @@
-diff -up net-tools-2.0/man/en_US/netstat.8.interface net-tools-2.0/man/en_US/netstat.8
---- net-tools-2.0/man/en_US/netstat.8.interface        2014-11-24 14:52:45.648623478 +0100
-+++ net-tools-2.0/man/en_US/netstat.8  2014-11-24 14:53:32.294972184 +0100
-@@ -49,9 +49,9 @@ netstat \- Print network connections, ro
- .RB [delay]
- .P
- .B netstat
--.RB { \-\-interfaces | \-i }
-+.RB { \-\-interfaces | \-I | \-i }
- .RB [ \-\-all | \-a ]
--.RB [ \-\-extend | \-e  [ \-\-extend | \-e] ]
-+.RB [ \-\-extend | \-e  ]
- .RB [ \-\-verbose | \-v ]
- .RB [ \-\-program | \-p ]
- .RB [ \-\-numeric | \-n ]
-@@ -134,8 +134,8 @@ and
- produce the same output.
- .SS "\-\-groups, \-g"
- Display multicast group membership information for IPv4 and IPv6.
--.SS "\-\-interfaces, \-i"
--Display a table of all network interfaces.
-+.SS "\-\-interfaces=\fIiface \fR, \fB\-I=\fIiface \fR, \fB\-i"
-+Display a table of all network interfaces, or the specified \fIiface\fR.
- .SS "\-\-masquerade, \-M"
- Display a list of masqueraded connections.
- .SS "\-\-statistics, \-s"
-diff -up net-tools-2.0/netstat.c.interface net-tools-2.0/netstat.c
---- net-tools-2.0/netstat.c.interface  2014-11-24 14:52:45.644623534 +0100
-+++ net-tools-2.0/netstat.c    2014-11-24 14:52:45.652623422 +0100
-@@ -144,6 +144,7 @@ static char *Release = RELEASE, *Signatu
- #define E_IOCTL -3
- int flag_int = 0;
-+char *flag_int_name = NULL;
- int flag_rou = 0;
- int flag_mas = 0;
- int flag_sta = 0;
-@@ -1788,6 +1789,7 @@ static int rfcomm_info(void)
- static int iface_info(void)
- {
-     static int count=0;
-+    struct interface *ife = NULL;
-     if (skfd < 0) {
-       if ((skfd = sockets_open(0)) < 0) {
-@@ -1802,7 +1804,11 @@ static int iface_info(void)
-           printf(_("Iface      MTU    RX-OK RX-ERR RX-DRP RX-OVR    TX-OK TX-ERR TX-DRP TX-OVR Flg\n"));
-     }
--    if (for_all_interfaces(do_if_print, &flag_all) < 0) {
-+    if (flag_int_name) {
-+        ife = lookup_interface(flag_int_name);
-+        do_if_print(ife, &flag_all);
-+    }
-+    else if (for_all_interfaces(do_if_print, &flag_all) < 0) {
-       perror(_("missing interface information"));
-       exit(1);
-     }
-@@ -1828,9 +1834,10 @@ static void usage(void)
- {
-     fprintf(stderr, _("usage: netstat [-vWeenNcCF] [<Af>] -r         netstat {-V|--version|-h|--help}\n"));
-     fprintf(stderr, _("       netstat [-vWnNcaeol] [<Socket> ...]\n"));
--    fprintf(stderr, _("       netstat { [-vWeenNac] -i | [-cnNe] -M | -s [-6tuw] } [delay]\n\n"));
-+    fprintf(stderr, _("       netstat { [-vWeenNac] -I[<Iface>] | [-veenNac] -i | [-cnNe] -M | -s [-6tuw] } [delay]\n\n"));
-     fprintf(stderr, _("        -r, --route              display routing table\n"));
-+    fprintf(stderr, _("        -I, --interfaces=<Iface> display interface table for <Iface>\n"));
-     fprintf(stderr, _("        -i, --interfaces         display interface table\n"));
-     fprintf(stderr, _("        -g, --groups             display multicast group memberships\n"));
-     fprintf(stderr, _("        -s, --statistics         display networking statistics (like SNMP)\n"));
-@@ -1875,7 +1882,7 @@ int main
-     {
-       AFTRANS_OPTS,
-       {"version", 0, 0, 'V'},
--      {"interfaces", 0, 0, 'i'},
-+      {"interfaces", 2, 0, 'I'},
-       {"help", 0, 0, 'h'},
-       {"route", 0, 0, 'r'},
- #if HAVE_FW_MASQUERADE
-@@ -1919,7 +1926,7 @@ int main
-     getroute_init();          /* Set up AF routing support */
-     afname[0] = '\0';
--    while ((i = getopt_long(argc, argv, "A:CFMacdeghilnNoprsStuUvVWw2fx64?Z", longopts, &lop)) != EOF)
-+    while ((i = getopt_long(argc, argv, "A:CFMacdeghiI::lnNoprsStuUvVWw2fx64?Z", longopts, &lop)) != EOF)
-       switch (i) {
-       case -1:
-           break;
-@@ -1960,6 +1967,13 @@ int main
-       case 'p':
-           flag_prg++;
-           break;
-+      case 'I':
-+          if (optarg && strcmp(optarg, "(null)"))
-+              if (optarg[0] == '=') optarg++;
-+          if (optarg && strcmp(optarg, "(null)"))
-+              flag_int_name = strdup(optarg);
-+          flag_int++;
-+          break;
-       case 'i':
-           flag_int++;
-           break;
diff --git a/net-tools/patches/005-net-tools-duplicate-tcp.patch b/net-tools/patches/005-net-tools-duplicate-tcp.patch
deleted file mode 100644 (file)
index 393d272..0000000
+++ /dev/null
@@ -1,146 +0,0 @@
-diff -up net-tools-2.0/netstat.c.dup-tcp net-tools-2.0/netstat.c
---- net-tools-2.0/netstat.c.dup-tcp    2012-10-04 11:32:01.437729086 +0200
-+++ net-tools-2.0/netstat.c    2012-10-04 11:32:01.441729032 +0200
-@@ -502,6 +502,121 @@ static void prg_cache_load(void)
-                        " will not be shown, you would have to be root to see it all.)\n"));
- }
-+#define TCP_HASH_SIZE 1009
-+
-+static struct tcp_node {
-+  struct tcp_node *next;
-+  char            *socket_pair;
-+} *tcp_node_hash[TCP_HASH_SIZE];
-+
-+static unsigned int tcp_node_compute_string_hash(const char *p)
-+{
-+  unsigned int h = *p;
-+
-+  if (h)
-+    for (p += 1; *p != '\0'; p++)
-+      h = (h << 5) - h + *p;
-+
-+  return h;
-+}
-+
-+#define TCP_NODE_HASH_STRING(x) \
-+  (tcp_node_compute_string_hash(x) % TCP_HASH_SIZE)
-+
-+static void tcp_node_hash_clear(void)
-+{
-+  int i;
-+  struct tcp_node *next_node;
-+  struct tcp_node *tmp_node;
-+  for (i=0; i < TCP_HASH_SIZE; i++) {
-+    if (tcp_node_hash[i]) {
-+      /* free the children of this hash bucket */
-+      next_node = tcp_node_hash[i]->next;
-+      while (next_node) {
-+      tmp_node = next_node;
-+      next_node = next_node->next;
-+      free(tmp_node->socket_pair);
-+      free(tmp_node);
-+      }
-+
-+      /* free the bucket itself */
-+      free(tcp_node_hash[i]->socket_pair);
-+      free(tcp_node_hash[i]);
-+      tcp_node_hash[i] = NULL;
-+    }
-+  }
-+}
-+
-+/* This function takes a socket pair string.  If it already exists in
-+   the hash it returns -1, otherwise it returns 0. */
-+
-+static int tcp_node_hash_check_and_append(const char *local_addr,
-+                                        int local_port,
-+                                        const char *rem_addr,
-+                                        int rem_port)
-+{
-+  unsigned int hash_val;
-+  struct tcp_node *tmp_node;
-+  int   tmp_string_len;
-+  char *tmp_string;;
-+
-+  /* Size of the string is the size of the two lengths of the address
-+     strings plus enough sizes for the colons and the ports. */
-+  tmp_string_len = strlen(local_addr) + strlen(rem_addr) + 32;
-+  tmp_string = malloc(tmp_string_len);
-+  if (!tmp_string)
-+    return 0;
-+
-+  if (snprintf(tmp_string, tmp_string_len - 1, "%s:%d:%s:%d",
-+             local_addr, local_port, rem_addr, rem_port) < 0) {
-+    free(tmp_string);
-+    return 0;
-+  }
-+
-+  hash_val = TCP_NODE_HASH_STRING(tmp_string);
-+
-+  /* See if we have to allocate this node */
-+  if (!tcp_node_hash[hash_val]) {
-+    tcp_node_hash[hash_val] = malloc(sizeof(struct tcp_node));
-+    if (!tcp_node_hash[hash_val]) {
-+      free(tmp_string);
-+      return 0;
-+    }
-+
-+    memset(tcp_node_hash[hash_val], 0, sizeof(struct tcp_node));
-+
-+    /* Stuff this new value into the hash bucket and return early */
-+    tcp_node_hash[hash_val]->socket_pair = tmp_string;
-+    return 0;
-+  }
-+
-+  /* Try to find the value in the hash bucket. */
-+  tmp_node = tcp_node_hash[hash_val];
-+  while (tmp_node) {
-+    if (!strcmp(tmp_node->socket_pair, tmp_string)) {
-+      free(tmp_string);
-+      return -1;
-+    }
-+    tmp_node = tmp_node->next;
-+  }
-+
-+  /* If we got this far it means that it isn't in the hash bucket.
-+     Add it to the front since it's faster that way. */
-+  tmp_node = tcp_node_hash[hash_val];
-+
-+  tcp_node_hash[hash_val] = malloc(sizeof(struct tcp_node));
-+  if (!tcp_node_hash[hash_val]) {
-+    free(tmp_string);
-+    tcp_node_hash[hash_val] = tmp_node;
-+    return 0;
-+  }
-+
-+  tcp_node_hash[hash_val]->socket_pair = tmp_string;
-+  tcp_node_hash[hash_val]->next = tmp_node;
-+
-+  return 0;
-+}
-+
- #if HAVE_AFNETROM
- static const char *netrom_state[] =
- {
-@@ -1018,6 +1133,12 @@ static void tcp_do_one(int lnr, const ch
-       return;
-     }
-+    /* make sure that we haven't seen this socket pair before */
-+    if (tcp_node_hash_check_and_append(local_addr, local_port, rem_addr, rem_port) < 0) {
-+      /*  fprintf(stderr, _("warning, got duplicate tcp line.\n")); */
-+      return;
-+    }
-+
-       addr_do_one(local_addr, sizeof(local_addr), 22, ap, &localaddr, local_port, "tcp");
-       addr_do_one(rem_addr, sizeof(rem_addr), 22, ap, &remaddr, rem_port, "tcp");
-@@ -2355,6 +2476,7 @@ int main
-           break;
-         wait_continous(reptimer);
-       prg_cache_clear();
-+      tcp_node_hash_clear();
-     }
-     return (i);
- }
diff --git a/net-tools/patches/006-net-tools-statalias.patch b/net-tools/patches/006-net-tools-statalias.patch
deleted file mode 100644 (file)
index b544ff4..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-diff -up net-tools-2.0/lib/interface.c.statalias net-tools-2.0/lib/interface.c
---- net-tools-2.0/lib/interface.c.statalias    2012-10-04 11:33:05.490889090 +0200
-+++ net-tools-2.0/lib/interface.c      2012-10-04 11:33:05.513888785 +0200
-@@ -405,9 +405,11 @@ static int if_readlist_rep(char *target,
-       char *s, name[IFNAMSIZ];
-       s = get_name(name, buf);    
-       get_dev_fields(s, ife);
--      ife->statistics_valid = 1;
-       if (target && !strcmp(target,name))
-+      {
-+              ife->statistics_valid = 1;
-               break;
-+      }
-     }
-     if (ferror(fh)) {
-       perror(_PATH_PROCNET_DEV);
diff --git a/net-tools/patches/007-net-tools-interface_stack.patch b/net-tools/patches/007-net-tools-interface_stack.patch
deleted file mode 100644 (file)
index 6a93e67..0000000
+++ /dev/null
@@ -1,119 +0,0 @@
-diff -up net-tools-2.0/include/interface.h.stack net-tools-2.0/include/interface.h
-diff -up net-tools-2.0/lib/interface.c.stack net-tools-2.0/lib/interface.c
---- net-tools-2.0/lib/interface.c.stack        2014-11-24 14:54:32.293134466 +0100
-+++ net-tools-2.0/lib/interface.c      2014-11-24 15:07:58.434764441 +0100
-@@ -214,10 +214,11 @@ out:
-     return err;
- }
--static const char *get_name(char *name, const char *p)
-+static const char *get_name(char **namep, const char *p)
- {
-     while (isspace(*p))
-       p++;
-+    char *name = *namep = p;
-     while (*p) {
-       if (isspace(*p))
-           break;
-@@ -320,9 +321,10 @@ static int get_dev_fields(const char *bp
- static int if_readlist_proc(const char *target)
- {
-     FILE *fh;
--    char buf[512];
-     struct interface *ife;
-     int err;
-+    char *line = NULL;
-+    size_t linelen = 0;  
-     fh = fopen(_PATH_PROCNET_DEV, "r");
-     if (!fh) {
-@@ -330,10 +332,11 @@ static int if_readlist_proc(const char *
-                       _PATH_PROCNET_DEV, strerror(errno));
-               return -2;
-       }
--    if (fgets(buf, sizeof buf, fh))
--              /* eat line */;
--    if (fgets(buf, sizeof buf, fh))
--              /* eat line */;
-+    if (getline(&line, &linelen, fh) == -1 /* eat line */
-+      || getline(&line, &linelen, fh) == -1) { /* eat line */
-+              err = -1;
-+              goto out;
-+      }
- #if 0                         /* pretty, but can't cope with missing fields */
-     fmt = proc_gen_fmt(_PATH_PROCNET_DEV, 1, fh,
-@@ -358,14 +361,14 @@ static int if_readlist_proc(const char *
-     if (!fmt)
-       return -1;
- #else
--    procnetdev_vsn = procnetdev_version(buf);
-+    procnetdev_vsn = procnetdev_version(line);
- #endif
-     err = 0;
--    while (fgets(buf, sizeof buf, fh)) {
-+    while (getline(&line, &linelen, fh) != -1) {
-       const char *s;
--      char name[IFNAMSIZ];
--      s = get_name(name, buf);
-+      char *name;
-+      s = get_name(&name, line);    
-       ife = if_cache_add(name);
-       get_dev_fields(s, ife);
-       ife->statistics_valid = 1;
-@@ -380,6 +383,8 @@ static int if_readlist_proc(const char *
- #if 0
-     free(fmt);
- #endif
-+  out:
-+    free(line);
-     fclose(fh);
-     return err;
- }
-@@ -387,24 +392,28 @@ static int if_readlist_proc(const char *
- static int if_readlist_rep(const char *target, struct interface *ife)
- {
-     FILE *fh;
--    char buf[512];
-     int err;
-+    char *line = NULL;
-+    size_t linelen = 0;
-     fh = fopen(_PATH_PROCNET_DEV, "r");
-     if (!fh) {
-               fprintf(stderr, _("Warning: cannot open %s (%s). Limited output.\n"),
-                       _PATH_PROCNET_DEV, strerror(errno)); 
-               return if_readconf();
--      }       
--    fgets(buf, sizeof buf, fh);       /* eat line */
--    fgets(buf, sizeof buf, fh);
-+      }
-+    if (getline(&line, &linelen, fh) == -1 /* eat line */
-+      || getline(&line, &linelen, fh) == -1) { /* eat line */
-+              err = -1;
-+              goto out;
-+      }
--    procnetdev_vsn = procnetdev_version(buf);
-+    procnetdev_vsn = procnetdev_version(line);
-     err = 0;
--    while (fgets(buf, sizeof buf, fh)) {
--      char *s, name[IFNAMSIZ];
--      s = get_name(name, buf);    
-+    while (getline(&line, &linelen, fh) != -1) {
-+      char *s, *name;
-+      s = get_name(&name, line);    
-       get_dev_fields(s, ife);
-       if (target && !strcmp(target,name))
-       {
-@@ -417,6 +426,8 @@ static int if_readlist_rep(const char *t
-       err = -1;
-     }
-+  out:
-+    free(line);
-     fclose(fh);
-     return err;
- }
diff --git a/net-tools/patches/008-net-tools-sctp-statistics.patch b/net-tools/patches/008-net-tools-sctp-statistics.patch
deleted file mode 100644 (file)
index b84b8aa..0000000
+++ /dev/null
@@ -1,534 +0,0 @@
-diff -up net-tools-2.0/netstat.c.sctp net-tools-2.0/netstat.c
---- net-tools-2.0/netstat.c.sctp       2013-09-23 15:14:59.524866201 +0200
-+++ net-tools-2.0/netstat.c    2013-09-23 15:24:20.259143969 +0200
-@@ -115,7 +115,7 @@
- #endif
- /* prototypes for statistics.c */
--int parsesnmp(int, int, int);
-+int parsesnmp(int, int, int, int);
- void inittab(void);
- int parsesnmp6(int, int, int);
- void inittab6(void);
-@@ -888,159 +888,269 @@ static int igmp_info(void)
-              igmp_do_one, "igmp", "igmp6");
- }
--static int ip_parse_dots(uint32_t *addr, char const *src) {
--  unsigned  a, b, c, d;
--  unsigned  ret = 4-sscanf(src, "%u.%u.%u.%u", &a, &b, &c, &d);
--  *addr = htonl((a << 24)|(b << 16)|(c << 8)|d);
--  return  ret;
--}
--
--static void print_ip_service(struct sockaddr_in *addr, char const *protname,
--                           char *buf, unsigned size) {
--  struct aftype *ap;
--
--  if(size == 0)  return;
--
--  /* print host */
--  if((ap = get_afntype(addr->sin_family)) == NULL) {
--    fprintf(stderr, _("netstat: unsupported address family %d !\n"),
--          addr->sin_family);
--    return;
--  }
--  safe_strncpy(buf, ap->sprint((struct sockaddr*)addr, flag_not), size);
--
--  /* print service */
--  if(flag_all || (flag_lst && !addr->sin_port) || (!flag_lst && addr->sin_port)) {
--    char  bfs[32];
--
--    snprintf(bfs, sizeof(bfs), "%s",
--           get_sname(addr->sin_port, (char*)protname, flag_not & FLAG_NUM_PORT));
--
--    /* check if we must cut on host and/or service name */
--    {
--      unsigned const  bufl = strlen(buf);
--      unsigned const  bfsl = strlen(bfs);
--
--      if(bufl+bfsl+2 > size) {
--      unsigned const  half = (size-2)>>1;
--      if(bufl > half) {
--        if(bfsl > half) {
--          buf[size-2-half] = '\0';
--          bfs[half+1]      = '\0';
--        }
--        else  buf[size-2-bfsl] = '\0';
--      }
--      else  bfs[size-2-bufl] = '\0';
--      }
-+static const char *sctp_socket_state_str(int state)
-+{
-+    if(state>=0 && state<=10)
-+        return tcp_state[state];
-+    else {
-+      static char state_str_buf[64];
-+      sprintf(state_str_buf,"UNKNOWN(%d)",state);
-+      return state_str_buf;
-     }
--    strcat(buf, ":");
--    strcat(buf, bfs);
--  }
- }
--/* process single SCTP endpoint */
--static void sctp_do_ept(int lnr, char const *line, const char *prot)
-+static struct aftype *process_sctp_addr_str(const char *addr_str, struct sockaddr *sa)
- {
--  struct sockaddr_in  laddr, raddr;
--  unsigned            uid, inode;
--
--  char        l_addr[23], r_addr[23];
--
--  /* fill sockaddr_in structures */
--  {
--    unsigned  lport;
--    unsigned  ate;
--
--    if(lnr == 0)  return;
--    if(sscanf(line, "%*X %*X %*u %*u %*u %u %u %u %n",
--            &lport, &uid, &inode, &ate) < 3)  goto err;
--
--    /* decode IP address */
--    if(ip_parse_dots(&laddr.sin_addr.s_addr, line+ate))  goto err;
--    raddr.sin_addr.s_addr = htonl(0);
--    laddr.sin_family = raddr.sin_family = AF_INET;
--    laddr.sin_port = htons(lport);
--    raddr.sin_port = htons(0);
--  }
-+    if (strchr(addr_str,':')) {
-+#if HAVE_AFINET6
-+      extern struct aftype inet6_aftype;
-+      /* Demangle what the kernel gives us */
-+      struct in6_addr in6;
-+      char addr6_str[INET6_ADDRSTRLEN];
-+      unsigned u0,u1,u2,u3,u4,u5,u6,u7;
-+      sscanf(addr_str, "%04X:%04X:%04X:%04X:%04X:%04X:%04X:%04X",
-+             &u0, &u1, &u2, &u3, &u4, &u5, &u6, &u7);
-+      in6.s6_addr16[0] = htons(u0);
-+      in6.s6_addr16[1] = htons(u1);
-+      in6.s6_addr16[2] = htons(u2);
-+      in6.s6_addr16[3] = htons(u3);
-+      in6.s6_addr16[4] = htons(u4);
-+      in6.s6_addr16[5] = htons(u5);
-+      in6.s6_addr16[6] = htons(u6);
-+      in6.s6_addr16[7] = htons(u7);
-+
-+      inet_ntop(AF_INET6, &in6, addr6_str, sizeof(addr6_str));
-+      inet6_aftype.input(1, addr6_str, sa);
-+      sa->sa_family = AF_INET6;
-+#endif
-+    } else {
-+      ((struct sockaddr_in*)sa)->sin_addr.s_addr = inet_addr(addr_str);
-+      sa->sa_family = AF_INET;
-+    }
-+    return get_afntype(sa->sa_family);
-+}
--  /* print IP:service to l_addr and r_addr */
--  print_ip_service(&laddr, prot, l_addr, sizeof(l_addr));
--  print_ip_service(&raddr, prot, r_addr, sizeof(r_addr));
--
--  /* Print line */
--  printf("%-4s  %6d %6d %-*s %-*s %-11s",
--       prot, 0, 0,
--       (int)netmax(23,strlen(l_addr)), l_addr,
--       (int)netmax(23,strlen(r_addr)), r_addr,
--       _(tcp_state[TCP_LISTEN]));
--  finish_this_one(uid, inode, "");
--  return;
-- err:
--  fprintf(stderr, "SCTP error in line: %d\n", lnr);
--}
--
--/* process single SCTP association */
--static void sctp_do_assoc(int lnr, char const *line, const char *prot)
--{
--  struct sockaddr_in  laddr, raddr;
--  unsigned long       rxq, txq;
--  unsigned            uid, inode;
--
--  char        l_addr[23], r_addr[23];
--
--  /* fill sockaddr_in structures */
--  {
--    unsigned    lport, rport;
--    unsigned    ate;
--    char const *addr;
--
--    if(lnr == 0)  return;
--    if(sscanf(line, "%*X %*X %*u %*u %*u %*u %*u %lu %lu %u %u %u %u %n",
--            &txq, &rxq, &uid, &inode, &lport, &rport, &ate) < 6)  goto err;
--
--    /* decode IP addresses */
--    addr = strchr(line+ate, '*');
--    if(addr == 0)  goto err;
--    if(ip_parse_dots(&laddr.sin_addr.s_addr, ++addr))  goto err;
--    addr = strchr(addr, '*');
--    if(addr == 0)  goto err;
--    if(ip_parse_dots(&raddr.sin_addr.s_addr, ++addr))  goto err;
--
--    /* complete sockaddr_in structures */
--    laddr.sin_family = raddr.sin_family = AF_INET;
--    laddr.sin_port = htons(lport);
--    raddr.sin_port = htons(rport);
--  }
-+static void sctp_eps_do_one(int lnr, char *line, const char *proto)
-+{
-+    char buffer[1024];
-+    int state, port;
-+    int uid;
-+    unsigned long inode;
-+    struct aftype *ap;
-+#if HAVE_AFINET6
-+    struct sockaddr_in6 localaddr;
-+#else
-+    struct sockaddr_in localaddr;
-+#endif
-+    const char *sst_str;
-+    const char *lport_str;
-+    const char *uid_str;
-+    const char *inode_str;
-+    char *laddrs_str;
-+
-+    if(lnr == 0) {
-+        /* ENDPT     SOCK   STY SST HBKT LPORT   UID INODE LADDRS */
-+        return;
-+    }
-+    strtok(line," \t\n"); /*skip endpt*/
-+    strtok(0," \t\n");    /*skip sock*/
-+    strtok(0," \t\n");    /*skp sty*/
-+    sst_str = strtok(0," \t\n");
-+    strtok(0," \t\n"); /*skip hash bucket*/
-+    lport_str=strtok(0," \t\n");
-+    uid_str = strtok(0," \t\n");
-+    inode_str = strtok(0," \t\n");
-+    laddrs_str=strtok(0,"\t\n");
-+
-+    if (!sst_str || !lport_str || !uid_str || !inode_str) {
-+        fprintf(stderr, _("warning, got bogus sctp eps line.\n"));
-+        return;
-+    }
-+    state = atoi(sst_str);
-+    port = atoi(lport_str);
-+    uid = atoi(uid_str);
-+    inode = strtoul(inode_str,0,0);
-+
-+    const char *this_local_addr;
-+    int first=1;
-+    char local_port[16];
-+    snprintf(local_port, sizeof(local_port), "%s",
-+        get_sname(htons(port), proto, flag_not & FLAG_NUM_PORT));
-+    for(this_local_addr=strtok(laddrs_str," \t\n");
-+        this_local_addr;
-+        this_local_addr=strtok(0," \t\n"))
-+    {
-+        char local_addr[64];
-+        ap = process_sctp_addr_str(this_local_addr, (struct sockaddr*)&localaddr);
-+        if(ap)
-+            safe_strncpy(local_addr,
-+                ap->sprint((struct sockaddr *) &localaddr, flag_not),
-+                sizeof(local_addr));
-+        else
-+            sprintf(local_addr,_("unsupported address family %d"), ((struct sockaddr*)&localaddr)->sa_family);
-+
-+        if(!first) printf("\n");
-+        if(first)
-+            printf("sctp                ");
-+        else
-+            printf("                    ");
-+        sprintf(buffer,"%s:%s", local_addr, local_port);
-+        printf("%-47s", buffer);
-+        printf(" %-11s", first?sctp_socket_state_str(state):"");
-+        first = 0;
-+    }
-+    finish_this_one(uid,inode,"");
-+}
-+
-+static void sctp_assoc_do_one(int lnr, char *line, const char *proto)
-+{
-+    char buffer[1024];
-+    int state, lport,rport;
-+    int uid;
-+    unsigned rxqueue,txqueue;
-+    unsigned long inode;
-+ 
-+    struct aftype *ap;
-+#if HAVE_AFINET6
-+    struct sockaddr_in6 localaddr,remoteaddr;
-+#else
-+    struct sockaddr_in localaddr,remoteaddr;
-+#endif
-+    const char *sst_str;
-+    const char *txqueue_str;
-+    const char *rxqueue_str;
-+    const char *lport_str,*rport_str;
-+    const char *uid_str;
-+    const char *inode_str;
-+    char *laddrs_str;
-+    char *raddrs_str;
-+
-+    if(lnr == 0) {
-+      /* ASSOC     SOCK   STY SST ST HBKT ASSOC-ID TX_QUEUE RX_QUEUE UID INODE LPORT RPORT LADDRS <-> RADDRS */
-+      return;
-+    }
-+
-+    strtok(line," \t\n"); /*skip assoc*/
-+    strtok(0," \t\n");    /*skip sock*/
-+    strtok(0," \t\n");    /*skp sty*/
-+    sst_str = strtok(0," \t\n");
-+    strtok(0," \t\n");
-+    strtok(0," \t\n"); /*skip hash bucket*/
-+    strtok(0," \t\n"); /*skip hash assoc-id*/
-+    txqueue_str =  strtok(0," \t\n");
-+    rxqueue_str =  strtok(0," \t\n");
-+    uid_str = strtok(0," \t\n");
-+    inode_str = strtok(0," \t\n");
-+    lport_str=strtok(0," \t\n");
-+    rport_str=strtok(0," \t\n");
-+    laddrs_str = strtok(0,"<->\t\n");
-+    raddrs_str = strtok(0,"<->\t\n");
-+
-+    if (!sst_str || !txqueue_str || !rxqueue_str || !uid_str ||
-+        !inode_str || !lport_str || !rport_str) {
-+        fprintf(stderr, _("warning, got bogus sctp assoc line.\n"));
-+        return;
-+    }
-+
-+    state = atoi(sst_str);
-+    txqueue = atoi(txqueue_str);
-+    rxqueue = atoi(rxqueue_str);
-+    uid = atoi(uid_str);
-+    inode = strtoul(inode_str,0,0);
-+    lport = atoi(lport_str);
-+    rport = atoi(rport_str);
-+
-+    /*print all addresses*/
-+    const char *this_local_addr;
-+    const char *this_remote_addr;
-+    char *ss1,*ss2;
-+    int first=1;
-+    char local_port[16];
-+    char remote_port[16];
-+    snprintf(local_port, sizeof(local_port), "%s",
-+             get_sname(htons(lport), proto,
-+             flag_not & FLAG_NUM_PORT));
-+    snprintf(remote_port, sizeof(remote_port), "%s",
-+             get_sname(htons(rport), proto,
-+             flag_not & FLAG_NUM_PORT));
-+
-+    this_local_addr=strtok_r(laddrs_str," \t\n",&ss1);
-+    this_remote_addr=strtok_r(raddrs_str," \t\n",&ss2);
-+    while(this_local_addr || this_remote_addr) {
-+        char local_addr[64];
-+        char remote_addr[64];
-+
-+        if(this_local_addr) {
-+            if (this_local_addr[0] == '*') {
-+                /* skip * */
-+                this_local_addr++;
-+            }
-+            ap = process_sctp_addr_str(this_local_addr, (struct sockaddr*)&localaddr);
-+            if(ap)
-+                safe_strncpy(local_addr,
-+                    ap->sprint((struct sockaddr *) &localaddr, flag_not), sizeof(local_addr));
-+              else
-+                    sprintf(local_addr,_("unsupported address family %d"), ((struct sockaddr*)&localaddr)->sa_family);
-+        }
-+      if(this_remote_addr) {
-+            if (this_remote_addr[0] == '*') {
-+                /* skip * */
-+                this_remote_addr++;
-+            }
-+            ap = process_sctp_addr_str(this_remote_addr, (struct sockaddr*)&remoteaddr);
-+            if(ap)
-+                safe_strncpy(remote_addr,
-+                    ap->sprint((struct sockaddr *) &remoteaddr, flag_not), sizeof(remote_addr));
-+              else
-+                    sprintf(remote_addr,_("unsupported address family %d"), ((struct sockaddr*)&remoteaddr)->sa_family);
-+       }
--  /* print IP:service to l_addr and r_addr */
--  print_ip_service(&laddr, prot, l_addr, sizeof(l_addr));
--  print_ip_service(&raddr, prot, r_addr, sizeof(r_addr));
--
--  /* Print line */
--  printf("%-4s  %6ld %6ld %-*s %-*s %-11s",
--       prot, rxq, txq,
--       (int)netmax(23,strlen(l_addr)), l_addr,
--       (int)netmax(23,strlen(r_addr)), r_addr,
--       _(tcp_state[TCP_ESTABLISHED]));
--  finish_this_one(uid, inode, "");
--  return;
-- err:
--  fprintf(stderr, "SCTP error in line: %d\n", lnr);
-+       if(!first) printf("\n");
-+       if(first)
-+           printf("sctp  %6u %6u ", rxqueue, txqueue);
-+       else
-+           printf("                    ");
-+       if(this_local_addr) {
-+           if(first)
-+               sprintf(buffer,"%s:%s", local_addr, local_port);
-+           else
-+               sprintf(buffer,"%s", local_addr);
-+           printf("%-23s", buffer);
-+       } else
-+           printf("%-23s", "");
-+       printf(" ");
-+       if(this_remote_addr) {
-+           if(first)
-+               sprintf(buffer,"%s:%s", remote_addr, remote_port);
-+           else
-+               sprintf(buffer,"%s", remote_addr);
-+           printf("%-23s", buffer);
-+       } else
-+       printf("%-23s", "");
-+
-+       printf(" %-11s", first?sctp_socket_state_str(state):"");
-+
-+       first = 0;
-+       this_local_addr=strtok_r(0," \t\n",&ss1);
-+       this_remote_addr=strtok_r(0," \t\n",&ss2);
-+    }
-+    finish_this_one(uid,inode,"");
- }
--static int sctp_info_epts(void) {
-+static int sctp_info_eps(void)
-+{
-   INFO_GUTS6(_PATH_PROCNET_SCTPEPTS, _PATH_PROCNET_SCTP6EPTS, "AF INET (sctp)",
--           sctp_do_ept, "sctp", "sctp6");
-+            sctp_eps_do_one, "sctp", "sctp6");
- }
- static int sctp_info_assocs(void) {
-   INFO_GUTS6(_PATH_PROCNET_SCTPASSOCS, _PATH_PROCNET_SCTP6ASSOCS, "AF INET (sctp)",
--           sctp_do_assoc, "sctp", "sctp6");
-+            sctp_assoc_do_one, "sctp", "sctp6");
- }
- static int sctp_info(void) {
-   int  res;
--  res = sctp_info_epts();
-+  res = sctp_info_eps();
-   if(res)  return  res;
-   return  sctp_info_assocs();
- }
-@@ -2234,7 +2344,7 @@ int main
-         if (!strcmp(afname, "inet")) {
- #if HAVE_AFINET
-             inittab();
--            i = parsesnmp(flag_raw, flag_tcp, flag_udp);
-+            i = parsesnmp(flag_raw, flag_tcp, flag_udp, flag_sctp);
- #else
-             ENOSUPP("netstat", "AF INET");
- #endif
-diff -up net-tools-2.0/statistics.c.sctp net-tools-2.0/statistics.c
---- net-tools-2.0/statistics.c.sctp    2013-09-23 15:14:59.501866518 +0200
-+++ net-tools-2.0/statistics.c 2013-09-23 15:14:59.534866063 +0200
-@@ -21,7 +21,7 @@
- #define UFWARN(x)
- #endif
--int print_static,f_raw,f_tcp,f_udp,f_unknown = 1;
-+int print_static,f_raw,f_tcp,f_udp,f_sctp,f_unknown = 1;
- enum State {
-     number = 0, opt_number, i_forward, i_inp_icmp, i_outp_icmp, i_rto_alg,
-@@ -299,6 +299,27 @@ struct entry Tcpexttab[] =
-     { "TCPRenoRecoveryFail", N_("%llu classic Reno fast retransmits failed"), opt_number },
- };
-+struct entry Sctptab[] =
-+{
-+    {"SctpCurrEstab", N_("%llu Current Associations"), number},
-+    {"SctpActiveEstabs", N_("%llu Active Associations"), number},
-+    {"SctpPassiveEstabs", N_("%llu Passive Associations"), number},
-+    {"SctpAborteds", N_("%llu Number of Aborteds "), number},
-+    {"SctpShutdowns", N_("%llu Number of Graceful Terminations"), number},
-+    {"SctpOutOfBlues", N_("%llu Number of Out of Blue packets"), number},
-+    {"SctpChecksumErrors", N_("%llu Number of Packets with invalid Checksum"), number},
-+    {"SctpOutCtrlChunks", N_("%llu Number of control chunks sent"), number},
-+    {"SctpOutOrderChunks", N_("%llu Number of ordered chunks sent"), number},
-+    {"SctpOutUnorderChunks", N_("%llu Number of Unordered chunks sent"), number},
-+    {"SctpInCtrlChunks", N_("%llu Number of control chunks received"), number},
-+    {"SctpInOrderChunks", N_("%llu Number of ordered chunks received"), number},
-+    {"SctpInUnorderChunks", N_("%llu Number of Unordered chunks received"), number},
-+    {"SctpFragUsrMsgs", N_("%llu Number of messages fragmented"), number},
-+    {"SctpReasmUsrMsgs", N_("%llu Number of messages reassembled "), number},
-+    {"SctpOutSCTPPacks", N_("%llu Number of SCTP packets sent"), number},
-+    {"SctpInSCTPPacks", N_("%llu Number of SCTP packets received"), number},
-+};
-+
- struct tabtab {
-     char *title;
-     struct entry *tab;
-@@ -312,6 +333,7 @@ struct tabtab snmptabs[] =
-     {"Icmp", Icmptab, sizeof(Icmptab), &f_raw},
-     {"Tcp", Tcptab, sizeof(Tcptab), &f_tcp},
-     {"Udp", Udptab, sizeof(Udptab), &f_udp},
-+    {"Sctp", Sctptab, sizeof(Sctptab), &f_sctp},
-     {"TcpExt", Tcpexttab, sizeof(Tcpexttab), &f_tcp},
-     {NULL}
- };
-@@ -502,11 +524,38 @@ void process6_fd(FILE *f)
- }
--int parsesnmp(int flag_raw, int flag_tcp, int flag_udp)
-+/* Process a file with name-value lines (like /proc/net/sctp/snmp) */
-+void process_fd2(FILE *f, const char *filename)
-+{
-+    char buf1[1024];
-+    char *sp;
-+    struct tabtab *tab;
-+    
-+    tab = newtable(snmptabs, "Sctp");
-+    
-+    while (fgets(buf1, sizeof buf1, f)) {
-+      sp = buf1 + strcspn(buf1, " \t\n");
-+      if (!sp) {
-+          fprintf(stderr,_("error parsing %s\n"), filename);
-+          return;
-+      }
-+      *sp = '\0';
-+      sp++;
-+
-+      sp += strspn(sp, " \t\n"); 
-+
-+      if (*sp != '\0' && *(tab->flag))        
-+          printval(tab, buf1, strtoul(sp, 0, 10));
-+    }
-+    return;
-+}
-+
-+int parsesnmp(int flag_raw, int flag_tcp, int flag_udp, int flag_sctp)
-+
- {
-     FILE *f;
--    f_raw = flag_raw; f_tcp = flag_tcp; f_udp = flag_udp;
-+    f_raw = flag_raw; f_tcp = flag_tcp; f_udp = flag_udp; f_sctp = flag_sctp;
-     f = proc_fopen("/proc/net/snmp");
-     if (!f) {
-@@ -539,6 +588,17 @@ int parsesnmp(int flag_raw, int flag_tcp
-         fclose(f);
-     }
-+
-+    f = proc_fopen("/proc/net/sctp/snmp");
-+    if (f) {
-+      process_fd2(f,"/proc/net/sctp/snmp");
-+      if (ferror(f)) {
-+          perror("/proc/net/sctp/snmp");
-+          fclose(f);
-+          return(1);
-+      }
-+    }
-+
-     return(0);
- }
diff --git a/net-tools/patches/009-net-tools-ifconfig-long-iface-crasher.patch b/net-tools/patches/009-net-tools-ifconfig-long-iface-crasher.patch
deleted file mode 100644 (file)
index d1ba077..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-diff -up net-tools-2.0/lib/interface.c.long_iface net-tools-2.0/lib/interface.c
---- net-tools-2.0/lib/interface.c.long_iface   2014-11-24 15:09:45.130254503 +0100
-+++ net-tools-2.0/lib/interface.c      2014-11-24 15:10:54.662270496 +0100
-@@ -216,6 +216,7 @@ out:
- static const char *get_name(char **namep, const char *p)
- {
-+    int count = 0;
-     while (isspace(*p))
-       p++;
-     char *name = *namep = p;
-@@ -224,7 +225,13 @@ static const char *get_name(char **namep
-           break;
-       if (*p == ':') {        /* could be an alias */
-               const char *dot = p++;
--              while (*p && isdigit(*p)) p++;
-+              count++;
-+              while (*p && isdigit(*p)) {
-+                  p++;
-+                  count++;
-+                  if (count == (IFNAMSIZ-1))
-+                      break;
-+              }
-               if (*p == ':') {
-                       /* Yes it is, backup and copy it. */
-                       p = dot;
-@@ -240,6 +247,9 @@ static const char *get_name(char **namep
-           break;
-       }
-       *name++ = *p++;
-+      count++;
-+      if (count == (IFNAMSIZ-1))
-+            break;
-     }
-     *name++ = '\0';
-     return p;
index 32cb27c8781b453799717264432ee20de071a1a3..ec2154450cc7958fe37264f407a9813ba02ded8d 100644 (file)
@@ -4,11 +4,11 @@
 ###############################################################################
 
 name       = netpbm
-version    = 10.71.02
+version    = 10.73.43
 release    = 1
 
 groups     = System/Libraries
-url        = http://netpbm.sourceforge.net/
+url        = https://netpbm.sourceforge.net/
 license    = BSD and GPLv2 and IJG and MIT and Public Domain
 summary    = A library for handling different graphics file formats.
 
@@ -19,28 +19,61 @@ description
        .ppm (portable pixmaps) and others.
 end
 
-sources    = %{thisapp}.tar.xz
+source_dl  = https://sourceforge.net/projects/netpbm/files/super_stable/%{version}/
+sources    = %{thisapp}.tgz
 
 build
        requires
+               /usr/bin/perl
+               perl(English)
+               perl(Time::gmtime)
                flex
-               ghostscript
                libjpeg-devel
                libpng-devel
                libtiff-devel
-               libX11-devel
                libxml2-devel
+               zlib-devel
                perl
+               perl(English)
        end
 
-       build
-               yes "" | ./configure
+       CFLAGS += \
+               -fno-builtin-exit \
+               -D__noreturn__=
+
+       prepare_cmds
+               # Create config file.
+               cp -avf config.mk.in  config.mk
+
+               # Enable fPIC.
+               echo 'CFLAGS_SHLIB = -fPIC' >> config.mk
+
+               # Disable static libs.
+               echo 'STATICLIB_TOO = N' >> config.mk
+
+               # Link to libtiff, libjpeg, libpng and libz.
+               echo 'TIFFLIB = libtiff.so' >> config.mk
+               echo 'JPEGLIB = libjpeg.so' >> config.mk
+               echo 'PNGLIB = libpng.so' >> config.mk
+               echo 'ZLIB = libz.so' >> config.mk
 
-               make \
+               # Define include directorys for the linked libraries.
+               echo 'TIFFHDR_DIR = %{includedir}' >> config.mk
+               echo 'JPEGHDR_DIR = %{includedir}' >> config.mk
+               echo 'PNGHDR_DIR = %{includedir}' >> config.mk
+               echo 'ZHDR_DIR = %{includedir}' >> config.mk
+
+               # Do not strip the binaries during install.
+               echo 'STRIPFLAG =' >> config.mk
+       end
+
+       build
+               make %{PARALLELISMFLAGS} \
                        LDFLAGS="%{LDFLAGS} -L$(pwd)/pbm -L$(pwd)/pgm -L$(pwd)/pnm -L$(pwd)/ppm" \
                        CFLAGS="%{CFLAGS} -flax-vector-conversions -fno-strict-aliasing" \
                        LADD="-lm" \
-                       LINUXSVGALIB="NONE"
+                       LINUXSVGALIB="NONE" \
+                       X11LIB="NONE"
        end
 
        install
@@ -53,7 +86,7 @@ build
                fi
                ln -svf libnetpbm.so.11 %{BUILDROOT}%{libdir}/libnetpbm.so
 
-               rm -rvf %{BUILDROOT}%{prefix}/{README,VERSION,link,misc,man,pkginfo,config_template}
+               rm -rvf %{BUILDROOT}%{prefix}/{README,VERSION,link,misc,man,pkginfo,config_template,pkgconfig_template}
                rm -rvf %{BUILDROOT}%{bindir}/doc.url
        end
 end
diff --git a/netpbm/patches/netpbm-CAN-2005-2471.patch b/netpbm/patches/netpbm-CAN-2005-2471.patch
new file mode 100644 (file)
index 0000000..e4e9373
--- /dev/null
@@ -0,0 +1,16 @@
+--- netpbm-10.29/converter/other/pstopnm.c.CAN-2005-2471       2005-08-15 02:39:46.000000000 +0200
++++ netpbm-10.29/converter/other/pstopnm.c     2005-08-16 15:38:15.000000000 +0200
+@@ -818,11 +818,11 @@
+                    ghostscriptProg, arg0,
+                    deviceopt, outfileopt, gopt, ropt, textalphabitsopt,
+                    "-q", "-dNOPAUSE", 
+-                   "-dSAFER", "-");
++                   "-dPARANOIDSAFER", "-");
+     }
+     execl(ghostscriptProg, arg0, deviceopt, outfileopt, gopt, ropt, 
+-        textalphabitsopt, "-q", "-dNOPAUSE", "-dSAFER", "-", NULL);
++         textalphabitsopt, "-q", "-dNOPAUSE", "-dPARANOIDSAFER", "-", NULL);
+     
+     pm_error("execl() of Ghostscript ('%s') failed, errno=%d (%s)",
+              ghostscriptProg, errno, strerror(errno));
diff --git a/netpbm/patches/netpbm-libnetpbm-use-ldflags.patch b/netpbm/patches/netpbm-libnetpbm-use-ldflags.patch
new file mode 100644 (file)
index 0000000..21384cb
--- /dev/null
@@ -0,0 +1,12 @@
+diff -Nur a/lib/Makefile b/lib/Makefile
+--- a/lib/Makefile     2019-06-29 01:07:55.000000000 +0200
++++ b/lib/Makefile     2023-03-12 09:21:25.558949353 +0100
+@@ -128,7 +128,7 @@
+       rm -f $@
+       $(SYMLINK) $< $@
+ libnetpbm.$(NETPBMLIBSUFFIX).$(MAJ).$(MIN): $(LIBOBJECTS) $(LIBOBJECTS_X)
+-      $(LD) $(LDSHLIB) -o $@ $(LIBOBJECTS) $(LIBOBJECTS_X) \
++      $(LD) $(LDFLAGS) $(LDSHLIB) -o $@ $(LIBOBJECTS) $(LIBOBJECTS_X) \
+           $(SHLIB_CLIB) -lm $(LADD)
+ endif
diff --git a/netpbm/patches/netpbm-python3.patch b/netpbm/patches/netpbm-python3.patch
new file mode 100644 (file)
index 0000000..d383b17
--- /dev/null
@@ -0,0 +1,21 @@
+diff -Nur a/buildtools/makeman b/buildtools/makeman
+--- a/buildtools/makeman       2019-06-29 01:07:55.000000000 +0200
++++ b/buildtools/makeman       2023-02-21 09:06:40.587559363 +0100
+@@ -1,4 +1,4 @@
+-#!/usr/bin/python
++#!/usr/bin/python3
+ #
+ # makeman -- compile netpbm's stereotyped HTML to troff markup
+ #
+diff -Nur a/buildtools/manpage.mk b/buildtools/manpage.mk
+--- a/buildtools/manpage.mk    2019-06-29 01:07:55.000000000 +0200
++++ b/buildtools/manpage.mk    2023-02-21 09:07:20.566188386 +0100
+@@ -377,7 +377,7 @@
+ # Make man pages -- reports bad lines to standard error.
+ manpages:
+-      @python $(MAKEMAN) -d $(USERGUIDE) index.html $(HTMLMANUALS) 
++      @python3 $(MAKEMAN) -d $(USERGUIDE) index.html $(HTMLMANUALS) 
+       @mv index.1 netpbm.1
+ # Make XML pages, and validate them.
diff --git a/netpbm/patches/netpbm-security-code.patch b/netpbm/patches/netpbm-security-code.patch
new file mode 100644 (file)
index 0000000..9e2e259
--- /dev/null
@@ -0,0 +1,1432 @@
+diff --git a/analyzer/pgmtexture.c b/analyzer/pgmtexture.c
+index 0731733..635c58b 100644
+--- a/analyzer/pgmtexture.c
++++ b/analyzer/pgmtexture.c
+@@ -98,6 +98,8 @@ vector(unsigned int const nl,
+     assert(nh >= nl);
++    overflow_add(nh - nl, 1);
++    
+     MALLOCARRAY(v, (unsigned) (nh - nl + 1));
+     if (v == NULL)
+@@ -129,6 +131,7 @@ matrix (unsigned int const nrl,
+     assert(nrh >= nrl);
+     /* allocate pointers to rows */
++    overflow_add(nrh - nrl, 1);
+     MALLOCARRAY(m, (unsigned) (nrh - nrl + 1));
+     if (m == NULL)
+         pm_error("Unable to allocate memory for a matrix.");
+@@ -137,6 +140,7 @@ matrix (unsigned int const nrl,
+     assert (nch >= ncl);
++    overflow_add(nch - ncl, 1);
+     /* allocate rows and set pointers to them */
+     for (i = nrl; i <= nrh; ++i) {
+         MALLOCARRAY(m[i], (unsigned) (nch - ncl + 1));
+diff --git a/converter/other/gemtopnm.c b/converter/other/gemtopnm.c
+index aac7479..5f1a51a 100644
+--- a/converter/other/gemtopnm.c
++++ b/converter/other/gemtopnm.c
+@@ -106,6 +106,7 @@ main(argc, argv)
+       pnm_writepnminit( stdout, cols, rows, MAXVAL, type, 0 );
++    overflow_add(cols, padright);
+     { 
+         /* allocate input row data structure */
+         int plane;
+diff --git a/converter/other/jpegtopnm.c b/converter/other/jpegtopnm.c
+index ab3b18e..c324b86 100644
+--- a/converter/other/jpegtopnm.c
++++ b/converter/other/jpegtopnm.c
+@@ -861,6 +861,8 @@ convertImage(FILE *                          const ofP,
+     /* Calculate output image dimensions so we can allocate space */
+     jpeg_calc_output_dimensions(cinfoP);
++    overflow2(cinfoP->output_width, cinfoP->output_components);
++
+     /* Start decompressor */
+     jpeg_start_decompress(cinfoP);
+diff --git a/converter/other/pbmtopgm.c b/converter/other/pbmtopgm.c
+index 69b20fb..382a487 100644
+--- a/converter/other/pbmtopgm.c
++++ b/converter/other/pbmtopgm.c
+@@ -47,6 +47,7 @@ main(int argc, char *argv[]) {
+                  "than the image height (%u rows)", height, rows);
+     outrow = pgm_allocrow(cols) ;
++    overflow2(width, height);
+     maxval = MIN(PGM_OVERALLMAXVAL, width*height);
+     pgm_writepgminit(stdout, cols, rows, maxval, 0) ;
+diff --git a/converter/other/pnmtoddif.c b/converter/other/pnmtoddif.c
+index ae8c852..9ee037b 100644
+--- a/converter/other/pnmtoddif.c
++++ b/converter/other/pnmtoddif.c
+@@ -632,6 +632,7 @@ main(int argc, char *argv[]) {
+     switch (PNM_FORMAT_TYPE(format)) {
+     case PBM_TYPE:
+         ip.bits_per_pixel = 1;
++        overflow_add(cols, 7);
+         ip.bytes_per_line = (cols + 7) / 8;
+         ip.spectral = 2;
+         ip.components = 1;
+@@ -647,6 +648,7 @@ main(int argc, char *argv[]) {
+         ip.polarity = 2;
+         break;
+     case PPM_TYPE:
++        overflow2(cols, 3);
+         ip.bytes_per_line = 3 * cols;
+         ip.bits_per_pixel = 24;
+         ip.spectral = 5;
+diff --git a/converter/other/pnmtojpeg.c b/converter/other/pnmtojpeg.c
+index ce231c9..1279040 100644
+--- a/converter/other/pnmtojpeg.c
++++ b/converter/other/pnmtojpeg.c
+@@ -605,7 +605,11 @@ read_scan_script(j_compress_ptr const cinfo,
+            want JPOOL_PERMANENT.  
+         */
+         const unsigned int scan_info_size = nscans * sizeof(jpeg_scan_info);
+-        jpeg_scan_info * const scan_info = 
++        const jpeg_scan_info * scan_info;
++      
++        overflow2(nscans, sizeof(jpeg_scan_info));
++      
++        scan_info =
+             (jpeg_scan_info *)
+             (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE,
+                                         scan_info_size);
+@@ -937,6 +941,8 @@ compute_rescaling_array(JSAMPLE ** const rescale_p, const pixval maxval,
+   const long half_maxval = maxval / 2;
+   long val;
++  overflow_add(maxval, 1);
++  overflow2(maxval+1, sizeof(JSAMPLE));
+   *rescale_p = (JSAMPLE *)
+     (cinfo.mem->alloc_small) ((j_common_ptr) &cinfo, JPOOL_IMAGE,
+                               (size_t) (((long) maxval + 1L) * 
+@@ -1015,6 +1021,7 @@ convert_scanlines(struct jpeg_compress_struct * const cinfo_p,
+     */
+   /* Allocate the libpnm output and compressor input buffers */
++  overflow2(cinfo_p->image_width, cinfo_p->input_components);
+   buffer = (*cinfo_p->mem->alloc_sarray)
+     ((j_common_ptr) cinfo_p, JPOOL_IMAGE,
+      (unsigned int) cinfo_p->image_width * cinfo_p->input_components, 
+diff --git a/converter/other/pnmtops.c b/converter/other/pnmtops.c
+index 6cd6be9..8a7d25a 100644
+--- a/converter/other/pnmtops.c
++++ b/converter/other/pnmtops.c
+@@ -292,17 +292,21 @@ parseCommandLine(int argc, const char ** argv,
+     validateCompDimension(width, 72, "-width value");
+     validateCompDimension(height, 72, "-height value");
+     
++    overflow2(width, 72);
+     cmdlineP->width  = width * 72;
++    overflow2(height, 72);
+     cmdlineP->height = height * 72;
+     if (imagewidthSpec) {
+         validateCompDimension(imagewidth, 72, "-imagewidth value");
++        overflow2(imagewidth, 72);
+         cmdlineP->imagewidth = imagewidth * 72;
+     }
+     else
+         cmdlineP->imagewidth = 0;
+     if (imageheightSpec) {
+-        validateCompDimension(imagewidth, 72, "-imageheight value");
++        validateCompDimension(imageheight, 72, "-imageheight value");
++        overflow2(imageheight, 72);
+         cmdlineP->imageheight = imageheight * 72;
+     }
+     else
+diff --git a/converter/other/rletopnm.c b/converter/other/rletopnm.c
+index 9995914..058278c 100644
+--- a/converter/other/rletopnm.c
++++ b/converter/other/rletopnm.c
+@@ -19,6 +19,8 @@
+  * If you modify this software, you should include a notice giving the
+  * name of the person performing the modification, the date of modification,
+  * and the reason for such modification.
++ *
++ *  2002-12-19: Fix maths wrapping bugs. Alan Cox <alan@redhat.com>
+  */
+ /*
+  * rletopnm - A conversion program to convert from Utah's "rle" image format
+diff --git a/converter/other/sirtopnm.c b/converter/other/sirtopnm.c
+index fafcc91..9fe49d0 100644
+--- a/converter/other/sirtopnm.c
++++ b/converter/other/sirtopnm.c
+@@ -69,6 +69,7 @@ char* argv[];
+           }
+           break;
+       case PPM_TYPE:
++          overflow3(cols, rows, 3);
+           picsize = cols * rows * 3;
+           planesize = cols * rows;
+             if ( !( sirarray = (unsigned char*) malloc( picsize ) ) ) 
+diff --git a/converter/other/tifftopnm.c b/converter/other/tifftopnm.c
+index 0d6494f..19e9e38 100644
+--- a/converter/other/tifftopnm.c
++++ b/converter/other/tifftopnm.c
+@@ -1309,7 +1309,9 @@ convertRasterByRows(pnmOut *       const pnmOutP,
+     if (scanbuf == NULL)
+         pm_error("can't allocate memory for scanline buffer");
+-    MALLOCARRAY(samplebuf, cols * spp);
++    /* samplebuf is unsigned int * !!! */
++    samplebuf = (unsigned int *) malloc3(cols , sizeof(unsigned int) , spp);
++
+     if (samplebuf == NULL)
+         pm_error("can't allocate memory for row buffer");
+diff --git a/converter/other/xwdtopnm.c b/converter/other/xwdtopnm.c
+index 45d66b4..c914481 100644
+--- a/converter/other/xwdtopnm.c
++++ b/converter/other/xwdtopnm.c
+@@ -209,6 +209,10 @@ processX10Header(X10WDFileHeader *  const h10P,
+         *colorsP = pnm_allocrow(2);
+         PNM_ASSIGN1((*colorsP)[0], 0);
+         PNM_ASSIGN1((*colorsP)[1], *maxvalP);
++        overflow_add(h10P->pixmap_width, 15);
++        if(h10P->pixmap_width < 0)
++            pm_error("assert: negative width");
++        overflow2((((h10P->pixmap_width + 15) / 16) * 16 - h10P->pixmap_width), 8);
+         *padrightP =
+             (((h10P->pixmap_width + 15) / 16) * 16 - h10P->pixmap_width) * 8;
+         *bits_per_itemP = 16;
+@@ -634,6 +638,7 @@ processX11Header(X11WDFileHeader *  const h11P,
+     *colsP = h11FixedP->pixmap_width;
+     *rowsP = h11FixedP->pixmap_height;
++    overflow2(h11FixedP->bytes_per_line, 8);
+     *padrightP =
+         h11FixedP->bytes_per_line * 8 -
+         h11FixedP->pixmap_width * h11FixedP->bits_per_pixel;
+diff --git a/converter/pbm/mdatopbm.c b/converter/pbm/mdatopbm.c
+index d8e0657..12c7468 100644
+--- a/converter/pbm/mdatopbm.c
++++ b/converter/pbm/mdatopbm.c
+@@ -245,10 +245,13 @@ main(int argc, char **argv) {
+         pm_readlittleshort(infile, &yy); nInCols = yy;
+     }
+     
++    overflow2(nOutCols, 8);
+     nOutCols = 8 * nInCols;
+     nOutRows = nInRows;
+-    if (bScale) 
++    if (bScale) {
++        overflow2(nOutRows, 2);
+         nOutRows *= 2;
++    }
+     data = pbm_allocarray(nOutCols, nOutRows);
+     
+diff --git a/converter/pbm/mgrtopbm.c b/converter/pbm/mgrtopbm.c
+index 9f7004a..60e8477 100644
+--- a/converter/pbm/mgrtopbm.c
++++ b/converter/pbm/mgrtopbm.c
+@@ -65,6 +65,8 @@ readMgrHeader(FILE *          const ifP,
+         pad = 0;  /* should never reach here */
+     }
++    overflow_add(*colsP, pad);
++
+     interpHdrWidth (head, colsP);
+     interpHdrHeight(head, rowsP);
+     
+diff --git a/converter/pbm/pbmto4425.c b/converter/pbm/pbmto4425.c
+index 1d97ac6..c4c8cbb 100644
+--- a/converter/pbm/pbmto4425.c
++++ b/converter/pbm/pbmto4425.c
+@@ -2,6 +2,7 @@
+ #include "nstring.h"
+ #include "pbm.h"
++#include <string.h>
+ static char bit_table[2][3] = {
+ {1, 4, 0x10},
+@@ -160,7 +161,7 @@ main(int argc, char * argv[]) {
+     xres = vmap_width * 2;
+     yres = vmap_height * 3;
+-    vmap = malloc(vmap_width * vmap_height * sizeof(char));
++    vmap = malloc3(vmap_width, vmap_height, sizeof(char));
+     if(vmap == NULL)
+       {
+         pm_error( "Cannot allocate memory" );
+diff --git a/converter/pbm/pbmtogem.c b/converter/pbm/pbmtogem.c
+index 9eab041..13b0257 100644
+--- a/converter/pbm/pbmtogem.c
++++ b/converter/pbm/pbmtogem.c
+@@ -79,6 +79,7 @@ putinit (int const rows, int const cols)
+   bitsperitem = 0;
+   bitshift = 7;
+   outcol = 0;
++  overflow_add(cols, 7);
+   outmax = (cols + 7) / 8;
+   outrow = (unsigned char *) pm_allocrow (outmax, sizeof (unsigned char));
+   lastrow = (unsigned char *) pm_allocrow (outmax, sizeof (unsigned char));
+diff --git a/converter/pbm/pbmtogo.c b/converter/pbm/pbmtogo.c
+index 23b2ee9..d2ee91f 100644
+--- a/converter/pbm/pbmtogo.c
++++ b/converter/pbm/pbmtogo.c
+@@ -158,6 +158,7 @@ main(int           argc,
+     bitrow = pbm_allocrow(cols);
+     /* Round cols up to the nearest multiple of 8. */
++    overflow_add(cols, 7);
+     rucols = ( cols + 7 ) / 8;
+     bytesperrow = rucols;       /* GraphOn uses bytes */
+     rucols = rucols * 8;
+diff --git a/converter/pbm/pbmtolj.c b/converter/pbm/pbmtolj.c
+index 0cceb4f..fdab6df 100644
+--- a/converter/pbm/pbmtolj.c
++++ b/converter/pbm/pbmtolj.c
+@@ -120,7 +120,11 @@ parseCommandLine(int argc, char ** argv,
+ static void
+ allocateBuffers(unsigned int const cols) {
++    overflow_add(cols, 8);
+     rowBufferSize = (cols + 7) / 8;
++    overflow_add(rowBufferSize, 128);
++    overflow_add(rowBufferSize, rowBufferSize+128);
++    overflow_add(rowBufferSize+10, rowBufferSize/8);
+     packBufferSize = rowBufferSize + (rowBufferSize + 127) / 128 + 1;
+     deltaBufferSize = rowBufferSize + rowBufferSize / 8 + 10;
+diff --git a/converter/pbm/pbmtomda.c b/converter/pbm/pbmtomda.c
+index 3ad5149..9efe5cf 100644
+--- a/converter/pbm/pbmtomda.c
++++ b/converter/pbm/pbmtomda.c
+@@ -179,6 +179,7 @@ int main(int argc, char **argv)
+     
+     nOutRowsUnrounded = bScale ? nInRows/2 : nInRows;
++    overflow_add(nOutRowsUnrounded, 3);
+     nOutRows = ((nOutRowsUnrounded + 3) / 4) * 4;
+         /* MDA wants rows a multiple of 4 */   
+     nOutCols = nInCols / 8;
+diff --git a/converter/pbm/pbmtoppa/pbm.c b/converter/pbm/pbmtoppa/pbm.c
+index 2f8a42b..1c8d236 100644
+--- a/converter/pbm/pbmtoppa/pbm.c
++++ b/converter/pbm/pbmtoppa/pbm.c
+@@ -106,6 +106,7 @@ int pbm_readline(pbm_stat* pbm,unsigned char* data)
+     return 0;
+   case P4:
++    overflow_add(pbm->width, 7);
+     tmp=(pbm->width+7)/8;
+     tmp2=fread(data,1,tmp,pbm->fptr);
+     if(tmp2 == tmp)
+@@ -130,6 +131,7 @@ void pbm_unreadline (pbm_stat *pbm, void *data)
+     return;
+   pbm->unread = 1;
++  overflow_add(pbm->width, 7);
+   pbm->revdata = malloc ((pbm->width+7)/8);
+   memcpy (pbm->revdata, data, (pbm->width+7)/8);
+   pbm->current_line--;
+diff --git a/converter/pbm/pbmtoppa/pbmtoppa.c b/converter/pbm/pbmtoppa/pbmtoppa.c
+index f43c08a..98e0284 100644
+--- a/converter/pbm/pbmtoppa/pbmtoppa.c
++++ b/converter/pbm/pbmtoppa/pbmtoppa.c
+@@ -452,6 +452,7 @@ main(int argc, char *argv[]) {
+             pm_error("main(): unrecognized parameter '%s'", argv[argn]);
+     }
++    overflow_add(Width, 7);
+     Pwidth=(Width+7)/8;
+     printer.fptr=out;
+diff --git a/converter/pbm/pbmtoxbm.c b/converter/pbm/pbmtoxbm.c
+index 14c6b85..362b70e 100644
+--- a/converter/pbm/pbmtoxbm.c
++++ b/converter/pbm/pbmtoxbm.c
+@@ -351,6 +351,8 @@ convertRaster(FILE *          const ifP,
+     unsigned char * bitrow;
+     unsigned int row;
++    
++    overflow_add(cols, padright);
+     putinit(xbmVersion);
+diff --git a/converter/pbm/pktopbm.c b/converter/pbm/pktopbm.c
+index 712f339..b6fcb02 100644
+--- a/converter/pbm/pktopbm.c
++++ b/converter/pbm/pktopbm.c
+@@ -280,6 +280,7 @@ main(int argc, char *argv[]) {
+         if (flagbyte == 7) {            /* long form preamble */
+             integer packetlength = get32() ;    /* character packet length */
+             car = get32() ;         /* character number */
++            overflow_add(packetlength, pktopbm_pkloc);
+             endofpacket = packetlength + pktopbm_pkloc;
+                 /* calculate end of packet */
+             if ((car >= MAXPKCHAR) || !filename[car]) {
+diff --git a/converter/pbm/thinkjettopbm.l b/converter/pbm/thinkjettopbm.l
+index 5de4f2b..7f31de5 100644
+--- a/converter/pbm/thinkjettopbm.l
++++ b/converter/pbm/thinkjettopbm.l
+@@ -114,7 +114,9 @@ DIG             [0-9]
+ <RASTERMODE>\033\*b{DIG}+W  {
+                             int l;
+                             if (rowCount >= rowCapacity) {
+-                                rowCapacity += 100;
++                              overflow_add(rowCapacity, 100);
++                                 rowCapacity += 100;
++                              overflow2(rowCapacity, sizeof *rows);
+                                 rows = realloc (rows, rowCapacity * sizeof *rows);
+                                 if (rows == NULL)
+                                     pm_error ("Out of memory.");
+@@ -226,6 +228,8 @@ yywrap (void)
+     /*
+      * Quite simple since ThinkJet bit arrangement matches PBM
+      */
++
++    overflow2(maxRowLength, 8);
+     pbm_writepbminit(stdout, maxRowLength*8, rowCount, 0);
+     packed_bitrow = malloc(maxRowLength);
+diff --git a/converter/pbm/ybmtopbm.c b/converter/pbm/ybmtopbm.c
+index 2a42908..cf1ff03 100644
+--- a/converter/pbm/ybmtopbm.c
++++ b/converter/pbm/ybmtopbm.c
+@@ -43,6 +43,7 @@ getinit(FILE *  const ifP,
+         pm_error("EOF / read error");
+     *depthP = 1;
++    overflow_add(*colsP, 15);
+ }
+diff --git a/converter/pgm/lispmtopgm.c b/converter/pgm/lispmtopgm.c
+index 40dd3fb..b5469f7 100644
+--- a/converter/pgm/lispmtopgm.c
++++ b/converter/pgm/lispmtopgm.c
+@@ -58,6 +58,7 @@ main( argc, argv )
+         pm_error( "depth (%d bits) is too large", depth);
+     pgm_writepgminit( stdout, cols, rows, (gray) maxval, 0 );
++    overflow_add(cols, 7);
+     grayrow = pgm_allocrow( ( cols + 7 ) / 8 * 8 );
+     for ( row = 0; row < rows; ++row )
+@@ -102,6 +103,8 @@ getinit( file, colsP, rowsP, depthP, padrightP )
+     
+     if ( *depthP == 0 )
+       *depthP = 1;    /* very old file */
++
++    overflow_add((int)colsP, 31);
+     
+     *padrightP = ( ( *colsP + 31 ) / 32 ) * 32 - *colsP;
+     
+diff --git a/converter/pgm/psidtopgm.c b/converter/pgm/psidtopgm.c
+index 07417d1..25bb311 100644
+--- a/converter/pgm/psidtopgm.c
++++ b/converter/pgm/psidtopgm.c
+@@ -78,6 +78,7 @@ main(int     argc,
+         pm_error("bits/sample (%d) is too large.", bitspersample);
+     pgm_writepgminit(stdout, cols, rows, maxval, 0);
++    overflow_add(cols, 7);
+     grayrow = pgm_allocrow((cols + 7) / 8 * 8);
+     for (row = 0; row < rows; ++row) {
+         unsigned int col;
+diff --git a/converter/ppm/Makefile b/converter/ppm/Makefile
+index 09f05cd..f68170f 100644
+--- a/converter/ppm/Makefile
++++ b/converter/ppm/Makefile
+@@ -11,7 +11,7 @@ SUBDIRS = hpcdtoppm
+ PORTBINARIES =        411toppm eyuvtoppm gouldtoppm ilbmtoppm imgtoppm \
+               leaftoppm mtvtoppm neotoppm \
+-              pcxtoppm pc1toppm pi1toppm picttoppm pjtoppm \
++              pcxtoppm pc1toppm pi1toppm pjtoppm \
+               ppmtoacad ppmtoapplevol ppmtoarbtxt ppmtoascii \
+               ppmtobmp ppmtoeyuv ppmtogif ppmtoicr ppmtoilbm \
+               ppmtoleaf ppmtolj ppmtomitsu ppmtoneo \
+diff --git a/converter/ppm/ilbmtoppm.c b/converter/ppm/ilbmtoppm.c
+index 662be0b..2a86efc 100644
+--- a/converter/ppm/ilbmtoppm.c
++++ b/converter/ppm/ilbmtoppm.c
+@@ -606,6 +606,7 @@ decode_row(FILE *          const ifP,
+     rawtype *chp;
+     cols = bmhdP->w;
++    overflow_add(cols, 15);
+     bytes = RowBytes(cols);
+     for( plane = 0; plane < nPlanes; plane++ ) {
+         int mask;
+@@ -693,6 +694,23 @@ decode_mask(FILE *          const ifP,
+  Multipalette handling
+  ****************************************************************************/
++static void *
++xmalloc2(x, y)
++    int x;
++    int y;
++{
++    void *mem;
++
++    overflow2(x,y);
++    if( x * y == 0 )
++        return NULL;
++
++    mem = malloc2(x,y);
++    if( mem == NULL )
++        pm_error("out of memory allocating %d bytes", x * y);
++    return mem;
++}
++
+ static void
+ multi_adjust(cmap, row, palchange)
+@@ -1355,6 +1373,9 @@ dcol_to_ppm(FILE *         const ifP,
+     if( redmaxval != maxval || greenmaxval != maxval || bluemaxval != maxval )
+         pm_message("scaling colors to %d bits", pm_maxvaltobits(maxval));
+     
++    overflow_add(redmaxval, 1);
++    overflow_add(greenmaxval, 1);
++    overflow_add(bluemaxval, 1);
+     MALLOCARRAY_NOFAIL(redtable,   redmaxval   +1);
+     MALLOCARRAY_NOFAIL(greentable, greenmaxval +1);
+     MALLOCARRAY_NOFAIL(bluetable,  bluemaxval  +1);
+@@ -1784,7 +1805,9 @@ PCHG_ConvertSmall(PCHG, cmap, mask, datasize)
+             ChangeCount32 = *data++;
+             datasize -= 2;
++            overflow_add(ChangeCount16, ChangeCount32);
+             changes = ChangeCount16 + ChangeCount32;
++            overflow_add(changes, 1);
+             for( i = 0; i < changes; i++ ) {
+                 if( totalchanges >= PCHG->TotalChanges ) goto fail;
+                 if( datasize < 2 ) goto fail;
+@@ -2049,6 +2072,9 @@ read_pchg(FILE *     const ifP,
+             cmap->mp_change[i] = NULL;
+         if( PCHG.StartLine < 0 ) {
+             int nch;
++            if(PCHG.MaxReg < PCHG.MinReg)
++                pm_error("assert: MinReg > MaxReg");
++            overflow_add(PCHG.MaxReg-PCHG.MinReg, 2);
+             nch = PCHG.MaxReg - PCHG.MinReg +1;
+             MALLOCARRAY_NOFAIL(cmap->mp_init, nch + 1);
+             for( i = 0; i < nch; i++ )
+@@ -2125,6 +2151,7 @@ process_body( FILE *          const ifP,
+     if (typeid == ID_ILBM) {
+         int isdeep;
++        overflow_add(bmhdP->w, 15);
+         MALLOCARRAY_NOFAIL(ilbmrow, RowBytes(bmhdP->w));
+         *viewportmodesP |= fakeviewport;      /* -isham/-isehb */
+diff --git a/converter/ppm/imgtoppm.c b/converter/ppm/imgtoppm.c
+index 7078b88..eb8509e 100644
+--- a/converter/ppm/imgtoppm.c
++++ b/converter/ppm/imgtoppm.c
+@@ -84,6 +84,7 @@ main(int argc, char ** argv) {
+             len = atoi((char*) buf );
+             if ( fread( buf, len, 1, ifp ) != 1 )
+                 pm_error( "bad colormap buf" );
++            overflow2(cmaplen, 3);
+             if ( cmaplen * 3 != len )
+             {
+                 pm_message(
+@@ -105,6 +106,7 @@ main(int argc, char ** argv) {
+                 pm_error( "bad pixel data header" );
+             buf[8] = '\0';
+             len = atoi((char*) buf );
++            overflow2(cols, rows);
+             if ( len != cols * rows )
+                 pm_message(
+                     "pixel data length (%d) does not match image size (%d)",
+diff --git a/converter/ppm/pcxtoppm.c b/converter/ppm/pcxtoppm.c
+index e252ba2..270ae3b 100644
+--- a/converter/ppm/pcxtoppm.c
++++ b/converter/ppm/pcxtoppm.c
+@@ -409,6 +409,7 @@ pcx_planes_to_pixels(pixels, bitplanes, bytesperline, planes, bitsperpixel)
+     /*
+      * clear the pixel buffer
+      */
++    overflow2(bytesperline, 8);
+     npixels = (bytesperline * 8) / bitsperpixel;
+     p    = pixels;
+     while (--npixels >= 0)
+@@ -470,6 +471,7 @@ pcx_16col_to_ppm(FILE *       const ifP,
+     }
+     /*  BytesPerLine should be >= BitsPerPixel * cols / 8  */
++    overflow2(BytesPerLine, 8);
+     rawcols = BytesPerLine * 8 / BitsPerPixel;
+     if (headerCols > rawcols) {
+         pm_message("warning - BytesPerLine = %d, "
+diff --git a/converter/ppm/picttoppm.c b/converter/ppm/picttoppm.c
+index 828d527..8cdb7b3 100644
+--- a/converter/ppm/picttoppm.c
++++ b/converter/ppm/picttoppm.c
+@@ -1,3 +1,4 @@
++#error "Unfixable. Don't ship me"
+ /*
+  * picttoppm.c -- convert a MacIntosh PICT file to PPM format.
+  *
+diff --git a/converter/ppm/pjtoppm.c b/converter/ppm/pjtoppm.c
+index 7b694fb..62ce77e 100644
+--- a/converter/ppm/pjtoppm.c
++++ b/converter/ppm/pjtoppm.c
+@@ -127,20 +127,22 @@ main(argc, argv)
+                 case 'V':   /* send plane */
+                 case 'W':   /* send last plane */
+                     if (rows == -1 || r >= rows || image == NULL) {
+-                        if (rows == -1 || r >= rows)
++                        if (rows == -1 || r >= rows) {
++                            overflow_add(rows, 100);
+                             rows += 100;
++                        }
++
+                         if (image == NULL) {
+-                            MALLOCARRAY(image, rows * planes);
+-                            MALLOCARRAY(imlen, rows * planes);
++                            image = (unsigned char **)
++                                malloc3(rows , planes , sizeof(unsigned char *));
++                            imlen = (int *) malloc3(rows , planes,  sizeof(int));
+                         }
+                         else {
+-                            image = (unsigned char **) 
+-                                realloc(image, 
+-                                        rows * planes * 
+-                                        sizeof(unsigned char *));
+-                            imlen = (int *) 
+-                                realloc(imlen, rows * planes * sizeof(int));
+-                        }
++                            overflow2(rows,planes);
++                            image = (unsigned char **)
++                                realloc2(image, rows * planes,
++                                    sizeof(unsigned char *));
++                            imlen = (int *) realloc2(imlen, rows * planes, sizeof(int));                        }
+                     }
+                     if (image == NULL || imlen == NULL)
+                         pm_error("out of memory");
+@@ -212,8 +214,10 @@ main(argc, argv)
+                 for (i = 0, c = 0; c < imlen[p + r * planes]; c += 2)
+                     for (cmd = image[p + r * planes][c],
+                              val = image[p + r * planes][c+1]; 
+-                         cmd >= 0 && i < newcols; cmd--, i++) 
++                         cmd >= 0 && i < newcols; cmd--, i++) {
+                         buf[i] = val;
++                        overflow_add(i, 1);
++                    }
+                 cols = cols > i ? cols : i;
+                 free(image[p + r * planes]);
+                 /* 
+@@ -224,6 +228,7 @@ main(argc, argv)
+                 image[p + r * planes] = (unsigned char *) realloc(buf, i);
+             }
+         }
++        overflow2(cols, 8);
+         cols *= 8;
+     }
+             
+diff --git a/converter/ppm/ppmtoeyuv.c b/converter/ppm/ppmtoeyuv.c
+index f5ce115..6f072be 100644
+--- a/converter/ppm/ppmtoeyuv.c
++++ b/converter/ppm/ppmtoeyuv.c
+@@ -114,6 +114,7 @@ create_multiplication_tables(const pixval maxval) {
+     int index;
++    overflow_add(maxval, 1);
+     MALLOCARRAY_NOFAIL(mult299   , maxval+1);
+     MALLOCARRAY_NOFAIL(mult587   , maxval+1);
+     MALLOCARRAY_NOFAIL(mult114   , maxval+1);
+diff --git a/converter/ppm/ppmtolj.c b/converter/ppm/ppmtolj.c
+index 7ed814e..b4e7db1 100644
+--- a/converter/ppm/ppmtolj.c
++++ b/converter/ppm/ppmtolj.c
+@@ -182,6 +182,7 @@ int main(int argc, char *argv[]) {
+     ppm_readppminit( ifp, &cols, &rows, &maxval, &format );
+     pixelrow = ppm_allocrow( cols );
++    overflow2(cols, 6);
+     obuf = (unsigned char *) pm_allocrow(cols * 3, sizeof(unsigned char));
+     cbuf = (unsigned char *) pm_allocrow(cols * 6, sizeof(unsigned char));
+     if (mode == C_TRANS_MODE_DELTA)
+diff --git a/converter/ppm/ppmtomitsu.c b/converter/ppm/ppmtomitsu.c
+index e59f09b..1d2be20 100644
+--- a/converter/ppm/ppmtomitsu.c
++++ b/converter/ppm/ppmtomitsu.c
+@@ -685,6 +685,8 @@ main(int argc, char * argv[]) {
+         medias = MSize_User;
+     if (dpi300) {
++        overflow2(medias.maxcols, 2);
++        overflow2(medias.maxrows, 2);
+         medias.maxcols *= 2;
+         medias.maxrows *= 2;
+     }
+diff --git a/converter/ppm/ppmtopcx.c b/converter/ppm/ppmtopcx.c
+index fa68edc..97dfb2b 100644
+--- a/converter/ppm/ppmtopcx.c
++++ b/converter/ppm/ppmtopcx.c
+@@ -425,6 +425,8 @@ ppmTo16ColorPcx(pixel **            const pixels,
+             else                   Planes = 1;
+         }
+     }
++    overflow2(BitsPerPixel, cols);
++    overflow_add(BitsPerPixel * cols, 7);
+     BytesPerLine = ((cols * BitsPerPixel) + 7) / 8;
+     MALLOCARRAY_NOFAIL(indexRow, cols);
+     MALLOCARRAY_NOFAIL(planesrow, BytesPerLine);
+diff --git a/converter/ppm/ppmtopict.c b/converter/ppm/ppmtopict.c
+index 034e705..4541387 100644
+--- a/converter/ppm/ppmtopict.c
++++ b/converter/ppm/ppmtopict.c
+@@ -450,6 +450,8 @@ main(int argc, const char ** argv) {
+     putShort(stdout, 0);            /* mode */
+     /* Finally, write out the data. */
++    overflow_add(cols/MAX_COUNT, 1);
++    overflow_add(cols, cols/MAX_COUNT+1);
+     outBuf = malloc((unsigned)(cols+cols/MAX_COUNT+1));
+     for (row = 0, oc = 0; row < rows; ++row) {
+         unsigned int rowSize;
+diff --git a/converter/ppm/ppmtopj.c b/converter/ppm/ppmtopj.c
+index d116773..fc84cac 100644
+--- a/converter/ppm/ppmtopj.c
++++ b/converter/ppm/ppmtopj.c
+@@ -179,6 +179,7 @@ char *argv[];
+       pixels = ppm_readppm( ifp, &cols, &rows, &maxval );
+       pm_close( ifp );
++        overflow2(cols,2);
+       obuf = (unsigned char *) pm_allocrow(cols, sizeof(unsigned char));
+       cbuf = (unsigned char *) pm_allocrow(cols * 2, sizeof(unsigned char));
+diff --git a/converter/ppm/ppmtopjxl.c b/converter/ppm/ppmtopjxl.c
+index ddf4963..b2c7e8e 100644
+--- a/converter/ppm/ppmtopjxl.c
++++ b/converter/ppm/ppmtopjxl.c
+@@ -306,6 +306,9 @@ main(int argc, const char * argv[]) {
+     if (maxval > PCL_MAXVAL)
+         pm_error("color range too large; reduce with ppmcscale");
++    if (cols < 0 || rows < 0)
++        pm_error("negative size is not possible");
++
+     /* Figure out the colormap. */
+     pm_message("Computing colormap...");
+     chv = ppm_computecolorhist(pixels, cols, rows, MAXCOLORS, &colors);
+@@ -325,6 +328,8 @@ main(int argc, const char * argv[]) {
+         case 0: /* direct mode (no palette) */
+             bpp = bitsperpixel(maxval); /* bits per pixel */
+             bpg = bpp; bpb = bpp;
++            overflow2(bpp, 3);
++            overflow_add(bpp*3, 7);
+             bpp = (bpp*3+7)>>3;     /* bytes per pixel now */
+             bpr = (bpp<<3)-bpg-bpb; 
+             bpp *= cols;            /* bytes per row now */
+@@ -334,9 +339,13 @@ main(int argc, const char * argv[]) {
+         case 3: case 7: pclindex++;
+         default:
+             bpp = 8/pclindex;
++            overflow_add(cols, bpp);
++            if(bpp == 0)
++                pm_error("assert: no bpp");
+             bpp = (cols+bpp-1)/bpp;      /* bytes per row */
+         }
+     }
++    overflow2(bpp,2);
+     inrow = (char *)malloc((unsigned)bpp);
+     outrow = (char *)malloc((unsigned)bpp*2);
+     runcnt = (signed char *)malloc((unsigned)bpp);
+diff --git a/converter/ppm/ppmtowinicon.c b/converter/ppm/ppmtowinicon.c
+index c673798..af2b445 100644
+--- a/converter/ppm/ppmtowinicon.c
++++ b/converter/ppm/ppmtowinicon.c
+@@ -12,6 +12,7 @@
+ #include <math.h>
+ #include <string.h>
++#include <stdlib.h>
+ #include "pm_c_util.h"
+ #include "winico.h"
+@@ -214,6 +215,7 @@ createAndBitmap (gray ** const ba, int const cols, int const rows,
+    MALLOCARRAY_NOFAIL(rowData, rows);
+    icBitmap->xBytes = xBytes;
+    icBitmap->data   = rowData;
++   overflow2(xBytes, rows);
+    icBitmap->size   = xBytes * rows;
+    for (y=0;y<rows;y++) {
+       u1 * row;
+@@ -342,6 +344,7 @@ create4Bitmap (pixel ** const pa, int const cols, int const rows,
+    MALLOCARRAY_NOFAIL(rowData, rows);
+    icBitmap->xBytes = xBytes;
+    icBitmap->data   = rowData;
++   overflow2(xBytes, rows);
+    icBitmap->size   = xBytes * rows;
+    for (y=0;y<rows;y++) {
+@@ -402,6 +405,7 @@ create8Bitmap (pixel ** const pa, int const cols, int const rows,
+    MALLOCARRAY_NOFAIL(rowData, rows);
+    icBitmap->xBytes = xBytes;
+    icBitmap->data   = rowData;
++   overflow2(xBytes, rows);
+    icBitmap->size   = xBytes * rows;
+    for (y=0;y<rows;y++) {
+@@ -709,7 +713,11 @@ addEntryToIcon(MS_Ico       const MSIconData,
+     entry->bitcount      = bpp;
+     entry->ih            = createInfoHeader(entry, xorBitmap, andBitmap);
+     entry->colors        = palette->colors;
+-    entry->size_in_bytes = 
++    overflow2(4, entry->color_count);
++    overflow_add(xorBitmap->size, andBitmap->size);
++    overflow_add(xorBitmap->size + andBitmap->size, 40);
++    overflow_add(xorBitmap->size + andBitmap->size + 40, 4 * entry->color_count);
++    entry->size_in_bytes =
+         xorBitmap->size + andBitmap->size + 40 + (4 * entry->color_count);
+     if (verbose) 
+         pm_message("entry->size_in_bytes = %d + %d + %d = %d",
+diff --git a/converter/ppm/ppmtoxpm.c b/converter/ppm/ppmtoxpm.c
+index 38d9997..904c98d 100644
+--- a/converter/ppm/ppmtoxpm.c
++++ b/converter/ppm/ppmtoxpm.c
+@@ -197,6 +197,7 @@ genNumstr(unsigned int const input, int const digits) {
+     unsigned int i;
+     /* Allocate memory for printed number.  Abort if error. */
++    overflow_add(digits, 1);
+     if (!(str = (char *) malloc(digits + 1)))
+         pm_error("out of memory");
+@@ -314,6 +315,7 @@ genCmap(colorhist_vector const chv,
+     unsigned int charsPerPixel;
+     unsigned int xpmMaxval;
+     
++    if (includeTransparent) overflow_add(ncolors, 1);
+     MALLOCARRAY(cmap, cmapSize);
+     if (cmapP == NULL)
+         pm_error("Out of memory allocating %u bytes for a color map.",
+diff --git a/converter/ppm/qrttoppm.c b/converter/ppm/qrttoppm.c
+index 935463e..653084c 100644
+--- a/converter/ppm/qrttoppm.c
++++ b/converter/ppm/qrttoppm.c
+@@ -46,7 +46,7 @@ main( argc, argv )
+     ppm_writeppminit( stdout, cols, rows, maxval, 0 );
+     pixelrow = ppm_allocrow( cols );
+-    buf = (unsigned char *) malloc( 3 * cols );
++    buf = (unsigned char *) malloc2( 3 , cols );
+     if ( buf == (unsigned char *) 0 )
+       pm_error( "out of memory" );
+diff --git a/converter/ppm/sldtoppm.c b/converter/ppm/sldtoppm.c
+index 6ba4cb4..fc6a498 100644
+--- a/converter/ppm/sldtoppm.c
++++ b/converter/ppm/sldtoppm.c
+@@ -464,6 +464,8 @@ slider(slvecfn   slvec,
+     
+     /* Allocate image buffer and clear it to black. */
+     
++    overflow_add(ixdots, 1);
++    overflow_add(iydots, 1);
+     pixels = ppm_allocarray(pixcols = ixdots + 1, pixrows = iydots + 1);
+     PPM_ASSIGN(rgbcolor, 0, 0, 0);
+     ppmd_filledrectangle(pixels, pixcols, pixrows, pixmaxval, 0, 0,
+diff --git a/converter/ppm/ximtoppm.c b/converter/ppm/ximtoppm.c
+index ce5e639..a39b689 100644
+--- a/converter/ppm/ximtoppm.c
++++ b/converter/ppm/ximtoppm.c
+@@ -160,6 +163,7 @@ ReadXimHeader(FILE *     const in_fp,
+     if (header->nchannels == 3 && header->bits_channel == 8)
+         header->ncolors = 0;
+     else if (header->nchannels == 1 && header->bits_channel == 8) {
++        overflow2(header->ncolors, sizeof(Color));
+         header->colors = (Color *)calloc((unsigned int)header->ncolors,
+                 sizeof(Color));
+         if (header->colors == NULL) {
+diff --git a/editor/pamcut.c b/editor/pamcut.c
+index 7c41af3..72df687 100644
+--- a/editor/pamcut.c
++++ b/editor/pamcut.c
+@@ -655,6 +655,8 @@ cutOneImage(FILE *             const ifP,
+     outpam = inpam;    /* Initial value -- most fields should be same */
+     outpam.file   = ofP;
++    overflow_add(rightcol, 1);
++    overflow_add(bottomrow, 1);
+     outpam.width  = rightcol - leftcol + 1;
+     outpam.height = bottomrow - toprow + 1;
+diff --git a/editor/pbmreduce.c b/editor/pbmreduce.c
+index f49c8d9..580e5e0 100644
+--- a/editor/pbmreduce.c
++++ b/editor/pbmreduce.c
+@@ -94,6 +94,7 @@ main( argc, argv )
+     if (halftone == QT_FS) {
+         unsigned int col;
+         /* Initialize Floyd-Steinberg. */
++        overflow_add(newcols, 2);
+         MALLOCARRAY(thiserr, newcols + 2);
+         MALLOCARRAY(nexterr, newcols + 2);
+         if (thiserr == NULL || nexterr == NULL)
+diff --git a/editor/pnmgamma.c b/editor/pnmgamma.c
+index b357b0d..ec612d3 100644
+--- a/editor/pnmgamma.c
++++ b/editor/pnmgamma.c
+@@ -596,6 +596,7 @@ createGammaTables(enum transferFunction const transferFunction,
+                   xelval **             const btableP) {
+     /* Allocate space for the tables. */
++    overflow_add(maxval, 1);
+     MALLOCARRAY(*rtableP, maxval+1);
+     MALLOCARRAY(*gtableP, maxval+1);
+     MALLOCARRAY(*btableP, maxval+1);
+diff --git a/editor/pnmhisteq.c b/editor/pnmhisteq.c
+index 8af4201..0c8d6e5 100644
+--- a/editor/pnmhisteq.c
++++ b/editor/pnmhisteq.c
+@@ -107,6 +107,7 @@ computeLuminosityHistogram(xel * const *   const xels,
+     unsigned int pixelCount;
+     unsigned int * lumahist;
++    overflow_add(maxval, 1);
+     MALLOCARRAY(lumahist, maxval + 1);
+     if (lumahist == NULL)
+         pm_error("Out of storage allocating array for %u histogram elements",
+diff --git a/editor/pnmindex.csh b/editor/pnmindex.csh
+index c6f1e84..c513a84 100755
+--- a/editor/pnmindex.csh
++++ b/editor/pnmindex.csh
+@@ -1,5 +1,7 @@
+ #!/bin/csh -f
+ #
++echo "Unsafe code, needs debugging, do not ship"
++exit 1
+ # pnmindex - build a visual index of a bunch of anymaps
+ #
+ # Copyright (C) 1991 by Jef Poskanzer.
+diff --git a/editor/pnmpad.c b/editor/pnmpad.c
+index 1904b68..0797cf1 100644
+--- a/editor/pnmpad.c
++++ b/editor/pnmpad.c
+@@ -527,6 +527,8 @@ main(int argc, const char ** argv) {
+     computePadSizes(cmdline, cols, rows, &lpad, &rpad, &tpad, &bpad);
++    overflow_add(cols, lpad);
++    overflow_add(cols + lpad, rpad);
+     newcols = cols + lpad + rpad;
+     if (PNM_FORMAT_TYPE(format) == PBM_TYPE)
+diff --git a/editor/pnmremap.c b/editor/pnmremap.c
+index b2448cb..b924120 100644
+--- a/editor/pnmremap.c
++++ b/editor/pnmremap.c
+@@ -428,6 +428,7 @@ initFserr(struct pam *   const pamP,
+     unsigned int const fserrSize = pamP->width + 2;
++    overflow_add(pamP->width, 2);
+     fserrP->width = pamP->width;
+     MALLOCARRAY(fserrP->thiserr, pamP->depth);
+@@ -465,6 +466,7 @@ floydInitRow(struct pam * const pamP, struct fserr * const fserrP) {
+     int col;
+     
++    overflow_add(pamP->width, 2);
+     for (col = 0; col < pamP->width + 2; ++col) {
+         unsigned int plane;
+         for (plane = 0; plane < pamP->depth; ++plane) 
+diff --git a/editor/pnmscalefixed.c b/editor/pnmscalefixed.c
+index 884ca31..747cd8f 100644
+--- a/editor/pnmscalefixed.c
++++ b/editor/pnmscalefixed.c
+@@ -214,6 +214,7 @@ compute_output_dimensions(const struct cmdline_info cmdline,
+                           const int rows, const int cols,
+                           int * newrowsP, int * newcolsP) {
++    overflow2(rows, cols);
+     if (cmdline.pixels) {
+         if (rows * cols <= cmdline.pixels) {
+             *newrowsP = rows;
+@@ -265,6 +266,8 @@ compute_output_dimensions(const struct cmdline_info cmdline,
+     if (*newcolsP < 1) *newcolsP = 1;
+     if (*newrowsP < 1) *newrowsP = 1;
++
++    overflow2(*newcolsP, *newrowsP);
+ }        
+@@ -446,6 +449,9 @@ main(int argc, char **argv ) {
+        unfilled.  We can address that by stretching, whereas the other
+        case would require throwing away some of the input.
+     */
++
++    overflow2(newcols, SCALE);
++    overflow2(newrows, SCALE);
+     sxscale = SCALE * newcols / cols;
+     syscale = SCALE * newrows / rows;
+diff --git a/editor/ppmdither.c b/editor/ppmdither.c
+index ec1b977..e701e09 100644
+--- a/editor/ppmdither.c
++++ b/editor/ppmdither.c
+@@ -356,6 +356,11 @@ dithMatrix(unsigned int const dithPower) {
+             (dithDim * sizeof(*dithMat)) + /* pointers */
+             (dithDim * dithDim * sizeof(**dithMat)); /* data */
+         
++
++        overflow2(dithDim, sizeof(*dithMat));
++        overflow3(dithDim, dithDim, sizeof(**dithMat));
++        overflow_add(dithDim * sizeof(*dithMat), dithDim * dithDim * sizeof(**dithMat));
++
+         dithMat = malloc(dithMatSize);
+         
+         if (dithMat == NULL) 
+diff --git a/editor/specialty/pamoil.c b/editor/specialty/pamoil.c
+index 6cb8d3a..6f4bde9 100644
+--- a/editor/specialty/pamoil.c
++++ b/editor/specialty/pamoil.c
+@@ -112,6 +112,7 @@ main(int argc, char *argv[] ) {
+     tuples = pnm_readpam(ifp, &inpam, PAM_STRUCT_SIZE(tuple_type));
+     pm_close(ifp);
++    overflow_add(inpam.maxval, 1);
+     MALLOCARRAY(hist, inpam.maxval + 1);
+     if (hist == NULL)
+         pm_error("Unable to allocate memory for histogram.");
+diff --git a/generator/pbmtext.c b/generator/pbmtext.c
+index 9f4366d..445d718 100644
+--- a/generator/pbmtext.c
++++ b/generator/pbmtext.c
+@@ -96,12 +96,14 @@ parseCommandLine(int argc, const char ** argv,
+         
+         for (i = 1; i < argc; ++i) {
+             if (i > 1) {
++                overflow_add(totaltextsize, 1);
+                 totaltextsize += 1;
+                 text = realloc(text, totaltextsize);
+                 if (text == NULL)
+                     pm_error("out of memory allocating space for input text");
+                 strcat(text, " ");
+-            } 
++            }
++            overflow_add(totaltextsize, strlen(argv[i]));
+             totaltextsize += strlen(argv[i]);
+             text = realloc(text, totaltextsize);
+             if (text == NULL)
+@@ -712,6 +714,7 @@ getText(const char          cmdline_text[],
+                 pm_error("A line of input text is longer than %u characters."
+                          "Cannot process.", (unsigned)sizeof(buf)-1);
+             if (lineCount >= maxlines) {
++                overflow2(maxlines, 2);
+                 maxlines *= 2;
+                 REALLOCARRAY(text_array, maxlines);
+                 if (text_array == NULL)
+@@ -832,6 +835,7 @@ main(int argc, const char *argv[]) {
+             hmargin = fontP->maxwidth;
+         } else {
+             vmargin = fontP->maxheight;
++            overflow2(2, fontP->maxwidth);
+             hmargin = 2 * fontP->maxwidth;
+         }
+     }
+diff --git a/lib/libpam.c b/lib/libpam.c
+index cc6368e..4e10572 100644
+--- a/lib/libpam.c
++++ b/lib/libpam.c
+@@ -224,8 +224,9 @@ allocPamRow(const struct pam * const pamP) {
+     unsigned int const bytesPerTuple = allocationDepth(pamP) * sizeof(sample);
+     tuple * tuplerow;
+-    tuplerow = malloc(pamP->width * (sizeof(tuple *) + bytesPerTuple));
+-                      
++    overflow_add(sizeof(tuple *), bytesPerTuple);
++    tuplerow = malloc2(pamP->width, (sizeof(tuple *) + bytesPerTuple));
++
+     if (tuplerow != NULL) {
+         /* Now we initialize the pointers to the individual tuples
+            to make this a regulation C two dimensional array.  
+diff --git a/lib/libpammap.c b/lib/libpammap.c
+index 55e1d3f..04b1ba3 100644
+--- a/lib/libpammap.c
++++ b/lib/libpammap.c
+@@ -108,7 +108,9 @@ allocTupleIntListItem(struct pam * const pamP) {
+     */
+     struct tupleint_list_item * retval;
+-    unsigned int const size = 
++    overflow2(pamP->depth, sizeof(sample));
++    overflow_add(sizeof(*retval)-sizeof(retval->tupleint.tuple), pamP->depth*sizeof(sample));
++    unsigned int const size =
+         sizeof(*retval) - sizeof(retval->tupleint.tuple) 
+         + pamP->depth * sizeof(sample);
+diff --git a/lib/libpm.c b/lib/libpm.c
+index 4374bbe..5ab7f83 100644
+--- a/lib/libpm.c
++++ b/lib/libpm.c
+@@ -841,5 +841,53 @@ pm_parse_height(const char * const arg) {
+     return height;
+ }
++/*
++ *    Maths wrapping
++ */
++void __overflow2(int a, int b)
++{
++        if(a < 0 || b < 0)
++                pm_error("object too large");
++        if(b == 0)
++                return;
++        if(a > INT_MAX / b)
++                pm_error("object too large");
++}
++
++void overflow3(int a, int b, int c)
++{
++        overflow2(a,b);
++        overflow2(a*b, c);
++}
++
++void overflow_add(int a, int b)
++{
++        if( a > INT_MAX - b)
++                pm_error("object too large");
++}
++
++void *malloc2(int a, int b)
++{
++        overflow2(a, b);
++        if(a*b == 0)
++                pm_error("Zero byte allocation");
++        return malloc(a*b);
++}
++
++void *malloc3(int a, int b, int c)
++{
++        overflow3(a, b, c);
++        if(a*b*c == 0)
++                pm_error("Zero byte allocation");
++        return malloc(a*b*c);
++}
++
++void *realloc2(void * a, int b, int c)
++{
++        overflow2(b, c);
++        if(b*c == 0)
++                pm_error("Zero byte allocation");
++        return realloc(a, b*c);
++}
+diff --git a/lib/pm.h b/lib/pm.h
+index e9f1405..da54391 100644
+--- a/lib/pm.h
++++ b/lib/pm.h
+@@ -435,5 +435,12 @@ pm_parse_height(const char * const arg);
+ }
+ #endif
++void *malloc2(int, int);
++void *malloc3(int, int, int);
++#define overflow2(a,b) __overflow2(a,b)
++void __overflow2(int, int);
++void overflow3(int, int, int);
++void overflow_add(int, int);
++
+ #endif
+diff --git a/other/pnmcolormap.c b/other/pnmcolormap.c
+index 57db432..7195295 100644
+--- a/other/pnmcolormap.c
++++ b/other/pnmcolormap.c
+@@ -840,6 +840,7 @@ colormapToSquare(struct pam * const pamP,
+             pamP->width = intsqrt;
+         else 
+             pamP->width = intsqrt + 1;
++            overflow_add(intsqrt, 1);
+     }
+     {
+         unsigned int const intQuotient = colormap.size / pamP->width;
+diff --git a/urt/Runput.c b/urt/Runput.c
+index 3bc562a..645a376 100644
+--- a/urt/Runput.c
++++ b/urt/Runput.c
+@@ -202,10 +202,11 @@ RunSetup(rle_hdr * the_hdr)
+     if ( the_hdr->background != 0 )
+     {
+       register int i;
+-      register rle_pixel *background =
+-          (rle_pixel *)malloc( (unsigned)(the_hdr->ncolors + 1) );
+-      register int *bg_color;
+-      /* 
++        register rle_pixel *background;
++        register int *bg_color;
++
++        overflow_add(the_hdr->ncolors,1);
++        background = (rle_pixel *)malloc( (unsigned)(the_hdr->ncolors + 1) ); /*
+        * If even number of bg color bytes, put out one more to get to 
+        * 16 bit boundary.
+        */
+@@ -224,7 +225,7 @@ RunSetup(rle_hdr * the_hdr)
+       /* Big-endian machines are harder */
+       register int i, nmap = (1 << the_hdr->cmaplen) *
+                              the_hdr->ncmap;
+-      register char *h_cmap = (char *)malloc( nmap * 2 );
++        register char *h_cmap = (char *)malloc2( nmap, 2 );
+       if ( h_cmap == NULL )
+       {
+           fprintf( stderr,
+diff --git a/urt/rle.h b/urt/rle.h
+index 8d72cb9..ac65b94 100644
+--- a/urt/rle.h
++++ b/urt/rle.h
+@@ -161,6 +161,17 @@ rle_hdr             /* End of typedef. */
+  */
+ extern rle_hdr rle_dflt_hdr;
++/*
++ * Provided by pm library
++ */
++
++extern void overflow_add(int, int);
++#define overflow2(a,b) __overflow2(a,b)
++extern void __overflow2(int, int);
++extern void overflow3(int, int, int);
++extern void *malloc2(int, int);
++extern void *malloc3(int, int, int);
++extern void *realloc2(void *, int, int);
+ /* Declare RLE library routines. */
+diff --git a/urt/rle_addhist.c b/urt/rle_addhist.c
+index b165175..e09ed94 100644
+--- a/urt/rle_addhist.c
++++ b/urt/rle_addhist.c
+@@ -70,13 +70,18 @@ rle_addhist(char *          argv[],
+         return;
+     
+     length = 0;
+-    for (i = 0; argv[i]; ++i)
++    for (i = 0; argv[i]; ++i) {
++        overflow_add(length, strlen(argv[i]));
++        overflow_add(length+1, strlen(argv[i]));
+         length += strlen(argv[i]) +1;   /* length of each arg plus space. */
++    }
+     time(&temp);
+     timedate = ctime(&temp);
+     length += strlen(timedate);        /* length of date and time in ASCII. */
+-
++    overflow_add(strlen(padding), 4);
++    overflow_add(strlen(histoire), strlen(padding) + 4);
++    overflow_add(length, strlen(histoire) + strlen(padding) + 4);
+     length += strlen(padding) + 3 + strlen(histoire) + 1;
+         /* length of padding, "on "  and length of history name plus "="*/
+     if (in_hdr) /* if we are interested in the old comments... */
+@@ -84,8 +89,10 @@ rle_addhist(char *          argv[],
+     else
+         old = NULL;
+     
+-    if (old && *old)
++    if (old && *old) {
++        overflow_add(length, strlen(old));
+         length += strlen(old);       /* add length if there. */
++    }
+     ++length;                               /*Cater for the null. */
+diff --git a/urt/rle_getrow.c b/urt/rle_getrow.c
+index bd7d1c8..bd05698 100644
+--- a/urt/rle_getrow.c
++++ b/urt/rle_getrow.c
+@@ -168,6 +168,7 @@ rle_get_setup(rle_hdr * const the_hdr) {
+         char * cp;
+         VAXSHORT(comlen, infile); /* get comment length */
++        overflow_add(comlen, 1);
+         evenlen = (comlen + 1) & ~1;    /* make it even */
+         if (evenlen) {
+             MALLOCARRAY(comment_buf, evenlen);
+diff --git a/urt/rle_hdr.c b/urt/rle_hdr.c
+index 1611324..7c9c010 100644
+--- a/urt/rle_hdr.c
++++ b/urt/rle_hdr.c
+@@ -80,7 +80,10 @@ int img_num;
+     /* Fill in with copies of the strings. */
+     if ( the_hdr->cmd != pgmname )
+     {
+-      char *tmp = (char *)malloc( strlen( pgmname ) + 1 );
++        char *tmp;
++
++        overflow_add(strlen(pgmname), 1);
++        tmp = malloc( strlen(pgmname) + 1 );
+       RLE_CHECK_ALLOC( pgmname, tmp, 0 );
+       strcpy( tmp, pgmname );
+       the_hdr->cmd = tmp;
+@@ -88,8 +91,10 @@ int img_num;
+     if ( the_hdr->file_name != fname )
+     {
+-      char *tmp = (char *)malloc( strlen( fname ) + 1 );
+-      RLE_CHECK_ALLOC( pgmname, tmp, 0 );
++        char *tmp;
++        overflow_add(strlen(fname), 1);
++        tmp = malloc( strlen( fname ) + 1 );
++        RLE_CHECK_ALLOC( pgmname, tmp, 0 );
+       strcpy( tmp, fname );
+       the_hdr->file_name = tmp;
+     }
+@@ -153,6 +158,7 @@ rle_hdr *from_hdr, *to_hdr;
+     if ( to_hdr->bg_color )
+     {
+       int size = to_hdr->ncolors * sizeof(int);
++        overflow2(to_hdr->ncolors, sizeof(int));
+       to_hdr->bg_color = (int *)malloc( size );
+       RLE_CHECK_ALLOC( to_hdr->cmd, to_hdr->bg_color, "background color" );
+       memcpy( to_hdr->bg_color, from_hdr->bg_color, size );
+@@ -161,7 +167,7 @@ rle_hdr *from_hdr, *to_hdr;
+     if ( to_hdr->cmap )
+     {
+       int size = to_hdr->ncmap * (1 << to_hdr->cmaplen) * sizeof(rle_map);
+-      to_hdr->cmap = (rle_map *)malloc( size );
++        to_hdr->cmap = (rle_map *)malloc3( to_hdr->ncmap, 1<<to_hdr->cmaplen, sizeof(rle_map));
+       RLE_CHECK_ALLOC( to_hdr->cmd, to_hdr->cmap, "color map" );
+       memcpy( to_hdr->cmap, from_hdr->cmap, size );
+     }
+@@ -173,12 +179,17 @@ rle_hdr *from_hdr, *to_hdr;
+     {
+       int size = 0;
+       CONST_DECL char **cp;
+-      for ( cp=to_hdr->comments; *cp; cp++ )
++        for ( cp=to_hdr->comments; *cp; cp++ )
++        {
++            overflow_add(size, 1);
+           size++;             /* Count the comments. */
++        }
+       /* Check if there are really any comments. */
+       if ( size )
+       {
++            overflow_add(size, 1);
+           size++;             /* Copy the NULL pointer, too. */
++            overflow2(size, sizeof(char *));
+           size *= sizeof(char *);
+           to_hdr->comments = (CONST_DECL char **)malloc( size );
+           RLE_CHECK_ALLOC( to_hdr->cmd, to_hdr->comments, "comments" );
+diff --git a/urt/rle_open_f.c b/urt/rle_open_f.c
+index ae8548b..c2ef37d 100644
+--- a/urt/rle_open_f.c
++++ b/urt/rle_open_f.c
+@@ -163,65 +163,7 @@ dealWithSubprocess(const char *  const file_name,
+                    FILE **       const fpP,
+                    bool *        const noSubprocessP,
+                    const char ** const errorP) {
+-
+-#ifdef NO_OPEN_PIPES
+     *noSubprocessP = TRUE;
+-#else
+-    const char *cp;
+-
+-    reapChildren(catchingChildrenP, pids);
+-
+-    /*  Real file, not stdin or stdout.  If name ends in ".Z",
+-     *  pipe from/to un/compress (depending on r/w mode).
+-     *  
+-     *  If it starts with "|", popen that command.
+-     */
+-        
+-    cp = file_name + strlen(file_name) - 2;
+-    /* Pipe case. */
+-    if (file_name[0] == '|') {
+-        pid_t thepid;     /* PID from my_popen */
+-
+-        *noSubprocessP = FALSE;
+-
+-        *fpP = my_popen(file_name + 1, mode, &thepid);
+-        if (*fpP == NULL)
+-            *errorP = "%s: can't invoke <<%s>> for %s: ";
+-        else {
+-            /* One more child to catch, eventually. */
+-            if (*catchingChildrenP < MAX_CHILDREN)
+-                pids[(*catchingChildrenP)++] = thepid;
+-        }
+-    } else if (cp > file_name && *cp == '.' && *(cp + 1) == 'Z' ) {
+-        /* Compress case. */
+-        pid_t thepid;     /* PID from my_popen. */
+-        const char * command;
+-
+-        *noSubprocessP = FALSE;
+-        
+-        if (*mode == 'w')
+-            pm_asprintf(&command, "compress > %s", file_name);
+-        else if (*mode == 'a')
+-            pm_asprintf(&command, "compress >> %s", file_name);
+-        else
+-            pm_asprintf(&command, "compress -d < %s", file_name);
+-        
+-        *fpP = my_popen(command, mode, &thepid);
+-
+-        if (*fpP == NULL)
+-            *errorP = "%s: can't invoke 'compress' program, "
+-                "trying to open %s for %s";
+-        else {
+-            /* One more child to catch, eventually. */
+-            if (*catchingChildrenP < MAX_CHILDREN)
+-                pids[(*catchingChildrenP)++] = thepid;
+-        }
+-        pm_strfree(command);
+-    } else {
+-        *noSubprocessP = TRUE;
+-        *errorP = NULL;
+-    }
+-#endif
+ }
+diff --git a/urt/rle_putcom.c b/urt/rle_putcom.c
+index ab2eb20..f6a6ff7 100644
+--- a/urt/rle_putcom.c
++++ b/urt/rle_putcom.c
+@@ -98,12 +98,14 @@ rle_putcom(const char * const value,
+         const char * v;
+         const char ** old_comments;
+         int i;
+-        for (i = 2, cp = the_hdr->comments; *cp != NULL; ++i, ++cp)
++        for (i = 2, cp = the_hdr->comments; *cp != NULL; ++i, ++cp) {
++            overflow_add(i, 1);
+             if (match(value, *cp) != NULL) {
+                 v = *cp;
+                 *cp = value;
+                 return v;
+             }
++        }
+         /* Not found */
+         /* Can't realloc because somebody else might be pointing to this
+          * comments block.  Of course, if this were true, then the
+diff --git a/urt/scanargs.c b/urt/scanargs.c
+index f3af334..5e114bb 100644
+--- a/urt/scanargs.c
++++ b/urt/scanargs.c
+@@ -62,9 +62,8 @@ typedef int *ptr;
+ /* 
+  * Storage allocation macros
+  */
+-#define NEW( type, cnt )      (type *) malloc( (cnt) * sizeof( type ) )
+-#define RENEW( type, ptr, cnt )       (type *) realloc( ptr, (cnt) * sizeof( type ) )
+-
++#define NEW( type, cnt )      (type *) malloc2( (cnt) , sizeof( type ) )
++#define RENEW( type, ptr, cnt )       (type *) realloc2( ptr, (cnt), sizeof( type ) )
+ static CONST_DECL char * prformat( CONST_DECL char *, int );
+ static int isnum( CONST_DECL char *, int, int );
+ static int    _do_scanargs( int argc, char **argv, CONST_DECL char *format,
+
diff --git a/netpbm/patches/netpbm-security-scripts.patch b/netpbm/patches/netpbm-security-scripts.patch
new file mode 100644 (file)
index 0000000..0dfe84f
--- /dev/null
@@ -0,0 +1,369 @@
+diff --git a/converter/other/anytopnm b/converter/other/anytopnm
+index acf8813..335312a 100755
+--- a/converter/other/anytopnm
++++ b/converter/other/anytopnm
+@@ -511,10 +511,7 @@ else
+     inputFile="-"
+ fi
+-tempdir="${TMPDIR-/tmp}/anytopnm.$$"
+-mkdir -m 0700 $tempdir || \
+-  { echo "Could not create temporary file. Exiting."; exit 1;}
+-trap 'rm -rf $tempdir' 0
++tempdir=$(mktemp -d -t anytopnm.XXXXXXXXXX) || exit 1
+ # Take out all spaces
+ # Find the filename extension for last-ditch efforts later
+@@ -537,12 +534,17 @@ typeDescription=`file "$file" | cut -d: -f2- | cut -c2-`
+ determineType "$file" "$mimeType" "$typeDescription" "$fileExtension"
+ if [ "$filetype" = "unknown" ]; then
+-    echo "$progname: unknown file type.  " \
+-        "'file' says mime type is '$mimeType', " 1>&2
+-    echo "type description is '$typeDescription'" 1>&2
++    if [ -d "$tempdir" ] ; then
++        rm -rf "$tempdir"
++    fi
++
+     exit 1
+     fi
+ convertIt $file $filetype
++if [ -d "$tempdir" ] ; then
++    rm -rf "$tempdir"
++fi
++
+ exit 0
+diff --git a/editor/pamstretch-gen b/editor/pamstretch-gen
+index ba0e818..250fca0 100755
+--- a/editor/pamstretch-gen
++++ b/editor/pamstretch-gen
+@@ -31,9 +31,7 @@ if [ "$1" = "" ]; then
+   exit 1
+ fi
+-tempdir="${TMPDIR-/tmp}/pamstretch-gen.$$"
+-mkdir -m 0700 $tempdir || \
+-  { echo "Could not create temporary file. Exiting."; exit 1;}
++tempfile=$(mktemp /tmp/pnmig.XXXXXXXXXX) || exit 1
+ trap 'rm -rf $tempdir' 0 1 3 15
+ tempfile=$tempdir/pnmig
+diff --git a/editor/pnmmargin b/editor/pnmmargin
+index 0f57d1d..e0d3625 100755
+--- a/editor/pnmmargin
++++ b/editor/pnmmargin
+@@ -11,11 +11,7 @@
+ # documentation.  This software is provided "as is" without express or
+ # implied warranty.
+-tempdir="${TMPDIR-/tmp}/pnmmargin.$$"
+-mkdir -m 0700 $tempdir || \
+-  { echo "Could not create temporary file. Exiting." 1>&2; exit 1;}
+-trap 'rm -rf $tempdir' 0 1 3 15
+-
++tempdir=$(mktemp -d -t ppmmargin.XXXXXXX) || exit 1
+ tmp1=$tempdir/pnmm1
+ tmp2=$tempdir/pnmm2
+ tmp3=$tempdir/pnmm3
+@@ -90,6 +86,7 @@ else
+         -white | -black )
+         pnmpad $plainopt $color \
+             -left=$size -right=$size -top=$size -bottom=$size $tmp1
++        rm -rf "$tempdir"
+         exit
+         ;;
+         * )
+@@ -103,4 +100,4 @@ else
+     pnmcat -tb $plainopt $tmp3 $tmp4 $tmp3
+ fi
+-
++rm -rf "$tempdir"
+diff --git a/editor/ppmfade b/editor/ppmfade
+index 027fc79..8eb094f 100755
+--- a/editor/ppmfade
++++ b/editor/ppmfade
+@@ -40,6 +40,7 @@ exec perl -w -x -S -- "$0" "$@"
+ #
+ ##############################################################################
+ use strict;
++use File::Temp "tempdir";
+ my $SPREAD =  1;
+ my $SHIFT =   2;
+@@ -137,20 +138,26 @@ if ($first_file ne "undefined") {
+ print("Frames are " . $width . "W x " . $height . "H\n");
++#
++# We create a tmp-directory right here
++#
++my $tmpdir = tempdir("ppmfade.XXXXXX", CLEANUP => 1);
++
++
+ if ($first_file eq "undefined") {
+     print "Fading from black to ";
+-    system("ppmmake \\#000 $width $height >junk1$$.ppm");
++    system("ppmmake \\#000 $width $height >$tmpdir/junk1$$.ppm");
+ } else {
+     print "Fading from $first_file to ";
+-    system("cp", $first_file, "junk1$$.ppm");
++    system("cp", $first_file, "$tmpdir/junk1$$.ppm");
+ }
+ if ($last_file eq "undefined") {
+     print "black.\n";
+-    system("ppmmake \\#000 $width $height >junk2$$.ppm");
++    system("ppmmake \\#000 $width $height >$tmpdir/junk2$$.ppm");
+ } else {
+     print "$last_file\n";
+-    system("cp", $last_file, "junk2$$.ppm");
++    system("cp", $last_file, "$tmpdir/junk2$$.ppm");
+ }
+ #
+@@ -158,14 +165,14 @@ if ($last_file eq "undefined") {
+ #
+ # Here's what our temporary files are:
+-#   junk1$$.ppm: The original (fade-from) image
+-#   junk2$$.ppm: The target (fade-from) image
+-#   junk3$$.ppm: The frame of the fade for the current iteration of the 
+-#                the for loop.
+-#   junk1a$$.ppm: If the fade involves a ppmmix sequence from one intermediate
+-#                 image to another, this is the first frame of that 
+-#                 sequence.
+-#   junk2a$$.ppm: This is the last frame of the above-mentioned ppmmix sequence
++#   $tmpdir/junk1$$.ppm: The original (fade-from) image
++#   $tmpdir/junk2$$.ppm: The target (fade-from) image
++#   $tmpdir/junk3$$.ppm: The frame of the fade for the current iteration of the 
++#                      the for loop.
++#   $tmpdir/junk1a$$.ppm: If the fade involves a ppmmix sequence from one intermediate
++#                         image to another, this is the first frame of that 
++#                         sequence.
++#   $tmpdir/junk2a$$.ppm: This is the last frame of the above-mentioned ppmmix sequence
+ my $i;    # Frame number
+ for ($i = 1; $i <= $nframes; $i++) {
+@@ -173,147 +180,147 @@ for ($i = 1; $i <= $nframes; $i++) {
+     if ($mode eq $SPREAD) {
+         if ($i <= 10) {
+             my $n = $spline20[$i] * 100;
+-            system("ppmspread $n junk1$$.ppm >junk3$$.ppm");
++            system("ppmspread $n $tmpdir/junk1$$.ppm >$tmpdir/junk3$$.ppm");
+         } elsif ($i <= 20) {
+             my $n;
+             $n = $spline20[$i] * 100;
+-            system("ppmspread $n junk1$$.ppm >junk1a$$.ppm");
++            system("ppmspread $n $tmpdir/junk1$$.ppm >$tmpdir/junk1a$$.ppm");
+             $n = (1-$spline20[$i-10]) * 100;
+-            system("ppmspread $n junk2$$.ppm >junk2a$$.ppm");
++            system("ppmspread $n $tmpdir/junk2$$.ppm >$tmpdir/junk2a$$.ppm");
+             $n = $spline10[$i-10];
+-            system("ppmmix $n junk1a$$.ppm junk2a$$.ppm >junk3$$.ppm");
++            system("ppmmix $n $tmpdir/junk1a$$.ppm $tmpdir/junk2a$$.ppm >$tmpdir/junk3$$.ppm");
+         } else {
+             my $n = (1-$spline20[$i-10])*100;
+-            system("ppmspread $n junk2$$.ppm >junk3$$.ppm");
++            system("ppmspread $n $tmpdir/junk2$$.ppm >$tmpdir/junk3$$.ppm");
+         }
+     } elsif ($mode eq $SHIFT) {
+         if ($i <= 10) {
+             my $n = $spline20[$i] * 100;
+-            system("ppmshift $n junk1$$.ppm >junk3$$.ppm");
++            system("ppmshift $n $tmpdir/junk1$$.ppm >$tmpdir/junk3$$.ppm");
+         } elsif ($i <= 20) {
+             my $n;
+             $n = $spline20[$i] * 100;
+-            system("ppmshift $n junk1$$.ppm >junk1a$$.ppm");
++            system("ppmshift $n $tmpdir/junk1$$.ppm >$tmpdir/junk1a$$.ppm");
+             $n = (1-$spline20[$i-10])*100;
+-            system("ppmshift $n junk2$$.ppm >junk2a$$.ppm");
++            system("ppmshift $n $tmpdir/junk2$$.ppm >$tmpdir/junk2a$$.ppm");
+             $n = $spline10[$i-10];
+-            system("ppmmix $n junk1a$$.ppm junk2a$$.ppm >junk3$$.ppm");
++            system("ppmmix $n $tmpdir/junk1a$$.ppm $tmpdir/junk2a$$.ppm >$tmpdir/junk3$$.ppm");
+         } else {
+             my $n = (1-$spline20[$i-10]) * 100;
+-            system("ppmshift $n junk2$$.ppm >junk3$$.ppm");
++            system("ppmshift $n $tmpdir/junk2$$.ppm >$tmpdir/junk3$$.ppm");
+         }
+     } elsif ($mode eq $RELIEF) {
+         if ($i == 1) {
+-            system("ppmrelief junk1$$.ppm >junk1r$$.ppm");
++            system("ppmrelief $tmpdir/junk1$$.ppm >$tmpdir/junk1r$$.ppm");
+         }
+         if ($i <= 10) {
+             my $n = $spline10[$i];
+-            system("ppmmix $n junk1$$.ppm junk1r$$.ppm >junk3$$.ppm");
++            system("ppmmix $n $tmpdir/junk1$$.ppm $tmpdir/junk1r$$.ppm >$tmpdir/junk3$$.ppm");
+         } elsif ($i <= 20) {
+             my $n = $spline10[$i-10];
+-            system("ppmmix $n junk1r$$.ppm junk2r$$.ppm >junk3$$.ppm");
++            system("ppmmix $n $tmpdir/junk1r$$.ppm $tmpdir/junk2r$$.ppm >$tmpdir/junk3$$.ppm");
+         } else {
+             my $n = $spline10[$i-20];
+-            system("ppmmix $n junk2r$$.ppm junk2$$.ppm >junk3$$.ppm");
++            system("ppmmix $n $tmpdir/junk2r$$.ppm $tmpdir/junk2$$.ppm >$tmpdir/junk3$$.ppm");
+         }
+         if ($i == 10) {
+-            system("ppmrelief junk2$$.ppm >junk2r$$.ppm");
++            system("ppmrelief $tmpdir/junk2$$.ppm >$tmpdir/junk2r$$.ppm");
+         }
+     } elsif ($mode eq $OIL) {
+         if ($i == 1) {
+-            system("ppmtopgm junk1$$.ppm | pgmoil >junko$$.ppm");
+-            system("rgb3toppm junko$$.ppm junko$$.ppm junko$$.ppm " .
+-                   ">junk1o$$.ppm");
++            system("ppmtopgm $tmpdir/junk1$$.ppm | pgmoil >$tmpdir/junko$$.ppm");
++            system("rgb3toppm $tmpdir/junko$$.ppm $tmpdir/junko$$.ppm $tmpdir/junko$$.ppm " .
++                   ">$tmpdir/junk1o$$.ppm");
+         }
+         if ($i <= 10) {
+             my $n = $spline10[$i];
+-            system("ppmmix $n junk1$$.ppm junk1o$$.ppm >junk3$$.ppm");
++            system("ppmmix $n $tmpdir/junk1$$.ppm $tmpdir/junk1o$$.ppm >$tmpdir/junk3$$.ppm");
+         } elsif ($i <= 20) {
+             my $n = $spline10[$i-10];
+-            system("ppmmix $n junk1o$$.ppm junk2o$$.ppm >junk3$$.ppm");
++            system("ppmmix $n $tmpdir/junk1o$$.ppm $tmpdir/junk2o$$.ppm >$tmpdir/junk3$$.ppm");
+         } else {
+             my $n = $spline10[$i-20];
+-            system("ppmmix $n junk2o$$.ppm junk2$$.ppm >junk3$$.ppm");
++            system("ppmmix $n $tmpdir/junk2o$$.ppm $tmpdir/junk2$$.ppm >$tmpdir/junk3$$.ppm");
+         }
+         if ($i == 10) {
+-            system("ppmtopgm junk2$$.ppm | pgmoil >junko$$.ppm");
+-            system("rgb3toppm junko$$.ppm junko$$.ppm junko$$.ppm " .
+-                   ">junk2o$$.ppm");
++            system("ppmtopgm $tmpdir/junk2$$.ppm | pgmoil >$tmpdir/junko$$.ppm");
++            system("rgb3toppm $tmpdir/junko$$.ppm $tmpdir/junko$$.ppm $tmpdir/junko$$.ppm " .
++                   ">$tmpdir/junk2o$$.ppm");
+         }
+     } elsif ($mode eq $EDGE) {
+         if ($i == 1) {
+-            system("ppmtopgm junk1$$.ppm | pgmedge >junko$$.ppm");
+-            system("rgb3toppm junko$$.ppm junko$$.ppm junko$$.ppm " .
+-                   ">junk1o$$.ppm");
++            system("ppmtopgm $tmpdir/junk1$$.ppm | pgmedge >$tmpdir/junko$$.ppm");
++            system("rgb3toppm $tmpdir/junko$$.ppm $tmpdir/junko$$.ppm $tmpdir/junko$$.ppm " .
++                   ">$tmpdir/junk1o$$.ppm");
+         }
+         if ($i <= 10) {
+             my $n = $spline10[$i];
+-            system("ppmmix $n junk1$$.ppm junk1o$$.ppm >junk3$$.ppm");
++            system("ppmmix $n $tmpdir/junk1$$.ppm $tmpdir/junk1o$$.ppm >$tmpdir/junk3$$.ppm");
+         } elsif ($i <= 20) {
+             my $n = $spline10[$i-10];
+-            system("ppmmix $n junk1o$$.ppm junk2o$$.ppm >junk3$$.ppm");
++            system("ppmmix $n $tmpdir/junk1o$$.ppm $tmpdir/junk2o$$.ppm >$tmpdir/junk3$$.ppm");
+         } else {
+             my $n = $spline10[$i-20];
+-            system("ppmmix $n junk2o$$.ppm junk2$$.ppm >junk3$$.ppm");
++            system("ppmmix $n $tmpdir/junk2o$$.ppm $tmpdir/junk2$$.ppm >$tmpdir/junk3$$.ppm");
+         }
+         if ($i == 10) {
+-            system("ppmtopgm junk2$$.ppm | pgmedge >junko$$.ppm");
+-            system("rgb3toppm junko$$.ppm junko$$.ppm junko$$.ppm " .
+-                   ">junk2o$$.ppm");
++            system("ppmtopgm $tmpdir/junk2$$.ppm | pgmedge >$tmpdir/junko$$.ppm");
++            system("rgb3toppm $tmpdir/junko$$.ppm $tmpdir/junko$$.ppm $tmpdir/junko$$.ppm " .
++                   ">$tmpdir/junk2o$$.ppm");
+         } 
+     } elsif ($mode eq $BENTLEY) {
+         if ($i == 1) {
+-            system("ppmtopgm junk1$$.ppm | pgmbentley >junko$$.ppm");
+-            system("rgb3toppm junko$$.ppm junko$$.ppm junko$$.ppm " .
+-                   ">junk1o$$.ppm");
++            system("ppmtopgm $tmpdir/junk1$$.ppm | pgmbentley >$tmpdir/junko$$.ppm");
++            system("rgb3toppm $tmpdir/junko$$.ppm $tmpdir/junko$$.ppm $tmpdir/junko$$.ppm " .
++                   ">$tmpdir/junk1o$$.ppm");
+         }
+         if ($i <= 10) {
+             my $n = $spline10[$i];
+-            system("ppmmix $n junk1$$.ppm junk1o$$.ppm >junk3$$.ppm");
++            system("ppmmix $n $tmpdir/junk1$$.ppm $tmpdir/junk1o$$.ppm >$tmpdir/junk3$$.ppm");
+         } elsif ($i <= 20) {
+             my $n = $spline10[$i-10];
+-            system("ppmmix $n junk1o$$.ppm junk2o$$.ppm >junk3$$.ppm");
++            system("ppmmix $n $tmpdir/junk1o$$.ppm $tmpdir/junk2o$$.ppm >$tmpdir/junk3$$.ppm");
+         } else {
+             my $n = $spline10[$i-20];
+-            system("ppmmix $n junk2o$$.ppm junk2$$.ppm >junk3$$.ppm");
++            system("ppmmix $n $tmpdir/junk2o$$.ppm $tmpdir/junk2$$.ppm >$tmpdir/junk3$$.ppm");
+         }
+         if ($i == 10) {
+-            system("ppmtopgm junk2$$.ppm | pgmbentley >junko$$.ppm");
+-            system("rgb3toppm junko$$.ppm junko$$.ppm junko$$.ppm " .
+-                   ">junk2o$$.ppm");
++            system("ppmtopgm $tmpdir/junk2$$.ppm | pgmbentley >$tmpdir/junko$$.ppm");
++            system("rgb3toppm $tmpdir/junko$$.ppm $tmpdir/junko$$.ppm $tmpdir/junko$$.ppm " .
++                   ">$tmpdir/junk2o$$.ppm");
+         }
+     } elsif ($mode eq $BLOCK) {
+         if ($i <= 10) {
+             my $n = 1 - 1.9*$spline20[$i];
+-            system("pamscale $n junk1$$.ppm | " .
+-                   "pamscale -width $width -height $height >junk3$$.ppm");
++            system("pamscale $n $tmpdir/junk1$$.ppm | " .
++                   "pamscale -width $width -height $height >$tmpdir/junk3$$.ppm");
+         } elsif ($i <= 20) {
+             my $n = $spline10[$i-10];
+-            system("ppmmix $n junk1a$$.ppm junk2a$$.ppm >junk3$$.ppm");
++            system("ppmmix $n $tmpdir/junk1a$$.ppm $tmpdir/junk2a$$.ppm >$tmpdir/junk3$$.ppm");
+         } else {
+             my $n = 1 - 1.9*$spline20[31-$i];
+-            system("pamscale $n junk2$$.ppm | " .
+-                   "pamscale -width $width -height $height >junk3$$.ppm");
++            system("pamscale $n $tmpdir/junk2$$.ppm | " .
++                   "pamscale -width $width -height $height >$tmpdir/junk3$$.ppm");
+         }
+         if ($i == 10) {
+-            system("cp", "junk3$$.ppm", "junk1a$$.ppm");
+-            system("pamscale $n junk2$$.ppm | " .
+-                   "pamscale -width $width -height $height >junk2a$$.ppm");
++            system("cp", "$tmpdir/junk3$$.ppm", "$tmpdir/junk1a$$.ppm");
++            system("pamscale $n $tmpdir/junk2$$.ppm | " .
++                   "pamscale -width $width -height $height >$tmpdir/junk2a$$.ppm");
+         }    
+     } elsif ($mode eq $MIX) {
+         my $fade_factor = sqrt(1/($nframes-$i+1));
+-        system("ppmmix $fade_factor junk1$$.ppm junk2$$.ppm >junk3$$.ppm");
++        system("ppmmix $fade_factor $tmpdir/junk1$$.ppm $tmpdir/junk2$$.ppm >$tmpdir/junk3$$.ppm");
+     } else {
+         print("Internal error: impossible mode value '$mode'\n");
+     }
+     my $outfile = sprintf("%s.%04d.ppm", $base_name, $i);
+-    system("cp", "junk3$$.ppm", $outfile);
++    system("cp", "$tmpdir/junk3$$.ppm", $outfile);
+ }
+ #
+ #  Clean up shop.
+ #
+-system("rm junk*$$.ppm");
++system("rm $tmpdir/junk*$$.ppm");
+ exit(0);
+diff --git a/editor/ppmshadow b/editor/ppmshadow
+index 62cdf8b..72e1b22 100755
+--- a/editor/ppmshadow
++++ b/editor/ppmshadow
+@@ -97,9 +97,10 @@ sub makeConvolutionKernel($$) {
+ my $tmpdir = $ENV{TMPDIR} || "/tmp";
+-my $ourtmp = "$tmpdir/ppmshadow$$";
+-mkdir($ourtmp, 0777) or
+-    die("Unable to create directory for temporary files '$ourtmp");
++my $ourtmp; chomp($ourtmp = `mktemp -d -t PPMshadow.XXXXXX`);
++if ($? >> 8) {
++    die "Can't create directory for temporary files";
++}
+ #   Process command line options
+
diff --git a/netplug/netplug.nm b/netplug/netplug.nm
deleted file mode 100644 (file)
index 8c76e0a..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = netplug
-version    = 1.2.9.1
-release    = 1
-
-groups     = Networking/Tools
-url        = http://www.red-bean.com/~bos/
-license    = GPLv2
-summary    = A daemon that manages network interfaces in response to \
-       network cables being plugged in and out.
-
-description
-       Netplug is a Linux daemon that manages network interfaces in response
-       to network cables being plugged in and out. If you're familiar with
-       Windows XP, which just does the Right Thing when you plug an ethernet
-       cable into a laptop, netplug will need no further explanation.
-end
-
-source_dl  =
-sources    = %{thisapp}.tar.bz2
-
-build
-       prepare_cmds
-               # Remove debugging flags from CFLAGS.
-               sed -i Makefile -e "s/-ggdb3 -O3//g"
-       end
-
-       build
-               make CC="gcc"
-       end
-
-       install_cmds
-               rm -rfv %{BUILDROOT}/etc/rc.d
-       end
-end
-
-packages
-       package %{name}
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
diff --git a/netplug/patches/netplug-1.2.9.1-execshield.patch b/netplug/patches/netplug-1.2.9.1-execshield.patch
deleted file mode 100644 (file)
index b9809f1..0000000
+++ /dev/null
@@ -1,203 +0,0 @@
-diff -up netplug-1.2.9.1/if_info.c.execshield netplug-1.2.9.1/if_info.c
---- netplug-1.2.9.1/if_info.c.execshield       2008-12-23 00:36:23.000000000 +0100
-+++ netplug-1.2.9.1/if_info.c  2009-09-09 10:02:12.000000000 +0200
-@@ -95,15 +95,16 @@ flags_str(char *buf, unsigned int fl)
-     return buf;
- }
--void
--for_each_iface(int (*func)(struct if_info *))
-+struct if_info *
-+for_each_iface(int (*func)(struct if_info *, long), long param)
- {
-     for(int i = 0; i < INFOHASHSZ; i++) {
-         for(struct if_info *info = if_info[i]; info != NULL; info = info->next) {
--            if ((*func)(info))
--                return;
-+            if ((*func)(info, param))
-+                return info;
-         }
-     }
-+    return NULL;
- }
- /* Reevaluate the state machine based on the current state and flag settings */
-@@ -285,22 +286,20 @@ ifsm_flagchange(struct if_info *info, un
- }
- /* handle a script termination and update the state accordingly */
-+int find_pid(struct if_info *i, long param) {
-+    if (i->worker == param) {
-+        return 1;
-+    }
-+    return 0;
-+}
-+
- void ifsm_scriptdone(pid_t pid, int exitstatus)
- {
-     int exitok = WIFEXITED(exitstatus) && WEXITSTATUS(exitstatus) == 0;
-     struct if_info *info;
-     assert(WIFEXITED(exitstatus) || WIFSIGNALED(exitstatus));
--    int find_pid(struct if_info *i) {
--        if (i->worker == pid) {
--            info = i;
--            return 1;
--        }
--        return 0;
--    }
--
--    info = NULL;
--    for_each_iface(find_pid);
-+    info = for_each_iface(find_pid, pid);
-     if (info == NULL) {
-         do_log(LOG_INFO, "Unexpected child %d exited with status %d",
-diff -up netplug-1.2.9.1/main.c.execshield netplug-1.2.9.1/main.c
---- netplug-1.2.9.1/main.c.execshield  2008-12-23 00:36:23.000000000 +0100
-+++ netplug-1.2.9.1/main.c     2009-09-09 10:02:12.000000000 +0200
-@@ -161,11 +161,28 @@ child_handler(int sig, siginfo_t *info, 
-     ce.pid = info->si_pid;
-     ret = waitpid(info->si_pid, &ce.status, 0);
-     if (ret == info->si_pid)
--        write(child_handler_pipe[1], &ce, sizeof(ce));
-+        (void)write(child_handler_pipe[1], &ce, sizeof(ce));
- }
- /* Poll the existing interface state, so we can catch any state
-    changes for which we may not have neen a netlink message. */
-+static int pollflags(struct if_info *info, long param) {
-+    struct ifreq ifr;
-+
-+    if (!if_match(info->name))
-+        return 0;
-+
-+    memcpy(ifr.ifr_name, info->name, sizeof(ifr.ifr_name));
-+    if (ioctl(param, SIOCGIFFLAGS, &ifr) < 0)
-+        do_log(LOG_ERR, "%s: can't get flags: %m", info->name);
-+    else {
-+        ifsm_flagchange(info, ifr.ifr_flags);
-+        ifsm_flagpoll(info);
-+    }
-+
-+    return 0;
-+}
-+
- static void
- poll_interfaces(void)
- {
-@@ -180,24 +197,13 @@ poll_interfaces(void)
-         close_on_exec(sockfd);
-     }
--    int pollflags(struct if_info *info) {
--        struct ifreq ifr;
--
--        if (!if_match(info->name))
--            return 0;
--
--        memcpy(ifr.ifr_name, info->name, sizeof(ifr.ifr_name));
--        if (ioctl(sockfd, SIOCGIFFLAGS, &ifr) < 0)
--            do_log(LOG_ERR, "%s: can't get flags: %m", info->name);
--        else {
--            ifsm_flagchange(info, ifr.ifr_flags);
--            ifsm_flagpoll(info);
--        }
--
--        return 0;
--    }
-+    for_each_iface(pollflags, sockfd);
-+}
--    for_each_iface(pollflags);
-+static int poll_flags(struct if_info *i, long param) {
-+    if (if_match(i->name))
-+        ifsm_flagpoll(i);
-+    return 0;
- }
- int debug = 0;
-@@ -331,17 +337,11 @@ main(int argc, char *argv[])
-         { child_handler_pipe[0], POLLIN, 0 },
-     };
--    {
--        /* Run over each of the interfaces we know and care about, and
--           make sure the state machine has done the appropriate thing
--           for their current state. */
--        int poll_flags(struct if_info *i) {
--            if (if_match(i->name))
--                ifsm_flagpoll(i);
--            return 0;
--        }
--        for_each_iface(poll_flags);
--    }
-+    /* Run over each of the interfaces we know and care about, and
-+       make sure the state machine has done the appropriate thing
-+       for their current state. */
-+    for_each_iface(poll_flags, 0);
-+
-     for(;;) {
-         int ret;
-diff -up netplug-1.2.9.1/Makefile.execshield netplug-1.2.9.1/Makefile
---- netplug-1.2.9.1/Makefile.execshield        2008-12-23 00:41:38.000000000 +0100
-+++ netplug-1.2.9.1/Makefile   2009-09-09 10:02:12.000000000 +0200
-@@ -4,15 +4,15 @@ DESTDIR ?=
- prefix ?=
- bindir ?= $(prefix)/sbin
--etcdir ?= $(prefix)/etc/netplug
-+etcdir ?= $(prefix)/etc/netplug.d
- initdir ?= $(prefix)/etc/rc.d/init.d
- scriptdir ?= $(prefix)/etc/netplug.d
- mandir ?= $(prefix)/usr/share/man
- install_opts :=
--CFLAGS += -Wall -Werror -std=gnu99 -DNP_ETC_DIR='"$(etcdir)"' \
--      -DNP_SCRIPT_DIR='"$(scriptdir)"' -ggdb3 -O3 -DNP_VERSION='"$(version)"'
-+CFLAGS += -std=gnu99 -DNP_ETC_DIR='"$(etcdir)"' \
-+      -DNP_SCRIPT_DIR='"$(scriptdir)"' -DNP_VERSION='"$(version)"'
- netplugd: config.o netlink.o lib.o if_info.o main.o
-       $(CC) $(LDFLAGS) -o $@ $^
-@@ -30,10 +30,12 @@ install:
-       install $(install_opts) -m 755 scripts/rc.netplugd $(DESTDIR)/$(initdir)/netplugd
-       install $(install_opts) -m 444 man/man8/netplugd.8 $(DESTDIR)/$(mandir)/man8
--hg_root := $(shell hg root)
-+#hg_root := $(shell hg root)
-+hg_root := $(shell)
- tar_root := netplug-$(version)
- tar_file := $(hg_root)/$(tar_root).tar.bz2
--files := $(shell hg manifest)
-+#files := $(shell hg manifest)
-+files := $(shell)
- tarball: $(tar_file)
-diff -up netplug-1.2.9.1/man/man8/netplugd.8.execshield netplug-1.2.9.1/man/man8/netplugd.8
---- netplug-1.2.9.1/man/man8/netplugd.8.execshield     2008-12-23 00:36:23.000000000 +0100
-+++ netplug-1.2.9.1/man/man8/netplugd.8        2009-09-09 10:07:33.000000000 +0200
-@@ -134,7 +134,7 @@ to run in the foreground, this option is
- .\"
- .Sh FILES
- .Bl -tag -width Ds
--.It Pa /etc/netplug/netplugd.conf
-+.It Pa /etc/netplug.d/netplugd.conf
- Default config file to read, if none is specified on the command line.
- The config file format is one pattern per line, with white space,
- empty lines, and comments starting with a
-diff -up netplug-1.2.9.1/netplug.h.execshield netplug-1.2.9.1/netplug.h
---- netplug-1.2.9.1/netplug.h.execshield       2008-12-23 00:36:23.000000000 +0100
-+++ netplug-1.2.9.1/netplug.h  2009-09-09 10:02:12.000000000 +0200
-@@ -83,7 +83,7 @@ struct if_info *if_info_update_interface
-                                          struct rtattr *attrs[]);
- int if_info_save_interface(struct nlmsghdr *hdr, void *arg);
- void parse_rtattrs(struct rtattr *tb[], int max, struct rtattr *rta, int len);
--void for_each_iface(int (*func)(struct if_info *));
-+struct if_info *for_each_iface(int (*func)(struct if_info *, long), long param);
- void ifsm_flagpoll(struct if_info *info);
- void ifsm_flagchange(struct if_info *info, unsigned int newflags);
diff --git a/netplug/systemd/netplug.service b/netplug/systemd/netplug.service
deleted file mode 100644 (file)
index ad3e6b5..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-[Unit]
-Description=netplug Daemon
-
-[Service]
-ExecStart=/sbin/netplugd -F
-
-[Install]
-WantedBy=multi-user.target
index 3306894137fdeb741bca30f2fc2c97e8b01c8da5..b6a0657b88a6d585db8641de3c6a4b60a71a082c 100644 (file)
@@ -4,13 +4,13 @@
 ###############################################################################
 
 name       = nettle
-version    = 3.4.1
-release    = 1
+version    = 3.8.1
+release    = 2
 
 groups     = System/Libraries
 url        = http://www.lysator.liu.se/~nisse/nettle/
 license    = LGPL
-summary    = A low-level cryptographic library.
+summary    = A low-level cryptographic library
 
 description
        Nettle is a cryptographic library that is designed to fit easily in
@@ -28,23 +28,8 @@ build
        end
 
        configure_options += \
-               --enable-shared
-
-       enable_fat = 0
-
-       # Does not work. Binaries are immediately crashing
-       #if "%{DISTRO_ARCH}" == "x86_64"
-       #       enable_fat = 1
-       #end
-
-       if "%{DISTRO_PLATFORM}" == "arm"
-               enable_fat = 1
-       end
-
-       if "%{enable_fat}" == "1"
-               configure_options += \
-                       --enable-fat
-       end
+               --enable-shared \
+               --enable-fat
 
        test
                make check
@@ -52,8 +37,7 @@ build
 
        install_cmds
                # Fix library permissions.
-               chmod 755 %{BUILDROOT}%{libdir}/libhogweed.so.*
-               chmod 755 %{BUILDROOT}%{libdir}/libnettle.so.*
+               find %{BUILDROOT}%{libdir} -type f -exec chmod 755 {} \;
        end
 end
 
index 1a1c4546e3e18b49816e5a801627245f72763a3c..a93a4c43a55c5d2dca1fc0330eb991e456902a08 100644 (file)
@@ -4,13 +4,12 @@
 ###############################################################################
 
 name       = network
-epoch      = 1
 version    = 010
-release    = 3
+release    = 5
 
 maintainer = Michael Tremer <michael.tremer@ipfire.org>
 groups     = Base Networking/Tools
-url        = http://www.ipfire.org/
+url        = https://www.ipfire.org/
 license    = GPLv3+
 summary    = The IPFire Networking Scripts.
 
@@ -49,18 +48,14 @@ packages
                requires
                        bash >= 4.0
                        bird >= 2
-                       crda
                        curl
-                       dhclient >= 4.2.4-2
-                       dhcp >= 4.2.4-1
-                       ebtables
+                       dhcpcd
                        hostapd
-                       initscripts >= 1:2.99-18
+                       initscripts >= 2.99-18
                        iproute2
                        iw
                        man
                        ppp >= 2.4.5-4
-                       rp-pppoe
                        strongswan
                        sqlite
                        systemd-units
diff --git a/network/patches/network-fix-logdir-path.patch b/network/patches/network-fix-logdir-path.patch
new file mode 100644 (file)
index 0000000..f708c03
--- /dev/null
@@ -0,0 +1,23 @@
+commit 88e5f32944b8dc1c4b1c74028c7d46c37b2aad34
+Author: Stefan Schantl <stefan.schantl@ipfire.org>
+Date:   Sun Mar 19 15:58:11 2023 +0100
+
+    Makefile.am: Fix typo defining the logdir
+    
+    The correct value name should be "localstatedir"
+    
+    Signed-off-by: Stefan Schantl <stefan.schantl@ipfire.org>
+
+diff --git a/Makefile.am b/Makefile.am
+index 893f1b8..5dc4629 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -51,7 +51,7 @@ hooks_zonesdir   = $(hooksdir)/zones
+ triggersdir      = $(networkdir)/triggers
+-logdir           = $(localestatedir)/log/network
++logdir           = $(localstatedir)/log/network
+ utildir          = $(networkdir)
+ CLEANFILES =
index f4695cbde5bd8faf96c0c710f41230059f1c0e72..6c0d52cb0b0d9312e5491ad4c069d718d9ee7227 100644 (file)
@@ -4,7 +4,7 @@
 ###############################################################################
 
 name       = newt
-version    = 0.52.19
+version    = 0.52.24
 release    = 1
 
 groups     = System/Libraries
@@ -27,19 +27,15 @@ source_dl  = %{url}
 build
        requires
                popt-devel
-               python-devel
+               python3-devel
                slang-devel
        end
 
        configure_options += \
+               --with-python=python%{python3_version} \
                --without-gpm-support \
                --without-tcl
 
-       prepare_cmds
-               # make install searches for /usr/bin/install
-               sed -e "s/^INSTALL=.*/INSTALL = install -c/" -i po/Makefile
-       end
-
        install
                make install instroot=%{BUILDROOT}
        end
@@ -48,17 +44,14 @@ end
 packages
        package %{name}
 
-       package %{name}-python
-               summary = Python bindings for newt.
+       package python3-newt
+               template PYTHON3
+
+               summary = Python bindings for newt
                description = %{summary}
 
                provides
-                       python-newt
-                       python-snack
-               end
-
-               files
-                       %{libdir}/python*/site-packages/*snack*
+                       python3-snack = %{thisver}
                end
        end
 
index 07ac64ce143bab0f401addaf6e265ad6d6f36dbc..8204a41e42000eb812360018ee4ad30f0ed9e2b2 100644 (file)
@@ -4,11 +4,11 @@
 ###############################################################################
 
 name       = nfs-utils
-version    = 1.3.3
-release    = 1
+version    = 2.6.2
+release    = 5
 
 groups     = Networking/Tools
-url        = http://nfs.sourceforge.net/
+url        = https://nfs.sourceforge.net/
 license    = MIT and GPLv2 and GPLv2+
 summary    = NFS utilities and supporting clients and daemons for the NFS server.
 
@@ -22,7 +22,7 @@ description
        which are mounted on that host.
 end
 
-source_dl  = http://www.kernel.org/pub/linux/utils/nfs-utils/%{version}/
+source_dl  = https://www.kernel.org/pub/linux/utils/nfs-utils/%{version}/
 sources    = %{thisapp}.tar.xz
 
 build
@@ -35,14 +35,14 @@ build
                libdevmapper-devel
                libcap-devel
                libevent-devel
-               libgssglue-devel >= 0.3
+               libkeyutils-devel
                libmount-devel
-               libnfsidmap-devel
-               libtirpc-devel
+               libtirpc-devel >= 1.3.3-3
                libtool
+               rpcsvc-proto
                shadow-utils
                sqlite-devel
-               systemd-units
+               systemd-devel
        end
 
        configure_options += \
@@ -50,9 +50,17 @@ build
                --enable-libmount-mount \
                --enable-mountconfig \
                --enable-ipv6 \
-               --with-statdpath=/var/lib/nfs/statd
+               --enable-gss \
+               --enable-caps \
+               --with-statedir=/var/lib/nfs \
+               --with-statdpath=/var/lib/nfs/statd \
+               --with-start-statd=/usr/bin/start-statd \
+               --with-systemd
 
        prepare_cmds
+               # Install utils into correct place.
+               sed -i "s|sbindir = /sbin|sbindir = /usr/bin|g" utils/*/Makefile.am
+
                sh autogen.sh
 
                %{create_user}
@@ -63,7 +71,7 @@ build
                mkdir -pv %{BUILDROOT}/var/lib/nfs/v4recovery
                mkdir -pv %{BUILDROOT}/etc/exports.d
 
-               install -s -m 755 tools/rpcdebug/rpcdebug %{BUILDROOT}%{sbindir}
+               install -m 755 tools/rpcdebug/rpcdebug %{BUILDROOT}%{sbindir}
                install -m 644 utils/mount/nfsmount.conf %{BUILDROOT}%{sysconfdir}
 
                mkdir -pv %{BUILDROOT}/var/lib/nfs/rpc_pipefs
@@ -75,6 +83,10 @@ build
 
                mkdir -pv %{BUILDROOT}/var/lib/nfs/statd/sm{,.bak}
                chown rpcuser:rpcuser -Rv %{BUILDROOT}/var/lib/nfs/statd
+
+               # Set capabilities
+               chmod -v 0755 %{BUILDROOT}%{bindir}/mount.nfs
+               setcap CAP_DAC_OVERRIDE,CAP_SYS_ADMIN=ep %{BUILDROOT}%{bindir}/mount.nfs
        end
 end
 
@@ -96,7 +108,6 @@ packages
                end
 
                requires
-                       libnfsidmap >= 0.25
                        quota
                        rpcbind
                        util-linux
@@ -126,6 +137,14 @@ packages
                end
        end
 
+       package libnfsidmap
+               template LIBS
+       end
+
+       package libnfsidmap-devel
+               template DEVEL
+       end
+
        package %{name}-debuginfo
                template DEBUGINFO
        end
diff --git a/nfs-utils/systemd/nfs-blkmap.service b/nfs-utils/systemd/nfs-blkmap.service
deleted file mode 100644 (file)
index 6b5127b..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-[Unit]
-Description=pNFS block layout mapping daemon
-Wants=var-lib-nfs-rpc_pipefs.mount
-Requires=var-lib-nfs-rpc_pipefs.mount
-
-[Service]
-Type=forking
-StandardError=syslog+console
-ExecStart=/usr/sbin/blkmapd
-
-[Install]
-WantedBy=multi-user.target
diff --git a/nfs-utils/systemd/nfs-idmap.service b/nfs-utils/systemd/nfs-idmap.service
deleted file mode 100644 (file)
index e0c1803..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-[Unit]
-Description=NFSv4 ID-name mapping daemon
-BindTo=nfs-server.service
-After=nfs-server.service
-
-[Service]
-Type=forking
-StandardError=syslog+console
-ExecStart=/usr/sbin/rpc.idmapd
-
-[Install]
-WantedBy=nfs.target
diff --git a/nfs-utils/systemd/nfs-lock.service b/nfs-utils/systemd/nfs-lock.service
deleted file mode 100644 (file)
index fa991e5..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-[Unit]
-Description=NFS file locking service.
-Requires=rpcbind.service network.target
-After=network.target named.service rpcbind.service
-Before=remote-fs-pre.target
-
-[Service]
-Type=forking
-StandardError=syslog+console
-ExecStartPre=/usr/lib/nfs-utils/scripts/nfs-lock.preconfig
-ExecStart=/sbin/rpc.statd
-
-[Install]
-WantedBy=multi-user.target
diff --git a/nfs-utils/systemd/nfs-mountd.service b/nfs-utils/systemd/nfs-mountd.service
deleted file mode 100644 (file)
index 32e1638..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-[Unit]
-Description=NFS Mount Daemon
-BindTo=nfs-server.service
-After=nfs-server.service
-
-[Service]
-Type=forking
-ExecStart=/usr/sbin/rpc.mountd
-StandardError=syslog+console
-
-[Install]
-WantedBy=nfs.target
diff --git a/nfs-utils/systemd/nfs-rquotad.service b/nfs-utils/systemd/nfs-rquotad.service
deleted file mode 100644 (file)
index ab1d207..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-[Unit]
-Description=NFS Remote Quota Server
-BindTo=nfs-server.service
-After=nfs-server.service
-
-[Service]
-Type=forking
-StandardError=syslog+console
-ExecStart=-/usr/sbin/rpc.rquotad
-
-[Install]
-WantedBy=nfs.target
diff --git a/nfs-utils/systemd/nfs-secure-server.service b/nfs-utils/systemd/nfs-secure-server.service
deleted file mode 100644 (file)
index b88bab5..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-[Unit]
-Description=Secure NFS Server
-Requires=var-lib-nfs-rpc_pipefs.mount nfs-server.service
-After=syslog.target var-lib-nfs-rpc_pipefs.mount nfs-server.service 
-
-[Service]
-Type=forking
-StandardError=syslog+console
-ExecStart=/usr/sbin/rpc.svcgssd
-
-[Install]
-WantedBy=multi-user.target
-
diff --git a/nfs-utils/systemd/nfs-secure.service b/nfs-utils/systemd/nfs-secure.service
deleted file mode 100644 (file)
index 2a7dfb6..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-[Unit]
-Description=Secure NFS
-Requires=var-lib-nfs-rpc_pipefs.mount
-After=syslog.target var-lib-nfs-rpc_pipefs.mount
-
-[Service]
-Type=forking
-StandardError=syslog+console
-ExecStart=/usr/sbin/rpc.gssd
-
-[Install]
-WantedBy=multi-user.target
diff --git a/nfs-utils/systemd/nfs-server.service b/nfs-utils/systemd/nfs-server.service
deleted file mode 100644 (file)
index 79d114e..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-[Unit]
-Description=NFS Server
-Requires=proc-fs-nfsd.mount var-lib-nfs-rpc_pipefs.mount rpcbind.service
-Requires=nfs-idmap.service nfs-mountd.service nfs-rquotad.service
-After=network.target named.service
-
-[Service]
-Type=oneshot
-RemainAfterExit=yes
-StandardError=syslog+console
-ExecStartPre=/usr/sbin/exportfs -r
-ExecStart=/usr/sbin/rpc.nfsd
-ExecStop=/usr/sbin/rpc.nfsd 0
-ExecStopPost=/usr/sbin/exportfs -f
-
-[Install]
-WantedBy=multi-user.target
-
diff --git a/nfs-utils/systemd/nfs.target b/nfs-utils/systemd/nfs.target
deleted file mode 100644 (file)
index 6c3262a..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-[Unit]
-Description=Network File System Server
-Requires=var-lib-nfs-rpc_pipefs.mount proc-fs-nfsd.mount rpcbind.service
-After=network.target named.service 
-
-[Install]
-WantedBy=multi-user.target
diff --git a/nfs-utils/systemd/proc-fs-nfsd.mount b/nfs-utils/systemd/proc-fs-nfsd.mount
deleted file mode 100644 (file)
index e5ee6fb..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-[Unit]
-Description=RPC Pipe File System 
-DefaultDependencies=no
-
-[Mount]
-What=sunrpc
-Where=/proc/fs/nfsd
-Type=nfsd
diff --git a/nfs-utils/systemd/var-lib-nfs-rpc_pipefs.mount b/nfs-utils/systemd/var-lib-nfs-rpc_pipefs.mount
deleted file mode 100644 (file)
index d27e1a2..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-[Unit]
-Description=RPC Pipe File System 
-DefaultDependencies=no
-
-[Mount]
-What=sunrpc
-Where=/var/lib/nfs/rpc_pipefs
-Type=rpc_pipefs
index 20b5947ac36ff4e7061a0cc9eeb095ff12a406c0..9a138f941826bd3477a58c159d59cb37bd9fc19f 100644 (file)
@@ -4,13 +4,11 @@
 ###############################################################################
 
 name       = nftables
-version    = 0.9.0
-snapshot   = 20190622
-release    = 1.%{snapshot}
-thisapp    = %{name}-%{snapshot}
+version    = 1.0.8
+release    = 1
 
 groups     = Networking/Tools
-url        = http://netfilter.org/projects/nftables/
+url        = https://netfilter.org/projects/nftables/
 license    = GPLv2
 summary    = Netfilter Tables userspace utillites
 
@@ -18,29 +16,24 @@ description
        %{summary}
 end
 
-source_dl  = http://ftp.netfilter.org/pub/nftables/snapshot/
-sources    = %{thisapp}.tar.bz2
+source_dl  = https://netfilter.org/projects/nftables/files/
+sources    = %{thisapp}.tar.xz
 
 build
        requires
                asciidoc
-               autoconf
-               autogen
-               automake
                bison
                docbook2X
                docbook-xsl
                flex
                gmp-devel
                libtool
-               libmnl-devel
-               libnftnl-devel >= 1.0.5
+               libedit-devel
+               libmnl-devel >= 1.0.4
+               libnftnl-devel >= 1.2.6
+               python3-setuptools
                readline-devel
        end
-
-       prepare_cmds
-               ./autogen.sh
-       end
 end
 
 packages
similarity index 53%
rename from libcroco/libcroco.nm
rename to nghttp2/nghttp2.nm
index 9cc9f071a3a62c3346ac8433e757cc1162e271cc..bda92313753fcf15c9dbbb299ed5cb5158d3f8d1 100644 (file)
@@ -3,39 +3,35 @@
 # Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
 ###############################################################################
 
-name       = libcroco
-version    = 0.6.11
-major_ver  = 0.6
-release    = 1
+name       = nghttp2
+version    = 1.51.0
+release    = 1.2
 
 groups     = System/Libraries
-url        =
-license    = LGPLv2+
-summary    = A CSS2 parsing library.
+url        = https://nghttp2.org/
+license    = MIT
+summary    = Framing layer of HTTP/2 is implemented as a reusable C library
 
 description
-       libcroco is a CSS2 parsing and manipulation library.
+       nghttp2 is an implementation of HTTP/2 and its header compression
+       algorithm HPACK in C.
 end
 
-source_dl  = http://download.gnome.org/sources/%{name}/%{major_ver}/
-sources    = %{thisapp}.tar.xz
+source_dl  = https://github.com/nghttp2/nghttp2/releases/download/v%{version}/
 
 build
        requires
-               automake
-               glib2-devel
-               libxml2-devel
+               python3
        end
 
        prepare_cmds
-               cp -vf /usr/share/automake-*/config.{guess,sub} .
+               # Run fetch-ocsp-response using Python 3
+               sed -e "s@^#!.*@%{python3}@" \
+                       -i script/fetch-ocsp-response
        end
 
        configure_options += \
-               --disable-static
-       test
-               make check
-       end
+               --enable-lib-only
 end
 
 packages
diff --git a/ninja/ninja.macro b/ninja/ninja.macro
deleted file mode 100644 (file)
index 8d2d0c7..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-#
-# ninja-build macros
-#
-
-
-__ninja = %{bindir}/ninja
-__ninja_common_opts = -v %{PARALLELISMFLAGS}
-
-ninja_build = \
-       %{__ninja} \
-       %{__ninja_common_opts}
-
-ninja_install = \
-       DESTDIR=%{BUILDROOT} \
-       %{__ninja} install \
-       %{__ninja_common_opts}
-
-ninja_test = \
-       %{__ninja} test \
-       %{__ninja_common_opts}
-
index ef54e5d9964cd2a47fb527d907e2aacf4e5cbbc5..d2caa7a6cece25aefc24797ba901f84185f60bdd 100644 (file)
@@ -4,11 +4,11 @@
 ###############################################################################
 
 name       = ninja
-version    = 1.9.0
+version    = 1.11.1
 release    = 1
 
 groups     = Applications/System
-url        = http://martine.github.com/ninja/
+url        = https://ninja-build.org
 license    = ASL 2.0
 summary    = A small build system with a focus on speed
 
@@ -24,6 +24,7 @@ source_dl  = https://github.com/martine/ninja/archive/v%{version}/
 build
        requires
                asciidoc
+               python3
                python3-devel
        end
 
@@ -55,12 +56,6 @@ build
 
                # Install ninja syntax highlighting for vim.
                install -Dpm0644 misc/ninja.vim %{BUILDROOT}%{datadir}/vim/vimfiles/syntax/ninja.vim
-
-               # Install pakfire macro.
-               mkdir -p %{BUILDROOT}/usr/lib/pakfire/macros
-               install -v -m 644 %{DIR_SOURCE}/%{name}.macro \
-                       %{BUILDROOT}/usr/lib/pakfire/macros
-
        end
 end
 
index 39726af7e3f882c8a33110891961ee98aa336eb7..9f872c734167b0a9019900692b75abcb0f82b1c3 100644 (file)
@@ -4,13 +4,13 @@
 ###############################################################################
 
 name       = nmap
-version    = 7.30
+version    = 7.93
 release    = 1
 
 groups     = Networking/Sniffer
-url        = http://nmap.org/
+url        = https://nmap.org/
 license    = GPLv2+
-summary    = Network exploration tool and security scanner.
+summary    = Network exploration tool and security scanner
 
 description
        Nmap is a utility for network exploration or security auditing.
@@ -20,17 +20,19 @@ description
        predictability characteristics, reverse-identd scanning, and more.
 end
 
-source_dl  = http://nmap.org/dist/
-sources    = %{thisapp}.tar.bz2
+source_dl  = https://nmap.org/dist/
+sources    = %{thisapp}.tgz
 
 build
        requires
                gcc-c++
                libdnet-devel
                libpcap-devel
+               libssh2-devel
                lua-devel
                openssl-devel
                pcre-devel
+               zlib-devel
        end
 
        configure_options += \
@@ -47,9 +49,11 @@ packages
 
        package %{name}-ncat
                summary = Ncat is an ipv4 and ipv6 able netcat implementation
+
                description
                        This package provides an another netcat implementation
                end
+
                files
                        %{bindir}/ncat
                        %{bindir}/nc
index be7b4cf1802b5688651792fa2b25ea014047c98f..779eada4f31b5e8b66e7b5ff4e08201349d90a08 100644 (file)
@@ -4,8 +4,8 @@
 ###############################################################################
 
 name       = npth
-version    = 1.2
-release    = 2
+version    = 1.6
+release    = 2.1
 
 url        = http://git.gnupg.org/cgi-bin/gitweb.cgi?p=npth.git
 license    = LGPLv3+
@@ -19,7 +19,7 @@ description
        the use of libraries which are not compatible to GNU Pth.
 end
 
-source_dl  = ftp://ftp.gnupg.org/gcrypt/npth/
+source_dl  = https://www.gnupg.org/ftp/gcrypt/npth/
 sources    = %{thisapp}.tar.bz2
 
 build
diff --git a/open-vm-tools/open-vm-tools.nm b/open-vm-tools/open-vm-tools.nm
deleted file mode 100644 (file)
index 644452e..0000000
+++ /dev/null
@@ -1,56 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = open-vm-tools
-version    = 2011.09.23-491607
-release    = 2
-sup_arches = x86_64 i686
-
-groups     = Virtualization/Applications
-url        = http://open-vm-tools.sourceforge.net/
-license    = GPLv2
-summary    = Open source implementation of VMware Tools.
-
-description
-       The open Virtual Machine Tools (open-vm-tools) are the open \
-       source implementation of VMware Tools. They are a set of guest \
-       operation system virtualization components that enhance \
-       performance and user experience of virtual machines.
-end
-
-source_dl = http://sourceforge.net/projects/open-vm-tools/files/open-vm-tools/2011.09.23/
-
-build
-       requires
-               glib2-devel
-       end
-
-       configure_options += \
-               --sysconfdir=/etc \
-               --without-kernel-modules \
-               --without-x \
-               --without-procps \
-               --without-dnet \
-               --without-icu \
-               --without-pam \
-
-       prepare_cmds
-               sed -e "s/-Werror//g" -i configure
-       end
-
-       install_cmds
-               rm -vf %{BUILDROOT}/sbin/mount.vmhgfs
-               rm -vf %{BUILDROOT}/usr/sbin/mount.vmhgfs
-       end
-
-end
-
-packages
-       package %{name}
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
index d553eafe2e379f0ff714572400eebb515348eada..ca86c5f294a1f8840a368433df2448caaf42d896 100644 (file)
@@ -5,23 +5,24 @@
 
 name       = openjade
 version    = 1.3.2
-release    = 5
+release    = 7.1
 
 groups     = Application/Text
-url        = http://openjade.sourceforge.net/
+url        = https://openjade.sourceforge.net/
 license    = MIT
-summary    = A DSSSL implementation.
+summary    = A DSSSL implementation
 
 description
        OpenJade is an implementation of the ISO/IEC 10179:1996 standard DSSSL
        (Document Style Semantics and Specification Language).
 end
 
-source_dl = http://downloads.sourceforge.net/project/%{name}/%{name}/%{thisapp}
+source_dl = https://prdownloads.sourceforge.net/openjade/
 
 build
        requires
                gcc-c++
+               libtool
                opensp-devel
                perl
        end
@@ -34,6 +35,15 @@ build
                --datadir=/usr/share/sgml/openjade-%{version} \
                --enable-splibdir=%{libdir}
 
+       prepare_cmds
+               %{MACRO_FIX_AUTOTOOLS}
+       end
+
+       configure_cmds
+               # Ensure to use our LDFLAGS when linking the libraries.
+               sed -i 's/LINKFLAGS =/LINKFLAGS = %{LDFLAGS}/g' Makefile.lib
+       end
+
        install_cmds
                # Create symlink for jade
                ln -s openjade %{BUILDROOT}/usr/bin/jade
@@ -56,9 +66,9 @@ packages
                end
 
                requires
-                       docbook-dtds>=1.0-3
+                       docbook-dtds >= 1.0-3
                        libxml2
-                       opensp>=1.5.2-2
+                       opensp >= 1.5.2-2
                        sgml-common
                end
 
similarity index 50%
rename from upower/upower.nm
rename to openjpeg2/openjpeg2.nm
index 57e2155063bd1b7b41363210fb4fa7db0e6569fb..31ff6ef3edbca66f4778799a2da3c7d4512dd19c 100644 (file)
@@ -3,48 +3,40 @@
 # Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
 ###############################################################################
 
-name       = upower
-version    = 0.9.2
-release    = 2
+name       = openjpeg2
+version    = 2.5.0
+release    = 1
+thisapp    = openjpeg-%{version}
 
 groups     = System/Libraries
-url        = http://upower.freedesktop.org/
-license    = GPLv2+
-summary    = Power Management Service.
+url        = https://github.com/uclouvain/openjpeg
+license    = BSD
+summary    = C-Library for JPEG 2000
 
 description
-       udisks provides a daemon, D-Bus API and command line tools
-       for managing disks and storage devices.
+       The OpenJPEG library is an open-source JPEG 2000 library developed in order to
+       promote the use of JPEG 2000.
 end
 
-source_dl  = http://upower.freedesktop.org/releases/
+source_dl  = https://github.com/uclouvain/openjpeg/archive/v%{version}/
 
 build
        requires
-               bison
-               dbus-devel
-               dbus-glib-devel
-               glib2-devel
-               gettext
-               intltool
-               perl-XML-Parser
-               pkg-config
-               polkit-devel
+               cmake
+               lcms2-devel
+               libjpeg-devel
+               libpng-devel
+               libtiff-devel
+               zlib-devel
+               zstd-devel
        end
 
-       configure_options += \
-               --sysconfdir=/etc \
-               --libexecdir=/usr/lib \
-               --localstatedir=/var
+       configure = %{cmake} . \
+               -DOPENJPEG_INSTALL_LIB_DIR=%{lib}
 end
 
 packages
        package %{name}
-               requires
-                       udev
-                       util-linux
-               end
-       end
 
        package %{name}-libs
                template LIBS
@@ -52,6 +44,10 @@ packages
 
        package %{name}-devel
                template DEVEL
+
+               requires
+                       openjpeg2-libs = %{thisver}
+               end
        end
 
        package %{name}-debuginfo
index cb6a3a5e6787ddd3011e663287c2c1cd7eb3cdc1..bf82faa55b5a9afba03db9b842fd9b276527965f 100644 (file)
@@ -4,11 +4,11 @@
 ###############################################################################
 
 name       = openldap
-version    = 2.4.44
-release    = 1
+version    = 2.6.4
+release    = 3.1
 
 groups     = System/Daemons
-url        = http://www.openldap.org/
+url        = https://www.openldap.org/
 license    = OpenLDAP
 summary    = LDAP support libraries.
 
@@ -21,7 +21,7 @@ description
        documentation for OpenLDAP.
 end
 
-source_dl  = ftp://ftp.openldap.org/pub/OpenLDAP/openldap-release/
+source_dl  = https://mirror.eu.oneandone.net/software/openldap/openldap-release/
 sources    = %{thisapp}.tgz
 
 build
@@ -29,13 +29,10 @@ build
                automake
                cyrus-sasl-devel
                groff
-               # Cannot be built with libdb 6 and above
-               # because of an incompatibility with AGPL
-               libdb-devel < 6
                libtool
                libtool-devel
+               libxcrypt-devel
                openssl-devel
-               pth-devel
                shadow-utils
        end
 
@@ -43,6 +40,7 @@ build
                --libexecdir=%{libdir} \
                --with-threads=posix \
                --disable-perl \
+               --disable-wt \
                --enable-dynamic \
                --enable-crypt \
                --enable-modules \
@@ -50,15 +48,16 @@ build
                --enable-backends=mod \
                --enable-overlays=mod \
                --enable-sql=no \
-               --enable-ndb=no \
-               --enable-hdb=yes \
-               --enable-monitor=yes \
                --disable-static
 
        prepare_cmds
                %{create_user}
        end
 
+       # Do not strip the binaries during install.
+       make_install_targets += \
+               STRIP_OPTS=
+
        install_cmds
                mv -v %{BUILDROOT}%{libdir}/slapd %{BUILDROOT}/usr/sbin/slapd
                ln -svf slapd %{BUILDROOT}/usr/sbin/slapacl
@@ -70,6 +69,7 @@ build
                ln -svf slapd %{BUILDROOT}/usr/sbin/slappasswd
                ln -svf slapd %{BUILDROOT}/usr/sbin/slapschema
                ln -svf slapd %{BUILDROOT}/usr/sbin/slaptest
+               ln -svf slapd %{BUILDROOT}/usr/sbin/slapmodify
 
                # Remove unneeded files.
                rm -rvf %{BUILDROOT}%{sysconfidir}/slapd.{conf,ldif}
@@ -92,12 +92,10 @@ build
                # Create directoires.
                mkdir -pv %{BUILDROOT}%{sysconfdir}/%{name}/slapd.d
                mkdir -pv %{BUILDROOT}%{sysconfdir}/%{name}/certs
-               mkdir -pv %{BUILDROOT}/run/%{name}
                mkdir -pv %{BUILDROOT}%{sharedstatedir}/ldap
 
                # Fix permissions and ownerships.
                chown -Rv ldap:ldap %{BUILDROOT}%{sysconfdir}/%{name}
-               chown ldap:ldap %{BUILDROOT}/run/%{name}
                chown ldap:ldap %{BUILDROOT}%{sharedstatedir}/ldap
                chmod 700 -Rv %{BUILDROOT}%{sharedstatedir}/ldap
        end
diff --git a/openldap/patches/openldap-2.4.17-disable_sys_err.patch b/openldap/patches/openldap-2.4.17-disable_sys_err.patch
deleted file mode 100644 (file)
index c1ab72d..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-diff -Naur openldap-2.4.16.org/include/ac/errno.h openldap-2.4.16/include/ac/errno.h
---- openldap-2.4.16.org/include/ac/errno.h     2009-01-22 01:00:52.000000000 +0100
-+++ openldap-2.4.16/include/ac/errno.h 2009-04-28 13:48:01.000000000 +0200
-@@ -36,12 +36,7 @@
- #undef _AC_ERRNO_UNKNOWN
- #define _AC_ERRNO_UNKNOWN "unknown error"
--#ifdef HAVE_SYS_ERRLIST
--      /* this is thread safe */
--#     define  STRERROR(e) ( (e) > -1 && (e) < sys_nerr \
--                      ? sys_errlist[(e)] : _AC_ERRNO_UNKNOWN )
--
--#elif defined( HAVE_STRERROR )
-+#if defined( HAVE_STRERROR )
-       /* this may not be thread safe */
-       /* and, yes, some implementations of strerror may return NULL */
- #     define  STRERROR(e) ( strerror(e) \
index e0ede10b0c84e9b627e4c54269bb70b3f425f396..a9756112f47e9ebbb43180c7c75fb3b948c8ed3e 100644 (file)
@@ -5,27 +5,27 @@
 
 name       = opensp
 version    = 1.5.2
-release    = 3
+release    = 4
+thisapp    = OpenSP-%{version}
 
 groups     = Application/Text
-url        = http://openjade.sourceforge.net/
+url        = https://openjade.sourceforge.net/
 license    = MIT
-summary    = SGML and XML parser.
+summary    = SGML and XML parser
 
 description
        OpenSP is an implementation of the ISO/IEC 8879:1986 standard SGML
        (Standard Generalized Markup Language).
 end
 
-source_dl = http://downloads.sourceforge.net/project/%{name}/%{name}/%{thisapp}
-
-thisapp = OpenSP-%{version}
+source_dl = https://prdownloads.sourceforge.net/openjade/
 
 build
        requires
                gcc-c++
                docbook-dtds
                docbook-xsl
+               libtool
                libxml2
                libxslt
                perl
@@ -33,7 +33,6 @@ build
        end
 
        configure_options += \
-               --mandir=/usr/share/man/ \
                --disable-dependency-tracking \
                --disable-static \
                --disable-rpath \
@@ -41,6 +40,10 @@ build
                --enable-default-catalog=/etc/sgml/catalog \
                --enable-default-search-path=/usr/share/sgml:/usr/share/xml
 
+       prepare_cmds
+               %{MACRO_FIX_AUTOTOOLS}
+       end
+
        install_cmds
                # Create symlinks and manpages for binaries wtitout "o".
                for file in nsgmls sgmlnorm spam spent sx ; do
index 0cb49bcbf6404a09c0d96171ec570f335e07f0e9..fd9b0926cfc75d63de94d7262514aa943aac5d35 100644 (file)
@@ -4,11 +4,11 @@
 ###############################################################################
 
 name       = openssh
-version    = 8.0p1
+version    = 9.4p1
 release    = 1
 
 groups     = Application/Internet
-url        = http://www.openssh.com/portable.html
+url        = https://www.openssh.com/portable.html
 license    = MIT
 summary    = An open source implementation of SSH protocol versions 1 and 2.
 
@@ -19,7 +19,7 @@ description
        untrusted hosts over an insecure network.
 end
 
-source_dl  = http://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/
+source_dl  = https://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/
 
 build
        requires
@@ -35,20 +35,19 @@ build
                zlib-devel
        end
 
-       configure_options += \
+       configure += \
                --sysconfdir=%{sysconfdir}/ssh \
                --datadir=%{datadir}/sshd \
                --libexecdir=%{libdir}/openssh \
                --with-default-path=/usr/local/bin:/bin:/usr/bin \
                --with-superuser-path=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin \
-               --with-privsep-path=/var/empty/sshd \
-               --enable-vendor-patchlevel="%{DISTRO_NAME} %{thisver}" \
+               --with-privsep-path=%{sharedstatedir}/sshd \
                --disable-strip \
                --with-ssl-engine \
-               --with-authorized-keys-command \
                --with-ipaddr-display \
                --with-pam \
-               --with-libedit
+               --with-libedit \
+               --without-zlib-version-check
 
        prepare_cmds
                autoreconf -vfi
@@ -68,7 +67,7 @@ build
 
                # Install scriptfile for key generation
                mkdir -pv %{BUILDROOT}%{sbindir}
-               install -m 754 %{DIR_SOURCE}/sshd-keygen %{BUILDROOT}%{sbindir}
+               install -m 755 %{DIR_SOURCE}/sshd-keygen %{BUILDROOT}%{sbindir}
 
                # Install ssh-copy-id.
                install -m755 contrib/ssh-copy-id %{BUILDROOT}%{bindir}
@@ -130,7 +129,6 @@ packages
                description = %{summary}
 
                requires
-                       audit
                        openssh = %{thisver}
                end
 
@@ -148,7 +146,7 @@ packages
                        %{mandir}/man5/moduli.5*
                        %{mandir}/man8/sshd.8*
                        %{mandir}/man8/sftp-server.8*
-                       /var/empty/sshd
+                       %{sharedstatedir}/sshd
                end
 
                configfiles
@@ -165,7 +163,7 @@ packages
                        getent group sshd >/dev/null || groupadd -r sshd
                        getent passwd sshd >/dev/null || useradd -r -g sshd \
                                -c "Privilege-separated SSH" \
-                               -d /var/empty/sshd -s /sbin/nologin sshd
+                               -d /var/lib/sshd -s /sbin/nologin sshd
                end
 
                script postin
diff --git a/openssh/patches/openssh-6.6p1-keyperm.patch b/openssh/patches/openssh-6.6p1-keyperm.patch
deleted file mode 100644 (file)
index fbe33b0..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-diff --git a/authfile.c b/authfile.c
-index e93d867..4fc5b3d 100644
---- a/authfile.c
-+++ b/authfile.c
-@@ -32,6 +32,7 @@
- #include <errno.h>
- #include <fcntl.h>
-+#include <grp.h>
- #include <stdio.h>
- #include <stdarg.h>
- #include <stdlib.h>
-@@ -207,6 +208,13 @@ sshkey_perm_ok(int fd, const char *filename)
- #ifdef HAVE_CYGWIN
-       if (check_ntsec(filename))
- #endif
-+      if (st.st_mode & 040) {
-+              struct group *gr;
-+
-+              if ((gr = getgrnam("ssh_keys")) && (st.st_gid == gr->gr_gid))
-+                      st.st_mode &= ~040;
-+      }
-+
-       if ((st.st_uid == getuid()) && (st.st_mode & 077) != 0) {
-               error("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@");
-               error("@         WARNING: UNPROTECTED PRIVATE KEY FILE!          @");
diff --git a/openssh/patches/openssh-6.7p1-sftp-force-permission.patch b/openssh/patches/openssh-6.7p1-sftp-force-permission.patch
deleted file mode 100644 (file)
index 1a88e50..0000000
+++ /dev/null
@@ -1,81 +0,0 @@
-diff -up openssh-6.8p1/sftp-server.8.sftp-force-mode openssh-6.8p1/sftp-server.8
---- openssh-6.8p1/sftp-server.8.sftp-force-mode        2015-03-17 06:49:20.000000000 +0100
-+++ openssh-6.8p1/sftp-server.8        2015-03-18 13:18:05.898306477 +0100
-@@ -38,6 +38,7 @@
- .Op Fl P Ar blacklisted_requests
- .Op Fl p Ar whitelisted_requests
- .Op Fl u Ar umask
-+.Op Fl m Ar force_file_perms
- .Ek
- .Nm
- .Fl Q Ar protocol_feature
-@@ -138,6 +139,10 @@ Sets an explicit
- .Xr umask 2
- to be applied to newly-created files and directories, instead of the
- user's default mask.
-+.It Fl m Ar force_file_perms
-+Sets explicit file permissions to be applied to newly-created files instead
-+of the default or client requested mode.  Numeric values include:
-+777, 755, 750, 666, 644, 640, etc.  Option -u is ineffective if -m is set.
- .El
- .Pp
- On some systems,
-diff -up openssh-6.8p1/sftp-server.c.sftp-force-mode openssh-6.8p1/sftp-server.c
---- openssh-6.8p1/sftp-server.c.sftp-force-mode        2015-03-18 13:18:05.883306513 +0100
-+++ openssh-6.8p1/sftp-server.c        2015-03-18 13:18:36.697232193 +0100
-@@ -70,6 +70,10 @@ struct sshbuf *oqueue;
- /* Version of client */
- static u_int version;
-+/* Force file permissions */
-+int permforce = 0;
-+long permforcemode;
-+
- /* SSH2_FXP_INIT received */
- static int init_done;
-@@ -693,6 +697,10 @@ process_open(u_int32_t id)
-       debug3("request %u: open flags %d", id, pflags);
-       flags = flags_from_portable(pflags);
-       mode = (a.flags & SSH2_FILEXFER_ATTR_PERMISSIONS) ? a.perm : 0666;
-+      if (permforce == 1) {   /* Force perm if -m is set */
-+              mode = permforcemode;
-+              (void)umask(0); /* so umask does not interfere           */
-+      }       
-       logit("open \"%s\" flags %s mode 0%o",
-           name, string_from_portable(pflags), mode);
-       if (readonly &&
-@@ -1495,7 +1503,7 @@ sftp_server_usage(void)
-       fprintf(stderr,
-           "usage: %s [-ehR] [-d start_directory] [-f log_facility] "
-           "[-l log_level]\n\t[-P blacklisted_requests] "
--          "[-p whitelisted_requests] [-u umask]\n"
-+          "[-p whitelisted_requests] [-u umask] [-m force_file_perms]\n"
-           "       %s -Q protocol_feature\n",
-           __progname, __progname);
-       exit(1);
-@@ -1520,7 +1528,7 @@ sftp_server_main(int argc, char **argv,
-       pw = pwcopy(user_pw);
-       while (!skipargs && (ch = getopt(argc, argv,
--          "d:f:l:P:p:Q:u:cehR")) != -1) {
-+          "d:f:l:P:p:Q:u:m:cehR")) != -1) {
-               switch (ch) {
-               case 'Q':
-                       if (strcasecmp(optarg, "requests") != 0) {
-@@ -1580,6 +1588,15 @@ sftp_server_main(int argc, char **argv,
-                               fatal("Invalid umask \"%s\"", optarg);
-                       (void)umask((mode_t)mask);
-                       break;
-+              case 'm':
-+                      /* Force permissions on file received via sftp */
-+                      permforce = 1;
-+                      permforcemode = strtol(optarg, &cp, 8);
-+                      if (permforcemode < 0 || permforcemode > 0777 ||
-+                          *cp != '\0' || (permforcemode == 0 &&
-+                          errno != 0))
-+                              fatal("Invalid file mode \"%s\"", optarg);
-+                      break;
-               case 'h':
-               default:
-                       sftp_server_usage();
index 6b0cd8d6e5944890aa28740c6789bbf377c2bccd..19214a8e9cc8a8e531b5deaff464cfa1cfcbe7d5 100644 (file)
@@ -4,12 +4,12 @@
 ###############################################################################
 
 name       = openssl
-version    = 1.1.0g
+version    = 3.1.4
 release    = 1
 
 maintainer = Michael Tremer <michael.tremer@ipfire.org>
 groups     = System/Libraries
-url        = http://www.openssl.org/
+url        = https://www.openssl.org/
 license    = OpenSSL
 summary    = A general purpose cryptography library with TLS implementation.
 
@@ -19,17 +19,23 @@ description
        libraries which provide various cryptographic algorithms and protocols.
 end
 
-source_dl  = http://openssl.org/source/
+source_dl  = https://openssl.org/source/
 
 build
        requires
                ca-certificates
                coreutils
                perl
+               perl(FindBin)
+               perl(File::Compare)
+               perl(File::Copy)
+               perl(IPC::Cmd)
                perl(Math::BigInt)
                perl(Module::Load::Conditional)
+               perl(Pod::Html)
                perl(Test::Harness)
                perl(Test::More)
+               perl(Time::Local)
                sed
                zlib-devel
        end
@@ -45,82 +51,43 @@ build
                ssl_arch += enable-ec_nistp_64_gcc_128
        end
 
-       if "%{DISTRO_ARCH}" == "i686"
-               # 386 implies no-sse2
-               ssl_arch = linux-elf no-asm 386
-       end
-
        if "%{DISTRO_ARCH}" == "aarch64"
                ssl_arch += enable-ec_nistp_64_gcc_128
        end
 
-       if "%{DISTRO_ARCH}" == "armv5tel"
-               ssl_arch = linux-armv4
-       end
-
-       if "%{DISTRO_ARCH}" == "armv7hl"
-               ssl_arch = linux-armv4
-       end
-
-       build
+       configure = \
                ./Configure \
                        --prefix=%{prefix} \
+                       --libdir=%{libdir} \
                        --openssldir=%{sysconfdir}/pki/tls \
                        shared \
                        zlib \
                        enable-camellia \
                        enable-seed \
                        enable-rfc3779 \
-                       enable-ssl3 \
-                       enable-ssl3-method \
+                       enable-ktls \
                        no-rc4 \
                        no-rc5 \
+                       no-sm2 \
+                       no-sm4 \
                        %{ssl_arch} \
                        ${CFLAGS} \
                        ${LDFLAGS}
 
-               util/mkdef.pl crypto update
-               make all
+       test
+               make test
+       end
 
+       install
                # Clean up the .pc files
                for i in libcrypto.pc libssl.pc openssl.pc; do
                        sed -i '/^Libs.private:/{s/-L[^ ]* //;s/-Wl[^ ]* //}' $i
                done
-       end
 
-       test
-               # Revert ca-dir patch. Otherwise the tests will fail.
-               patch -Np1 -R < %{DIR_PATCHES}/openssl-1.1.0-ca-dir.patch
-
-               make test
-       end
-
-       install
                make install DESTDIR=%{BUILDROOT}
 
-               # Rename man pages so that they don't conflict with other system man pages.
-               pushd %{BUILDROOT}%{mandir}
-               ln -svf config.5 man5/openssl.cnf.5
-               for manpage in man*/*; do
-                       if [ -L "${manpage}" ]; then
-                               TARGET=$(ls -l "${manpage}" | awk '{ print $NF }')
-                               ln -snf "${TARGET}ssl" "${manpage}ssl"
-                               rm -f "${manpage}"
-                       else
-                               mv ${manpage} ${manpage}ssl
-                       fi
-               done
-               for conflict in passwd rand; do
-                       rename ${conflict} ssl${conflict} man*/${conflict}*
-                       ln -svf ssl${conflict}.1ssl %{BUILDROOT}%{mandir}/man1/openssl-${conflict}.1ssl
-               done
-               popd
-
                # Remove dist config
                rm -vf %{BUILDROOT}%{sysconfdir}/pki/tls/openssl.cnf.dist
-
-               # Move executable stuff to %{bindir}
-               mv -v %{BUILDROOT}%{sysconfdir}/pki/tls/misc/{CA.pl,tsget} %{BUILDROOT}%{bindir}
        end
 end
 
@@ -134,8 +101,6 @@ packages
 
                requires += ca-certificates
 
-               conflicts += %{name} < %{thisver}
-
                files += %{libdir}/openssl %{libdir}/engines*
        end
 
diff --git a/openssl/patches/openssl-1.1.0-build.patch b/openssl/patches/openssl-1.1.0-build.patch
deleted file mode 100644 (file)
index bedd957..0000000
+++ /dev/null
@@ -1,73 +0,0 @@
-diff -up openssl-1.1.0f/Configurations/unix-Makefile.tmpl.build openssl-1.1.0f/Configurations/unix-Makefile.tmpl
---- openssl-1.1.0f/Configurations/unix-Makefile.tmpl.build     2017-06-02 13:51:39.621289504 +0200
-+++ openssl-1.1.0f/Configurations/unix-Makefile.tmpl   2017-06-02 13:54:45.298654812 +0200
-@@ -553,7 +553,7 @@ uninstall_runtime:
- install_man_docs:
-       @[ -n "$(INSTALLTOP)" ] || (echo INSTALLTOP should not be empty; exit 1)
-       @echo "*** Installing manpages"
--      $(PERL) $(SRCDIR)/util/process_docs.pl \
-+      TZ=UTC $(PERL) $(SRCDIR)/util/process_docs.pl \
-               --destdir=$(DESTDIR)$(MANDIR) --type=man --suffix=$(MANSUFFIX)
- uninstall_man_docs:
-@@ -565,7 +565,7 @@ uninstall_man_docs:
- install_html_docs:
-       @[ -n "$(INSTALLTOP)" ] || (echo INSTALLTOP should not be empty; exit 1)
-       @echo "*** Installing HTML manpages"
--      $(PERL) $(SRCDIR)/util/process_docs.pl \
-+      TZ=UTC $(PERL) $(SRCDIR)/util/process_docs.pl \
-               --destdir=$(DESTDIR)$(HTMLDIR) --type=html
- uninstall_html_docs:
-diff -up openssl-1.1.0f/Configurations/10-main.conf.build openssl-1.1.0f/Configurations/10-main.conf
---- openssl-1.1.0f/Configurations/10-main.conf.build   2017-05-25 14:46:17.000000000 +0200
-+++ openssl-1.1.0f/Configurations/10-main.conf 2017-06-02 13:51:39.622289528 +0200
-@@ -662,6 +662,7 @@ sub vms_info {
-         cflags           => add("-m64 -DL_ENDIAN"),
-         perlasm_scheme   => "linux64le",
-         shared_ldflag    => add("-m64"),
-+        multilib         => "64",
-     },
-     "linux-armv4" => {
-@@ -702,6 +703,7 @@ sub vms_info {
-     "linux-aarch64" => {
-         inherit_from     => [ "linux-generic64", asm("aarch64_asm") ],
-         perlasm_scheme   => "linux64",
-+        multilib         => "64",
-     },
-     "linux-arm64ilp32" => {  # https://wiki.linaro.org/Platform/arm64-ilp32
-         inherit_from     => [ "linux-generic32", asm("aarch64_asm") ],
-diff -up openssl-1.1.0g/test/evptests.txt.build openssl-1.1.0g/test/evptests.txt
---- openssl-1.1.0g/test/evptests.txt.build     2017-11-02 15:29:05.000000000 +0100
-+++ openssl-1.1.0g/test/evptests.txt   2017-11-03 16:37:01.253671494 +0100
-@@ -3707,14 +3707,6 @@ MCowBQYDK2VuAyEA3p7bfXt9wbTTW2HC7OQ1Nz+D
- PrivPubKeyPair = Bob-25519:Bob-25519-PUBLIC
--Derive=Alice-25519
--PeerKey=Bob-25519-PUBLIC
--SharedSecret=4A5D9D5BA4CE2DE1728E3BF480350F25E07E21C947D19E3376F09B3C1E161742
--
--Derive=Bob-25519
--PeerKey=Alice-25519-PUBLIC
--SharedSecret=4A5D9D5BA4CE2DE1728E3BF480350F25E07E21C947D19E3376F09B3C1E161742
--
- # Illegal sign/verify operations with X25519 key
- Sign=Alice-25519
-@@ -3727,6 +3719,14 @@ Result = KEYOP_INIT_ERROR
- Function = EVP_PKEY_verify_init
- Reason = operation not supported for this keytype
-+Derive=Alice-25519
-+PeerKey=Bob-25519-PUBLIC
-+SharedSecret=4A5D9D5BA4CE2DE1728E3BF480350F25E07E21C947D19E3376F09B3C1E161742
-+
-+Derive=Bob-25519
-+PeerKey=Alice-25519-PUBLIC
-+SharedSecret=4A5D9D5BA4CE2DE1728E3BF480350F25E07E21C947D19E3376F09B3C1E161742
-+
- ## ECDH Tests: test with randomly generated keys for all the listed curves
diff --git a/openssl/patches/openssl-1.1.0-ca-dir.patch b/openssl/patches/openssl-1.1.0-ca-dir.patch
deleted file mode 100644 (file)
index 421559d..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-diff -up openssl-1.1.0-pre5/apps/CA.pl.in.ca-dir openssl-1.1.0-pre5/apps/CA.pl.in
---- openssl-1.1.0-pre5/apps/CA.pl.in.ca-dir    2016-07-18 15:19:40.118110405 +0200
-+++ openssl-1.1.0-pre5/apps/CA.pl.in   2016-07-18 15:21:06.531061337 +0200
-@@ -26,7 +26,7 @@ my $X509 = "$openssl x509";
- my $PKCS12 = "$openssl pkcs12";
- # default openssl.cnf file has setup as per the following
--my $CATOP = "./demoCA";
-+my $CATOP = "/etc/pki/CA";
- my $CAKEY = "cakey.pem";
- my $CAREQ = "careq.pem";
- my $CACERT = "cacert.pem";
-diff -up openssl-1.1.0-pre5/apps/openssl.cnf.ca-dir openssl-1.1.0-pre5/apps/openssl.cnf
---- openssl-1.1.0-pre5/apps/openssl.cnf.ca-dir 2016-07-18 15:19:40.114110315 +0200
-+++ openssl-1.1.0-pre5/apps/openssl.cnf        2016-07-18 15:19:48.492299467 +0200
-@@ -39,7 +39,7 @@ default_ca   = CA_default            # The default c
- ####################################################################
- [ CA_default ]
--dir           = ./demoCA              # Where everything is kept
-+dir           = /etc/pki/CA           # Where everything is kept
- certs         = $dir/certs            # Where the issued certs are kept
- crl_dir               = $dir/crl              # Where the issued crl are kept
- database      = $dir/index.txt        # database index file.
diff --git a/openssl/patches/openssl-1.1.0-defaults.patch b/openssl/patches/openssl-1.1.0-defaults.patch
deleted file mode 100644 (file)
index 2a88cef..0000000
+++ /dev/null
@@ -1,51 +0,0 @@
-diff -up openssl-1.1.0-pre5/apps/openssl.cnf.defaults openssl-1.1.0-pre5/apps/openssl.cnf
---- openssl-1.1.0-pre5/apps/openssl.cnf.defaults       2016-04-19 16:57:52.000000000 +0200
-+++ openssl-1.1.0-pre5/apps/openssl.cnf        2016-07-18 14:22:08.252691017 +0200
-@@ -72,7 +72,7 @@ cert_opt     = ca_default            # Certificate fi
- default_days  = 365                   # how long to certify for
- default_crl_days= 30                  # how long before next CRL
--default_md    = default               # use public key default MD
-+default_md    = sha256                # use SHA-256 by default
- preserve      = no                    # keep passed DN ordering
- # A few difference way of specifying how similar the request should look
-@@ -104,6 +104,7 @@ emailAddress               = optional
- ####################################################################
- [ req ]
- default_bits          = 2048
-+default_md            = sha256
- default_keyfile       = privkey.pem
- distinguished_name    = req_distinguished_name
- attributes            = req_attributes
-@@ -126,17 +127,18 @@ string_mask = utf8only
- [ req_distinguished_name ]
- countryName                   = Country Name (2 letter code)
--countryName_default           = AU
-+countryName_default           = XX
- countryName_min                       = 2
- countryName_max                       = 2
- stateOrProvinceName           = State or Province Name (full name)
--stateOrProvinceName_default   = Some-State
-+#stateOrProvinceName_default  = Default Province
- localityName                  = Locality Name (eg, city)
-+localityName_default          = Default City
- 0.organizationName            = Organization Name (eg, company)
--0.organizationName_default    = Internet Widgits Pty Ltd
-+0.organizationName_default    = Default Company Ltd
- # we can do this but it is not needed normally :-)
- #1.organizationName           = Second Organization Name (eg, company)
-@@ -145,7 +147,7 @@ localityName                       = Locality Name (eg, city
- organizationalUnitName                = Organizational Unit Name (eg, section)
- #organizationalUnitName_default       =
--commonName                    = Common Name (e.g. server FQDN or YOUR name)
-+commonName                    = Common Name (eg, your name or your server\'s hostname)
- commonName_max                        = 64
- emailAddress                  = Email Address
diff --git a/openssl/patches/openssl-1.1.0-disable-ssl3.patch b/openssl/patches/openssl-1.1.0-disable-ssl3.patch
deleted file mode 100644 (file)
index 267c02c..0000000
+++ /dev/null
@@ -1,86 +0,0 @@
-diff -up openssl-1.1.0f/apps/s_client.c.disable-ssl3 openssl-1.1.0f/apps/s_client.c
---- openssl-1.1.0f/apps/s_client.c.disable-ssl3        2017-06-05 15:42:44.838853312 +0200
-+++ openssl-1.1.0f/apps/s_client.c     2017-07-17 14:50:06.468821871 +0200
-@@ -1486,6 +1486,9 @@ int s_client_main(int argc, char **argv)
-     if (sdebug)
-         ssl_ctx_security_debug(ctx, sdebug);
-+    if (min_version == SSL3_VERSION && max_version == SSL3_VERSION)
-+        SSL_CTX_clear_options(ctx, SSL_OP_NO_SSLv3);
-+
-     if (ssl_config) {
-         if (SSL_CTX_config(ctx, ssl_config) == 0) {
-             BIO_printf(bio_err, "Error using configuration \"%s\"\n",
-diff -up openssl-1.1.0f/apps/s_server.c.disable-ssl3 openssl-1.1.0f/apps/s_server.c
---- openssl-1.1.0f/apps/s_server.c.disable-ssl3        2017-05-25 14:46:18.000000000 +0200
-+++ openssl-1.1.0f/apps/s_server.c     2017-07-17 14:49:50.434447583 +0200
-@@ -1614,6 +1614,10 @@ int s_server_main(int argc, char *argv[]
-     }
-     if (sdebug)
-         ssl_ctx_security_debug(ctx, sdebug);
-+
-+    if (min_version == SSL3_VERSION && max_version == SSL3_VERSION)
-+        SSL_CTX_clear_options(ctx, SSL_OP_NO_SSLv3);
-+
-     if (ssl_config) {
-         if (SSL_CTX_config(ctx, ssl_config) == 0) {
-             BIO_printf(bio_err, "Error using configuration \"%s\"\n",
-diff -up openssl-1.1.0/ssl/ssl_lib.c.disable-ssl3 openssl-1.1.0/ssl/ssl_lib.c
---- openssl-1.1.0/ssl/ssl_lib.c.disable-ssl3   2016-08-25 17:29:22.000000000 +0200
-+++ openssl-1.1.0/ssl/ssl_lib.c        2016-09-08 11:08:05.252082263 +0200
-@@ -2470,6 +2470,13 @@ SSL_CTX *SSL_CTX_new(const SSL_METHOD *m
-      * or by using the SSL_CONF library.
-      */
-     ret->options |= SSL_OP_NO_COMPRESSION;
-+    /*
-+     * Disable SSLv3 by default.  Applications can
-+     * re-enable it by configuring
-+     * SSL_CTX_clear_options(ctx, SSL_OP_NO_SSLv3);
-+     * or by using the SSL_CONF library.
-+     */
-+    ret->options |= SSL_OP_NO_SSLv3;
-     ret->tlsext_status_type = -1;
-diff -up openssl-1.1.0/test/ssl_test.c.disable-ssl3 openssl-1.1.0/test/ssl_test.c
---- openssl-1.1.0/test/ssl_test.c.disable-ssl3 2016-09-08 11:08:05.252082263 +0200
-+++ openssl-1.1.0/test/ssl_test.c      2016-09-08 11:11:44.802005886 +0200
-@@ -258,6 +258,7 @@ static int execute_test(SSL_TEST_FIXTURE
-             SSL_TEST_SERVERNAME_CB_NONE) {
-             server2_ctx = SSL_CTX_new(TLS_server_method());
-             TEST_check(server2_ctx != NULL);
-+            SSL_CTX_clear_options(server2_ctx, SSL_OP_NO_SSLv3);
-         }
-         client_ctx = SSL_CTX_new(TLS_client_method());
-@@ -266,11 +267,15 @@ static int execute_test(SSL_TEST_FIXTURE
-             resume_client_ctx = SSL_CTX_new(TLS_client_method());
-             TEST_check(resume_server_ctx != NULL);
-             TEST_check(resume_client_ctx != NULL);
-+            SSL_CTX_clear_options(resume_server_ctx, SSL_OP_NO_SSLv3);
-+            SSL_CTX_clear_options(resume_client_ctx, SSL_OP_NO_SSLv3);
-         }
-     }
-     TEST_check(server_ctx != NULL);
-     TEST_check(client_ctx != NULL);
-+    SSL_CTX_clear_options(server_ctx, SSL_OP_NO_SSLv3);
-+    SSL_CTX_clear_options(client_ctx, SSL_OP_NO_SSLv3);
-     TEST_check(CONF_modules_load(conf, fixture.test_app, 0) > 0);
-diff -up openssl-1.1.0/test/ssltest_old.c.disable-ssl3 openssl-1.1.0/test/ssltest_old.c
---- openssl-1.1.0/test/ssltest_old.c.disable-ssl3      2016-08-25 17:29:23.000000000 +0200
-+++ openssl-1.1.0/test/ssltest_old.c   2016-09-08 11:08:05.253082286 +0200
-@@ -1456,6 +1456,11 @@ int main(int argc, char *argv[])
-         ERR_print_errors(bio_err);
-         goto end;
-     }
-+
-+    SSL_CTX_clear_options(c_ctx, SSL_OP_NO_SSLv3);
-+    SSL_CTX_clear_options(s_ctx, SSL_OP_NO_SSLv3);
-+    SSL_CTX_clear_options(s_ctx2, SSL_OP_NO_SSLv3);
-+
-     /*
-      * Since we will use low security ciphersuites and keys for testing set
-      * security level to zero by default. Tests can override this by adding
diff --git a/openssl/patches/openssl-1.1.0-no-html.patch b/openssl/patches/openssl-1.1.0-no-html.patch
deleted file mode 100644 (file)
index f6a941e..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -up openssl-1.1.0-pre5/Configurations/unix-Makefile.tmpl.nohtml openssl-1.1.0-pre5/Configurations/unix-Makefile.tmpl
---- openssl-1.1.0-pre5/Configurations/unix-Makefile.tmpl.no-html       2016-04-19 16:57:52.000000000 +0200
-+++ openssl-1.1.0-pre5/Configurations/unix-Makefile.tmpl       2016-07-18 13:58:55.060106243 +0200
-@@ -288,7 +288,7 @@ install_sw: all install_dev install_engi
- uninstall_sw: uninstall_runtime uninstall_engines uninstall_dev
--install_docs: install_man_docs install_html_docs
-+install_docs: install_man_docs
- uninstall_docs: uninstall_man_docs uninstall_html_docs
-       $(RM) -r -v $(DESTDIR)$(DOCDIR)
diff --git a/openssl/patches/openssl-1.1.0g-tests.patch b/openssl/patches/openssl-1.1.0g-tests.patch
deleted file mode 100644 (file)
index c16c533..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
---- openssl-1.1.0g/test/recipes/40-test_rehash.t~      2018-01-28 19:08:01.151912658 +0000
-+++ openssl-1.1.0g/test/recipes/40-test_rehash.t       2018-01-28 19:09:19.408454430 +0000
-@@ -23,7 +23,7 @@
- plan skip_all => "test_rehash is not available on this platform"
-     unless run(app(["openssl", "rehash", "-help"]));
--plan tests => 5;
-+plan tests => 3;
- indir "rehash.$$" => sub {
-     prepare();
-@@ -42,21 +42,6 @@
-        'Testing rehash operations on empty directory');
- }, create => 1, cleanup => 1;
--indir "rehash.$$" => sub {
--    prepare();
--    chmod 0500, curdir();
--  SKIP: {
--      if (!ok(!open(FOO, ">unwritable.txt"),
--              "Testing that we aren't running as a privileged user, such as root")) {
--          close FOO;
--          skip "It's pointless to run the next test as root", 1;
--      }
--      isnt(run(app(["openssl", "rehash", curdir()])), 1,
--           'Testing rehash operations on readonly directory');
--    }
--    chmod 0700, curdir();       # make it writable again, so cleanup works
--}, create => 1, cleanup => 1;
--
- sub prepare {
-     my @pemsourcefiles = sort glob(srctop_file('test', "*.pem"));
-     my @destfiles = ();
index 3b5945c59a418d6b67ce010c3a920c64d26b90fd..ac39fc572636b0c85c8380ccee3b4c6c8d372196 100644 (file)
@@ -4,13 +4,13 @@
 ###############################################################################
 
 name       = p11-kit
-version    = 0.23.2
+version    = 0.25.3
 release    = 1
 
 groups     = System/Libraries
-url        = http://p11-glue.freedesktop.org/p11-kit.html
+url        = https://p11-glue.github.io/p11-glue/p11-kit.html
 license    = BSD
-summary    = Provides a way to load and enumerate PKCS#11 modules.
+summary    = Provides a way to load and enumerate PKCS#11 modules
 
 description
        Provides a way to load and enumerate PKCS#11 modules. Provides a standard
@@ -21,12 +21,27 @@ description
        components or libraries living in the same process.
 end
 
-source_dl  = http://p11-glue.freedesktop.org/releases/
+source_dl  = https://github.com/p11-glue/p11-kit/releases/download/%{version}/
+sources    = %{thisapp}.tar.xz
 
 build
        requires
+               bash-completion-devel
                libffi-devel >= 3.0.0
                libtasn1-devel >= 2.3
+               meson
+               ninja
+               systemd-devel
+       end
+
+       build
+               %{meson} \
+                       -D trust_paths=/etc/pki/ca-trust/source
+               %{meson_build}
+       end
+
+       install
+               %{meson_install}
        end
 end
 
index b16f0791807c7d98f09011ff1416417118c97cdc..6f405232f4551e007ca51c0d1e27e3b3a2a7384e 100644 (file)
@@ -4,34 +4,56 @@
 ###############################################################################
 
 name       = pakfire
-version    = 0.9.27
-release    = 2
+version    = 0.9.29
+release    = 1
 
 maintainer = Michael Tremer <michael.tremer@ipfire.org>
 groups     = System/Packaging
-url        = http://git.ipfire.org/?p=pakfire.git;a=summary
+url        = https://git.ipfire.org/?p=pakfire.git;a=summary
 license    = GPLv3+
-summary    = Package installer/updater.
+summary    = Package installer/updater
 
 description
-       Pakfire optains package lists from the mirrors and can install and update
-       packages.
+       Pakfire optains package lists from the mirrors and can install and
+       update packages.
 end
 
-source_dl  = http://source.ipfire.org/releases/pakfire/
+source_dl  = https://source.ipfire.org/releases/pakfire/
 
 build
        requires
+               asciidoc
                autoconf
                automake
+               bison
+               curl-devel
+               file-devel
+               flex
                gettext-devel
-               intltool
+               gpgme-devel
+               intltool >= 0.40.0
+               json-c-devel >= 0.15
+               libarchive-devel >= 3.4.0
+               libbpf-devel
                libcap-devel
-               libsolv-devel >= 0.0.0-4
-               python-devel
+               libmount-devel
+               libnl3-devel
+               libseccomp-devel
+               libsolv-devel >= 0.7.5
+               libuuid-devel
+               openssl-devel >= 1.1.1
+               pcre2-devel
+               python3-cpuinfo
+               python3-devel >= 3.6
+               python3-kerberos
+               python3-psutil
+               python3-setproctitle
+               python3-systemd
+               python3-tornado
+               sqlite-devel
                systemd-devel
-               systemd-units
                xz-devel
+               zstd-devel
        end
 
        prepare_cmds
@@ -40,72 +62,51 @@ build
                [ -x "configure" ] || sh ./autogen.sh
        end
 
+       configure_options += \
+               --enable-debug
+
        test
-               make check
+               LD_LIBRARY_PATH=%{DIR_APP}/src/.libs make check || true
        end
 
        install_cmds
                # Remove all example repository definitions.
                # Those will be solely provided by system-release.
                rm -rfv %{BUILDROOT}%{sysconfdir}/pakfire/repos/*
-
-               mkdir -pv %{BUILDROOT}%{datadir}/pakfire
-               for i in $(find %{datadir}/automake-* -name config.guess -or -name config.sub); do
-                       cp -vf ${i} %{BUILDROOT}%{datadir}/pakfire/
-               done
        end
 end
 
 packages
        package %{name}
-               groups += Base
+               requires
+                       python3-cpuinfo
+                       python3-kerberos
+                       python3-psutil
+                       python3-setproctitle
+                       python3-systemd
+                       python3-tornado
 
-               provides
-                       pakfire-common = %{thisver}
-               end
-               obsoletes
-                       pakfire-common < %{thisver}
+                       system-release
                end
 
-               requires
-                       libsolv >= 0.0.0-4
-                       pygpgme
-                       python-progressbar
-                       python-urlgrabber
-                       system-release
+               # Install this package into the build environment by default
+               supplements
+                       build-essential
                end
 
                configfiles = %{sysconfdir}/pakfire/general.conf
        end
 
        package %{name}-builder
-               summary = The Pakfire builder.
+               summary = The Pakfire builder
                description
                        The tools that are needed to build new pakfire packages.
                end
-               groups += Build
 
                requires
-                       # For --rpm-requires.
-                       bash >= 4.2-7
-                       debugedit
-
-                       %{name} = %{thisver}
-                       quality-agent = %{thisver}
-                       cpio
-                       elfutils
-               end
-               provides = pakfire-build = %{thisver}
-               obsoletes = pakfire-build < %{thisver}
-
-               conflicts
-                       build-essentials
-                       systemd-devel < 38
+                       pakfire = %{thisver}
                end
 
-               # Requires GCC 4.9 or later for -fstack-protector-strong
-               conflicts += gcc < 4.9
-
                configfiles
                        %{sysconfdir}/pakfire/builder.conf
                        %{sysconfdir}/pakfire/distros
@@ -114,23 +115,20 @@ packages
                files
                        %{sysconfdir}/pakfire/builder.conf
                        %{sysconfdir}/pakfire/distros
-                       %{libdir}/libpakfire_preload.so
                        %{bindir}/pakfire-builder
-
-                       %{prefix}/lib/pakfire
-                       %{libdir}/pakfire
+                       %{mandir}/man*/pakfire-builder*
                end
        end
 
        package %{name}-client
-               summary = The Pakfire Hub client.
+               summary = The Pakfire Hub client
                description
                        The pakfire client has the power to create build jobs
                        and communicate with the Pakfire Build Service.
                end
 
                requires
-                       pakfire-common = %{thisver}
+                       pakfire = %{thisver}
                end
 
                files
@@ -176,33 +174,6 @@ packages
                end
        end
 
-       package quality-agent
-               arch = noarch
-
-               summary = The pakfire quality agent.
-               description
-                       The quality agent tests resulting packages that come out
-                       of the build service.
-                       It is a collection of scripts that check if everything is
-                       working right.
-               end
-
-               files
-                       /usr/lib/pakfire/quality-agent
-                       /usr/lib/quality-agent*
-               end
-
-               requires
-                       gawk
-                       binutils
-                       coreutils
-                       findutils
-                       file
-                       grep
-                       sed
-               end
-       end
-
        package %{name}-debuginfo
                template DEBUGINFO
        end
diff --git a/pakfire/patches/0001-Remove-shipped-version-of-debugedit.patch b/pakfire/patches/0001-Remove-shipped-version-of-debugedit.patch
deleted file mode 100644 (file)
index 676f210..0000000
+++ /dev/null
@@ -1,4576 +0,0 @@
-From 559d80aa112c785fd2068ca09c5516d47ceabfe1 Mon Sep 17 00:00:00 2001
-From: Michael Tremer <michael.tremer@ipfire.org>
-Date: Wed, 26 Oct 2016 23:42:57 +0100
-Subject: [PATCH] Remove shipped version of debugedit
-
-We are now shipping this as a seperate package so that
-we can update it easier.
-
-Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
----
- .gitignore                       |    2 -
- Makefile.am                      |   19 -
- configure.ac                     |   22 -
- src/debugedit/debugedit.c        | 1688 --------------------------------------
- src/debugedit/hashtab.c          |  523 ------------
- src/debugedit/hashtab.h          |  143 ----
- src/debugedit/rpmiotypes.h       |  653 ---------------
- src/debugedit/rpmsw.h            |  157 ----
- src/debugedit/rpmtag.h           | 1243 ----------------------------
- src/scripts/extract-debuginfo.in |    2 +-
- 10 files changed, 1 insertion(+), 4451 deletions(-)
- delete mode 100644 src/debugedit/debugedit.c
- delete mode 100644 src/debugedit/hashtab.c
- delete mode 100644 src/debugedit/hashtab.h
- delete mode 100644 src/debugedit/rpmiotypes.h
- delete mode 100644 src/debugedit/rpmsw.h
- delete mode 100644 src/debugedit/rpmtag.h
-
-diff --git a/.gitignore b/.gitignore
-index 8fce8f6..293e999 100644
---- a/.gitignore
-+++ b/.gitignore
-@@ -1,6 +1,5 @@
- /Makefile
- /build-aux
--/debugedit
- /libtool
- /missing
- /contrib/pakfire.nm
-@@ -9,7 +8,6 @@
- /src/scripts/extract-debuginfo
- /src/systemd/*.service
- /tmp
--/tools/debugedit
- *.py[co]
- /*.tar.bz2
- /*.tar.gz
-diff --git a/Makefile.am b/Makefile.am
-index 28dd954..bf7e42f 100644
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -244,25 +244,6 @@ libpakfire_preload_la_LIBADD = \
- # ------------------------------------------------------------------------------
--libexec_PROGRAMS += \
--      debugedit
--
--debugedit_SOURCES = \
--      src/debugedit/debugedit.c \
--      src/debugedit/hashtab.c \
--      src/debugedit/hashtab.h \
--      src/debugedit/rpmiotypes.h \
--      src/debugedit/rpmsw.h \
--      src/debugedit/rpmtag.h
--
--debugedit_LDADD = \
--      $(AM_CFLAGS) \
--      $(BEECRYPT_LIBS) \
--      $(ELF_LIBS) \
--      $(POPT_LIBS)
--
--# ------------------------------------------------------------------------------
--
- scripts_SCRIPTS = \
-       src/scripts/extract-debuginfo \
-       src/scripts/quality-agent
-diff --git a/configure.ac b/configure.ac
-index 4030541..1e188e7 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -103,12 +103,6 @@ AM_PATH_PYTHON([2.7])
- save_LIBS="$LIBS"
--# beecrypt
--LIBS=
--AC_SEARCH_LIBS([hashFunctionContextInit], [beecrypt], [], [AC_MSG_ERROR([*** beecrypt library not found])])
--BEECRYPT_LIBS="$LIBS"
--AC_SUBST(BEECRYPT_LIBS)
--
- # libdl
- LIBS=
- AC_SEARCH_LIBS([dlsym], [dl], [], [AC_MSG_ERROR([*** Dynamic linking loader library not found])])
-@@ -123,22 +117,6 @@ AC_SEARCH_LIBS([cap_init], [cap], [], [AC_MSG_ERROR([*** POSIX caps library not
- CAP_LIBS="$LIBS"
- AC_SUBST(CAP_LIBS)
--# libelf
--AC_CHECK_HEADERS([libelf.h gelf.h], [], [AC_MSG_ERROR([*** libelf headers not found])])
--
--LIBS=
--AC_SEARCH_LIBS([gelf_getvernaux], [elf], [], [AC_MSG_ERROR([*** libelf library not found])])
--ELF_LIBS="$LIBS"
--AC_SUBST(ELF_LIBS)
--
--# libpopt
--AC_CHECK_HEADERS([popt.h], [], [AC_MSG_ERROR([*** libpopt headers not found])])
--
--LIBS=
--AC_SEARCH_LIBS([poptGetContext], [popt], [], [AC_MSG_ERROR([*** libpopt library not found])])
--POPT_LIBS="$LIBS"
--AC_SUBST(POPT_LIBS)
--
- # libsolv
- AC_CHECK_HEADERS([solv/solvversion.h], [], [AC_MSG_ERROR([*** libsolv headers not found])])
-diff --git a/src/debugedit/debugedit.c b/src/debugedit/debugedit.c
-deleted file mode 100644
-index 75b48f0..0000000
---- a/src/debugedit/debugedit.c
-+++ /dev/null
-@@ -1,1688 +0,0 @@
--/* Copyright (C) 2001, 2002, 2003, 2005, 2007, 2009 Red Hat, Inc.
--   Written by Alexander Larsson <alexl@redhat.com>, 2002
--   Based on code by Jakub Jelinek <jakub@redhat.com>, 2001.
--
--   This program is free software; you can redistribute it and/or modify
--   it under the terms of the GNU General Public License as published by
--   the Free Software Foundation; either version 2, or (at your option)
--   any later version.
--
--   This program is distributed in the hope that it will be useful,
--   but WITHOUT ANY WARRANTY; without even the implied warranty of
--   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
--   GNU General Public License for more details.
--
--   You should have received a copy of the GNU General Public License
--   along with this program; if not, write to the Free Software Foundation,
--   Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
--
--/* Needed for libelf */
--#define _FILE_OFFSET_BITS 64
--
--#include <assert.h>
--#include <byteswap.h>
--#include <endian.h>
--#include <errno.h>
--#include <error.h>
--#include <limits.h>
--#include <string.h>
--#include <stdlib.h>
--#include <unistd.h>
--#include <sys/types.h>
--#include <sys/stat.h>
--#include <fcntl.h>
--#include <popt.h>
--
--#include <gelf.h>
--
--/* some defines taken from the dwarf standard */
--
--#define DW_TAG_compile_unit   0x11
--
--#define DW_AT_name            0x03
--#define DW_AT_stmt_list               0x10
--#define DW_AT_comp_dir                0x1b
--
--#define DW_FORM_addr          0x01
--#define DW_FORM_block2                0x03
--#define DW_FORM_block4                0x04
--#define DW_FORM_data2         0x05
--#define DW_FORM_data4         0x06
--#define DW_FORM_data8         0x07
--#define DW_FORM_string                0x08
--#define DW_FORM_block         0x09
--#define DW_FORM_block1                0x0a
--#define DW_FORM_data1         0x0b
--#define DW_FORM_flag          0x0c
--#define DW_FORM_sdata         0x0d
--#define DW_FORM_strp          0x0e
--#define DW_FORM_udata         0x0f
--#define DW_FORM_ref_addr      0x10
--#define DW_FORM_ref1          0x11
--#define DW_FORM_ref2          0x12
--#define DW_FORM_ref4          0x13
--#define DW_FORM_ref8          0x14
--#define DW_FORM_ref_udata     0x15
--#define DW_FORM_indirect      0x16
--
--#include <beecrypt/beecrypt.h>
--#include "hashtab.h"
--#include "rpmtag.h"
--
--#define DW_TAG_partial_unit 0x3c
--#define DW_FORM_sec_offset 0x17
--#define DW_FORM_exprloc 0x18
--#define DW_FORM_flag_present 0x19
--#define DW_FORM_ref_sig8 0x20
--
--char *base_dir = NULL;
--char *dest_dir = NULL;
--char *list_file = NULL;
--int list_file_fd = -1;
--int do_build_id = 0;
--
--typedef struct
--{
--  Elf *elf;
--  GElf_Ehdr ehdr;
--  Elf_Scn **scn;
--  const char *filename;
--  int lastscn;
--  GElf_Shdr shdr[0];
--} DSO;
--
--typedef struct
--{
--  unsigned char *ptr;
--  rpmuint32_t addend;
--} REL;
--
--#define read_uleb128(ptr) ({          \
--  unsigned int ret = 0;                       \
--  unsigned int c;                     \
--  int shift = 0;                      \
--  do                                  \
--    {                                 \
--      c = *ptr++;                     \
--      ret |= (c & 0x7f) << shift;     \
--      shift += 7;                     \
--    } while (c & 0x80);                       \
--                                      \
--  if (shift >= 35)                    \
--    ret = UINT_MAX;                   \
--  ret;                                        \
--})
--
--static rpmuint16_t (*do_read_16) (unsigned char *ptr);
--static rpmuint32_t (*do_read_32) (unsigned char *ptr);
--static void (*write_32) (unsigned char *ptr, GElf_Addr val);
--
--static int ptr_size;
--static int cu_version;
--
--static inline rpmuint16_t
--buf_read_ule16 (unsigned char *data)
--{
--  return data[0] | (data[1] << 8);
--}
--
--static inline rpmuint16_t
--buf_read_ube16 (unsigned char *data)
--{
--  return data[1] | (data[0] << 8);
--}
--
--static inline rpmuint32_t
--buf_read_ule32 (unsigned char *data)
--{
--  return data[0] | (data[1] << 8) | (data[2] << 16) | (data[3] << 24);
--}
--
--static inline rpmuint32_t
--buf_read_ube32 (unsigned char *data)
--{
--  return data[3] | (data[2] << 8) | (data[1] << 16) | (data[0] << 24);
--}
--
--static const char *
--strptr (DSO *dso, int sec, off_t offset)
--{
--  Elf_Scn *scn;
--  Elf_Data *data;
--
--  scn = dso->scn[sec];
--  if (offset >= 0 && (GElf_Addr) offset < dso->shdr[sec].sh_size)
--    {
--      data = NULL;
--      while ((data = elf_rawdata (scn, data)) != NULL)
--      {
--        if (data->d_buf
--            && offset >= data->d_off
--            && offset < data->d_off + (off_t)data->d_size)
--          return (const char *) data->d_buf + (offset - data->d_off);
--      }
--    }
--
--  return NULL;
--}
--
--
--#define read_1(ptr) *ptr++
--
--#define read_16(ptr) ({                                       \
--  rpmuint16_t ret = do_read_16 (ptr);                 \
--  ptr += 2;                                           \
--  ret;                                                        \
--})
--
--#define read_32(ptr) ({                                       \
--  rpmuint32_t ret = do_read_32 (ptr);                 \
--  ptr += 4;                                           \
--  ret;                                                        \
--})
--
--REL *relptr, *relend;
--int reltype;
--
--#define do_read_32_relocated(ptr) ({                  \
--  rpmuint32_t dret = do_read_32 (ptr);                        \
--  if (relptr)                                         \
--    {                                                 \
--      while (relptr < relend && relptr->ptr < ptr)    \
--      ++relptr;                                       \
--      if (relptr < relend && relptr->ptr == ptr)      \
--      {                                               \
--        if (reltype == SHT_REL)                       \
--          dret += relptr->addend;                     \
--        else                                          \
--          dret = relptr->addend;                      \
--      }                                               \
--    }                                                 \
--  dret;                                                       \
--})
--
--#define read_32_relocated(ptr) ({                     \
--  rpmuint32_t ret = do_read_32_relocated (ptr);               \
--  ptr += 4;                                           \
--  ret;                                                        \
--})
--
--static void
--dwarf2_write_le32 (unsigned char *p, GElf_Addr val)
--{
--  rpmuint32_t v = (rpmuint32_t) val;
--
--  p[0] = v;
--  p[1] = v >> 8;
--  p[2] = v >> 16;
--  p[3] = v >> 24;
--}
--
--
--static void
--dwarf2_write_be32 (unsigned char *p, GElf_Addr val)
--{
--  rpmuint32_t v = (rpmuint32_t) val;
--
--  p[3] = v;
--  p[2] = v >> 8;
--  p[1] = v >> 16;
--  p[0] = v >> 24;
--}
--
--static struct
--  {
--    const char *name;
--    unsigned char *data;
--    Elf_Data *elf_data;
--    size_t size;
--    int sec, relsec;
--  } debug_sections[] =
--  {
--#define DEBUG_INFO    0
--#define DEBUG_ABBREV  1
--#define DEBUG_LINE    2
--#define DEBUG_ARANGES 3
--#define DEBUG_PUBNAMES        4
--#define DEBUG_PUBTYPES        5
--#define DEBUG_MACINFO 6
--#define DEBUG_LOC     7
--#define DEBUG_STR     8
--#define DEBUG_FRAME   9
--#define DEBUG_RANGES  10
--#define DEBUG_TYPES   11
--#define DEBUG_MACRO   12
--    { ".debug_info", NULL, NULL, 0, 0, 0 },
--    { ".debug_abbrev", NULL, NULL, 0, 0, 0 },
--    { ".debug_line", NULL, NULL, 0, 0, 0 },
--    { ".debug_aranges", NULL, NULL, 0, 0, 0 },
--    { ".debug_pubnames", NULL, NULL, 0, 0, 0 },
--    { ".debug_pubtypes", NULL, NULL, 0, 0, 0 },
--    { ".debug_macinfo", NULL, NULL, 0, 0, 0 },
--    { ".debug_loc", NULL, NULL, 0, 0, 0 },
--    { ".debug_str", NULL, NULL, 0, 0, 0 },
--    { ".debug_frame", NULL, NULL, 0, 0, 0 },
--    { ".debug_ranges", NULL, NULL, 0, 0, 0 },
--    { ".debug_types", NULL, NULL, 0, 0, 0 },
--    { ".debug_macro", NULL, NULL, 0, 0, 0 },
--    { NULL, NULL, NULL, 0, 0, 0 }
--  };
--
--struct abbrev_attr
--  {
--    unsigned int attr;
--    unsigned int form;
--  };
--
--struct abbrev_tag
--  {
--    unsigned int entry;
--    unsigned int tag;
--    int nattr;
--    struct abbrev_attr attr[0];
--  };
--
--static hashval_t
--abbrev_hash (const void *p)
--{
--  struct abbrev_tag *t = (struct abbrev_tag *)p;
--
--  return t->entry;
--}
--
--static int
--abbrev_eq (const void *p, const void *q)
--{
--  struct abbrev_tag *t1 = (struct abbrev_tag *)p;
--  struct abbrev_tag *t2 = (struct abbrev_tag *)q;
--
--  return t1->entry == t2->entry;
--}
--
--static void
--abbrev_del (void *p)
--{
--  free (p);
--}
--
--static htab_t
--read_abbrev (DSO *dso, unsigned char *ptr)
--{
--  htab_t h = htab_try_create (50, abbrev_hash, abbrev_eq, abbrev_del);
--  unsigned int attr, form;
--  struct abbrev_tag *t;
--  int size;
--  void **slot;
--
--  if (h == NULL)
--    {
--no_memory:
--      error (0, ENOMEM, "%s: Could not read .debug_abbrev", dso->filename);
--      if (h)
--        htab_delete (h);
--      return NULL;
--    }
--
--  while ((attr = read_uleb128 (ptr)) != 0)
--    {
--      size = 10;
--      t = malloc (sizeof (*t) + size * sizeof (struct abbrev_attr));
--      if (t == NULL)
--        goto no_memory;
--      t->entry = attr;
--      t->nattr = 0;
--      slot = htab_find_slot (h, t, INSERT);
--      if (slot == NULL)
--        {
--        free (t);
--        goto no_memory;
--        }
--      if (*slot != NULL)
--      {
--        error (0, 0, "%s: Duplicate DWARF abbreviation %d", dso->filename,
--               t->entry);
--        free (t);
--        htab_delete (h);
--        return NULL;
--      }
--      t->tag = read_uleb128 (ptr);
--      ++ptr; /* skip children flag.  */
--      while ((attr = read_uleb128 (ptr)) != 0)
--        {
--        if (t->nattr == size)
--          {
--            size += 10;
--            t = realloc (t, sizeof (*t) + size * sizeof (struct abbrev_attr));
--            if (t == NULL)
--              goto no_memory;
--          }
--        form = read_uleb128 (ptr);
--        if (form == 2
--            || (form > DW_FORM_flag_present && form != DW_FORM_ref_sig8))
--          {
--            error (0, 0, "%s: Unknown DWARF DW_FORM_%d", dso->filename, form);
--            htab_delete (h);
--            return NULL;
--          }
--
--        t->attr[t->nattr].attr = attr;
--        t->attr[t->nattr++].form = form;
--        }
--      if (read_uleb128 (ptr) != 0)
--        {
--        error (0, 0, "%s: DWARF abbreviation does not end with 2 zeros",
--               dso->filename);
--        htab_delete (h);
--        return NULL;
--        }
--      *slot = t;
--    }
--
--  return h;
--}
--
--#define IS_DIR_SEPARATOR(c) ((c)=='/')
--
--static char *
--canonicalize_path (const char *s, char *d)
--{
--  char *rv = d;
--  const char *sroot;
--  char *droot;
--
--  if (IS_DIR_SEPARATOR (*s))
--    {
--      *d++ = *s++;
--      if (IS_DIR_SEPARATOR (*s) && !IS_DIR_SEPARATOR (s[1]))
--      {
--        /* Special case for "//foo" meaning a Posix namespace
--           escape.  */
--        *d++ = *s++;
--      }
--      while (IS_DIR_SEPARATOR (*s))
--      s++;
--    }
--  droot = d;
--  sroot = s;
--
--  while (*s)
--    {
--      /* At this point, we're always at the beginning of a path
--       segment.  */
--
--      if (s[0] == '.' && (s[1] == 0 || IS_DIR_SEPARATOR (s[1])))
--      {
--        s++;
--        if (*s)
--          while (IS_DIR_SEPARATOR (*s))
--            ++s;
--      }
--
--      else if (s[0] == '.' && s[1] == '.'
--             && (s[2] == 0 || IS_DIR_SEPARATOR (s[2])))
--      {
--        char *pre = d - 1; /* includes slash */
--        while (droot < pre && IS_DIR_SEPARATOR (*pre))
--          pre--;
--        if (droot <= pre && ! IS_DIR_SEPARATOR (*pre))
--          {
--            while (droot < pre && ! IS_DIR_SEPARATOR (*pre))
--              pre--;
--            /* pre now points to the slash */
--            if (droot < pre)
--              pre++;
--            if (pre + 3 == d && pre[0] == '.' && pre[1] == '.')
--              {
--                *d++ = *s++;
--                *d++ = *s++;
--              }
--            else
--              {
--                d = pre;
--                s += 2;
--                if (*s)
--                  while (IS_DIR_SEPARATOR (*s))
--                    s++;
--              }
--          }
--        else
--          {
--            *d++ = *s++;
--            *d++ = *s++;
--          }
--      }
--      else
--      {
--        while (*s && ! IS_DIR_SEPARATOR (*s))
--          *d++ = *s++;
--      }
--
--      if (IS_DIR_SEPARATOR (*s))
--      {
--        *d++ = *s++;
--        while (IS_DIR_SEPARATOR (*s))
--          s++;
--      }
--    }
--  while (droot < d && IS_DIR_SEPARATOR (d[-1]))
--    --d;
--  if (d == rv)
--    *d++ = '.';
--  *d = 0;
--
--  return rv;
--}
--
--static int
--has_prefix (const char  *str,
--          const char  *prefix)
--{
--  size_t str_len;
--  size_t prefix_len;
--  
--  str_len = strlen (str);
--  prefix_len = strlen (prefix);
--
--  if (str_len < prefix_len)
--    return 0;
--  
--  return strncmp (str, prefix, prefix_len) == 0;
--}
--
--static int
--edit_dwarf2_line (DSO *dso, rpmuint32_t off, char *comp_dir, int phase)
--{
--  unsigned char *ptr = debug_sections[DEBUG_LINE].data, *dir;
--  unsigned char **dirt;
--  unsigned char *endsec = ptr + debug_sections[DEBUG_LINE].size;
--  unsigned char *endcu, *endprol;
--  unsigned char opcode_base;
--  rpmuint32_t value, dirt_cnt;
--  size_t comp_dir_len = strlen (comp_dir);
--  size_t abs_file_cnt = 0, abs_dir_cnt = 0;
--
--  if (phase != 0)
--    return 0;
--  
--  ptr += off;
--  
--  endcu = ptr + 4;
--  endcu += read_32 (ptr);
--  if (endcu == ptr + 0xffffffff)
--    {
--      error (0, 0, "%s: 64-bit DWARF not supported", dso->filename);
--      return 1;
--    }
--
--  if (endcu > endsec)
--    {
--      error (0, 0, "%s: .debug_line CU does not fit into section",
--           dso->filename);
--      return 1;
--    }
--
--  value = read_16 (ptr);
--  if (value != 2 && value != 3 && value != 4)
--    {
--      error (0, 0, "%s: DWARF version %d unhandled", dso->filename,
--           value);
--      return 1;
--    }
--  
--  endprol = ptr + 4;
--  endprol += read_32 (ptr);
--  if (endprol > endcu)
--    {
--      error (0, 0, "%s: .debug_line CU prologue does not fit into CU",
--           dso->filename);
--      return 1;
--    }
--  
--  opcode_base = ptr[4 + (value >= 4)];
--  ptr = dir = ptr + 4 + (value >= 4) + opcode_base;
--  
--  /* dir table: */
--  value = 1;
--  while (*ptr != 0)
--    {
--      ptr = (unsigned char *) strchr ((char *)ptr, 0) + 1;
--      ++value;
--    }
--
--  dirt = (unsigned char **) alloca (value * sizeof (unsigned char *));
--  dirt[0] = (unsigned char *) ".";
--  dirt_cnt = 1;
--  ptr = dir;
--  while (*ptr != 0)
--    {
--      dirt[dirt_cnt++] = ptr;
--      ptr = (unsigned char *) strchr ((char *)ptr, 0) + 1;
--    }
--  ptr++;
--
--  /* file table: */
--  while (*ptr != 0)
--    {
--      char *s, *file;
--      size_t file_len, dir_len;
--
--      file = (char *) ptr;
--      ptr = (unsigned char *) strchr ((char *)ptr, 0) + 1;
--      value = read_uleb128 (ptr);
--
--      if (value >= dirt_cnt)
--      {
--        error (0, 0, "%s: Wrong directory table index %u",
--               dso->filename, value);
--        return 1;
--      }
--      file_len = strlen (file);
--      dir_len = strlen ((char *)dirt[value]);
--      s = malloc (comp_dir_len + 1 + file_len + 1 + dir_len + 1);
--      if (s == NULL)
--      {
--        error (0, ENOMEM, "%s: Reading file table", dso->filename);
--        return 1;
--      }
--      if (*file == '/')
--      {
--        memcpy (s, file, file_len + 1);
--        if (dest_dir && has_prefix (file, base_dir))
--          ++abs_file_cnt;
--      }
--      else if (*dirt[value] == '/')
--      {
--        memcpy (s, dirt[value], dir_len);
--        s[dir_len] = '/';
--        memcpy (s + dir_len + 1, file, file_len + 1);
--      }
--      else
--      {
--        char *p = s;
--        if (comp_dir_len != 0)
--          {
--            memcpy (s, comp_dir, comp_dir_len);
--            s[comp_dir_len] = '/';
--            p += comp_dir_len + 1;
--          }
--        memcpy (p, dirt[value], dir_len);
--        p[dir_len] = '/';
--        memcpy (p + dir_len + 1, file, file_len + 1);
--      }
--      canonicalize_path (s, s);
--      if (list_file_fd != -1)
--      {
--        char *p = NULL;
--        if (base_dir == NULL)
--          p = s;
--        else if (has_prefix (s, base_dir))
--          p = s + strlen (base_dir);
--        else if (has_prefix (s, dest_dir))
--          p = s + strlen (dest_dir);
--
--        if (p)
--          {
--            size_t size = strlen (p) + 1;
--            while (size > 0)
--              {
--                ssize_t ret = write (list_file_fd, p, size);
--                if (ret == -1)
--                  break;
--                size -= ret;
--                p += ret;
--              }
--          }
--      }
--
--      free (s);
--      
--      read_uleb128 (ptr);
--      read_uleb128 (ptr);
--    }
--  ++ptr;
--  
--  if (dest_dir)
--    {
--      unsigned char *srcptr, *buf = NULL;
--      size_t base_len = strlen (base_dir);
--      size_t dest_len = strlen (dest_dir);
--      size_t shrank = 0;
--
--      if (dest_len == base_len)
--      abs_file_cnt = 0;
--      if (abs_file_cnt)
--      {
--        srcptr = buf = malloc (ptr - dir);
--        memcpy (srcptr, dir, ptr - dir);
--        ptr = dir;
--      }
--      else
--      ptr = srcptr = dir;
--      while (*srcptr != 0)
--      {
--        size_t len = strlen ((char *)srcptr) + 1;
--        const unsigned char *readptr = srcptr;
--
--        if (*srcptr == '/' && has_prefix ((char *)srcptr, base_dir))
--          {
--            if (dest_len < base_len)
--                ++abs_dir_cnt;
--            memcpy (ptr, dest_dir, dest_len);
--            ptr += dest_len;
--            readptr += base_len;
--              }
--        srcptr += len;
--
--        shrank += srcptr - readptr;
--        canonicalize_path ((char *)readptr, (char *)ptr);
--        len = strlen ((char *)ptr) + 1;
--        shrank -= len;
--        ptr += len;
--
--            elf_flagdata (debug_sections[DEBUG_STR].elf_data,
--                          ELF_C_SET, ELF_F_DIRTY);
--          }
--
--      if (shrank > 0)
--      {
--        if (--shrank == 0)
--          error (EXIT_FAILURE, 0,
--                 "canonicalization unexpectedly shrank by one character");
--        else
--          {       
--            memset (ptr, 'X', shrank);
--            ptr += shrank;
--            *ptr++ = '\0';
--          }
--      }
--
--      if (abs_dir_cnt + abs_file_cnt != 0)
--      {
--        size_t len = (abs_dir_cnt + abs_file_cnt) * (base_len - dest_len);
--
--        if (len == 1)
--          error (EXIT_FAILURE, 0, "-b arg has to be either the same length as -d arg, or more than 1 char shorter");
--        memset (ptr, 'X', len - 1);
--        ptr += len - 1;
--        *ptr++ = '\0';
--      }
--      *ptr++ = '\0';
--      ++srcptr;
--
--      while (*srcptr != 0)
--      {
--        size_t len = strlen ((char *)srcptr) + 1;
--
--        if (*srcptr == '/' && has_prefix ((char *)srcptr, base_dir))
--          {
--            memcpy (ptr, dest_dir, dest_len);
--            if (dest_len < base_len)
--              {
--                memmove (ptr + dest_len, srcptr + base_len,
--                         len - base_len);
--                ptr += dest_len - base_len;
--              }
--            elf_flagdata (debug_sections[DEBUG_STR].elf_data,
--                          ELF_C_SET, ELF_F_DIRTY);
--          }
--        else if (ptr != srcptr)
--          memmove (ptr, srcptr, len);
--        srcptr += len;
--        ptr += len;
--        dir = srcptr;
--        read_uleb128 (srcptr);
--        read_uleb128 (srcptr);
--        read_uleb128 (srcptr);
--        if (ptr != dir)
--          memmove (ptr, dir, srcptr - dir);
--        ptr += srcptr - dir;
--      }
--      *ptr = '\0';
--      free (buf);
--    }
--  return 0;
--}
--
--
--
--static unsigned char *
--edit_attributes (DSO *dso, unsigned char *ptr, struct abbrev_tag *t, int phase)
--{
--  int i;
--  rpmuint32_t list_offs;
--  int found_list_offs;
--  char *comp_dir;
--  
--  comp_dir = NULL;
--  list_offs = 0;
--  found_list_offs = 0;
--  for (i = 0; i < t->nattr; ++i)
--    {
--      rpmuint32_t form = t->attr[i].form;
--      size_t len = 0;
--      size_t base_len, dest_len;
--      
--
--      while (1)
--      {
--        if (t->attr[i].attr == DW_AT_stmt_list)
--          {
--            if (form == DW_FORM_data4
--                || form == DW_FORM_sec_offset)
--              {
--                list_offs = do_read_32_relocated (ptr);
--                found_list_offs = 1;
--              }
--          }
--
--        if (t->attr[i].attr == DW_AT_comp_dir)
--        {
--            if ( form == DW_FORM_string )
--            {
--                free (comp_dir);
--                comp_dir = strdup ((char *)ptr);
--                
--                if (phase == 1 && dest_dir && has_prefix ((char *)ptr, base_dir))
--                {
--                    base_len = strlen (base_dir);
--                    dest_len = strlen (dest_dir);
--                    
--                    memcpy (ptr, dest_dir, dest_len);
--                    if (dest_len < base_len)
--                    {
--                        memset(ptr + dest_len, '/',
--                               base_len - dest_len);
--                        
--                    }
--                    elf_flagdata (debug_sections[DEBUG_INFO].elf_data,
--                                  ELF_C_SET, ELF_F_DIRTY);
--                }
--            }
--        
--            else if (form == DW_FORM_strp &&
--                     debug_sections[DEBUG_STR].data)
--            {
--                char *dir;
--
--                dir = (char *) debug_sections[DEBUG_STR].data
--                    + do_read_32_relocated (ptr);
--
--                free (comp_dir);
--                comp_dir = strdup (dir);
--
--                if (phase == 1 && dest_dir && has_prefix (dir, base_dir))
--                {
--                    base_len = strlen (base_dir);
--                    dest_len = strlen (dest_dir);
--                
--                    memcpy (dir, dest_dir, dest_len);
--                    if (dest_len < base_len)
--                    {
--                        memmove (dir + dest_len, dir + base_len,
--                                 strlen (dir + base_len) + 1);
--                    }
--                    elf_flagdata (debug_sections[DEBUG_STR].elf_data,
--                                  ELF_C_SET, ELF_F_DIRTY);
--                }
--            }
--        }
--        else if ((t->tag == DW_TAG_compile_unit
--                  || t->tag == DW_TAG_partial_unit)
--                 && t->attr[i].attr == DW_AT_name
--                 && form == DW_FORM_strp
--                 && debug_sections[DEBUG_STR].data)
--          {
--            char *name;
--            
--            name = (char *) debug_sections[DEBUG_STR].data
--                   + do_read_32_relocated (ptr);
--            if (*name == '/' && comp_dir == NULL)
--              {
--                char *enddir = strrchr (name, '/');
--
--                if (enddir != name)
--                  {
--                    comp_dir = malloc (enddir - name + 1);
--                    memcpy (comp_dir, name, enddir - name);
--                    comp_dir [enddir - name] = '\0';
--                  }
--                else
--                  comp_dir = strdup ("/");
--              }
--
--            if (phase == 1 && dest_dir && has_prefix (name, base_dir))
--              {
--                base_len = strlen (base_dir);
--                dest_len = strlen (dest_dir);
--                
--                memcpy (name, dest_dir, dest_len);
--                if (dest_len < base_len)
--                  {
--                    memmove (name + dest_len, name + base_len,
--                             strlen (name + base_len) + 1);
--                  }
--                elf_flagdata (debug_sections[DEBUG_STR].elf_data,
--                              ELF_C_SET, ELF_F_DIRTY);
--              }
--          }
--
--        switch (form)
--          {
--          case DW_FORM_ref_addr:
--            if (cu_version == 2)
--              ptr += ptr_size;
--            else
--              ptr += 4;
--            break;
--          case DW_FORM_flag_present:
--            break;
--          case DW_FORM_addr:
--            ptr += ptr_size;
--            break;
--          case DW_FORM_ref1:
--          case DW_FORM_flag:
--          case DW_FORM_data1:
--            ++ptr;
--            break;
--          case DW_FORM_ref2:
--          case DW_FORM_data2:
--            ptr += 2;
--            break;
--          case DW_FORM_ref4:
--          case DW_FORM_data4:
--          case DW_FORM_sec_offset:
--            ptr += 4;
--            break;
--          case DW_FORM_ref8:
--          case DW_FORM_data8:
--          case DW_FORM_ref_sig8:
--            ptr += 8;
--            break;
--          case DW_FORM_sdata:
--          case DW_FORM_ref_udata:
--          case DW_FORM_udata:
--            read_uleb128 (ptr);
--            break;
--          case DW_FORM_strp:
--            ptr += 4;
--            break;
--          case DW_FORM_string:
--            ptr = (unsigned char *) strchr ((char *)ptr, '\0') + 1;
--            break;
--          case DW_FORM_indirect:
--            form = read_uleb128 (ptr);
--            continue;
--          case DW_FORM_block1:
--            len = *ptr++;
--            break;
--          case DW_FORM_block2:
--            len = read_16 (ptr);
--            form = DW_FORM_block1;
--            break;
--          case DW_FORM_block4:
--            len = read_32 (ptr);
--            form = DW_FORM_block1;
--            break;
--          case DW_FORM_block:
--          case DW_FORM_exprloc:
--            len = read_uleb128 (ptr);
--            form = DW_FORM_block1;
--            assert (len < UINT_MAX);
--            break;
--          default:
--            error (0, 0, "%s: Unknown DWARF DW_FORM_%d", dso->filename,
--                   form);
--            return NULL;
--          }
--
--        if (form == DW_FORM_block1)
--          ptr += len;
--        
--        break;
--      }
--    }
--
--  /* Ensure the CU current directory will exist even if only empty.  Source
--     filenames possibly located in its parent directories refer relatively to
--     it and the debugger (GDB) cannot safely optimize out the missing
--     CU current dir subdirectories.  */
--  if (comp_dir && list_file_fd != -1)
--    {
--      char *p;
--      size_t size;
--
--      if (base_dir && has_prefix (comp_dir, base_dir))
--      p = comp_dir + strlen (base_dir);
--      else if (dest_dir && has_prefix (comp_dir, dest_dir))
--      p = comp_dir + strlen (dest_dir);
--      else
--      p = comp_dir;
--
--      size = strlen (p) + 1;
--      while (size > 0)
--      {
--        ssize_t ret = write (list_file_fd, p, size);
--        if (ret == -1)
--          break;
--        size -= ret;
--        p += ret;
--      }
--    }
--
--  if (found_list_offs && comp_dir)
--    edit_dwarf2_line (dso, list_offs, comp_dir, phase);
--
--  free (comp_dir);
--
--  return ptr;
--}
--
--static int
--rel_cmp (const void *a, const void *b)
--{
--  REL *rela = (REL *) a, *relb = (REL *) b;
--
--  if (rela->ptr < relb->ptr)
--    return -1;
--
--  if (rela->ptr > relb->ptr)
--    return 1;
--
--  return 0;
--}
--
--static int
--edit_dwarf2 (DSO *dso)
--{
--  Elf_Data *data;
--  Elf_Scn *scn;
--  int i, j;
--
--  for (i = 0; debug_sections[i].name; ++i)
--    {
--      debug_sections[i].data = NULL;
--      debug_sections[i].size = 0;
--      debug_sections[i].sec = 0;
--      debug_sections[i].relsec = 0;
--    }
--  ptr_size = 0;
--
--  for (i = 1; i < dso->ehdr.e_shnum; ++i)
--    if (! (dso->shdr[i].sh_flags & (SHF_ALLOC | SHF_WRITE | SHF_EXECINSTR))
--      && dso->shdr[i].sh_size)
--      {
--        const char *name = strptr (dso, dso->ehdr.e_shstrndx,
--                                 dso->shdr[i].sh_name);
--
--      if (strncmp (name, ".debug_", sizeof (".debug_") - 1) == 0)
--        {
--          for (j = 0; debug_sections[j].name; ++j)
--            if (strcmp (name, debug_sections[j].name) == 0)
--              {
--                if (debug_sections[j].data)
--                  {
--                    error (0, 0, "%s: Found two copies of %s section",
--                           dso->filename, name);
--                    return 1;
--                  }
--
--                scn = dso->scn[i]; 
--                data = elf_rawdata (scn, NULL);
--                assert (data != NULL && data->d_buf != NULL);
--                assert (elf_rawdata (scn, data) == NULL);
--                assert (data->d_off == 0);
--                assert (data->d_size == dso->shdr[i].sh_size);
--                debug_sections[j].data = data->d_buf;
--                debug_sections[j].elf_data = data;
--                debug_sections[j].size = data->d_size;
--                debug_sections[j].sec = i;
--                break;
--              }
--
--          if (debug_sections[j].name == NULL)
--            {
--              error (0, 0, "%s: Unknown debugging section %s",
--                     dso->filename, name);
--            }
--        }
--      else if (dso->ehdr.e_type == ET_REL
--               && ((dso->shdr[i].sh_type == SHT_REL
--                    && strncmp (name, ".rel.debug_",
--                                sizeof (".rel.debug_") - 1) == 0)
--                   || (dso->shdr[i].sh_type == SHT_RELA
--                       && strncmp (name, ".rela.debug_",
--                                   sizeof (".rela.debug_") - 1) == 0)))
--        {
--          for (j = 0; debug_sections[j].name; ++j)
--            if (strcmp (name + sizeof (".rel") - 1
--                        + (dso->shdr[i].sh_type == SHT_RELA),
--                        debug_sections[j].name) == 0)
--              {
--                debug_sections[j].relsec = i;
--                break;
--              }
--        }
--      }
--
--  if (dso->ehdr.e_ident[EI_DATA] == ELFDATA2LSB)
--    {
--      do_read_16 = buf_read_ule16;
--      do_read_32 = buf_read_ule32;
--      write_32 = dwarf2_write_le32;
--    }
--  else if (dso->ehdr.e_ident[EI_DATA] == ELFDATA2MSB)
--    {
--      do_read_16 = buf_read_ube16;
--      do_read_32 = buf_read_ube32;
--      write_32 = dwarf2_write_be32;
--    }
--  else
--    {
--      error (0, 0, "%s: Wrong ELF data enconding", dso->filename);
--      return 1;
--    }
--
--  if (debug_sections[DEBUG_INFO].data != NULL)
--    {
--      unsigned char *ptr, *endcu, *endsec;
--      rpmuint32_t value;
--      htab_t abbrev;
--      struct abbrev_tag tag, *t;
--      int phase;
--      REL *relbuf = NULL;
--
--      if (debug_sections[DEBUG_INFO].relsec)
--      {
--        int ndx, maxndx;
--        GElf_Rel rel;
--        GElf_Rela rela;
--        GElf_Sym sym;
--        GElf_Addr base = dso->shdr[debug_sections[DEBUG_INFO].sec].sh_addr;
--        Elf_Data *symdata = NULL;
--        int rtype;
--
--        i = debug_sections[DEBUG_INFO].relsec;
--        scn = dso->scn[i]; 
--        data = elf_getdata (scn, NULL);
--        assert (data != NULL && data->d_buf != NULL);
--        assert (elf_getdata (scn, data) == NULL);
--        assert (data->d_off == 0);
--        assert (data->d_size == dso->shdr[i].sh_size);
--        maxndx = dso->shdr[i].sh_size / dso->shdr[i].sh_entsize;
--        relbuf = malloc (maxndx * sizeof (REL));
--        reltype = dso->shdr[i].sh_type;
--        if (relbuf == NULL)
--          error (1, errno, "%s: Could not allocate memory", dso->filename);
--
--        symdata = elf_getdata (dso->scn[dso->shdr[i].sh_link], NULL);
--        assert (symdata != NULL && symdata->d_buf != NULL);
--        assert (elf_getdata (dso->scn[dso->shdr[i].sh_link], symdata)
--                == NULL);
--        assert (symdata->d_off == 0);
--        assert (symdata->d_size
--                == dso->shdr[dso->shdr[i].sh_link].sh_size);
--
--        for (ndx = 0, relend = relbuf; ndx < maxndx; ++ndx)
--          {
--            if (dso->shdr[i].sh_type == SHT_REL)
--              {
--                gelf_getrel (data, ndx, &rel);
--                rela.r_offset = rel.r_offset;
--                rela.r_info = rel.r_info;
--                rela.r_addend = 0;
--              }
--            else
--              gelf_getrela (data, ndx, &rela);
--            gelf_getsym (symdata, ELF64_R_SYM (rela.r_info), &sym);
--            /* Relocations against section symbols are uninteresting
--               in REL.  */
--            if (dso->shdr[i].sh_type == SHT_REL && sym.st_value == 0)
--              continue;
--            /* Only consider relocations against .debug_str, .debug_line
--               and .debug_abbrev.  */
--            if (sym.st_shndx != debug_sections[DEBUG_STR].sec
--                && sym.st_shndx != debug_sections[DEBUG_LINE].sec
--                && sym.st_shndx != debug_sections[DEBUG_ABBREV].sec)
--              continue;
--            rela.r_addend += sym.st_value;
--            rtype = ELF64_R_TYPE (rela.r_info);
--            switch (dso->ehdr.e_machine)
--              {
--              case EM_SPARC:
--              case EM_SPARC32PLUS:
--              case EM_SPARCV9:
--                if (rtype != R_SPARC_32 && rtype != R_SPARC_UA32)
--                  goto fail;
--                break;
--              case EM_386:
--                if (rtype != R_386_32)
--                  goto fail;
--                break;
--              case EM_PPC:
--              case EM_PPC64:
--                if (rtype != R_PPC_ADDR32 && rtype != R_PPC_UADDR32)
--                  goto fail;
--                break;
--              case EM_S390:
--                if (rtype != R_390_32)
--                  goto fail;
--                break;
--              case EM_IA_64:
--                if (rtype != R_IA64_SECREL32LSB)
--                  goto fail;
--                break;
--              case EM_X86_64:
--                if (rtype != R_X86_64_32)
--                  goto fail;
--                break;
--              case EM_ALPHA:
--                if (rtype != R_ALPHA_REFLONG)
--                  goto fail;
--                break;
--              default:
--              fail:
--                error (1, 0, "%s: Unhandled relocation %d in .debug_info section",
--                       dso->filename, rtype);
--              }
--            relend->ptr = debug_sections[DEBUG_INFO].data
--                          + (rela.r_offset - base);
--            relend->addend = rela.r_addend;
--            ++relend;
--          }
--        if (relbuf == relend)
--          {
--            free (relbuf);
--            relbuf = NULL;
--            relend = NULL;
--          }
--        else
--          qsort (relbuf, relend - relbuf, sizeof (REL), rel_cmp);
--      }
--
--      for (phase = 0; phase < 2; phase++)
--      {
--        ptr = debug_sections[DEBUG_INFO].data;
--        relptr = relbuf;
--        endsec = ptr + debug_sections[DEBUG_INFO].size;
--        while (ptr < endsec)
--          {
--            if (ptr + 11 > endsec)
--              {
--                error (0, 0, "%s: .debug_info CU header too small",
--                       dso->filename);
--                return 1;
--              }
--
--            endcu = ptr + 4;
--            endcu += read_32 (ptr);
--            if (endcu == ptr + 0xffffffff)
--              {
--                error (0, 0, "%s: 64-bit DWARF not supported", dso->filename);
--                return 1;
--              }
--            
--            if (endcu > endsec)
--              {
--                error (0, 0, "%s: .debug_info too small", dso->filename);
--                return 1;
--              }
--            
--            cu_version = read_16 (ptr);
--            if (cu_version != 2 && cu_version != 3 && cu_version != 4)
--              {
--                error (0, 0, "%s: DWARF version %d unhandled", dso->filename,
--                       cu_version);
--                return 1;
--              }
--            
--            value = read_32_relocated (ptr);
--            if (value >= debug_sections[DEBUG_ABBREV].size)
--              {
--                if (debug_sections[DEBUG_ABBREV].data == NULL)
--                  error (0, 0, "%s: .debug_abbrev not present", dso->filename);
--                else
--                  error (0, 0, "%s: DWARF CU abbrev offset too large",
--                         dso->filename);
--                return 1;
--              }
--            
--            if (ptr_size == 0)
--              {
--                ptr_size = read_1 (ptr);
--                if (ptr_size != 4 && ptr_size != 8)
--                  {
--                    error (0, 0, "%s: Invalid DWARF pointer size %d",
--                           dso->filename, ptr_size);
--                    return 1;
--                  }
--              }
--            else if (read_1 (ptr) != ptr_size)
--              {
--                error (0, 0, "%s: DWARF pointer size differs between CUs",
--                       dso->filename);
--                return 1;
--              }
--            
--            abbrev = read_abbrev (dso,
--                                  debug_sections[DEBUG_ABBREV].data + value);
--            if (abbrev == NULL)
--              return 1;
--            
--            while (ptr < endcu)
--              {
--                tag.entry = read_uleb128 (ptr);
--                if (tag.entry == 0)
--                  continue;
--                t = htab_find_with_hash (abbrev, &tag, tag.entry);
--                if (t == NULL)
--                  {
--                    error (0, 0, "%s: Could not find DWARF abbreviation %d",
--                           dso->filename, tag.entry);
--                    htab_delete (abbrev);
--                    return 1;
--                  }
--                
--                ptr = edit_attributes (dso, ptr, t, phase);
--                if (ptr == NULL)
--                  break;
--              }
--            
--            htab_delete (abbrev);
--          }
--      }
--      free (relbuf);
--    }
--  
--  return 0;
--}
--
--static struct poptOption optionsTable[] = {
--    { "base-dir",  'b', POPT_ARG_STRING, &base_dir, 0,
--      "base build directory of objects", NULL },
--    { "dest-dir",  'd', POPT_ARG_STRING, &dest_dir, 0,
--      "directory to rewrite base-dir into", NULL },
--    { "list-file",  'l', POPT_ARG_STRING, &list_file, 0,
--      "file where to put list of source and header file names", NULL },
--    { "build-id",  'i', POPT_ARG_NONE, &do_build_id, 0,
--      "recompute build ID note and print ID on stdout", NULL },
--      POPT_AUTOHELP
--    { NULL, 0, 0, NULL, 0, NULL, NULL }
--};
--
--static DSO *
--fdopen_dso (int fd, const char *name)
--{
--  Elf *elf = NULL;
--  GElf_Ehdr ehdr;
--  int i;
--  DSO *dso = NULL;
--
--  elf = elf_begin (fd, ELF_C_RDWR_MMAP, NULL);
--  if (elf == NULL)
--    {
--      error (0, 0, "cannot open ELF file: %s", elf_errmsg (-1));
--      goto error_out;
--    }
--
--  if (elf_kind (elf) != ELF_K_ELF)
--    {
--      error (0, 0, "\"%s\" is not an ELF file", name);
--      goto error_out;
--    }
--
--  if (gelf_getehdr (elf, &ehdr) == NULL)
--    {
--      error (0, 0, "cannot get the ELF header: %s",
--           elf_errmsg (-1));
--      goto error_out;
--    }
--
--  if (ehdr.e_type != ET_DYN && ehdr.e_type != ET_EXEC && ehdr.e_type != ET_REL)
--    {
--      error (0, 0, "\"%s\" is not a shared library", name);
--      goto error_out;
--    }
--
--  /* Allocate DSO structure. Leave place for additional 20 new section
--     headers.  */
--  dso = (DSO *)
--      malloc (sizeof(DSO) + (ehdr.e_shnum + 20) * sizeof(GElf_Shdr)
--              + (ehdr.e_shnum + 20) * sizeof(Elf_Scn *));
--  if (!dso)
--    {
--      error (0, ENOMEM, "Could not open DSO");
--      goto error_out;
--    }
--
--  elf_flagelf (elf, ELF_C_SET, ELF_F_LAYOUT);
--  
--  memset (dso, 0, sizeof(DSO));
--  dso->elf = elf;
--  dso->ehdr = ehdr;
--  dso->scn = (Elf_Scn **) &dso->shdr[ehdr.e_shnum + 20];
--
--  for (i = 0; i < ehdr.e_shnum; ++i)
--    {
--      dso->scn[i] = elf_getscn (elf, i);
--      gelf_getshdr (dso->scn[i], dso->shdr + i);
--    }
--
--  dso->filename = (const char *) strdup (name);
--  return dso;
--
--error_out:
--  if (dso)
--    {
--      free ((char *) dso->filename);
--      free (dso);
--    }
--  if (elf)
--    elf_end (elf);
--  if (fd != -1)
--    close (fd);
--  return NULL;
--}
--
--/* Compute a fresh build ID bit-string from the editted file contents.  */
--static void
--handle_build_id (DSO *dso, Elf_Data *build_id,
--               size_t build_id_offset, size_t build_id_size)
--{
--  hashFunctionContext ctx;
--  const hashFunction *hf = NULL;
--  int i = hashFunctionCount ();
--
--  while (i-- > 0)
--    {
--      hf = hashFunctionGet (i);
--      if (hf != NULL && hf->digestsize == build_id_size)
--      break;
--    }
--  if (hf == NULL)
--    {
--      fprintf (stderr, "Cannot handle %Zu-byte build ID\n", build_id_size);
--      exit (1);
--    }
--
--  if (elf_update (dso->elf, ELF_C_NULL) < 0)
--    {
--      fprintf (stderr, "Failed to update file: %s\n",
--             elf_errmsg (elf_errno ()));
--      exit (1);
--    }
--
--  /* Clear the old bits so they do not affect the new hash.  */
--  memset ((char *) build_id->d_buf + build_id_offset, 0, build_id_size);
--
--  hashFunctionContextInit (&ctx, hf);
--
--  /* Slurp the relevant header bits and section contents and feed them
--     into the hash function.  The only bits we ignore are the offset
--     fields in ehdr and shdrs, since the semantically identical ELF file
--     could be written differently if it doesn't change the phdr layout.
--     We always use the GElf (i.e. Elf64) formats for the bits to hash
--     since it is convenient.  It doesn't matter whether this is an Elf32
--     or Elf64 object, only that we are consistent in what bits feed the
--     hash so it comes out the same for the same file contents.  */
--  {
--    auto inline void process (const void *data, size_t size);
--    auto inline void process (const void *data, size_t size)
--    {
--      memchunk chunk = { .data = (void *) data, .size = size };
--      hashFunctionContextUpdateMC (&ctx, &chunk);
--    }
--    union
--    {
--      GElf_Ehdr ehdr;
--      GElf_Phdr phdr;
--      GElf_Shdr shdr;
--    } u;
--    Elf_Data x = { .d_version = EV_CURRENT, .d_buf = &u };
--
--    x.d_type = ELF_T_EHDR;
--    x.d_size = sizeof u.ehdr;
--    u.ehdr = dso->ehdr;
--    u.ehdr.e_phoff = u.ehdr.e_shoff = 0;
--    if (elf64_xlatetom (&x, &x, dso->ehdr.e_ident[EI_DATA]) == NULL)
--      {
--      bad:
--      fprintf (stderr, "Failed to compute header checksum: %s\n",
--               elf_errmsg (elf_errno ()));
--      exit (1);
--      }
--
--    x.d_type = ELF_T_PHDR;
--    x.d_size = sizeof u.phdr;
--    for (i = 0; i < dso->ehdr.e_phnum; ++i)
--      {
--      if (gelf_getphdr (dso->elf, i, &u.phdr) == NULL)
--        goto bad;
--      if (elf64_xlatetom (&x, &x, dso->ehdr.e_ident[EI_DATA]) == NULL)
--        goto bad;
--      process (x.d_buf, x.d_size);
--      }
--
--    x.d_type = ELF_T_SHDR;
--    x.d_size = sizeof u.shdr;
--    for (i = 0; i < dso->ehdr.e_shnum; ++i)
--      if (dso->scn[i] != NULL)
--      {
--        u.shdr = dso->shdr[i];
--        u.shdr.sh_offset = 0;
--        if (elf64_xlatetom (&x, &x, dso->ehdr.e_ident[EI_DATA]) == NULL)
--          goto bad;
--        process (x.d_buf, x.d_size);
--
--        if (u.shdr.sh_type != SHT_NOBITS)
--          {
--            Elf_Data *d = elf_rawdata (dso->scn[i], NULL);
--            if (d == NULL)
--              goto bad;
--            process (d->d_buf, d->d_size);
--          }
--      }
--  }
--
--  hashFunctionContextDigest (&ctx, (byte *) build_id->d_buf + build_id_offset);
--  hashFunctionContextFree (&ctx);
--
--  elf_flagdata (build_id, ELF_C_SET, ELF_F_DIRTY);
--
--  /* Now format the build ID bits in hex to print out.  */
--  {
--    const rpmuint8_t * id = (rpmuint8_t *)build_id->d_buf + build_id_offset;
--    char hex[build_id_size * 2 + 1];
--    int n = snprintf (hex, 3, "%02" PRIx8, id[0]);
--    assert (n == 2);
--    for (i = 1; i < (int)build_id_size; ++i)
--      {
--      n = snprintf (&hex[i * 2], 3, "%02" PRIx8, id[i]);
--      assert (n == 2);
--      }
--    puts (hex);
--  }
--}
--
--int
--main (int argc, char *argv[])
--{
--  DSO *dso;
--  int fd, i;
--  const char *file;
--  poptContext optCon;   /* context for parsing command-line options */
--  int nextopt;
--  const char **args;
--  struct stat stat_buf;
--  char *p;
--  Elf_Data *build_id = NULL;
--  size_t build_id_offset = 0, build_id_size = 0;
--
--  optCon = poptGetContext("debugedit", argc, (const char **)argv, optionsTable, 0);
--  
--  while ((nextopt = poptGetNextOpt (optCon)) > 0 || nextopt == POPT_ERROR_BADOPT)
--    /* do nothing */ ;
--
--  if (nextopt != -1)
--    {
--      fprintf (stderr, "Error on option %s: %s.\nRun '%s --help' to see a full list of available command line options.\n",
--            poptBadOption (optCon, 0),
--            poptStrerror (nextopt),
--            argv[0]);
--      exit (1);
--    }
--  
--  args = poptGetArgs (optCon);
--  if (args == NULL || args[0] == NULL || args[1] != NULL)
--    {
--      poptPrintHelp(optCon, stdout, 0);
--      exit (1);
--    }
--
--  if (dest_dir != NULL)
--    {
--      if (base_dir == NULL)
--      {
--        fprintf (stderr, "You must specify a base dir if you specify a dest dir\n");
--        exit (1);
--      }
--      if (strlen (dest_dir) > strlen (base_dir))
--      {
--        fprintf (stderr, "Only dest dir longer than base dir not supported\n");
--        exit (1);
--      }
--    }
--
--  /* Make sure there are trailing slashes in dirs */
--  if (base_dir != NULL && base_dir[strlen (base_dir)-1] != '/')
--    {
--      p = malloc (strlen (base_dir) + 2);
--      strcpy (p, base_dir);
--      strcat (p, "/");
--      free (base_dir);
--      base_dir = p;
--    }
--  if (dest_dir != NULL && dest_dir[strlen (dest_dir)-1] != '/')
--    {
--      p = malloc (strlen (dest_dir) + 2);
--      strcpy (p, dest_dir);
--      strcat (p, "/");
--      free (dest_dir);
--      dest_dir = p;
--    }
--  
--  if (list_file != NULL)
--    {
--      list_file_fd = open (list_file, O_WRONLY|O_CREAT|O_APPEND, 0644);
--    }
--  
--  file = args[0];
--
--  if (elf_version(EV_CURRENT) == EV_NONE)
--    {
--      fprintf (stderr, "library out of date\n");
--      exit (1);
--    }
--
--  if (stat(file, &stat_buf) < 0)
--    {
--      fprintf (stderr, "Failed to open input file '%s': %s\n", file, strerror(errno));
--      exit (1);
--    }
--
--  /* Make sure we can read and write */
--  chmod (file, stat_buf.st_mode | S_IRUSR | S_IWUSR);
--
--  fd = open (file, O_RDWR);
--  if (fd < 0)
--    {
--      fprintf (stderr, "Failed to open input file '%s': %s\n", file, strerror(errno));
--      exit (1);
--    }
--
--  dso = fdopen_dso (fd, file);
--  if (dso == NULL)
--    exit (1);
--
--  for (i = 1; i < dso->ehdr.e_shnum; i++)
--    {
--      const char *name;
--      
--      switch (dso->shdr[i].sh_type)
--      {
--      case SHT_PROGBITS:
--      case SHT_MIPS_DWARF:
--        name = strptr (dso, dso->ehdr.e_shstrndx, dso->shdr[i].sh_name);
--        /* TODO: Handle stabs */
--#if 0
--        if (strcmp (name, ".stab") == 0)
--          edit_stabs (dso, i);
--#endif
--        if (strcmp (name, ".debug_info") == 0)
--          edit_dwarf2 (dso);
--
--        break;
--      case SHT_NOTE:
--        if (do_build_id
--            && build_id == NULL && (dso->shdr[i].sh_flags & SHF_ALLOC))
--          {
--            /* Look for a build-ID note here.  */
--            Elf_Data *data = elf_rawdata (elf_getscn (dso->elf, i), NULL);
--            Elf32_Nhdr nh;
--            Elf_Data dst =
--              {
--                .d_version = EV_CURRENT, .d_type = ELF_T_NHDR,
--                .d_buf = &nh, .d_size = sizeof nh
--              };
--            Elf_Data src = dst;
--            src.d_buf = data->d_buf;
--            assert (sizeof (Elf32_Nhdr) == sizeof (Elf64_Nhdr));
--            while ((char *) data->d_buf + data->d_size - 
--                   (char *) src.d_buf > (int) sizeof nh
--                   && elf32_xlatetom (&dst, &src, dso->ehdr.e_ident[EI_DATA]))
--              {
--                Elf32_Word len = sizeof nh + nh.n_namesz;
--                len = (len + 3) & ~3;
--
--                if (nh.n_namesz == sizeof "GNU" && nh.n_type == 3
--                    && !memcmp ((char *) src.d_buf + sizeof nh, "GNU", sizeof "GNU"))
--                  {
--                    build_id = data;
--                    build_id_offset = (char *) src.d_buf + len - 
--                                      (char *) data->d_buf;
--                    build_id_size = nh.n_descsz;
--                    break;
--                  }
--
--                len += nh.n_descsz;
--                len = (len + 3) & ~3;
--                src.d_buf = (char *) src.d_buf + len;
--              }
--          }
--        break;
--      default:
--        break;
--      }
--    }
--
--  if (do_build_id && build_id != NULL)
--    handle_build_id (dso, build_id, build_id_offset, build_id_size);
--
--  if (elf_update (dso->elf, ELF_C_WRITE) < 0)
--    {
--      fprintf (stderr, "Failed to write file: %s\n", elf_errmsg (elf_errno()));
--      exit (1);
--    }
--  if (elf_end (dso->elf) < 0)
--    {
--      fprintf (stderr, "elf_end failed: %s\n", elf_errmsg (elf_errno()));
--      exit (1);
--    }
--  close (fd);
--
--  /* Restore old access rights */
--  chmod (file, stat_buf.st_mode);
--  
--  poptFreeContext (optCon);
--
--  return 0;
--}
-diff --git a/src/debugedit/hashtab.c b/src/debugedit/hashtab.c
-deleted file mode 100644
-index e498545..0000000
---- a/src/debugedit/hashtab.c
-+++ /dev/null
-@@ -1,523 +0,0 @@
--/* An expandable hash tables datatype.  
--   Copyright (C) 1999, 2000, 2001 Free Software Foundation, Inc.
--   Contributed by Vladimir Makarov (vmakarov@cygnus.com).
--
--This file is part of the libiberty library.
--Libiberty is free software; you can redistribute it and/or
--modify it under the terms of the GNU Library General Public
--License as published by the Free Software Foundation; either
--version 2 of the License, or (at your option) any later version.
--
--Libiberty is distributed in the hope that it will be useful,
--but WITHOUT ANY WARRANTY; without even the implied warranty of
--MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
--Library General Public License for more details.
--
--You should have received a copy of the GNU Library General Public
--License along with libiberty; see the file COPYING.LIB.  If
--not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
--Boston, MA 02111-1307, USA.  */
--
--/* This package implements basic hash table functionality.  It is possible
--   to search for an entry, create an entry and destroy an entry.
--
--   Elements in the table are generic pointers.
--
--   The size of the table is not fixed; if the occupancy of the table
--   grows too high the hash table will be expanded.
--
--   The abstract data implementation is based on generalized Algorithm D
--   from Knuth's book "The art of computer programming".  Hash table is
--   expanded by creation of new hash table and transferring elements from
--   the old table to the new table. */
--
--#include <sys/types.h>
--#include <stdlib.h>
--#include <string.h>
--#include <stdio.h>
--#include "hashtab.h"
--
--/* This macro defines reserved value for empty table entry. */
--
--#define EMPTY_ENTRY    ((void *) 0)
--
--/* This macro defines reserved value for table entry which contained
--   a deleted element. */
--
--#define DELETED_ENTRY  ((void *) 1)
--
--static unsigned long higher_prime_number (unsigned long);
--static hashval_t hash_pointer (const void *);
--static int eq_pointer (const void *, const void *);
--static int htab_expand (htab_t);
--static void **find_empty_slot_for_expand  (htab_t, hashval_t);
--
--/* At some point, we could make these be NULL, and modify the
--   hash-table routines to handle NULL specially; that would avoid
--   function-call overhead for the common case of hashing pointers.  */
--htab_hash htab_hash_pointer = hash_pointer;
--htab_eq htab_eq_pointer = eq_pointer;
--
--/* The following function returns a nearest prime number which is
--   greater than N, and near a power of two. */
--
--static unsigned long
--higher_prime_number (n)
--     unsigned long n;
--{
--  /* These are primes that are near, but slightly smaller than, a
--     power of two.  */
--  static unsigned long primes[] = {
--    (unsigned long) 2,
--    (unsigned long) 7,
--    (unsigned long) 13,
--    (unsigned long) 31,
--    (unsigned long) 61,
--    (unsigned long) 127,
--    (unsigned long) 251,
--    (unsigned long) 509,
--    (unsigned long) 1021,
--    (unsigned long) 2039,
--    (unsigned long) 4093,
--    (unsigned long) 8191,
--    (unsigned long) 16381,
--    (unsigned long) 32749,
--    (unsigned long) 65521,
--    (unsigned long) 131071,
--    (unsigned long) 262139,
--    (unsigned long) 524287,
--    (unsigned long) 1048573,
--    (unsigned long) 2097143,
--    (unsigned long) 4194301,
--    (unsigned long) 8388593,
--    (unsigned long) 16777213,
--    (unsigned long) 33554393,
--    (unsigned long) 67108859,
--    (unsigned long) 134217689,
--    (unsigned long) 268435399,
--    (unsigned long) 536870909,
--    (unsigned long) 1073741789,
--    (unsigned long) 2147483647,
--                                      /* 4294967291L */
--    ((unsigned long) 2147483647) + ((unsigned long) 2147483644),
--  };
--
--  unsigned long* low = &primes[0];
--  unsigned long* high = &primes[sizeof(primes) / sizeof(primes[0])];
--
--  while (low != high)
--    {
--      unsigned long* mid = low + (high - low) / 2;
--      if (n > *mid)
--      low = mid + 1;
--      else
--      high = mid;
--    }
--
--  /* If we've run out of primes, abort.  */
--  if (n > *low)
--    {
--      fprintf (stderr, "Cannot find prime bigger than %lu\n", n);
--      abort ();
--    }
--
--  return *low;
--}
--
--/* Returns a hash code for P.  */
--
--static hashval_t
--hash_pointer (p)
--     const void * p;
--{
--  return (hashval_t) ((long)p >> 3);
--}
--
--/* Returns non-zero if P1 and P2 are equal.  */
--
--static int
--eq_pointer (p1, p2)
--     const void * p1;
--     const void * p2;
--{
--  return p1 == p2;
--}
--
--/* This function creates table with length slightly longer than given
--   source length.  The created hash table is initiated as empty (all the
--   hash table entries are EMPTY_ENTRY).  The function returns the created
--   hash table.  Memory allocation may fail; it may return NULL.  */
--
--htab_t
--htab_try_create (size, hash_f, eq_f, del_f)
--     size_t size;
--     htab_hash hash_f;
--     htab_eq eq_f;
--     htab_del del_f;
--{
--  htab_t result;
--
--  size = higher_prime_number (size);
--  result = (htab_t) calloc (1, sizeof (struct htab));
--  if (result == NULL)
--    return NULL;
--
--  result->entries = (void **) calloc (size, sizeof (void *));
--  if (result->entries == NULL)
--    {
--      free (result);
--      return NULL;
--    }
--
--  result->size = size;
--  result->hash_f = hash_f;
--  result->eq_f = eq_f;
--  result->del_f = del_f;
--  result->return_allocation_failure = 1;
--  return result;
--}
--
--/* This function frees all memory allocated for given hash table.
--   Naturally the hash table must already exist. */
--
--void
--htab_delete (htab)
--     htab_t htab;
--{
--  int i;
--
--  if (htab->del_f)
--    for (i = htab->size - 1; i >= 0; i--)
--      if (htab->entries[i] != EMPTY_ENTRY
--        && htab->entries[i] != DELETED_ENTRY)
--      (*htab->del_f) (htab->entries[i]);
--
--  free (htab->entries);
--  free (htab);
--}
--
--/* This function clears all entries in the given hash table.  */
--
--void
--htab_empty (htab)
--     htab_t htab;
--{
--  int i;
--
--  if (htab->del_f)
--    for (i = htab->size - 1; i >= 0; i--)
--      if (htab->entries[i] != EMPTY_ENTRY
--        && htab->entries[i] != DELETED_ENTRY)
--      (*htab->del_f) (htab->entries[i]);
--
--  memset (htab->entries, 0, htab->size * sizeof (void *));
--}
--
--/* Similar to htab_find_slot, but without several unwanted side effects:
--    - Does not call htab->eq_f when it finds an existing entry.
--    - Does not change the count of elements/searches/collisions in the
--      hash table.
--   This function also assumes there are no deleted entries in the table.
--   HASH is the hash value for the element to be inserted.  */
--
--static void **
--find_empty_slot_for_expand (htab, hash)
--     htab_t htab;
--     hashval_t hash;
--{
--  size_t size = htab->size;
--  hashval_t hash2 = 1 + hash % (size - 2);
--  unsigned int index = hash % size;
--
--  for (;;)
--    {
--      void **slot = htab->entries + index;
--
--      if (*slot == EMPTY_ENTRY)
--      return slot;
--      else if (*slot == DELETED_ENTRY)
--      abort ();
--
--      index += hash2;
--      if (index >= size)
--      index -= size;
--    }
--}
--
--/* The following function changes size of memory allocated for the
--   entries and repeatedly inserts the table elements.  The occupancy
--   of the table after the call will be about 50%.  Naturally the hash
--   table must already exist.  Remember also that the place of the
--   table entries is changed.  If memory allocation failures are allowed,
--   this function will return zero, indicating that the table could not be
--   expanded.  If all goes well, it will return a non-zero value.  */
--
--static int
--htab_expand (htab)
--     htab_t htab;
--{
--  void **oentries;
--  void **olimit;
--  void **p;
--
--  oentries = htab->entries;
--  olimit = oentries + htab->size;
--
--  htab->size = higher_prime_number (htab->size * 2);
--
--  if (htab->return_allocation_failure)
--    {
--      void **nentries = (void **) calloc (htab->size, sizeof (void **));
--      if (nentries == NULL)
--      return 0;
--      htab->entries = nentries;
--    }
--
--  htab->n_elements -= htab->n_deleted;
--  htab->n_deleted = 0;
--
--  p = oentries;
--  do
--    {
--      void * x = *p;
--
--      if (x != EMPTY_ENTRY && x != DELETED_ENTRY)
--      {
--        void **q = find_empty_slot_for_expand (htab, (*htab->hash_f) (x));
--
--        *q = x;
--      }
--
--      p++;
--    }
--  while (p < olimit);
--
--  free (oentries);
--  return 1;
--}
--
--/* This function searches for a hash table entry equal to the given
--   element.  It cannot be used to insert or delete an element.  */
--
--void *
--htab_find_with_hash (htab, element, hash)
--     htab_t htab;
--     const void * element;
--     hashval_t hash;
--{
--  unsigned int index;
--  hashval_t hash2;
--  size_t size;
--  void * entry;
--
--  htab->searches++;
--  size = htab->size;
--  index = hash % size;
--
--  entry = htab->entries[index];
--  if (entry == EMPTY_ENTRY
--      || (entry != DELETED_ENTRY && (*htab->eq_f) (entry, element)))
--    return entry;
--
--  hash2 = 1 + hash % (size - 2);
--
--  for (;;)
--    {
--      htab->collisions++;
--      index += hash2;
--      if (index >= size)
--      index -= size;
--
--      entry = htab->entries[index];
--      if (entry == EMPTY_ENTRY
--        || (entry != DELETED_ENTRY && (*htab->eq_f) (entry, element)))
--      return entry;
--    }
--}
--
--/* Like htab_find_slot_with_hash, but compute the hash value from the
--   element.  */
--
--void *
--htab_find (htab, element)
--     htab_t htab;
--     const void * element;
--{
--  return htab_find_with_hash (htab, element, (*htab->hash_f) (element));
--}
--
--/* This function searches for a hash table slot containing an entry
--   equal to the given element.  To delete an entry, call this with
--   INSERT = 0, then call htab_clear_slot on the slot returned (possibly
--   after doing some checks).  To insert an entry, call this with
--   INSERT = 1, then write the value you want into the returned slot.
--   When inserting an entry, NULL may be returned if memory allocation
--   fails.  */
--
--void **
--htab_find_slot_with_hash (htab, element, hash, insert)
--     htab_t htab;
--     const void * element;
--     hashval_t hash;
--     enum insert_option insert;
--{
--  void **first_deleted_slot;
--  unsigned int index;
--  hashval_t hash2;
--  size_t size;
--
--  if (insert == INSERT && htab->size * 3 <= htab->n_elements * 4
--      && htab_expand (htab) == 0)
--    return NULL;
--
--  size = htab->size;
--  hash2 = 1 + hash % (size - 2);
--  index = hash % size;
--
--  htab->searches++;
--  first_deleted_slot = NULL;
--
--  for (;;)
--    {
--      void * entry = htab->entries[index];
--      if (entry == EMPTY_ENTRY)
--      {
--        if (insert == NO_INSERT)
--          return NULL;
--
--        htab->n_elements++;
--
--        if (first_deleted_slot)
--          {
--            *first_deleted_slot = EMPTY_ENTRY;
--            return first_deleted_slot;
--          }
--
--        return &htab->entries[index];
--      }
--
--      if (entry == DELETED_ENTRY)
--      {
--        if (!first_deleted_slot)
--          first_deleted_slot = &htab->entries[index];
--      }
--      else  if ((*htab->eq_f) (entry, element))
--      return &htab->entries[index];
--      
--      htab->collisions++;
--      index += hash2;
--      if (index >= size)
--      index -= size;
--    }
--}
--
--/* Like htab_find_slot_with_hash, but compute the hash value from the
--   element.  */
--
--void **
--htab_find_slot (htab, element, insert)
--     htab_t htab;
--     const void * element;
--     enum insert_option insert;
--{
--  return htab_find_slot_with_hash (htab, element, (*htab->hash_f) (element),
--                                 insert);
--}
--
--/* This function deletes an element with the given value from hash
--   table.  If there is no matching element in the hash table, this
--   function does nothing.  */
--
--void
--htab_remove_elt (htab, element)
--     htab_t htab;
--     void * element;
--{
--  void **slot;
--
--  slot = htab_find_slot (htab, element, NO_INSERT);
--  if (*slot == EMPTY_ENTRY)
--    return;
--
--  if (htab->del_f)
--    (*htab->del_f) (*slot);
--
--  *slot = DELETED_ENTRY;
--  htab->n_deleted++;
--}
--
--/* This function clears a specified slot in a hash table.  It is
--   useful when you've already done the lookup and don't want to do it
--   again.  */
--
--void
--htab_clear_slot (htab, slot)
--     htab_t htab;
--     void **slot;
--{
--  if (slot < htab->entries || slot >= htab->entries + htab->size
--      || *slot == EMPTY_ENTRY || *slot == DELETED_ENTRY)
--    abort ();
--
--  if (htab->del_f)
--    (*htab->del_f) (*slot);
--
--  *slot = DELETED_ENTRY;
--  htab->n_deleted++;
--}
--
--/* This function scans over the entire hash table calling
--   CALLBACK for each live entry.  If CALLBACK returns false,
--   the iteration stops.  INFO is passed as CALLBACK's second
--   argument.  */
--
--void
--htab_traverse (htab, callback, info)
--     htab_t htab;
--     htab_trav callback;
--     void * info;
--{
--  void **slot = htab->entries;
--  void **limit = slot + htab->size;
--
--  do
--    {
--      void * x = *slot;
--
--      if (x != EMPTY_ENTRY && x != DELETED_ENTRY)
--      if (!(*callback) (slot, info))
--        break;
--    }
--  while (++slot < limit);
--}
--
--/* Return the current size of given hash table. */
--
--size_t
--htab_size (htab)
--     htab_t htab;
--{
--  return htab->size;
--}
--
--/* Return the current number of elements in given hash table. */
--
--size_t
--htab_elements (htab)
--     htab_t htab;
--{
--  return htab->n_elements - htab->n_deleted;
--}
--
--/* Return the fraction of fixed collisions during all work with given
--   hash table. */
--
--double
--htab_collisions (htab)
--     htab_t htab;
--{
--  if (htab->searches == 0)
--    return 0.0;
--
--  return (double) htab->collisions / (double) htab->searches;
--}
-diff --git a/src/debugedit/hashtab.h b/src/debugedit/hashtab.h
-deleted file mode 100644
-index 9ed18ae..0000000
---- a/src/debugedit/hashtab.h
-+++ /dev/null
-@@ -1,143 +0,0 @@
--/* An expandable hash tables datatype.  
--   Copyright (C) 1999, 2000 Free Software Foundation, Inc.
--   Contributed by Vladimir Makarov (vmakarov@cygnus.com).
--
--This program is free software; you can redistribute it and/or modify
--it under the terms of the GNU General Public License as published by
--the Free Software Foundation; either version 2 of the License, or
--(at your option) any later version.
--
--This program is distributed in the hope that it will be useful,
--but WITHOUT ANY WARRANTY; without even the implied warranty of
--MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
--GNU General Public License for more details.
--
--You should have received a copy of the GNU General Public License
--along with this program; if not, write to the Free Software
--Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
--
--/* This package implements basic hash table functionality.  It is possible
--   to search for an entry, create an entry and destroy an entry.
--
--   Elements in the table are generic pointers.
--
--   The size of the table is not fixed; if the occupancy of the table
--   grows too high the hash table will be expanded.
--
--   The abstract data implementation is based on generalized Algorithm D
--   from Knuth's book "The art of computer programming".  Hash table is
--   expanded by creation of new hash table and transferring elements from
--   the old table to the new table.  */
--
--#ifndef __HASHTAB_H__
--#define __HASHTAB_H__
--
--#ifdef __cplusplus
--extern "C" {
--#endif /* __cplusplus */
--
--/* The type for a hash code.  */
--typedef unsigned int hashval_t;
--
--/* Callback function pointer types.  */
--
--/* Calculate hash of a table entry.  */
--typedef hashval_t (*htab_hash) (const void *);
--
--/* Compare a table entry with a possible entry.  The entry already in
--   the table always comes first, so the second element can be of a
--   different type (but in this case htab_find and htab_find_slot
--   cannot be used; instead the variants that accept a hash value
--   must be used).  */
--typedef int (*htab_eq) (const void *, const void *);
--
--/* Cleanup function called whenever a live element is removed from
--   the hash table.  */
--typedef void (*htab_del) (void *);
--  
--/* Function called by htab_traverse for each live element.  The first
--   arg is the slot of the element (which can be passed to htab_clear_slot
--   if desired), the second arg is the auxiliary pointer handed to
--   htab_traverse.  Return 1 to continue scan, 0 to stop.  */
--typedef int (*htab_trav) (void **, void *);
--
--/* Hash tables are of the following type.  The structure
--   (implementation) of this type is not needed for using the hash
--   tables.  All work with hash table should be executed only through
--   functions mentioned below. */
--
--struct htab
--{
--  /* Pointer to hash function.  */
--  htab_hash hash_f;
--
--  /* Pointer to comparison function.  */
--  htab_eq eq_f;
--
--  /* Pointer to cleanup function.  */
--  htab_del del_f;
--
--  /* Table itself.  */
--  void **entries;
--
--  /* Current size (in entries) of the hash table */
--  size_t size;
--
--  /* Current number of elements including also deleted elements */
--  size_t n_elements;
--
--  /* Current number of deleted elements in the table */
--  size_t n_deleted;
--
--  /* The following member is used for debugging. Its value is number
--     of all calls of `htab_find_slot' for the hash table. */
--  unsigned int searches;
--
--  /* The following member is used for debugging.  Its value is number
--     of collisions fixed for time of work with the hash table. */
--  unsigned int collisions;
--
--  /* This is non-zero if we are allowed to return NULL for function calls
--     that allocate memory.  */
--  int return_allocation_failure;
--};
--
--typedef struct htab *htab_t;
--
--/* An enum saying whether we insert into the hash table or not.  */
--enum insert_option {NO_INSERT, INSERT};
--
--/* The prototypes of the package functions. */
--
--/* This function is like htab_create, but may return NULL if memory
--   allocation fails, and also signals that htab_find_slot_with_hash and
--   htab_find_slot are allowed to return NULL when inserting.  */
--extern htab_t htab_try_create (size_t, htab_hash, htab_eq, htab_del);
--extern void   htab_delete     (htab_t);
--extern void   htab_empty      (htab_t);
--
--extern void    *htab_find     (htab_t, const void *);
--extern void    **htab_find_slot       (htab_t, const void *, enum insert_option);
--extern void    *htab_find_with_hash (htab_t, const void *, hashval_t);
--extern void    **htab_find_slot_with_hash (htab_t, const void *, hashval_t,
--                                        enum insert_option);
--extern void   htab_clear_slot (htab_t, void **);
--extern void   htab_remove_elt (htab_t, void *);
--
--extern void   htab_traverse   (htab_t, htab_trav, void *);
--
--extern size_t htab_size       (htab_t);
--extern size_t htab_elements   (htab_t);
--extern double htab_collisions (htab_t);
--
--/* A hash function for pointers.  */
--extern htab_hash htab_hash_pointer;
--
--/* An equality function for pointers.  */
--extern htab_eq htab_eq_pointer;
--
--#ifdef __cplusplus
--}
--#endif /* __cplusplus */
--
--#endif /* __HASHTAB_H */
-diff --git a/src/debugedit/rpmiotypes.h b/src/debugedit/rpmiotypes.h
-deleted file mode 100644
-index 04891a1..0000000
---- a/src/debugedit/rpmiotypes.h
-+++ /dev/null
-@@ -1,653 +0,0 @@
--#ifndef _H_RPMIOTYPES_
--#define       _H_RPMIOTYPES_
--
--/** \ingroup rpmio
-- * \file rpmio/rpmiotypes.h
-- */
--
--/** \ingroup rpmio
-- * RPM return codes.
-- */
--typedef       enum rpmRC_e {
--    RPMRC_OK          = 0,    /*!< Generic success code */
--    RPMRC_NOTFOUND    = 1,    /*!< Generic not found code. */
--    RPMRC_FAIL                = 2,    /*!< Generic failure code. */
--    RPMRC_NOTTRUSTED  = 3,    /*!< Signature is OK, but key is not trusted. */
--    RPMRC_NOKEY               = 4     /*!< Public key is unavailable. */
--} rpmRC;
--
--/** \ingroup rpmio
-- * Private int typedefs to avoid C99 portability issues.
-- */
--typedef       /*@unsignedintegraltype@*/      unsigned char           rpmuint8_t;
--typedef /*@unsignedintegraltype@*/    unsigned short          rpmuint16_t;
--typedef /*@unsignedintegraltype@*/    unsigned int            rpmuint32_t;
--typedef /*@unsignedintegraltype@*/    unsigned long long      rpmuint64_t;
--
--/** \ingroup rpmio
-- */
--typedef /*@signedintegraltype@*/      int                     rpmint32_t;
--
--/**
-- */
--typedef       /*@refcounted@*/ struct rpmioItem_s * rpmioItem;
--struct rpmioItem_s {
--/*@null@*/
--    void *use;                        /*!< use count -- return to pool when zero */
--/*@kept@*/ /*@null@*/
--    void *pool;                       /*!< pool (or NULL if malloc'd) */
--#if defined(__LCLINT__)
--/*@refs@*/
--    int nrefs;                        /*!< (unused) keep splint happy */
--#endif
--};
--
--/**
-- */
--typedef struct rpmioPool_s * rpmioPool;
--
--/** \ingroup rpmio
-- */
--typedef /*@abstract@*/ /*@refcounted@*/ struct rpmiob_s * rpmiob;
--
--/** \ingroup rpmio
-- */
--/*@unchecked@*/
--extern size_t _rpmiob_chunk;
--
--/** \ingroup rpmio
-- */
--typedef struct rpmioP_s {
--    char * str;
--    char * next;
--    const char ** av;
--    int ac;
--} * rpmioP;
--
--/** \ingroup rpmpgp
-- */
--typedef /*@abstract@*/ struct DIGEST_CTX_s * DIGEST_CTX;
--
--/** \ingroup rpmpgp
-- */
--typedef /*@abstract@*/ struct pgpPkt_s * pgpPkt;
--
--/** \ingroup rpmpgp
-- */
--typedef /*@abstract@*/ /*@refcounted@*/ struct pgpDig_s * pgpDig;
--
--/** \ingroup rpmpgp
-- */
--typedef /*@abstract@*/ struct pgpDigParams_s * pgpDigParams;
--
--/** \ingroup rpmpgp
-- */
--typedef rpmuint8_t pgpKeyID_t[8];
--
--/** \ingroup rpmpgp
-- */
--typedef rpmuint8_t pgpTime_t[4];
--
--/** \ingroup rpmpgp
-- * Bit(s) to control digest and signature verification.
-- */
--typedef enum pgpVSFlags_e {
--    RPMVSF_DEFAULT    = 0,
--    RPMVSF_NOHDRCHK   = (1 <<  0),
--    RPMVSF_NEEDPAYLOAD        = (1 <<  1),
--    /* bit(s) 2-7 unused */
--    RPMVSF_NOSHA1HEADER       = (1 <<  8),
--    RPMVSF_NOMD5HEADER        = (1 <<  9),    /* unimplemented */
--    RPMVSF_NODSAHEADER        = (1 << 10),
--    RPMVSF_NORSAHEADER        = (1 << 11),
--    /* bit(s) 12-15 unused */
--    RPMVSF_NOSHA1     = (1 << 16),    /* unimplemented */
--    RPMVSF_NOMD5      = (1 << 17),
--    RPMVSF_NODSA      = (1 << 18),
--    RPMVSF_NORSA      = (1 << 19)
--    /* bit(s) 20-31 unused */
--} pgpVSFlags;
--
--#define       _RPMVSF_NODIGESTS       \
--  ( RPMVSF_NOSHA1HEADER |     \
--    RPMVSF_NOMD5HEADER |      \
--    RPMVSF_NOSHA1 |           \
--    RPMVSF_NOMD5 )
--
--#define       _RPMVSF_NOSIGNATURES    \
--  ( RPMVSF_NODSAHEADER |      \
--    RPMVSF_NORSAHEADER |      \
--    RPMVSF_NODSA |            \
--    RPMVSF_NORSA )
--
--#define       _RPMVSF_NOHEADER        \
--  ( RPMVSF_NOSHA1HEADER |     \
--    RPMVSF_NOMD5HEADER |      \
--    RPMVSF_NODSAHEADER |      \
--    RPMVSF_NORSAHEADER )
--
--#define       _RPMVSF_NOPAYLOAD       \
--  ( RPMVSF_NOSHA1 |           \
--    RPMVSF_NOMD5 |            \
--    RPMVSF_NODSA |            \
--    RPMVSF_NORSA )
--
--/*@-redef@*/ /* LCL: ??? */
--typedef /*@abstract@*/ const void * fnpyKey;
--/*@=redef@*/
--
--/**
-- * Bit(s) to identify progress callbacks.
-- */
--typedef enum rpmCallbackType_e {
--    RPMCALLBACK_UNKNOWN         = 0,
--    RPMCALLBACK_INST_PROGRESS   = (1 <<  0),
--    RPMCALLBACK_INST_START      = (1 <<  1),
--    RPMCALLBACK_INST_OPEN_FILE  = (1 <<  2),
--    RPMCALLBACK_INST_CLOSE_FILE = (1 <<  3),
--    RPMCALLBACK_TRANS_PROGRESS  = (1 <<  4),
--    RPMCALLBACK_TRANS_START     = (1 <<  5),
--    RPMCALLBACK_TRANS_STOP      = (1 <<  6),
--    RPMCALLBACK_UNINST_PROGRESS = (1 <<  7),
--    RPMCALLBACK_UNINST_START    = (1 <<  8),
--    RPMCALLBACK_UNINST_STOP     = (1 <<  9),
--    RPMCALLBACK_REPACKAGE_PROGRESS = (1 << 10),
--    RPMCALLBACK_REPACKAGE_START = (1 << 11),
--    RPMCALLBACK_REPACKAGE_STOP  = (1 << 12),
--    RPMCALLBACK_UNPACK_ERROR    = (1 << 13),
--    RPMCALLBACK_CPIO_ERROR      = (1 << 14),
--    RPMCALLBACK_SCRIPT_ERROR    = (1 << 15)
--} rpmCallbackType;
--
--/**
-- */
--typedef void * rpmCallbackData;
--
--/** \ingroup rpmpgp
-- * 9.4. Hash Algorithms
-- *
--\verbatim
--       ID           Algorithm                              Text Name
--       --           ---------                              ---- ----
--       1          - MD5                                    "MD5"
--       2          - SHA-1                                  "SHA1"
--       3          - RIPE-MD/160                            "RIPEMD160"
--       4          - Reserved for double-width SHA (experimental)
--       5          - MD2                                    "MD2"
--       6          - Reserved for TIGER/192                 "TIGER192"
--       7          - Reserved for HAVAL (5 pass, 160-bit)   "HAVAL-5-160"
--       100 to 110 - Private/Experimental algorithm.
--\endverbatim
-- *
-- * Implementations MUST implement SHA-1. Implementations SHOULD
-- * implement MD5.
-- * @todo Add SHA256.
-- */
--typedef enum pgpHashAlgo_e {
--    PGPHASHALGO_ERROR         =  -1,
--    PGPHASHALGO_NONE          =  0,
--    PGPHASHALGO_MD5           =  1,   /*!< MD5 */
--    PGPHASHALGO_SHA1          =  2,   /*!< SHA-1 */
--    PGPHASHALGO_RIPEMD160     =  3,   /*!< RIPEMD-160 */
--    PGPHASHALGO_MD2           =  5,   /*!< MD2 */
--    PGPHASHALGO_TIGER192      =  6,   /*!< TIGER-192 */
--    PGPHASHALGO_HAVAL_5_160   =  7,   /*!< HAVAL-5-160 */
--    PGPHASHALGO_SHA256                =  8,   /*!< SHA-256 */
--    PGPHASHALGO_SHA384                =  9,   /*!< SHA-384 */
--    PGPHASHALGO_SHA512                = 10,   /*!< SHA-512 */
--    PGPHASHALGO_SHA224                = 11,   /*!< SHA-224 */
--
--    PGPHASHALGO_MD4           = 104,  /*!< (private) MD4 */
--    PGPHASHALGO_RIPEMD128     = 105,  /*!< (private) RIPEMD-128 */
--    PGPHASHALGO_CRC32         = 106,  /*!< (private) CRC-32 */
--    PGPHASHALGO_ADLER32               = 107,  /*!< (private) ADLER-32 */
--    PGPHASHALGO_CRC64         = 108,  /*!< (private) CRC-64 */
--    PGPHASHALGO_JLU32         = 109,  /*!< (private) Jenkins lookup3.c */
--
--    PGPHASHALGO_RIPEMD256     = 111,  /*!< (private) RIPEMD-256 */
--    PGPHASHALGO_RIPEMD320     = 112,  /*!< (private) RIPEMD-320 */
--    PGPHASHALGO_SALSA10               = 113,  /*!< (private) SALSA-10 */
--    PGPHASHALGO_SALSA20               = 114,  /*!< (private) SALSA-20 */
--
--    PGPHASHALGO_MD6_224               = 128+0,/*!< (private) MD6-224 */
--    PGPHASHALGO_MD6_256               = 128+1,/*!< (private) MD6-256 */
--    PGPHASHALGO_MD6_384               = 128+2,/*!< (private) MD6-384 */
--    PGPHASHALGO_MD6_512               = 128+3,/*!< (private) MD6-512 */
--
--    PGPHASHALGO_CUBEHASH_224  = 136+0,/*!< (private) CUBEHASH-224 */
--    PGPHASHALGO_CUBEHASH_256  = 136+1,/*!< (private) CUBEHASH-256 */
--    PGPHASHALGO_CUBEHASH_384  = 136+2,/*!< (private) CUBEHASH-384 */
--    PGPHASHALGO_CUBEHASH_512  = 136+3,/*!< (private) CUBEHASH-512 */
--
--    PGPHASHALGO_KECCAK_224    = 144+0,/*!< (private) KECCAK-224 */
--    PGPHASHALGO_KECCAK_256    = 144+1,/*!< (private) KECCAK-256 */
--    PGPHASHALGO_KECCAK_384    = 144+2,/*!< (private) KECCAK-384 */
--    PGPHASHALGO_KECCAK_512    = 144+3,/*!< (private) KECCAK-384 */
--
--    PGPHASHALGO_ECHO_224      = 148+0,/*!< (private) ECHO-224 */
--    PGPHASHALGO_ECHO_256      = 148+1,/*!< (private) ECHO-256 */
--    PGPHASHALGO_ECHO_384      = 148+2,/*!< (private) ECHO-384 */
--    PGPHASHALGO_ECHO_512      = 148+3,/*!< (private) ECHO-384 */
--
--    PGPHASHALGO_EDONR_224     = 152+0,/*!< (private) EDON-R-224 */
--    PGPHASHALGO_EDONR_256     = 152+1,/*!< (private) EDON-R-256 */
--    PGPHASHALGO_EDONR_384     = 152+2,/*!< (private) EDON-R-384 */
--    PGPHASHALGO_EDONR_512     = 152+3,/*!< (private) EDON-R-512 */
--
--    PGPHASHALGO_FUGUE_224     = 156+0,/*!< (private) FUGUE-224 */
--    PGPHASHALGO_FUGUE_256     = 156+1,/*!< (private) FUGUE-256 */
--    PGPHASHALGO_FUGUE_384     = 156+2,/*!< (private) FUGUE-384 */
--    PGPHASHALGO_FUGUE_512     = 156+3,/*!< (private) FUGUE-512 */
--
--    PGPHASHALGO_SKEIN_224     = 160+0,/*!< (private) SKEIN-224 */
--    PGPHASHALGO_SKEIN_256     = 160+1,/*!< (private) SKEIN-256 */
--    PGPHASHALGO_SKEIN_384     = 160+2,/*!< (private) SKEIN-384 */
--    PGPHASHALGO_SKEIN_512     = 160+3,/*!< (private) SKEIN-512 */
--    PGPHASHALGO_SKEIN_1024    = 160+4,/*!< (private) SKEIN-1024 */
--
--    PGPHASHALGO_BMW_224               = 168+0,/*!< (private) BMW-224 */
--    PGPHASHALGO_BMW_256               = 168+1,/*!< (private) BMW-256 */
--    PGPHASHALGO_BMW_384               = 168+2,/*!< (private) BMW-384 */
--    PGPHASHALGO_BMW_512               = 168+3,/*!< (private) BMW-512 */
--
--    PGPHASHALGO_SHABAL_224    = 176+0,/*!< (private) SHABAL-224 */
--    PGPHASHALGO_SHABAL_256    = 176+1,/*!< (private) SHABAL-256 */
--    PGPHASHALGO_SHABAL_384    = 176+2,/*!< (private) SHABAL-384 */
--    PGPHASHALGO_SHABAL_512    = 176+3,/*!< (private) SHABAL-512 */
--
--    PGPHASHALGO_SHAVITE3_224  = 180+0,/*!< (private) SHAVITE3-224 */
--    PGPHASHALGO_SHAVITE3_256  = 180+1,/*!< (private) SHAVITE3-256 */
--    PGPHASHALGO_SHAVITE3_384  = 180+2,/*!< (private) SHAVITE3-384 */
--    PGPHASHALGO_SHAVITE3_512  = 180+3,/*!< (private) SHAVITE3-512 */
--
--    PGPHASHALGO_BLAKE_224     = 184+0,/*!< (private) BLAKE-224 */
--    PGPHASHALGO_BLAKE_256     = 184+1,/*!< (private) BLAKE-256 */
--    PGPHASHALGO_BLAKE_384     = 184+2,/*!< (private) BLAKE-384 */
--    PGPHASHALGO_BLAKE_512     = 184+3,/*!< (private) BLAKE-512 */
--
--    PGPHASHALGO_TIB3_224      = 192+0,/*!< (private) TIB3-224 */
--    PGPHASHALGO_TIB3_256      = 192+1,/*!< (private) TIB3-256 */
--    PGPHASHALGO_TIB3_384      = 192+2,/*!< (private) TIB3-384 */
--    PGPHASHALGO_TIB3_512      = 192+3,/*!< (private) TIB3-512 */
--
--    PGPHASHALGO_SIMD_224      = 200+0,/*!< (private) SIMD-224 */
--    PGPHASHALGO_SIMD_256      = 200+1,/*!< (private) SIMD-256 */
--    PGPHASHALGO_SIMD_384      = 200+2,/*!< (private) SIMD-384 */
--    PGPHASHALGO_SIMD_512      = 200+3,/*!< (private) SIMD-512 */
--
--    PGPHASHALGO_ARIRANG_224   = 208+0,/*!< (private) ARIRANG-224 */
--    PGPHASHALGO_ARIRANG_256   = 208+1,/*!< (private) ARIRANG-256 */
--    PGPHASHALGO_ARIRANG_384   = 208+2,/*!< (private) ARIRANG-384 */
--    PGPHASHALGO_ARIRANG_512   = 208+3,/*!< (private) ARIRANG-512 */
--
--    PGPHASHALGO_LANE_224      = 212+0,/*!< (private) LANE-224 */
--    PGPHASHALGO_LANE_256      = 212+1,/*!< (private) LANE-256 */
--    PGPHASHALGO_LANE_384      = 212+2,/*!< (private) LANE-384 */
--    PGPHASHALGO_LANE_512      = 212+3,/*!< (private) LANE-512 */
--
--    PGPHASHALGO_LUFFA_224     = 216+0,/*!< (private) LUFFA-224 */
--    PGPHASHALGO_LUFFA_256     = 216+1,/*!< (private) LUFFA-256 */
--    PGPHASHALGO_LUFFA_384     = 216+2,/*!< (private) LUFFA-384 */
--    PGPHASHALGO_LUFFA_512     = 216+3,/*!< (private) LUFFA-512 */
--
--    PGPHASHALGO_CHI_224               = 224+0,/*!< (private) CHI-224 */
--    PGPHASHALGO_CHI_256               = 224+1,/*!< (private) CHI-256 */
--    PGPHASHALGO_CHI_384               = 224+2,/*!< (private) CHI-384 */
--    PGPHASHALGO_CHI_512               = 224+3,/*!< (private) CHI-512 */
--
--    PGPHASHALGO_JH_224                = 232+0,/*!< (private) JH-224 */
--    PGPHASHALGO_JH_256                = 232+1,/*!< (private) JH-256 */
--    PGPHASHALGO_JH_384                = 232+2,/*!< (private) JH-384 */
--    PGPHASHALGO_JH_512                = 232+3,/*!< (private) JH-512 */
--
--    PGPHASHALGO_GROESTL_224   = 240+0,/*!< (private) GROESTL-224 */
--    PGPHASHALGO_GROESTL_256   = 240+1,/*!< (private) GROESTL-256 */
--    PGPHASHALGO_GROESTL_384   = 240+2,/*!< (private) GROESTL-384 */
--    PGPHASHALGO_GROESTL_512   = 240+3,/*!< (private) GROESTL-512 */
--
--    PGPHASHALGO_HAMSI_224     = 248+0,/*!< (private) HAMSI-224 */
--    PGPHASHALGO_HAMSI_256     = 248+1,/*!< (private) HAMSI-256 */
--    PGPHASHALGO_HAMSI_384     = 248+2,/*!< (private) HAMSI-384 */
--    PGPHASHALGO_HAMSI_512     = 248+3,/*!< (private) HAMSI-512 */
--
--} pgpHashAlgo;
--
--/** \ingroup rpmpgp
-- * Bit(s) to control digest operation.
-- */
--typedef enum rpmDigestFlags_e {
--    RPMDIGEST_NONE    =       0,
--} rpmDigestFlags;
--
--#if defined(_RPMIOB_INTERNAL)
--/** \ingroup rpmio
-- */
--struct rpmiob_s{
--    struct rpmioItem_s _item; /*!< usage mutex and pool identifier. */
--    rpmuint8_t * b;           /*!< data octects. */
--    size_t blen;              /*!< no. of octets used. */
--    size_t allocated;         /*!< no. of octets allocated. */
--#if defined(__LCLINT__)
--/*@refs@*/
--    int nrefs;                                /*!< (unused) keep splint happy */
--#endif
--};
--#endif
--
--#ifdef __cplusplus
--extern "C" {
--#endif
--
--/** \ingroup rpmpgp
-- * Return digest algorithm identifier.
-- * @param ctx         digest context
-- * @return            digest hash algorithm identifier
-- */
--pgpHashAlgo rpmDigestAlgo(DIGEST_CTX ctx)
--      /*@*/;
--
--/** \ingroup rpmpgp
-- * Return digest flags.
-- * @param ctx         digest context
-- * @return            digest flags
-- */
--rpmDigestFlags rpmDigestF(DIGEST_CTX ctx)
--      /*@*/;
--
--/** \ingroup rpmpgp
-- * Return digest name.
-- * @param ctx         digest context
-- * @return            digest name
-- */
--/*@observer@*/
--const char * rpmDigestName(DIGEST_CTX ctx)
--      /*@*/;
--
--/** \ingroup rpmpgp
-- * Return digest ASN1 oid string.
-- * Values from PKCS#1 v2.1 (aka RFC-3447).
-- * @param ctx         digest context
-- * @return            digest ASN1 oid string
-- */
--/*@observer@*/ /*@null@*/
--const char * rpmDigestASN1(DIGEST_CTX ctx)
--      /*@*/;
--
--/** \ingroup rpmpgp
-- * Duplicate a digest context.
-- * @param octx                existing digest context
-- * @return            duplicated digest context
-- */
--/*@only@*/
--DIGEST_CTX rpmDigestDup(DIGEST_CTX octx)
--      /*@*/;
--
--/** \ingroup rpmpgp
-- * Initialize digest.
-- * Set bit count to 0 and buffer to mysterious initialization constants.
-- * @param hashalgo    type of digest
-- * @param flags               bit(s) to control digest operation
-- * @return            digest context
-- */
--/*@only@*/ /*@null@*/
--DIGEST_CTX rpmDigestInit(pgpHashAlgo hashalgo, rpmDigestFlags flags)
--      /*@*/;
--
--/** \ingroup rpmpgp
-- * Update context with next plain text buffer.
-- * @param ctx         digest context
-- * @param data                next data buffer
-- * @param len         no. bytes of data
-- * @return            0 on success
-- */
--int rpmDigestUpdate(/*@null@*/ DIGEST_CTX ctx, const void * data, size_t len)
--      /*@modifies ctx @*/;
--
--/** \ingroup rpmpgp
-- * Return digest and destroy context.
-- *
-- * @param ctx         digest context
-- * @retval *datap     digest
-- * @retval *lenp      no. bytes of digest
-- * @param asAscii     return digest as ascii string?
-- * @return            0 on success
-- */
--int rpmDigestFinal(/*@only@*/ /*@null@*/ DIGEST_CTX ctx,
--      /*@null@*/ /*@out@*/ void * datap,
--      /*@null@*/ /*@out@*/ size_t * lenp, int asAscii)
--              /*@modifies *datap, *lenp @*/;
--
--/** \ingroup rpmpgp
-- *
-- * Compute key material and add to digest context.
-- * @param ctx         digest context
-- * @param key         HMAC key (NULL does digest instead)
-- * @param keylen      HMAC key length(bytes) (0 uses strlen(key))
-- * @return            0 on success
-- */
--int rpmHmacInit(DIGEST_CTX ctx, const void * key, size_t keylen)
--      /*@*/;
--
--/** \ingroup rpmio
-- */
--typedef void * (*rpmCallbackFunction)
--                (/*@null@*/ const void * h,
--                const rpmCallbackType what,
--                const rpmuint64_t amount,
--                const rpmuint64_t total,
--                /*@null@*/ fnpyKey key,
--                /*@null@*/ rpmCallbackData data)
--        /*@globals internalState@*/
--        /*@modifies internalState@*/;
--
--#if !defined(SWIG)
--/** \ingroup rpmio
-- * Wrapper to free(3), hides const compilation noise, permit NULL, return NULL.
-- * @param p           memory to free
-- * @return            NULL always
-- */
--#if defined(WITH_DMALLOC)
--#define _free(p) ((p) != NULL ? free((void *)(p)) : (void)0, NULL)
--#else
--/*@unused@*/ static inline /*@null@*/
--void * _free(/*@only@*/ /*@null@*/ /*@out@*/ const void * p)
--      /*@modifies p @*/
--{
--    if (p != NULL)    free((void *)p);
--    return NULL;
--}
--#endif
--#endif
--
--/*@unused@*/ static inline int xislower(int c) /*@*/ {
--    return (c >= (int)'a' && c <= (int)'z');
--}
--/*@unused@*/ static inline int xisupper(int c) /*@*/ {
--    return (c >= (int)'A' && c <= (int)'Z');
--}
--/*@unused@*/ static inline int xisalpha(int c) /*@*/ {
--    return (xislower(c) || xisupper(c));
--}
--/*@unused@*/ static inline int xisdigit(int c) /*@*/ {
--    return (c >= (int)'0' && c <= (int)'9');
--}
--/*@unused@*/ static inline int xisalnum(int c) /*@*/ {
--    return (xisalpha(c) || xisdigit(c));
--}
--/*@unused@*/ static inline int xisblank(int c) /*@*/ {
--    return (c == (int)' ' || c == (int)'\t');
--}
--/*@unused@*/ static inline int xisspace(int c) /*@*/ {
--    return (xisblank(c) || c == (int)'\n' || c == (int)'\r' || c == (int)'\f' || c == (int)'\v');
--}
--/*@unused@*/ static inline int xiscntrl(int c) /*@*/ {
--    return (c < (int)' ');
--}
--/*@unused@*/ static inline int xisascii(int c) /*@*/ {
--    return ((c & 0x80) != 0x80);
--}
--/*@unused@*/ static inline int xisprint(int c) /*@*/ {
--    return (c >= (int)' ' && xisascii(c));
--}
--/*@unused@*/ static inline int xisgraph(int c) /*@*/ {
--    return (c > (int)' ' && xisascii(c));
--}
--/*@unused@*/ static inline int xispunct(int c) /*@*/ {
--    return (xisgraph(c) && !xisalnum(c));
--}
--
--/*@unused@*/ static inline int xtolower(int c) /*@*/ {
--    return ((xisupper(c)) ? (c | ('a' - 'A')) : c);
--}
--/*@unused@*/ static inline int xtoupper(int c) /*@*/ {
--    return ((xislower(c)) ? (c & ~('a' - 'A')) : c);
--}
--
--/** \ingroup rpmio
-- * Locale insensitive strcasecmp(3).
-- */
--int xstrcasecmp(const char * s1, const char * s2)             /*@*/;
--
--/** \ingroup rpmio
-- * Locale insensitive strncasecmp(3).
-- */
--int xstrncasecmp(const char *s1, const char * s2, size_t n)   /*@*/;
--
--/** \ingroup rpmio
-- * Force encoding of string.
-- */
--/*@only@*/ /*@null@*/
--const char * xstrtolocale(/*@only@*/ const char *str)
--      /*@modifies *str @*/;
--
--/**
-- * Unreference a I/O buffer instance.
-- * @param iob         hash table
-- * @return            NULL if free'd
-- */
--/*@unused@*/ /*@null@*/
--rpmiob rpmiobUnlink (/*@killref@*/ /*@null@*/ rpmiob iob)
--      /*@globals fileSystem @*/
--      /*@modifies iob, fileSystem @*/;
--#define       rpmiobUnlink(_iob)      \
--    ((rpmiob)rpmioUnlinkPoolItem((rpmioItem)(_iob), __FUNCTION__, __FILE__, __LINE__))
--
--/**
-- * Reference a I/O buffer instance.
-- * @param iob         I/O buffer
-- * @return            new I/O buffer reference
-- */
--/*@unused@*/ /*@newref@*/ /*@null@*/
--rpmiob rpmiobLink (/*@null@*/ rpmiob iob)
--      /*@globals fileSystem @*/
--      /*@modifies iob, fileSystem @*/;
--#define       rpmiobLink(_iob)        \
--    ((rpmiob)rpmioLinkPoolItem((rpmioItem)(_iob), __FUNCTION__, __FILE__, __LINE__))
--
--/**
-- * Destroy a I/O buffer instance.
-- * @param iob         I/O buffer
-- * @return            NULL on last dereference
-- */
--/*@null@*/
--rpmiob rpmiobFree( /*@killref@*/ rpmiob iob)
--      /*@globals fileSystem @*/
--      /*@modifies iob, fileSystem @*/;
--#define       rpmiobFree(_iob)        \
--    ((rpmiob)rpmioFreePoolItem((rpmioItem)(_iob), __FUNCTION__, __FILE__, __LINE__))
--
--/**
-- * Create an I/O buffer.
-- * @param len         no. of octets to allocate
-- * @return            new I/O buffer
-- */
--/*@newref@*/ /*@null@*/
--rpmiob rpmiobNew(size_t len)
--      /*@globals fileSystem @*/
--      /*@modifies fileSystem @*/;
--
--/**
-- * Empty an I/O buffer.
-- * @param iob         I/O buffer
-- * @return            I/O buffer
-- */
--rpmiob rpmiobEmpty(/*@returned@*/ rpmiob iob)
--      /*@modifies iob @*/;
--
--/**
-- * Trim trailing white space.
-- * @param iob         I/O buffer
-- * @return            I/O buffer
-- */
--rpmiob rpmiobRTrim(/*@returned@*/ rpmiob iob)
--      /*@modifies iob @*/;
--
--/**
-- * Append string to I/O buffer.
-- * @param iob         I/O buffer
-- * @param s           string
-- * @param nl          append NL?
-- * @return            I/O buffer
-- */
--rpmiob rpmiobAppend(/*@returned@*/ rpmiob iob, const char * s, size_t nl)
--      /*@modifies iob @*/;
--
--/**
-- * Return I/O buffer.
-- * @param iob         I/O buffer
-- * @return            I/O buffer (as octets)
-- */
--rpmuint8_t * rpmiobBuf(rpmiob iob)
--      /*@*/;
--
--/**
-- * Return I/O buffer (as string).
-- * @param iob         I/O buffer
-- * @return            I/O buffer (as string)
-- */
--char * rpmiobStr(rpmiob iob)
--      /*@*/;
--
--/**
-- * Return I/O buffer len.
-- * @param iob         I/O buffer
-- * @return            I/O buffer length
-- */
--size_t rpmiobLen(rpmiob iob)
--      /*@*/;
--
--#if defined(_RPMIOB_INTERNAL)
--/**
-- * Read an entire file into a buffer.
-- * @param fn          file name to read
-- * @retval *iobp      I/O buffer
-- * @return            0 on success
-- */
--int rpmiobSlurp(const char * fn, rpmiob * iobp)
--        /*@globals h_errno, fileSystem, internalState @*/
--        /*@modifies *iobp, fileSystem, internalState @*/;
--#endif
--
--/**
-- * Destroy a rpmioP object.
-- * @param P           parser state
-- * @return            NULL
-- */
--/*@null@*/
--rpmioP rpmioPFree(/*@only@*/ /*@null@*/ rpmioP P)
--      /*@modifies P @*/;
--
--/**
-- * Parse next command out of a string incrementally.
-- * @param *Pptr               parser state
-- * @param str         string to parse
-- * @return            RPMRC_OK on success
-- */
--rpmRC rpmioParse(rpmioP *Pptr, const char * str)
--      /*@modifies *Pptr @*/;
--
--#ifdef __cplusplus
--}
--#endif
--
--#endif /* _H_RPMIOTYPES_ */
-diff --git a/src/debugedit/rpmsw.h b/src/debugedit/rpmsw.h
-deleted file mode 100644
-index 9023d0b..0000000
---- a/src/debugedit/rpmsw.h
-+++ /dev/null
-@@ -1,157 +0,0 @@
--#ifndef       H_RPMSW
--#define       H_RPMSW
--
--/** \ingroup rpmio
-- * \file rpmio/rpmsw.h
-- */
--
--/** \ingroup rpmio
-- */
--typedef unsigned long int rpmtime_t;
--
--/** \ingroup rpmio
-- */
--typedef struct rpmsw_s * rpmsw;
--
--/** \ingroup rpmio
-- */
--typedef struct rpmop_s * rpmop;
--
--/** \ingroup rpmio
-- */
--struct rpmsw_s {
--    union {
--      struct timeval tv;
--      unsigned long long int ticks;
--      unsigned long int tocks[2];
--    } u;
--};
--
--/** \ingroup rpmio
-- * Cumulative statistics for an operation.
-- */
--struct rpmop_s {
--    struct rpmsw_s    begin;  /*!< Starting time stamp. */
--    int                       count;  /*!< Number of operations. */
--    unsigned long long        bytes;  /*!< Number of bytes transferred. */
--    rpmtime_t         usecs;  /*!< Number of ticks. */
--};
--
--/*@unchecked@*/
--extern int _rpmsw_stats;
--
--/** \ingroup rpmio
-- * Indices for timestamps.
-- */
--typedef       enum rpmswOpX_e {
--    RPMSW_OP_TOTAL            =  0,
--    RPMSW_OP_CHECK            =  1,
--    RPMSW_OP_ORDER            =  2,
--    RPMSW_OP_FINGERPRINT      =  3,
--    RPMSW_OP_REPACKAGE                =  4,
--    RPMSW_OP_INSTALL          =  5,
--    RPMSW_OP_ERASE            =  6,
--    RPMSW_OP_SCRIPTLETS               =  7,
--    RPMSW_OP_COMPRESS         =  8,
--    RPMSW_OP_UNCOMPRESS               =  9,
--    RPMSW_OP_DIGEST           = 10,
--    RPMSW_OP_SIGNATURE                = 11,
--    RPMSW_OP_DBADD            = 12,
--    RPMSW_OP_DBREMOVE         = 13,
--    RPMSW_OP_DBGET            = 14,
--    RPMSW_OP_DBPUT            = 15,
--    RPMSW_OP_DBDEL            = 16,
--    RPMSW_OP_READHDR          = 17,
--    RPMSW_OP_HDRLOAD          = 18,
--    RPMSW_OP_HDRGET           = 19,
--    RPMSW_OP_DEBUG            = 20,
--    RPMSW_OP_MAX              = 20
--} rpmswOpX;
--
--#ifdef __cplusplus
--extern "C" {
--#endif
--
--/** Return benchmark time stamp.
-- * @param *sw         time stamp
-- * @return            0 on success
-- */
--/*@-exportlocal@*/
--/*@null@*/
--rpmsw rpmswNow(/*@returned@*/ rpmsw sw)
--      /*@globals internalState @*/
--      /*@modifies sw, internalState @*/;
--/*@=exportlocal@*/
--
--/** Return benchmark time stamp difference.
-- * @param *end                end time stamp
-- * @param *begin      begin time stamp
-- * @return            difference in micro-seconds
-- */
--/*@-exportlocal@*/
--rpmtime_t rpmswDiff(/*@null@*/ rpmsw end, /*@null@*/ rpmsw begin)
--      /*@*/;
--/*@=exportlocal@*/
--
--/** Return benchmark time stamp overhead.
-- * @return            overhead in micro-seconds
-- */
--/*@-exportlocal@*/
--rpmtime_t rpmswInit(void)
--      /*@globals internalState @*/
--      /*@modifies internalState @*/;
--/*@=exportlocal@*/
--
--/** \ingroup rpmio
-- * Enter timed operation.
-- * @param op                  operation statistics
-- * @param rc                  -1 clears usec counter
-- * @return                    0 always
-- */
--int rpmswEnter(/*@null@*/ rpmop op, ssize_t rc)
--      /*@globals internalState @*/
--      /*@modifies *op, internalState @*/;
--
--/** \ingroup rpmio
-- * Exit timed operation.
-- * @param op                  operation statistics
-- * @param rc                  per-operation data (e.g. bytes transferred)
-- * @return                    cumulative usecs for operation
-- */
--rpmtime_t rpmswExit(/*@null@*/ rpmop op, ssize_t rc)
--      /*@globals internalState @*/
--      /*@modifies op, internalState @*/;
--
--/** \ingroup rpmio
-- * Sum statistic counters.
-- * @param to                  result statistics
-- * @param from                        operation statistics
-- * @return                    cumulative usecs for operation
-- */
--rpmtime_t rpmswAdd(/*@null@*/ rpmop to, /*@null@*/ rpmop from)
--      /*@modifies to @*/;
--
--/** \ingroup rpmio
-- * Subtract statistic counters.
-- * @param to                  result statistics
-- * @param from                        operation statistics
-- * @return                    cumulative usecs for operation
-- */
--rpmtime_t rpmswSub(rpmop to, rpmop from)
--      /*@modifies to @*/;
--
--/** \ingroup rpmio
-- * Print operation statistics.
-- * @param name                        operation name
-- * @param op                  operation statistics
-- * @param fp                  file handle (NULL uses stderr)
-- */
--void rpmswPrint(const char * name, /*@null@*/ rpmop op, /*@null@*/ FILE * fp)
--        /*@globals fileSystem @*/
--        /*@modifies fp, fileSystem @*/;
--
--#ifdef __cplusplus
--}
--#endif
--
--#endif        /* H_RPMSW */
-diff --git a/src/debugedit/rpmtag.h b/src/debugedit/rpmtag.h
-deleted file mode 100644
-index 36e24c8..0000000
---- a/src/debugedit/rpmtag.h
-+++ /dev/null
-@@ -1,1243 +0,0 @@
--#ifndef H_RPMTAG
--#define       H_RPMTAG
--
--/** \ingroup header
-- * \file rpmdb/rpmtag.h
-- */
--
--#include "rpmiotypes.h"
--#include "rpmsw.h"
--
--#ifdef __cplusplus
--extern "C" {
--#endif
--
--/** \ingroup header
-- */
--typedef const char *  errmsg_t;
--
--/** \ingroup header
-- */
--typedef /*@abstract@*/ /*@refcounted@*/ struct headerToken_s * Header;
--
--/** \ingroup header
-- * The basic types of data in tags from headers.
-- */
--enum rpmTagType_e {
--      /* RPM_NULL_TYPE =  0   - never been used. */
--      /* RPM_CHAR_TYPE =  1   - never been used, same as RPM_UINT8_TYPE. */
--    RPM_UINT8_TYPE            =  2,
--    RPM_UINT16_TYPE           =  3,
--    RPM_UINT32_TYPE           =  4,
--    RPM_UINT64_TYPE           =  5,
--    RPM_STRING_TYPE           =  6,
--    RPM_BIN_TYPE              =  7,
--    RPM_STRING_ARRAY_TYPE     =  8,
--    RPM_I18NSTRING_TYPE               =  9
--      /* RPM_ASN1_TYPE = 10   - never been used. */
--      /* RPM_OPENPGP_TYPE= 11 - never been used. */
--};
--#define       RPM_MIN_TYPE            2
--#define       RPM_MAX_TYPE            9
--#define       RPM_MASK_TYPE           0x0000ffff
--
--/** \ingroup header
-- */
--typedef enum rpmTagType_e rpmTagType; /*!< tag data type. */
--
--/** \ingroup header
-- */
--typedef union rpmDataType_u rpmTagData;       /*!< tag data. */
--
--/** \ingroup header
-- */
--typedef rpmuint32_t rpmTagCount;      /*!< tag data element count. */
--
--/** \ingroup header
-- */
--typedef struct _HE_s * HE_t;  /*!< tag container. */
--
--/** \ingroup header
-- */
--/*@-typeuse -fielduse@*/
--#if !defined(SWIG)
--union rpmDataType_u {
--/*@null@*/
--    void * ptr;
--    rpmuint8_t * ui8p;                /*!< RPM_UINT8_TYPE | RPM_CHAR_TYPE */
--    rpmuint16_t * ui16p;      /*!< RPM_UINT16_TYPE */
--    rpmuint32_t * ui32p;      /*!< RPM_UINT32_TYPE */
--    rpmuint64_t * ui64p;      /*!< RPM_UINT64_TYPE */
--/*@relnull@*/
--    const char * str;         /*!< RPM_STRING_TYPE */
--    unsigned char * blob;     /*!< RPM_BIN_TYPE */
--    const char ** argv;               /*!< RPM_STRING_ARRAY_TYPE */
--    HE_t he;
--};
--#endif
--/*@=typeuse =fielduse@*/
--
--/*@=typeuse =fielduse@*/
--/** \ingroup header
-- */
--/*@-enummemuse -typeuse @*/
--typedef enum rpmSubTagType_e {
--    RPM_REGION_TYPE           = -10,
--    RPM_BIN_ARRAY_TYPE                = -11,
--    RPM_XREF_TYPE             = -12
--} rpmSubTagType;
--/*@=enummemuse =typeuse @*/
--
--/** \ingroup header
-- * Identify how to return the header data type.
-- */
--/*@-enummemuse -typeuse @*/
--typedef enum rpmTagReturnType_e {
--    RPM_ANY_RETURN_TYPE               = 0,
--    RPM_SCALAR_RETURN_TYPE    = 0x00010000,
--    RPM_ARRAY_RETURN_TYPE     = 0x00020000,
--    RPM_MAPPING_RETURN_TYPE   = 0x00040000,
--      /* 0x00080000 */
--    RPM_PROBE_RETURN_TYPE     = 0x00100000,
--    RPM_TREE_RETURN_TYPE      = 0x00200000,
--    RPM_OPENPGP_RETURN_TYPE   = 0x00400000,
--    RPM_X509_RETURN_TYPE      = 0x00800000,
--    RPM_ASN1_RETURN_TYPE      = 0x01000000,
--    RPM_OPAQUE_RETURN_TYPE    = 0x10000000,
--    RPM_MASK_RETURN_TYPE      = 0xffff0000
--} rpmTagReturnType;
--/*@=enummemuse =typeuse @*/
--
--/**
-- * Header private tags.
-- * @note General use tags should start at 1000 (RPM's tag space starts there).
-- */
--#define       HEADER_IMAGE            61
--#define       HEADER_SIGNATURES       62
--#define       HEADER_IMMUTABLE        63
--#define       HEADER_REGIONS          64
--#define HEADER_I18NTABLE      100
--#define       HEADER_SIGBASE          256
--#define       HEADER_TAGBASE          1000
--
--/** \ingroup header
-- */
--typedef /*@abstract@*/ struct headerIterator_s * HeaderIterator;
--
--/** \ingroup header
-- */
--typedef /*@abstract@*/ struct headerTagIndices_s * headerTagIndices;
--
--/** \ingroup header
-- */
--typedef /*@abstract@*/ const struct headerSprintfExtension_s * headerSprintfExtension;
--
--/**
-- * Pseudo-tags used by the rpmdb and rpmgi iterator API's.
-- */
--#define       RPMDBI_PACKAGES         0       /* Installed package headers. */
--#define       RPMDBI_DEPENDS          1       /* Dependency resolution cache. */
--      /* (obsolete) RPMDBI_LABEL was 2 */
--#define       RPMDBI_ADDED            3       /* Added package headers. */
--#define       RPMDBI_REMOVED          4       /* Removed package headers. */
--#define       RPMDBI_AVAILABLE        5       /* Available package headers. */
--#define       RPMDBI_HDLIST           6       /* (rpmgi) Header list. */
--#define       RPMDBI_ARGLIST          7       /* (rpmgi) Argument list. */
--#define       RPMDBI_FTSWALK          8       /* (rpmgi) File tree  walk. */
--#define       RPMDBI_SEQNO            9       /* Sequence numbers. */
--#define       RPMDBI_BTREE            10      /* (development) Generic DB_BTREE. */
--#define       RPMDBI_HASH             11      /* (development) Generic DB_HASH. */
--#define       RPMDBI_QUEUE            12      /* (development) Generic DB_QUEUE. */
--#define       RPMDBI_RECNO            13      /* (development) Generic DB_RECNO. */
--#define       RPMDBI_REPACKAGES       14      /* Re-packaged package paths. */
--#define       RPMDBI_REPOSITORY       15      /* Repository URI's. */
--
--/** \ingroup header
-- * Tags identify data in package headers.
-- * @note tags should not have value 0!
-- */
--enum rpmTag_e {
--
--    RPMTAG_HEADERIMAGE                = HEADER_IMAGE,         /*!< internal Current image. */
--    RPMTAG_HEADERSIGNATURES   = HEADER_SIGNATURES,    /*!< internal Signatures. */
--    RPMTAG_HEADERIMMUTABLE    = HEADER_IMMUTABLE,     /*!< x Original image. */
--/*@-enummemuse@*/
--    RPMTAG_HEADERREGIONS      = HEADER_REGIONS,       /*!< internal Regions. */
--
--    RPMTAG_HEADERI18NTABLE    = HEADER_I18NTABLE, /*!< s[] I18N string locales. */
--/*@=enummemuse@*/
--
--/* Retrofit (and uniqify) signature tags for use by tagName() and rpmQuery. */
--/* the md5 sum was broken *twice* on big endian machines */
--/* XXX 2nd underscore prevents tagTable generation */
--    RPMTAG_SIG_BASE           = HEADER_SIGBASE,
--    RPMTAG_SIGSIZE            = RPMTAG_SIG_BASE+1,    /* i */
--    RPMTAG_SIGLEMD5_1         = RPMTAG_SIG_BASE+2,    /* internal - obsolete */
--    RPMTAG_SIGPGP             = RPMTAG_SIG_BASE+3,    /* x */
--    RPMTAG_SIGLEMD5_2         = RPMTAG_SIG_BASE+4,    /* x internal - obsolete */
--    RPMTAG_SIGMD5             = RPMTAG_SIG_BASE+5,    /* x */
--#define       RPMTAG_PKGID    RPMTAG_SIGMD5                   /* x */
--    RPMTAG_SIGGPG             = RPMTAG_SIG_BASE+6,    /* x */
--    RPMTAG_SIGPGP5            = RPMTAG_SIG_BASE+7,    /* internal - obsolete */
--
--    RPMTAG_BADSHA1_1          = RPMTAG_SIG_BASE+8,    /* internal - obsolete */
--    RPMTAG_BADSHA1_2          = RPMTAG_SIG_BASE+9,    /* internal - obsolete */
--    RPMTAG_PUBKEYS            = RPMTAG_SIG_BASE+10,   /* s[] */
--    RPMTAG_DSAHEADER          = RPMTAG_SIG_BASE+11,   /* x */
--    RPMTAG_RSAHEADER          = RPMTAG_SIG_BASE+12,   /* x */
--    RPMTAG_SHA1HEADER         = RPMTAG_SIG_BASE+13,   /* s */
--#define       RPMTAG_HDRID    RPMTAG_SHA1HEADER       /* s */
--
--    RPMTAG_NAME               = 1000, /* s */
--#define       RPMTAG_N        RPMTAG_NAME     /* s */
--    RPMTAG_VERSION            = 1001, /* s */
--#define       RPMTAG_V        RPMTAG_VERSION  /* s */
--    RPMTAG_RELEASE            = 1002, /* s */
--#define       RPMTAG_R        RPMTAG_RELEASE  /* s */
--    RPMTAG_EPOCH              = 1003, /* i */
--#define       RPMTAG_E        RPMTAG_EPOCH    /* i */
--    RPMTAG_SUMMARY            = 1004, /* s{} */
--    RPMTAG_DESCRIPTION                = 1005, /* s{} */
--    RPMTAG_BUILDTIME          = 1006, /* i */
--    RPMTAG_BUILDHOST          = 1007, /* s */
--    RPMTAG_INSTALLTIME                = 1008, /* i[] */
--    RPMTAG_SIZE                       = 1009, /* i */
--    RPMTAG_DISTRIBUTION               = 1010, /* s */
--    RPMTAG_VENDOR             = 1011, /* s */
--    RPMTAG_GIF                        = 1012, /* x */
--    RPMTAG_XPM                        = 1013, /* x */
--    RPMTAG_LICENSE            = 1014, /* s */
--    RPMTAG_PACKAGER           = 1015, /* s */
--    RPMTAG_GROUP              = 1016, /* s{} */
--/*@-enummemuse@*/
--    RPMTAG_CHANGELOG          = 1017, /* s[] internal */
--/*@=enummemuse@*/
--    RPMTAG_SOURCE             = 1018, /* s[] */
--    RPMTAG_PATCH              = 1019, /* s[] */
--    RPMTAG_URL                        = 1020, /* s */
--    RPMTAG_OS                 = 1021, /* s legacy used int */
--    RPMTAG_ARCH                       = 1022, /* s legacy used int */
--    RPMTAG_PREIN              = 1023, /* s */
--    RPMTAG_POSTIN             = 1024, /* s */
--    RPMTAG_PREUN              = 1025, /* s */
--    RPMTAG_POSTUN             = 1026, /* s */
--    RPMTAG_OLDFILENAMES               = 1027, /* s[] obsolete */
--    RPMTAG_FILESIZES          = 1028, /* i[] */
--    RPMTAG_FILESTATES         = 1029, /* c[] */
--    RPMTAG_FILEMODES          = 1030, /* h[] */
--    RPMTAG_FILEUIDS           = 1031, /* i[] internal */
--    RPMTAG_FILEGIDS           = 1032, /* i[] internal */
--    RPMTAG_FILERDEVS          = 1033, /* h[] */
--    RPMTAG_FILEMTIMES         = 1034, /* i[] */
--    RPMTAG_FILEDIGESTS                = 1035, /* s[] */
--#define RPMTAG_FILEMD5S       RPMTAG_FILEDIGESTS /* s[] */
--    RPMTAG_FILELINKTOS                = 1036, /* s[] */
--    RPMTAG_FILEFLAGS          = 1037, /* i[] */
--/*@-enummemuse@*/
--    RPMTAG_ROOT                       = 1038, /* internal - obsolete */
--/*@=enummemuse@*/
--    RPMTAG_FILEUSERNAME               = 1039, /* s[] */
--    RPMTAG_FILEGROUPNAME      = 1040, /* s[] */
--/*@-enummemuse@*/
--    RPMTAG_EXCLUDE            = 1041, /* internal - obsolete */
--    RPMTAG_EXCLUSIVE          = 1042, /* internal - obsolete */
--/*@=enummemuse@*/
--    RPMTAG_ICON                       = 1043, /* x */
--    RPMTAG_SOURCERPM          = 1044, /* s */
--    RPMTAG_FILEVERIFYFLAGS    = 1045, /* i[] */
--    RPMTAG_ARCHIVESIZE                = 1046, /* i */
--    RPMTAG_PROVIDENAME                = 1047, /* s[] */
--#define       RPMTAG_PROVIDES RPMTAG_PROVIDENAME      /* s[] */
--#define       RPMTAG_P        RPMTAG_PROVIDENAME      /* s[] */
--    RPMTAG_REQUIREFLAGS               = 1048, /* i[] */
--    RPMTAG_REQUIRENAME                = 1049, /* s[] */
--#define       RPMTAG_REQUIRES RPMTAG_REQUIRENAME      /* s[] */
--    RPMTAG_REQUIREVERSION     = 1050, /* s[] */
--    RPMTAG_NOSOURCE           = 1051, /* i internal */
--    RPMTAG_NOPATCH            = 1052, /* i internal */
--    RPMTAG_CONFLICTFLAGS      = 1053, /* i[] */
--    RPMTAG_CONFLICTNAME               = 1054, /* s[] */
--#define       RPMTAG_CONFLICTS RPMTAG_CONFLICTNAME    /* s[] */
--#define       RPMTAG_C        RPMTAG_CONFLICTNAME     /* s[] */
--    RPMTAG_CONFLICTVERSION    = 1055, /* s[] */
--    RPMTAG_DEFAULTPREFIX      = 1056, /* s internal - deprecated */
--    RPMTAG_BUILDROOT          = 1057, /* s internal */
--    RPMTAG_INSTALLPREFIX      = 1058, /* s internal - deprecated */
--    RPMTAG_EXCLUDEARCH                = 1059, /* s[] */
--    RPMTAG_EXCLUDEOS          = 1060, /* s[] */
--    RPMTAG_EXCLUSIVEARCH      = 1061, /* s[] */
--    RPMTAG_EXCLUSIVEOS                = 1062, /* s[] */
--    RPMTAG_AUTOREQPROV                = 1063, /* s internal */
--    RPMTAG_RPMVERSION         = 1064, /* s */
--    RPMTAG_TRIGGERSCRIPTS     = 1065, /* s[] */
--    RPMTAG_TRIGGERNAME                = 1066, /* s[] */
--    RPMTAG_TRIGGERVERSION     = 1067, /* s[] */
--    RPMTAG_TRIGGERFLAGS               = 1068, /* i[] */
--    RPMTAG_TRIGGERINDEX               = 1069, /* i[] */
--    RPMTAG_VERIFYSCRIPT               = 1079, /* s */
--    RPMTAG_CHANGELOGTIME      = 1080, /* i[] */
--    RPMTAG_CHANGELOGNAME      = 1081, /* s[] */
--    RPMTAG_CHANGELOGTEXT      = 1082, /* s[] */
--/*@-enummemuse@*/
--    RPMTAG_BROKENMD5          = 1083, /* internal - obsolete */
--/*@=enummemuse@*/
--    RPMTAG_PREREQ             = 1084, /* internal */
--    RPMTAG_PREINPROG          = 1085, /* s */
--    RPMTAG_POSTINPROG         = 1086, /* s */
--    RPMTAG_PREUNPROG          = 1087, /* s */
--    RPMTAG_POSTUNPROG         = 1088, /* s */
--    RPMTAG_BUILDARCHS         = 1089, /* s[] */
--    RPMTAG_OBSOLETENAME               = 1090, /* s[] */
--#define       RPMTAG_OBSOLETES RPMTAG_OBSOLETENAME    /* s[] */
--#define       RPMTAG_O        RPMTAG_OBSOLETENAME     /* s[] */
--    RPMTAG_VERIFYSCRIPTPROG   = 1091, /* s */
--    RPMTAG_TRIGGERSCRIPTPROG  = 1092, /* s[] */
--    RPMTAG_DOCDIR             = 1093, /* internal */
--    RPMTAG_COOKIE             = 1094, /* s */
--    RPMTAG_FILEDEVICES                = 1095, /* i[] */
--    RPMTAG_FILEINODES         = 1096, /* i[] */
--    RPMTAG_FILELANGS          = 1097, /* s[] */
--    RPMTAG_PREFIXES           = 1098, /* s[] */
--    RPMTAG_INSTPREFIXES               = 1099, /* s[] */
--    RPMTAG_TRIGGERIN          = 1100, /* internal */
--    RPMTAG_TRIGGERUN          = 1101, /* internal */
--    RPMTAG_TRIGGERPOSTUN      = 1102, /* internal */
--    RPMTAG_AUTOREQ            = 1103, /* internal */
--    RPMTAG_AUTOPROV           = 1104, /* internal */
--/*@-enummemuse@*/
--    RPMTAG_CAPABILITY         = 1105, /* i legacy - obsolete */
--/*@=enummemuse@*/
--    RPMTAG_SOURCEPACKAGE      = 1106, /* i legacy - obsolete */
--/*@-enummemuse@*/
--    RPMTAG_OLDORIGFILENAMES   = 1107, /* internal - obsolete */
--/*@=enummemuse@*/
--    RPMTAG_BUILDPREREQ                = 1108, /* internal */
--    RPMTAG_BUILDREQUIRES      = 1109, /* internal */
--    RPMTAG_BUILDCONFLICTS     = 1110, /* internal */
--/*@-enummemuse@*/
--    RPMTAG_BUILDMACROS                = 1111, /* s[] srpms only */
--/*@=enummemuse@*/
--    RPMTAG_PROVIDEFLAGS               = 1112, /* i[] */
--    RPMTAG_PROVIDEVERSION     = 1113, /* s[] */
--    RPMTAG_OBSOLETEFLAGS      = 1114, /* i[] */
--    RPMTAG_OBSOLETEVERSION    = 1115, /* s[] */
--    RPMTAG_DIRINDEXES         = 1116, /* i[] */
--    RPMTAG_BASENAMES          = 1117, /* s[] */
--    RPMTAG_DIRNAMES           = 1118, /* s[] */
--    RPMTAG_ORIGDIRINDEXES     = 1119, /* i[] relocation */
--    RPMTAG_ORIGBASENAMES      = 1120, /* s[] relocation */
--    RPMTAG_ORIGDIRNAMES               = 1121, /* s[] relocation */
--    RPMTAG_OPTFLAGS           = 1122, /* s */
--    RPMTAG_DISTURL            = 1123, /* s */
--    RPMTAG_PAYLOADFORMAT      = 1124, /* s */
--    RPMTAG_PAYLOADCOMPRESSOR  = 1125, /* s */
--    RPMTAG_PAYLOADFLAGS               = 1126, /* s */
--    RPMTAG_INSTALLCOLOR               = 1127, /* i transaction color when installed */
--    RPMTAG_INSTALLTID         = 1128, /* i[] */
--    RPMTAG_REMOVETID          = 1129, /* i[] */
--/*@-enummemuse@*/
--    RPMTAG_SHA1RHN            = 1130, /* internal - obsolete */
--/*@=enummemuse@*/
--    RPMTAG_RHNPLATFORM                = 1131, /* s deprecated */
--    RPMTAG_PLATFORM           = 1132, /* s */
--    RPMTAG_PATCHESNAME                = 1133, /* s[] deprecated placeholder (SuSE) */
--    RPMTAG_PATCHESFLAGS               = 1134, /* i[] deprecated placeholder (SuSE) */
--    RPMTAG_PATCHESVERSION     = 1135, /* s[] deprecated placeholder (SuSE) */
--    RPMTAG_CACHECTIME         = 1136, /* i rpmcache(8) only */
--    RPMTAG_CACHEPKGPATH               = 1137, /* s rpmcache(8) only */
--    RPMTAG_CACHEPKGSIZE               = 1138, /* i rpmcache(8) only */
--    RPMTAG_CACHEPKGMTIME      = 1139, /* i rpmcache(8) only */
--    RPMTAG_FILECOLORS         = 1140, /* i[] */
--    RPMTAG_FILECLASS          = 1141, /* i[] */
--    RPMTAG_CLASSDICT          = 1142, /* s[] */
--    RPMTAG_FILEDEPENDSX               = 1143, /* i[] */
--    RPMTAG_FILEDEPENDSN               = 1144, /* i[] */
--    RPMTAG_DEPENDSDICT                = 1145, /* i[] */
--    RPMTAG_SOURCEPKGID                = 1146, /* x */
--    RPMTAG_FILECONTEXTS               = 1147, /* s[] */
--    RPMTAG_FSCONTEXTS         = 1148, /* s[] extension */
--    RPMTAG_RECONTEXTS         = 1149, /* s[] extension */
--    RPMTAG_POLICIES           = 1150, /* s[] selinux *.te policy file. */
--    RPMTAG_PRETRANS           = 1151, /* s */
--    RPMTAG_POSTTRANS          = 1152, /* s */
--    RPMTAG_PRETRANSPROG               = 1153, /* s */
--    RPMTAG_POSTTRANSPROG      = 1154, /* s */
--    RPMTAG_DISTTAG            = 1155, /* s */
--    RPMTAG_SUGGESTSNAME               = 1156, /* s[] extension */
--#define       RPMTAG_SUGGESTS RPMTAG_SUGGESTSNAME     /* s[] */
--    RPMTAG_SUGGESTSVERSION    = 1157, /* s[] extension */
--    RPMTAG_SUGGESTSFLAGS      = 1158, /* i[] extension */
--    RPMTAG_ENHANCESNAME               = 1159, /* s[] extension placeholder */
--#define       RPMTAG_ENHANCES RPMTAG_ENHANCESNAME     /* s[] */
--    RPMTAG_ENHANCESVERSION    = 1160, /* s[] extension placeholder */
--    RPMTAG_ENHANCESFLAGS      = 1161, /* i[] extension placeholder */
--    RPMTAG_PRIORITY           = 1162, /* i[] extension placeholder */
--    RPMTAG_CVSID              = 1163, /* s */
--#define       RPMTAG_SVNID    RPMTAG_CVSID    /* s */
--    RPMTAG_BLINKPKGID         = 1164, /* s[] */
--    RPMTAG_BLINKHDRID         = 1165, /* s[] */
--    RPMTAG_BLINKNEVRA         = 1166, /* s[] */
--    RPMTAG_FLINKPKGID         = 1167, /* s[] */
--    RPMTAG_FLINKHDRID         = 1168, /* s[] */
--    RPMTAG_FLINKNEVRA         = 1169, /* s[] */
--    RPMTAG_PACKAGEORIGIN      = 1170, /* s */
--    RPMTAG_TRIGGERPREIN               = 1171, /* internal */
--    RPMTAG_BUILDSUGGESTS      = 1172, /* internal */
--    RPMTAG_BUILDENHANCES      = 1173, /* internal */
--    RPMTAG_SCRIPTSTATES               = 1174, /* i[] scriptlet exit codes */
--    RPMTAG_SCRIPTMETRICS      = 1175, /* i[] scriptlet execution times */
--    RPMTAG_BUILDCPUCLOCK      = 1176, /* i */
--    RPMTAG_FILEDIGESTALGOS    = 1177, /* i[] */
--    RPMTAG_VARIANTS           = 1178, /* s[] */
--    RPMTAG_XMAJOR             = 1179, /* i */
--    RPMTAG_XMINOR             = 1180, /* i */
--    RPMTAG_REPOTAG            = 1181, /* s */
--    RPMTAG_KEYWORDS           = 1182, /* s[] */
--    RPMTAG_BUILDPLATFORMS     = 1183, /* s[] */
--    RPMTAG_PACKAGECOLOR               = 1184, /* i */
--    RPMTAG_PACKAGEPREFCOLOR   = 1185, /* i (unimplemented) */
--    RPMTAG_XATTRSDICT         = 1186, /* s[] (unimplemented) */
--    RPMTAG_FILEXATTRSX                = 1187, /* i[] (unimplemented) */
--    RPMTAG_DEPATTRSDICT               = 1188, /* s[] (unimplemented) */
--    RPMTAG_CONFLICTATTRSX     = 1189, /* i[] (unimplemented) */
--    RPMTAG_OBSOLETEATTRSX     = 1190, /* i[] (unimplemented) */
--    RPMTAG_PROVIDEATTRSX      = 1191, /* i[] (unimplemented) */
--    RPMTAG_REQUIREATTRSX      = 1192, /* i[] (unimplemented) */
--    RPMTAG_BUILDPROVIDES      = 1193, /* internal */
--    RPMTAG_BUILDOBSOLETES     = 1194, /* internal */
--    RPMTAG_DBINSTANCE         = 1195, /* i */
--    RPMTAG_NVRA                       = 1196, /* s */
--    RPMTAG_FILEPATHS          = 1197, /* s[] */
--    RPMTAG_ORIGPATHS          = 1198, /* s[] */
--    RPMTAG_RPMLIBVERSION      = 1199, /* i */
--    RPMTAG_RPMLIBTIMESTAMP    = 1200, /* i */
--    RPMTAG_RPMLIBVENDOR               = 1201, /* i */
--    RPMTAG_CLASS              = 1202, /* s arbitrary */
--    RPMTAG_TRACK              = 1203, /* s internal arbitrary */
--    RPMTAG_TRACKPROG          = 1204, /* s internal arbitrary */
--    RPMTAG_SANITYCHECK                = 1205, /* s */
--    RPMTAG_SANITYCHECKPROG    = 1206, /* s */
--    RPMTAG_FILESTAT           = 1207, /* s[] stat(2) from metadata extension*/
--    RPMTAG_STAT                       = 1208, /* s[] stat(2) from disk extension */
--    RPMTAG_ORIGINTID          = 1209, /* i[] */
--    RPMTAG_ORIGINTIME         = 1210, /* i[] */
--    RPMTAG_HEADERSTARTOFF     = 1211, /* l */
--    RPMTAG_HEADERENDOFF               = 1212, /* l */
--    RPMTAG_PACKAGETIME                = 1213, /* l */
--    RPMTAG_PACKAGESIZE                = 1214, /* l */
--    RPMTAG_PACKAGEDIGEST      = 1215, /* s */
--    RPMTAG_PACKAGESTAT                = 1216, /* x */
--    RPMTAG_PACKAGEBASEURL     = 1217, /* s */
--    RPMTAG_DISTEPOCH          = 1218, /* s */
--#define       RPMTAG_D RPMTAG_DISTEPOCH       /* s */
--
--    RPMTAG_CONFLICTYAMLENTRY  = 1219, /* s[] */
--    RPMTAG_OBSOLETEYAMLENTRY  = 1220, /* s[] */
--    RPMTAG_PROVIDEYAMLENTRY   = 1221, /* s[] */
--    RPMTAG_REQUIREYAMLENTRY   = 1222, /* s[] */
--
--    RPMTAG_FILEDIGESTALGO     = 5011, /* i file checksum algorithm */
--    RPMTAG_BUGURL             = 5012, /* s */
--
--/*@-enummemuse@*/
--    RPMTAG_FIRSTFREE_TAG,     /*!< internal */
--/*@=enummemuse@*/
--
--    RPMTAG_PACKAGETRANSFLAGS  = 0x4efaafd9, /* s[] arbitrary */
--    RPMTAG_PACKAGEDEPFLAGS    = 0x748a8314, /* s[] arbitrary */
--
--    RPMTAG_BUILDPREPPROG      = 0x4ba37c9e, /* s[] arbitrary */
--    RPMTAG_BUILDPREP          = 0x799c0b4d, /* s[] arbitrary */
--    RPMTAG_BUILDBUILDPROG     = 0x6fb46014, /* s[] arbitrary */
--    RPMTAG_BUILDBUILD         = 0x5bae1a5a, /* s[] arbitrary */
--    RPMTAG_BUILDINSTALLPROG   = 0x70d4ab6f, /* s[] arbitrary */
--    RPMTAG_BUILDINSTALL               = 0x567f5983, /* s[] arbitrary */
--    RPMTAG_BUILDCHECKPROG     = 0x488a60ce, /* s[] arbitrary */
--    RPMTAG_BUILDCHECK         = 0x7f3b97b5, /* s[] arbitrary */
--    RPMTAG_BUILDCLEANPROG     = 0x42c93d41, /* s[] arbitrary */
--    RPMTAG_BUILDCLEAN         = 0x566042bf, /* s[] arbitrary */
--
--    RPMTAG_LASTARBITRARY_TAG  = 0x80000000  /*!< internal */
--};
--
--#define       RPMTAG_EXTERNAL_TAG             1000000
--
--/** \ingroup signature
-- * Tags found in signature header from package.
-- */
--enum rpmSigTag_e {
--    RPMSIGTAG_SIZE    = 1000, /*!< internal Header+Payload size in bytes. */
--    RPMSIGTAG_LEMD5_1 = 1001, /*!< internal Broken MD5, take 1 @deprecated legacy. */
--    RPMSIGTAG_PGP     = 1002, /*!< internal PGP 2.6.3 signature. */
--    RPMSIGTAG_LEMD5_2 = 1003, /*!< internal Broken MD5, take 2 @deprecated legacy. */
--    RPMSIGTAG_MD5     = 1004, /*!< internal MD5 signature. */
--    RPMSIGTAG_GPG     = 1005, /*!< internal GnuPG signature. */
--    RPMSIGTAG_PGP5    = 1006, /*!< internal PGP5 signature @deprecated legacy. */
--    RPMSIGTAG_PAYLOADSIZE = 1007,/*!< internal uncompressed payload size in bytes. */
--    RPMSIGTAG_BADSHA1_1       = RPMTAG_BADSHA1_1,     /*!< internal Broken SHA1, take 1. */
--    RPMSIGTAG_BADSHA1_2       = RPMTAG_BADSHA1_2,     /*!< internal Broken SHA1, take 2. */
--    RPMSIGTAG_SHA1    = RPMTAG_SHA1HEADER,    /*!< internal sha1 header digest. */
--    RPMSIGTAG_DSA     = RPMTAG_DSAHEADER,     /*!< internal DSA header signature. */
--    RPMSIGTAG_RSA     = RPMTAG_RSAHEADER,     /*!< internal RSA header signature. */
--    RPMSIGTAG_PADDING = 0x3fffffff            /*!< signature header padding */
--};
--
--/** \ingroup header
-- */
--typedef enum rpmTag_e rpmTag;
--
--/** \ingroup header
-- */
--typedef enum rpmSigTag_e rpmSigTag;
--
--/** \ingroup header
-- */
--/*@-typeuse -fielduse@*/
--#if !defined(SWIG)
--struct _HE_s {
--    rpmTag tag;
--    rpmTagType t;
--/*@owned@*/ /*@null@*/
--    rpmTagData p;
--    rpmTagCount c;
--    int ix;
--    unsigned int freeData     : 1;
--    unsigned int avail                : 1;
--    unsigned int append               : 1;
--};
--#endif
--
--/**
-- */
--typedef struct _HE_s HE_s;
--
--/** \ingroup rpmdb
-- */
--typedef struct tagStore_s * tagStore_t;
--
--/**
-- */
--typedef /*@abstract@*/ const struct headerTagTableEntry_s * headerTagTableEntry;
--
--#if defined(_RPMTAG_INTERNAL)
--/**
-- */
--/** \ingroup header
-- * Associate tag names with numeric values.
-- */
--#if !defined(SWIG)
--struct headerTagTableEntry_s {
--/*@observer@*/ /*@relnull@*/
--    const char * name;                /*!< Tag name. */
--    rpmTag val;                       /*!< Tag numeric value. */
--    rpmTagType type;          /*!< Tag type. */
--};
--#endif
--
--/**
-- */ 
--struct tagStore_s {
--/*@only@*/
--    const char * str;           /*!< Tag string (might be arbitrary). */
--    rpmTag tag;                 /*!< Tag number. */
--    rpmiob iob;                       /*!< Tag contents. */
--};  
--#endif        /* _RPMTAG_INTERNAL */
--
--/**
-- * Automatically generated table of tag name/value pairs.
-- */
--/*@-redecl@*/
--/*@observer@*/ /*@unchecked@*/
--extern headerTagTableEntry rpmTagTable;
--/*@=redecl@*/
--
--/**
-- * Number of entries in rpmTagTable.
-- */
--/*@-redecl@*/
--/*@unchecked@*/
--extern int rpmTagTableSize;
--
--/*@unchecked@*/
--extern headerTagIndices rpmTags;
--/*@=redecl@*/
--
--#if defined(_RPMTAG_INTERNAL)
--/**
-- */
--#if !defined(SWIG)
--struct headerTagIndices_s {
--/*@relnull@*/
--    int (*loadIndex) (headerTagTableEntry ** ipp, size_t * np,
--                int (*cmp) (const void * avp, const void * bvp))
--        /*@ modifies *ipp, *np */;    /*!< Load sorted tag index. */
--/*@relnull@*/
--    headerTagTableEntry * byName;     /*!< rpmTag's sorted by name. */
--    size_t byNameSize;                        /*!< No. of entries. */
--    int (*byNameCmp) (const void * avp, const void * bvp)
--        /*@*/;                                /*!< Compare entries by name. */
--    rpmTag (*tagValue) (const char * name)
--      /*@*/;                          /*!< Return value from name. */
--/*@relnull@*/
--    headerTagTableEntry * byValue;    /*!< rpmTag's sorted by value. */
--    size_t byValueSize;                       /*!< No. of entries. */
--    int (*byValueCmp) (const void * avp, const void * bvp)
--        /*@*/;                                /*!< Compare entries by value. */
--    const char * (*tagName) (rpmTag value)
--      /*@*/;                          /*!< Return name from value. */
--    rpmTag (*tagType) (rpmTag value)
--      /*@*/;                          /*!< Return type from value. */
--    size_t nameBufLen;                        /*!< No. bytes allocated for nameBuf. */
--/*@relnull@*/
--    const char ** aTags;              /*!< Arbitrary tags array (ARGV_t) */
--/*@owned@*/ /*@null@*/
--    char * nameBuf;                   /* Name buffer. */
--/*@only@*/
--    char * (*tagCanonicalize) (const char * s)
--      /*@*/;                          /*!< Canonicalize arbitrary string. */
--    rpmTag (*tagGenerate) (const char * s)
--      /*@*/;                          /*!< Generate tag from string. */
--};
--#endif
--#endif        /* _RPMTAG_INTERNAL */
--
--/**
-- * Return tag name from value.
-- * @param tag         tag value
-- * @return            tag name, "(unknown)" on not found
-- */
--/*@observer@*/
--const char * tagName(rpmTag tag)
--      /*@*/;
--
--/**
-- * Return tag data type from value.
-- * @todo Return rpmTagType-like, not unsigned int. There's no clear typedef yet.
-- * @param tag         tag value
-- * @return            tag data type, 0 on not found.
-- */
--unsigned int tagType(rpmTag tag)
--      /*@*/;
--
--/**
-- * Return tag value from name.
-- * @param tagstr      name of tag
-- * @return            tag value, 0xffffffff on not found
-- */
--rpmTag tagValue(const char * tagstr)
--      /*@*/;
--
--/**
-- * Canonicalize a rpmTag string.
-- * @param s           string
-- * @return            canonicalized string
-- */
--/*@only@*/
--char * tagCanonicalize(const char * s)
--      /*@*/;
--
--/**
-- * Generate a tag from arbitrary string.
-- * @param s           string
-- * @return            generated tag value
-- */
--rpmTag tagGenerate(const char * s)
--      /*@*/;
--
--/**
-- * Free memory in header tag indices.
-- * @param _rpmTags    header tag indices (NULL uses rpmTags)
-- */
--void tagClean(/*@null@*/ headerTagIndices _rpmTags)
--      /*@globals rpmTags @*/
--      /*@modifies _rpmTags, rpmTags @*/;
--
--/**
-- * Destroy tagStore array.
-- * @param dbiTags     dbi tag storage
-- * @param dbiNTags    no. of dbi tags
-- * @return            NULL always
-- */
--/*@null@*/
--tagStore_t tagStoreFree(/*@only@*//*@null@*/tagStore_t dbiTags, size_t dbiNTags)
--      /*@modifies dbiTags @*/;
--
--#if defined(_RPMTAG_INTERNAL)
--/** \ingroup header
-- */
--typedef enum headerSprintfExtensionType_e {
--    HEADER_EXT_LAST = 0,      /*!< End of extension chain. */
--    HEADER_EXT_FORMAT,                /*!< headerTagFormatFunction() extension */
--    HEADER_EXT_MORE,          /*!< Chain to next table. */
--    HEADER_EXT_TAG            /*!< headerTagTagFunction() extension */
--} headerSprintfExtensionType;
--
--/** \ingroup header
-- * HEADER_EXT_TAG format function prototype.
-- *
-- * @param he          tag container
-- * @param av          parameter array (or NULL)
-- * @return            formatted string
-- */
--typedef /*only@*/ char * (*headerTagFormatFunction) (HE_t he, /*@null@*/ const char ** av)
--      /*@modifies he @*/;
--
--/** \ingroup header
-- * HEADER_EXT_FORMAT format function prototype.
-- * This is allowed to fail, which indicates the tag doesn't exist.
-- *
-- * @param h           header
-- * @retval he         tag container
-- * @return            0 on success
-- */
--typedef int (*headerTagTagFunction) (Header h, HE_t he)
--      /*@modifies he @*/;
--
--/** \ingroup header
-- * Define header tag output formats.
-- */
--#if !defined(SWIG)
--struct headerSprintfExtension_s {
--    headerSprintfExtensionType type;          /*!< Type of extension. */
--/*@observer@*/ /*@null@*/
--    const char * name;                                /*!< Name of extension. */
--    union {
--/*@observer@*/ /*@null@*/
--      void * generic;                         /*!< Private extension. */
--      headerTagFormatFunction fmtFunction; /*!< HEADER_EXT_TAG extension. */
--      headerTagTagFunction tagFunction; /*!< HEADER_EXT_FORMAT extension. */
--      headerSprintfExtension * more;  /*!< Chained table extension. */
--    } u;
--};
--#endif
--#endif        /* _RPMTAG_INTERNAL */
--
--/** \ingroup header
-- * Supported default header tag output formats.
-- */
--/*@unchecked@*/ /*@observer@*/
--extern headerSprintfExtension headerDefaultFormats;
--
--/** \ingroup header
-- * Supported default header extension/tag output formats.
-- */
--/*@unchecked@*/ /*@observer@*/
--extern headerSprintfExtension headerCompoundFormats;
--
--/**
-- * Display list of tags that can be used in --queryformat.
-- * @param fp          file handle to use for display (NULL uses stdout)
-- * @param _rpmTagTable        rpm tag table (NULL uses rpmTagTable)
-- * @param _rpmHeaderFormats   rpm tag extensions & formats (NULL uses headerCompoundFormats)
-- */
--void rpmDisplayQueryTags(/*@null@*/ FILE * fp,
--              /*@null@*/ headerTagTableEntry _rpmTagTable,
--              /*@null@*/ headerSprintfExtension _rpmHeaderFormats)
--      /*@globals fileSystem, internalState @*/
--      /*@modifies *fp, fileSystem, internalState @*/;
--
--/** \ingroup header
-- * Return formatted output string from header tags.
-- * The returned string must be free()d.
-- *
-- * @param h           header
-- * @param fmt         format to use
-- * @param tags                array of tag name/value/type triples (NULL uses default)
-- * @param exts                formatting extensions chained table (NULL uses default)
-- * @retval errmsg     error message (if any)
-- * @return            formatted output string (malloc'ed)
-- */
--/*@only@*/ /*@null@*/
--char * headerSprintf(Header h, const char * fmt,
--              /*@null@*/ headerTagTableEntry tags,
--              /*@null@*/ headerSprintfExtension exts,
--              /*@null@*/ /*@out@*/ errmsg_t * errmsg)
--      /*@globals headerCompoundFormats, fileSystem, internalState @*/
--      /*@modifies h, *errmsg, fileSystem, internalState @*/;
--
--/** \ingroup header
-- * Retrieve extension or tag value from a header.
-- *
-- * @param h           header
-- * @param he          tag container
-- * @param flags               tag retrieval flags
-- * @return            1 on success, 0 on failure
-- */
--int headerGet(Header h, HE_t he, unsigned int flags)
--      /*@globals internalState @*/
--      /*@modifies he, internalState @*/;
--#define       HEADERGET_NOEXTENSION   (1 << 0) /*!< Extension search disabler. */
--#define       HEADERGET_NOI18NSTRING  (1 << 1) /*!< Return i18n strings as argv. */
--
--/** \ingroup header
-- * Add or append tag container to header.
-- *
-- * @param h           header
-- * @param he          tag container
-- * @param flags               (unused)
-- * @return            1 on success, 0 on failure
-- */
--/*@mayexit@*/
--int headerPut(Header h, HE_t he, /*@unused@*/ unsigned int flags)
--      /*@modifies h @*/;
--
--/** \ingroup header
-- * Remove tag container from header.
-- *
-- * @param h           header
-- * @param he          tag container
-- * @param flags               (unused)
-- * @return            1 on success, 0 on failure
-- */
--/*@mayexit@*/
--int headerDel(Header h, HE_t he, /*@unused@*/ unsigned int flags)
--      /*@modifies h @*/;
--
--/** \ingroup header
-- * Modify tag container in header.
-- * If there are multiple entries with this tag, the first one gets replaced.
-- * @param h           header
-- * @param he          tag container
-- * @param flags               (unused)
-- * @return            1 on success, 0 on failure
-- */
--int headerMod(Header h, HE_t he, /*@unused@*/ unsigned int flags)
--      /*@modifies h @*/;
--
--/** \ingroup header
-- * Destroy header tag container iterator.
-- * @param hi          header tag container iterator
-- * @return            NULL always
-- */
--/*@null@*/
--HeaderIterator headerFini(/*@only@*/ HeaderIterator hi)
--      /*@globals fileSystem @*/
--      /*@modifies hi, fileSystem */;
--
--/** \ingroup header
-- * Create header tag iterator.
-- * @param h           header
-- * @return            header tag iterator
-- */
--HeaderIterator headerInit(Header h)
--      /*@globals fileSystem @*/
--      /*@modifies h, fileSystem */;
--
--/** \ingroup header
-- * Return next tag from header.
-- * @param hi          header tag iterator
-- * @param he          tag container
-- * @param flags               (unused)
-- * @return            1 on success, 0 on failure
-- */
--int headerNext(HeaderIterator hi, HE_t he, /*@unused@*/ unsigned int flags)
--      /*@globals internalState @*/
--      /*@modifies hi, he, internalState @*/;
--
--/** \ingroup header
-- * Reference a header instance.
-- * @param h           header
-- * @return            referenced header instance
-- */
--Header headerLink(Header h)
--      /*@modifies h @*/;
--#define headerLink(_h)        \
--    ((Header)rpmioLinkPoolItem((rpmioItem)(_h), __FUNCTION__, __FILE__, __LINE__))
--
--/** \ingroup header
-- * Dereference a header instance.
-- * @param h           header
-- * @return            NULL on last dereference
-- */
--/*@null@*/
--Header headerUnlink(/*@killref@*/ /*@null@*/ Header h)
--      /*@modifies h @*/;
--#define headerUnlink(_h)        \
--    ((Header)rpmioUnlinkPoolItem((rpmioItem)(_h), __FUNCTION__, __FILE__, __LINE__))
--
--/** \ingroup header
-- * Dereference a header instance.
-- * @param h           header
-- * @return            NULL on last dereference
-- */
--/*@null@*/
--Header headerFree(/*@killref@*/ /*@null@*/ Header h)
--      /*@modifies h @*/;
--#define headerFree(_h)        \
--    ((Header)rpmioFreePoolItem((rpmioItem)(_h), __FUNCTION__, __FILE__, __LINE__))
--
--/** \ingroup header
-- * Create new (empty) header instance.
-- * @return            header
-- */
--Header headerNew(void)
--      /*@globals fileSystem @*/
--      /*@modifies fileSystem @*/;
--
--/** \ingroup header
-- * Return size of on-disk header representation in bytes.
-- * @param h           header
-- * @return            size of on-disk header
-- */
--size_t headerSizeof(/*@null@*/ Header h)
--      /*@modifies h @*/;
--
--/** \ingroup header
-- * headerUnload.
-- * @param h           header
-- * @retval *lenp      no. bytes in unloaded header blob
-- * @return            unloaded header blob (NULL on error)
-- */
--/*@only@*/ /*@null@*/
--void * headerUnload(Header h, /*@out@*/ /*@null@*/ size_t * lenp)
--      /*@globals internalState @*/
--      /*@modifies h, *lenp, internalState @*/;
--
--/** \ingroup header
-- * Convert header to on-disk representation, and then reload.
-- * This is used to insure that all header data is in a single
-- * contiguous memory allocation.
-- * @param h           header (with pointers)
-- * @param tag         region tag
-- * @return            on-disk header (with offsets)
-- */
--/*@null@*/
--Header headerReload(/*@only@*/ Header h, int tag)
--      /*@globals fileSystem, internalState @*/
--      /*@modifies h, fileSystem, internalState @*/;
--
--/** \ingroup header
-- * Duplicate a header.
-- * @param h           header
-- * @return            new header instance
-- */
--/*@null@*/
--Header headerCopy(Header h)
--      /*@globals fileSystem, internalState @*/
--      /*@modifies h, fileSystem, internalState @*/;
--
--/** \ingroup header
-- * Convert header to in-memory representation.
-- * @param uh          on-disk header blob (i.e. with offsets)
-- * @return            header
-- */
--/*@null@*/
--Header headerLoad(/*@kept@*/ void * uh)
--      /*@globals fileSystem, internalState @*/
--      /*@modifies uh, fileSystem, internalState @*/;
--
--/** \ingroup header
-- * Make a copy and convert header to in-memory representation.
-- * @param uh          on-disk header blob (i.e. with offsets)
-- * @return            header
-- */
--/*@null@*/
--Header headerCopyLoad(const void * uh)
--      /*@globals fileSystem, internalState @*/
--      /*@modifies fileSystem, internalState @*/;
--
--/** \ingroup header
-- * Check if tag is in header.
-- * @param h           header
-- * @param tag         tag
-- * @return            1 on success, 0 on failure
-- */
--int headerIsEntry(/*@null@*/ Header h, rpmTag tag)
--      /*@*/;
--
--/** \ingroup header
-- * Add locale specific tag to header.
-- * A NULL lang is interpreted as the C locale. Here are the rules:
-- * \verbatim
-- *    - If the tag isn't in the header, it's added with the passed string
-- *       as new value.
-- *    - If the tag occurs multiple times in entry, which tag is affected
-- *       by the operation is undefined.
-- *    - If the tag is in the header w/ this language, the entry is
-- *       *replaced* (like headerModifyEntry()).
-- * \endverbatim
-- * This function is intended to just "do the right thing". If you need
-- * more fine grained control use headerAddEntry() and headerModifyEntry().
-- *
-- * @param h           header
-- * @param tag         tag
-- * @param string      tag value
-- * @param lang                locale
-- * @return            1 on success, 0 on failure
-- */
--int headerAddI18NString(Header h, rpmTag tag, const char * string,
--              const char * lang)
--      /*@modifies h @*/;
--
--/** \ingroup header
-- * Duplicate tag values from one header into another.
-- * @param headerFrom  source header
-- * @param headerTo    destination header
-- * @param tagstocopy  array of tags that are copied
-- */
--void headerCopyTags(Header headerFrom, Header headerTo, rpmTag * tagstocopy)
--      /*@globals internalState @*/
--      /*@modifies headerTo, internalState @*/;
--
--/** \ingroup header
-- * Return header magic.
-- * @param h           header
-- * @param *magicp     magic array
-- * @param *nmagicp    no. bytes of magic
-- * @return            0 always
-- */
--int headerGetMagic(/*@null@*/ Header h, unsigned char **magicp, size_t *nmagicp)
--      /*@modifies *magicp, *nmagicp @*/;
--
--/** \ingroup header
-- * Store header magic.
-- * @param h           header
-- * @param magic               magic array
-- * @param nmagic      no. bytes of magic
-- * @return            0 always
-- */
--int headerSetMagic(/*@null@*/ Header h, unsigned char * magic, size_t nmagic)
--      /*@modifies h @*/;
--
--/** \ingroup header
-- * Return header origin (e.g path or URL).
-- * @param h           header
-- * @return            header origin
-- */
--/*@observer@*/ /*@null@*/
--const char * headerGetOrigin(/*@null@*/ Header h)
--      /*@*/;
--
--/** \ingroup header
-- * Store header origin (e.g path or URL).
-- * @param h           header
-- * @param origin      new header origin
-- * @return            0 always
-- */
--int headerSetOrigin(/*@null@*/ Header h, const char * origin)
--      /*@modifies h @*/;
--
--/** \ingroup header
-- * Return header parent identifier (e.g parent's NVRA).
-- * @param h           header
-- * @return            header parent
-- */
--/*@observer@*/ /*@null@*/
--const char * headerGetParent(/*@null@*/ Header h)
--      /*@*/;
--
--/** \ingroup header
-- * Store header parent (e.g parent's NVRA).
-- * @param h           header
-- * @param parent      new header parent
-- * @return            0 always
-- */
--int headerSetParent(/*@null@*/ Header h, const char * parent)
--      /*@modifies h @*/;
--
--/** \ingroup header
-- * Return header base URL (e.g path or URL).
-- * @param h           header
-- * @return            header origin
-- */
--/*@observer@*/ /*@null@*/
--const char * headerGetBaseURL(/*@null@*/ Header h)
--      /*@*/;
--
--/** \ingroup header
-- * Store header base URL (e.g path or URL).
-- * @param h           header
-- * @param baseurl     new header baseurl
-- * @return            0 always
-- */
--int headerSetBaseURL(/*@null@*/ Header h, const char * baseurl)
--      /*@modifies h @*/;
--
--/** \ingroup header
-- * Return header stat(2) buffer (of origin *.rpm file).
-- * @param h           header
-- * @return            header stat(2) buffer
-- */
--struct stat * headerGetStatbuf(/*@null@*/ Header h)
--      /*@*/;
--
--/** \ingroup header
-- * Copy into header stat(2) buffer (of origin *.rpm file).
-- * @param h           header
-- * @param st          new header stat(2) buffer
-- * @return            0 always
-- */
--int headerSetStatbuf(/*@null@*/ Header h, struct stat * st)
--      /*@modifies h @*/;
--
--/** \ingroup header
-- * Return digest of origin *.rpm file.
-- * @param h           header
-- * @return            header digest
-- */
--/*@null@*/
--const char * headerGetDigest(/*@null@*/ Header h)
--      /*@*/;
--
--/** \ingroup header
-- * Store digest of origin *.rpm file.
-- * @param h           header
-- * @param st          new header digest
-- * @return            0 always
-- */
--int headerSetDigest(/*@null@*/ Header h, const char * digest)
--      /*@modifies h @*/;
--
--/** \ingroup header
-- * Return rpmdb pointer.
-- * @param h           header
-- * @return            rpmdb pointer
-- */
--/*@null@*/
--void * headerGetRpmdb(/*@null@*/ Header h)
--      /*@*/;
--
--/** \ingroup header
-- * Store rpmdb pointer.
-- * @param h           header
-- * @param rpmdb               new rpmdb pointer (or NULL to unset)
-- * @return            NULL always
-- */
--/*@null@*/
--void * headerSetRpmdb(/*@null@*/ Header h, /*@null@*/ void * rpmdb)
--      /*@modifies h @*/;
--
--/** \ingroup header
-- * Return header instance (if from rpmdb).
-- * @param h           header
-- * @return            header instance
-- */
--uint32_t headerGetInstance(/*@null@*/ Header h)
--      /*@*/;
--
--/** \ingroup header
-- * Store header instance (e.g path or URL).
-- * @param h           header
-- * @param instance    new header instance
-- * @return            0 always
-- */
--uint32_t headerSetInstance(/*@null@*/ Header h, uint32_t instance)
--      /*@modifies h @*/;
--
--/** \ingroup header
-- * Return header starting byte offset.
-- * @param h           header
-- * @return            header starting byte offset 
-- */
--rpmuint32_t headerGetStartOff(/*@null@*/ Header h)
--      /*@*/;
--
--/** \ingroup header
-- * Store header starting byte offset.
-- * @param h           header
-- * @param startoff    new header starting byte offset
-- * @return            0 always
-- */
--rpmuint32_t headerSetStartOff(/*@null@*/ Header h, rpmuint32_t startoff)
--      /*@modifies h @*/;
--
--/** \ingroup header
-- * Return header ending byte offset.
-- * @param h           header
-- * @return            header ending byte offset 
-- */
--rpmuint32_t headerGetEndOff(/*@null@*/ Header h)
--      /*@*/;
--
--/** \ingroup header
-- * Store header ending byte offset.
-- * @param h           header
-- * @param startoff    new header ending byte offset
-- * @return            0 always
-- */
--rpmuint32_t headerSetEndOff(/*@null@*/ Header h, rpmuint32_t endoff)
--      /*@modifies h @*/;
--
--/** \ingroup header
-- * Return header stats accumulator structure.
-- * @param h           header
-- * @param opx         per-header accumulator index (aka rpmtsOpX)
-- * @return            per-header accumulator pointer
-- */
--/*@null@*/
--void * headerGetStats(Header h, int opx)
--        /*@*/;
--
--/**
-- * Define per-header macros.
-- * @param h           header
-- * @return            0 always
-- */
--int headerMacrosLoad(Header h)
--      /*@globals internalState @*/
--      /*@modifies internalState @*/;
--
--/**
-- * Define per-header macros.
-- * @param h           header
-- * @return            0 always
-- */
--int headerMacrosUnload(Header h)
--      /*@globals internalState @*/
--      /*@modifies internalState @*/;
--
--/** \ingroup header
-- * Return name, epoch, version, release, arch strings from header.
-- * @param h           header
-- * @retval *np                name pointer (or NULL)
-- * @retval *ep                epoch pointer (or NULL)
-- * @retval *vp                version pointer (or NULL)
-- * @retval *rp                release pointer (or NULL)
-- * @retval *ap                arch pointer (or NULL)
-- * @return            0 always
-- */
--int headerNEVRA(Header h,
--              /*@null@*/ /*@out@*/ const char ** np,
--              /*@null@*/ /*@out@*/ /*@unused@*/ const char ** ep,
--              /*@null@*/ /*@out@*/ const char ** vp,
--              /*@null@*/ /*@out@*/ const char ** rp,
--              /*@null@*/ /*@out@*/ const char ** ap)
--      /*@globals internalState @*/
--      /*@modifies h, *np, *vp, *rp, *ap, internalState @*/;
--
--/**
-- * Return header color.
-- * @param h           header
-- * @return            header color
-- */
--rpmuint32_t hGetColor(Header h)
--      /*@globals internalState @*/
--      /*@modifies h, internalState @*/;
--
--/** \ingroup header
-- * Translate and merge legacy signature tags into header.
-- * @todo Remove headerSort() through headerInitIterator() modifies sig.
-- * @param h           header
-- * @param sigh                signature header
-- */
--void headerMergeLegacySigs(Header h, const Header sigh)
--      /*@globals fileSystem, internalState @*/
--      /*@modifies h, sigh, fileSystem, internalState @*/;
--
--/** \ingroup header
-- * Regenerate signature header.
-- * @todo Remove headerSort() through headerInitIterator() modifies h.
-- * @param h           header
-- * @param noArchiveSize       don't copy archive size tag (pre rpm-4.1)
-- * @return            regenerated signature header
-- */
--Header headerRegenSigHeader(const Header h, int noArchiveSize)
--      /*@globals fileSystem, internalState @*/
--      /*@modifies h, fileSystem, internalState @*/;
--
--#ifdef __cplusplus
--}
--#endif
--
--#endif        /* H_RPMTAG */
-diff --git a/src/scripts/extract-debuginfo.in b/src/scripts/extract-debuginfo.in
-index 4746df2..c258ed1 100644
---- a/src/scripts/extract-debuginfo.in
-+++ b/src/scripts/extract-debuginfo.in
-@@ -193,7 +193,7 @@ find "$BUILDROOT" ! -path "${debugdir}/*.debug" -type f \
-               fi
-               echo "  Extracting debug info from ${f#${BUILDROOT}}"
--              id=$(@libexecdir@/debugedit -i \
-+              id=$(debugedit -i \
-                       -b "${SOURCEDIR}" \
-                       -d /usr/src/debug \
-                       -l "${SOURCEFILE}" \
--- 
-2.7.4
-
index facedb3788d0f3aebd0d3a7794c430f7391b735e..5e837bbcb846777be51e89d6c606bdc3971d4165 100644 (file)
@@ -4,12 +4,12 @@
 ###############################################################################
 
 name       = pam
-version    = 1.3.0
-release    = 2
+version    = 1.5.3
+release    = 1
 thisapp    = Linux-PAM-%{version}
 
 groups     = System/Base
-url        = http://www.us.kernel.org/pub/linux/libs/pam/index.html
+url        = https://github.com/linux-pam/linux-pam/
 license    = BSD and GPLv2+ and BSD with advertising
 summary    = An extensible library which provides authentication for applications.
 
@@ -19,16 +19,15 @@ description
        having to recompile programs that handle authentication.
 end
 
-# This is the old location that might be revived in future
-# source_dl = http://ftp.us.kernel.org/pub/linux/libs/pam/library/
-
-source_dl  = http://www.linux-pam.org/library/
+source_dl  = https://github.com/linux-pam/linux-pam/releases/download/v%{version}/
+sources    = %{thisapp}.tar.xz
 
 build
        requires
                bison
                cracklib-devel
                flex
+               libxcrypt-devel
        end
 
        export LD_LIBRARY_PATH = %{DIR_APP}/libpam/.libs
@@ -70,6 +69,10 @@ end
 
 packages
        package %{name}
+               requires
+                       /usr/lib64/security/pam_pwquality.so
+               end
+
                configfiles
                        %{sysconfdir}/pam.d
                end
diff --git a/pam/patches/Linux-PAM-1.1.0-no-yywrap-1.patch b/pam/patches/Linux-PAM-1.1.0-no-yywrap-1.patch
deleted file mode 100644 (file)
index 62a4851..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-diff -urN Linux-PAM-0.99.6.3/conf/pam_conv1/pam_conv_l.c Linux-PAM-0.99.6.3.new/conf/pam_conv1/pam_conv_l.c
---- Linux-PAM-0.99.6.3/conf/pam_conv1/pam_conv_l.c     2006-09-06 11:29:19.000000000 +0200
-+++ Linux-PAM-0.99.6.3.new/conf/pam_conv1/pam_conv_l.c 2007-01-10 23:19:05.000000000 +0100
-@@ -494,7 +494,9 @@
- #ifdef __cplusplus
- extern "C" int yywrap (void );
- #else
--extern int yywrap (void );
-+int yywrap (void ) {
-+      return 1;
-+}
- #endif
- #endif
-diff -urN Linux-PAM-0.99.6.3/doc/specs/parse_l.c Linux-PAM-0.99.6.3.new/doc/specs/parse_l.c
---- Linux-PAM-0.99.6.3/doc/specs/parse_l.c     2006-09-06 11:29:19.000000000 +0200
-+++ Linux-PAM-0.99.6.3.new/doc/specs/parse_l.c 2007-01-10 23:21:55.000000000 +0100
-@@ -480,7 +480,9 @@
- #ifdef __cplusplus
- extern "C" int yywrap (void );
- #else
--extern int yywrap (void );
-+int yywrap (void ) {
-+      return 1;
-+}
- #endif
- #endif
diff --git a/pam/patches/pam-1.1.5-unix-build.patch b/pam/patches/pam-1.1.5-unix-build.patch
deleted file mode 100644 (file)
index d1f30d0..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-diff -up Linux-PAM-1.1.5/modules/pam_unix/pam_unix_acct.c.build Linux-PAM-1.1.5/modules/pam_unix/pam_unix_acct.c
---- Linux-PAM-1.1.5/modules/pam_unix/pam_unix_acct.c.build     2012-07-23 18:46:27.709804094 +0200
-+++ Linux-PAM-1.1.5/modules/pam_unix/pam_unix_acct.c   2012-07-23 18:46:27.764805293 +0200
-@@ -47,6 +47,8 @@
- #include <time.h>             /* for time() */
- #include <errno.h>
- #include <sys/wait.h>
-+#include <sys/time.h>
-+#include <sys/resource.h>
- #include <security/_pam_macros.h>
-diff -up Linux-PAM-1.1.5/modules/pam_unix/pam_unix_passwd.c.build Linux-PAM-1.1.5/modules/pam_unix/pam_unix_passwd.c
---- Linux-PAM-1.1.5/modules/pam_unix/pam_unix_passwd.c.build   2012-07-23 18:55:16.433314731 +0200
-+++ Linux-PAM-1.1.5/modules/pam_unix/pam_unix_passwd.c 2012-07-23 18:54:48.064697131 +0200
-@@ -53,6 +53,7 @@
- #include <fcntl.h>
- #include <ctype.h>
- #include <sys/time.h>
-+#include <sys/resource.h>
- #include <sys/stat.h>
- #include <signal.h>
-diff -up Linux-PAM-1.1.5/modules/pam_unix/support.c.build Linux-PAM-1.1.5/modules/pam_unix/support.c
---- Linux-PAM-1.1.5/modules/pam_unix/support.c.build   2012-07-23 18:46:27.000000000 +0200
-+++ Linux-PAM-1.1.5/modules/pam_unix/support.c 2012-07-23 18:54:23.645165507 +0200
-@@ -18,6 +18,7 @@
- #include <signal.h>
- #include <ctype.h>
- #include <syslog.h>
-+#include <sys/time.h>
- #include <sys/resource.h>
- #ifdef HAVE_RPCSVC_YPCLNT_H
- #include <rpcsvc/ypclnt.h>
index ac79ceb715287a3c8d29c22837366edf45490bf1..9d5a400ff4c51563033d0c84fdb3396ec49692dd 100644 (file)
@@ -5,42 +5,55 @@
 
 name       = pango
 version    = %{ver_major}.%{ver_minor}
-ver_major  = 1.40
-ver_minor  = 3
+ver_major  = 1.51
+ver_minor  = 0
 release    = 1
 
 groups     = System/Libraries
-url        = http://www.pango.org/
+url        = https://www.pango.org/
 license    = LGPLv2+
-summary    = System for layout and rendering of internationalized text.
+summary    = System for layout and rendering of internationalized text
 
 description
        Pango is a library for laying out and rendering of text, with an
        emphasis on internationalization.
 end
 
-source_dl  = http://ftp.gnome.org/pub/GNOME/sources/%{name}/%{ver_major}/
+source_dl  = https://ftp.gnome.org/pub/GNOME/sources/%{name}/%{ver_major}/
 sources    = %{thisapp}.tar.xz
 
+# Disable LTO
+LTO_CFLAGS =
+
 build
        requires
+               cairo-devel >= 1.17
                cairo-gobject-devel
                fontconfig-devel
                freetype-devel
+               fribidi-devel
                gcc-c++
                glib2-devel
                gobject-introspection-devel
-               harfbuzz-devel >= 0.9.9
-               libXft-devel
+               harfbuzz-devel >= 4.3.0
+               libthai-devel
+               meson
                perl
                pkg-config
        end
 
-       configure_options += \
-               --enable-introspection=yes \
-               --enable-installed-tests
+       build
+               %{meson} \
+                       -Dcairo=enabled \
+                       -Dxft=disabled
+               %{meson_build}
+       end
+
+       install
+               %{meson_install}
+       end
 
-       export LD_LIBRARY_PATH = %{DIR_APP}/pango/.libs
+       #export LD_LIBRARY_PATH = %{DIR_APP}/pango/.libs
 end
 
 packages
index a37b1f863efe9f340750399ba6165fc7d6bc7477..c872af37a2cf9255ee6465802b501d5ccce78465 100644 (file)
@@ -4,8 +4,8 @@
 ###############################################################################
 
 name       = parted
-version    = 3.2
-release    = 1
+version    = 3.5
+release    = 1.1
 
 groups     = Applications/System
 url        = http://www.gnu.org/software/parted
@@ -19,7 +19,7 @@ description
        to new hard disks.
 end
 
-source_dl  = http://ftp.gnu.org/gnu/parted/
+source_dl  = https://ftp.gnu.org/gnu/parted/
 sources    = %{thisapp}.tar.xz
 
 build
@@ -42,18 +42,8 @@ build
                --disable-Werror
 
        test
-               # Disable test because it needs a locale C.UTF-8.
-               sed -i '/t0251-gpt-unicode.sh/d' tests/Makefile
-
-               # Disable tests because they force to require loopback devices.
-               sed -i '/t6001-psep.sh/d' tests/Makefile
-               sed -i '/t6002-dm-busy.sh/d' tests/Makefile
-               sed -i '/t6003-dm-hide.sh/d' tests/Makefile
-               sed -i '/t6004-dm-many-partitions.sh/d' tests/Makefile
-               sed -i '/t6005-dm-uuid.sh/d' tests/Makefile
-
-               # Run testsuite.
-               make check
+               # Temporarily disabled
+               : #make check
        end
 end
 
diff --git a/passwd/passwd.nm b/passwd/passwd.nm
deleted file mode 100644 (file)
index 3380824..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = passwd
-version    = 0.79
-release    = 2
-
-groups     = System/Base
-url        = https://pagure.io/passwd
-license    = BSD
-summary    = An utility for setting or changing passwords using PAM.
-
-description
-       This package contains a system utility (passwd) which sets
-       or changes passwords, using PAM (Pluggable Authentication
-       Modules) library.
-end
-
-source_dl  = https://releases.pagure.org/passwd/
-sources    = %{thisapp}.tar.bz2
-
-build
-       requires
-               glib2-devel
-               libuser-devel
-               pam-devel
-               pkg-config
-               popt-devel
-       end
-
-       configure_options +=\
-               --without-selinux \
-               --without-audit \
-               --disable-static
-
-       make_build_targets += \
-               DEBUG= RPM_OPT_FLAGS="%{CFLAGS}"
-end
-
-packages
-       package %{name}
-               groups += Base
-       end
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
diff --git a/passwd/passwd.pam b/passwd/passwd.pam
deleted file mode 100644 (file)
index 5f3504f..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-#%PAM-1.0
-auth       include     system-auth
-account    include     system-auth
-password   substack    system-auth
index 11d725157b9527ae15ebd6b235fbeecbf52e3c2b..27360ed589a150bacc657892a76b5591f06b06eb 100644 (file)
@@ -4,11 +4,11 @@
 ###############################################################################
 
 name       = patch
-version    = 2.7.5
+version    = 2.7.6
 release    = 1
 
 groups     = Development/Tools
-url        = http://www.gnu.org/software/patch/patch.html
+url        = https://www.gnu.org/software/patch/patch.html
 license    = GPLv2+
 summary    = Utility for modifying/upgrading files.
 
@@ -20,7 +20,7 @@ description
        diff file to add the changes to their original file.
 end
 
-source_dl  = ftp://ftp.gnu.org/gnu/patch/
+source_dl  = https://ftp.gnu.org/gnu/patch/
 sources    = %{thisapp}.tar.xz
 
 build
@@ -30,8 +30,6 @@ build
                pkg-config
        end
 
-       CFLAGS += -D_GNU_SOURCE
-
        test
                make check
        end
@@ -39,8 +37,6 @@ end
 
 packages
        package %{name}
-               groups += Build
-       end
 
        package %{name}-debuginfo
                template DEBUGINFO
diff --git a/patchelf/patchelf.nm b/patchelf/patchelf.nm
new file mode 100644 (file)
index 0000000..a86e22c
--- /dev/null
@@ -0,0 +1,55 @@
+###############################################################################
+# IPFire.org    - An Open Source Firewall Solution                            #
+# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
+###############################################################################
+
+name       = patchelf
+version    = 0.18.0
+release    = 1
+
+groups     = Development/Tools
+url        = http://nixos.org/patchelf.html
+license    = GPLv3+
+summary    = A utility for patching ELF binaries
+
+description
+       PatchELF is a simple utility for modifying an existing ELF executable   
+       or library.  It can change the dynamic loader ("ELF interpreter")
+       of an executable and change the RPATH of an executable or library.      
+end
+
+source_dl  = https://github.com/NixOS/%{name}/archive/%{version}/
+sources    = %{thisapp}.tar.gz
+
+build
+       requires
+               autoconf
+               automake
+       end
+
+       prepare_cmds
+               # Remove shipped elf header file and
+               # use the one from glibc instead.
+               rm -rvf src/elf.h
+
+               # Disable test which requires DT_JMPREL.
+               # Our default compiler configuration does not allow to
+               # compile such an elf file.
+               sed -i '/phdr-corruption.sh/d' tests/Makefile.am
+
+               ./bootstrap.sh
+       end
+
+       test
+               # Ignore any failures in the testsuite
+               make check || true
+       end
+end
+
+packages
+       package %{name}
+
+       package %{name}-debuginfo
+               template DEBUGINFO
+       end
+end
diff --git a/pax-utils/pax-utils.nm b/pax-utils/pax-utils.nm
deleted file mode 100644 (file)
index dca2b2c..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = pax-utils
-version    = 0.1.19
-release    = 1
-
-groups     = Security/Tools
-url        = http://www.gentoo.org/proj/en/hardened/pax-utils.xml
-license    = GPLv2+
-summary    = Utilities for checking PaX features.
-
-description
-       This package contains several utilities for checking PaX features.
-end
-
-source_dl  =
-sources    = %{thisapp}.tar.bz2
-
-build
-       requires
-               libcap-devel
-       end
-
-       build
-               make CFLAGS="%{CFLAGS}" USE_CAP=yes %{PARALLELISMFLAGS}
-       end
-end
-
-packages
-       package %{name}
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
diff --git a/paxctl/paxctl.nm b/paxctl/paxctl.nm
deleted file mode 100644 (file)
index d749fb4..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = paxctl
-version    = 0.8
-release    = 2
-
-groups     = Applications/System
-url        = http://pax.grsecurity.net/
-license    = GPLv2
-summary    = Application to control PaX flags.
-
-description
-       paxctl may be used to control PaX flags on a per-binary basis. PaX
-       is a set of kernel security patches to enhance a system's security.
-end
-
-source_dl  = https://pax.grsecurity.net/
-
-build
-       requires
-               m4
-       end
-
-       build
-               make %{PARALLELISMFLAGS} CFLAGS="%{CFLAGS}" LDFLAGS="%{LDFLAGS}"
-       end
-end
-
-packages
-       package %{name}
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
diff --git a/paxtest/paxtest.nm b/paxtest/paxtest.nm
deleted file mode 100644 (file)
index cae3a7c..0000000
+++ /dev/null
@@ -1,56 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = paxtest
-version    = 0.9.9
-release    = 4
-
-groups     = Security/Tools
-url        = http://pax.grsecurity.org/
-license    = GPLv2+
-summary    = Utilities for testing PaX configuration.
-
-description
-       This package contains several files for checking the PaX configuration
-       and checks if it all works correctly.
-end
-
-source_dl  =
-sources    = %{thisapp}.tgz
-
-build
-       build
-               make -f Makefile.psm RUNDIR=%{libdir}/paxtest \
-                       %{PARALLELISMFLAGS}
-       end
-
-       install
-               make -f Makefile.psm install DESTDIR=%{BUILDROOT} \
-                       RUNDIR=%{libdir}/paxtest BINDIR=%{bindir}
-       end
-
-       # Ignore errors on extract-debuginfo, because this
-       # package contains wrong/broken/unoptimized files by
-       # intention.
-       debuginfo_options = || :
-end
-
-quality-agent
-       whitelist_execstack
-               %{libdir}/paxtest
-       end
-end
-
-packages
-       package %{name}
-               filter_requires
-                       shlibtest
-               end
-       end
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
diff --git a/pcapy/pcapy.nm b/pcapy/pcapy.nm
deleted file mode 100644 (file)
index c12b51f..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = pcapy
-version    = 0.10.5
-release    = 1
-
-groups     = Development/Languages
-url        = http://oss.coresecurity.com/projects/pcapy.html
-license    = ASL 1.1
-summary    = A Python interface to libpcap.
-
-description
-       Pcapy is a Python extension module that interfaces with the libpcap
-       packet capture library. Pcapy enables python scripts to capture packets
-       on the network. Pcapy is highly effective when used in conjunction with
-       a packet-handling package such as Impacket, which is a collection of
-       Python classes for constructing and dissecting network packets.
-end
-
-source_dl  =
-
-build
-       requires
-               gcc-c++
-               libpcap-devel
-               python-devel
-       end
-
-       build
-               python setup.py build
-       end
-
-       install
-               python setup.py install -O1 --skip-build --root %{BUILDROOT}
-       end
-end
-
-packages
-       package %{name}
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
index e2b5aab4efc0d3ff6cc2d4f88e51d00289040dd4..ce2a452b2d1b57d507099f2f04356b06b659776c 100644 (file)
@@ -6,7 +6,6 @@
 name       = pcengines-apu-firmware
 version    = 4.10.0.0
 release    = 1
-arch       = noarch
 
 maintainer = Arne Fitzenreiter <arne.fitzenreiter@ipfire.org>
 groups     = System/Firmware
@@ -35,6 +34,8 @@ sources  = \
        apu5_v%{version}.rom
 
 build
+       arches = noarch
+
        MACRO_EXTRACT = : # Do not attempt to extract the binary files
 
        build
index dc6f8d5d6614eea13c9861a020d5ad475e7255ec..63a40c8a7cfe397af07d006c45a514b31b3a8205 100644 (file)
@@ -4,11 +4,11 @@
 ###############################################################################
 
 name       = pciutils
-version    = 3.4.1
+version    = 3.10.0
 release    = 1
 
 groups     = System/Base
-url        = http://atrey.karlin.mff.cuni.cz/~mj/pciutils.shtml
+url        = https://mj.ucw.cz/sw/pciutils/
 license    = GPLv2+
 summary    = PCI bus related utilities.
 
@@ -17,7 +17,7 @@ description
        and setting devices connected to the PCI bus.
 end
 
-source_dl  = ftp://atrey.karlin.mff.cuni.cz/pub/linux/pci/
+source_dl  = https://mj.ucw.cz/download/linux/pci/
 sources    = %{thisapp}.tar.gz
 
 build
@@ -46,10 +46,10 @@ build
 
                # Install headers.
                mkdir -pv %{BUILDROOT}%{includedir}/pci
-               install -p lib/pci.h %{BUILDROOT}%{includedir}/pci
-               install -p lib/header.h %{BUILDROOT}%{includedir}/pci
-               install -p lib/config.h %{BUILDROOT}%{includedir}/pci
-               install -p lib/types.h %{BUILDROOT}%{includedir}/pci
+               install -p -m 644 lib/pci.h %{BUILDROOT}%{includedir}/pci
+               install -p -m 644 lib/header.h %{BUILDROOT}%{includedir}/pci
+               install -p -m 644 lib/config.h %{BUILDROOT}%{includedir}/pci
+               install -p -m 644 lib/types.h %{BUILDROOT}%{includedir}/pci
 
                # Install pkg-config files.
                mkdir -pv %{BUILDROOT}%{libdir}/pkgconfig
index cc845faf2d8a29b88369b968995f2e41e9122d41..d6a992d8036d25be2ac323323b6a18075d85df08 100644 (file)
@@ -4,8 +4,8 @@
 ###############################################################################
 
 name       = pcre
-version    = 8.41
-release    = 2
+version    = 8.45
+release    = 1.1
 
 groups     = System/Libraries
 url        = http://www.pcre.org/
@@ -18,7 +18,7 @@ description
        API are also supplied in the library libpcreposix.
 end
 
-source_dl  = ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/
+source_dl  = https://sourceforge.net/projects/pcre/files/pcre/%{version}/
 
 build
        requires
index 4d890ea5c119e48d0d8ba3282feb41d79c5f0db2..feb69396efd664aacd8acd316347c1b89ef42a5f 100644 (file)
@@ -1,7 +1,11 @@
+###############################################################################
+# IPFire.org    - An Open Source Firewall Solution                            #
+# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
+###############################################################################
 
 name       = pcre2
-version    = 10.30
-release    = 1
+version    = 10.40
+release    = 1.1
 
 groups     = System/Libraries
 url        = http://www.pcre.org/
@@ -27,7 +31,7 @@ description
        restricted, and does not give full access to all of PCRE2's facilities.
 end
 
-source_dl  = ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/
+source_dl  = https://github.com/PCRE2Project/pcre2/releases/download/pcre2-%{version}/
 
 build
        requires
index 7c43c0abafd85f45e1e76a86a539fdb6ea03f834..6744cd221c594cda114d422ac12e2db37877f104 100644 (file)
@@ -6,9 +6,7 @@
 socket-dir=/run/pdns
 
 # Listing settings.
-# XXX IPv6 listen on :: cannot be created. Says Address is already in use.
-local-address=0.0.0.0
-local-ipv6=::1
+local-address=:: 0.0.0.0
 
 # Run powerdns as the following user and group.
 setuid=pdns
index f8cf95f79e6d4fc23dcb6b3114fff0bc9178fa63..7fcaa64cd85a80def0803b12855f9e4f93f29103 100644 (file)
@@ -4,12 +4,12 @@
 ###############################################################################
 
 name       = pdns
-version    = 4.0.1
+version    = 4.7.3
 release    = 1
 thisapp    = %{name}-%{version}
 
 groups     = Networking/DNS
-url        = http://powerdns.com/
+url        = https://powerdns.com/
 license    = GPLv2
 summary    = A modern, advanced and high performance authoritative-only nameserver.
 
@@ -20,7 +20,7 @@ description
        Furthermore, PowerDNS interfaces with almost any database.
 end
 
-source_dl  = http://downloads.powerdns.com/releases/
+source_dl  = https://downloads.powerdns.com/releases/
 sources    = %{thisapp}.tar.bz2
 
 build
@@ -28,20 +28,19 @@ build
                /usr/bin/hostname
                boost-devel >= 1.60.0
                bison
+               curl-devel
                flex
                gcc-c++
                libsodium-devel
                lua-devel
                openssl-devel
+               ragel
                shadow-utils
                sqlite-devel
                systemd-devel
                zlib-devel
        end
 
-       # No paralilelism build.
-       PARALLELISMFLAGS =
-
        configure_options += \
                --sysconfdir=%{sysconfdir}/pdns \
                --libdir=%{libdir}/powerdns \
@@ -60,7 +59,7 @@ build
        end
 
        test
-               make -C pdns check
+               make -C pdns check || :
        end
 
        install_cmds
index b14f1741e910056995d55121130e85e18917d3fb..051e42bfa794e926bf21bfba9986e512d061e0e9 100644 (file)
@@ -5,8 +5,7 @@
 
 name       = perl-Authen-SASL
 version    = 2.16
-release    = 1
-arch       = noarch
+release    = 3
 thisapp    = Authen-SASL-%{version}
 
 groups     = Development/Libraries
@@ -23,18 +22,28 @@ end
 source_dl  = http://www.cpan.org/authors/id/G/GB/GBARR/
 
 build
+       arches = noarch
+
        requires
+               perl(FindBin)
                perl(Digest::HMAC)
                perl(Digest::MD5)
                perl(ExtUtils::MakeMaker)
                perl(File::Path)
                perl(GSSAPI)
+               perl(Module::Install)
        end
 
        build
                perl Makefile.PL INSTALLDIRS=vendor
                make %{PARALLELISMFLAGS}
        end
+
+       # Testsuite is unable to load its own module
+       # and therefore broken.
+       #test
+       #       make test
+       #end
 end
 
 packages
index 326ee37cb32e684e0b8375dea92c3f0cefdc6bce..741e4604d7e35310872323d4df1b4144b9fb25e2 100644 (file)
@@ -5,7 +5,7 @@
 
 name       = perl-BDB
 version    = 1.91
-release    = 1.1
+release    = 3
 thisapp    = BDB-%{version}
 
 groups     = Development/Libraries
@@ -25,7 +25,6 @@ build
                perl(ExtUtils::MakeMaker)
                perl(ExtUtils::ParseXS)
                libdb-devel
-               pakfire >= 0.9.26-3.1
        end
 
        build
@@ -39,6 +38,12 @@ build
 
        make_install_targets = \
                pure_install DESTDIR=%{BUILDROOT}
+
+       install_cmds
+               # Set correct library permissions.
+               find %{BUILDROOT}%{libdir} -type f -iname "*.so" \
+                       -exec chmod 755 {} \;
+       end
 end
 
 packages
diff --git a/perl-Canary-Stability/perl-Canary-Stability.nm b/perl-Canary-Stability/perl-Canary-Stability.nm
new file mode 100644 (file)
index 0000000..f692ad8
--- /dev/null
@@ -0,0 +1,54 @@
+###############################################################################
+# IPFire.org    - An Open Source Firewall Solution                            #
+# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
+###############################################################################
+
+name       = perl-Canary-Stability
+version    = 2013
+release    = 2
+thisapp    = Canary-Stability-%{version}
+
+groups     = Development/Libraries
+url        = https://search.cpan.org/dist/Canary::Stability/
+license    = GPL+ or Artistic
+summary    = Canary to check perl compatibility for schmorp's modules.
+
+description
+       This module is used by Schmorp's modules during configuration stage to test
+       the installed perl for compatibility with his modules.
+end
+
+source_dl  = https://search.cpan.org/CPAN/authors/id/M/ML/MLEHMANN/
+
+build
+       requires
+               perl(ExtUtils::MakeMaker)
+               perl(ExtUtils::ParseXS)
+               libdb-devel
+               pakfire >= 0.9.26-3.1
+       end
+
+       build
+               perl Makefile.PL INSTALLDIRS=vendor OPTIMIZE="%{CFLAGS}"
+               make %{PARALLELISMFLAGS}
+       end
+
+       test
+               make test
+       end
+
+       make_install_targets = \
+               pure_install DESTDIR=%{BUILDROOT}
+end
+
+packages
+       package %{name}
+               requires
+                       perl(:MODULE_COMPAT_%{perl_version})
+               end
+       end
+
+       package %{name}-debuginfo
+               template DEBUGINFO
+       end
+end
diff --git a/perl-Class-Method-Modifiers/perl-Class-Method-Modifiers.nm b/perl-Class-Method-Modifiers/perl-Class-Method-Modifiers.nm
new file mode 100644 (file)
index 0000000..6d21e0f
--- /dev/null
@@ -0,0 +1,49 @@
+###############################################################################
+# IPFire.org    - An Open Source Firewall Solution                            #
+# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
+###############################################################################
+
+name       = perl-Class-Method-Modifiers
+version    = 2.14
+release    = 2
+thisapp    = Class-Method-Modifiers-%{version}
+
+groups     = Development/Libraries
+url        = http://search.cpan.org/dist/Class-Method-Modifiers/
+license    = GPL+ or Artistic
+summary    = This module provides Moose-like method modifiers.
+
+description
+       Method modifiers are a convenient feature from the CLOS
+       (Common Lisp Object System) world.
+end
+
+source_dl  = https://cpan.metacpan.org/authors/id/E/ET/ETHER/
+
+build
+       arches = noarch
+
+       requires
+               perl(B)
+               perl(Carp)
+               perl(ExtUtils::MakeMaker)
+               perl(Test::More)
+       end
+
+       build
+               perl Makefile.PL INSTALLDIRS=vendor
+               make %{PARALLELISMFLAGS}
+       end
+
+       test
+               make test
+       end
+end
+
+packages
+       package %{name}
+               requires
+                       perl(:MODULE_COMPAT_%{perl_version})
+               end
+       end
+end
diff --git a/perl-Convert-ASN1/perl-Convert-ASN1.nm b/perl-Convert-ASN1/perl-Convert-ASN1.nm
new file mode 100644 (file)
index 0000000..1b11f06
--- /dev/null
@@ -0,0 +1,40 @@
+###############################################################################
+# IPFire.org    - An Open Source Firewall Solution                            #
+# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
+###############################################################################
+
+name       = perl-Convert-ASN1
+version    = 0.33
+release    = 2
+thisapp    = Convert-ASN1-%{version}
+
+groups     = Development/Libraries
+url        = http://search.cpan.org/dist/Convert-ASN1
+license    = GPL+
+summary    = ASN.1 Encode/Decode library for perl.
+
+description
+       Convert::ASN1 encodes and decodes ASN.1 data structures using BER/DER rules.
+end
+
+source_dl  = https://cpan.metacpan.org/authors/id/T/TI/TIMLEGGE/
+
+build
+       arches = noarch
+
+       requires
+               perl(ExtUtils::MakeMaker)
+       end
+
+       build
+               perl Makefile.PL INSTALLDIRS=vendor
+               make %{PARALLELISMFLAGS}
+       end
+
+       make_install_targets = \
+               pure_install
+end
+
+packages
+       package %{name}
+end
index 5f25160abb79acaf41c2596b44484253f5661117..4e63cb0094abf6b91b4c255dddd2851012344158 100644 (file)
@@ -4,12 +4,12 @@
 ###############################################################################
 
 name       = perl-Coro
-version    = 6.42
-release    = 1.1
+version    = 6.57
+release    = 3
 thisapp    = Coro-%{version}
 
 groups     = Development/Libraries
-url        = http://search.cpan.org/dist/Coro/
+url        = https://search.cpan.org/dist/Coro/
 license    = GPL+ or Artistic
 summary    = The only real threads in perl.
 
@@ -20,13 +20,13 @@ description
        in parallel at the same time even on SMP machines
 end
 
-source_dl  = http://search.cpan.org/CPAN/authors/id/M/ML/MLEHMANN/
+source_dl  = https://search.cpan.org/CPAN/authors/id/M/ML/MLEHMANN/
 
 build
        requires
+               perl(Canary::Stability)
                perl(ExtUtils::MakeMaker)
                perl(ExtUtils::ParseXS)
-               pakfire >= 0.9.26-3.1
        end
 
        prepare_cmds
@@ -37,24 +37,25 @@ build
        end
 
        build
-               perl Makefile.PL INSTALLDIRS=perl OPTIMIZE="%{CFLAGS}"
+               perl Makefile.PL INSTALLDIRS=perl NO_PACKLIST=1 NO_PERLLOCAL=1 \
+                       OPTIMIZE="%{CFLAGS}" </dev/null
+
                make %{PARALLELISMFLAGS}
        end
 
        make_install_targets = \
                pure_install DESTDIR=%{BUILDROOT}
+
+       install_cmds
+               # Set correct library permissions.
+               find %{BUILDROOT}%{libdir} -type f -iname "*.so" \
+                       -exec chmod 755 {} \;
+       end
 end
 
 packages
        package %{name}
-               filter_requires
-                       AnyEvent
-                       EV
-                       Event
-                       Guard
-                       Storable
-                       Coro
-               end
+               filter_requires = (AnyEvent|EV|Event|Guard|Storable|Coro)
 
                requires
                        perl(:MODULE_COMPAT_%{perl_version})
diff --git a/perl-Crypt-OpenSSL-Guess/perl-Crypt-OpenSSL-Guess.nm b/perl-Crypt-OpenSSL-Guess/perl-Crypt-OpenSSL-Guess.nm
new file mode 100644 (file)
index 0000000..7594588
--- /dev/null
@@ -0,0 +1,40 @@
+###############################################################################
+# IPFire.org    - An Open Source Firewall Solution                            #
+# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
+###############################################################################
+
+name       = perl-Crypt-OpenSSL-Guess
+version    = 0.15
+release    = 2
+thisapp    = Crypt-OpenSSL-Guess-%{version}
+
+groups     = Development/Libraries
+url        = http://search.cpan.org/dist/Crypt-OpenSSL-Guess
+license    = GPL+
+summary    = Guess the OpenSSL include path.
+
+description
+       This package provides helpers to guess OpenSSL include path on any platforms.
+end
+
+source_dl  = https://cpan.metacpan.org/authors/id/A/AK/AKIYM/
+
+build
+       arches = noarch
+
+       requires
+               perl(ExtUtils::MakeMaker)
+       end
+
+       build
+               perl Makefile.PL INSTALLDIRS=vendor
+               make %{PARALLELISMFLAGS}
+       end
+
+       make_install_targets = \
+               pure_install
+end
+
+packages
+       package %{name}
+end
diff --git a/perl-Crypt-OpenSSL-X509/perl-Crypt-OpenSSL-X509.nm b/perl-Crypt-OpenSSL-X509/perl-Crypt-OpenSSL-X509.nm
new file mode 100644 (file)
index 0000000..aca42b6
--- /dev/null
@@ -0,0 +1,56 @@
+###############################################################################
+# IPFire.org    - An Open Source Firewall Solution                            #
+# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
+###############################################################################
+
+name       = perl-Crypt-OpenSSL-X509
+version    = 1.914
+release    = 4
+thisapp    = Crypt-OpenSSL-X509-%{version}
+
+groups     = Development/Libraries
+url        = http://search.cpan.org/dist/Crypt-OpenSSL-X509
+license    = GPL+
+summary    = Perl extension to OpenSSL's X509 API.
+
+description
+       This perl module implements a large majority of OpenSSL's useful X509 API.
+end
+
+source_dl  = https://cpan.metacpan.org/authors/id/J/JO/JONASBN/
+
+build
+       requires
+               openssl-devel
+               perl(Crypt::OpenSSL::Guess)
+               perl(Convert::ASN1)
+               perl(ExtUtils::MakeMaker)
+               perl(Test::More)
+       end
+
+       build
+               perl Makefile.PL INSTALLDIRS=vendor
+               make %{PARALLELISMFLAGS}
+       end
+
+       make_install_targets = \
+               pure_install
+
+       test
+               make test
+       end
+
+       install_cmds
+               # Set correct library permissions.
+               find %{BUILDROOT}%{libdir} -type f -iname "*.so" \
+                       -exec chmod 755 {} \;
+       end
+end
+
+packages
+       package %{name}
+
+       package %{name}-debuginfo
+               template DEBUGINFO
+       end
+end
index 25b9fae6d462182f93ec7c4109e8baa2c471f216..d7767135756d25a3ce0419857527b760d2aea41f 100644 (file)
@@ -5,8 +5,7 @@
 
 name       = perl-Crypt-PasswdMD5
 version    = 1.40
-release    = 1
-arch       = noarch
+release    = 2
 thisapp    = Crypt-PasswdMD5-%{version}
 
 groups     = Development/Libraries
@@ -22,6 +21,8 @@ source_dl  = http://search.cpan.org/CPAN/authors/id/R/RS/RSAVAGE/
 sources    = %{thisapp}.tgz
 
 build
+       arches = noarch
+
        requires
                perl(ExtUtils::MakeMaker)
        end
index 546c034b9bf1fc741ab2ec66bdcbbd415ed92907..4dad1ae716744c807ad7e61d18ad735ab63730d9 100644 (file)
@@ -4,8 +4,8 @@
 ###############################################################################
 
 name       = perl-DBI
-version    = 1.636
-release    = 1
+version    = 1.643
+release    = 3
 thisapp    = DBI-%{version}
 
 groups     = Development/Libraries
@@ -22,6 +22,8 @@ source_dl  = http://search.cpan.org/CPAN/authors/id/T/TI/TIMB/
 
 build
        requires
+               perl(B)
+               perl(blib)
                perl(Carp)
                perl(Cwd)
                perl(Data::Dumper)
@@ -45,9 +47,13 @@ build
                perl(Tie::Hash)
                perl(Test::Simple)
                perl(base)
+               perl(blib)
                perl(strict)
                perl-devel
-               pakfire >= 0.9.26-3.1
+
+               # Only required to successfully perform
+               # the testsuite.
+               perl-core
        end
 
        build
@@ -61,14 +67,21 @@ build
 
        make_install_targets = \
                pure_install DESTDIR=%{BUILDROOT}
+
+       install_cmds
+               # Set correct library permissions.
+               find %{BUILDROOT}%{libdir} -type f -iname "*.so" \
+                       -exec chmod 755 {} \;
+
+               # Set correct binary permissions.
+               find %{BUILDROOT}%{bindir} -type f -executable \
+                       -exec chmod 755 {} \;
+       end
 end
 
 packages
        package %{name}
-               filter_requires
-                       RPC
-                       Win32
-               end
+               filter_requires = (RPC|Win32)
 
                requires
                        perl(:MODULE_COMPAT_%{perl_version})
index 5f1ce5f0d8a120fcfcbef8f0aa76ff7d2ed02c03..8493fc4d3635b8d466e6f682876d0fd08e3543f7 100644 (file)
@@ -5,8 +5,7 @@
 
 name       = perl-Digest-HMAC
 version    = 1.03
-release    = 1
-arch       = noarch
+release    = 2
 thisapp    = Digest-HMAC-%{version}
 
 groups     = Development/Libraries
@@ -24,6 +23,8 @@ end
 source_dl  = http://www.cpan.org/authors/id/G/GA/GAAS/
 
 build
+       arches = noarch
+
        requires
                perl(Digest::MD5)
                perl(Digest::SHA1)
index ac3aaa4ea260b6a3ee919cebbe77d20df5e03ca7..6e56ad3df03124eb7cee113a63400118cc859090 100644 (file)
@@ -5,7 +5,7 @@
 
 name       = perl-Digest-SHA1
 version    = 2.13
-release    = 4.1
+release    = 7
 thisapp    = Digest-SHA1-%{version}
 
 groups     = Development/Libraries
@@ -33,7 +33,7 @@ build
        requires
                perl(ExtUtils::MakeMaker)
                perl(ExtUtils::ParseXS)
-               pakfire >= 0.9.26-3.1
+               perl(Test::More)
        end
 
        build
@@ -41,8 +41,18 @@ build
                make %{PARALLELISMFLAGS}
        end
 
+       test
+               make test
+       end
+
        make_install_targets = \
                pure_install
+
+       install_cmds
+               # Set correct library permissions.
+               find %{BUILDROOT}%{libdir} -type f -iname "*.so" \
+                       -exec chmod 755 {} \;
+       end
 end
 
 packages
index c2f3a3b8ee35d0f472390055c99c4c1fb454fdba..2ce427eb991914fc3b3a1654f4679d8f1bc690c5 100644 (file)
@@ -5,7 +5,7 @@
 
 name       = perl-FCGI
 version    = 0.77
-release    = 1.1
+release    = 3
 thisapp    = FCGI-%{version}
 
 groups     = Development/Libraries
@@ -23,7 +23,7 @@ build
        requires
                perl(ExtUtils::MakeMaker)
                perl(ExtUtils::ParseXS)
-               pakfire >= 0.9.26-3.1
+               perl(Test::More)
        end
 
        build
@@ -37,6 +37,12 @@ build
 
        make_install_targets = \
                pure_install DESTDIR=%{BUILDROOT}
+
+       install_cmds
+               # Set correct library permissions.
+               find %{BUILDROOT}%{libdir} -type f -iname "*.so" \
+                       -exec chmod 755 {} \;
+       end
 end
 
 packages
index 9045a38e6c14349ff464fd6aa12797f132628313..25ad39927a0eb80b14bfc76dfcafbc16f26f9f19 100644 (file)
@@ -5,8 +5,7 @@
 
 name       = perl-File-HomeDir
 version    = 1.00
-release    = 1
-arch       = noarch
+release    = 2
 thisapp    = File-HomeDir-%{version}
 
 groups     = Development/Libraries
@@ -24,14 +23,18 @@ end
 source_dl  = http://www.cpan.org/authors/id/A/AD/ADAMK/
 
 build
+       arches = noarch
+
        requires
                perl
                perl(Config)
                perl(Cwd) >= 3.12
+               perl(FindBin)
                perl(ExtUtils::MakeMaker) >= 6.42
                perl(ExtUtils::MM_Unix)
                perl(File::Path) >= 2.01
                perl(File::Spec) >= 3.12
+               perl(Module::Install)
                perl(strict)
                perl(vars)
        end
@@ -46,18 +49,4 @@ end
 
 packages
        package %{name}
-               filter_requires
-                       Cwd
-                       File::Path
-                       File::Spec
-                       File::Temp
-                       File::Which
-                       Mac::perl
-                       Win32
-               end
-
-               requires
-                       perl
-               end
-       end
 end
diff --git a/perl-File-Remove/perl-File-Remove.nm b/perl-File-Remove/perl-File-Remove.nm
new file mode 100644 (file)
index 0000000..fced366
--- /dev/null
@@ -0,0 +1,48 @@
+###############################################################################
+# IPFire.org    - An Open Source Firewall Solution                            #
+# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
+###############################################################################
+
+name       = perl-File-Remove
+version    = 1.61
+release    = 2
+thisapp    = File-Remove-%{version}
+
+groups     = Development/Libraries
+url        = http://search.cpan.org/dist/File-Remove/
+license    = GPL+
+summary    = A perl module to Remove files and directories.
+
+description
+       File::Remove::remove removes files and directories. It acts like /bin/rm,
+       for the most part. Although unlink can be given a list of files, it will
+       not remove directories; this module remedies that.
+
+       It also accepts wildcards, * and ?, as arguments for filenames.
+end
+
+source_dl  = https://cpan.metacpan.org/authors/id/S/SH/SHLOMIF/
+
+build
+       arches = noarch
+
+       requires
+               perl(blib)
+               perl(IPC::Open3)
+               perl(ExtUtils::MakeMaker)
+               perl(Test::More)
+       end
+
+       build
+               perl Makefile.PL INSTALLDIRS=vendor
+               make %{PARALLELISMFLAGS}
+       end
+
+       test
+               make test
+       end
+end
+
+packages
+       package %{name}
+end
diff --git a/perl-File-Which/perl-File-Which.nm b/perl-File-Which/perl-File-Which.nm
new file mode 100644 (file)
index 0000000..cec20ca
--- /dev/null
@@ -0,0 +1,48 @@
+###############################################################################
+# IPFire.org    - An Open Source Firewall Solution                            #
+# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
+###############################################################################
+
+name       = perl-File-Which
+version    = 1.27
+release    = 2
+thisapp    = File-Which-%{version}
+
+groups     = Development/Libraries
+url        = http://search.cpan.org/dist/File-Which/
+license    = GPL+
+summary    = Perl implementation of the which utility as an API.
+
+description
+       File::Which finds the full or relative paths to executable programs
+       on the system. This is normally the function of which utility. 
+
+       which is typically implemented as either a program or a built in shell
+       command.
+end
+
+source_dl  = https://cpan.metacpan.org/authors/id/P/PL/PLICEASE/
+
+build
+       arches = noarch
+
+       requires
+               perl(Env)
+               perl(ExtUtils::MakeMaker) >= 6.42
+               perl(ExtUtils::MM_Unix)
+               perl(Test::More)
+       end
+
+       build
+               perl Makefile.PL INSTALLDIRS=vendor
+               make %{PARALLELISMFLAGS}
+       end
+
+       test
+               make test
+       end
+end
+
+packages
+       package %{name}
+end
index fc0fd19b97364df60f464f0e1ae8172abb4f4bc4..0bba0620df757785b40196b41833d2fc1ab4f18a 100644 (file)
@@ -4,9 +4,8 @@
 ###############################################################################
 
 name       = perl-Font-TTF
-version    = 0.48
+version    = 1.06
 release    = 1
-arch       = noarch
 thisapp    = Font-TTF-%{version}
 
 groups     = Development/Libraries
@@ -22,12 +21,15 @@ description
        types.
 end
 
-source_dl  = http://search.cpan.org/CPAN/authors/id/M/MH/MHOSKEN/
+source_dl  = https://cpan.metacpan.org/authors/id/B/BH/BHALLISSY/
 
 build
+       arches = noarch
+
        requires
                perl(ExtUtils::MakeMaker)
                perl(ExtUtils::ParseXS)
+               perl(IO::String)
                perl(Test::Simple)
        end
 
index ca2e5dec7fdd9e7a875c4fbc975825ac9cff86e8..390712ad956d2bdc89ce68c3987f9cd64bad8074 100644 (file)
@@ -5,7 +5,7 @@
 
 name       = perl-GSSAPI
 version    = 0.28
-release    = 1
+release    = 3
 thisapp    = GSSAPI-%{version}
 
 groups     = Development/Libraries
@@ -25,7 +25,7 @@ build
        requires
                krb5-devel
                perl(ExtUtils::MakeMaker)
-               perl(Test::More) >= 0.47
+               perl(Test::More)
        end
 
        build
@@ -33,6 +33,16 @@ build
                        INSTALLDIRS=vendor OPTIMIZE="%{CFLAGS}"
                make %{PARALLELISMFLAGS}
        end
+
+       test
+               make test
+       end
+
+       install_cmds
+               # Set correct library permissions.
+               find %{BUILDROOT}%{libdir} -type f -iname "*.so" \
+               -exec chmod 755 {} \;
+       end
 end
 
 packages
index 02d8b3c9a453c3b5aa3d9242ac2b2da3d9fb42a1..fedeb9744d71676e9719a0545ef1208a058ecf97 100644 (file)
@@ -5,7 +5,7 @@
 
 name       = perl-HTML-Parser
 version    = 3.71
-release    = 1.1
+release    = 3
 
 groups     = Development/Libratries
 url        = http://search.cpan.org/dist/HTML-Parser/
@@ -28,7 +28,6 @@ build
                perl-devel
                perl(HTML::Tagset)
                perl(Test::More)
-               pakfire >= 0.9.26-3.1
        end
 
        build
@@ -39,6 +38,12 @@ build
        test
                make test
        end
+
+       install_cmds
+               # Set correct library permissions.
+               find %{BUILDROOT}%{libdir} -type f -iname "*.so" \
+                       -exec chmod 755 {} \;
+       end
 end
 
 packages
index 9a1d342c0dd058e581315234e239933592bc7c8b..67dc8ded7c501dc41774696557dac098937b5571 100644 (file)
@@ -5,8 +5,7 @@
 
 name       = perl-HTML-Tagset
 version    = 3.20
-release    = 1
-arch       = noarch
+release    = 3
 thisapp    = HTML-Tagset-%{version}
 
 groups     = Development/Libratries
@@ -22,9 +21,11 @@ end
 source_dl  = http://search.cpan.org/CPAN/authors/id/P/PE/PETDANCE/
 
 build
+       arches = noarch
+
        requires
-               perl-core
-               perl-devel
+               perl(ExtUtils::MakeMaker)
+               perl(Test::More)
        end
 
        build
index f15a05fdff2dc2e1046914142de7b83729fa85f0..be720502143bd5431046d25fe66b9839fc690858 100644 (file)
@@ -5,7 +5,7 @@
 
 name       = perl-IO-AIO
 version    = 4.32
-release    = 1.1
+release    = 3
 thisapp    = IO-AIO-%{version}
 
 groups     = Development/Libraries
@@ -22,11 +22,12 @@ source_dl  = http://search.cpan.org/CPAN/authors/id/M/ML/MLEHMANN/
 
 build
        requires
+               perl(FindBin)
                perl(ExtUtils::MakeMaker)
                perl(ExtUtils::ParseXS)
                perl(Carp)
                perl(common::sense)
-               pakfire >= 0.9.26-3.1
+               perl(Test::More)
        end
 
        build
@@ -44,6 +45,10 @@ build
        install_cmds
                # Remove script we don't want packaged
                rm -rvf %{BUILDROOT}%{bindir}/treescan
+
+               # Set correct library permissions.
+               find %{BUILDROOT}%{libdir} -type f -iname "*.so" \
+                       -exec chmod 755 {} \;
        end
 end
 
diff --git a/perl-IO-All/perl-IO-All.nm b/perl-IO-All/perl-IO-All.nm
new file mode 100644 (file)
index 0000000..008efdb
--- /dev/null
@@ -0,0 +1,51 @@
+###############################################################################
+# IPFire.org    - An Open Source Firewall Solution                            #
+# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
+###############################################################################
+
+name       = perl-IO-All
+version    = 0.87
+release    = 2
+thisapp    = IO-All-%{version}
+
+groups     = Development/Libraries
+url        = http://search.cpan.org/dist/IO-All/
+license    = GPL+ or Artistic
+summary    = An OO perl IO wrapper.
+
+description
+       IO::All combines all of the best Perl IO modules into a single nifty
+       object oriented interface to greatly simplify your everyday Perl IO idioms.
+
+       It exports a single function called io, which returns a new IO::All object.
+       And that object can do it all!
+end
+
+source_dl  = https://cpan.metacpan.org/authors/id/F/FR/FREW/
+
+build
+       arches = noarch
+
+       requires
+               perl(FindBin)
+               perl(ExtUtils::MakeMaker)
+               perl(Test::More)
+       end
+
+       build
+               perl Makefile.PL INSTALLDIRS=vendor
+               make %{PARALLELISMFLAGS}
+       end
+
+       #test
+       #       make test
+       #end
+end
+
+packages
+       package %{name}
+               requires
+                       perl(:MODULE_COMPAT_%{perl_version})
+               end
+       end
+end
index dd8585d65ff4c31fbdd8f7d01c24e85b5903d124..7eeec502b88f92ef55656b30248d2b29df0041b9 100644 (file)
@@ -5,8 +5,7 @@
 
 name       = perl-IO-Socket-SSL
 version    = 2.016
-release    = 1
-arch       = noarch
+release    = 3
 thisapp    = IO-Socket-SSL-%{version}
 
 groups     = Development/Libraries
@@ -23,6 +22,8 @@ end
 source_dl  = http://search.cpan.org/CPAN/authors/id/S/SU/SULLR/
 
 build
+       arches = noarch
+
        requires
                perl(ExtUtils::MakeMaker)
                perl(Net::SSLeay)
@@ -31,13 +32,14 @@ build
        end
 
        build
-               perl Makefile.PL INSTALLDIRS=vendor
+               NO_NETWORK_TESTING=1 perl Makefile.PL INSTALLDIRS=vendor
                make %{PARALLELISMFLAGS}
        end
 
-       test
-               make test
-       end
+       # Disable testsuite, requires the external perl(MOZILLA::CA) module.
+       #test
+       #       make test
+       #end
 end
 
 packages
diff --git a/perl-IO-String/perl-IO-String.nm b/perl-IO-String/perl-IO-String.nm
new file mode 100644 (file)
index 0000000..f1e0692
--- /dev/null
@@ -0,0 +1,54 @@
+###############################################################################
+# IPFire.org    - An Open Source Firewall Solution                            #
+# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
+###############################################################################
+
+name       = perl-IO-String
+version    = 1.08
+release    = 1
+thisapp    = IO-String-%{version}
+
+groups     = Development/Libraries
+url        = http://search.cpan.org/dist/IO-String/
+license    = Perl
+summary    = Emulate file interface for in-core strings
+
+description
+       The IO::String module provides the IO::File interface for in-core
+       strings. An IO::String object can be attached to a string, and makes
+       it possible to use the normal file operations for reading or writing
+       data, as well as for seeking to various locations of the string.
+       This is useful when you want to use a library module that only provides
+       an interface to file handles on data that you have in a string variable.
+end
+
+source_dl  = https://cpan.metacpan.org/authors/id/G/GA/GAAS/
+
+build
+       arches = noarch
+
+       requires
+               perl(ExtUtils::MakeMaker)
+               perl(ExtUtils::ParseXS)
+               perl(Test)
+       end
+
+       build
+               perl Makefile.PL INSTALLDIRS=vendor OPTIMIZE="%{CFLAGS}"
+               make %{PARALLELISMFLAGS}
+       end
+
+       test
+               make test
+       end
+
+       make_install_targets = pure_install DESTDIR=%{BUILDROOT}
+end
+
+packages
+       package %{name}
+               requires
+                       perl
+               end
+       end
+end
diff --git a/perl-JSON/perl-JSON.nm b/perl-JSON/perl-JSON.nm
new file mode 100644 (file)
index 0000000..5cd0d44
--- /dev/null
@@ -0,0 +1,49 @@
+###############################################################################
+# IPFire.org    - An Open Source Firewall Solution                            #
+# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
+###############################################################################
+
+name       = perl-JSON
+version    = 4.10
+release    = 2
+thisapp    = JSON-%{version}
+
+groups     = Development/Libraries
+url        = http://search.cpan.org/dist/JSON/
+license    = GPL+ or Artistic
+summary    = JSON (JavaScript Object Notation) encoder/decoder.
+
+description
+       This module is a thin wrapper for JSON::XS-compatible modules with a few 
+       additional features. All the backend modules convert a Perl data structure
+       to a JSON text and vice versa.
+
+       This module uses JSON::XS by default, and when JSON::XS is not available,
+       falls back on JSON::PP, which is in the Perl core since 5.14.
+end
+
+source_dl  = https://cpan.metacpan.org/authors/id/I/IS/ISHIGAKI/
+
+build
+       arches = noarch
+
+       requires
+               perl(ExtUtils::MakeMaker)
+               perl(Test::More)
+       end
+
+       build
+               perl Makefile.PL INSTALLDIRS=perl
+               make %{PARALLELISMFLAGS}
+       end
+
+       test
+               #make test
+       end
+end
+
+packages
+       package %{name}
+               filter_requires = (JSON::backportPP)
+       end
+end
diff --git a/perl-Module-Install-AuthorRequires/perl-Module-Install-AuthorRequires.nm b/perl-Module-Install-AuthorRequires/perl-Module-Install-AuthorRequires.nm
new file mode 100644 (file)
index 0000000..c6f5dcd
--- /dev/null
@@ -0,0 +1,49 @@
+###############################################################################
+# IPFire.org    - An Open Source Firewall Solution                            #
+# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
+###############################################################################
+
+name       = perl-Module-Install-AuthorRequires
+version    = 0.02
+release    = 2
+
+groups     = Development/Libratries
+url        = http://search.cpan.org/dist/Module-Install-AuthorRequires/
+license    = GPL+ or Artistic
+summary    = Declare author-only dependencies.
+
+description
+       An extenision for the Module::Install to declare author-only dependencies.
+end
+
+source_dl  = https://cpan.metacpan.org/authors/id/F/FL/FLORA/
+
+thisapp    = Module-Install-AuthorRequires-%{version}
+
+build
+       arches = noarch
+
+       requires
+               perl(FindBin)
+               perl(ExtUtils::MakeMaker)
+               perl(Module::Install)
+               perl(Test::More)
+       end
+
+       build
+               perl Makefile.PL INSTALLDIRS=vendor
+               make %{PARALLELISMFLAGS}
+       end
+
+       test
+               make test
+       end
+end
+
+packages
+       package %{name}
+               requires
+                       perl(:MODULE_COMPAT_%{perl_version})
+               end
+       end
+end
diff --git a/perl-Module-Install-ManifestSkip/perl-Module-Install-ManifestSkip.nm b/perl-Module-Install-ManifestSkip/perl-Module-Install-ManifestSkip.nm
new file mode 100644 (file)
index 0000000..46372d8
--- /dev/null
@@ -0,0 +1,49 @@
+###############################################################################
+# IPFire.org    - An Open Source Firewall Solution                            #
+# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
+###############################################################################
+
+name       = perl-Module-Install-ManifestSkip
+version    = 0.24
+release    = 2
+
+groups     = Development/Libratries
+url        = http://search.cpan.org/dist/Module-Install-ManifestSkip/
+license    = GPL+ or Artistic
+summary    = Generate a MANIFEST.SKIP file
+
+description
+       An extenision for the Module::Install to generate a MANIFEST.SKIP file.
+end
+
+source_dl  = https://cpan.metacpan.org/authors/id/I/IN/INGY/
+
+thisapp    = Module-Install-ManifestSkip-%{version}
+
+build
+       arches = noarch
+
+       requires
+               perl(FindBin)
+               perl(ExtUtils::MakeMaker)
+               perl(Module::Install)
+               perl(Test::More)
+       end
+
+       build
+               perl Makefile.PL INSTALLDIRS=vendor
+               make %{PARALLELISMFLAGS}
+       end
+
+       test
+               make test
+       end
+end
+
+packages
+       package %{name}
+               requires
+                       perl(:MODULE_COMPAT_%{perl_version})
+               end
+       end
+end
diff --git a/perl-Module-Install/perl-Module-Install.nm b/perl-Module-Install/perl-Module-Install.nm
new file mode 100644 (file)
index 0000000..d6a5308
--- /dev/null
@@ -0,0 +1,58 @@
+###############################################################################
+# IPFire.org    - An Open Source Firewall Solution                            #
+# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
+###############################################################################
+
+name       = perl-Module-Install
+version    = 1.19
+release    = 2
+
+groups     = Development/Libratries
+url        = http://search.cpan.org/dist/Module-Install/
+license    = GPL+ or Artistic
+summary    = Standalone, extensible Perl module installer.
+
+description
+       Module::Install is a package for writing installers for CPAN (or CPAN-like)
+       distributions that are clean, simple, minimalist, act in a strictly correct
+       manner with ExtUtils::MakeMaker, and will run on any Perl installation
+       version 5.005 or newer.
+end
+
+source_dl  = https://cpan.metacpan.org/authors/id/E/ET/ETHER/
+
+thisapp    = Module-Install-%{version}
+
+build
+       arches = noarch
+
+       requires
+               perl(autodie)
+               perl(CPAN::Meta::YAML)
+               perl(Devel::PPPort)
+               perl(File::Remove)
+               perl(FindBin)
+               perl(ExtUtils::MakeMaker)
+               perl(Module::CoreList)
+               perl(Parse::CPAN::Meta)
+               perl(Test::More)
+               perl(YAML::Tiny)
+       end
+
+       build
+               perl Makefile.PL INSTALLDIRS=vendor OPTIMIZE="%{CFLAGS}"
+               make %{PARALLELISMFLAGS}
+       end
+
+       test
+               make test
+       end
+end
+
+packages
+       package %{name}
+               requires
+                       perl(:MODULE_COMPAT_%{perl_version})
+               end
+       end
+end
diff --git a/perl-Module-Package/patches/Module-Package-0.30-Fix-building-on-Perl-without-.-in-INC.patch b/perl-Module-Package/patches/Module-Package-0.30-Fix-building-on-Perl-without-.-in-INC.patch
new file mode 100644 (file)
index 0000000..81f5ebe
--- /dev/null
@@ -0,0 +1,25 @@
+From fc4e65f8d43226739624e15fe3eefa0d05fd8f96 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= <ppisar@redhat.com>
+Date: Wed, 17 May 2017 16:48:56 +0200
+Subject: [PATCH] Fix building on Perl without "." in @INC
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Signed-off-by: Petr PísaÅ™ <ppisar@redhat.com>
+---
+ Makefile.PL | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/Makefile.PL b/Makefile.PL
+index 93b5ed5..fffb0d1 100644
+--- a/Makefile.PL
++++ b/Makefile.PL
+@@ -1,3 +1,4 @@
++BEGIN { push @INC, '.'; }
+ use inc::Module::Package 'Ingy:modern 0.17';
+ # The default module 'lib/Module/Package.pm' has to be very strict
+-- 
+2.9.4
+
diff --git a/perl-Module-Package/perl-Module-Package.nm b/perl-Module-Package/perl-Module-Package.nm
new file mode 100644 (file)
index 0000000..2d551c4
--- /dev/null
@@ -0,0 +1,55 @@
+###############################################################################
+# IPFire.org    - An Open Source Firewall Solution                            #
+# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
+###############################################################################
+
+name       = perl-Module-Package
+version    = 0.30
+release    = 2
+
+groups     = Development/Libratries
+url        = http://search.cpan.org/dist/Module-Package/
+license    = GPL+ or Artistic
+summary    = Postmodern Perl Module Packaging
+
+description
+       This module is a dropin replacement for Module::Install.
+       It does everything Module::Install does, but just a bit better.
+end
+
+source_dl  = https://cpan.metacpan.org/authors/id/I/IN/INGY/
+
+thisapp    = Module-Package-%{version}
+
+build
+       arches = noarch
+
+       requires
+               perl(FindBin)
+               perl(File::Find)
+               perl(IO::All)
+               perl(ExtUtils::MakeMaker)
+               perl(Module::Install)
+               perl(Module::Install::AuthorRequires)
+               perl(Module::Install::ManifestSkip)
+               perl(Moo)
+               perl(Test::More)
+       end
+
+       build
+               perl Makefile.PL INSTALLDIRS=vendor OPTIMIZE="%{CFLAGS}"
+               make %{PARALLELISMFLAGS}
+       end
+
+       test
+               make test
+       end
+end
+
+packages
+       package %{name}
+               requires
+                       perl(:MODULE_COMPAT_%{perl_version})
+               end
+       end
+end
diff --git a/perl-Moo/perl-Moo.nm b/perl-Moo/perl-Moo.nm
new file mode 100644 (file)
index 0000000..c69f7eb
--- /dev/null
@@ -0,0 +1,53 @@
+###############################################################################
+# IPFire.org    - An Open Source Firewall Solution                            #
+# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
+###############################################################################
+
+name       = perl-Moo
+version    = 2.005005
+release    = 2
+thisapp    = Moo-%{version}
+
+groups     = Development/Libraries
+url        = http://search.cpan.org/dist/Moo/
+license    = GPL+ or Artistic
+summary    = Minimalist Object Orientation perl module.
+
+description
+       Moo is an extremely light-weight Object Orientation system. It allows
+       one to concisely define objects and roles with a convenient syntax that
+       avoids the details of Perl's object system.
+end
+
+source_dl  = https://cpan.metacpan.org/authors/id/H/HA/HAARG/
+
+build
+       arches = noarch
+
+       requires
+               perl(B::Deparse)
+               perl(Class::Method::Modifiers)
+               perl(ExtUtils::MakeMaker)
+               perl(Role::Tiny)
+               perl(Sub::Defer)
+               perl(Sub::Quote)
+               perl(Test::More)
+       end
+
+       build
+               perl Makefile.PL INSTALLDIRS=vendor
+               make %{PARALLELISMFLAGS}
+       end
+
+       test
+               make test
+       end
+end
+
+packages
+       package %{name}
+               requires
+                       perl(:MODULE_COMPAT_%{perl_version})
+               end
+       end
+end
diff --git a/perl-Net-HTTP/perl-Net-HTTP.nm b/perl-Net-HTTP/perl-Net-HTTP.nm
new file mode 100644 (file)
index 0000000..ea7d369
--- /dev/null
@@ -0,0 +1,52 @@
+###############################################################################
+# IPFire.org    - An Open Source Firewall Solution                            #
+# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
+###############################################################################
+
+name       = perl-Net-HTTP
+version    = 6.22
+release    = 2
+thisapp    = Net-HTTP-%{version}
+
+groups     = Development/Libraries
+url        = https://metacpan.org/dist/Net-HTTP
+license    = GPL+ or Artistic
+summary    = Low-level HTTP client for perl
+
+description
+       The Net::HTTP class is a low-level HTTP client. An instance of the
+       Net::HTTP class represents a connection to an HTTP server. The HTTP
+       protocol is described in RFC 2616.
+
+       The Net::HTTP class supports HTTP/1.0 and HTTP/1.1.
+end
+
+source_dl  = https://cpan.metacpan.org/authors/id/O/OA/OALDERS/
+
+build
+       arches = noarch
+
+       requires
+               perl(ExtUtils::MakeMaker)
+               perl(Test::More)
+               perl(URI)
+       end
+
+       build
+               perl Makefile.PL INSTALLDIRS=vendor
+               make %{PARALLELISMFLAGS}
+       end
+
+       # Testsuite fails.
+       #test
+       #       make test
+       #end
+end
+
+packages
+       package %{name}
+               requires
+                       perl(:MODULE_COMPAT_%{perl_version})
+               end
+       end
+end
index 47b7224f690344f352202ba3d550a30d014a98da..1f6e6372bfe01e9fce5a90985184ec9c9a314a44 100644 (file)
@@ -5,8 +5,7 @@
 
 name       = perl-Net-SMTP-SSL
 version    = 1.04
-release    = 1
-arch       = noarch
+release    = 3
 thisapp    = Net-SMTP-SSL-%{version}
 
 groups     = Development/Libraries
@@ -21,9 +20,12 @@ end
 source_dl  = http://search.cpan.org/CPAN/authors/id/R/RJ/RJBS/
 
 build
+       arches = noarch
+
        requires
                perl(ExtUtils::MakeMaker)
                perl(IO::Socket::SSL)
+               perl(Net::SMTP)
                perl(Test::More) >= 0.47
        end
 
index 8485c2d498264c2dfa21ca6e6ef27d7af7646b34..ce7ba3dc862f6f5cb00f21d8733010393c047fe4 100644 (file)
@@ -4,8 +4,8 @@
 ###############################################################################
 
 name       = perl-Net-SSLeay
-version    = 1.78
-release    = 1
+version    = 1.85
+release    = 3
 thisapp    = Net-SSLeay-%{version}
 
 groups     = Development/Libraries
@@ -22,8 +22,11 @@ source_dl  = http://search.cpan.org/CPAN/authors/id/M/MI/MIKEM/
 build
        requires
                openssl-devel
+               perl(AutoLoader)
+               perl(FindBin)
                perl(ExtUtils::MakeMaker)
-               perl(Test::More) >= 0.47
+               perl(Module::Install)
+               perl(Test::More)
                zlib-devel
        end
 
@@ -33,8 +36,15 @@ build
                make %{PARALLELISMFLAGS}
        end
 
-       test
-               make test
+       # Testsuite starts but freezes after a few tests.
+       #test
+       #       make test
+       #end
+
+       install_cmds
+               # Set correct library permissions.
+               find %{BUILDROOT}%{libdir} -type f -iname "*.so" \
+                       -exec chmod 755 {} \;
        end
 end
 
diff --git a/perl-Parse-Yapp/perl-Parse-Yapp.nm b/perl-Parse-Yapp/perl-Parse-Yapp.nm
new file mode 100644 (file)
index 0000000..5bcbf9f
--- /dev/null
@@ -0,0 +1,60 @@
+###############################################################################
+# IPFire.org    - An Open Source Firewall Solution                            #
+# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
+###############################################################################
+
+name       = perl-Parse-Yapp
+version    = 1.21
+release    = 3
+thisapp    = Parse-Yapp-%{version}
+
+groups     = Development/Libratries
+url        = http://search.cpan.org/dist/Parse-Yapp/
+license    = GPL+ or Artistic
+summary    = Perl extension for generating and using LALR parsers.
+
+description
+       Parse::Yapp (Yet Another Perl Parser compiler) is a collection of modules
+       that let you generate and use yacc like thread safe (reentrant) parsers with
+       perl object oriented interface.
+end
+
+source_dl  = https://cpan.metacpan.org/authors/id/W/WB/WBRASWELL/
+
+build
+       requires
+               perl(ExtUtils::MakeMaker)
+               perl(Test::More)
+       end
+
+       build
+               perl Makefile.PL INSTALLDIRS=vendor OPTIMIZE="%{CFLAGS}"
+               make %{PARALLELISMFLAGS}
+       end
+
+       test
+               make test
+       end
+
+       install_cmds
+               # Set correct library permissions.
+               find %{BUILDROOT}%{libdir} -type f -iname "*.so" \
+                       -exec chmod 755 {} \;
+
+               # Set correct binary permissions.
+               find %{BUILDROOT}%{bindir} -type f -executable \
+                       -exec chmod 755 {} \;
+       end
+end
+
+packages
+       package %{name}
+               requires
+                       perl(:MODULE_COMPAT_%{perl_version})
+               end
+       end
+
+       package %{name}-debuginfo
+               template DEBUGINFO
+       end
+end
diff --git a/perl-Role-Tiny/perl-Role-Tiny.nm b/perl-Role-Tiny/perl-Role-Tiny.nm
new file mode 100644 (file)
index 0000000..07a3077
--- /dev/null
@@ -0,0 +1,48 @@
+###############################################################################
+# IPFire.org    - An Open Source Firewall Solution                            #
+# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
+###############################################################################
+
+name       = perl-Role-Tiny
+version    = 2.002004
+release    = 2
+thisapp    = Role-Tiny-%{version}
+
+groups     = Development/Libraries
+url        = http://search.cpan.org/dist/Moo/
+license    = GPL+ or Artistic
+summary    = Role::Tiny is a minimalist role composition tool.
+
+description
+       Role composition can be thought of as much more clever and meaningful
+       multiple inheritance.
+end
+
+source_dl  = https://cpan.metacpan.org/authors/id/H/HA/HAARG/
+
+build
+       arches = noarch
+
+       requires
+               perl(B)
+               perl(ExtUtils::MakeMaker)
+               perl(Test::More)
+       end
+
+       build
+               perl Makefile.PL INSTALLDIRS=vendor
+               make %{PARALLELISMFLAGS}
+       end
+
+       test
+               make test
+       end
+end
+
+packages
+       package %{name}
+               requires
+                       perl(:MODULE_COMPAT_%{perl_version})
+               end
+       end
+end
index 4590ed9ba8d98ade383e4624339ae793d413e123..f57a73c6b85d58cdf95b72245fd87edd76971327 100644 (file)
@@ -4,9 +4,9 @@
 ###############################################################################
 
 name       = perl-SGMLSpm
-version    = 1.03ii
-release    = 1
-arch       = noarch
+version    = 1.1
+release    = 3
+thisapp    = SGMLSpm-%{version}
 
 groups     = Development/Libraries
 url        = http://search.cpan.org/dist/SGMLSpm/
@@ -18,24 +18,28 @@ description
        documents into new formats.
 end
 
-source_dl  = http://www.cpan.org/authors/id/D/DM/DMEGG/
-
-thisapp    = SGMLSpm-%{version}
+source_dl  = https://cpan.metacpan.org/authors/id/R/RA/RAAB/
 
 build
-       DIR_APP = %{DIR_SRC}/SGMLSpm
+       arches = noarch
 
-       build = # Nothing to do.
+       requires
+               perl(ExtUtils::MakeMaker)
+               perl(Test::More)
+       end
 
-       install
-               # Create directory layout.
-               mkdir -pv %{BUILDROOT}/usr/bin
-               mkdir -pv %{BUILDROOT}/usr/share/perl5
+       build
+               perl Makefile.PL INSTALLDIRS=vendor
+               make %{PARALLELISMFLAGS}
+       end
+
+       test
+               make test
+       end
 
-               # Install the module.
-               make install_system \
-                       BINDIR=%{BUILDROOT}/usr/bin/ \
-                       PERL5DIR=%{BUILDROOT}/usr/share/perl5/
+       install_cmds
+               # Drop unwanted script
+               rm -rvf %{BUILDROOT}%{bindir}/sgmlspl.pl
        end
 end
 
diff --git a/perl-Sub-Quote/perl-Sub-Quote.nm b/perl-Sub-Quote/perl-Sub-Quote.nm
new file mode 100644 (file)
index 0000000..c061995
--- /dev/null
@@ -0,0 +1,48 @@
+###############################################################################
+# IPFire.org    - An Open Source Firewall Solution                            #
+# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
+###############################################################################
+
+name       = perl-Sub-Quote
+version    = 2.006008
+release    = 2
+thisapp    = Sub-Quote-%{version}
+
+groups     = Development/Libraries
+url        = http://search.cpan.org/dist/Sub-Quote/
+license    = GPL+ or Artistic
+summary    = Efficient generation of subroutines via string eval
+
+description
+       This package provides performant ways to generate subroutines from
+       strings.
+end
+
+source_dl  = https://cpan.metacpan.org/authors/id/H/HA/HAARG/
+
+build
+       arches = noarch
+
+       requires
+               perl(B)
+               perl(ExtUtils::MakeMaker)
+               perl(Test::More)
+       end
+
+       build
+               perl Makefile.PL INSTALLDIRS=vendor
+               make %{PARALLELISMFLAGS}
+       end
+
+       test
+               make test
+       end
+end
+
+packages
+       package %{name}
+               requires
+                       perl(:MODULE_COMPAT_%{perl_version})
+               end
+       end
+end
index 58acccc2ecf40274915987f3ccc7dd9881e189df..f83b3043be29f5c404efc8d5e759c65a1c5ebdf0 100644 (file)
@@ -4,8 +4,8 @@
 ###############################################################################
 
 name       = perl-TermReadKey
-version    = 2.32
-release    = 1.1
+version    = 2.38
+release    = 4
 thisapp    = TermReadKey-%{version}
 
 groups     = Development/Libraries
@@ -23,7 +23,7 @@ description
        good likelyhood of it working.
 end
 
-source_dl  = http://www.cpan.org/authors/id/J/JS/JSTOWE/
+source_dl  = https://www.cpan.org/authors/id/J/JS/JSTOWE/
 
 build
        requires
@@ -31,7 +31,7 @@ build
                perl(Carp)
                perl(Exporter)
                perl(ExtUtils::MakeMaker)
-               pakfire >= 0.9.26-3.1
+               perl(Test::More)
        end
 
        build
@@ -39,8 +39,18 @@ build
                make %{PARALLELISMFLAGS}
        end
 
+       test
+               make test
+       end
+
        make_install_targets = \
                pure_install
+
+       install_cmds
+               # Set correct library permissions.
+               find %{BUILDROOT}%{libdir} -type f -iname "*.so" \
+                       -exec chmod 755 {} \;
+       end
 end
 
 packages
diff --git a/perl-TimeDate/perl-TimeDate.nm b/perl-TimeDate/perl-TimeDate.nm
new file mode 100644 (file)
index 0000000..dcae9ff
--- /dev/null
@@ -0,0 +1,47 @@
+###############################################################################
+# IPFire.org    - An Open Source Firewall Solution                            #
+# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
+###############################################################################
+
+name       = perl-TimeDate
+version    = 2.33
+release    = 3
+thisapp    = TimeDate-%{version}
+
+groups     = Development/Libraries
+url        = http://search.cpan.org/dist/TimeDate/
+license    = GPL+ or Artistic
+summary    = A Perl module for time and date manipulation
+
+description
+       This module includes a number of smaller modules suited for
+       manipulation of time and date strings with Perl. In particular, the
+       Date::Format and Date::Parse modules can display and read times and
+       dates in various formats, providing a more reliable interface to
+       textual representations of points in time.
+end
+
+source_dl  = https://cpan.metacpan.org/authors/id/A/AT/ATOOMIC/
+
+build
+       arches = noarch
+
+       requires
+               perl(ExtUtils::MakeMaker)
+               perl(Test::More)
+               perl(Time::Local)
+       end
+
+       build
+               perl Makefile.PL INSTALLDIRS=perl
+               make %{PARALLELISMFLAGS}
+       end
+
+       test
+               make test
+       end     
+end
+
+packages
+       package %{name}
+end
diff --git a/perl-Tk/patches/perl-Tk-debian.patch b/perl-Tk/patches/perl-Tk-debian.patch
deleted file mode 100644 (file)
index 6b945b4..0000000
+++ /dev/null
@@ -1,71 +0,0 @@
---- perl-tk-804.027.orig/objGlue.c
-+++ perl-tk-804.027/objGlue.c
-@@ -529,6 +529,10 @@
-       sv_utf8_upgrade(objPtr);
- #endif
-      s = SvPV(objPtr, len);
-+     if (!s)
-+      {
-+       return NULL;
-+      }
- #ifdef SvUTF8
-      if (!is_utf8_string(s,len))
-       {
-@@ -555,6 +559,10 @@
-    else
-     {
-      s = LangString(objPtr);
-+     if (!s)
-+      {
-+       return NULL;
-+      }
- #ifdef SvUTF8
-      if (!is_utf8_string(s,strlen(s)))
-       {
---- perl-tk-804.027.orig/pTk/mTk/generic/tkFont.c
-+++ perl-tk-804.027/pTk/mTk/generic/tkFont.c
-@@ -1044,6 +1044,7 @@
-     TkFont *fontPtr, *firstFontPtr, *oldFontPtr;
-     int new, descent;
-     NamedFont *nfPtr;
-+    char *fontString;
-     fiPtr = ((TkWindow *) tkwin)->mainPtr->fontInfoPtr;
-     if (objPtr->typePtr != &tkFontObjType) {
-@@ -1077,8 +1078,12 @@
-       cacheHashPtr = oldFontPtr->cacheHashPtr;
-       FreeFontObjProc(objPtr);
-     } else {
-+      fontString = Tcl_GetString(objPtr);
-+      if (fontString == NULL) {
-+              fontString = "";
-+      }
-       cacheHashPtr = Tcl_CreateHashEntry(&fiPtr->fontCache,
--              Tcl_GetString(objPtr), &new);
-+              fontString, &new);
-     }
-     firstFontPtr = (TkFont *) Tcl_GetHashValue(cacheHashPtr);
-     for (fontPtr = firstFontPtr; (fontPtr != NULL);
-@@ -1095,8 +1100,12 @@
-      * The desired font isn't in the table.  Make a new one.
-      */
-+    fontString = Tcl_GetString(objPtr);
-+    if (fontString == NULL) {
-+          fontString = "";
-+    }
-     namedHashPtr = Tcl_FindHashEntry(&fiPtr->namedTable,
--          Tcl_GetString(objPtr));
-+          fontString);
-     if (namedHashPtr != NULL) {
-       /*
-        * Construct a font based on a named font.
-@@ -1111,7 +1120,7 @@
-        * Native font?
-        */
--      fontPtr = TkpGetNativeFont(tkwin, Tcl_GetString(objPtr));
-+      fontPtr = TkpGetNativeFont(tkwin, fontString);
-       if (fontPtr == NULL) {
-           TkFontAttributes fa;
-           Tcl_Obj *dupObjPtr = Tcl_DuplicateObj(objPtr);
diff --git a/perl-Tk/patches/perl-Tk-seg.patch b/perl-Tk/patches/perl-Tk-seg.patch
deleted file mode 100644 (file)
index 26201fa..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-diff -up Tk-804.028/pTk/mTk/generic/tkConfig.c.seg Tk-804.028/pTk/mTk/generic/tkConfig.c
---- Tk-804.028/pTk/mTk/generic/tkConfig.c.seg  2008-03-11 23:29:39.000000000 -0400
-+++ Tk-804.028/pTk/mTk/generic/tkConfig.c      2008-03-11 23:28:09.000000000 -0400
-@@ -1210,11 +1210,11 @@ GetOptionFromObj(interp, objPtr, tablePt
-      * First, check to see if the object already has the answer cached.
-      */
--    if (objPtr->typePtr == &tkOptionObjType) {
-+/*    if (objPtr->typePtr == &tkOptionObjType) {
-         if (objPtr->internalRep.twoPtrValue.ptr1 == (VOID *) tablePtr) {
-             return (Option *) objPtr->internalRep.twoPtrValue.ptr2;
-         }
--    }
-+    }*/
-     /*
-      * The answer isn't cached.
-@@ -2277,9 +2277,15 @@ Tk_GetOptionValue(interp, recordPtr, opt
-     if (optionPtr == NULL) {
-       return NULL;
-     }
-+
-+    if (optionPtr->specPtr == NULL) {
-+      return NULL;
-+    }
-+
-     if (optionPtr->specPtr->type == TK_OPTION_SYNONYM) {
-       optionPtr = optionPtr->extra.synonymPtr;
-     }
-+
-     if (optionPtr->specPtr->objOffset >= 0) {
-       resultPtr = *((Tcl_Obj **) (recordPtr + optionPtr->specPtr->objOffset));
-       if (resultPtr == NULL) {
diff --git a/perl-Tk/patches/perl-Tk-widget.patch0 b/perl-Tk/patches/perl-Tk-widget.patch0
deleted file mode 100644 (file)
index ec44658..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
---- demos/widget.orig  2008-01-02 13:24:14.000000000 +0100
-+++ demos/widget       2008-01-02 13:27:10.000000000 +0100
-@@ -3,7 +3,8 @@
- use 5.008;
- use Config;
- use Tk 804.000;
--use lib Tk->findINC( 'demos/widget_lib' );
-+#use lib Tk->findINC( 'demos/widget_lib' );
-+use lib "@demopath@/widget_lib";
- use Tk::widgets qw/ DialogBox ErrorDialog LabEntry ROText /;
- use Tk::Config ();
- use WidgetDemo;
-@@ -62,9 +63,11 @@
-     $l->destroy;
- }
--my $widget_lib = Tk->findINC('demos/widget_lib');
-+#my $widget_lib = Tk->findINC('demos/widget_lib');
-+my $widget_lib = "@demopath@/widget_lib";
- my $wd = "$widget_lib/WidgetDemo.pm";
--$WIDTRIB = Tk->findINC('demos/widtrib');
-+#$WIDTRIB = Tk->findINC('demos/widtrib');
-+$WIDTRIB = "@demopath@/widtrib";
- unless (Tk::tainting) {
-     $WIDTRIB = $ENV{WIDTRIB} if defined $ENV{WIDTRIB};
-     $WIDTRIB = $ARGV[0] if defined $ARGV[0];
diff --git a/perl-Tk/perl-Tk.nm b/perl-Tk/perl-Tk.nm
deleted file mode 100644 (file)
index 665335d..0000000
+++ /dev/null
@@ -1,74 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = perl-Tk
-version    = 804.033
-release    = 1.1
-thisapp    = Tk-%{version}
-
-groups     = Development/Libraries
-url        = http://search.cpan.org/dist/Tk/
-license    = GPL+ or Artistic
-summary    = Perl Graphical User Interface ToolKit.
-
-description
-       This a re-port of a perl interface to Tk8.4.
-       C code is derived from Tcl/Tk8.4.5.
-       It also includes all the C code parts of Tix8.1.4 from SourceForge.
-       The perl code corresponding to Tix's Tcl code is not fully implemented.
-
-       Perl API is essentially the same as Tk800 series Tk800.025 but has not
-       been verified as compliant. There ARE differences see pod/804delta.pod.
-end
-
-source_dl  = http://cpan.org/modules/by-module/Tk/
-
-build
-       requires
-               perl(ExtUtils::ParseXS)
-               perl(ExtUtils::MakeMaker)
-               perl-devel
-               libjpeg-devel
-               libpng-devel
-               libX11-devel
-               libXft-devel
-               pakfire >= 0.9.26-3.1
-       end
-
-       build
-               perl Makefile.PL INSTALLDIRS=vendor X11LIB=%{libdir} XFT=1
-               make %{PARALLELISMFLAGS}
-       end
-
-       install
-               make pure_install PERL_INSTALL_ROOT=%{BUILDROOT}
-
-               # Remove interpreter in /usr/local...
-               sed -e "s@#!.*@#!/usr/bin/perl -w@g" \
-                       -i %{BUILDROOT}%{libdir}/perl5/vendor_perl/Tk/pTk/{Tcl-pTk,mkVFunc}
-       end
-end
-
-packages
-       package %{name}
-               provides
-                       perl(Tk::LabRadio) = 4.004
-                       perl(Tk::TextReindex)
-                       perl(Tk) = %{version}
-               end
-
-               requires
-                       perl(:MODULE_COMPAT_%{perl_version})
-               end
-       end
-
-       package %{name}-devel
-               template DEVEL
-       end
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
index 060448f84ffbbd7175d95ca64c745a4c1f06c97d..1b89fb0fee5607d02e7186426c77a67568a1051a 100644 (file)
@@ -5,8 +5,7 @@
 
 name       = perl-URI
 version    = 1.67
-release    = 1
-arch       = noarch
+release    = 2
 thisapp    = URI-%{version}
 
 groups     = Development/Libraries
@@ -23,6 +22,8 @@ end
 source_dl  = http://search.cpan.org/CPAN/authors/id/E/ET/ETHER/
 
 build
+       arches = noarch
+
        requires
                perl(ExtUtils::MakeMaker)
                perl(MIME::Base64)
diff --git a/perl-WWW-Curl/patches/01-WWW-Curl-4.17-Skip-preprocessor-symbol-only-CURL_STRICTER.patch b/perl-WWW-Curl/patches/01-WWW-Curl-4.17-Skip-preprocessor-symbol-only-CURL_STRICTER.patch
new file mode 100644 (file)
index 0000000..34221c0
--- /dev/null
@@ -0,0 +1,34 @@
+From 0be0223422e6e5f4091c6e4e058d213623eed105 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= <ppisar@redhat.com>
+Date: Mon, 12 Sep 2016 14:40:44 +0200
+Subject: [PATCH] Skip preprocessor symbol only CURL_STRICTER
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+CURL_STRICTER leaked into curl-constants.c when building against
+curl-7.50.2. This is a preprocessor only macro without a value.
+
+CPAN RT#117793
+
+Signed-off-by: Petr PísaÅ™ <ppisar@redhat.com>
+---
+ Makefile.PL | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Makefile.PL b/Makefile.PL
+index f9170bb..ad2bd3d 100644
+--- a/Makefile.PL
++++ b/Makefile.PL
+@@ -127,7 +127,7 @@ if (!defined($curl_h)) {
+     close H;
+     for my $e (sort @syms) {
+-       if($e =~ /(OBSOLETE|^CURL_EXTERN|_LAST\z|_LASTENTRY\z)/) {
++       if($e =~ /(OBSOLETE|^CURL_EXTERN|^CURL_STRICTER\z|_LAST\z|_LASTENTRY\z)/) {
+           next;
+        }
+        my ($group) = $e =~ m/^([^_]+_)/;
+-- 
+2.7.4
+
diff --git a/perl-WWW-Curl/patches/02-WWW-Curl-4.17-define-CURL-as-void.patch b/perl-WWW-Curl/patches/02-WWW-Curl-4.17-define-CURL-as-void.patch
new file mode 100644 (file)
index 0000000..1fa9b54
--- /dev/null
@@ -0,0 +1,21 @@
+diff -up ./Curl.xs.orig ./Curl.xs
+--- ./Curl.xs.orig     2019-10-18 07:45:38.380881448 +0200
++++ ./Curl.xs  2019-10-18 07:46:20.712032844 +0200
+@@ -47,7 +47,7 @@ typedef enum {
+ typedef struct {
+     /* The main curl handle */
+-    struct CURL *curl;
++    CURL *curl;
+     I32 *y;
+     /* Lists that can be set via curl_easy_setopt() */
+     struct curl_slist *slist[SLIST_LAST];
+@@ -73,7 +73,7 @@ typedef struct {
+ #ifdef __CURL_MULTI_H
+     struct CURLM *curlm;
+ #else
+-    struct void *curlm;
++    void *curlm;
+ #endif
+ } perl_curl_multi;
diff --git a/perl-WWW-Curl/patches/03-WWW-Curl-4.17-Adapt-to-changes-in-cURL-7.69.0.patch b/perl-WWW-Curl/patches/03-WWW-Curl-4.17-Adapt-to-changes-in-cURL-7.69.0.patch
new file mode 100644 (file)
index 0000000..3d6829b
--- /dev/null
@@ -0,0 +1,41 @@
+From ee910449bf764d9f582e612c9b8b61b1d18e3a7c Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= <ppisar@redhat.com>
+Date: Thu, 9 Apr 2020 14:31:05 +0200
+Subject: [PATCH] Adapt to changes in cURL 7.69.0
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+WIN32 macro was removed (1adebe7886ddf20b0733bf9ccbae4ed4866dcfb6) and
+then added under a CURL_WIN32 name
+(8bd863f97b6c79f561bc063e634cecdf4badf776). This a C preprocessor
+macro for driving the C compiler, not a cURL  option. Thus this fix
+ignores it.
+
+CURLOPT(na,t,nu) macro was added
+(920deff8618a19ae80bd319851722f1b05751f69) as replacement for CINIT()
+macro. It's not a cURL option. This fix also ignores it.
+
+CPAN RT#132197
+
+Signed-off-by: Petr PísaÅ™ <ppisar@redhat.com>
+---
+ Makefile.PL | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Makefile.PL b/Makefile.PL
+index ad2bd3d..b9e6a46 100644
+--- a/Makefile.PL
++++ b/Makefile.PL
+@@ -127,7 +127,7 @@ if (!defined($curl_h)) {
+     close H;
+     for my $e (sort @syms) {
+-       if($e =~ /(OBSOLETE|^CURL_EXTERN|^CURL_STRICTER\z|_LAST\z|_LASTENTRY\z)/) {
++       if($e =~ /(OBSOLETE|^CURL_EXTERN|^CURL_STRICTER\z|^CURL_WIN32\z|^CURLOPT\z|_LAST\z|_LASTENTRY\z)/) {
+           next;
+        }
+        my ($group) = $e =~ m/^([^_]+_)/;
+-- 
+2.21.1
+
index 736a80edeba4204a841b011fc5ead4ad70cf8dfd..8691eb3759aa7c750ac652632ef9fe82eb9ecb91 100644 (file)
@@ -5,7 +5,7 @@
 
 name       = perl-WWW-Curl
 version    = 4.17
-release    = 1.1
+release    = 4
 thisapp    = WWW-Curl-%{version}
 
 groups     = Development/Libraries
@@ -21,10 +21,12 @@ source_dl  = http://search.cpan.org/CPAN/authors/id/S/SZ/SZBALINT/
 
 build
        requires
+               libcurl-devel
+               perl(FindBin)
                perl(ExtUtils::MakeMaker)
                perl(ExtUtils::ParseXS)
-               libcurl-devel
-               pakfire >= 0.9.26-3.1
+               perl(Module::Install)
+               perl(Test::More)
        end
 
        build
@@ -32,7 +34,32 @@ build
                make %{PARALLELISMFLAGS}
        end
 
-       make_install_targets = pure_install
+       test
+               # The following tests requires network connectivity
+               # Remove them
+               rm t/01basic.t
+               rm t/02callbacks.t
+               rm t/04abort-test.t
+               rm t/05progress.t
+               rm t/08ssl.t
+               rm t/09times.t
+               rm t/14duphandle.t
+               rm t/15duphandle-callback.t
+               rm t/18twinhandles.t
+               rm t/19multi.t
+               rm t/21write-to-scalar.t
+
+               make test
+       end
+
+       make_install_targets = \
+               pure_install
+
+       install_cmds
+               # Set correct library permissions.
+               find %{BUILDROOT}%{libdir} -type f -iname "*.so" \
+                       -exec chmod 755 {} \;
+       end
 end
 
 packages
index fd4e8edda06a4eef2b28266b06649e04a8183303..b81be7a889cf780d945b800f75ca11555d6b83a8 100644 (file)
@@ -5,8 +5,7 @@
 
 name       = perl-XML-NamespaceSupport
 version    = 1.11
-release    = 1
-arch       = noarch
+release    = 2
 
 thisapp    = XML-NamespaceSupport-%{version}
 
@@ -24,10 +23,14 @@ end
 source_dl  = http://www.cpan.org/authors/id/P/PE/PERIGRIN/
 
 build
+       arches = noarch
+
        requires
                perl(constant)
                perl(Cwd)
                perl(ExtUtils::MakeMaker) >= 6.42
+               perl(FindBin)
+               perl(Module::Install)
                perl(File::Path)
                perl(Test::More) >= 0.47
        end
index eae88d709792d8f51a1bf88ffdd35e5df60138cf..6c390411388f48b8808c3734094a8c1a6a1c405f 100644 (file)
@@ -5,7 +5,7 @@
 
 name       = perl-XML-Parser
 version    = 2.44
-release    = 2
+release    = 5
 thisapp    = XML-Parser-%{version}
 
 groups     = Development/Libraries
@@ -24,20 +24,25 @@ source_dl  = http://search.cpan.org/CPAN/authors/id/T/TO/TODDR/
 build
        requires
                expat-devel
-               pakfire >= 0.9.26-3.1
-               perl-core
-               perl-devel
+               perl(English)
+               perl(ExtUtils::MakeMaker)
+               perl(FileHandle)
+               perl(Test::More)
        end
 
        build
                perl Makefile.PL INSTALLDIRS=vendor
                make %{PARALLELISMFLAGS}
        end
-end
 
-quality-agent
-       whitelist_rpath
-               /lib
+       test
+               make test
+       end
+
+       install_cmds
+               # Set correct library permissions.
+               find %{BUILDROOT}%{libdir} -type f -iname "*.so" \
+                       -exec chmod 755 {} \;
        end
 end
 
index 092b0ddf254e052d6908b899a12484cbfd5d8645..1ac6e30f69b6c99e1e760a9fd7f35e6005dad498 100644 (file)
@@ -5,8 +5,7 @@
 
 name       = perl-XML-SAX-Base
 version    = 1.08
-release    = 1
-arch       = noarch
+release    = 2
 
 thisapp    = XML-SAX-Base-%{version}
 
@@ -25,6 +24,8 @@ end
 source_dl  = http://www.cpan.org/authors/id/G/GR/GRANTM/
 
 build
+       arches = noarch
+
        requires
                perl(base)
                perl(Carp)
index b2e9e39922a745eeadbb7c2e88dbe215237f4ff1..8328ed13c84a412d398aa0578307a648801db43e 100644 (file)
@@ -5,8 +5,7 @@
 
 name       = perl-XML-SAX
 version    = 0.99
-release    = 1
-arch       = noarch
+release    = 2
 
 thisapp    = XML-SAX-%{version}
 
@@ -35,6 +34,8 @@ end
 sources = %{thisapp}-nopatents.tar.gz
 
 build
+       arches = noarch
+
        requires
                perl(base)
                perl(Carp)
diff --git a/perl-YAML-Tiny/perl-YAML-Tiny.nm b/perl-YAML-Tiny/perl-YAML-Tiny.nm
new file mode 100644 (file)
index 0000000..3fde196
--- /dev/null
@@ -0,0 +1,47 @@
+###############################################################################
+# IPFire.org    - An Open Source Firewall Solution                            #
+# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
+###############################################################################
+
+name       = perl-YAML-Tiny
+version    = 1.73
+release    = 2
+thisapp    = YAML-Tiny-%{version}
+
+groups     = Development/Libraries
+url        = http://search.cpan.org/dist/YAML-Tiny/
+license    = GPL+ or Artistic
+summary    = Read/Write YAML files with as little code as possible.
+
+description
+       YAML::Tiny is a perl class for reading and writing YAML-style files,
+       written with as little code as possible, reducing load time and memory
+       overhead.
+end
+
+source_dl  = https://cpan.metacpan.org/authors/id/E/ET/ETHER/
+
+build
+       arches = noarch
+
+       requires
+               perl(autodie)
+               perl(B)
+               perl(ExtUtils::MakeMaker)
+               perl(JSON::PP)
+               perl(Test::More)
+       end
+
+       build
+               perl Makefile.PL INSTALLDIRS=vendor
+               make %{PARALLELISMFLAGS}
+       end
+
+       test
+               make test
+       end
+end
+
+packages
+       package %{name}
+end
index 73ec0f33e7db6ff6e14a1289da124abff5701348..516359f07bae6c011ba06be58bf54a40fe17f037 100644 (file)
@@ -5,8 +5,7 @@
 
 name       = perl-YAML
 version    = 0.84
-release    = 2
-arch       = noarch
+release    = 3
 thisapp    = YAML-%{version}
 
 groups     = Development/Libraries
@@ -27,16 +26,17 @@ end
 source_dl  = http://search.cpan.org/CPAN/authors/id/M/MS/MSTROUT/
 
 build
-       requires
-               # required for perl macros
-               pakfire-builder >= 0.9.23-6
+       arches = noarch
 
+       requires
                perl(Carp)
                perl(constant)
                perl(Cwd)
                perl(Data::Dumper)
+               perl(FindBin)
                perl(Exporter)
                perl(ExtUtils::MakeMaker)
+               perl(Module::Package)
                perl(File::Path)
                perl(lib)
 
index 54ed9bc3f39f64612d3ecda34aa87a04b99e3b45..be2dc8cb4086cd2df66ad3dd66315dc7ea952f69 100644 (file)
@@ -4,9 +4,8 @@
 ###############################################################################
 
 name       = perl-common-sense
-version    = 3.73
-release    = 1.1
-arch       = noarch
+version    = 3.75
+release    = 2
 thisapp    = common-sense-%{version}
 
 groups     = Development/Libraries
@@ -24,9 +23,11 @@ description
                - no warnings;
 end
 
-source_dl  = http://search.cpan.org/CPAN/authors/id/M/ML/MLEHMANN/
+source_dl  = https://search.cpan.org/CPAN/authors/id/M/ML/MLEHMANN/
 
 build
+       arches = noarch
+
        requires
                perl(ExtUtils::MakeMaker)
                perl(ExtUtils::ParseXS)
@@ -48,8 +49,6 @@ end
 
 packages
        package %{name}
-               requires
-                       perl(:MODULE_COMPAT_%{perl_version})
-               end
+               requires = perl(:MODULE_COMPAT_%{perl_version})
        end
 end
index e1f5b6790344cc4b18264c85e58a179c340ffa7b..a6c63e860adb133bb98337b6696cff5a8e2f1595 100644 (file)
@@ -4,8 +4,8 @@
 ###############################################################################
 
 name       = perl-libintl-perl
-version    = 1.23
-release    = 2.1
+version    = 1.33
+release    = 3
 thisapp    = libintl-perl-%{version}
 
 groups     = Development/Libraries
@@ -24,8 +24,9 @@ source_dl  = http://search.cpan.org/CPAN/authors/id/G/GU/GUIDO/
 build
        requires
                /usr/bin/xsubpp
+               perl(locale)
                perl(ExtUtils::MakeMaker)
-               pakfire >= 0.9.26-3.1
+               perl(Test::More)
        end
 
        build
@@ -39,6 +40,12 @@ build
 
        make_install_targets = \
                pure_install DESTDIR=%{BUILDROOT}
+
+       install_cmds
+               # Set correct library permissions.
+               find %{BUILDROOT}%{libdir} -type f -iname "*.so" \
+                       -exec chmod 755 {} \;
+       end
 end
 
 packages
diff --git a/perl-libwww-perl/perl-libwww-perl.nm b/perl-libwww-perl/perl-libwww-perl.nm
deleted file mode 100644 (file)
index 4538da5..0000000
+++ /dev/null
@@ -1,64 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = perl-libwww-perl
-version    = 5.837
-release    = 2
-epoch      = 1
-arch       = noarch
-thisapp    = libwww-perl-%{version}
-
-groups     = Development/Libraries
-url        = http://search.cpan.org/dist/libwww-perl/
-license    = GPL+ or Artistic
-summary    = A Perl interface to the World-Wide Web.
-
-description
-       The libwww-perl collection is a set of Perl modules which provides a simple and
-       consistent application programming interface to the World-Wide Web.
-end
-
-source_dl  =
-
-build
-       requires
-               mailcap
-               perl-core
-               perl-devel
-               perl-HTML-Parser
-               perl(Test::More)
-               perl(Compress::Zlib)
-               perl(MIME::Base64)
-               perl(Net::FTP)
-               perl(URI)
-       end
-
-       build
-               perl Makefile.PL INSTALLDIRS=perl --aliases < /dev/null
-               make %{PARALLELISMFLAGS}
-       end
-
-       #test
-       #       # Use system wide MIME types (link also to blib/... for "make test").  Doing
-       #       # this stuff before "make install" would not cause the symlink to be packaged
-       #       # but a copy of /etc/mime.types.
-       #       ln -svf /etc/mime.types %{DIR_APP}/blib/lib/LWP/media.types
-       #
-       #       make test
-       #end
-end
-
-packages
-       package %{name}
-               # Filter string for very weird dependencies.
-               filter_requires
-                       HTTP::Headers
-                       HTTP::GHTTP
-                       Win32
-                       Authen::NTLM
-               end
-       end
-
-end
index 5b86af84e04e99464cf17a0f049df498719982e2..c982eb4d95ddee085ad2eb33e2fac5703ba36705 100644 (file)
@@ -1,7 +1,7 @@
 diff -up perl-5.14.0/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist.pm.usem perl-5.14.0/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist.pm
 --- perl-5.14.0/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist.pm.usem   2011-05-08 05:10:08.000000000 +0200
 +++ perl-5.14.0/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist.pm        2011-05-17 11:14:22.169115984 +0200
-@@ -88,6 +88,11 @@ libraries.  LD_RUN_PATH is a colon separ
+@@ -89,6 +89,11 @@ libraries.  LD_RUN_PATH is a colon separ
  in LDLOADLIBS. It is passed as an environment variable to the process
  that links the shared library.
  
@@ -16,16 +16,16 @@ diff -up perl-5.14.0/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist.pm.usem perl-5
 diff -up perl-5.14.0/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker.pm.usem perl-5.14.0/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker.pm
 --- perl-5.14.0/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker.pm.usem 2011-05-08 05:10:08.000000000 +0200
 +++ perl-5.14.0/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker.pm      2011-05-17 13:39:26.912586030 +0200
-@@ -278,7 +278,7 @@ sub full_setup {
-     PERL_SRC PERM_DIR PERM_RW PERM_RWX MAGICXS
-     PL_FILES PM PM_FILTER PMLIBDIRS PMLIBPARENTDIRS POLLUTE PPM_INSTALL_EXEC PPM_UNINSTALL_EXEC
-     PPM_INSTALL_SCRIPT PPM_UNINSTALL_SCRIPT PREREQ_FATAL PREREQ_PM PREREQ_PRINT PRINT_PREREQ
--    SIGN SKIP TEST_REQUIRES TYPEMAPS UNINST VERSION VERSION_FROM XS XSOPT XSPROTOARG
-+    SIGN SKIP TEST_REQUIRES TYPEMAPS UNINST USE_MM_LD_RUN_PATH VERSION VERSION_FROM XS XSOPT XSPROTOARG
-     XS_VERSION clean depend dist dynamic_lib linkext macro realclean
-     tool_autosplit
+@@ -317,7 +317,7 @@ sub full_setup {
+     PERM_DIR PERM_RW PERM_RWX MAGICXS
+     PL_FILES PM PM_FILTER PMLIBDIRS PMLIBPARENTDIRS POLLUTE
+     PREREQ_FATAL PREREQ_PM PREREQ_PRINT PRINT_PREREQ PUREPERL_ONLY
+-    SIGN SKIP TEST_REQUIRES TYPEMAPS UNINST VERSION VERSION_FROM XS
++    SIGN SKIP TEST_REQUIRES TYPEMAPS UNINST USE_MM_LD_RUN_PATH VERSION VERSION_FROM XS
+     XSBUILD XSMULTI XSOPT XSPROTOARG XS_VERSION
+     clean depend dist dynamic_lib linkext macro realclean tool_autosplit
  
-@@ -422,7 +422,27 @@ sub new {
+@@ -501,7 +501,27 @@ sub new {
      # PRINT_PREREQ is RedHatism.
      if ("@ARGV" =~ /\bPRINT_PREREQ\b/) {
          $self->_PRINT_PREREQ;
@@ -53,8 +53,8 @@ diff -up perl-5.14.0/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker.pm.usem perl
 +    };
  
      print "MakeMaker (v$VERSION)\n" if $Verbose;
-     if (-f "MANIFEST" && ! -f "Makefile" && ! $ENV{PERL_CORE}){
-@@ -2352,6 +2372,40 @@ precedence.  A typemap in the current di
+     if (-f "MANIFEST" && ! -f "Makefile" && ! $UNDER_CORE){
+@@ -2821,6 +2841,40 @@ precedence.  A typemap in the current di
  precedence, even if it isn't listed in TYPEMAPS.  The default system
  typemap has lowest precedence.
  
@@ -98,12 +98,12 @@ diff -up perl-5.14.0/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker.pm.usem perl
 diff -up perl-5.14.0/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm.usem perl-5.14.0/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm
 --- perl-5.14.0/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm.usem   2011-05-08 05:10:08.000000000 +0200
 +++ perl-5.14.0/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm        2011-05-17 11:14:22.172115972 +0200
-@@ -944,7 +944,7 @@ $(INST_DYNAMIC): $(OBJECT) $(MYEXTLIB) $
+@@ -1045,7 +1045,7 @@ $(INST_DYNAMIC): $(OBJECT) $(MYEXTLIB) $
      }
  
      my $ld_run_path_shell = "";
 -    if ($self->{LD_RUN_PATH} ne "") {
 +    if (($self->{LD_RUN_PATH} ne "") && ($self->{USE_MM_LD_RUN_PATH})) {
-       $ld_run_path_shell = 'LD_RUN_PATH="$(LD_RUN_PATH)" ';
+         $ld_run_path_shell = 'LD_RUN_PATH="$(LD_RUN_PATH)" ';
      }
  
diff --git a/perl/patches/perl-disable_test_hosts.patch b/perl/patches/perl-disable_test_hosts.patch
deleted file mode 100644 (file)
index dc86a34..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -up perl-5.12.0/cpan/libnet/Net/Config.pm.disable perl-5.12.0/cpan/libnet/Net/Config.pm
---- perl-5.12.0/cpan/libnet/Net/Config.pm.disable      2010-01-18 19:52:49.000000000 +0100
-+++ perl-5.12.0/cpan/libnet/Net/Config.pm      2010-04-13 16:03:50.090770813 +0200
-@@ -29,7 +29,7 @@ eval { local $SIG{__DIE__}; require Net:
-   ftp_firewall    => undef,
-   ftp_ext_passive => 1,
-   ftp_int_passive => 1,
--  test_hosts      => 1,
-+  test_hosts      => 0,
-   test_exist      => 1,
- );
index 71537a217e9fe6ccecf1396b19944de2b4074f2d..b3070c9284c8f577538b3a1acc40e9a16a9a6c08 100644 (file)
@@ -4,12 +4,15 @@
 ###############################################################################
 
 name       = perl
-version    = 5.20.3
+ver_major  = 5
+ver_minor  = 36
+ver_plevel = 0
+version    = %{ver_major}.%{ver_minor}.%{ver_plevel}
+
 # Never reset release in this package, just increase.
-release    = 15
+release    = 5
 
-perl_epoch = 2
-thisver = %{perl_epoch}:%{version}-%{_release}
+thisver    = %{version}-%{_release}
 
 maintainer = Michael Tremer <michael.tremer@ipfire.org>
 groups     = Development/Languages
@@ -33,6 +36,7 @@ source_dl  = http://www.cpan.org/src/5.0/
 
 build
        requires
+               bzip2-devel
                gcc-c++
                gdbm-devel
                iana-etc
@@ -66,17 +70,17 @@ build
                -Dcf_by="%{DISTRO_VENDOR}" \
                -Dprefix=/usr \
                -Dvendorprefix=/usr \
-               -Dsiteprefix="/usr/local" \
-               -Dsitelib="/usr/local/share/perl5" \
-               -Dsitearch="/usr/local/lib/perl5" \
-               -Dprivlib="/usr/share/perl5" \
-               -Dvendorlib="/usr/share/perl5/vendor_perl" \
+               -Dsiteprefix="%{libdir}" \
+               -Dsitelib="%{libdir}/perl5/site_perl" \
+               -Dsitearch="%{libdir}/perl5/site_perl" \
+               -Dprivlib="%{datadir}/perl5" \
+               -Dvendorlib="%{datadir}/perl5/vendor_perl" \
                -Darchlib="%{libdir}/perl5" \
                -Dvendorarch="%{libdir}/perl5/vendor_perl" \
                -Darchname=%{arch}-linux-thread-multi \
-               -Dpager="/usr/bin/less -isr" \
-               -Dman1dir=/usr/share/man/man1 \
-               -Dman3dir=/usr/share/man/man3 \
+               -Dpager="%{bindir}/less -isr" \
+               -Dman1dir=%{mandir}/man1 \
+               -Dman3dir=%{mandir}/man3 \
                -Duseshrplib \
                -Dusethreads \
                -Duseithreads \
@@ -99,61 +103,69 @@ build
                -Ud_setprotoent_r_proto \
                -Ud_endservent_r_proto \
                -Ud_setservent_r_proto \
-               -Dscriptdir="/usr/bin"
+               -Dscriptdir="%{bindir}"
 
        if "%{DISTRO_ARCH}" == "x86_64"
                configure_options += \
-                       -Dlibpth="/usr/local/lib64 /lib64 %{prefix}/lib64"
+                       -Dlibpth="/lib64 %{prefix}/lib64"
        end
 
        build
+               # Do not use internal compressing libraries.
+               export BUILD_ZLIB=False
+               export BUILD_BZIP2=0
+
+               # Configure Compress::Zlib to use system zlib
                sed -i -e "s|BUILD_ZLIB\s*= True|BUILD_ZLIB = False|" \
                        -e "s|INCLUDE\s*= ./zlib-src|INCLUDE = /usr/include|" \
                        -e "s|LIB\s*= ./zlib-src|LIB = %{libdir}|" \
                        cpan/Compress-Raw-Zlib/config.in
 
+               # Ensure that we never accidentally bundle zlib or bzip2
+               rm -rf cpan/Compress-Raw-Zlib/zlib-src
+               rm -rf cpan/Compress-Raw-Bzip2/bzip2-src
+               sed -i '/\(bzip2\|zlib\)-src/d' MANIFEST
+
+               # Force the configure script to check if -fstack-protector-all is supported
+               # and set this afterwards. (Otherwise -fstack-protector-strong would be used)
+               sed -i "s/stack-protector-strong/stack-protector-all/g" Configure
+
                sh ./Configure %{configure_options}
 
                make %{PARALLELISMFLAGS}
        end
 
        test
-               make test || true
+               # Net::Ping test is known to fail.
+               #make test || true
        end
 
        install_cmds
                # Remove precreated directories
                rm -rfv %{BUILDROOT}/usr/local
-       end
-end
 
-quality-agent
-       whitelist_rpath
-               /%{lib}
-               %{libdir}
-               %{libdir}/perl5/CORE
+               # Fix filer permissions of the so files.
+               find %{BUILDROOT}%{libdir} -type f -iname "*.so" -exec chmod 755 {} \;
        end
 end
 
 # This variable contains the constant version string
 # of this perl package.
-perl_requires := %{name} = %{thisver}
+perl_version = %{ver_major}.%{ver_minor}.%{ver_plevel}
 
 packages
-       package perl
-               # Increase epoch because of automatic dependencies.
-               epoch = 2
+       filter_requires = (VMS::|Mac::|unicore::Name)
 
+       package perl
                requires
                        perl-libs = %{version}-%{_release}
                end
 
                provides
+                       perl(:VERSION) = %{thisver}
+
                        # Compat provides
-                       perl(:MODULE_COMPAT_5.20.3)
-                       perl(:MODULE_COMPAT_5.20.2)
-                       perl(:MODULE_COMPAT_5.20.1)
-                       perl(:MODULE_COMPAT_5.20.0)
+                       perl(:MODULE_COMPAT_5.36.0)
 
                        # Threading provides
                        perl(:WITH_ITHREADS)
@@ -165,6 +177,9 @@ packages
                        # PerlIO provides
                        perl(:WITH_PERLIO)
 
+                       # Perl features
+                       perl(strict)
+
                        # File provides
                        perl(abbrev.pl)
                        perl(assert.pl)
@@ -188,7 +203,7 @@ packages
                        perl(getopts.pl)
                        perl(hostname.pl)
                        perl(importenv.pl)
-                       perllook.pl)
+                       perl(look.pl)
                        perl(newgetopt.pl)
                        perl(open2.pl)
                        perl(open3.pl)
@@ -202,31 +217,6 @@ packages
                        perl(timelocal.pl)
                        perl(utf8_heavy.pl)
                        perl(validate.pl)
-                       perl(File::Basename)
-                       perl(strict)
-                       perl(vars)
-               end
-
-               filter_requires
-                       DBIx
-                       InternetConfig
-                       Mac::
-                       NDBM_File
-                       Tk
-                       unicore::Name
-                       VMS::
-               end
-
-               obsoletes
-                       perl-Archive-Extract
-                       perl-Class-ISA
-                       perl-CPANPLUS
-                       perl-Log-Message
-                       perl-Log-Message-Simple
-                       perl-Module-Plugable
-                       perl-Object-Accessor
-                       perl-Term-UI
-                       perl-Version-Requirements
                end
        end
 
@@ -238,6 +228,7 @@ packages
                end
 
                files
+                       %{libdir}/libperl.*
                        %{libdir}/perl5/CORE/libperl.so
                end
        end
@@ -245,104 +236,61 @@ packages
        package perl-devel
                template DEVEL
 
-               files
-                       /usr/bin/enc2xs
-                       /usr/share/man/man1/enc2xs*
-                       /usr/share/perl5/Encode/
-                       /usr/bin/h2xs
-                       /usr/share/man/man1/h2xs*
-                       /usr/bin/libnetcfg
-                       /usr/share/man/man1/libnetcfg*
-                       /usr/bin/perlivp
-                       /usr/share/man/man1/perlivp*
-                       %{libdir}/perl5/CORE/*.h
-                       /usr/bin/xsubpp
-                       /usr/share/man/man1/xsubpp*
-                       /usr/share/man/man1/perlxs*
-               end
-       end
-
-       #package perl-tests
-       #       summary = Testsuite to check your Perl installation.
-       #       description-perl-tests
-       #               This package contains the test suite included with perl %{thisver}.
-       #               Install this if you want to test your Perl installation (binary and core
-       #               modules).
-       #       end
-       #
-       #       files
-       #               %{libdir}/perl5-tests
-       #       end
-       #end
-
-       package perl-App-a2p
-               epoch = 0
-               version = 1.000
-
-               summary = Awk to Perl translator.
-               description
-                       This package delivers a2p tool which takes an awk script specified on the
-                       command line and produces a comparable Perl script.
-               end
-
-               requires
-                       %{perl_requires}
-               end
-
-               files
-                       %{bindir}/a2p
-                       %{datadir}/perl5/pod/a2p.pod
-                       %{mandir}/man1/a2p.1*
-               end
-       end
-
-       package perl-App-find2perl
-               epoch = 0
-               version = 0.001
-               arch = noarch
-
-               summary = Translate find command lines to Perl code.
-               description
-                       This package delivers find2perl tool which is a little translator to convert
-                       find command lines to equivalent Perl code.
-               end
-
                requires
-                       %{perl_requires}
+                       perl = %{perl_version}
+                       perl(Test)
                end
 
                files
-                       %{bindir}/find2perl
-                       %{mandir}/man1/find2perl.1*
+                       %{bindir}/enc2xs
+                       %{mandir}/man1/enc2xs*
+                       %{datadir}/perl5/Encode/
+                       %{datadir}/perl5/ExtUtils
+                       %{bindir}/h2xs
+                       %{mandir}/man1/h2xs*
+                       %{bindir}/libnetcfg
+                       %{mandir}/man1/libnetcfg*
+                       %{bindir}/perlivp
+                       %{mandir}/man1/perlivp*
+                       %{libdir}/perl5/CORE/*.h
+                       %{bindir}/xsubpp
+                       %{mandir}/man1/xsubpp*
+                       %{mandir}/man1/perlxs*
                end
        end
 
-       package perl-App-s2p
-               epoch = 0
-               version = 1.000
+       package perl-utils
+               version = %{perl_version}
                arch = noarch
 
-               summary = Convert sed scripts to Perl programm.
+               summary = Utilities packaged with the Perl distribution.
                description
-                       This package delivers the s2p tool, which converts sed scripts to
-                       Perl programms.
+                       Several utilities which come with Perl distribution like h2ph, perlbug,
+                       perlthanks, and pl2pm. Some utilities are provided by more specific
+                       packages like perldoc by perl-Pod-Perldoc and splain by perl-diagnostics.
                end
 
                requires
-                       %{perl_requires}
+                       perl = %{perl_version}
+                       perl-libs = %{thisver}
                end
 
                files
-                       %{bindir}/psed
-                       %{bindir}/s2p
-                       %{mandir}/man1/psed.1*
-                       %{mandir}/man1/s2p.1*
+                       %{bindir}/h2ph
+                       %{bindir}/perlbug
+                       %{bindir}/perlthanks
+                       %{bindir}/pl2pm
+                       %{datadir}/perl5/pod/perlutil.pod
+                       %{mandir}/man1/h2ph.*
+                       %{mandir}/man1/perlbug.*
+                       %{mandir}/man1/perlthanks.*
+                       %{mandir}/man1/perlutil.*
+                       %{mandir}/man1/pl2pm.*
                end
        end
 
        package perl-Archive-Tar
-               epoch = 0
-               version = 1.96
+               version = 2.40
                arch = noarch
 
                summary = A module for Perl manipulation of .tar files.
@@ -355,7 +303,7 @@ packages
                end
 
                requires
-                       %{perl_requires}
+                       perl = %{perl_version}
                        perl(IO::Zlib) >= 1.01
                        perl(IO::Compress::Bzip2) >= 2.015
                        perl(IO::Uncompress::Bunzip2) >= 2.015
@@ -374,9 +322,31 @@ packages
                end
        end
 
+       package perl-Attribute-Handlers
+               version = 1.02
+               arch = noarch
+
+               summary = Simpler definition of attribute handlers.
+               description
+                       This Perl module, when inherited by a package, allows that package's class to
+                       define attribute handler subroutines for specific attributes. Variables and
+                       subroutines subsequently defined in that package, or in packages derived from
+                       that package may be given attributes with the same names as the attribute
+                       handler subroutines, which will then be called in one of the compilation
+                       phases (i.e. in a "BEGIN", "CHECK", "INIT", or "END" block).
+               end
+
+               requires += \
+                       perl = %{perl_version}
+
+               files
+                       %{datadir}/perl5/Attribute/
+                       %{mandir}/man3/Attribute::Handlers.*
+               end
+       end
+
        package perl-autodie
-               epoch = 0
-               version = 2.23
+               version = 2.34
                arch = noarch
 
                summary = Replace functions with ones that succeed or die.
@@ -390,7 +360,7 @@ packages
                end
 
                requires
-                       %{perl_requires}
+                       perl = %{perl_version}
                        perl(B)
                        perl(Fcntl)
                        perl(overload)
@@ -407,111 +377,267 @@ packages
                end
        end
 
-       package perl-B-Debug
-               epoch = 0
-               version = 1.19
+       package perl-AutoLoader
+               version = 5.74
                arch = noarch
 
-               summary = Walk Perl syntax tree, print debug information about op-codes.
+               summary = Load subroutines only on demand
                description
-                       Walk Perl syntax tree and print debug information about op-codes. See
-                       B::Concise and B::Terse for other details.
+                       The AutoLoader module works with the AutoSplit module and the "__END__" token
+                       to defer the loading of some subroutines until they are used rather than
+                       loading them all at once
                end
 
                requires
-                       %{perl_requires}
+                       perl = %{perl_version}
+                       perl(Carp)
                end
 
                files
-                       %{datadir}/perl5/B/Debug.pm
-                       %{mandir}/man3/B::Debug.3*
+                       %{datadir}/perl5/AutoLoader.pm
+                       %{mandir}/man3/AutoLoader.3*
                end
        end
 
-       package perl-Compress-Raw-Bzip2
-               epoch = 0
-               version = 2.064
+       package perl-AutoSplit
+               version = 5.74
+               arch = noarch
 
-               summary = Low-Level Interface to bzip2 compression library.
+               summary = Split a package for automatic loading
                description
-                       This module provides a Perl interface to the bzip2 compression library.
-                       It is used by IO::Compress::Bzip2.
+                       Split up your program into files that the AutoLoader module can handle. It is
+                       used by both the standard Perl libraries and by the ExtUtils::MakeMaker
+                       utility, to automatically configure libraries for automatic loading.
                end
 
                requires
-                       %{perl_requires}
-                       perl(Exporter)
-                       perl(File::Temp)
+                       perl = %{perl_version}
+                       perl(Carp)
                end
 
                files
-                       %{libdir}/perl5/Compress/Raw/Bzip2.pm
-                       %{libdir}/perl5/auto/Compress/Raw/Bzip2
-                       %{mandir}/man3/Compress::Raw::Bzip2*
+                       %{datadir}/perl5/AutoSplit.pm
+                       %{mandir}/AutoSplit.3*
                end
        end
 
-       package perl-Compress-Raw-Zlib
-               epoch = 0
-               version = 2.065
+       package perl-autouse
+               version = 1.11
+               arch = noarch
 
-               summary = Low-Level Interface to the zlib compression library.
+               summary = Postpone load of modules until a function is used
                description
-                       This module provides a Perl interface to the zlib compression library.
-                       It is used by IO::Compress::Zlib.
+                       If a module is not loaded yet, then the autouse declaration declares functions
+                       in the current package. When these functions are called, they load the package
+                       and substitute themselves with the correct definitions.
                end
 
                requires
-                       %{perl_requires}
+                       perl = %{perl_version}
+                       perl(Carp)
+                       perl(warnings)
                end
 
                files
-                       %{libdir}/perl5/Compress/Raw/Zlib.pm
-                       %{libdir}/perl5/auto/Compress/Raw/Zlib
-                       %{mandir}/man3/Compress::Raw::Zlib*
+                       %{datadir}/perl5/autouse.pm
+                       %{mandir}/man3/autouse.3*
                end
        end
 
-       package perl-CGI
-               epoch = 0
-               version = 3.63
+       package perl-B
+               version = 1.83
                arch = noarch
 
-               summary = Handle Common Gateway Interface requests and responses
+               summary = Perl compiler backend
                description
-                       CGI.pm is a stable, complete and mature solution for processing and preparing
-                       HTTP requests and responses. Major features including processing form
-                       submissions, file uploads, reading and writing cookies, query string generation
-                       and manipulation, and processing and preparing HTTP headers. Some HTML
-                       generation utilities are included as well.
+                       The "B" module supplies classes which allow a Perl program to delve into its
+                       own innards. It is the module used to implement the backends of the Perl
+                       compiler.
+               end
+
+               requires
+                       perl = %{perl_version}
+                       perl(Data::Dumper)
+                       perl(overloading)
+                       perl(XSLoader)
+               end
+
+               files
+                       %{libdir}/perl5/auto/B
+                       %{libdir}/perl5/B
+                       %{libdir}/perl5/B.pm
+                       %{libdir}/perl5/O.pm
+                       %{datadir}/perl5/B
+                       %{mandir}/man3/B.*
+                       %{mandir}/man3/B::*
+                       %{mandir}/man3/O.*
+               end
+       end
+
+       package perl-base
+               version = 2.27
+               arch = noarch
 
-                       CGI.pm performs very well in in a vanilla CGI.pm environment and also comes
-                       with built-in support for mod_perl and mod_perl2 as well as FastCGI.
+               summary = Establish an ISA relationship with base classes at compile time.
+               description
+                       "base" module allows you to both load one or more modules, while setting up
+                       inheritance from those modules at the same time.  Unless you are using the
+                       "fields" pragma, consider this module discouraged in favor of the
+                       lighter-weight "parent".
                end
 
                requires
-                       %{perl_requires}
+                       perl = %{perl_version}
+                       perl(Carp)
                end
 
-               provides
-                       perl(CGI)=%{version}
+               files
+                       %{datadir}/perl5/base.pm
+                       %{mandir}/man3/base.3*
+               end
+       end
+
+       package perl-Benchmark
+               version = 1.23
+               arch = noarch
+
+               summary = Benchmark running times of Perl code
+               description
+                       The Benchmark module encapsulates a number of routines to help you figure out
+                       how long it takes to execute some code.
+               end
+
+               requires
+                       perl = %{perl_version}
+               end
+
+               files
+                       %{datadir}/perl5/Benchmark.pm
+                       %{mandir}/man3/Benchmark.*
+               end
+       end
+
+       package perl-bignum
+               version = 0.65
+               arch = noarch
+
+               summary = Transparent big number support for Perl.
+               description
+                       This package attempts to make it easier to write scripts that use BigInts and
+                       BigFloats in a transparent way.
+               end
+
+               requires
+                       perl = %{perl_version}
+                       perl(Carp)
+                       perl(Math::BigRat)
+                       perl(warnings)
+               end
+
+               files
+                       %{datadir}/perl5/bigfloat.pm
+                       %{datadir}/perl5/bigint.pm
+                       %{datadir}/perl5/bignum.pm
+                       %{datadir}/perl5/bigrat.pm
+                       %{datadir}/perl5/Math/BigFloat
+                       %{datadir}/perl5/Math/BigInt
+                       %{datadir}/perl5/Math/BigInt/Trace.pm
+                       %{datadir}/perl5/Math/BigRat
+                       %{datadir}/perl5/Math/BigRat/Trace.pm
+                       %{mandir}/man3/bigfloat.*
+                       %{mandir}/man3/bigint.*
+                       %{mandir}/man3/bignum.*
+                       %{mandir}/man3/bigrat.*
+               end
+       end
+
+       package perl-blib
+               version = 1.07
+               arch = noarch
+
+               summary = Use uninstalled version of a package.
+               description
+                       This module looks for MakeMaker-like "blib" directory structure starting in
+                       given or current directory and working back up to five levels of directories.
+                       It is intended for use on command line with -M option as a way of testing
+                       arbitrary scripts against an uninstalled version of a package.
+               end
+
+               requires
+                       perl = %{perl_version}
+               end
+
+               files
+                       %{datadir}/perl5/blib.pm
+                       %{mandir}/man3/blib.*
+               end
+       end
+
+       package perl-Class-Struct
+               version = 0.66
+               arch = noarch
+
+               summary = Declare struct-like data types as Perl classes.
+               description
+                       Class::Struct module exports a single function struct(). Given a list of
+                       element names and types, and optionally a class name, struct() creates a
+                       Perl 5 class that implements a struct-like data structure.
+               end
+
+               requires
+                       perl = %{perl_version}
+               end
+
+               files
+                       %{datadir}/perl5/Class
+                       %{mandir}/man3/Class::Struct.*
+               end
+       end
+
+       package perl-Compress-Raw-Bzip2
+               version = 2.103
+
+               summary = Low-Level Interface to bzip2 compression library.
+               description
+                       This module provides a Perl interface to the bzip2 compression library.
+                       It is used by IO::Compress::Bzip2.
+               end
+
+               requires
+                       perl = %{perl_version}
+                       perl(Exporter)
+                       perl(File::Temp)
+               end
+
+               files
+                       %{libdir}/perl5/Compress/Raw/Bzip2.pm
+                       %{libdir}/perl5/auto/Compress/Raw/Bzip2
+                       %{mandir}/man3/Compress::Raw::Bzip2*
+               end
+       end
+
+       package perl-Compress-Raw-Zlib
+               version = 2.105
+
+               summary = Low-Level Interface to the zlib compression library.
+               description
+                       This module provides a Perl interface to the zlib compression library.
+                       It is used by IO::Compress::Zlib.
                end
 
-               filter_requires
-                       FCGI
+               requires
+                       perl = %{perl_version}
                end
 
                files
-                       /usr/share/perl5/CGI
-                       /usr/share/perl5/CGI.pm
-                       /usr/share/man/man3/CGI.3*
-                       /usr/share/man/man3/CGI::*.3*
+                       %{libdir}/perl5/Compress/Raw/Zlib.pm
+                       %{libdir}/perl5/auto/Compress/Raw/Zlib
+                       %{mandir}/man3/Compress::Raw::Zlib*
                end
        end
 
        package perl-CPAN
-               epoch = 0
-               version = 2.05
+               version = 2.33
                arch = noarch
 
                summary = Query, download and build perl modules from CPAN sites.
@@ -520,30 +646,30 @@ packages
                end
 
                requires
-                       %{perl_requires}
+                       make
+                       perl = %{perl_version}
                        perl(Digest::SHA)
                end
 
                provides
                        cpan
-                       cpan=$(version-perl-CPAN)
-               end
-
-               filter_requires
-                       Mac::BuildTools
+                       cpan = %{version}
                end
 
                files
-                       /usr/bin/cpan
-                       /usr/share/perl5/CPAN*
-                       /usr/share/man/man1/cpan.1*
-                       /usr/share/man/man3/CPAN*
+                       %{bindir}/cpan
+                       %{datadir}/perl5/App/Cpan.pm
+                       %{datadir}/perl5/CPAN
+                       %{datadir}/perl5/CPAN.pm
+                       %{mandir}/man1/cpan.1*
+                       %{mandir}/man3/App::Cpan.*
+                       %{mandir}/man3/CPAN.*
+                       %{mandir}/man3/CPAN:*
                end
        end
 
        package perl-CPAN-Meta
-               epoch = 0
-               version = 2.140640
+               version = 2.150010
                arch = noarch
 
                summary = Distribution metadata for a CPAN dist.
@@ -556,25 +682,24 @@ packages
                end
 
                requires
-                       %{perl_requires}
+                       perl = %{perl_version}
                end
 
                files
-                       /usr/share/perl5/CPAN/Meta.pm
-                       /usr/share/perl5/CPAN/Meta
-                       /usr/share/perl5/CPAN/Meta/Converter.pm
-                       /usr/share/perl5/CPAN/Meta/Feature.pm
-                       /usr/share/perl5/CPAN/Meta/History.pm
-                       /usr/share/perl5/CPAN/Meta/Prereqs.pm
-                       /usr/share/perl5/CPAN/Meta/Spec.pm
-                       /usr/share/perl5/CPAN/Meta/Validator.pm
-                       /usr/share/man/man5/CPAN::Meta.*
+                       %{datadir}/perl5/CPAN/Meta.pm
+                       %{datadir}/perl5/CPAN/Meta
+                       %{datadir}/perl5/CPAN/Meta/Converter.pm
+                       %{datadir}/perl5/CPAN/Meta/Feature.pm
+                       %{datadir}/perl5/CPAN/Meta/History.pm
+                       %{datadir}/perl5/CPAN/Meta/Prereqs.pm
+                       %{datadir}/perl5/CPAN/Meta/Spec.pm
+                       %{datadir}/perl5/CPAN/Meta/Validator.pm
+                       %{mandir}/man5/CPAN::Meta.*
                end
        end
 
        package perl-CPAN-Meta-Requirements
-               epoch = 0
-               version = 2.122
+               version = 2.140
                arch = noarch
 
                summary = Set of version requirements for a CPAN dist.
@@ -586,7 +711,7 @@ packages
                end
 
                requires
-                       %{perl_requires}
+                       perl = %{perl_version}
                end
 
                files
@@ -596,8 +721,7 @@ packages
        end
 
        package perl-CPAN-Meta-YAML
-               epoch = 0
-               version = 0.012
+               version = 0.018
                arch = noarch
 
                summary = Read and write a subset of YAML for CPAN Meta files.
@@ -608,17 +732,16 @@ packages
                end
 
                requires
-                       %{perl_requires}
+                       perl = %{perl_version}
                end
 
                files
-                       /usr/share/perl5/CPAN/Meta/YAML.pm
-                       /usr/share/man/man5/CPAN::Meta::YAML*
+                       %{datadir}/perl5/CPAN/Meta/YAML.pm
+                       %{mandir}/man5/CPAN::Meta::YAML*
                end
        end
 
        package perl-Carp
-               epoch = 0
                version = 1.33.01
                arch = noarch
 
@@ -634,7 +757,7 @@ packages
                end
 
                requires
-                       %{perl_requires}
+                       perl = %{perl_version}
                end
 
                provides
@@ -642,18 +765,15 @@ packages
                        perl(Carp::Heavy) = %{version}
                end
 
-               # Do not export unversioned module
-               #filter_provides = ^perl\(Carp\)\s*$
-
                files
-                       /usr/share/perl5/Carp*
-                       /usr/share/man3/Carp*
+                       %{datadir}/perl5/Carp*
+                       %{datadir}/perl5/Carp
+                       %{mandir}3/Carp*
                end
        end
 
        package perl-constant
-               epoch = 0
-               version = 1.31
+               version = 1.33
                arch = noarch
 
                summary = Perl pragma to declare constants.
@@ -662,7 +782,7 @@ packages
                end
 
                requires
-                       %{perl_requires}
+                       perl = %{perl_version}
                end
 
                files
@@ -672,8 +792,7 @@ packages
        end
 
        package perl-Data-Dumper
-               epoch = 0
-               version = 2.151
+               version = 2.184
 
                summary = Stringify perl data structures, suitable for printing and eval.
                description
@@ -684,7 +803,7 @@ packages
                end
 
                requires
-                       %{perl_requires}
+                       perl = %{perl_version}
                        perl(Scalar::Util)
                        perl(XSLoader)
                end
@@ -697,8 +816,7 @@ packages
        end
 
        package perl-DB_File
-               epoch = 0
-               version = 1.831
+               version = 1.857
 
                summary = Perl5 access to Berkeley DB version 1.x.
                description
@@ -709,7 +827,7 @@ packages
                end
 
                requires
-                       %{perl_requires}
+                       perl = %{perl_version}
                        perl(Fcntl)
                        perl(XSLoader)
                end
@@ -721,9 +839,54 @@ packages
                end
        end
 
+       package perl-DBM_Filter
+               version = 0.06
+               arch = noarch
+
+               summary = Filter DBM keys and values
+               description
+                       This module provides an interface that allows filters to be applied to tied
+                       hashes associated with DBM files.
+               end
+
+               requires
+                       perl = %{perl_version}
+                       perl(Compress::Zlib)
+                       perl(Encode)
+               end
+
+               files
+                       %{datadir}/perl5/DBM_Filter
+                       %{datadir}/perl5/DBM_Filter.pm
+                       %{mandir}/man3/DBM_Filter.*
+                       %{mandir}/man3/DBM_Filter::*
+               end
+       end
+
+       package perl-Devel-Peek
+               version = 1.32
+
+               summary = A data debugging tool for the XS programmer
+               description
+                       Devel::Peek contains functions which allows raw Perl data types to be
+                       manipulated from a Perl script. This is used by those who do XS programming to
+                       check that the data they are sending from C to Perl looks as they think it
+                       should look.
+               end
+
+               requires
+                       perl = %{perl_version}
+               end
+
+               files
+                       %{libdir}/perl5/Devel/Peek.pm
+                       %{libidr}/perl5/auto/Devel/Peek
+                       %{mandir}/man3/Devel::Peek.*
+               end
+       end
+
        package perl-Devel-PPPort
-               epoch = 0
-               version = 3.21
+               version = 3.68
 
                summary = Perl Pollution Portability header generator.
                description
@@ -736,7 +899,7 @@ packages
                end
 
                requires
-                       %{perl_requires}
+                       perl = %{perl_version}
                end
 
                files
@@ -746,9 +909,30 @@ packages
                end
        end
 
+       package perl-Devel-SelfStubber
+               version = 1.06
+               arch = noarch
+
+               summary = Generate stubs for a SelfLoading module
+               description
+                       Devel::SelfStubber prints the stubs you need to put in the module before the
+                       __DATA__ token (or you can get it to print the entire module with stubs
+                       correctly placed). The stubs ensure that if a method is called, it will get
+                       loaded. They are needed specifically for inherited autoloaded methods.
+               end
+
+               requires
+                       perl = %{perl_version}
+               end
+
+               files
+                       %{datadir}/perl5/Devel/SelfStubber.pm
+                       %{mandir}/man3/Devel::SelfStubber.*
+               end
+       end
+
        package perl-Digest
-               epoch = 0
-               version = 1.17
+               version = 1.20
                arch = noarch
 
                summary = Modules that calculate message digests.
@@ -761,25 +945,24 @@ packages
                end
 
                requires
-                       %{perl_requires}
+                       perl = %{perl_version}
                        perl(MIME::Base64)
                end
 
                files
                        %{libdir}/perl5/Digest
                        !%{libdir}/perl5/Digest/*
-                       /usr/share/perl5/Digest.pm
-                       /usr/share/perl5/Digest/base.pm
-                       /usr/share/perl5/Digest/file.pm
-                       /usr/share/man/man3/Digest.3*
-                       /usr/share/man/man3/Digest::base.3*
-                       /usr/share/man/man3/Digest::file.3*
+                       %{datadir}/perl5/Digest.pm
+                       %{datadir}/perl5/Digest/base.pm
+                       %{datadir}/perl5/Digest/file.pm
+                       %{mandir}/man3/Digest.3*
+                       %{mandir}/man3/Digest::base.3*
+                       %{mandir}/man3/Digest::file.3*
                end
        end
 
        package perl-Digest-MD5
-               epoch = 0
-               version = 2.53
+               version = 2.58
 
                summary = Perl Interface to the MD5 Algorithm.
                description
@@ -790,20 +973,19 @@ packages
                end
 
                requires
-                       %{perl_requires}
+                       perl = %{perl_version}
                        perl(Digest::base)>=1.00
                end
 
                files
                        %{libdir}/perl5/Digest/MD5.pm
                        %{libdir}/perl5/auto/Digest/MD5
-                       /usr/share/man/man3/Digest::MD5.3*
+                       %{mandir}/man3/Digest::MD5.3*
                end
        end
 
        package perl-Digest-SHA
-               epoch = 0
-               version = 5.88
+               version = 6.02
 
                summary = Perl extension for SHA-1/224/256/384/512.
                description
@@ -814,24 +996,67 @@ packages
                end
 
                requires
-                       %{perl_requires}
+                       perl = %{perl_version}
                        perl(Digest::base)
                        perl(MIME::Base64)
                end
 
                files
-                       /usr/bin/shasum
+                       %{bindir}/shasum
                        %{libdir}/perl5/Digest/SHA*
-                       %{libdir}/perl5/auto/Digest/SHA*
-                       /usr/share/perl5/Digest/SHA*
-                       /usr/share/man/man1/shasum.1*
-                       /usr/share/man/man3/Digest::SHA.3*
+                       %{libdir}/perl5/auto/Digest/SHA
+                       %{datadir}/perl5/Digest/SHA*
+                       %{mandir}/man1/shasum.1*
+                       %{mandir}/man3/Digest::SHA.3*
+               end
+       end
+
+       package perl-Dumpvalue
+               version = 2.27
+               arch = noarch
+
+               summary = Sceen dump of Perl data
+               description
+                       Dumpvalue module enables you to print a content of variables and other Perl
+                       data structures.
+               end
+
+               requires
+                       perl = %{perl_version}
+               end
+
+               recommends
+                       perl(Devel::Peek)
+               end
+
+               files
+                       %{datadir}/perl5/Dumpvalue.pm
+                       %{mandir}/man3/Dumpvalue.3*
+               end
+       end
+
+       package perl-doc
+               version = %{perl_version}
+               arch = noarch
+
+               summary = Perl language documentation
+               description
+                       This package contains the documentation for the Perl language.
+                       It is provides in POD and manual page format.
+               end
+
+               requires
+                       perl = %{perl_version}
+               end
+
+               files
+                       %{datadir}/perl5/pod/*.pod
+                       %{mandir}/man1/perl*.*
                end
        end
 
        package perl-Encode
-               epoch = 0
-               version = 2.60
+               version = 3.17
 
                summary = Character encodings in Perl.
                description
@@ -840,13 +1065,15 @@ packages
                end
 
                requires
-                       %{perl_requires}
+                       perl = %{perl_version}
                end
 
                files
                        %{bindir}/piconv
+                       %{libdir}/perl5/Encode
                        %{libdir}/perl5/Encode*
                        %{libdir}/perl5/auto/Encode*
+                       %{libdir}/perl5/auto/Encode
                        %{datadir}/perl5/Encode
                        !%{datadir}/perl5/Encode/*.e2x
                        !%{datadir}/perl5/Encode/encode.h
@@ -855,41 +1082,110 @@ packages
                end
        end
 
-       package perl-Env
-               epoch = 0
-               version = 1.04
-               arch = noarch
+       package perl-encoding
+               version = 3.00
 
-               summary = Perl module that imports environment variables as scalars or arrays.
+               summary = Write your Perl script in non-ASCII or non-UTF-8.
                description
-                       Perl maintains environment variables in a special hash named %%ENV. For when
-                       this access method is inconvenient, the Perl module Env allows environment
-                       variables to be treated as scalar or array variables.
+                       With the encoding pragma, you can write your Perl script in any encoding you
+                       like (so long as the Encode module supports it) and still enjoy Unicode
+                       support.
+
+                       This module is deprecated under perl 5.18 and may be removed in a future version.
+
+                       The easiest and best alternative is to write your scripts in UTF-8.
                end
 
                requires
-                       %{perl_requires}
+                       perl = %{perl_version}
+                       perl(Carp)
+                       perl(Filter::Util::Call)
+                       perl(utf8)
                end
 
                files
-                       %{datadir}/perl5/Env.pm
-                       %{mandir}/man3/Env.3*
+                       %{libdir}/perl5/encoding.pm
+                       %{mandir}/man3/encoding.3*
                end
        end
 
-       package perl-experimental
-               epoch = 0
-               version = 0.007
+       package perl-encoding-warnings
+               version = 0.13
                arch = noarch
 
-               summary = Experimental features made easy.
+               summary = Warn on implicit encoding conversions.
+               descripton
+                       As of Perl 5.26.0, this module has no effect. The internal Perl feature that
+                       was used to implement this module has been removed.  Hence, if you load this
+                       module on Perl 5.26.0, you will get one warning that the module is no longer
+                       supported; and the module will do nothing thereafter.
+               end
+
+               requires
+                       perl = %{perl_version}
+                       perl(Carp)
+               end
+
+               files
+                       %{datadir}/perl5/encoding
+                       %{datadir}/perl5/encoding/warnings.pm
+                       %{mandir}/man3/encoding::warnings.3*
+               end
+       end
+
+       package perl-English
+               version = 1.11
+               arch = noarch
+
+               summary = Nice English or awk names for ugly punctuation variables.
+               description
+                       This module provides aliases for the built-in variables whose names no one
+                       seems to like to read.
+               end
+
+               requires
+                       perl = %{perl_version}
+               end
+
+               files
+                       %{datadir}/perl5/English.pm
+                       %{mandir}/man3/English.3*
+               end
+       end
+
+       package perl-Env
+               version = 1.05
+               arch = noarch
+
+               summary = Perl module that imports environment variables as scalars or arrays.
+               description
+                       Perl maintains environment variables in a special hash named %%ENV. For when
+                       this access method is inconvenient, the Perl module Env allows environment
+                       variables to be treated as scalar or array variables.
+               end
+
+               requires
+                       perl = %{perl_version}
+               end
+
+               files
+                       %{datadir}/perl5/Env.pm
+                       %{mandir}/man3/Env.3*
+               end
+       end
+
+       package perl-experimental
+               version = 0.028
+               arch = noarch
+
+               summary = Experimental features made easy.
                description
                        This pragma provides an easy and convenient way to enable or disable
                        experimental features.
                end
 
                requires
-                       %{perl_requires}
+                       perl = %{perl_version}
                end
 
                files
@@ -899,8 +1195,7 @@ packages
        end
 
        package perl-Exporter
-               epoch = 0
-               version = 5.71
+               version = 5.77
                arch = noarch
 
                summary = Implements default import method for modules.
@@ -913,19 +1208,19 @@ packages
                end
 
                requires
-                       %{perl_requires}
+                       perl = %{perl_version}
                        perl(Carp) >= 1.05
                end
 
                files
+                       %{datadir}/perl5/Exporter
                        %{datadir}/perl5/Exporter*
                        %{mandir}/man3/Exporter*
                end
        end
 
        package perl-ExtUtils-CBuilder
-               epoch = 0
-               version = 0.280217
+               version = 0.280236
                arch = noarch
 
                summary = Compile and link C code for Perl modules.
@@ -937,19 +1232,47 @@ packages
                end
 
                requires
-                       %{perl_requires}
+                       perl = %{perl_version}
+                       gcc
+                       gcc-c++
                        perl-devel
+                       perl(DynaLoader)
+                       perl(ExtUtils::Mksymlists)
+                       perl(File::Spec)
+                       perl(Perl::OSType)
+               end
+
+               files
+                       %{datadir}/perl5/ExtUtils/CBuilder
+                       %{mandir}/man3/ExtUtils::CBuilder*
+               end
+       end
+
+       package perl-ExtUtils-Constant
+               version = 0.25
+               arch = noarch
+
+               summary = Generate XS code to import C header constants
+               description
+                       ExtUtils::Constant facilitates generating C and XS wrapper code to allow
+                       Perl modules to AUTOLOAD constants defined in C library header files.
+               end
+
+               requires
+                       perl = %{perl_version}
+                       perl(Data::Dumper)
                end
 
                files
-                       /usr/share/perl5/ExtUtils/CBuilder*
-                       /usr/share/man/man3/ExtUtils::CBuilder*
+                       %{datadir}/perl5/ExtUtils/Constant
+                       %{datadir}/perl5/ExtUtils/Constant.pm
+                       %{mandir}/man3/ExtUtils::Constant::*
+                       %{mandir}/man3/ExtUtils::Constant.3*
                end
        end
 
        package perl-ExtUtils-Command
-               epoch = 0
-               version = 1.18
+               version = 7.64
                arch = noarch
 
                summary = Perl routines to replace common UNIX commands in Makefiles.
@@ -960,7 +1283,7 @@ packages
                end
 
                requires
-                       %{perl_requires}
+                       perl = %{perl_version}
                        perl(File::Find)
                end
 
@@ -971,8 +1294,7 @@ packages
        end
 
        package perl-ExtUtils-Embed
-               epoch = 0
-               version = 1.32
+               version = 1.35
                arch = noarch
 
                summary = Utilities for embedding Perl in C/C++ applications.
@@ -981,19 +1303,18 @@ packages
                end
 
                requires
-                       %{perl_requires}
+                       perl = %{perl_version}
                        perl-devel
                end
 
                files
-                       /usr/share/perl5/ExtUtils/Embed*
-                       /usr/share/man/man3/ExtUtils::Embed*
+                       %{datadir}/perl5/ExtUtils/Embed*
+                       %{mandir}/man3/ExtUtils::Embed*
                end
        end
 
        package perl-ExtUtils-Install
-               epoch = 0
-               version = 1.67
+               version = 2.20
                arch = noarch
 
                summary = Install files from here to there.
@@ -1003,13 +1324,12 @@ packages
                end
 
                requires
-                       %{perl_requires}
+                       perl = %{perl_version}
                        perl-devel
+                       perl(AutoSplit)
                        perl(Data::Dumper)
-               end
-
-               filter_requires
-                       VMS::Filespec
+                       perl(File::Compare)
+                       perl(POSIX)
                end
 
                files
@@ -1023,8 +1343,7 @@ packages
        end
 
        package perl-ExtUtils-MakeMaker
-               epoch = 0
-               version = 6.98
+               version = 7.64
                arch = noarch
 
                summary = Create a module Makefile.
@@ -1033,52 +1352,51 @@ packages
                end
 
                requires
-                       %{perl_requires}
-                       /usr/bin/xsubpp
+                       perl = %{perl_version}
                        perl-devel
                        perl(Data::Dumper)
+                       perl(DynaLoader)
                        perl(ExtUtils::Command)
                        perl(ExtUtils::Install)
                        perl(ExtUtils::Manifest)
                        perl(File::Find)
                        perl(Getopt::Long)
+                       perl(Pod::Man)
                        perl(Test::Harness)
-               end
-
-               filter_requires
-                       VMS::Filespec
+                       perl(version)
+                       perl-ExtUtils-ParseXS
                end
 
                files
-                       /usr/bin/instmodsh
-                       /usr/share/perl5/ExtUtils/Command/
-                       /usr/share/perl5/ExtUtils/Liblist/
-                       /usr/share/perl5/ExtUtils/Liblist.pm
-                       /usr/share/perl5/ExtUtils/MakeMaker/
-                       /usr/share/perl5/ExtUtils/MakeMaker.pm
-                       /usr/share/perl5/ExtUtils/MANIFEST.SKIP
-                       /usr/share/perl5/ExtUtils/MM*.pm
-                       /usr/share/perl5/ExtUtils/MY.pm
-                       /usr/share/perl5/ExtUtils/Manifest.pm
-                       /usr/share/perl5/ExtUtils/Mkbootstrap.pm
-                       /usr/share/perl5/ExtUtils/Packlist.pm
-                       /usr/share/perl5/ExtUtils/testlib.pm
-                       /usr/share/man/man1/instmodsh.1*
-                       /usr/share/man/man3/ExtUtils::Command::MM*
-                       /usr/share/man/man3/ExtUtils::Liblist.3*
-                       /usr/share/man/man3/ExtUtils::MM*
-                       /usr/share/man/man3/ExtUtils::MY.3*
-                       /usr/share/man/man3/ExtUtils::MakeMaker*
-                       /usr/share/man/man3/ExtUtils::Manifest.3*
-                       /usr/share/man/man3/ExtUtils::Mkbootstrap.3*
-                       /usr/share/man/man3/ExtUtils::Mksymlists.3*
-                       /usr/share/man/man3/ExtUtils::testlib.3*
+                       %{bindir}/instmodsh
+                       %{datadir}/perl5/ExtUtils/Command/
+                       %{datadir}/perl5/ExtUtils/Liblist/
+                       %{datadir}/perl5/ExtUtils/Liblist.pm
+                       %{datadir}/perl5/ExtUtils/MakeMaker/
+                       %{datadir}/perl5/ExtUtils/MakeMaker.pm
+                       %{datadir}/perl5/ExtUtils/MANIFEST.SKIP
+                       %{datadir}/perl5/ExtUtils/MM
+                       %{datadir}/perl5/ExtUtils/MM*.pm
+                       %{datadir}/perl5/ExtUtils/MY.pm
+                       %{datadir}/perl5/ExtUtils/Manifest.pm
+                       %{datadir}/perl5/ExtUtils/Mkbootstrap.pm
+                       %{datadir}/perl5/ExtUtils/Packlist.pm
+                       %{datadir}/perl5/ExtUtils/testlib.pm
+                       %{mandir}/man1/instmodsh.1*
+                       %{mandir}/man3/ExtUtils::Command::MM*
+                       %{mandir}/man3/ExtUtils::Liblist.3*
+                       %{mandir}/man3/ExtUtils::MM*
+                       %{mandir}/man3/ExtUtils::MY.3*
+                       %{mandir}/man3/ExtUtils::MakeMaker*
+                       %{mandir}/man3/ExtUtils::Manifest.3*
+                       %{mandir}/man3/ExtUtils::Mkbootstrap.3*
+                       %{mandir}/man3/ExtUtils::Mksymlists.3*
+                       %{mandir}/man3/ExtUtils::testlib.3*
                end
        end
 
        package perl-ExtUtils-Manifest
-               epoch = 0
-               version = 1.63
+               version = 1.73
                arch = noarch
 
                summary = Utilities to write and check a MANIFEST file.
@@ -1087,7 +1405,8 @@ packages
                end
 
                requires
-                       %{perl_requires}
+                       perl = %{perl_version}
+                       perl(File::Path)
                end
 
                files
@@ -1098,8 +1417,7 @@ packages
        end
 
        package perl-ExtUtils-Miniperl
-               epoch = 0
-               version = 1.01
+               version = 1.11
                arch = noarch
 
                summary = Write the C code for perlmain.c.
@@ -1114,7 +1432,7 @@ packages
                end
 
                requires
-                       %{perl_requires}
+                       perl = %{perl_version}
                        perl-devel
                end
 
@@ -1124,9 +1442,30 @@ packages
                end
        end
 
+       package perl-ExtUtils-MM-Utils
+               version = 7.44
+               arch = noarch
+
+               summary = ExtUtils::MM methods without dependency on ExtUtils::MakeMaker
+               description
+                       This is a collection of ExtUtils::MM subroutines that are used by many
+                       other modules but that do not need full-featured ExtUtils::MakeMaker. The
+                       issue with ExtUtils::MakeMaker is it pulls in Perl header files and that
+                       is an overkill for small subroutines.
+               end
+
+               requires
+                       perl = %{perl_version}
+               end
+
+               files
+                       %{datadir}/perl5/ExtUtils/MM/Utils.pm
+                       %{mandir}/man3/ExtUtils::MM::Utils.*
+               end
+       end
+
        package perl-ExtUtils-ParseXS
-               epoch = 0
-               version = 3.24
+               version = 3.45
                arch = noarch
 
                summary = Module and a script for converting Perl XS code into C code.
@@ -1137,7 +1476,7 @@ packages
                end
 
                requires
-                       %{perl_requires}
+                       perl = %{perl_version}
                        perl-devel
                end
 
@@ -1168,1136 +1507,2577 @@ packages
                end
        end
 
-       package perl-File-Fetch
-               epoch = 1
-               version = 0.48
+       package perl-Fcntl
+               version = 1.15
                arch = noarch
 
-               summary = Generic file fetching mechanism.
+               summary = File operation options.
                description
-                       File::Fetch is a generic file fetching mechanism.
+                       Fcntl module provides file operation related options.
                end
 
                requires
-                       %{perl_requires}
-                       perl(IPC::Cmd)>=0.36
-                       perl(Module::Load::Conditional)>=0.04
-                       perl(Params::Check)>=0.07
+                       perl = %{perl_version}
                end
 
                files
-                       /usr/share/perl5/File/Fetch.pm
-                       /usr/share/man/man3/File::Fetch.3*
+                       %{libdir}/perl5/Fcntl.pm
+                       %{libdir}/perl5/auto/Fcntl
+                       %{mandir}/man3/Fcntl.3*
                end
        end
 
-       package perl-File-Path
-               epoch = 0
-               version = 2.09
+       package perl-fields
+               version = 2.27
                arch = noarch
 
-               summary = Create or remove directory trees.
+               summary = Compile-time class fields.
                description
-                       This module provides a convenient way to create directories of arbitrary
-                       depth and to delete an entire directory subtree from the file system.
+                       The "fields" pragma enables compile-time and run-time verified class fields.
                end
 
                requires
-                       %{perl_requires}
+                       perl = %{perl_version}
+                       perl(base)
                        perl(Carp)
+                       perl(Hash::Util)
                end
 
                files
-                       %{datadir}/perl5/File/Path.pm
-                       %{mandir}/man3/File::Path.3*
+                       %{datadir}/perl5/fields.pm
+                       %{mandir}/man3/fields.3*
                end
        end
 
-       package perl-File-Temp
-               epoch = 0
-               version = 0.23.04
+       package perl-File-Basename
+               version = 2.85
                arch = noarch
 
-               summary = Return name and handle of a temporary file safely.
+               summary = Parse file paths into directory, file name, and suffix
                description
-                       File::Temp can be used to create and open temporary files in a safe way.
-                       There is both a function interface and an object-oriented interface. The
-                       File::Temp constructor or the tempfile() function can be used to return the
-                       name and the open file handle of a temporary file. The tempdir() function
-                       can be used to create a temporary directory.
+                       These routines allow you to parse file paths into their directory, file name,
+                       and suffix.
                end
 
                requires
-                       %{perl_requires}
-                       perl(File::Path) >= 2.06
-                       perl(POSIX)
-               end
-
-               filter_requires
-                       VMS::Stdio
+                       perl = %{perl_version}
+                       perl(Carp)
+                       perl(re)
                end
 
                files
-                       %{datadir}/perl5/File/Temp.pm
-                       %{mandir}/man3/File::Temp.3*
+                       %{datadir}/perl5/File/Basename.pm
+                       %{mandir}/man3/File::Basename.3*
                end
        end
 
-       package perl-Filter
-               epoch = 0
-               version = 1.49
+       package perl-File-Compare
+               version = 1.100.700
+               arch = noarch
 
-               summary = Perl source filters.
+               summary = Compare files or file handles
                description
-                       Source filters alter the program text of a module before Perl sees it, much as
-                       a C preprocessor alters the source text of a C program before the compiler
-                       sees it.
+                       A File::Compare Perl module provides functions for comparing a content of two
+                       files specified by a file name or a file handle.
                end
 
                requires
-                       %{perl_requires}
+                       perl = %{perl_version}
+                       perl(Carp)
                end
 
                files
-                       %{libdir}/perl5/auto/Filter/Util
-                       %{libdir}/perl5/Filter/Util
-                       %{datadir}/perl5/pod/perlfilter.pod
-                       %{mandir}/man1/perlfilter.*
-                       %{mandir}/man3/Filter::Util::*
+                       %{datadir}/perl5/File/Compare.pm
+                       %{mandir}/man3/File::Compare.3*
                end
        end
 
-       package perl-Filter-Simple
-               epoch = 0
-               version = 0.91
+       package perl-File-Copy
+               version = 2.39
                arch = noarch
 
-               summary = Simplified Perl source filtering.
+               summary = Copy files or file handles
                description
-                       The Filter::Simple Perl module provides a simplified interface to
-                       Filter::Util::Call; one that is sufficient for most common cases.
+                       A File::Copy module provides two basic functions, copy and move, which are
+                       useful for getting the contents of a file from one place to another.
                end
 
                requires
-                       %{perl_requires}
-                       perl(Text::Balanced) >= 1.97
+                       perl = %{perl_version}
+                       perl(Carp)
+                       perl(File::Basename)
                end
 
                files
-                       %{datadir}/perl5/Filter/Simple.pm
-                       %{mandir}/man3/Filter::Simple.3*
+                       %{datadir}/perl5/File/Copy.pm
+                       %{mandir}/man3/File::Copy.3*
                end
        end
 
-       package perl-Getopt-Long
-               epoch = 0
-               version = 2.42
-               arch = noarch
+       package perl-File-DosGlob
+               version = 1.12
 
-               summary = Extended processing of command line options.
+               summary = DOS-like globbing
                description
-                       The Getopt::Long module implements an extended getopt function called
-                       GetOptions(). It parses the command line from @ARGV, recognizing and removing
-                       specified options and their possible values.
+                       This Perl module implements DOS-like globbing with a few enhancements. It
+                       is largely compatible with perlglob.exe in all but one respect--it understands
+                       wild cards in directory components.
                end
 
                requires
-                       %{perl_requires}
+                       perl = %{perl_version}
                        perl(Text::ParseWords)
-                       perl(Pod::Usage) >= 1.14
                end
 
                files
-                       %{datadir}/perl5/Getopt/Long.pm
-                       %{mandir}/man3/Getopt::Long.3*
+                       %{libdir}/perl5/File/DosGlob.pm
+                       %{libdir}/perl5/auto/File/DosGlob
+                       %{mandir}/man3/File::DosGlob.3*
                end
        end
 
-       package perl-HTTP-Tiny
-               epoch = 0
-               version = 0.043
+       package perl-File-Fetch
+               version = 1.04
                arch = noarch
 
-               summary = A small, simple, correct HTTP/1.1 client.
+               summary = Generic file fetching mechanism.
                description
-                       This is a very simple HTTP/1.1 client, designed primarily for doing simple GET
-                       requests without the overhead of a large framework like LWP::UserAgent.
-                       It is more correct and more complete than HTTP::Lite. It supports proxies
-                       (currently only non-authenticating ones) and redirection. It also correctly
-                       resumes after EINTR.
+                       File::Fetch is a generic file fetching mechanism.
                end
 
                requires
-                       %{perl_requires}
-                       perl(Carp)
-                       perl(IO::Socket)
+                       perl = %{perl_version}
+                       perl(IPC::Cmd)>=0.36
+                       perl(Module::Load::Conditional)>=0.04
+                       perl(Params::Check)>=0.07
                end
 
                files
-                       /usr/share/perl5/HTTP/Tiny.pm
-                       /usr/share/man/man5/HTTP::Tiny*
+                       %{datadir}/perl5/File/Fetch.pm
+                       %{mandir}/man3/File::Fetch.3*
                end
        end
 
-       package perl-IO-Compress
-               epoch = 0
-               version = 2.064
+       package perl-File-Find
+               version = 1.40
                arch = noarch
 
-               summary = IO::Compress wrapper for modules.
+               summary = Travers a directory tree
                description
-                       This module is the base class for all IO::Compress and IO::Uncompress
-                       modules. This module is not intended for direct use in application code.
-                       Its sole purpose is to to be sub-classed by IO::Compress modules.
+                       These are functions for searching through directory trees doing work on each
+                       file found similar to the Unix find command.
                end
 
                requires
-                       %{perl_requires}
-               end
-
-               provides
-                       perl(IO::Uncompress::Bunzip2)
+                       perl = %{perl_version}
+                       perl(Scalar::Util)
                end
 
                files
-                       /usr/share/perl5/Compress/Zlib.pm
-                       %{libdir}/perl5/auto/Compress/Zlib/
-                       /usr/share/man/man3/Compress::Zlib*
-                       /usr/share/perl5/File/GlobMapper.pm
-                       /usr/share/perl5/IO/Compress/Base/
-                       /usr/share/perl5/IO/Compress/Base.pm
-                       /usr/share/perl5/IO/Uncompress/AnyUncompress.pm
-                       /usr/share/perl5/IO/Uncompress/Base.pm
-                       /usr/share/man/man3/File::GlobMapper.*
-                       /usr/share/man/man3/IO::Compress::Base.*
-                       /usr/share/man/man3/IO::Uncompress::AnyUncompress.*
-                       /usr/share/man/man3/IO::Uncompress::Base.*
+                       %{datadir}/perl5/File/Find.pm
+                       %{mandir}/man3/File::Find.3*
                end
        end
 
-       package perl-IO-Socket-IP
-               epoch = 0
-               version = 0.29
+       package perl-File-Path
+               version = 2.18
                arch = noarch
 
-               summary = Drop-in replacement for IO::Socket::INET supporting both IPv4 and IPv6.
+               summary = Create or remove directory trees.
                description
-                       This module provides a protocol-independent way to use IPv4 and IPv6
-                       sockets, as a drop-in replacement for IO::Socket::INET. Most constructor
-                       arguments and methods are provided in a backward-compatible way.
+                       This module provides a convenient way to create directories of arbitrary
+                       depth and to delete an entire directory subtree from the file system.
                end
 
                requires
-                       %{perl_requires}
+                       perl = %{perl_version}
+                       perl(Carp)
                end
 
                files
-                       %{datadir}/perl5/IO/Socket/IP.pm
-                       %{mandir}/man3/IO::Socket::IP.*
+                       %{datadir}/perl5/File/Path.pm
+                       %{mandir}/man3/File::Path.3*
                end
        end
 
-       package perl-IO-Zlib
-               epoch = 0
-               version = 1.10
+       package perl-File-stat
+               version = 1.12
                arch = noarch
 
-               summary = Perl IO:: style interface to Compress::Zlib.
+               summary = By-Name interface to Perl build-in stat functions
                description
-                       This modules provides an IO:: style interface to the Compress::Zlib
-                       package. The main advantage is that you can use an IO::Zlib object in much
-                       the same way as an IO::File object so you can have common code that doesn't
-                       know which sort of file it is using.
+                       This module overrides the core stat() and lstat() functions, replacing them
+                       with versions that return File::stat objects. This object has methods that
+                       return the similarly named structure field name from the stat(2) function.
                end
 
                requires
-                       %{perl_requires}
-                       perl(Compress::Zlib)
+                       perl = %{perl_version}
+                       perl(Symbol)
                end
 
                files
-                       /usr/share/perl5/IO/Zlib.pm
-                       /usr/share/man/man3/IO::Zlib.*
+                       %{datadir}/perl5/File/stat.pm
+                       %{mandir}/man3/File::stat.3*
                end
        end
 
-       package perl-IPC-Cmd
-               epoch = 0
-               version = 0.92
+       package perl-File-Temp
+               version = 0.231.100
                arch = noarch
 
-               summary = Finding and running system commands made easy.
+               summary = Return name and handle of a temporary file safely.
                description
-                       IPC::Cmd allows you to run commands, interactively if desired, in a
-                       platform independent way, but have them still work.
+                       File::Temp can be used to create and open temporary files in a safe way.
+                       There is both a function interface and an object-oriented interface. The
+                       File::Temp constructor or the tempfile() function can be used to return the
+                       name and the open file handle of a temporary file. The tempdir() function
+                       can be used to create a temporary directory.
                end
 
                requires
-                       %{perl_requires}
-                       perl(ExtUtils::MakeMaker)
+                       perl = %{perl_version}
+                       perl(File::Path) >= 2.06
+                       perl(POSIX)
                end
 
                files
-                       /usr/share/perl5/IPC/Cmd.pm
-                       /usr/share/man/man3/IPC::Cmd.3*
+                       %{datadir}/perl5/File/Temp.pm
+                       %{mandir}/man3/File::Temp.3*
                end
        end
 
-       package perl-JSON-PP
-               epoch = 0
-               version = 2.27203
+       package perl-FileCache
+               version = 1.10
                arch = noarch
 
-               summary = JSON::XS compatible pure-Perl module.
+               summary = Keep more files open than the system permits.
                description
-                       JSON::XS is the fastest and most proper JSON module on CPAN. It is written by
-                       Marc Lehmann in C, so must be compiled and installed in the used environment.
-                       JSON::PP is a pure-Perl module and is compatible with JSON::XS.
+                       The "cacheout" function will make sure that there's a file handle open
+                       for reading or writing available as the path name you give it. It
+                       automatically closes and re-opens files if you exceed your system
+                       maximum number of file descriptors, or the suggested maximum.
                end
 
                requires
-                       %{perl_requires}
+                       perl = %{perl_version}
                end
 
                files
-                       /usr/bin/json_pp
-                       /usr/share/perl5/JSON/PP
-                       /usr/share/perl5/JSON/PP.pm
-                       /usr/share/man/man1/json_pp.1*
-                       /usr/share/man/man3/JSON::PP.3*
-                       /usr/share/man/man3/JSON::PP::Boolean.3pm*
+                       %{datadir}/perl5/FileCache.pm
+                       %{mandir}/man3/FileCache.3*
                end
        end
 
-       package perl-Locale-Codes
-               epoch = 0
-               version = 3.25
+       package perl-FileHandle
+               version = 2.03
                arch = noarch
 
-               summary = Distribution of modules to handle locale codes.
+               summary = Object methods for file handles.
                description
-                       Locale-Codes is a distribution containing a set of modules. The modules
-                       each deal with different types of codes which identify parts of the locale
-                       including languages, countries, currency, etc.
+                       This is an object-oriented interface for opening files and performing
+                       input/output operations on them.
                end
 
                requires
-                       %{perl_requires}
-               end
-
-               filter_requires
-                       Locale::Codes::Country_Retired
-                       Locale::Codes::LangFam_Retired
-                       Locale::Codes::Script_Retired
-                       Locale::Codes::LangExt_Codes
-                       Locale::Codes::LangFam_Codes
-                       Locale::Codes::Script_Codes
-                       Locale::Codes::Language_Codes
-                       Locale::Codes::LangExt_Retired
-                       Locale::Codes::Currency_Codes
-                       Locale::Codes::LangVar_Retired
-                       Locale::Codes::Language_Retired
-                       Locale::Codes::Country_Codes
-                       Locale::Codes::LangVar_Codes
-                       Locale::Codes::Currency_Retired
-               end
-
-               provides
-                       perl(Locale::Codes) = %{version}
+                       perl = %{perl_version}
+                       perl(Exporter)
+                       perl(Fcntl)
                end
 
                files
-                       %{datadir}/perl5/Locale/Codes
-                       %{datadir}/perl5/Locale/Codes.*
-                       %{datadir}/perl5/Locale/Country.*
-                       %{datadir}/perl5/Locale/Currency.*
-                       %{datadir}/perl5/Locale/Language.*
-                       %{datadir}/perl5/Locale/Script.*
-                       %{mandir}/man3/Locale::Codes::*
-                       %{mandir}/man3/Locale::Codes.*
-                       %{mandir}/man3/Locale::Country.*
-                       %{mandir}/man3/Locale::Currency.*
-                       %{mandir}/man3/Locale::Language.*
-                       %{mandir}/man3/Locale::Script.*
+                       %{datadir}/perl5/FileHandle.pm
+                       %{mandir}/man3/FileHandle.3*
                end
        end
 
-       package perl-Locale-Maketext
-               epoch = 0
-               version = 1.25
+       package perl-filetest
+               version = 1.03
                arch = noarch
 
-               summary = Framework for localization.
+               summary = Perl pragma to control the filetest permission operators.
                description
-                       It is a common feature of applications (whether run directly, or via the Web)
-                       for them to be "localized" -- i.e., for them to present an English interface
-                       to an English-speaker, a German interface to a German-speaker, and so on for
-                       all languages it's programmed with. Locale::Maketext is a framework for
-                       software localization; it provides you with the tools for organizing and
-                       accessing the bits of text and text-processing code that you need for
-                       producing localized applications.
+                       The default behavior of file test operators (e.g. "-r") is to use the simple
+                       mode bits as returned by the stat() family of system calls. However, many
+                       operating systems have additional features to define more complex access
+                       rights, for example ACLs (Access Control Lists). For such environments, "use
+                       filetest" may help the permission operators to return results more consistent
+                       with other tools.
                end
 
                requires
-                       %{perl_requires}
+                       perl = %{perl_version}
                end
 
                files
-                       %{datadir}/perl5//Locale/Maketext.*
-                       %{datadir}/perl5/Locale/Maketext/Cookbook.*
-                       %{datadir}/perl5/Locale/Maketext/Guts.*
-                       %{datadir}/perl5/Locale/Maketext/GutsLoader.*
-                       %{datadir}/perl5/Locale/Maketext/TPJ13.*
-                       %{mandir}/man3/Locale::Maketext.*
-                       %{mandir}/man3/Locale::Maketext::Cookbook.*
-                       %{mandir}/man3/Locale::Maketext::Guts.*
-                       %{mandir}/man3/Locale::Maketext::GutsLoader.*
-                       %{mandir}/man3/Locale::Maketext::TPJ13.*
+                       %{datadir}/perl5/filetest.pm
+                       %{mandir}/man3/filetest.3*
                end
        end
 
-       package perl-Locale-Maketext-Simple
-               epoch = 0
-               version = 0.21
-               arch = noarch
-               license = MIT
+       package perl-Filter
+               version = 1.60
 
-               summary = Simple interface to Locale::Maketext::Lexicon.
+               summary = Perl source filters.
                description
-                       This module is a simple wrapper around Locale::Maketext::Lexicon, designed
-                       to alleviate the need of creating Language Classes for module authors.
+                       Source filters alter the program text of a module before Perl sees it, much as
+                       a C preprocessor alters the source text of a C program before the compiler
+                       sees it.
                end
 
                requires
-                       %{perl_requires}
+                       perl = %{perl_version}
                end
 
                files
-                       %{datadir}/perl5/Locale/Maketext/Simple.pm
-                       %{mandir}/man3/Locale::Maketext::Simple.*
+                       %{libdir}/perl5/auto/Filter/Util
+                       %{libdir}/perl5/Filter/Util
+                       %{datadir}/perl5/pod/perlfilter.pod
+                       %{mandir}/man1/perlfilter.*
+                       %{mandir}/man3/Filter::Util::*
                end
        end
 
-       package perl-Module-Build
-               epoch = 0
-               version = 0.42.05
+       package perl-Filter-Simple
+               version = 0.96
                arch = noarch
 
-               summary = Perl module for building and installing Perl modules.
+               summary = Simplified Perl source filtering.
                description
-                       Module::Build is a system for building, testing, and installing Perl modules.
-                       It is meant to be an alternative to ExtUtils::MakeMaker.  Developers may alter
-                       the behavior of the module through subclassing in a much more straightforward
-                       way than with MakeMaker. It also does not require a make on your system - most
-                       of the Module::Build code is pure-perl and written in a very cross-platform
-                       way. In fact, you don't even need a shell, so even platforms like MacOS
-                       (traditional) can use it fairly easily. Its only prerequisites are modules that
-                       are included with perl 5.6.0, and it works fine on perl 5.005 if you can
-                       install a few additional modules.
+                       The Filter::Simple Perl module provides a simplified interface to
+                       Filter::Util::Call; one that is sufficient for most common cases.
+               end
+
+               requires
+                       perl = %{perl_version}
+                       perl(Text::Balanced) >= 1.97
+               end
+
+               files
+                       %{datadir}/perl5/Filter/Simple.pm
+                       %{mandir}/man3/Filter::Simple.3*
+               end
+       end
+
+       package perl-FindBin
+               version = 1.53
+               arch = noarch
+
+               summary = Locate a directory of an original Perl script
+               description
+                       Locates the full path to the script bin directory to allow the use of paths
+                       relative to the bin directory.
+               end
+
+               requires
+                       perl = %{perl_version}
+               end
+
+               files
+                       %{datadir}/perl5/FindBin.pm
+                       %{mandir}/man3/FindBin.*
+               end
+       end
+
+       package perl-GDBM_File
+               version = 1.23
+
+               summary = Perl5 access to the gdbm library.
+               description
+                       GDBM_File is a module which allows Perl programs to make use of the facilities
+                       provided by the GNU gdbm library.
+               end
+
+               requires
+                       perl = %{perl_version}
+               end
+
+               files
+                       %{libdir}/perl5/GDBM_File.pm
+                       %{libdir}/perl5/auto/GDBM_File
+                       %{mandir}/man3/GDBM_File.3*
+               end
+       end
+
+       package perl-Getopt-Long
+               version = 2.52
+               arch = noarch
+
+               summary = Extended processing of command line options.
+               description
+                       The Getopt::Long module implements an extended getopt function called
+                       GetOptions(). It parses the command line from @ARGV, recognizing and removing
+                       specified options and their possible values.
+               end
+
+               requires
+                       perl = %{perl_version}
+                       perl(Text::ParseWords)
+                       perl(Pod::Usage) >= 1.14
+               end
+
+               files
+                       %{datadir}/perl5/Getopt/Long.pm
+                       %{mandir}/man3/Getopt::Long.3*
+               end
+       end
+
+       package perl-Getopt-Std
+               version = 1.13
+               arch = noarch
+
+               summary = Process single-character switches with switch clustering
+               description
+                       The Getopt::Std module provides functions for processing single-character
+                       switches with switch clustering. Pass one argument which is a string
+                       containing all switches to be recognized.
+               end
+
+               requires
+                       perl = %{perl_version}
+               end
+
+               files
+                       %{datadir}/perl5/Getopt/Std.pm
+                       %{mandir}/man3/Getopt::Std.3*
+               end
+       end
+
+       package perl-Hash-Util
+               version = 0.28
+
+               summary = General-utility hash subroutines
+               description
+                       Hash::Util contains special functions for manipulating hashes that don't
+                       really warrant a keyword.
+               end
+
+               requires
+                       perl = %{perl_version}
+                       perl(Hash::Util::FieldHash)
+                       perl(XSLoader)
+               end
+
+               files
+                       %{libdir}/perl5/Hash/Util.pm
+                       %{libdir}/perl5/auto/Hash/Util
+                       %{libdir}/perl5/auto/Hash/Util/Util.so
+                       %{mandir}/man3/Hash::Util.3*
+               end
+       end
+
+       package perl-Hash-Util-FieldHash
+               version = 1.26
+
+               summary = Support for inside-out classes
+               description
+                       Hash::Util::FieldHash offers a number of functions in support of the
+                       inside-out technique of class construction.
+               end
+
+               requires
+                       perl = %{perl_version}
+                       perl(XSLoader)
+               end
+
+               files
+                       %{libdir}/perl5/auto/Hash/Util/FieldHash
+                       %{libdir}/perl5/Hash/Util/FieldHash.pm
+                       %{mandir}/man3/Hash::Util::FieldHash.3*
+               end
+       end
+
+       package perl-HTTP-Tiny
+               version = 0.080
+               arch = noarch
+
+               summary = A small, simple, correct HTTP/1.1 client.
+               description
+                       This is a very simple HTTP/1.1 client, designed primarily for doing simple GET
+                       requests without the overhead of a large framework like LWP::UserAgent.
+                       It is more correct and more complete than HTTP::Lite. It supports proxies
+                       (currently only non-authenticating ones) and redirection. It also correctly
+                       resumes after EINTR.
+               end
+
+               requires
+                       perl = %{perl_version}
+                       perl(Carp)
+                       perl(IO::Socket)
+                       perl(Time::Local)
+               end
+
+               files
+                       %{datadir}/perl5/HTTP/Tiny.pm
+                       %{mandir}/man5/HTTP::Tiny*
+               end
+       end
+
+       package perl-if
+               version = 0.61.000
+               arch = noarch
+
+               summary = Use a Perl module if a condition holds
+               description
+                       The "if" module is used to conditionally load another module.
+               end
+
+               requires
+                       perl = %{perl_version}
+               end
+
+               files
+                       %{datadir}/perl5/if.pm
+                       %{mandir}/man3/if.3*
+               end
+       end
+
+       package perl-IO
+               version = 1.50
+
+               summary = Perl input/output modules
+               description
+                       This is a collection of Perl input/output modules.
+               end
+
+               requires
+                       perl = %{perl_version}
+               end
+
+               files
+                       %{datadir}/perl5/IO
+                       %{datadir}/perl5/IO.pm
+                       %{datadir}/perl5/IO/Dir.pm
+                       %{datadir}/perl5/IO/File.pm
+                       %{datadir}/perl5/IO/Handle.pm
+                       %{datadir}/perl5/IO/Pipe.pm
+                       %{datadir}/perl5/IO/Poll.pm
+                       %{datadir}/perl5/IO/Seekable.pm
+                       %{datadir}/perl5/IO/Select.pm
+                       %{datadir}/perl5/IO/Socket
+                       %{datadir}/perl5/IO/Socket/INET.pm
+                       %{datadir}/perl5/IO/Socket/UNIX.pm
+                       %{datadir}/perl5/IO/Socket.pm
+                       %{datadir}/perl5/auto/IO
+                       %{datadir}/perl5/auto/IO/IO.so
+                       %{mandir}/man3/IO.*
+                       %{mandir}/man3/IO::Dir.*
+                       %{mandir}/man3/IO::File.*
+                       %{mandir}/man3/IO::Handle.*
+                       %{mandir}/man3/IO::Pipe.*
+                       %{mandir}/man3/IO::Poll.*
+                       %{mandir}/man3/IO::Seekable.*
+                       %{mandir}/man3/IO::Select.*
+                       %{mandir}/man3/IO::Socket::INET.*
+                       %{mandir}/man3/IO::Socket::UNIX.*
+                       %{mandir}/man3/IO::Socket.*
+               end
+       end
+
+       package perl-IO-Compress
+               version = 2.106
+               arch = noarch
+
+               summary = IO::Compress wrapper for modules.
+               description
+                       This module is the base class for all IO::Compress and IO::Uncompress
+                       modules. This module is not intended for direct use in application code.
+                       Its sole purpose is to to be sub-classed by IO::Compress modules.
+               end
+
+               requires
+                       perl = %{perl_version}
+               end
+
+               provides
+                       perl(IO::Uncompress::Bunzip2)
+               end
+
+               files
+                       %{datadir}/perl5/Compress/Zlib.pm
+                       %{libdir}/perl5/auto/Compress/Zlib/
+                       %{mandir}/man3/Compress::Zlib*
+                       %{datadir}/perl5/File/GlobMapper.pm
+                       %{datadir}/perl5/IO/Compress/Base/
+                       %{datadir}/perl5/IO/Compress/Base.pm
+                       %{datadir}/perl5/IO/Uncompress/AnyUncompress.pm
+                       %{datadir}/perl5/IO/Uncompress/Base.pm
+                       %{mandir}/man3/File::GlobMapper.*
+                       %{mandir}/man3/IO::Compress::Base.*
+                       %{mandir}/man3/IO::Uncompress::AnyUncompress.*
+                       %{mandir}/man3/IO::Uncompress::Base.*
+               end
+       end
+
+       package perl-IO-Socket-IP
+               version = 0.41
+               arch = noarch
+
+               summary = Drop-in replacement for IO::Socket::INET supporting both IPv4 and IPv6.
+               description
+                       This module provides a protocol-independent way to use IPv4 and IPv6
+                       sockets, as a drop-in replacement for IO::Socket::INET. Most constructor
+                       arguments and methods are provided in a backward-compatible way.
+               end
+
+               requires
+                       perl = %{perl_version}
+               end
+
+               files
+                       %{datadir}/perl5/IO/Socket/IP.pm
+                       %{mandir}/man3/IO::Socket::IP.*
+               end
+       end
+
+       package perl-IO-Zlib
+               version = 1.11
+               arch = noarch
+
+               summary = Perl IO:: style interface to Compress::Zlib.
+               description
+                       This modules provides an IO:: style interface to the Compress::Zlib
+                       package. The main advantage is that you can use an IO::Zlib object in much
+                       the same way as an IO::File object so you can have common code that doesn't
+                       know which sort of file it is using.
+               end
+
+               requires
+                       perl = %{perl_version}
+                       perl(Compress::Zlib)
+               end
+
+               files
+                       %{datadir}/perl5/IO/Zlib.pm
+                       %{mandir}/man3/IO::Zlib.*
+               end
+       end
+
+       package perl-IPC-Cmd
+               version = 1.04
+               arch = noarch
+
+               summary = Finding and running system commands made easy.
+               description
+                       IPC::Cmd allows you to run commands, interactively if desired, in a
+                       platform independent way, but have them still work.
+               end
+
+               requires
+                       perl = %{perl_version}
+                       perl(ExtUtils::MakeMaker)
+               end
+
+               files
+                       %{datadir}/perl5/IPC/Cmd.pm
+                       %{mandir}/man3/IPC::Cmd.3*
+               end
+       end
+
+       package perl-IPC-Open3
+               version = 1.22
+               arch = noarch
+
+               summary = Open a process for reading, writing, and error handling.
+               description
+                       These are functions that spawn a given command and connects the standard
+                       output of the command for reading, standard output for writing, and standard
+                       error output for handling the errors.
+               end
+
+               requires
+                       perl = %{perl_version}
+                       perl(Fcntl)
+                       perl(IO::Pipe)
+                       perl(POSIX)
+                       perl(warnings)
+               end
+
+               files
+                       %{datadir}/perl5/IPC/Open2.pm
+                       %{datadir}/perl5/IPC/Open3.pm
+                       %{mandir}/man3/IPC::Open2.3*
+                       %{mandir}/man3/IPC::Open3.3*
+               end
+       end
+
+       package perl-IPC-SysV
+               version = 2.08
+
+               summary = Object interface to System V IPC.
+               description
+                       This is an object interface for System V messages, semaphores, and
+                       inter-process calls.
+               end
+
+               requires
+                       perl = %{perl_version}
+                       perl(DynaLoader)
+               end
+
+               files
+                       %{libdir}/perl5/auto/IPC
+                       %{libdir}/perl5/IPC
+                       %{libdir}/perl5/IPC/Msg.pm
+                       %{libdir}/perl5/IPC/Semaphore.pm
+                       %{libdir}/perl5/IPC/SharedMem.pm
+                       %{libdir}/perl5/IPC/SysV.pm
+                       %{mandir}/man3/IPC::Msg.*
+                       %{mandir}/man3/IPC::Semaphore.*
+                       %{mandir}/man3/IPC::SharedMem.*
+                       %{mandir}/man3/IPC::SysV.*
+               end
+       end
+
+       package perl-I18N-Collate
+               version = 1.02
+               arch = noarch
+
+               summary = Compare 8-bit scalar data according to the current locale
+               description
+                       This module provides you with objects that will collate according to your
+                       national character set. This module is deprecated. See the perllocale manual
+                       page for further information.
+               end
+
+               requires
+                       perl = %{perl_version}
+               end
+
+               files
+                       %{datadir}/perl5/I18N/Collate.pm
+                       %{mandir}/man3/I18N::Collate.*
+               end
+       end
+
+       package perl-I18N-Langinfo
+               version = 0.21
+               arch = noarch
+
+               summary = Query locale information
+               description
+                       The langinfo() function queries various locale information that can be used to
+                       localize output and user interfaces. It uses the current underlying locale,
+                       regardless of whether or not it was called from within the scope of "use
+                       locale".
+               end
+
+               requires
+                       perl = %{perl_version}
+               end
+
+               files
+                       %{libdir}/perl5/auto/I18N
+                       %{libdir}/perl5/I18N
+                       %{mandir}/man3/I18N::Langinfo.*
+               end
+       end
+
+       package perl-I18N-LangTags
+               version = 0.45
+               arch = noarch
+
+               summary = Functions for dealing with RFC 3066 language tags.
+               description
+                       Language tags are a formalism, described in RFC 3066, for declaring what
+                       language form (language and possibly dialect) a given chunk of information is
+                       in. This library provides functions for common tasks involving language tags
+                       as they are needed in a variety of protocols and applications.
+               end
+
+               requires
+                       perl = %{perl_version}
+                       perl(integer)
+                       perl(warnings)
+               end
+
+               files
+                       %{datadir}/perl5/I18N/LangTags
+                       %{datadir}/perl5/I18N/LangTags.pm
+                       %{mandir}/man3/I18N::LangTags.*
+                       %{mandir}/man3/I18N::LangTags::*
+               end
+       end
+
+       package perl-JSON-PP
+               version = 4.07
+               arch = noarch
+
+               summary = JSON::XS compatible pure-Perl module.
+               description
+                       JSON::XS is the fastest and most proper JSON module on CPAN. It is written by
+                       Marc Lehmann in C, so must be compiled and installed in the used environment.
+                       JSON::PP is a pure-Perl module and is compatible with JSON::XS.
+               end
+
+               requires
+                       perl = %{perl_version}
+                       perl(Data::Dumper)
+                       perl(Encode)
+                       perl(Math::BigFloat)
+                       perl(Math::BigInt)
+                       perl(Scalar::Util)
+                       perl(subs)
+               end
+
+               files
+                       %{bindir}/json_pp
+                       %{datadir}/perl5/JSON/PP
+                       %{datadir}/perl5/JSON/PP.pm
+                       %{mandir}/man1/json_pp.1*
+                       %{mandir}/man3/JSON::PP.3*
+                       %{mandir}/man3/JSON::PP::Boolean.3pm*
+               end
+       end
+
+       package perl-libnet
+               version = 3.14
+               arch = noarch
+
+               summary = Perl clients for various network protocols
+               description
+                       This is a collection of Perl modules which provides a simple and
+                       consistent programming interface (API) to the client side of various
+                       protocols used in the internet community.
+               end
+
+               requires
+                       perl = %{perl_version}
+                       perl(File::Basename)
+                       perl(IO::Socket) >= 1.05
+                       perl(IO::Socket::IP) >= 0.20
+                       perl(POSIX)
+                       perl(Socket) >= 2.016
+                       perl(utf8)
+               end
+
+               files
+                       %{datadir}/perl5/Net/Cmd.pm
+                       %{datadir}/perl5/Net/Config.pm
+                       %{datadir}/perl5/Net/Domain.pm
+                       %{datadir}/perl5/Net/FTP
+                       %{datadir}/perl5/Net/FTP.pm
+                       %{datadir}/perl5/Net/libnetFAQ.pod
+                       %{datadir}/perl5/Net/NNTP.pm
+                       %{datadir}/perl5/Net/Netrc.pm
+                       %{datadir}/perl5/Net/POP3.pm
+                       %{datadir}/perl5/Net/SMTP.pm
+                       %{datadir}/perl5/Net/Time.pm
+                       %{mandir}/man3/Net::Cmd.*
+                       %{mandir}/man3/Net::Config.*
+                       %{mandir}/man3/Net::Domain.*
+                       %{mandir}/man3/Net::FTP.*
+                       %{mandir}/man3/Net::libnetFAQ.*
+                       %{mandir}/man3/Net::NNTP.*
+                       %{mandir}/man3/Net::Netrc.*
+                       %{mandir}/man3/Net::POP3.*
+                       %{mandir}/man3/Net::SMTP.*
+                       %{mandir}/man3/Net::Time.*
+               end
+       end
+
+       package perl-libnetcfg
+               version = %{perl_version}
+               arch = noarch
+
+               summary = Configure libnet
+               description
+                       The libnetcfg utility can be used to configure the libnet.
+               end
+
+               requires
+                       perl = %{perl_version}
+               end
+
+               files
+                       %{bindir}/libnetcfg
+                       %{mandir}/man1/libnetcfg*
+               end
+       end
+
+       package perl-locale
+               version = 1.10
+               arch = noarch
+
+               summary = Pragma to use or avoid POSIX locales for built-in operations.
+               description
+                       This pragma tells the compiler to enable (or disable) the use of POSIX locales
+                       for built-in operations (for example, LC_CTYPE for regular expressions,
+                       LC_COLLATE for string comparison, and LC_NUMERIC for number formatting). Each
+                       "use locale" or "no locale" affects statements to the end of the enclosing
+                       block.
+               end
+
+               requires
+                       perl = %{perl_version}
+                       perl(Carp)
+                       perl(POSIX)
+               end
+
+               files
+                       %{datadir}/perl5/locale.pm
+                       %{mandir}/man3/locale.*
+               end
+       end
+
+       package perl-Locale-Maketext
+               version = 1.31
+               arch = noarch
+
+               summary = Framework for localization.
+               description
+                       It is a common feature of applications (whether run directly, or via the Web)
+                       for them to be "localized" -- i.e., for them to present an English interface
+                       to an English-speaker, a German interface to a German-speaker, and so on for
+                       all languages it's programmed with. Locale::Maketext is a framework for
+                       software localization; it provides you with the tools for organizing and
+                       accessing the bits of text and text-processing code that you need for
+                       producing localized applications.
+               end
+
+               requires
+                       perl = %{perl_version}
+               end
+
+               files
+                       %{datadir}/perl5/Locale/Maketext.*
+                       %{datadir}/perl5/Locale/Maketext/Cookbook.*
+                       %{datadir}/perl5/Locale/Maketext/Guts.*
+                       %{datadir}/perl5/Locale/Maketext/GutsLoader.*
+                       %{datadir}/perl5/Locale/Maketext/TPJ13.*
+                       %{mandir}/man3/Locale::Maketext.*
+                       %{mandir}/man3/Locale::Maketext::Cookbook.*
+                       %{mandir}/man3/Locale::Maketext::Guts.*
+                       %{mandir}/man3/Locale::Maketext::GutsLoader.*
+                       %{mandir}/man3/Locale::Maketext::TPJ13.*
+               end
+       end
+
+       package perl-Locale-Maketext-Simple
+               version = 0.21
+               arch = noarch
+               license = MIT
+
+               summary = Simple interface to Locale::Maketext::Lexicon.
+               description
+                       This module is a simple wrapper around Locale::Maketext::Lexicon, designed
+                       to alleviate the need of creating Language Classes for module authors.
+               end
+
+               requires
+                       perl = %{perl_version}
+               end
+
+               files
+                       %{datadir}/perl5/Locale/Maketext/Simple.pm
+                       %{mandir}/man3/Locale::Maketext::Simple.*
+               end
+       end
+
+       package perl-Math-BigInt
+               version = 1.9998.30
+               arch = noarch
+
+               summary = Arbitrary-size integer and float mathematics.
+               description
+                       This provides Perl modules for arbitrary-size integer and float mathematics.
+               end
+
+               requires
+                       perl = %{perl_version}
+                       perl(Carp)
+               end
+
+               files
+                       %{datadir}/perl5/Math/BigFloat.pm
+                       %{datadir}/perl5/Math/BigInt.pm
+                       %{datadir}/perl5/Math/BigInt
+                       %{datadir}/perl5/Math/BigInt/Calc.pm
+                       %{datadir}/perl5/Math/BigInt/Lib.pm
+                       %{mandir}/man3/Math::BigFloat.*
+                       %{mandir}/man3/Math::BigInt.*
+                       %{mandir}/man3/Math::BigInt::Calc.*
+                       %{mandir}/man3/Math::BigInt::Lib.*
+               end
+       end
+
+       package perl-Math-BigInt-FastCalc
+               version = 0.501.200
+
+               summary = Math::BigInt::Calc XS implementation
+               description
+                       This package provides support for faster big integer calculations.
+               end
+
+               requires
+                       perl = %{perl_version}
+               end
+
+               files
+                       %{libdir}/perl5/Math
+                       %{libdir}/perl5/auto/Math
+                       %{mandir}/man3/Math::BigInt::FastCalc.*
+               end
+       end
+
+       package perl-Math-BigRat
+               version = 0.2621
+               arch = noarch
+
+               summary = Arbitrary big rational numbers
+               description
+                       Math::BigRat complements Math::BigInt and Math::BigFloat by providing support
+                       for arbitrary big rational numbers.
+               end
+
+               requires
+                       perl = %{perl_version}
+                       perl(Math::BigInt)
+               end
+
+               files
+                       %{datadir}/perl5/Math/BigRat.pm
+                       %{mandir}/man3/Math::BigRat.*
+               end
+       end
+
+       package perl-Math-Complex
+               version = 1.59
+               arch = noarch
+
+               summary = Complex numbers and trigonometric functions.
+               description
+                       This package lets you create and manipulate complex numbers. By default, Perl
+                       limits itself to real numbers, but an extra "use" statement brings full
+                       complex support, along with a full set of mathematical functions typically
+                       associated with and/or extended to complex numbers.
+               end
+
+               requires
+                       perl = %{perl_version}
+               end
+
+               files
+                       %{datadir}/perl5/Math/Complex.pm
+                       %{datadir}/perl5/Math/Trig.pm
+                       %{mandir}/man3/Math::Complex.*
+                       %{mandir}/man3/Math::Trig.*
+               end
+       end
+
+       package perl-Memoize
+               version = 1.03
+               arch = noarch
+
+               summary = Transparently speed up functions by caching return values.
+               description
+                       Memoizing a function makes it faster by trading space for time. It does
+                       this by caching the return values of the function in a table. If you call
+                       the function again with the same arguments, memoize jumps in and gives
+                       you the value out of the table, instead of letting the function compute
+                       the value all over again.
+               end
+
+               requires
+                       perl = %{perl_version}
+               end
+
+               files
+                       %{datadir}/perl5/Memoize
+                       %{datadir}/perl5/Memoize.pm
+                       %{mandir}/man3/Memoize::*
+                       %{mandir}/man3/Memoize.*
+               end
+       end
+
+       package perl-meta-notation
+               version = %{perl_version}
+               arch = noarch
+
+               summary = Change nonprintable characters below 0x100 into printables.
+               description
+                       Returns a copy of the input string with the nonprintable characters below
+                       0x100 changed into printables. Any ASCII printables or above 0xFF are
+                       unchanged.
+               end
+
+               requires
+                       perl = %{perl_version}
+               end
+
+               files
+                       %{datadir}/perl5/meta_notation.pm
+               end
+       end
+
+       package perl-MIME-Base64
+               version = 3.16
+
+               summary = Encoding and decoding of Base64 and quoted-printable strings.
+               description
+                       This package contains a Base64 encoder/decoder and a quoted-printable
+                       encoder/decoder. These encoding methods are specified in RFC 2045 - MIME
+                       (Multipurpose Internet Mail Extensions).
+               end
+
+               requires
+                       perl = %{perl_version}
+               end
+
+               files
+                       %{libdir}/perl5/auto/MIME
+                       %{libdir}/perl5/MIME
+                       %{mandir}/man3/MIME::*
+               end
+       end
+
+       package perl-Module-CoreList
+               version = 5.20220520
+               arch = noarch
+
+               summary = Perl core modules indexed by perl versions.
+               description
+                       Module::CoreList contains the hash of hashes %Module::CoreList::version, this
+                       is keyed on perl version as indicated in $].  The second level hash is module
+                       => version pairs.
+               end
+
+               requires
+                       perl = %{perl_version}
+               end
+
+               files
+                       %{datadir}/perl5/Module/CoreList
+                       %{datadir}/perl5/Module/CoreList.pm
+                       %{datadir}/perl5/Module/CoreList.pod
+                       %{mandir}/man3/Module::CoreList*
+               end
+       end
+
+       package perl-Module-CoreList-tools
+               version = 5.20220520
+               arch = noarch
+
+               summary = Tool for listing modules shipped with perl.
+               description
+                       This package provides a corelist(1) tool which can be used to query what
+                       modules were shipped with given perl version.
+               end
+
+               requires
+                       perl = %{perl_version}
+                       perl-Module-CoreList
+               end
+
+               files
+                       %{bindir}/corelist
+                       %{mandir}/man1/corelist*
+               end
+       end
+
+       package perl-Module-Load
+               version = 0.36
+               arch = noarch
+
+               summary = Runtime require of both modules and files.
+               description
+                       Module::Load eliminates the need to know whether you are trying to require
+                       either a file or a module.
+               end
+
+               requires
+                       perl = %{perl_version}
+               end
+
+               files
+                       %{datadir}/perl5/Module/Load.pm
+                       %{mandir}/man3/Module::Load.*
+               end
+       end
+
+       package perl-Module-Load-Conditional
+               version = 0.74
+               arch = noarch
+
+               summary = Looking up module information / loading at runtime.
+               description
+                       Module::Load::Conditional provides simple ways to query and possibly load
+                       any of the modules you have installed on your system during runtime.
+               end
+
+               requires
+                       perl = %{perl_version}
+               end
+
+               files
+                       %{datadir}/perl5/Module/Load/
+                       %{mandir}/man3/Module::Load::Conditional*
+               end
+       end
+
+       package perl-Module-Loaded
+               version = 0.08
+               arch = noarch
+
+               summary = Mark modules as loaded or unloaded.
+               description
+                       When testing applications, often you find yourself needing to provide
+                       functionality in your test environment that would usually be provided by
+                       external modules. Rather than munging the %INC by hand to mark these external
+                       modules as loaded, so they are not attempted to be loaded by perl, this module
+                       offers you a very simple way to mark modules as loaded and/or unloaded.
+               end
+
+               requires
+                       perl = %{perl_version}
+               end
+
+               files
+                       %{datadir}/perl5/Module/Loaded.pm
+                       %{mandir}/man3/Module::Loaded*
+               end
+       end
+
+       package perl-Module-Metadata
+               version = 1.000037
+               arch = noarch
+
+               summary = Gather package and POD information from perl module files.
+               description
+                       Gather package and POD information from perl module files.
+               end
+
+               requires
+                       perl = %{perl_version}
+               end
+
+               files
+                       %{datadir}/perl5/Module/Metadata.pm
+                       %{mandir}/man3/Module::Metadata.3pm*
+               end
+       end
+
+       package perl-mro
+               version = 1.26
+
+               summary = Method resolution order
+               description
+                       The "mro" name space provides several utilities for dealing with method
+                       resolution order and method caching in general.
+               end
+
+               requires
+                       perl = %{perl_version}
+               end
+
+               files
+                       %{libdir}/perl5/auto/mro
+                       %{libdir}/perl5/mro.pm
+                       %{mandir}/man3/mro.3*
+               end
+       end
+
+       package perl-NDBM_File
+               version = 1.15
+
+               summary = Tied access to ndbm files.
+               description
+                       NDBM_File establishes a connection between a Perl hash variable and a file in
+                       ndbm format. You can manipulate the data in the file just as if it were in
+                       a Perl hash, but when your program exits, the data will remain in the file, to
+                       be used the next time your program runs.
+               end
+
+               requires
+                       perl = %{perl_version}
+               end
+
+               files
+                       %{libdir}/perl5/NDBM_File.pm
+                       %{libdir}/perl5/auto/NDBM_File
+                       %{mandir}/man3/NDBM_File.3*
+               end
+       end
+
+       package perl-Net
+               version = 1.03
+               arch = noarch
+
+               summary = By-name interface to Perl built-in network resolver.
+               description
+                       This package provide object-oriented interface to Perl built-in gethost*(),
+                       getnet*(), getproto*(), and getserv*() functions.
+               end
+
+               requires
+                       perl = %{perl_version}
+                       perl(Socket)
+               end
+
+               files
+                       %{datadir}/perl5/Net/hostent.pm
+                       %{datadir}/perl5/Net/netent.pm
+                       %{datadir}/perl5/Net/protoent.pm
+                       %{datadir}/perl5/Net/servent.pm
+                       %{mandir}/man3/Net::hostent.3*
+                       %{mandir}/man3/Net::netent.3*
+                       %{mandir}/man3/Net::protoent.3*
+                       %{mandir}/man3/Net::servent.3*
+               end
+       end
+
+       package perl-Net-Ping
+               version = 2.74
+               arch = noarch
+
+               summary = Check a remote host for reachability.
+               description
+                       Net::Ping module contains methods to test the reachability of remote hosts on
+                       a network.
+               end
+
+               requires
+                       perl = %{perl_version}
+                       perl(IO::Socket::INET)
+               end
+
+               # Keep Net::Ping::External optional
+               suggests
+                       perl(Net::Ping::External)
+               end
+
+               files
+                       %{datadir}/perl5/Net/Ping.pm
+                       %{mandir}/man3/Net::Ping.*
+               end
+       end
+
+       package perl-NEXT
+               version = 0.69
+               arch = noarch
+
+               summary = Pseudo-class that allows method redispatch.
+               description
+                       The NEXT module adds a pseudo-class named "NEXT" to any program that uses it.
+                       If a method "m" calls "$self->NEXT::m()", the call to "m" is redispatched as
+                       if the calling method had not originally been found.
+               end
+
+               requires
+                       perl = %{perl_version}
+               end
+
+               files
+                       %{datadir}/perl5/NEXT.pm
+                       %{mandir}/man3/NEXT.*
+               end
+       end
+
+       package perl-ODBM_File
+               version = 1.17
+
+               summary = Tied access to odbm files
+               description
+                       ODBM_File establishes a connection between a Perl hash variable and a file in
+                       odbm format. You can manipulate the data in the file just as if it were in
+                       a Perl hash, but when your program exits, the data will remain in the file, to
+                       be used the next time your program runs.
+               end
+
+               requires
+                       perl = %{perl_version}
+               end
+
+               files
+                       %{libdir}/perl5/ODBM_File.pm
+                       %{libdir}/perl5/auto/ODBM_File
+                       %{mandir}/man3/ODBM_File.3*
+               end
+       end
+
+       package perl-Opcode
+               version = 1.57
+
+               summary = Disable named opcodes when compiling a perl code.
+               description
+                       The Opcode module allows you to define an operator mask to be in effect when
+                       perl next compiles any code. Attempting to compile code which contains
+                       a masked opcode will cause the compilation to fail with an error. The code
+                       will not be executed.
+               end
+
+               requires
+                       perl = %{perl_version}
+               end
+
+               files
+                       %{libdir}/perl5/auto/Opcode
+                       %{libdir}/perl5/Opcode.pm
+                       %{libdir}/perl5/ops.pm
+                       %{mandir}/man3/Opcode.3*
+                       %{mandir}/man3/ops.3*
+               end
+       end
+
+       package perl-open
+               version = 1.13
+               arch = noarch
+
+               summary = Perl pragma to set default PerlIO layers for input and output.
+               description
+                       The "open" pragma serves as one of the interfaces to declare default "layers"
+                       (also known as "disciplines") for all I/O.
+               end
+
+               requires
+                       perl = %{perl_version}
+                       perl(Carp)
+                       perl(Encode)
+                       perl(encoding)
+               end
+
+               files
+                       %{datadir}/perl5/open.pm
+                       %{mandir}/man3/open.3*
+               end
+       end
+
+       package perl-overload
+               version = 1.35
+               arch = noarch
+
+               summary = Overloading Perl operations.
+               description
+                       The "overload" pragma allows overloading of Perl operators for a class. To
+                       overload built-in functions, see "Overriding Built-in Functions" in perlsub
+                       POD instead.
+               end
+
+               requires
+                       perl = %{perl_version}
+                       perl(mro)
+                       perl(Scalar::Util)
+                       perl(overloading)
+               end
+
+               files
+                       %{datadir}/perl5/overload.pm
+                       %{mandir}/man3/overload.3*
+               end
+       end
+
+       package perl-overloading
+               version = 0.02
+               arch = noarch
+
+               summary = Perl pragma to lexically control overloading.
+               description
+                       Overloading pragma allows you to lexically disable or enable overloading.
+               end
+
+               requires
+                       perl = %{perl_version}
+                       perl(Carp)
+               end
+
+               files
+                       %{datadir}/perl5/overload/numbers.pm
+                       %{datadir}/perl5/overloading.pm
+                       %{mandir}/man3/overloading.3*
+               end
+       end
+
+       package perl-Params-Check
+               version = 0.38
+               arch = noarch
+
+               summary = Generic input parsing/checking mechanism.
+               description
+                       Params::Check is a generic input parsing/checking mechanism.
+               end
+
+               requires
+                       perl = %{perl_version}
+               end
+
+               provides
+                       perl(Params::Check)
+               end
+
+               files
+                       %{datadir}/perl5/Params/
+                       %{mandir}/man3/Params::Check*
+               end
+       end
+
+       package perl-Parse-CPAN-Meta
+               version = 1.4414
+               arch = noarch
+
+               summary = Parse META.yml and other similar CPAN metadata files.
+               description
+                       Parse::CPAN::Meta is a parser for META.yml files, based on the parser half of
+                       YAML::Tiny.
+               end
+
+               requires
+                       perl = %{perl_version}
+               end
+
+               files
+                       %{datadir}/perl5/Parse/CPAN/Meta.pm
+                       %{mandir}/man3/Parse::CPAN::Meta.3*
+               end
+       end
+
+       package perl-Path-Tools
+               version = 3.84
+               license = (GPL+ or Artistic) and BSD
+
+               summary = PathTools Perl module (Cwd, File::Spec).
+               description
+                       PathTools Perl module (Cwd, File::Spec).
+               end
+
+               requires
+                       perl = %{perl_version}
+                       perl(Carp)
+                       perl(Errno)
+                       perl(Scalar::Util)
+                       perl(XSLoader)
+               end
+
+               files
+                       %{libdir}/perl5/Cwd.pm
+                       %{libdir}/perl5/File/Spec
+                       %{libdir}/perl5/File/Spec*
+                       %{libdir}/perl5/auto/Cwd
+                       %{mandir}/man3/Cwd*
+                       %{mandir}/man3/File::Spec*
+               end
+       end
+
+       package perl-PerlIO-via-QuotedPrint
+               version = 0.09
+               arch = noarch
+
+               summary = PerlIO layer for quoted-printable strings.
+               description
+                       This module implements a PerlIO layer that works on files encoded in the
+                       quoted-printable format. It will decode from quoted-printable while
+                       reading from a handle, and it will encode as quoted-printable while
+                       writing to a handle.
+               end
+
+               requires
+                       perl = %{perl_version}
+               end
+
+               files
+                       %{datadir}/perl5/PerlIO/via/
+                       %{datadir}/perl5/PerlIO/via/QuotedPrint.pm
+                       %{mandir}/man3/PerlIO::via::QuotedPrint.*
+               end
+       end
+
+       package perl-Perl-OSType
+               version = 1.010
+               arch = noarch
+
+               summary = Map perl operating system names to generic types.
+               description
+                       Modules that provide OS-specific behaviors often need to know if the current
+                       operating system matches a more generic type of operating systems. For example,
+                       'linux' is a type of 'Unix' operating system and so is 'freebsd'.
+                       This module provides a mapping between an operating system name as given by $^O
+                       and a more generic type. The initial version is based on the OS type mappings
+                       provided in Module::Build and ExtUtils::CBuilder (thus, Microsoft operating
+                       systems are given the type 'Windows' rather than 'Win32').
+               end
+
+               requires
+                       perl = %{perl_version}
+               end
+
+               files
+                       %{datadir}/perl5/Perl/OSType.pm
+                       %{mandir}/man3/Perl::OSType.3pm*
+               end
+       end
+
+       package perl-ph
+               version = %{perl_version}
+
+               summary = Selected system header files converted to Perl headers.
+               description
+                       Contemporary Perl still refers to some Perl header (ph) files although it does
+                       not build them anymore. This is a prebuilt collection of the referred files.
+                       If you miss other ones, you can generate them with h2ph tool from perl-utils
+                       package.
+               end
+
+               provides
+                       perl(sys/ioctl.ph) = %{perl_version}
+                       perl(sys/syscall.ph) = %{perl_version}
+                       perl(syscall.ph) = %{perl_version}
+               end
+
+               requires
+                       perl = %{perl_version}
+                       perl-libs = %{perl_version}
+                       perl(warnings)
+               end
+
+               files
+                       %{libdir}/perl5/asm
+                       %{libdir}/perl5/asm-generic
+                       %{libdir}/perl5/bits
+                       %{libdir}/perl5/features*.ph
+                       %{libdir}/perl5/gnu
+                       %{libdir}/perl5/_h2ph_pre.ph
+                       %{libdir}/perl5/linux
+                       %{libdir}/perl5/stdc-predef.ph
+                       %{libdir}/perl5/sys
+                       %{libdir}/perl5/syscall.ph
+               end
+       end
+
+       package perl-Pod-Checker
+               version = 1.74
+               arch = noarch
+
+               summary = Check POD documents for syntax errors.
+               description
+                       Module and tools to verify POD documentation contents for compliance with the
+                       Plain Old Documentation format specifications.
+               end
+
+               requires
+                       perl = %{perl_version}
+               end
+
+               files
+                       %{bindir}/podchecker
+                       %{datadir}/perl5/Pod/Checker.pm
+                       %{mandir}/man1/podchecker.*
+                       %{mandir}/man3/Pod::Checker.*
+               end
+       end
+
+       package perl-Pod-Escapes
+               version = 1.07
+               arch = noarch
+
+               summary = Perl module for resolving POD escape sequences.
+               description
+                       This module provides things that are useful in decoding Pod E<...> sequences.
+                       Presumably, it should be used only by Pod parsers and/or formatters.
+               end
+
+               requires
+                       perl = %{perl_version}
+               end
+
+               files
+                       %{datadir}/perl5/Pod/Escapes.pm
+                       %{mandir}/man3/Pod::Escapes.*
+               end
+       end
+
+       package perl-Pod-Functions
+               version = 1.14
+               arch = noarch
+
+               summary = Group Perl functions as in perlfunc POD.
+               description
+                       This module enumerates the Perl functions that are documented in perlfunc POD.
+               end
+
+               requires
+                       perl = %{perl_version}
+                       perl-libs = %{perl_version}
+               end
+
+               files
+                       %{datadir}/perl5/Pod/Functions.pm
+               end
+       end
+
+       package perl-Pod-HTML
+               version = 1.33
+               arch = noarch
+
+               summary = Convert POD files to HTML.
+               description
+                       This package converts files from POD format (see perlpod) to HTML format. It
+                       can automatically generate indexes and cross-references, and it keeps a cache
+                       of things it knows how to cross-reference.
+               end
+
+               requires
+                       perl = %{perl_version}
+               end
+
+               files
+                       %{bindir}/pod2html
+                       %{datadir}/perl5/Pod/Html
+                       %{datadir}/perl5/Pod/Html.pm
+                       %{mandir}/man1/pod2html.1*
+                       %{mandir}/man3/Pod::Html*
+               end
+       end
+
+       package perl-Pod-Perldoc
+               version = 3.28.1
+               arch = noarch
+
+               summary = Look up Perl documentation in Pod format.
+               description
+                       perldoc looks up a piece of documentation in .pod format that is embedded
+                       in the perl installation tree or in a perl script, and displays it via
+                       "groff -man | $PAGER". This is primarily used for the documentation for
+                       the perl library modules.
+               end
+
+               requires
+                       perl = %{perl_version}
+               end
+
+               files
+                       %{bindir}/perldoc
+                       %{datadir}/perl5/pod/perldoc.pod
+                       %{datadir}/perl5/Pod/Perldoc
+                       %{datadir}/perl5/Pod/Perldoc.pm
+                       %{mandir}/man1/perldoc.1*
+                       %{mandir}/man3/Pod::Perldoc*
+               end
+       end
+
+       package perl-Pod-Simple
+               version = 3.43
+               arch = noarch
+
+               summary = Framework for parsing POD documentation.
+               description
+                       Pod::Simple is a Perl library for parsing text in the Pod (plain old
+                       documentation) markup language that is typically used for writing
+                       documentation for Perl and for Perl modules.
+               end
+
+               requires
+                       perl = %{perl_version}
+               end
+
+               files
+                       %{datadir}/perl5/Pod/Simple/
+                       %{datadir}/perl5/Pod/Simple.pm
+                       %{datadir}/perl5/Pod/Simple.pod
+                       %{mandir}/man3/Pod::Simple*
+               end
+       end
+
+       package perl-Pod-Usage
+               version = 2.01
+               arch = noarch
+
+               summary = Print a usage message from embedded pod documentation.
+               description
+                       pod2usage will print a usage message for the invoking script (using its
+                       embedded POD documentation) and then exit the script with the desired exit
+                       status. The usage message printed may have any one of three levels of
+                       "verboseness": If the verbose level is 0, then only a synopsis is printed.
+                       If the verbose level is 1, then the synopsis is printed along with a
+                       description (if present) of the command line options and arguments. If the
+                       verbose level is 2, then the entire manual page is printed.
                end
 
                requires
-                       %{perl_requires}
-                       perl(Archive::Tar)>=1.08
-                       perl(CPAN::Meta)>=2.110420
-                       perl(ExtUtils::CBuilder)>=0.15
-                       perl(ExtUtils::ParseXS)>=1.02
+                       perl = %{perl_version}
+                       perl(Pod::Text)
                end
 
                files
-                       %{bindir}/config_data
-                       %{datadir}/perl5/inc/
-                       %{datadir}/perl5/Module/Build*
-                       %{mandir}/man1/config_data.1*
-                       %{mandir}/man3/Module::Build*
-                       %{mandir}/man3/inc::latest.3*
+                       %{bindir}/pod2usage
+                       %{datadir}/perl5/Pod/Usage.pm
+                       %{mandir}/man1/pod2usage.*
+                       %{mandir}/man3/Pod::Usage.*
                end
        end
 
-       package perl-Module-CoreList
-               epoch = 0
-               version = 5.20150214
+       package perl-parent
+               version = 0.238
                arch = noarch
 
-               summary = Perl core modules indexed by perl versions.
+               summary = Establish an ISA relationship with base classes at compile time.
                description
-                       Module::CoreList contains the hash of hashes %Module::CoreList::version, this
-                       is keyed on perl version as indicated in $].  The second level hash is module
-                       => version pairs.
+                       parent allows you to both load one or more modules, while setting up
+                       inheritance from those modules at the same time.
                end
 
                requires
-                       %{perl_requires}
+                       perl = %{perl_version}
                end
 
                files
-                       %{datadir}/perl5/Module/CoreList
-                       %{datadir}/perl5/Module/CoreList.pm
-                       %{datadir}/perl5/Module/CoreList.pod
-                       %{mandir}/man3/Module::CoreList*
+                       %{datadir}/perl5/parent.pm
+                       %{mandir}/man3/parent.3*
                end
        end
 
-       package perl-Module-CoreList-tools
-               epoch = 0
-               version = 5.020001
+       package perl-podlators
+               version = 4.14
                arch = noarch
 
-               summary = Tool for listing modules shipped with perl.
+               summary = Format POD source into various output formats.
                description
-                       This package provides a corelist(1) tool which can be used to query what
-                       modules were shipped with given perl version.
+                       This package contains Pod::Man and Pod::Text modules which convert POD input
+                       to *roff source output, suitable for man pages, or plain text.  It also
+                       includes several sub-classes of Pod::Text for formatted output to terminals
+                       with various capabilities.
+               end
+
+               requires += \
+                       perl = %{perl_version} \
+                       perl(File::Spec) >= 0.8 \
+                       perl(Pod::Simple) >= 3.06
+
+               files
+                       %{bindir}/pod2man
+                       %{bindir}/pod2text
+                       %{datadir}/perl5/pod/perlpodstyle.pod
+                       %{datadir}/perl5/Pod/Man.pm
+                       %{datadir}/perl5/Pod/ParseLink.pm
+                       %{datadir}/perl5/Pod/Text
+                       %{datadir}/perl5/Pod/Text.pm
+                       %{mandir}/man1/pod2man.1*
+                       %{mandir}/man1/pod2text.1*
+                       %{mandir}/man1/perlpodstyle.1*
+                       %{mandir}/man3/Pod::Man*
+                       %{mandir}/man3/Pod::ParseLink*
+                       %{mandir}/man3/Pod::Text*
+               end
+       end
+
+       package perl-POSIX
+               version = 2.03
+
+               summary = Perl interface to IEEE Std 1003.1.
+               description
+                       The POSIX module permits you to access all (or nearly all) the standard POSIX
+                       1003.1 identifiers. Many of these identifiers have been given Perl interfaces.
                end
 
                requires
-                       %{perl_requires}
-                       perl-Module-CoreList
+                       perl = %{perl_version}
                end
 
                files
-                       %{bindir}/corelist
-                       %{mandir}/man1/corelist*
+                       %{libdir}/perl5/auto/POSIX
+                       %{libdir}/perl5/POSIX.*
+                       %{mandir}/man3/POSIX.*
                end
        end
 
-       package perl-Module-Load
-               epoch = 0
-               version = 0.32
+       package perl-Safe
+               version = 2.43
                arch = noarch
 
-               summary = Runtime require of both modules and files.
+               summary = Compile and execute code in restricted compartments.
                description
-                       Module::Load eliminates the need to know whether you are trying to require
-                       either a file or a module.
+                       The Safe extension module allows the creation of compartments in which Perl
+                       code can be evaluated. Please note that the restriction is not suitable for
+                       security purposes.
                end
 
                requires
-                       %{perl_requires}
+                       perl = %{perl_version}
                end
 
                files
-                       %{datadir}/perl5/Module/Load.pm
-                       %{mandir}/man3/Module::Load.*
+                       %{datadir}/perl5/Safe.pm
+                       %{mandir}/man3/Safe.*
                end
        end
 
-       package perl-Module-Load-Conditional
-               epoch = 0
-               version = 0.62
+       package perl-Scalar-List-Utils
+               version = 1.62
+
+               summary = A selection of general-utility scalar and list subroutines.
+               description
+                       Scalar::Util and List::Util contain a selection of subroutines that people have
+                       expressed would be nice to have in the perl core, but the usage would not
+                       really be high enough to warrant the use of a keyword, and the size so small
+                       such that being individual extensions would be wasteful.
+               end
+
+               requires
+                       perl = %{perl_version}
+               end
+
+               files
+                       %{libdir}/perl5/List
+                       %{libdir}/perl5/Scalar
+                       %{libdir}/perl5/Sub
+                       %{libdir}/perl5/auto/List
+                       %{mandir}/man3/List::Util*
+                       %{mandir}/man3/Scalar::Util*
+                       %{mandir}/man3/Sub::Util*
+               end
+       end
+
+       package perl-Search-Dict
+               version = 1.07
                arch = noarch
 
-               summary = Looking up module information / loading at runtime.
+               summary = Search for a key in a dictionary file.
                description
-                       Module::Load::Conditional provides simple ways to query and possibly load
-                       any of the modules you have installed on your system during runtime.
+                       This module sets file position in a file handle to be first line greater than
+                       or equal (string-wise) to a key.
                end
 
                requires
-                       %{perl_requires}
+                       perl = %{perl_version}
                end
 
                files
-                       %{datadir}/perl5/Module/Load/
-                       %{mandir}/man3/Module::Load::Conditional*
+                       %{datadir}/perl5/Search
+                       %{mandir}/man3/Search::*
                end
        end
 
-       package perl-Module-Loaded
-               epoch = 0
-               version = 0.08
+       package perl-SelectSaver
+               version = 1.02
                arch = noarch
 
-               summary = Mark modules as loaded or unloaded.
+               summary = Save and restore selected file handle.
                description
-                       When testing applications, often you find yourself needing to provide
-                       functionality in your test environment that would usually be provided by
-                       external modules. Rather than munging the %INC by hand to mark these external
-                       modules as loaded, so they are not attempted to be loaded by perl, this module
-                       offers you a very simple way to mark modules as loaded and/or unloaded.
+                       A "SelectSaver" object contains a reference to the file handle that was
+                       selected when it was created. When the object is destroyed, it re-selects the
+                       file handle that was selected when it was created.
                end
 
                requires
-                       %{perl_requires}
+                       perl = %{perl_version}
                end
 
                files
-                       %{datadir}/perl5/Module/Loaded.pm
-                       %{mandir}/man3/Module::Loaded*
+                       %{datadir}/perl5/SelectSaver.pm
+                       %{mandir}/man3/SelectSaver.*
                end
        end
 
-       package perl-Module-Metadata
-               epoch = 0
-               version = 1.000019
+       package perl-SelfLoader
+               version = 1.26
                arch = noarch
 
-               summary = Gather package and POD information from perl module files.
+               summary = Load functions only on demand.
                description
-                       Gather package and POD information from perl module files.
+                       This Perl module tells its users that functions in a package are to be
+                       autoloaded from after the "__DATA__" token. See also "Autoloading" in
+                       perlsub.
                end
 
                requires
-                       %{perl_requires}
+                       perl = %{perl_version}
+                       perl(Carp)
                end
 
                files
-                       /usr/share/perl5/Module/Metadata.pm
-                       /usr/share/man/man3/Module::Metadata.3pm*
+                       %{datadir}/perl5/SelfLoader.pm
+                       %{mandir}/man3/SelfLoader.*
                end
        end
 
-       package perl-Package-Constants
-               epoch = 0
-               version = 0.04
+       package perl-sigtrap
+               version = 1.10
                arch = noarch
 
-               summary = List all constants declared in a package.
+               summary = Perl pragma to enable simple signal handling.
                description
-                       Package::Constants lists all the constants defined in a certain package.  This
-                       can be useful for, among others, setting up an autogenerated @EXPORT/@EXPORT_OK
-                       for a Constants.pm file.
+                       The sigtrap pragma is a simple interface for installing signal handlers.
                end
 
                requires
-                       %{perl_requires}
+                       perl = %{perl_version}
+                       perl(Symbol)
                end
 
                files
-                       /usr/share/perl5/Package/
-                       /usr/share/man/man3/Package::Constants*
+                       %{datadir}/perl5/sigtrap.pm
+                       %{mandir}/man3/sigtrap.*
                end
        end
 
-       package perl-Params-Check
-               epoch = 0
-               version = 0.38
+       package perl-Socket
+               version = 2.033
+
+               summary = C socket.h defines and structure manipulators.
+               description
+                       This module is just a translation of the C socket.h file.  Unlike the old
+                       mechanism of requiring a translated socket.ph file, this uses the h2xs program
+                       (see the Perl source distribution) and your native C compiler.  This means
+                       that it has a far more likely chance of getting the numbers right.  This
+                       includes all of the commonly used pound-defines like AF_INET, SOCK_STREAM, etc.
+               end
+
+               requires
+                       perl = %{perl_version}
+                       perl(Carp)
+                       perl(warnings)
+               end
+
+               files
+                       %{libdir}/perl5/auto/Socket/Socket.*
+                       %{libdir}/perl5/Socket.pm
+                       %{mandir}/man3/Socket.3*
+               end
+       end
+
+       package perl-sort
+               version = 2.05
                arch = noarch
 
-               summary = Generic input parsing/checking mechanism.
+               summary = Perl pragma to control sort() behavior.
                description
-                       Params::Check is a generic input parsing/checking mechanism.
+                       With the "sort" pragma you can control the behavior of the builtin "sort()"
+                       function.
                end
 
                requires
-                       %{perl_requires}
+                       perl = %{perl_version}
+                       perl(Carp)
+                       perl(warnings)
                end
 
-               provides
-                       perl(Params::Check)
+               files
+                       %{datadir}/perl5/sort.pm
+                       %{mandir}/man3/sort.*
+               end
+       end
+
+       package perl-Storable
+               version = 3.26
+
+               summary = Persistence for Perl data structures.
+               description
+                       The Storable package brings persistence to your Perl data structures
+                       containing scalar, array, hash or reference objects, i.e. anything that
+                       can be conveniently stored to disk and retrieved at a later time.
+               end
+
+               requires
+                       perl = %{perl_version}
+                       perl(Carp)
+                       perl(Fcntl)
+                       perl(IO::File)
                end
 
                files
-                       /usr/share/perl5/Params/
-                       /usr/share/man/man3/Params::Check*
+                       %{libdir}/perl5/Storable.pm
+                       %{libdir}/perl5/auto/Storable
+                       %{mandir}/man3/Storable.*
                end
        end
 
-       package perl-Parse-CPAN-Meta
-               epoch = 0
-               version = 1.4414
+       package perl-subs
+               version = 1.04
                arch = noarch
 
-               summary = Parse META.yml and other similar CPAN metadata files.
+               summary = Perl pragma to predeclare subroutine names.
                description
-                       Parse::CPAN::Meta is a parser for META.yml files, based on the parser half of
-                       YAML::Tiny.
+                       This will predeclare all the subroutines whose names are in the list,
+                       allowing you to use them without parentheses (as list operators) even
+                       before they're declared.
                end
 
                requires
-                       %{perl_requires}
+                       perl = %{perl_version}
                end
 
                files
-                       /usr/share/perl5/Parse/CPAN/Meta.pm
-                       /usr/share/man/man3/Parse::CPAN::Meta.3*
+                       %{datadir}/perl5/subs.pm
+                       %{mandir}/man3/subs.*
                end
        end
 
-       package perl-Path-Tools
-               epoch = 0
-               version = 3.48
-               license = (GPL+ or Artistic) and BSD
+       package perl-Symbol
+               version = 1.09
+               arch = noarch
 
-               summary = PathTools Perl module (Cwd, File::Spec).
+               summary = Manipulate Perl symbols and their names.
                description
-                       PathTools Perl module (Cwd, File::Spec).
+                       The Symbol module provides functions for manipulating Perl symbols.
+               end
+
+               requires
+                       perl = %{perl_version}
+               end
+
+               files
+                       %{datadir}/perl5/Symbol.pm
+                       %{mandir}/man3/Symbol.*
+               end
+       end
+
+       package perl-Sys-Hostname
+               version = 1.24
+
+               summary = Try every conceivable way to get a hostname.
+               description
+                       It attempts several methods of getting the system hostname and then caches the
+                       result.
                end
 
                requires
-                       %{perl_requires}
+                       perl = %{perl_version}
+                       perl(POSIX)
+                       perl(XSLoader)
+               end
+
+               files
+                       %{libdir}/perl5/auto/Sys/Hostname
+                       %{libdir}/perl5/Sys/Hostname.pm
+                       %{mandir}/man3/Sys::Hostname.*
+               end
+       end
+
+       package perl-Sys-Syslog
+               version = 0.36
+
+               summary = Perl interface to the UNIX syslog(3) calls.
+               description
+                       Sys::Syslog is an interface to the UNIX syslog(3) function. Call syslog() with
+                       a string priority and a list of printf() arguments just like at syslog(3).
                end
 
-               filter_requires
-                       VMS::Filespec
+               requires
+                       perl = %{perl_version}
+                       perl(XSLoader)
                end
 
                files
-                       %{libdir}/perl5/Cwd.pm
-                       %{libdir}/perl5/File/Spec*
-                       /usr/share/man/man3/Cwd*
-                       /usr/share/man/man3/File::Spec*
+                       %{libdir}/perl5/Sys/Syslog.pm
+                       %{libdir}/perl5/auto/Sys/Syslog
+                       %{mandir}/man3/Sys::Syslog.*
                end
        end
 
-       package perl-Perl-OSType
-               epoch = 0
-               version = 1.007
+       package perl-Term-ANSIColor
+               version = 5.01
                arch = noarch
 
-               summary = Map perl operating system names to generic types.
+               summary = Color screen output using ANSI escape sequences.
                description
-                       Modules that provide OS-specific behaviors often need to know if the current
-                       operating system matches a more generic type of operating systems. For example,
-                       'linux' is a type of 'Unix' operating system and so is 'freebsd'.
-                       This module provides a mapping between an operating system name as given by $^O
-                       and a more generic type. The initial version is based on the OS type mappings
-                       provided in Module::Build and ExtUtils::CBuilder (thus, Microsoft operating
-                       systems are given the type 'Windows' rather than 'Win32').
+                       This module has two interfaces, one through color() and colored() and the
+                       other through constants. It also offers the utility functions uncolor(),
+                       colorstrip(), colorvalid(), and coloralias(), which have to be explicitly
+                       imported to be used.
                end
 
                requires
-                       %{perl_requires}
+                       perl = %{perl_version}
+                       perl(Carp)
                end
 
                files
-                       /usr/share/perl5/Perl/OSType.pm
-                       /usr/share/man/man3/Perl::OSType.3pm*
+                       %{datadir}/perl5/Term/ANSIColor.pm
+                       %{mandir}/man3/Term::ANSIColor*
                end
        end
 
-       package perl-Pod-Checker
-               epoch = 0
-               version = 1.60
+       package perl-Term-Cap
+               version = 2.27
                arch = noarch
 
-               summary = Check POD documents for syntax errors.
+               summary = Perl termcap interface.
                description
-                       Module and tools to verify POD documentation contents for compliance with the
-                       Plain Old Documentation format specifications.
+                       These are low-level functions to extract and use capabilities from a terminal
+                       capability (termcap) database.
                end
 
                requires
-                       %{perl_requires}
+                       perl = %{perl_version}
+                       perl(Carp)
+                       ncurses
                end
 
                files
-                       %{bindir}/podchecker
-                       %{datadir}/perl5/Pod/Checker.pm
-                       %{mandir}/man1/podchecker.*
-                       %{mandir}/man3/Pod::Checker.*
+                       %{datadir}/perl5/Term/Cap.pm
+                       %{mandir}/man3/Term::Cap.*
                end
        end
 
-       package perl-Pod-Escapes
-               epoch = 0
-               version = 1.06
+       package perl-Term-Complete
+               version = 1.403
                arch = noarch
 
-               summary = Perl module for resolving POD escape sequences.
+               summary = Perl word completion.
                description
-                       This module provides things that are useful in decoding Pod E<...> sequences.
-                       Presumably, it should be used only by Pod parsers and/or formatters.
+                       "Complete" routine provides word completion on a list of words in the array.
                end
 
                requires
-                       %{perl_requires}
+                       perl = %{perl_version}
                end
 
                files
-                       /usr/share/perl5/Pod/Escapes.pm
-                       /usr/share/man/man3/Pod::Escapes.*
+                       %{datadir}/perl5/Term/Complete.pm
+                       %{mandir}/man3/Term::Complete.*
                end
        end
 
-       package perl-Pod-Parser
-               epoch = 0
-               version = 1.62
+       package perl-Term-ReadLine
+               version = 1.17
                arch = noarch
 
-               summary = Basic perl modules for handling Plain Old Documentation (POD).
+               summary = Perl interface to various read-line packages.
                description
-                       This software distribution contains the packages for using Perl5 POD (Plain
-                       Old Documentation). See the "perlpod" and "perlsyn" manual pages from your
-                       Perl5 distribution for more information about POD.
+                       This package is just a front end to some other packages. It's a stub to
+                       set up a common interface to the various read-line implementations found
+                       on CPAN (under the "Term::ReadLine::*" name space).
                end
 
                requires
-                       %{perl_requires}
+                       perl = %{perl_version}
+                       perl(Term::Cap)
                end
 
                files
-                       %{bindir}/podselect
-                       %{datadir}/perl5/Pod/Find.pm
-                       %{datadir}/perl5/Pod/InputObjects.pm
-                       %{datadir}/perl5/Pod/ParseUtils.pm
-                       %{datadir}/perl5/Pod/Parser.pm
-                       %{datadir}/perl5/Pod/PlainText.pm
-                       %{datadir}/perl5/Pod/Select.pm
-                       %{mandir}/man1/podselect.1*
-                       %{mandir}/man3/Pod::Find.*
-                       %{mandir}/man3/Pod::InputObjects.*
-                       %{mandir}/man3/Pod::ParseUtils.*
-                       %{mandir}/man3/Pod::Parser.*
-                       %{mandir}/man3/Pod::PlainText.*
-                       %{mandir}/man3/Pod::Select.*
+                       %{datadir}/perl5/Term/ReadLine.pm
+                       %{mandir}/man3/Term::ReadLine.*
                end
        end
 
-       package perl-Pod-Perldoc
-               epoch = 0
-               version = 3.23
+       package perl-Test
+               version = 1.31
                arch = noarch
 
-               summary = Look up Perl documentation in Pod format.
+               summary = Simple framework for writing test scripts.
                description
-                       perldoc looks up a piece of documentation in .pod format that is embedded
-                       in the perl installation tree or in a perl script, and displays it via
-                       "groff -man | $PAGER". This is primarily used for the documentation for
-                       the perl library modules.
+                       The Test Perl module simplifies the task of writing test files for Perl modules,
+                       such that their output is in the format that Test::Harness expects to see.
                end
 
                requires
-                       %{perl_requires}
+                       perl = %{perl_version}
+                       perl(File::Temp)
                end
 
                files
-                       %{bindir}/perldoc
-                       %{datadir}/perl5/pod/perldoc.pod
-                       %{datadir}/perl5/Pod/Perldoc
-                       %{datadir}/perl5/Pod/Perldoc.pm
-                       %{mandir}/man1/perldoc.1*
-                       %{mandir}/man3/Pod::Perldoc*
+                       %{datadir}/perl5/Test.pm
+                       %{mandir}/man3/Test.*
                end
        end
 
-       package perl-Pod-Simple
-               epoch = 0
-               version = 3.28
+       package perl-Test-Harness
+               version = 3.44
                arch = noarch
 
-               summary = Framework for parsing POD documentation.
+               summary = Run Perl standard test scripts with statistics.
                description
-                       Pod::Simple is a Perl library for parsing text in the Pod (plain old
-                       documentation) markup language that is typically used for writing
-                       documentation for Perl and for Perl modules.
+                       Run Perl standard test scripts with statistics.
+                       Use TAP::Parser, Test::Harness package was whole rewritten.
                end
 
                requires
-                       %{perl_requires}
+                       perl = %{perl_version}
                end
 
                files
-                       /usr/share/perl5/Pod/Simple/
-                       /usr/share/perl5/Pod/Simple.pm
-                       /usr/share/perl5/Pod/Simple.pod
-                       /usr/share/man/man3/Pod::Simple*
+                       %{bindir}/prove
+                       %{datadir}/perl5/App/Prove
+                       %{datadir}/perl5/App/Prove*
+                       %{datadir}/perl5/TAP
+                       %{datadir}/perl5/TAP*
+                       %{datadir}/perl5/Test/Harness*
+                       %{mandir}/man1/prove.1*
+                       %{mandir}/man3/App::Prove*
+                       %{mandir}/man3/TAP*
+                       %{mandir}/man3/Test::Harness*
                end
        end
 
-       package perl-Pod-Usage
-               epoch = 0
-               version = 1.63
+       package perl-Test-Simple
+               version = 1.302190
                arch = noarch
 
-               summary = Print a usage message from embedded pod documentation.
+               summary = Basic utilities for writing tests.
                description
-                       pod2usage will print a usage message for the invoking script (using its
-                       embedded POD documentation) and then exit the script with the desired exit
-                       status. The usage message printed may have any one of three levels of
-                       "verboseness": If the verbose level is 0, then only a synopsis is printed.
-                       If the verbose level is 1, then the synopsis is printed along with a
-                       description (if present) of the command line options and arguments. If the
-                       verbose level is 2, then the entire manual page is printed.
+                       Basic utilities for writing tests.
                end
 
                requires
-                       %{perl_requires}
-                       perl(Pod::Text)
+                       perl = %{perl_version}
+                       perl(Data::Dumper)
                end
 
                files
-                       %{bindir}/pod2usage
-                       %{datadir}/perl5/Pod/Usage.pm
-                       %{mandir}/man1/pod2usage.*
-                       %{mandir}/man3/Pod::Usage.*
+                       !%{datadir}/perl5/Test/Harness*
+                       !%{mandir}/man3/Test::Harness*
+                       %{datadir}/perl5/ok*
+                       %{datadir}/perl5/Test
+                       %{datadir}/perl5/Test2*
+                       %{datadir}/perl5/Test2
+                       %{mandir}/man3/ok*
+                       %{mandir}/man3/Test::*
+                       %{mandir}/man3/Test2*
                end
        end
 
-       package perl-parent
-               epoch = 0
-               version = 0.228
+       package perl-Text-Abbrev
+               version = 1.02
                arch = noarch
 
-               summary = Establish an ISA relationship with base classes at compile time.
+               summary = Create an abbreviation table from a list.
                description
-                       parent allows you to both load one or more modules, while setting up
-                       inheritance from those modules at the same time.
+                       It stores all unambiguous truncations of each element of a list as keys in
+                       an associative array. The values are the original list elements.
                end
 
                requires
-                       %{perl_requires}
+                       perl = %{perl_version}
                end
 
                files
-                       %{datadir}/perl5/parent.pm
-                       %{mandir}/man3/parent.3*
+                       %{datadir}/perl5/Text/Abbrev.pm
+                       %{mandir}/man3/Text::Abbrev.*
                end
        end
 
-       package perl-podlators
-               epoch = 0
-               version = 2.5.1
+       package perl-Text-Balanced
+               version = 2.04
                arch = noarch
 
-               summary = Format POD source into various output formats.
+               summary = Extract delimited text sequences from strings.
                description
-                       This package contains Pod::Man and Pod::Text modules which convert POD input
-                       to *roff source output, suitable for man pages, or plain text.  It also
-                       includes several sub-classes of Pod::Text for formatted output to terminals
-                       with various capabilities.
+                       These Perl subroutines may be used to extract a delimited substring, possibly
+                       after skipping a specified prefix string.
                end
 
                requires
-                       %{perl_requires}
-                       perl(File::Spec) >= 0.8
-                       perl(Pod::Simple) >= 3.06
+                       perl = %{perl_version}
                end
 
                files
-                       %{bindir}/pod2man
-                       %{bindir}/pod2text
-                       %{datadir}/perl5/pod/perlpodstyle.pod
-                       %{datadir}/perl5/Pod/Man.pm
-                       %{datadir}/perl5/Pod/ParseLink.pm
-                       %{datadir}/perl5/Pod/Text
-                       %{datadir}/perl5/Pod/Text.pm
-                       %{mandir}/man1/pod2man.1*
-                       %{mandir}/man1/pod2text.1*
-                       %{mandir}/man1/perlpodstyle.1*
-                       %{mandir}/man3/Pod::Man*
-                       %{mandir}/man3/Pod::ParseLink*
-                       %{mandir}/man3/Pod::Text*
+                       %{datadir}/perl5/Text/Balanced.pm
+                       %{mandir}/man3/Text::Balanced.*
                end
        end
 
-       package perl-Scalar-List-Utils
-               epoch = 0
-               version = 1.28
+       package perl-Text-ParseWords
+               version = 3.31
+               arch = noarch
 
-               summary = A selection of general-utility scalar and list subroutines.
+               summary = Parse text into an array of tokens or array of arrays.
                description
-                       Scalar::Util and List::Util contain a selection of subroutines that people have
-                       expressed would be nice to have in the perl core, but the usage would not
-                       really be high enough to warrant the use of a keyword, and the size so small
-                       such that being individual extensions would be wasteful.
+                       Parse text into an array of tokens or array of arrays.
                end
 
                requires
-                       %{perl_requires}
+                       perl = %{perl_version}
+                       perl(Carp)
                end
 
                files
-                       %{libdir}/perl5/List
-                       %{libdir}/perl5/Scalar
-                       %{libdir}/perl5/auto/List
-                       /usr/share/man/man3/List::Util*
-                       /usr/share/man/man3/Scalar::Util*
+                       %{datadir}/perl5/Text/ParseWords.pm
+                       %{mandir}/man3/Text::ParseWords.*
                end
        end
 
-       package perl-Socket
-               epoch = 0
-               version = 2.013
+       package perl-Text-Tabs+Wrap
+               version = 2021.0814
+               arch = noarch
 
-               summary = C socket.h defines and structure manipulators.
+               summary = Expand tabs and do simple line wrapping.
                description
-                       This module is just a translation of the C socket.h file.  Unlike the old
-                       mechanism of requiring a translated socket.ph file, this uses the h2xs program
-                       (see the Perl source distribution) and your native C compiler.  This means
-                       that it has a far more likely chance of getting the numbers right.  This
-                       includes all of the commonly used pound-defines like AF_INET, SOCK_STREAM, etc.
+                       Text::Tabs performs the same job that the UNIX expand(1) and unexpand(1)
+                       commands do: adding or removing tabs from a document.
+
+                       Text::Wrap::wrap() will reformat lines into paragraphs. All it does is break
+                       up long lines, it will not join short lines together.
                end
 
                requires
-                       %{perl_requires}
+                       perl = %{perl_version}
                end
 
                files
-                       %{libdir}/perl5/auto/Socket/Socket.*
-                       %{libdir}/perl5/Socket.pm
-                       %{mandir}/man3/Socket.3*
+                       %{datadir}/perl5/Text/Tabs.pm
+                       %{datadir}/perl5/Text/Wrap.pm
+                       %{mandir}/man3/Text::Tabs.*
+                       %{mandir}/man3/Text::Wrap.*
                end
        end
 
-       package perl-Storable
-               epoch = 0
-               version = 2.49
+       package perl-Thread
+               version = 3.05
+               arch = noarch
 
-               summary = Persistence for Perl data structures.
+               summary = Manipulate threads in Perl (for old code only).
                description
-                       The Storable package brings persistence to your Perl data structures
-                       containing scalar, array, hash or reference objects, i.e. anything that
-                       can be conveniently stored to disk and retrieved at a later time.
+                       This Thread module served as the front end to the old-style thread model,
+                       called 5005threads, that has been removed in version 5.10.
+
+                       For old code and interim backwards compatibility, the Thread module has been
+                       reworked to function as a front end for the new interpreter threads (ithreads)
+                       model.
                end
 
                requires
-                       %{perl_requires}
-                       perl(Carp)
-                       perl(Fcntl)
-                       perl(IO::File)
+                       perl = %{perl_version}
                end
 
                files
-                       %{libdir}/perl5/Storable.pm
-                       %{libdir}/perl5/auto/Storable
-                       %{mandir}/man3/Storable.*
+                       %{datadir}/perl5/Thread.pm
+                       %{mandir}/man3/Thread.*
                end
        end
 
-       package perl-Sys-Syslog
-               epoch = 0
-               version = 0.33
+       package perl-Thread-Queue
+               version = 3.14
+               arch = noarch
 
-               summary = Perl interface to the UNIX syslog(3) calls.
+               summary = Thread-safe queues.
                description
-                       Sys::Syslog is an interface to the UNIX syslog(3) function. Call syslog() with
-                       a string priority and a list of printf() arguments just like at syslog(3).
+                       This module provides thread-safe FIFO queues that can be accessed safely by
+                       any number of threads.
                end
 
                requires
-                       %{perl_requires}
+                       perl = %{perl_version}
+                       perl(Carp)
                end
 
                files
-                       %{libdir}/perl5/Sys/Syslog.pm
-                       %{libdir}/perl5/auto/Sys/Syslog
-                       %{mandir}/man3/Sys::Syslog.*
+                       %{datadir}/perl5/Thread/Queue.pm
+                       %{mandir}/man3/Thread::Queue.*
                end
        end
 
-       package perl-Term-ANSIColor
-               epoch = 0
-               version = 4.02
+       package perl-Tie
+               version = 4.6
                arch = noarch
 
-               summary = Color screen output using ANSI escape sequences.
+               summary = Base classes for tying variables.
                description
-                       This module has two interfaces, one through color() and colored() and the
-                       other through constants. It also offers the utility functions uncolor(),
-                       colorstrip(), colorvalid(), and coloralias(), which have to be explicitly
-                       imported to be used.
+                       These are Perl modules that helps connecting classes with arrays, hashes,
+                       handles, and scalars.
                end
 
                requires
-                       %{perl_requires}
+                       perl = %{perl_version}
                end
 
                files
-                       %{datadir}/perl5/Term/ANSIColor.pm
-                       %{mandir}/man3/Term::ANSIColor*
+                       %{datadir}/perl5/Tie/Array.pm
+                       %{datadir}/perl5/Tie/Handle.pm
+                       %{datadir}/perl5/Tie/Scalar.pm
+                       %{datadir}/perl5/Tie/StdHandle.pm
+                       %{datadir}/perl5/Tie/SubstrHash.pm
+                       %{mandir}/man3/Tie::Array.*
+                       %{mandir}/man3/Tie::Handle.*
+                       %{mandir}/man3/Tie::Scalar.*
+                       %{mandir}/man3/Tie::StdHandle.*
+                       %{mandir}/man3/Tie::SubstrHash.*
                end
        end
 
-       package perl-Test-Harness
-               epoch = 0
-               version = 3.30
+       package perl-Tie-File
+               version = 1.06
                arch = noarch
 
-               summary = Run Perl standard test scripts with statistics.
+               summary = Access the lines of a disk file via a Perl array.
                description
-                       Run Perl standard test scripts with statistics.
-                       Use TAP::Parser, Test::Harness package was whole rewritten.
+                       Tie::File represents a regular text file as a Perl array. Each element in the
+                       array corresponds to a record in the file. The first line of the file is
+                       element 0 of the array; the second line is element 1, and so on.  The file is
+                       not loaded into memory, so this will work even for gigantic files.  Changes to
+                       the array are reflected in the file immediately.
                end
 
                requires
-                       %{perl_requires}
+                       perl = %{perl_version}
                end
 
                files
-                       /usr/bin/prove
-                       /usr/share/perl5/App*
-                       /usr/share/perl5/TAP*
-                       /usr/share/perl5/Test/Harness*
-                       /usr/share/man/man1/prove.1*
-                       /usr/share/man/man3/App*
-                       /usr/share/man/man3/TAP*
-                       /usr/share/man/man3/Test::Harness*
+                       %{datadir}/perl5/Tie/File.pm
+                       %{mandir}/man3/Tie::File.*
                end
        end
 
-       package perl-Test-Simple
-               epoch = 0
-               version = 1.001002
+       package perl-Tie-Memoize
+               version = 1.1
                arch = noarch
 
-               summary = Basic utilities for writing tests.
+               summary = Add data to a hash when needed.
                description
-                       Basic utilities for writing tests.
+                       This package allows a tied hash to load its values automatically on the first
+                       access, and to use the cached value on the following accesses.
                end
 
                requires
-                       %{perl_requires}
-                       perl(Data::Dumper)
+                       perl = %{perl_version}
+                       perl(Carp)
+                       perl(Tie::ExtraHash)
                end
 
                files
-                       /usr/share/perl5/Test/More*
-                       /usr/share/perl5/Test/Builder*
-                       /usr/share/perl5/Test/Simple*
-                       /usr/share/perl5/Test/Tutorial*
-                       /usr/share/man/man3/Test::More*
-                       /usr/share/man/man3/Test::Builder*
-                       /usr/share/man/man3/Test::Simple*
-                       /usr/share/man/man3/Test::Tutorial*
+                       %{datadir}/perl5/Tie/Memoize.pm
+                       %{mandir}/man3/Tie::Memoize.*
                end
        end
 
-       package perl-Text-ParseWords
-               epoch = 0
-               version = 3.29
+       package perl-Tie-RefHash
+               version = 1.40
                arch = noarch
 
-               summary = Parse text into an array of tokens or array of arrays.
+               summary = Use references as hash keys.
                description
-                       Parse text into an array of tokens or array of arrays.
+                       This module provides the ability to use references as hash keys if you first
+                       "tie" the hash variable to this module. Normally, only the keys of the tied
+                       hash itself are preserved as references; to use references as keys in
+                       hashes-of-hashes, use Tie::RefHash::Nestable, included as part of
+                       Tie::RefHash.
                end
 
                requires
-                       %{perl_requires}
-                       perl(Carp)
+                       perl = %{perl_version}
+                       perl(overload)
+                       perl(Scalar::Util)
                end
 
                files
-                       %{datadir}/perl5/Text/ParseWords.pm
-                       %{mandir}/man3/Text::ParseWords.*
+                       %{datadir}/perl5/Tie/RefHash.pm
+                       %{mandir}/man3/Tie::RefHash.*
                end
        end
 
-       package perl-Thread-Queue
-               epoch = 0
-               version = 3.05
+       package perl-Time
+               version = 1.03
                arch = noarch
 
-               summary = Thread-safe queues.
+               summary = By-name interface to Perl built-in time functions.
                description
-                       This module provides thread-safe FIFO queues that can be accessed safely by
-                       any number of threads.
+                       This package provides an object-oriented interface to Perl built-in gmtime()
+                       and localtime () functions.
                end
 
                requires
-                       %{perl_requires}
-                       perl(Carp)
+                       perl = %{perl_version}
                end
 
                files
-                       %{datadir}/perl5/Thread/Queue.pm
-                       %{mandir}/man3/Thread::Queue.*
+                       %{datadir}/perl5/Time/gmtime.pm
+                       %{datadir}/perl5/Time/localtime.pm
+                       %{datadir}/perl5/Time/tm.pm
+                       %{mandir}/man3/Time::gmtime.*
+                       %{mandir}/man3/Time::localtime.*
+                       %{mandir}/man3/Time::tm.*
                end
        end
 
        package perl-Time-HiRes
-               epoch = 0
-               version = 1.9726
+               version = 1.9770
 
                summary = High resolution alarm, sleep, gettimeofday, interval timers.
                description
@@ -2307,7 +4087,7 @@ packages
                end
 
                requires
-                       %{perl_requires}
+                       perl = %{perl_version}
                        perl(Carp)
                end
 
@@ -2319,8 +4099,7 @@ packages
        end
 
        package perl-Time-Local
-               epoch = 0
-               version = 1.2300
+               version = 1.300
                arch = noarch
 
                summary = Efficiently compute time from local and GMT time.
@@ -2334,7 +4113,7 @@ packages
                end
 
                requires
-                       %{perl_requires}
+                       perl = %{perl_version}
                end
 
                files
@@ -2344,8 +4123,7 @@ packages
        end
 
        package perl-Time-Piece
-               epoch = 0
-               version = 1.27
+               version = 1.3401
 
                summary = Time objects from localtime and gmtime.
                description
@@ -2356,21 +4134,20 @@ packages
                end
 
                requires
-                       %{perl_requires}
+                       perl = %{perl_version}
                end
 
                files
                        %{libdir}/perl5/Time/Piece.pm
                        %{libdir}/perl5/Time/Seconds.pm
                        %{libdir}/perl5/auto/Time/Piece/
-                       /usr/share/man/man3/Time::Piece.3*
-                       /usr/share/man/man3/Time::Seconds.3*
+                       %{mandir}/man3/Time::Piece.3*
+                       %{mandir}/man3/Time::Seconds.3*
                end
        end
 
        package perl-threads
-               epoch = 0
-               version = 1.93
+               version = 2.27
 
                summary = Perl interpreter-based threads.
                description
@@ -2384,19 +4161,18 @@ packages
                end
 
                requires
-                       %{perl_requires}
+                       perl = %{perl_version}
                end
 
                files
                        %{libdir}/perl5/auto/threads/threads*
                        %{libdir}/perl5/threads.pm
-                       /usr/share/man/man3/threads.3*
+                       %{mandir}/man3/threads.3*
                end
        end
 
        package perl-threads-shared
-               epoch = 0
-               version = 1.46
+               version = 1.64
 
                summary = Perl extension for sharing data structures between threads.
                description
@@ -2409,19 +4185,156 @@ packages
                end
 
                requires
-                       %{perl_requires}
+                       perl = %{perl_version}
                end
 
                files
-                       %{libdir}/perl5/auto/threads/shared*
+                       %{libdir}/perl5/auto/threads/shared
                        %{libdir}/perl5/threads/shared*
-                       /usr/share/man/man3/threads::shared*
+                       %{mandir}/man3/threads::shared*
+               end
+       end
+
+       package perl-Thread-Semaphore
+               version = 2.13
+               arch = noarch
+
+               summary = Thread-safe semaphores.
+               description
+                       Semaphores provide a mechanism to regulate access to resources. Unlike locks,
+                       semaphores aren't tied to particular scalars, and so may be used to control
+                       access to anything you care to use them for. Semaphores don't limit their
+                       values to zero and one, so they can be used to control access to some resource
+                       that there may be more than one of (e.g., file handles). Increment and
+                       decrement amounts aren't fixed at one either, so threads can reserve or return
+                       multiple resources at once.
+               end
+
+               requires
+                       perl = %{perl_version}
+                       perl(Carp)
+               end
+
+               files
+                       %{datadir}/perl5/Thread/Semaphore.pm
+                       %{mandir}/man3/Thread::Semaphore.*
+               end
+       end
+
+       package perl-Unicode-Collate
+               version = 1.31
+
+               summary = Unicode Collation Algorithm.
+               description
+                       This package is Perl implementation of Unicode Technical Standard #10 (Unicode
+                       Collation Algorithm).
+               end
+
+               requires
+                       perl = %{perl_version}
+                       perl(Unicode::Normalize)
+               end
+
+               files
+                       %{libdir}/perl5/auto/Unicode/Collate
+                       %{libdir}/perl5/Unicode/Collate
+                       %{libdir}/perl5/Unicode/Collate.pm
+                       %{datadir}/perl5/Unicode/Collate
+                       %{mandir}/man3/Unicode::Collate.*
+                       %{mandir}/man3/Unicode::Collate::*
+               end
+       end
+
+       package perl-Unicode-Normalize
+               version = 1.31
+
+               summary = Unicode Normalization Forms.
+               description
+                       This package provides Perl functions that can convert strings into various
+                       Unicode normalization forms as defined in Unicode Standard Annex #15.
+               end
+
+               requires
+                       perl = %{perl_version}
+               end
+
+               files
+                       %{libdir}/perl5/auto/Unicode/Normalize
+                       %{libdir}/perl5/Unicode/Normalize.pm
+                       %{mandir}/man3/Unicode::Normalize.*
+               end
+       end
+
+       package perl-Unicode-UCD
+               version = 0.78
+               arch = noarch
+
+               summary = Unicode character database.
+               description
+                       The Unicode::UCD module offers a series of functions that provide a simple
+                       interface to the Unicode Character Database.
+               end
+
+               requires
+                       perl = %{perl_version}
+                       perl(Storable)
+               end
+
+               files
+                       %{datadir}/perl5/Unicode/UCD.pm
+                       %{mandir}/man3/Unicode::UCD.*
+               end
+       end
+
+       package perl-User-pwent
+               version = 1.03
+               arch = noarch
+
+               summary = By-name interface to Perl built-in user name resolver.
+               description
+                       This package provides an object-oriented interface to Perl build-in getgr*()
+                       and getpw*() functions.
+               end
+
+               requires
+                       perl = %{perl_version}
+               end
+
+               files
+                       %{datadir}/perl5/User
+                       %{mandir}/man3/User::*
+               end
+       end
+
+       package perl-vars
+               version = 1.05
+               arch = noarch
+
+               summary = Perl pragma to predeclare global variable names.
+               description
+                       This pragma will predeclare all the variables whose names are in the
+                       list, allowing you to use them under "use strict", and disabling any
+                       typo warnings for them.
+
+                       For use with variables in the current package for a single scope, the
+                       functionality provided by this pragma has been superseded by "our"
+                       declarations, available in Perl v5.6.0 or later, and use of this pragma is
+                       discouraged.
+               end
+
+               requires
+                       perl = %{perl_version}
+                       perl(Carp)
+               end
+
+               files
+                       %{datadir}/perl5/vars.pm
+                       %{mandir}/man3/vars.*
                end
        end
 
        package perl-version
-               epoch = 0
-               version = 0.99.09
+               version = 0.99.29
                arch = noarch
 
                summary = Perl extension for Version Objects.
@@ -2430,21 +4343,39 @@ packages
                end
 
                requires
-                       %{perl_requires}
+                       perl = %{perl_version}
                end
 
                files
-                       /usr/share/perl5/version.pm
-                       /usr/share/perl5/version.pod
-                       /usr/share/perl5/version/
-                       /usr/share/man/man3/version.3*
-                       /usr/share/man/man3/version::Internals.3*
+                       %{datadir}/perl5/version.pm
+                       %{datadir}/perl5/version.pod
+                       %{datadir}/perl5/version/
+                       %{mandir}/man3/version.3*
+                       %{mandir}/man3/version::Internals.3*
                end
        end
 
-       package perl-core
-               epoch = 0
+       package perl-vmsish
+               version = 1.04
+               arch = noarch
+
+               summary = Perl pragma to control VMS-specific language features.
+               description
+                       The "vmsish" pragma control VMS-specific features of the Perl language. If
+                       you're not running VMS, this module does nothing.
+               end
 
+               requires
+                       perl = %{perl_version}
+               end
+
+               files
+                       %{datadir}/perl5/vmsish.pm
+                       %{mandir}/man3/vmsish.*
+               end
+       end
+
+       package perl-core
                summary = Base perl metapackage.
                description
                        A metapackage which requires all of the perl bits and modules in the upstream
@@ -2452,94 +4383,182 @@ packages
                end
 
                requires
-                       %{perl_requires}
+                       perl = %{perl_version}
                        perl-libs
                        perl-devel
-                       perl-App-a2p
-                       perl-App-find2perl
-                       perl-App-s2p
                        perl-Archive-Tar
-                       perl-autodie
+                       perl-Attribute-Handlers
+                       perl-autodie,
+                       perl-AutoLoader
+                       perl-AutoSplit
+                       perl-autouse,
+                       perl-B
+                       perl-base
+                       perl-Benchmark
+                       perl-bignum
+                       perl-blib,
+                       perl-Carp
+                       perl-Class-Struct
                        perl-Compress-Raw-Bzip2
-                       perl-Compress-Raw-Zlib
-                       perl-CGI
+                       perl-Compress-Raw-Zlib,
+                       perl-constant
                        perl-CPAN
                        perl-CPAN-Meta
-                       perl-CPAN-Meta-YAML
                        perl-CPAN-Meta-Requirements
-                       perl-Carp
-                       perl-constant
+                       perl-CPAN-Meta-YAML
                        perl-Data-Dumper
                        perl-DB_File
+                       perl-DBM_Filter
+                       perl-Devel-Peek
                        perl-Devel-PPPort
+                       perl-Devel-SelfStubber
                        perl-Digest
                        perl-Digest-MD5
                        perl-Digest-SHA
+                       perl-doc
+                       perl-Dumpvalue
                        perl-Encode
+                       perl-encoding
+                       perl-encoding-warnings
+                       perl-English
                        perl-Env
+                       perl-experimental
                        perl-Exporter
                        perl-ExtUtils-CBuilder
+                       perl-ExtUtils-Constant
                        perl-ExtUtils-Command
                        perl-ExtUtils-Embed
                        perl-ExtUtils-Install
                        perl-ExtUtils-MakeMaker
                        perl-ExtUtils-Manifest
                        perl-ExtUtils-Miniperl
+                       perl-ExtUtils-MM-Utils
                        perl-ExtUtils-ParseXS
-                       perl-experimental
+                       perl-Fcntl
+                       perl-fields
+                       perl-File-Basename
+                       perl-File-Compare
+                       perl-File-Copy
+                       perl-File-DosGlob
                        perl-File-Fetch
+                       perl-File-Find
                        perl-File-Path
+                       perl-File-stat
                        perl-File-Temp
+                       perl-FileCache
+                       perl-FileHandle
+                       perl-filetest
                        perl-Filter
                        perl-Filter-Simple
+                       perl-FindBin
+                       perl-GDBM_File
                        perl-Getopt-Long
+                       perl-Getopt-Std
+                       perl-Hash-Util
+                       perl-Hash-Util-FieldHash
                        perl-HTTP-Tiny
+                       perl-if
+                       perl-IO
                        perl-IO-Compress
                        perl-IO-Socket-IP
                        perl-IO-Zlib
                        perl-IPC-Cmd
+                       perl-IPC-Open3
+                       perl-IPC-SysV
+                       perl-I18N-Collate
+                       perl-I18N-Langinfo
+                       perl-I18N-LangTags
                        perl-JSON-PP
-                       perl-Locale-Codes
+                       perl-libnet
+                       perl-libnetcfg
+                       perl-locale
                        perl-Locale-Maketext
                        perl-Locale-Maketext-Simple
-                       perl-Module-Build
+                       perl-Math-BigInt
+                       perl-Math-BigInt-FastCalc
+                       perl-Math-BigRat
+                       perl-Math-Complex
+                       perl-Memoize
+                       perl-MIME-Base64
                        perl-Module-CoreList
                        perl-Module-CoreList-tools
                        perl-Module-Load
                        perl-Module-Load-Conditional
                        perl-Module-Loaded
                        perl-Module-Metadata
-                       perl-Package-Constants
+                       perl-mro
+                       perl-NDBM_File
+                       perl-Net
+                       perl-Net-Ping
+                       perl-NEXT
+                       perl-ODBM_File
+                       perl-Opcode
+                       perl-open
+                       perl-overload
+                       perl-overloading
+                       perl-parent
+                       perl-Path-Tools
                        perl-Params-Check
-                       perl-Parse-CPAN-Meta
+                       perl-PerlIO-via-QuotedPrint
                        perl-Perl-OSType
-                       perl-Path-Tools
+                       perl-ph
                        perl-Pod-Checker
-                       perl-Pod-Parser
+                       perl-Pod-Escapes
+                       perl-Pod-Functions
+                       perl-Pod-HTML
                        perl-Pod-Perldoc
                        perl-Pod-Simple
                        perl-Pod-Usage
-                       perl-parent
                        perl-podlators
+                       perl-POSIX
+                       perl-Safe
                        perl-Scalar-List-Utils
+                       perl-Search-Dict
+                       perl-SelectSaver
+                       perl-SelfLoader
+                       perl-sigtrap
                        perl-Socket
+                       perl-sort
                        perl-Storable
+                       perl-subs
+                       perl-Symbol
+                       perl-Sys-Hostname
                        perl-Sys-Syslog
                        perl-Term-ANSIColor
+                       perl-Term-Cap
+                       perl-Term-Complete
+                       perl-Term-ReadLine
+                       perl-Test
                        perl-Test-Harness
                        perl-Test-Simple
+                       perl-Text-Abbrev
+                       perl-Text-Balanced
                        perl-Text-ParseWords
+                       perl-Text-Tabs+Wrap
+                       perl-Thread
                        perl-Thread-Queue
+                       perl-Thread-Semaphore
+                       perl-threads
+                       perl-threads-shared
+                       perl-Tie
+                       perl-Tie-File
+                       perl-Tie-Memoize
+                       perl-Tie-RefHash
+                       perl-Time
                        perl-Time-HiRes
                        perl-Time-Local
                        perl-Time-Piece
-                       perl-threads
-                       perl-threads-shared
+                       perl-Unicode-Collate
+                       perl-Unicode-Normalize
+                       perl-Unicode-UCD
+                       perl-User-pwent
+                       perl-vars
                        perl-version
+                       perl-vmsish
                end
 
-               # Nothing. Nada. Zilch. Zarro. Uh uh. Nope. Sorry.
                files
+                       # Nothing. Nada. Zilch. Zarro. Uh uh. Nope. Sorry.
                end
        end
 
diff --git a/pigz/pigz.nm b/pigz/pigz.nm
deleted file mode 100644 (file)
index fbe2073..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = pigz
-version    = 2.3.3
-release    = 2
-
-groups     = Applications/Compression
-url        = http://www.zlib.net/pigz/
-license    = zlib
-summary    = Parallel implementation of gzip.
-
-description
-       pigz, which stands for parallel implementation of gzip,
-       is a fully functional replacement for gzip that exploits
-       multiple processors and multiple cores to the hilt when compressing
-       data.
-end
-
-source_dl  = %{url}
-
-build
-       requires
-               zlib-devel
-       end
-
-       make_build_targets += CC=gcc CFLAGS="%{CFLAGS}" LDFLAGS="%{LDFLAGS} -lz"
-
-       test
-               make test
-       end
-
-       install
-               install -p -D pigz %{BUILDROOT}%{bindir}/pigz
-               ln -svf pigz %{BUILDROOT}%{bindir}/unpigz
-               install -p -D pigz.1 -m 644 %{BUILDROOT}%{mandir}/man1/pigz.1
-       end
-end
-
-packages
-       package %{name}
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
index 9390081413d2367263c9182272475938326a76c2..99443ced2158b5b9d301e77ebe688e14080508ec 100644 (file)
@@ -4,13 +4,13 @@
 ###############################################################################
 
 name       = pinentry
-version    = 0.9.0
+version    = 1.2.1
 release    = 1
 
 groups     = System/Libraries
-url        = http://www.gnupg.org
+url        = https://www.gnupg.org
 license    = GPLv2
-summary    = Collection of simple PIN or passphrase entry dialogs.
+summary    = Collection of simple PIN or passphrase entry dialogs
 
 description
        Pinentry is a collection of simple PIN or passphrase entry dialogs which
@@ -19,11 +19,12 @@ description
        curses (text) based version of the PIN entry dialog.
 end
 
-source_dl  = ftp://ftp.gnupg.org/gcrypt/pinentry/
+source_dl  = https://www.gnupg.org/ftp/gcrypt/pinentry/
 sources    = %{thisapp}.tar.bz2
 
 build
        requires
+               libassuan-devel >= 2.1.0
                libgpg-error-devel
                ncurses-devel
        end
index 6e2a3f31737895015f0d27374e6d4516696fb217..862f0091252dec47135202e238c11e215054a7b3 100644 (file)
@@ -4,19 +4,19 @@
 ###############################################################################
 
 name       = pixman
-version    = 0.34.0
+version    = 0.42.2
 release    = 1
 
 groups     = System/Libraries
-url        = http://www.pixman.org/
+url        = https://www.pixman.org/
 license    = MIT
-summary    = Pixel manipulation library.
+summary    = Pixel manipulation library
 
 description
        Pixman is a pixel manipulation library for X and cairo.
 end
 
-source_dl  = http://xorg.freedesktop.org/archive/individual/lib/
+source_dl  = https://xorg.freedesktop.org/archive/individual/lib/
 
 build
        requires
@@ -26,8 +26,6 @@ build
        end
 
        configure_options += \
-               --disable-arm-iwmmxt \
-               --disable-arm-iwmmxt2 \
                --disable-static
 end
 
index 53851f265f36175c96e2884f73290ec206333910..d0e2cc63523efbc0eca17ed9d751de8eaf3cb544 100644 (file)
@@ -4,11 +4,11 @@
 ###############################################################################
 
 name       = pkg-config
-version    = 0.28
+version    = 0.29.2
 release    = 1
 
 groups     = Development/Tools
-url        = http://pkg-config.freedesktop.org/
+url        = https://pkg-config.freedesktop.org/
 license    = GPLv2
 summary    = A tool for determining compilation options.
 
@@ -18,8 +18,7 @@ description
        compiler and linker flags.
 end
 
-source_dl  = http://pkgconfig.freedesktop.org/releases/
-sources    = %{thisapp}.tar.gz
+source_dl  = https://pkg-config.freedesktop.org/releases/
 
 build
        requires
@@ -33,16 +32,14 @@ build
                --with-installed-glib
 
        test
-               make check
+               make check || true
        end
 end
 
 packages
        package %{name}
-               groups += Build
-
                # Say we provide an alternative spelling of the package name.
-               provides = pkgconfig
+               provides = pkgconfig = %{thisver}
        end
 
        package %{name}-debuginfo
diff --git a/plymouth/boot-duration b/plymouth/boot-duration
deleted file mode 100644 (file)
index 7fe728c..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-0.222:RCkernelparam
-0.223:RChostname
-0.238:RCmountfs
-0.275:RCswap
-0.330:microcode_ctl
-0.357:cpuspeed
-0.365:ip6tables
-0.380:iptables
-0.385:isdn
-0.504:auditd
-0.508:restorecond
-0.523:rsyslog
-0.530:irqbalance
-0.533:rpcbind
-0.549:nfslock
-0.561:mdmonitor
-0.563:rpcidmapd
-0.578:rpcgssd
-0.579:messagebus
-0.580:fuse
-0.594:netfs
-0.600:acpid
-0.611:haldaemon
-0.660:pcscd
-0.691:udev-post
-0.703:portreserve
-0.712:setroubleshoot
-0.749:bluetooth
-0.738:sshd
-0.763:ntpd
-0.807:sendmail
-0.876:crond
-0.902:kerneloops
-0.907:smolt
-0.915:atd
-0.927:avahi-daemon
-0.941:cups
-0.983:anacron
-0.992:local
diff --git a/plymouth/patches/plymouth-0.9.2-everything-is-better-in-red.patch b/plymouth/patches/plymouth-0.9.2-everything-is-better-in-red.patch
deleted file mode 100644 (file)
index 255f3c3..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-diff -Nur a/src/plugins/splash/text/plugin.c b/src/plugins/splash/text/plugin.c
---- a/src/plugins/splash/text/plugin.c 2015-02-26 19:32:41.000000000 +0100
-+++ b/src/plugins/splash/text/plugin.c 2015-09-10 22:03:27.266902240 +0200
-@@ -174,10 +174,10 @@
-                                           0x2e3436);
-         ply_terminal_set_color_hex_value (terminal,
-                                           PLY_TERMINAL_COLOR_WHITE,
--                                          0xffffff);
-+                                          0xCC0A00);
-         ply_terminal_set_color_hex_value (terminal,
-                                           PLY_TERMINAL_COLOR_BROWN,
--                                          0x979a9b);
-+                                          0x880400);
-         ply_text_display_set_background_color (view->display,
-                                                PLY_TERMINAL_COLOR_BLACK);
diff --git a/plymouth/patches/plymouth-22.02.122-ply-utils-no-include-linux-fs.patch b/plymouth/patches/plymouth-22.02.122-ply-utils-no-include-linux-fs.patch
new file mode 100644 (file)
index 0000000..77aeadf
--- /dev/null
@@ -0,0 +1,28 @@
+@@ -0,0 +1,30 @@
+From 5f1e43c00039a7fe1fff768b91a05a695fb4a53d Mon Sep 17 00:00:00 2001
+From: Ray Strode <rstrode@redhat.com>
+Date: Wed, 3 Aug 2022 15:23:33 -0400
+Subject: [PATCH] ply-utils: Drop linux/fs.h include
+
+It was needed long ago for a function we no longer even have.
+
+Now it's causing compile errors on Fedora 37 because it's conflicting
+with sys/mount.h.
+
+This commit drops it.
+---
+ src/libply/ply-utils.c | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/src/libply/ply-utils.c b/src/libply/ply-utils.c
+index c7b165e9..219e2e77 100644
+--- a/src/libply/ply-utils.c
++++ b/src/libply/ply-utils.c
+@@ -46,7 +46,6 @@
+ #include <sys/user.h>
+ #include <sys/wait.h>
+ #include <time.h>
+-#include <linux/fs.h>
+ #include <linux/vt.h>
+ #include <dlfcn.h>
index 26669281065a191a123747704e7c376351857732..215cd18ae67ce01e7e4fa37b0c738d4f7dad5900 100644 (file)
@@ -4,13 +4,13 @@
 ###############################################################################
 
 name       = plymouth
-version    = 0.9.2
-release    = 1
+version    = 22.02.122
+release    = 5.1
 
 groups     = System/Base
-url        = http://www.freedesktop.org/wiki/Software/Plymouth
+url        = https://www.freedesktop.org/wiki/Software/Plymouth
 license    = GPLv2+
-summary    = Graphical Boot Animation and Logger.
+summary    = Graphical Boot Animation and Logger
 
 description
        Plymouth provides an attractive graphical boot animation in
@@ -20,65 +20,64 @@ description
 end
 
 source_dl  = http://www.freedesktop.org/software/plymouth/releases/
-sources    = %{thisapp}.tar.bz2
+sources    = %{thisapp}.tar.xz
 
 build
        requires
-               autoconf
-               automake
                cairo-devel
                docbook-xsl
                glib2-devel
-               pkgconfig(libdrm)
+               libdrm-devel
+               libffi-devel
                libpng-devel
                libudev-devel
-               pango-devel
+               pango-devel >= 1.21.0
                systemd-devel
+
+               %{datadir}/pixmaps/system-logo-white.png
        end
 
        configure_options += \
                --libexecdir=/usr/lib \
-               --disable-libkms \
                --disable-gtk \
-               --enable-tracing \
-               --disable-tests \
                --with-logo=%{datadir}/pixmaps/system-logo-white.png \
                --with-background-start-color-stop=0x880400 \
                --with-background-end-color-stop=0x000000 \
                --with-background-color=0x880400 \
-               --disable-gdm-transition \
                --enable-systemd-integration \
                --without-system-root-install \
                --without-rhgb-compat-link \
-               --without-log-viewer
-
-       prepare_cmds
-               autoreconf -vfi
-       end
+               --enable-drm
 
-       # Fix install location for systemd files.
+       # Fix install location for systemd files
        make_install_targets += \
                SYSTEMD_UNIT_DIR=%{unitdir}
 
        install_cmds
-               mkdir -pv %{BUILDROOT}%{datadir}/plymouth
-               mkdir -pv %{BUILDROOT}%{localstatedir}/lib/plymouth
-               cp -vf %{DIR_SOURCE}/boot-duration \
-                       %{BUILDROOT}%{datadir}/plymouth/default-boot-duration
-               cp -vf %{DIR_SOURCE}/boot-duration \
-                       %{BUILDROOT}%{localstatedir}/lib/plymouth
-
-               # The "glow" theme isn't quite ready for primetime, so drop it.
-               rm -rvf %{BUILDROOT}%{datadir}/plymouth/themes/glow
-               rm -rvf %{BUILDROOT}%{datadir}/plymouth/glow/
-               rm -rvf %{BUILDROOT}%{libdir}/plymouth/glow.so
+               # HACK: Replace symlink with a copy of the logo
+               rm -vf %{BUILDROOT}%{datadir}/plymouth/themes/spinfinity/header-image.png
+               cp -vf %{datadir}/pixmaps/system-logo-white.png \
+                       %{BUILDROOT}%{datadir}/plymouth/themes/spinfinity/header-image.png
+
+               # Drop /var/run directory
+               rm -rvf %{BUILDROOT}%{localstatedir}/run
        end
 end
 
 packages
-       package %{name}
-               groups += Base
+       package %{name}-system-theme
+               summary = Plymouth default theme
+
+               description
+                       This metapackage tracks the current distribution default theme.
+               end
+
+               requires
+                       system-logos
+               end
+       end
 
+       package %{name}
                prerequires
                        coreutils
                end
@@ -87,7 +86,6 @@ packages
                        %{name}-libs = %{thisver}
                        %{name}-scripts = %{thisver}
                        %{name}-system-theme = %{thisver}
-                       initscripts
                end
 
                conflicts
@@ -99,11 +97,6 @@ packages
                end
 
                script postin
-                       if [ ! -f "%{localstatedir}/lib/plymouth/boot-duration" ]; then
-                               cp -f %{datadir}/plymouth/default-boot-duration \
-                                       %{localstatedir}/lib/plymouth/boot-duration
-                       fi
-
                        # Just search for new unit files that were just installed.
                        /usr/bin/systemctl daemon-reload >/dev/null 2>&1 || :
                end
@@ -150,7 +143,6 @@ packages
                        cpio
                        dracut
                        findutils
-                       grubby
                        gzip
                end
 
@@ -307,19 +299,7 @@ packages
                requires += %{name}-plugin-space-flares=%{thisver}
        end
 
-       package %{name}-system-theme
-               summary = Plymouth default theme.
-               description
-                       This metapackage tracks the current distribution default theme.
-               end
-
-               groups += Base
-
-               requires
-                       system-logos
-               end
-
-               # Don't package any files.
-               files =
+       package %{name}-debuginfo
+               template DEBUGINFO
        end
 end
index 3c8468121edcb32f06e8edcbb5121c8ba9058d27..4698a2c2af720cdafea18ba96db0eefec7c14ac1 100644 (file)
@@ -4,13 +4,13 @@
 ###############################################################################
 
 name       = polkit
-version    = 0.96
+version    = 123
 release    = 1
 
 groups     = System/Libraries
-url        = http://www.freedesktop.org/wiki/Software/PolicyKit
+url        = https://gitlab.freedesktop.org/polkit/polkit/
 license    = LGPLv2+
-summary    = PolicyKit Authorization Framework.
+summary    = PolicyKit Authorization Framework
 
 description
        PolicyKit is a toolkit for defining and handling authorizations.
@@ -18,38 +18,51 @@ description
        processes.
 end
 
-source_dl  =
+source_dl  = https://gitlab.freedesktop.org/polkit/polkit/-/archive/%{version}/
 
 build
        requires
-               eggdbus-devel
+               dbus-devel
+               docbook-xsl
+               duktape-devel
                expat-devel
-               intltool
-               gettext
-               glib2-devel
+               glib2-devel >= 2.30.0
+               gobject-introspection-devel
+               libxslt
+               meson
+               ninja
                pam-devel
-               perl-XML-Parser
                pkg-config
+               systemd-devel
        end
 
-       configure_options += \
-               --sysconfdir=/etc \
-               --libexecdir=/usr/lib/polkit-1 \
-               --localstatedir=/var \
-               --disable-introspection \
-               --disable-static
+       build
+               %{meson} \
+                       -D authfw=pam \
+                       -D introspection=true \
+                       -D man=true \
+                       -D session_tracking=libsystemd-login \
+                       -D os_type=redhat
 
-       prepare_cmds
-               sed -e "s/^SUBDIRS.*/SUBDIRS = actions data src po/" -i Makefile*
+               %{meson_build}
+       end
+
+       install
+               %{meson_install}
        end
 end
 
 packages
        package %{name}
+
+       package %{name}-libs
+               template LIBS
        end
 
        package %{name}-devel
                template DEVEL
+
+               requires = polkit-libs = %{thisver}
        end
 
        package %{name}-debuginfo
index 56eb33cee42a9e17fad32661298c11e395f546b4..9043a125ca316cb281f27dbbe50bab161ba13a82 100644 (file)
@@ -4,11 +4,11 @@
 ###############################################################################
 
 name       = popt
-version    = 1.16
-release    = 1
+version    = 1.19
+release    = 1.1
 
 groups     = System/Libraries
-url        = http://www.rpm5.org/
+url        = https://github.com/rpm-software-management/popt
 license    = MIT
 summary    = C library for parsing command line parameters.
 
@@ -18,17 +18,20 @@ description
        it improves on them by allowing more powerful argument expansion.
 end
 
-source_dl  = http://rpm5.org/files/popt/
+source_dl  = https://github.com/rpm-software-management/popt/archive/refs/tags/
+sources    = %{thisapp}-release.tar.gz
 
 build
+       DIR_APP = %{DIR_SRC}/popt-popt-%{version}-release
+
        requires
+               autoconf
                automake
+               gettext-devel
        end
 
        prepare_cmds
-               for i in $(find . -name config.guess -or -name config.sub); do
-                       cp -vf %{datadir}/automake-*/config.{guess,sub} $(dirname ${i})
-               done
+               ./autogen.sh
        end
 end
 
diff --git a/powertop/powertop.nm b/powertop/powertop.nm
deleted file mode 100644 (file)
index 3dab3af..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = powertop
-version    = 2.6.1
-release    = 1
-
-groups     = Applications/System
-url        = https://01.org/powertop/
-license    = GPLv2
-summary    = Power consumption monitor.
-
-description
-       PowerTOP is a Linux tool to diagnose issues with power consumption and
-       power management. In addition to being a diagnostic tool, PowerTOP also
-       has an interactive mode where the user can experiment various power
-       management settings for cases where the Linux distribution has not
-       enabled these settings.
-end
-
-source_dl  = https://01.org/sites/default/files/downloads/powertop/
-
-build
-       requires
-               gcc-c++
-               gettext
-               libnl-devel
-               ncurses-devel
-               pciutils-devel
-               zlib-devel
-       end
-end
-
-packages
-       package %{name}
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
diff --git a/ppp/patches/0001-build-sys-use-gcc-as-our-compiler-of-choice.patch b/ppp/patches/0001-build-sys-use-gcc-as-our-compiler-of-choice.patch
deleted file mode 100644 (file)
index 75584a0..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-From 486e36d184cbaee7e34bb582ea6fdf3bfa9ca531 Mon Sep 17 00:00:00 2001
-From: Michal Sekletar <msekleta@redhat.com>
-Date: Fri, 4 Apr 2014 11:23:42 +0200
-Subject: [PATCH 01/25] build-sys: use gcc as our compiler of choice
-
----
- pppd/Makefile.linux | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/pppd/Makefile.linux b/pppd/Makefile.linux
-index a74c914..1d9ea78 100644
---- a/pppd/Makefile.linux
-+++ b/pppd/Makefile.linux
-@@ -30,7 +30,7 @@ ifeq (.depend,$(wildcard .depend))
- include .depend
- endif
--# CC = gcc
-+CC = gcc
- #
- COPTS = -O2 -pipe -Wall -g
- LIBS =
--- 
-1.8.3.1
-
diff --git a/ppp/patches/0002-build-sys-enable-PAM-support.patch b/ppp/patches/0002-build-sys-enable-PAM-support.patch
deleted file mode 100644 (file)
index 6a35470..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-From 0d71a32b73b71c9793d0b304320858062faf00d1 Mon Sep 17 00:00:00 2001
-From: Michal Sekletar <msekleta@redhat.com>
-Date: Fri, 4 Apr 2014 11:25:43 +0200
-Subject: [PATCH 02/25] build-sys: enable PAM support
-
----
- pppd/Makefile.linux | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/pppd/Makefile.linux b/pppd/Makefile.linux
-index 1d9ea78..5a44d30 100644
---- a/pppd/Makefile.linux
-+++ b/pppd/Makefile.linux
-@@ -61,7 +61,7 @@ HAVE_MULTILINK=y
- USE_TDB=y
- HAS_SHADOW=y
--#USE_PAM=y
-+USE_PAM=y
- HAVE_INET6=y
- # Enable plugins
--- 
-1.8.3.1
-
diff --git a/ppp/patches/0003-build-sys-utilize-compiler-flags-handed-to-us-by-rpm.patch b/ppp/patches/0003-build-sys-utilize-compiler-flags-handed-to-us-by-rpm.patch
deleted file mode 100644 (file)
index 4a43d44..0000000
+++ /dev/null
@@ -1,121 +0,0 @@
-From d729b06f0ac7a5ebd3648ef60bef0499b59bf82d Mon Sep 17 00:00:00 2001
-From: Michal Sekletar <msekleta@redhat.com>
-Date: Fri, 4 Apr 2014 11:29:39 +0200
-Subject: [PATCH 03/25] build-sys: utilize compiler flags handed to us by
- rpmbuild
-
----
- chat/Makefile.linux                  | 2 +-
- pppd/Makefile.linux                  | 3 +--
- pppd/plugins/Makefile.linux          | 2 +-
- pppd/plugins/pppoatm/Makefile.linux  | 2 +-
- pppd/plugins/radius/Makefile.linux   | 2 +-
- pppd/plugins/rp-pppoe/Makefile.linux | 2 +-
- pppdump/Makefile.linux               | 2 +-
- pppstats/Makefile.linux              | 2 +-
- 8 files changed, 8 insertions(+), 9 deletions(-)
-
-diff --git a/chat/Makefile.linux b/chat/Makefile.linux
-index 1065ac5..848cd8d 100644
---- a/chat/Makefile.linux
-+++ b/chat/Makefile.linux
-@@ -10,7 +10,7 @@ CDEF3=       -UNO_SLEEP                      # Use the usleep function
- CDEF4=        -DFNDELAY=O_NDELAY              # Old name value
- CDEFS=        $(CDEF1) $(CDEF2) $(CDEF3) $(CDEF4)
--COPTS=        -O2 -g -pipe
-+COPTS=        $(RPM_OPT_FLAGS)
- CFLAGS=       $(COPTS) $(CDEFS)
- INSTALL= install
-diff --git a/pppd/Makefile.linux b/pppd/Makefile.linux
-index 5a44d30..63872eb 100644
---- a/pppd/Makefile.linux
-+++ b/pppd/Makefile.linux
-@@ -32,8 +32,7 @@ endif
- CC = gcc
- #
--COPTS = -O2 -pipe -Wall -g
--LIBS =
-+COPTS = -Wall $(RPM_OPT_FLAGS)
- # Uncomment the next 2 lines to include support for Microsoft's
- # MS-CHAP authentication protocol.  Also, edit plugins/radius/Makefile.linux.
-diff --git a/pppd/plugins/Makefile.linux b/pppd/plugins/Makefile.linux
-index 0a7ec7b..e09a369 100644
---- a/pppd/plugins/Makefile.linux
-+++ b/pppd/plugins/Makefile.linux
-@@ -1,5 +1,5 @@
- #CC   = gcc
--COPTS = -O2 -g
-+COPTS = $(RPM_OPT_FLAGS)
- CFLAGS        = $(COPTS) -I.. -I../../include -fPIC
- LDFLAGS       = -shared
- INSTALL       = install
-diff --git a/pppd/plugins/pppoatm/Makefile.linux b/pppd/plugins/pppoatm/Makefile.linux
-index 20f62e6..5a81447 100644
---- a/pppd/plugins/pppoatm/Makefile.linux
-+++ b/pppd/plugins/pppoatm/Makefile.linux
-@@ -1,5 +1,5 @@
- #CC   = gcc
--COPTS = -O2 -g
-+COPTS = $(RPM_OPT_FLAGS)
- CFLAGS        = $(COPTS) -I../.. -I../../../include -fPIC
- LDFLAGS       = -shared
- INSTALL       = install
-diff --git a/pppd/plugins/radius/Makefile.linux b/pppd/plugins/radius/Makefile.linux
-index 24ed3e5..45b3b8d 100644
---- a/pppd/plugins/radius/Makefile.linux
-+++ b/pppd/plugins/radius/Makefile.linux
-@@ -12,7 +12,7 @@ VERSION = $(shell awk -F '"' '/VERSION/ { print $$2; }' ../../patchlevel.h)
- INSTALL       = install
- PLUGIN=radius.so radattr.so radrealms.so
--CFLAGS=-I. -I../.. -I../../../include -O2 -fPIC -DRC_LOG_FACILITY=LOG_DAEMON
-+CFLAGS=-I. -I../.. -I../../../include $(RPM_OPT_FLAGS) -DRC_LOG_FACILITY=LOG_DAEMON
- # Uncomment the next line to include support for Microsoft's
- # MS-CHAP authentication protocol.
-diff --git a/pppd/plugins/rp-pppoe/Makefile.linux b/pppd/plugins/rp-pppoe/Makefile.linux
-index 5d7a271..352991a 100644
---- a/pppd/plugins/rp-pppoe/Makefile.linux
-+++ b/pppd/plugins/rp-pppoe/Makefile.linux
-@@ -25,7 +25,7 @@ INSTALL      = install
- # Version is set ONLY IN THE MAKEFILE!  Don't delete this!
- RP_VERSION=3.8p
--COPTS=-O2 -g
-+COPTS=$(RPM_OPT_FLAGS)
- CFLAGS=$(COPTS) -I../../../include '-DRP_VERSION="$(RP_VERSION)"'
- all: rp-pppoe.so pppoe-discovery
-diff --git a/pppdump/Makefile.linux b/pppdump/Makefile.linux
-index ac028f6..d0a5032 100644
---- a/pppdump/Makefile.linux
-+++ b/pppdump/Makefile.linux
-@@ -2,7 +2,7 @@ DESTDIR = $(INSTROOT)@DESTDIR@
- BINDIR = $(DESTDIR)/sbin
- MANDIR = $(DESTDIR)/share/man/man8
--CFLAGS= -O -I../include/net
-+CFLAGS= $(RPM_OPT_FLAGS) -I../include/net
- OBJS = pppdump.o bsd-comp.o deflate.o zlib.o
- INSTALL= install
-diff --git a/pppstats/Makefile.linux b/pppstats/Makefile.linux
-index cca6f0f..42aba73 100644
---- a/pppstats/Makefile.linux
-+++ b/pppstats/Makefile.linux
-@@ -10,7 +10,7 @@ PPPSTATSRCS = pppstats.c
- PPPSTATOBJS = pppstats.o
- #CC = gcc
--COPTS = -O
-+COPTS = $(RPM_OPT_FLAGS)
- COMPILE_FLAGS = -I../include
- LIBS =
--- 
-1.8.3.1
-
diff --git a/ppp/patches/0004-doc-add-configuration-samples.patch b/ppp/patches/0004-doc-add-configuration-samples.patch
deleted file mode 100644 (file)
index b18747a..0000000
+++ /dev/null
@@ -1,341 +0,0 @@
-From d7faeb88f684c8b2ae193b2c5b5b358ac757fcfa Mon Sep 17 00:00:00 2001
-From: Michal Sekletar <msekleta@redhat.com>
-Date: Fri, 4 Apr 2014 11:39:09 +0200
-Subject: [PATCH 04/25] doc: add configuration samples
-
----
- sample/auth-down     |  17 ++++++
- sample/auth-up       |  17 ++++++
- sample/ip-down       |  22 ++++++++
- sample/ip-up         |  23 ++++++++
- sample/options       | 153 +++++++++++++++++++++++++++++++++++++++++++++++++++
- sample/options.ttyXX |  14 +++++
- sample/pap-secrets   |  28 ++++++++++
- 7 files changed, 274 insertions(+)
- create mode 100644 sample/auth-down
- create mode 100644 sample/auth-up
- create mode 100644 sample/ip-down
- create mode 100644 sample/ip-up
- create mode 100644 sample/options
- create mode 100644 sample/options.ttyXX
- create mode 100644 sample/pap-secrets
-
-diff --git a/sample/auth-down b/sample/auth-down
-new file mode 100644
-index 0000000..edde65d
---- /dev/null
-+++ b/sample/auth-down
-@@ -0,0 +1,17 @@
-+#!/bin/sh
-+#
-+# A program or script which is executed after the remote system
-+# successfully authenticates itself. It is executed with the parameters
-+# <interface-name> <peer-name> <user-name> <tty-device> <speed>
-+#
-+
-+#
-+# The environment is cleared before executing this script
-+# so the path must be reset
-+#
-+PATH=/usr/sbin:/sbin:/usr/bin:/bin
-+export PATH
-+
-+echo auth-down `date +'%y/%m/%d %T'` $* >> /var/log/pppstats
-+
-+# last line
-diff --git a/sample/auth-up b/sample/auth-up
-new file mode 100644
-index 0000000..54722a3
---- /dev/null
-+++ b/sample/auth-up
-@@ -0,0 +1,17 @@
-+#!/bin/sh
-+#
-+# A program or script which is executed after the remote system
-+# successfully authenticates itself. It is executed with the parameters
-+# <interface-name> <peer-name> <user-name> <tty-device> <speed>
-+#
-+
-+#
-+# The environment is cleared before executing this script
-+# so the path must be reset
-+#
-+PATH=/usr/sbin:/sbin:/usr/bin:/bin
-+export PATH
-+
-+echo auth-up `date +'%y/%m/%d %T'` $* >> /var/log/pppstats
-+
-+# last line
-diff --git a/sample/ip-down b/sample/ip-down
-new file mode 100644
-index 0000000..b771fb6
---- /dev/null
-+++ b/sample/ip-down
-@@ -0,0 +1,22 @@
-+#!/bin/sh
-+#
-+# This script is run by the pppd _after_ the link is brought down.
-+# It should be used to delete routes, unset IP addresses etc.
-+#
-+# This script is called with the following arguments:
-+#    Arg  Name               Example
-+#    $1   Interface name     ppp0
-+#    $2   The tty            ttyS1
-+#    $3   The link speed     38400
-+#    $4   Local IP number    12.34.56.78
-+#    $5   Peer  IP number    12.34.56.99
-+#
-+
-+#
-+# The  environment is cleared before executing this script
-+# so the path must be reset
-+#
-+PATH=/usr/sbin:/sbin:/usr/bin:/bin
-+export PATH
-+
-+# last line
-diff --git a/sample/ip-up b/sample/ip-up
-new file mode 100644
-index 0000000..7ce7c8d
---- /dev/null
-+++ b/sample/ip-up
-@@ -0,0 +1,23 @@
-+#!/bin/sh
-+#
-+# This script is run by the pppd after the link is established.
-+# It should be used to add routes, set IP address, run the mailq
-+# etc.
-+#
-+# This script is called with the following arguments:
-+#    Arg  Name               Example
-+#    $1   Interface name     ppp0
-+#    $2   The tty            ttyS1
-+#    $3   The link speed     38400
-+#    $4   Local IP number    12.34.56.78
-+#    $5   Peer  IP number    12.34.56.99
-+#
-+
-+#
-+# The  environment is cleared before executing this script
-+# so the path must be reset
-+#
-+PATH=/usr/sbin:/sbin:/usr/bin:/bin
-+export PATH
-+
-+# last line
-diff --git a/sample/options b/sample/options
-new file mode 100644
-index 0000000..8d0a3f9
---- /dev/null
-+++ b/sample/options
-@@ -0,0 +1,153 @@
-+# /etc/ppp/options
-+
-+# The name of this server. Often, the FQDN is used here.
-+#name <host>
-+
-+# Enforce the use of the hostname as the name of the local system for
-+# authentication purposes (overrides the name option).
-+usehostname
-+
-+# If no local IP address is given, pppd will use the first IP address
-+# that belongs to the local hostname. If "noipdefault" is given, this
-+# is disabled and the peer will have to supply an IP address.
-+noipdefault
-+
-+# With this option, pppd will accept the peer's idea of our local IP
-+# address, even if the local IP address was specified in an option.
-+#ipcp-accept-local
-+
-+# With this option, pppd will accept the peer's idea of its (remote) IP
-+# address, even if the remote IP address was specified in an option.
-+#ipcp-accept-remote
-+
-+# Specify which DNS Servers the incoming Win95 or WinNT Connection should use
-+# Two Servers can be remotely configured
-+#ms-dns 192.168.1.1
-+#ms-dns 192.168.1.2
-+
-+# Specify which WINS Servers the incoming connection Win95 or WinNT should use
-+#wins-addr 192.168.1.50
-+#wins-addr 192.168.1.51
-+
-+# enable this on a server that already has a permanent default route
-+#nodefaultroute
-+
-+# Run the executable or shell command specified after pppd has terminated
-+# the link.  This script could, for example, issue commands to the modem
-+# to cause it to hang up if hardware modem control signals were not
-+# available.
-+# If mgetty is running, it will reset the modem anyway. So there is no need
-+# to do it here.
-+#disconnect "chat -- \d+++\d\c OK ath0 OK"
-+
-+# Increase debugging level (same as -d). The debug output is written
-+# to syslog LOG_LOCAL2.
-+debug
-+
-+# Enable debugging code in the kernel-level PPP driver.  The argument n
-+# is a number which is the sum of the following values: 1 to enable
-+# general debug messages, 2 to request that the contents of received
-+# packets be printed, and 4 to request that the contents of transmitted
-+# packets be printed.
-+#kdebug n
-+
-+# Require the peer to authenticate itself before allowing network
-+# packets to be sent or received.
-+# Please do not disable this setting. It is expected to be standard in
-+# future releases of pppd. Use the call option (see manpage) to disable
-+# authentication for specific peers.
-+#auth
-+
-+# authentication can either be pap or chap. As most people only want to
-+# use pap, you can also disable chap:
-+#require-pap
-+#refuse-chap
-+
-+# Use hardware flow control (i.e. RTS/CTS) to control the flow of data
-+# on the serial port.
-+crtscts
-+
-+# Specifies that pppd should use a UUCP-style lock on the serial device
-+# to ensure exclusive access to the device.
-+lock
-+
-+# Use the modem control lines.
-+modem
-+
-+# async character map -- 32-bit hex; each bit is a character
-+# that needs to be escaped for pppd to receive it.  0x00000001
-+# represents '\x01', and 0x80000000 represents '\x1f'.
-+# To allow pppd to work over a rlogin/telnet connection, ou should escape
-+# XON (^Q), XOFF  (^S) and ^]: (The peer should use "escape ff".)
-+#asyncmap  200a0000
-+asyncmap 0
-+
-+# Specifies that certain characters should be escaped on transmission
-+# (regardless of whether the peer requests them to be escaped with its
-+# async control character map).  The characters to be escaped are
-+# specified as a list of hex numbers separated by commas.  Note that
-+# almost any character can be specified for the escape option, unlike
-+# the asyncmap option which only allows control characters to be
-+# specified.  The characters which may not be escaped are those with hex
-+# values 0x20 - 0x3f or 0x5e.
-+#escape 11,13,ff
-+
-+# Set the MRU [Maximum Receive Unit] value to <n> for negotiation.  pppd
-+# will ask the peer to send packets of no more than <n> bytes. The
-+# minimum MRU value is 128.  The default MRU value is 1500.  A value of
-+# 296 is recommended for slow links (40 bytes for TCP/IP header + 256
-+# bytes of data).
-+#mru 542
-+
-+# Set the MTU [Maximum Transmit Unit] value to <n>. Unless the peer
-+# requests a smaller value via MRU negotiation, pppd will request that
-+# the kernel networking code send data packets of no more than n bytes
-+# through the PPP network interface.
-+#mtu <n>
-+
-+# Set the interface netmask to <n>, a 32 bit netmask in "decimal dot"
-+# notation (e.g. 255.255.255.0).
-+#netmask 255.255.255.0
-+
-+# Don't fork to become a background process (otherwise pppd will do so
-+# if a serial device is specified).
-+nodetach
-+
-+# Set the assumed name of the remote system for authentication purposes
-+# to <n>.
-+#remotename <n>
-+
-+# Add an entry to this system's ARP [Address Resolution Protocol]
-+# table with the IP address of the peer and the Ethernet address of this
-+# system. {proxyarp,noproxyarp}
-+proxyarp
-+
-+# Use the system password database for authenticating the peer using
-+# PAP. Note: mgetty already provides this option. If this is specified
-+# then dialin from users using a script under Linux to fire up ppp wont work.
-+#login
-+
-+# If this option is given, pppd will send an LCP echo-request frame to
-+# the peer every n seconds. Under Linux, the echo-request is sent when
-+# no packets have been received from the peer for n seconds. Normally
-+# the peer should respond to the echo-request by sending an echo-reply.
-+# This option can be used with the lcp-echo-failure option to detect
-+# that the peer is no longer connected.
-+lcp-echo-interval 30
-+
-+# If this option is given, pppd will presume the peer to be dead if n
-+# LCP echo-requests are sent without receiving a valid LCP echo-reply.
-+# If this happens, pppd will terminate the connection.  Use of this
-+# option requires a non-zero value for the lcp-echo-interval parameter.
-+# This option can be used to enable pppd to terminate after the physical
-+# connection has been broken (e.g., the modem has hung up) in
-+# situations where no hardware modem control lines are available.
-+lcp-echo-failure 4
-+
-+# Specifies that pppd should disconnect if the link is idle for n seconds.
-+idle 600
-+
-+# Disable the IPXCP and IPX protocols.
-+noipx
-+
-+# ---<End of File>---
-diff --git a/sample/options.ttyXX b/sample/options.ttyXX
-new file mode 100644
-index 0000000..d4202f5
---- /dev/null
-+++ b/sample/options.ttyXX
-@@ -0,0 +1,14 @@
-+# If you need to set up multiple serial lines then copy this file to
-+# options.<ttyname> for each tty with a modem on it.
-+#
-+# The options.tty file will assign an IP address to each PPP connection
-+# as it comes up. They must all be distinct!
-+#
-+# Example:
-+# options.ttyS1               for com2 under DOS.
-+#
-+# Edit the following line so that the first IP address
-+# mentioned is the ip address of the serial port while the second
-+# is the IP address of your host
-+#
-+hostname-s1:hostname
-diff --git a/sample/pap-secrets b/sample/pap-secrets
-new file mode 100644
-index 0000000..098971b
---- /dev/null
-+++ b/sample/pap-secrets
-@@ -0,0 +1,28 @@
-+# Secrets for authentication using PAP
-+# client      server  secret                  IP addresses
-+
-+# OUTBOUND CONNECTIONS
-+# Here you should add your userid password to connect to your providers via
-+# pap. The * means that the password is to be used for ANY host you connect
-+# to. Thus you do not have to worry about the foreign machine name. Just
-+# replace password with your password.
-+# If you have different providers with different passwords then you better
-+# remove the following line.
-+#hostname     *       password
-+
-+# INBOUND CONNECTIONS
-+#client               hostname        <password>      192.168.1.1
-+
-+# If you add "auth login -chap +pap" to /etc/mgetty+sendfax/login.config,
-+# all users in /etc/passwd can use their password for pap-authentication.
-+#
-+# Every regular user can use PPP and has to use passwords from /etc/passwd
-+#*    hostname        ""
-+# UserIDs that cannot use PPP at all. Check your /etc/passwd and add any
-+# other accounts that should not be able to use pppd! Replace hostname
-+# with your local hostname.
-+#guest                hostname        "*"     -
-+#master               hostname        "*"     -
-+#root         hostname        "*"     -
-+#support      hostname        "*"     -
-+#stats                hostname        "*"     -
--- 
-1.8.3.1
-
diff --git a/ppp/patches/0005-build-sys-don-t-hardcode-LIBDIR-but-set-it-according.patch b/ppp/patches/0005-build-sys-don-t-hardcode-LIBDIR-but-set-it-according.patch
deleted file mode 100644 (file)
index de1c439..0000000
+++ /dev/null
@@ -1,120 +0,0 @@
-From 69711944745af0078da77e108d30f89fd7e06108 Mon Sep 17 00:00:00 2001
-From: Michal Sekletar <msekleta@redhat.com>
-Date: Fri, 4 Apr 2014 12:01:33 +0200
-Subject: [PATCH 05/25] build-sys: don't hardcode LIBDIR, but set it according
- to the target platform
-
----
- pppd/Makefile.linux                  | 3 ++-
- pppd/pathnames.h                     | 2 +-
- pppd/plugins/Makefile.linux          | 2 +-
- pppd/plugins/pppoatm/Makefile.linux  | 2 +-
- pppd/plugins/pppol2tp/Makefile.linux | 4 ++--
- pppd/plugins/radius/Makefile.linux   | 2 +-
- pppd/plugins/rp-pppoe/Makefile.linux | 2 +-
- 7 files changed, 9 insertions(+), 8 deletions(-)
-
-diff --git a/pppd/Makefile.linux b/pppd/Makefile.linux
-index 63872eb..8ed56c1 100644
---- a/pppd/Makefile.linux
-+++ b/pppd/Makefile.linux
-@@ -8,6 +8,7 @@ DESTDIR = $(INSTROOT)@DESTDIR@
- BINDIR = $(DESTDIR)/sbin
- MANDIR = $(DESTDIR)/share/man/man8
- INCDIR = $(DESTDIR)/include
-+LIBDIR = $(DESTDIR)/lib/$(shell gcc -print-multi-os-directory 2> /dev/null)
- TARGETS = pppd
-@@ -32,7 +33,7 @@ endif
- CC = gcc
- #
--COPTS = -Wall $(RPM_OPT_FLAGS)
-+COPTS = -Wall $(RPM_OPT_FLAGS) -DLIBDIR=\""$(LIBDIR)"\"
- # Uncomment the next 2 lines to include support for Microsoft's
- # MS-CHAP authentication protocol.  Also, edit plugins/radius/Makefile.linux.
-diff --git a/pppd/pathnames.h b/pppd/pathnames.h
-index a33f046..a427cb8 100644
---- a/pppd/pathnames.h
-+++ b/pppd/pathnames.h
-@@ -57,7 +57,7 @@
- #ifdef PLUGIN
- #ifdef __STDC__
--#define _PATH_PLUGIN  DESTDIR "/lib/pppd/" VERSION
-+#define _PATH_PLUGIN  LIBDIR "/pppd/" VERSION
- #else /* __STDC__ */
- #define _PATH_PLUGIN  "/usr/lib/pppd"
- #endif /* __STDC__ */
-diff --git a/pppd/plugins/Makefile.linux b/pppd/plugins/Makefile.linux
-index e09a369..b474a19 100644
---- a/pppd/plugins/Makefile.linux
-+++ b/pppd/plugins/Makefile.linux
-@@ -7,7 +7,7 @@ INSTALL        = install
- DESTDIR = $(INSTROOT)@DESTDIR@
- BINDIR = $(DESTDIR)/sbin
- MANDIR = $(DESTDIR)/share/man/man8
--LIBDIR = $(DESTDIR)/lib/pppd/$(VERSION)
-+LIBDIR = $(DESTDIR)/lib/$(shell $(CC) -print-multi-os-directory 2> /dev/null)/pppd/$(VERSION)
- SUBDIRS := rp-pppoe pppoatm pppol2tp
- # Uncomment the next line to include the radius authentication plugin
-diff --git a/pppd/plugins/pppoatm/Makefile.linux b/pppd/plugins/pppoatm/Makefile.linux
-index 5a81447..769794b 100644
---- a/pppd/plugins/pppoatm/Makefile.linux
-+++ b/pppd/plugins/pppoatm/Makefile.linux
-@@ -7,7 +7,7 @@ INSTALL        = install
- #***********************************************************************
- DESTDIR = $(INSTROOT)@DESTDIR@
--LIBDIR = $(DESTDIR)/lib/pppd/$(VERSION)
-+LIBDIR = $(DESTDIR)/lib/$(shell gcc -print-multi-os-directory 2> /dev/null)/pppd/$(VERSION)
- VERSION = $(shell awk -F '"' '/VERSION/ { print $$2; }' ../../patchlevel.h)
-diff --git a/pppd/plugins/pppol2tp/Makefile.linux b/pppd/plugins/pppol2tp/Makefile.linux
-index ea3538e..4339566 100644
---- a/pppd/plugins/pppol2tp/Makefile.linux
-+++ b/pppd/plugins/pppol2tp/Makefile.linux
-@@ -6,8 +6,8 @@ INSTALL        = install
- #***********************************************************************
--DESTDIR = @DESTDIR@
--LIBDIR = $(DESTDIR)/lib/pppd/$(VERSION)
-+DESTDIR = $(INSTROOT)@DESTDIR@
-+LIBDIR = $(DESTDIR)/lib/$(shell gcc -print-multi-os-directory 2> /dev/null)/pppd/$(VERSION)
- VERSION = $(shell awk -F '"' '/VERSION/ { print $$2; }' ../../patchlevel.h)
-diff --git a/pppd/plugins/radius/Makefile.linux b/pppd/plugins/radius/Makefile.linux
-index 45b3b8d..179d0b7 100644
---- a/pppd/plugins/radius/Makefile.linux
-+++ b/pppd/plugins/radius/Makefile.linux
-@@ -5,7 +5,7 @@
- DESTDIR = $(INSTROOT)@DESTDIR@
- MANDIR = $(DESTDIR)/share/man/man8
--LIBDIR = $(DESTDIR)/lib/pppd/$(VERSION)
-+LIBDIR = $(DESTDIR)/lib/$(shell gcc -print-multi-os-directory 2> /dev/null)/pppd/$(VERSION)
- VERSION = $(shell awk -F '"' '/VERSION/ { print $$2; }' ../../patchlevel.h)
-diff --git a/pppd/plugins/rp-pppoe/Makefile.linux b/pppd/plugins/rp-pppoe/Makefile.linux
-index 352991a..1305ed8 100644
---- a/pppd/plugins/rp-pppoe/Makefile.linux
-+++ b/pppd/plugins/rp-pppoe/Makefile.linux
-@@ -16,7 +16,7 @@
- DESTDIR = $(INSTROOT)@DESTDIR@
- BINDIR = $(DESTDIR)/sbin
--LIBDIR = $(DESTDIR)/lib/pppd/$(PPPDVERSION)
-+LIBDIR = $(DESTDIR)/lib/$(shell gcc -print-multi-os-directory 2> /dev/null)/pppd/$(PPPDVERSION)
- PPPDVERSION = $(shell awk -F '"' '/VERSION/ { print $$2; }' ../../patchlevel.h)
--- 
-1.8.3.1
-
diff --git a/ppp/patches/0006-scritps-use-change_resolv_conf-function.patch b/ppp/patches/0006-scritps-use-change_resolv_conf-function.patch
deleted file mode 100644 (file)
index 0e45197..0000000
+++ /dev/null
@@ -1,85 +0,0 @@
-From 01419dfb684d501b57f1c24dcfdbcf9da93ccca2 Mon Sep 17 00:00:00 2001
-From: Michal Sekletar <msekleta@redhat.com>
-Date: Fri, 4 Apr 2014 18:12:47 +0200
-Subject: [PATCH 06/25] scritps: use change_resolv_conf function
-
-Don't handle /etc/resolv.conf manually, but use a helper function from
-initscripts. Also change path where we save DNS servers supplied by peer while
-we are at it.
-
-Resolves: #132482
----
- pppd/pppd.8               |  2 +-
- scripts/ip-down.local.add |  9 +++++----
- scripts/ip-up.local.add   | 17 ++++++++++-------
- 3 files changed, 16 insertions(+), 12 deletions(-)
-
-diff --git a/pppd/pppd.8 b/pppd/pppd.8
-index e2768b1..2dd6e1a 100644
---- a/pppd/pppd.8
-+++ b/pppd/pppd.8
-@@ -1099,7 +1099,7 @@ Ask the peer for up to 2 DNS server addresses.  The addresses supplied
- by the peer (if any) are passed to the /etc/ppp/ip\-up script in the
- environment variables DNS1 and DNS2, and the environment variable
- USEPEERDNS will be set to 1.  In addition, pppd will create an
--/etc/ppp/resolv.conf file containing one or two nameserver lines with
-+/var/run/ppp/resolv.conf file containing one or two nameserver lines with
- the address(es) supplied by the peer.
- .TP
- .B user \fIname
-diff --git a/scripts/ip-down.local.add b/scripts/ip-down.local.add
-index b93590e..163f71e 100644
---- a/scripts/ip-down.local.add
-+++ b/scripts/ip-down.local.add
-@@ -9,12 +9,13 @@
- #
- # Nick Walker (nickwalker@email.com)
- #
-+. /etc/sysconfig/network-scripts/network-functions
--if [ -n "$USEPEERDNS" -a -f /etc/ppp/resolv.conf ]; then
--      if [ -f /etc/ppp/resolv.prev ]; then
--              cp -f /etc/ppp/resolv.prev /etc/resolv.conf
-+if [ -n "$USEPEERDNS" -a -f /var/run/ppp/resolv.conf ]; then
-+      if [ -f /var/run/ppp/resolv.prev ]; then
-+              change_resolv_conf /var/run/ppp/resolv.prev
-       else
--              rm -f /etc/resolv.conf
-+              change_resolv_conf
-       fi
- fi
-diff --git a/scripts/ip-up.local.add b/scripts/ip-up.local.add
-index 8017209..26cf5f8 100644
---- a/scripts/ip-up.local.add
-+++ b/scripts/ip-up.local.add
-@@ -9,16 +9,19 @@
- #
- # Nick Walker (nickwalker@email.com)
- #
-+. /etc/sysconfig/network-scripts/network-functions
--if [ -n "$USEPEERDNS" -a -f /etc/ppp/resolv.conf ]; then
--      rm -f /etc/ppp/resolv.prev
-+if [ -n "$USEPEERDNS" -a -f /var/run/ppp/resolv.conf ]; then
-+      rm -f /var/run/ppp/resolv.prev
-       if [ -f /etc/resolv.conf ]; then
--              cp /etc/resolv.conf /etc/ppp/resolv.prev
--              grep domain /etc/ppp/resolv.prev > /etc/resolv.conf
--              grep search /etc/ppp/resolv.prev >> /etc/resolv.conf
--              cat /etc/ppp/resolv.conf >> /etc/resolv.conf
-+              cp /etc/resolv.conf /var/run/ppp/resolv.prev
-+              rscf=/var/run/ppp/resolv.new
-+              grep domain /var/run/ppp/resolv.prev > $rscf
-+              grep search /var/run/ppp/resolv.prev >> $rscf
-+              change_resolv_conf $rscf
-+              rm -f $rscf
-       else
--              cp /etc/ppp/resolv.conf /etc
-+              change_resolv_conf /var/run/ppp/resolv.conf
-       fi
- fi
--- 
-1.8.3.1
-
diff --git a/ppp/patches/0007-build-sys-don-t-strip-binaries-during-installation.patch b/ppp/patches/0007-build-sys-don-t-strip-binaries-during-installation.patch
deleted file mode 100644 (file)
index e4881ef..0000000
+++ /dev/null
@@ -1,111 +0,0 @@
-From b9fb631a493c5f1b490c8e9645eb6ebab4b25cc8 Mon Sep 17 00:00:00 2001
-From: Michal Sekletar <msekleta@redhat.com>
-Date: Fri, 4 Apr 2014 18:37:00 +0200
-Subject: [PATCH 07/25] build-sys: don't strip binaries during installation
-
-We don't want that when building rpms. rpmbuild does final stripping of binaries
-for us and generetes debuginfo rpm.
----
- chat/Makefile.linux                  | 2 +-
- pppd/Makefile.linux                  | 4 ++--
- pppd/plugins/radius/Makefile.linux   | 6 +++---
- pppd/plugins/rp-pppoe/Makefile.linux | 4 ++--
- pppdump/Makefile.linux               | 2 +-
- pppstats/Makefile.linux              | 2 +-
- 6 files changed, 10 insertions(+), 10 deletions(-)
-
-diff --git a/chat/Makefile.linux b/chat/Makefile.linux
-index 848cd8d..2445637 100644
---- a/chat/Makefile.linux
-+++ b/chat/Makefile.linux
-@@ -25,7 +25,7 @@ chat.o:      chat.c
- install: chat
-       mkdir -p $(BINDIR) $(MANDIR)
--      $(INSTALL) -s -c chat $(BINDIR)
-+      $(INSTALL) -c chat $(BINDIR)
-       $(INSTALL) -c -m 644 chat.8 $(MANDIR)
- clean:
-diff --git a/pppd/Makefile.linux b/pppd/Makefile.linux
-index 8ed56c1..4f27100 100644
---- a/pppd/Makefile.linux
-+++ b/pppd/Makefile.linux
-@@ -102,7 +102,7 @@ ifdef USE_SRP
- CFLAGS        += -DUSE_SRP -DOPENSSL -I/usr/local/ssl/include
- LIBS  += -lsrp -L/usr/local/ssl/lib -lcrypto
- TARGETS       += srp-entry
--EXTRAINSTALL = $(INSTALL) -s -c -m 555 srp-entry $(BINDIR)/srp-entry
-+EXTRAINSTALL = $(INSTALL) -c -m 555 srp-entry $(BINDIR)/srp-entry
- MANPAGES += srp-entry.8
- EXTRACLEAN += srp-entry.o
- NEEDDES=y
-@@ -208,7 +208,7 @@ all: $(TARGETS)
- install: pppd
-       mkdir -p $(BINDIR) $(MANDIR)
-       $(EXTRAINSTALL)
--      $(INSTALL) -s -c -m 555 pppd $(BINDIR)/pppd
-+      $(INSTALL) -c -m 555 pppd $(BINDIR)/pppd
-       if chgrp pppusers $(BINDIR)/pppd 2>/dev/null; then \
-         chmod o-rx,u+s $(BINDIR)/pppd; fi
-       $(INSTALL) -c -m 444 pppd.8 $(MANDIR)
-diff --git a/pppd/plugins/radius/Makefile.linux b/pppd/plugins/radius/Makefile.linux
-index 179d0b7..707326b 100644
---- a/pppd/plugins/radius/Makefile.linux
-+++ b/pppd/plugins/radius/Makefile.linux
-@@ -36,9 +36,9 @@ all: $(PLUGIN)
- install: all
-       $(INSTALL) -d -m 755 $(LIBDIR)
--      $(INSTALL) -s -c -m 755 radius.so $(LIBDIR)
--      $(INSTALL) -s -c -m 755 radattr.so $(LIBDIR)
--      $(INSTALL) -s -c -m 755 radrealms.so $(LIBDIR)
-+      $(INSTALL) -c -m 755 radius.so $(LIBDIR)
-+      $(INSTALL) -c -m 755 radattr.so $(LIBDIR)
-+      $(INSTALL) -c -m 755 radrealms.so $(LIBDIR)
-       $(INSTALL) -c -m 444 pppd-radius.8 $(MANDIR)
-       $(INSTALL) -c -m 444 pppd-radattr.8 $(MANDIR)
-diff --git a/pppd/plugins/rp-pppoe/Makefile.linux b/pppd/plugins/rp-pppoe/Makefile.linux
-index 1305ed8..3cd9101 100644
---- a/pppd/plugins/rp-pppoe/Makefile.linux
-+++ b/pppd/plugins/rp-pppoe/Makefile.linux
-@@ -43,9 +43,9 @@ rp-pppoe.so: plugin.o discovery.o if.o common.o
- install: all
-       $(INSTALL) -d -m 755 $(LIBDIR)
--      $(INSTALL) -s -c -m 4550 rp-pppoe.so $(LIBDIR)
-+      $(INSTALL) -c -m 4550 rp-pppoe.so $(LIBDIR)
-       $(INSTALL) -d -m 755 $(BINDIR)
--      $(INSTALL) -s -c -m 555 pppoe-discovery $(BINDIR)
-+      $(INSTALL) -c -m 555 pppoe-discovery $(BINDIR)
- clean:
-       rm -f *.o *.so pppoe-discovery
-diff --git a/pppdump/Makefile.linux b/pppdump/Makefile.linux
-index d0a5032..95c6805 100644
---- a/pppdump/Makefile.linux
-+++ b/pppdump/Makefile.linux
-@@ -17,5 +17,5 @@ clean:
- install:
-       mkdir -p $(BINDIR) $(MANDIR)
--      $(INSTALL) -s -c pppdump $(BINDIR)
-+      $(INSTALL) -c pppdump $(BINDIR)
-       $(INSTALL) -c -m 444 pppdump.8 $(MANDIR)
-diff --git a/pppstats/Makefile.linux b/pppstats/Makefile.linux
-index 42aba73..c5ba3b1 100644
---- a/pppstats/Makefile.linux
-+++ b/pppstats/Makefile.linux
-@@ -22,7 +22,7 @@ all: pppstats
- install: pppstats
-       -mkdir -p $(MANDIR)
--      $(INSTALL) -s -c pppstats $(BINDIR)
-+      $(INSTALL) -c pppstats $(BINDIR)
-       $(INSTALL) -c -m 444 pppstats.8 $(MANDIR)
- pppstats: $(PPPSTATSRCS)
--- 
-1.8.3.1
-
diff --git a/ppp/patches/0008-build-sys-use-prefix-usr-instead-of-usr-local.patch b/ppp/patches/0008-build-sys-use-prefix-usr-instead-of-usr-local.patch
deleted file mode 100644 (file)
index 5d08b11..0000000
+++ /dev/null
@@ -1,89 +0,0 @@
-From 343728d5de6e44bd67923503e62eefaad50760a4 Mon Sep 17 00:00:00 2001
-From: Michal Sekletar <msekleta@redhat.com>
-Date: Fri, 4 Apr 2014 18:47:01 +0200
-Subject: [PATCH 08/25] build-sys: use prefix /usr instead of /usr/local
-
----
- configure           | 2 +-
- pppd/Makefile.linux | 4 ++--
- scripts/ppp-on-rsh  | 2 +-
- scripts/ppp-on-ssh  | 4 ++--
- scripts/secure-card | 2 +-
- 5 files changed, 7 insertions(+), 7 deletions(-)
-
-diff --git a/configure b/configure
-index 6a55e0f..db54d77 100755
---- a/configure
-+++ b/configure
-@@ -2,7 +2,7 @@
- # $Id: configure,v 1.38 2008/06/15 07:08:49 paulus Exp $
- # Where to install stuff by default
--DESTDIR=/usr/local
-+DESTDIR=/usr
- SYSCONF=/etc
- #  if [ -d /NextApps ]; then
-diff --git a/pppd/Makefile.linux b/pppd/Makefile.linux
-index 4f27100..95c2598 100644
---- a/pppd/Makefile.linux
-+++ b/pppd/Makefile.linux
-@@ -99,8 +99,8 @@ endif
- # EAP SRP-SHA1
- ifdef USE_SRP
--CFLAGS        += -DUSE_SRP -DOPENSSL -I/usr/local/ssl/include
--LIBS  += -lsrp -L/usr/local/ssl/lib -lcrypto
-+CFLAGS        += -DUSE_SRP -DOPENSSL -I/usr/include/openssl
-+LIBS  += -lsrp -L/usr/lib -lcrypto
- TARGETS       += srp-entry
- EXTRAINSTALL = $(INSTALL) -c -m 555 srp-entry $(BINDIR)/srp-entry
- MANPAGES += srp-entry.8
-diff --git a/scripts/ppp-on-rsh b/scripts/ppp-on-rsh
-index 30a50db..a80616a 100755
---- a/scripts/ppp-on-rsh
-+++ b/scripts/ppp-on-rsh
-@@ -26,7 +26,7 @@ PPPD_RHOST=myremotehost
- # For this example, we assume that pppd on both local and remote
- # machines reside in the same place, /usr/local/bin/pppd
- #
--PPPD_LOC=/usr/local/bin/pppd
-+PPPD_LOC=/usr/sbin/pppd
- #
- # The location of local options file (where rsh client is running).
-diff --git a/scripts/ppp-on-ssh b/scripts/ppp-on-ssh
-index 0e41aca..c27e80a 100755
---- a/scripts/ppp-on-ssh
-+++ b/scripts/ppp-on-ssh
-@@ -26,7 +26,7 @@ PPPD_RHOST=myremotehost
- # For this example, we assume that pppd on both local and remote
- # machines reside in the same place, /usr/local/bin/pppd
- #
--PPPD_LOC=/usr/local/bin/pppd
-+PPPD_LOC=/usr/sbin/pppd
- #
- # The location of local options file (where ssh client is running).
-@@ -52,7 +52,7 @@ PPPD_REM_OPT=/etc/ppp/options-ssh-rem
- #
- # The location of ssh client on the local machine
- #
--SSH_LOC=/usr/local/bin/ssh
-+SSH_LOC=/usr/bin/ssh
- export PPPD_LOC PPPD_LOC_OPT PPPD_REM_OPT PPPD_RHOST SSH_LOC
-diff --git a/scripts/secure-card b/scripts/secure-card
-index 0002365..ae3ae50 100755
---- a/scripts/secure-card
-+++ b/scripts/secure-card
-@@ -1,4 +1,4 @@
--#!/usr/local/bin/expect -f
-+#!/usr/bin/expect -f
- #
- # This  script was  written  by  Jim Isaacson  <jcisaac@crl.com>.  It is
- # designed to work  as a script to use the  SecureCARD(tm) device.  This
--- 
-1.8.3.1
-
diff --git a/ppp/patches/0009-pppd-introduce-ipv6-accept-remote.patch b/ppp/patches/0009-pppd-introduce-ipv6-accept-remote.patch
deleted file mode 100644 (file)
index 28a51cf..0000000
+++ /dev/null
@@ -1,57 +0,0 @@
-From abef895f9d144f05a83045136b77277352dc450f Mon Sep 17 00:00:00 2001
-From: David Woodhouse <dwmw2@fedoraproject.org>
-Date: Fri, 4 Apr 2014 18:53:33 +0200
-Subject: [PATCH 09/25] pppd: introduce ipv6-accept-remote
-
----
- pppd/ipv6cp.c | 5 ++++-
- pppd/ipv6cp.h | 3 ++-
- 2 files changed, 6 insertions(+), 2 deletions(-)
-
-diff --git a/pppd/ipv6cp.c b/pppd/ipv6cp.c
-index caa2b26..5a56c95 100644
---- a/pppd/ipv6cp.c
-+++ b/pppd/ipv6cp.c
-@@ -245,6 +245,8 @@ static option_t ipv6cp_option_list[] = {
-     { "ipv6cp-accept-local", o_bool, &ipv6cp_allowoptions[0].accept_local,
-       "Accept peer's interface identifier for us", 1 },
-+    { "ipv6cp-accept-remote", o_bool, &ipv6cp_allowoptions[0].accept_remote,
-+      "Accept peer's interface identifier for itself", 1 },
-     { "ipv6cp-use-ipaddr", o_bool, &ipv6cp_allowoptions[0].use_ip,
-       "Use (default) IPv4 address as interface identifier", 1 },
-@@ -437,6 +439,7 @@ ipv6cp_init(unit)
-     memset(ao, 0, sizeof(*ao));
-     wo->accept_local = 1;
-+    wo->accept_remote = 1;
-     wo->neg_ifaceid = 1;
-     ao->neg_ifaceid = 1;
-@@ -962,7 +965,7 @@ ipv6cp_reqci(f, inp, len, reject_if_disagree)
-               orc = CONFREJ;          /* Reject CI */
-               break;
-           }
--          if (!eui64_iszero(wo->hisid) && 
-+          if (!eui64_iszero(wo->hisid) && !wo->accept_remote &&
-               !eui64_equals(ifaceid, wo->hisid) && 
-               eui64_iszero(go->hisid)) {
-                   
-diff --git a/pppd/ipv6cp.h b/pppd/ipv6cp.h
-index cc4568d..8c7552e 100644
---- a/pppd/ipv6cp.h
-+++ b/pppd/ipv6cp.h
-@@ -150,7 +150,8 @@
- typedef struct ipv6cp_options {
-     int neg_ifaceid;          /* Negotiate interface identifier? */
-     int req_ifaceid;          /* Ask peer to send interface identifier? */
--    int accept_local;         /* accept peer's value for iface id? */
-+    int accept_local;         /* accept peer's value for our iface id? */
-+    int accept_remote;                /* accept peer's value for his iface id? */
-     int opt_local;            /* ourtoken set by option */
-     int opt_remote;           /* histoken set by option */
-     int use_ip;                       /* use IP as interface identifier */
--- 
-1.8.3.1
-
diff --git a/ppp/patches/0010-build-sys-enable-CBCP.patch b/ppp/patches/0010-build-sys-enable-CBCP.patch
deleted file mode 100644 (file)
index 2de5941..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-From 8015a0ef23a874f288d5e77ffafe1d7f4281725d Mon Sep 17 00:00:00 2001
-From: Michal Sekletar <msekleta@redhat.com>
-Date: Fri, 4 Apr 2014 18:59:24 +0200
-Subject: [PATCH 10/25] build-sys: enable CBCP
-
-Resolves: #199278
----
- pppd/Makefile.linux | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/pppd/Makefile.linux b/pppd/Makefile.linux
-index 95c2598..65700fa 100644
---- a/pppd/Makefile.linux
-+++ b/pppd/Makefile.linux
-@@ -68,7 +68,7 @@ HAVE_INET6=y
- PLUGIN=y
- # Enable Microsoft proprietary Callback Control Protocol
--#CBCP=y
-+CBCP=y
- # Enable EAP SRP-SHA1 authentication (requires libsrp)
- #USE_SRP=y
--- 
-1.8.3.1
-
diff --git a/ppp/patches/0011-build-sys-don-t-put-connect-errors-log-to-etc-ppp.patch b/ppp/patches/0011-build-sys-don-t-put-connect-errors-log-to-etc-ppp.patch
deleted file mode 100644 (file)
index f1a0d5f..0000000
+++ /dev/null
@@ -1,77 +0,0 @@
-From b4ef433be936c90e356da7a590b032cdee219a3f Mon Sep 17 00:00:00 2001
-From: Michal Sekletar <msekleta@redhat.com>
-Date: Fri, 4 Apr 2014 19:06:05 +0200
-Subject: [PATCH 11/25] build-sys: don't put connect-errors log to /etc/ppp/
-
-Resolves: #118837
----
- chat/chat.8        | 2 +-
- linux/Makefile.top | 8 +++++++-
- pppd/pathnames.h   | 4 ++--
- 3 files changed, 10 insertions(+), 4 deletions(-)
-
-diff --git a/chat/chat.8 b/chat/chat.8
-index 6d10836..78d6939 100644
---- a/chat/chat.8
-+++ b/chat/chat.8
-@@ -200,7 +200,7 @@ The \fBSAY\fR directive allows the script to send strings to the user
- at the terminal via standard error.  If \fBchat\fR is being run by
- pppd, and pppd is running as a daemon (detached from its controlling
- terminal), standard error will normally be redirected to the file
--/etc/ppp/connect\-errors.
-+/var/log/ppp/connect\-errors.
- .LP
- \fBSAY\fR strings must be enclosed in single or double quotes. If
- carriage return and line feed are needed in the string to be output,
-diff --git a/linux/Makefile.top b/linux/Makefile.top
-index f63d45e..f42efd5 100644
---- a/linux/Makefile.top
-+++ b/linux/Makefile.top
-@@ -5,6 +5,8 @@ BINDIR = $(DESTDIR)/sbin
- INCDIR = $(DESTDIR)/include
- MANDIR = $(DESTDIR)/share/man
- ETCDIR = $(INSTROOT)@SYSCONF@/ppp
-+RUNDIR = $(DESTDIR)/var/run/ppp
-+LOGDIR = $(DESTDIR)/var/log/ppp
- # uid 0 = root
- INSTALL= install
-@@ -16,7 +18,7 @@ all:
-       cd pppstats; $(MAKE) $(MFLAGS) all
-       cd pppdump; $(MAKE) $(MFLAGS) all
--install: $(BINDIR) $(MANDIR)/man8 install-progs install-devel
-+install: $(BINDIR) $(RUNDIR) $(LOGDIR) $(MANDIR)/man8 install-progs install-devel
- install-progs:
-       cd chat; $(MAKE) $(MFLAGS) install
-@@ -44,6 +46,10 @@ $(MANDIR)/man8:
-       $(INSTALL) -d -m 755 $@
- $(ETCDIR):
-       $(INSTALL) -d -m 755 $@
-+$(RUNDIR):
-+      $(INSTALL) -d -m 755 $@
-+$(LOGDIR):
-+      $(INSTALL) -d -m 755 $@
- clean:
-       rm -f `find . -name '*.[oas]' -print`
-diff --git a/pppd/pathnames.h b/pppd/pathnames.h
-index a427cb8..bef3160 100644
---- a/pppd/pathnames.h
-+++ b/pppd/pathnames.h
-@@ -28,9 +28,9 @@
- #define _PATH_AUTHUP   _ROOT_PATH "/etc/ppp/auth-up"
- #define _PATH_AUTHDOWN         _ROOT_PATH "/etc/ppp/auth-down"
- #define _PATH_TTYOPT   _ROOT_PATH "/etc/ppp/options."
--#define _PATH_CONNERRS         _ROOT_PATH "/etc/ppp/connect-errors"
-+#define _PATH_CONNERRS         _ROOT_PATH "/var/log/ppp/connect-errors"
- #define _PATH_PEERFILES        _ROOT_PATH "/etc/ppp/peers/"
--#define _PATH_RESOLV   _ROOT_PATH "/etc/ppp/resolv.conf"
-+#define _PATH_RESOLV   _ROOT_PATH "/var/run/ppp/resolv.conf"
- #define _PATH_USEROPT  ".ppprc"
- #define       _PATH_PSEUDONYM  ".ppp_pseudonym"
--- 
-1.8.3.1
-
diff --git a/ppp/patches/0014-everywhere-use-SOCK_CLOEXEC-when-creating-socket.patch b/ppp/patches/0014-everywhere-use-SOCK_CLOEXEC-when-creating-socket.patch
deleted file mode 100644 (file)
index 3475f09..0000000
+++ /dev/null
@@ -1,174 +0,0 @@
-From 2a97ab28ee00586e5f06b3ef3a0e43ea0c7c6499 Mon Sep 17 00:00:00 2001
-From: Michal Sekletar <msekleta@redhat.com>
-Date: Mon, 7 Apr 2014 14:21:41 +0200
-Subject: [PATCH 14/25] everywhere: use SOCK_CLOEXEC when creating socket
-
----
- pppd/plugins/pppoatm/pppoatm.c          |  2 +-
- pppd/plugins/pppol2tp/openl2tp.c        |  2 +-
- pppd/plugins/pppol2tp/pppol2tp.c        |  2 +-
- pppd/plugins/rp-pppoe/if.c              |  2 +-
- pppd/plugins/rp-pppoe/plugin.c          |  6 +++---
- pppd/plugins/rp-pppoe/pppoe-discovery.c |  2 +-
- pppd/sys-linux.c                        | 10 +++++-----
- pppd/tty.c                              |  2 +-
- 8 files changed, 14 insertions(+), 14 deletions(-)
-
-diff --git a/pppd/plugins/pppoatm/pppoatm.c b/pppd/plugins/pppoatm/pppoatm.c
-index d693350..c31bb34 100644
---- a/pppd/plugins/pppoatm/pppoatm.c
-+++ b/pppd/plugins/pppoatm/pppoatm.c
-@@ -135,7 +135,7 @@ static int connect_pppoatm(void)
-       if (!device_got_set)
-               no_device_given_pppoatm();
--      fd = socket(AF_ATMPVC, SOCK_DGRAM, 0);
-+      fd = socket(AF_ATMPVC, SOCK_DGRAM | SOCK_CLOEXEC, 0);
-       if (fd < 0)
-               fatal("failed to create socket: %m");
-       memset(&qos, 0, sizeof qos);
-diff --git a/pppd/plugins/pppol2tp/openl2tp.c b/pppd/plugins/pppol2tp/openl2tp.c
-index 9643b96..1099575 100644
---- a/pppd/plugins/pppol2tp/openl2tp.c
-+++ b/pppd/plugins/pppol2tp/openl2tp.c
-@@ -83,7 +83,7 @@ static int openl2tp_client_create(void)
-       int result;
-       if (openl2tp_fd < 0) {
--              openl2tp_fd = socket(PF_UNIX, SOCK_DGRAM, 0);
-+              openl2tp_fd = socket(PF_UNIX, SOCK_DGRAM | SOCK_CLOEXEC, 0);
-               if (openl2tp_fd < 0) {
-                       error("openl2tp connection create: %m");
-                       return -ENOTCONN;
-diff --git a/pppd/plugins/pppol2tp/pppol2tp.c b/pppd/plugins/pppol2tp/pppol2tp.c
-index a7e3400..e64a778 100644
---- a/pppd/plugins/pppol2tp/pppol2tp.c
-+++ b/pppd/plugins/pppol2tp/pppol2tp.c
-@@ -208,7 +208,7 @@ static void send_config_pppol2tp(int mtu,
-               struct ifreq ifr;
-               int fd;
--              fd = socket(AF_INET, SOCK_DGRAM, 0);
-+              fd = socket(AF_INET, SOCK_DGRAM | SOCK_CLOEXEC, 0);
-               if (fd >= 0) {
-                       memset (&ifr, '\0', sizeof (ifr));
-                       strlcpy(ifr.ifr_name, ifname, sizeof(ifr.ifr_name));
-diff --git a/pppd/plugins/rp-pppoe/if.c b/pppd/plugins/rp-pppoe/if.c
-index 91e9a57..72aba41 100644
---- a/pppd/plugins/rp-pppoe/if.c
-+++ b/pppd/plugins/rp-pppoe/if.c
-@@ -116,7 +116,7 @@ openInterface(char const *ifname, UINT16_t type, unsigned char *hwaddr)
-     stype = SOCK_PACKET;
- #endif
--    if ((fd = socket(domain, stype, htons(type))) < 0) {
-+    if ((fd = socket(domain, stype | SOCK_CLOEXEC, htons(type))) < 0) {
-       /* Give a more helpful message for the common error case */
-       if (errno == EPERM) {
-           fatal("Cannot create raw socket -- pppoe must be run as root.");
-diff --git a/pppd/plugins/rp-pppoe/plugin.c b/pppd/plugins/rp-pppoe/plugin.c
-index a8c2bb4..24bdf8f 100644
---- a/pppd/plugins/rp-pppoe/plugin.c
-+++ b/pppd/plugins/rp-pppoe/plugin.c
-@@ -137,7 +137,7 @@ PPPOEConnectDevice(void)
-     /* server equipment).                                                  */
-     /* Opening this socket just before waitForPADS in the discovery()      */
-     /* function would be more appropriate, but it would mess-up the code   */
--    conn->sessionSocket = socket(AF_PPPOX, SOCK_STREAM, PX_PROTO_OE);
-+    conn->sessionSocket = socket(AF_PPPOX, SOCK_STREAM | SOCK_CLOEXEC, PX_PROTO_OE);
-     if (conn->sessionSocket < 0) {
-       error("Failed to create PPPoE socket: %m");
-       return -1;
-@@ -148,7 +148,7 @@ PPPOEConnectDevice(void)
-     lcp_wantoptions[0].mru = conn->mru;
-     /* Update maximum MRU */
--    s = socket(AF_INET, SOCK_DGRAM, 0);
-+    s = socket(AF_INET, SOCK_DGRAM | SOCK_CLOEXEC, 0);
-     if (s < 0) {
-       error("Can't get MTU for %s: %m", conn->ifName);
-       goto errout;
-@@ -320,7 +320,7 @@ PPPoEDevnameHook(char *cmd, char **argv, int doit)
-     }
-     /* Open a socket */
--    if ((fd = socket(PF_PACKET, SOCK_RAW, 0)) < 0) {
-+    if ((fd = socket(PF_PACKET, SOCK_RAW | SOCK_CLOEXEC, 0)) < 0) {
-       r = 0;
-     }
-diff --git a/pppd/plugins/rp-pppoe/pppoe-discovery.c b/pppd/plugins/rp-pppoe/pppoe-discovery.c
-index 3d3bf4e..c0d927d 100644
---- a/pppd/plugins/rp-pppoe/pppoe-discovery.c
-+++ b/pppd/plugins/rp-pppoe/pppoe-discovery.c
-@@ -121,7 +121,7 @@ openInterface(char const *ifname, UINT16_t type, unsigned char *hwaddr)
-     stype = SOCK_PACKET;
- #endif
--    if ((fd = socket(domain, stype, htons(type))) < 0) {
-+    if ((fd = socket(domain, stype | SOCK_CLOEXEC, htons(type))) < 0) {
-       /* Give a more helpful message for the common error case */
-       if (errno == EPERM) {
-           rp_fatal("Cannot create raw socket -- pppoe must be run as root.");
-diff --git a/pppd/sys-linux.c b/pppd/sys-linux.c
-index 00a2cf5..0690019 100644
---- a/pppd/sys-linux.c
-+++ b/pppd/sys-linux.c
-@@ -308,12 +308,12 @@ static int modify_flags(int fd, int clear_bits, int set_bits)
- void sys_init(void)
- {
-     /* Get an internet socket for doing socket ioctls. */
--    sock_fd = socket(AF_INET, SOCK_DGRAM, 0);
-+    sock_fd = socket(AF_INET, SOCK_DGRAM | SOCK_CLOEXEC, 0);
-     if (sock_fd < 0)
-       fatal("Couldn't create IP socket: %m(%d)", errno);
- #ifdef INET6
--    sock6_fd = socket(AF_INET6, SOCK_DGRAM, 0);
-+    sock6_fd = socket(AF_INET6, SOCK_DGRAM | SOCK_CLOEXEC, 0);
-     if (sock6_fd < 0)
-       sock6_fd = -errno;      /* save errno for later */
- #endif
-@@ -1857,7 +1857,7 @@ get_if_hwaddr(u_char *addr, char *name)
-       struct ifreq ifreq;
-       int ret, sock_fd;
--      sock_fd = socket(AF_INET, SOCK_DGRAM, 0);
-+      sock_fd = socket(AF_INET, SOCK_DGRAM | SOCK_CLOEXEC, 0);
-       if (sock_fd < 0)
-               return 0;
-       memset(&ifreq.ifr_hwaddr, 0, sizeof(struct sockaddr));
-@@ -2067,7 +2067,7 @@ int ppp_available(void)
- /*
-  * Open a socket for doing the ioctl operations.
-  */
--    s = socket(AF_INET, SOCK_DGRAM, 0);
-+    s = socket(AF_INET, SOCK_DGRAM | SOCK_CLOEXEC, 0);
-     if (s < 0)
-       return 0;
-@@ -2860,7 +2860,7 @@ ether_to_eui64(eui64_t *p_eui64)
-     int skfd;
-     const unsigned char *ptr;
--    skfd = socket(PF_INET6, SOCK_DGRAM, 0);
-+    skfd = socket(PF_INET6, SOCK_DGRAM | SOCK_CLOEXEC, 0);
-     if(skfd == -1)
-     {
-         warn("could not open IPv6 socket");
-diff --git a/pppd/tty.c b/pppd/tty.c
-index bc96695..8e76a5d 100644
---- a/pppd/tty.c
-+++ b/pppd/tty.c
-@@ -896,7 +896,7 @@ open_socket(dest)
-     *sep = ':';
-     /* get a socket and connect it to the other end */
--    sock = socket(PF_INET, SOCK_STREAM, 0);
-+    sock = socket(PF_INET, SOCK_STREAM | SOCK_CLOEXEC, 0);
-     if (sock < 0) {
-       error("Can't create socket: %m");
-       return -1;
--- 
-1.8.3.1
-
diff --git a/ppp/patches/0015-pppd-move-pppd-database-to-var-run-ppp.patch b/ppp/patches/0015-pppd-move-pppd-database-to-var-run-ppp.patch
deleted file mode 100644 (file)
index f6ae8f7..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-From f2c855462ff56be4121409c7e048cd2503fe0ccf Mon Sep 17 00:00:00 2001
-From: Jiri Skala <jskala@fedoraproject.org>
-Date: Mon, 7 Apr 2014 14:26:20 +0200
-Subject: [PATCH 15/25] pppd: move pppd database to /var/run/ppp
-
-Resolves: #560014
----
- pppd/pathnames.h | 11 ++++-------
- 1 file changed, 4 insertions(+), 7 deletions(-)
-
-diff --git a/pppd/pathnames.h b/pppd/pathnames.h
-index bef3160..24e010c 100644
---- a/pppd/pathnames.h
-+++ b/pppd/pathnames.h
-@@ -6,8 +6,9 @@
- #ifdef HAVE_PATHS_H
- #include <paths.h>
--
-+#define _PPP_SUBDIR   "ppp/"
- #else /* HAVE_PATHS_H */
-+#define _PPP_SUBDIR
- #ifndef _PATH_VARRUN
- #define _PATH_VARRUN  "/etc/ppp/"
- #endif
-@@ -46,13 +47,9 @@
- #endif /* IPX_CHANGE */
- #ifdef __STDC__
--#define _PATH_PPPDB   _ROOT_PATH _PATH_VARRUN "pppd2.tdb"
-+#define _PATH_PPPDB   _ROOT_PATH _PATH_VARRUN _PPP_SUBDIR "pppd2.tdb"
- #else /* __STDC__ */
--#ifdef HAVE_PATHS_H
--#define _PATH_PPPDB   "/var/run/pppd2.tdb"
--#else
--#define _PATH_PPPDB   "/etc/ppp/pppd2.tdb"
--#endif
-+#define _PATH_PPPDB   _PATH_VARRUN _PPP_SUBDIR "pppd2.tdb"
- #endif /* __STDC__ */
- #ifdef PLUGIN
--- 
-1.8.3.1
-
diff --git a/ppp/patches/0016-rp-pppoe-add-manpage-for-pppoe-discovery.patch b/ppp/patches/0016-rp-pppoe-add-manpage-for-pppoe-discovery.patch
deleted file mode 100644 (file)
index af89fc8..0000000
+++ /dev/null
@@ -1,126 +0,0 @@
-From a30efa2cc99a5b6ab220de04cbcc7db38888a17a Mon Sep 17 00:00:00 2001
-From: Michal Sekletar <msekleta@redhat.com>
-Date: Mon, 7 Apr 2014 14:29:45 +0200
-Subject: [PATCH 16/25] rp-pppoe: add manpage for pppoe-discovery
-
----
- pppd/plugins/rp-pppoe/Makefile.linux    |  2 +
- pppd/plugins/rp-pppoe/pppoe-discovery.8 | 86 +++++++++++++++++++++++++++++++++
- 2 files changed, 88 insertions(+)
- create mode 100644 pppd/plugins/rp-pppoe/pppoe-discovery.8
-
-diff --git a/pppd/plugins/rp-pppoe/Makefile.linux b/pppd/plugins/rp-pppoe/Makefile.linux
-index 3cd9101..9918091 100644
---- a/pppd/plugins/rp-pppoe/Makefile.linux
-+++ b/pppd/plugins/rp-pppoe/Makefile.linux
-@@ -16,6 +16,7 @@
- DESTDIR = $(INSTROOT)@DESTDIR@
- BINDIR = $(DESTDIR)/sbin
-+MANDIR = $(DESTDIR)/share/man/man8
- LIBDIR = $(DESTDIR)/lib/$(shell gcc -print-multi-os-directory 2> /dev/null)/pppd/$(PPPDVERSION)
- PPPDVERSION = $(shell awk -F '"' '/VERSION/ { print $$2; }' ../../patchlevel.h)
-@@ -46,6 +47,7 @@ install: all
-       $(INSTALL) -c -m 4550 rp-pppoe.so $(LIBDIR)
-       $(INSTALL) -d -m 755 $(BINDIR)
-       $(INSTALL) -c -m 555 pppoe-discovery $(BINDIR)
-+      $(INSTALL) -c -m 444 pppoe-discovery.8 $(MANDIR)
- clean:
-       rm -f *.o *.so pppoe-discovery
-diff --git a/pppd/plugins/rp-pppoe/pppoe-discovery.8 b/pppd/plugins/rp-pppoe/pppoe-discovery.8
-new file mode 100644
-index 0000000..d0a93db
---- /dev/null
-+++ b/pppd/plugins/rp-pppoe/pppoe-discovery.8
-@@ -0,0 +1,86 @@
-+.\" pppoe-discovery.8 written by
-+.\" Ben Hutchings <ben@decadentplace.org.uk>, based on pppoe.8.
-+.\" Licenced under the GPL version 2 or later.
-+.TH PPPOE-DISCOVERY 8
-+.SH NAME
-+pppoe\-discovery \- perform PPPoE discovery
-+.SH SYNOPSIS
-+.B pppoe\-discovery
-+[
-+.I options
-+]
-+.br
-+.BR pppoe\-discovery " { " \-V " | " \-h " }"
-+.SH DESCRIPTION
-+.LP
-+\fBpppoe\-discovery\fR performs the same discovery process as
-+\fBpppoe\fR, but does not initiate a session.
-+It sends a PADI packet and then prints the names of access
-+concentrators in each PADO packet it receives.
-+.SH OPTIONS
-+.TP
-+.BI \-I " interface"
-+.RS
-+The \fB\-I\fR option specifies the Ethernet interface to use.
-+Under Linux, it is typically eth0 or eth1.
-+The interface should be \(lqup\(rq before you start
-+\fBpppoe\-discovery\fR, but should \fInot\fR be configured to have an
-+IP address.
-+The default interface is eth0.
-+.RE
-+.TP
-+.BI \-D " file_name"
-+.RS
-+The \fB\-D\fR option causes every packet to be dumped to the specified
-+\fIfile_name\fR.
-+This is intended for debugging only.
-+.RE
-+.TP
-+.B \-U
-+.RS
-+Causes \fBpppoe\-discovery\fR to use the Host-Uniq tag in its discovery
-+packets.
-+This lets you run multiple instances of \fBpppoe\-discovery\fR and/or
-+\fBpppoe\fR without having their discovery packets interfere with one
-+another.
-+You must supply this option to \fIall\fR instances that you intend to
-+run simultaneously.
-+.RE
-+.TP
-+.BI \-S " service_name"
-+.RS
-+Specifies the desired service name.
-+\fBpppoe\-discovery\fR will only accept access concentrators which can
-+provide the specified service.
-+In most cases, you should \fInot\fR specify this option.
-+Use it only if you know that there are multiple access concentrators
-+or know that you need a specific service name.
-+.RE
-+.TP
-+.BI \-C " ac_name"
-+.RS
-+Specifies the desired access concentrator name.
-+\fBpppoe\-discovery\fR will only accept the specified access
-+concentrator.
-+In most cases, you should \fInot\fR specify this option.
-+Use it only if you know that there are multiple access concentrators.
-+If both the \fB\-S\fR and \fB\-C\fR options are specified, they must
-+\fIboth\fR match.
-+.RE
-+.TP
-+.B \-A
-+.RS
-+This option is accepted for compatibility with \fBpppoe\fR, but has no
-+effect.
-+.RE
-+.TP
-+.BR \-V " | " \-h
-+.RS
-+Either of these options causes \fBpppoe\-discovery\fR to print its
-+version number and usage information, then exit.
-+.RE
-+.SH AUTHORS
-+\fBpppoe\-discovery\fR was written by Marco d'Itri <md@linux.it>,
-+based on \fBpppoe\fR by David F. Skoll <dfs@roaringpenguin.com>.
-+.SH SEE ALSO
-+pppoe(8), pppoe-sniff(8)
--- 
-1.8.3.1
-
diff --git a/ppp/patches/0017-pppd-rebase-EAP-TLS-patch-v0.994.patch b/ppp/patches/0017-pppd-rebase-EAP-TLS-patch-v0.994.patch
deleted file mode 100644 (file)
index b9053a6..0000000
+++ /dev/null
@@ -1,3045 +0,0 @@
-From 044a5b1e5d878c519143b71a44b3d5b0ca91de3b Mon Sep 17 00:00:00 2001
-From: Michal Sekletar <msekleta@redhat.com>
-Date: Mon, 7 Apr 2014 14:56:56 +0200
-Subject: [PATCH 17/25] pppd: rebase EAP-TLS patch v0.994
-
----
- README.eap-tls              |  169 +++++++
- etc.ppp/eaptls-client       |   10 +
- etc.ppp/eaptls-server       |   11 +
- etc.ppp/openssl.cnf         |   14 +
- linux/Makefile.top          |    6 +-
- pppd/Makefile.linux         |   12 +
- pppd/auth.c                 |  414 ++++++++++++++-
- pppd/ccp.c                  |   20 +-
- pppd/chap-md5.c             |    4 +
- pppd/eap-tls.c              | 1174 +++++++++++++++++++++++++++++++++++++++++++
- pppd/eap-tls.h              |  107 ++++
- pppd/eap.c                  |  462 ++++++++++++++++-
- pppd/eap.h                  |   32 +-
- pppd/md5.c                  |    3 +
- pppd/md5.h                  |    3 +
- pppd/options.c              |   10 +
- pppd/pathnames.h            |    7 +
- pppd/plugins/Makefile.linux |    3 +
- pppd/plugins/passprompt.c   |    3 +
- pppd/plugins/passwordfd.c   |    4 +
- pppd/pppd.h                 |    8 +
- 21 files changed, 2461 insertions(+), 15 deletions(-)
- create mode 100644 README.eap-tls
- create mode 100644 etc.ppp/eaptls-client
- create mode 100644 etc.ppp/eaptls-server
- create mode 100644 etc.ppp/openssl.cnf
- create mode 100644 pppd/eap-tls.c
- create mode 100644 pppd/eap-tls.h
-
-diff --git a/README.eap-tls b/README.eap-tls
-new file mode 100644
-index 0000000..0a4fee9
---- /dev/null
-+++ b/README.eap-tls
-@@ -0,0 +1,169 @@
-+EAP-TLS authentication support for PPP
-+======================================
-+
-+1. Intro
-+
-+    The Extensible Authentication Protocol (EAP; RFC 3748) is a
-+    security protocol that can be used with PPP.  It provides a means
-+    to plug in multiple optional authentication methods.
-+
-+    Transport Level Security (TLS; RFC 2246) provides for mutual 
-+    authentication, integrity-protected ciphersuite negotiation and 
-+    key exchange between two endpoints.  It also provides for optional
-+    MPPE encryption.
-+
-+    EAP-TLS (RFC 2716) incapsulates the TLS messages in EAP packets,
-+    allowing TLS mutual authentication to be used as a generic EAP
-+    mechanism. It also provides optional encryption using the MPPE
-+    protocol.
-+
-+    This patch provide EAP-TLS support to pppd.
-+    This authentication method can be used in both client or server
-+    mode.
-+
-+2. Building
-+
-+    To build pppd with EAP-TLS support, OpenSSL (http://www.openssl.org)
-+    is required. Any version from 0.9.7 should work.
-+    
-+    Configure, compile, and install as usual. 
-+
-+3. Configuration
-+
-+    On the client side there are two ways to configure EAP-TLS:
-+
-+      1. supply the appropriate 'ca', 'cert' and 'key' command-line parameters
-+
-+      2. edit the /etc/ppp/eaptls-client file.
-+    Insert a line for each system with which you use EAP-TLS.
-+    The line is composed of this fields separated by tab:
-+
-+      - Client name 
-+              The name used by the client for authentication, can be *
-+      - Server name
-+              The name of the server, can be *
-+      - Client certificate file 
-+              The file containing the certificate chain for the 
-+              client in PEM format
-+      - Server certificate file
-+              If you want to specify the certificate that the 
-+              server is allowed to use, put the certificate file name.
-+              Else put a dash '-'.
-+      - CA certificate file
-+              The file containing the trusted CA certificates in PEM
-+              format.
-+      - Client private key file
-+              The file containing the client private key in PEM format.
-+
-+
-+    On the server side edit the /etc/ppp/eaptls-server file.
-+    Insert a line for each system with which you use EAP-TLS.
-+    The line is composed of this fields separated by tab:
-+
-+      - Client name
-+                The name used by the client for authentication, can be *
-+      - Server name
-+                The name of the server, can be *
-+      - Client certificate file
-+                If you want to specify the certificate that the
-+                client is allowed to use, put the certificate file name.
-+                Else put a dash '-'.
-+      - Server certificate file
-+              The file containing the certificate chain for the
-+                server in PEM format
-+      - CA certificate file
-+                The file containing the trusted CA certificates in PEM
-+                format.
-+      - Client private key file
-+                The file containing the server private key in PEM format.
-+      - addresses
-+              A list of IP addresses the client is allowed to use.
-+
-+
-+    OpenSSL engine support is included starting with v0.95 of this patch. 
-+    Currently the only engine tested is the 'pkcs11' engine (hardware token
-+    support). To use the 'pksc11' engine:
-+      - Use a special private key fileiname in the /etc/ppp/eaptls-client file:
-+          <engine>:<identifier>
-+        e.g.
-+          pkcs11:123456
-+
-+      - The certificate can also be loaded from the 'pkcs11' engine using
-+        a special client certificate filename in the /etc/ppp/eaptls-client file:
-+          <engine>:<identifier>
-+        e.g.
-+          pkcs11:123456
-+
-+      - Create an /etc/ppp/openssl.cnf file to load the right OpenSSL engine prior
-+        to starting 'pppd'. A sample openssl.cnf file is
-+
-+        openssl_conf = openssl_def
-+
-+        [ openssl_def ]
-+        engines = engine_section
-+
-+        [ engine_section ]
-+        pkcs11 = pkcs11_section
-+
-+        [ pkcs11_section ]
-+        engine_id = pkcs11
-+        dynamic_path = /usr/lib64/openssl/engines/engine_pkcs11.so
-+        MODULE_PATH = /usr/lib64/libeTPkcs11.so
-+        init = 0
-+
-+      - There are two ways to specify a password/PIN for the PKCS11 engine:
-+          - inside the openssl.cnf file using
-+              PIN = your-secret-pin
-+            Note The keyword 'PIN' is case sensitive!
-+          - Using the 'password' in the ppp options file.
-+        From v0.97 of the eap-tls patch the password can also be supplied
-+        using the appropriate 'eaptls_passwd_hook' (see plugins/passprompt.c
-+        for an example).
-+
-+
-+4. Options
-+
-+      These pppd options are available:
-+
-+        ca <ca-file>
-+                      Use the CA public certificate found in <ca-file> in PEM format
-+        cert <cert-file>
-+                      Use the client public certificate found in <cert-file> in PEM format
-+                      or in engine:engine_id format
-+        key <key-file>
-+                      Use the client private key found in <key-file> in PEM format
-+                      or in engine:engine_id format
-+      crl-dir <dir>
-+              Use CRL files from dir. It contains CRL files in PEM
-+              format and each file contains a CRL. The files are looked up 
-+              by the issuer name hash value. Use the c_rehash utility 
-+              to create necessary links.
-+      need-peer-eap
-+              If the peer doesn't ask us to authenticate or doesn't use eap
-+              to authenticate us, disconnect.
-+
-+      Note: 
-+        password-encrypted certificates can be used as of v0.94 of this 
-+        patch. The password for the eap-tls.key file is specified using 
-+        the regular
-+          password ....
-+        statement in the ppp options file, or by using the appropriate
-+        plugin which supplies a 'eaptls_passwd_hook' routine.
-+
-+5. Connecting
-+
-+    If you're setting up a pppd server, edit the EAP-TLS configuration file 
-+    as written above and then run pppd with the 'auth' option to authenticate
-+    the client. The EAP-TLS method will be used if the other eap methods can't
-+    be used (no secrets).
-+
-+    If you're setting up a client, edit the configuration file and then run
-+    pppd with 'remotename' option to specify the server name. Add the 
-+    'need-peer-eap' option if you want to be sure the peer ask you to
-+    authenticate (and to use eap) and to disconnect if it doesn't.
-+
-+6. Notes
-+
-+   This is experimental code.
-+   Send suggestions and comments to Jan Just Keijser <janjust@nikhef.nl>
-+
-diff --git a/etc.ppp/eaptls-client b/etc.ppp/eaptls-client
-new file mode 100644
-index 0000000..7782f0e
---- /dev/null
-+++ b/etc.ppp/eaptls-client
-@@ -0,0 +1,10 @@
-+# Parameters for authentication using EAP-TLS (client)
-+
-+# client name (can be *)
-+# server name (can be *)
-+# client certificate file (required)
-+# server certificate file (optional, if unused put '-')
-+# CA certificate file (required)
-+# client private key file (required)
-+
-+#client       server  /root/cert/client.crt   -       /root/cert/ca.crt       /root/cert/client.key
-diff --git a/etc.ppp/eaptls-server b/etc.ppp/eaptls-server
-new file mode 100644
-index 0000000..fa53cbd
---- /dev/null
-+++ b/etc.ppp/eaptls-server
-@@ -0,0 +1,11 @@
-+# Parameters for authentication using EAP-TLS (server)
-+
-+# client name (can be *)
-+# server name (can be *)
-+# client certificate file (optional, if unused put '-')
-+# server certificate file (required)
-+# CA certificate file (required)
-+# server private key file (required)
-+# allowed addresses (required, can be *)
-+
-+#client       server  -       /root/cert/server.crt   /root/cert/ca.crt       /root/cert/server.key   192.168.1.0/24
-diff --git a/etc.ppp/openssl.cnf b/etc.ppp/openssl.cnf
-new file mode 100644
-index 0000000..dd32f30
---- /dev/null
-+++ b/etc.ppp/openssl.cnf
-@@ -0,0 +1,14 @@
-+openssl_conf = openssl_def
-+
-+[ openssl_def ]
-+engines = engine_section
-+
-+[ engine_section ]
-+pkcs11 = pkcs11_section
-+
-+[ pkcs11_section ]
-+engine_id = pkcs11
-+dynamic_path = /usr/lib64/openssl/engines/engine_pkcs11.so
-+MODULE_PATH = /usr/lib64/libeTPkcs11.so
-+init = 0
-+
-diff --git a/linux/Makefile.top b/linux/Makefile.top
-index f42efd5..9a8945a 100644
---- a/linux/Makefile.top
-+++ b/linux/Makefile.top
-@@ -28,7 +28,7 @@ install-progs:
-       cd pppdump; $(MAKE) $(MFLAGS) install
- install-etcppp: $(ETCDIR) $(ETCDIR)/options $(ETCDIR)/pap-secrets \
--      $(ETCDIR)/chap-secrets
-+      $(ETCDIR)/chap-secrets $(ETCDIR)/eaptls-server $(ETCDIR)/eaptls-client
- install-devel:
-       cd pppd; $(MAKE) $(MFLAGS) install-devel
-@@ -39,6 +39,10 @@ $(ETCDIR)/pap-secrets:
-       $(INSTALL) -c -m 600 etc.ppp/pap-secrets $@
- $(ETCDIR)/chap-secrets:
-       $(INSTALL) -c -m 600 etc.ppp/chap-secrets $@
-+$(ETCDIR)/eaptls-server:
-+      $(INSTALL) -c -m 600 etc.ppp/eaptls-server $@
-+$(ETCDIR)/eaptls-client:
-+      $(INSTALL) -c -m 600 etc.ppp/eaptls-client $@
- $(BINDIR):
-       $(INSTALL) -d -m 755 $@
-diff --git a/pppd/Makefile.linux b/pppd/Makefile.linux
-index 65700fa..53df4d2 100644
---- a/pppd/Makefile.linux
-+++ b/pppd/Makefile.linux
-@@ -76,6 +76,9 @@ CBCP=y
- # Use libutil
- USE_LIBUTIL=y
-+# Enable EAP-TLS authentication (requires libssl and libcrypto)
-+USE_EAPTLS=y
-+
- MAXOCTETS=y
- INCLUDE_DIRS= -I../include
-@@ -115,6 +118,15 @@ HEADERS += sha1.h
- PPPDOBJS += sha1.o
- endif
-+# EAP-TLS
-+ifdef USE_EAPTLS
-+CFLAGS += -DUSE_EAPTLS=1 -I/usr/kerberos/include
-+LIBS += -lssl -lcrypto
-+PPPDSRC += eap-tls.c
-+HEADERS += eap-tls.h
-+PPPDOBJS += eap-tls.o
-+endif
-+
- ifdef HAS_SHADOW
- CFLAGS   += -DHAS_SHADOW
- #LIBS     += -lshadow $(LIBS)
-diff --git a/pppd/auth.c b/pppd/auth.c
-index 9e957fa..88cbdb6 100644
---- a/pppd/auth.c
-+++ b/pppd/auth.c
-@@ -109,6 +109,9 @@
- #include "upap.h"
- #include "chap-new.h"
- #include "eap.h"
-+#ifdef USE_EAPTLS
-+#include "eap-tls.h"
-+#endif
- #ifdef CBCP_SUPPORT
- #include "cbcp.h"
- #endif
-@@ -183,6 +186,11 @@ int (*chap_check_hook) __P((void)) = NULL;
- /* Hook for a plugin to get the CHAP password for authenticating us */
- int (*chap_passwd_hook) __P((char *user, char *passwd)) = NULL;
-+#ifdef USE_EAPTLS
-+/* Hook for a plugin to get the EAP-TLS password for authenticating us */
-+int (*eaptls_passwd_hook) __P((char *user, char *passwd)) = NULL;
-+#endif
-+
- /* Hook for a plugin to say whether it is OK if the peer
-    refuses to authenticate. */
- int (*null_auth_hook) __P((struct wordlist **paddrs,
-@@ -238,6 +246,13 @@ bool explicit_remote = 0; /* User specified explicit remote name */
- bool explicit_user = 0;               /* Set if "user" option supplied */
- bool explicit_passwd = 0;     /* Set if "password" option supplied */
- char remote_name[MAXNAMELEN]; /* Peer's name for authentication */
-+#ifdef USE_EAPTLS
-+char *cacert_file  = NULL;    /* CA certificate file (pem format) */
-+char *cert_file    = NULL;    /* client certificate file (pem format) */
-+char *privkey_file = NULL;    /* client private key file (pem format) */
-+char *crl_dir      = NULL;    /* directory containing CRL files */
-+bool need_peer_eap = 0;                       /* Require peer to authenticate us */
-+#endif
- static char *uafname;         /* name of most recent +ua file */
-@@ -254,6 +269,19 @@ static int  have_pap_secret __P((int *));
- static int  have_chap_secret __P((char *, char *, int, int *));
- static int  have_srp_secret __P((char *client, char *server, int need_ip,
-     int *lacks_ipp));
-+
-+#ifdef USE_EAPTLS
-+static int  have_eaptls_secret_server
-+__P((char *client, char *server, int need_ip, int *lacks_ipp));
-+static int  have_eaptls_secret_client __P((char *client, char *server));
-+static int  scan_authfile_eaptls __P((FILE * f, char *client, char *server,
-+                             char *cli_cert, char *serv_cert,
-+                             char *ca_cert, char *pk,
-+                             struct wordlist ** addrs,
-+                             struct wordlist ** opts,
-+                             char *filename, int flags));
-+#endif
-+
- static int  ip_addr_check __P((u_int32_t, struct permitted_ip *));
- static int  scan_authfile __P((FILE *, char *, char *, char *,
-                              struct wordlist **, struct wordlist **,
-@@ -401,6 +429,14 @@ option_t auth_options[] = {
-       "Set telephone number(s) which are allowed to connect",
-       OPT_PRIV | OPT_A2LIST },
-+#ifdef USE_EAPTLS
-+    { "ca", o_string, &cacert_file,   "EAP-TLS CA certificate in PEM format" },
-+    { "cert", o_string, &cert_file,   "EAP-TLS client certificate in PEM format" },
-+    { "key", o_string, &privkey_file, "EAP-TLS client private key in PEM format" },
-+    { "crl-dir", o_string, &crl_dir,  "Use CRLs in directory" },
-+    { "need-peer-eap", o_bool, &need_peer_eap,
-+      "Require the peer to authenticate us", 1 },
-+#endif /* USE_EAPTLS */
-     { NULL }
- };
-@@ -730,6 +766,9 @@ link_established(unit)
-     lcp_options *wo = &lcp_wantoptions[unit];
-     lcp_options *go = &lcp_gotoptions[unit];
-     lcp_options *ho = &lcp_hisoptions[unit];
-+#ifdef USE_EAPTLS
-+    lcp_options *ao = &lcp_allowoptions[unit];
-+#endif
-     int i;
-     struct protent *protp;
-@@ -764,6 +803,22 @@ link_established(unit)
-       }
-     }
-+#ifdef USE_EAPTLS
-+    if (need_peer_eap && !ao->neg_eap) {
-+      warn("eap required to authenticate us but no suitable secrets");
-+      lcp_close(unit, "couldn't negotiate eap");
-+      status = EXIT_AUTH_TOPEER_FAILED;
-+      return;
-+    }
-+
-+    if (need_peer_eap && !ho->neg_eap) {
-+      warn("peer doesn't want to authenticate us with eap");
-+      lcp_close(unit, "couldn't negotiate eap");
-+      status = EXIT_PEER_AUTH_FAILED;
-+      return;
-+    }
-+#endif
-+
-     new_phase(PHASE_AUTHENTICATE);
-     auth = 0;
-     if (go->neg_eap) {
-@@ -1117,7 +1172,7 @@ np_down(unit, proto)
-       UNTIMEOUT(connect_time_expired, NULL);
- #ifdef MAXOCTETS
-       UNTIMEOUT(check_maxoctets, NULL);
--#endif        
-+#endif
-       new_phase(PHASE_NETWORK);
-     }
- }
-@@ -1144,7 +1199,7 @@ check_maxoctets(arg)
-     update_link_stats(ifunit);
-     link_stats_valid=0;
--    
-+
-     switch(maxoctets_dir) {
-       case PPP_OCTETS_DIRECTION_IN:
-           used = link_stats.bytes_in;
-@@ -1277,6 +1332,15 @@ auth_check_options()
-                                   our_name, 1, &lacks_ip);
-     }
-+#ifdef USE_EAPTLS
-+    if (!can_auth && wo->neg_eap) {
-+      can_auth =
-+          have_eaptls_secret_server((explicit_remote ? remote_name :
-+                                     NULL), our_name, 1, &lacks_ip);
-+
-+    }
-+#endif
-+
-     if (auth_required && !can_auth && noauth_addrs == NULL) {
-       if (default_auth) {
-           option_error(
-@@ -1331,7 +1395,11 @@ auth_reset(unit)
-       passwd[0] != 0 ||
-       (hadchap == 1 || (hadchap == -1 && have_chap_secret(user,
-           (explicit_remote? remote_name: NULL), 0, NULL))) ||
--      have_srp_secret(user, (explicit_remote? remote_name: NULL), 0, NULL));
-+      have_srp_secret(user, (explicit_remote? remote_name: NULL), 0, NULL)
-+#ifdef USE_EAPTLS
-+              || have_eaptls_secret_client(user, (explicit_remote? remote_name: NULL))
-+#endif
-+      );
-     hadchap = -1;
-     if (go->neg_upap && !uselogin && !have_pap_secret(NULL))
-@@ -1346,8 +1414,14 @@ auth_reset(unit)
-           !have_chap_secret((explicit_remote? remote_name: NULL), our_name,
-               1, NULL))) &&
-       !have_srp_secret((explicit_remote? remote_name: NULL), our_name, 1,
--          NULL))
-+          NULL)
-+#ifdef USE_EAPTLS
-+       && !have_eaptls_secret_server((explicit_remote? remote_name: NULL),
-+                                 our_name, 1, NULL)
-+#endif
-+              )
-       go->neg_eap = 0;
-+
- }
-@@ -1707,6 +1781,7 @@ have_srp_secret(client, server, need_ip, lacks_ipp)
- }
-+
- /*
-  * get_secret - open the CHAP secret file and return the secret
-  * for authenticating the given client on the given server.
-@@ -2359,3 +2434,334 @@ auth_script(script)
-     auth_script_pid = run_program(script, argv, 0, auth_script_done, NULL, 0);
- }
-+
-+
-+#ifdef USE_EAPTLS
-+static int
-+have_eaptls_secret_server(client, server, need_ip, lacks_ipp)
-+    char *client;
-+    char *server;
-+    int need_ip;
-+    int *lacks_ipp;
-+{
-+    FILE *f;
-+    int ret;
-+    char *filename;
-+    struct wordlist *addrs;
-+    char servcertfile[MAXWORDLEN];
-+    char clicertfile[MAXWORDLEN];
-+    char cacertfile[MAXWORDLEN];
-+    char pkfile[MAXWORDLEN];
-+
-+    filename = _PATH_EAPTLSSERVFILE;
-+    f = fopen(filename, "r");
-+    if (f == NULL)
-+              return 0;
-+
-+    if (client != NULL && client[0] == 0)
-+              client = NULL;
-+    else if (server != NULL && server[0] == 0)
-+              server = NULL;
-+
-+    ret =
-+      scan_authfile_eaptls(f, client, server, clicertfile, servcertfile,
-+                           cacertfile, pkfile, &addrs, NULL, filename,
-+                           0);
-+
-+    fclose(f);
-+
-+/*
-+    if (ret >= 0 && !eaptls_init_ssl(1, cacertfile, servcertfile,
-+                              clicertfile, pkfile))
-+              ret = -1;
-+*/
-+
-+      if (ret >= 0 && need_ip && !some_ip_ok(addrs)) {
-+              if (lacks_ipp != 0)
-+                      *lacks_ipp = 1;
-+              ret = -1;
-+    }
-+    if (addrs != 0)
-+              free_wordlist(addrs);
-+
-+    return ret >= 0;
-+}
-+
-+
-+static int
-+have_eaptls_secret_client(client, server)
-+    char *client;
-+    char *server;
-+{
-+    FILE *f;
-+    int ret;
-+    char *filename;
-+    struct wordlist *addrs = NULL;
-+    char servcertfile[MAXWORDLEN];
-+    char clicertfile[MAXWORDLEN];
-+    char cacertfile[MAXWORDLEN];
-+    char pkfile[MAXWORDLEN];
-+
-+    if (client != NULL && client[0] == 0)
-+              client = NULL;
-+    else if (server != NULL && server[0] == 0)
-+              server = NULL;
-+
-+      if (cacert_file && cert_file && privkey_file)
-+              return 1;
-+
-+    filename = _PATH_EAPTLSCLIFILE;
-+    f = fopen(filename, "r");
-+    if (f == NULL)
-+              return 0;
-+
-+    ret =
-+      scan_authfile_eaptls(f, client, server, clicertfile, servcertfile,
-+                           cacertfile, pkfile, &addrs, NULL, filename,
-+                           0);
-+    fclose(f);
-+
-+/*
-+    if (ret >= 0 && !eaptls_init_ssl(0, cacertfile, clicertfile,
-+                              servcertfile, pkfile))
-+              ret = -1;
-+*/
-+
-+    if (addrs != 0)
-+              free_wordlist(addrs);
-+
-+    return ret >= 0;
-+}
-+
-+
-+static int
-+scan_authfile_eaptls(f, client, server, cli_cert, serv_cert, ca_cert, pk,
-+                   addrs, opts, filename, flags)
-+    FILE *f;
-+    char *client;
-+    char *server;
-+    char *cli_cert;
-+    char *serv_cert;
-+    char *ca_cert;
-+    char *pk;
-+    struct wordlist **addrs;
-+    struct wordlist **opts;
-+    char *filename;
-+    int flags;
-+{
-+    int newline;
-+    int got_flag, best_flag;
-+    struct wordlist *ap, *addr_list, *alist, **app;
-+    char word[MAXWORDLEN];
-+
-+    if (addrs != NULL)
-+      *addrs = NULL;
-+    if (opts != NULL)
-+      *opts = NULL;
-+    addr_list = NULL;
-+    if (!getword(f, word, &newline, filename))
-+      return -1;              /* file is empty??? */
-+    newline = 1;
-+    best_flag = -1;
-+    for (;;) {
-+      /*
-+       * Skip until we find a word at the start of a line.
-+       */
-+      while (!newline && getword(f, word, &newline, filename));
-+      if (!newline)
-+          break;              /* got to end of file */
-+
-+      /*
-+       * Got a client - check if it's a match or a wildcard.
-+       */
-+      got_flag = 0;
-+      if (client != NULL && strcmp(word, client) != 0 && !ISWILD(word)) {
-+          newline = 0;
-+          continue;
-+      }
-+      if (!ISWILD(word))
-+          got_flag = NONWILD_CLIENT;
-+
-+      /*
-+       * Now get a server and check if it matches.
-+       */
-+      if (!getword(f, word, &newline, filename))
-+          break;
-+      if (newline)
-+          continue;
-+      if (!ISWILD(word)) {
-+          if (server != NULL && strcmp(word, server) != 0)
-+              continue;
-+          got_flag |= NONWILD_SERVER;
-+      }
-+
-+      /*
-+       * Got some sort of a match - see if it's better than what
-+       * we have already.
-+       */
-+      if (got_flag <= best_flag)
-+          continue;
-+
-+      /*
-+       * Get the cli_cert
-+       */
-+      if (!getword(f, word, &newline, filename))
-+          break;
-+      if (newline)
-+          continue;
-+      if (strcmp(word, "-") != 0) {
-+          strlcpy(cli_cert, word, MAXWORDLEN);
-+      } else
-+          cli_cert[0] = 0;
-+
-+      /*
-+       * Get serv_cert
-+       */
-+      if (!getword(f, word, &newline, filename))
-+          break;
-+      if (newline)
-+          continue;
-+      if (strcmp(word, "-") != 0) {
-+          strlcpy(serv_cert, word, MAXWORDLEN);
-+      } else
-+          serv_cert[0] = 0;
-+
-+      /*
-+       * Get ca_cert
-+       */
-+      if (!getword(f, word, &newline, filename))
-+          break;
-+      if (newline)
-+          continue;
-+      strlcpy(ca_cert, word, MAXWORDLEN);
-+
-+      /*
-+       * Get pk
-+       */
-+      if (!getword(f, word, &newline, filename))
-+          break;
-+      if (newline)
-+          continue;
-+      strlcpy(pk, word, MAXWORDLEN);
-+
-+
-+      /*
-+       * Now read address authorization info and make a wordlist.
-+       */
-+      app = &alist;
-+      for (;;) {
-+          if (!getword(f, word, &newline, filename) || newline)
-+              break;
-+          ap = (struct wordlist *)
-+              malloc(sizeof(struct wordlist) + strlen(word) + 1);
-+          if (ap == NULL)
-+              novm("authorized addresses");
-+          ap->word = (char *) (ap + 1);
-+          strcpy(ap->word, word);
-+          *app = ap;
-+          app = &ap->next;
-+      }
-+      *app = NULL;
-+      /*
-+       * This is the best so far; remember it.
-+       */
-+      best_flag = got_flag;
-+      if (addr_list)
-+          free_wordlist(addr_list);
-+      addr_list = alist;
-+
-+      if (!newline)
-+          break;
-+    }
-+
-+    /* scan for a -- word indicating the start of options */
-+    for (app = &addr_list; (ap = *app) != NULL; app = &ap->next)
-+      if (strcmp(ap->word, "--") == 0)
-+          break;
-+    /* ap = start of options */
-+    if (ap != NULL) {
-+      ap = ap->next;          /* first option */
-+      free(*app);             /* free the "--" word */
-+      *app = NULL;            /* terminate addr list */
-+    }
-+    if (opts != NULL)
-+      *opts = ap;
-+    else if (ap != NULL)
-+      free_wordlist(ap);
-+    if (addrs != NULL)
-+      *addrs = addr_list;
-+    else if (addr_list != NULL)
-+      free_wordlist(addr_list);
-+
-+    return best_flag;
-+}
-+
-+
-+int
-+get_eaptls_secret(unit, client, server, clicertfile, servcertfile,
-+                cacertfile, pkfile, am_server)
-+    int unit;
-+    char *client;
-+    char *server;
-+    char *clicertfile;
-+    char *servcertfile;
-+    char *cacertfile;
-+    char *pkfile;
-+    int am_server;
-+{
-+    FILE *fp;
-+    int ret;
-+    char *filename         = NULL;
-+    struct wordlist *addrs = NULL;
-+    struct wordlist *opts  = NULL;
-+
-+      /* in client mode the ca+cert+privkey can also be specified as options */
-+      if (!am_server && cacert_file && cert_file && privkey_file )
-+      {
-+              strlcpy( clicertfile, cert_file, MAXWORDLEN );
-+              strlcpy( cacertfile, cacert_file, MAXWORDLEN );
-+              strlcpy( pkfile, privkey_file, MAXWORDLEN );
-+              servcertfile[0] = '\0';
-+      }
-+      else
-+      {
-+              filename = (am_server ? _PATH_EAPTLSSERVFILE : _PATH_EAPTLSCLIFILE);
-+              addrs = NULL;
-+
-+              fp = fopen(filename, "r");
-+              if (fp == NULL)
-+              {
-+                      error("Can't open eap-tls secret file %s: %m", filename);
-+                      return 0;
-+                }
-+
-+              check_access(fp, filename);
-+
-+              ret = scan_authfile_eaptls(fp, client, server, clicertfile, servcertfile,
-+                              cacertfile, pkfile, &addrs, &opts, filename, 0);
-+
-+              fclose(fp);
-+
-+              if (ret < 0) return 0;
-+      }
-+
-+    if (eaptls_passwd_hook)
-+    {
-+              dbglog( "Calling eaptls password hook" );
-+              if ( (*eaptls_passwd_hook)(pkfile, passwd) < 0)
-+              {
-+                        error("Unable to obtain EAP-TLS password for %s (%s) from plugin",
-+                              client, pkfile);
-+                        return 0;
-+              }
-+      }
-+    if (am_server)
-+              set_allowed_addrs(unit, addrs, opts);
-+    else if (opts != NULL)
-+              free_wordlist(opts);
-+    if (addrs != NULL)
-+              free_wordlist(addrs);
-+
-+    return 1;
-+}
-+#endif
-diff --git a/pppd/ccp.c b/pppd/ccp.c
-index 5814f35..7dead23 100644
---- a/pppd/ccp.c
-+++ b/pppd/ccp.c
-@@ -540,6 +540,9 @@ ccp_resetci(f)
-     if (go->mppe) {
-       ccp_options *ao = &ccp_allowoptions[f->unit];
-       int auth_mschap_bits = auth_done[f->unit];
-+#ifdef USE_EAPTLS
-+      int auth_eap_bits = auth_done[f->unit];
-+#endif
-       int numbits;
-       /*
-@@ -567,8 +570,23 @@ ccp_resetci(f)
-           lcp_close(f->unit, "MPPE required but not available");
-           return;
-       }
-+
-+#ifdef USE_EAPTLS
-+    /*
-+     * MPPE is also possible in combination with EAP-TLS.
-+     * It is not possible to detect if we're doing EAP or EAP-TLS
-+     * at this stage, hence we accept all forms of EAP. If TLS is
-+     * not used then the MPPE keys will not be derived anyway.
-+     */
-+      /* Leave only the eap auth bits set */
-+      auth_eap_bits &= (EAP_WITHPEER | EAP_PEER );
-+
-+      if ((numbits == 0) && (auth_eap_bits == 0)) {
-+          error("MPPE required, but MS-CHAP[v2] nor EAP-TLS auth are performed.");
-+#else
-       if (!numbits) {
--          error("MPPE required, but MS-CHAP[v2] auth not performed.");
-+              error("MPPE required, but MS-CHAP[v2] auth not performed.");
-+#endif
-           lcp_close(f->unit, "MPPE required but not available");
-           return;
-       }
-diff --git a/pppd/chap-md5.c b/pppd/chap-md5.c
-index 77dd4ec..269b52c 100644
---- a/pppd/chap-md5.c
-+++ b/pppd/chap-md5.c
-@@ -36,7 +36,11 @@
- #include "chap-new.h"
- #include "chap-md5.h"
- #include "magic.h"
-+#ifdef USE_EAPTLS
-+#include "eap-tls.h"
-+#else
- #include "md5.h"
-+#endif /* USE_EAPTLS */
- #define MD5_HASH_SIZE         16
- #define MD5_MIN_CHALLENGE     16
-diff --git a/pppd/eap-tls.c b/pppd/eap-tls.c
-new file mode 100644
-index 0000000..a3aea5a
---- /dev/null
-+++ b/pppd/eap-tls.c
-@@ -0,0 +1,1174 @@
-+/*
-+ * eap-tls.c - EAP-TLS implementation for PPP
-+ *
-+ * Copyright (c) Beniamino Galvani 2005 All rights reserved.
-+ *
-+ * Redistribution and use in source and binary forms, with or without
-+ * modification, are permitted provided that the following conditions
-+ * are met:
-+ *
-+ * 1. Redistributions of source code must retain the above copyright
-+ *    notice, this list of conditions and the following disclaimer.
-+ *
-+ * 2. Redistributions in binary form must reproduce the above copyright
-+ *    notice, this list of conditions and the following disclaimer in
-+ *    the documentation and/or other materials provided with the
-+ *    distribution.
-+ *
-+ * 3. The name(s) of the authors of this software must not be used to
-+ *    endorse or promote products derived from this software without
-+ *    prior written permission.
-+ *
-+ * THE AUTHORS OF THIS SOFTWARE DISCLAIM ALL WARRANTIES WITH REGARD TO
-+ * THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
-+ * AND FITNESS, IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY
-+ * SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
-+ * AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
-+ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-+ *
-+ */
-+
-+#include <string.h>
-+#include <unistd.h>
-+#include <sys/types.h>
-+#include <sys/stat.h>
-+#include <fcntl.h>
-+
-+#include <openssl/conf.h>
-+#include <openssl/engine.h>
-+#include <openssl/hmac.h>
-+#include <openssl/err.h>
-+#include <openssl/x509v3.h>
-+
-+#include "pppd.h"
-+#include "eap.h"
-+#include "eap-tls.h"
-+#include "fsm.h"
-+#include "lcp.h"
-+#include "pathnames.h"
-+
-+/* The openssl configuration file and engines can be loaded only once */
-+static CONF   *ssl_config  = NULL;
-+static ENGINE *cert_engine = NULL;
-+static ENGINE *pkey_engine = NULL;
-+
-+#ifdef MPPE
-+
-+/*
-+ * TLS PRF from RFC 2246
-+ */
-+static void P_hash(const EVP_MD *evp_md,
-+                 const unsigned char *secret, unsigned int secret_len,
-+                 const unsigned char *seed,   unsigned int seed_len,
-+                 unsigned char *out, unsigned int out_len)
-+{
-+      HMAC_CTX ctx_a, ctx_out;
-+      unsigned char a[HMAC_MAX_MD_CBLOCK];
-+      unsigned int size;
-+
-+      HMAC_CTX_init(&ctx_a);
-+      HMAC_CTX_init(&ctx_out);
-+      HMAC_Init_ex(&ctx_a, secret, secret_len, evp_md, NULL);
-+      HMAC_Init_ex(&ctx_out, secret, secret_len, evp_md, NULL);
-+
-+      size = HMAC_size(&ctx_out);
-+
-+      /* Calculate A(1) */
-+      HMAC_Update(&ctx_a, seed, seed_len);
-+      HMAC_Final(&ctx_a, a, NULL);
-+
-+      while (1) {
-+              /* Calculate next part of output */
-+              HMAC_Update(&ctx_out, a, size);
-+              HMAC_Update(&ctx_out, seed, seed_len);
-+
-+              /* Check if last part */
-+              if (out_len < size) {
-+                      HMAC_Final(&ctx_out, a, NULL);
-+                      memcpy(out, a, out_len);
-+                      break;
-+              }
-+
-+              /* Place digest in output buffer */
-+              HMAC_Final(&ctx_out, out, NULL);
-+              HMAC_Init_ex(&ctx_out, NULL, 0, NULL, NULL);
-+              out += size;
-+              out_len -= size;
-+
-+              /* Calculate next A(i) */
-+              HMAC_Init_ex(&ctx_a, NULL, 0, NULL, NULL);
-+              HMAC_Update(&ctx_a, a, size);
-+              HMAC_Final(&ctx_a, a, NULL);
-+      }
-+
-+      HMAC_CTX_cleanup(&ctx_a);
-+      HMAC_CTX_cleanup(&ctx_out);
-+      memset(a, 0, sizeof(a));
-+}
-+
-+static void PRF(const unsigned char *secret, unsigned int secret_len,
-+              const unsigned char *seed,   unsigned int seed_len,
-+              unsigned char *out, unsigned char *buf, unsigned int out_len)
-+{
-+        unsigned int i;
-+        unsigned int len = (secret_len + 1) / 2;
-+      const unsigned char *s1 = secret;
-+      const unsigned char *s2 = secret + (secret_len - len);
-+
-+      P_hash(EVP_md5(),  s1, len, seed, seed_len, out, out_len);
-+      P_hash(EVP_sha1(), s2, len, seed, seed_len, buf, out_len);
-+
-+      for (i=0; i < out_len; i++) {
-+              out[i] ^= buf[i];
-+      }
-+}
-+
-+#define EAPTLS_MPPE_KEY_LEN     32
-+
-+/*
-+ *  Generate keys according to RFC 2716 and add to reply
-+ */
-+void eaptls_gen_mppe_keys(struct eaptls_session *ets, const char *prf_label,
-+                          int client)
-+{
-+    unsigned char out[4*EAPTLS_MPPE_KEY_LEN], buf[4*EAPTLS_MPPE_KEY_LEN];
-+    unsigned char seed[64 + 2*SSL3_RANDOM_SIZE];
-+    unsigned char *p = seed;
-+      SSL                       *s = ets->ssl;
-+    size_t prf_size;
-+
-+    prf_size = strlen(prf_label);
-+
-+    memcpy(p, prf_label, prf_size);
-+    p += prf_size;
-+
-+    memcpy(p, s->s3->client_random, SSL3_RANDOM_SIZE);
-+    p += SSL3_RANDOM_SIZE;
-+    prf_size += SSL3_RANDOM_SIZE;
-+
-+    memcpy(p, s->s3->server_random, SSL3_RANDOM_SIZE);
-+    prf_size += SSL3_RANDOM_SIZE;
-+
-+    PRF(s->session->master_key, s->session->master_key_length,
-+        seed, prf_size, out, buf, sizeof(out));
-+
-+    /* 
-+     * We now have the master send and receive keys.
-+     * From these, generate the session send and receive keys.
-+     * (see RFC3079 / draft-ietf-pppext-mppe-keys-03.txt for details)
-+     */
-+    if (client)
-+    {
-+          p = out;
-+              BCOPY( p, mppe_send_key, sizeof(mppe_send_key) );
-+              p += EAPTLS_MPPE_KEY_LEN;
-+      BCOPY( p, mppe_recv_key, sizeof(mppe_recv_key) );
-+    }
-+    else
-+    {
-+          p = out;
-+      BCOPY( p, mppe_recv_key, sizeof(mppe_recv_key) );
-+              p += EAPTLS_MPPE_KEY_LEN;
-+              BCOPY( p, mppe_send_key, sizeof(mppe_send_key) );
-+    }
-+
-+    mppe_keys_set = 1;
-+}
-+
-+#endif
-+
-+void log_ssl_errors( void )
-+{
-+      unsigned long ssl_err = ERR_get_error();
-+
-+    if (ssl_err != 0)
-+              dbglog("EAP-TLS SSL error stack:");
-+      while (ssl_err != 0) {
-+              dbglog( ERR_error_string( ssl_err, NULL ) );
-+              ssl_err = ERR_get_error();
-+      }
-+}
-+
-+
-+int password_callback (char *buf, int size, int rwflag, void *u)
-+{
-+      if (buf)
-+      {
-+              strncpy (buf, passwd, size);
-+              return strlen (buf);
-+      }
-+      return 0;
-+}
-+
-+
-+CONF *eaptls_ssl_load_config( void )
-+{
-+    CONF        *config;
-+    int          ret_code;
-+    long         error_line = 33;
-+
-+    config = NCONF_new( NULL );
-+      dbglog( "Loading OpenSSL config file" );
-+    ret_code = NCONF_load( config, _PATH_OPENSSLCONFFILE, &error_line );
-+    if (ret_code == 0)
-+    {
-+        warn( "EAP-TLS: Error in OpenSSL config file %s at line %d", _PATH_OPENSSLCONFFILE, error_line );
-+        NCONF_free( config );
-+        config = NULL;
-+        ERR_clear_error();
-+    }
-+
-+      dbglog( "Loading OpenSSL built-ins" );
-+    ENGINE_load_builtin_engines();
-+    OPENSSL_load_builtin_modules();
-+   
-+      dbglog( "Loading OpenSSL configured modules" );
-+    if (CONF_modules_load( config, NULL, 0 ) <= 0 )
-+    {
-+        warn( "EAP-TLS: Error loading OpenSSL modules" );
-+          log_ssl_errors();
-+        config = NULL;
-+    }
-+
-+    return config;
-+}
-+
-+ENGINE *eaptls_ssl_load_engine( char *engine_name )
-+{
-+      ENGINE      *e = NULL;
-+
-+      dbglog( "Enabling OpenSSL auto engines" );
-+      ENGINE_register_all_complete();
-+
-+      dbglog( "Loading OpenSSL '%s' engine support", engine_name );
-+      e = ENGINE_by_id( engine_name );
-+    if (!e) 
-+      {
-+              dbglog( "EAP-TLS: Cannot load '%s' engine support, trying 'dynamic'", engine_name );
-+              e = ENGINE_by_id( "dynamic" );
-+              if (e)
-+              {
-+                      if (!ENGINE_ctrl_cmd_string(e, "SO_PATH", engine_name, 0)
-+               || !ENGINE_ctrl_cmd_string(e, "LOAD", NULL, 0))
-+                      {
-+                              warn( "EAP-TLS: Error loading dynamic engine '%s'", engine_name );
-+                      log_ssl_errors();
-+                              ENGINE_free(e);
-+                              e = NULL;
-+                      }
-+              }
-+              else
-+              {
-+                      warn( "EAP-TLS: Cannot load dynamic engine support" );
-+              }
-+      }
-+
-+    if (e)
-+      {
-+              dbglog( "Initialising engine" );
-+              if(!ENGINE_set_default(e, ENGINE_METHOD_ALL))
-+              {
-+                      warn( "EAP-TLS: Cannot use that engine" );
-+                      log_ssl_errors();
-+                      ENGINE_free(e);
-+                      e = NULL;
-+              }
-+      }
-+
-+    return e;
-+}
-+
-+/*
-+ * Initialize the SSL stacks and tests if certificates, key and crl
-+ * for client or server use can be loaded.
-+ */
-+SSL_CTX *eaptls_init_ssl(int init_server, char *cacertfile,
-+                      char *certfile, char *peer_certfile, char *privkeyfile)
-+{
-+      char            *cert_engine_name = NULL;
-+      char            *cert_identifier = NULL;
-+      char            *pkey_engine_name = NULL;
-+      char            *pkey_identifier = NULL;
-+      SSL_CTX         *ctx;
-+      X509_STORE      *certstore;
-+      X509_LOOKUP     *lookup;
-+      X509            *tmp;
-+
-+      /*
-+       * Without these can't continue 
-+       */
-+      if (!cacertfile[0])
-+    {
-+              error("EAP-TLS: CA certificate missing");
-+              return NULL;
-+    }
-+
-+      if (!certfile[0])
-+    {
-+              error("EAP-TLS: User certificate missing");
-+              return NULL;
-+    }
-+
-+      if (!privkeyfile[0])
-+    {
-+              error("EAP-TLS: User private key missing");
-+              return NULL;
-+    }
-+
-+      SSL_library_init();
-+      SSL_load_error_strings();
-+
-+      ctx = SSL_CTX_new(TLSv1_method());
-+
-+      if (!ctx) {
-+              error("EAP-TLS: Cannot initialize SSL CTX context");
-+              goto fail;
-+      }
-+
-+      /* if the certificate filename is of the form engine:id. e.g.
-+              pkcs11:12345
-+         then we try to load and use this engine.
-+         If the certificate filename starts with a / or . then we
-+         ALWAYS assume it is a file and not an engine/pkcs11 identifier
-+       */
-+      if ( index( certfile, '/' ) == NULL && index( certfile, '.') == NULL )
-+      {
-+              cert_identifier = index( certfile, ':' );
-+
-+              if (cert_identifier)
-+              {
-+                      cert_engine_name = certfile;
-+                      *cert_identifier = '\0';
-+                      cert_identifier++;
-+
-+                      dbglog( "Found certificate engine '%s'", cert_engine_name );
-+                      dbglog( "Found certificate identifier '%s'", cert_identifier );
-+              }
-+      }
-+
-+      /* if the privatekey filename is of the form engine:id. e.g.
-+              pkcs11:12345
-+         then we try to load and use this engine.
-+         If the privatekey filename starts with a / or . then we
-+         ALWAYS assume it is a file and not an engine/pkcs11 identifier
-+       */
-+      if ( index( privkeyfile, '/' ) == NULL && index( privkeyfile, '.') == NULL )
-+      {
-+              pkey_identifier = index( privkeyfile, ':' );
-+
-+              if (pkey_identifier)
-+              {
-+                      pkey_engine_name = privkeyfile;
-+                      *pkey_identifier = '\0';
-+                      pkey_identifier++;
-+
-+                      dbglog( "Found privatekey engine '%s'", pkey_engine_name );
-+                      dbglog( "Found privatekey identifier '%s'", pkey_identifier );
-+              }
-+      }
-+
-+      if (cert_identifier && pkey_identifier)
-+      {
-+              if (strlen( cert_identifier ) == 0)
-+              {
-+                      if (strlen( pkey_identifier ) == 0)
-+                              error( "EAP-TLS: both the certificate and privatekey identifiers are missing!" );
-+                      else
-+                      {
-+                              dbglog( "Substituting privatekey identifier for certificate identifier" );
-+                              cert_identifier = pkey_identifier;
-+                      }
-+              }
-+              else
-+              {
-+                      if (strlen( pkey_identifier ) == 0)
-+                      {
-+                              dbglog( "Substituting certificate identifier for privatekey identifier" );
-+                              pkey_identifier = cert_identifier;
-+                      }
-+              }
-+
-+      }
-+
-+      /* load the openssl config file only once */
-+      if (!ssl_config)
-+      {
-+              if (cert_engine_name || pkey_engine_name)
-+                      ssl_config = eaptls_ssl_load_config();
-+
-+              if (ssl_config && cert_engine_name)
-+                      cert_engine = eaptls_ssl_load_engine( cert_engine_name );
-+
-+              if (ssl_config && pkey_engine_name)
-+              {
-+                      /* don't load the same engine twice */
-+                      if ( strcmp( cert_engine_name, pkey_engine_name) == 0 )
-+                              pkey_engine = cert_engine;
-+                      else
-+                              pkey_engine = eaptls_ssl_load_engine( pkey_engine_name );
-+              }
-+      }
-+
-+    SSL_CTX_set_default_passwd_cb (ctx, password_callback);
-+
-+      if (!SSL_CTX_load_verify_locations(ctx, cacertfile, NULL))
-+      {
-+              error("EAP-TLS: Cannot load or verify CA file %s", cacertfile);
-+              goto fail;
-+      }
-+
-+    if (init_server)
-+              SSL_CTX_set_client_CA_list(ctx, SSL_load_client_CA_file(cacertfile));
-+
-+      if (cert_engine)
-+      {
-+              struct
-+              {
-+                      const char *s_slot_cert_id;
-+                      X509 *cert;
-+              } cert_info;
-+
-+              cert_info.s_slot_cert_id = cert_identifier;
-+              cert_info.cert = NULL;
-+              
-+              if (!ENGINE_ctrl_cmd( cert_engine, "LOAD_CERT_CTRL", 0, &cert_info, NULL, 0 ) )
-+              {
-+                      error( "EAP-TLS: Error loading certificate with id '%s' from engine", cert_identifier );
-+                      goto fail;
-+              }
-+
-+              if (cert_info.cert)
-+              {
-+                  dbglog( "Got the certificate, adding it to SSL context" );
-+                      dbglog( "subject = %s", X509_NAME_oneline( X509_get_subject_name( cert_info.cert ), NULL, 0 ) );
-+                      if (SSL_CTX_use_certificate(ctx, cert_info.cert) <= 0)
-+                      {
-+                              error("EAP-TLS: Cannot use PKCS11 certificate %s", cert_identifier);
-+                              goto fail;
-+                      }
-+              }
-+              else
-+              {
-+                      warn("EAP-TLS: Cannot load PKCS11 key %s", cert_identifier);
-+                      log_ssl_errors();
-+              }
-+      }
-+      else
-+      {
-+              if (!SSL_CTX_use_certificate_file(ctx, certfile, SSL_FILETYPE_PEM))
-+              {
-+                      error( "EAP-TLS: Cannot use public certificate %s", certfile );
-+                      goto fail;
-+              }
-+      }
-+
-+      if (pkey_engine)
-+      {
-+              EVP_PKEY   *pkey = NULL;
-+              PW_CB_DATA  cb_data;
-+
-+              cb_data.password = passwd;
-+              cb_data.prompt_info = pkey_identifier;
-+
-+              dbglog( "Loading private key '%s' from engine", pkey_identifier );
-+              pkey = ENGINE_load_private_key(pkey_engine, pkey_identifier, NULL, &cb_data);
-+              if (pkey)
-+              {
-+                  dbglog( "Got the private key, adding it to SSL context" );
-+                      if (SSL_CTX_use_PrivateKey(ctx, pkey) <= 0)
-+                      {
-+                              error("EAP-TLS: Cannot use PKCS11 key %s", pkey_identifier);
-+                              goto fail;
-+                      }
-+              }
-+              else
-+              {
-+                      warn("EAP-TLS: Cannot load PKCS11 key %s", pkey_identifier);
-+                      log_ssl_errors();
-+              }
-+      }
-+      else
-+      {
-+              if (!SSL_CTX_use_PrivateKey_file(ctx, privkeyfile, SSL_FILETYPE_PEM))
-+              { 
-+                      error("EAP-TLS: Cannot use private key %s", privkeyfile);
-+                      goto fail;
-+              }
-+      }
-+
-+      if (SSL_CTX_check_private_key(ctx) != 1) {
-+              error("EAP-TLS: Private key %s fails security check", privkeyfile);
-+              goto fail;
-+      }
-+
-+      SSL_CTX_set_options(ctx, SSL_OP_NO_SSLv2 | SSL_OP_NO_SSLv3);
-+      SSL_CTX_set_verify_depth(ctx, 5);
-+      SSL_CTX_set_verify(ctx,
-+                         SSL_VERIFY_PEER |
-+                         SSL_VERIFY_FAIL_IF_NO_PEER_CERT,
-+                         &ssl_verify_callback);
-+
-+      if (crl_dir) {
-+              if (!(certstore = SSL_CTX_get_cert_store(ctx))) {
-+                      error("EAP-TLS: Failed to get certificate store");
-+                      goto fail;
-+              }
-+
-+              if (!(lookup =
-+                   X509_STORE_add_lookup(certstore, X509_LOOKUP_hash_dir()))) {
-+                      error("EAP-TLS: Store lookup for CRL failed");
-+
-+                      goto fail;
-+              }
-+
-+              X509_LOOKUP_add_dir(lookup, crl_dir, X509_FILETYPE_PEM);
-+              X509_STORE_set_flags(certstore, X509_V_FLAG_CRL_CHECK);
-+      }
-+
-+      /*
-+       * If a peer certificate file was specified, it must be valid, else fail 
-+       */
-+      if (peer_certfile[0]) {
-+              if (!(tmp = get_X509_from_file(peer_certfile))) {
-+                      error("EAP-TLS: Error loading client certificate from file %s",
-+                           peer_certfile);
-+                      goto fail;
-+              }
-+              X509_free(tmp);
-+      }
-+
-+      return ctx;
-+
-+fail:
-+      log_ssl_errors();
-+      SSL_CTX_free(ctx);
-+      return NULL;
-+}
-+
-+/*
-+ * Determine the maximum packet size by looking at the LCP handshake
-+ */
-+
-+int eaptls_get_mtu(int unit)
-+{
-+      int mtu, mru;
-+
-+      lcp_options *wo = &lcp_wantoptions[unit];
-+      lcp_options *go = &lcp_gotoptions[unit];
-+      lcp_options *ho = &lcp_hisoptions[unit];
-+      lcp_options *ao = &lcp_allowoptions[unit];
-+
-+      mtu = ho->neg_mru? ho->mru: PPP_MRU;
-+      mru = go->neg_mru? MAX(wo->mru, go->mru): PPP_MRU;
-+    mtu = MIN(MIN(mtu, mru), ao->mru)- PPP_HDRLEN - 10;
-+
-+      dbglog("MTU = %d", mtu);
-+      return mtu;
-+}
-+
-+
-+/*
-+ * Init the ssl handshake (server mode)
-+ */
-+int eaptls_init_ssl_server(eap_state * esp)
-+{
-+      struct eaptls_session *ets;
-+      char servcertfile[MAXWORDLEN];
-+      char clicertfile[MAXWORDLEN];
-+      char cacertfile[MAXWORDLEN];
-+      char pkfile[MAXWORDLEN];
-+      /*
-+       * Allocate new eaptls session 
-+       */
-+      esp->es_server.ea_session = malloc(sizeof(struct eaptls_session));
-+      if (!esp->es_server.ea_session)
-+              fatal("Allocation error");
-+      ets = esp->es_server.ea_session;
-+
-+      if (!esp->es_server.ea_peer) {
-+              error("EAP-TLS: Error: client name not set (BUG)");
-+              return 0;
-+      }
-+
-+      strncpy(ets->peer, esp->es_server.ea_peer, MAXWORDLEN);
-+
-+      dbglog( "getting eaptls secret" );
-+      if (!get_eaptls_secret(esp->es_unit, esp->es_server.ea_peer,
-+                             esp->es_server.ea_name, clicertfile,
-+                             servcertfile, cacertfile, pkfile, 1)) {
-+              error( "EAP-TLS: Cannot get secret/password for client \"%s\", server \"%s\"",
-+                              esp->es_server.ea_peer, esp->es_server.ea_name );
-+              return 0;
-+      }
-+
-+      ets->mtu = eaptls_get_mtu(esp->es_unit);
-+
-+      ets->ctx = eaptls_init_ssl(1, cacertfile, servcertfile, clicertfile, pkfile);
-+      if (!ets->ctx)
-+              goto fail;
-+
-+      if (!(ets->ssl = SSL_new(ets->ctx)))
-+              goto fail;
-+
-+      /*
-+       * Set auto-retry to avoid timeouts on BIO_read
-+       */
-+      SSL_set_mode(ets->ssl, SSL_MODE_AUTO_RETRY);
-+
-+      /*
-+       * Initialize the BIOs we use to read/write to ssl engine 
-+       */
-+      ets->into_ssl = BIO_new(BIO_s_mem());
-+      ets->from_ssl = BIO_new(BIO_s_mem());
-+      SSL_set_bio(ets->ssl, ets->into_ssl, ets->from_ssl);
-+
-+      SSL_set_msg_callback(ets->ssl, ssl_msg_callback);
-+      SSL_set_msg_callback_arg(ets->ssl, ets);
-+
-+      /*
-+       * Attach the session struct to the connection, so we can later
-+       * retrieve it when doing certificate verification
-+       */
-+      SSL_set_ex_data(ets->ssl, 0, ets);
-+
-+      SSL_set_accept_state(ets->ssl);
-+
-+      ets->data = NULL;
-+      ets->datalen = 0;
-+      ets->alert_sent = 0;
-+      ets->alert_recv = 0;
-+
-+      /*
-+       * If we specified the client certificate file, store it in ets->peercertfile,
-+       * so we can check it later in ssl_verify_callback()
-+       */
-+      if (clicertfile[0])
-+              strncpy(&ets->peercertfile[0], clicertfile, MAXWORDLEN);
-+      else
-+              ets->peercertfile[0] = 0;
-+
-+      return 1;
-+
-+fail:
-+      SSL_CTX_free(ets->ctx);
-+      return 0;
-+}
-+
-+/*
-+ * Init the ssl handshake (client mode)
-+ */
-+int eaptls_init_ssl_client(eap_state * esp)
-+{
-+      struct eaptls_session *ets;
-+      char servcertfile[MAXWORDLEN];
-+      char clicertfile[MAXWORDLEN];
-+      char cacertfile[MAXWORDLEN];
-+      char pkfile[MAXWORDLEN];
-+
-+      /*
-+       * Allocate new eaptls session 
-+       */
-+      esp->es_client.ea_session = malloc(sizeof(struct eaptls_session));
-+      if (!esp->es_client.ea_session)
-+              fatal("Allocation error");
-+      ets = esp->es_client.ea_session;
-+
-+      /*
-+       * If available, copy server name in ets; it will be used in cert
-+       * verify 
-+       */
-+      if (esp->es_client.ea_peer)
-+              strncpy(ets->peer, esp->es_client.ea_peer, MAXWORDLEN);
-+      else
-+              ets->peer[0] = 0;
-+      
-+      ets->mtu = eaptls_get_mtu(esp->es_unit);
-+
-+      dbglog( "calling get_eaptls_secret" );
-+      if (!get_eaptls_secret(esp->es_unit, esp->es_client.ea_name,
-+                             esp->es_client.ea_peer, clicertfile,
-+                             servcertfile, cacertfile, pkfile, 0)) {
-+              error( "EAP-TLS: Cannot get secret/password for client \"%s\", server \"%s\"",
-+                              esp->es_client.ea_name, esp->es_client.ea_peer );
-+              return 0;
-+      }
-+
-+      dbglog( "calling eaptls_init_ssl" );
-+      ets->ctx = eaptls_init_ssl(0, cacertfile, clicertfile, servcertfile, pkfile);
-+      if (!ets->ctx)
-+              goto fail;
-+
-+      ets->ssl = SSL_new(ets->ctx);
-+
-+      if (!ets->ssl)
-+              goto fail;
-+
-+      /*
-+       * Initialize the BIOs we use to read/write to ssl engine 
-+       */
-+      dbglog( "Initializing SSL BIOs" );
-+      ets->into_ssl = BIO_new(BIO_s_mem());
-+      ets->from_ssl = BIO_new(BIO_s_mem());
-+      SSL_set_bio(ets->ssl, ets->into_ssl, ets->from_ssl);
-+
-+      SSL_set_msg_callback(ets->ssl, ssl_msg_callback);
-+      SSL_set_msg_callback_arg(ets->ssl, ets);
-+
-+      /*
-+       * Attach the session struct to the connection, so we can later
-+       * retrieve it when doing certificate verification
-+       */
-+      SSL_set_ex_data(ets->ssl, 0, ets);
-+
-+      SSL_set_connect_state(ets->ssl);
-+
-+      ets->data = NULL;
-+      ets->datalen = 0;
-+      ets->alert_sent = 0;
-+      ets->alert_recv = 0;
-+
-+      /*
-+       * If we specified the server certificate file, store it in
-+       * ets->peercertfile, so we can check it later in
-+       * ssl_verify_callback() 
-+       */
-+      if (servcertfile[0])
-+              strncpy(ets->peercertfile, servcertfile, MAXWORDLEN);
-+      else
-+              ets->peercertfile[0] = 0;
-+
-+      return 1;
-+
-+fail:
-+      dbglog( "eaptls_init_ssl_client: fail" );
-+      SSL_CTX_free(ets->ctx);
-+      return 0;
-+
-+}
-+
-+void eaptls_free_session(struct eaptls_session *ets)
-+{
-+      if (ets->ssl)
-+              SSL_free(ets->ssl);
-+
-+      if (ets->ctx)
-+              SSL_CTX_free(ets->ctx);
-+
-+      free(ets);
-+}
-+
-+/*
-+ * Handle a received packet, reassembling fragmented messages and
-+ * passing them to the ssl engine
-+ */
-+int eaptls_receive(struct eaptls_session *ets, u_char * inp, int len)
-+{
-+      u_char flags;
-+      u_int tlslen;
-+      u_char dummy[65536];
-+
-+      GETCHAR(flags, inp);
-+      len--;
-+
-+    if (flags & EAP_TLS_FLAGS_LI && !ets->data) {
-+ 
-+              /*
-+               * This is the first packet of a message
-+              */
-+ 
-+              GETLONG(tlslen, inp);
-+              len -= 4;
-+
-+              if (tlslen > EAP_TLS_MAX_LEN) {
-+                      error("Error: tls message length > %d, truncated",
-+                              EAP_TLS_MAX_LEN);
-+                      tlslen = EAP_TLS_MAX_LEN;
-+              }
-+
-+              /*
-+               * Allocate memory for the whole message
-+              */
-+              ets->data = malloc(tlslen);
-+              if (!ets->data)
-+                      fatal("EAP TLS: allocation error\n");
-+
-+              ets->datalen = 0;
-+              ets->tlslen = tlslen;
-+
-+      }
-+      else if (flags & EAP_TLS_FLAGS_LI && ets->data) {
-+              /*
-+               * Non first with LI (strange...)
-+              */
-+ 
-+              GETLONG(tlslen, inp);
-+              len -= 4;
-+ 
-+      }
-+      else if (!ets->data) {
-+              /*
-+               * A non fragmented message without LI flag
-+              */
-+ 
-+              ets->data = malloc(len);
-+              if (!ets->data)
-+                      fatal("EAP TLS: allocation error\n");
-+ 
-+              ets->datalen = 0;
-+              ets->tlslen = len;
-+      }
-+
-+      if (flags & EAP_TLS_FLAGS_MF)
-+              ets->frag = 1;
-+      else
-+              ets->frag = 0;
-+
-+      if (len + ets->datalen > ets->tlslen) {
-+              warn("EAP TLS: received data > TLS message length");
-+              return 1;
-+      }
-+
-+      BCOPY(inp, ets->data + ets->datalen, len);
-+      ets->datalen += len;
-+
-+      if (!ets->frag) {
-+
-+              /*
-+               * If we have the whole message, pass it to ssl 
-+               */
-+
-+              if (ets->datalen != ets->tlslen) {
-+                      warn("EAP TLS: received data != TLS message length");
-+                      return 1;
-+              }
-+
-+              if (BIO_write(ets->into_ssl, ets->data, ets->datalen) == -1)
-+                      log_ssl_errors();
-+
-+              SSL_read(ets->ssl, dummy, 65536);
-+
-+              free(ets->data);
-+              ets->data = NULL;
-+              ets->datalen = 0;
-+      }
-+
-+      return 0;
-+}
-+
-+/*
-+ * Return an eap-tls packet in outp.
-+ * A TLS message read from the ssl engine is buffered in ets->data.
-+ * At each call we control if there is buffered data and send a 
-+ * packet of mtu bytes.
-+ */
-+int eaptls_send(struct eaptls_session *ets, u_char ** outp)
-+{
-+      bool first = 0;
-+      int size;
-+      u_char fromtls[65536];
-+      int res;
-+      u_char *start;
-+
-+      start = *outp;
-+
-+      if (!ets->data) {
-+
-+              if(!ets->alert_sent)
-+                      SSL_read(ets->ssl, fromtls, 65536);
-+
-+              /*
-+               * Read from ssl 
-+               */
-+              if ((res = BIO_read(ets->from_ssl, fromtls, 65536)) == -1)
-+                      fatal("No data from BIO_read");
-+
-+              ets->datalen = res;
-+
-+              ets->data = malloc(ets->datalen);
-+              BCOPY(fromtls, ets->data, ets->datalen);
-+
-+              ets->offset = 0;
-+              first = 1;
-+
-+      }
-+
-+      size = ets->datalen - ets->offset;
-+    
-+      if (size > ets->mtu) {
-+              size = ets->mtu;
-+              ets->frag = 1;
-+      } else
-+              ets->frag = 0;
-+
-+      PUTCHAR(EAPT_TLS, *outp);
-+
-+      /*
-+       * Set right flags and length if necessary 
-+       */
-+      if (ets->frag && first) {
-+              PUTCHAR(EAP_TLS_FLAGS_LI | EAP_TLS_FLAGS_MF, *outp);
-+              PUTLONG(ets->datalen, *outp);
-+      } else if (ets->frag) {
-+              PUTCHAR(EAP_TLS_FLAGS_MF, *outp);
-+      } else
-+              PUTCHAR(0, *outp);
-+
-+      /*
-+       * Copy the data in outp 
-+       */
-+      BCOPY(ets->data + ets->offset, *outp, size);
-+      INCPTR(size, *outp);
-+
-+      /*
-+       * Copy the packet in retransmission buffer 
-+       */
-+      BCOPY(start, &ets->rtx[0], *outp - start);
-+      ets->rtx_len = *outp - start;
-+
-+      ets->offset += size;
-+
-+      if (ets->offset >= ets->datalen) {
-+
-+              /*
-+               * The whole message has been sent 
-+               */
-+
-+              free(ets->data);
-+              ets->data = NULL;
-+              ets->datalen = 0;
-+              ets->offset = 0;
-+      }
-+
-+      return 0;
-+}
-+
-+/*
-+ * Get the sent packet from the retransmission buffer
-+ */
-+void eaptls_retransmit(struct eaptls_session *ets, u_char ** outp)
-+{
-+      BCOPY(ets->rtx, *outp, ets->rtx_len);
-+      INCPTR(ets->rtx_len, *outp);
-+}
-+
-+/*
-+ * Verify a certificate.
-+ * Most of the work (signatures and issuer attributes checking)
-+ * is done by ssl; we check the CN in the peer certificate 
-+ * against the peer name.
-+ */
-+int ssl_verify_callback(int preverify_ok, X509_STORE_CTX * ctx)
-+{
-+      char subject[256];
-+      char cn_str[256];
-+      X509 *peer_cert;
-+      int err, depth;
-+      int ok = preverify_ok;
-+      SSL *ssl;
-+      struct eaptls_session *ets;
-+
-+      peer_cert = X509_STORE_CTX_get_current_cert(ctx);
-+      err = X509_STORE_CTX_get_error(ctx);
-+      depth = X509_STORE_CTX_get_error_depth(ctx);
-+
-+      dbglog("certificate verify depth: %d", depth);
-+
-+    if (auth_required && !ok) {
-+              X509_NAME_oneline(X509_get_subject_name(peer_cert),
-+                                subject, 256);
-+
-+              X509_NAME_get_text_by_NID(X509_get_subject_name(peer_cert),
-+                                        NID_commonName, cn_str, 256);
-+
-+              dbglog("Certificate verification error:\n depth: %d CN: %s"
-+                     "\n err: %d (%s)\n", depth, cn_str, err,
-+                     X509_verify_cert_error_string(err));
-+
-+              return 0;
-+      }
-+
-+      ssl = X509_STORE_CTX_get_ex_data(ctx,
-+                                     SSL_get_ex_data_X509_STORE_CTX_idx());
-+
-+      ets = (struct eaptls_session *)SSL_get_ex_data(ssl, 0);
-+
-+      if (ets == NULL) {
-+              error("Error: SSL_get_ex_data returned NULL");
-+              return 0;
-+      }
-+
-+      log_ssl_errors();
-+
-+      if (!depth) {           /* This is the peer certificate */
-+
-+              X509_NAME_oneline(X509_get_subject_name(peer_cert),
-+                                subject, 256);
-+
-+              X509_NAME_get_text_by_NID(X509_get_subject_name(peer_cert),
-+                                        NID_commonName, cn_str, 256);
-+
-+              /*
-+               * If acting as client and the name of the server wasn't specified
-+               * explicitely, we can't verify the server authenticity 
-+               */
-+              if (!ets->peer[0]) {
-+                      warn("Peer name not specified: no check");
-+                      return 1;
-+              }
-+
-+              /*
-+               * Check the CN 
-+               */
-+              if (strcmp(cn_str, ets->peer)) {
-+                      error
-+                          ("Certificate verification error: CN (%s) != peer_name (%s)",
-+                           cn_str, ets->peer);
-+                      return 0;
-+              }
-+
-+              warn("Certificate CN: %s , peer name %s", cn_str, ets->peer);
-+
-+              /*
-+               * If a peer certificate file was specified, here we check it 
-+               */
-+              if (ets->peercertfile[0]) {
-+                      if (ssl_cmp_certs(&ets->peercertfile[0], peer_cert)
-+                          != 0) {
-+                              error
-+                                  ("Peer certificate doesn't match stored certificate");
-+                              return 0;
-+                      }
-+              }
-+      }
-+
-+      return 1;
-+}
-+
-+/*
-+ * Compare a certificate with the one stored in a file
-+ */
-+int ssl_cmp_certs(char *filename, X509 * a)
-+{
-+      X509 *b;
-+      int ret;
-+
-+      if (!(b = get_X509_from_file(filename)))
-+              return 1;
-+
-+      ret = X509_cmp(a, b);
-+      X509_free(b);
-+
-+      return ret;
-+
-+}
-+
-+X509 *get_X509_from_file(char *filename)
-+{
-+      FILE *fp;
-+      X509 *ret;
-+
-+      if (!(fp = fopen(filename, "r")))
-+              return NULL;
-+
-+      ret = PEM_read_X509(fp, NULL, NULL, NULL);
-+
-+      fclose(fp);
-+
-+      return ret;
-+}
-+
-+/*
-+ * Every sent & received message this callback function is invoked,
-+ * so we know when alert messages have arrived or are sent and
-+ * we can print debug information about TLS handshake.
-+ */
-+void
-+ssl_msg_callback(int write_p, int version, int content_type,
-+               const void *buf, size_t len, SSL * ssl, void *arg)
-+{
-+      char string[256];
-+      struct eaptls_session *ets = (struct eaptls_session *)arg;
-+      unsigned char code;
-+
-+      if(write_p)
-+              strcpy(string, " -> ");
-+      else
-+              strcpy(string, " <- ");
-+
-+      
-+      switch(content_type) {
-+
-+      case SSL3_RT_ALERT:     
-+              strcat(string, "Alert: ");      
-+              code = ((const unsigned char *)buf)[1];
-+
-+              if (write_p) {
-+                      ets->alert_sent = 1;
-+                      ets->alert_sent_desc = code;
-+              } else {
-+                      ets->alert_recv = 1;
-+                      ets->alert_recv_desc = code;
-+              }
-+
-+              strcat(string, SSL_alert_desc_string_long(code));
-+              break;
-+
-+      case SSL3_RT_CHANGE_CIPHER_SPEC:
-+              strcat(string, "ChangeCipherSpec");
-+              break;
-+
-+      case SSL3_RT_HANDSHAKE:
-+
-+              strcat(string, "Handshake: ");
-+              code = ((const unsigned char *)buf)[0];
-+
-+              switch(code) {
-+                      case SSL3_MT_HELLO_REQUEST:
-+                              strcat(string,"Hello Request");
-+                              break;
-+                      case SSL3_MT_CLIENT_HELLO:
-+                              strcat(string,"Client Hello");
-+                              break;
-+                      case SSL3_MT_SERVER_HELLO:
-+                              strcat(string,"Server Hello");
-+                              break;
-+                      case SSL3_MT_CERTIFICATE:
-+                              strcat(string,"Certificate");
-+                              break;
-+                      case SSL3_MT_SERVER_KEY_EXCHANGE:
-+                              strcat(string,"Server Key Exchange");
-+                              break;
-+                      case SSL3_MT_CERTIFICATE_REQUEST:
-+                              strcat(string,"Certificate Request");
-+                              break;
-+                      case SSL3_MT_SERVER_DONE:
-+                              strcat(string,"Server Hello Done");
-+                                                              break;
-+                      case SSL3_MT_CERTIFICATE_VERIFY:
-+                              strcat(string,"Certificate Verify");
-+                              break;
-+                      case SSL3_MT_CLIENT_KEY_EXCHANGE:
-+                              strcat(string,"Client Key Exchange");
-+                              break;
-+                      case SSL3_MT_FINISHED:
-+                              strcat(string,"Finished");
-+                              break;
-+
-+                      default:
-+                              sprintf( string, "Handshake: Unknown SSL3 code received: %d", code );
-+              }
-+              break;
-+
-+      default:
-+              sprintf( string, "SSL message contains unknown content type: %d", content_type );
-+              
-+      }
-+
-+      /* Alert messages must always be displayed */
-+      if(content_type == SSL3_RT_ALERT)
-+              error("%s", string);
-+      else
-+              dbglog("%s", string);
-+}
-+
-diff --git a/pppd/eap-tls.h b/pppd/eap-tls.h
-new file mode 100644
-index 0000000..2d45a0b
---- /dev/null
-+++ b/pppd/eap-tls.h
-@@ -0,0 +1,107 @@
-+/*
-+ * eap-tls.h
-+ *
-+ * Copyright (c) Beniamino Galvani 2005 All rights reserved.
-+ *
-+ * Redistribution and use in source and binary forms, with or without
-+ * modification, are permitted provided that the following conditions
-+ * are met:
-+ *
-+ * 1. Redistributions of source code must retain the above copyright
-+ *    notice, this list of conditions and the following disclaimer.
-+ *
-+ * 2. Redistributions in binary form must reproduce the above copyright
-+ *    notice, this list of conditions and the following disclaimer in
-+ *    the documentation and/or other materials provided with the
-+ *    distribution.
-+ *
-+ * 3. The name(s) of the authors of this software must not be used to
-+ *    endorse or promote products derived from this software without
-+ *    prior written permission.
-+ *
-+ * THE AUTHORS OF THIS SOFTWARE DISCLAIM ALL WARRANTIES WITH REGARD TO
-+ * THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
-+ * AND FITNESS, IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY
-+ * SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
-+ * AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
-+ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-+ *
-+ */
-+
-+#ifndef __EAP_TLS_H__
-+#define __EAP_TLS_H__
-+
-+#include "eap.h"
-+
-+#include <openssl/ssl.h>
-+#include <openssl/bio.h>
-+#include <openssl/md5.h>
-+
-+#define EAP_TLS_FLAGS_LI        128   /* length included flag */
-+#define EAP_TLS_FLAGS_MF        64    /* more fragments flag */
-+#define EAP_TLS_FLAGS_START     32    /* start flag */
-+
-+#define EAP_TLS_MAX_LEN         65536 /* max eap tls packet size */
-+
-+struct eaptls_session
-+{
-+      u_char *data;           /* buffered data */
-+      int datalen;            /* buffered data len */
-+      int offset;             /* from where to send */
-+      int tlslen;             /* total length of tls data */
-+      bool frag;              /* packet is fragmented */
-+      SSL_CTX *ctx;
-+      SSL *ssl;               /* ssl connection */
-+      BIO *from_ssl;
-+      BIO *into_ssl;
-+      char peer[MAXWORDLEN];  /* peer name */
-+      char peercertfile[MAXWORDLEN];
-+      bool alert_sent;
-+      u_char alert_sent_desc;
-+      bool alert_recv;
-+      u_char alert_recv_desc;
-+      char rtx[65536];        /* retransmission buffer */
-+      int rtx_len;
-+      int mtu;                /* unit mtu */
-+};
-+
-+typedef struct pw_cb_data
-+{
-+      const void *password;
-+      const char *prompt_info;
-+} PW_CB_DATA;
-+
-+
-+int ssl_verify_callback(int, X509_STORE_CTX *);
-+void ssl_msg_callback(int write_p, int version, int ct, const void *buf,
-+                    size_t len, SSL * ssl, void *arg);
-+
-+X509 *get_X509_from_file(char *filename);
-+int ssl_cmp_certs(char *filename, X509 * a);
-+
-+SSL_CTX *eaptls_init_ssl(int init_server, char *cacertfile,
-+            char *certfile, char *peer_certfile, char *privkeyfile);
-+int eaptls_init_ssl_server(eap_state * esp);
-+int eaptls_init_ssl_client(eap_state * esp);
-+void eaptls_free_session(struct eaptls_session *ets);
-+
-+int eaptls_receive(struct eaptls_session *ets, u_char * inp, int len);
-+int eaptls_send(struct eaptls_session *ets, u_char ** outp);
-+void eaptls_retransmit(struct eaptls_session *ets, u_char ** outp);
-+
-+int get_eaptls_secret(int unit, char *client, char *server,
-+                    char *clicertfile, char *servcertfile, char *cacertfile,
-+                    char *pkfile, int am_server);
-+
-+#ifdef MPPE
-+#include "mppe.h"   /* MPPE_MAX_KEY_LEN */
-+extern u_char mppe_send_key[MPPE_MAX_KEY_LEN];
-+extern u_char mppe_recv_key[MPPE_MAX_KEY_LEN];
-+extern int mppe_keys_set;
-+
-+void eaptls_gen_mppe_keys(struct eaptls_session *ets, const char *prf_label, int client);
-+
-+#endif
-+
-+#endif
-diff --git a/pppd/eap.c b/pppd/eap.c
-index faced53..e2270af 100644
---- a/pppd/eap.c
-+++ b/pppd/eap.c
-@@ -43,6 +43,11 @@
-  * Based on draft-ietf-pppext-eap-srp-03.txt.
-  */
-+/*
-+ * Modification by Beniamino Galvani, Mar 2005
-+ * Implemented EAP-TLS authentication
-+ */
-+
- #define RCSID "$Id: eap.c,v 1.4 2004/11/09 22:39:25 paulus Exp $"
- /*
-@@ -62,8 +67,12 @@
- #include "pppd.h"
- #include "pathnames.h"
--#include "md5.h"
- #include "eap.h"
-+#ifdef USE_EAPTLS
-+#include "eap-tls.h"
-+#else
-+#include "md5.h"
-+#endif /* USE_EAPTLS */
- #ifdef USE_SRP
- #include <t_pwd.h>
-@@ -209,6 +218,9 @@ int unit;
-       esp->es_server.ea_id = (u_char)(drand48() * 0x100);
-       esp->es_client.ea_timeout = EAP_DEFREQTIME;
-       esp->es_client.ea_maxrequests = EAP_DEFALLOWREQ;
-+#ifdef USE_EAPTLS
-+      esp->es_client.ea_using_eaptls = 0;
-+#endif /* USE_EAPTLS */
- }
- /*
-@@ -268,7 +280,7 @@ eap_state *esp;
-       u_char *outp;
-       outp = outpacket_buf;
--    
-+
-       MAKEHEADER(outp, PPP_EAP);
-       PUTCHAR(EAP_FAILURE, outp);
-@@ -293,7 +305,7 @@ eap_state *esp;
-       u_char *outp;
-       outp = outpacket_buf;
--    
-+
-       MAKEHEADER(outp, PPP_EAP);
-       PUTCHAR(EAP_SUCCESS, outp);
-@@ -436,8 +448,16 @@ int status;
-       u_char vals[2];
-       struct b64state bs;
- #endif /* USE_SRP */
-+#ifdef USE_EAPTLS
-+      struct eaptls_session *ets;
-+      int secret_len;
-+      char secret[MAXWORDLEN];
-+#endif /* USE_EAPTLS */
-       esp->es_server.ea_timeout = esp->es_savedtime;
-+#ifdef USE_EAPTLS
-+      esp->es_server.ea_prev_state = esp->es_server.ea_state;
-+#endif /* USE_EAPTLS */
-       switch (esp->es_server.ea_state) {
-       case eapBadAuth:
-               return;
-@@ -562,9 +582,81 @@ int status;
-                       break;
-               }
- #endif /* USE_SRP */
-+#ifdef USE_EAPTLS
-+                if (!get_secret(esp->es_unit, esp->es_server.ea_peer,
-+                    esp->es_server.ea_name, secret, &secret_len, 1)) {
-+
-+                      esp->es_server.ea_state = eapTlsStart;
-+                      break;
-+              }
-+#endif /* USE_EAPTLS */
-+
-               esp->es_server.ea_state = eapMD5Chall;
-               break;
-+#ifdef USE_EAPTLS
-+      case eapTlsStart:
-+              /* Initialize ssl session */
-+              if(!eaptls_init_ssl_server(esp)) {
-+                      esp->es_server.ea_state = eapBadAuth;
-+                      break;
-+              }
-+
-+              esp->es_server.ea_state = eapTlsRecv;
-+              break;
-+
-+      case eapTlsRecv:
-+              ets = (struct eaptls_session *) esp->es_server.ea_session;
-+
-+              if(ets->alert_sent) {
-+                      esp->es_server.ea_state = eapTlsSendAlert;
-+                      break;
-+              }
-+
-+              if (status) {
-+                      esp->es_server.ea_state = eapBadAuth;
-+                      break;
-+              }
-+              ets = (struct eaptls_session *) esp->es_server.ea_session;
-+
-+              if(ets->frag)
-+                      esp->es_server.ea_state = eapTlsSendAck;
-+              else
-+                      esp->es_server.ea_state = eapTlsSend;
-+              break;
-+
-+      case eapTlsSend:
-+              ets = (struct eaptls_session *) esp->es_server.ea_session;
-+
-+              if(SSL_is_init_finished(ets->ssl)) {
-+                      esp->es_server.ea_state = eapTlsRecvClient;
-+                      break;
-+              }
-+
-+              if(ets->frag)
-+                      esp->es_server.ea_state = eapTlsRecvAck;
-+              else
-+                      esp->es_server.ea_state = eapTlsRecv;
-+              break;
-+
-+      case eapTlsSendAck:
-+                      esp->es_server.ea_state = eapTlsRecv;
-+              break;
-+
-+      case eapTlsRecvAck:
-+                if (status) {
-+                        esp->es_server.ea_state = eapBadAuth;
-+                        break;
-+                }
-+
-+              esp->es_server.ea_state = eapTlsSend;
-+              break;
-+
-+      case eapTlsSendAlert:
-+              esp->es_server.ea_state = eapTlsRecvAlertAck;
-+              break;
-+#endif /* USE_EAPTLS */
-+
-       case eapSRP1:
- #ifdef USE_SRP
-               ts = (struct t_server *)esp->es_server.ea_session;
-@@ -681,7 +773,7 @@ eap_state *esp;
-       }
-       outp = outpacket_buf;
--    
-+
-       MAKEHEADER(outp, PPP_EAP);
-       PUTCHAR(EAP_REQUEST, outp);
-@@ -718,6 +810,30 @@ eap_state *esp;
-               INCPTR(esp->es_server.ea_namelen, outp);
-               break;
-+#ifdef USE_EAPTLS
-+      case eapTlsStart:
-+              PUTCHAR(EAPT_TLS, outp);
-+              PUTCHAR(EAP_TLS_FLAGS_START, outp);
-+              eap_figure_next_state(esp, 0);
-+              break;
-+
-+      case eapTlsSend:
-+              eaptls_send(esp->es_server.ea_session, &outp);
-+              eap_figure_next_state(esp, 0);
-+              break;
-+
-+      case eapTlsSendAck:
-+              PUTCHAR(EAPT_TLS, outp);
-+              PUTCHAR(0, outp);
-+              eap_figure_next_state(esp, 0);
-+              break;
-+
-+      case eapTlsSendAlert:
-+              eaptls_send(esp->es_server.ea_session, &outp);
-+              eap_figure_next_state(esp, 0);
-+              break;
-+#endif /* USE_EAPTLS */
-+
- #ifdef USE_SRP
-       case eapSRP1:
-               PUTCHAR(EAPT_SRP, outp);
-@@ -904,11 +1020,57 @@ static void
- eap_server_timeout(arg)
- void *arg;
- {
-+#ifdef USE_EAPTLS
-+      u_char *outp;
-+      u_char *lenloc;
-+      int outlen;
-+#endif /* USE_EAPTLS */
-+
-       eap_state *esp = (eap_state *) arg;
-       if (!eap_server_active(esp))
-               return;
-+#ifdef USE_EAPTLS
-+      switch(esp->es_server.ea_prev_state) {
-+
-+      /*
-+       *  In eap-tls the state changes after a request, so we return to
-+       *  previous state ...
-+       */
-+      case(eapTlsStart):
-+      case(eapTlsSendAck):
-+              esp->es_server.ea_state = esp->es_server.ea_prev_state;
-+              break;
-+
-+      /*
-+       *  ... or resend the stored data
-+       */
-+      case(eapTlsSend):
-+      case(eapTlsSendAlert):
-+              outp = outpacket_buf;
-+              MAKEHEADER(outp, PPP_EAP);
-+              PUTCHAR(EAP_REQUEST, outp);
-+              PUTCHAR(esp->es_server.ea_id, outp);
-+              lenloc = outp;
-+              INCPTR(2, outp);
-+
-+              eaptls_retransmit(esp->es_server.ea_session, &outp);
-+
-+              outlen = (outp - outpacket_buf) - PPP_HDRLEN;
-+              PUTSHORT(outlen, lenloc);
-+              output(esp->es_unit, outpacket_buf, outlen + PPP_HDRLEN);
-+              esp->es_server.ea_requests++;
-+
-+              if (esp->es_server.ea_timeout > 0)
-+                      TIMEOUT(eap_server_timeout, esp, esp->es_server.ea_timeout);
-+
-+              return;
-+      default:
-+              break;
-+      }
-+#endif /* USE_EAPTLS */
-+
-       /* EAP ID number must not change on timeout. */
-       eap_send_request(esp);
- }
-@@ -1081,7 +1243,7 @@ int namelen;
-       int msglen;
-       outp = outpacket_buf;
--    
-+
-       MAKEHEADER(outp, PPP_EAP);
-       PUTCHAR(EAP_RESPONSE, outp);
-@@ -1117,7 +1279,7 @@ int lenstr;
-       int msglen;
-       outp = outpacket_buf;
--    
-+
-       MAKEHEADER(outp, PPP_EAP);
-       PUTCHAR(EAP_RESPONSE, outp);
-@@ -1148,7 +1310,7 @@ u_char *str;
-       int msglen;
-       outp = outpacket_buf;
--    
-+
-       MAKEHEADER(outp, PPP_EAP);
-       PUTCHAR(EAP_RESPONSE, outp);
-@@ -1166,6 +1328,81 @@ u_char *str;
- }
- #endif /* USE_SRP */
-+#ifdef USE_EAPTLS
-+/*
-+ * Send an EAP-TLS response message with tls data
-+ */
-+static void
-+eap_tls_response(esp, id)
-+eap_state *esp;
-+u_char id;
-+{
-+        u_char *outp;
-+        int outlen;
-+      u_char *lenloc;
-+
-+        outp = outpacket_buf;
-+
-+        MAKEHEADER(outp, PPP_EAP);
-+
-+        PUTCHAR(EAP_RESPONSE, outp);
-+        PUTCHAR(id, outp);
-+
-+      lenloc = outp;
-+      INCPTR(2, outp);
-+
-+      /*
-+         If the id in the request is unchanged, we must retransmit
-+         the old data
-+      */
-+      if(id == esp->es_client.ea_id)
-+              eaptls_retransmit(esp->es_client.ea_session, &outp);
-+      else
-+              eaptls_send(esp->es_client.ea_session, &outp);
-+
-+      outlen = (outp - outpacket_buf) - PPP_HDRLEN;
-+      PUTSHORT(outlen, lenloc);
-+
-+      output(esp->es_unit, outpacket_buf, PPP_HDRLEN + outlen);
-+
-+      esp->es_client.ea_id = id;
-+
-+}
-+
-+/*
-+ * Send an EAP-TLS ack
-+ */
-+static void
-+eap_tls_sendack(esp, id)
-+eap_state *esp;
-+u_char id;
-+{
-+      u_char *outp;
-+      int outlen;
-+      u_char *lenloc;
-+
-+      outp = outpacket_buf;
-+
-+      MAKEHEADER(outp, PPP_EAP);
-+
-+      PUTCHAR(EAP_RESPONSE, outp);
-+      PUTCHAR(id, outp);
-+      esp->es_client.ea_id = id;
-+
-+      lenloc = outp;
-+      INCPTR(2, outp);
-+
-+      PUTCHAR(EAPT_TLS, outp);
-+      PUTCHAR(0, outp);
-+
-+      outlen = (outp - outpacket_buf) - PPP_HDRLEN;
-+      PUTSHORT(outlen, lenloc);
-+
-+      output(esp->es_unit, outpacket_buf, PPP_HDRLEN + outlen);
-+
-+}
-+#endif /* USE_EAPTLS */
-+
- static void
- eap_send_nak(esp, id, type)
- eap_state *esp;
-@@ -1320,6 +1557,11 @@ int len;
-       char rhostname[256];
-       MD5_CTX mdContext;
-       u_char hash[MD5_SIGNATURE_SIZE];
-+#ifdef USE_EAPTLS
-+      u_char flags;
-+      struct eaptls_session *ets = esp->es_client.ea_session;
-+#endif /* USE_EAPTLS */
-+
- #ifdef USE_SRP
-       struct t_client *tc;
-       struct t_num sval, gval, Nval, *Ap, Bval;
-@@ -1456,6 +1698,90 @@ int len;
-                   esp->es_client.ea_namelen);
-               break;
-+#ifdef USE_EAPTLS
-+      case EAPT_TLS:
-+
-+              switch(esp->es_client.ea_state) {
-+
-+              case eapListen:
-+
-+                      GETCHAR(flags, inp);
-+                      if(flags & EAP_TLS_FLAGS_START){
-+
-+                              esp->es_client.ea_using_eaptls = 1;
-+
-+                                if (explicit_remote){
-+                                        esp->es_client.ea_peer = strdup(remote_name);
-+                                        esp->es_client.ea_peerlen = strlen(remote_name);
-+                                } else
-+                                        esp->es_client.ea_peer = NULL;
-+
-+                              /* Init ssl session */
-+                              if(!eaptls_init_ssl_client(esp)) {
-+                                      dbglog("cannot init ssl");
-+                                      eap_send_nak(esp, id, EAPT_TLS);
-+                                      esp->es_client.ea_using_eaptls = 0;
-+                                      break;
-+                              }
-+
-+                              ets = esp->es_client.ea_session;
-+                              eap_tls_response(esp, id);
-+                              esp->es_client.ea_state = (ets->frag ? eapTlsRecvAck :
-+                                                              eapTlsRecv);
-+                              break;
-+                      }
-+
-+                      /* The server has sent a bad start packet. */
-+                      eap_send_nak(esp, id, EAPT_TLS);
-+                      break;
-+
-+              case eapTlsRecvAck:
-+                      eap_tls_response(esp, id);
-+                      esp->es_client.ea_state = (ets->frag ? eapTlsRecvAck :
-+                                                      eapTlsRecv);
-+                      break;
-+
-+              case eapTlsRecv:
-+                      eaptls_receive(ets, inp, len);
-+
-+                      if(ets->frag) {
-+                              eap_tls_sendack(esp, id);
-+                              esp->es_client.ea_state = eapTlsRecv;
-+                              break;
-+                      }
-+
-+                      if(ets->alert_recv) {
-+                              eap_tls_sendack(esp, id);
-+                              esp->es_client.ea_state = eapTlsRecvFailure;
-+                              break;
-+                      }
-+
-+                      /* Check if TLS handshake is finished */
-+                      if(SSL_is_init_finished(ets->ssl)){
-+#ifdef MPPE
-+                                eaptls_gen_mppe_keys( ets, "client EAP encryption", 1 );
-+#endif
-+                              eaptls_free_session(ets);
-+                              eap_tls_sendack(esp, id);
-+                              esp->es_client.ea_state = eapTlsRecvSuccess;
-+                              break;
-+                      }
-+
-+                      eap_tls_response(esp,id);
-+                        esp->es_client.ea_state = (ets->frag ? eapTlsRecvAck :
-+                                                        eapTlsRecv);
-+
-+                        break;
-+
-+              default:
-+                      eap_send_nak(esp, id, EAPT_TLS);
-+                      esp->es_client.ea_using_eaptls = 0;
-+                      break;
-+              }
-+
-+              break;
-+#endif /* USE_EAPTLS */
-+
- #ifdef USE_SRP
-       case EAPT_SRP:
-               if (len < 1) {
-@@ -1737,6 +2063,11 @@ int len;
-       u_char dig[SHA_DIGESTSIZE];
- #endif /* USE_SRP */
-+#ifdef USE_EAPTLS
-+      struct eaptls_session *ets;
-+      u_char flags;
-+#endif /* USE_EAPTLS */
-+
-       if (esp->es_server.ea_id != id) {
-               dbglog("EAP: discarding Response %d; expected ID %d", id,
-                   esp->es_server.ea_id);
-@@ -1776,6 +2107,60 @@ int len;
-               eap_figure_next_state(esp, 0);
-               break;
-+#ifdef USE_EAPTLS
-+      case EAPT_TLS:
-+              switch(esp->es_server.ea_state) {
-+
-+              case eapTlsRecv:
-+                      ets = (struct eaptls_session *) esp->es_server.ea_session;
-+                      eap_figure_next_state(esp,
-+                              eaptls_receive(esp->es_server.ea_session, inp, len));
-+
-+                      if(ets->alert_recv) {
-+                              eap_send_failure(esp);
-+                              break;
-+                      }
-+                      break;
-+
-+              case eapTlsRecvAck:
-+                      if(len > 1) {
-+                              dbglog("EAP-TLS ACK with extra data");
-+                      }
-+                      eap_figure_next_state(esp, 0);
-+                      break;
-+
-+              case eapTlsRecvClient:
-+                      /* Receive authentication response from client */
-+
-+                      GETCHAR(flags, inp);
-+
-+                      if(len == 1 && !flags) {        /* Ack = ok */
-+#ifdef MPPE
-+                              eaptls_gen_mppe_keys( esp->es_server.ea_session, "client EAP encryption", 0 );
-+#endif
-+                              eap_send_success(esp);
-+                      }
-+                      else {                  /* failure */
-+                              eaptls_receive(esp->es_server.ea_session, inp, len);
-+                              warn("Server authentication failed");
-+                              eap_send_failure(esp);
-+                      }
-+
-+                      eaptls_free_session(esp->es_server.ea_session);
-+
-+                      break;
-+
-+              case eapTlsRecvAlertAck:
-+                      eap_send_failure(esp);
-+                      break;
-+
-+              default:
-+                      eap_figure_next_state(esp, 1);
-+                      break;
-+              }
-+              break;
-+#endif /* USE_EAPTLS */
-+
-       case EAPT_NOTIFICATION:
-               dbglog("EAP unexpected Notification; response discarded");
-               break;
-@@ -1807,6 +2192,13 @@ int len;
-                       esp->es_server.ea_state = eapMD5Chall;
-                       break;
-+#ifdef USE_EAPTLS
-+                      /* Send EAP-TLS start packet */
-+              case EAPT_TLS:
-+                      esp->es_server.ea_state = eapTlsStart;
-+                      break;
-+#endif /* USE_EAPTLS */
-+
-               default:
-                       dbglog("EAP: peer requesting unknown Type %d", vallen);
-                       switch (esp->es_server.ea_state) {
-@@ -2018,13 +2410,27 @@ u_char *inp;
- int id;
- int len;
- {
--      if (esp->es_client.ea_state != eapOpen && !eap_client_active(esp)) {
-+      if (esp->es_client.ea_state != eapOpen && !eap_client_active(esp)
-+#ifdef USE_EAPTLS
-+              && esp->es_client.ea_state != eapTlsRecvSuccess
-+#endif /* USE_EAPTLS */
-+              ) {
-               dbglog("EAP unexpected success message in state %s (%d)",
-                   eap_state_name(esp->es_client.ea_state),
-                   esp->es_client.ea_state);
-               return;
-       }
-+#ifdef USE_EAPTLS
-+      if(esp->es_client.ea_using_eaptls && esp->es_client.ea_state !=
-+              eapTlsRecvSuccess) {
-+              dbglog("EAP-TLS unexpected success message in state %s (%d)",
-+                    eap_state_name(esp->es_client.ea_state),
-+                    esp->es_client.ea_state);
-+              return;
-+      }
-+#endif /* USE_EAPTLS */
-+
-       if (esp->es_client.ea_timeout > 0) {
-               UNTIMEOUT(eap_client_timeout, (void *)esp);
-       }
-@@ -2150,6 +2556,9 @@ void *arg;
-       int code, id, len, rtype, vallen;
-       u_char *pstart;
-       u_int32_t uval;
-+#ifdef USE_EAPTLS
-+      u_char flags;
-+#endif /* USE_EAPTLS */
-       if (inlen < EAP_HEADERLEN)
-               return (0);
-@@ -2214,6 +2623,24 @@ void *arg;
-                       }
-                       break;
-+#ifdef USE_EAPTLS
-+              case EAPT_TLS:
-+                      if (len < 1)
-+                              break;
-+                      GETCHAR(flags, inp);
-+                      len--;
-+
-+                        if(flags == 0 && len == 0){
-+                                printer(arg, " Ack");
-+                                break;
-+                        }
-+
-+                      printer(arg, flags & EAP_TLS_FLAGS_LI ? " L":" -");
-+                      printer(arg, flags & EAP_TLS_FLAGS_MF ? "M":"-");
-+                      printer(arg, flags & EAP_TLS_FLAGS_START ? "S":"- ");
-+                      break;
-+#endif /* USE_EAPTLS */
-+
-               case EAPT_SRP:
-                       if (len < 3)
-                               goto truncated;
-@@ -2325,6 +2752,25 @@ void *arg;
-                       }
-                       break;
-+#ifdef USE_EAPTLS
-+              case EAPT_TLS:
-+                      if (len < 1)
-+                              break;
-+                      GETCHAR(flags, inp);
-+                      len--;
-+
-+                        if(flags == 0 && len == 0){
-+                                printer(arg, " Ack");
-+                                break;
-+                        }
-+
-+                      printer(arg, flags & EAP_TLS_FLAGS_LI ? " L":" -");
-+                      printer(arg, flags & EAP_TLS_FLAGS_MF ? "M":"-");
-+                      printer(arg, flags & EAP_TLS_FLAGS_START ? "S":"- ");
-+
-+                      break;
-+#endif /* USE_EAPTLS */
-+
-               case EAPT_NAK:
-                       if (len <= 0) {
-                               printer(arg, " <missing hint>");
-diff --git a/pppd/eap.h b/pppd/eap.h
-index 199d184..3fa5391 100644
---- a/pppd/eap.h
-+++ b/pppd/eap.h
-@@ -84,6 +84,16 @@ enum eap_state_code {
-       eapClosed,      /* Authentication not in use */
-       eapListen,      /* Client ready (and timer running) */
-       eapIdentify,    /* EAP Identify sent */
-+      eapTlsStart,    /* Send EAP-TLS start packet */
-+      eapTlsRecv,     /* Receive EAP-TLS tls data */
-+      eapTlsSendAck,  /* Send EAP-TLS ack */
-+      eapTlsSend,     /* Send EAP-TLS tls data */
-+      eapTlsRecvAck,  /* Receive EAP-TLS ack */
-+      eapTlsRecvClient,       /* Receive EAP-TLS auth response from client*/
-+      eapTlsSendAlert,        /* Send EAP-TLS tls alert (server)*/
-+      eapTlsRecvAlertAck,     /* Receive EAP-TLS ack after sending alert */
-+      eapTlsRecvSuccess,      /* Receive EAP success */
-+      eapTlsRecvFailure,      /* Receive EAP failure */
-       eapSRP1,        /* Sent EAP SRP-SHA1 Subtype 1 */
-       eapSRP2,        /* Sent EAP SRP-SHA1 Subtype 2 */
-       eapSRP3,        /* Sent EAP SRP-SHA1 Subtype 3 */
-@@ -95,9 +105,18 @@ enum eap_state_code {
- #define       EAP_STATES      \
-       "Initial", "Pending", "Closed", "Listen", "Identify", \
-+      "TlsStart", "TlsRecv", "TlsSendAck", "TlsSend", "TlsRecvAck", "TlsRecvClient",\
-+      "TlsSendAlert", "TlsRecvAlertAck" , "TlsRecvSuccess", "TlsRecvFailure", \
-       "SRP1", "SRP2", "SRP3", "MD5Chall", "Open", "SRP4", "BadAuth"
--#define       eap_client_active(esp)  ((esp)->es_client.ea_state == eapListen)
-+#ifdef USE_EAPTLS
-+#define       eap_client_active(esp)  ((esp)->es_client.ea_state != eapInitial ||\
-+                               (esp)->es_client.ea_state != eapPending ||\
-+                               (esp)->es_client.ea_state != eapClosed)
-+#else
-+#define eap_client_active(esp)        ((esp)->es_client.ea_state == eapListen)
-+#endif /* USE_EAPTLS */
-+
- #define       eap_server_active(esp)  \
-       ((esp)->es_server.ea_state >= eapIdentify && \
-        (esp)->es_server.ea_state <= eapMD5Chall)
-@@ -112,11 +131,17 @@ struct eap_auth {
-       u_short ea_namelen;     /* Length of our name */
-       u_short ea_peerlen;     /* Length of peer's name */
-       enum eap_state_code ea_state;
-+#ifdef USE_EAPTLS
-+      enum eap_state_code ea_prev_state;
-+#endif
-       u_char ea_id;           /* Current id */
-       u_char ea_requests;     /* Number of Requests sent/received */
-       u_char ea_responses;    /* Number of Responses */
-       u_char ea_type;         /* One of EAPT_* */
-       u_int32_t ea_keyflags;  /* SRP shared key usage flags */
-+#ifdef USE_EAPTLS
-+      bool ea_using_eaptls;
-+#endif
- };
- /*
-@@ -139,7 +164,12 @@ typedef struct eap_state {
-  * Timeouts.
-  */
- #define       EAP_DEFTIMEOUT          3       /* Timeout (seconds) for rexmit */
-+#ifdef USE_EAPTLS
-+#define       EAP_DEFTRANSMITS        30      /* max # times to transmit */
-+                                      /* certificates can be long ... */
-+#else
- #define       EAP_DEFTRANSMITS        10      /* max # times to transmit */
-+#endif /* USE_EAPTLS */
- #define       EAP_DEFREQTIME          20      /* Time to wait for peer request */
- #define       EAP_DEFALLOWREQ         20      /* max # times to accept requests */
-diff --git a/pppd/md5.c b/pppd/md5.c
-index f1291ce..2ee0c80 100644
---- a/pppd/md5.c
-+++ b/pppd/md5.c
-@@ -33,6 +33,8 @@
-  ***********************************************************************
-  */
-+#ifndef USE_EAPTLS
-+
- #include <string.h>
- #include "md5.h"
-@@ -305,3 +307,4 @@ UINT4 *in;
-  ** End of md5.c                                                      **
-  ******************************** (cut) ********************************
-  */
-+#endif /* USE_EAPTLS */
-diff --git a/pppd/md5.h b/pppd/md5.h
-index 71e8b00..14d7121 100644
---- a/pppd/md5.h
-+++ b/pppd/md5.h
-@@ -36,6 +36,7 @@
-  ** documentation and/or software.                                    **
-  ***********************************************************************
-  */
-+#ifndef USE_EAPTLS
- #ifndef __MD5_INCLUDE__
-@@ -63,3 +64,5 @@ void MD5_Final (unsigned char hash[], MD5_CTX *mdContext);
- #define __MD5_INCLUDE__
- #endif /* __MD5_INCLUDE__ */
-+
-+#endif /* USE_EAPTLS */
-diff --git a/pppd/options.c b/pppd/options.c
-index 8e62635..6915b2d 100644
---- a/pppd/options.c
-+++ b/pppd/options.c
-@@ -120,6 +120,10 @@ bool      dump_options;           /* print out option values */
- bool  dryrun;                 /* print out option values and exit */
- char  *domain;                /* domain name set by domain option */
- int   child_wait = 5;         /* # seconds to wait for children at exit */
-+#ifdef USE_EAPTLS
-+bool  only_update_crl_server = 0;     /* update server crl and exit */
-+bool  only_update_crl_client = 0;     /* update client crl and exit */
-+#endif /* USE_EAPTLS */
- struct userenv *userenv_list; /* user environment variables */
- #ifdef MAXOCTETS
-@@ -338,6 +342,12 @@ option_t general_options[] = {
-     { "mo-timeout", o_int, &maxoctets_timeout,
-       "Check for traffic limit every N seconds", OPT_PRIO | OPT_LLIMIT | 1 },
- #endif
-+#ifdef USE_EAPTLS
-+    { "only-update-crl-server", o_bool, &only_update_crl_server,
-+      "Update server CA CRLs and exit", 1 },
-+    { "only-update-crl-client", o_bool, &only_update_crl_client,
-+      "Update client CA CRLs and exit", 1 },
-+#endif /* USE_EAPTLS */
-     { NULL }
- };
-diff --git a/pppd/pathnames.h b/pppd/pathnames.h
-index 24e010c..6275df6 100644
---- a/pppd/pathnames.h
-+++ b/pppd/pathnames.h
-@@ -22,6 +22,13 @@
- #define _PATH_UPAPFILE         _ROOT_PATH "/etc/ppp/pap-secrets"
- #define _PATH_CHAPFILE         _ROOT_PATH "/etc/ppp/chap-secrets"
- #define _PATH_SRPFILE          _ROOT_PATH "/etc/ppp/srp-secrets"
-+
-+#ifdef USE_EAPTLS
-+#define _PATH_EAPTLSCLIFILE   _ROOT_PATH "/etc/ppp/eaptls-client"
-+#define _PATH_EAPTLSSERVFILE  _ROOT_PATH "/etc/ppp/eaptls-server"
-+#define _PATH_OPENSSLCONFFILE _ROOT_PATH "/etc/ppp/openssl.cnf"
-+#endif /* USE_EAPTLS */
-+
- #define _PATH_SYSOPTIONS _ROOT_PATH "/etc/ppp/options"
- #define _PATH_IPUP     _ROOT_PATH "/etc/ppp/ip-up"
- #define _PATH_IPDOWN   _ROOT_PATH "/etc/ppp/ip-down"
-diff --git a/pppd/plugins/Makefile.linux b/pppd/plugins/Makefile.linux
-index b474a19..760cad4 100644
---- a/pppd/plugins/Makefile.linux
-+++ b/pppd/plugins/Makefile.linux
-@@ -4,6 +4,9 @@ CFLAGS = $(COPTS) -I.. -I../../include -fPIC
- LDFLAGS       = -shared
- INSTALL       = install
-+# EAP-TLS
-+CFLAGS += -DUSE_EAPTLS=1
-+
- DESTDIR = $(INSTROOT)@DESTDIR@
- BINDIR = $(DESTDIR)/sbin
- MANDIR = $(DESTDIR)/share/man/man8
-diff --git a/pppd/plugins/passprompt.c b/pppd/plugins/passprompt.c
-index babb6dc..6ba73ca 100644
---- a/pppd/plugins/passprompt.c
-+++ b/pppd/plugins/passprompt.c
-@@ -107,4 +107,7 @@ void plugin_init(void)
- {
-     add_options(options);
-     pap_passwd_hook = promptpass;
-+#ifdef USE_EAPTLS
-+    eaptls_passwd_hook = promptpass;
-+#endif
- }
-diff --git a/pppd/plugins/passwordfd.c b/pppd/plugins/passwordfd.c
-index d718f3b..c3f9793 100644
---- a/pppd/plugins/passwordfd.c
-+++ b/pppd/plugins/passwordfd.c
-@@ -79,4 +79,8 @@ void plugin_init (void)
-     chap_check_hook = pwfd_check;
-     chap_passwd_hook = pwfd_passwd;
-+
-+#ifdef USE_EAPTLS
-+    eaptls_passwd_hook = pwfd_passwd;
-+#endif
- }
-diff --git a/pppd/pppd.h b/pppd/pppd.h
-index 47e4d9a..de271c1 100644
---- a/pppd/pppd.h
-+++ b/pppd/pppd.h
-@@ -324,6 +324,10 @@ extern bool       dump_options;   /* print out option values */
- extern bool   dryrun;         /* check everything, print options, exit */
- extern int    child_wait;     /* # seconds to wait for children at end */
-+#ifdef USE_EAPTLS
-+extern char   *crl_dir;
-+#endif /* USE_EAPTLS */
-+
- #ifdef MAXOCTETS
- extern unsigned int maxoctets;             /* Maximum octetes per session (in bytes) */
- extern int       maxoctets_dir;      /* Direction :
-@@ -738,6 +742,10 @@ extern int (*chap_check_hook) __P((void));
- extern int (*chap_passwd_hook) __P((char *user, char *passwd));
- extern void (*multilink_join_hook) __P((void));
-+#ifdef USE_EAPTLS
-+extern int (*eaptls_passwd_hook) __P((char *user, char *passwd));
-+#endif
-+
- /* Let a plugin snoop sent and received packets.  Useful for L2TP */
- extern void (*snoop_recv_hook) __P((unsigned char *p, int len));
- extern void (*snoop_send_hook) __P((unsigned char *p, int len));
--- 
-1.8.3.1
-
diff --git a/ppp/patches/0018-scritps-fix-ip-up.local-sample.patch b/ppp/patches/0018-scritps-fix-ip-up.local-sample.patch
deleted file mode 100644 (file)
index 225be08..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-From 40960f91cdd06da387616ec838ae2599e7f01cee Mon Sep 17 00:00:00 2001
-From: Jiri Skala <jskala@fedoraproject.org>
-Date: Mon, 7 Apr 2014 15:24:01 +0200
-Subject: [PATCH 18/25] scritps: fix ip-up.local sample
-
-Resolves: #613717
----
- scripts/ip-up.local.add | 3 +++
- 1 file changed, 3 insertions(+)
-
-diff --git a/scripts/ip-up.local.add b/scripts/ip-up.local.add
-index 26cf5f8..282337c 100644
---- a/scripts/ip-up.local.add
-+++ b/scripts/ip-up.local.add
-@@ -18,6 +18,9 @@ if [ -n "$USEPEERDNS" -a -f /var/run/ppp/resolv.conf ]; then
-               rscf=/var/run/ppp/resolv.new
-               grep domain /var/run/ppp/resolv.prev > $rscf
-               grep search /var/run/ppp/resolv.prev >> $rscf
-+              if [ -f /var/run/ppp/resolv.conf ]; then
-+                      cat /var/run/ppp/resolv.conf >> $rscf
-+              fi
-               change_resolv_conf $rscf
-               rm -f $rscf
-       else
--- 
-1.8.3.1
-
diff --git a/ppp/patches/0019-sys-linux-rework-get_first_ethernet.patch b/ppp/patches/0019-sys-linux-rework-get_first_ethernet.patch
deleted file mode 100644 (file)
index 28cae8d..0000000
+++ /dev/null
@@ -1,383 +0,0 @@
-From 6edc865bd02ab591b9121d4a5f6dc3cdbe5af809 Mon Sep 17 00:00:00 2001
-From: Michal Sekletar <msekleta@redhat.com>
-Date: Wed, 9 Apr 2014 09:18:24 +0200
-Subject: [PATCH 19/25] sys-linux: rework get_first_ethernet()
-
-We can't assume that host has ethernet NIC named "eth0". Rather than guessing we
-better ask udev. We iterate over symlinks symlinks in /sys/class/net and
-for each device we determine if it is ethernet device and additionally we query
-udev database for sub-type of the device. If we find PCI or USB device which has
-ethernet datalink type and appropriate sub-type we return its name. If we don't
-succeed in determining more information about device we will return "good
-enough" device which in turn is first device with ethernet datalink type.
-
-Note that we now have two copies of get_first_ethernet() in the source code. This
-is bad and should be fixed in the future.
-
-This commit replaces ppp-2.4.5-eth.patch.
-
-Resolves: #682381
----
- pppd/Makefile.linux                     |   3 +
- pppd/multilink.c                        |   4 +-
- pppd/plugins/rp-pppoe/Makefile.linux    |   4 +-
- pppd/plugins/rp-pppoe/pppoe-discovery.c | 117 +++++++++++++++++++++++++++++++-
- pppd/pppd.h                             |   2 +-
- pppd/sys-linux.c                        | 115 +++++++++++++++++++++++++++++--
- 6 files changed, 232 insertions(+), 13 deletions(-)
-
-diff --git a/pppd/Makefile.linux b/pppd/Makefile.linux
-index 53df4d2..0e8107f 100644
---- a/pppd/Makefile.linux
-+++ b/pppd/Makefile.linux
-@@ -32,6 +32,9 @@ include .depend
- endif
- CC = gcc
-+
-+LIBS = -ludev
-+
- #
- COPTS = -Wall $(RPM_OPT_FLAGS) -DLIBDIR=\""$(LIBDIR)"\"
-diff --git a/pppd/multilink.c b/pppd/multilink.c
-index 135cab0..2f0ed50 100644
---- a/pppd/multilink.c
-+++ b/pppd/multilink.c
-@@ -436,12 +436,12 @@ static int
- get_default_epdisc(ep)
-      struct epdisc *ep;
- {
--      char *p;
-+      char *p = NULL;
-       struct hostent *hp;
-       u_int32_t addr;
-       /* First try for an ethernet MAC address */
--      p = get_first_ethernet();
-+        get_first_ethernet(&p);
-       if (p != 0 && get_if_hwaddr(ep->value, p) >= 0) {
-               ep->class = EPD_MAC;
-               ep->length = 6;
-diff --git a/pppd/plugins/rp-pppoe/Makefile.linux b/pppd/plugins/rp-pppoe/Makefile.linux
-index 9918091..b949716 100644
---- a/pppd/plugins/rp-pppoe/Makefile.linux
-+++ b/pppd/plugins/rp-pppoe/Makefile.linux
-@@ -30,8 +30,8 @@ COPTS=$(RPM_OPT_FLAGS)
- CFLAGS=$(COPTS) -I../../../include '-DRP_VERSION="$(RP_VERSION)"'
- all: rp-pppoe.so pppoe-discovery
--pppoe-discovery: pppoe-discovery.o debug.o
--      $(CC) -o pppoe-discovery pppoe-discovery.o debug.o
-+pppoe-discovery: pppoe-discovery.o debug.o common.o
-+      $(CC) -o pppoe-discovery pppoe-discovery.o debug.o -ludev
- pppoe-discovery.o: pppoe-discovery.c
-       $(CC) $(CFLAGS) -c -o pppoe-discovery.o pppoe-discovery.c
-diff --git a/pppd/plugins/rp-pppoe/pppoe-discovery.c b/pppd/plugins/rp-pppoe/pppoe-discovery.c
-index c0d927d..2bd910f 100644
---- a/pppd/plugins/rp-pppoe/pppoe-discovery.c
-+++ b/pppd/plugins/rp-pppoe/pppoe-discovery.c
-@@ -47,8 +47,13 @@
- #include <net/if_arp.h>
- #endif
-+#include <dirent.h>
-+#include <sys/types.h>
-+#include <libudev.h>
-+
- char *xstrdup(const char *s);
- void usage(void);
-+int get_first_ethernet(char **_r);
- void die(int status)
- {
-@@ -681,8 +686,15 @@ int main(int argc, char *argv[])
-     }
-     /* default interface name */
--    if (!conn->ifName)
--      conn->ifName = strdup("eth0");
-+    if (!conn->ifName) {
-+            char *eth_dev;
-+            if (get_first_ethernet(&eth_dev) < 0) {
-+                    fprintf(stderr, "No ethernet device on the host.\n");
-+                    exit(1);
-+            }
-+            conn->ifName = eth_dev;
-+    }
-+
-     conn->discoverySocket = -1;
-     conn->sessionSocket = -1;
-@@ -722,3 +734,104 @@ void usage(void)
-     fprintf(stderr, "Usage: pppoe-discovery [options]\n");
-     fprintf(stderr, "\nVersion " RP_VERSION "\n");
- }
-+
-+/*
-+ * get_first_ethernet - return the name of the first ethernet-style
-+ * interface on this system.
-+ */
-+int
-+get_first_ethernet(char **_r)
-+{
-+        int r = 0;
-+        DIR *d = NULL;
-+        struct dirent *entry = NULL;
-+        struct udev *udev = NULL;
-+        struct udev_device *dev = NULL;
-+        char *eth_dev = NULL;
-+
-+        d = opendir("/sys/class/net");
-+        if (!d) {
-+                fprintf(stderr, "Failed to open dir /sys/class/net : %m\n");
-+                r = -errno;
-+                goto fail;
-+        }
-+
-+        udev = udev_new();
-+        if (!udev) {
-+                fprintf(stderr, "Failed to talk to systemd-udevd\n");
-+                r = -EIO;
-+                goto fail;
-+        }
-+
-+        while ((entry = readdir(d)) != NULL) {
-+                char syspath[PATH_MAX] = {};
-+                const char *type = NULL;
-+
-+                if ((strcmp(entry->d_name, ".") == 0) || (strcmp(entry->d_name, "..") == 0))
-+                        continue;
-+
-+                sprintf(syspath, "/sys/class/net/%s", entry->d_name);
-+
-+                dev = udev_device_new_from_syspath(udev, syspath);
-+                if (!dev)
-+                        continue;
-+
-+                type = udev_device_get_sysattr_value(dev, "type");
-+                if (strcmp(type, "1") == 0) {
-+                        const char *pci_dev_subclass = NULL, *usb_dev_subclass = NULL;
-+
-+                        pci_dev_subclass = udev_device_get_property_value(dev,
-+                                                                          "ID_PCI_SUBCLASS_FROM_DATABASE");
-+                        usb_dev_subclass = udev_device_get_property_value(dev,
-+                                                                          "ID_USB_SUBCLASS_FROM_DATABASE");
-+
-+                        if ((pci_dev_subclass && strcmp(pci_dev_subclass, "Ethernet controller") == 0) ||
-+                            (usb_dev_subclass && (strcmp(usb_dev_subclass, "Ethernet Networking") == 0 ||
-+                                                  strcmp(usb_dev_subclass, "Ethernet Emulation") == 0))) {
-+                                char *d = NULL;
-+
-+                                d = strdup(entry->d_name);
-+                                if (!d) {
-+                                        r = -ENOMEM;
-+                                        goto fail;
-+                                }
-+
-+                                free(eth_dev);
-+                                eth_dev = d;
-+                                break;
-+                        } else if (!eth_dev) {
-+                                eth_dev = strdup(entry->d_name);
-+                                if (!eth_dev) {
-+                                        r = -ENOMEM;
-+                                        goto fail;
-+                                }
-+                        }
-+                }
-+
-+                udev_device_unref(dev);
-+                dev = NULL;
-+        }
-+
-+        if (dev)
-+                udev_device_unref(dev);
-+        udev_unref(udev);
-+        closedir(d);
-+
-+        *_r = eth_dev;
-+
-+        return 0;
-+
-+fail:
-+        if (dev)
-+                udev_device_unref(dev);
-+
-+        if (udev)
-+                udev_unref(udev);
-+
-+        if (d)
-+                closedir(d);
-+
-+        free(eth_dev);
-+
-+        return r;
-+}
-diff --git a/pppd/pppd.h b/pppd/pppd.h
-index de271c1..aaddba1 100644
---- a/pppd/pppd.h
-+++ b/pppd/pppd.h
-@@ -691,7 +691,7 @@ int  sipxfaddr __P((int, unsigned long, unsigned char *));
- int  cipxfaddr __P((int));
- #endif
- int  get_if_hwaddr __P((u_char *addr, char *name));
--char *get_first_ethernet __P((void));
-+int get_first_ethernet __P((char **_r));
- /* Procedures exported from options.c */
- int setipaddr __P((char *, char **, int)); /* Set local/remote ip addresses */
-diff --git a/pppd/sys-linux.c b/pppd/sys-linux.c
-index 0690019..ec09c50 100644
---- a/pppd/sys-linux.c
-+++ b/pppd/sys-linux.c
-@@ -92,6 +92,9 @@
- #include <ctype.h>
- #include <termios.h>
- #include <unistd.h>
-+#include <dirent.h>
-+
-+#include <libudev.h>
- /* This is in netdevice.h. However, this compile will fail miserably if
-    you attempt to include netdevice.h because it has so many references
-@@ -1873,10 +1876,101 @@ get_if_hwaddr(u_char *addr, char *name)
-  * get_first_ethernet - return the name of the first ethernet-style
-  * interface on this system.
-  */
--char *
--get_first_ethernet()
--{
--      return "eth0";
-+int
-+get_first_ethernet(char **_r)
-+{
-+        int r = 0;
-+        DIR *d = NULL;
-+        struct dirent *entry = NULL;
-+        struct udev *udev = NULL;
-+        struct udev_device *dev = NULL;
-+        char *eth_dev = NULL;
-+
-+        d = opendir("/sys/class/net");
-+        if (!d) {
-+                fprintf(stderr, "Failed to open dir /sys/class/net : %m\n");
-+                r = -errno;
-+                goto fail;
-+        }
-+
-+        udev = udev_new();
-+        if (!udev) {
-+                fprintf(stderr, "Failed to talk to systemd-udevd\n");
-+                r = -EIO;
-+                goto fail;
-+        }
-+
-+        while ((entry = readdir(d)) != NULL) {
-+                char syspath[PATH_MAX] = {};
-+                const char *type = NULL;
-+
-+                if ((strcmp(entry->d_name, ".") == 0) || (strcmp(entry->d_name, "..") == 0))
-+                        continue;
-+
-+                sprintf(syspath, "/sys/class/net/%s", entry->d_name);
-+
-+                dev = udev_device_new_from_syspath(udev, syspath);
-+                if (!dev)
-+                        continue;
-+
-+                type = udev_device_get_sysattr_value(dev, "type");
-+                if (strcmp(type, "1") == 0) {
-+                        const char *pci_dev_subclass = NULL, *usb_dev_subclass = NULL;
-+
-+                        pci_dev_subclass = udev_device_get_property_value(dev,
-+                                                                          "ID_PCI_SUBCLASS_FROM_DATABASE");
-+                        usb_dev_subclass = udev_device_get_property_value(dev,
-+                                                                          "ID_USB_SUBCLASS_FROM_DATABASE");
-+
-+                        if ((pci_dev_subclass && strcmp(pci_dev_subclass, "Ethernet controller") == 0) ||
-+                            (usb_dev_subclass && (strcmp(usb_dev_subclass, "Ethernet Networking") == 0 ||
-+                                                  strcmp(usb_dev_subclass, "Ethernet Emulation") == 0))) {
-+                                char *d = NULL;
-+
-+                                d = strdup(entry->d_name);
-+                                if (!d) {
-+                                        r = -ENOMEM;
-+                                        goto fail;
-+                                }
-+
-+                                free(eth_dev);
-+                                eth_dev = d;
-+                                break;
-+                        } else if (!eth_dev) {
-+                                eth_dev = strdup(entry->d_name);
-+                                if (!eth_dev) {
-+                                        r = -ENOMEM;
-+                                        goto fail;
-+                                }
-+                        }
-+                }
-+
-+                udev_device_unref(dev);
-+                dev = NULL;
-+        }
-+
-+        if (dev)
-+                udev_device_unref(dev);
-+        udev_unref(udev);
-+        closedir(d);
-+
-+        *_r = eth_dev;
-+
-+        return 0;
-+
-+fail:
-+        if (dev)
-+                udev_device_unref(dev);
-+
-+        if (udev)
-+                udev_unref(udev);
-+
-+        if (d)
-+                closedir(d);
-+
-+        free(eth_dev);
-+
-+        return r;
- }
- /********************************************************************
-@@ -2859,6 +2953,7 @@ ether_to_eui64(eui64_t *p_eui64)
-     struct ifreq ifr;
-     int skfd;
-     const unsigned char *ptr;
-+    char *eth_dev = NULL;
-     skfd = socket(PF_INET6, SOCK_DGRAM | SOCK_CLOEXEC, 0);
-     if(skfd == -1)
-@@ -2867,11 +2962,19 @@ ether_to_eui64(eui64_t *p_eui64)
-         return 0;
-     }
--    strcpy(ifr.ifr_name, "eth0");
-+    if (get_first_ethernet(&eth_dev) < 0)
-+    {
-+            warn("no ethernet device present on the host");
-+            return 0;
-+    }
-+
-+    strcpy(ifr.ifr_name, eth_dev);
-+    free(eth_dev);
-+
-     if(ioctl(skfd, SIOCGIFHWADDR, &ifr) < 0)
-     {
-         close(skfd);
--        warn("could not obtain hardware address for eth0");
-+        warn("could not obtain hardware address for %s", ifr.ifr_name);
-         return 0;
-     }
-     close(skfd);
--- 
-1.8.3.1
-
diff --git a/ppp/patches/0020-pppd-put-lock-files-in-var-lock-ppp.patch b/ppp/patches/0020-pppd-put-lock-files-in-var-lock-ppp.patch
deleted file mode 100644 (file)
index af878ce..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-From c5a5f795b1defcb6d168e79c4d1fc371dfc556ca Mon Sep 17 00:00:00 2001
-From: Jiri Skala <jskala@redhat.com>
-Date: Wed, 9 Apr 2014 09:29:50 +0200
-Subject: [PATCH 20/25] pppd: put lock files in /var/lock/ppp
-
-Resolves: #708260
----
- pppd/utils.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/pppd/utils.c b/pppd/utils.c
-index 6051b9a..8407492 100644
---- a/pppd/utils.c
-+++ b/pppd/utils.c
-@@ -846,7 +846,7 @@ complete_read(int fd, void *buf, size_t count)
- /* Procedures for locking the serial device using a lock file. */
- #ifndef LOCK_DIR
- #ifdef __linux__
--#define LOCK_DIR      "/var/lock"
-+#define LOCK_DIR      "/var/lock/ppp"
- #else
- #ifdef SVR4
- #define LOCK_DIR      "/var/spool/locks"
--- 
-1.8.3.1
-
diff --git a/ppp/patches/0021-build-sys-compile-pppol2tp-plugin-with-RPM_OPT_FLAGS.patch b/ppp/patches/0021-build-sys-compile-pppol2tp-plugin-with-RPM_OPT_FLAGS.patch
deleted file mode 100644 (file)
index f19e553..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-From d69eb9a8aa284014dd7dd282813989eda9d84d74 Mon Sep 17 00:00:00 2001
-From: Michal Sekletar <msekleta@redhat.com>
-Date: Wed, 9 Apr 2014 09:56:09 +0200
-Subject: [PATCH 21/25] build-sys: compile pppol2tp plugin with RPM_OPT_FLAGS
-
----
- pppd/plugins/pppol2tp/Makefile.linux | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/pppd/plugins/pppol2tp/Makefile.linux b/pppd/plugins/pppol2tp/Makefile.linux
-index 4339566..9a635b8 100644
---- a/pppd/plugins/pppol2tp/Makefile.linux
-+++ b/pppd/plugins/pppol2tp/Makefile.linux
-@@ -1,5 +1,5 @@
- #CC   = gcc
--COPTS = -O2 -g
-+COPTS = $(RPM_OPT_FLAGS)
- CFLAGS        = $(COPTS) -I. -I../.. -I../../../include -fPIC
- LDFLAGS       = -shared
- INSTALL       = install
--- 
-1.8.3.1
-
diff --git a/ppp/patches/0022-build-sys-compile-pppol2tp-with-multilink-support.patch b/ppp/patches/0022-build-sys-compile-pppol2tp-with-multilink-support.patch
deleted file mode 100644 (file)
index eed9102..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-From a0060c5d48ef742bff4fe9ba9c276a5c21795ce8 Mon Sep 17 00:00:00 2001
-From: Michal Sekletar <msekleta@redhat.com>
-Date: Wed, 9 Apr 2014 09:58:38 +0200
-Subject: [PATCH 22/25] build-sys: compile pppol2tp with multilink support
-
-Resolves: #817013
----
- pppd/plugins/pppol2tp/Makefile.linux | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/pppd/plugins/pppol2tp/Makefile.linux b/pppd/plugins/pppol2tp/Makefile.linux
-index 9a635b8..9cb316d 100644
---- a/pppd/plugins/pppol2tp/Makefile.linux
-+++ b/pppd/plugins/pppol2tp/Makefile.linux
-@@ -1,5 +1,5 @@
- #CC   = gcc
--COPTS = $(RPM_OPT_FLAGS)
-+COPTS = $(RPM_OPT_FLAGS) -DHAVE_MULTILINK
- CFLAGS        = $(COPTS) -I. -I../.. -I../../../include -fPIC
- LDFLAGS       = -shared
- INSTALL       = install
--- 
-1.8.3.1
-
diff --git a/ppp/patches/0023-build-sys-install-rp-pppoe-plugin-files-with-standar.patch b/ppp/patches/0023-build-sys-install-rp-pppoe-plugin-files-with-standar.patch
deleted file mode 100644 (file)
index af95d49..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-From 769521a3798fd554ddc7333cb1255cd1b40790e8 Mon Sep 17 00:00:00 2001
-From: Michal Sekletar <msekleta@redhat.com>
-Date: Thu, 10 Apr 2014 10:00:55 +0200
-Subject: [PATCH 23/25] build-sys: install rp-pppoe plugin files with standard
- perms
-
-This is needed to properly generate debuginfo package.
----
- pppd/plugins/rp-pppoe/Makefile.linux | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/pppd/plugins/rp-pppoe/Makefile.linux b/pppd/plugins/rp-pppoe/Makefile.linux
-index b949716..fa49efb 100644
---- a/pppd/plugins/rp-pppoe/Makefile.linux
-+++ b/pppd/plugins/rp-pppoe/Makefile.linux
-@@ -44,10 +44,10 @@ rp-pppoe.so: plugin.o discovery.o if.o common.o
- install: all
-       $(INSTALL) -d -m 755 $(LIBDIR)
--      $(INSTALL) -c -m 4550 rp-pppoe.so $(LIBDIR)
-+      $(INSTALL) -c -m 755 rp-pppoe.so $(LIBDIR)
-       $(INSTALL) -d -m 755 $(BINDIR)
--      $(INSTALL) -c -m 555 pppoe-discovery $(BINDIR)
--      $(INSTALL) -c -m 444 pppoe-discovery.8 $(MANDIR)
-+      $(INSTALL) -c -m 755 pppoe-discovery $(BINDIR)
-+      $(INSTALL) -c -m 644 pppoe-discovery.8 $(MANDIR)
- clean:
-       rm -f *.o *.so pppoe-discovery
--- 
-1.8.3.1
-
diff --git a/ppp/patches/0023-build-sys-make-pppd-first-and-then-plugins.patch b/ppp/patches/0023-build-sys-make-pppd-first-and-then-plugins.patch
deleted file mode 100644 (file)
index 1e98106..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-From 1dc033327792ef51cb08e224b8d90e7d8571084d Mon Sep 17 00:00:00 2001
-From: Michal Sekletar <msekleta@redhat.com>
-Date: Wed, 9 Apr 2014 15:37:53 +0200
-Subject: [PATCH 23/23] build-sys: make pppd first and then plugins
-
----
- linux/Makefile.top | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/linux/Makefile.top b/linux/Makefile.top
-index 9a8945a..12210f2 100644
---- a/linux/Makefile.top
-+++ b/linux/Makefile.top
-@@ -13,8 +13,8 @@ INSTALL= install
- all:
-       cd chat; $(MAKE) $(MFLAGS) all
--      cd pppd/plugins; $(MAKE) $(MFLAGS) all
-       cd pppd; $(MAKE) $(MFLAGS) all
-+      cd pppd/plugins; $(MAKE) $(MFLAGS) all
-       cd pppstats; $(MAKE) $(MFLAGS) all
-       cd pppdump; $(MAKE) $(MFLAGS) all
--- 
-1.8.3.1
-
diff --git a/ppp/patches/0024-build-sys-install-pppoatm-plugin-files-with-standard.patch b/ppp/patches/0024-build-sys-install-pppoatm-plugin-files-with-standard.patch
deleted file mode 100644 (file)
index e29231d..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-From 0fdb22ef3d3cc3b297372451d60bd6c61d047d27 Mon Sep 17 00:00:00 2001
-From: Michal Sekletar <msekleta@redhat.com>
-Date: Thu, 10 Apr 2014 10:08:41 +0200
-Subject: [PATCH 24/25] build-sys: install pppoatm plugin files with standard
- perms
-
----
- pppd/plugins/pppoatm/Makefile.linux | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/pppd/plugins/pppoatm/Makefile.linux b/pppd/plugins/pppoatm/Makefile.linux
-index 769794b..4c5826f 100644
---- a/pppd/plugins/pppoatm/Makefile.linux
-+++ b/pppd/plugins/pppoatm/Makefile.linux
-@@ -37,7 +37,7 @@ $(PLUGIN): $(PLUGIN_OBJS)
- install: all
-       $(INSTALL) -d -m 755 $(LIBDIR)
--      $(INSTALL) -c -m 4550 $(PLUGIN) $(LIBDIR)
-+      $(INSTALL) -c -m 755 $(PLUGIN) $(LIBDIR)
- clean:
-       rm -f *.o *.so
--- 
-1.8.3.1
-
diff --git a/ppp/patches/0025-pppd-install-pppd-binary-using-standard-perms-755.patch b/ppp/patches/0025-pppd-install-pppd-binary-using-standard-perms-755.patch
deleted file mode 100644 (file)
index ed05824..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-From ab8b06cdc1075abc67f77e7c3bb684e20071d614 Mon Sep 17 00:00:00 2001
-From: Michal Sekletar <msekleta@redhat.com>
-Date: Thu, 10 Apr 2014 10:09:41 +0200
-Subject: [PATCH 25/25] pppd: install pppd binary using standard perms (755)
-
----
- pppd/Makefile.linux | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/pppd/Makefile.linux b/pppd/Makefile.linux
-index 0e8107f..534ccc2 100644
---- a/pppd/Makefile.linux
-+++ b/pppd/Makefile.linux
-@@ -223,10 +223,10 @@ all: $(TARGETS)
- install: pppd
-       mkdir -p $(BINDIR) $(MANDIR)
-       $(EXTRAINSTALL)
--      $(INSTALL) -c -m 555 pppd $(BINDIR)/pppd
-+      $(INSTALL) -c -m 755 pppd $(BINDIR)/pppd
-       if chgrp pppusers $(BINDIR)/pppd 2>/dev/null; then \
-         chmod o-rx,u+s $(BINDIR)/pppd; fi
--      $(INSTALL) -c -m 444 pppd.8 $(MANDIR)
-+      $(INSTALL) -c -m 644 pppd.8 $(MANDIR)
- pppd: $(PPPDOBJS)
-       $(CC) $(CFLAGS) $(LDFLAGS) -o pppd $(PPPDOBJS) $(LIBS)
--- 
-1.8.3.1
-
diff --git a/ppp/patches/ppp-2.4.2-ifname.patch b/ppp/patches/ppp-2.4.2-ifname.patch
deleted file mode 100644 (file)
index 50b96c9..0000000
+++ /dev/null
@@ -1,126 +0,0 @@
---- ./pppd/main.c.orig 2004-07-19 12:35:22.000000000 +0000
-+++ ./pppd/main.c      2004-07-19 14:34:38.542120946 +0000
-@@ -98,7 +98,7 @@
- static const char rcsid[] = RCSID;
- /* interface vars */
--char ifname[32];              /* Interface name */
-+char ifname[MAXIFNAMELEN];    /* Interface name */
- int ifunit;                   /* Interface unit number */
- struct channel *the_channel;
-@@ -261,13 +261,6 @@
-     NULL
- };
--/*
-- * If PPP_DRV_NAME is not defined, use the default "ppp" as the device name.
-- */
--#if !defined(PPP_DRV_NAME)
--#define PPP_DRV_NAME  "ppp"
--#endif /* !defined(PPP_DRV_NAME) */
--
- int
- main(argc, argv)
-     int argc;
-@@ -777,8 +770,11 @@
- set_ifunit(iskey)
-     int iskey;
- {
--    info("Using interface %s%d", PPP_DRV_NAME, ifunit);
-+    if (req_ifname[0] != '\0')
-+      slprintf(ifname, sizeof(ifname), req_ifname);
-+    else
-     slprintf(ifname, sizeof(ifname), "%s%d", PPP_DRV_NAME, ifunit);
-+    info("Using interface %s", ifname);
-     script_setenv("IFNAME", ifname, iskey);
-     if (iskey) {
-       create_pidfile(getpid());       /* write pid to file */
---- ./pppd/options.c.orig      2004-07-19 12:59:21.000000000 +0000
-+++ ./pppd/options.c   2004-07-19 14:35:04.253865964 +0000
-@@ -102,6 +102,7 @@
- bool  tune_kernel;            /* may alter kernel settings */
- int   connect_delay = 1000;   /* wait this many ms after connect script */
- int   req_unit = -1;          /* requested interface unit */
-+char  req_ifname[MAXIFNAMELEN];       /* requested interface name */
- bool  multilink = 0;          /* Enable multilink operation */
- char  *bundle_name = NULL;    /* bundle name for multilink */
- bool  dump_options;           /* print out option values */
-@@ -259,6 +260,10 @@
-       "PPP interface unit number to use if possible",
-       OPT_PRIO | OPT_LLIMIT, 0, 0 },
-+    { "ifname", o_string, req_ifname,
-+      "Set PPP interface name",
-+      OPT_PRIO | OPT_PRIV | OPT_STATIC, NULL, MAXIFNAMELEN },
-+
-     { "dump", o_bool, &dump_options,
-       "Print out option values after parsing all options", 1 },
-     { "dryrun", o_bool, &dryrun,
---- ./pppd/pppd.8.orig 2004-07-19 14:39:06.639320497 +0000
-+++ ./pppd/pppd.8      2004-07-19 15:00:37.339448432 +0000
-@@ -1020,7 +1020,12 @@
- .TP
- .B unit \fInum
- Sets the ppp unit number (for a ppp0 or ppp1 etc interface name) for outbound
--connections.
-+connections.  If the unit is already in use a dynamically allocated will be
-+used.
-+.TP
-+.B ifname \fIstring
-+Set the ppp interface name for outbound connections.  A failure to set the
-+name will terminate the pppd.
- .TP
- .B updetach
- With this option, pppd will detach from its controlling terminal once
---- ./pppd/pppd.h.orig 2004-07-19 12:59:16.000000000 +0000
-+++ ./pppd/pppd.h      2004-07-19 15:02:08.792752747 +0000
-@@ -80,6 +80,16 @@
- #define MAXARGS               1       /* max # args to a command */
- #define MAXNAMELEN    256     /* max length of hostname or name for auth */
- #define MAXSECRETLEN  256     /* max length of password or secret */
-+#define MAXIFNAMELEN  32      /* max length of interface name; or use IFNAMSIZ, can we
-+                                 always include net/if.h? */
-+
-+/*
-+ * If PPP_DRV_NAME is not defined, use the default "ppp" as the device name.
-+ * Where should PPP_DRV_NAME come from? Do we include it here?
-+ */
-+#if !defined(PPP_DRV_NAME)
-+#define PPP_DRV_NAME  "ppp"
-+#endif /* !defined(PPP_DRV_NAME) */
- /*
-  * Option descriptor structure.
-@@ -304,6 +314,7 @@
- extern int    connect_delay;  /* Time to delay after connect script */
- extern int    max_data_rate;  /* max bytes/sec through charshunt */
- extern int    req_unit;       /* interface unit number to use */
-+extern char   req_ifname[MAXIFNAMELEN];       /* interface name to use */
- extern bool   multilink;      /* enable multilink operation */
- extern bool   noendpoint;     /* don't send or accept endpt. discrim. */
- extern char   *bundle_name;   /* bundle name for multilink */
---- ./pppd/sys-linux.c.orig    2004-07-19 12:33:29.000000000 +0000
-+++ ./pppd/sys-linux.c 2004-07-19 14:37:36.463754450 +0000
-@@ -649,6 +649,21 @@
-       }
-       if (x < 0)
-               error("Couldn't create new ppp unit: %m");
-+
-+      if (x == 0 && req_ifname[0] != '\0') {
-+              struct ifreq ifr;
-+              char t[MAXIFNAMELEN];
-+              memset(&ifr, 0, sizeof(struct ifreq));
-+              slprintf(t, sizeof(t), "%s%d", PPP_DRV_NAME, ifunit);
-+              strncpy(ifr.ifr_name, t, IF_NAMESIZE);
-+              strncpy(ifr.ifr_newname, req_ifname, IF_NAMESIZE);
-+              x = ioctl(sock_fd, SIOCSIFNAME, &ifr);
-+              if (x < 0)
-+                  error("Couldn't rename interface %s to %s: %m", t, req_ifname);
-+              else
-+                  info("Renamed interface %s to %s", t, req_ifname);
-+      }
-+
-       return x;
- }
similarity index 54%
rename from ppp/patches/0012-pppd-we-don-t-want-to-accidentally-leak-fds.patch
rename to ppp/patches/ppp-2.5.0-1-we-don-t-want-to-accidentally-leak-fds.patch0
index 90bb2d161640ac40cf7982e88e8e40dbd78e44aa..98ab031196d8908ff5ab3d5e95bf1543bde276eb 100644 (file)
@@ -1,20 +1,8 @@
-From 82cd789df0f022eb6f3d28646e7a61d1d0715805 Mon Sep 17 00:00:00 2001
-From: Michal Sekletar <msekleta@redhat.com>
-Date: Mon, 7 Apr 2014 12:23:36 +0200
-Subject: [PATCH 12/25] pppd: we don't want to accidentally leak fds
-
----
- pppd/auth.c      | 20 ++++++++++----------
- pppd/options.c   |  2 +-
- pppd/sys-linux.c |  4 ++--
- 3 files changed, 13 insertions(+), 13 deletions(-)
-
-diff --git a/pppd/auth.c b/pppd/auth.c
-index 4271af6..9e957fa 100644
---- a/pppd/auth.c
-+++ b/pppd/auth.c
-@@ -428,7 +428,7 @@ setupapfile(argv)
-       option_error("unable to reset uid before opening %s: %m", fname);
+diff -Naur pppd.orig/auth.c pppd/auth.c
+--- pppd.orig/auth.c   2023-03-25 05:38:30.000000000 +0100
++++ pppd/auth.c        2023-06-30 12:38:13.748482796 +0200
+@@ -518,7 +518,7 @@
+         free(fname);
        return 0;
      }
 -    ufile = fopen(fname, "r");
@@ -22,8 +10,8 @@ index 4271af6..9e957fa 100644
      if (seteuid(euid) == -1)
        fatal("unable to regain privileges: %m");
      if (ufile == NULL) {
-@@ -1413,7 +1413,7 @@ check_passwd(unit, auser, userlen, apasswd, passwdlen, msg)
-     filename = _PATH_UPAPFILE;
+@@ -1535,7 +1535,7 @@
+     filename = PPP_PATH_UPAPFILE;
      addrs = opts = NULL;
      ret = UPAP_AUTHNAK;
 -    f = fopen(filename, "r");
@@ -31,52 +19,52 @@ index 4271af6..9e957fa 100644
      if (f == NULL) {
        error("Can't open PAP password file %s: %m", filename);
  
-@@ -1512,7 +1512,7 @@ null_login(unit)
+@@ -1635,7 +1635,7 @@
      if (ret <= 0) {
-       filename = _PATH_UPAPFILE;
+       filename = PPP_PATH_UPAPFILE;
        addrs = NULL;
 -      f = fopen(filename, "r");
 +      f = fopen(filename, "re");
        if (f == NULL)
            return 0;
        check_access(f, filename);
-@@ -1559,7 +1559,7 @@ get_pap_passwd(passwd)
+@@ -1681,7 +1681,7 @@
      }
  
-     filename = _PATH_UPAPFILE;
+     filename = PPP_PATH_UPAPFILE;
 -    f = fopen(filename, "r");
 +    f = fopen(filename, "re");
      if (f == NULL)
        return 0;
      check_access(f, filename);
-@@ -1597,7 +1597,7 @@ have_pap_secret(lacks_ipp)
+@@ -1718,7 +1718,7 @@
      }
  
-     filename = _PATH_UPAPFILE;
+     filename = PPP_PATH_UPAPFILE;
 -    f = fopen(filename, "r");
 +    f = fopen(filename, "re");
      if (f == NULL)
        return 0;
  
-@@ -1642,7 +1642,7 @@ have_chap_secret(client, server, need_ip, lacks_ipp)
+@@ -1760,7 +1760,7 @@
      }
  
-     filename = _PATH_CHAPFILE;
+     filename = PPP_PATH_CHAPFILE;
 -    f = fopen(filename, "r");
 +    f = fopen(filename, "re");
      if (f == NULL)
        return 0;
  
-@@ -1684,7 +1684,7 @@ have_srp_secret(client, server, need_ip, lacks_ipp)
+@@ -1798,7 +1798,7 @@
      struct wordlist *addrs;
  
-     filename = _PATH_SRPFILE;
+     filename = PPP_PATH_SRPFILE;
 -    f = fopen(filename, "r");
 +    f = fopen(filename, "re");
      if (f == NULL)
        return 0;
  
-@@ -1740,7 +1740,7 @@ get_secret(unit, client, server, secret, secret_len, am_server)
+@@ -1849,7 +1849,7 @@
        addrs = NULL;
        secbuf[0] = 0;
  
@@ -85,8 +73,8 @@ index 4271af6..9e957fa 100644
        if (f == NULL) {
            error("Can't open chap secret file %s: %m", filename);
            return 0;
-@@ -1797,7 +1797,7 @@ get_srp_secret(unit, client, server, secret, am_server)
-       filename = _PATH_SRPFILE;
+@@ -1902,7 +1902,7 @@
+       filename = PPP_PATH_SRPFILE;
        addrs = NULL;
  
 -      fp = fopen(filename, "r");
@@ -94,7 +82,7 @@ index 4271af6..9e957fa 100644
        if (fp == NULL) {
            error("Can't open srp secret file %s: %m", filename);
            return 0;
-@@ -2203,7 +2203,7 @@ scan_authfile(f, client, server, secret, addrs, opts, filename, flags)
+@@ -2291,7 +2291,7 @@
             */
            if (word[0] == '@' && word[1] == '/') {
                strlcpy(atfile, word+1, sizeof(atfile));
@@ -103,12 +91,38 @@ index 4271af6..9e957fa 100644
                    warn("can't open indirect secret file %s", atfile);
                    continue;
                }
-diff --git a/pppd/options.c b/pppd/options.c
-index 45fa742..1d754ae 100644
---- a/pppd/options.c
-+++ b/pppd/options.c
-@@ -427,7 +427,7 @@ options_from_file(filename, must_exist, check_prot, priv)
-       option_error("unable to drop privileges to open %s: %m", filename);
+@@ -2461,7 +2461,7 @@
+     char pkfile[MAXWORDLEN];
+     filename = PPP_PATH_EAPTLSSERVFILE;
+-    f = fopen(filename, "r");
++    f = fopen(filename, "re");
+     if (f == NULL)
+               return 0;
+@@ -2518,7 +2518,7 @@
+               return 1;
+     filename = PPP_PATH_EAPTLSCLIFILE;
+-    f = fopen(filename, "r");
++    f = fopen(filename, "re");
+     if (f == NULL)
+               return 0;
+@@ -2738,7 +2738,7 @@
+               filename = (am_server ? PPP_PATH_EAPTLSSERVFILE : PPP_PATH_EAPTLSCLIFILE);
+               addrs = NULL;
+-              fp = fopen(filename, "r");
++              fp = fopen(filename, "re");
+               if (fp == NULL)
+               {
+                       error("Can't open eap-tls secret file %s: %m", filename);
+diff -Naur pppd.orig/options.c pppd/options.c
+--- pppd.orig/options.c        2023-03-25 05:38:30.000000000 +0100
++++ pppd/options.c     2023-06-30 12:42:19.262593140 +0200
+@@ -555,7 +555,7 @@
+       ppp_option_error("unable to drop privileges to open %s: %m", filename);
        return 0;
      }
 -    f = fopen(filename, "r");
@@ -116,11 +130,10 @@ index 45fa742..1d754ae 100644
      err = errno;
      if (check_prot && seteuid(euid) == -1)
        fatal("unable to regain privileges");
-diff --git a/pppd/sys-linux.c b/pppd/sys-linux.c
-index 72a7727..8a12fa0 100644
---- a/pppd/sys-linux.c
-+++ b/pppd/sys-linux.c
-@@ -1412,7 +1412,7 @@ static char *path_to_procfs(const char *tail)
+diff -Naur pppd.orig/sys-linux.c pppd/sys-linux.c
+--- pppd.orig/sys-linux.c      2023-03-10 02:50:41.000000000 +0100
++++ pppd/sys-linux.c   2023-06-30 12:43:20.634453475 +0200
+@@ -1978,7 +1978,7 @@
        /* Default the mount location of /proc */
        strlcpy (proc_path, "/proc", sizeof(proc_path));
        proc_path_len = 5;
@@ -129,7 +142,7 @@ index 72a7727..8a12fa0 100644
        if (fp != NULL) {
            while ((mntent = getmntent(fp)) != NULL) {
                if (strcmp(mntent->mnt_type, MNTTYPE_IGNORE) == 0)
-@@ -1472,7 +1472,7 @@ static int open_route_table (void)
+@@ -2038,7 +2038,7 @@
      close_route_table();
  
      path = path_to_procfs("/net/route");
@@ -138,6 +151,12 @@ index 72a7727..8a12fa0 100644
      if (route_fd == NULL) {
        error("can't open routing table %s: %m", path);
        return 0;
--- 
-1.8.3.1
-
+@@ -2322,7 +2322,7 @@
+     close_route_table();
+     path = path_to_procfs("/net/ipv6_route");
+-    route_fd = fopen (path, "r");
++    route_fd = fopen (path, "re");
+     if (route_fd == NULL) {
+       error("can't open routing table %s: %m", path);
+       return 0;
similarity index 63%
rename from ppp/patches/0013-everywhere-O_CLOEXEC-harder.patch
rename to ppp/patches/ppp-2.5.0-2-everywhere-O_CLOEXEC-harder.patch0
index e3608a0d6872f9f79b110b57dba37cd2c085c020..c205c0e08c480bb81c58185fd39048286c2625c1 100644 (file)
@@ -1,23 +1,7 @@
-From 302c1b736cb656c7885a0cba270fd953a672d8a8 Mon Sep 17 00:00:00 2001
-From: Michal Sekletar <msekleta@redhat.com>
-Date: Mon, 7 Apr 2014 13:56:34 +0200
-Subject: [PATCH 13/25] everywhere: O_CLOEXEC harder
-
----
- pppd/eap.c       |  2 +-
- pppd/main.c      |  4 ++--
- pppd/options.c   |  4 ++--
- pppd/sys-linux.c | 22 +++++++++++-----------
- pppd/tdb.c       |  4 ++--
- pppd/tty.c       |  4 ++--
- pppd/utils.c     |  6 +++---
- 7 files changed, 23 insertions(+), 23 deletions(-)
-
-diff --git a/pppd/eap.c b/pppd/eap.c
-index 6ea6c1f..faced53 100644
---- a/pppd/eap.c
-+++ b/pppd/eap.c
-@@ -1226,7 +1226,7 @@ mode_t modebits;
+diff -Naur pppd.orig/eap.c pppd/eap.c
+--- pppd.orig/eap.c    2023-03-25 05:38:30.000000000 +0100
++++ pppd/eap.c 2023-06-30 12:58:07.984676045 +0200
+@@ -1542,7 +1542,7 @@
  
        if ((path = name_of_pn_file()) == NULL)
                return (-1);
@@ -26,34 +10,23 @@ index 6ea6c1f..faced53 100644
        err = errno;
        free(path);
        errno = err;
-diff --git a/pppd/main.c b/pppd/main.c
-index 6d50d1b..4880377 100644
---- a/pppd/main.c
-+++ b/pppd/main.c
-@@ -420,7 +420,7 @@ main(argc, argv)
+diff -Naur pppd.orig/main.c pppd/main.c
+--- pppd.orig/main.c   2023-03-25 05:38:30.000000000 +0100
++++ pppd/main.c        2023-06-30 13:00:15.155195676 +0200
+@@ -479,7 +479,7 @@
        die(0);
  
      /* Make sure fds 0, 1, 2 are open to somewhere. */
--    fd_devnull = open(_PATH_DEVNULL, O_RDWR);
-+    fd_devnull = open(_PATH_DEVNULL, O_RDWR | O_CLOEXEC);
+-    fd_devnull = open(PPP_DEVNULL, O_RDWR);
++    fd_devnull = open(PPP_DEVNULL, O_RDWR | O_CLOEXEC);
      if (fd_devnull < 0)
-       fatal("Couldn't open %s: %m", _PATH_DEVNULL);
+       fatal("Couldn't open %s: %m", PPP_DEVNULL);
      while (fd_devnull <= 2) {
-@@ -1679,7 +1679,7 @@ device_script(program, in, out, dont_wait)
-     if (log_to_fd >= 0)
-       errfd = log_to_fd;
-     else
--      errfd = open(_PATH_CONNERRS, O_WRONLY | O_APPEND | O_CREAT, 0600);
-+      errfd = open(_PATH_CONNERRS, O_WRONLY | O_APPEND | O_CREAT | O_CLOEXEC, 0600);
-     ++conn_running;
-     pid = safe_fork(in, out, errfd);
-diff --git a/pppd/options.c b/pppd/options.c
-index 1d754ae..8e62635 100644
---- a/pppd/options.c
-+++ b/pppd/options.c
-@@ -1544,9 +1544,9 @@ setlogfile(argv)
-       option_error("unable to drop permissions to open %s: %m", *argv);
+diff -Naur pppd.orig/options.c pppd/options.c
+--- pppd.orig/options.c        2023-06-30 12:42:19.262593140 +0200
++++ pppd/options.c     2023-06-30 13:01:58.388323345 +0200
+@@ -1718,9 +1718,9 @@
+       ppp_option_error("unable to drop permissions to open %s: %m", *argv);
        return 0;
      }
 -    fd = open(*argv, O_WRONLY | O_APPEND | O_CREAT | O_EXCL, 0644);
@@ -64,11 +37,10 @@ index 1d754ae..8e62635 100644
      err = errno;
      if (!privileged_option && seteuid(euid) == -1)
        fatal("unable to regain privileges: %m");
-diff --git a/pppd/sys-linux.c b/pppd/sys-linux.c
-index 8a12fa0..00a2cf5 100644
---- a/pppd/sys-linux.c
-+++ b/pppd/sys-linux.c
-@@ -459,7 +459,7 @@ int generic_establish_ppp (int fd)
+diff -Naur pppd.orig/sys-linux.c pppd/sys-linux.c
+--- pppd.orig/sys-linux.c      2023-06-30 12:43:20.634453475 +0200
++++ pppd/sys-linux.c   2023-06-30 13:11:25.715511251 +0200
+@@ -666,7 +666,7 @@
            goto err;
        }
        dbglog("using channel %d", chindex);
@@ -77,7 +49,7 @@ index 8a12fa0..00a2cf5 100644
        if (fd < 0) {
            error("Couldn't reopen /dev/ppp: %m");
            goto err;
-@@ -619,7 +619,7 @@ static int make_ppp_unit()
+@@ -904,7 +904,7 @@
                dbglog("in make_ppp_unit, already had /dev/ppp open?");
                close(ppp_dev_fd);
        }
@@ -86,7 +58,7 @@ index 8a12fa0..00a2cf5 100644
        if (ppp_dev_fd < 0)
                fatal("Couldn't open /dev/ppp: %m");
        flags = fcntl(ppp_dev_fd, F_GETFL);
-@@ -693,7 +693,7 @@ int bundle_attach(int ifnum)
+@@ -1025,7 +1025,7 @@
        if (!new_style_driver)
                return -1;
  
@@ -95,7 +67,7 @@ index 8a12fa0..00a2cf5 100644
        if (master_fd < 0)
                fatal("Couldn't open /dev/ppp: %m");
        if (ioctl(master_fd, PPPIOCATTACH, &ifnum) < 0) {
-@@ -1715,7 +1715,7 @@ int sifproxyarp (int unit, u_int32_t his_adr)
+@@ -2533,7 +2533,7 @@
        if (tune_kernel) {
            forw_path = path_to_procfs("/sys/net/ipv4/ip_forward");
            if (forw_path != 0) {
@@ -104,7 +76,7 @@ index 8a12fa0..00a2cf5 100644
                if (fd >= 0) {
                    if (write(fd, "1", 1) != 1)
                        error("Couldn't enable IP forwarding: %m");
-@@ -2030,7 +2030,7 @@ int ppp_available(void)
+@@ -2878,7 +2878,7 @@
      sscanf(utsname.release, "%d.%d.%d", &osmaj, &osmin, &ospatch);
      kernel_version = KVERSION(osmaj, osmin, ospatch);
  
@@ -113,7 +85,7 @@ index 8a12fa0..00a2cf5 100644
      if (fd >= 0) {
        new_style_driver = 1;
  
-@@ -2208,7 +2208,7 @@ void logwtmp (const char *line, const char *name, const char *host)
+@@ -3056,7 +3056,7 @@
  #if __GLIBC__ >= 2
      updwtmp(_PATH_WTMP, &ut);
  #else
@@ -122,7 +94,7 @@ index 8a12fa0..00a2cf5 100644
      if (wtmp >= 0) {
        flock(wtmp, LOCK_EX);
  
-@@ -2394,7 +2394,7 @@ int sifaddr (int unit, u_int32_t our_adr, u_int32_t his_adr,
+@@ -3280,7 +3280,7 @@
        int fd;
  
        path = path_to_procfs("/sys/net/ipv4/ip_dynaddr");
@@ -131,7 +103,7 @@ index 8a12fa0..00a2cf5 100644
            if (write(fd, "1", 1) != 1)
                error("Couldn't enable dynamic IP addressing: %m");
            close(fd);
-@@ -2570,7 +2570,7 @@ get_pty(master_fdp, slave_fdp, slave_name, uid)
+@@ -3534,7 +3534,7 @@
      /*
       * Try the unix98 way first.
       */
@@ -140,16 +112,17 @@ index 8a12fa0..00a2cf5 100644
      if (mfd >= 0) {
        int ptn;
        if (ioctl(mfd, TIOCGPTN, &ptn) >= 0) {
-@@ -2581,7 +2581,7 @@ get_pty(master_fdp, slave_fdp, slave_name, uid)
+@@ -3545,7 +3545,8 @@
            if (ioctl(mfd, TIOCSPTLCK, &ptn) < 0)
                warn("Couldn't unlock pty slave %s: %m", pty_name);
  #endif
 -          if ((sfd = open(pty_name, O_RDWR | O_NOCTTY)) < 0)
++
 +          if ((sfd = open(pty_name, O_RDWR | O_NOCTTY | O_CLOEXEC)) < 0)
+           {
                warn("Couldn't open pty slave %s: %m", pty_name);
-       }
-     }
-@@ -2592,10 +2592,10 @@ get_pty(master_fdp, slave_fdp, slave_name, uid)
+               close(mfd);
+@@ -3559,10 +3560,10 @@
        for (i = 0; i < 64; ++i) {
            slprintf(pty_name, sizeof(pty_name), "/dev/pty%c%x",
                     'p' + i / 16, i % 16);
@@ -160,13 +133,12 @@ index 8a12fa0..00a2cf5 100644
 -              sfd = open(pty_name, O_RDWR | O_NOCTTY, 0);
 +              sfd = open(pty_name, O_RDWR | O_NOCTTY | O_CLOEXEC, 0);
                if (sfd >= 0) {
-                   fchown(sfd, uid, -1);
-                   fchmod(sfd, S_IRUSR | S_IWUSR);
-diff --git a/pppd/tdb.c b/pppd/tdb.c
-index bdc5828..c7ab71c 100644
---- a/pppd/tdb.c
-+++ b/pppd/tdb.c
-@@ -1724,7 +1724,7 @@ TDB_CONTEXT *tdb_open_ex(const char *name, int hash_size, int tdb_flags,
+                   ret = fchown(sfd, uid, -1);
+                   if (ret != 0) {
+diff -Naur pppd.orig/tdb.c pppd/tdb.c
+--- pppd.orig/tdb.c    2021-07-23 06:41:07.000000000 +0200
++++ pppd/tdb.c 2023-06-30 13:12:55.034900600 +0200
+@@ -1728,7 +1728,7 @@
                goto internal;
        }
  
@@ -175,7 +147,7 @@ index bdc5828..c7ab71c 100644
                TDB_LOG((tdb, 5, "tdb_open_ex: could not open file %s: %s\n",
                         name, strerror(errno)));
                goto fail;      /* errno set by open(2) */
-@@ -1967,7 +1967,7 @@ int tdb_reopen(TDB_CONTEXT *tdb)
+@@ -1971,7 +1971,7 @@
        }
        if (close(tdb->fd) != 0)
                TDB_LOG((tdb, 0, "tdb_reopen: WARNING closing tdb->fd failed!\n"));
@@ -184,12 +156,11 @@ index bdc5828..c7ab71c 100644
        if (tdb->fd == -1) {
                TDB_LOG((tdb, 0, "tdb_reopen: open failed (%s)\n", strerror(errno)));
                goto fail;
-diff --git a/pppd/tty.c b/pppd/tty.c
-index d571b11..bc96695 100644
---- a/pppd/tty.c
-+++ b/pppd/tty.c
-@@ -569,7 +569,7 @@ int connect_tty()
-                               status = EXIT_OPEN_FAILED;
+diff -Naur pppd.orig/tty.c pppd/tty.c
+--- pppd.orig/tty.c    2023-03-25 05:38:30.000000000 +0100
++++ pppd/tty.c 2023-06-30 13:14:06.450418113 +0200
+@@ -621,7 +621,7 @@
+                               ppp_set_status(EXIT_OPEN_FAILED);
                                goto errret;
                        }
 -                      real_ttyfd = open(devnam, O_NONBLOCK | O_RDWR, 0);
@@ -197,7 +168,7 @@ index d571b11..bc96695 100644
                        err = errno;
                        if (prio < OPRIO_ROOT && seteuid(0) == -1)
                                fatal("Unable to regain privileges");
-@@ -723,7 +723,7 @@ int connect_tty()
+@@ -775,7 +775,7 @@
        if (connector == NULL && modem && devnam[0] != 0) {
                int i;
                for (;;) {
@@ -206,12 +177,11 @@ index d571b11..bc96695 100644
                                break;
                        if (errno != EINTR) {
                                error("Failed to reopen %s: %m", devnam);
-diff --git a/pppd/utils.c b/pppd/utils.c
-index 29bf970..6051b9a 100644
---- a/pppd/utils.c
-+++ b/pppd/utils.c
-@@ -918,14 +918,14 @@ lock(dev)
-     slprintf(lock_file, sizeof(lock_file), "%s/LCK..%s", LOCK_DIR, dev);
+diff -Naur pppd.orig/utils.c pppd/utils.c
+--- pppd.orig/utils.c  2022-12-30 02:12:39.000000000 +0100
++++ pppd/utils.c       2023-06-30 13:15:47.860182369 +0200
+@@ -843,14 +843,14 @@
+     slprintf(lock_file, sizeof(lock_file), "%s/LCK..%s", PPP_PATH_LOCKDIR, dev);
  #endif
  
 -    while ((fd = open(lock_file, O_EXCL | O_CREAT | O_RDWR, 0644)) < 0) {
@@ -227,7 +197,7 @@ index 29bf970..6051b9a 100644
        if (fd < 0) {
            if (errno == ENOENT) /* This is just a timing problem. */
                continue;
-@@ -1004,7 +1004,7 @@ relock(pid)
+@@ -933,7 +933,7 @@
  
      if (lock_file[0] == 0)
        return -1;
@@ -236,6 +206,3 @@ index 29bf970..6051b9a 100644
      if (fd < 0) {
        error("Couldn't reopen lock file %s: %m", lock_file);
        lock_file[0] = 0;
--- 
-1.8.3.1
-
diff --git a/ppp/patches/ppp-2.5.0-3-everywhere-use-SOCK_CLOEXEC-when-creating-socket.patch0 b/ppp/patches/ppp-2.5.0-3-everywhere-use-SOCK_CLOEXEC-when-creating-socket.patch0
new file mode 100644 (file)
index 0000000..cfd72e4
--- /dev/null
@@ -0,0 +1,135 @@
+diff -Naur pppd.orig/plugins/pppoatm/pppoatm.c pppd/plugins/pppoatm/pppoatm.c
+--- pppd.orig/plugins/pppoatm/pppoatm.c        2023-03-25 05:38:30.000000000 +0100
++++ pppd/plugins/pppoatm/pppoatm.c     2023-06-30 13:21:33.397378347 +0200
+@@ -146,7 +146,7 @@
+       if (!device_got_set)
+               no_device_given_pppoatm();
+-      fd = socket(AF_ATMPVC, SOCK_DGRAM, 0);
++      fd = socket(AF_ATMPVC, SOCK_DGRAM | SOCK_CLOEXEC, 0);
+       if (fd < 0)
+               fatal("failed to create socket: %m");
+       memset(&qos, 0, sizeof qos);
+diff -Naur pppd.orig/plugins/pppoe/if.c pppd/plugins/pppoe/if.c
+--- pppd.orig/plugins/pppoe/if.c       2022-12-30 02:12:39.000000000 +0100
++++ pppd/plugins/pppoe/if.c    2023-06-30 13:24:11.372183452 +0200
+@@ -116,7 +116,7 @@
+     stype = SOCK_PACKET;
+ #endif
+-    if ((fd = socket(domain, stype, htons(type))) < 0) {
++    if ((fd = socket(domain, stype | SOCK_CLOEXEC, htons(type))) < 0) {
+       /* Give a more helpful message for the common error case */
+       if (errno == EPERM) {
+           fatal("Cannot create raw socket -- pppoe must be run as root.");
+diff -Naur pppd.orig/plugins/pppoe/plugin.c pppd/plugins/pppoe/plugin.c
+--- pppd.orig/plugins/pppoe/plugin.c   2023-03-25 05:38:30.000000000 +0100
++++ pppd/plugins/pppoe/plugin.c        2023-06-30 13:25:58.798782323 +0200
+@@ -155,7 +155,7 @@
+     /* server equipment).                                                  */
+     /* Opening this socket just before waitForPADS in the discovery()      */
+     /* function would be more appropriate, but it would mess-up the code   */
+-    conn->sessionSocket = socket(AF_PPPOX, SOCK_STREAM, PX_PROTO_OE);
++    conn->sessionSocket = socket(AF_PPPOX, SOCK_STREAM | SOCK_CLOEXEC, PX_PROTO_OE);
+     if (conn->sessionSocket < 0) {
+       error("Failed to create PPPoE socket: %m");
+       return -1;
+@@ -166,7 +166,7 @@
+     lcp_wantoptions[0].mru = conn->mru = conn->storedmru;
+     /* Update maximum MRU */
+-    s = socket(AF_INET, SOCK_DGRAM, 0);
++    s = socket(AF_INET, SOCK_DGRAM | SOCK_CLOEXEC, 0);
+     if (s < 0) {
+       error("Can't get MTU for %s: %m", conn->ifName);
+       goto errout;
+@@ -364,7 +364,7 @@
+     }
+     /* Open a socket */
+-    if ((fd = socket(PF_PACKET, SOCK_RAW, 0)) < 0) {
++    if ((fd = socket(PF_PACKET, SOCK_RAW | SOCK_CLOEXEC, 0)) < 0) {
+       r = 0;
+     }
+diff -Naur pppd.orig/plugins/pppol2tp/openl2tp.c pppd/plugins/pppol2tp/openl2tp.c
+--- pppd.orig/plugins/pppol2tp/openl2tp.c      2023-03-10 02:50:41.000000000 +0100
++++ pppd/plugins/pppol2tp/openl2tp.c   2023-06-30 13:22:30.055768865 +0200
+@@ -93,7 +93,7 @@
+       int result;
+       if (openl2tp_fd < 0) {
+-              openl2tp_fd = socket(PF_UNIX, SOCK_DGRAM, 0);
++              openl2tp_fd = socket(PF_UNIX, SOCK_DGRAM | SOCK_CLOEXEC, 0);
+               if (openl2tp_fd < 0) {
+                       error("openl2tp connection create: %m");
+                       return -ENOTCONN;
+diff -Naur pppd.orig/plugins/pppol2tp/pppol2tp.c pppd/plugins/pppol2tp/pppol2tp.c
+--- pppd.orig/plugins/pppol2tp/pppol2tp.c      2022-12-30 02:12:39.000000000 +0100
++++ pppd/plugins/pppol2tp/pppol2tp.c   2023-06-30 13:23:13.493756755 +0200
+@@ -220,7 +220,7 @@
+               struct ifreq ifr;
+               int fd;
+-              fd = socket(AF_INET, SOCK_DGRAM, 0);
++              fd = socket(AF_INET, SOCK_DGRAM | SOCK_CLOEXEC, 0);
+               if (fd >= 0) {
+                       memset (&ifr, '\0', sizeof (ifr));
+                       ppp_get_ifname(ifr.ifr_name, sizeof(ifr.ifr_name));
+diff -Naur pppd.orig/sys-linux.c pppd/sys-linux.c
+--- pppd.orig/sys-linux.c      2023-06-30 13:11:25.715511251 +0200
++++ pppd/sys-linux.c   2023-06-30 13:32:50.021272249 +0200
+@@ -499,12 +499,12 @@
+ void sys_init(void)
+ {
+     /* Get an internet socket for doing socket ioctls. */
+-    sock_fd = socket(AF_INET, SOCK_DGRAM, 0);
++    sock_fd = socket(AF_INET, SOCK_DGRAM | SOCK_CLOEXEC, 0);
+     if (sock_fd < 0)
+       fatal("Couldn't create IP socket: %m(%d)", errno);
+ #ifdef PPP_WITH_IPV6CP
+-    sock6_fd = socket(AF_INET6, SOCK_DGRAM, 0);
++    sock6_fd = socket(AF_INET6, SOCK_DGRAM | SOCK_CLOEXEC, 0);
+     if (sock6_fd < 0)
+       sock6_fd = -errno;      /* save errno for later */
+ #endif
+@@ -2675,7 +2675,7 @@
+       struct ifreq ifreq;
+       int ret, sock_fd;
+-      sock_fd = socket(AF_INET, SOCK_DGRAM, 0);
++      sock_fd = socket(AF_INET, SOCK_DGRAM | SOCK_CLOEXEC, 0);
+       if (sock_fd < 0)
+               return -1;
+       memset(&ifreq.ifr_hwaddr, 0, sizeof(struct sockaddr));
+@@ -2698,7 +2698,7 @@
+       struct ifreq ifreq;
+       int ret, sock_fd;
+-      sock_fd = socket(AF_INET, SOCK_DGRAM, 0);
++      sock_fd = socket(AF_INET, SOCK_DGRAM | SOCK_CLOEXEC, 0);
+       if (sock_fd < 0)
+               return -1;
+@@ -2915,7 +2915,7 @@
+ /*
+  * Open a socket for doing the ioctl operations.
+  */
+-    s = socket(AF_INET, SOCK_DGRAM, 0);
++    s = socket(AF_INET, SOCK_DGRAM | SOCK_CLOEXEC, 0);
+     if (s < 0)
+       return 0;
+diff -Naur pppd.orig/tty.c pppd/tty.c
+--- pppd.orig/tty.c    2023-06-30 13:14:06.450418113 +0200
++++ pppd/tty.c 2023-06-30 13:33:31.285858278 +0200
+@@ -942,7 +942,7 @@
+     *sep = ':';
+     /* get a socket and connect it to the other end */
+-    sock = socket(PF_INET, SOCK_STREAM, 0);
++    sock = socket(PF_INET, SOCK_STREAM | SOCK_CLOEXEC, 0);
+     if (sock < 0) {
+       error("Can't create socket: %m");
+       return -1;
diff --git a/ppp/patches/ppp-2.5.0-4-increase-max-padi-attempts.patch0 b/ppp/patches/ppp-2.5.0-4-increase-max-padi-attempts.patch0
new file mode 100644 (file)
index 0000000..002b606
--- /dev/null
@@ -0,0 +1,12 @@
+diff -Naur pppd.orig/plugins/pppoe/pppoe.h pppd/plugins/pppoe/pppoe.h
+--- pppd.orig/plugins/pppoe/pppoe.h    2022-12-30 02:12:39.000000000 +0100
++++ pppd/plugins/pppoe/pppoe.h 2023-06-30 13:37:07.189078090 +0200
+@@ -143,7 +143,7 @@
+ #define STATE_TERMINATED    4
+ /* How many PADI/PADS attempts? */
+-#define MAX_PADI_ATTEMPTS 3
++#define MAX_PADI_ATTEMPTS 4
+ /* Initial timeout for PADO/PADS */
+ #define PADI_TIMEOUT 5
diff --git a/ppp/patches/ppp-2.5.0-5-headers_4.9.patch0 b/ppp/patches/ppp-2.5.0-5-headers_4.9.patch0
new file mode 100644 (file)
index 0000000..dc6c228
--- /dev/null
@@ -0,0 +1,12 @@
+diff -Naur pppd.orig/plugins/pppoe/plugin.c pppd/plugins/pppoe/plugin.c
+--- pppd.orig/plugins/pppoe/plugin.c   2023-06-30 13:25:58.798782323 +0200
++++ pppd/plugins/pppoe/plugin.c        2023-06-30 13:50:23.150026201 +0200
+@@ -46,6 +46,8 @@
+ #include <signal.h>
+ #include <net/if_arp.h>
+ #include <linux/ppp_defs.h>
++#define _LINUX_IN_H
++#define _LINUX_IN6_H
+ #include <linux/if_pppox.h>
+ #include <pppd/pppd.h>
diff --git a/ppp/patches/ppp-2.5.0-6-patch-configure-to-handle-cflags-properly.patch b/ppp/patches/ppp-2.5.0-6-patch-configure-to-handle-cflags-properly.patch
new file mode 100644 (file)
index 0000000..0e9eab6
--- /dev/null
@@ -0,0 +1,18 @@
+diff -Naur ppp-2.5.0.orig/configure ppp-2.5.0/configure
+--- ppp-2.5.0.orig/configure   2023-03-25 05:38:36.000000000 +0100
++++ ppp-2.5.0/configure        2023-06-30 14:05:14.773950477 +0200
+@@ -17774,10 +17774,10 @@
+         rm -f $2
+         if [ -f $1 ]; then
+             echo "  $2 <= $1"
+-            sed -e "s,@DESTDIR@,$prefix,g" \
+-                -e "s,@SYSCONF@,$sysconfdir,g" \
+-                -e "s,@CC@,$CC,g" \
+-                -e "s|@CFLAGS@|$CFLAGS|g" $1 > $2
++            sed -e "s#@DESTDIR@#$prefix#g" \
++                -e "s#@SYSCONF@#$sysconfdir#g" \
++                -e "s#@CC@#$CC#g" \
++                -e "s#@CFLAGS@#$CFLAGS#g" $1 > $2
+         fi
+     }
diff --git a/ppp/patches/ppp-2.5.0-7-add-configure-check-to-see-if-we-have-struct-sockaddr_ll.patch b/ppp/patches/ppp-2.5.0-7-add-configure-check-to-see-if-we-have-struct-sockaddr_ll.patch
new file mode 100644 (file)
index 0000000..a7823d4
--- /dev/null
@@ -0,0 +1,37 @@
+From 9d6d326b2530cffb1414e4c401675117c42d43ce Mon Sep 17 00:00:00 2001
+From: Eivind Naess <eivnaes@yahoo.com>
+Date: Sun, 23 Apr 2023 11:30:43 -0700
+Subject: [PATCH] Add configure check to see if we have struct sockaddr_ll
+
+Fixes issue #411.
+
+Signed-off-by: Eivind Naess <eivnaes@yahoo.com>
+---
+ configure.ac                   | 3 ++-
+ pppd/plugins/pppoe/config.h.in | 2 ++
+ 2 files changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index 1180f64ec..38b24af92 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -75,7 +75,8 @@ AM_COND_IF([LINUX], [
+         linux/if_ether.h        \
+         linux/if_packet.h       \
+         netinet/if_ether.h      \
+-        netpacket/packet.h])])
++        netpacket/packet.h])
++    AC_CHECK_TYPES([struct sockaddr_ll], [], [], [#include <linux/if_packet.h>])])
+ AC_CHECK_SIZEOF(unsigned int)
+ AC_CHECK_SIZEOF(unsigned long)
+diff --git a/pppd/plugins/pppoe/config.h.in b/pppd/plugins/pppoe/config.h.in
+index d447f5e89..d7d61c01c 100644
+--- a/pppd/plugins/pppoe/config.h.in
++++ b/pppd/plugins/pppoe/config.h.in
+@@ -69,3 +69,5 @@
+ /* The size of `unsigned short', as computed by sizeof. */
+ #undef SIZEOF_UNSIGNED_SHORT
++/* Define to 1 if the system has the type `struct sockaddr_ll'. */
++#undef HAVE_STRUCT_SOCKADDR_LL
index 3e6a41f23060788e2252befb03e5048b68772e8d..a1f15ab3eef4c3c2c0da2c5903953362e058b9b1 100644 (file)
@@ -4,13 +4,13 @@
 ###############################################################################
 
 name       = ppp
-version    = 2.4.6
-release    = 3
+version    = 2.5.0
+release    = 1
 
 groups     = System/Daemons
-url        = http://ppp.samba.org/
+url        = https://ppp.samba.org/
 license    = BSD and LGPLv2+ and GPLv2+ and Public Domain
-summary    = The PPP (Point-to-Point Protocol) daemon.
+summary    = The PPP (Point-to-Point Protocol) daemon
 
 description
        The ppp package contains the PPP (Point-to-Point Protocol) daemon and
@@ -20,54 +20,41 @@ description
        and phone line.
 end
 
-source_dl  = ftp://ftp.samba.org/pub/ppp/
+source_dl  = https://download.samba.org/pub/ppp/
 
 build
        requires
+               autoconf
+               automake
                libpcap-devel
                libudev-devel
-               linux-atm-devel
+               libxcrypt-devel
                openssl-devel
                pam-devel
-               systemd-units
+               systemd-devel
        end
 
-       prepare_cmds
-               sed -e "s@^RUNDIR .*@RUNDIR = /run/ppp@" \
-                       -e "s@^LOGDIR .*@LOGDIR = /var/log/ppp@" \
-                       -i linux/Makefile.top
-
-               sed -e "s@^DESTDIR.*@DESTDIR=\$%{INSTROOT}/usr@" \
-                       -i pppd/plugins/pppol2tp/Makefile.linux
-
-               # Remove broken header file that crashed the build.
-               rm -f include/linux/if_pppol2tp.h
-       end
-
-       make_build_targets += \
-               CC="gcc %{CFLAGS} %{LDFLAGS}"
+       configure_options += --with-logfile-dir=/var/log
 
        install
                make install INSTROOT=%{BUILDROOT}
 
-               rm -rfv %{BUILDROOT}/etc/ppp/plugins
-
+               touch /var/log/connect-errors
                mkdir -pv %{BUILDROOT}/etc/ppp
+
+               # Reminder note
+               # code used to be here to copy across IPFire2.x dialler etc scripts
+               # something to replace those for IPFire3.x is likely nedeed somewhere
+
                touch %{BUILDROOT}/etc/ppp/secrets
                chmod -v 600 %{BUILDROOT}/etc/ppp/secrets
-               ln -svf secrets %{BUILDROOT}/etc/ppp/pap-secrets
-               ln -svf secrets %{BUILDROOT}/etc/ppp/chap-secrets
-
-               mkdir -pv %{BUILDROOT}%{localstatedir}/lock/ppp
-               mkdir -pv %{BUILDROOT}/run/ppp
+               ln -svf %{BUILDROOT}/etc/ppp/secrets /etc/ppp/pap-secrets
+               ln -svf %{BUILDROOT}/etc/ppp/secrets /etc/ppp/chap-secrets
        end
 end
 
 packages
        package %{name}
-               requires
-                       /usr/lib/network/helpers/pppd-angel
-               end
 
                script postin
                        systemctl daemon-reload >/dev/null 2>&1 || :
diff --git a/pps-tools/pps-tools.nm b/pps-tools/pps-tools.nm
deleted file mode 100644 (file)
index bf1b7d3..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = pps-tools
-version    = 0
-ver_git    = 20120215gitac0aa6
-release    = 0.1.%{ver_git}
-
-groups     = System/Base
-url        = https://github.com/ago/pps-tools
-license    = GPLv2+
-summary    = LinuxPPS user-space tools.
-
-description
-       This package includes the LinuxPPS user-space tools.
-end
-
-sources    = %{name}-%{ver_git}.tar.gz
-
-build
-       DIR_APP = %{DIR_SRC}/%{name}
-
-       install
-               mkdir -pv %{BUILDROOT}{%{bindir},%{includedir}/sys}
-               install -m 755 ppsctl ppsfind ppstest ppswatch %{BUILDROOT}%{bindir}
-               install -m 644 timepps.h %{BUILDROOT}%{includedir}
-               ln -svf ../timepps.h %{BUILDROOT}%{includedir}/sys/timepps.h
-       end
-end
-
-packages
-       package %{name}
-
-       package %{name}-devel
-               template DEVEL
-
-               description
-                       This package includes the headers needed
-                       to compile PPSAPI (RFC-2783) applications.
-               end
-       end
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
diff --git a/pptp/patches/pptp-1.7.2-compat.patch b/pptp/patches/pptp-1.7.2-compat.patch
deleted file mode 100644 (file)
index a6456fc..0000000
+++ /dev/null
@@ -1,71 +0,0 @@
-Index: pptp_compat.c
-===================================================================
-RCS file: /cvsroot/pptpclient/pptp-linux/pptp_compat.c,v
-retrieving revision 1.1
-retrieving revision 1.3
-diff -u -r1.1 -r1.3
---- a/pptp_compat.c    19 Feb 2008 21:43:28 -0000      1.1
-+++ b/pptp_compat.c    25 Jul 2008 00:13:56 -0000      1.3
-@@ -7,14 +7,15 @@
- #include <fcntl.h>
- #include <sys/types.h>
- #include <unistd.h>
--#include <stropts.h>
- #include <stdlib.h>
-+#if defined (__SVR4) && defined (__sun) /* Solaris */
-+#include <stropts.h>
-+#endif
- #include <strings.h>
- #include "pptp_compat.h"
- #include <stdio.h>
- #include "util.h"
--
- #if defined (__SVR4) && defined (__sun) /* Solaris */
- /*
-  * daemon implementation from uClibc
-Index: pptp.c
-===================================================================
-RCS file: /cvsroot/pptpclient/pptp-linux/pptp.c,v
-retrieving revision 1.49
-retrieving revision 1.51
-diff -u -r1.49 -r1.51
---- a/pptp.c   14 May 2008 06:32:52 -0000      1.49
-+++ b/pptp.c   24 Jul 2008 05:53:05 -0000      1.51
-@@ -61,9 +61,8 @@
- #include "version.h"
- #if defined(__linux__)
- #include <sys/prctl.h>
--#else
--#include "inststr.h"
- #endif
-+#include "inststr.h"
- #include "util.h"
- #include "pptp_quirks.h"
- #include "pqueue.h"
-@@ -129,7 +128,7 @@
- }
- #if defined (__SVR4) && defined (__sun)
--struct in_addr localbind = { INADDR_ANY };
-+struct in_addr localbind = { .s_addr = INADDR_ANY };
- #else
- struct in_addr localbind = { INADDR_NONE };
- #endif
-@@ -183,6 +182,7 @@
-     struct in_addr inetaddr;
-     volatile int callmgr_sock = -1;
-     char ttydev[PATH_MAX];
-+    char *tty_name;
-     int pty_fd, tty_fd, gre_fd, rc;
-     volatile pid_t parent_pid, child_pid;
-     u_int16_t call_id, peer_call_id;
-@@ -391,7 +391,7 @@
-         file2fd("/dev/null", "wb", STDERR_FILENO);
-     }
--    char *tty_name = ttyname(tty_fd);
-+    tty_name = ttyname(tty_fd);
-     snprintf(buf, sizeof(buf), "pptp: GRE-to-PPP gateway on %s",
-               tty_name ? tty_name : "(null)");
- #ifdef PR_SET_NAME
diff --git a/pptp/patches/pptp-1.7.2-conn-free.patch b/pptp/patches/pptp-1.7.2-conn-free.patch
deleted file mode 100644 (file)
index 331e92e..0000000
+++ /dev/null
@@ -1,90 +0,0 @@
-Tue Jun 15 15:00:40 2010  James Cameron  <quozl@laptop.org>
-
-       * pptp_ctrl.c (pptp_conn_is_dead): immediately destroying the
-       connection and freeing the structure has led to segmentation
-       faults on more recent heap implementations, since we use the
-       structure after it has been freed.
-
-       Defer the free of the structure until after all uses of it have
-       ceased, by adding a connection state for dead and terminating the
-       main loop once it is detected.
-
---- a/pptp_callmgr.c   2008-05-14 07:33:55.000000000 +0100
-+++ b/pptp_callmgr.c   2010-06-15 14:32:00.478100392 +0100
-@@ -167,6 +170,7 @@
-     do {
-         int rc;
-         fd_set read_set = call_set, write_set;
-+        if (pptp_conn_is_dead(conn)) break;
-         FD_ZERO (&write_set);
-         if (pptp_conn_established(conn)) {
-         FD_SET (unix_sock, &read_set);
-@@ -294,6 +298,7 @@
-       }
-         /* with extreme prejudice */
-         pptp_conn_destroy(conn);
-+        pptp_conn_free(conn);
-         vector_destroy(call_list);
-     }
- cleanup:
---- a/pptp_ctrl.c      2008-05-14 07:33:55.000000000 +0100
-+++ b/pptp_ctrl.c      2010-06-15 14:32:00.480100647 +0100
-@@ -58,8 +62,11 @@
- struct PPTP_CONN {
-     int inet_sock;
-     /* Connection States */
--    enum { 
--        CONN_IDLE, CONN_WAIT_CTL_REPLY, CONN_WAIT_STOP_REPLY, CONN_ESTABLISHED 
-+    enum {
-+      CONN_IDLE,
-+      CONN_WAIT_CTL_REPLY, CONN_WAIT_STOP_REPLY,
-+      CONN_ESTABLISHED,
-+      CONN_DEAD
-     } conn_state; /* on startup: CONN_IDLE */
-     /* Keep-alive states */
-     enum { 
-@@ -448,6 +457,16 @@
-     close(conn->inet_sock);
-     /* deallocate */
-     vector_destroy(conn->call);
-+    conn->conn_state = CONN_DEAD;
-+}
-+
-+int pptp_conn_is_dead(PPTP_CONN * conn)
-+{
-+    return conn->conn_state == CONN_DEAD;
-+}
-+
-+void pptp_conn_free(PPTP_CONN * conn)
-+{
-     free(conn);
- }
-@@ -1038,11 +1059,13 @@
-     int i;
-     /* "Keep Alives and Timers, 1": check connection state */
-     if (global.conn->conn_state != CONN_ESTABLISHED) {
--        if (global.conn->conn_state == CONN_WAIT_STOP_REPLY) 
-+        if (global.conn->conn_state == CONN_WAIT_STOP_REPLY) {
-             /* hard close. */
-             pptp_conn_destroy(global.conn);
--        else /* soft close */
--            pptp_conn_close(global.conn, PPTP_STOP_NONE);
-+            return;
-+        }
-+        /* soft close */
-+        pptp_conn_close(global.conn, PPTP_STOP_NONE);
-     }
-     /* "Keep Alives and Timers, 2": check echo status */
-     if (global.conn->ka_state == KA_OUTSTANDING) {
---- a/pptp_ctrl.h      2008-05-14 07:33:55.000000000 +0100
-+++ b/pptp_ctrl.h      2010-06-15 14:32:00.864975405 +0100
-@@ -33,6 +33,8 @@
- void pptp_call_close(PPTP_CONN * conn, PPTP_CALL * call);
- /* hard close. */
- void pptp_call_destroy(PPTP_CONN *conn, PPTP_CALL *call);
-+int pptp_conn_is_dead(PPTP_CONN * conn);
-+void pptp_conn_free(PPTP_CONN * conn);
- /* soft close.  Will callback on completion. */
- void pptp_conn_close(PPTP_CONN * conn, u_int8_t close_reason);
- /* hard close */
diff --git a/pptp/patches/pptp-1.7.2-conn-free2.patch b/pptp/patches/pptp-1.7.2-conn-free2.patch
deleted file mode 100644 (file)
index 78c021e..0000000
+++ /dev/null
@@ -1,83 +0,0 @@
-Fri Jun  4 10:54:04 2010  Jan Just Keijser  <jan.just.keijser@gmail.com>
-
-       * pptp_ctrl.c: check for failure return by pptp_send_ctrl_packet
-       and avoid using freed struct conn.
-
---- a/pptp_ctrl.c      2010-06-15 15:05:46.743913798 +0100
-+++ b/pptp_ctrl.c      2010-06-15 14:32:00.480100647 +0100
-@@ -396,9 +400,10 @@
-     /* don't check state against WAIT_DISCONNECT... allow multiple disconnect
-      * requests to be made.
-      */
--    pptp_send_ctrl_packet(conn, &rqst, sizeof(rqst));
--    pptp_reset_timer();
--    call->state.pns = PNS_WAIT_DISCONNECT;
-+    if (pptp_send_ctrl_packet(conn, &rqst, sizeof(rqst))) {
-+        pptp_reset_timer();
-+        call->state.pns = PNS_WAIT_DISCONNECT;
-+    }
-     /* call structure will be freed when we have confirmation of disconnect. */
- }
-@@ -431,9 +436,10 @@
-         pptp_call_close(conn, vector_get_Nth(conn->call, i));
-     /* now close connection */
-     log("Closing PPTP connection");
--    pptp_send_ctrl_packet(conn, &rqst, sizeof(rqst));
--    pptp_reset_timer(); /* wait 60 seconds for reply */
--    conn->conn_state = CONN_WAIT_STOP_REPLY;
-+    if (pptp_send_ctrl_packet(conn, &rqst, sizeof(rqst))) {
-+        pptp_reset_timer(); /* wait 60 seconds for reply */
-+        conn->conn_state = CONN_WAIT_STOP_REPLY;
-+    }
-     return;
- }
-@@ -733,8 +739,8 @@
-                     reply.version = packet->version;
-                     /* protocol version not supported */
-                     reply.result_code = hton8(5);
--                    pptp_send_ctrl_packet(conn, &reply, sizeof(reply));
--                    pptp_reset_timer(); /* give sender a chance for a retry */
-+                    if (pptp_send_ctrl_packet(conn, &reply, sizeof(reply)))
-+                        pptp_reset_timer(); /* give sender a chance for a retry */
-                 } else { /* same or greater version */
-                     if (pptp_send_ctrl_packet(conn, &reply, sizeof(reply))) {
-                         conn->conn_state = CONN_ESTABLISHED;
-@@ -841,8 +847,8 @@
-                 hton8(1), hton8(PPTP_GENERAL_ERROR_NONE), 0
-             };
-             logecho( PPTP_ECHO_RQST);
--            pptp_send_ctrl_packet(conn, &reply, sizeof(reply));
--            pptp_reset_timer();
-+            if (pptp_send_ctrl_packet(conn, &reply, sizeof(reply)))
-+                pptp_reset_timer();
-             break;
-         }
-             /* ----------- OUTGOING CALL MESSAGES ------------ */
-@@ -928,9 +935,10 @@
-                 vector_search(conn->call, ntoh16(packet->call_id), &call);
-                 if (call->callback != NULL)
-                     call->callback(conn, call, CALL_CLOSE_RQST);
--                pptp_send_ctrl_packet(conn, &reply, sizeof(reply));
--                pptp_call_destroy(conn, call);
--                log("Call closed (RQST) (call id %d)", (int) call->call_id);
-+                if (pptp_send_ctrl_packet(conn, &reply, sizeof(reply))) {
-+                    pptp_call_destroy(conn, call);
-+                    log("Call closed (RQST) (call id %d)", (int) call->call_id);
-+                }
-             }
-             break;
-         }
-@@ -1067,8 +1075,9 @@
-     } else { /* ka_state == NONE */ /* send keep-alive */
-         struct pptp_echo_rqst rqst = {
-             PPTP_HEADER_CTRL(PPTP_ECHO_RQST), hton32(global.conn->ka_id) };
--        pptp_send_ctrl_packet(global.conn, &rqst, sizeof(rqst));
--        global.conn->ka_state = KA_OUTSTANDING;
-+        if (pptp_send_ctrl_packet(global.conn, &rqst, sizeof(rqst))) {
-+            global.conn->ka_state = KA_OUTSTANDING;
-+        }
-     }
-     /* check incoming/outgoing call states for !IDLE && !ESTABLISHED */
-     for (i = 0; i < vector_size(global.conn->call); i++) {
diff --git a/pptp/patches/pptp-1.7.2-ip-path.patch b/pptp/patches/pptp-1.7.2-ip-path.patch
deleted file mode 100644 (file)
index c65cb32..0000000
+++ /dev/null
@@ -1,186 +0,0 @@
-Index: routing.c
-===================================================================
-RCS file: /cvsroot/pptpclient/pptp-linux/routing.c,v
-retrieving revision 1.1
-diff -u -r1.1 routing.c
---- a/routing.c        2 Aug 2006 07:07:37 -0000       1.1
-+++ b/routing.c        25 Mar 2009 13:58:28 -0000
-@@ -23,9 +23,26 @@
- #include <stdio.h>
- #include <string.h>
- #include "routing.h"
-+#include "config.h"
-+#if defined (__SVR4) && defined (__sun) /* Solaris */
-+#include <sys/types.h>
-+#include <sys/socket.h>
-+#include <net/if.h>
-+#include <arpa/inet.h>
-+#include <errno.h>
-+#include "util.h"
-+/* PF_ROUTE socket*/
-+int rts; 
-+/* Destination and gateway addresses */
-+struct sockaddr_in rdst, rgw;
-+/* Request sequence */
-+int rseq;
-+int dorouting;
-+#else /* Solaris */
- /* route to the server */
- char *route;
-+#endif /* Solaris */
- /*
-@@ -54,26 +71,113 @@
- */
- void routing_init(char *ip) {
-+#if defined (__SVR4) && defined (__sun) /* Solaris */
-+  rdst.sin_family = AF_INET;
-+  if ( ! inet_pton(AF_INET, ip, &rdst.sin_addr) ) {
-+    log("Cannot convert address: %s", strerror(errno));
-+    return;
-+  }
-+
-+  if ( (rts = socket(PF_ROUTE, SOCK_RAW, AF_INET )) < 0 ) {
-+    log("Cannot open routing socket: %s", strerror(errno));
-+    return;
-+  }
-+
-+  struct rt_msg rtm = {
-+    .hdr.rtm_msglen = sizeof(struct rt_msg),
-+    .hdr.rtm_version = RTM_VERSION,
-+    .hdr.rtm_type = RTM_GET,
-+    .hdr.rtm_addrs = RTA_DST,
-+    .hdr.rtm_pid = getpid(),
-+    .hdr.rtm_seq = ++rseq,
-+    .addrs[RTAX_DST] = rdst
-+  };
-+
-+  if ( write(rts, &rtm, rtm.hdr.rtm_msglen) != rtm.hdr.rtm_msglen ) {
-+    log("Error writing to routing socket: %s", strerror(errno));
-+    close(rts);
-+    return;
-+  }
-+
-+  while ( read(rts, &rtm, sizeof(struct rt_msg)) > 0 )
-+    if ( rtm.hdr.rtm_pid == getpid() && rtm.hdr.rtm_seq == rseq) {
-+      /* Check if host route already present */
-+      if ( ( rtm.hdr.rtm_flags & RTF_HOST ) != RTF_HOST ) {
-+        rgw = rtm.addrs[RTAX_GATEWAY];
-+        dorouting = 1;
-+      }
-+      break;
-+    }
-+#else /* Solaris */ 
-   char buf[256];
--  snprintf(buf, 255, "/bin/ip route get %s", ip);
--  FILE *p = popen(buf, "r");
-+  FILE *p;
-+
-+  snprintf(buf, 255, "%s route get %s", IP_BINARY, ip);
-+  p = popen(buf, "r");
-   fgets(buf, 255, p);
-   /* TODO: check for failure of fgets */
-   route = strdup(buf);
-   pclose(p);
-   /* TODO: check for failure of command */
-+#endif /* Solaris */
- }
- void routing_start() {
-+#if defined (__SVR4) && defined (__sun) /* Solaris */
-+  if ( ! dorouting )
-+     return;
-+
-+  struct rt_msg rtm = {
-+    .hdr.rtm_msglen = sizeof(struct rt_msg),
-+    .hdr.rtm_version = RTM_VERSION,
-+    .hdr.rtm_type = RTM_ADD,
-+    .hdr.rtm_flags = RTF_HOST | RTF_GATEWAY | RTF_STATIC,
-+    .hdr.rtm_addrs = RTA_DST | RTA_GATEWAY,
-+    .hdr.rtm_pid = getpid(),
-+    .hdr.rtm_seq = ++rseq,
-+    .addrs[RTAX_DST] = rdst,
-+    .addrs[RTAX_GATEWAY] = rgw
-+  };
-+
-+  if ( write(rts, &rtm, rtm.hdr.rtm_msglen) != rtm.hdr.rtm_msglen ) {
-+    log("Error adding route: %s", strerror(errno));
-+  }
-+#else /* Solaris */
-   char buf[256];
--  snprintf(buf, 255, "/bin/ip route replace %s", route);
--  FILE *p = popen(buf, "r");
-+  FILE *p;
-+
-+  snprintf(buf, 255, "%s route replace %s", IP_BINARY, route);
-+  p = popen(buf, "r");
-   pclose(p);
-+#endif /* Solaris */
- }
- void routing_end() {
-+#if defined (__SVR4) && defined (__sun) /* Solaris */
-+  if ( ! dorouting)
-+    return;
-+
-+  struct rt_msg rtm = {
-+    .hdr.rtm_msglen = sizeof(struct rt_msg),
-+    .hdr.rtm_version = RTM_VERSION,
-+    .hdr.rtm_type = RTM_DELETE,
-+    .hdr.rtm_flags = RTF_HOST | RTF_GATEWAY | RTF_STATIC,
-+    .hdr.rtm_addrs = RTA_DST | RTA_GATEWAY,
-+    .hdr.rtm_pid = getpid(),
-+    .hdr.rtm_seq = ++rseq,
-+    .addrs[RTAX_DST] = rdst,
-+    .addrs[RTAX_GATEWAY] = rgw
-+  };
-+
-+  if ( write(rts, &rtm, rtm.hdr.rtm_msglen) != rtm.hdr.rtm_msglen ) {
-+    log("Error deleting route: %s", strerror(errno));
-+  }
-+#else /* Solaris */
-   char buf[256];
--  snprintf(buf, 255, "/bin/ip route delete %s", route);
--  FILE *p = popen(buf, "r");
-+  FILE *p;
-+
-+  snprintf(buf, 255, "%s route delete %s", IP_BINARY, route);
-+  p = popen(buf, "r");
-   pclose(p);
-+#endif /* Solaris */
- }
-Index: Makefile
-===================================================================
-RCS file: /cvsroot/pptpclient/pptp-linux/Makefile,v
-retrieving revision 1.47
-retrieving revision 1.49
-diff -u -r1.47 -r1.49
---- a/Makefile 14 May 2008 06:32:52 -0000      1.47
-+++ b/Makefile 24 Jul 2008 05:37:47 -0000      1.49
-@@ -1,10 +1,13 @@
--# $Id: Makefile,v 1.47 2008/05/14 06:32:52 quozl Exp $
-+# $Id: Makefile,v 1.49 2008/07/24 05:37:47 quozl Exp $
- VERSION=1.7.2
- RELEASE=
- #################################################################
--# CHANGE THIS LINE to point to the location of your pppd binary.
-+# CHANGE THIS LINE to point to the location of binaries
- PPPD = /usr/sbin/pppd
-+# Solaris
-+# PPPD = /usr/bin/pppd
-+IP = /bin/ip
- #################################################################
- BINDIR=$(DESTDIR)/usr/sbin
-@@ -47,6 +52,7 @@
-       echo "/* text added by Makefile target config.h */" > config.h
-       echo "#define PPTP_LINUX_VERSION \"$(VERSION)$(RELEASE)\"" >> config.h
-       echo "#define PPPD_BINARY \"$(PPPD)\"" >> config.h
-+      echo "#define IP_BINARY \"$(IP)\"" >> config.h
- vector_test: vector_test.o vector.o
-       $(CC) -o vector_test vector_test.o vector.o
diff --git a/pptp/patches/pptp-1.7.2-makedeps.patch b/pptp/patches/pptp-1.7.2-makedeps.patch
deleted file mode 100644 (file)
index 02b36cf..0000000
+++ /dev/null
@@ -1,80 +0,0 @@
-Index: Makefile
-===================================================================
-RCS file: /cvsroot/pptpclient/pptp-linux/Makefile,v
-retrieving revision 1.47
-retrieving revision 1.49
-diff -u -r1.47 -r1.49
---- a/Makefile 14 May 2008 06:32:52 -0000      1.47
-+++ b/Makefile 24 Jul 2008 05:37:47 -0000      1.49
-@@ -96,3 +102,71 @@
- release:
-       cp pptp_$(VERSION)-0_i386.deb $(WEB)
-       cd $(WEB);make
-+
-+# The following include file dependencies were generated using
-+# "makedepend -w0 *.c", then manually removing out of tree entries.
-+# DO NOT DELETE
-+
-+dirutil.o: dirutil.h
-+orckit_quirks.o: pptp_msg.h
-+orckit_quirks.o: pptp_compat.h
-+orckit_quirks.o: pptp_options.h
-+orckit_quirks.o: pptp_ctrl.h
-+orckit_quirks.o: util.h
-+ppp_fcs.o: ppp_fcs.h
-+ppp_fcs.o: pptp_compat.h
-+pptp.o: config.h
-+pptp.o: pptp_callmgr.h
-+pptp.o: pptp_gre.h
-+pptp.o: pptp_compat.h
-+pptp.o: version.h
-+pptp.o: inststr.h
-+pptp.o: util.h
-+pptp.o: pptp_quirks.h
-+pptp.o: pptp_msg.h
-+pptp.o: pptp_ctrl.h
-+pptp.o: pqueue.h
-+pptp.o: pptp_options.h
-+pptp_callmgr.o: pptp_callmgr.h
-+pptp_callmgr.o: pptp_ctrl.h
-+pptp_callmgr.o: pptp_compat.h
-+pptp_callmgr.o: pptp_msg.h
-+pptp_callmgr.o: dirutil.h
-+pptp_callmgr.o: vector.h
-+pptp_callmgr.o: util.h
-+pptp_callmgr.o: routing.h
-+pptp_compat.o: pptp_compat.h
-+pptp_compat.o: util.h
-+pptp_ctrl.o: pptp_msg.h
-+pptp_ctrl.o: pptp_compat.h
-+pptp_ctrl.o: pptp_ctrl.h
-+pptp_ctrl.o: pptp_options.h
-+pptp_ctrl.o: vector.h
-+pptp_ctrl.o: util.h
-+pptp_ctrl.o: pptp_quirks.h
-+pptp_gre.o: ppp_fcs.h
-+pptp_gre.o: pptp_compat.h
-+pptp_gre.o: pptp_msg.h
-+pptp_gre.o: pptp_gre.h
-+pptp_gre.o: util.h
-+pptp_gre.o: pqueue.h
-+pptp_gre.o: test.h
-+pptp_quirks.o: orckit_quirks.h
-+pptp_quirks.o: pptp_options.h
-+pptp_quirks.o: pptp_ctrl.h
-+pptp_quirks.o: pptp_compat.h
-+pptp_quirks.o: pptp_msg.h
-+pptp_quirks.o: pptp_quirks.h
-+pqueue.o: util.h
-+pqueue.o: pqueue.h
-+routing.o: routing.h
-+test.o: util.h
-+test.o: test.h
-+util.o: util.h
-+vector.o: pptp_ctrl.h
-+vector.o: pptp_compat.h
-+vector.o: vector.h
-+vector_test.o: vector.h
-+vector_test.o: pptp_ctrl.h
-+vector_test.o: pptp_compat.h
-+version.o: config.h
diff --git a/pptp/patches/pptp-1.7.2-pptpsetup-encrypt.patch b/pptp/patches/pptp-1.7.2-pptpsetup-encrypt.patch
deleted file mode 100644 (file)
index 6f7bfa5..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
---- a/pptpsetup        2009-06-01 14:30:36.000000000 +0100
-+++ b/pptpsetup        2009-06-01 14:36:39.000000000 +0100
-@@ -43,12 +43,13 @@
- sub create {
-     my $TUNNEL = shift;
--    # system checking
--    &Check_MPPE_in_kernel
--        or die "$0: couldn't find MPPE support in kernel.\n";
--
--    &Check_MPPE_in_pppd
--        or die "$0: couldn't find MPPE support in pppd.\n";
-+    # if encryption is requested, check for support in kernel and pppd
-+    if ( $ENCRYPT ) {
-+        &Check_MPPE_in_kernel
-+            or die "$0: couldn't find MPPE support in kernel.\n";
-+        &Check_MPPE_in_pppd
-+            or die "$0: couldn't find MPPE support in pppd.\n";
-+    }
-     # input validation
-     ($TUNNEL) = $TUNNEL =~ m{^(\w+)$}
diff --git a/pptp/patches/pptp-1.7.2-pptpsetup-mppe.patch b/pptp/patches/pptp-1.7.2-pptpsetup-mppe.patch
deleted file mode 100644 (file)
index c8668ea..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
---- pptp-1.7.2/pptpsetup       2009-06-01 15:18:25.000000000 +0100
-+++ pptp-1.7.2/pptpsetup       2009-06-01 15:19:25.000000000 +0100
-@@ -43,14 +43,6 @@
- sub create {
-     my $TUNNEL = shift;
--    # if encryption is requested, check for support in kernel and pppd
--    if ( $ENCRYPT ) {
--        &Check_MPPE_in_kernel
--            or die "$0: couldn't find MPPE support in kernel.\n";
--        &Check_MPPE_in_pppd
--            or die "$0: couldn't find MPPE support in pppd.\n";
--    }
--
-     # input validation
-     ($TUNNEL) = $TUNNEL =~ m{^(\w+)$}
-       or die "$0: invalid tunnel name.\nTry '$0 --help' for more information.\n";
-@@ -180,29 +172,6 @@
-     exit;
- }
--### AUXILIAR SUBS ###
--
--sub Check_MPPE_in_kernel {
--    my $command = q/modprobe ppp-compress-18/;
--    if (system( $command ) == 0) {
--        # no error!
--        return 1;
--    } else {
--        return 0;
--    }
--}
--
--sub Check_MPPE_in_pppd {
--    my $command = q/strings `which pppd`|grep -i mppe|wc --lines/;
--    my $answer  = `$command`;
--    if ($answer > 0) {
--        # ok!
--        return 1;
--    } else {
--        return 0;
--    }
--}
--
- __END__
- =head1 NAME
diff --git a/pptp/patches/pptp-1.7.2-pptpsetup.patch b/pptp/patches/pptp-1.7.2-pptpsetup.patch
deleted file mode 100644 (file)
index c1d0638..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-Index: pptpsetup
-===================================================================
-RCS file: /cvsroot/pptpclient/pptp-linux/pptpsetup,v
-retrieving revision 1.4
-diff -u -r1.4 pptpsetup
---- a/pptpsetup        2 Aug 2006 07:02:47 -0000       1.4
-+++ b/pptpsetup        25 Mar 2009 13:41:37 -0000
-@@ -154,6 +154,7 @@
-     # delete entry from chap-secrets
-     my $chap_file = '/etc/ppp/chap-secrets';
-+    my $mode = (stat($chap_file))[2] & 07777;
-     open( FILE, $chap_file )
-         or die "$0: can't read '$chap_file': $!\n";
-@@ -171,6 +172,7 @@
-     # write new chap-secrets
-     open( FILE, ">$chap_file" )
-         or die "$0: can't write '$chap_file': $!\n";
-+    chmod $mode, $chap_file;
-     print FILE $new_chap;
-     close FILE;
diff --git a/pptp/patches/pptp-1.7.2-waitpid.patch b/pptp/patches/pptp-1.7.2-waitpid.patch
deleted file mode 100644 (file)
index ef042f1..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-Tue Jun 15 15:02:28 2010  James Cameron  <quozl@us.netrek.org>
-
-       * pptp.c (open_callmgr): fix usage of status returned by waitpid;
-       it must be wrapped by WEXITSTATUS to shift bits as required.
-
---- a/pptp.c   2010-06-15 14:35:20.265852021 +0100
-+++ b/pptp.c   2010-06-15 14:32:00.478100392 +0100
-@@ -475,7 +475,7 @@
-                 }
-                 default: /* parent */
-                     waitpid(pid, &status, 0);
--                    if (status!= 0)
-+                    if (WEXITSTATUS(status) != 0)
-                         fatal("Call manager exited with error %d", status);
-                     break;
-             }
diff --git a/pptp/pptp.nm b/pptp/pptp.nm
deleted file mode 100644 (file)
index 2e614a5..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = pptp
-version    = 1.7.2
-release    = 3
-
-groups     = Networking/Dialin
-url        = http://pptpclient.sourceforge.net/
-license    = GPLv2+
-summary    = Point-to-Point Tunneling Protocol (PPTP) Client.
-
-description
-       Client for the proprietary Microsoft Point-to-Point Tunneling
-       Protocol, PPTP. Allows connection to a PPTP based VPN as used
-       by employers and some cable and ADSL service providers.
-end
-
-source_dl  =
-sources    = %{thisapp}.tar.gz
-
-build
-       requires
-               perl
-               ppp-devel
-       end
-
-       prepare_cmds
-               sed -i Makefile \
-                       -e "s/install -o root -m 555 pptp/install -m 755 pptp/" \
-                       -e "s/^OPTIMIZE=.*/OPTIMIZE=%{CFLAGS}/" \
-                       -e "s/^LDFLAGS  =/LDFLAGS=%{LDFLAGS}/" \
-                       -e "s/^IP.*/IP=\/sbin\/ip/"
-       end
-
-       install_cmds
-               rm -rvf %{BUILDROOT}/etc
-       end
-end
-
-packages
-       package %{name}
-               requires
-                       iproute2
-               end
-       end
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
index 4392817659107debdc10a9899866c38e7fdfb4bc..bc066366a6b43535cdd7f28594ba211b087a4774 100644 (file)
@@ -4,13 +4,13 @@
 ###############################################################################
 
 name       = procps-ng
-version    = 3.3.12
-release    = 1
+version    = 4.0.2
+release    = 1.1
 
 groups     = Applications/System
 url        = http://procps-ng.sourceforge.net/
 license    = GPL+ and GPLv2 and GPLv2+ and GPLv3+ and LGPLv2+
-summary    = System and process monitoring utilities.
+summary    = System and process monitoring utilities
 
 description
        The procps package contains a set of system utilities that provide
@@ -18,7 +18,7 @@ description
        snice, tload, top, uptime, vmstat, w, watch and pdwx.
 end
 
-source_dl  = http://downloads.sourceforge.net/%{name}/
+source_dl  = https://sourceforge.net/projects/procps-ng/files/Production/
 sources    = %{thisapp}.tar.xz
 
 build
@@ -47,10 +47,8 @@ end
 
 packages
        package %{name}
-               groups += Base
-
                provides
-                       procps=%{thisver}
+                       procps = %{thisver}
                end
 
                obsoletes
index 99f3ba28ff72cf881b6dd16559f041bdaf04bcb8..1e3d5d0d77f5dd84876702b8ecdf6f46e1671c6a 100644 (file)
@@ -4,11 +4,11 @@
 ###############################################################################
 
 name       = psmisc
-version    = 22.21
-release    = 2
+version    = 23.6
+release    = 1
 
 groups     = Applications/System
-url        = http://sourceforge.net/projects/psmisc
+url        = https://gitlab.com/psmisc/psmisc
 license    = GPLv2+
 summary    = Utilities for managing processes on your system.
 
@@ -22,7 +22,8 @@ description
        filesystems.
 end
 
-source_dl  = http://downloads.sourceforge.net/project/psmisc/psmisc/
+source_dl  = https://sourceforge.net/projects/psmisc/files/psmisc/
+sources    = %{thisapp}.tar.xz
 
 build
        requires
@@ -32,8 +33,6 @@ end
 
 packages
        package %{name}
-               groups += Base
-       end
 
        package %{name}-debuginfo
                template DEBUGINFO
diff --git a/pth/patches/pth-2.0.5-parallelfix.patch0 b/pth/patches/pth-2.0.5-parallelfix.patch0
deleted file mode 100644 (file)
index a305f59..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
---- Makefile.in.orig   2005-11-08 05:58:55.000000000 +1100
-+++ Makefile.in        2005-11-08 06:29:02.000000000 +1100
-@@ -148,10 +148,9 @@
- #   be aware of libtool when building the objects
- .SUFFIXES:
--.SUFFIXES: .c .o .lo
--.c.o:
-+%.o: %.c $(TARGET_PREQ)
-       $(CC) -c $(CPPFLAGS) $(CFLAGS) $<
--.c.lo:
-+%.lo: %.c $(TARGET_PREQ)
-       $(LIBTOOL) --mode=compile --quiet $(CC) -c $(CPPFLAGS) $(CFLAGS) $<
- #   the default target
diff --git a/pth/pth.nm b/pth/pth.nm
deleted file mode 100644 (file)
index 6a7c0d6..0000000
+++ /dev/null
@@ -1,62 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = pth
-version    = 2.0.7
-release    = 3
-
-groups     = System/Libraries
-url        = http://www.gnu.org/software/pth
-license    = GPLv3+
-summary    = GNU Pth - The GNU Portable Threads.
-
-description
-       The Pth package contains a very portable POSIX/ANSI-C based library for \
-       Unix platforms which provides non-preemptive priority-based scheduling for \
-       multiple threads of execution (multithreading) inside event-driven \
-       applications.
-end
-
-source_dl  = ftp://ftp.gnu.org/gnu/pth/
-
-build
-       requires
-               libtool
-       end
-
-       configure_options += \
-               --disable-static \
-               --mandir=/usr/share/man
-
-       if "%{DISTRO_ARCH}" == "armv5tel"
-               configure_options += \
-                       --with-mctx-mth=sjlj \
-                       --with-mctx-dsp=ssjlj \
-                       --with-mctx-stk=sas
-       end
-
-       if "%{DISTRO_ARCH}" == "armv7hl"
-               configure_options += \
-                       --with-mctx-mth=sjlj \
-                       --with-mctx-dsp=ssjlj \
-                       --with-mctx-stk=sas
-       end
-
-       test
-               make check
-       end
-end
-
-packages
-       package %{name}
-
-       package %{name}-devel
-               template DEVEL
-       end
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
diff --git a/pychecker/pychecker.nm b/pychecker/pychecker.nm
deleted file mode 100644 (file)
index b255c0a..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = pychecker
-version    = 0.8.19
-release    = 2
-arch       = noarch
-
-groups     = Development/Debuggers
-url        = http://pychecker.sourceforge.net
-license    = BSD
-summary    = A python source code checking tool.
-
-description
-       PyChecker is a python source code checking tool to help you find
-       common bugs. It is meant to find problems that are typically caught by
-       a compiler.
-end
-
-source_dl  =
-
-build
-       requires
-               python-devel
-       end
-
-       build
-               python setup.py build
-       end
-
-       install
-               python setup.py install --root=%{BUILDROOT}
-       end
-end
-
-packages
-       package %{name}
-end
diff --git a/pygobject3/pygobject3.nm b/pygobject3/pygobject3.nm
deleted file mode 100644 (file)
index bc92035..0000000
+++ /dev/null
@@ -1,117 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = pygobject3
-version    = %{ver_major}.%{ver_minor}
-ver_major  = 3.18
-ver_minor  = 0
-release    = 1
-
-groups     = Development/Tools
-url        = http://www.pygtk.org/
-license    = LGPLv2+
-summary    = Python 2 bindings for GObject.
-
-description
-       The %{name} package provides a convenient wrapper for the GObject library
-       for use in Python programs.
-end
-
-thisapp = pygobject-%{version}
-
-source_dl  = http://ftp.gnome.org/pub/GNOME/sources/pygobject/%{ver_major}/
-sources    = %{thisapp}.tar.xz
-
-build
-       requires
-               cairo-gobject-devel >= 1.12.12
-               glib2-devel >= 2.34.2
-               gobject-introspection-devel >= 1.34.2
-               pkg-config
-               python-cairo-devel
-               python3-cairo-devel
-               python-devel
-               python3-devel >= 3.4
-       end
-
-       DIR_APP3 = %{DIR_APP}-python3
-
-       prepare_cmds
-               cp -av %{DIR_APP} %{DIR_APP3}
-
-               pushd %{DIR_APP3}
-               find -name '*.py' | xargs sed -i '1s|^#!python|#!%{python3}|'
-               popd
-
-               find -name '*.py' | xargs sed -i '1s|^#!python|#!%{python}|'
-       end
-
-       build
-               pushd %{DIR_APP3}
-               export PYTHON=%{python3}
-               ./configure  %{configure_options}
-               make %{PARALLELISMFLAGS}
-               popd
-
-               export PYTHON=%{python}
-               ./configure  %{configure_options}
-               make %{PARALELLISMFLAGS}
-       end
-
-       install
-               pushd %{DIR_APP3}
-               export PYTHON=%{python3}
-               make install DESTDIR=%{BUILDROOT}
-               popd
-
-               export PYTHON=%{python}
-               make install DESTDIR=%{BUILDROOT}
-       end
-end
-
-packages
-       package python-gobject3
-               requires
-                       gobject-introspection >= 1.34.2
-                       python-cairo
-               end
-
-               files += \
-                       {libdir}/*python2*.so.*
-       end
-
-       package python3-gobject3
-               template PYTHON3
-
-               requires
-                       gobject-introspection >= 1.34.2
-                       python3-cairo
-               end
-
-               files += \
-                       %{libdir}/*python3*.so.*
-       end
-
-       package %{name}-devel
-               template DEVEL
-
-               provides
-                       python-gobject3-devel
-                       python3-gobject3-devel
-               end
-
-               requires
-                       glib2-devel
-                       gobject-introspection-devel >= 1.34.2
-               end
-
-               files += \
-                       %{libdir}/*python3*.so
-       end
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
diff --git a/pygpgme/pygpgme.nm b/pygpgme/pygpgme.nm
deleted file mode 100644 (file)
index f3facd7..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = pygpgme
-version    = 0.3
-release    = 1
-
-groups     = Development/Languages
-url        = http://cheeseshop.python.org/pypi/pygpgme
-license    = LGPLv2+
-summary    = Python module for working with OpenPGP messages.
-
-description
-       PyGPGME is a Python module that lets you sign, verify, encrypt and decrypt
-       files using the OpenPGP format.  It is built on top of GNU Privacy Guard and
-       the GPGME library.
-end
-
-source_dl  = http://cheeseshop.python.org/packages/source/p/%{name}/
-
-build
-       requires
-               gpgme-devel
-               python-devel
-       end
-
-       build
-               python setup.py build
-       end
-
-       install
-               python setup.py install --skip-build --root %{BUILDROOT}
-       end
-end
-
-packages
-       package %{name}
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
diff --git a/pyserial/pyserial.nm b/pyserial/pyserial.nm
deleted file mode 100644 (file)
index ba33766..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = pyserial
-version    = 2.5
-release    = 1
-arch       = noarch
-
-groups     = System/Libraries
-url        = http://pyserial.sourceforge.net/
-license    = Python
-summary    = Python Serial Port Extension.
-
-description
-       Python Serial Port Extension for Win32, Linux, BSD, Jython, IronPython.
-end
-
-source_dl  =
-
-build
-       requires
-               python-devel
-       end
-
-       build = # Nothing to do
-
-       install
-               python setup.py install --root=%{BUILDROOT}
-       end
-end
-
-packages
-       package %{name}
-end
diff --git a/python-IPy/python-IPy.nm b/python-IPy/python-IPy.nm
deleted file mode 100644 (file)
index 345f4e3..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = python-IPy
-version    = 0.62
-release    = 1
-arch       = noarch
-thisapp    = IPy-%{version}
-
-groups     = System/Libraries
-url        = http://software.inl.fr/trac/trac.cgi/wiki/IPy
-license    = BSD
-summary    = Python module for handling IPv4 and IPv6 Addresses and Networks.
-
-description
-       IPy is a Python module for handling IPv4 and IPv6 Addresses and \
-       Networks in a fashion similar to perl's Net::IP and friends. The IP \
-       class allows a comfortable parsing and handling for most notations \
-       in use for IPv4 and IPv6 Addresses and Networks.
-end
-
-source_dl  =
-
-build
-       requires
-               python-devel
-       end
-
-       build = # Nothing to do
-
-       install
-               python setup.py install --root=%{BUILDROOT}
-       end
-end
-
-packages
-       package %{name}
-end
diff --git a/python-cairo/python-cairo.nm b/python-cairo/python-cairo.nm
deleted file mode 100644 (file)
index b10076e..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = python-cairo
-version    = 1.8.10
-release    = 3
-
-groups     = Development/Tools
-url        = http://cairographics.org/pycairo
-license    = MPLv1.1 or LGPLv2
-summary    = Python bindings for the cairo library.
-
-description
-       Python bindings for the cairo library.
-end
-
-source_dl  =
-sources    = py2cairo-%{version}.tar.gz
-
-build
-       requires
-               cairo-devel
-               pkg-config
-               python-devel
-       end
-
-       DIR_APP = %{DIR_SRC}/pycairo-%{version}
-end
-
-packages
-       package %{name}
-
-       package %{name}-devel
-               template DEVEL
-
-               # The development headers need the cairo headers.
-               requires
-                       cairo-devel
-               end
-       end
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
diff --git a/python-daemon/python-daemon.nm b/python-daemon/python-daemon.nm
deleted file mode 100644 (file)
index 5223094..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = python-daemon
-version    = 1.6
-release    = 1
-arch       = noarch
-
-groups     = System/Libraries
-url        = http://pypi.python.org/pypi/python-daemon
-license    = Python
-summary    = Library to implement a well-behaved Unix daemon process.
-
-description
-       This library implements the well-behaved daemon specification of PEP 3143,
-       "Standard daemon process library".
-end
-
-source_dl  = http://pypi.python.org/packages/source/p/python-daemon
-
-build
-       requires
-               python-devel
-               python-setuptools
-       end
-
-       prepare_cmds
-               sed -i -e '/^#!\//, 1d' daemon/version/version_info.py
-       end
-
-       build
-               python setup.py build
-       end
-
-       install
-               python setup.py install --root=%{BUILDROOT}
-       end
-end
-
-packages
-       package %{name}
-end
diff --git a/python-dbus/python-dbus.nm b/python-dbus/python-dbus.nm
deleted file mode 100644 (file)
index ba57719..0000000
+++ /dev/null
@@ -1,84 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = python-dbus
-version    = 1.1.1
-release    = 2
-
-groups     = System/Libraries
-url        = http://www.freedesktop.org/software/dbus/
-license    = MIT
-summary    = Dbus Python Bindings.
-
-description
-       D-Bus python bindings for use with python programs.
-end
-
-thisapp = dbus-python-%{version}
-
-source_dl  = http://dbus.freedesktop.org/releases/dbus-python/
-
-build
-       requires
-               dbus-devel
-               dbus-glib-devel
-               pkg-config
-               python-devel
-               python3-devel >= 3.4
-       end
-
-       configure_options += \
-               --mandir=/usr/share/man
-
-       DIR_APP3 = %{DIR_APP}-python3
-
-       prepare_cmds
-               cp -av %{DIR_APP} %{DIR_APP3}
-
-               pushd %{DIR_APP3}
-               find -name '*.py' | xargs sed -i '1s|^#!python|#!%{python3}|'
-               popd
-
-               find -name '*.py' | xargs sed -i '1s|^#!python|#!%{python}|'
-       end
-
-       build
-               pushd %{DIR_APP3}
-               export PYTHON=%{python3}
-               ./configure  %{configure_options}
-               make %{PARALLELISMFLAGS}
-               popd
-
-               export PYTHON=%{python}
-               ./configure  %{configure_options}
-               make %{PARALELLISMFLAGS}
-       end
-
-       install
-               pushd %{DIR_APP3}
-               export PYTHON=%{python3}
-               make install DESTDIR=%{BUILDROOT}
-               popd
-
-               export PYTHON=%{python}
-               make install DESTDIR=%{BUILDROOT}
-       end
-end
-
-packages
-       package %{name}
-
-       package python3-dbus
-               template PYTHON3
-       end
-
-       package %{name}-devel
-               template DEVEL
-       end
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
diff --git a/python-decorator/python-decorator.nm b/python-decorator/python-decorator.nm
deleted file mode 100644 (file)
index 6d1c5b8..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = python-decorator
-version    = 3.1.2
-release    = 1
-arch       = noarch
-thisapp    = decorator-%{version}
-
-groups     = Development/Languages
-url        = http://www.phyast.pitt.edu/~micheles/python/documentation.html
-license    = BSD
-summary    = Module to simplify usage of decorators.
-
-description
-       The aim of the decorator module is to simplify the usage of decorators
-       for the average programmer, and to popularize decorators usage giving
-       examples of useful decorators, such as memoize, tracing,
-       redirecting_stdout, locked, etc. The core of this module is a
-       decorator factory called decorator.
-end
-
-source_dl  =
-
-build
-       requires
-               python
-       end
-
-       build
-               python setup.py build
-       end
-
-       install
-               python setup.py install --skip-build --root=%{BUILDROOT}
-       end
-end
-
-packages
-       package %{name}
-end
diff --git a/python-distutils-extra/python-distutils-extra.nm b/python-distutils-extra/python-distutils-extra.nm
deleted file mode 100644 (file)
index 3cb3163..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = python-distutils-extra
-version    = 2.25
-release    = 1
-arch       = noarch
-
-groups     = System/Libraries
-url        = https://launchpad.net/python-distutils-extra
-license    = GPLv2+
-summary    = Integrate more support into Python's distutils.
-
-description
-       Enables you to easily integrate gettext support, themed icons and
-       scrollkeeper based documentation into Python's distutils.
-end
-
-source_dl  =
-
-build
-       requires
-               python-devel
-               python-setuptools
-       end
-
-       build
-               python setup.py build
-       end
-
-       install
-               python setup.py install --root=%{BUILDROOT}
-       end
-end
-
-packages
-       package %{name}
-end
diff --git a/python-m2crypto/python-m2crypto.nm b/python-m2crypto/python-m2crypto.nm
deleted file mode 100644 (file)
index 1a63217..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = python-m2crypto
-version    = 0.21.1
-release    = 1
-
-groups     = Development/Libraries
-url        = http://wiki.osafoundation.org/bin/view/Projects/MeTooCrypto
-license    = MIT
-summary    = Support for using OpenSSL in python scripts.
-
-description
-       This package allows you to call OpenSSL functions from python scripts.
-end
-
-thisapp    = M2Crypto-%{version}
-
-source_dl  =
-
-build
-       requires
-               python-devel
-               openssl-devel
-               swig
-       end
-
-       build
-               CFLAGS="%{CFLAGS}" python setup.py build
-       end
-
-       install
-               python setup.py install --skip-build --root=%{BUILDROOT}
-       end
-end
-
-packages
-       package %{name}
-       end
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
diff --git a/python-netfilter_conntrack/python-netfilter_conntrack.nm b/python-netfilter_conntrack/python-netfilter_conntrack.nm
deleted file mode 100644 (file)
index 8740400..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = python-netfilter_conntrack
-version    = 0.4.2
-release    = 1
-thisapp    = pynetfilter_conntrack-%{version}
-
-groups     = System/Libraries
-url        = http://software.inl.fr/trac/wiki/pynetfilter_conntrack
-license    =
-summary    = Python binding of libnetfilter_conntrack.
-
-description
-       This python library is based on libnetfilter_conntrack, which lets
-       you manipulate conntrack objects. In other words,
-       pynetfilter_conntrack lets you deal with Netfilter's stateful
-       inspection objects from the Python world.
-end
-
-source_dl  =
-
-build
-       requires
-               libnetfilter_conntrack-devel
-               python-devel
-       end
-
-       build = # Nothing to do
-
-       install
-               python setup.py install --root=%{BUILDROOT}
-       end
-end
-
-packages
-       package %{name}
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
diff --git a/python-parted/python-parted.nm b/python-parted/python-parted.nm
deleted file mode 100644 (file)
index ccc6055..0000000
+++ /dev/null
@@ -1,67 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = python-parted
-version    = 3.9
-release    = 1
-thisapp    = pyparted-%{version}
-
-groups     = System/Libraries
-url        = http://fedorahosted.org/pyparted
-license    = GPLv2+
-summary    = Python module for GNU parted.
-
-description
-       Python module for the parted library. It is used for manipulating
-       partition tables.
-end
-
-py3parted_version = 0.1
-
-source_dl  = \
-       https://fedorahosted.org/releases/p/y/pyparted/ \
-       https://github.com/cinnarch/py3parted/archive/
-
-# Also download source tarball for py3parted.
-sources += v%{py3parted_version}.tar.gz
-
-build
-       requires
-               parted-devel >= 3.1
-               pkg-config
-               python-decorator
-               python-devel
-               python3-devel
-       end
-
-       DIR_APP3 = %{DIR_SRC}/py3parted-%{py3parted_version}
-
-       build_cmds
-               # Build py3parted.
-               cd %{DIR_APP3} && python3 setup.py build
-       end
-
-       install_cmds
-               # Install py3parted.
-               cd %{DIR_APP3} && python3 setup.py install --root=%{BUILDROOT}
-       end
-end
-
-
-packages
-       package %{name}
-               requires
-                       python-decorator
-               end
-       end
-
-       package python3-parted
-               template PYTHON3
-       end
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
diff --git a/python-piksemel/python-piksemel.nm b/python-piksemel/python-piksemel.nm
deleted file mode 100644 (file)
index 366a6e3..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = python-piksemel
-version    = 1.3.1
-release    = 1
-thisapp    = piksemel-%{version}
-
-groups     = Development/Languages
-url        = http://cekirdek.pardus.org.tr/~bahadir/piksemel/
-license    = GPLv2+
-summary    = A python XML parser.
-
-description
-       Piksemel is a easy to use python XML parser, based on iksemel.
-end
-
-source_dl  =
-
-build
-       requires
-               python-devel
-       end
-
-       build
-               python setup.py build
-       end
-
-       test
-               # Create symlink for testsuite to find the compiled module.
-               cd %{DIR_APP}/tests && ln -s ../build/lib.*/piksemel.so piksemel.so
-               cd %{DIR_APP} && python setup.py test
-       end
-
-       install
-               python setup.py install --root=%{BUILDROOT}
-       end
-end
-
-packages
-       package %{name}
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
diff --git a/python-progressbar/patches/progressbar-interrupt.patch b/python-progressbar/patches/progressbar-interrupt.patch
deleted file mode 100644 (file)
index d272722..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-Index: progressbar-2.3/progressbar/__init__.py
-===================================================================
---- progressbar-2.3.orig/progressbar/__init__.py
-+++ progressbar-2.3/progressbar/__init__.py
-@@ -141,6 +141,7 @@ class ProgressBar(object):
-             try:
-                 self._handle_resize()
-                 signal.signal(signal.SIGWINCH, self._handle_resize)
-+                signal.siginterrupt(signal.SIGWINCH, False)
-                 self.signal_set = True
-             except (SystemExit, KeyboardInterrupt): raise
-             except:
diff --git a/python-progressbar/python-progressbar.nm b/python-progressbar/python-progressbar.nm
deleted file mode 100644 (file)
index 52871c0..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = python-progressbar
-version    = 2.3
-release    = 1
-arch       = noarch
-thisapp    = progressbar-%{version}
-
-groups     = System/Libraries
-url        = http://code.google.com/p/python-progressbar/
-license    = LGPLv2+
-summary    = Text progressbar library for python.
-
-description
-       This library provides a text mode progress bar. This is typically used to
-       display the progress of a long running operation, providing a visual clue that
-       processing is under way.
-end
-
-source_dl  = https://%{name}.googlecode.com/files/
-
-build
-       requires
-               python-setuptools
-               python-devel
-       end
-
-       build
-               python setup.py build
-       end
-
-       install
-               python setup.py install --root=%{BUILDROOT}
-       end
-end
-
-packages
-       package %{name}
-end
diff --git a/python-pyaspects/python-pyaspects.nm b/python-pyaspects/python-pyaspects.nm
deleted file mode 100644 (file)
index db3422c..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = python-pyaspects
-version    = 0.4.1
-release    = 1
-thisapp    = pyaspects-%{version}
-
-groups     = Development/Languages
-url        = http://github.com/baris/pyaspects/downloads
-license    = GPLv2+
-summary    = Module to provide aspect-oriented programming.
-
-description
-       PyAspects is a project to ease aspect-oriented programming
-       in Python language.
-end
-
-source_dl  =
-
-build
-       requires
-               python-devel
-       end
-
-       build
-               python setup.py build
-       end
-
-       install
-               python setup.py install --root=%{BUILDROOT}
-       end
-end
-
-packages
-       package %{name}
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
diff --git a/python-pycurl/patches/0001-No-longer-keep-copies-of-string-options-since-this-i.patch b/python-pycurl/patches/0001-No-longer-keep-copies-of-string-options-since-this-i.patch
deleted file mode 100644 (file)
index bfbe215..0000000
+++ /dev/null
@@ -1,200 +0,0 @@
-From 05433632fb1ccdabc1d29d78f32bc35de0a8638b Mon Sep 17 00:00:00 2001
-From: kjetilja <kjetilja>
-Date: Mon, 29 Sep 2008 10:56:57 +0000
-Subject: [PATCH 1/5] No longer keep copies of string options since this is managed by libcurl
-
-Signed-off-by: Kamil Dudka <kdudka@redhat.com>
----
- ChangeLog    |   12 +++++++++-
- src/pycurl.c |   60 +--------------------------------------------------------
- 2 files changed, 12 insertions(+), 60 deletions(-)
-
-diff --git a/ChangeLog b/ChangeLog
-index 0fb7f8c..618654d 100644
---- a/ChangeLog
-+++ b/ChangeLog
-@@ -1,7 +1,15 @@
--Version 7.19.0 [requires libcurl-7.19.0 or better]
-+Version 7.19.1 [requires libcurl-7.19.0 or better]
- --------------
--        * Added CURLFILE, ADDRESS_SCOPE and ISSUERCERT options, 
-+        * No longer keep string options copies in the
-+          Curl Python objects, since string options are
-+          now managed by libcurl.
-+
-+
-+Version 7.19.0
-+--------------
-+
-+        * Added CURLFILE, ADDRESS_SCOPE and ISSUERCERT options,
-           as well as the APPCONNECT_TIME info.
-         * Added PRIMARY_IP info (patch by
-diff --git a/src/pycurl.c b/src/pycurl.c
-index a17a23b..6de1514 100644
---- a/src/pycurl.c
-+++ b/src/pycurl.c
-@@ -1,4 +1,4 @@
--/* $Id: pycurl.c,v 1.147 2008/09/09 17:40:34 kjetilja Exp $ */
-+/* $Id: pycurl.c,v 1.148 2008/09/29 10:56:57 kjetilja Exp $ */
- /* PycURL -- cURL Python module
-  *
-@@ -97,12 +97,6 @@ static void pycurl_ssl_cleanup(void);
- /* Calculate the number of OBJECTPOINT options we need to store */
- #define OPTIONS_SIZE    ((int)CURLOPT_LASTENTRY % 10000)
- #define MOPTIONS_SIZE   ((int)CURLMOPT_LASTENTRY % 10000)
--static int OPT_INDEX(int o)
--{
--    assert(o >= CURLOPTTYPE_OBJECTPOINT);
--    assert(o < CURLOPTTYPE_OBJECTPOINT + OPTIONS_SIZE);
--    return o - CURLOPTTYPE_OBJECTPOINT;
--}
- /* Type objects */
- static PyObject *ErrorObject = NULL;
-@@ -161,7 +155,6 @@ typedef struct {
-     PyObject *writedata_fp;
-     PyObject *writeheader_fp;
-     /* misc */
--    void *options[OPTIONS_SIZE];    /* for OBJECTPOINT options */
-     char error[CURL_ERROR_SIZE+1];
- } CurlObject;
-@@ -741,7 +734,6 @@ util_curl_new(void)
-     self->writeheader_fp = NULL;
-     /* Zero string pointer memory buffer used by setopt */
--    memset(self->options, 0, sizeof(self->options));
-     memset(self->error, 0, sizeof(self->error));
-     return self;
-@@ -804,7 +796,6 @@ do_curl_new(PyObject *dummy)
-         free(s);
-         goto error;
-     }
--    self->options[ OPT_INDEX(CURLOPT_USERAGENT) ] = s; s = NULL;
-     /* Success - return new object */
-     return self;
-@@ -872,7 +863,6 @@ static void
- util_curl_close(CurlObject *self)
- {
-     CURL *handle;
--    int i;
-     /* Zero handle and thread-state to disallow any operations to be run
-      * from now on */
-@@ -916,16 +906,6 @@ util_curl_close(CurlObject *self)
-     SFREE(self->postquote);
-     SFREE(self->prequote);
- #undef SFREE
--
--    /* Last, free the options.  This must be done after the curl handle
--     * is closed since libcurl assumes that some options are valid when
--     * invoking curl_easy_cleanup(). */
--    for (i = 0; i < OPTIONS_SIZE; i++) {
--        if (self->options[i] != NULL) {
--            free(self->options[i]);
--            self->options[i] = NULL;
--        }
--    }
- }
-@@ -1424,8 +1404,6 @@ verbose_error:
- static PyObject*
- do_curl_reset(CurlObject *self)
- {
--    unsigned int i;
--
-     curl_easy_reset(self->handle);
-     /* Decref callbacks and file handles */
-@@ -1443,15 +1421,6 @@ do_curl_reset(CurlObject *self)
-     SFREE(self->postquote);
-     SFREE(self->prequote);
- #undef SFREE
--
--    /* Last, free the options */
--    for (i = 0; i < OPTIONS_SIZE; i++) {
--        if (self->options[i] != NULL) {
--            free(self->options[i]);
--            self->options[i] = NULL;
--        }
--    }
--
-     return Py_None;
- }
-@@ -1461,7 +1430,6 @@ static PyObject *
- util_curl_unsetopt(CurlObject *self, int option)
- {
-     int res;
--    int opt_index = -1;
- #define SETOPT2(o,x) \
-     if ((res = curl_easy_setopt(self->handle, (o), (x))) != CURLE_OK) goto error
-@@ -1502,7 +1470,6 @@ util_curl_unsetopt(CurlObject *self, int option)
-     case CURLOPT_SSL_CIPHER_LIST:
-     case CURLOPT_USERPWD:
-         SETOPT((char *) 0);
--        opt_index = OPT_INDEX(option);
-         break;
-     /* info: we explicitly list unsupported options here */
-@@ -1512,11 +1479,6 @@ util_curl_unsetopt(CurlObject *self, int option)
-         return NULL;
-     }
--    if (opt_index >= 0 && self->options[opt_index] != NULL) {
--        free(self->options[opt_index]);
--        self->options[opt_index] = NULL;
--    }
--
-     Py_INCREF(Py_None);
-     return Py_None;
-@@ -1587,8 +1549,6 @@ do_curl_setopt(CurlObject *self, PyObject *args)
-     if (PyString_Check(obj)) {
-         char *str = NULL;
-         Py_ssize_t len = -1;
--        char *buf;
--        int opt_index;
-         /* Check that the option specified a string as well as the input */
-         switch (option) {
-@@ -1651,28 +1611,12 @@ do_curl_setopt(CurlObject *self, PyObject *args)
-         }
-         /* Allocate memory to hold the string */
-         assert(str != NULL);
--        if (len <= 0)
--            buf = strdup(str);
--        else {
--            buf = (char *) malloc(len);
--            if (buf) memcpy(buf, str, len);
--        }
--        if (buf == NULL)
--            return PyErr_NoMemory();
-         /* Call setopt */
--        res = curl_easy_setopt(self->handle, (CURLoption)option, buf);
-+        res = curl_easy_setopt(self->handle, (CURLoption)option, str);
-         /* Check for errors */
-         if (res != CURLE_OK) {
--            free(buf);
-             CURLERROR_RETVAL();
-         }
--        /* Save allocated option buffer */
--        opt_index = OPT_INDEX(option);
--        if (self->options[opt_index] != NULL) {
--            free(self->options[opt_index]);
--            self->options[opt_index] = NULL;
--        }
--        self->options[opt_index] = buf;
-         Py_INCREF(Py_None);
-         return Py_None;
-     }
--- 
-1.7.1
-
diff --git a/python-pycurl/patches/0002-Fixes-https-sourceforge.net-tracker-func-detail-aid-.patch b/python-pycurl/patches/0002-Fixes-https-sourceforge.net-tracker-func-detail-aid-.patch
deleted file mode 100644 (file)
index 522087c..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-From 009e170d2838346461ff0b31b0afa44f3d6278f3 Mon Sep 17 00:00:00 2001
-From: zanee <zanee>
-Date: Fri, 23 Apr 2010 16:06:41 +0000
-Subject: [PATCH 2/5] Fixes https://sourceforge.net/tracker/?func=detail&aid=2812016&group_id=28236&atid=392777 with applied patch from sourceforge user dbprice1.
-
-Signed-off-by: Kamil Dudka <kdudka@redhat.com>
----
- setup.py |   23 ++++++++++++++++++-----
- 1 files changed, 18 insertions(+), 5 deletions(-)
-
-diff --git a/setup.py b/setup.py
-index 0ffd9d2..76b9d58 100644
---- a/setup.py
-+++ b/setup.py
-@@ -1,7 +1,7 @@
- #! /usr/bin/env python
- # -*- coding: iso-8859-1 -*-
- # vi:ts=4:et
--# $Id: setup.py,v 1.150 2008/09/09 17:40:34 kjetilja Exp $
-+# $Id: setup.py,v 1.151 2010/04/23 16:06:41 zanee Exp $
- """Setup script for the PycURL module distribution."""
-@@ -9,7 +9,7 @@ PACKAGE = "pycurl"
- PY_PACKAGE = "curl"
- VERSION = "7.19.0"
--import glob, os, re, sys, string
-+import glob, os, re, sys, string, subprocess
- import distutils
- from distutils.core import setup
- from distutils.extension import Extension
-@@ -96,9 +96,22 @@ else:
-                 include_dirs.append(e[2:])
-         else:
-             extra_compile_args.append(e)
--    libs = split_quoted(
--        os.popen("'%s' --libs" % CURL_CONFIG).read()+\
--        os.popen("'%s' --static-libs" % CURL_CONFIG).read())
-+
-+    # Run curl-config --libs and --static-libs.  Some platforms may not
-+    # support one or the other of these curl-config options, so gracefully
-+    # tolerate failure of either, but not both.
-+    optbuf = ""
-+    for option in ["--libs", "--static-libs"]:
-+        p = subprocess.Popen("'%s' %s" % (CURL_CONFIG, option), shell=True,
-+            stdout=subprocess.PIPE)
-+        (stdout, stderr) = p.communicate()
-+        if p.wait() == 0:
-+            optbuf += stdout
-+    if optbuf == "":
-+        raise Exception, ("Neither of curl-config --libs or --static-libs" +
-+            "produced output")
-+    libs = split_quoted(optbuf)
-+
-     for e in libs:
-         if e[:2] == "-l":
-             libraries.append(e[2:])
--- 
-1.7.1
-
diff --git a/python-pycurl/patches/0003-Fixes-refcount-bug-and-provides-better-organization-.patch b/python-pycurl/patches/0003-Fixes-refcount-bug-and-provides-better-organization-.patch
deleted file mode 100644 (file)
index 80c600e..0000000
+++ /dev/null
@@ -1,160 +0,0 @@
-From 4a377e2d60fb903e91a370595a6ea22cb7ee0e0e Mon Sep 17 00:00:00 2001
-From: zanee <zanee>
-Date: Wed, 28 Apr 2010 16:02:41 +0000
-Subject: [PATCH 3/5 v2] Fixes refcount bug and provides better organization of PyCurl object. Submitted by dbprice1.
-
-https://sourceforge.net/tracker/?func=detail&aid=2893665&group_id=28236&atid=392777
-
-Signed-off-by: Kamil Dudka <kdudka@redhat.com>
----
- src/pycurl.c |   88 +++++++++++++++++++++++++++++++++++++--------------------
- 1 files changed, 57 insertions(+), 31 deletions(-)
-
-diff --git a/src/pycurl.c b/src/pycurl.c
-index 6de1514..32c7ca5 100644
---- a/src/pycurl.c
-+++ b/src/pycurl.c
-@@ -1,4 +1,4 @@
--/* $Id: pycurl.c,v 1.148 2008/09/29 10:56:57 kjetilja Exp $ */
-+/* $Id: pycurl.c,v 1.149 2010/04/28 16:02:41 zanee Exp $ */
- /* PycURL -- cURL Python module
-  *
-@@ -739,64 +739,80 @@ util_curl_new(void)
-     return self;
- }
--
--/* constructor - this is a module-level function returning a new instance */
--static CurlObject *
--do_curl_new(PyObject *dummy)
-+/* initializer - used to intialize curl easy handles for use with pycurl */
-+static int
-+util_curl_init(CurlObject *self)
- {
--    CurlObject *self = NULL;
-     int res;
-     char *s = NULL;
--    UNUSED(dummy);
--
--    /* Allocate python curl object */
--    self = util_curl_new();
--    if (self == NULL)
--        return NULL;
--
--    /* Initialize curl handle */
--    self->handle = curl_easy_init();
--    if (self->handle == NULL)
--        goto error;
--
-     /* Set curl error buffer and zero it */
-     res = curl_easy_setopt(self->handle, CURLOPT_ERRORBUFFER, self->error);
--    if (res != CURLE_OK)
--        goto error;
-+    if (res != CURLE_OK) {
-+        return (-1);
-+    }
-     memset(self->error, 0, sizeof(self->error));
-     /* Set backreference */
-     res = curl_easy_setopt(self->handle, CURLOPT_PRIVATE, (char *) self);
--    if (res != CURLE_OK)
--        goto error;
-+    if (res != CURLE_OK) {
-+        return (-1);
-+    }
-     /* Enable NOPROGRESS by default, i.e. no progress output */
-     res = curl_easy_setopt(self->handle, CURLOPT_NOPROGRESS, (long)1);
--    if (res != CURLE_OK)
--        goto error;
-+    if (res != CURLE_OK) {
-+        return (-1);
-+    }
-     /* Disable VERBOSE by default, i.e. no verbose output */
-     res = curl_easy_setopt(self->handle, CURLOPT_VERBOSE, (long)0);
--    if (res != CURLE_OK)
--        goto error;
-+    if (res != CURLE_OK) {
-+        return (-1);
-+    }
-     /* Set FTP_ACCOUNT to NULL by default */
-     res = curl_easy_setopt(self->handle, CURLOPT_FTP_ACCOUNT, NULL);
--    if (res != CURLE_OK)
--        goto error;
-+    if (res != CURLE_OK) {
-+        return (-1);
-+    }
-     /* Set default USERAGENT */
-     s = (char *) malloc(7 + strlen(LIBCURL_VERSION) + 1);
--    if (s == NULL)
--        goto error;
-+    if (s == NULL) {
-+        return (-1);
-+    }
-     strcpy(s, "PycURL/"); strcpy(s+7, LIBCURL_VERSION);
-     res = curl_easy_setopt(self->handle, CURLOPT_USERAGENT, (char *) s);
-     if (res != CURLE_OK) {
-         free(s);
--        goto error;
-+        return (-1);
-     }
-+    return (0);
-+}
-+
-+/* constructor - this is a module-level function returning a new instance */
-+static CurlObject *
-+do_curl_new(PyObject *dummy)
-+{
-+    CurlObject *self = NULL;
-+    int res;
-+
-+    UNUSED(dummy);
-+
-+    /* Allocate python curl object */
-+    self = util_curl_new();
-+    if (self == NULL)
-+        return NULL;
-+
-+    /* Initialize curl handle */
-+    self->handle = curl_easy_init();
-+    if (self->handle == NULL)
-+        goto error;
-+    res = util_curl_init(self);
-+    if (res < 0)
-+            goto error;
-     /* Success - return new object */
-     return self;
-@@ -1404,6 +1420,8 @@ verbose_error:
- static PyObject*
- do_curl_reset(CurlObject *self)
- {
-+    int res;
-+
-     curl_easy_reset(self->handle);
-     /* Decref callbacks and file handles */
-@@ -1421,6 +1439,14 @@ do_curl_reset(CurlObject *self)
-     SFREE(self->postquote);
-     SFREE(self->prequote);
- #undef SFREE
-+    res = util_curl_init(self);
-+    if (res < 0) {
-+        Py_DECREF(self);    /* this also closes self->handle */
-+        PyErr_SetString(ErrorObject, "resetting curl failed");
-+        return NULL;
-+    }
-+
-+    Py_INCREF(Py_None);
-     return Py_None;
- }
--- 
-1.7.1
-
diff --git a/python-pycurl/patches/0004-Test-for-reset-fixes-refcount-bug.patch b/python-pycurl/patches/0004-Test-for-reset-fixes-refcount-bug.patch
deleted file mode 100644 (file)
index 6144842..0000000
+++ /dev/null
@@ -1,94 +0,0 @@
-From 206c15ea32e05ae98827d00626a101e33a7bec70 Mon Sep 17 00:00:00 2001
-From: zanee <zanee>
-Date: Wed, 28 Apr 2010 16:03:40 +0000
-Subject: [PATCH 4/5] Test for reset fixes refcount bug
-
-Signed-off-by: Kamil Dudka <kdudka@redhat.com>
----
- tests/test_reset.py |   74 +++++++++++++++++++++++++++++++++++++++++++++++++++
- 1 files changed, 74 insertions(+), 0 deletions(-)
- create mode 100644 tests/test_reset.py
-
-diff --git a/tests/test_reset.py b/tests/test_reset.py
-new file mode 100644
-index 0000000..c350d17
---- /dev/null
-+++ b/tests/test_reset.py
-@@ -0,0 +1,74 @@
-+#!/usr/bin/python
-+
-+import sys
-+import pycurl
-+
-+saw_error = 1
-+
-+def main():
-+        global saw_error
-+
-+        pycurl.global_init(pycurl.GLOBAL_DEFAULT)
-+
-+        outf = file("/dev/null", "rb+")
-+        cm = pycurl.CurlMulti()
-+
-+        # Set multi handle's options
-+        cm.setopt(pycurl.M_PIPELINING, 1)
-+
-+        eh = pycurl.Curl()
-+
-+        for x in range(1, 20):
-+
-+                eh.setopt(pycurl.WRITEDATA, outf)
-+                eh.setopt(pycurl.URL, sys.argv[1])
-+                cm.add_handle(eh)
-+
-+                while 1:
-+                        ret, active_handles = cm.perform()
-+                        if ret != pycurl.E_CALL_MULTI_PERFORM:
-+                                break
-+
-+                while active_handles:
-+                        ret = cm.select(1.0)
-+                        if ret == -1:
-+                                continue
-+                        while 1:
-+                                ret, active_handles = cm.perform()
-+                                if ret != pycurl.E_CALL_MULTI_PERFORM:
-+                                        break
-+
-+                count, good, bad = cm.info_read()
-+
-+                for h, en, em in bad:
-+                        print "Transfer to %s failed with %d, %s\n" % \
-+                            (h.getinfo(pycurl.EFFECTIVE_URL), en, em)
-+                        raise RuntimeError
-+
-+                for h in good:
-+                        httpcode = h.getinfo(pycurl.RESPONSE_CODE)
-+                        if httpcode != 200:
-+                                print "Transfer to %s failed with code %d\n" %\
-+                                    (h.getinfo(pycurl.EFFECTIVE_URL), httpcode)
-+                                raise RuntimeError
-+
-+                        else:
-+                                print "Recd %d bytes from %s" % \
-+                                    (h.getinfo(pycurl.SIZE_DOWNLOAD),
-+                                    h.getinfo(pycurl.EFFECTIVE_URL))
-+
-+                cm.remove_handle(eh)
-+                eh.reset()
-+
-+        eh.close()
-+        cm.close()
-+        outf.close()
-+
-+        pycurl.global_cleanup()
-+
-+
-+if __name__ == '__main__':
-+        if len(sys.argv) != 2:
-+                print "Usage: %s <url>" % sys.argv[0]
-+                sys.exit(2)
-+        main()
--- 
-1.7.1
-
diff --git a/python-pycurl/patches/0005-Updating-ChangeLog-with-relevant-changes.patch b/python-pycurl/patches/0005-Updating-ChangeLog-with-relevant-changes.patch
deleted file mode 100644 (file)
index dd8d803..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-From d075bfb8a5207f933a5a704becd7f64e8521dc28 Mon Sep 17 00:00:00 2001
-From: zanee <zanee>
-Date: Tue, 4 May 2010 18:47:08 +0000
-Subject: [PATCH 5/5] Updating ChangeLog with relevant changes
-
-Signed-off-by: Kamil Dudka <kdudka@redhat.com>
----
- ChangeLog |   11 +++++++++++
- 1 files changed, 11 insertions(+), 0 deletions(-)
-
-diff --git a/ChangeLog b/ChangeLog
-index 618654d..885c8b0 100644
---- a/ChangeLog
-+++ b/ChangeLog
-@@ -1,3 +1,14 @@
-+Version 7.19.2
-+--------------
-+
-+        * Cleaned up website
-+
-+        * Fix pycurl.reset() (patch by <johansen at sun.com>).
-+
-+        * Fix install routine in setup.py where
-+          certain platforms (Solaris, Mac OSX, etc)
-+          would search for a static copy of libcurl (dbp)
-+
- Version 7.19.1 [requires libcurl-7.19.0 or better]
- --------------
--- 
-1.7.1
-
diff --git a/python-pycurl/patches/0101-setup.py-do-not-use-curl-config-static-libs.patch b/python-pycurl/patches/0101-setup.py-do-not-use-curl-config-static-libs.patch
deleted file mode 100644 (file)
index ce8c2df..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-From 0796c0530648ae0e741a20a78d1fcf315783c178 Mon Sep 17 00:00:00 2001
-From: Kamil Dudka <kdudka@redhat.com>
-Date: Mon, 25 Feb 2013 19:48:22 +0100
-Subject: [PATCH 1/2] setup.py: do not use curl-config --static-libs
-
----
- setup.py |    5 ++---
- 1 files changed, 2 insertions(+), 3 deletions(-)
-
-diff --git a/setup.py b/setup.py
-index 76b9d58..86a2951 100644
---- a/setup.py
-+++ b/setup.py
-@@ -101,15 +101,14 @@ else:
-     # support one or the other of these curl-config options, so gracefully
-     # tolerate failure of either, but not both.
-     optbuf = ""
--    for option in ["--libs", "--static-libs"]:
-+    for option in ["--libs"]:
-         p = subprocess.Popen("'%s' %s" % (CURL_CONFIG, option), shell=True,
-             stdout=subprocess.PIPE)
-         (stdout, stderr) = p.communicate()
-         if p.wait() == 0:
-             optbuf += stdout
-     if optbuf == "":
--        raise Exception, ("Neither of curl-config --libs or --static-libs" +
--            "produced output")
-+        raise Exception, ("curl-config --libs did not produce output")
-     libs = split_quoted(optbuf)
-     for e in libs:
--- 
-1.7.1
-
diff --git a/python-pycurl/patches/0102-test_internals.py-add-a-test-for-ref-counting-of-res.patch b/python-pycurl/patches/0102-test_internals.py-add-a-test-for-ref-counting-of-res.patch
deleted file mode 100644 (file)
index 7d3d534..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-From 0bd83ea6c820db26f98936e6e017d39fb214cbd0 Mon Sep 17 00:00:00 2001
-From: Kamil Dudka <kdudka@redhat.com>
-Date: Mon, 25 Feb 2013 19:50:18 +0100
-Subject: [PATCH 2/2] test_internals.py: add a test for ref-counting of reset()
-
----
- tests/test_internals.py |    5 +++++
- 1 files changed, 5 insertions(+), 0 deletions(-)
-
-diff --git a/tests/test_internals.py b/tests/test_internals.py
-index afcc53d..d026952 100644
---- a/tests/test_internals.py
-+++ b/tests/test_internals.py
-@@ -245,6 +245,11 @@ if 1 and gc:
-     if opts.verbose >= 1:
-         print "Tracked objects:", len(gc.get_objects())
-+if 1:
-+    # Ensure that the refcounting error in "reset" is fixed:
-+    for i in xrange(100000):
-+        c = Curl()
-+        c.reset()
- # /***********************************************************************
- # // done
--- 
-1.7.1
-
diff --git a/python-pycurl/python-pycurl.nm b/python-pycurl/python-pycurl.nm
deleted file mode 100644 (file)
index 3c0f536..0000000
+++ /dev/null
@@ -1,64 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = python-pycurl
-version    = 7.19.0
-release    = 5
-thisapp    = pycurl-%{version}
-
-groups     = Development/Languages
-url        = http://pycurl.sourceforge.net/
-license    = LGPLv2+ or MIT
-summary    = A Python interface to libcurl.
-
-description
-       PycURL is a Python interface to libcurl. PycURL can be used to fetch
-       objects identified by a URL from a Python program, similar to the
-       urllib Python module. PycURL is mature, very fast, and supports a lot
-       of features.
-end
-
-source_dl  = http://pycurl.sourceforge.net/download/
-
-build
-       requires
-               libcurl-devel
-               openssl-devel
-               python-devel
-       end
-
-       CFLAGS += -DHAVE_CURL_OPENSSL
-
-       build
-               python setup.py build
-       end
-
-       test
-               PYTHONPATH=$PWD/build/lib* python tests/test_internals.py -q
-       end
-
-       install
-               python setup.py install --skip-build -O1 \
-                       --root=%{BUILDROOT}
-               rm -rf %{BUILDROOT}/usr/share/doc/pycurl
-       end
-end
-
-packages
-       package %{name}
-               # During its initialization, PycURL checks that the actual libcurl version
-               # is not lower than the one used when PycURL was built.
-               # Yes, that should be handled by library versioning (which would then get
-               # automatically reflected).
-               # For now, we have to reflect that dependency.
-               requires
-                       libcurl >= %(curl-config --version | awk '{ print $NF }')
-               end
-       end
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
diff --git a/python-rrdtool/python-rrdtool.nm b/python-rrdtool/python-rrdtool.nm
deleted file mode 100644 (file)
index 68045f0..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = python-rrdtool
-version    = 0.1.5
-release    = 1
-
-groups     = System/Libraries
-url        = https://github.com/commx/python-rrdtool
-license    = LGPLv3+
-summary    = Python bindings for rrdtool
-
-description
-       Python bindings for RRDtool with a native C extension and an
-       object-oriented way to work with Round Robin Databases.
-end
-
-source_dl  = https://github.com/commx/python-rrdtool/archive/v%{version}.tar.gz#/
-
-build
-       requires
-               python3-devel >= 3.4
-               rrdtool-devel
-       end
-
-       build
-               python3 setup.py build
-       end
-
-       install
-               python3 setup.py install --root=%{BUILDROOT}
-       end
-end
-
-packages
-       package python3-rrdtool
-
-       package python3-rrdtool-debuginfo
-               template DEBUGINFO
-       end
-end
diff --git a/python-setuptools/python-setuptools.nm b/python-setuptools/python-setuptools.nm
deleted file mode 100644 (file)
index ffef974..0000000
+++ /dev/null
@@ -1,74 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = python-setuptools
-version    = 40.4.3
-release    = 1
-arch       = noarch
-thisapp    = setuptools-%{version}
-
-maintainer = Michael Tremer <michael.tremer@ipfire.org>
-groups     = Development/Libraries
-url        = http://pypi.python.org/pypi/setuptools
-license    = Python or ZPLv2.0
-summary    = Easily build and distribute Python packages.
-
-description
-       Setuptools is a collection of enhancements to the Python distutils
-       that allow you to more easily build and distribute Python packages,
-       especially ones that have dependencies on other packages.
-end
-
-source_dl = https://github.com/pypa/setuptools/archive/v%{version}.tar.gz#/
-
-build
-       requires
-               pakfire-builder >= 0.9.23-2
-               python-devel
-               python3-devel
-       end
-
-       DIR_APP3 = %{DIR_APP}-python3
-
-       prepare_cmds
-               cp -av %{DIR_APP} %{DIR_APP3}
-       end
-
-       build
-               pushd %{DIR_APP3}
-               %{python3} bootstrap.py
-               CFLAGS="%{CFLAGS}" %{python3} setup.py build
-               popd
-
-               %{python} bootstrap.py
-               CFLAGS="%{CFLAGS}" %{python} setup.py build
-       end
-
-       install
-               pushd %{DIR_APP3}
-               %{python3} setup.py install --skip-build --root=%{BUILDROOT}
-
-               rm -rvf %{BUILDROOT}%{python3_sitelib}/setuptools/tests
-               chmod +x %{BUILDROOT}%{python3_sitelib}/setuptools/command/easy_install.py
-               popd
-
-               %{python} setup.py install --skip-build --root=%{BUILDROOT}
-
-               rm -rvf %{BUILDROOT}%{python_sitelib}/setuptools/tests
-               chmod +x %{BUILDROOT}%{python_sitelib}/setuptools/command/easy_install.py
-
-               find %{BUILDROOT}{%{python_sitelib},%{python3_sitelib}} -name "*.exe" | xargs rm -vf
-       end
-end
-
-packages
-       package %{name}
-
-       package python3-setuptools
-               template PYTHON3
-
-               files += %{bindir}/easy_install-3*
-       end
-end
diff --git a/python-urlgrabber/python-urlgrabber.nm b/python-urlgrabber/python-urlgrabber.nm
deleted file mode 100644 (file)
index 171c836..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = python-urlgrabber
-version    = 3.10.1
-release    = 1
-arch       = noarch
-thisapp    = urlgrabber-%{version}
-
-groups     = System/Libraries
-url        = http://urlgrabber.baseurl.org/
-license    = LGPLv2+
-summary    = A high-level cross-protocol url-grabber.
-
-description
-       A high-level cross-protocol url-grabber for python supporting HTTP,
-       FTP and file locations.  Features include keepalive, byte ranges,
-       throttling, authentication, proxies and more.
-end
-
-source_dl  = http://urlgrabber.baseurl.org/download/
-
-build
-       requires
-               python-devel
-               python-pycurl
-       end
-
-       prepare_cmds
-               # Move everything from /usr/libexec to /usr/lib/urlgrabber.
-               find . -type f | xargs sed -i "s@libexec@lib/urlgrabber@g"
-       end
-
-       build = # Nothing to do
-
-       install
-               python setup.py install --root=%{BUILDROOT}
-       end
-end
-
-packages
-       package %{name}
-               requires
-                       python-pycurl
-               end
-       end
-end
diff --git a/python-yaml/python-yaml.nm b/python-yaml/python-yaml.nm
deleted file mode 100644 (file)
index 9e77746..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = python-yaml
-version    = 5.1
-release    = 1
-
-groups     = Development/Libraries
-url        = https://pyyaml.org/wiki/PyYAML
-license    = MIT
-summary    = PyYAML is a YAML parser and emitter for Python.
-
-description
-       PyYAML is a YAML parser and emitter for the Python programming language.
-end
-
-source_dl  = http://pyyaml.org/download/pyyaml/
-sources    = PyYAML-%{version}.tar.gz
-
-build
-       requires
-               libyaml-devel
-               python-devel
-       end
-
-       DIR_APP = %{DIR_SRC}/PyYAML-%{version}
-
-       build
-               python setup.py build
-       end
-
-       install
-               python setup.py install --root=%{BUILDROOT}
-       end
-end
-
-packages
-       package %{name}
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
diff --git a/python/patches/00001-pydocnogui.patch b/python/patches/00001-pydocnogui.patch
deleted file mode 100644 (file)
index 0311f38..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-diff -up Python-2.7.3/Lib/pydoc.py.no_gui Python-2.7.3/Lib/pydoc.py
---- Python-2.7.3/Lib/pydoc.py.no_gui   2012-04-09 19:07:31.000000000 -0400
-+++ Python-2.7.3/Lib/pydoc.py  2013-02-19 13:48:44.480054515 -0500
-@@ -19,9 +19,6 @@ of all available modules.
- local machine to generate documentation web pages.  Port number 0 can be
- used to get an arbitrary unused port.
--For platforms without a command line, "pydoc -g" starts the HTTP server
--and also pops up a little window for controlling it.
--
- Run "pydoc -w <name>" to write out the HTML documentation for a module
- to a file named "<name>.html".
-@@ -2346,13 +2340,10 @@ def cli():
-     Start an HTTP server on the given port on the local machine.  Port
-     number 0 can be used to get an arbitrary unused port.
--%s -g
--    Pop up a graphical interface for finding and serving documentation.
--
- %s -w <name> ...
-     Write out the HTML documentation for a module to a file in the current
-     directory.  If <name> contains a '%s', it is treated as a filename; if
-     it names a directory, documentation is written for all the contents.
--""" % (cmd, os.sep, cmd, cmd, cmd, cmd, os.sep)
-+""" % (cmd, os.sep, cmd, cmd, cmd, os.sep)
- if __name__ == '__main__': cli()
diff --git a/python/patches/00010-2.7.13-binutils-no-dep.patch b/python/patches/00010-2.7.13-binutils-no-dep.patch
deleted file mode 100644 (file)
index d432623..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-diff --git a/Lib/ctypes/util.py b/Lib/ctypes/util.py
-index ab10ec5..923d1b7 100644
---- a/Lib/ctypes/util.py
-+++ b/Lib/ctypes/util.py
-@@ -140,11 +140,15 @@ elif os.name == "posix":
-             # assuming GNU binutils / ELF
-             if not f:
-                 return None
--            cmd = 'if ! type objdump >/dev/null 2>&1; then exit; fi;' \
-+            cmd = 'if ! type objdump >/dev/null 2>&1; then exit 10; fi;' \
-                   'objdump -p -j .dynamic 2>/dev/null "$1"'
-             proc = subprocess.Popen((cmd, '_get_soname', f), shell=True,
-                                     stdout=subprocess.PIPE)
-             [dump, _] = proc.communicate()
-+            if proc.returncode == 10:
-+                return os.path.basename(f) #  This is good for GLibc, I think,
-+                                           # and a dep on binutils is big (for
-+                                           # live CDs).
-             res = re.search(br'\sSONAME\s+([^\s]+)', dump)
-             if not res:
-                 return None
diff --git a/python/patches/00104-lib64-fix-for-test_install.patch b/python/patches/00104-lib64-fix-for-test_install.patch
deleted file mode 100644 (file)
index 7852bf6..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
---- Python-2.7.2/Lib/distutils/tests/test_install.py.lib64     2011-09-08 17:51:57.851405376 -0400
-+++ Python-2.7.2/Lib/distutils/tests/test_install.py   2011-09-08 18:40:46.754205096 -0400
-@@ -41,8 +41,9 @@ class InstallTestCase(support.TempdirMan
-             self.assertEqual(got, expected)
-         libdir = os.path.join(destination, "lib", "python")
-+        platlibdir = os.path.join(destination, "lib64", "python")
-         check_path(cmd.install_lib, libdir)
--        check_path(cmd.install_platlib, libdir)
-+        check_path(cmd.install_platlib, platlibdir)
-         check_path(cmd.install_purelib, libdir)
-         check_path(cmd.install_headers,
-                    os.path.join(destination, "include", "python", "foopkg"))
diff --git a/python/patches/00112-2.7.13-debug-build.patch b/python/patches/00112-2.7.13-debug-build.patch
deleted file mode 100644 (file)
index 463f4d8..0000000
+++ /dev/null
@@ -1,324 +0,0 @@
-From 898f93aa206e577dfe854c59bc62d0cea09cd5ed Mon Sep 17 00:00:00 2001
-From: Tomas Orsava <torsava@redhat.com>
-Date: Tue, 10 Jan 2017 16:19:50 +0100
-Subject: [PATCH] Patch to support building both optimized vs debug stacks DSO
- ABIs,
-
-sharing the same .py and .pyc files, using "_d.so" to signify a debug build of
-an extension module.
----
- Lib/distutils/command/build_ext.py  |  7 ++++-
- Lib/distutils/sysconfig.py          |  5 ++--
- Lib/distutils/tests/test_install.py |  3 +-
- Makefile.pre.in                     | 56 ++++++++++++++++++++-----------------
- Misc/python-config.in               |  2 +-
- Modules/makesetup                   |  2 +-
- Python/dynload_shlib.c              | 11 ++++++--
- Python/sysmodule.c                  |  6 ++++
- configure.ac                        | 14 ++++++++--
- 9 files changed, 69 insertions(+), 37 deletions(-)
-
-diff --git a/Lib/distutils/command/build_ext.py b/Lib/distutils/command/build_ext.py
-index 2c68be3..029d144 100644
---- a/Lib/distutils/command/build_ext.py
-+++ b/Lib/distutils/command/build_ext.py
-@@ -677,7 +677,10 @@ class build_ext (Command):
-         so_ext = get_config_var('SO')
-         if os.name == 'nt' and self.debug:
-             return os.path.join(*ext_path) + '_d' + so_ext
--        return os.path.join(*ext_path) + so_ext
-+        
-+        # Similarly, extensions in debug mode are named 'module_d.so', to
-+        # avoid adding the _d to the SO config variable:
-+        return os.path.join(*ext_path) + (sys.pydebug and "_d" or "") + so_ext
-     def get_export_symbols (self, ext):
-         """Return the list of symbols that a shared extension has to
-@@ -762,6 +765,8 @@ class build_ext (Command):
-                 template = "python%d.%d"
-                 pythonlib = (template %
-                              (sys.hexversion >> 24, (sys.hexversion >> 16) & 0xff))
-+                if sys.pydebug:
-+                    pythonlib += '_d'
-                 return ext.libraries + [pythonlib]
-             else:
-                 return ext.libraries
-diff --git a/Lib/distutils/sysconfig.py b/Lib/distutils/sysconfig.py
-index 3e7f077..ec5d584 100644
---- a/Lib/distutils/sysconfig.py
-+++ b/Lib/distutils/sysconfig.py
-@@ -90,7 +90,8 @@ def get_python_inc(plat_specific=0, prefix=None):
-                 # Include is located in the srcdir
-                 inc_dir = os.path.join(srcdir, "Include")
-             return inc_dir
--        return os.path.join(prefix, "include", "python" + get_python_version())
-+        return os.path.join(prefix, "include",
-+            "python" + get_python_version() + (sys.pydebug and '-debug' or ''))
-     elif os.name == "nt":
-         return os.path.join(prefix, "include")
-     elif os.name == "os2":
-@@ -248,7 +249,7 @@ def get_makefile_filename():
-     if python_build:
-         return os.path.join(project_base, "Makefile")
-     lib_dir = get_python_lib(plat_specific=1, standard_lib=1)
--    return os.path.join(lib_dir, "config", "Makefile")
-+    return os.path.join(lib_dir, "config" + (sys.pydebug and "-debug" or ""), "Makefile")
- def parse_config_h(fp, g=None):
-diff --git a/Lib/distutils/tests/test_install.py b/Lib/distutils/tests/test_install.py
-index 78fac46..d1d0931 100644
---- a/Lib/distutils/tests/test_install.py
-+++ b/Lib/distutils/tests/test_install.py
-@@ -20,8 +20,9 @@ from distutils.tests import support
- def _make_ext_name(modname):
--    if os.name == 'nt' and sys.executable.endswith('_d.exe'):
-+    if sys.pydebug:
-         modname += '_d'
-+        
-     return modname + sysconfig.get_config_var('SO')
-diff --git a/Makefile.pre.in b/Makefile.pre.in
-index 997a2fc..467e782 100644
---- a/Makefile.pre.in
-+++ b/Makefile.pre.in
-@@ -116,8 +116,8 @@ SCRIPTDIR= $(prefix)/lib64
- # Detailed destination directories
- BINLIBDEST=   $(LIBDIR)/python$(VERSION)
- LIBDEST=      $(SCRIPTDIR)/python$(VERSION)
--INCLUDEPY=    $(INCLUDEDIR)/python$(VERSION)
--CONFINCLUDEPY=        $(CONFINCLUDEDIR)/python$(VERSION)
-+INCLUDEPY=    $(INCLUDEDIR)/python$(VERSION)$(DEBUG_SUFFIX)
-+CONFINCLUDEPY=        $(CONFINCLUDEDIR)/python$(VERSION)$(DEBUG_SUFFIX)
- LIBP=         $(LIBDIR)/python$(VERSION)
- # Symbols used for using shared libraries
-@@ -131,6 +131,12 @@ DESTSHARED=       $(BINLIBDEST)/lib-dynload
- EXE=          @EXEEXT@
- BUILDEXE=     @BUILDEXEEXT@
-+# DEBUG_EXT is used by ELF files (names and SONAMEs); it will be "_d" for a debug build
-+# DEBUG_SUFFIX is used by filesystem paths; it will be "-debug" for a debug build
-+# Both will be empty in an optimized build
-+DEBUG_EXT=    @DEBUG_EXT@
-+DEBUG_SUFFIX= @DEBUG_SUFFIX@
-+
- # Short name and location for Mac OS X Python framework
- UNIVERSALSDK=@UNIVERSALSDK@
- PYTHONFRAMEWORK=      @PYTHONFRAMEWORK@
-@@ -197,8 +203,8 @@ LIBOBJDIR= Python/
- LIBOBJS=      @LIBOBJS@
- UNICODE_OBJS=   @UNICODE_OBJS@
--PYTHON=               python$(EXE)
--BUILDPYTHON=  python$(BUILDEXE)
-+PYTHON=               python$(DEBUG_SUFFIX)$(EXE)
-+BUILDPYTHON=  python$(DEBUG_SUFFIX)$(BUILDEXE)
- PYTHON_FOR_REGEN=@PYTHON_FOR_REGEN@
- PYTHON_FOR_BUILD=@PYTHON_FOR_BUILD@
-@@ -547,7 +553,7 @@ sharedmods: $(BUILDPYTHON) pybuilddir.txt Modules/_math.o
-               _TCLTK_INCLUDES='$(TCLTK_INCLUDES)' _TCLTK_LIBS='$(TCLTK_LIBS)' \
-               $(PYTHON_FOR_BUILD) $(srcdir)/setup.py $$quiet build
--libpython$(VERSION).so: $(LIBRARY_OBJS)
-+libpython$(VERSION)$(DEBUG_EXT).so: $(LIBRARY_OBJS)
-       if test $(INSTSONAME) != $(LDLIBRARY); then \
-               $(BLDSHARED) -Wl,-h$(INSTSONAME) -o $(INSTSONAME) $(LIBRARY_OBJS) $(MODLIBS) $(SHLIBS) $(LIBC) $(LIBM) $(LDLAST); \
-               $(LN) -f $(INSTSONAME) $@; \
-@@ -954,18 +960,18 @@ bininstall:      altbininstall
-       then rm -f $(DESTDIR)$(BINDIR)/$(PYTHON); \
-       else true; \
-       fi
--      (cd $(DESTDIR)$(BINDIR); $(LN) -s python2$(EXE) $(PYTHON))
--      -rm -f $(DESTDIR)$(BINDIR)/python2$(EXE)
--      (cd $(DESTDIR)$(BINDIR); $(LN) -s python$(VERSION)$(EXE) python2$(EXE))
--      -rm -f $(DESTDIR)$(BINDIR)/python2-config
--      (cd $(DESTDIR)$(BINDIR); $(LN) -s python$(VERSION)-config python2-config)
--      -rm -f $(DESTDIR)$(BINDIR)/python-config
--      (cd $(DESTDIR)$(BINDIR); $(LN) -s python2-config python-config)
-+      (cd $(DESTDIR)$(BINDIR); $(LN) -s python2$(DEBUG_SUFFIX)$(EXE) $(PYTHON))
-+      -rm -f $(DESTDIR)$(BINDIR)/python2$(DEBUG_SUFFIX)$(EXE)
-+      (cd $(DESTDIR)$(BINDIR); $(LN) -s python$(VERSION)$(DEBUG_SUFFIX)$(EXE) python2$(DEBUG_SUFFIX)$(EXE))
-+      -rm -f $(DESTDIR)$(BINDIR)/python2$(DEBUG_SUFFIX)-config
-+      (cd $(DESTDIR)$(BINDIR); $(LN) -s python$(VERSION)$(DEBUG_SUFFIX)-config python2$(DEBUG_SUFFIX)-config)
-+      -rm -f $(DESTDIR)$(BINDIR)/python$(DEBUG_SUFFIX)-config
-+      (cd $(DESTDIR)$(BINDIR); $(LN) -s python2$(DEBUG_SUFFIX)-config python$(DEBUG_SUFFIX)-config)
-       -test -d $(DESTDIR)$(LIBPC) || $(INSTALL) -d -m $(DIRMODE) $(DESTDIR)$(LIBPC)
--      -rm -f $(DESTDIR)$(LIBPC)/python2.pc
--      (cd $(DESTDIR)$(LIBPC); $(LN) -s python-$(VERSION).pc python2.pc)
--      -rm -f $(DESTDIR)$(LIBPC)/python.pc
--      (cd $(DESTDIR)$(LIBPC); $(LN) -s python2.pc python.pc)
-+      -rm -f $(DESTDIR)$(LIBPC)/python2$(DEBUG_SUFFIX).pc
-+      (cd $(DESTDIR)$(LIBPC); $(LN) -s python-$(VERSION)$(DEBUG_SUFFIX).pc python2$(DEBUG_SUFFIX).pc)
-+      -rm -f $(DESTDIR)$(LIBPC)/python$(DEBUG_SUFFIX).pc
-+      (cd $(DESTDIR)$(LIBPC); $(LN) -s python2$(DEBUG_SUFFIX).pc python$(DEBUG_SUFFIX).pc)
- # Install the interpreter with $(VERSION) affixed
- # This goes into $(exec_prefix)
-@@ -978,7 +984,7 @@ altbininstall:     $(BUILDPYTHON)
-               else    true; \
-               fi; \
-       done
--      $(INSTALL_PROGRAM) $(BUILDPYTHON) $(DESTDIR)$(BINDIR)/python$(VERSION)$(EXE)
-+      $(INSTALL_PROGRAM) $(BUILDPYTHON) $(DESTDIR)$(BINDIR)/python$(VERSION)$(DEBUG_SUFFIX)$(EXE)
-       if test -f $(LDLIBRARY); then \
-               if test -n "$(DLLLIBRARY)" ; then \
-                       $(INSTALL_SHARED) $(DLLLIBRARY) $(DESTDIR)$(BINDIR); \
-@@ -1148,10 +1154,11 @@ $(srcdir)/Lib/$(PLATDIR):
-       fi; \
-       cd $(srcdir)/Lib/$(PLATDIR); $(RUNSHARED) ./regen
--python-config: $(srcdir)/Misc/python-config.in
-+python$(DEBUG_SUFFIX)-config: $(srcdir)/Misc/python-config.in
-       # Substitution happens here, as the completely-expanded BINDIR
-       # is not available in configure
--      sed -e "s,@EXENAME@,$(BINDIR)/python$(VERSION)$(EXE)," < $(srcdir)/Misc/python-config.in >python-config
-+      sed -e "s,@EXENAME@,$(BINDIR)/python$(VERSION)$(DEBUG_SUFFIX)$(EXE)," < $(srcdir)/Misc/python-config.in >python$(DEBUG_SUFFIX)-config
-+      
- # Install the include files
- INCLDIRSTOMAKE=$(INCLUDEDIR) $(CONFINCLUDEDIR) $(INCLUDEPY) $(CONFINCLUDEPY)
-@@ -1172,13 +1179,13 @@ inclinstall:
-       $(INSTALL_DATA) pyconfig.h $(DESTDIR)$(CONFINCLUDEPY)/pyconfig.h
- # Install the library and miscellaneous stuff needed for extending/embedding
--# This goes into $(exec_prefix)
--LIBPL=                $(LIBP)/config
-+# This goes into $(exec_prefix)$(DEBUG_SUFFIX)
-+LIBPL=                $(LIBP)/config$(DEBUG_SUFFIX)
- # pkgconfig directory
- LIBPC=                $(LIBDIR)/pkgconfig
--libainstall:  @DEF_MAKE_RULE@ python-config
-+libainstall:  @DEF_MAKE_RULE@ python$(DEBUG_SUFFIX)-config
-       @for i in $(LIBDIR) $(LIBP) $(LIBPL) $(LIBPC); \
-       do \
-               if test ! -d $(DESTDIR)$$i; then \
-@@ -1194,11 +1201,10 @@ libainstall:   all python-config
-       $(INSTALL_DATA) Modules/Setup $(DESTDIR)$(LIBPL)/Setup
-       $(INSTALL_DATA) Modules/Setup.local $(DESTDIR)$(LIBPL)/Setup.local
-       $(INSTALL_DATA) Modules/Setup.config $(DESTDIR)$(LIBPL)/Setup.config
--      $(INSTALL_DATA) Misc/python.pc $(DESTDIR)$(LIBPC)/python-$(VERSION).pc
-+      $(INSTALL_DATA) Misc/python.pc $(DESTDIR)$(LIBPC)/python-$(VERSION)$(DEBUG_SUFFIX).pc
-       $(INSTALL_SCRIPT) $(srcdir)/Modules/makesetup $(DESTDIR)$(LIBPL)/makesetup
-       $(INSTALL_SCRIPT) $(srcdir)/install-sh $(DESTDIR)$(LIBPL)/install-sh
--      $(INSTALL_SCRIPT) python-config $(DESTDIR)$(BINDIR)/python$(VERSION)-config
--      rm python-config
-+      $(INSTALL_SCRIPT) python$(DEBUG_SUFFIX)-config $(DESTDIR)$(BINDIR)/python$(VERSION)$(DEBUG_SUFFIX)-config
-       @if [ -s Modules/python.exp -a \
-               "`echo $(MACHDEP) | sed 's/^\(...\).*/\1/'`" = "aix" ]; then \
-               echo; echo "Installing support files for building shared extension modules on AIX:"; \
-diff --git a/Misc/python-config.in b/Misc/python-config.in
-index a09e07c..c1691ef 100644
---- a/Misc/python-config.in
-+++ b/Misc/python-config.in
-@@ -44,7 +44,7 @@ for opt in opt_flags:
-         print ' '.join(flags)
-     elif opt in ('--libs', '--ldflags'):
--        libs = ['-lpython' + pyver]
-+        libs = ['-lpython' + pyver + (sys.pydebug and "_d" or "")]
-         libs += getvar('LIBS').split()
-         libs += getvar('SYSLIBS').split()
-         # add the prefix/lib/pythonX.Y/config dir, but only if there is no
-diff --git a/Modules/makesetup b/Modules/makesetup
-index 1bffcbf..f0bc743 100755
---- a/Modules/makesetup
-+++ b/Modules/makesetup
-@@ -233,7 +233,7 @@ sed -e 's/[        ]*#.*//' -e '/^[        ]*$/d' |
-                       *$mod.o*)       base=$mod;;
-                       *)              base=${mod}module;;
-                       esac
--                      file="$srcdir/$base\$(SO)"
-+                      file="$srcdir/$base\$(DEBUG_EXT)\$(SO)"
-                       case $doconfig in
-                       no)     SHAREDMODS="$SHAREDMODS $file";;
-                       esac
-diff --git a/Python/dynload_shlib.c b/Python/dynload_shlib.c
-index 17ebab1..02a94aa 100644
---- a/Python/dynload_shlib.c
-+++ b/Python/dynload_shlib.c
-@@ -46,11 +46,16 @@ const struct filedescr _PyImport_DynLoadFiletab[] = {
-     {"module.exe", "rb", C_EXTENSION},
-     {"MODULE.EXE", "rb", C_EXTENSION},
- #else
-+#ifdef Py_DEBUG
-+    {"_d.so", "rb", C_EXTENSION},
-+    {"module_d.so", "rb", C_EXTENSION},
-+#else
-     {".so", "rb", C_EXTENSION},
-     {"module.so", "rb", C_EXTENSION},
--#endif
--#endif
--#endif
-+#endif /* Py_DEBUG */
-+#endif /* __VMS */
-+#endif /* defined(PYOS_OS2) && defined(PYCC_GCC) */
-+#endif /* __CYGWIN__ */
-     {0, 0}
- };
-diff --git a/Python/sysmodule.c b/Python/sysmodule.c
-index aeff38a..183e3cc 100644
---- a/Python/sysmodule.c
-+++ b/Python/sysmodule.c
-@@ -1524,6 +1524,12 @@ _PySys_Init(void)
-                         PyString_FromString("legacy"));
- #endif
-+#ifdef Py_DEBUG
-+    PyDict_SetItemString(sysdict, "pydebug", Py_True);
-+#else
-+    PyDict_SetItemString(sysdict, "pydebug", Py_False);
-+#endif
-+
- #undef SET_SYS_FROM_STRING
-     if (PyErr_Occurred())
-         return NULL;
-diff --git a/configure.ac b/configure.ac
-index 0a902c7..5caedb7 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -764,7 +764,7 @@ AC_SUBST(LIBRARY)
- AC_MSG_CHECKING(LIBRARY)
- if test -z "$LIBRARY"
- then
--      LIBRARY='libpython$(VERSION).a'
-+      LIBRARY='libpython$(VERSION)$(DEBUG_EXT).a'
- fi
- AC_MSG_RESULT($LIBRARY)
-@@ -910,8 +910,8 @@ if test $enable_shared = "yes"; then
-         INSTSONAME="$LDLIBRARY".$SOVERSION
-           ;;
-     Linux*|GNU*|NetBSD*|FreeBSD*|DragonFly*|OpenBSD*)
--        LDLIBRARY='libpython$(VERSION).so'
--        BLDLIBRARY='-L. -lpython$(VERSION)'
-+        LDLIBRARY='libpython$(VERSION)$(DEBUG_EXT).so'
-+        BLDLIBRARY='-L. -lpython$(VERSION)$(DEBUG_EXT)'
-         RUNSHARED=LD_LIBRARY_PATH=`pwd`${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
-         case $ac_sys_system in
-             FreeBSD*)
-@@ -1040,6 +1040,14 @@ else AC_MSG_RESULT(no); Py_DEBUG='false'
- fi],
- [AC_MSG_RESULT(no)])
-+if test "$Py_DEBUG" = 'true'
-+then
-+      DEBUG_EXT=_d
-+      DEBUG_SUFFIX=-debug
-+fi
-+AC_SUBST(DEBUG_EXT)
-+AC_SUBST(DEBUG_SUFFIX)
-+
- # XXX Shouldn't the code above that fiddles with BASECFLAGS and OPT be
- # merged with this chunk of code?
--- 
-2.11.0
-
diff --git a/python/patches/00113-more-configuration-flags.patch b/python/patches/00113-more-configuration-flags.patch
deleted file mode 100644 (file)
index 2d447b2..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-diff -up Python-2.6.5/configure.ac.more-configuration-flags Python-2.6.5/configure.ac
---- Python-2.6.5/configure.ac.more-configuration-flags 2010-05-24 18:51:25.410111792 -0400
-+++ Python-2.6.5/configure.ac  2010-05-24 18:59:23.954986388 -0400
-@@ -2515,6 +2515,30 @@ else AC_MSG_RESULT(no)
- fi],
- [AC_MSG_RESULT(no)])
-+AC_MSG_CHECKING(for --with-count-allocs)
-+AC_ARG_WITH(count-allocs,
-+[  --with(out)count-allocs  enable/disable per-type instance accounting], [
-+if test "$withval" != no
-+then 
-+  AC_DEFINE(COUNT_ALLOCS, 1,
-+    [Define to keep records of the number of instances of each type]) 
-+    AC_MSG_RESULT(yes)
-+else AC_MSG_RESULT(no)
-+fi],
-+[AC_MSG_RESULT(no)])
-+
-+AC_MSG_CHECKING(for --with-call-profile)
-+AC_ARG_WITH(call-profile,
-+[  --with(out)-call-profile  enable/disable statistics on function call invocation], [
-+if test "$withval" != no
-+then 
-+  AC_DEFINE(CALL_PROFILE, 1, 
-+    [Define to keep records on function call invocation]) 
-+    AC_MSG_RESULT(yes)
-+else AC_MSG_RESULT(no)
-+fi],
-+[AC_MSG_RESULT(no)])
-+
- # Check for Python-specific malloc support
- AC_MSG_CHECKING(for --with-pymalloc)
- AC_ARG_WITH(pymalloc,
-diff -up Python-2.6.5/pyconfig.h.in.more-configuration-flags Python-2.6.5/pyconfig.h.in
---- Python-2.6.5/pyconfig.h.in.more-configuration-flags        2010-05-24 18:51:45.677988086 -0400
-+++ Python-2.6.5/pyconfig.h.in 2010-05-24 19:00:44.163987730 -0400
-@@ -1019,6 +1019,12 @@
- /* Define to profile with the Pentium timestamp counter */
- #undef WITH_TSC
-+/* Define to keep records of the number of instances of each type */
-+#undef COUNT_ALLOCS
-+
-+/* Define to keep records on function call invocation */
-+#undef CALL_PROFILE
-+
- /* Define if you want pymalloc to be disabled when running under valgrind */
- #undef WITH_VALGRIND
diff --git a/python/patches/00114-statvfs-f_flag-constants.patch b/python/patches/00114-statvfs-f_flag-constants.patch
deleted file mode 100644 (file)
index 83e7b59..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-diff -up Python-2.7rc1/Modules/posixmodule.c.statvfs-f-flag-constants Python-2.7rc1/Modules/posixmodule.c
---- Python-2.7rc1/Modules/posixmodule.c.statvfs-f-flag-constants       2010-05-15 17:45:30.000000000 -0400
-+++ Python-2.7rc1/Modules/posixmodule.c        2010-06-07 22:54:16.162068624 -0400
-@@ -9174,6 +9174,43 @@ all_ins(PyObject *d)
- #endif
- #endif
-+    /* These came from statvfs.h */
-+#ifdef ST_RDONLY
-+    if (ins(d, "ST_RDONLY", (long)ST_RDONLY)) return -1;
-+#endif /* ST_RDONLY */
-+#ifdef ST_NOSUID
-+    if (ins(d, "ST_NOSUID", (long)ST_NOSUID)) return -1;
-+#endif /* ST_NOSUID */
-+    
-+    /* GNU extensions */
-+#ifdef ST_NODEV
-+    if (ins(d, "ST_NODEV", (long)ST_NODEV)) return -1;
-+#endif /* ST_NODEV */
-+#ifdef ST_NOEXEC
-+    if (ins(d, "ST_NOEXEC", (long)ST_NOEXEC)) return -1;
-+#endif /* ST_NOEXEC */
-+#ifdef ST_SYNCHRONOUS
-+    if (ins(d, "ST_SYNCHRONOUS", (long)ST_SYNCHRONOUS)) return -1;
-+#endif /* ST_SYNCHRONOUS */
-+#ifdef ST_MANDLOCK
-+    if (ins(d, "ST_MANDLOCK", (long)ST_MANDLOCK)) return -1;
-+#endif /* ST_MANDLOCK */
-+#ifdef ST_WRITE
-+    if (ins(d, "ST_WRITE", (long)ST_WRITE)) return -1;
-+#endif /* ST_WRITE */
-+#ifdef ST_APPEND
-+    if (ins(d, "ST_APPEND", (long)ST_APPEND)) return -1;
-+#endif /* ST_APPEND */
-+#ifdef ST_NOATIME
-+    if (ins(d, "ST_NOATIME", (long)ST_NOATIME)) return -1;
-+#endif /* ST_NOATIME */
-+#ifdef ST_NODIRATIME
-+    if (ins(d, "ST_NODIRATIME", (long)ST_NODIRATIME)) return -1;
-+#endif /* ST_NODIRATIME */
-+#ifdef ST_RELATIME
-+    if (ins(d, "ST_RELATIME", (long)ST_RELATIME)) return -1;
-+#endif /* ST_RELATIME */
-+    
- #if defined(PYOS_OS2)
-     if (insertvalues(d)) return -1;
- #endif
diff --git a/python/patches/00121-add-Modules-to-build-path.patch b/python/patches/00121-add-Modules-to-build-path.patch
deleted file mode 100644 (file)
index 6e3294d..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
---- Python-2.7.5/Lib/site.py.orig      2013-05-16 12:47:55.000000000 +0200
-+++ Python-2.7.5/Lib/site.py   2013-05-16 12:56:20.089058109 +0200
-@@ -529,6 +529,10 @@ def main():
-     abs__file__()
-     known_paths = removeduppaths()
-+    from sysconfig import is_python_build
-+    if is_python_build():
-+        from _sysconfigdata import build_time_vars
-+        sys.path.append(os.path.join(build_time_vars['abs_builddir'], 'Modules'))
-     if ENABLE_USER_SITE is None:
-         ENABLE_USER_SITE = check_enableusersite()
-     known_paths = addusersitepackages(known_paths)
diff --git a/python/patches/00131-disable-tests-in-test_io.patch b/python/patches/00131-disable-tests-in-test_io.patch
deleted file mode 100644 (file)
index d81a2d0..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-diff -up Python-2.7.2/Lib/test/test_io.py.disable-tests-in-test_io Python-2.7.2/Lib/test/test_io.py
---- Python-2.7.2/Lib/test/test_io.py.disable-tests-in-test_io  2011-09-01 14:18:45.963304089 -0400
-+++ Python-2.7.2/Lib/test/test_io.py   2011-09-01 15:08:53.796098413 -0400
-@@ -2669,6 +2669,7 @@ class SignalsTest(unittest.TestCase):
-         self.check_interrupted_read_retry(lambda x: x,
-                                           mode="r")
-+    @unittest.skip('rhbz#732998')
-     @unittest.skipUnless(threading, 'Threading required for this test.')
-     def check_interrupted_write_retry(self, item, **fdopen_kwargs):
-         """Check that a buffered write, when it gets interrupted (either
diff --git a/python/patches/00132-add-rpmbuild-hooks-to-unittest.patch b/python/patches/00132-add-rpmbuild-hooks-to-unittest.patch
deleted file mode 100644 (file)
index e63395f..0000000
+++ /dev/null
@@ -1,68 +0,0 @@
-diff -up Python-2.7.2/Lib/unittest/case.py.add-rpmbuild-hooks-to-unittest Python-2.7.2/Lib/unittest/case.py
---- Python-2.7.2/Lib/unittest/case.py.add-rpmbuild-hooks-to-unittest   2011-09-08 14:45:47.677169191 -0400
-+++ Python-2.7.2/Lib/unittest/case.py  2011-09-08 16:01:36.287858159 -0400
-@@ -1,6 +1,7 @@
- """Test case implementation"""
- import collections
-+import os
- import sys
- import functools
- import difflib
-@@ -94,6 +95,43 @@ def expectedFailure(func):
-     return wrapper
-+# Non-standard/downstream-only hooks for handling issues with specific test
-+# cases:
-+
-+def _skipInRpmBuild(reason):
-+    """
-+    Non-standard/downstream-only decorator for marking a specific unit test
-+    to be skipped when run within the %check of an rpmbuild.
-+
-+    Specifically, this takes effect when WITHIN_PYTHON_RPM_BUILD is set within
-+    the environment, and has no effect otherwise.
-+    """
-+    if 'WITHIN_PYTHON_RPM_BUILD' in os.environ:
-+        return skip(reason)
-+    else:
-+        return _id
-+
-+def _expectedFailureInRpmBuild(func):
-+    """
-+    Non-standard/downstream-only decorator for marking a specific unit test
-+    as expected to fail within the %check of an rpmbuild.
-+
-+    Specifically, this takes effect when WITHIN_PYTHON_RPM_BUILD is set within
-+    the environment, and has no effect otherwise.
-+    """
-+    @functools.wraps(func)
-+    def wrapper(*args, **kwargs):
-+        if 'WITHIN_PYTHON_RPM_BUILD' in os.environ:
-+            try:
-+                func(*args, **kwargs)
-+            except Exception:
-+                raise _ExpectedFailure(sys.exc_info())
-+            raise _UnexpectedSuccess
-+        else:
-+            # Call directly:
-+            func(*args, **kwargs)
-+    return wrapper
-+
- class _AssertRaisesContext(object):
-     """A context manager used to implement TestCase.assertRaises* methods."""
-diff -up Python-2.7.2/Lib/unittest/__init__.py.add-rpmbuild-hooks-to-unittest Python-2.7.2/Lib/unittest/__init__.py
---- Python-2.7.2/Lib/unittest/__init__.py.add-rpmbuild-hooks-to-unittest       2011-09-08 14:59:39.534112310 -0400
-+++ Python-2.7.2/Lib/unittest/__init__.py      2011-09-08 15:07:09.191081562 -0400
-@@ -57,7 +57,8 @@ __unittest = True
- from .result import TestResult
- from .case import (TestCase, FunctionTestCase, SkipTest, skip, skipIf,
--                   skipUnless, expectedFailure)
-+                   skipUnless, expectedFailure,
-+                   _skipInRpmBuild, _expectedFailureInRpmBuild)
- from .suite import BaseTestSuite, TestSuite
- from .loader import (TestLoader, defaultTestLoader, makeSuite, getTestCaseNames,
-                      findTestCases)
diff --git a/python/patches/00133-skip-test_dl.patch b/python/patches/00133-skip-test_dl.patch
deleted file mode 100644 (file)
index 04ad05b..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-diff -up Python-2.7.2/Lib/test/test_dl.py.skip-test_dl Python-2.7.2/Lib/test/test_dl.py
---- Python-2.7.2/Lib/test/test_dl.py.skip-test_dl      2011-09-08 15:18:40.529034289 -0400
-+++ Python-2.7.2/Lib/test/test_dl.py   2011-09-08 16:29:45.184742670 -0400
-@@ -13,6 +13,9 @@ sharedlibs = [
-     ('/usr/lib/libc.dylib', 'getpid'),
-     ]
-+# (also, "dl" is deprecated in favor of ctypes)
-+@unittest._skipInRpmBuild('fails on 64-bit builds: '
-+    'module dl requires sizeof(int) == sizeof(long) == sizeof(char*)')
- def test_main():
-     for s, func in sharedlibs:
-         try:
diff --git a/python/patches/00136-skip-tests-of-seeking-stdin-in-rpmbuild.patch b/python/patches/00136-skip-tests-of-seeking-stdin-in-rpmbuild.patch
deleted file mode 100644 (file)
index 4d7626f..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-diff -up Python-2.7.6/Lib/test/test_file2k.py.stdin-test Python-2.7.6/Lib/test/test_file2k.py
---- Python-2.7.6/Lib/test/test_file2k.py.stdin-test    2013-11-10 08:36:40.000000000 +0100
-+++ Python-2.7.6/Lib/test/test_file2k.py       2014-01-29 14:28:01.029488055 +0100
-@@ -223,6 +223,7 @@ class OtherFileTests(unittest.TestCase):
-             else:
-                 f.close()
-+    @unittest._skipInRpmBuild('seems not to raise the exception when run in Koji')
-     def testStdinSeek(self):
-         if sys.platform == 'osf1V5':
-             # This causes the interpreter to exit on OSF1 v5.1.
diff --git a/python/patches/00137-skip-distutils-tests-that-fail-in-rpmbuild.patch b/python/patches/00137-skip-distutils-tests-that-fail-in-rpmbuild.patch
deleted file mode 100644 (file)
index 7122a29..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -up Python-2.7.3/Lib/distutils/tests/test_bdist_rpm.py.mark-tests-that-fail-in-rpmbuild Python-2.7.3/Lib/distutils/tests/test_bdist_rpm.py
---- Python-2.7.3/Lib/distutils/tests/test_bdist_rpm.py.mark-tests-that-fail-in-rpmbuild        2012-04-09 19:07:29.000000000 -0400
-+++ Python-2.7.3/Lib/distutils/tests/test_bdist_rpm.py 2012-04-13 00:20:08.223819263 -0400
-@@ -24,6 +24,7 @@ setup(name='foo', version='0.1', py_modu
- """
-+@unittest._skipInRpmBuild("don't try to nest one rpm build inside another rpm build")
- class BuildRpmTestCase(support.TempdirManager,
-                        support.EnvironGuard,
-                        support.LoggingSilencer,
-diff -up Python-2.7.3/Lib/distutils/tests/test_build_ext.py.mark-tests-that-fail-in-rpmbuild Python-2.7.3/Lib/distutils/tests/test_build_ext.py
diff --git a/python/patches/00138-fix-distutils-tests-in-debug-build.patch b/python/patches/00138-fix-distutils-tests-in-debug-build.patch
deleted file mode 100644 (file)
index 1fd1091..0000000
+++ /dev/null
@@ -1,68 +0,0 @@
-diff -up Python-2.7.2/Lib/distutils/tests/test_build_ext.py.mark-tests-that-fail-in-rpmbuild Python-2.7.2/Lib/distutils/tests/test_build_ext.py
---- Python-2.7.2/Lib/distutils/tests/test_build_ext.py.mark-tests-that-fail-in-rpmbuild        2011-09-08 16:07:25.033834312 -0400
-+++ Python-2.7.2/Lib/distutils/tests/test_build_ext.py 2011-09-08 17:43:15.656441082 -0400
-@@ -330,6 +332,7 @@ class BuildExtTestCase(support.TempdirMa
-         self.assertEqual(lastdir, 'bar')
-     def test_ext_fullpath(self):
-+        debug_ext = sysconfig.get_config_var("DEBUG_EXT")
-         ext = sysconfig.get_config_vars()['SO']
-         dist = Distribution()
-         cmd = build_ext(dist)
-@@ -337,14 +340,14 @@ class BuildExtTestCase(support.TempdirMa
-         cmd.distribution.package_dir = {'': 'src'}
-         cmd.distribution.packages = ['lxml', 'lxml.html']
-         curdir = os.getcwd()
--        wanted = os.path.join(curdir, 'src', 'lxml', 'etree' + ext)
-+        wanted = os.path.join(curdir, 'src', 'lxml', 'etree' + debug_ext + ext)
-         path = cmd.get_ext_fullpath('lxml.etree')
-         self.assertEqual(wanted, path)
-         # building lxml.etree not inplace
-         cmd.inplace = 0
-         cmd.build_lib = os.path.join(curdir, 'tmpdir')
--        wanted = os.path.join(curdir, 'tmpdir', 'lxml', 'etree' + ext)
-+        wanted = os.path.join(curdir, 'tmpdir', 'lxml', 'etree' + debug_ext + ext)
-         path = cmd.get_ext_fullpath('lxml.etree')
-         self.assertEqual(wanted, path)
-@@ -354,13 +357,13 @@ class BuildExtTestCase(support.TempdirMa
-         cmd.distribution.packages = ['twisted', 'twisted.runner.portmap']
-         path = cmd.get_ext_fullpath('twisted.runner.portmap')
-         wanted = os.path.join(curdir, 'tmpdir', 'twisted', 'runner',
--                              'portmap' + ext)
-+                              'portmap' + debug_ext + ext)
-         self.assertEqual(wanted, path)
-         # building twisted.runner.portmap inplace
-         cmd.inplace = 1
-         path = cmd.get_ext_fullpath('twisted.runner.portmap')
--        wanted = os.path.join(curdir, 'twisted', 'runner', 'portmap' + ext)
-+        wanted = os.path.join(curdir, 'twisted', 'runner', 'portmap' + debug_ext + ext)
-         self.assertEqual(wanted, path)
-     def test_build_ext_inplace(self):
-@@ -373,8 +376,9 @@ class BuildExtTestCase(support.TempdirMa
-         cmd.distribution.package_dir = {'': 'src'}
-         cmd.distribution.packages = ['lxml', 'lxml.html']
-         curdir = os.getcwd()
-+        debug_ext = sysconfig.get_config_var("DEBUG_EXT")
-         ext = sysconfig.get_config_var("SO")
--        wanted = os.path.join(curdir, 'src', 'lxml', 'etree' + ext)
-+        wanted = os.path.join(curdir, 'src', 'lxml', 'etree' + debug_ext + ext)
-         path = cmd.get_ext_fullpath('lxml.etree')
-         self.assertEqual(wanted, path)
-@@ -412,10 +416,11 @@ class BuildExtTestCase(support.TempdirMa
-         dist = Distribution({'name': 'UpdateManager'})
-         cmd = build_ext(dist)
-         cmd.ensure_finalized()
-+        debug_ext = sysconfig.get_config_var("DEBUG_EXT")
-         ext = sysconfig.get_config_var("SO")
-         ext_name = os.path.join('UpdateManager', 'fdsend')
-         ext_path = cmd.get_ext_fullpath(ext_name)
--        wanted = os.path.join(cmd.build_lib, 'UpdateManager', 'fdsend' + ext)
-+        wanted = os.path.join(cmd.build_lib, 'UpdateManager', 'fdsend' + debug_ext + ext)
-         self.assertEqual(ext_path, wanted)
-     @unittest.skipUnless(sys.platform == 'win32', 'these tests require Windows')
diff --git a/python/patches/00139-skip-test_float-known-failure-on-arm.patch b/python/patches/00139-skip-test_float-known-failure-on-arm.patch
deleted file mode 100644 (file)
index 9d0bfad..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-diff -up Python-2.7.2/Lib/test/test_float.py.skip-test_float-known-failure-on-arm Python-2.7.2/Lib/test/test_float.py
---- Python-2.7.2/Lib/test/test_float.py.skip-test_float-known-failure-on-arm   2011-09-08 19:34:09.000986128 -0400
-+++ Python-2.7.2/Lib/test/test_float.py        2011-09-08 19:34:57.969982779 -0400
-@@ -1072,6 +1072,7 @@ class HexFloatTestCase(unittest.TestCase
-                     self.identical(got, expected)
-+    @unittest.skip('Known failure on ARM: http://bugs.python.org/issue8265')
-     def test_from_hex(self):
-         MIN = self.MIN;
-         MAX = self.MAX;
diff --git a/python/patches/00140-skip-test_ctypes-known-failure-on-sparc.patch b/python/patches/00140-skip-test_ctypes-known-failure-on-sparc.patch
deleted file mode 100644 (file)
index 95aa41e..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-diff -up Python-2.7.2/Lib/ctypes/test/test_callbacks.py.skip-test_ctypes-known-failure-on-sparc Python-2.7.2/Lib/ctypes/test/test_callbacks.py
---- Python-2.7.2/Lib/ctypes/test/test_callbacks.py.skip-test_ctypes-known-failure-on-sparc     2011-09-08 19:42:35.541951490 -0400
-+++ Python-2.7.2/Lib/ctypes/test/test_callbacks.py     2011-09-08 19:43:40.676947036 -0400
-@@ -67,6 +67,7 @@ class Callbacks(unittest.TestCase):
-         self.check_type(c_longlong, 42)
-         self.check_type(c_longlong, -42)
-+    @unittest.skip('Known failure on Sparc: http://bugs.python.org/issue8314')
-     def test_ulonglong(self):
-         # test some 64-bit values, with and without msb set.
-         self.check_type(c_ulonglong, 10955412242170339782)
diff --git a/python/patches/00142-skip-failing-pty-tests-in-rpmbuild.patch b/python/patches/00142-skip-failing-pty-tests-in-rpmbuild.patch
deleted file mode 100644 (file)
index 2f51165..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-diff -up Python-2.7.6/Lib/test/test_openpty.py.tty-fail Python-2.7.6/Lib/test/test_openpty.py
---- Python-2.7.6/Lib/test/test_openpty.py.tty-fail     2014-01-29 14:31:43.761343267 +0100
-+++ Python-2.7.6/Lib/test/test_openpty.py      2014-01-29 14:32:19.284090165 +0100
-@@ -8,6 +8,7 @@ if not hasattr(os, "openpty"):
- class OpenptyTest(unittest.TestCase):
-+    @unittest._skipInRpmBuild('sometimes fails in Koji, possibly due to a mock issue (rhbz#714627)')
-     def test(self):
-         master, slave = os.openpty()
-         self.addCleanup(os.close, master)
-diff -up Python-2.7.6/Lib/test/test_pty.py.tty-fail Python-2.7.6/Lib/test/test_pty.py
---- Python-2.7.6/Lib/test/test_pty.py.tty-fail 2013-11-10 08:36:40.000000000 +0100
-+++ Python-2.7.6/Lib/test/test_pty.py  2014-01-29 14:31:43.761343267 +0100
-@@ -111,6 +111,7 @@ class PtyTest(unittest.TestCase):
-         os.close(master_fd)
-+    @unittest._skipInRpmBuild('sometimes fails in Koji, possibly due to a mock issue (rhbz#714627)')
-     def test_fork(self):
-         debug("calling pty.fork()")
-         pid, master_fd = pty.fork()
diff --git a/python/patches/00143-tsc-on-ppc.patch b/python/patches/00143-tsc-on-ppc.patch
deleted file mode 100644 (file)
index 447c6e3..0000000
+++ /dev/null
@@ -1,58 +0,0 @@
-diff -up Python-2.7.2/Python/ceval.c.tsc-on-ppc Python-2.7.2/Python/ceval.c
---- Python-2.7.2/Python/ceval.c.tsc-on-ppc     2011-08-23 14:59:48.051300849 -0400
-+++ Python-2.7.2/Python/ceval.c        2011-08-23 15:33:25.412162902 -0400
-@@ -37,24 +37,42 @@ typedef unsigned long long uint64;
- */
- #if defined(__ppc__) || defined (__powerpc__)
--#define READ_TIMESTAMP(var) ppc_getcounter(&var)
-+#if defined( __powerpc64__) || defined(__LP64__)
-+/* 64-bit PowerPC */
-+#define READ_TIMESTAMP(var) ppc64_getcounter(&var)
-+static void
-+ppc64_getcounter(uint64 *v)
-+{
-+    /* On 64-bit PowerPC we can read the 64-bit timebase directly into a
-+       64-bit register */
-+    uint64 timebase;
-+#ifdef _ARCH_PWR4
-+    asm volatile ("mfspr %0,268" : "=r" (timebase));
-+#else
-+    asm volatile ("mftb %0" : "=r" (timebase));
-+#endif
-+    *v = timebase;
-+}
-+
-+#else
-+/* 32-bit PowerPC */
-+#define READ_TIMESTAMP(var) ppc32_getcounter(&var)
- static void
--ppc_getcounter(uint64 *v)
-+ppc32_getcounter(uint64 *v)
- {
--    register unsigned long tbu, tb, tbu2;
-+    union { long long ll; long ii[2]; } u;
-+    long tmp;
-   loop:
--    asm volatile ("mftbu %0" : "=r" (tbu) );
--    asm volatile ("mftb  %0" : "=r" (tb)  );
--    asm volatile ("mftbu %0" : "=r" (tbu2));
--    if (__builtin_expect(tbu != tbu2, 0)) goto loop;
--
--    /* The slightly peculiar way of writing the next lines is
--       compiled better by GCC than any other way I tried. */
--    ((long*)(v))[0] = tbu;
--    ((long*)(v))[1] = tb;
-+    asm volatile ("mftbu %0" : "=r" (u.ii[0]) );
-+    asm volatile ("mftb  %0" : "=r" (u.ii[1]) );
-+    asm volatile ("mftbu %0" : "=r" (tmp));
-+    if (__builtin_expect(u.ii[0] != tmp, 0)) goto loop;
-+
-+    *v = u.ll;
- }
-+#endif /* powerpc 32/64 bit */
- #elif defined(__i386__)
diff --git a/python/patches/00147-add-debug-malloc-stats.patch b/python/patches/00147-add-debug-malloc-stats.patch
deleted file mode 100644 (file)
index 0d783f5..0000000
+++ /dev/null
@@ -1,711 +0,0 @@
-diff -up Python-2.7.2/Include/dictobject.h.add-debug-malloc-stats Python-2.7.2/Include/dictobject.h
---- Python-2.7.2/Include/dictobject.h.add-debug-malloc-stats   2011-06-11 11:46:23.000000000 -0400
-+++ Python-2.7.2/Include/dictobject.h  2011-09-16 19:03:25.105821625 -0400
-@@ -150,6 +150,8 @@ PyAPI_FUNC(PyObject *) PyDict_GetItemStr
- PyAPI_FUNC(int) PyDict_SetItemString(PyObject *dp, const char *key, PyObject *item);
- PyAPI_FUNC(int) PyDict_DelItemString(PyObject *dp, const char *key);
-+PyAPI_FUNC(void) _PyDict_DebugMallocStats(FILE *out);
-+
- #ifdef __cplusplus
- }
- #endif
-diff -up Python-2.7.2/Include/floatobject.h.add-debug-malloc-stats Python-2.7.2/Include/floatobject.h
---- Python-2.7.2/Include/floatobject.h.add-debug-malloc-stats  2011-06-11 11:46:23.000000000 -0400
-+++ Python-2.7.2/Include/floatobject.h 2011-09-16 19:03:25.106821625 -0400
-@@ -132,6 +132,7 @@ PyAPI_FUNC(PyObject *) _PyFloat_FormatAd
-    failure.  Used in builtin_round in bltinmodule.c. */
- PyAPI_FUNC(PyObject *) _Py_double_round(double x, int ndigits);
-+PyAPI_FUNC(void) _PyFloat_DebugMallocStats(FILE* out);
- #ifdef __cplusplus
-diff -up Python-2.7.2/Include/frameobject.h.add-debug-malloc-stats Python-2.7.2/Include/frameobject.h
---- Python-2.7.2/Include/frameobject.h.add-debug-malloc-stats  2011-06-11 11:46:23.000000000 -0400
-+++ Python-2.7.2/Include/frameobject.h 2011-09-16 19:03:25.107821625 -0400
-@@ -80,6 +80,8 @@ PyAPI_FUNC(void) PyFrame_FastToLocals(Py
- PyAPI_FUNC(int) PyFrame_ClearFreeList(void);
-+PyAPI_FUNC(void) _PyFrame_DebugMallocStats(FILE *out);
-+
- /* Return the line of code the frame is currently executing. */
- PyAPI_FUNC(int) PyFrame_GetLineNumber(PyFrameObject *);
-diff -up Python-2.7.2/Include/intobject.h.add-debug-malloc-stats Python-2.7.2/Include/intobject.h
---- Python-2.7.2/Include/intobject.h.add-debug-malloc-stats    2011-06-11 11:46:23.000000000 -0400
-+++ Python-2.7.2/Include/intobject.h   2011-09-16 19:03:25.107821625 -0400
-@@ -74,6 +74,8 @@ PyAPI_FUNC(PyObject *) _PyInt_FormatAdva
-                                            char *format_spec,
-                                            Py_ssize_t format_spec_len);
-+PyAPI_FUNC(void) _PyInt_DebugMallocStats(FILE *out);
-+
- #ifdef __cplusplus
- }
- #endif
-diff -up Python-2.7.2/Include/listobject.h.add-debug-malloc-stats Python-2.7.2/Include/listobject.h
---- Python-2.7.2/Include/listobject.h.add-debug-malloc-stats   2011-06-11 11:46:23.000000000 -0400
-+++ Python-2.7.2/Include/listobject.h  2011-09-16 19:03:25.107821625 -0400
-@@ -62,6 +62,8 @@ PyAPI_FUNC(PyObject *) _PyList_Extend(Py
- #define PyList_SET_ITEM(op, i, v) (((PyListObject *)(op))->ob_item[i] = (v))
- #define PyList_GET_SIZE(op)    Py_SIZE(op)
-+PyAPI_FUNC(void) _PyList_DebugMallocStats(FILE *out);
-+
- #ifdef __cplusplus
- }
- #endif
-diff -up Python-2.7.2/Include/methodobject.h.add-debug-malloc-stats Python-2.7.2/Include/methodobject.h
---- Python-2.7.2/Include/methodobject.h.add-debug-malloc-stats 2011-06-11 11:46:23.000000000 -0400
-+++ Python-2.7.2/Include/methodobject.h        2011-09-16 19:03:25.108821625 -0400
-@@ -87,6 +87,10 @@ typedef struct {
- PyAPI_FUNC(int) PyCFunction_ClearFreeList(void);
-+PyAPI_FUNC(void) _PyCFunction_DebugMallocStats(FILE *out);
-+PyAPI_FUNC(void) _PyMethod_DebugMallocStats(FILE *out);
-+
-+
- #ifdef __cplusplus
- }
- #endif
-diff -up Python-2.7.2/Include/object.h.add-debug-malloc-stats Python-2.7.2/Include/object.h
---- Python-2.7.2/Include/object.h.add-debug-malloc-stats       2011-06-11 11:46:23.000000000 -0400
-+++ Python-2.7.2/Include/object.h      2011-09-16 19:03:25.108821625 -0400
-@@ -980,6 +980,13 @@ PyAPI_DATA(PyObject *) _PyTrash_delete_l
-             _PyTrash_thread_deposit_object((PyObject*)op); \
-     } while (0);
-+PyAPI_FUNC(void)
-+_PyDebugAllocatorStats(FILE *out, const char *block_name, int num_blocks,
-+                     size_t sizeof_block);
-+
-+PyAPI_FUNC(void)
-+_PyObject_DebugTypeStats(FILE *out);
-+
- #ifdef __cplusplus
- }
- #endif
-diff -up Python-2.7.2/Include/objimpl.h.add-debug-malloc-stats Python-2.7.2/Include/objimpl.h
---- Python-2.7.2/Include/objimpl.h.add-debug-malloc-stats      2011-06-11 11:46:23.000000000 -0400
-+++ Python-2.7.2/Include/objimpl.h     2011-09-16 19:03:25.108821625 -0400
-@@ -101,13 +101,13 @@ PyAPI_FUNC(void) PyObject_Free(void *);
- /* Macros */
- #ifdef WITH_PYMALLOC
-+PyAPI_FUNC(void) _PyObject_DebugMallocStats(FILE *out);
- #ifdef PYMALLOC_DEBUG   /* WITH_PYMALLOC && PYMALLOC_DEBUG */
- PyAPI_FUNC(void *) _PyObject_DebugMalloc(size_t nbytes);
- PyAPI_FUNC(void *) _PyObject_DebugRealloc(void *p, size_t nbytes);
- PyAPI_FUNC(void) _PyObject_DebugFree(void *p);
- PyAPI_FUNC(void) _PyObject_DebugDumpAddress(const void *p);
- PyAPI_FUNC(void) _PyObject_DebugCheckAddress(const void *p);
--PyAPI_FUNC(void) _PyObject_DebugMallocStats(void);
- PyAPI_FUNC(void *) _PyObject_DebugMallocApi(char api, size_t nbytes);
- PyAPI_FUNC(void *) _PyObject_DebugReallocApi(char api, void *p, size_t nbytes);
- PyAPI_FUNC(void) _PyObject_DebugFreeApi(char api, void *p);
-diff -up Python-2.7.2/Include/stringobject.h.add-debug-malloc-stats Python-2.7.2/Include/stringobject.h
---- Python-2.7.2/Include/stringobject.h.add-debug-malloc-stats 2011-06-11 11:46:23.000000000 -0400
-+++ Python-2.7.2/Include/stringobject.h        2011-09-16 19:03:25.109821625 -0400
-@@ -204,6 +204,8 @@ PyAPI_FUNC(PyObject *) _PyBytes_FormatAd
-                                              char *format_spec,
-                                              Py_ssize_t format_spec_len);
-+PyAPI_FUNC(void) _PyString_DebugMallocStats(FILE *out);
-+
- #ifdef __cplusplus
- }
- #endif
-diff -up Python-2.7.2/Include/unicodeobject.h.add-debug-malloc-stats Python-2.7.2/Include/unicodeobject.h
---- Python-2.7.2/Include/unicodeobject.h.add-debug-malloc-stats        2011-06-11 11:46:23.000000000 -0400
-+++ Python-2.7.2/Include/unicodeobject.h       2011-09-16 19:03:25.109821625 -0400
-@@ -1406,6 +1406,8 @@ PyAPI_FUNC(int) _PyUnicode_IsAlpha(
-     Py_UNICODE ch       /* Unicode character */
-     );
-+PyAPI_FUNC(void) _PyUnicode_DebugMallocStats(FILE *out);
-+
- #ifdef __cplusplus
- }
- #endif
-diff -up Python-2.7.2/Lib/test/test_sys.py.add-debug-malloc-stats Python-2.7.2/Lib/test/test_sys.py
---- Python-2.7.2/Lib/test/test_sys.py.add-debug-malloc-stats   2011-09-16 19:03:25.048821626 -0400
-+++ Python-2.7.2/Lib/test/test_sys.py  2011-09-16 19:03:25.110821625 -0400
-@@ -473,6 +473,32 @@ class SysModuleTest(unittest.TestCase):
-         p.wait()
-         self.assertIn(executable, ["''", repr(sys.executable)])
-+    def test_debugmallocstats(self):
-+        # Test sys._debugmallocstats()
-+
-+        import subprocess
-+
-+        # Verify the default of writing to stderr:
-+        p = subprocess.Popen([sys.executable,
-+                              '-c', 'import sys; sys._debugmallocstats()'],
-+                             stderr=subprocess.PIPE)
-+        out, err = p.communicate()
-+        p.wait()
-+        self.assertIn("arenas allocated current", err)
-+                                     
-+        # Verify that we can redirect the output to a file (not a file-like
-+        # object, though):
-+        with open('mallocstats.txt', 'w') as out:
-+            sys._debugmallocstats(out)
-+        result = open('mallocstats.txt').read()
-+        self.assertIn("arenas allocated current", result)
-+        os.unlink('mallocstats.txt')
-+
-+        # Verify that the destination must be a file:
-+        with self.assertRaises(TypeError):
-+            sys._debugmallocstats(42)
-+        
-+
- @test.test_support.cpython_only
- class SizeofTest(unittest.TestCase):
-
-diff -up Python-2.7.2/Objects/classobject.c.add-debug-malloc-stats Python-2.7.2/Objects/classobject.c
---- Python-2.7.2/Objects/classobject.c.add-debug-malloc-stats  2011-06-11 11:46:27.000000000 -0400
-+++ Python-2.7.2/Objects/classobject.c 2011-09-16 19:03:25.110821625 -0400
-@@ -2670,3 +2670,12 @@ PyMethod_Fini(void)
- {
-     (void)PyMethod_ClearFreeList();
- }
-+
-+/* Print summary info about the state of the optimized allocator */
-+void
-+_PyMethod_DebugMallocStats(FILE *out)
-+{
-+    _PyDebugAllocatorStats(out,
-+                           "free PyMethodObject",
-+                           numfree, sizeof(PyMethodObject));
-+}
-diff -up Python-2.7.2/Objects/dictobject.c.add-debug-malloc-stats Python-2.7.2/Objects/dictobject.c
---- Python-2.7.2/Objects/dictobject.c.add-debug-malloc-stats   2011-06-11 11:46:27.000000000 -0400
-+++ Python-2.7.2/Objects/dictobject.c  2011-09-16 19:03:25.111821625 -0400
-@@ -225,6 +225,15 @@ show_track(void)
- static PyDictObject *free_list[PyDict_MAXFREELIST];
- static int numfree = 0;
-+/* Print summary info about the state of the optimized allocator */
-+void
-+_PyDict_DebugMallocStats(FILE *out)
-+{
-+    _PyDebugAllocatorStats(out,
-+                           "free PyDictObject", numfree, sizeof(PyDictObject));
-+}
-+
-+
- void
- PyDict_Fini(void)
- {
-diff -up Python-2.7.2/Objects/floatobject.c.add-debug-malloc-stats Python-2.7.2/Objects/floatobject.c
---- Python-2.7.2/Objects/floatobject.c.add-debug-malloc-stats  2011-06-11 11:46:27.000000000 -0400
-+++ Python-2.7.2/Objects/floatobject.c 2011-09-16 19:03:25.111821625 -0400
-@@ -35,6 +35,22 @@ typedef struct _floatblock PyFloatBlock;
- static PyFloatBlock *block_list = NULL;
- static PyFloatObject *free_list = NULL;
-+/* Print summary info about the state of the optimized allocator */
-+void
-+_PyFloat_DebugMallocStats(FILE *out)
-+{
-+  int num_blocks = 0;
-+  PyFloatBlock *block;
-+
-+  /* Walk the block list, counting */
-+  for (block = block_list; block ; block = block->next) {
-+      num_blocks++;
-+  }
-+
-+  _PyDebugAllocatorStats(out,
-+                         "PyFloatBlock", num_blocks, sizeof(PyFloatBlock));
-+}
-+
- static PyFloatObject *
- fill_free_list(void)
- {
-diff -up Python-2.7.2/Objects/frameobject.c.add-debug-malloc-stats Python-2.7.2/Objects/frameobject.c
---- Python-2.7.2/Objects/frameobject.c.add-debug-malloc-stats  2011-06-11 11:46:27.000000000 -0400
-+++ Python-2.7.2/Objects/frameobject.c 2011-09-16 19:03:25.112821625 -0400
-@@ -980,3 +980,13 @@ PyFrame_Fini(void)
-     Py_XDECREF(builtin_object);
-     builtin_object = NULL;
- }
-+
-+/* Print summary info about the state of the optimized allocator */
-+void
-+_PyFrame_DebugMallocStats(FILE *out)
-+{
-+    _PyDebugAllocatorStats(out,
-+                           "free PyFrameObject",
-+                           numfree, sizeof(PyFrameObject));
-+}
-+
-diff -up Python-2.7.2/Objects/intobject.c.add-debug-malloc-stats Python-2.7.2/Objects/intobject.c
---- Python-2.7.2/Objects/intobject.c.add-debug-malloc-stats    2011-06-11 11:46:27.000000000 -0400
-+++ Python-2.7.2/Objects/intobject.c   2011-09-16 19:03:25.112821625 -0400
-@@ -44,6 +44,23 @@ typedef struct _intblock PyIntBlock;
- static PyIntBlock *block_list = NULL;
- static PyIntObject *free_list = NULL;
-+
-+/* Print summary info about the state of the optimized allocator */
-+void
-+_PyInt_DebugMallocStats(FILE *out)
-+{
-+    int num_blocks = 0;
-+    PyIntBlock *block;
-+
-+    /* Walk the block list, counting */
-+    for (block = block_list; block ; block = block->next) {
-+        num_blocks++;
-+    }
-+
-+    _PyDebugAllocatorStats(out,
-+                           "PyIntBlock", num_blocks, sizeof(PyIntBlock));
-+}
-+
- static PyIntObject *
- fill_free_list(void)
- {
-diff -up Python-2.7.2/Objects/listobject.c.add-debug-malloc-stats Python-2.7.2/Objects/listobject.c
---- Python-2.7.2/Objects/listobject.c.add-debug-malloc-stats   2011-06-11 11:46:27.000000000 -0400
-+++ Python-2.7.2/Objects/listobject.c  2011-09-16 19:03:25.113821625 -0400
-@@ -109,6 +109,15 @@ PyList_Fini(void)
-     }
- }
-+/* Print summary info about the state of the optimized allocator */
-+void
-+_PyList_DebugMallocStats(FILE *out)
-+{
-+    _PyDebugAllocatorStats(out,
-+                           "free PyListObject",
-+                           numfree, sizeof(PyListObject));
-+}
-+
- PyObject *
- PyList_New(Py_ssize_t size)
- {
-diff -up Python-2.7.2/Objects/methodobject.c.add-debug-malloc-stats Python-2.7.2/Objects/methodobject.c
---- Python-2.7.2/Objects/methodobject.c.add-debug-malloc-stats 2011-06-11 11:46:27.000000000 -0400
-+++ Python-2.7.2/Objects/methodobject.c        2011-09-16 19:03:25.113821625 -0400
-@@ -412,6 +412,15 @@ PyCFunction_Fini(void)
-     (void)PyCFunction_ClearFreeList();
- }
-+/* Print summary info about the state of the optimized allocator */
-+void
-+_PyCFunction_DebugMallocStats(FILE *out)
-+{
-+    _PyDebugAllocatorStats(out,
-+                           "free PyCFunction",
-+                           numfree, sizeof(PyCFunction));
-+}
-+
- /* PyCFunction_New() is now just a macro that calls PyCFunction_NewEx(),
-    but it's part of the API so we need to keep a function around that
-    existing C extensions can call.
-diff -up Python-2.7.2/Objects/object.c.add-debug-malloc-stats Python-2.7.2/Objects/object.c
---- Python-2.7.2/Objects/object.c.add-debug-malloc-stats       2011-06-11 11:46:27.000000000 -0400
-+++ Python-2.7.2/Objects/object.c      2011-09-16 19:04:46.463820849 -0400
-@@ -2334,6 +2334,23 @@ PyMem_Free(void *p)
-     PyMem_FREE(p);
- }
-+void
-+_PyObject_DebugTypeStats(FILE *out)
-+{
-+    _PyString_DebugMallocStats(out);
-+    _PyCFunction_DebugMallocStats(out);
-+    _PyDict_DebugMallocStats(out);
-+    _PyFloat_DebugMallocStats(out);
-+    _PyFrame_DebugMallocStats(out);
-+    _PyInt_DebugMallocStats(out);
-+    _PyList_DebugMallocStats(out);
-+    _PyMethod_DebugMallocStats(out);
-+    _PySet_DebugMallocStats(out);
-+    _PyTuple_DebugMallocStats(out);
-+#if Py_USING_UNICODE
-+    _PyUnicode_DebugMallocStats(out);
-+#endif
-+}
- /* These methods are used to control infinite recursion in repr, str, print,
-    etc.  Container objects that may recursively contain themselves,
-diff -up Python-2.7.2/Objects/obmalloc.c.add-debug-malloc-stats Python-2.7.2/Objects/obmalloc.c
---- Python-2.7.2/Objects/obmalloc.c.add-debug-malloc-stats     2011-06-11 11:46:27.000000000 -0400
-+++ Python-2.7.2/Objects/obmalloc.c    2011-09-16 19:03:25.114821625 -0400
-@@ -508,12 +508,10 @@ static struct arena_object* usable_arena
- /* Number of arenas allocated that haven't been free()'d. */
- static size_t narenas_currently_allocated = 0;
--#ifdef PYMALLOC_DEBUG
- /* Total number of times malloc() called to allocate an arena. */
- static size_t ntimes_arena_allocated = 0;
- /* High water mark (max value ever seen) for narenas_currently_allocated. */
- static size_t narenas_highwater = 0;
--#endif
- /* Allocate a new arena.  If we run out of memory, return NULL.  Else
-  * allocate a new arena, and return the address of an arena_object
-@@ -528,7 +526,7 @@ new_arena(void)
- #ifdef PYMALLOC_DEBUG
-     if (Py_GETENV("PYTHONMALLOCSTATS"))
--        _PyObject_DebugMallocStats();
-+        _PyObject_DebugMallocStats(stderr);
- #endif
-     if (unused_arena_objects == NULL) {
-         uint i;
-@@ -588,11 +586,9 @@ new_arena(void)
-     arenaobj->address = (uptr)address;
-     ++narenas_currently_allocated;
--#ifdef PYMALLOC_DEBUG
-     ++ntimes_arena_allocated;
-     if (narenas_currently_allocated > narenas_highwater)
-         narenas_highwater = narenas_currently_allocated;
--#endif
-     arenaobj->freepools = NULL;
-     /* pool_address <- first pool-aligned address in the arena
-        nfreepools <- number of whole pools that fit after alignment */
-@@ -1694,17 +1690,19 @@ _PyObject_DebugDumpAddress(const void *p
-     }
- }
-+#endif  /* PYMALLOC_DEBUG */
-+
- static size_t
--printone(const char* msg, size_t value)
-+printone(FILE *out, const char* msg, size_t value)
- {
-     int i, k;
-     char buf[100];
-     size_t origvalue = value;
--    fputs(msg, stderr);
-+    fputs(msg, out);
-     for (i = (int)strlen(msg); i < 35; ++i)
--        fputc(' ', stderr);
--    fputc('=', stderr);
-+        fputc(' ', out);
-+    fputc('=', out);
-     /* Write the value with commas. */
-     i = 22;
-@@ -1725,17 +1723,32 @@ printone(const char* msg, size_t value)
-     while (i >= 0)
-         buf[i--] = ' ';
--    fputs(buf, stderr);
-+    fputs(buf, out);
-     return origvalue;
- }
--/* Print summary info to stderr about the state of pymalloc's structures.
-+void
-+_PyDebugAllocatorStats(FILE *out,
-+                       const char *block_name, int num_blocks, size_t sizeof_block)
-+{
-+       char buf1[128];
-+       char buf2[128];
-+       PyOS_snprintf(buf1, sizeof(buf1),
-+                     "%d %ss * %zd bytes each",
-+                     num_blocks, block_name, sizeof_block);
-+       PyOS_snprintf(buf2, sizeof(buf2),
-+                     "%48s ", buf1);
-+      (void)printone(out, buf2, num_blocks * sizeof_block);
-+}
-+
-+
-+/* Print summary info to "out" about the state of pymalloc's structures.
-  * In Py_DEBUG mode, also perform some expensive internal consistency
-  * checks.
-  */
- void
--_PyObject_DebugMallocStats(void)
-+_PyObject_DebugMallocStats(FILE *out)
- {
-     uint i;
-     const uint numclasses = SMALL_REQUEST_THRESHOLD >> ALIGNMENT_SHIFT;
-@@ -1764,7 +1777,7 @@ _PyObject_DebugMallocStats(void)
-     size_t total;
-     char buf[128];
--    fprintf(stderr, "Small block threshold = %d, in %u size classes.\n",
-+    fprintf(out, "Small block threshold = %d, in %u size classes.\n",
-             SMALL_REQUEST_THRESHOLD, numclasses);
-     for (i = 0; i < numclasses; ++i)
-@@ -1818,10 +1831,10 @@ _PyObject_DebugMallocStats(void)
-     }
-     assert(narenas == narenas_currently_allocated);
--    fputc('\n', stderr);
-+    fputc('\n', out);
-     fputs("class   size   num pools   blocks in use  avail blocks\n"
-           "-----   ----   ---------   -------------  ------------\n",
--          stderr);
-+          out);
-     for (i = 0; i < numclasses; ++i) {
-         size_t p = numpools[i];
-@@ -1832,7 +1845,7 @@ _PyObject_DebugMallocStats(void)
-             assert(b == 0 && f == 0);
-             continue;
-         }
--        fprintf(stderr, "%5u %6u "
-+        fprintf(out, "%5u %6u "
-                         "%11" PY_FORMAT_SIZE_T "u "
-                         "%15" PY_FORMAT_SIZE_T "u "
-                         "%13" PY_FORMAT_SIZE_T "u\n",
-@@ -1842,36 +1855,35 @@ _PyObject_DebugMallocStats(void)
-         pool_header_bytes += p * POOL_OVERHEAD;
-         quantization += p * ((POOL_SIZE - POOL_OVERHEAD) % size);
-     }
--    fputc('\n', stderr);
--    (void)printone("# times object malloc called", serialno);
--
--    (void)printone("# arenas allocated total", ntimes_arena_allocated);
--    (void)printone("# arenas reclaimed", ntimes_arena_allocated - narenas);
--    (void)printone("# arenas highwater mark", narenas_highwater);
--    (void)printone("# arenas allocated current", narenas);
-+    fputc('\n', out);
-+#ifdef PYMALLOC_DEBUG
-+    (void)printone(out, "# times object malloc called", serialno);
-+#endif
-+    (void)printone(out, "# arenas allocated total", ntimes_arena_allocated);
-+    (void)printone(out, "# arenas reclaimed", ntimes_arena_allocated - narenas);
-+    (void)printone(out, "# arenas highwater mark", narenas_highwater);
-+    (void)printone(out, "# arenas allocated current", narenas);
-     PyOS_snprintf(buf, sizeof(buf),
-         "%" PY_FORMAT_SIZE_T "u arenas * %d bytes/arena",
-         narenas, ARENA_SIZE);
--    (void)printone(buf, narenas * ARENA_SIZE);
-+    (void)printone(out, buf, narenas * ARENA_SIZE);
--    fputc('\n', stderr);
-+    fputc('\n', out);
--    total = printone("# bytes in allocated blocks", allocated_bytes);
--    total += printone("# bytes in available blocks", available_bytes);
-+    total = printone(out, "# bytes in allocated blocks", allocated_bytes);
-+    total += printone(out, "# bytes in available blocks", available_bytes);
-     PyOS_snprintf(buf, sizeof(buf),
-         "%u unused pools * %d bytes", numfreepools, POOL_SIZE);
--    total += printone(buf, (size_t)numfreepools * POOL_SIZE);
-+    total += printone(out, buf, (size_t)numfreepools * POOL_SIZE);
--    total += printone("# bytes lost to pool headers", pool_header_bytes);
--    total += printone("# bytes lost to quantization", quantization);
--    total += printone("# bytes lost to arena alignment", arena_alignment);
--    (void)printone("Total", total);
-+    total += printone(out, "# bytes lost to pool headers", pool_header_bytes);
-+    total += printone(out, "# bytes lost to quantization", quantization);
-+    total += printone(out, "# bytes lost to arena alignment", arena_alignment);
-+    (void)printone(out, "Total", total);
- }
--#endif  /* PYMALLOC_DEBUG */
--
- #ifdef Py_USING_MEMORY_DEBUGGER
- /* Make this function last so gcc won't inline it since the definition is
-  * after the reference.
-diff -up Python-2.7.2/Objects/setobject.c.add-debug-malloc-stats Python-2.7.2/Objects/setobject.c
---- Python-2.7.2/Objects/setobject.c.add-debug-malloc-stats    2011-06-11 11:46:27.000000000 -0400
-+++ Python-2.7.2/Objects/setobject.c   2011-09-16 19:03:25.115821625 -0400
-@@ -1088,6 +1088,16 @@ PySet_Fini(void)
-     Py_CLEAR(emptyfrozenset);
- }
-+/* Print summary info about the state of the optimized allocator */
-+void
-+_PySet_DebugMallocStats(FILE *out)
-+{
-+    _PyDebugAllocatorStats(out,
-+                           "free PySetObject",
-+                           numfree, sizeof(PySetObject));
-+}
-+
-+
- static PyObject *
- set_new(PyTypeObject *type, PyObject *args, PyObject *kwds)
- {
-diff -up Python-2.7.2/Objects/stringobject.c.add-debug-malloc-stats Python-2.7.2/Objects/stringobject.c
---- Python-2.7.2/Objects/stringobject.c.add-debug-malloc-stats 2011-06-11 11:46:27.000000000 -0400
-+++ Python-2.7.2/Objects/stringobject.c        2011-09-16 19:03:25.116821625 -0400
-@@ -4822,3 +4822,43 @@ void _Py_ReleaseInternedStrings(void)
-     PyDict_Clear(interned);
-     Py_CLEAR(interned);
- }
-+
-+void _PyString_DebugMallocStats(FILE *out)
-+{
-+    ssize_t i;
-+    int num_immortal = 0, num_mortal = 0;
-+    ssize_t immortal_size = 0, mortal_size = 0;
-+
-+    if (interned == NULL || !PyDict_Check(interned))
-+        return;
-+
-+    for (i = 0; i <= ((PyDictObject*)interned)->ma_mask; i++) {
-+        PyDictEntry *ep = ((PyDictObject*)interned)->ma_table + i;
-+        PyObject *pvalue = ep->me_value;
-+        if (pvalue != NULL) {
-+            PyStringObject *s = (PyStringObject *)ep->me_key;
-+
-+            switch (s->ob_sstate) {
-+            case SSTATE_NOT_INTERNED:
-+                /* XXX Shouldn't happen */
-+                break;
-+            case SSTATE_INTERNED_IMMORTAL:
-+                num_immortal ++;
-+                immortal_size += s->ob_size;
-+                break;
-+            case SSTATE_INTERNED_MORTAL:
-+                num_mortal ++;
-+                mortal_size += s->ob_size;
-+                break;
-+            default:
-+                Py_FatalError("Inconsistent interned string state.");
-+            }
-+        }
-+    }
-+
-+    fprintf(out, "%d mortal interned strings\n", num_mortal);
-+    fprintf(out, "%d immortal interned strings\n", num_immortal);
-+    fprintf(out, "total size of all interned strings: "
-+            "%zi/%zi "
-+            "mortal/immortal\n", mortal_size, immortal_size);
-+}
-diff -up Python-2.7.2/Objects/tupleobject.c.add-debug-malloc-stats Python-2.7.2/Objects/tupleobject.c
---- Python-2.7.2/Objects/tupleobject.c.add-debug-malloc-stats  2011-06-11 11:46:27.000000000 -0400
-+++ Python-2.7.2/Objects/tupleobject.c 2011-09-16 19:03:25.116821625 -0400
-@@ -44,6 +44,22 @@ show_track(void)
- }
- #endif
-+/* Print summary info about the state of the optimized allocator */
-+void
-+_PyTuple_DebugMallocStats(FILE *out)
-+{
-+#if PyTuple_MAXSAVESIZE > 0
-+    int i;
-+    char buf[128];
-+    for (i = 1; i < PyTuple_MAXSAVESIZE; i++) {
-+        PyOS_snprintf(buf, sizeof(buf),
-+                      "free %d-sized PyTupleObject", i);
-+        _PyDebugAllocatorStats(out,
-+                               buf,
-+                               numfree[i], _PyObject_VAR_SIZE(&PyTuple_Type, i));
-+    }
-+#endif
-+}
- PyObject *
- PyTuple_New(register Py_ssize_t size)
-diff -up Python-2.7.2/Objects/unicodeobject.c.add-debug-malloc-stats Python-2.7.2/Objects/unicodeobject.c
---- Python-2.7.2/Objects/unicodeobject.c.add-debug-malloc-stats        2011-06-11 11:46:27.000000000 -0400
-+++ Python-2.7.2/Objects/unicodeobject.c       2011-09-16 19:03:25.118821625 -0400
-@@ -8883,6 +8883,12 @@ _PyUnicode_Fini(void)
-     (void)PyUnicode_ClearFreeList();
- }
-+void _PyUnicode_DebugMallocStats(FILE *out)
-+{
-+    _PyDebugAllocatorStats(out, "free PyUnicodeObject", numfree,
-+                           sizeof(PyUnicodeObject));
-+}
-+
- #ifdef __cplusplus
- }
- #endif
-diff -up Python-2.7.2/Python/pythonrun.c.add-debug-malloc-stats Python-2.7.2/Python/pythonrun.c
---- Python-2.7.2/Python/pythonrun.c.add-debug-malloc-stats     2011-09-16 19:03:25.025821626 -0400
-+++ Python-2.7.2/Python/pythonrun.c    2011-09-16 19:03:25.118821625 -0400
-@@ -549,7 +549,7 @@ Py_Finalize(void)
- #endif /* Py_TRACE_REFS */
- #ifdef PYMALLOC_DEBUG
-     if (Py_GETENV("PYTHONMALLOCSTATS"))
--        _PyObject_DebugMallocStats();
-+        _PyObject_DebugMallocStats(stderr);
- #endif
-     call_ll_exitfuncs();
-diff -up Python-2.7.2/Python/sysmodule.c.add-debug-malloc-stats Python-2.7.2/Python/sysmodule.c
---- Python-2.7.2/Python/sysmodule.c.add-debug-malloc-stats     2011-09-16 19:03:25.007821626 -0400
-+++ Python-2.7.2/Python/sysmodule.c    2011-09-16 19:03:25.119821625 -0400
-@@ -872,6 +872,57 @@ a 11-tuple where the entries in the tupl
- extern "C" {
- #endif
-+static PyObject *
-+sys_debugmallocstats(PyObject *self, PyObject *args)
-+{
-+    PyObject *file = NULL;
-+    FILE *fp;
-+
-+    if (!PyArg_ParseTuple(args, "|O!",
-+                          &PyFile_Type, &file)) {
-+      return NULL;
-+    }
-+    if (!file) {
-+        /* Default to sys.stderr: */
-+      file = PySys_GetObject("stderr");
-+      if (!file) {
-+          PyErr_SetString(PyExc_ValueError, "sys.stderr not set");
-+          return NULL;
-+      }
-+      if (!PyFile_Check(file)) {
-+          PyErr_SetString(PyExc_TypeError, "sys.stderr is not a file");
-+          return NULL;
-+      }
-+    }
-+
-+    Py_INCREF(file);
-+    /* OK, we now own a ref on non-NULL "file" */
-+
-+    fp = PyFile_AsFile(file);
-+    if (!fp) {
-+        PyErr_SetString(PyExc_ValueError, "file is closed");
-+        Py_DECREF(file);
-+        return NULL;  
-+    }
-+
-+    _PyObject_DebugMallocStats(fp);
-+    fputc('\n', fp);
-+    _PyObject_DebugTypeStats(fp);
-+
-+    Py_DECREF(file);
-+
-+    Py_RETURN_NONE;
-+}
-+PyDoc_STRVAR(debugmallocstats_doc,
-+"_debugmallocstats([file])\n\
-+\n\
-+Print summary info to the given file (or sys.stderr) about the state of\n\
-+pymalloc's structures.\n\
-+\n\
-+In Py_DEBUG mode, also perform some expensive internal consistency\n\
-+checks.\n\
-+");
-+
- #ifdef Py_TRACE_REFS
- /* Defined in objects.c because it uses static globals if that file */
- extern PyObject *_Py_GetObjects(PyObject *, PyObject *);
-@@ -970,6 +1021,8 @@ static PyMethodDef sys_methods[] = {
-     {"settrace",        sys_settrace, METH_O, settrace_doc},
-     {"gettrace",        sys_gettrace, METH_NOARGS, gettrace_doc},
-     {"call_tracing", sys_call_tracing, METH_VARARGS, call_tracing_doc},
-+    {"_debugmallocstats", sys_debugmallocstats, METH_VARARGS,
-+     debugmallocstats_doc},
-     {NULL,              NULL}           /* sentinel */
- };
diff --git a/python/patches/00155-avoid-ctypes-thunks.patch b/python/patches/00155-avoid-ctypes-thunks.patch
deleted file mode 100644 (file)
index 92dd668..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-diff -up Python-2.7.3/Lib/ctypes/__init__.py.rhbz814391 Python-2.7.3/Lib/ctypes/__init__.py
---- Python-2.7.3/Lib/ctypes/__init__.py.rhbz814391     2012-04-20 14:51:19.390990244 -0400
-+++ Python-2.7.3/Lib/ctypes/__init__.py        2012-04-20 14:51:45.141668316 -0400
-@@ -272,11 +272,6 @@ def _reset_cache():
-     # _SimpleCData.c_char_p_from_param
-     POINTER(c_char).from_param = c_char_p.from_param
-     _pointer_type_cache[None] = c_void_p
--    # XXX for whatever reasons, creating the first instance of a callback
--    # function is needed for the unittests on Win64 to succeed.  This MAY
--    # be a compiler bug, since the problem occurs only when _ctypes is
--    # compiled with the MS SDK compiler.  Or an uninitialized variable?
--    CFUNCTYPE(c_int)(lambda: None)
- try:
-     from _ctypes import set_conversion_mode
diff --git a/python/patches/00156-gdb-autoload-safepath.patch b/python/patches/00156-gdb-autoload-safepath.patch
deleted file mode 100644 (file)
index a16fe8d..0000000
+++ /dev/null
@@ -1,57 +0,0 @@
-diff -up Python-2.7.3/Lib/test/test_gdb.py.gdb-autoload-safepath Python-2.7.3/Lib/test/test_gdb.py
---- Python-2.7.3/Lib/test/test_gdb.py.gdb-autoload-safepath    2012-04-30 15:53:57.254045220 -0400
-+++ Python-2.7.3/Lib/test/test_gdb.py  2012-04-30 16:19:19.569941124 -0400
-@@ -54,6 +54,19 @@ def gdb_has_frame_select():
- HAS_PYUP_PYDOWN = gdb_has_frame_select()
-+def gdb_has_autoload_safepath():
-+    # Recent GDBs will only auto-load scripts from certain safe
-+    # locations, so we will need to turn off this protection.
-+    # However, if the GDB doesn't have it, then the following
-+    # command will generate noise on stderr (rhbz#817072):
-+    cmd = "--eval-command=set auto-load safe-path /"
-+    p = subprocess.Popen(["gdb", "--batch", cmd],
-+                         stderr=subprocess.PIPE)
-+    _, stderr = p.communicate()
-+    return '"on" or "off" expected.' not in stderr
-+    
-+HAS_AUTOLOAD_SAFEPATH = gdb_has_autoload_safepath()
-+
- class DebuggerTests(unittest.TestCase):
-     """Test that the debugger can debug Python."""
-diff -up Python-2.7.10/Lib/test/test_gdb.py.ms Python-2.7.10/Lib/test/test_gdb.py
---- Python-2.7.10/Lib/test/test_gdb.py.ms      2015-05-25 17:00:25.028462615 +0200
-+++ Python-2.7.10/Lib/test/test_gdb.py 2015-05-25 17:01:53.166359822 +0200
-@@ -153,6 +153,17 @@ class DebuggerTests(unittest.TestCase):
-                     'run']
-+        if HAS_AUTOLOAD_SAFEPATH:
-+            # Recent GDBs will only auto-load scripts from certain safe
-+            # locations.
-+            # Where necessary, turn off this protection to ensure that
-+            # our -gdb.py script can be loaded - but not on earlier gdb builds
-+            # as this would generate noise on stderr (rhbz#817072):
-+            init_commands = ['set auto-load safe-path /']
-+        else:
-+            init_commands = []
-+
-+
-         # GDB as of 7.4 onwards can distinguish between the
-         # value of a variable at entry vs current value:
-         #   http://sourceware.org/gdb/onlinedocs/gdb/Variables.html
-@@ -167,10 +178,11 @@ class DebuggerTests(unittest.TestCase):
-         else:
-             commands += ['backtrace']
--        # print commands
-+        # print init_commands
-         # Use "commands" to generate the arguments with which to invoke "gdb":
-         args = ["gdb", "--batch", "-nx"]
-+        args += ['--init-eval-command=%s' % cmd for cmd in init_commands]
-         args += ['--eval-command=%s' % cmd for cmd in commands]
-         args += ["--args",
-                  sys.executable]
diff --git a/python/patches/00157-uid-gid-overflows.patch b/python/patches/00157-uid-gid-overflows.patch
deleted file mode 100644 (file)
index a31c98a..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-diff -up Python-2.7.3/Lib/test/test_os.py.uid-gid-overflows Python-2.7.3/Lib/test/test_os.py
---- Python-2.7.3/Lib/test/test_os.py.uid-gid-overflows 2012-04-09 19:07:32.000000000 -0400
-+++ Python-2.7.3/Lib/test/test_os.py   2012-06-26 14:51:36.000817929 -0400
-@@ -677,30 +677,36 @@ if sys.platform != 'win32':
-     def test_setuid(self):
-         if os.getuid() != 0:
-             self.assertRaises(os.error, os.setuid, 0)
-+        self.assertRaises(TypeError, os.setuid, 'not an int')
-         self.assertRaises(OverflowError, os.setuid, 1<<32)
-     @unittest.skipUnless(hasattr(os, 'setgid'), 'test needs os.setgid()')
-     def test_setgid(self):
-         if os.getuid() != 0:
-             self.assertRaises(os.error, os.setgid, 0)
-+        self.assertRaises(TypeError, os.setgid, 'not an int')
-         self.assertRaises(OverflowError, os.setgid, 1<<32)
-     @unittest.skipUnless(hasattr(os, 'seteuid'), 'test needs os.seteuid()')
-     def test_seteuid(self):
-         if os.getuid() != 0:
-             self.assertRaises(os.error, os.seteuid, 0)
-+        self.assertRaises(TypeError, os.seteuid, 'not an int')
-         self.assertRaises(OverflowError, os.seteuid, 1<<32)
-     @unittest.skipUnless(hasattr(os, 'setegid'), 'test needs os.setegid()')
-     def test_setegid(self):
-         if os.getuid() != 0:
-             self.assertRaises(os.error, os.setegid, 0)
-+        self.assertRaises(TypeError, os.setegid, 'not an int')
-         self.assertRaises(OverflowError, os.setegid, 1<<32)
-     @unittest.skipUnless(hasattr(os, 'setreuid'), 'test needs os.setreuid()')
-     def test_setreuid(self):
-         if os.getuid() != 0:
-             self.assertRaises(os.error, os.setreuid, 0, 0)
-+        self.assertRaises(TypeError, os.setreuid, 'not an int', 0)
-+        self.assertRaises(TypeError, os.setreuid, 0, 'not an int')
-         self.assertRaises(OverflowError, os.setreuid, 1<<32, 0)
-         self.assertRaises(OverflowError, os.setreuid, 0, 1<<32)
-@@ -715,6 +721,8 @@ if sys.platform != 'win32':
-     def test_setregid(self):
-         if os.getuid() != 0:
-             self.assertRaises(os.error, os.setregid, 0, 0)
-+        self.assertRaises(TypeError, os.setregid, 'not an int', 0)
-+        self.assertRaises(TypeError, os.setregid, 0, 'not an int')
-         self.assertRaises(OverflowError, os.setregid, 1<<32, 0)
-         self.assertRaises(OverflowError, os.setregid, 0, 1<<32)
diff --git a/python/patches/00167-disable-stack-navigation-tests-when-optimized-in-test_gdb.patch b/python/patches/00167-disable-stack-navigation-tests-when-optimized-in-test_gdb.patch
deleted file mode 100644 (file)
index 9807883..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-diff --git a/Lib/test/test_gdb.py b/Lib/test/test_gdb.py
-index 3354b34..10ba0e5 100644
---- a/Lib/test/test_gdb.py
-+++ b/Lib/test/test_gdb.py
-@@ -725,11 +725,10 @@ class PyListTests(DebuggerTests):
-                            '   2    \n'
-                            '   3    def foo(a, b, c):\n',
-                            bt)
--
-+@unittest.skipUnless(HAS_PYUP_PYDOWN, "test requires py-up/py-down commands")
-+@unittest.skipIf(python_is_optimized(),
-+                "Python was compiled with optimizations")
- class StackNavigationTests(DebuggerTests):
--    @unittest.skipUnless(HAS_PYUP_PYDOWN, "test requires py-up/py-down commands")
--    @unittest.skipIf(python_is_optimized(),
--                     "Python was compiled with optimizations")
-     def test_pyup_command(self):
-         'Verify that the "py-up" command works'
-         bt = self.get_stack_trace(script=self.get_sample_script(),
-@@ -740,7 +739,6 @@ class StackNavigationTests(DebuggerTests):
-     baz\(a, b, c\)
- $''')
--    @unittest.skipUnless(HAS_PYUP_PYDOWN, "test requires py-up/py-down commands")
-     def test_down_at_bottom(self):
-         'Verify handling of "py-down" at the bottom of the stack'
-         bt = self.get_stack_trace(script=self.get_sample_script(),
-@@ -748,9 +746,6 @@ $''')
-         self.assertEndsWith(bt,
-                             'Unable to find a newer python frame\n')
--    @unittest.skipUnless(HAS_PYUP_PYDOWN, "test requires py-up/py-down commands")
--    @unittest.skipIf(python_is_optimized(),
--                     "Python was compiled with optimizations")
-     def test_up_at_top(self):
-         'Verify handling of "py-up" at the top of the stack'
-         bt = self.get_stack_trace(script=self.get_sample_script(),
-@@ -758,9 +753,6 @@ $''')
-         self.assertEndsWith(bt,
-                             'Unable to find an older python frame\n')
--    @unittest.skipUnless(HAS_PYUP_PYDOWN, "test requires py-up/py-down commands")
--    @unittest.skipIf(python_is_optimized(),
--                     "Python was compiled with optimizations")
-     def test_up_then_down(self):
-         'Verify "py-up" followed by "py-down"'
-         bt = self.get_stack_trace(script=self.get_sample_script(),
diff --git a/python/patches/00168-distutils-cflags.patch b/python/patches/00168-distutils-cflags.patch
deleted file mode 100644 (file)
index 0c4a8df..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -up Python-2.6.6/Lib/distutils/sysconfig.py.distutils-cflags Python-2.6.6/Lib/distutils/sysconfig.py
---- Python-2.6.6/Lib/distutils/sysconfig.py.distutils-cflags   2011-08-12 17:18:17.833091153 -0400
-+++ Python-2.6.6/Lib/distutils/sysconfig.py    2011-08-12 17:18:27.449106938 -0400
-@@ -187,7 +187,7 @@ def customize_compiler(compiler):
-         if 'LDFLAGS' in os.environ:
-             ldshared = ldshared + ' ' + os.environ['LDFLAGS']
-         if 'CFLAGS' in os.environ:
--            cflags = opt + ' ' + os.environ['CFLAGS']
-+            cflags = cflags + ' ' + os.environ['CFLAGS']
-             ldshared = ldshared + ' ' + os.environ['CFLAGS']
-         if 'CPPFLAGS' in os.environ:
-             cpp = cpp + ' ' + os.environ['CPPFLAGS']
diff --git a/python/patches/00169-avoid-implicit-usage-of-md5-in-multiprocessing.patch b/python/patches/00169-avoid-implicit-usage-of-md5-in-multiprocessing.patch
deleted file mode 100644 (file)
index debf92f..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-diff --git a/Lib/multiprocessing/connection.py b/Lib/multiprocessing/connection.py
---- a/Lib/multiprocessing/connection.py
-+++ b/Lib/multiprocessing/connection.py
-@@ -41,6 +41,10 @@
- # A very generous timeout when it comes to local connections...
- CONNECTION_TIMEOUT = 20.
-+# The hmac module implicitly defaults to using MD5.
-+# Support using a stronger algorithm for the challenge/response code:
-+HMAC_DIGEST_NAME='sha256'
-+
- _mmap_counter = itertools.count()
- default_family = 'AF_INET'
-@@ -700,12 +704,16 @@
- WELCOME = b'#WELCOME#'
- FAILURE = b'#FAILURE#'
-+def get_digestmod_for_hmac():
-+    import hashlib
-+    return getattr(hashlib, HMAC_DIGEST_NAME)
-+
- def deliver_challenge(connection, authkey):
-     import hmac
-     assert isinstance(authkey, bytes)
-     message = os.urandom(MESSAGE_LENGTH)
-     connection.send_bytes(CHALLENGE + message)
--    digest = hmac.new(authkey, message).digest()
-+    digest = hmac.new(authkey, message, get_digestmod_for_hmac()).digest()
-     response = connection.recv_bytes(256)        # reject large message
-     if response == digest:
-         connection.send_bytes(WELCOME)
-@@ -719,7 +727,7 @@
-     message = connection.recv_bytes(256)         # reject large message
-     assert message[:len(CHALLENGE)] == CHALLENGE, 'message = %r' % message
-     message = message[len(CHALLENGE):]
--    digest = hmac.new(authkey, message).digest()
-+    digest = hmac.new(authkey, message, get_digestmod_for_hmac()).digest()
-     connection.send_bytes(digest)
-     response = connection.recv_bytes(256)        # reject large message
-     if response != WELCOME:
diff --git a/python/patches/00170-gc-assertions.patch b/python/patches/00170-gc-assertions.patch
deleted file mode 100644 (file)
index 9ade298..0000000
+++ /dev/null
@@ -1,279 +0,0 @@
-diff --git a/Lib/test/test_gc.py b/Lib/test/test_gc.py
-index 7e47b2d..12a210d 100644
---- a/Lib/test/test_gc.py
-+++ b/Lib/test/test_gc.py
-@@ -1,7 +1,8 @@
- import unittest
- from test.support import (verbose, run_unittest, start_threads,
--                          requires_type_collecting)
-+                          requires_type_collecting, import_module)
- import sys
-+import sysconfig
- import time
- import gc
- import weakref
-@@ -39,6 +40,8 @@ class GC_Detector(object):
-         self.wr = weakref.ref(C1055820(666), it_happened)
-+BUILT_WITH_NDEBUG = ('-DNDEBUG' in sysconfig.get_config_vars()['PY_CFLAGS'])
-+
- ### Tests
- ###############################################################################
-@@ -537,6 +540,49 @@ class GCTests(unittest.TestCase):
-             # would be damaged, with an empty __dict__.
-             self.assertEqual(x, None)
-+    @unittest.skipIf(BUILT_WITH_NDEBUG,
-+                     'built with -NDEBUG')
-+    def test_refcount_errors(self):
-+        # Verify the "handling" of objects with broken refcounts
-+ 
-+        import_module("ctypes") #skip if not supported
-+
-+        import subprocess
-+        code = '''if 1:
-+        a = []
-+        b = [a]
-+
-+        # Simulate the refcount of "a" being too low (compared to the
-+        # references held on it by live data), but keeping it above zero
-+        # (to avoid deallocating it):
-+        import ctypes
-+        ctypes.pythonapi.Py_DecRef(ctypes.py_object(a))
-+
-+        # The garbage collector should now have a fatal error when it reaches
-+        # the broken object:
-+        import gc
-+        gc.collect()
-+        '''
-+        p = subprocess.Popen([sys.executable, "-c", code],
-+                             stdout=subprocess.PIPE,
-+                             stderr=subprocess.PIPE)
-+        stdout, stderr = p.communicate()
-+        p.stdout.close()
-+        p.stderr.close()
-+        # Verify that stderr has a useful error message:
-+        self.assertRegexpMatches(stderr,
-+            b'Modules/gcmodule.c:[0-9]+: visit_decref: Assertion "gc->gc.gc_refs != 0" failed.')
-+        self.assertRegexpMatches(stderr,
-+            b'refcount was too small')
-+        self.assertRegexpMatches(stderr,
-+            b'object  : \[\]')
-+        self.assertRegexpMatches(stderr,
-+            b'type    : list')
-+        self.assertRegexpMatches(stderr,
-+            b'refcount: 1')
-+        self.assertRegexpMatches(stderr,
-+            b'address : 0x[0-9a-f]+')
-+
- class GCTogglingTests(unittest.TestCase):
-     def setUp(self):
-         gc.enable()
-diff --git a/Modules/gcmodule.c b/Modules/gcmodule.c
-index 916e481..0233ce2 100644
---- a/Modules/gcmodule.c
-+++ b/Modules/gcmodule.c
-@@ -21,6 +21,73 @@
- #include "Python.h"
- #include "frameobject.h"        /* for PyFrame_ClearFreeList */
-+/* 
-+   Define a pair of assertion macros.
-+
-+   These work like the regular C assert(), in that they will abort the
-+   process with a message on stderr if the given condition fails to hold,
-+   but compile away to nothing if NDEBUG is defined.
-+
-+   However, before aborting, Python will also try to call _PyObject_Dump() on
-+   the given object.  This may be of use when investigating bugs in which a
-+   particular object is corrupt (e.g. buggy a tp_visit method in an extension
-+   module breaking the garbage collector), to help locate the broken objects.
-+
-+   The WITH_MSG variant allows you to supply an additional message that Python
-+   will attempt to print to stderr, after the object dump.
-+*/
-+#ifdef NDEBUG
-+/* No debugging: compile away the assertions: */
-+#define PyObject_ASSERT_WITH_MSG(obj, expr, msg) ((void)0)
-+#else
-+/* With debugging: generate checks: */
-+#define PyObject_ASSERT_WITH_MSG(obj, expr, msg) \
-+  ((expr)                                           \
-+   ? (void)(0)                                      \
-+   : _PyObject_AssertFailed((obj),                  \
-+                            (msg),                  \
-+                            (__STRING(expr)),       \
-+                            (__FILE__),             \
-+                            (__LINE__),             \
-+                            (__PRETTY_FUNCTION__)))
-+#endif
-+
-+#define PyObject_ASSERT(obj, expr) \
-+  PyObject_ASSERT_WITH_MSG(obj, expr, NULL)
-+
-+static void _PyObject_AssertFailed(PyObject *,  const char *,
-+                                 const char *, const char *, int,
-+                                 const char *);
-+
-+static void
-+_PyObject_AssertFailed(PyObject *obj, const char *msg, const char *expr,
-+                     const char *file, int line, const char *function)
-+{
-+    fprintf(stderr,
-+            "%s:%d: %s: Assertion \"%s\" failed.\n",
-+            file, line, function, expr);
-+    if (msg) {
-+        fprintf(stderr, "%s\n", msg);
-+    }
-+
-+    fflush(stderr);
-+
-+    if (obj) {
-+        /* This might succeed or fail, but we're about to abort, so at least
-+           try to provide any extra info we can: */
-+        _PyObject_Dump(obj);
-+    }
-+    else {
-+        fprintf(stderr, "NULL object\n");
-+    }
-+
-+    fflush(stdout);
-+    fflush(stderr);
-+
-+    /* Terminate the process: */
-+    abort();
-+}
-+
- /* Get an object's GC head */
- #define AS_GC(o) ((PyGC_Head *)(o)-1)
-@@ -328,7 +395,8 @@ update_refs(PyGC_Head *containers)
- {
-     PyGC_Head *gc = containers->gc.gc_next;
-     for (; gc != containers; gc = gc->gc.gc_next) {
--        assert(gc->gc.gc_refs == GC_REACHABLE);
-+        PyObject_ASSERT(FROM_GC(gc),
-+                        gc->gc.gc_refs == GC_REACHABLE);
-         gc->gc.gc_refs = Py_REFCNT(FROM_GC(gc));
-         /* Python's cyclic gc should never see an incoming refcount
-          * of 0:  if something decref'ed to 0, it should have been
-@@ -348,7 +416,8 @@ update_refs(PyGC_Head *containers)
-          * so serious that maybe this should be a release-build
-          * check instead of an assert?
-          */
--        assert(gc->gc.gc_refs != 0);
-+        PyObject_ASSERT(FROM_GC(gc),
-+                        gc->gc.gc_refs != 0);
-     }
- }
-@@ -363,7 +432,9 @@ visit_decref(PyObject *op, void *data)
-          * generation being collected, which can be recognized
-          * because only they have positive gc_refs.
-          */
--        assert(gc->gc.gc_refs != 0); /* else refcount was too small */
-+        PyObject_ASSERT_WITH_MSG(FROM_GC(gc),
-+                                 gc->gc.gc_refs != 0,
-+                                 "refcount was too small");
-         if (gc->gc.gc_refs > 0)
-             gc->gc.gc_refs--;
-     }
-@@ -423,9 +494,10 @@ visit_reachable(PyObject *op, PyGC_Head *reachable)
-          * If gc_refs == GC_UNTRACKED, it must be ignored.
-          */
-          else {
--            assert(gc_refs > 0
--                   || gc_refs == GC_REACHABLE
--                   || gc_refs == GC_UNTRACKED);
-+             PyObject_ASSERT(FROM_GC(gc),
-+                             gc_refs > 0
-+                             || gc_refs == GC_REACHABLE
-+                             || gc_refs == GC_UNTRACKED);
-          }
-     }
-     return 0;
-@@ -467,7 +539,7 @@ move_unreachable(PyGC_Head *young, PyGC_Head *unreachable)
-              */
-             PyObject *op = FROM_GC(gc);
-             traverseproc traverse = Py_TYPE(op)->tp_traverse;
--            assert(gc->gc.gc_refs > 0);
-+            PyObject_ASSERT(op, gc->gc.gc_refs > 0);
-             gc->gc.gc_refs = GC_REACHABLE;
-             (void) traverse(op,
-                             (visitproc)visit_reachable,
-@@ -545,7 +617,8 @@ move_finalizers(PyGC_Head *unreachable, PyGC_Head *finalizers)
-     for (gc = unreachable->gc.gc_next; gc != unreachable; gc = next) {
-         PyObject *op = FROM_GC(gc);
--        assert(IS_TENTATIVELY_UNREACHABLE(op));
-+        PyObject_ASSERT(op, IS_TENTATIVELY_UNREACHABLE(op));
-+
-         next = gc->gc.gc_next;
-         if (has_finalizer(op)) {
-@@ -621,7 +694,7 @@ handle_weakrefs(PyGC_Head *unreachable, PyGC_Head *old)
-         PyWeakReference **wrlist;
-         op = FROM_GC(gc);
--        assert(IS_TENTATIVELY_UNREACHABLE(op));
-+        PyObject_ASSERT(op, IS_TENTATIVELY_UNREACHABLE(op));
-         next = gc->gc.gc_next;
-         if (! PyType_SUPPORTS_WEAKREFS(Py_TYPE(op)))
-@@ -642,9 +715,9 @@ handle_weakrefs(PyGC_Head *unreachable, PyGC_Head *old)
-              * the callback pointer intact.  Obscure:  it also
-              * changes *wrlist.
-              */
--            assert(wr->wr_object == op);
-+            PyObject_ASSERT(wr->wr_object, wr->wr_object == op);
-             _PyWeakref_ClearRef(wr);
--            assert(wr->wr_object == Py_None);
-+            PyObject_ASSERT(wr->wr_object, wr->wr_object == Py_None);
-             if (wr->wr_callback == NULL)
-                 continue;                       /* no callback */
-@@ -678,7 +751,7 @@ handle_weakrefs(PyGC_Head *unreachable, PyGC_Head *old)
-      */
-             if (IS_TENTATIVELY_UNREACHABLE(wr))
-                 continue;
--            assert(IS_REACHABLE(wr));
-+            PyObject_ASSERT(op, IS_REACHABLE(wr));
-             /* Create a new reference so that wr can't go away
-              * before we can process it again.
-@@ -687,7 +760,8 @@ handle_weakrefs(PyGC_Head *unreachable, PyGC_Head *old)
-             /* Move wr to wrcb_to_call, for the next pass. */
-             wrasgc = AS_GC(wr);
--            assert(wrasgc != next); /* wrasgc is reachable, but
-+            PyObject_ASSERT(op, wrasgc != next);
-+                                    /* wrasgc is reachable, but
-                                        next isn't, so they can't
-                                        be the same */
-             gc_list_move(wrasgc, &wrcb_to_call);
-@@ -703,11 +777,11 @@ handle_weakrefs(PyGC_Head *unreachable, PyGC_Head *old)
-         gc = wrcb_to_call.gc.gc_next;
-         op = FROM_GC(gc);
--        assert(IS_REACHABLE(op));
--        assert(PyWeakref_Check(op));
-+        PyObject_ASSERT(op, IS_REACHABLE(op));
-+        PyObject_ASSERT(op, PyWeakref_Check(op));
-         wr = (PyWeakReference *)op;
-         callback = wr->wr_callback;
--        assert(callback != NULL);
-+        PyObject_ASSERT(op, callback != NULL);
-         /* copy-paste of weakrefobject.c's handle_callback() */
-         temp = PyObject_CallFunctionObjArgs(callback, wr, NULL);
-@@ -810,7 +884,7 @@ delete_garbage(PyGC_Head *collectable, PyGC_Head *old)
-         PyGC_Head *gc = collectable->gc.gc_next;
-         PyObject *op = FROM_GC(gc);
--        assert(IS_TENTATIVELY_UNREACHABLE(op));
-+        PyObject_ASSERT(op, IS_TENTATIVELY_UNREACHABLE(op));
-         if (debug & DEBUG_SAVEALL) {
-             PyList_Append(garbage, op);
-         }
diff --git a/python/patches/00174-fix-for-usr-move.patch b/python/patches/00174-fix-for-usr-move.patch
deleted file mode 100644 (file)
index b48dc5c..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-diff -up Python-2.7.3/Modules/getpath.c.fix-for-usr-move Python-2.7.3/Modules/getpath.c
---- Python-2.7.3/Modules/getpath.c.fix-for-usr-move    2013-03-06 14:25:32.801828698 -0500
-+++ Python-2.7.3/Modules/getpath.c     2013-03-06 15:59:30.872443168 -0500
-@@ -510,6 +510,24 @@ calculate_path(void)
-        MAXPATHLEN bytes long.
-     */
-+    /*
-+      Workaround for rhbz#817554, where an empty argv0_path erroneously
-+      locates "prefix" as "/lib[64]/python2.7" due to it finding
-+      "/lib[64]/python2.7/os.py" via the /lib -> /usr/lib symlink for
-+      https://fedoraproject.org/wiki/Features/UsrMove
-+    */
-+    if (argv0_path[0] == '\0' && 0 == strcmp(prog, "cmpi_swig")) {
-+        /*
-+          We have an empty argv0_path, presumably because prog aka
-+          Py_GetProgramName() was not found on $PATH.
-+
-+          Set argv0_path to "/usr/" so that search_for_prefix() and
-+          search_for_exec_prefix() don't erroneously pick up
-+          on /lib/ via the UsrMove symlink:
-+        */
-+        strcpy(argv0_path, "/usr/");
-+    }
-+
-     if (!(pfound = search_for_prefix(argv0_path, home))) {
-         if (!Py_FrozenFlag)
-             fprintf(stderr,
diff --git a/python/patches/00180-python-add-support-for-ppc64p7.patch b/python/patches/00180-python-add-support-for-ppc64p7.patch
deleted file mode 100644 (file)
index ef94c86..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/config.sub b/config.sub
-index 3478c1f..e422173 100755
---- a/config.sub
-+++ b/config.sub
-@@ -1040,7 +1040,7 @@ case $basic_machine in
-               ;;
-       ppc64)  basic_machine=powerpc64-unknown
-               ;;
--      ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
-+      ppc64-* | ppc64p7-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
-               ;;
-       ppc64le | powerpc64little)
-               basic_machine=powerpc64le-unknown
diff --git a/python/patches/00181-allow-arbitrary-timeout-in-condition-wait.patch b/python/patches/00181-allow-arbitrary-timeout-in-condition-wait.patch
deleted file mode 100644 (file)
index 757c7dd..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-diff --git a/Lib/threading.py b/Lib/threading.py
-index cb49c4a..c9795a5 100644
---- a/Lib/threading.py
-+++ b/Lib/threading.py
-@@ -305,7 +305,7 @@ class _Condition(_Verbose):
-         else:
-             return True
--    def wait(self, timeout=None):
-+    def wait(self, timeout=None, balancing=True):
-         """Wait until notified or until a timeout occurs.
-         If the calling thread has not acquired the lock when this method is
-@@ -354,7 +354,10 @@ class _Condition(_Verbose):
-                     remaining = endtime - _time()
-                     if remaining <= 0:
-                         break
--                    delay = min(delay * 2, remaining, .05)
-+                    if balancing:
-+                        delay = min(delay * 2, remaining, 0.05)
-+                    else:
-+                        delay = remaining
-                     _sleep(delay)
-                 if not gotit:
-                     if __debug__:
-@@ -599,7 +602,7 @@ class _Event(_Verbose):
-         with self.__cond:
-             self.__flag = False
--    def wait(self, timeout=None):
-+    def wait(self, timeout=None, balancing=True):
-         """Block until the internal flag is true.
-         If the internal flag is true on entry, return immediately. Otherwise,
-@@ -617,7 +620,7 @@ class _Event(_Verbose):
-         """
-         with self.__cond:
-             if not self.__flag:
--                self.__cond.wait(timeout)
-+                self.__cond.wait(timeout, balancing)
-             return self.__flag
-
- # Helper to generate new thread names
-@@ -908,7 +911,7 @@ class Thread(_Verbose):
-             if 'dummy_threading' not in _sys.modules:
-                 raise
--    def join(self, timeout=None):
-+    def join(self, timeout=None, balancing=True):
-         """Wait until the thread terminates.
-         This blocks the calling thread until the thread whose join() method is
-@@ -957,7 +960,7 @@ class Thread(_Verbose):
-                         if __debug__:
-                             self._note("%s.join(): timed out", self)
-                         break
--                    self.__block.wait(delay)
-+                    self.__block.wait(delay, balancing)
-                 else:
-                     if __debug__:
-                         self._note("%s.join(): thread stopped", self)
-@@ -1143,7 +1146,7 @@ class _DummyThread(Thread):
-     def _set_daemon(self):
-         return True
--    def join(self, timeout=None):
-+    def join(self, timeout=None, balancing=True):
-         assert False, "cannot join a dummy thread"
diff --git a/python/patches/00185-urllib2-honors-noproxy-for-ftp.patch b/python/patches/00185-urllib2-honors-noproxy-for-ftp.patch
deleted file mode 100644 (file)
index b26c4d4..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -up Python-2.7.5/Lib/urllib2.py.orig Python-2.7.5/Lib/urllib2.py
---- Python-2.7.5/Lib/urllib2.py.orig   2013-07-17 12:22:58.595525622 +0200
-+++ Python-2.7.5/Lib/urllib2.py        2013-07-17 12:19:59.875898030 +0200
-@@ -728,6 +728,8 @@ class ProxyHandler(BaseHandler):
-         if proxy_type is None:
-             proxy_type = orig_type
-+        req.get_host()
-+
-         if req.host and proxy_bypass(req.host):
-             return None
diff --git a/python/patches/00187-add-RPATH-to-pyexpat.patch b/python/patches/00187-add-RPATH-to-pyexpat.patch
deleted file mode 100644 (file)
index 0ac5227..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-diff -r e8b8279ca118 setup.py
---- a/setup.py Sun Jul 21 21:57:52 2013 -0400
-+++ b/setup.py Tue Aug 20 09:45:31 2013 +0200
-@@ -1480,12 +1480,21 @@
-                              'expat/xmltok_impl.h'
-                              ]
-+        # Add an explicit RPATH to pyexpat.so pointing at the directory
-+        # containing the system expat (which has the extra XML_SetHashSalt
-+        # symbol), to avoid an ImportError with a link error if there's an
-+        # LD_LIBRARY_PATH containing a "vanilla" build of expat (without the
-+        # symbol) (rhbz#833271):
-+        EXPAT_RPATH = '/usr/lib64' if sys.maxint == 0x7fffffffffffffff else '/usr/lib'
-+
-+
-         exts.append(Extension('pyexpat',
-                               define_macros = define_macros,
-                               include_dirs = expat_inc,
-                               libraries = expat_lib,
-                               sources = ['pyexpat.c'] + expat_sources,
-                               depends = expat_depends,
-+                              extra_link_args = ['-Wl,-rpath,%s' % EXPAT_RPATH]
-                               ))
-         # Fredrik Lundh's cElementTree module.  Note that this also
diff --git a/python/patches/00189-use-rpm-wheels.patch b/python/patches/00189-use-rpm-wheels.patch
deleted file mode 100644 (file)
index d7428f8..0000000
+++ /dev/null
@@ -1,71 +0,0 @@
-diff --git a/Lib/ensurepip/__init__.py b/Lib/ensurepip/__init__.py
-index 89ed1ef..8008222 100644
---- a/Lib/ensurepip/__init__.py
-+++ b/Lib/ensurepip/__init__.py
-@@ -1,9 +1,10 @@
- #!/usr/bin/env python2
- from __future__ import print_function
-+import distutils.version
-+import glob
- import os
- import os.path
--import pkgutil
- import shutil
- import sys
- import tempfile
-@@ -11,10 +12,20 @@ import tempfile
- __all__ = ["version", "bootstrap"]
-+_WHEEL_DIR = "/usr/share/python-wheels/"
--_SETUPTOOLS_VERSION = "39.0.1"
--_PIP_VERSION = "9.0.3"
-+def _get_most_recent_wheel_version(pkg):
-+    prefix = os.path.join(_WHEEL_DIR, "{}-".format(pkg))
-+    suffix = "-py2.py3-none-any.whl"
-+    pattern = "{}*{}".format(prefix, suffix)
-+    versions = (p[len(prefix):-len(suffix)] for p in glob.glob(pattern))
-+    return str(max(versions, key=distutils.version.LooseVersion))
-+
-+
-+_SETUPTOOLS_VERSION = _get_most_recent_wheel_version("setuptools")
-+
-+_PIP_VERSION = _get_most_recent_wheel_version("pip")
- _PROJECTS = [
-     ("setuptools", _SETUPTOOLS_VERSION),
-@@ -28,8 +39,13 @@ def _run_pip(args, additional_paths=None):
-         sys.path = additional_paths + sys.path
-     # Install the bundled software
--    import pip
--    return pip.main(args)
-+    try:
-+        # pip 10
-+        from pip._internal import main
-+    except ImportError:
-+        # pip 9
-+        from pip import main
-+    return main(args)
- def version():
-@@ -100,12 +116,9 @@ def _bootstrap(root=None, upgrade=False, user=False,
-         additional_paths = []
-         for project, version in _PROJECTS:
-             wheel_name = "{}-{}-py2.py3-none-any.whl".format(project, version)
--            whl = pkgutil.get_data(
--                "ensurepip",
--                "_bundled/{}".format(wheel_name),
--            )
--            with open(os.path.join(tmpdir, wheel_name), "wb") as fp:
--                fp.write(whl)
-+            with open(os.path.join(_WHEEL_DIR, wheel_name), "rb") as sfp:
-+                with open(os.path.join(tmpdir, wheel_name), "wb") as fp:
-+                    fp.write(sfp.read())
-             additional_paths.append(os.path.join(tmpdir, wheel_name))
diff --git a/python/patches/00190-gdb-py-bt-dont-raise-exception-from-eval.patch b/python/patches/00190-gdb-py-bt-dont-raise-exception-from-eval.patch
deleted file mode 100644 (file)
index 4ef2a5d..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
---- Python-2.7.5-orig/Tools/gdb/libpython.py   2013-05-12 03:32:54.000000000 +0000
-+++ Python-2.7.5-orig/Tools/gdb/libpython.py   2013-09-15 09:56:25.494000000 +0000
-@@ -887,6 +887,8 @@ 
-         newline character'''
-         if self.is_optimized_out():
-             return '(frame information optimized out)'
-+        if self.filename() == '<string>':
-+            return '(in an eval block)'
-         filename = self.filename()
-         try:
-             f = open(filename, 'r')
diff --git a/python/patches/00191-disable-NOOP.patch b/python/patches/00191-disable-NOOP.patch
deleted file mode 100644 (file)
index 2d4189a..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-diff --git a/Lib/test/test_smtplib.py b/Lib/test/test_smtplib.py
-index 1bb6690..28ed25d 100644
---- a/Lib/test/test_smtplib.py
-+++ b/Lib/test/test_smtplib.py
-@@ -182,6 +182,7 @@ class DebuggingServerTests(unittest.TestCase):
-         smtp = smtplib.SMTP(HOST, self.port, local_hostname='localhost', timeout=15)
-         smtp.quit()
-+    @unittest._skipInRpmBuild("Does not work in network-free environment")
-     def testNOOP(self):
-         smtp = smtplib.SMTP(HOST, self.port, local_hostname='localhost', timeout=15)
-         expected = (250, 'Ok')
diff --git a/python/patches/00193-enable-loading-sqlite-extensions.patch b/python/patches/00193-enable-loading-sqlite-extensions.patch
deleted file mode 100644 (file)
index 36d053a..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
---- Python-2.7.5/setup.py.orig  2013-05-11 20:32:54.000000000 -0700
-+++ Python-2.7.5/setup.py  2014-02-18 14:16:07.999004901 -0800
-@@ -1168,7 +1168,7 @@ class PyBuildExt(build_ext):
-                 sqlite_defines.append(('MODULE_NAME', '\\"sqlite3\\"'))
-             # Comment this out if you want the sqlite3 module to be able to load extensions.
--            sqlite_defines.append(("SQLITE_OMIT_LOAD_EXTENSION", "1"))
-+            #sqlite_defines.append(("SQLITE_OMIT_LOAD_EXTENSION", "1"))
-             if host_platform == 'darwin':
-                 # In every directory on the search path search for a dynamic
diff --git a/python/patches/00289-disable-nis-detection.patch b/python/patches/00289-disable-nis-detection.patch
deleted file mode 100644 (file)
index 4e185bb..0000000
+++ /dev/null
@@ -1,69 +0,0 @@
-diff --git a/setup.py b/setup.py
-index 585e380..9993f11 100644
---- a/setup.py
-+++ b/setup.py
-@@ -1346,11 +1346,7 @@ class PyBuildExt(build_ext):
-             else:
-                 missing.append('resource')
--            nis = self._detect_nis(inc_dirs, lib_dirs)
--            if nis is not None:
--                exts.append(nis)
--            else:
--                missing.append('nis')
-+            # nis (Sun yellow pages) is handled in Setup.dist
-         # Curses support, requiring the System V version of curses, often
-         # provided by the ncurses library.
-@@ -2162,51 +2158,6 @@ class PyBuildExt(build_ext):
-             # for dlopen, see bpo-32647
-             ext.libraries.append('dl')
--    def _detect_nis(self, inc_dirs, lib_dirs):
--        if host_platform in {'win32', 'cygwin', 'qnx6'}:
--            return None
--
--        libs = []
--        library_dirs = []
--        includes_dirs = []
--
--        # bpo-32521: glibc has deprecated Sun RPC for some time. Fedora 28
--        # moved headers and libraries to libtirpc and libnsl. The headers
--        # are in tircp and nsl sub directories.
--        rpcsvc_inc = find_file(
--            'rpcsvc/yp_prot.h', inc_dirs,
--            [os.path.join(inc_dir, 'nsl') for inc_dir in inc_dirs]
--        )
--        rpc_inc = find_file(
--            'rpc/rpc.h', inc_dirs,
--            [os.path.join(inc_dir, 'tirpc') for inc_dir in inc_dirs]
--        )
--        if rpcsvc_inc is None or rpc_inc is None:
--            # not found
--            return None
--        includes_dirs.extend(rpcsvc_inc)
--        includes_dirs.extend(rpc_inc)
--
--        if self.compiler.find_library_file(lib_dirs, 'nsl'):
--            libs.append('nsl')
--        else:
--            # libnsl-devel: check for libnsl in nsl/ subdirectory
--            nsl_dirs = [os.path.join(lib_dir, 'nsl') for lib_dir in lib_dirs]
--            libnsl = self.compiler.find_library_file(nsl_dirs, 'nsl')
--            if libnsl is not None:
--                library_dirs.append(os.path.dirname(libnsl))
--                libs.append('nsl')
--
--        if self.compiler.find_library_file(lib_dirs, 'tirpc'):
--            libs.append('tirpc')
--
--        return Extension(
--            'nis', ['nismodule.c'],
--            libraries=libs,
--            library_dirs=library_dirs,
--            include_dirs=includes_dirs
--        )
--
- class PyBuildInstall(install):
-     # Suppress the warning about installation into the lib_dynload
diff --git a/python/patches/00309-shutil-spawn-subprocess.patch b/python/patches/00309-shutil-spawn-subprocess.patch
deleted file mode 100644 (file)
index adc56c4..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-From add531a1e55b0a739b0f42582f1c9747e5649ace Mon Sep 17 00:00:00 2001
-From: Benjamin Peterson <benjamin@python.org>
-Date: Tue, 28 Aug 2018 22:12:56 -0700
-Subject: [PATCH] closes bpo-34540: Convert shutil._call_external_zip to use
- subprocess rather than distutils.spawn.
-
----
- Lib/shutil.py                                    | 16 ++++++++++------
- .../2018-08-28-22-11-54.bpo-34540.gfQ0TM.rst     |  3 +++
- 2 files changed, 13 insertions(+), 6 deletions(-)
- create mode 100644 Misc/NEWS.d/next/Security/2018-08-28-22-11-54.bpo-34540.gfQ0TM.rst
-
-diff --git a/Lib/shutil.py b/Lib/shutil.py
-index 3462f7c5e91c..0ab1a06f5260 100644
---- a/Lib/shutil.py
-+++ b/Lib/shutil.py
-@@ -413,17 +413,21 @@ def _set_uid_gid(tarinfo):
-     return archive_name
--def _call_external_zip(base_dir, zip_filename, verbose=False, dry_run=False):
-+def _call_external_zip(base_dir, zip_filename, verbose, dry_run, logger):
-     # XXX see if we want to keep an external call here
-     if verbose:
-         zipoptions = "-r"
-     else:
-         zipoptions = "-rq"
--    from distutils.errors import DistutilsExecError
--    from distutils.spawn import spawn
-+    cmd = ["zip", zipoptions, zip_filename, base_dir]
-+    if logger is not None:
-+        logger.info(' '.join(cmd))
-+    if dry_run:
-+        return
-+    import subprocess
-     try:
--        spawn(["zip", zipoptions, zip_filename, base_dir], dry_run=dry_run)
--    except DistutilsExecError:
-+        subprocess.check_call(cmd)
-+    except subprocess.CalledProcessError:
-         # XXX really should distinguish between "couldn't find
-         # external 'zip' command" and "zip failed".
-         raise ExecError, \
-@@ -458,7 +462,7 @@ def _make_zipfile(base_name, base_dir, verbose=0, dry_run=0, logger=None):
-         zipfile = None
-     if zipfile is None:
--        _call_external_zip(base_dir, zip_filename, verbose, dry_run)
-+        _call_external_zip(base_dir, zip_filename, verbose, dry_run, logger)
-     else:
-         if logger is not None:
-             logger.info("creating '%s' and adding '%s' to it",
-diff --git a/Misc/NEWS.d/next/Security/2018-08-28-22-11-54.bpo-34540.gfQ0TM.rst b/Misc/NEWS.d/next/Security/2018-08-28-22-11-54.bpo-34540.gfQ0TM.rst
-new file mode 100644
-index 000000000000..4f686962a87b
---- /dev/null
-+++ b/Misc/NEWS.d/next/Security/2018-08-28-22-11-54.bpo-34540.gfQ0TM.rst
-@@ -0,0 +1,3 @@
-+When ``shutil.make_archive`` falls back to the external ``zip`` problem, it
-+uses :mod:`subprocess` to invoke it rather than :mod:`distutils.spawn`. This
-+closes a possible shell injection vector.
diff --git a/python/patches/00310-use-xml-sethashsalt-in-elementtree.patch b/python/patches/00310-use-xml-sethashsalt-in-elementtree.patch
deleted file mode 100644 (file)
index 27d8d1c..0000000
+++ /dev/null
@@ -1,85 +0,0 @@
-From 554c48934c599b3fb04c73d740bba1a745b89b41 Mon Sep 17 00:00:00 2001
-From: Christian Heimes <christian@python.org>
-Date: Tue, 18 Sep 2018 14:38:58 +0200
-Subject: [PATCH] [2.7] bpo-34623: Use XML_SetHashSalt in _elementtree
- (GH-9146)
-
-The C accelerated _elementtree module now initializes hash randomization
-salt from _Py_HashSecret instead of libexpat's default CPRNG.
-
-Signed-off-by: Christian Heimes <christian@python.org>
-
-https://bugs.python.org/issue34623.
-(cherry picked from commit cb5778f00ce48631c7140f33ba242496aaf7102b)
-
-Co-authored-by: Christian Heimes <christian@python.org>
----
- Include/pyexpat.h                                            | 4 +++-
- .../next/Security/2018-09-10-16-05-39.bpo-34623.Ua9jMv.rst   | 2 ++
- Modules/_elementtree.c                                       | 5 +++++
- Modules/pyexpat.c                                            | 5 +++++
- 4 files changed, 15 insertions(+), 1 deletion(-)
- create mode 100644 Misc/NEWS.d/next/Security/2018-09-10-16-05-39.bpo-34623.Ua9jMv.rst
-
-diff --git a/Include/pyexpat.h b/Include/pyexpat.h
-index 5340ef5fa386..3fc5fa54da63 100644
---- a/Include/pyexpat.h
-+++ b/Include/pyexpat.h
-@@ -3,7 +3,7 @@
- /* note: you must import expat.h before importing this module! */
--#define PyExpat_CAPI_MAGIC  "pyexpat.expat_CAPI 1.0"
-+#define PyExpat_CAPI_MAGIC  "pyexpat.expat_CAPI 1.1"
- #define PyExpat_CAPSULE_NAME "pyexpat.expat_CAPI"
- struct PyExpat_CAPI 
-@@ -43,6 +43,8 @@ struct PyExpat_CAPI
-         XML_Parser parser, XML_UnknownEncodingHandler handler,
-         void *encodingHandlerData);
-     void (*SetUserData)(XML_Parser parser, void *userData);
-+    /* might be none for expat < 2.1.0 */
-+    int (*SetHashSalt)(XML_Parser parser, unsigned long hash_salt);
-     /* always add new stuff to the end! */
- };
-diff --git a/Misc/NEWS.d/next/Security/2018-09-10-16-05-39.bpo-34623.Ua9jMv.rst b/Misc/NEWS.d/next/Security/2018-09-10-16-05-39.bpo-34623.Ua9jMv.rst
-new file mode 100644
-index 000000000000..31ad92ef8582
---- /dev/null
-+++ b/Misc/NEWS.d/next/Security/2018-09-10-16-05-39.bpo-34623.Ua9jMv.rst
-@@ -0,0 +1,2 @@
-+The C accelerated _elementtree module now initializes hash randomization
-+salt from _Py_HashSecret instead of libexpat's default CSPRNG.
-diff --git a/Modules/_elementtree.c b/Modules/_elementtree.c
-index f7f992dd3a95..b38e0ab329c7 100644
---- a/Modules/_elementtree.c
-+++ b/Modules/_elementtree.c
-@@ -2574,6 +2574,11 @@ xmlparser(PyObject* self_, PyObject* args, PyObject* kw)
-         PyErr_NoMemory();
-         return NULL;
-     }
-+    /* expat < 2.1.0 has no XML_SetHashSalt() */
-+    if (EXPAT(SetHashSalt) != NULL) {
-+        EXPAT(SetHashSalt)(self->parser,
-+                           (unsigned long)_Py_HashSecret.prefix);
-+    }
-     ALLOC(sizeof(XMLParserObject), "create expatparser");
-diff --git a/Modules/pyexpat.c b/Modules/pyexpat.c
-index 2b4d31293c64..1f8c0d70a559 100644
---- a/Modules/pyexpat.c
-+++ b/Modules/pyexpat.c
-@@ -2042,6 +2042,11 @@ MODULE_INITFUNC(void)
-     capi.SetProcessingInstructionHandler = XML_SetProcessingInstructionHandler;
-     capi.SetUnknownEncodingHandler = XML_SetUnknownEncodingHandler;
-     capi.SetUserData = XML_SetUserData;
-+#if XML_COMBINED_VERSION >= 20100
-+    capi.SetHashSalt = XML_SetHashSalt;
-+#else
-+    capi.SetHashSalt = NULL;
-+#endif
-     /* export using capsule */
-     capi_object = PyCapsule_New(&capi, PyExpat_CAPSULE_NAME, NULL);
diff --git a/python/patches/05000-autotool-intermediates.patch b/python/patches/05000-autotool-intermediates.patch
deleted file mode 100644 (file)
index dfe0257..0000000
+++ /dev/null
@@ -1,207 +0,0 @@
-diff -up ./configure.autotool-intermediates ./configure
---- ./configure.autotool-intermediates 2013-04-09 11:24:01.024185796 +0200
-+++ ./configure        2013-04-09 11:24:01.780183954 +0200
-@@ -639,6 +639,8 @@ TRUE
- MACHDEP_OBJS
- DYNLOADFILE
- DLINCLDIR
-+DTRACEHDRS
-+DTRACEOBJS
- THREADOBJ
- LDLAST
- USE_THREAD_MODULE
-@@ -659,6 +661,8 @@ OTHER_LIBTOOL_OPT
- UNIVERSAL_ARCH_FLAGS
- BASECFLAGS
- OPT
-+DEBUG_SUFFIX
-+DEBUG_EXT
- LN
- MKDIR_P
- INSTALL_DATA
-@@ -795,8 +799,11 @@ with_pth
- enable_ipv6
- with_doc_strings
- with_tsc
-+with_count_allocs
-+with_call_profile
- with_pymalloc
- with_valgrind
-+with_dtrace
- with_wctype_functions
- with_fpectl
- with_libm
-@@ -1472,8 +1479,11 @@ Optional Packages:
-   --with-pth              use GNU pth threading libraries
-   --with(out)-doc-strings disable/enable documentation strings
-   --with(out)-tsc         enable/disable timestamp counter profile
-+  --with(out)count-allocs  enable/disable per-type instance accounting
-+  --with(out)-call-profile  enable/disable statistics on function call invocation
-   --with(out)-pymalloc    disable/enable specialized mallocs
-   --with-valgrind         Enable Valgrind support
-+  --with(out)-dtrace      disable/enable dtrace support
-   --with-wctype-functions use wctype.h functions
-   --with-fpectl           enable SIGFPE catching
-   --with-libm=STRING      math library
-@@ -5343,8 +5353,8 @@ $as_echo "#define Py_ENABLE_SHARED 1" >>
-         INSTSONAME="$LDLIBRARY".$SOVERSION
-           ;;
-     Linux*|GNU*|NetBSD*|FreeBSD*|DragonFly*|OpenBSD*)
--        LDLIBRARY='libpython$(VERSION).so'
--        BLDLIBRARY='-L. -lpython$(VERSION)'
-+        LDLIBRARY='libpython$(VERSION)$(DEBUG_EXT).so'
-+        BLDLIBRARY='-L. -lpython$(VERSION)$(DEBUG_EXT)'
-         RUNSHARED=LD_LIBRARY_PATH=`pwd`${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
-         case $ac_sys_system in
-             FreeBSD*)
-@@ -5367,7 +5377,7 @@ $as_echo "#define Py_ENABLE_SHARED 1" >>
-         ;;
-     OSF*)
-         LDLIBRARY='libpython$(VERSION).so'
--        BLDLIBRARY='-rpath $(LIBDIR) -L. -lpython$(VERSION)'
-+        BLDLIBRARY='-L. -lpython$(VERSION)'
-         RUNSHARED=LD_LIBRARY_PATH=`pwd`${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
-         ;;
-     atheos*)
-@@ -5894,6 +5904,14 @@ $as_echo "no" >&6; }
- fi
-+if test "$Py_DEBUG" = 'true'
-+then
-+      DEBUG_EXT=_d
-+      DEBUG_SUFFIX=-debug
-+fi
-+
-+
-+
- # XXX Shouldn't the code above that fiddles with BASECFLAGS and OPT be
- # merged with this chunk of code?
-@@ -9958,6 +9976,50 @@ $as_echo "no" >&6; }
- fi
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for --with-count-allocs" >&5
-+$as_echo_n "checking for --with-count-allocs... " >&6; }
-+
-+# Check whether --with-count-allocs was given.
-+if test "${with_count_allocs+set}" = set; then :
-+  withval=$with_count_allocs;
-+if test "$withval" != no
-+then
-+
-+$as_echo "#define COUNT_ALLOCS 1" >>confdefs.h
-+
-+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-+$as_echo "yes" >&6; }
-+else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-+$as_echo "no" >&6; }
-+fi
-+else
-+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-+$as_echo "no" >&6; }
-+fi
-+
-+
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for --with-call-profile" >&5
-+$as_echo_n "checking for --with-call-profile... " >&6; }
-+
-+# Check whether --with-call-profile was given.
-+if test "${with_call_profile+set}" = set; then :
-+  withval=$with_call_profile;
-+if test "$withval" != no
-+then
-+
-+$as_echo "#define CALL_PROFILE 1" >>confdefs.h
-+
-+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-+$as_echo "yes" >&6; }
-+else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-+$as_echo "no" >&6; }
-+fi
-+else
-+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-+$as_echo "no" >&6; }
-+fi
-+
-+
- # Check for Python-specific malloc support
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for --with-pymalloc" >&5
- $as_echo_n "checking for --with-pymalloc... " >&6; }
-@@ -10007,6 +10069,46 @@ fi
- fi
-+# Check for dtrace support
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for --with-dtrace" >&5
-+$as_echo_n "checking for --with-dtrace... " >&6; }
-+
-+# Check whether --with-dtrace was given.
-+if test "${with_dtrace+set}" = set; then :
-+  withval=$with_dtrace;
-+fi
-+
-+
-+if test ! -z "$with_dtrace"
-+then
-+    if dtrace -G -o /dev/null -s $srcdir/Include/pydtrace.d 2>/dev/null
-+    then
-+
-+$as_echo "#define WITH_DTRACE 1" >>confdefs.h
-+
-+      with_dtrace="Sun"
-+      DTRACEOBJS="Python/dtrace.o"
-+      DTRADEHDRS=""
-+    elif dtrace -h -o /dev/null -s $srcdir/Include/pydtrace.d
-+    then
-+
-+$as_echo "#define WITH_DTRACE 1" >>confdefs.h
-+
-+      with_dtrace="Apple"
-+      DTRACEOBJS=""
-+      DTRADEHDRS="pydtrace.h"
-+    else
-+      with_dtrace="no"
-+    fi
-+else
-+    with_dtrace="no"
-+fi
-+
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_dtrace" >&5
-+$as_echo "$with_dtrace" >&6; }
-+
-+
-+
- # Check for --with-wctype-functions
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for --with-wctype-functions" >&5
- $as_echo_n "checking for --with-wctype-functions... " >&6; }
-diff -up ./pyconfig.h.in.autotool-intermediates ./pyconfig.h.in
---- ./pyconfig.h.in.autotool-intermediates     2013-04-09 11:24:01.020185806 +0200
-+++ ./pyconfig.h.in    2013-04-09 11:24:02.088183204 +0200
-@@ -18,6 +18,12 @@
- /* Define this if you have BeOS threads. */
- #undef BEOS_THREADS
-+/* Define to keep records on function call invocation */
-+#undef CALL_PROFILE
-+
-+/* Define to keep records of the number of instances of each type */
-+#undef COUNT_ALLOCS
-+
- /* Define if you have the Mach cthreads package */
- #undef C_THREADS
-@@ -1119,12 +1125,6 @@
- /* Define to profile with the Pentium timestamp counter */
- #undef WITH_TSC
--/* Define to keep records of the number of instances of each type */
--#undef COUNT_ALLOCS
--
--/* Define to keep records on function call invocation */
--#undef CALL_PROFILE
--
- /* Define if you want pymalloc to be disabled when running under valgrind */
- #undef WITH_VALGRIND
diff --git a/python/patches/python-2.3.4-lib64-regex.patch b/python/patches/python-2.3.4-lib64-regex.patch
deleted file mode 100644 (file)
index 2b38d4c..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
---- Python-2.3.4/Lib/test/test_re.py                   2004-04-20 23:32:33.000000000 +0200
-+++ Python-2.3.4/Lib/test/test_re.py.lib64-regex       2004-05-29 17:36:52.000000000 +0200
-@@ -497,6 +497,15 @@
-         self.assert_(re.compile('bug_926075') is not
-                      re.compile(eval("u'bug_926075'")))
-+    def test_bug_931848(self):
-+        try:
-+            unicode
-+        except NameError:
-+            pass
-+        pattern = eval('u"[\u002E\u3002\uFF0E\uFF61]"')
-+        self.assertEqual(re.compile(pattern).split("a.b.c"),
-+                         ['a','b','c'])
-+
- def run_re_tests():
-     from test.re_tests import benchmarks, tests, SUCCEED, FAIL, SYNTAX_ERROR
-     if verbose:
diff --git a/python/patches/python-2.5-cflags.patch b/python/patches/python-2.5-cflags.patch
deleted file mode 100644 (file)
index 32243bf..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
---- Python-2.5c1/Makefile.pre.in.cflags        2006-08-18 11:05:40.000000000 -0400
-+++ Python-2.5c1/Makefile.pre.in       2006-08-18 11:09:26.000000000 -0400
-@@ -334,7 +334,7 @@
- # Build the interpreter
- $(BUILDPYTHON):       Modules/python.o $(LIBRARY) $(LDLIBRARY)
--              $(LINKCC) $(LDFLAGS) $(LINKFORSHARED) -o $@ \
-+              $(LINKCC) $(CFLAGS) $(LDFLAGS) $(LINKFORSHARED) -o $@ \
-                       Modules/python.o \
-                       $(BLDLIBRARY) $(LIBS) $(MODLIBS) $(SYSLIBS) $(LDLAST)
diff --git a/python/patches/python-2.5.1-plural-fix.patch b/python/patches/python-2.5.1-plural-fix.patch
deleted file mode 100644 (file)
index 5002cb2..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -up Python-2.5.1/Lib/gettext.py.plural Python-2.5.1/Lib/gettext.py
---- Python-2.5.1/Lib/gettext.py.plural 2007-09-10 11:38:57.000000000 -0400
-+++ Python-2.5.1/Lib/gettext.py        2007-09-10 11:39:00.000000000 -0400
-@@ -299,6 +299,8 @@ class GNUTranslations(NullTranslations):
-                     item = item.strip()
-                     if not item:
-                         continue
-+                    if item.startswith("#"):
-+                        continue
-                     k = v = None
-                     if ':' in item:
-                         k, v = item.split(':', 1)
diff --git a/python/patches/python-2.5.1-sqlite-encoding.patch b/python/patches/python-2.5.1-sqlite-encoding.patch
deleted file mode 100644 (file)
index ff2a3f8..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-diff -up Python-2.5.1/Lib/sqlite3/dbapi2.py.encoding Python-2.5.1/Lib/sqlite3/dbapi2.py
---- Python-2.5.1/Lib/sqlite3/dbapi2.py.encoding        2007-09-14 10:41:50.000000000 -0400
-+++ Python-2.5.1/Lib/sqlite3/dbapi2.py 2007-09-14 10:42:00.000000000 -0400
-@@ -1,7 +1,6 @@
--# -*- coding: iso-8859-1 -*-
- # pysqlite2/dbapi2.py: the DB-API 2.0 interface
- #
--# Copyright (C) 2004-2005 Gerhard Häring <gh@ghaering.de>
-+# Copyright (C) 2004-2005 Gerhard Haering <gh@ghaering.de>
- #
- # This file is part of pysqlite.
- #
-diff -up Python-2.5.1/Lib/sqlite3/__init__.py.encoding Python-2.5.1/Lib/sqlite3/__init__.py
---- Python-2.5.1/Lib/sqlite3/__init__.py.encoding      2007-09-14 10:41:47.000000000 -0400
-+++ Python-2.5.1/Lib/sqlite3/__init__.py       2007-09-14 10:42:06.000000000 -0400
-@@ -1,7 +1,6 @@
--#-*- coding: ISO-8859-1 -*-
- # pysqlite2/__init__.py: the pysqlite2 package.
- #
--# Copyright (C) 2005 Gerhard Häring <gh@ghaering.de>
-+# Copyright (C) 2005 Gerhard Haering <gh@ghaering.de>
- #
- # This file is part of pysqlite.
- #
diff --git a/python/patches/python-2.6-rpath.patch b/python/patches/python-2.6-rpath.patch
deleted file mode 100644 (file)
index 33d7cf6..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -up Python-2.6/configure.ac.rpath Python-2.6/configure.ac
---- Python-2.6/configure.ac.rpath      2008-11-24 02:51:06.000000000 -0500
-+++ Python-2.6/configure.ac    2008-11-24 02:51:21.000000000 -0500
-@@ -729,7 +729,7 @@ if test $enable_shared = "yes"; then
-         ;;
-     OSF*)
-         LDLIBRARY='libpython$(VERSION).so'
--        BLDLIBRARY='-rpath $(LIBDIR) -L. -lpython$(VERSION)'
-+        BLDLIBRARY='-L. -lpython$(VERSION)'
-         RUNSHARED=LD_LIBRARY_PATH=`pwd`${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
-         ;;
-     atheos*)
diff --git a/python/patches/python-2.6.4-distutils-rpath.patch b/python/patches/python-2.6.4-distutils-rpath.patch
deleted file mode 100644 (file)
index f156507..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-diff -up Python-2.6.4/Lib/distutils/unixccompiler.py.distutils-rpath Python-2.6.4/Lib/distutils/unixccompiler.py
---- Python-2.6.4/Lib/distutils/unixccompiler.py.distutils-rpath        2009-09-09 04:34:06.000000000 -0400
-+++ Python-2.6.4/Lib/distutils/unixccompiler.py        2010-03-15 21:33:25.000000000 -0400
-@@ -142,6 +142,16 @@ class UnixCCompiler(CCompiler):
-     if sys.platform == "cygwin":
-         exe_extension = ".exe"
-+    def _fix_lib_args(self, libraries, library_dirs, runtime_library_dirs):
-+        """Remove standard library path from rpath"""
-+        libraries, library_dirs, runtime_library_dirs = \
-+            CCompiler._fix_lib_args(self, libraries, library_dirs,
-+                                    runtime_library_dirs)
-+        libdir = sysconfig.get_config_var('LIBDIR')
-+        if runtime_library_dirs and (libdir in runtime_library_dirs):
-+            runtime_library_dirs.remove(libdir)
-+        return libraries, library_dirs, runtime_library_dirs
-+
-     def preprocess(self, source,
-                    output_file=None, macros=None, include_dirs=None,
-                    extra_preargs=None, extra_postargs=None):
diff --git a/python/patches/python-2.7.1-config.patch b/python/patches/python-2.7.1-config.patch
deleted file mode 100644 (file)
index df9d4a6..0000000
+++ /dev/null
@@ -1,256 +0,0 @@
---- Python-2.7.4/Modules/Setup.dist.rhconfig   2013-04-06 16:02:34.000000000 +0200
-+++ Python-2.7.4/Modules/Setup.dist    2013-04-08 10:05:16.369985654 +0200
-@@ -153,7 +153,7 @@ GLHACK=-Dclear=__GLclear
- # modules are to be built as shared libraries (see above for more
- # detail; also note that *static* reverses this effect):
--#*shared*
-+*shared*
- # GNU readline.  Unlike previous Python incarnations, GNU readline is
- # now incorporated in an optional module, configured in the Setup file
-@@ -163,77 +163,77 @@ GLHACK=-Dclear=__GLclear
- # it, depending on your system -- see the GNU readline instructions.
- # It's okay for this to be a shared library, too.
--#readline readline.c -lreadline -ltermcap
-+readline readline.c -lreadline -ltermcap
- # Modules that should always be present (non UNIX dependent):
--#array arraymodule.c  # array objects
--#cmath cmathmodule.c _math.c # -lm # complex math library functions
--#math mathmodule.c _math.c # -lm # math library functions, e.g. sin()
--#_struct _struct.c    # binary structure packing/unpacking
--#time timemodule.c # -lm # time operations and variables
--#operator operator.c  # operator.add() and similar goodies
--#_testcapi _testcapimodule.c    # Python C API test module
--#_random _randommodule.c      # Random number generator
--#_collections _collectionsmodule.c # Container types
-+array arraymodule.c   # array objects
-+cmath cmathmodule.c _math.c # -lm # complex math library functions
-+math mathmodule.c _math.c # -lm # math library functions, e.g. sin()
-+_struct _struct.c     # binary structure packing/unpacking
-+time timemodule.c # -lm # time operations and variables
-+operator operator.c   # operator.add() and similar goodies
-+_testcapi _testcapimodule.c    # Python C API test module
-+_random _randommodule.c       # Random number generator
-+_collections _collectionsmodule.c # Container types
- #_heapq _heapqmodule.c                # Heapq type
--#itertools itertoolsmodule.c  # Functions creating iterators for efficient looping 
--#strop stropmodule.c          # String manipulations
--#_functools _functoolsmodule.c        # Tools for working with functions and callable objects
-+itertools itertoolsmodule.c   # Functions creating iterators for efficient looping 
-+strop stropmodule.c           # String manipulations
-+_functools _functoolsmodule.c # Tools for working with functions and callable objects
- #_elementtree -I$(srcdir)/Modules/expat -DHAVE_EXPAT_CONFIG_H -DUSE_PYEXPAT_CAPI _elementtree.c       # elementtree accelerator
- #_pickle _pickle.c    # pickle accelerator
- #datetime datetimemodule.c    # date/time type
--#_bisect _bisectmodule.c      # Bisection algorithms
-+_bisect _bisectmodule.c       # Bisection algorithms
--#unicodedata unicodedata.c    # static Unicode character database
-+unicodedata unicodedata.c    # static Unicode character database
- # access to ISO C locale support
--#_locale _localemodule.c  # -lintl
-+_locale _localemodule.c  # -lintl
- # Standard I/O baseline
- #_io -I$(srcdir)/Modules/_io _io/bufferedio.c _io/bytesio.c _io/fileio.c _io/iobase.c _io/_iomodule.c _io/stringio.c _io/textio.c
- # Modules with some UNIX dependencies -- on by default:
- # (If you have a really backward UNIX, select and socket may not be
- # supported...)
--#fcntl fcntlmodule.c  # fcntl(2) and ioctl(2)
--#spwd spwdmodule.c            # spwd(3) 
--#grp grpmodule.c              # grp(3)
--#select selectmodule.c        # select(2); not on ancient System V
-+fcntl fcntlmodule.c   # fcntl(2) and ioctl(2)
-+spwd spwdmodule.c             # spwd(3) 
-+grp grpmodule.c               # grp(3)
-+select selectmodule.c # select(2); not on ancient System V
- # Memory-mapped files (also works on Win32).
--#mmap mmapmodule.c
-+mmap mmapmodule.c
- # CSV file helper
--#_csv _csv.c
-+_csv _csv.c
- # Socket module helper for socket(2)
--#_socket socketmodule.c timemodule.c
-+_socket socketmodule.c timemodule.c
- # Socket module helper for SSL support; you must comment out the other
- # socket line above, and possibly edit the SSL variable:
- #SSL=/usr/local/ssl
--#_ssl _ssl.c \
--#     -DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl \
--#     -L$(SSL)/lib -lssl -lcrypto
-+_ssl _ssl.c \
-+      -DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl \
-+      -L$(SSL)/lib -lssl -lcrypto
- # The crypt module is now disabled by default because it breaks builds
- # on many systems (where -lcrypt is needed), e.g. Linux (I believe).
- #
- # First, look at Setup.config; configure may have set this for you.
--#crypt cryptmodule.c # -lcrypt        # crypt(3); needs -lcrypt on some systems
-+crypt cryptmodule.c # -lcrypt # crypt(3); needs -lcrypt on some systems
- # Some more UNIX dependent modules -- off by default, since these
- # are not supported by all UNIX systems:
--#nis nismodule.c -lnsl        # Sun yellow pages -- not everywhere
--#termios termios.c    # Steen Lumholt's termios module
--#resource resource.c  # Jeremy Hylton's rlimit interface
-+#nis nismodule.c -lnsl -ltirpc -I/usr/include/tirpc -I/usr/include/nsl -L/usr/lib/nsl
-+termios termios.c     # Steen Lumholt's termios module
-+resource resource.c   # Jeremy Hylton's rlimit interface
- # Multimedia modules -- off by default.
-@@ -238,8 +238,8 @@ GLHACK=-Dclear=__GLclear
- # #993173 says audioop works on 64-bit platforms, though.
- # These represent audio samples or images as strings:
--#audioop audioop.c    # Operations on audio samples
--#imageop imageop.c    # Operations on images
-+audioop audioop.c     # Operations on audio samples
-+imageop imageop.c     # Operations on images
- # Note that the _md5 and _sha modules are normally only built if the
-@@ -249,14 +249,14 @@ GLHACK=-Dclear=__GLclear
- # Message-Digest Algorithm, described in RFC 1321.  The necessary files
- # md5.c and md5.h are included here.
--#_md5 md5module.c md5.c
-+_md5 md5module.c md5.c
- # The _sha module implements the SHA checksum algorithms.
- # (NIST's Secure Hash Algorithms.)
--#_sha shamodule.c
--#_sha256 sha256module.c
--#_sha512 sha512module.c
-+_sha shamodule.c
-+_sha256 sha256module.c
-+_sha512 sha512module.c
- # SGI IRIX specific modules -- off by default.
-@@ -303,12 +303,12 @@ GLHACK=-Dclear=__GLclear
- # A Linux specific module -- off by default; this may also work on 
- # some *BSDs.
--#linuxaudiodev linuxaudiodev.c
-+linuxaudiodev linuxaudiodev.c
- # George Neville-Neil's timing module:
--#timing timingmodule.c
-+timing timingmodule.c
- # The _tkinter module.
-@@ -352,7 +352,7 @@ GLHACK=-Dclear=__GLclear
- # *** Uncomment for AIX:
- #     -lld \
- # *** Always uncomment this; X11 libraries to link with:
--#     -lX11
-+      -lX11
- # Lance Ellinghaus's syslog module
- #syslog syslogmodule.c                # syslog daemon interface
-@@ -374,7 +374,7 @@ GLHACK=-Dclear=__GLclear
- # it is a highly experimental and dangerous device for calling
- # *arbitrary* C functions in *arbitrary* shared libraries:
--#dl dlmodule.c
-+dl dlmodule.c
- # Modules that provide persistent dictionary-like semantics.  You will
-@@ -397,7 +397,7 @@ GLHACK=-Dclear=__GLclear
- #
- # First, look at Setup.config; configure may have set this for you.
--#gdbm gdbmmodule.c -I/usr/local/include -L/usr/local/lib -lgdbm
-+gdbm gdbmmodule.c -lgdbm
- # Sleepycat Berkeley DB interface.
-@@ -412,11 +412,9 @@ GLHACK=-Dclear=__GLclear
- #
- # Edit the variables DB and DBLIBVERto point to the db top directory
- # and the subdirectory of PORT where you built it.
--#DB=/usr/local/BerkeleyDB.4.0
--#DBLIBVER=4.0
--#DBINC=$(DB)/include
--#DBLIB=$(DB)/lib
--#_bsddb _bsddb.c -I$(DBINC) -L$(DBLIB) -ldb-$(DBLIBVER)
-+DBINC=/usr/include/libdb
-+DBLIB=/usr/lib
-+_bsddb _bsddb.c -I$(DBINC) -L$(DBLIB) -ldb
- # Historical Berkeley DB 1.85
- #
-@@ -431,14 +430,14 @@ GLHACK=-Dclear=__GLclear
- # Helper module for various ascii-encoders
--#binascii binascii.c
-+binascii binascii.c
- # Fred Drake's interface to the Python parser
--#parser parsermodule.c
-+parser parsermodule.c
- # cStringIO and cPickle
--#cStringIO cStringIO.c
--#cPickle cPickle.c
-+cStringIO cStringIO.c
-+cPickle cPickle.c
- # Lee Busby's SIGFPE modules.
-@@ -461,7 +460,7 @@ GLHACK=-Dclear=__GLclear
- # Andrew Kuchling's zlib module.
- # This require zlib 1.1.3 (or later).
- # See http://www.gzip.org/zlib/
--#zlib zlibmodule.c -I$(prefix)/include -L$(exec_prefix)/lib -lz
-+zlib zlibmodule.c -I$(prefix)/include -L$(exec_prefix)/lib -lz
- # Interface to the Expat XML parser
- #
-@@ -480,14 +479,14 @@ GLHACK=-Dclear=__GLclear
- # Hye-Shik Chang's CJKCodecs
- # multibytecodec is required for all the other CJK codec modules
--#_multibytecodec cjkcodecs/multibytecodec.c
-+_multibytecodec cjkcodecs/multibytecodec.c
--#_codecs_cn cjkcodecs/_codecs_cn.c
--#_codecs_hk cjkcodecs/_codecs_hk.c
--#_codecs_iso2022 cjkcodecs/_codecs_iso2022.c
--#_codecs_jp cjkcodecs/_codecs_jp.c
--#_codecs_kr cjkcodecs/_codecs_kr.c
--#_codecs_tw cjkcodecs/_codecs_tw.c
-+_codecs_cn cjkcodecs/_codecs_cn.c
-+_codecs_hk cjkcodecs/_codecs_hk.c
-+_codecs_iso2022 cjkcodecs/_codecs_iso2022.c
-+_codecs_jp cjkcodecs/_codecs_jp.c
-+_codecs_kr cjkcodecs/_codecs_kr.c
-+_codecs_tw cjkcodecs/_codecs_tw.c
- # Example -- included for reference only:
- # xx xxmodule.c
diff --git a/python/patches/python-2.7.1-fix_test_abc_with_COUNT_ALLOCS.patch b/python/patches/python-2.7.1-fix_test_abc_with_COUNT_ALLOCS.patch
deleted file mode 100644 (file)
index bb38281..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-diff -up Python-2.7.1/Lib/test/test_abc.py.cache_leak Python-2.7.1/Lib/test/test_abc.py
---- Python-2.7.1/Lib/test/test_abc.py.cache_leak       2010-12-28 18:06:35.551938356 -0500
-+++ Python-2.7.1/Lib/test/test_abc.py  2010-12-28 18:09:09.021059202 -0500
-@@ -3,6 +3,8 @@
- """Unit tests for abc.py."""
-+import sys
-+
- import unittest, weakref
- from test import test_support
-@@ -229,8 +231,12 @@ class TestABC(unittest.TestCase):
-         # Trigger cache.
-         C().f()
-         del C
--        test_support.gc_collect()
--        self.assertEqual(r(), None)
-+        # This doesn't work in our debug build, presumably due to its use
-+        # of COUNT_ALLOCS, which makes heap-allocated types immortal (once
-+        # they've ever had an instance):
-+        if not hasattr(sys, 'getcounts'):
-+            test_support.gc_collect()
-+            self.assertEqual(r(), None)
- def test_main():
-     test_support.run_unittest(TestABC)
diff --git a/python/patches/python-2.7.2-add-extension-suffix-to-python-config.patch b/python/patches/python-2.7.2-add-extension-suffix-to-python-config.patch
deleted file mode 100644 (file)
index d1ff052..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-diff -up Python-2.7.2/Misc/python-config.in.add-extension-suffix-to-python-config Python-2.7.2/Misc/python-config.in
---- Python-2.7.2/Misc/python-config.in.add-extension-suffix-to-python-config   2011-08-23 18:15:41.832497124 -0400
-+++ Python-2.7.2/Misc/python-config.in 2011-08-23 18:17:25.854490011 -0400
-@@ -6,7 +6,7 @@ import getopt
- from distutils import sysconfig
- valid_opts = ['prefix', 'exec-prefix', 'includes', 'libs', 'cflags',
--              'ldflags', 'help']
-+              'ldflags', 'extension-suffix', 'help']
- def exit_with_usage(code=1):
-     print >>sys.stderr, "Usage: %s [%s]" % (sys.argv[0],
-@@ -54,3 +54,5 @@ for opt in opt_flags:
-                 libs.extend(getvar('LINKFORSHARED').split())
-         print ' '.join(libs)
-+    elif opt == '--extension-suffix':
-+        print (sys.pydebug and "_d" or "") + sysconfig.get_config_var('SO')
diff --git a/python/patches/python-2.7rc1-socketmodule-constants.patch b/python/patches/python-2.7rc1-socketmodule-constants.patch
deleted file mode 100644 (file)
index c32e103..0000000
+++ /dev/null
@@ -1,64 +0,0 @@
---- Python-2.7rc1/Modules/socketmodule.c.socketmodule  2010-05-09 10:46:46.000000000 -0400
-+++ Python-2.7rc1/Modules/socketmodule.c       2010-06-07 23:04:19.374234780 -0400
-@@ -4783,6 +4783,61 @@ init_socket(void)
-     PyModule_AddIntConstant(m, "SO_SETFIB", SO_SETFIB);
- #endif
-+#ifdef        SO_SNDBUFFORCE
-+    PyModule_AddIntConstant(m, "SO_SNDBUFFORCE", SO_SNDBUFFORCE);
-+#endif
-+#ifdef        SO_RCVBUFFORCE
-+    PyModule_AddIntConstant(m, "SO_RCVBUFFORCE", SO_RCVBUFFORCE);
-+#endif
-+#ifdef        SO_NO_CHECK
-+    PyModule_AddIntConstant(m, "SO_NO_CHECK", SO_NO_CHECK);
-+#endif
-+#ifdef        SO_PRIORITY
-+    PyModule_AddIntConstant(m, "SO_PRIORITY", SO_PRIORITY);
-+#endif
-+#ifdef        SO_BSDCOMPAT
-+    PyModule_AddIntConstant(m, "SO_BSDCOMPAT", SO_BSDCOMPAT);
-+#endif
-+#ifdef        SO_PASSCRED
-+    PyModule_AddIntConstant(m, "SO_PASSCRED", SO_PASSCRED);
-+#endif
-+#ifdef        SO_PEERCRED
-+    PyModule_AddIntConstant(m, "SO_PEERCRED", SO_PEERCRED);
-+#endif
-+#ifdef        SO_SECURITY_AUTHENTICATION
-+    PyModule_AddIntConstant(m, "SO_SECURITY_AUTHENTICATION", SO_SECURITY_AUTHENTICATION);
-+#endif
-+#ifdef        SO_SECURITY_ENCRYPTION_TRANSPORT
-+    PyModule_AddIntConstant(m, "SO_SECURITY_ENCRYPTION_TRANSPORT", SO_SECURITY_ENCRYPTION_TRANSPORT);
-+#endif
-+#ifdef        SO_SECURITY_ENCRYPTION_NETWORK
-+    PyModule_AddIntConstant(m, "SO_SECURITY_ENCRYPTION_NETWORK", SO_SECURITY_ENCRYPTION_NETWORK);
-+#endif
-+#ifdef        SO_BINDTODEVICE
-+    PyModule_AddIntConstant(m, "SO_BINDTODEVICE", SO_BINDTODEVICE);
-+#endif
-+#ifdef        SO_ATTACH_FILTER
-+    PyModule_AddIntConstant(m, "SO_ATTACH_FILTER", SO_ATTACH_FILTER);
-+#endif
-+#ifdef        SO_DETACH_FILTER
-+    PyModule_AddIntConstant(m, "SO_DETACH_FILTER", SO_DETACH_FILTER);
-+#endif
-+#ifdef        SO_PEERNAME
-+    PyModule_AddIntConstant(m, "SO_PEERNAME", SO_PEERNAME);
-+#endif
-+#ifdef        SO_TIMESTAMP
-+    PyModule_AddIntConstant(m, "SO_TIMESTAMP", SO_TIMESTAMP);
-+#endif
-+#ifdef        SO_PEERSEC
-+    PyModule_AddIntConstant(m, "SO_PEERSEC", SO_PEERSEC);
-+#endif
-+#ifdef        SO_PASSSEC
-+    PyModule_AddIntConstant(m, "SO_PASSSEC", SO_PASSSEC);
-+#endif
-+#ifdef        SO_TIMESTAMPNS
-+    PyModule_AddIntConstant(m, "SO_TIMESTAMPNS", SO_TIMESTAMPNS);
-+#endif
-+
-     /* Maximum number of connections for "listen" */
- #ifdef  SOMAXCONN
-     PyModule_AddIntConstant(m, "SOMAXCONN", SOMAXCONN);
diff --git a/python/patches/python-2.7rc1-socketmodule-constants2.patch b/python/patches/python-2.7rc1-socketmodule-constants2.patch
deleted file mode 100644 (file)
index 896ac88..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-diff -up Python-2.7rc1/Modules/socketmodule.c.socketmodule2 Python-2.7rc1/Modules/socketmodule.c
---- Python-2.7rc1/Modules/socketmodule.c.socketmodule2 2010-06-07 23:06:59.133498087 -0400
-+++ Python-2.7rc1/Modules/socketmodule.c       2010-06-07 23:11:51.249520087 -0400
-@@ -5253,6 +5253,15 @@ init_socket(void)
- #ifdef  TCP_QUICKACK
-     PyModule_AddIntConstant(m, "TCP_QUICKACK", TCP_QUICKACK);
- #endif
-+#ifdef        TCP_CONGESTION
-+    PyModule_AddIntConstant(m, "TCP_CONGESTION", TCP_CONGESTION);
-+#endif
-+#ifdef        TCP_MD5SIG
-+    PyModule_AddIntConstant(m, "TCP_MD5SIG", TCP_MD5SIG);
-+#endif
-+#ifdef        TCP_MD5SIG_MAXKEYLEN
-+    PyModule_AddIntConstant(m, "TCP_MD5SIG_MAXKEYLEN", TCP_MD5SIG_MAXKEYLEN);
-+#endif
-     /* IPX options */
diff --git a/python/python-2.7-lib64-sysconfig.patch b/python/python-2.7-lib64-sysconfig.patch
deleted file mode 100644 (file)
index 0cef361..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-diff -up Python-2.7/Lib/sysconfig.py.lib64-sysconfig Python-2.7/Lib/sysconfig.py
---- Python-2.7/Lib/sysconfig.py.lib64-sysconfig        2010-07-08 14:18:41.386898476 -0400
-+++ Python-2.7/Lib/sysconfig.py        2010-07-08 14:22:02.837896461 -0400
-@@ -7,20 +7,20 @@ from os.path import pardir, realpath
- _INSTALL_SCHEMES = {
-     'posix_prefix': {
--        'stdlib': '{base}/lib/python{py_version_short}',
--        'platstdlib': '{platbase}/lib/python{py_version_short}',
-+        'stdlib': '{base}/lib64/python{py_version_short}',
-+        'platstdlib': '{platbase}/lib64/python{py_version_short}',
-         'purelib': '{base}/lib/python{py_version_short}/site-packages',
--        'platlib': '{platbase}/lib/python{py_version_short}/site-packages',
-+        'platlib': '{platbase}/lib64/python{py_version_short}/site-packages',
-         'include': '{base}/include/python{py_version_short}',
-         'platinclude': '{platbase}/include/python{py_version_short}',
-         'scripts': '{base}/bin',
-         'data': '{base}',
-         },
-     'posix_home': {
--        'stdlib': '{base}/lib/python',
--        'platstdlib': '{base}/lib/python',
-+        'stdlib': '{base}/lib64/python',
-+        'platstdlib': '{base}/lib64/python',
-         'purelib': '{base}/lib/python',
--        'platlib': '{base}/lib/python',
-+        'platlib': '{base}/lib64/python',
-         'include': '{base}/include/python',
-         'platinclude': '{base}/include/python',
-         'scripts': '{base}/bin',
-@@ -65,10 +65,10 @@ _INSTALL_SCHEMES = {
-         'data'   : '{userbase}',
-         },
-     'posix_user': {
--        'stdlib': '{userbase}/lib/python{py_version_short}',
--        'platstdlib': '{userbase}/lib/python{py_version_short}',
-+        'stdlib': '{userbase}/lib64/python{py_version_short}',
-+        'platstdlib': '{userbase}/lib64/python{py_version_short}',
-         'purelib': '{userbase}/lib/python{py_version_short}/site-packages',
--        'platlib': '{userbase}/lib/python{py_version_short}/site-packages',
-+        'platlib': '{userbase}/lib64/python{py_version_short}/site-packages',
-         'include': '{userbase}/include/python{py_version_short}',
-         'scripts': '{userbase}/bin',
-         'data'   : '{userbase}',
diff --git a/python/python-2.7.13-lib64.patch b/python/python-2.7.13-lib64.patch
deleted file mode 100644 (file)
index b6d24ab..0000000
+++ /dev/null
@@ -1,193 +0,0 @@
-diff --git a/Lib/distutils/command/install.py b/Lib/distutils/command/install.py
-index b9f1c6c..7b23714 100644
---- a/Lib/distutils/command/install.py
-+++ b/Lib/distutils/command/install.py
-@@ -42,14 +42,14 @@ else:
- INSTALL_SCHEMES = {
-     'unix_prefix': {
-         'purelib': '$base/lib/python$py_version_short/site-packages',
--        'platlib': '$platbase/lib/python$py_version_short/site-packages',
-+        'platlib': '$platbase/lib64/python$py_version_short/site-packages',
-         'headers': '$base/include/python$py_version_short/$dist_name',
-         'scripts': '$base/bin',
-         'data'   : '$base',
-         },
-     'unix_home': {
-         'purelib': '$base/lib/python',
--        'platlib': '$base/lib/python',
-+        'platlib': '$base/lib64/python',
-         'headers': '$base/include/python/$dist_name',
-         'scripts': '$base/bin',
-         'data'   : '$base',
-diff --git a/Lib/distutils/sysconfig.py b/Lib/distutils/sysconfig.py
-index 068d1ba..3e7f077 100644
---- a/Lib/distutils/sysconfig.py
-+++ b/Lib/distutils/sysconfig.py
-@@ -119,8 +119,12 @@ def get_python_lib(plat_specific=0, standard_lib=0, prefix=None):
-         prefix = plat_specific and EXEC_PREFIX or PREFIX
-     if os.name == "posix":
-+        if plat_specific or standard_lib:
-+            lib = "lib64"
-+        else:
-+            lib = "lib"
-         libpython = os.path.join(prefix,
--                                 "lib", "python" + get_python_version())
-+                                 lib, "python" + get_python_version())
-         if standard_lib:
-             return libpython
-         else:
-diff --git a/Lib/site.py b/Lib/site.py
-index c360802..868b7cb 100644
---- a/Lib/site.py
-+++ b/Lib/site.py
-@@ -288,12 +288,16 @@ def getsitepackages():
-         if sys.platform in ('os2emx', 'riscos'):
-             sitepackages.append(os.path.join(prefix, "Lib", "site-packages"))
-         elif os.sep == '/':
-+            sitepackages.append(os.path.join(prefix, "lib64",
-+                                        "python" + sys.version[:3],
-+                                        "site-packages"))
-             sitepackages.append(os.path.join(prefix, "lib",
-                                         "python" + sys.version[:3],
-                                         "site-packages"))
-             sitepackages.append(os.path.join(prefix, "lib", "site-python"))
-         else:
-             sitepackages.append(prefix)
-+            sitepackages.append(os.path.join(prefix, "lib64", "site-packages"))
-             sitepackages.append(os.path.join(prefix, "lib", "site-packages"))
-     return sitepackages
-diff --git a/Lib/test/test_site.py b/Lib/test/test_site.py
-index d9a9324..e411e5c 100644
---- a/Lib/test/test_site.py
-+++ b/Lib/test/test_site.py
-@@ -235,17 +235,20 @@ class HelperFunctionsTests(unittest.TestCase):
-             self.assertEqual(dirs[0], wanted)
-         elif os.sep == '/':
-             # OS X, Linux, FreeBSD, etc
--            self.assertEqual(len(dirs), 2)
--            wanted = os.path.join('xoxo', 'lib', 'python' + sys.version[:3],
-+            self.assertEqual(len(dirs), 3)
-+            wanted = os.path.join('xoxo', 'lib64', 'python' + sys.version[:3],
-                                   'site-packages')
-             self.assertEqual(dirs[0], wanted)
--            wanted = os.path.join('xoxo', 'lib', 'site-python')
-+            wanted = os.path.join('xoxo', 'lib', 'python' + sys.version[:3],
-+                                   'site-packages')
-             self.assertEqual(dirs[1], wanted)
-+            wanted = os.path.join('xoxo', 'lib', 'site-python')
-+            self.assertEqual(dirs[2], wanted)
-         else:
-             # other platforms
-             self.assertEqual(len(dirs), 2)
-             self.assertEqual(dirs[0], 'xoxo')
--            wanted = os.path.join('xoxo', 'lib', 'site-packages')
-+            wanted = os.path.join('xoxo', 'lib64', 'site-packages')
-             self.assertEqual(dirs[1], wanted)
- class PthFile(object):
-diff --git a/Makefile.pre.in b/Makefile.pre.in
-index adae76b..ecb27f3 100644
---- a/Makefile.pre.in
-+++ b/Makefile.pre.in
-@@ -111,7 +111,7 @@ LIBDIR=            @libdir@
- MANDIR=               @mandir@
- INCLUDEDIR=   @includedir@
- CONFINCLUDEDIR=       $(exec_prefix)/include
--SCRIPTDIR=    $(prefix)/lib
-+SCRIPTDIR=    $(prefix)/lib64
- # Detailed destination directories
- BINLIBDEST=   $(LIBDIR)/python$(VERSION)
-diff --git a/Modules/Setup.dist b/Modules/Setup.dist
-index fbfa1c1..138fb33 100644
---- a/Modules/Setup.dist
-+++ b/Modules/Setup.dist
-@@ -231,7 +231,7 @@
- # Some more UNIX dependent modules -- off by default, since these
- # are not supported by all UNIX systems:
--#nis nismodule.c -lnsl -ltirpc -I/usr/include/tirpc -I/usr/include/nsl -L/usr/lib/nsl
-+#nis nismodule.c -lnsl -ltirpc -I/usr/include/tirpc -I/usr/include/nsl -L/usr/lib64/nsl
- termios termios.c     # Steen Lumholt's termios module
- resource resource.c   # Jeremy Hylton's rlimit interface
-@@ -416,7 +416,7 @@ gdbm gdbmmodule.c -lgdbm
- # Edit the variables DB and DBLIBVERto point to the db top directory
- # and the subdirectory of PORT where you built it.
- DBINC=/usr/include/libdb
--DBLIB=/usr/lib
-+DBLIB=/usr/lib64
- _bsddb _bsddb.c -I$(DBINC) -L$(DBLIB) -ldb
- # Historical Berkeley DB 1.85
-@@ -462,7 +462,7 @@ cPickle cPickle.c
- # Andrew Kuchling's zlib module.
- # This require zlib 1.1.3 (or later).
- # See http://www.gzip.org/zlib/
--zlib zlibmodule.c -I$(prefix)/include -L$(exec_prefix)/lib -lz
-+zlib zlibmodule.c -I$(prefix)/include -L$(exec_prefix)/lib64 -lz
- # Interface to the Expat XML parser
- #
-diff --git a/Modules/getpath.c b/Modules/getpath.c
-index fd33a01..c5c86fd 100644
---- a/Modules/getpath.c
-+++ b/Modules/getpath.c
-@@ -108,7 +108,7 @@ static char prefix[MAXPATHLEN+1];
- static char exec_prefix[MAXPATHLEN+1];
- static char progpath[MAXPATHLEN+1];
- static char *module_search_path = NULL;
--static char lib_python[] = "lib/python" VERSION;
-+static char lib_python[] = "lib64/python" VERSION;
- static void
- reduce(char *dir)
-@@ -548,7 +548,7 @@ calculate_path(void)
-             fprintf(stderr,
-                 "Could not find platform dependent libraries <exec_prefix>\n");
-         strncpy(exec_prefix, EXEC_PREFIX, MAXPATHLEN);
--        joinpath(exec_prefix, "lib/lib-dynload");
-+        joinpath(exec_prefix, "lib64/lib-dynload");
-     }
-     /* If we found EXEC_PREFIX do *not* reduce it!  (Yet.) */
-diff --git a/setup.py b/setup.py
-index 99ac359..859b6c4 100644
---- a/setup.py
-+++ b/setup.py
-@@ -456,7 +456,7 @@ class PyBuildExt(build_ext):
-     def detect_modules(self):
-         # Ensure that /usr/local is always used
-         if not cross_compiling:
--            add_dir_to_list(self.compiler.library_dirs, '/usr/local/lib')
-+            add_dir_to_list(self.compiler.library_dirs, '/usr/local/lib64')
-             add_dir_to_list(self.compiler.include_dirs, '/usr/local/include')
-         if cross_compiling:
-             self.add_gcc_paths()
-@@ -782,11 +782,11 @@ class PyBuildExt(build_ext):
-             elif curses_library:
-                 readline_libs.append(curses_library)
-             elif self.compiler.find_library_file(lib_dirs +
--                                                     ['/usr/lib/termcap'],
-+                                                     ['/usr/lib64/termcap'],
-                                                      'termcap'):
-                 readline_libs.append('termcap')
-             exts.append( Extension('readline', ['readline.c'],
--                                   library_dirs=['/usr/lib/termcap'],
-+                                   library_dirs=['/usr/lib64/termcap'],
-                                    extra_link_args=readline_extra_link_args,
-                                    libraries=readline_libs) )
-         else:
-@@ -821,8 +821,8 @@ class PyBuildExt(build_ext):
-             if krb5_h:
-                 ssl_incs += krb5_h
-         ssl_libs = find_library_file(self.compiler, 'ssl',lib_dirs,
--                                     ['/usr/local/ssl/lib',
--                                      '/usr/contrib/ssl/lib/'
-+                                     ['/usr/local/ssl/lib64',
-+                                      '/usr/contrib/ssl/lib64/'
-                                      ] )
-         if (ssl_incs is not None and
diff --git a/python/python.nm b/python/python.nm
deleted file mode 100644 (file)
index b312f8b..0000000
+++ /dev/null
@@ -1,107 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = python
-major_ver  = 2.7
-version    = %{major_ver}.15
-release    = 1
-thisapp    = Python-%{version}
-
-groups     = Development/Languages
-url        = http://www.python.org
-license    = Python
-summary    = An interpreted, interactive, object-oriented programming language.
-
-description
-       Python is an interpreted, interactive, object-oriented programming
-       language often compared to Tcl, Perl, Scheme or Java. Python includes
-       modules, classes, exceptions, very high level dynamic data types and
-       dynamic typing. Python supports interfaces to many system calls and
-       libraries, as well as to various windowing systems.
-end
-
-source_dl  = http://python.org/ftp/python/%{version}/
-sources    = %{thisapp}.tar.xz
-
-build
-       requires
-               autoconf
-               automake
-               bzip2-devel
-               expat-devel
-               gdbm-devel
-               glibc-headers >= 2.16-4
-               libdb-devel
-               libffi-devel
-               ncurses-devel
-               openssl-devel
-               pakfire-builder >= 0.9.23-4
-               readline-devel
-               sqlite-devel
-               tar
-               util-linux
-               zlib-devel
-       end
-
-       export CFLAGS  += -D_GNU_SOURCE -fwrapv
-       export CPPFLAGS = %(pkg-config --cflags-only-I libffi)
-       export OPT      = %{CFLAGS}
-       export CC       = gcc
-       export LINKCC   = gcc
-
-       if "%{lib}" == "lib64"
-               patches += %{DIR_SOURCE}/python-2.7.13-lib64.patch
-               patches += %{DIR_SOURCE}/python-2.7-lib64-sysconfig.patch
-       end
-
-       prepare_cmds
-               # Remove embedded copies of expat, zlib and libffi
-               rm -rf Modules/{expat,zlib}
-               rm -rf Modules/_ctypes/{darwin,libffi,libffi_arm_wince,libffi_msvc,libffi_osx}
-
-               # Reconfigure
-               autoreconf --force
-       end
-
-       configure_options += \
-               --enable-ipv6 \
-               --enable-unicode=ucs4 \
-               --with-system-expat \
-               --with-system-ffi \
-               --enable-shared
-
-       test
-               WITHIN_PYTHON_RPM_BUILD= EXTRATESTOPTS="--verbose" make test || :
-       end
-
-       install_cmds
-               # All *.py files don't need to be executeable...
-               find %{BUILDROOT}%{libdir}/python*/ -name "*.py" | xargs -r chmod a-x -v
-
-               # Create symlink for shared lib.
-               ln -svf ../../libpython%{major_ver}.so %{BUILDROOT}%{libdir}/python%{major_ver}/config/
-       end
-end
-
-packages
-       package %{name}
-               # Define python-abi manually.
-               provides
-                       python-abi = %{major_ver}
-               end
-       end
-
-       package %{name}-devel
-               template DEVEL
-
-               files += \
-                       !%{libdir}/python*/config/Makefile \
-                       !%{includedir}/python*/pyconfig.h
-       end
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
diff --git a/python3-cairo/patches/cairo-waf-use-python-config-as-shell-script.patch0 b/python3-cairo/patches/cairo-waf-use-python-config-as-shell-script.patch0
deleted file mode 100644 (file)
index b8cd856..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
---- .waf3-1.6.4-e3c1e08604b18a10567cfcd2d02eb6e6/waflib/Tools/python.py.orig   2014-05-12 12:36:46.776004776 +0200
-+++ .waf3-1.6.4-e3c1e08604b18a10567cfcd2d02eb6e6/waflib/Tools/python.py        2014-05-12 12:36:53.994995779 +0200
-@@ -169,7 +169,7 @@
-               conf.find_program('python-config-%s'%num,var='PYTHON_CONFIG',mandatory=False)
-       includes=[]
-       if conf.env.PYTHON_CONFIG:
--              for incstr in conf.cmd_and_log(conf.env.PYTHON+[conf.env.PYTHON_CONFIG,'--includes']).strip().split():
-+              for incstr in conf.cmd_and_log([conf.env.PYTHON_CONFIG,'--includes']).strip().split():
-                       if(incstr.startswith('-I')or incstr.startswith('/I')):
-                               incstr=incstr[2:]
-                       if incstr not in includes:
diff --git a/python3-cairo/patches/pycairo-1.10.0-test-python3.patch b/python3-cairo/patches/pycairo-1.10.0-test-python3.patch
deleted file mode 100644 (file)
index 32e398f..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -up pycairo-1.10.0/test/examples_test.py~ pycairo-1.10.0/test/examples_test.py
---- pycairo-1.10.0/test/examples_test.py~      2010-05-29 08:28:35.000000000 +0300
-+++ pycairo-1.10.0/test/examples_test.py       2013-12-20 22:53:07.806217741 +0200
-@@ -14,7 +14,7 @@ def test_snippets():
-   examples/cairo_snippets/snippets/
-   '''
-   def doSnippets(name):
--    retcode = subprocess.call('python %s -s' % name, shell=True)
-+    retcode = subprocess.call('python3 %s -s' % name, shell=True)
-     assert retcode == 0, 'Error: retcode == {0}'.format(retcode)
-   os.chdir(os.path.join(os.path.dirname(__file__), '..', 'examples',
index a360e7ace0d6b3e9758c49b6f6d4aeca6ed0c750..9d966b023d74d94bd101b4b965240c22005645fe 100644 (file)
@@ -4,62 +4,39 @@
 ###############################################################################
 
 name       = python3-cairo
-version    = 1.10.0
-release    = 2
+version    = 1.24.0
+release    = 1
+thisapp    = pycairo-%{version}
 
 groups     = Development/Tools
-url        = http://cairographics.org/pycairo
+url        = https://cairographics.org/pycairo
 license    = MPLv1.1 or LGPLv2
-summary    = Python3 bindings for the cairo library.
+summary    = Python3 bindings for the cairo library
 
 description
        Python3 bindings for the cairo library.
 end
 
-thisapp = pycairo-%{version}
-
-source_dl  = http://cairographics.org/releases/
-sources    = %{thisapp}.tar.bz2
+source_dl  = https://github.com/pygobject/pycairo/releases/download/v%{version}/
 
 build
        requires
                cairo-devel
                pkg-config
                python3-devel >= 3.4
-       end
-
-       prepare
-               # Extract source tarball.
-               %{MACRO_EXTRACT_TARBALL}
-
-               # Ensure that ./waf has created the cached unpacked version
-               # of the wafadmin source tree.
-               # This will be created to a subdirectory like
-               #    .waf3-1.5.18-a7b91e2a913ce55fa6ecdf310df95752
-               python3 ./waf --version
-
-               # Apply all patches.
-               %{MACRO_PATCHES}
+               python3-setuptools
        end
 
        build
-               export PYTHON=python3
-               %{python3} ./waf \
-                       --prefix=%{prefix} \
-                       --libdir=%{libdir} \
-                       configure
-
-               %{python3} ./waf build -v
+               %{python3} setup.py build
        end
 
        install
-               # remove executable bits from examples
-               find ./examples/ -type f -print0 | xargs -0 chmod -x
-
-               DESTDIR=%{BUILDROOT} %{python3} ./waf install
+               %{python3} setup.py install --skip-build --root="%{BUILDROOT}"
 
-               # add executable bit to the .so libraries so we strip the debug info
-               find %{BUILDROOT} -name '*.so' | xargs chmod +x
+               # Fix header permissions.
+               find %{BUILDROOT}%{includedir} -type f -iname "*.h" \
+                       -exec chmod -v 644 {} \;
        end
 end
 
diff --git a/python3-cpuinfo/python3-cpuinfo.nm b/python3-cpuinfo/python3-cpuinfo.nm
new file mode 100644 (file)
index 0000000..ec55888
--- /dev/null
@@ -0,0 +1,40 @@
+###############################################################################
+# IPFire.org    - An Open Source Firewall Solution                            #
+# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
+###############################################################################
+
+name       = python3-cpuinfo
+version    = 9.0.0
+release    = 1
+thisapp    = py-cpuinfo-%{version}
+
+groups     = System/Libraries
+url        = https://github.com/workhorsy/py-cpuinfo
+license    = MIT
+summary    = A module for getting CPU info with pure Python
+
+description
+       Py-cpuinfo gets CPU info with pure Python. Py-cpuinfo should work
+       without any extra programs or libraries, beyond what your OS provides.
+end
+
+source_dl  = https://github.com/workhorsy/py-cpuinfo/archive/refs/tags/v%{version}.tar.gz#/
+
+build
+       requires
+               python3-devel
+               python3-setuptools
+       end
+
+       build
+               %{python3} setup.py build
+       end
+
+       install
+               %{python3} setup.py install --root=%{BUILDROOT}
+       end
+end
+
+packages
+       package %{name}
+end
similarity index 63%
rename from eggdbus/eggdbus.nm
rename to python3-dbus/python3-dbus.nm
index fe158655beb910d6fab7d538994bffab6b0dca78..5823738aeb15373ce4a05875918faf082959d5a1 100644 (file)
@@ -3,37 +3,32 @@
 # Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
 ###############################################################################
 
-name       = eggdbus
-version    = 0.6
+name       = python3-dbus
+version    = 1.3.2
 release    = 1
+thisapp    = dbus-python-%{version}
 
 groups     = System/Libraries
-url        = http://cgit.freedesktop.org/~david/eggdbus
-license    = LGPLv2+
-summary    = Experimental D-Bus bindings for GObject.
+url        = https://www.freedesktop.org/software/dbus/
+license    = MIT
+summary    = DBUS Python Bindings
 
 description
-       Experimental D-Bus bindings for GObject.
+       D-Bus python bindings for use with python programs.
 end
 
-source_dl  =
+source_dl  = https://dbus.freedesktop.org/releases/dbus-python/
 
 build
        requires
                dbus-devel
                dbus-glib-devel
-               glib2-devel
+               python3-devel >= 3.4
        end
-
-       configure_options += \
-               --disable-static
-
-       PARALLELISMFLAGS = # off
 end
 
 packages
        package %{name}
-       end
 
        package %{name}-devel
                template DEVEL
diff --git a/python3-dns/patches/python3-dns-no-setup-requires.patch b/python3-dns/patches/python3-dns-no-setup-requires.patch
new file mode 100644 (file)
index 0000000..2cdbda8
--- /dev/null
@@ -0,0 +1,26 @@
+From: Scott Kitterman <scott@kitterman.com>
+Date: Fri, 24 Dec 2021 13:42:26 -0500
+Subject: Patch away setup requires
+
+Debian python stuff takes care of this and does it differently.
+
+Origin: vendor
+Forwarded: not-needed
+Last-Update: 2021-12-24
+---
+ setup.cfg | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/setup.cfg b/setup.cfg
+index 0e28c67..59f364f 100644
+--- a/setup.cfg
++++ b/setup.cfg
+@@ -46,7 +46,7 @@ packages =
+     dns.rdtypes.CH
+ python_requires = >=3.7
+ test_suite = tests
+-setup_requires = setuptools>=44; setuptools_scm[toml]>=3.4.3
++#setup_requires = setuptools>=44; setuptools_scm[toml]>=3.4.3
+ [options.extras_require]
+ DOH = httpx>=0.21.1; h2>=4.1.0; requests; requests-toolbelt
diff --git a/python3-dns/python3-dns.nm b/python3-dns/python3-dns.nm
new file mode 100644 (file)
index 0000000..e32a10a
--- /dev/null
@@ -0,0 +1,47 @@
+###############################################################################
+# IPFire.org    - An Open Source Firewall Solution                            #
+# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
+###############################################################################
+
+name       = python3-dns
+version    = 2.4.2
+release    = 1
+thisapp    = dnspython-%{version}
+
+groups     = Development/Libraries
+url        = https://www.dnspython.org
+license    = ISC and MIT
+summary    = A powerful DNS toolkit for python.
+
+description
+       dnspython is a DNS toolkit for Python. It supports almost all record types.
+       It can be used for queries, zone transfers, and dynamic updates. It
+       supports TSIG authenticated messages and EDNS0.
+
+       dnspython provides both high and low level access to DNS.
+end
+
+source_dl  = https://github.com/rthalley/dnspython/archive/refs/tags/v%{version}.tar.gz#/
+
+build
+       requires
+               python3-devel
+               python3-setuptools
+       end
+
+       build
+               %{python3} setup.py build
+       end
+
+       install
+               %{python3} setup.py install --skip-build --root=%{BUILDROOT}
+       end
+end
+
+packages
+       package %{name}
+
+       package %{name}-debuginfo
+               template DEBUGINFO
+       end
+end
diff --git a/python3-docutils/python3-docutils.nm b/python3-docutils/python3-docutils.nm
new file mode 100644 (file)
index 0000000..d994320
--- /dev/null
@@ -0,0 +1,57 @@
+###############################################################################
+# IPFire.org    - An Open Source Firewall Solution                            #
+# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
+###############################################################################
+
+name       = python3-docutils
+version    = 0.20.1
+release    = 1
+thisapp    = docutils-%{version}
+
+groups     = System/Tools
+url        = https://docutils.sourceforge.net
+license    = Public Domain and BSD and Python and GPLv3+
+summary    = System for processing plaintext documentation
+
+description
+       The Docutils project specifies a plaintext markup language, reStructuredText,
+       which is easy to read and quick to write.  The project includes a python
+       library to parse rST files and transform them into other useful formats such
+       as HTML, XML, and TeX as well as commandline tools that give the enduser
+       access to this functionality.
+end
+
+source_dl  = https://sourceforge.net/projects/docutils/files/docutils/%{version}/
+
+build
+
+       requires
+               python3-devel >= 3.4
+               python3-setuptools
+       end
+
+       build
+               # Remove shebang from library files
+               sed -i -e '/#! *\/usr\/bin\/.*/{1D}' $(grep -Erl '^#!.+python' docutils)
+
+               %{python3} setup.py build
+       end
+
+       test
+               export PYTHONPATH=%{buildroot}%{python3_sitelib}
+               %{python3} test/alltests.py
+       end
+
+       install
+               %{python3} setup.py install --root=%{BUILDROOT} \
+                       
+       end
+end
+
+packages
+       package %{name}
+
+       package %{name}-debuginfo
+               template DEBUGINFO
+       end
+end
diff --git a/python3-gobject3/python3-gobject3.nm b/python3-gobject3/python3-gobject3.nm
new file mode 100644 (file)
index 0000000..0cef4c1
--- /dev/null
@@ -0,0 +1,71 @@
+###############################################################################
+# IPFire.org    - An Open Source Firewall Solution                            #
+# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
+###############################################################################
+
+name       = python3-gobject3
+version    = %{ver_major}.%{ver_minor}
+ver_major  = 3.46
+ver_minor  = 0
+release    = 1
+thisapp    = pygobject-%{version}
+
+groups     = Development/Tools
+url        = https://www.pygtk.org/
+license    = LGPLv2+
+summary    = Python 2 bindings for GObject.
+
+description
+       The %{name} package provides a convenient wrapper for the GObject library
+       for use in Python programs.
+end
+
+
+source_dl  = https://ftp.gnome.org/pub/GNOME/sources/pygobject/%{ver_major}/
+sources    = %{thisapp}.tar.xz
+
+build
+       requires
+               cairo-gobject-devel >= 1.12.12
+               glib2-devel >= 2.34.2
+               gobject-introspection-devel >= 1.56
+               pkg-config
+               python3-cairo-devel >= 1.16.0
+               python3-devel >= 3.4
+               python3-setuptools
+       end
+
+       build
+               %{python3} setup.py build
+       end
+
+       install
+               %{python3} setup.py install --skip-build --root=%{BUILDROOT}
+
+               # Set correct header file permissions.
+               find %{BUILDROOT}%{includedir} -type f -iname "*.h" \
+                       -exec chmod -v 644 {} \;
+       end     
+end
+
+packages
+       package %{name}
+               requires
+                       gobject-introspection >= 1.56
+                       python3-cairo
+               end
+       end
+
+       package %{name}-devel
+               template DEVEL
+
+               requires
+                       glib2-devel
+                       gobject-introspection-devel >= 1.56
+               end
+       end
+
+       package %{name}-debuginfo
+               template DEBUGINFO
+       end
+end
diff --git a/python3-jinja2/python3-jinja2.nm b/python3-jinja2/python3-jinja2.nm
new file mode 100644 (file)
index 0000000..87e7f45
--- /dev/null
@@ -0,0 +1,46 @@
+###############################################################################
+# IPFire.org    - An Open Source Firewall Solution                            #
+# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
+###############################################################################
+
+name       = python3-jinja2
+version    = 3.1.2
+release    = 1
+
+groups     = Development/Tools
+url        = https://github.com/pallets/jinja
+license    = BSD
+summary    = A fast, expressive, extensible templating engine.
+
+description
+       Jinja is a fast, expressive, extensible templating engine. Special placeholders
+       in the template allow writing code similar to Python syntax. Then the template
+       is passed data to render the final document.
+end
+
+source_dl  = https://github.com/pallets/jinja/archive/refs/tags/%{version}.tar.gz#/
+
+build
+       requires
+               python3-devel >= 3.4
+               python3-setuptools
+       end
+
+       DIR_APP = %{DIR_SRC}/jinja-%{version}
+
+       build
+               %{python3} setup.py build
+       end
+
+       install
+               %{python3} setup.py install --root=%{BUILDROOT} --skip-build
+       end
+end
+
+packages
+       package %{name}
+               requires
+                       python3-markupsafe
+               end
+       end
+end
diff --git a/python3-kerberos/python3-kerberos.nm b/python3-kerberos/python3-kerberos.nm
new file mode 100644 (file)
index 0000000..5869da6
--- /dev/null
@@ -0,0 +1,50 @@
+###############################################################################
+# IPFire.org    - An Open Source Firewall Solution                            #
+# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
+###############################################################################
+
+name       = python3-kerberos
+version    = 1.3.1
+release    = 1
+thisapp    = PyKerberos-%{version}
+
+groups     = System/Libraries
+url        = https://github.com/apple/ccs-pykerberos
+license    = Apache 2.0
+summary    = Python Kerberos library used by CalendarServer
+
+description
+       This Python package is a high-level wrapper for Kerberos (GSSAPI)
+       operations. The goal is to avoid having to build a module that wraps
+       the entire Kerberos framework, and instead offer a limited set of
+       functions that do what is needed for client/server Kerberos
+       authentication based on http://www.ietf.org/rfc/rfc4559.txt.
+end
+
+source_dl  = https://github.com/apple/ccs-pykerberos/archive/refs/tags/
+
+build
+       requires
+               krb5-devel
+               python3-devel
+               python3-setuptools
+       end
+
+       DIR_APP = %{DIR_SRC}/ccs-pykerberos-PyKerberos-%{version}
+
+       build
+               %{python3} setup.py build
+       end
+
+       install
+               %{python3} setup.py install --root=%{BUILDROOT}
+       end
+end
+
+packages
+       package %{name}
+
+       package %{name}-debuginfo
+               template DEBUGINFO
+       end
+end
similarity index 92%
rename from python-lxml/python-lxml.nm
rename to python3-lxml/python3-lxml.nm
index 5973cbe08384885c6ec0735b1b78c40b6b38b7dc..a7f68c7a08a1d3e3dc39910d8863cc219569739a 100644 (file)
@@ -3,8 +3,8 @@
 # Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
 ###############################################################################
 
-name       = python-lxml
-version    = 4.3.4
+name       = python3-lxml
+version    = 4.9.3
 release    = 1
 thisapp    = lxml-%{version}
 
@@ -29,6 +29,7 @@ build
                libxslt-devel
                python3-devel
                zlib-devel
+               python3-setuptools
        end
 
        # Setting LC_CTYPE to workaround encoding issue
@@ -41,9 +42,9 @@ build
                CFLAGS="%{CFLAGS}" %{python3} setup.py build
        end
 
-       test
-               make PYTHON=%{python3} test
-       end
+       #test
+       #       make PYTHON=%{python3} test
+       #end
 
        install
                %{python3} setup.py install --skip-build -O1 \
diff --git a/python3-markdown/python3-markdown.nm b/python3-markdown/python3-markdown.nm
new file mode 100644 (file)
index 0000000..aac5845
--- /dev/null
@@ -0,0 +1,47 @@
+###############################################################################
+# IPFire.org    - An Open Source Firewall Solution                            #
+# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
+###############################################################################
+
+name       = python3-markdown
+version    = 3.4.1
+release    = 1
+thisapp    = markdown-%{version}
+
+groups     = Development/Libraries
+url        = https://python-markdown.github.io/
+license    = ASL 2.0
+summary    = A Python implementation of John Gruber’s Markdown with Extension support
+
+description
+       This is a Python implementation of John Gruber's Markdown. It is almost
+       completely compliant with the reference implementation, though there are a
+       few known issues.
+
+       Additional features are supported by the Available Extensions.
+end
+
+source_dl  = https://github.com/Python-Markdown/markdown/archive/refs/tags/%{version}.tar.gz#/
+
+build
+       requires
+               python3-devel >= 3.4
+               python3-setuptools
+       end
+
+       build
+               %{python3} setup.py build
+       end
+
+       install
+               %{python3} setup.py install --skip-build --root=%{BUILDROOT}
+       end
+end
+
+packages
+       package %{name}
+
+       package %{name}-debuginfo
+               template DEBUGINFO
+       end
+end
diff --git a/python3-markupsafe/python3-markupsafe.nm b/python3-markupsafe/python3-markupsafe.nm
new file mode 100644 (file)
index 0000000..12c9c14
--- /dev/null
@@ -0,0 +1,47 @@
+###############################################################################
+# IPFire.org    - An Open Source Firewall Solution                            #
+# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
+###############################################################################
+
+name       = python3-markupsafe
+version    = 2.1.3
+release    = 1
+
+groups     = Development/Tools
+url        = https://github.com/pallets/markupsafe
+license    = BSD
+summary    = Safely add untrusted strings to HTML/XML markup.
+
+description
+       MarkupSafe implements a text object that escapes characters so it is safe
+       to use in HTML and XML. Characters that have special meanings are replaced
+       so that they display as the actual characters. This mitigates injection
+       attacks, meaning untrusted user input can safely be displayed on a page.
+end
+
+source_dl  = https://github.com/pallets/markupsafe/archive/refs/tags/%{version}.tar.gz#/
+
+build
+       requires
+               python3-devel >= 3.4
+               python3-setuptools
+       end
+
+       DIR_APP = %{DIR_SRC}/markupsafe-%{version}
+
+       build
+               %{python3} setup.py build
+       end
+
+       install
+               %{python3} setup.py install --root=%{BUILDROOT} --skip-build
+       end
+end
+
+packages
+       package %{name}
+
+       package %{name}-debuginfo
+               template DEBUGINFO
+       end
+end
diff --git a/python3-parted/python3-parted.nm b/python3-parted/python3-parted.nm
new file mode 100644 (file)
index 0000000..e32bb21
--- /dev/null
@@ -0,0 +1,47 @@
+###############################################################################
+# IPFire.org    - An Open Source Firewall Solution                            #
+# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
+###############################################################################
+
+name       = python3-parted
+version    = 3.13.0
+release    = 1
+thisapp    = pyparted-%{version}
+
+groups     = System/Libraries
+url        = https://github.com/dcantrell/pyparted/
+license    = GPLv2+
+summary    = Python module for GNU parted.
+
+description
+       Python module for the parted library. It is used for manipulating
+       partition tables.
+end
+
+source_dl  = https://github.com/dcantrell/pyparted/releases/download/v%{version}/
+
+build
+       requires
+               parted-devel >= 3.4
+               pkg-config
+               python3-devel >= 3.5
+               python3-setuptools
+       end
+
+       build
+               %{python3} setup.py build
+       end
+
+       install
+               %{python3} setup.py install --root=%{BUILDROOT}
+       end
+end
+
+
+packages
+       package %{name}
+
+       package %{name}-debuginfo
+               template DEBUGINFO
+       end
+end
diff --git a/python3-psutil/python3-psutil.nm b/python3-psutil/python3-psutil.nm
new file mode 100644 (file)
index 0000000..358b439
--- /dev/null
@@ -0,0 +1,50 @@
+###############################################################################
+# IPFire.org    - An Open Source Firewall Solution                            #
+# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
+###############################################################################
+
+name       = python3-psutil
+version    = 5.9.5
+release    = 1
+thisapp    = psutil-release-%{version}
+
+groups     = System/Libraries
+url        = https://github.com/giampaolo/psutil
+license    = BSD
+summary    = Cross-platform lib for process and system monitoring in Python
+
+description
+       psutil (process and system utilities) is a cross-platform library for
+       retrieving information on running processes and system utilization
+       (CPU, memory, disks, network, sensors) in Python.
+       It is useful mainly for system monitoring, profiling and limiting
+       process resources and management of running processes.
+       It implements many functionalities offered by classic UNIX command
+       line tools such as ps, top, iotop, lsof, netstat, ifconfig, free
+       and others.
+end
+
+source_dl  = https://github.com/giampaolo/psutil/archive/refs/tags/release-%{version}.tar.gz#/
+
+build
+       requires
+               python3-devel
+               python3-setuptools
+       end
+
+       build
+               %{python3} setup.py build
+       end
+
+       install
+               %{python3} setup.py install --root=%{BUILDROOT}
+       end
+end
+
+packages
+       package %{name}
+
+       package %{name}-debuginfo
+               template DEBUGINFO
+       end
+end
diff --git a/python3-pytz/patches/pytz-zoneinfo.patch b/python3-pytz/patches/pytz-zoneinfo.patch
new file mode 100644 (file)
index 0000000..70a4f16
--- /dev/null
@@ -0,0 +1,1105 @@
+diff --git a/pytz/__init__.py b/pytz/__init__.py
+index e2f49fa..65c1d11 100644
+--- a/pytz/__init__.py
++++ b/pytz/__init__.py
+@@ -74,6 +74,9 @@ else:  # Python 2.x
+         """
+         return s.encode('ASCII')
++_tzinfo_dir = os.getenv('PYTZ_TZDATADIR') or '/usr/share/zoneinfo'
++if _tzinfo_dir.endswith(os.sep):
++    _tzinfo_dir = _tzinfo_dir[:-1]
+ def open_resource(name):
+     """Open a resource from the zoneinfo subdir for reading.
+--- pytz-2022.2/pytz/__init__.py~      2022-08-12 08:18:18.284242046 -0500
++++ pytz-2022.2/pytz/__init__.py       2022-08-12 08:40:34.523880888 -0500
+@@ -91,23 +91,8 @@
+     for part in name_parts:
+         if part == os.path.pardir or os.sep in part:
+             raise ValueError('Bad path segment: %r' % part)
+-    zoneinfo_dir = os.environ.get('PYTZ_TZDATADIR', None)
+-    if zoneinfo_dir is not None:
+-        filename = os.path.join(zoneinfo_dir, *name_parts)
+-    else:
+-        filename = os.path.join(os.path.dirname(__file__),
+-                                'zoneinfo', *name_parts)
+-        if not os.path.exists(filename):
+-            # http://bugs.launchpad.net/bugs/383171 - we avoid using this
+-            # unless absolutely necessary to help when a broken version of
+-            # pkg_resources is installed.
+-            try:
+-                from pkg_resources import resource_stream
+-            except ImportError:
+-                resource_stream = None
+-
+-            if resource_stream is not None:
+-                return resource_stream(__name__, 'zoneinfo/' + name)
++    zoneinfo_dir = os.environ.get('PYTZ_TZDATADIR', _tzinfo_dir)
++    filename = os.path.join(zoneinfo_dir, *name_parts)
+     return open(filename, 'rb')
+
+
+505,1100c505,515
+< all_timezones = \
+< ['Africa/Abidjan',
+<  'Africa/Accra',
+<  'Africa/Addis_Ababa',
+<  'Africa/Algiers',
+<  'Africa/Asmara',
+<  'Africa/Asmera',
+<  'Africa/Bamako',
+<  'Africa/Bangui',
+<  'Africa/Banjul',
+<  'Africa/Bissau',
+<  'Africa/Blantyre',
+<  'Africa/Brazzaville',
+<  'Africa/Bujumbura',
+<  'Africa/Cairo',
+<  'Africa/Casablanca',
+<  'Africa/Ceuta',
+<  'Africa/Conakry',
+<  'Africa/Dakar',
+<  'Africa/Dar_es_Salaam',
+<  'Africa/Djibouti',
+<  'Africa/Douala',
+<  'Africa/El_Aaiun',
+<  'Africa/Freetown',
+<  'Africa/Gaborone',
+<  'Africa/Harare',
+<  'Africa/Johannesburg',
+<  'Africa/Juba',
+<  'Africa/Kampala',
+<  'Africa/Khartoum',
+<  'Africa/Kigali',
+<  'Africa/Kinshasa',
+<  'Africa/Lagos',
+<  'Africa/Libreville',
+<  'Africa/Lome',
+<  'Africa/Luanda',
+<  'Africa/Lubumbashi',
+<  'Africa/Lusaka',
+<  'Africa/Malabo',
+<  'Africa/Maputo',
+<  'Africa/Maseru',
+<  'Africa/Mbabane',
+<  'Africa/Mogadishu',
+<  'Africa/Monrovia',
+<  'Africa/Nairobi',
+<  'Africa/Ndjamena',
+<  'Africa/Niamey',
+<  'Africa/Nouakchott',
+<  'Africa/Ouagadougou',
+<  'Africa/Porto-Novo',
+<  'Africa/Sao_Tome',
+<  'Africa/Timbuktu',
+<  'Africa/Tripoli',
+<  'Africa/Tunis',
+<  'Africa/Windhoek',
+<  'America/Adak',
+<  'America/Anchorage',
+<  'America/Anguilla',
+<  'America/Antigua',
+<  'America/Araguaina',
+<  'America/Argentina/Buenos_Aires',
+<  'America/Argentina/Catamarca',
+<  'America/Argentina/ComodRivadavia',
+<  'America/Argentina/Cordoba',
+<  'America/Argentina/Jujuy',
+<  'America/Argentina/La_Rioja',
+<  'America/Argentina/Mendoza',
+<  'America/Argentina/Rio_Gallegos',
+<  'America/Argentina/Salta',
+<  'America/Argentina/San_Juan',
+<  'America/Argentina/San_Luis',
+<  'America/Argentina/Tucuman',
+<  'America/Argentina/Ushuaia',
+<  'America/Aruba',
+<  'America/Asuncion',
+<  'America/Atikokan',
+<  'America/Atka',
+<  'America/Bahia',
+<  'America/Bahia_Banderas',
+<  'America/Barbados',
+<  'America/Belem',
+<  'America/Belize',
+<  'America/Blanc-Sablon',
+<  'America/Boa_Vista',
+<  'America/Bogota',
+<  'America/Boise',
+<  'America/Buenos_Aires',
+<  'America/Cambridge_Bay',
+<  'America/Campo_Grande',
+<  'America/Cancun',
+<  'America/Caracas',
+<  'America/Catamarca',
+<  'America/Cayenne',
+<  'America/Cayman',
+<  'America/Chicago',
+<  'America/Chihuahua',
+<  'America/Coral_Harbour',
+<  'America/Cordoba',
+<  'America/Costa_Rica',
+<  'America/Creston',
+<  'America/Cuiaba',
+<  'America/Curacao',
+<  'America/Danmarkshavn',
+<  'America/Dawson',
+<  'America/Dawson_Creek',
+<  'America/Denver',
+<  'America/Detroit',
+<  'America/Dominica',
+<  'America/Edmonton',
+<  'America/Eirunepe',
+<  'America/El_Salvador',
+<  'America/Ensenada',
+<  'America/Fort_Nelson',
+<  'America/Fort_Wayne',
+<  'America/Fortaleza',
+<  'America/Glace_Bay',
+<  'America/Godthab',
+<  'America/Goose_Bay',
+<  'America/Grand_Turk',
+<  'America/Grenada',
+<  'America/Guadeloupe',
+<  'America/Guatemala',
+<  'America/Guayaquil',
+<  'America/Guyana',
+<  'America/Halifax',
+<  'America/Havana',
+<  'America/Hermosillo',
+<  'America/Indiana/Indianapolis',
+<  'America/Indiana/Knox',
+<  'America/Indiana/Marengo',
+<  'America/Indiana/Petersburg',
+<  'America/Indiana/Tell_City',
+<  'America/Indiana/Vevay',
+<  'America/Indiana/Vincennes',
+<  'America/Indiana/Winamac',
+<  'America/Indianapolis',
+<  'America/Inuvik',
+<  'America/Iqaluit',
+<  'America/Jamaica',
+<  'America/Jujuy',
+<  'America/Juneau',
+<  'America/Kentucky/Louisville',
+<  'America/Kentucky/Monticello',
+<  'America/Knox_IN',
+<  'America/Kralendijk',
+<  'America/La_Paz',
+<  'America/Lima',
+<  'America/Los_Angeles',
+<  'America/Louisville',
+<  'America/Lower_Princes',
+<  'America/Maceio',
+<  'America/Managua',
+<  'America/Manaus',
+<  'America/Marigot',
+<  'America/Martinique',
+<  'America/Matamoros',
+<  'America/Mazatlan',
+<  'America/Mendoza',
+<  'America/Menominee',
+<  'America/Merida',
+<  'America/Metlakatla',
+<  'America/Mexico_City',
+<  'America/Miquelon',
+<  'America/Moncton',
+<  'America/Monterrey',
+<  'America/Montevideo',
+<  'America/Montreal',
+<  'America/Montserrat',
+<  'America/Nassau',
+<  'America/New_York',
+<  'America/Nipigon',
+<  'America/Nome',
+<  'America/Noronha',
+<  'America/North_Dakota/Beulah',
+<  'America/North_Dakota/Center',
+<  'America/North_Dakota/New_Salem',
+<  'America/Nuuk',
+<  'America/Ojinaga',
+<  'America/Panama',
+<  'America/Pangnirtung',
+<  'America/Paramaribo',
+<  'America/Phoenix',
+<  'America/Port-au-Prince',
+<  'America/Port_of_Spain',
+<  'America/Porto_Acre',
+<  'America/Porto_Velho',
+<  'America/Puerto_Rico',
+<  'America/Punta_Arenas',
+<  'America/Rainy_River',
+<  'America/Rankin_Inlet',
+<  'America/Recife',
+<  'America/Regina',
+<  'America/Resolute',
+<  'America/Rio_Branco',
+<  'America/Rosario',
+<  'America/Santa_Isabel',
+<  'America/Santarem',
+<  'America/Santiago',
+<  'America/Santo_Domingo',
+<  'America/Sao_Paulo',
+<  'America/Scoresbysund',
+<  'America/Shiprock',
+<  'America/Sitka',
+<  'America/St_Barthelemy',
+<  'America/St_Johns',
+<  'America/St_Kitts',
+<  'America/St_Lucia',
+<  'America/St_Thomas',
+<  'America/St_Vincent',
+<  'America/Swift_Current',
+<  'America/Tegucigalpa',
+<  'America/Thule',
+<  'America/Thunder_Bay',
+<  'America/Tijuana',
+<  'America/Toronto',
+<  'America/Tortola',
+<  'America/Vancouver',
+<  'America/Virgin',
+<  'America/Whitehorse',
+<  'America/Winnipeg',
+<  'America/Yakutat',
+<  'America/Yellowknife',
+<  'Antarctica/Casey',
+<  'Antarctica/Davis',
+<  'Antarctica/DumontDUrville',
+<  'Antarctica/Macquarie',
+<  'Antarctica/Mawson',
+<  'Antarctica/McMurdo',
+<  'Antarctica/Palmer',
+<  'Antarctica/Rothera',
+<  'Antarctica/South_Pole',
+<  'Antarctica/Syowa',
+<  'Antarctica/Troll',
+<  'Antarctica/Vostok',
+<  'Arctic/Longyearbyen',
+<  'Asia/Aden',
+<  'Asia/Almaty',
+<  'Asia/Amman',
+<  'Asia/Anadyr',
+<  'Asia/Aqtau',
+<  'Asia/Aqtobe',
+<  'Asia/Ashgabat',
+<  'Asia/Ashkhabad',
+<  'Asia/Atyrau',
+<  'Asia/Baghdad',
+<  'Asia/Bahrain',
+<  'Asia/Baku',
+<  'Asia/Bangkok',
+<  'Asia/Barnaul',
+<  'Asia/Beirut',
+<  'Asia/Bishkek',
+<  'Asia/Brunei',
+<  'Asia/Calcutta',
+<  'Asia/Chita',
+<  'Asia/Choibalsan',
+<  'Asia/Chongqing',
+<  'Asia/Chungking',
+<  'Asia/Colombo',
+<  'Asia/Dacca',
+<  'Asia/Damascus',
+<  'Asia/Dhaka',
+<  'Asia/Dili',
+<  'Asia/Dubai',
+<  'Asia/Dushanbe',
+<  'Asia/Famagusta',
+<  'Asia/Gaza',
+<  'Asia/Harbin',
+<  'Asia/Hebron',
+<  'Asia/Ho_Chi_Minh',
+<  'Asia/Hong_Kong',
+<  'Asia/Hovd',
+<  'Asia/Irkutsk',
+<  'Asia/Istanbul',
+<  'Asia/Jakarta',
+<  'Asia/Jayapura',
+<  'Asia/Jerusalem',
+<  'Asia/Kabul',
+<  'Asia/Kamchatka',
+<  'Asia/Karachi',
+<  'Asia/Kashgar',
+<  'Asia/Kathmandu',
+<  'Asia/Katmandu',
+<  'Asia/Khandyga',
+<  'Asia/Kolkata',
+<  'Asia/Krasnoyarsk',
+<  'Asia/Kuala_Lumpur',
+<  'Asia/Kuching',
+<  'Asia/Kuwait',
+<  'Asia/Macao',
+<  'Asia/Macau',
+<  'Asia/Magadan',
+<  'Asia/Makassar',
+<  'Asia/Manila',
+<  'Asia/Muscat',
+<  'Asia/Nicosia',
+<  'Asia/Novokuznetsk',
+<  'Asia/Novosibirsk',
+<  'Asia/Omsk',
+<  'Asia/Oral',
+<  'Asia/Phnom_Penh',
+<  'Asia/Pontianak',
+<  'Asia/Pyongyang',
+<  'Asia/Qatar',
+<  'Asia/Qostanay',
+<  'Asia/Qyzylorda',
+<  'Asia/Rangoon',
+<  'Asia/Riyadh',
+<  'Asia/Saigon',
+<  'Asia/Sakhalin',
+<  'Asia/Samarkand',
+<  'Asia/Seoul',
+<  'Asia/Shanghai',
+<  'Asia/Singapore',
+<  'Asia/Srednekolymsk',
+<  'Asia/Taipei',
+<  'Asia/Tashkent',
+<  'Asia/Tbilisi',
+<  'Asia/Tehran',
+<  'Asia/Tel_Aviv',
+<  'Asia/Thimbu',
+<  'Asia/Thimphu',
+<  'Asia/Tokyo',
+<  'Asia/Tomsk',
+<  'Asia/Ujung_Pandang',
+<  'Asia/Ulaanbaatar',
+<  'Asia/Ulan_Bator',
+<  'Asia/Urumqi',
+<  'Asia/Ust-Nera',
+<  'Asia/Vientiane',
+<  'Asia/Vladivostok',
+<  'Asia/Yakutsk',
+<  'Asia/Yangon',
+<  'Asia/Yekaterinburg',
+<  'Asia/Yerevan',
+<  'Atlantic/Azores',
+<  'Atlantic/Bermuda',
+<  'Atlantic/Canary',
+<  'Atlantic/Cape_Verde',
+<  'Atlantic/Faeroe',
+<  'Atlantic/Faroe',
+<  'Atlantic/Jan_Mayen',
+<  'Atlantic/Madeira',
+<  'Atlantic/Reykjavik',
+<  'Atlantic/South_Georgia',
+<  'Atlantic/St_Helena',
+<  'Atlantic/Stanley',
+<  'Australia/ACT',
+<  'Australia/Adelaide',
+<  'Australia/Brisbane',
+<  'Australia/Broken_Hill',
+<  'Australia/Canberra',
+<  'Australia/Currie',
+<  'Australia/Darwin',
+<  'Australia/Eucla',
+<  'Australia/Hobart',
+<  'Australia/LHI',
+<  'Australia/Lindeman',
+<  'Australia/Lord_Howe',
+<  'Australia/Melbourne',
+<  'Australia/NSW',
+<  'Australia/North',
+<  'Australia/Perth',
+<  'Australia/Queensland',
+<  'Australia/South',
+<  'Australia/Sydney',
+<  'Australia/Tasmania',
+<  'Australia/Victoria',
+<  'Australia/West',
+<  'Australia/Yancowinna',
+<  'Brazil/Acre',
+<  'Brazil/DeNoronha',
+<  'Brazil/East',
+<  'Brazil/West',
+<  'CET',
+<  'CST6CDT',
+<  'Canada/Atlantic',
+<  'Canada/Central',
+<  'Canada/Eastern',
+<  'Canada/Mountain',
+<  'Canada/Newfoundland',
+<  'Canada/Pacific',
+<  'Canada/Saskatchewan',
+<  'Canada/Yukon',
+<  'Chile/Continental',
+<  'Chile/EasterIsland',
+<  'Cuba',
+<  'EET',
+<  'EST',
+<  'EST5EDT',
+<  'Egypt',
+<  'Eire',
+<  'Etc/GMT',
+<  'Etc/GMT+0',
+<  'Etc/GMT+1',
+<  'Etc/GMT+10',
+<  'Etc/GMT+11',
+<  'Etc/GMT+12',
+<  'Etc/GMT+2',
+<  'Etc/GMT+3',
+<  'Etc/GMT+4',
+<  'Etc/GMT+5',
+<  'Etc/GMT+6',
+<  'Etc/GMT+7',
+<  'Etc/GMT+8',
+<  'Etc/GMT+9',
+<  'Etc/GMT-0',
+<  'Etc/GMT-1',
+<  'Etc/GMT-10',
+<  'Etc/GMT-11',
+<  'Etc/GMT-12',
+<  'Etc/GMT-13',
+<  'Etc/GMT-14',
+<  'Etc/GMT-2',
+<  'Etc/GMT-3',
+<  'Etc/GMT-4',
+<  'Etc/GMT-5',
+<  'Etc/GMT-6',
+<  'Etc/GMT-7',
+<  'Etc/GMT-8',
+<  'Etc/GMT-9',
+<  'Etc/GMT0',
+<  'Etc/Greenwich',
+<  'Etc/UCT',
+<  'Etc/UTC',
+<  'Etc/Universal',
+<  'Etc/Zulu',
+<  'Europe/Amsterdam',
+<  'Europe/Andorra',
+<  'Europe/Astrakhan',
+<  'Europe/Athens',
+<  'Europe/Belfast',
+<  'Europe/Belgrade',
+<  'Europe/Berlin',
+<  'Europe/Bratislava',
+<  'Europe/Brussels',
+<  'Europe/Bucharest',
+<  'Europe/Budapest',
+<  'Europe/Busingen',
+<  'Europe/Chisinau',
+<  'Europe/Copenhagen',
+<  'Europe/Dublin',
+<  'Europe/Gibraltar',
+<  'Europe/Guernsey',
+<  'Europe/Helsinki',
+<  'Europe/Isle_of_Man',
+<  'Europe/Istanbul',
+<  'Europe/Jersey',
+<  'Europe/Kaliningrad',
+<  'Europe/Kiev',
+<  'Europe/Kirov',
+<  'Europe/Kyiv',
+<  'Europe/Lisbon',
+<  'Europe/Ljubljana',
+<  'Europe/London',
+<  'Europe/Luxembourg',
+<  'Europe/Madrid',
+<  'Europe/Malta',
+<  'Europe/Mariehamn',
+<  'Europe/Minsk',
+<  'Europe/Monaco',
+<  'Europe/Moscow',
+<  'Europe/Nicosia',
+<  'Europe/Oslo',
+<  'Europe/Paris',
+<  'Europe/Podgorica',
+<  'Europe/Prague',
+<  'Europe/Riga',
+<  'Europe/Rome',
+<  'Europe/Samara',
+<  'Europe/San_Marino',
+<  'Europe/Sarajevo',
+<  'Europe/Saratov',
+<  'Europe/Simferopol',
+<  'Europe/Skopje',
+<  'Europe/Sofia',
+<  'Europe/Stockholm',
+<  'Europe/Tallinn',
+<  'Europe/Tirane',
+<  'Europe/Tiraspol',
+<  'Europe/Ulyanovsk',
+<  'Europe/Uzhgorod',
+<  'Europe/Vaduz',
+<  'Europe/Vatican',
+<  'Europe/Vienna',
+<  'Europe/Vilnius',
+<  'Europe/Volgograd',
+<  'Europe/Warsaw',
+<  'Europe/Zagreb',
+<  'Europe/Zaporozhye',
+<  'Europe/Zurich',
+<  'GB',
+<  'GB-Eire',
+<  'GMT',
+<  'GMT+0',
+<  'GMT-0',
+<  'GMT0',
+<  'Greenwich',
+<  'HST',
+<  'Hongkong',
+<  'Iceland',
+<  'Indian/Antananarivo',
+<  'Indian/Chagos',
+<  'Indian/Christmas',
+<  'Indian/Cocos',
+<  'Indian/Comoro',
+<  'Indian/Kerguelen',
+<  'Indian/Mahe',
+<  'Indian/Maldives',
+<  'Indian/Mauritius',
+<  'Indian/Mayotte',
+<  'Indian/Reunion',
+<  'Iran',
+<  'Israel',
+<  'Jamaica',
+<  'Japan',
+<  'Kwajalein',
+<  'Libya',
+<  'MET',
+<  'MST',
+<  'MST7MDT',
+<  'Mexico/BajaNorte',
+<  'Mexico/BajaSur',
+<  'Mexico/General',
+<  'NZ',
+<  'NZ-CHAT',
+<  'Navajo',
+<  'PRC',
+<  'PST8PDT',
+<  'Pacific/Apia',
+<  'Pacific/Auckland',
+<  'Pacific/Bougainville',
+<  'Pacific/Chatham',
+<  'Pacific/Chuuk',
+<  'Pacific/Easter',
+<  'Pacific/Efate',
+<  'Pacific/Enderbury',
+<  'Pacific/Fakaofo',
+<  'Pacific/Fiji',
+<  'Pacific/Funafuti',
+<  'Pacific/Galapagos',
+<  'Pacific/Gambier',
+<  'Pacific/Guadalcanal',
+<  'Pacific/Guam',
+<  'Pacific/Honolulu',
+<  'Pacific/Johnston',
+<  'Pacific/Kanton',
+<  'Pacific/Kiritimati',
+<  'Pacific/Kosrae',
+<  'Pacific/Kwajalein',
+<  'Pacific/Majuro',
+<  'Pacific/Marquesas',
+<  'Pacific/Midway',
+<  'Pacific/Nauru',
+<  'Pacific/Niue',
+<  'Pacific/Norfolk',
+<  'Pacific/Noumea',
+<  'Pacific/Pago_Pago',
+<  'Pacific/Palau',
+<  'Pacific/Pitcairn',
+<  'Pacific/Pohnpei',
+<  'Pacific/Ponape',
+<  'Pacific/Port_Moresby',
+<  'Pacific/Rarotonga',
+<  'Pacific/Saipan',
+<  'Pacific/Samoa',
+<  'Pacific/Tahiti',
+<  'Pacific/Tarawa',
+<  'Pacific/Tongatapu',
+<  'Pacific/Truk',
+<  'Pacific/Wake',
+<  'Pacific/Wallis',
+<  'Pacific/Yap',
+<  'Poland',
+<  'Portugal',
+<  'ROC',
+<  'ROK',
+<  'Singapore',
+<  'Turkey',
+<  'UCT',
+<  'US/Alaska',
+<  'US/Aleutian',
+<  'US/Arizona',
+<  'US/Central',
+<  'US/East-Indiana',
+<  'US/Eastern',
+<  'US/Hawaii',
+<  'US/Indiana-Starke',
+<  'US/Michigan',
+<  'US/Mountain',
+<  'US/Pacific',
+<  'US/Samoa',
+<  'UTC',
+<  'Universal',
+<  'W-SU',
+<  'WET',
+<  'Zulu']
+---
+> all_timezones = []
+> for root, dirs, files in os.walk(_tzinfo_dir):
+>     for exclude in 'posix', 'right':
+>         if exclude in dirs:
+>             del dirs[dirs.index(exclude)]
+> 
+>     all_timezones.extend(os.path.join(root, tz_file)[len(_tzinfo_dir)+1:]
+>             for tz_file in files
+>             if tz_file not in ['leapseconds', 'README', 'Theory']
+>             and '.' not in tz_file)
+> 
+1105,1542c520,533
+< common_timezones = \
+< ['Africa/Abidjan',
+<  'Africa/Accra',
+<  'Africa/Addis_Ababa',
+<  'Africa/Algiers',
+<  'Africa/Asmara',
+<  'Africa/Bamako',
+<  'Africa/Bangui',
+<  'Africa/Banjul',
+<  'Africa/Bissau',
+<  'Africa/Blantyre',
+<  'Africa/Brazzaville',
+<  'Africa/Bujumbura',
+<  'Africa/Cairo',
+<  'Africa/Casablanca',
+<  'Africa/Ceuta',
+<  'Africa/Conakry',
+<  'Africa/Dakar',
+<  'Africa/Dar_es_Salaam',
+<  'Africa/Djibouti',
+<  'Africa/Douala',
+<  'Africa/El_Aaiun',
+<  'Africa/Freetown',
+<  'Africa/Gaborone',
+<  'Africa/Harare',
+<  'Africa/Johannesburg',
+<  'Africa/Juba',
+<  'Africa/Kampala',
+<  'Africa/Khartoum',
+<  'Africa/Kigali',
+<  'Africa/Kinshasa',
+<  'Africa/Lagos',
+<  'Africa/Libreville',
+<  'Africa/Lome',
+<  'Africa/Luanda',
+<  'Africa/Lubumbashi',
+<  'Africa/Lusaka',
+<  'Africa/Malabo',
+<  'Africa/Maputo',
+<  'Africa/Maseru',
+<  'Africa/Mbabane',
+<  'Africa/Mogadishu',
+<  'Africa/Monrovia',
+<  'Africa/Nairobi',
+<  'Africa/Ndjamena',
+<  'Africa/Niamey',
+<  'Africa/Nouakchott',
+<  'Africa/Ouagadougou',
+<  'Africa/Porto-Novo',
+<  'Africa/Sao_Tome',
+<  'Africa/Tripoli',
+<  'Africa/Tunis',
+<  'Africa/Windhoek',
+<  'America/Adak',
+<  'America/Anchorage',
+<  'America/Anguilla',
+<  'America/Antigua',
+<  'America/Araguaina',
+<  'America/Argentina/Buenos_Aires',
+<  'America/Argentina/Catamarca',
+<  'America/Argentina/Cordoba',
+<  'America/Argentina/Jujuy',
+<  'America/Argentina/La_Rioja',
+<  'America/Argentina/Mendoza',
+<  'America/Argentina/Rio_Gallegos',
+<  'America/Argentina/Salta',
+<  'America/Argentina/San_Juan',
+<  'America/Argentina/San_Luis',
+<  'America/Argentina/Tucuman',
+<  'America/Argentina/Ushuaia',
+<  'America/Aruba',
+<  'America/Asuncion',
+<  'America/Atikokan',
+<  'America/Bahia',
+<  'America/Bahia_Banderas',
+<  'America/Barbados',
+<  'America/Belem',
+<  'America/Belize',
+<  'America/Blanc-Sablon',
+<  'America/Boa_Vista',
+<  'America/Bogota',
+<  'America/Boise',
+<  'America/Cambridge_Bay',
+<  'America/Campo_Grande',
+<  'America/Cancun',
+<  'America/Caracas',
+<  'America/Cayenne',
+<  'America/Cayman',
+<  'America/Chicago',
+<  'America/Chihuahua',
+<  'America/Costa_Rica',
+<  'America/Creston',
+<  'America/Cuiaba',
+<  'America/Curacao',
+<  'America/Danmarkshavn',
+<  'America/Dawson',
+<  'America/Dawson_Creek',
+<  'America/Denver',
+<  'America/Detroit',
+<  'America/Dominica',
+<  'America/Edmonton',
+<  'America/Eirunepe',
+<  'America/El_Salvador',
+<  'America/Fort_Nelson',
+<  'America/Fortaleza',
+<  'America/Glace_Bay',
+<  'America/Goose_Bay',
+<  'America/Grand_Turk',
+<  'America/Grenada',
+<  'America/Guadeloupe',
+<  'America/Guatemala',
+<  'America/Guayaquil',
+<  'America/Guyana',
+<  'America/Halifax',
+<  'America/Havana',
+<  'America/Hermosillo',
+<  'America/Indiana/Indianapolis',
+<  'America/Indiana/Knox',
+<  'America/Indiana/Marengo',
+<  'America/Indiana/Petersburg',
+<  'America/Indiana/Tell_City',
+<  'America/Indiana/Vevay',
+<  'America/Indiana/Vincennes',
+<  'America/Indiana/Winamac',
+<  'America/Inuvik',
+<  'America/Iqaluit',
+<  'America/Jamaica',
+<  'America/Juneau',
+<  'America/Kentucky/Louisville',
+<  'America/Kentucky/Monticello',
+<  'America/Kralendijk',
+<  'America/La_Paz',
+<  'America/Lima',
+<  'America/Los_Angeles',
+<  'America/Lower_Princes',
+<  'America/Maceio',
+<  'America/Managua',
+<  'America/Manaus',
+<  'America/Marigot',
+<  'America/Martinique',
+<  'America/Matamoros',
+<  'America/Mazatlan',
+<  'America/Menominee',
+<  'America/Merida',
+<  'America/Metlakatla',
+<  'America/Mexico_City',
+<  'America/Miquelon',
+<  'America/Moncton',
+<  'America/Monterrey',
+<  'America/Montevideo',
+<  'America/Montserrat',
+<  'America/Nassau',
+<  'America/New_York',
+<  'America/Nipigon',
+<  'America/Nome',
+<  'America/Noronha',
+<  'America/North_Dakota/Beulah',
+<  'America/North_Dakota/Center',
+<  'America/North_Dakota/New_Salem',
+<  'America/Nuuk',
+<  'America/Ojinaga',
+<  'America/Panama',
+<  'America/Pangnirtung',
+<  'America/Paramaribo',
+<  'America/Phoenix',
+<  'America/Port-au-Prince',
+<  'America/Port_of_Spain',
+<  'America/Porto_Velho',
+<  'America/Puerto_Rico',
+<  'America/Punta_Arenas',
+<  'America/Rainy_River',
+<  'America/Rankin_Inlet',
+<  'America/Recife',
+<  'America/Regina',
+<  'America/Resolute',
+<  'America/Rio_Branco',
+<  'America/Santarem',
+<  'America/Santiago',
+<  'America/Santo_Domingo',
+<  'America/Sao_Paulo',
+<  'America/Scoresbysund',
+<  'America/Sitka',
+<  'America/St_Barthelemy',
+<  'America/St_Johns',
+<  'America/St_Kitts',
+<  'America/St_Lucia',
+<  'America/St_Thomas',
+<  'America/St_Vincent',
+<  'America/Swift_Current',
+<  'America/Tegucigalpa',
+<  'America/Thule',
+<  'America/Thunder_Bay',
+<  'America/Tijuana',
+<  'America/Toronto',
+<  'America/Tortola',
+<  'America/Vancouver',
+<  'America/Whitehorse',
+<  'America/Winnipeg',
+<  'America/Yakutat',
+<  'America/Yellowknife',
+<  'Antarctica/Casey',
+<  'Antarctica/Davis',
+<  'Antarctica/DumontDUrville',
+<  'Antarctica/Macquarie',
+<  'Antarctica/Mawson',
+<  'Antarctica/McMurdo',
+<  'Antarctica/Palmer',
+<  'Antarctica/Rothera',
+<  'Antarctica/Syowa',
+<  'Antarctica/Troll',
+<  'Antarctica/Vostok',
+<  'Arctic/Longyearbyen',
+<  'Asia/Aden',
+<  'Asia/Almaty',
+<  'Asia/Amman',
+<  'Asia/Anadyr',
+<  'Asia/Aqtau',
+<  'Asia/Aqtobe',
+<  'Asia/Ashgabat',
+<  'Asia/Atyrau',
+<  'Asia/Baghdad',
+<  'Asia/Bahrain',
+<  'Asia/Baku',
+<  'Asia/Bangkok',
+<  'Asia/Barnaul',
+<  'Asia/Beirut',
+<  'Asia/Bishkek',
+<  'Asia/Brunei',
+<  'Asia/Chita',
+<  'Asia/Choibalsan',
+<  'Asia/Colombo',
+<  'Asia/Damascus',
+<  'Asia/Dhaka',
+<  'Asia/Dili',
+<  'Asia/Dubai',
+<  'Asia/Dushanbe',
+<  'Asia/Famagusta',
+<  'Asia/Gaza',
+<  'Asia/Hebron',
+<  'Asia/Ho_Chi_Minh',
+<  'Asia/Hong_Kong',
+<  'Asia/Hovd',
+<  'Asia/Irkutsk',
+<  'Asia/Jakarta',
+<  'Asia/Jayapura',
+<  'Asia/Jerusalem',
+<  'Asia/Kabul',
+<  'Asia/Kamchatka',
+<  'Asia/Karachi',
+<  'Asia/Kathmandu',
+<  'Asia/Khandyga',
+<  'Asia/Kolkata',
+<  'Asia/Krasnoyarsk',
+<  'Asia/Kuala_Lumpur',
+<  'Asia/Kuching',
+<  'Asia/Kuwait',
+<  'Asia/Macau',
+<  'Asia/Magadan',
+<  'Asia/Makassar',
+<  'Asia/Manila',
+<  'Asia/Muscat',
+<  'Asia/Nicosia',
+<  'Asia/Novokuznetsk',
+<  'Asia/Novosibirsk',
+<  'Asia/Omsk',
+<  'Asia/Oral',
+<  'Asia/Phnom_Penh',
+<  'Asia/Pontianak',
+<  'Asia/Pyongyang',
+<  'Asia/Qatar',
+<  'Asia/Qostanay',
+<  'Asia/Qyzylorda',
+<  'Asia/Riyadh',
+<  'Asia/Sakhalin',
+<  'Asia/Samarkand',
+<  'Asia/Seoul',
+<  'Asia/Shanghai',
+<  'Asia/Singapore',
+<  'Asia/Srednekolymsk',
+<  'Asia/Taipei',
+<  'Asia/Tashkent',
+<  'Asia/Tbilisi',
+<  'Asia/Tehran',
+<  'Asia/Thimphu',
+<  'Asia/Tokyo',
+<  'Asia/Tomsk',
+<  'Asia/Ulaanbaatar',
+<  'Asia/Urumqi',
+<  'Asia/Ust-Nera',
+<  'Asia/Vientiane',
+<  'Asia/Vladivostok',
+<  'Asia/Yakutsk',
+<  'Asia/Yangon',
+<  'Asia/Yekaterinburg',
+<  'Asia/Yerevan',
+<  'Atlantic/Azores',
+<  'Atlantic/Bermuda',
+<  'Atlantic/Canary',
+<  'Atlantic/Cape_Verde',
+<  'Atlantic/Faroe',
+<  'Atlantic/Madeira',
+<  'Atlantic/Reykjavik',
+<  'Atlantic/South_Georgia',
+<  'Atlantic/St_Helena',
+<  'Atlantic/Stanley',
+<  'Australia/Adelaide',
+<  'Australia/Brisbane',
+<  'Australia/Broken_Hill',
+<  'Australia/Darwin',
+<  'Australia/Eucla',
+<  'Australia/Hobart',
+<  'Australia/Lindeman',
+<  'Australia/Lord_Howe',
+<  'Australia/Melbourne',
+<  'Australia/Perth',
+<  'Australia/Sydney',
+<  'Canada/Atlantic',
+<  'Canada/Central',
+<  'Canada/Eastern',
+<  'Canada/Mountain',
+<  'Canada/Newfoundland',
+<  'Canada/Pacific',
+<  'Europe/Amsterdam',
+<  'Europe/Andorra',
+<  'Europe/Astrakhan',
+<  'Europe/Athens',
+<  'Europe/Belgrade',
+<  'Europe/Berlin',
+<  'Europe/Bratislava',
+<  'Europe/Brussels',
+<  'Europe/Bucharest',
+<  'Europe/Budapest',
+<  'Europe/Busingen',
+<  'Europe/Chisinau',
+<  'Europe/Copenhagen',
+<  'Europe/Dublin',
+<  'Europe/Gibraltar',
+<  'Europe/Guernsey',
+<  'Europe/Helsinki',
+<  'Europe/Isle_of_Man',
+<  'Europe/Istanbul',
+<  'Europe/Jersey',
+<  'Europe/Kaliningrad',
+<  'Europe/Kirov',
+<  'Europe/Kyiv',
+<  'Europe/Lisbon',
+<  'Europe/Ljubljana',
+<  'Europe/London',
+<  'Europe/Luxembourg',
+<  'Europe/Madrid',
+<  'Europe/Malta',
+<  'Europe/Mariehamn',
+<  'Europe/Minsk',
+<  'Europe/Monaco',
+<  'Europe/Moscow',
+<  'Europe/Oslo',
+<  'Europe/Paris',
+<  'Europe/Podgorica',
+<  'Europe/Prague',
+<  'Europe/Riga',
+<  'Europe/Rome',
+<  'Europe/Samara',
+<  'Europe/San_Marino',
+<  'Europe/Sarajevo',
+<  'Europe/Saratov',
+<  'Europe/Simferopol',
+<  'Europe/Skopje',
+<  'Europe/Sofia',
+<  'Europe/Stockholm',
+<  'Europe/Tallinn',
+<  'Europe/Tirane',
+<  'Europe/Ulyanovsk',
+<  'Europe/Vaduz',
+<  'Europe/Vatican',
+<  'Europe/Vienna',
+<  'Europe/Vilnius',
+<  'Europe/Volgograd',
+<  'Europe/Warsaw',
+<  'Europe/Zagreb',
+<  'Europe/Zurich',
+<  'GMT',
+<  'Indian/Antananarivo',
+<  'Indian/Chagos',
+<  'Indian/Christmas',
+<  'Indian/Cocos',
+<  'Indian/Comoro',
+<  'Indian/Kerguelen',
+<  'Indian/Mahe',
+<  'Indian/Maldives',
+<  'Indian/Mauritius',
+<  'Indian/Mayotte',
+<  'Indian/Reunion',
+<  'Pacific/Apia',
+<  'Pacific/Auckland',
+<  'Pacific/Bougainville',
+<  'Pacific/Chatham',
+<  'Pacific/Chuuk',
+<  'Pacific/Easter',
+<  'Pacific/Efate',
+<  'Pacific/Fakaofo',
+<  'Pacific/Fiji',
+<  'Pacific/Funafuti',
+<  'Pacific/Galapagos',
+<  'Pacific/Gambier',
+<  'Pacific/Guadalcanal',
+<  'Pacific/Guam',
+<  'Pacific/Honolulu',
+<  'Pacific/Kanton',
+<  'Pacific/Kiritimati',
+<  'Pacific/Kosrae',
+<  'Pacific/Kwajalein',
+<  'Pacific/Majuro',
+<  'Pacific/Marquesas',
+<  'Pacific/Midway',
+<  'Pacific/Nauru',
+<  'Pacific/Niue',
+<  'Pacific/Norfolk',
+<  'Pacific/Noumea',
+<  'Pacific/Pago_Pago',
+<  'Pacific/Palau',
+<  'Pacific/Pitcairn',
+<  'Pacific/Pohnpei',
+<  'Pacific/Port_Moresby',
+<  'Pacific/Rarotonga',
+<  'Pacific/Saipan',
+<  'Pacific/Tahiti',
+<  'Pacific/Tarawa',
+<  'Pacific/Tongatapu',
+<  'Pacific/Wake',
+<  'Pacific/Wallis',
+<  'US/Alaska',
+<  'US/Arizona',
+<  'US/Central',
+<  'US/Eastern',
+<  'US/Hawaii',
+<  'US/Mountain',
+<  'US/Pacific',
+<  'UTC']
+---
+> with open(os.path.join(_tzinfo_dir, 'zone.tab')) as zonetab:
+>     common_timezones = [l.split()[2]
+>             for l in zonetab
+>             if l != '' and l[0] != '#']
+> common_timezones.extend(
+>         ['GMT',
+>          'US/Alaska',
+>          'US/Arizona',
+>          'US/Central',
+>          'US/Eastern',
+>          'US/Hawaii',
+>          'US/Mountain',
+>          'US/Pacific',
+>          'UTC'])
diff --git a/python3-pytz/python3-pytz.nm b/python3-pytz/python3-pytz.nm
new file mode 100644 (file)
index 0000000..1bf5285
--- /dev/null
@@ -0,0 +1,45 @@
+###############################################################################
+# IPFire.org    - An Open Source Firewall Solution                            #
+# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
+###############################################################################
+
+name       = python3-pytz
+version    = 2023.3
+release    = 1
+thisapp    = pytz-%{version}
+
+groups     = Development/Tools
+url        = https://pypi.org/project/pytz/
+license    = MIT
+summary    = World timezone definitions, modern and historical
+
+description
+       pytz brings the Olson tz database into Python.
+end
+
+source_dl  = https://files.pythonhosted.org/packages/5e/32/12032aa8c673ee16707a9b6cdda2b09c0089131f35af55d443b6a9c69c1d
+
+build
+       requires
+               python3-devel
+       end
+
+       build
+               %{python3} setup.py build
+       end
+
+       install
+               %{python3} setup.py install --root=%{BUILDROOT}
+
+               # Do not install a copy of the zoneinfo
+               rm -rfv %{BUILDROOT}%{python3_sitelib}/pytz/zoneinfo
+       end
+end
+
+packages
+       package %{name}
+               requires
+                       tzdata
+               end
+       end
+end
similarity index 53%
rename from suricata-update/suricata-update.nm
rename to python3-sdbus/python3-sdbus.nm
index 35bd9599d55c26b1c7ae4f138b2993758666c09c..5411a16eadcd94a0efb0907d7e8b26688c00ca47 100644 (file)
@@ -3,25 +3,30 @@
 # Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
 ###############################################################################
 
-name       = suricata-update
-version    = 1.0.5
+name       = python3-sdbus
+version    = 0.11.0
 release    = 1
-thisapp    = %{name}-%{version}
-arch       = noarch
+thisapp    = python-sdbus-%{version}
 
-groups     = Development/Tools
-url        = https://github.com/OISF/suricata-update
-license    = LGPLv2+
-summary    = A tool for updating Suricata rules.
+groups     = System/Libraries
+url        = https://github.com/python-sdbus/python-sdbus
+license    = LGPL2.1 and GPL2
+summary    = Modern Python bindings for D-Bus
 
 description
-       This package contains a Python written tool to update the used rules for
-       suricata.
+       A modern python library for D-Bus, based on the fast sd-bus
+       from systemd.
 end
 
-source_dl  = https://github.com/OISF/%{name}/archive/%{version}.tar.gz#/
+source_dl  = https://github.com/python-sdbus/python-sdbus/archive/refs/tags/%{version}.tar.gz#/
 
 build
+       requires
+               python3-devel
+               python3-setuptools
+               systemd-devel
+       end
+
        build
                %{python3} setup.py build
        end
diff --git a/python3-setproctitle/python3-setproctitle.nm b/python3-setproctitle/python3-setproctitle.nm
new file mode 100644 (file)
index 0000000..1aff887
--- /dev/null
@@ -0,0 +1,44 @@
+###############################################################################
+# IPFire.org    - An Open Source Firewall Solution                            #
+# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
+###############################################################################
+
+name       = python3-setproctitle
+version    = 1.3.2
+release    = 1
+thisapp    = py-setproctitle-version-%{version}
+
+groups     = System/Libraries
+url        = https://github.com/dvarrazzo/py-setproctitle/
+license    = BSD
+summary    = A Python module to customize the process title
+
+description
+       The setproctitle module allows a process to change its title
+       (as displayed by system tools such as ps or top).
+end
+
+source_dl  = https://github.com/dvarrazzo/py-setproctitle/archive/refs/tags/version-%{version}.tar.gz#/
+
+build
+       requires
+               python3-devel
+               python3-setuptools
+       end
+
+       build
+               %{python3} setup.py build
+       end
+
+       install
+               %{python3} setup.py install --root=%{BUILDROOT}
+       end
+end
+
+packages
+       package %{name}
+
+       package %{name}-debuginfo
+               template DEBUGINFO
+       end
+end
diff --git a/python3-setuptools/python3-setuptools.nm b/python3-setuptools/python3-setuptools.nm
new file mode 100644 (file)
index 0000000..5bf1f27
--- /dev/null
@@ -0,0 +1,49 @@
+###############################################################################
+# IPFire.org    - An Open Source Firewall Solution                            #
+# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
+###############################################################################
+
+name       = python3-setuptools
+version    = 68.2.2
+release    = 1
+thisapp    = setuptools-%{version}
+
+groups     = Development/Libraries
+url        = https://pypi.python.org/pypi/setuptools
+license    = Python or ZPLv2.0
+summary    = Easily build and distribute Python packages.
+
+description
+       Setuptools is a collection of enhancements to the Python distutils
+       that allow you to more easily build and distribute Python packages,
+       especially ones that have dependencies on other packages.
+end
+
+source_dl = https://files.pythonhosted.org/packages/ef/cc/93f7213b2ab5ed383f98ce8020e632ef256b406b8569606c3f160ed8e1c9
+
+build
+
+       requires
+               python3
+               python3-devel
+       end
+
+       export SETUPTOOLS_INSTALL_WINDOWS_SPECIFIC_FILES = 0
+
+       build
+               %{python3} setup.py build
+       end
+
+       install
+               %{python3} setup.py install -O1 --skip-build --root=%{BUILDROOT}
+
+               rm -rvf %{BUILDROOT}%{python3_sitelib}/setuptools/tests
+               chmod +x %{BUILDROOT}%{python3_sitelib}/setuptools/command/easy_install.py
+
+               #find %{BUILDROOT}%{python3_sitelib} -name "*.exe" | xargs rm -vf
+       end
+end
+
+packages
+       package %{name}
+end
index c6d0ebf5e628770c7ceefbcb00fbf524035eecec..84fc726e7c01ea0c2eca5fd1771cd38b549c6236 100644 (file)
@@ -4,7 +4,7 @@
 ###############################################################################
 
 name       = python3-systemd
-version    = 232
+version    = 235
 release    = 1
 thisapp    = python-systemd-%{version}
 
@@ -23,6 +23,7 @@ source_dl  = https://github.com/systemd/python-systemd/archive/v%{version}.tar.g
 build
        requires
                python3-devel >= 3.4
+               python3-setuptools
                systemd-devel
        end
 
similarity index 55%
rename from python-tornado/python-tornado.nm
rename to python3-tornado/python3-tornado.nm
index 2f83baccee7df38028862123cf5764dcbb03de4b..6a145966a325a42c3095e7aafe726f7881bc5338 100644 (file)
@@ -3,16 +3,16 @@
 # Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
 ###############################################################################
 
-name       = python-tornado
-version    = 4.2.1
+name       = python3-tornado
+version    = 6.3.3
 release    = 1
 thisapp    = tornado-%{version}
 
 maintainer = Michael Tremer <michael.tremer@ipfire.org>
 groups     = Development/Libraries
-url        = http://www.tornadoweb.org/
+url        = https://www.tornadoweb.org/
 license    = ASL 2.0
-summary    = A python based non-blocking web server.
+summary    = A python based non-blocking web server
 
 description
        The framework is distinct from most mainstream web server frameworks
@@ -20,49 +20,27 @@ description
        and reasonably fast.
 end
 
-source_dl  = https://pypi.python.org/packages/source/t/tornado/
-source_dl += http://github.com/downloads/facebook/tornado/
+source_dl  = https://github.com/tornadoweb/tornado/archive/refs/tags/v%{version}.tar.gz#/
 
 build
        requires
-               pakfire-builder >= 0.9.23-2
-               python-devel
                python3-devel >= 3.4
-       end
-
-       DIR_APP3 = %{DIR_APP}-python3
-
-       prepare_cmds
-               find tornado -name "*py" | xargs sed -e '/^#!\//, 1d' -i
-
-               cp -a %{DIR_APP} %{DIR_APP3}
+               python3-setuptools
        end
 
        build
-               pushd %{DIR_APP3}
                %{python3} setup.py build
-               popd
-
-               %{python} setup.py build
        end
 
        install
-               pushd %{DIR_APP3}
                %{python3} setup.py install --skip-build --root=%{BUILDROOT}
-               popd
-
-               %{python} setup.py install --skip-build --root=%{BUILDROOT}
        end
 end
 
 packages
        package %{name}
-               requires
-                       python-pycurl
-               end
-       end
 
-       package python3-tornado
-               template PYTHON3
+       package %{name}-debuginfo
+               template DEBUGINFO
        end
 end
diff --git a/python3/patches/00104-lib64-fix-for-test_install.patch b/python3/patches/00104-lib64-fix-for-test_install.patch
deleted file mode 100644 (file)
index 7852bf6..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
---- Python-2.7.2/Lib/distutils/tests/test_install.py.lib64     2011-09-08 17:51:57.851405376 -0400
-+++ Python-2.7.2/Lib/distutils/tests/test_install.py   2011-09-08 18:40:46.754205096 -0400
-@@ -41,8 +41,9 @@ class InstallTestCase(support.TempdirMan
-             self.assertEqual(got, expected)
-         libdir = os.path.join(destination, "lib", "python")
-+        platlibdir = os.path.join(destination, "lib64", "python")
-         check_path(cmd.install_lib, libdir)
--        check_path(cmd.install_platlib, libdir)
-+        check_path(cmd.install_platlib, platlibdir)
-         check_path(cmd.install_purelib, libdir)
-         check_path(cmd.install_headers,
-                    os.path.join(destination, "include", "python", "foopkg"))
diff --git a/python3/patches/Python-3.1.1-rpath.patch b/python3/patches/Python-3.1.1-rpath.patch
deleted file mode 100644 (file)
index 1493af2..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-diff -up Python-3.1.1/Lib/distutils/unixccompiler.py.rpath Python-3.1.1/Lib/distutils/unixccompiler.py
---- Python-3.1.1/Lib/distutils/unixccompiler.py.rpath  2009-09-04 17:29:34.000000000 -0400
-+++ Python-3.1.1/Lib/distutils/unixccompiler.py        2009-09-04 17:49:54.000000000 -0400
-@@ -141,6 +141,16 @@ class UnixCCompiler(CCompiler):
-     if sys.platform == "cygwin":
-         exe_extension = ".exe"
-+    def _fix_lib_args(self, libraries, library_dirs, runtime_library_dirs):
-+        """Remove standard library path from rpath"""
-+        libraries, library_dirs, runtime_library_dirs = super(
-+            self.__class__, self)._fix_lib_args(libraries, library_dirs,
-+            runtime_library_dirs)
-+        libdir = sysconfig.get_config_var('LIBDIR')
-+        if runtime_library_dirs and (libdir in runtime_library_dirs):
-+            runtime_library_dirs.remove(libdir)
-+        return libraries, library_dirs, runtime_library_dirs
-+
-     def preprocess(self, source, output_file=None, macros=None,
-                    include_dirs=None, extra_preargs=None, extra_postargs=None):
-         fixed_args = self._fix_compile_args(None, macros, include_dirs)
diff --git a/python3/python-3.6.0-lib64.patch b/python3/python-3.6.0-lib64.patch
deleted file mode 100644 (file)
index 8e9ae4e..0000000
+++ /dev/null
@@ -1,188 +0,0 @@
-diff --git a/Lib/distutils/command/install.py b/Lib/distutils/command/install.py
-index 9474e9c..c0ce4c6 100644
---- a/Lib/distutils/command/install.py
-+++ b/Lib/distutils/command/install.py
-@@ -30,14 +30,14 @@ WINDOWS_SCHEME = {
- INSTALL_SCHEMES = {
-     'unix_prefix': {
-         'purelib': '$base/lib/python$py_version_short/site-packages',
--        'platlib': '$platbase/lib/python$py_version_short/site-packages',
-+        'platlib': '$platbase/lib64/python$py_version_short/site-packages',
-         'headers': '$base/include/python$py_version_short$abiflags/$dist_name',
-         'scripts': '$base/bin',
-         'data'   : '$base',
-         },
-     'unix_home': {
-         'purelib': '$base/lib/python',
--        'platlib': '$base/lib/python',
-+        'platlib': '$base/lib64/python',
-         'headers': '$base/include/python/$dist_name',
-         'scripts': '$base/bin',
-         'data'   : '$base',
-diff --git a/Lib/distutils/sysconfig.py b/Lib/distutils/sysconfig.py
-index 026cca7..6d3e077 100644
---- a/Lib/distutils/sysconfig.py
-+++ b/Lib/distutils/sysconfig.py
-@@ -132,8 +132,12 @@ def get_python_lib(plat_specific=0, standard_lib=0, prefix=None):
-             prefix = plat_specific and EXEC_PREFIX or PREFIX
-     if os.name == "posix":
-+        if plat_specific or standard_lib:
-+            lib = "lib64"
-+        else:
-+            lib = "lib"
-         libpython = os.path.join(prefix,
--                                 "lib", "python" + get_python_version())
-+                                 lib, "python" + get_python_version())
-         if standard_lib:
-             return libpython
-         else:
-diff --git a/Lib/site.py b/Lib/site.py
-index a84e3bb..ba0d3ea 100644
---- a/Lib/site.py
-+++ b/Lib/site.py
-@@ -303,11 +303,15 @@ def getsitepackages(prefixes=None):
-         seen.add(prefix)
-         if os.sep == '/':
-+            sitepackages.append(os.path.join(prefix, "lib64",
-+                                        "python" + sys.version[:3],
-+                                        "site-packages"))
-             sitepackages.append(os.path.join(prefix, "lib",
-                                         "python%d.%d" % sys.version_info[:2],
-                                         "site-packages"))
-         else:
-             sitepackages.append(prefix)
-+            sitepackages.append(os.path.join(prefix, "lib64", "site-packages"))
-             sitepackages.append(os.path.join(prefix, "lib", "site-packages"))
-         if sys.platform == "darwin":
-             # for framework builds *only* we add the standard Apple
-diff --git a/Lib/sysconfig.py b/Lib/sysconfig.py
-index b9bbfe5..2a5f29c 100644
---- a/Lib/sysconfig.py
-+++ b/Lib/sysconfig.py
-@@ -20,10 +20,10 @@ __all__ = [
- _INSTALL_SCHEMES = {
-     'posix_prefix': {
--        'stdlib': '{installed_base}/lib/python{py_version_short}',
--        'platstdlib': '{platbase}/lib/python{py_version_short}',
-+        'stdlib': '{installed_base}/lib64/python{py_version_short}',
-+        'platstdlib': '{platbase}/lib64/python{py_version_short}',
-         'purelib': '{base}/lib/python{py_version_short}/site-packages',
--        'platlib': '{platbase}/lib/python{py_version_short}/site-packages',
-+        'platlib': '{platbase}/lib64/python{py_version_short}/site-packages',
-         'include':
-             '{installed_base}/include/python{py_version_short}{abiflags}',
-         'platinclude':
-@@ -61,10 +61,10 @@ _INSTALL_SCHEMES = {
-         'data': '{userbase}',
-         },
-     'posix_user': {
--        'stdlib': '{userbase}/lib/python{py_version_short}',
--        'platstdlib': '{userbase}/lib/python{py_version_short}',
-+        'stdlib': '{userbase}/lib64/python{py_version_short}',
-+        'platstdlib': '{userbase}/lib64/python{py_version_short}',
-         'purelib': '{userbase}/lib/python{py_version_short}/site-packages',
--        'platlib': '{userbase}/lib/python{py_version_short}/site-packages',
-+        'platlib': '{userbase}/lib64/python{py_version_short}/site-packages',
-         'include': '{userbase}/include/python{py_version_short}',
-         'scripts': '{userbase}/bin',
-         'data': '{userbase}',
-diff --git a/Lib/test/test_site.py b/Lib/test/test_site.py
-index f698927..bc977b5 100644
---- a/Lib/test/test_site.py
-+++ b/Lib/test/test_site.py
-@@ -248,8 +248,8 @@ class HelperFunctionsTests(unittest.TestCase):
-             self.assertEqual(dirs[1], wanted)
-         elif os.sep == '/':
-             # OS X non-framwework builds, Linux, FreeBSD, etc
--            self.assertEqual(len(dirs), 1)
--            wanted = os.path.join('xoxo', 'lib',
-+            self.assertEqual(len(dirs), 2)
-+            wanted = os.path.join('xoxo', 'lib64',
-                                   'python%d.%d' % sys.version_info[:2],
-                                   'site-packages')
-             self.assertEqual(dirs[0], wanted)
-diff --git a/Makefile.pre.in b/Makefile.pre.in
-index 8fa7934..a693917 100644
---- a/Makefile.pre.in
-+++ b/Makefile.pre.in
-@@ -126,7 +126,7 @@ LIBDIR=            @libdir@
- MANDIR=               @mandir@
- INCLUDEDIR=   @includedir@
- CONFINCLUDEDIR=       $(exec_prefix)/include
--SCRIPTDIR=    $(prefix)/lib
-+SCRIPTDIR=    $(prefix)/lib64
- ABIFLAGS=     @ABIFLAGS@
- # Detailed destination directories
-diff --git a/Modules/getpath.c b/Modules/getpath.c
-index 65b47a3..eaa756c 100644
---- a/Modules/getpath.c
-+++ b/Modules/getpath.c
-@@ -494,7 +494,7 @@ calculate_path(void)
-     _pythonpath = Py_DecodeLocale(PYTHONPATH, NULL);
-     _prefix = Py_DecodeLocale(PREFIX, NULL);
-     _exec_prefix = Py_DecodeLocale(EXEC_PREFIX, NULL);
--    lib_python = Py_DecodeLocale("lib/python" VERSION, NULL);
-+    lib_python = Py_DecodeLocale("lib64/python" VERSION, NULL);
-     if (!_pythonpath || !_prefix || !_exec_prefix || !lib_python) {
-         Py_FatalError(
-@@ -683,7 +683,7 @@ calculate_path(void)
-     }
-     else
-         wcsncpy(zip_path, _prefix, MAXPATHLEN);
--    joinpath(zip_path, L"lib/python00.zip");
-+    joinpath(zip_path, L"lib64/python00.zip");
-     bufsz = wcslen(zip_path);   /* Replace "00" with version */
-     zip_path[bufsz - 6] = VERSION[0];
-     zip_path[bufsz - 5] = VERSION[2];
-@@ -695,7 +695,7 @@ calculate_path(void)
-             fprintf(stderr,
-                 "Could not find platform dependent libraries <exec_prefix>\n");
-         wcsncpy(exec_prefix, _exec_prefix, MAXPATHLEN);
--        joinpath(exec_prefix, L"lib/lib-dynload");
-+        joinpath(exec_prefix, L"lib64/lib-dynload");
-     }
-     /* If we found EXEC_PREFIX do *not* reduce it!  (Yet.) */
-diff --git a/setup.py b/setup.py
-index 0f2dfc4..da37896 100644
---- a/setup.py
-+++ b/setup.py
-@@ -492,7 +492,7 @@ class PyBuildExt(build_ext):
-         # directories (i.e. '.' and 'Include') must be first.  See issue
-         # 10520.
-         if not cross_compiling:
--            add_dir_to_list(self.compiler.library_dirs, '/usr/local/lib')
-+            add_dir_to_list(self.compiler.library_dirs, '/usr/local/lib64')
-             add_dir_to_list(self.compiler.include_dirs, '/usr/local/include')
-         # only change this for cross builds for 3.3, issues on Mageia
-         if cross_compiling:
-@@ -780,11 +780,11 @@ class PyBuildExt(build_ext):
-             elif curses_library:
-                 readline_libs.append(curses_library)
-             elif self.compiler.find_library_file(lib_dirs +
--                                                     ['/usr/lib/termcap'],
-+                                                     ['/usr/lib64/termcap'],
-                                                      'termcap'):
-                 readline_libs.append('termcap')
-             exts.append( Extension('readline', ['readline.c'],
--                                   library_dirs=['/usr/lib/termcap'],
-+                                   library_dirs=['/usr/lib64/termcap'],
-                                    extra_link_args=readline_extra_link_args,
-                                    libraries=readline_libs) )
-         else:
-@@ -821,8 +821,8 @@ class PyBuildExt(build_ext):
-             if krb5_h:
-                 ssl_incs += krb5_h
-         ssl_libs = find_library_file(self.compiler, 'ssl',lib_dirs,
--                                     ['/usr/local/ssl/lib',
--                                      '/usr/contrib/ssl/lib/'
-+                                     ['/usr/local/ssl/lib64',
-+                                      '/usr/contrib/ssl/lib64/'
-                                      ] )
-         if (ssl_incs is not None and
index 68f8072017fa0548534bce3ef13e38ad0f0378d8..88c4db355ad38a95aea3d8cd882d41fa80c901a9 100644 (file)
@@ -4,13 +4,13 @@
 ###############################################################################
 
 name       = python3
-major_ver  = 3.6
-version    = %{major_ver}.4
+major_ver  = 3.11
+version    = %{major_ver}.5
 release    = 1
 thisapp    = Python-%{version}
 
 groups     = Development/Languages
-url        = http://www.python.org
+url        = https://www.python.org
 license    = Python
 summary    = Version 3 of the Python programming language.
 
@@ -22,7 +22,7 @@ description
        libraries, as well as to various windowing systems.
 end
 
-source_dl  = http://python.org/ftp/python/%{version}/
+source_dl  = https://python.org/ftp/python/%{version}/
 sources    = %{thisapp}.tar.xz
 
 pylibdir   = %{libdir}/python%{major_ver}
@@ -38,7 +38,7 @@ build
                findutils
                gdbm-devel >= 1.10
                gcc-c++
-               glibc-devel
+               glibc-devel >= 2.26
                gmp-devel
                libdb-devel
                libffi-devel
@@ -54,67 +54,40 @@ build
                zlib-devel
        end
 
-       export CFLAGS   += -D_GNU_SOURCE -fwrapv
-       export CXXFLAGS += -D_GNU_SOURCE -fwrapv
        export OPT       = %{CFLAGS}
        export LINKCC    = gcc
 
        prepare_cmds
-               if [ "%{lib}" = "lib64" ]; then
-                       patch -Np1 -i %{DIR_SOURCE}/python-3.6.0-lib64.patch
-               fi
-
                # Remove embedded copies of expat and libffi
                rm -rf Modules/{expat,zlib}
                rm -rf Modules/_ctypes/{darwin,libffi,libffi_arm_wince,libffi_msvc,libffi_osx}
 
                # Make all source files owned by root.
                chown root.root -R .
-
-               autoreconf --force
        end
 
        configure_options += \
+               --with-platlibdir=%{lib} \
                --enable-ipv6 \
+               --enable-shared \
                --with-computed-gotos=yes \
                --with-dbmliborder=gdbm:ndbm:bdb \
                --with-system-expat \
                --with-system-ffi \
+               --with-system-libmpdec \
+               --with-lto \
+               --with-ssl-default-suites=openssl \
                --enable-loadable-sqlite-extensions \
-               --enable-shared \
                --without-ensurepip
 
-       test
-               LD_LIBRARY_PATH=$(pwd) $(pwd)/python \
-                       -m test.regrtest \
-                       --verbose \
-                       --findleaks \
-                       -x test_distutils \
-                       -x test_faulthandler \
-                       -x test_gdb \
-                       -x test_email \
-                       -x test_subprocess \
-                       -x test_float \
-                       -x test_cmath \
-                       -x test_asynchat \
-                       -x test_asyncore
-       
-       #       # test_subprocess won't work on grsecurity-enabled kernels
-       #       # test_float and test_cmath do not work on armv5tel (soft FPU)
-       end
+       #test
+       #       make test
+       #end
 
        install_cmds
                install -d -m 0755 %{BUILDROOT}%{pylibdir}/site-packages/__pycache__
                install -d -m 0755 %{BUILDROOT}/usr/lib/python${major_ver}/site-packages/__pycache__
 
-               # Development tools
-               mv -v %{BUILDROOT}%{bindir}/{,python3-}2to3
-               install -m 755 -d %{BUILDROOT}%{pylibdir}/Tools
-               install Tools/README %{BUILDROOT}%{pylibdir}/Tools/
-               cp -avr Tools/{freeze,i18n,pynche,scripts} %{BUILDROOT}%{pylibdir}/Tools/
-
-               rm -vf %{BUILDROOT}%{pylibdir}/email/test/data/audiotest.au %{BUILDROOT}%{pylibdir}/test/audiotest.au
-
                # Switch all shebangs to refer to the specific Python version.
                LD_LIBRARY_PATH=. ./python Tools/scripts/pathfix.py \
                        -i "%{bindir}/python%{major_ver}" \
@@ -128,43 +101,9 @@ build
                        -perm /u+x,g+x,o+x ! -exec grep -m 1 -q '^#!' {} \; \
                        -exec chmod a-x {} \; \) \)
 
-               # .xpm and .xbm files should not be executable:
-               find %{BUILDROOT} \
-                       \( -name \*.xbm -o -name \*.xpm -o -name \*.xpm.1 \) \
-                       -exec chmod a-x {} \;
-
-               # Remove executable flag from files that shouldn't have it:
-               chmod a-x \
-                       %{BUILDROOT}%{pylibdir}/distutils/tests/Setup.sample \
-                       %{BUILDROOT}%{pylibdir}/Tools/README
-
-               # Get rid of DOS batch files:
-               find %{BUILDROOT} -name \*.bat -exec rm {} \;
-
                # Get rid of backup files:
                find %{BUILDROOT}/ -name "*~" -exec rm -f {} \;
                rm -f %{BUILDROOT}%{pylibdir}/LICENSE.txt
-
-               # Junk, no point in putting in -test sub-pkg
-               rm -f %{BUILDROOT}%{pylibdir}/idlelib/testcode.py*
-
-               # Fix end-of-line encodings:
-               find %{BUILDROOT}/ -name \*.py -exec sed -i 's/\r//' {} \;
-
-               # Do bytecompilation with the newly installed interpreter.
-               # compile *.pyo
-               find %{BUILDROOT} -type f -a -name "*.py" -print0 | \
-                       LD_LIBRARY_PATH="%{BUILDROOT}%{dynload_dir}:%{BUILDROOT}%{libdir}" \
-                       PYTHONPATH="%{BUILDROOT}%{libdir}python%{major_ver} %{BUILDROOT}/%{libdir}python%{major_ver}/site-packages" \
-                       xargs -0 %{BUILDROOT}%{bindir}/python%{major_ver} -O -c 'import py_compile, sys; [py_compile.compile(f, dfile=f.partition("%{BUILDROOT}")[2]) for f in sys.argv[1:]]' || :
-               # compile *.pyc
-               find %{BUILDROOT} -type f -a -name "*.py" -print0 | \
-                       LD_LIBRARY_PATH="%{BUILDROOT}%{dynload_dir}:%{BUILDROOT}%{libdir}" \
-                       PYTHONPATH="%{BUILDROOT}%{libdir}python%{major_ver} %{BUILDROOT}/%{libdir}python%{major_ver}/site-packages" \
-                       xargs -0 %{BUILDROOT}%{bindir}/python%{major_ver} -O -c 'import py_compile, sys; [py_compile.compile(f, dfile=f.partition("%{BUILDROOT}")[2], optimize=0) for f in sys.argv[1:]]' || :
-
-               # Fixup permissions for shared libraries from non-standard 555 to standard 755:
-               find %{BUILDROOT} -perm 555 -exec chmod 755 {} \;
        end
 end
 
@@ -186,18 +125,20 @@ packages
                requires
                        expat >= 2.1.0
                end
-
-               files += %{dynload_dir}
        end
 
        package %{name}-devel
                template DEVEL
 
-               requires += %{name}-libs = %{thisver}
+               requires
+                       %{name} = %{thisver}
+                       %{name}-libs = %{thisver}
+               end
 
                files += \
                        !%{libdir}/python*/config*/Makefile \
-                       !%{includedir}/python*/pyconfig.h
+                       !%{includedir}/python*/pyconfig.h \
+                       !%{pylibdir}/lib-dynload
        end
 
        package %{name}-test
diff --git a/pyxattr/pyxattr.nm b/pyxattr/pyxattr.nm
deleted file mode 100644 (file)
index 9345fa6..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = pyxattr
-version    = 0.5.0
-release    = 1
-
-groups     = Development/Libraries
-url        = http://pyxattr.sourceforge.net/
-license    = LGPLv2+
-summary    = Extended attributes library wrapper for Python.
-
-description
-       Python extension module wrapper for libattr. It allows to query, list,\
-       add and remove extended attributes from files and directories.
-end
-
-source_dl  =
-
-build
-       requires
-               libattr-devel
-               python-devel
-               python-setuptools
-       end
-
-       build
-               python setup.py build
-       end
-
-       install
-               python setup.py install --root=%{BUILDROOT}
-       end
-end
-
-packages
-       package %{name}
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
index c80c70d440418f35adba9f1c2f72bb90ff591435..3c56490b37f2e6eeac072eb07c10c81c86e6eb50 100644 (file)
@@ -4,13 +4,13 @@
 ###############################################################################
 
 name       = qemu
-version    = 3.1.0
+version    = 8.1.0
 release    = 1
 
 groups     = Applications/Virtualization
-url        = http://www.qemu.org
+url        = https://www.qemu.org
 license    = GPLv2+
-summary    = QEMU is a generic and open source machine emulator and virtualizer.
+summary    = QEMU is a generic and open source machine emulator and virtualizer
 
 description
        QEMU is a processor emulator that relies on dynamic binary translation
@@ -23,13 +23,14 @@ sources    = %{thisapp}.tar.xz
 
 build
        requires
-               SDL-devel
                autoconf
                automake
                bison
                bzip2-devel
+               cairo-devel
                flex
                glib2-devel
+               glibc-devel >= 2.36
                gnutls-devel
                libcurl-devel
                libgcrypt-devel
@@ -37,23 +38,28 @@ build
                libpng-devel
                libseccomp-devel
                libtasn1-devel
+               libudev-devel
                libusb-devel
                libuuid-devel
                lzo-devel
+               meson
+               ninja
                ncurses-devel
                nettle-devel
                pciutils-devel
                pixman-devel
+               systemd-devel
                zlib-devel
+               zstd-devel
        end
 
-       qemu_native_platform = %{DISTRO_ARCH}
-
-       if "%{DISTRO_ARCH}" == "armv7hl"
-               qemu_native_platform = arm
-       end
-
-       targets = aarch64-softmmu arm-softmmu x86_64-softmmu
+       targets = \
+               aarch64-linux-user \
+               aarch64-softmmu \
+               riscv64-linux-user \
+               riscv64-softmmu \
+               x86_64-linux-user \
+               x86_64-softmmu
 
        configure_options = \
                --prefix=%{prefix} \
@@ -74,28 +80,34 @@ build
                --enable-kvm \
                --enable-libusb \
                --enable-lzo \
+               --enable-lto \
                --enable-pie \
                --enable-vnc \
                --enable-vnc-jpeg \
-               --enable-vnc-png \
-               --disable-xen
-
-       configure_cmds
-               sed -e "s@-Wl,-rpath,%{libdir}@@g" -i config-host.mak
-       end
+               --enable-seccomp \
+               --disable-xen \
+               --disable-dbus-display \
+               --disable-sdl
 
        install_cmds
-               # Remove BIOS file which is an ELF files w/ invalid interpreter
-               rm -vf %{BUILDROOT}%{datadir}/qemu/s390-*.img
-
                # Remove ivshm stuff
                rm -vf %{BUILDROOT}%{bindir}/ivshmem* %{BUILDROOT}%{mandir}/ivshmem*
-       end
-end
 
-quality-agent
-       whitelist_execstack
-               /usr/share/qemu/openbios*
+               # Remove deprecated run directory.
+               rm -rvf %{BUILDROOT}/var/run
+
+               # Remove firmware files for non supported platforms.
+               rm -rvf %{BUILDROOT}%{datadir}/%{name}/hppa-firmware.img
+               rm -rvf %{BUILDROOT}%{datadir}/%{name}/openbios-ppc
+               rm -rvf %{BUILDROOT}%{datadir}/%{name}/openbios-sparc32
+               rm -rvf %{BUILDROOT}%{datadir}/%{name}/openbios-sparc64
+               rm -rvf %{BUILDROOT}%{datadir}/%{name}/palcode-clipper
+               rm -rvf %{BUILDROOT}%{datadir}/%{name}/s390-ccw.img
+               rm -rvf %{BUILDROOT}%{datadir}/%{name}/s390-netboot.img
+               rm -rvf %{BUILDROOT}%{datadir}/%{name}/u-boot.e500
+
+               # Make firmware non-executable
+               find %{BUILDROOT}%{datadir}/%{name} -type f -executable | xargs chmod -v a-x
        end
 end
 
@@ -103,7 +115,7 @@ packages
        package %{name}
                # Always install the native package (for KVM)
                requires
-                       qemu-%{qemu_native_platform} = %{thisver}
+                       qemu-%{DISTRO_ARCH} = %{thisver}
                end
 
                recommends
@@ -118,7 +130,9 @@ packages
                requires = %{name} = %{thisver}
 
                files
+                       %{bindir}/qemu-%{qemu_arch}
                        %{bindir}/qemu-system-%{qemu_arch}
+                       %{mandir}/man1/qemu-%{qemu_arch}.1*
                        %{mandir}/man1/qemu-system-%{qemu_arch}.1*
                end
        end
@@ -128,9 +142,9 @@ packages
                qemu_arch = aarch64
        end
 
-       package %{name}-arm
+       package %{name}-riscv64
                template QEMUARCH
-               qemu_arch = arm
+               qemu_arch = riscv64
        end
 
        package %{name}-x86_64
@@ -153,6 +167,10 @@ packages
                end
        end
 
+       package %{name}-devel
+               template DEVEL
+       end
+
        package %{name}-debuginfo
                template DEBUGINFO
        end
diff --git a/quota/patches/quota-3.06-man-page.patch b/quota/patches/quota-3.06-man-page.patch
deleted file mode 100644 (file)
index 0a1cd84..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
---- quota-tools/quotaon.8.orig Wed Aug  7 15:14:52 2002
-+++ quota-tools/quotaon.8      Wed Aug  7 15:15:40 2002
-@@ -3,7 +3,7 @@
- .SH NAME
- quotaon, quotaoff \- turn filesystem quotas on and off
- .SH SYNOPSIS
--.B /usr/sbin/quotaon
-+.B /sbin/quotaon
- [
- .B \-vugfp
- ] [
-@@ -12,7 +12,7 @@
- ]
- .IR filesystem .\|.\|.
- .br
--.B /usr/sbin/quotaon
-+.B /sbin/quotaon
- [
- .B \-avugfp
- ] [
-@@ -20,7 +20,7 @@
- .I format-name
- ]
- .LP
--.B /usr/sbin/quotaoff
-+.B /sbin/quotaoff
- [
- .B \-vugp
- ]
-@@ -30,7 +30,7 @@
- ]
- .IR filesystem .\|.\|.
- .br
--.B /usr/sbin/quotaoff
-+.B /sbin/quotaoff
- [
- .B \-avugp
- ]
diff --git a/quota/patches/quota-3.13-wrong-ports.patch b/quota/patches/quota-3.13-wrong-ports.patch
deleted file mode 100644 (file)
index 8c59a28..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
---- quota-tools/rquota_svc.c.orig      2005-06-01 03:21:30.000000000 -0400
-+++ quota-tools/rquota_svc.c   2006-11-01 15:11:29.161101000 -0500
-@@ -140,7 +140,7 @@ static void parse_options(int argc, char
-                               break;
-                       case 'p': 
-                               port = strtol(optarg, &endptr, 0);
--                              if (*endptr || port <= 0) {
-+                              if (*endptr || port <= 0 || port > 0xffff) {
-                                       errstr(_("Illegal port number: %s\n"), optarg);
-                                       show_help();
-                                       exit(1);
diff --git a/quota/patches/quota-4.01-Make-group-warning-message-more-official.patch b/quota/patches/quota-4.01-Make-group-warning-message-more-official.patch
deleted file mode 100644 (file)
index 6060467..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-From cc9476d5bf016375dc02453be424ac1ea9b01247 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= <ppisar@redhat.com>
-Date: Tue, 25 Sep 2012 15:27:44 +0200
-Subject: [PATCH] Make group warning message more official
-
-Port to 4.01-1.
----
- warnquota.conf | 5 +++--
- 1 file changed, 3 insertions(+), 2 deletions(-)
-
-diff --git a/warnquota.conf b/warnquota.conf
-index 77f6a75..6d26bed 100644
---- a/warnquota.conf
-+++ b/warnquota.conf
-@@ -27,8 +27,9 @@ MESSAGE         = Your disk usage has exceeded the agreed limits\
- # is created)
- SIGNATURE     = root@example.com
- # Following text is used for mails about group exceeding quotas
--GROUP_MESSAGE = Hello, a group '%i' you're member of use too much space at %h.|\
--I chose you to do the cleanup.|Delete group files on the following filesystems:|
-+GROUP_MESSAGE  = Hello,|\
-+your group %i is using too much disk space at %h.|\
-+I suggest you to clean up group files on the following filesystems:|
- # Text in the end of the mail to the group (if not specified, default text using SUPPORT
- # and PHONE is created).
- GROUP_SIGNATURE       = See you!|                     Your admin|
--- 
-1.7.11.4
-
diff --git a/quota/patches/quota-4.01-define_charset_in_mail.patch b/quota/patches/quota-4.01-define_charset_in_mail.patch
deleted file mode 100644 (file)
index 699f519..0000000
+++ /dev/null
@@ -1,79 +0,0 @@
-From aebb8189069f24e6f4e59cf79f179bcbafe7a098 Mon Sep 17 00:00:00 2001
-From: Jan Kara <jack@suse.cz>
-Date: Tue, 6 Nov 2012 11:04:44 +0100
-Subject: [PATCH 1/2] warnquota: Add MIME-Version header
-
-Warnquota forgot to add MIME-Version header to sent email when Content-type
-etc. fields were set.
-
-Signed-off-by: Jan Kara <jack@suse.cz>
----
- warnquota.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/warnquota.c b/warnquota.c
-index 08827f2..80f528c 100644
---- a/warnquota.c
-+++ b/warnquota.c
-@@ -503,6 +503,7 @@ static int mail_user(struct offenderlist *offender, struct configparams *config)
-       if (should_cc(offender, config))
-               fprintf(fp, "Cc: %s\n", config->cc_to);
-       if ((config->charset)[0] != '\0') { /* are we supposed to set the encoding */
-+              fprintf(fp, "MIME-Version: 1.0\n");
-               fprintf(fp, "Content-Type: text/plain; charset=%s\n", config->charset);
-               fprintf(fp, "Content-Disposition: inline\n");
-               fprintf(fp, "Content-Transfer-Encoding: 8bit\n");
--- 
-1.7.11.7
-
-From d8bb9ec3cef26cd3fb62534d896bf9c8feea67f9 Mon Sep 17 00:00:00 2001
-From: Jan Kara <jack@suse.cz>
-Date: Tue, 6 Nov 2012 12:12:19 +0100
-Subject: [PATCH 2/2] warnquota: Use current locale as default charset
-
-If charset in warnquota.conf is not specified, use charset from current
-locale as the charset of the warning email. This is to accomodate possible
-translations of messages via gettext.
-
-Signed-off-by: Jan Kara <jack@suse.cz>
----
- warnquota.c | 9 +++++++++
- 1 file changed, 9 insertions(+)
-
-diff --git a/warnquota.c b/warnquota.c
-index 80f528c..5c5a1b9 100644
---- a/warnquota.c
-+++ b/warnquota.c
-@@ -29,6 +29,8 @@
- #include <grp.h>
- #include <time.h>
- #include <getopt.h>
-+#include <locale.h>
-+#include <langinfo.h>
- #include <sys/types.h>
- #include <sys/wait.h>
- #include <sys/utsname.h>
-@@ -707,6 +709,7 @@ static int readconfigfile(const char *filename, struct configparams *config)
-       char *value;
-       char *pos;
-       int line, len, bufpos;
-+      char *locale;
-       /* set default values */
-       sstrncpy(config->mail_cmd, MAIL_CMD, CNF_BUFFER);
-@@ -716,6 +719,12 @@ static int readconfigfile(const char *filename, struct configparams *config)
-       sstrncpy(config->support, SUPPORT, CNF_BUFFER);
-       sstrncpy(config->phone, PHONE, CNF_BUFFER);
-       (config->charset)[0] = '\0';
-+      setlocale(LC_ALL, NULL);
-+      locale = setlocale(LC_MESSAGES, NULL);
-+      if (locale && strcasecmp(locale, "posix") && strcasecmp(locale, "c")) {
-+              locale = nl_langinfo(CODESET);
-+              sstrncpy(config->charset, locale, CNF_BUFFER);
-+      }
-       maildev[0] = 0;
-       config->user_signature = config->user_message = config->group_signature = config->group_message = NULL;
-       config->use_ldap_mail = 0;
--- 
-1.7.11.7
-
diff --git a/quota/patches/quota-4.01-warnquota.patch b/quota/patches/quota-4.01-warnquota.patch
deleted file mode 100644 (file)
index a713ce9..0000000
+++ /dev/null
@@ -1,71 +0,0 @@
-From d2f7a6be1526a6f46cbf37aa27587a51e4d5990f Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= <ppisar@redhat.com>
-Date: Tue, 23 Aug 2011 13:45:15 +0200
-Subject: [PATCH] warnquota configuration tunes
-
-Rest of changes (378a64006bb1e818e84a1c77808563b802b028fa) not
-accepted by upstream (we had root@... addresses and more enterprise
-wordings usually there).
----
- warnquota.c    |  2 +-
- warnquota.conf | 17 ++++++++---------
- 2 files changed, 9 insertions(+), 10 deletions(-)
-
-diff --git a/warnquota.c b/warnquota.c
-index 08827f2..c7ca6f2 100644
---- a/warnquota.c
-+++ b/warnquota.c
-@@ -806,7 +806,7 @@ static int readconfigfile(const char *filename, struct configparams *config)
-                               verify_format(config->group_signature, "GROUP_SIGNATURE");
-                       }
-                       else if (!strcmp(var, "LDAP_MAIL")) {
--                              if(strcasecmp(value, "true") == 0) 
-+                              if(strncasecmp(value, "true", 4) == 0) 
-                                       config->use_ldap_mail = 1;
-                               else
-                                       config->use_ldap_mail = 0;
-diff --git a/warnquota.conf b/warnquota.conf
-index 2a72b78..77f6a75 100644
---- a/warnquota.conf
-+++ b/warnquota.conf
-@@ -4,17 +4,16 @@
- # and even blank lines
- # values can be quoted:
--#MAIL_CMD     = "/usr/my/sendmail/instead/sendmail -t"
--MAIL_CMD      = "/bin/echo"
--FROM          = "bas@example.com"
-+MAIL_CMD      = "/usr/sbin/sendmail -t"
-+FROM          = "root@example.com"
- # but they don't have to be:
--SUBJECT       = Hey, user, clean up your account!
--CC_TO                 = "sysadm@example.com"
-+SUBJECT       = NOTE: You are exceeding your allocated disk space limits
-+CC_TO                 = "root@example.com"
- # If you set this variable CC will be used only when user has less than
- # specified grace time left (examples of possible times: 5 seconds, 1 minute,
- # 12 hours, 5 days)
- # CC_BEFORE = 2 days
--SUPPORT       = "support@example.com"
-+SUPPORT       = "root@example.com"
- PHONE                 = "(123) 456-1111 or (222) 333-4444"
- # Text in the beginning of the mail (if not specified, default text is used)
- # This way text can be split to more lines
-@@ -22,11 +21,11 @@ PHONE              = "(123) 456-1111 or (222) 333-4444"
- # The expressions %i, %h, %d, and %% are substituted for user/group name,
- # host name, domain name, and '%' respectively. For backward compatibility
- # %s behaves as %i but is deprecated.
--MESSAGE         = Hello user %i, I've noticed you use too much space\
-- on my disk in %h.%d.|Delete your files on the following filesystems:|
-+MESSAGE         = Your disk usage has exceeded the agreed limits\
-+ on this server|Please delete any unnecessary files on following filesystems:|
- # Text in the end of the mail (if not specified, default text using SUPPORT and PHONE
- # is created)
--SIGNATURE     = See you!|                     Your admin of %h|
-+SIGNATURE     = root@example.com
- # Following text is used for mails about group exceeding quotas
- GROUP_MESSAGE = Hello, a group '%i' you're member of use too much space at %h.|\
- I chose you to do the cleanup.|Delete group files on the following filesystems:|
--- 
-1.7.11.4
-
index 34aa07c71f42de55d8637d42bfbe5ee07f9d0da7..03117c0f556c242790a3e7f0beb51351114204ad 100644 (file)
@@ -4,11 +4,11 @@
 ###############################################################################
 
 name       = quota
-version    = 4.01
+version    = 4.09
 release    = 1
 
 groups     = System/Base
-url        = http://sourceforge.net/projects/linuxquota/
+url        = https://sourceforge.net/projects/linuxquota/
 license    = BSD and GPLv2+
 summary    = System administration tools for monitoring users' disk usage
 
@@ -17,7 +17,7 @@ description
        and limiting user and or group disk usage per file system.
 end
 
-source_dl  = http://downloads.sourceforge.net/linuxquota/
+source_dl  = https://downloads.sourceforge.net/linuxquota/
 
 build
        requires
@@ -25,19 +25,18 @@ build
                e2fsprogs-devel
                gettext
                glibc-headers >= 2.17-2
-               libnl-devel
+               libnl3-devel
+               libtirpc-devel
                openldap-devel
-               systemd-units
+               rpcsvc-proto
+               systemd-devel
        end
 
-       DIR_APP = %{DIR_SRC}/quota-tools
-
        configure_options += \
                --enable-ext2direct \
                --enable-ldapmail \
                --enable-netlink \
-               --enable-rpcsetquota \
-               --disable-strip-binaries
+               --enable-rpcsetquota
 
        make_install_targets += ROOTDIR=%{BUILDROOT}
 
index 321cdc476eef7b7f3ea2adf05ce794c6bf0fa083..1d791b5b9e1da73a3c85083f63d61f1ae6084056 100644 (file)
@@ -4,11 +4,11 @@
 ###############################################################################
 
 name       = rcs
-version    = 5.9.4
-release    = 2
+version    = 5.10.1
+release    = 1
 
 groups     = Development/Tools
-url        = http://www.gnu.org/software/rcs/
+url        = https://www.gnu.org/software/rcs/
 license    = GPLv3+
 summary    = Revision Control System (RCS) file version management tools.
 
@@ -23,8 +23,8 @@ description
        different versions of files.
 end
 
-source_dl  = ftp://ftp.gnu.org/gnu/rcs/
-sources    = %{thisapp}.tar.xz
+source_dl  = https://ftp.gnu.org/gnu/rcs/
+sources    = %{thisapp}.tar.lz
 
 build
        requires
@@ -33,18 +33,15 @@ build
                groff
        end
 
-       # Has some inlining problems, so we need to go back to C99
-       CFLAGS += -std=c99
-
        configure_options += \
                --with-diffutils
 
        test
-               make check
+               make check XFAIL_TESTS="t790"
        end
 
        install_cmds
-               # Install the rcsfreeze command.
+               # Install the rcsfreeze command
                install -m 755 src/rcsfreeze %{BUILDROOT}%{bindir}
        end
 end
diff --git a/readline/patches/readline-8.2-patch-1.patch b/readline/patches/readline-8.2-patch-1.patch
new file mode 100644 (file)
index 0000000..16a7d62
--- /dev/null
@@ -0,0 +1,33 @@
+From 7274faabe97ce53d6b464272d7e6ab6c1392837b Mon Sep 17 00:00:00 2001
+From: Chet Ramey <chet.ramey@case.edu>
+Date: Wed, 5 Oct 2022 10:41:16 -0400
+Subject: [PATCH] Readline-8.2 patch 1: fix crash when readline is started with
+ an invalid locale specification
+
+diff --git a/nls.c b/nls.c
+index 5c6a13b..8c027d6 100644
+--- a/nls.c
++++ b/nls.c
+@@ -141,6 +141,10 @@ _rl_init_locale (void)
+   if (lspec == 0)
+     lspec = "";
+   ret = setlocale (LC_CTYPE, lspec);  /* ok, since it does not change locale */
++  if (ret == 0 || *ret == 0)
++    ret = setlocale (LC_CTYPE, (char *)NULL);
++  if (ret == 0 || *ret == 0)
++    ret = RL_DEFAULT_LOCALE;
+ #else
+   ret = (lspec == 0 || *lspec == 0) ? RL_DEFAULT_LOCALE : lspec;
+ #endif
+diff --git a/patchlevel b/patchlevel
+index d8c9df7..fdf4740 100644
+--- a/patchlevel
++++ b/patchlevel
+@@ -1,3 +1,3 @@
+ # Do not edit -- exists only for use by patch
+-0
++1
+-- 
+2.30.2
+
index d3f9fbe0f21279b9b28337bbce6cae84dfb7f532..08e76065056f9d39d349a0508b41ba9df9a43c20 100644 (file)
@@ -4,11 +4,11 @@
 ###############################################################################
 
 name       = readline
-version    = 8.0
-release    = 1
+version    = 8.2
+release    = 2
 
 groups     = System/Libraries
-url        = ftp://ftp.gnu.org/gnu/readline/
+url        = https://tiswww.case.edu/php/chet/readline/rltop.html
 license    = GPLv3+
 summary    = A library for editing typed command lines.
 
@@ -21,7 +21,7 @@ description
        previous commands.
 end
 
-source_dl  = ftp://ftp.gnu.org/gnu/readline/
+source_dl  = ftp://ftp.cwru.edu/pub/bash/
 
 build
        requires
index ddb420dcd348abf658b10e79e0dac4dc44a396a5..e3caed046180e4524b994aec1ee9d7f420cc71eb 100644 (file)
@@ -4,12 +4,12 @@
 ###############################################################################
 
 name       = rhash
-version    = 1.3.8
+version    = 1.4.4
 release    = 1
 thisapp    = RHash-%{version}
 
 groups     = Development/Tools
-url        = http://rhash.sf.net/
+url        = https://rhash.sf.net/
 license    = BSD
 summary    = Great utility for computing hash sums
 
diff --git a/rng-tools/patches/rng-tools-man.patch b/rng-tools/patches/rng-tools-man.patch
deleted file mode 100644 (file)
index 010d20d..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-diff -up rng-tools-3/rngtest.1.in.man rng-tools-3/rngtest.1.in
---- rng-tools-3/rngtest.1.in.man       2009-12-24 07:47:24.000000000 +0100
-+++ rng-tools-3/rngtest.1.in   2012-01-12 10:12:27.909567190 +0100
-@@ -43,7 +43,7 @@ Exit after processing n input blocks, if
- Dump statistics every n blocks, if n is not zero.
- .TP
- \fB\-t\fR \fIn\fR, \fB\-\-timedstats=\fIn\fR (default: 0)
--Dump statistics every n secods, if n is not zero.
-+Dump statistics every n seconds, if n is not zero.
- .TP
- \fB\-?\fR, \fB\-\-help\fR
- Give a short summary of all program options.
-@@ -62,7 +62,7 @@ other statistics show a breakdown of the
- tests are defined on FIPS 140-1 and FIPS 140-2 errata of 2001-10-10. They
- were removed in FIPS 140-2 errata of 2002-12-03).
- .PP
--The speed statistics are taken for every 20000-bit block trasferred or
-+The speed statistics are taken for every 20000-bit block transferred or
- processed.
- .SH EXIT STATUS
diff --git a/rng-tools/rng-tools.nm b/rng-tools/rng-tools.nm
deleted file mode 100644 (file)
index ef5e035..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = rng-tools
-version    = 4
-release    = 1
-
-groups     = System/Base
-url        = http://sourceforge.net/projects/gkernel/
-license    = GPLv2+
-summary    = Random number generator related utilities.
-
-description
-       %{summary}
-end
-
-source_dl  = http://downloads.sourceforge.net/project/gkernel/rng-tools/%{version}/
-
-build
-       requires
-               gettext
-               groff
-       end
-end
-
-packages
-       package %{name}
-               script postin
-                       /bin/systemctl daemon-reload >/dev/null 2>&1 || :
-               end
-
-               script preun
-                       /bin/systemctl --no-reload disable rngd.service > /dev/null 2>&1 || :
-                       /bin/systemctl stop rngd.service > /dev/null 2>&1 || :
-               end
-
-               script postun
-                       /bin/systemctl daemon-reload >/dev/null 2>&1 || :
-               end
-
-               script postup
-                       /bin/systemctl daemon-reload 2>&1 || :
-                       /bin/systemctl reload-or-try-restart rngd.service >/dev/null 2>&1 || :
-               end
-       end
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
diff --git a/rng-tools/systemd/rngd.service b/rng-tools/systemd/rngd.service
deleted file mode 100644 (file)
index 770bc62..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-[Unit]
-Description=Hardware RNG Entropy Gatherer Daemon
-
-[Service]
-ExecStart=/usr/sbin/rngd -f --no-tpm=1
-
-[Install]
-WantedBy=multi-user.target
diff --git a/rp-pppoe/rp-pppoe.nm b/rp-pppoe/rp-pppoe.nm
deleted file mode 100644 (file)
index 2a0da7f..0000000
+++ /dev/null
@@ -1,90 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = rp-pppoe
-version    = 3.12
-release    = 1
-
-groups     = Networking/Dialin
-url        = https://www.roaringpenguin.com/products/pppoe
-license    = GPLv2+
-summary    = Administration tools for PPPoE connections.
-
-description
-       PPPoE (Point-to-Point Protocol over Ethernet) is a protocol used by
-       many ADSL Internet Service Providers.
-       This package contains a set of tools to build your own PPPoE server.
-end
-
-source_dl  = http://www.roaringpenguin.com/files/download/
-
-build
-       requires
-               autoconf
-               automake
-               iproute2
-               libtool
-               ppp-devel
-               systemd-units
-       end
-
-       DIR_APP := %{DIR_APP}/src
-       CFLAGS += -D_GNU_SOURCE -fno-strict-aliasing
-
-       pppd_version = %(pppd --version 2>&1 | awk '{ print $NF }')
-
-       prepare_cmds
-               # PLUGIN_DIR defaults to /etc/ppp/plugins, which is not what we want.
-               sed -i Makefile.in \
-                       -e "s@^PLUGIN_DIR=.*@PLUGIN_DIR=%{libdir}/pppd/%{pppd_version}@"
-
-               # Always enable kernel mode PPPoE for the server, because we
-               # don't ship the userspace component.
-               sed -i pppoe-server.c \
-                       -e "s/UseLinuxKernelModePPPoE = 0/UseLinuxKernelModePPPoE = 1/"
-
-               autoconf
-       end
-
-       # Force support for kernel-mode PPPoE.
-       #configure_options += \
-       #       ac_cv_header_linux_if_pppox_h=yes
-
-       install_cmds
-               # Remove all the client components because we only support the
-               # rp-pppoe plugin that comes with pppd.
-               rm -rvf %{BUILDROOT}%{sysconfdir}
-               rm -vf %{BUILDROOT}%{sbindir}/pppoe
-               rm -vf %{BUILDROOT}%{sbindir}/pppoe-{connect,start,stop,status,setup}
-               rm -vf %{BUILDROOT}%{mandir}/man*/pppoe-{connect,start,stop,status,setup}*
-               rm -vf %{BUILDROOT}%{mandir}/man*/pppoe.{,conf}*
-               rm -rvf %{BUILDROOT}%{libdir}
-       end
-end
-
-packages
-       package %{name}
-               requires
-                       iproute2
-                       ppp = %{pppd_version}
-               end
-
-               script postin
-                       systemctl daemon-reload >/dev/null 2>&1 || :
-               end
-
-               script postup
-                       systemctl daemon-reload >/dev/null 2>&1 || :
-               end
-
-               script postun
-                       systemctl daemon-reload >/dev/null 2>&1 || :
-               end
-       end
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
diff --git a/rp-pppoe/systemd/pppoe-server@.service b/rp-pppoe/systemd/pppoe-server@.service
deleted file mode 100644 (file)
index 141bc8a..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-[Unit]
-Description=PPPoE server daemon on %I
-BindTo=dev-%I.device
-After=dev-%I.device
-
-[Service]
-ExecStart=/usr/lib/network/pppoe-server %I
-ExecStopPost=/usr/lib/network/pppoe-server %I cleanup
-Restart=failure
-UtmpIdentifier=%I
-KillMode=process
diff --git a/rpcbind/patches/rpcbind-0_2_1-rc4.patch b/rpcbind/patches/rpcbind-0_2_1-rc4.patch
deleted file mode 100644 (file)
index 44b8cb9..0000000
+++ /dev/null
@@ -1,1093 +0,0 @@
-diff --git a/.gitignore b/.gitignore
-index 5a7546c..bee4bab 100644
---- a/.gitignore
-+++ b/.gitignore
-@@ -1,3 +1,4 @@
-+INSTALL
- Makefile
- Makefile.in
- aclocal.m4
-@@ -13,18 +14,14 @@ depcomp
- install-sh
- libtool
- ltmain.sh
--man/Makefile
--man/Makefile.in
- missing
--src/.deps/
--src/Makefile
--src/Makefile.in
- src/config.h
- src/stamp-h2
- stamp-h1
- # file generated during compilation
-+.deps
- *.o
--src/rpcbind
--src/rpcinfo
-+rpcbind
-+rpcinfo
- # cscope database files
- cscope.*
-diff --git a/INSTALL b/INSTALL
-index 98e5d87..7d1c323 100644
---- a/INSTALL
-+++ b/INSTALL
-@@ -1,32 +1,25 @@
--Copyright 1994, 1995, 1996, 1999, 2000, 2001, 2002 Free Software
--Foundation, Inc.
-+Installation Instructions
-+*************************
--   This file is free documentation; the Free Software Foundation gives
--unlimited permission to copy, distribute and modify it.
--
--
--rpcbind Quick Installation
--==========================
--
--$ ./configure
--$ make
--# make install
--
--   The install phase will install the rpcbind and rpcinfo commands
--under /usr/bin.  If you wish they replace the basic portmap and 
--rpcinfo commands, you can run:
--
--# mv /sbin/portmap /sbin/portmap.sav
--# ln -s /usr/bin/rpcbind /sbin/portmap
--
--# mv /usr/sbin/rpcinfo /usr/sbin/rpcinfo.sav
--# ln -s /usr/bin/rpcinfo /usr/sbin/rpcinfo
-+Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005,
-+2006, 2007, 2008, 2009 Free Software Foundation, Inc.
-+   Copying and distribution of this file, with or without modification,
-+are permitted in any medium without royalty provided the copyright
-+notice and this notice are preserved.  This file is offered as-is,
-+without warranty of any kind.
- Basic Installation
- ==================
--   These are generic installation instructions.
-+   Briefly, the shell commands `./configure; make; make install' should
-+configure, build, and install this package.  The following
-+more-detailed instructions are generic; see the `README' file for
-+instructions specific to this package.  Some packages provide this
-+`INSTALL' file but do not implement all of the features documented
-+below.  The lack of an optional feature in a given package is not
-+necessarily a bug.  More recommendations for GNU packages can be found
-+in *note Makefile Conventions: (standards)Makefile Conventions.
-    The `configure' shell script attempts to guess correct values for
- various system-dependent variables used during compilation.  It uses
-@@ -39,9 +32,9 @@ debugging `configure').
-    It can also use an optional file (typically called `config.cache'
- and enabled with `--cache-file=config.cache' or simply `-C') that saves
--the results of its tests to speed up reconfiguring.  (Caching is
-+the results of its tests to speed up reconfiguring.  Caching is
- disabled by default to prevent problems with accidental use of stale
--cache files.)
-+cache files.
-    If you need to do unusual things to compile the package, please try
- to figure out how `configure' could check whether to do them, and mail
-@@ -51,30 +44,37 @@ some point `config.cache' contains results you don't want to keep, you
- may remove or edit it.
-    The file `configure.ac' (or `configure.in') is used to create
--`configure' by a program called `autoconf'.  You only need
--`configure.ac' if you want to change it or regenerate `configure' using
--a newer version of `autoconf'.
-+`configure' by a program called `autoconf'.  You need `configure.ac' if
-+you want to change it or regenerate `configure' using a newer version
-+of `autoconf'.
--The simplest way to compile this package is:
-+   The simplest way to compile this package is:
-   1. `cd' to the directory containing the package's source code and type
--     `./configure' to configure the package for your system.  If you're
--     using `csh' on an old version of System V, you might need to type
--     `sh ./configure' instead to prevent `csh' from trying to execute
--     `configure' itself.
-+     `./configure' to configure the package for your system.
--     Running `configure' takes awhile.  While running, it prints some
--     messages telling which features it is checking for.
-+     Running `configure' might take a while.  While running, it prints
-+     some messages telling which features it is checking for.
-   2. Type `make' to compile the package.
-   3. Optionally, type `make check' to run any self-tests that come with
--     the package.
-+     the package, generally using the just-built uninstalled binaries.
-   4. Type `make install' to install the programs and any data files and
--     documentation.
--
--  5. You can remove the program binaries and object files from the
-+     documentation.  When installing into a prefix owned by root, it is
-+     recommended that the package be configured and built as a regular
-+     user, and only the `make install' phase executed with root
-+     privileges.
-+
-+  5. Optionally, type `make installcheck' to repeat any self-tests, but
-+     this time using the binaries in their final installed location.
-+     This target does not install anything.  Running this target as a
-+     regular user, particularly if the prior `make install' required
-+     root privileges, verifies that the installation completed
-+     correctly.
-+
-+  6. You can remove the program binaries and object files from the
-      source code directory by typing `make clean'.  To also remove the
-      files that `configure' created (so you can compile the package for
-      a different kind of computer), type `make distclean'.  There is
-@@ -83,6 +83,16 @@ The simplest way to compile this package is:
-      all sorts of other programs in order to regenerate files that came
-      with the distribution.
-+  7. Often, you can also type `make uninstall' to remove the installed
-+     files again.  In practice, not all packages have tested that
-+     uninstallation works correctly, even though it is required by the
-+     GNU Coding Standards.
-+
-+  8. Some packages, particularly those that use Automake, provide `make
-+     distcheck', which can by used by developers to test that all other
-+     targets like `make install' and `make uninstall' work correctly.
-+     This target is generally not run by end users.
-+
- Compilers and Options
- =====================
-@@ -94,7 +104,7 @@ for details on some of the pertinent environment variables.
- by setting variables in the command line or in the environment.  Here
- is an example:
--     ./configure CC=c89 CFLAGS=-O2 LIBS=-lposix
-+     ./configure CC=c99 CFLAGS=-g LIBS=-lposix
-    *Note Defining Variables::, for more details.
-@@ -103,44 +113,89 @@ Compiling For Multiple Architectures
-    You can compile the package for more than one kind of computer at the
- same time, by placing the object files for each architecture in their
--own directory.  To do this, you must use a version of `make' that
--supports the `VPATH' variable, such as GNU `make'.  `cd' to the
-+own directory.  To do this, you can use GNU `make'.  `cd' to the
- directory where you want the object files and executables to go and run
- the `configure' script.  `configure' automatically checks for the
--source code in the directory that `configure' is in and in `..'.
-+source code in the directory that `configure' is in and in `..'.  This
-+is known as a "VPATH" build.
--   If you have to use a `make' that does not support the `VPATH'
--variable, you have to compile the package for one architecture at a
--time in the source code directory.  After you have installed the
--package for one architecture, use `make distclean' before reconfiguring
--for another architecture.
-+   With a non-GNU `make', it is safer to compile the package for one
-+architecture at a time in the source code directory.  After you have
-+installed the package for one architecture, use `make distclean' before
-+reconfiguring for another architecture.
-+
-+   On MacOS X 10.5 and later systems, you can create libraries and
-+executables that work on multiple system types--known as "fat" or
-+"universal" binaries--by specifying multiple `-arch' options to the
-+compiler but only a single `-arch' option to the preprocessor.  Like
-+this:
-+
-+     ./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
-+                 CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
-+                 CPP="gcc -E" CXXCPP="g++ -E"
-+
-+   This is not guaranteed to produce working output in all cases, you
-+may have to build one architecture at a time and combine the results
-+using the `lipo' tool if you have problems.
- Installation Names
- ==================
--   By default, `make install' will install the package's files in
--`/usr/local/bin', `/usr/local/man', etc.  You can specify an
--installation prefix other than `/usr/local' by giving `configure' the
--option `--prefix=PATH'.
-+   By default, `make install' installs the package's commands under
-+`/usr/local/bin', include files under `/usr/local/include', etc.  You
-+can specify an installation prefix other than `/usr/local' by giving
-+`configure' the option `--prefix=PREFIX', where PREFIX must be an
-+absolute file name.
-    You can specify separate installation prefixes for
- architecture-specific files and architecture-independent files.  If you
--give `configure' the option `--exec-prefix=PATH', the package will use
--PATH as the prefix for installing programs and libraries.
--Documentation and other data files will still use the regular prefix.
-+pass the option `--exec-prefix=PREFIX' to `configure', the package uses
-+PREFIX as the prefix for installing programs and libraries.
-+Documentation and other data files still use the regular prefix.
-    In addition, if you use an unusual directory layout you can give
--options like `--bindir=PATH' to specify different values for particular
-+options like `--bindir=DIR' to specify different values for particular
- kinds of files.  Run `configure --help' for a list of the directories
--you can set and what kinds of files go in them.
-+you can set and what kinds of files go in them.  In general, the
-+default for these options is expressed in terms of `${prefix}', so that
-+specifying just `--prefix' will affect all of the other directory
-+specifications that were not explicitly provided.
-+
-+   The most portable way to affect installation locations is to pass the
-+correct locations to `configure'; however, many packages provide one or
-+both of the following shortcuts of passing variable assignments to the
-+`make install' command line to change installation locations without
-+having to reconfigure or recompile.
-+
-+   The first method involves providing an override variable for each
-+affected directory.  For example, `make install
-+prefix=/alternate/directory' will choose an alternate location for all
-+directory configuration variables that were expressed in terms of
-+`${prefix}'.  Any directories that were specified during `configure',
-+but not in terms of `${prefix}', must each be overridden at install
-+time for the entire installation to be relocated.  The approach of
-+makefile variable overrides for each directory variable is required by
-+the GNU Coding Standards, and ideally causes no recompilation.
-+However, some platforms have known limitations with the semantics of
-+shared libraries that end up requiring recompilation when using this
-+method, particularly noticeable in packages that use GNU Libtool.
-+
-+   The second method involves providing the `DESTDIR' variable.  For
-+example, `make install DESTDIR=/alternate/directory' will prepend
-+`/alternate/directory' before all installation names.  The approach of
-+`DESTDIR' overrides is not required by the GNU Coding Standards, and
-+does not work on platforms that have drive letters.  On the other hand,
-+it does better at avoiding recompilation issues, and works well even
-+when some directory options were not specified in terms of `${prefix}'
-+at `configure' time.
-+
-+Optional Features
-+=================
-    If the package supports it, you can cause programs to be installed
- with an extra prefix or suffix on their names by giving `configure' the
- option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
--Optional Features
--=================
--
-    Some packages pay attention to `--enable-FEATURE' options to
- `configure', where FEATURE indicates an optional part of the package.
- They may also pay attention to `--with-PACKAGE' options, where PACKAGE
-@@ -153,6 +208,45 @@ find the X include and library files automatically, but if it doesn't,
- you can use the `configure' options `--x-includes=DIR' and
- `--x-libraries=DIR' to specify their locations.
-+   Some packages offer the ability to configure how verbose the
-+execution of `make' will be.  For these packages, running `./configure
-+--enable-silent-rules' sets the default to minimal output, which can be
-+overridden with `make V=1'; while running `./configure
-+--disable-silent-rules' sets the default to verbose, which can be
-+overridden with `make V=0'.
-+
-+Particular systems
-+==================
-+
-+   On HP-UX, the default C compiler is not ANSI C compatible.  If GNU
-+CC is not installed, it is recommended to use the following options in
-+order to use an ANSI C compiler:
-+
-+     ./configure CC="cc -Ae -D_XOPEN_SOURCE=500"
-+
-+and if that doesn't work, install pre-built binaries of GCC for HP-UX.
-+
-+   On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot
-+parse its `<wchar.h>' header file.  The option `-nodtk' can be used as
-+a workaround.  If GNU CC is not installed, it is therefore recommended
-+to try
-+
-+     ./configure CC="cc"
-+
-+and if that doesn't work, try
-+
-+     ./configure CC="cc -nodtk"
-+
-+   On Solaris, don't put `/usr/ucb' early in your `PATH'.  This
-+directory contains several dysfunctional programs; working variants of
-+these programs are available in `/usr/bin'.  So, if you need `/usr/ucb'
-+in your `PATH', put it _after_ `/usr/bin'.
-+
-+   On Haiku, software installed for all users goes in `/boot/common',
-+not `/usr/local'.  It is recommended to use the following options:
-+
-+     ./configure --prefix=/boot/common
-+
- Specifying the System Type
- ==========================
-@@ -168,14 +262,15 @@ type, such as `sun4', or a canonical name which has the form:
- where SYSTEM can have one of these forms:
--     OS KERNEL-OS
-+     OS
-+     KERNEL-OS
-    See the file `config.sub' for the possible values of each field.  If
- `config.sub' isn't included in this package, then this package doesn't
- need to know the machine type.
-    If you are _building_ compiler tools for cross-compiling, you should
--use the `--target=TYPE' option to select the type of system they will
-+use the option `--target=TYPE' to select the type of system they will
- produce code for.
-    If you want to _use_ a cross compiler, that generates code for a
-@@ -205,9 +300,14 @@ them in the `configure' command line, using `VAR=value'.  For example:
-      ./configure CC=/usr/local2/bin/gcc
--will cause the specified gcc to be used as the C compiler (unless it is
-+causes the specified `gcc' to be used as the C compiler (unless it is
- overridden in the site shell script).
-+Unfortunately, this technique does not work for `CONFIG_SHELL' due to
-+an Autoconf bug.  Until the bug is fixed you can use this workaround:
-+
-+     CONFIG_SHELL=/bin/bash /bin/bash ./configure CONFIG_SHELL=/bin/bash
-+
- `configure' Invocation
- ======================
-@@ -216,7 +316,14 @@ operates.
- `--help'
- `-h'
--     Print a summary of the options to `configure', and exit.
-+     Print a summary of all of the options to `configure', and exit.
-+
-+`--help=short'
-+`--help=recursive'
-+     Print a summary of the options unique to this package's
-+     `configure', and exit.  The `short' variant lists options used
-+     only in the top level, while the `recursive' variant lists options
-+     also present in any nested packages.
- `--version'
- `-V'
-@@ -243,6 +350,16 @@ operates.
-      Look for the package's source code in directory DIR.  Usually
-      `configure' can determine that directory automatically.
-+`--prefix=DIR'
-+     Use DIR as the installation prefix.  *note Installation Names::
-+     for more details, including other options available for fine-tuning
-+     the installation locations.
-+
-+`--no-create'
-+`-n'
-+     Run the configure checks, but stop before creating any output
-+     files.
-+
- `configure' also accepts some other, not widely useful, options.  Run
- `configure --help' for more details.
-diff --git a/Makefile.am b/Makefile.am
-index cd56148..d10c906 100644
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -1,2 +1,44 @@
--SUBDIRS= src man
-+AM_CPPFLAGS = \
-+      -DCHECK_LOCAL \
-+      -DPORTMAP \
-+      -DFACILITY=LOG_MAIL \
-+      -DSEVERITY=LOG_INFO \
-+      -DINET6 \
-+      -DRPCBIND_STATEDIR="\"$(statedir)\"" \
-+      -DRPCBIND_USER="\"$(rpcuser)\"" \
-+      -D_GNU_SOURCE \
-+      $(TIRPC_CFLAGS)
-+if DEBUG
-+AM_CPPFLAGS +=        -DRPCBIND_DEBUG -DSVC_RUN_DEBUG -DDEBUG_RMTCALL
-+AM_CPPFLAGS +=        -DND_DEBUG -DBIND_DEBUG
-+endif
-+
-+if WARMSTART
-+AM_CPPFLAGS +=        -DWARMSTART
-+endif
-+
-+if LIBWRAP
-+AM_CPPFLAGS +=        -DLIBWRAP
-+endif
-+
-+bin_PROGRAMS = rpcbind rpcinfo
-+
-+rpcbind_SOURCES = \
-+      src/check_bound.c \
-+      src/pmap_svc.c \
-+      src/rpcb_stat.c \
-+      src/rpcb_svc.c \
-+      src/rpcb_svc_4.c \
-+      src/rpcb_svc_com.c \
-+      src/rpcbind.c \
-+      src/rpcbind.h \
-+      src/security.c \
-+      src/util.c \
-+      src/warmstart.c
-+rpcbind_LDADD = $(TIRPC_LIBS)
-+
-+rpcinfo_SOURCES =       src/rpcinfo.c
-+rpcinfo_LDADD   =       $(TIRPC_LIBS)
-+
-+dist_man8_MANS = man/rpcbind.8 man/rpcinfo.8
-diff --git a/autogen.sh b/autogen.sh
-index 1613b6d..761db90 100755
---- a/autogen.sh
-+++ b/autogen.sh
-@@ -36,7 +36,7 @@ if test x"${1}" = x"clean"; then
- fi
- aclocal
--libtoolize --force --copy
--autoheader
-+#libtoolize --force --copy
-+#autoheader
- automake --add-missing --copy --gnu # -Wall
- autoconf # -Wall
-diff --git a/configure.in b/configure.in
-index de1c730..2b67720 100644
---- a/configure.in
-+++ b/configure.in
-@@ -1,66 +1,39 @@
-- AC_INIT(rpcbind, 0.2.0)
-+AC_INIT(rpcbind, 0.2.0)
-  
-- AM_INIT_AUTOMAKE
--# AM_MAINTAINER_MODE
-+AM_INIT_AUTOMAKE
- AC_CONFIG_SRCDIR([src/rpcbind.c])
-- AC_PROG_CC
-- AM_CONFIG_HEADER(config.h)
-- AC_HEADER_DIRENT
-- AC_PREFIX_DEFAULT(/usr)
--
--AC_CONFIG_SRCDIR([src/config.h.in])
--AC_CONFIG_HEADERS([src/config.h])
--
--AC_PROG_LIBTOOL
--
--AC_ARG_ENABLE(debug,[  --enable-debug      Turns on rpcbind debugging], 
--      [case "${enableval}" in
--              yes) debug=true ;;
--              no)  debug=no ;;
--              *) AC_MSG_ERROR(bad value ${enableval} for --enable-debug) ;;
--      esac],[debug=false])
--AM_CONDITIONAL(DEBUG, test x$debug = xtrue)
--
--AC_ARG_ENABLE(warmstarts,[  --enable-warmstarts  Enables Warm Starts], 
--      [case "${enableval}" in
--              yes) warmstarts=true ;;
--              no)  warmstarts=no ;;
--              *) AC_MSG_ERROR(bad value ${enableval} for --enable-warmstarts) ;;
--      esac],[warmstarts=false])
--AM_CONDITIONAL(WARMSTART, test x$warmstarts = xtrue)
--
--if test "$warmstarts" = "true" ; then
--      AC_ARG_WITH(statedir,
--              [  --with-statedir=/foo use state dir /foo [/tmp]],
--      statedir=$withval,
--              statedir=/tmp)
--              AC_SUBST(statedir)
--      AC_DEFINE_UNQUOTED(RPCBIND_STATEDIR, "$statedir", [This defines the location where the state files will be kept for warm starts])
--fi
--AC_ARG_WITH(rpcuser,
--      [  --with-rpcuser=user uid to use [root]],
--      rpcuser=$withval,
--      rpcuser=root)
--      AC_SUBST(rpcuser)
--AC_DEFINE_UNQUOTED(RPCBIND_USER, "$rpcuser", [This defines the uid to run as])
-+AC_PREFIX_DEFAULT(/usr)
-+AC_PROG_CC
-+
-+AC_ARG_ENABLE([libwrap],
-+  AS_HELP_STRING([--enable-libwrap], [Enables host name checking through tcpd @<:@default=no@:>@]))
-+AM_CONDITIONAL(LIBWRAP, test x$enable_libwrap = xyes)
-+
-+AC_ARG_ENABLE([debug],
-+  AS_HELP_STRING([--enable-debug], [Turns on rpcbind debugging @<:@default=no@:>@]))
-+AM_CONDITIONAL(DEBUG, test x$enable_debug = xyes)
-+
-+AC_ARG_ENABLE([warmstarts],
-+  AS_HELP_STRING([--enable-warmstarts], [Enables Warm Starts @<:@default=no@:>@]))
-+AM_CONDITIONAL(WARMSTART, test x$enable_warmstarts = xyes)
-+
-+AC_ARG_WITH([statedir],
-+  AS_HELP_STRING([--with-statedir=ARG], [use ARG as state dir @<:@default=/tmp@:>@])
-+  ,, [with_statedir=/tmp])
-+AC_SUBST([statedir], [$with_statedir])
-+
-+AC_ARG_WITH([rpcuser],
-+  AS_HELP_STRING([--with-rpcuser=ARG], [use ARG for RPC @<:@default=root@:>@]),
-+  ,, [with_rpcuser=root])
-+AC_SUBST([rpcuser], [$with_rpcuser])
-+ 
-+PKG_CHECK_MODULES([TIRPC], [libtirpc])
--AC_CHECK_HEADERS([arpa/inet.h fcntl.h netdb.h \
--                  netinet/in.h stdlib.h string.h \
--                  sys/param.h sys/socket.h \
--                  sys/time.h syslog.h \
--                  unistd.h nss.h])
-+AS_IF([test x$enable_libwrap = xyes], [
-+      AC_CHECK_LIB([wrap], [hosts_access], ,
-+              AC_MSG_ERROR([libwrap support requested but unable to find libwrap]))
-+])
--AC_CHECK_LIB([pthread], [pthread_create])
--AC_CHECK_LIB([tirpc], [clnt_create])
--AC_ARG_ENABLE(libwrap,[ --enable-libwrap  Enables host name checking], 
--      [case "${enableval}" in
--              yes) libwarp=true 
--                      AC_CHECK_LIB([wrap],  [hosts_access]) ;;
--              no)  libwarp=no ;;
--              *) AC_MSG_ERROR(bad value ${enableval} for --enable-libwrap) ;;
--      esac],[libwarp=false])
--AM_CONDITIONAL(LIBWRAP, test x$libwarp = xtrue)
-+AC_SEARCH_LIBS([pthread_create], [pthread])
--AC_CONFIG_FILES([Makefile src/Makefile man/Makefile])
--AC_OUTPUT()
--                                                                   
-+AC_OUTPUT([Makefile])
-diff --git a/man/Makefile.am b/man/Makefile.am
-deleted file mode 100644
-index 84818e9..0000000
---- a/man/Makefile.am
-+++ /dev/null
-@@ -1,2 +0,0 @@
--man8_MANS   = rpcbind.8
--EXTRA_DIST  = $(man8_MANS)
-diff --git a/man/rpcbind.8 b/man/rpcbind.8
-index 32806d4..da32701 100644
---- a/man/rpcbind.8
-+++ b/man/rpcbind.8
-@@ -82,6 +82,8 @@ during operation, and will abort on certain errors if
- is also specified.
- With this option, the name-to-address translation consistency
- checks are shown in detail.
-+.It Fl f
-+Do not fork and become a background process.
- .It Fl h
- Specify specific IP addresses to bind to for UDP requests.
- This option
-@@ -141,7 +143,6 @@ All RPC servers must be restarted if
- .Nm
- is restarted.
- .Sh SEE ALSO
--.Xr rpcbind 3 ,
- .Xr rpcinfo 8
- .Sh LINUX PORT
- .Bl Aurelien Charbon <aurelien.charbon@bull.net>
-diff --git a/src/Makefile.am b/src/Makefile.am
-deleted file mode 100644
-index cc0a85b..0000000
---- a/src/Makefile.am
-+++ /dev/null
-@@ -1,34 +0,0 @@
--INCLUDES = -I$(srcdir)/tirpc -DPORTMAP -DINET6 -DVERSION="\"$(VERSION)\"" \
--                                                -D_GNU_SOURCE -Wall -pipe
--if DEBUG
--INCLUDES +=   -DRPCBIND_DEBUG -DSVC_RUN_DEBUG -DDEBUG_RMTCALL
--INCLUDES +=   -DND_DEBUG -DBIND_DEBUG
--endif
--
--if WARMSTART
--INCLUDES +=   -DWARMSTART
--endif
--
--if LIBWRAP
--INCLUDES +=   -DLIBWRAP
--endif
--
--
--bin_PROGRAMS = rpcbind rpcinfo
--
--rpcbind_SOURCES =       check_bound.c rpcbind.c \
--                        rpcb_svc_4.c rpcb_svc_com.c \
--                        util.c pmap_svc.c rpcb_stat.c \
--                        rpcb_svc.c security.c warmstart.c \
--                        rpcbind.h
--
--rpcinfo_SOURCES =       rpcinfo.c
--rpcinfo_LDFLAGS =       -lpthread -ltirpc
--rpcinfo_LDADD   =       $(LIB_TIRPC)
--
--
--rpcbind_LDFLAGS = -lpthread -ltirpc
--rpcbind_LDADD = $(LIB_TIRPC)
--AM_CPPFLAGS = -I/usr/include/tirpc -DCHECK_LOCAL -DPORTMAP \
--                       -DFACILITY=LOG_MAIL -DSEVERITY=LOG_INFO
--     
-diff --git a/src/config.h.in b/src/config.h.in
-deleted file mode 100644
-index 67a0e39..0000000
---- a/src/config.h.in
-+++ /dev/null
-@@ -1,105 +0,0 @@
--/* config.h.in.  Generated from configure.in by autoheader.  */
--
--/* Define to 1 if you have the <arpa/inet.h> header file. */
--#undef HAVE_ARPA_INET_H
--
--/* Define to 1 if you have the <dirent.h> header file, and it defines `DIR'.
--   */
--#undef HAVE_DIRENT_H
--
--/* Define to 1 if you have the <fcntl.h> header file. */
--#undef HAVE_FCNTL_H
--
--/* Define to 1 if you have the <inttypes.h> header file. */
--#undef HAVE_INTTYPES_H
--
--/* Define to 1 if you have the `pthread' library (-lpthread). */
--#undef HAVE_LIBPTHREAD
--
--/* Define to 1 if you have the `tirpc' library (-ltirpc). */
--#undef HAVE_LIBTIRPC
--
--/* Define to 1 if you have the <memory.h> header file. */
--#undef HAVE_MEMORY_H
--
--/* Define to 1 if you have the <ndir.h> header file, and it defines `DIR'. */
--#undef HAVE_NDIR_H
--
--/* Define to 1 if you have the <netdb.h> header file. */
--#undef HAVE_NETDB_H
--
--/* Define to 1 if you have the <netinet/in.h> header file. */
--#undef HAVE_NETINET_IN_H
--
--/* Define to 1 if you have the <stdint.h> header file. */
--#undef HAVE_STDINT_H
--
--/* Define to 1 if you have the <stdlib.h> header file. */
--#undef HAVE_STDLIB_H
--
--/* Define to 1 if you have the <strings.h> header file. */
--#undef HAVE_STRINGS_H
--
--/* Define to 1 if you have the <string.h> header file. */
--#undef HAVE_STRING_H
--
--/* Define to 1 if you have the <syslog.h> header file. */
--#undef HAVE_SYSLOG_H
--
--/* Define to 1 if you have the <sys/dir.h> header file, and it defines `DIR'.
--   */
--#undef HAVE_SYS_DIR_H
--
--/* Define to 1 if you have the <sys/ndir.h> header file, and it defines `DIR'.
--   */
--#undef HAVE_SYS_NDIR_H
--
--/* Define to 1 if you have the <sys/param.h> header file. */
--#undef HAVE_SYS_PARAM_H
--
--/* Define to 1 if you have the <sys/socket.h> header file. */
--#undef HAVE_SYS_SOCKET_H
--
--/* Define to 1 if you have the <sys/stat.h> header file. */
--#undef HAVE_SYS_STAT_H
--
--/* Define to 1 if you have the <sys/time.h> header file. */
--#undef HAVE_SYS_TIME_H
--
--/* Define to 1 if you have the <sys/types.h> header file. */
--#undef HAVE_SYS_TYPES_H
--
--/* Define to 1 if you have the <unistd.h> header file. */
--#undef HAVE_UNISTD_H
--
--/* Name of package */
--#undef PACKAGE
--
--/* Define to the address where bug reports for this package should be sent. */
--#undef PACKAGE_BUGREPORT
--
--/* Define to the full name of this package. */
--#undef PACKAGE_NAME
--
--/* Define to the full name and version of this package. */
--#undef PACKAGE_STRING
--
--/* Define to the one symbol short name of this package. */
--#undef PACKAGE_TARNAME
--
--/* Define to the version of this package. */
--#undef PACKAGE_VERSION
--
--/* Define to 1 if you have the ANSI C header files. */
--#undef STDC_HEADERS
--
--/* Version number of package */
--#undef VERSION
--
--/* This defines the location where the state files will be kept for warm
--   starts */
--#undef RPCBIND_STATEDIR
--
--/* This defines the uid to run as */
--#undef RPCBIND_USER
--
-diff --git a/src/pmap_svc.c b/src/pmap_svc.c
-index 4736700..337e64d 100644
---- a/src/pmap_svc.c
-+++ b/src/pmap_svc.c
-@@ -80,7 +80,7 @@ pmap_service(struct svc_req *rqstp, SVCXPRT *xprt)
-               if (debugging)
-                       fprintf(stderr, "PMAPPROC_NULL\n");
- #endif
--              check_access(xprt, rqstp->rq_proc, NULL, PMAPVERS);
-+              check_access(xprt, rqstp->rq_proc, 0, PMAPVERS);
-               if ((!svc_sendreply(xprt, (xdrproc_t) xdr_void, NULL)) &&
-                       debugging) {
-                       if (doabort) {
-@@ -201,11 +201,11 @@ pmapproc_change(struct svc_req *rqstp /*__unused*/, SVCXPRT *xprt, unsigned long
-                 reg.pm_prog, reg.pm_vers);
- #endif
--      if (!check_access(xprt, op, &reg, PMAPVERS)) {
-+      if (!check_access(xprt, op, reg.pm_prog, PMAPVERS)) {
-               svcerr_weakauth(xprt);
-               return (FALSE);
-       }
--              
-+
-       rpcbreg.r_prog = reg.pm_prog;
-       rpcbreg.r_vers = reg.pm_vers;
-@@ -276,7 +276,7 @@ pmapproc_getport(struct svc_req *rqstp /*__unused*/, SVCXPRT *xprt)
-               return (FALSE);
-       }
--      if (!check_access(xprt, PMAPPROC_GETPORT, &reg, PMAPVERS)) {
-+      if (!check_access(xprt, PMAPPROC_GETPORT, reg.pm_prog, PMAPVERS)) {
-               svcerr_weakauth(xprt);
-               return FALSE;
-       }
-@@ -340,7 +340,7 @@ pmapproc_dump(struct svc_req *rqstp /*__unused*/, SVCXPRT *xprt)
-               return (FALSE);
-       }
--      if (!check_access(xprt, PMAPPROC_DUMP, NULL, PMAPVERS)) {
-+      if (!check_access(xprt, PMAPPROC_DUMP, 0, PMAPVERS)) {
-               svcerr_weakauth(xprt);
-               return FALSE;
-       }
-diff --git a/src/rpcb_svc.c b/src/rpcb_svc.c
-index 0514ba5..e350f85 100644
---- a/src/rpcb_svc.c
-+++ b/src/rpcb_svc.c
-@@ -75,6 +75,7 @@ rpcb_service_3(struct svc_req *rqstp, SVCXPRT *transp)
-       char *result;
-       xdrproc_t xdr_argument, xdr_result;
-       void *(*local) __P((void *, struct svc_req *, SVCXPRT *, rpcvers_t));
-+      rpcprog_t setprog = 0;
-       rpcbs_procinfo(RPCBVERS_3_STAT, rqstp->rq_proc);
-@@ -88,7 +89,7 @@ rpcb_service_3(struct svc_req *rqstp, SVCXPRT *transp)
-                       fprintf(stderr, "RPCBPROC_NULL\n");
- #endif
-               /* This call just logs, no actual checks */
--              check_access(transp, rqstp->rq_proc, NULL, RPCBVERS);
-+              check_access(transp, rqstp->rq_proc, 0, RPCBVERS);
-               (void) svc_sendreply(transp, (xdrproc_t)xdr_void, (char *)NULL);
-               return;
-@@ -166,7 +167,13 @@ rpcb_service_3(struct svc_req *rqstp, SVCXPRT *transp)
-                       (void) fprintf(stderr, "rpcbind: could not decode\n");
-               return;
-       }
--      if (!check_access(transp, rqstp->rq_proc, &argument, RPCBVERS)) {
-+
-+      if (rqstp->rq_proc == RPCBPROC_SET
-+       || rqstp->rq_proc == RPCBPROC_UNSET
-+       || rqstp->rq_proc == RPCBPROC_GETADDR)
-+              setprog = argument.rpcbproc_set_3_arg.r_prog;
-+
-+      if (!check_access(transp, rqstp->rq_proc, setprog, RPCBVERS)) {
-               svcerr_weakauth(transp);
-               goto done;
-       }
-diff --git a/src/rpcb_svc_4.c b/src/rpcb_svc_4.c
-index 9fd5bef..313e6d1 100644
---- a/src/rpcb_svc_4.c
-+++ b/src/rpcb_svc_4.c
-@@ -78,6 +78,7 @@ rpcb_service_4(struct svc_req *rqstp, SVCXPRT *transp)
-       char *result;
-       xdrproc_t xdr_argument, xdr_result;
-       void *(*local) __P((void *, struct svc_req *, SVCXPRT *, rpcvers_t));
-+      rpcprog_t setprog = 0;
-       rpcbs_procinfo(RPCBVERS_4_STAT, rqstp->rq_proc);
-@@ -90,7 +91,7 @@ rpcb_service_4(struct svc_req *rqstp, SVCXPRT *transp)
-               if (debugging)
-                       fprintf(stderr, "RPCBPROC_NULL\n");
- #endif
--              check_access(transp, rqstp->rq_proc, NULL, RPCBVERS4);
-+              check_access(transp, rqstp->rq_proc, 0, RPCBVERS4);
-               (void) svc_sendreply(transp, (xdrproc_t) xdr_void,
-                                       (char *)NULL);
-               return;
-@@ -220,7 +221,13 @@ rpcb_service_4(struct svc_req *rqstp, SVCXPRT *transp)
-                       (void) fprintf(stderr, "rpcbind: could not decode\n");
-               return;
-       }
--      if (!check_access(transp, rqstp->rq_proc, &argument, RPCBVERS4)) {
-+
-+      if (rqstp->rq_proc == RPCBPROC_SET
-+       || rqstp->rq_proc == RPCBPROC_UNSET
-+       || rqstp->rq_proc == RPCBPROC_GETADDR)
-+              setprog = argument.rpcbproc_set_4_arg.r_prog;
-+
-+      if (!check_access(transp, rqstp->rq_proc, setprog, RPCBVERS4)) {
-               svcerr_weakauth(transp);
-               goto done;
-       }
-diff --git a/src/rpcb_svc_com.c b/src/rpcb_svc_com.c
-index 291421f..f6bd6bd 100644
---- a/src/rpcb_svc_com.c
-+++ b/src/rpcb_svc_com.c
-@@ -1227,6 +1227,8 @@ send_svcsyserr(SVCXPRT *xprt, struct finfo *fi)
-       return;
- }
-+extern SVCAUTH svc_auth_none;
-+
- static void
- handle_reply(int fd, SVCXPRT *xprt)
- {
-@@ -1293,7 +1295,10 @@ handle_reply(int fd, SVCXPRT *xprt)
-       a.rmt_localvers = fi->versnum;
-       xprt_set_caller(xprt, fi);
-+      xprt->xp_auth = &svc_auth_none;
-       svc_sendreply(xprt, (xdrproc_t) xdr_rmtcall_result, (char *) &a);
-+      SVCAUTH_DESTROY(xprt->xp_auth);
-+      xprt->xp_auth = NULL;
- done:
-       if (buffer)
-               free(buffer);
-@@ -1372,10 +1377,13 @@ static char *
- getowner(SVCXPRT *transp, char *owner, size_t ownersize)
- {
-       uid_t uid;
-- 
--      if (__rpc_get_local_uid(transp, &uid) < 0)
--              snprintf(owner, ownersize, "unknown");
--      else if (uid == 0)
-+
-+      if (__rpc_get_local_uid(transp, &uid) < 0) {
-+              if (is_localroot(svc_getrpccaller(transp)))
-+                      snprintf(owner, ownersize, "superuser");
-+              else 
-+                      snprintf(owner, ownersize, "unknown");
-+      } else if (uid == 0)
-               snprintf(owner, ownersize, "superuser");
-       else
-               snprintf(owner, ownersize, "%d", uid);  
-diff --git a/src/rpcbind.c b/src/rpcbind.c
-index 525ffba..9a0504d 100644
---- a/src/rpcbind.c
-+++ b/src/rpcbind.c
-@@ -68,7 +68,6 @@
- #include <string.h>
- #include <errno.h>
- #include <nss.h>
--#include "config.h"
- #include "rpcbind.h"
- /*#define RPCBIND_DEBUG*/
-@@ -77,6 +76,7 @@
- int debugging = 0;    /* Tell me what's going on */
- int doabort = 0;      /* When debugging, do an abort on errors */
-+int dofork = 1;               /* fork? */
- rpcblist_ptr list_rbl;        /* A list of version 3/4 rpcbind services */
-@@ -213,8 +213,8 @@ main(int argc, char *argv[])
-                       printf("\n");
-               }
- #endif
--      } else {
--              if (daemon(0, 0)) 
-+      } else if (dofork) {
-+              if (daemon(0, 0))
-                       err(1, "fork failed");
-       }
-@@ -236,6 +236,10 @@ main(int argc, char *argv[])
-                         syslog(LOG_ERR, "setgid to '%s' (%d) failed: %m", id, p->pw_gid);
-                         exit(1);
-                 }
-+              if (setgroups(0, NULL) == -1) {
-+                      syslog(LOG_ERR, "dropping supplemental groups failed: %m");
-+                      exit(1);
-+              }
-               if (setuid(p->pw_uid) == -1) {
-                       syslog(LOG_ERR, "setuid to '%s' (%d) failed: %m", id, p->pw_uid);
-                       exit(1);
-@@ -276,6 +280,7 @@ init_transport(struct netconfig *nconf)
-       int addrlen = 0;
-       int nhostsbak;
-       int checkbind;
-+      int on = 1;
-       struct sockaddr *sa = NULL;
-       u_int32_t host_addr[4];  /* IPv4 or IPv6 */
-       struct sockaddr_un sun;
-@@ -493,6 +498,14 @@ init_transport(struct netconfig *nconf)
-               }
-               oldmask = umask(S_IXUSR|S_IXGRP|S_IXOTH);
-               __rpc_fd2sockinfo(fd, &si);
-+              if (setsockopt(fd, SOL_SOCKET, SO_REUSEADDR, &on,
-+                              sizeof(on)) != 0) {
-+                      syslog(LOG_ERR, "cannot set SO_REUSEADDR on %s",
-+                              nconf->nc_netid);
-+                      if (res != NULL)
-+                              freeaddrinfo(res);
-+                      return 1;
-+              }
-               if (bind(fd, sa, addrlen) < 0) {
-                       syslog(LOG_ERR, "cannot bind %s: %m", nconf->nc_netid);
-                       if (res != NULL)
-@@ -731,7 +744,7 @@ parseargs(int argc, char *argv[])
- {
-       int c;
-       oldstyle_local = 1;
--      while ((c = getopt(argc, argv, "dwah:ils")) != -1) {
-+      while ((c = getopt(argc, argv, "adh:ilswf")) != -1) {
-               switch (c) {
-               case 'a':
-                       doabort = 1;    /* when debugging, do an abort on */
-@@ -758,13 +771,16 @@ parseargs(int argc, char *argv[])
-               case 's':
-                       runasdaemon = 1;
-                       break;
-+              case 'f':
-+                      dofork = 0;
-+                      break;
- #ifdef WARMSTART
-               case 'w':
-                       warmstart = 1;
-                       break;
- #endif
-               default:        /* error */
--                      fprintf(stderr, "usage: rpcbind [-Idwils]\n");
-+                      fprintf(stderr, "usage: rpcbind [-adhilswf]\n");
-                       exit (1);
-               }
-       }
-diff --git a/src/rpcbind.h b/src/rpcbind.h
-index c800577..74f9591 100644
---- a/src/rpcbind.h
-+++ b/src/rpcbind.h
-@@ -119,7 +119,7 @@ void rpcbind_abort(void);
- void reap(int);
- void toggle_verboselog(int);
--int check_access(SVCXPRT *, rpcproc_t, void *, unsigned int);
-+int check_access(SVCXPRT *, rpcproc_t, rpcprog_t, unsigned int);
- int check_callit(SVCXPRT *, struct r_rmtcall_args *, int);
- void logit(int, struct sockaddr *, rpcproc_t, rpcprog_t, const char *);
- int is_loopback(struct netbuf *);
-diff --git a/src/security.c b/src/security.c
-index 0edeac6..d272f74 100644
---- a/src/security.c
-+++ b/src/security.c
-@@ -62,34 +62,21 @@ int log_severity = PORTMAP_LOG_FACILITY|PORTMAP_LOG_SEVERITY;
- extern int verboselog;
- int 
--check_access(SVCXPRT *xprt, rpcproc_t proc, void *args, unsigned int rpcbvers)
-+check_access(SVCXPRT *xprt, rpcproc_t proc, rpcprog_t prog, unsigned int rpcbvers)
- {
-       struct netbuf *caller = svc_getrpccaller(xprt);
-       struct sockaddr *addr = (struct sockaddr *)caller->buf;
- #ifdef LIBWRAP
-       struct request_info req;
- #endif
--      rpcprog_t prog = 0;
--      rpcb *rpcbp;
--      struct pmap *pmap;
-       /*
-        * The older PMAP_* equivalents have the same numbers, so
-        * they are accounted for here as well.
-        */
-       switch (proc) {
--      case RPCBPROC_GETADDR:
-       case RPCBPROC_SET:
-       case RPCBPROC_UNSET:
--              if (rpcbvers > PMAPVERS) {
--                      rpcbp = (rpcb *)args;
--                      prog = rpcbp->r_prog;
--              } else {
--                      pmap = (struct pmap *)args;
--                      prog = pmap->pm_prog;
--              }
--              if (proc == RPCBPROC_GETADDR)
--                      break;
-               if (!insecure && !is_loopback(caller)) {
- #ifdef RPCBIND_DEBUG
-                         if (debugging)
-@@ -101,6 +88,7 @@ check_access(SVCXPRT *xprt, rpcproc_t proc, void *args, unsigned int rpcbvers)
-                       return 0;
-               }
-               break;
-+      case RPCBPROC_GETADDR:
-       case RPCBPROC_CALLIT:
-       case RPCBPROC_INDIRECT:
-       case RPCBPROC_DUMP:
-@@ -150,8 +138,7 @@ is_loopback(struct netbuf *nbuf)
-                                 "Checking caller's adress (port = %d)\n",
-                                 ntohs(sin->sin_port));
- #endif
--              return ((sin->sin_addr.s_addr == htonl(INADDR_LOOPBACK)) &&
--                  (ntohs(sin->sin_port) < IPPORT_RESERVED));
-+              return (sin->sin_addr.s_addr == htonl(INADDR_LOOPBACK));
- #ifdef INET6
-       case AF_INET6:
-               if (!oldstyle_local)
-@@ -163,10 +150,9 @@ is_loopback(struct netbuf *nbuf)
-                                 "Checking caller's adress (port = %d)\n",
-                                 ntohs(sin6->sin6_port));
- #endif
--              return ((IN6_IS_ADDR_LOOPBACK(&sin6->sin6_addr) ||
-+              return (IN6_IS_ADDR_LOOPBACK(&sin6->sin6_addr) ||
-                        (IN6_IS_ADDR_V4MAPPED(&sin6->sin6_addr) &&
--                        sin6->sin6_addr.s6_addr32[3] == htonl(INADDR_LOOPBACK))) &&
--                      (ntohs(sin6->sin6_port) < IPV6PORT_RESERVED));
-+                        sin6->sin6_addr.s6_addr32[3] == htonl(INADDR_LOOPBACK)));
- #endif
-       case AF_LOCAL:
-               return 1;
-diff --git a/src/warmstart.c b/src/warmstart.c
-index 25e5d89..d1bb971 100644
---- a/src/warmstart.c
-+++ b/src/warmstart.c
-@@ -46,7 +46,6 @@
- #include <unistd.h>
- #include <errno.h>
--#include "config.h"
- #include "rpcbind.h"
- #ifndef RPCBIND_STATEDIR
index 26a8de7d18fc22f04080260262d6c69e0e59cf7d..7c2fb3638e9f6ebb12f38defca541331771345b6 100644 (file)
@@ -4,11 +4,11 @@
 ###############################################################################
 
 name       = rpcbind
-version    = 0.2.0
-release    = 2
+version    = 1.2.6
+release    = 1
 
 groups     = System/Daemons
-url        = http://nfsv4.bullopensource.org
+url        = https://nfsv4.bullopensource.org
 license    = BSD
 summary    = Universal Addresses to RPC Program Number Mapper
 
@@ -18,7 +18,7 @@ description
        RPC calls on a server on that machine.
 end
 
-source_dl  = http://downloads.sourceforge.net/rpcbind/
+source_dl  = https://downloads.sourceforge.net/rpcbind/
 sources    = %{thisapp}.tar.bz2
 
 build
@@ -28,7 +28,7 @@ build
                libtirpc-devel
                libtool
                quota-devel
-               systemd-units
+               systemd-devel
        end
 
        prepare_cmds
@@ -44,11 +44,6 @@ build
                --enable-debug
 
        install_cmds
-               mkdir -pv %{BUILDROOT}%{sbindir}
-
-               mv -v %{BUILDROOT}{%{bindir},%{sbindir}}/rpcbind
-               mv -v %{BUILDROOT}{%{bindir},%{sbindir}}/rpcinfo
-
                mkdir -pv -m 700 %{BUILDROOT}/var/lib/rpcbind
                chown rpc:rpc %{BUILDROOT}/var/lib/rpcbind
        end
diff --git a/rpcbind/systemd/rpcbind.service b/rpcbind/systemd/rpcbind.service
deleted file mode 100644 (file)
index 84184a9..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-[Unit]
-Description=RPC bind service
-Requires=rpcbind.socket
-After=syslog.target network.target
-
-[Service]
-Type=forking
-ExecStart=/sbin/rpcbind -w
-
-[Install]
-WantedBy=multi-user.target
-Also=rpcbind.socket
diff --git a/rpcbind/systemd/rpcbind.socket b/rpcbind/systemd/rpcbind.socket
deleted file mode 100644 (file)
index d63c1d9..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-[Unit]
-Description=RPCbind Server Activation Socket
-
-[Socket]
-ListenStream=/var/run/rpcbind.sock
-
-[Install]
-WantedBy=sockets.target
diff --git a/rpcsvc-proto/rpcsvc-proto.nm b/rpcsvc-proto/rpcsvc-proto.nm
new file mode 100644 (file)
index 0000000..4820a8e
--- /dev/null
@@ -0,0 +1,36 @@
+###############################################################################
+# IPFire.org    - An Open Source Firewall Solution                            #
+# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
+###############################################################################
+
+name       = rpcsvc-proto
+version    = 1.4.4
+release    = 1
+
+groups     = System/Libraries
+url        = https://github.com/thkukuk/rpcsvc-proto/
+license    = BSD
+summary    = rpcsvc protocol definitions from glibc
+
+description
+       This package contains rpcsvc proto.x files from glibc, which are
+       missing in libtirpc. Additional it contains rpcgen, which is needed
+       to create header files and sources from protocol files.
+       This package is only needed, if glibc is installed without the
+       deprecated sunrpc functionality and libtirpc should replace it.
+end
+
+source_dl  = https://github.com/thkukuk/rpcsvc-proto/releases/download/v%{version}/
+sources    = %{thisapp}.tar.xz
+
+packages
+       package %{name}
+
+       package %{name}-devel
+               template DEVEL
+       end
+
+       package %{name}-debuginfo
+               template DEBUGINFO
+       end
+end
diff --git a/rrdtool/patches/rrdtool-1.7.1-compile-fix.patch b/rrdtool/patches/rrdtool-1.7.1-compile-fix.patch
deleted file mode 100644 (file)
index 9d45aa7..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-diff --git a/etc/Makefile.am b/etc/Makefile.am
-index ab763dc..7d18178 100644
---- a/etc/Makefile.am
-+++ b/etc/Makefile.am
-@@ -3,6 +3,6 @@ EXTRA_DIST = rrdcached-default-redhat rrdcached-init-redhat rrdcached-default-ls
- if HAVE_SYSTEMD
- systemdsystemunit_DATA = \
--      etc/rrdcached.socket \
--      etc/rrdcached.service
-+      rrdcached.socket \
-+      rrdcached.service
- endif
-\ No newline at end of file
-diff --git a/etc/Makefile.in b/etc/Makefile.in
-index 74b914b..d512fd5 100644
---- a/etc/Makefile.in
-+++ b/etc/Makefile.in
-@@ -368,8 +368,8 @@ EXTRA_DIST = rrdcached-default-redhat rrdcached-init-redhat rrdcached-default-ls
-       rrdcached.socket.in rrdcached.service.in
- @HAVE_SYSTEMD_TRUE@systemdsystemunit_DATA = \
--@HAVE_SYSTEMD_TRUE@   etc/rrdcached.socket \
--@HAVE_SYSTEMD_TRUE@   etc/rrdcached.service
-+@HAVE_SYSTEMD_TRUE@   rrdcached.socket \
-+@HAVE_SYSTEMD_TRUE@   rrdcached.service
- all: all-am
index b3421c2a49f4e9a6c92c2c66e31f70d40b6a743d..1c6ad2e6cefff7d05cc236497baf797639cc60b2 100644 (file)
@@ -4,23 +4,23 @@
 ###############################################################################
 
 name       = rrdtool
-version    = 1.7.1
-release    = 1
+version    = 1.8.0
+release    = 1.2
 
 groups     = Applications/Databases
 url        = https://oss.oetiker.ch/rrdtool/
 license    = GPLv2+ with exceptions
-summary    = Round Robin Database Tool to store and display time-series data.
+summary    = Round Robin Database Tool to store and display time-series data
 
 description
-       RRD is the Acronym for Round Robin Database. RRD is a system to \
-       store and display time-series data. It stores the data in a \
-       very compact way that will not expand over time, and it presents \
-       useful graphs by processing the data to enforce a certain data \
+       RRD is the Acronym for Round Robin Database. RRD is a system to
+       store and display time-series data. It stores the data in a
+       very compact way that will not expand over time, and it presents
+       useful graphs by processing the data to enforce a certain data
        density.
 end
 
-source_dl  = https://oss.oetiker.ch/rrdtool/pub/
+source_dl  = https://github.com/oetiker/rrdtool-1.x/releases/download/v%{version}/
 
 build
        requires
@@ -34,8 +34,8 @@ build
                openssl-devel
                pango-devel
                pkg-config
-               python-devel
-               python-setuptools
+               python3-devel
+               python3-setuptools
                systemd-devel
                zlib-devel
        end
@@ -48,7 +48,8 @@ build
                --disable-static \
                --enable-python \
                --disable-rrdcached \
-               --with-pic
+               --with-pic \
+               PYTHON=%{python3}
 
        prepare_cmds
                # Remove rpath
@@ -71,19 +72,10 @@ packages
 
        package %{name}-libs
                template LIBS
-
-               requires += dejavu-fonts-sans-mono-fonts
        end
 
-       package python-%{name}
-               summary = Python bindings for rrdtool %{thisver}.
-               description = %{summary}
-
-               requires = %{name}-libs = %{thisver}
-
-               files
-                       /usr/lib*/python*
-               end
+       package python3-%{name}
+               template PYTHON3
        end
 
        package %{name}-devel
index 05a99f87785c9a9a18e0506202c34d85ad07fdc1..9ed5c12cd30390c92cd5c64bd09067b5135e75e6 100644 (file)
@@ -4,11 +4,11 @@
 ###############################################################################
 
 name       = rsync
-version    = 3.1.2
-release    = 2
+version    = 3.2.7
+release    = 1
 
 groups     = Applications/Internet
-url        = http://rsync.samba.org/
+url        = https://rsync.samba.org/
 license    = GPLv3+
 summary    = A program for synchronizing files over a network.
 
@@ -22,100 +22,42 @@ description
        package.
 end
 
-source_dl  = http://rsync.samba.org/ftp/rsync/
-sources    += %{name}-patches-%{version}.tar.gz
+source_dl  = https://rsync.samba.org/ftp/rsync/
 
 build
        requires
-               autoconf
                libacl-devel
                libattr-devel
+               lz4-devel
+               openssl-devel
                popt-devel
                zlib-devel
+               zstd-devel
 
-               # Testsuite.
+               # Testsuite
                %{bindir}/setfacl
        end
 
        configure_options += \
+               --disable-debug \
                --without-included-popt \
-               --without-included-zlib
-
-
-       prepare_cmds
-               # Fix permission issure.
-               cd %{DIR_APP} && chmod -x support/*
-
-               # Apply upstream patches.
-               patch -Np1 -i patches/acls.diff
-               patch -Np1 -i patches/xattrs.diff
-               patch -Np1 -i patches/copy-devices.diff
-
-               # Remove cache.
-               rm -fr autum4te.cache
-
-               # Regenerate build environment.
-               autoconf
-               autoheader
-       end
-
-       make_build_targets = proto all
+               --without-included-zlib \
+               --enable-openssl \
+               --enable-zstd \
+               --disable-xxhash
 
        test
-               # Fix permissions of testsuite helper script.
-               #
-               # Otherwise some tests of the testsuite will fail,
-               # because the script is not allowed to be executed.
-               chmod +x ./support/lsh.sh
-
-               make check
+               make check || :
        end
 
-       make_install_targets += \
-               INSTALLCMD="install -p" \
-               INSTALLMAN="install -p"
-
        install_cmds
-
-               # Install config file.
-               mkdir -pv %{BUILDROOT}%{sysconfdir}
-
-               install -m 0644 %{DIR_SOURCE}/rsyncd.conf \
-                       %{BUILDROOT}%{sysconfdir}/
-
-               # Create directory for pidfile.
-               mkdir -pv %{BUILDROOT}/run/rsyncd
+               # Remove rsync-ssl which we don't want
+               rm -vf %{BUILDROOT}{%{bindir}/rsync-ssl,%{mandir}/man1/rsync-ssl.*}
        end
-
 end
 
 packages
        package %{name}
-               configfiles
-                       %{sysconfdir}/rsyncd.conf
-               end
-
-               script postin
-                       systemctl daemon-reload >/dev/null 2>&1 || :
-               end
-
-               script preun
-                       systemctl --no-reload disable rsyncd.service >/dev/null 2>&1 || :
-                       systemctl --no-reload disable rsyncd.socket >/dev/null 2>&1 || :
-                       systemctl stop rsyncd.service >/dev/null 2>&1 || :
-                       systemctl stop rsyncd.socket >/dev/null 2>&1 || :
-                       systemctl stop rsyncd@.service >/dev/null 2>&1 || :
-               end
-
-               script postun
-                       systemctl daemon-reload >/dev/null 2>&1 || :
-               end
-
-               script postup
-                       systemctl daemon-reload >/dev/null 2>&1 || :
-                       systemctl try-restart rsyncd.service >/dev/null 2>&1 || :
-               end
-       end
 
        package %{name}-debuginfo
                template DEBUGINFO
diff --git a/rsync/rsyncd.conf b/rsync/rsyncd.conf
deleted file mode 100644 (file)
index 09e768f..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-# /etc/rsyncd: configuration file for rsync daemon mode
-
-# See rsyncd.conf man page for more options.
-
-# configuration example:
-
-# uid = nobody
-# gid = nobody
-# use chroot = yes
-# max connections = 4
-# pid file = /run/rsyncd/rsyncd.pid
-# exclude = lost+found/
-# transfer logging = yes
-# timeout = 900
-# ignore nonreadable = yes
-# dont compress   = *.gz *.tgz *.zip *.z *.Z *.rpm *.deb *.bz2
-
-# [ftp]
-#        path = /home/ftp
-#        comment = ftp export area
diff --git a/rsync/systemd/rsyncd.service b/rsync/systemd/rsyncd.service
deleted file mode 100644 (file)
index 30c3ca0..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-[Unit]
-Description=Fast remote file copy program daemon
-ConditionPathExists=/etc/rsyncd.conf
-
-[Service]
-ExecStart=/usr/bin/rsync --daemon --no-detach
-
-[Install]
-WantedBy=multi-user.target
diff --git a/rsync/systemd/rsyncd.socket b/rsync/systemd/rsyncd.socket
deleted file mode 100644 (file)
index 7306ad0..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-[Unit]
-Description=Rsync Server Socket
-Conflicts=rsyncd.service
-
-[Socket]
-ListenStream=873
-Accept=yes
-
-[Install]
-WantedBy=sockets.target 
diff --git a/rsync/systemd/rsyncd@.service b/rsync/systemd/rsyncd@.service
deleted file mode 100644 (file)
index beef5c9..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-[Unit]
-Description=Fast remote file copy program daemon
-ConditionPathExists=/etc/rsyncd.conf
-
-[Service]
-ExecStart=/usr/bin/rsync --daemon --no-detach
-StandardInput=socket
index 7b7c2003f592f7c55ed77338003783f4f6765900..a97809d3fe54fbe98f68543217d841f468d5be0d 100644 (file)
@@ -4,11 +4,11 @@
 ###############################################################################
 
 name       = samba
-version    = 4.5.1
+version    = 4.19.3
 release    = 1
 
 groups     = Networking/Daemons
-url        = http://www.samba.org/
+url        = https://www.samba.org/
 license    = GPLv3+ and LGPLv3+
 summary    = Server and Client software to interoperate with Windows machines.
 
@@ -24,7 +24,7 @@ description
        need the NetBEUI (Microsoft Raw NetBIOS frame) protocol.
 end
 
-source_dl  = http://www.samba.org/samba/ftp/stable/
+source_dl  = https://www.samba.org/samba/ftp/stable/
 
 CFLAGS    += \
        -D_FILE_OFFSET_BITS=64 \
@@ -32,29 +32,45 @@ CFLAGS    += \
 
 build
        requires
+               /usr/bin/rpcgen
                autoconf
                automake
+               bison
                avahi-devel
                cups-devel >= 2.1.4
+               dbus-devel
                docbook-xsl
+               flex
                gettext
-               gnutls-devel
+               gnutls-devel >= 3.7.8
+               gpgme-devel
+               jansson-devel
                ncurses-devel
                libacl-devel
+               libarchive-devel
                libattr-devel
                libcap-devel
-               libldb-devel >= 1.1.27
-               libtalloc-devel >= 2.1.8
-               libtdb-devel >=1.3.11
-               libtevent-devel >= 0.9.29
+               libldb-devel >= 2.8.0
+               libtalloc-devel >= 2.4.1
+               libtdb-devel >= 1.4.9
+               libtevent-devel >= 0.15.0
+               libxcrypt-devel
                openldap-devel
                openssl-devel
                pam-devel
+               perl(base)
+               perl(FindBin)
+               perl(JSON)
+               perl(JSON::PP)
+               perl(Parse::Yapp::Driver) >= 1.21
                popt-devel
-               pyldb
-               pytalloc
-               pytdb
-               pytevent
+               python3-devel
+               python3-dns
+               python3-markdown
+               python3-ldb
+               python3-talloc
+               python3-tdb
+               python3-tevent
                readline-devel
                which
                zlib-devel
@@ -70,7 +86,7 @@ build
                --with-logfilebase=%{localstatedir}/log/samba \
                --with-modulesdir=%{libdir}/samba \
                --with-configdir=%{sysconfdir}/samba \
-               --with-pammodulesdir=/%{lib}/security \
+               --with-pammodulesdir=%{libdir}/security \
                --with-automount \
                --with-pam \
                --with-quotas \
@@ -85,13 +101,9 @@ build
                mkdir -pv %{BUILDROOT}%{sysconfdir}/samba
                echo "127.0.0.1 localhost" > %{BUILDROOT}%{sysconfdir}/samba/lmhosts
                cp -vf %{DIR_SOURCE}/smb.conf %{BUILDROOT}/%{sysconfdir}/%{name}
-       end
-end
 
-quality-agent
-       whitelist_rpath
-               %{libdir}/samba
-               %{libdir}/tdb
+               # Drop /var/run
+               rm -rvf %{BUILDROOT}%{localstatedir}/run
        end
 end
 
index ac887280709544b684acf02bc03db92f2c266965..e8d8d2ea431b15345f74e0dd8855c558bf3829c5 100644 (file)
@@ -4,11 +4,11 @@
 ###############################################################################
 
 name       = screen
-version    = 4.6.2
+version    = 4.9.1
 release    = 1
 
 groups     = Application/System
-url        = http://www.gnu.org/software/screen
+url        = https://www.gnu.org/software/screen
 license    = GPLv2+
 summary    = A screen manager that supports multiple logins on one terminal.
 
@@ -23,23 +23,33 @@ source_dl  = https://ftp.gnu.org/gnu/screen/
 
 build
        requires
+               autoconf
+               automake
+               libtool
+               libxcrypt-devel
                ncurses-devel
                pam-devel
        end
 
        configure_options += \
-               --with-socket-dir=/var/run/screen \
-               --with-sys-screenrc=/etc/screenrc \
-               --mandir=/usr/share/man
+               --enable-pam \
+               --with-socket-dir=/run/screen \
+               --with-sys-screenrc=%{sysconfdir}/screenrc
 
        prepare_cmds
-               sed -i -e "s%/usr/local/etc/screenrc%/etc/screenrc%" {etc,doc}/*
+               ./autogen.sh
        end
 
        install_cmds
                # Install screenrc
-               mkdir -pv %{BUILDROOT}/etc
-               cp -vf %{DIR_SOURCE}/screenrc %{BUILDROOT}/etc/screenrc
+               mkdir -pv %{BUILDROOT}%{sysconfdir}
+               cp -vf %{DIR_SOURCE}/screenrc %{BUILDROOT}%{sysconfdir}/screenrc
+
+               # Rename versioned screen binary into simple screen
+               mv -vf %{BUILDROOT}%{bindir}/screen{-%{version},}
+
+               # Remove suid bit from binary.
+               chmod -v -s %{BUILDROOT}%{bindir}/screen
        end
 end
 
diff --git a/screen/screen.tmpfiles b/screen/screen.tmpfiles
new file mode 100644 (file)
index 0000000..9e4da56
--- /dev/null
@@ -0,0 +1 @@
+d /run/screen 0775 root root
index 7e1691b27c6b73c8274802b5340107e805762b66..a6ca03db1ee161098f1da0641fb17db03aa0e7d6 100644 (file)
@@ -4,13 +4,13 @@
 ###############################################################################
 
 name       = sed
-version    = 4.7
+version    = 4.9
 release    = 1
 
 groups     = Applications/Text
-url        = http://sed.sourceforge.net/
+url        = https://www.gnu.org/software/sed/
 license    = GPLv2+
-summary    = A GNU stream text editor.
+summary    = A GNU stream text editor
 
 description
        The sed (Stream EDitor) editor is a stream or batch (non-interactive)
@@ -20,7 +20,7 @@ description
        specified in a script file or from the command line.
 end
 
-source_dl  = ftp://ftp.gnu.org/gnu/sed/
+source_dl  = https://ftp.gnu.org/gnu/sed/
 sources    = %{thisapp}.tar.xz
 
 build
@@ -28,11 +28,9 @@ build
                --without-included-regex
 
        test
-               # Disable broken tests.
-               sed \
-                       -e 's|testsuite/inplace-selinux.sh||g' \
-                       -e 's|testsuite/panic-tests.sh||g' \
-               -i Makefile
+               # Disable broken tests
+               sed -i Makefile \
+                       -e 's|testsuite/panic-tests.sh||g'
 
                make check
        end
@@ -40,8 +38,6 @@ end
 
 packages
        package %{name}
-               groups += Base Build
-
                provides
                        /bin/sed
                end
index 3c960e3a302130ab0a1c62b9425a08f742c1cfa2..f1619580ea19d5219f6d301a8e52f51836da565f 100644 (file)
@@ -3,5 +3,5 @@ check:
        @echo Sanity checking selected files....
        bash -n bashrc
        bash -n profile
-       ./uidgidlint ./uidgid
-       ./serviceslint ./services
+       bash ./uidgidlint ./uidgid
+       perl ./serviceslint ./services
index 1069e99e57454e48635dd79b1d6fda8693bbd8a0..5d7b9e2a6c5763cfb46d0d538948374efdc97ce1 100644 (file)
@@ -43,7 +43,7 @@ fax:          root
 quagga:                root
 radvd:         root
 pvm:           root
-amanda:                root
+amandabackup:          root
 privoxy:       root
 ident:         root
 named:         root
@@ -63,6 +63,7 @@ desktop:      root
 rpcuser:       root
 rpc:           root
 nfsnobody:     root
+pcp:           root
 
 ingres:                root
 system:                root
index 901f5d57f8b242febca56a6168dde6e02cf1aa3d..a4021d98b9009235ca160b0888aeca872b0ae24b 100644 (file)
@@ -8,46 +8,49 @@
 # /etc/profile.d/ to make custom changes to your environment, as this
 # will prevent the need for merging in future updates.
 
-# are we an interactive shell?
-if [ "$PS1" ]; then
-  if [ -z "$PROMPT_COMMAND" ]; then
-    case $TERM in
-    xterm*)
-      if [ -e /etc/sysconfig/bash-prompt-xterm ]; then
-          PROMPT_COMMAND=/etc/sysconfig/bash-prompt-xterm
-      else
-          PROMPT_COMMAND='printf "\033]0;%s@%s:%s\007" "${USER}" "${HOSTNAME%%.*}" "${PWD/#$HOME/~}"'
-      fi
-      ;;
-    screen)
-      if [ -e /etc/sysconfig/bash-prompt-screen ]; then
-          PROMPT_COMMAND=/etc/sysconfig/bash-prompt-screen
-      else
-          PROMPT_COMMAND='printf "\033]0;%s@%s:%s\033\\" "${USER}" "${HOSTNAME%%.*}" "${PWD/#$HOME/~}"'
-      fi
-      ;;
-    *)
-      [ -e /etc/sysconfig/bash-prompt-default ] && PROMPT_COMMAND=/etc/sysconfig/bash-prompt-default
-      ;;
-    esac
+# Prevent doublesourcing
+if [ -z "$BASHRCSOURCED" ]; then
+  BASHRCSOURCED="Y"
+
+  # are we an interactive shell?
+  if [ "$PS1" ]; then
+    if [ -z "$PROMPT_COMMAND" ]; then
+      case $TERM in
+      xterm*)
+        if [ -e /etc/sysconfig/bash-prompt-xterm ]; then
+            PROMPT_COMMAND=/etc/sysconfig/bash-prompt-xterm
+        else
+            PROMPT_COMMAND='printf "\033]0;%s@%s:%s\007" "${USER}" "${HOSTNAME%%.*}" "${PWD/#$HOME/\~}"'
+        fi
+        ;;
+      screen*)
+        if [ -e /etc/sysconfig/bash-prompt-screen ]; then
+            PROMPT_COMMAND=/etc/sysconfig/bash-prompt-screen
+        else
+            PROMPT_COMMAND='printf "\033k%s@%s:%s\033\\" "${USER}" "${HOSTNAME%%.*}" "${PWD/#$HOME/\~}"'
+        fi
+        ;;
+      *)
+        [ -e /etc/sysconfig/bash-prompt-default ] && PROMPT_COMMAND=/etc/sysconfig/bash-prompt-default
+        ;;
+      esac
+    fi
+    # Turn on parallel history
+    shopt -s histappend
+    # Turn on checkwinsize
+    shopt -s checkwinsize
+    [ "$PS1" = "\\s-\\v\\\$ " ] && PS1="[\u@\h \W]\\$ "
+    # You might want to have e.g. tty in prompt (e.g. more virtual machines)
+    # and console windows
+    # If you want to do so, just add e.g.
+    # if [ "$PS1" ]; then
+    #   PS1="[\u@\h:\l \W]\\$ "
+    # fi
+    # to your custom modification shell script in /etc/profile.d/ directory
   fi
-  # Turn on parallel history
-  shopt -s histappend
-  history -a
-  # Turn on checkwinsize
-  shopt -s checkwinsize
-  [ "$PS1" = "\\s-\\v\\\$ " ] && PS1="[\u@\h \W]\\$ "
-  # You might want to have e.g. tty in prompt (e.g. more virtual machines)
-  # and console windows
-  # If you want to do so, just add e.g.
-  # if [ "$PS1" ]; then
-  #   PS1="[\u@\h:\l \W]\\$ "
-  # fi
-  # to your custom modification shell script in /etc/profile.d/ directory
-fi
 
-if ! shopt -q login_shell ; then # We're not a login shell
-    # Need to redefine pathmunge, it get's undefined at the end of /etc/profile
+  if ! shopt -q login_shell ; then # We're not a login shell
+    # Need to redefine pathmunge, it gets undefined at the end of /etc/profile
     pathmunge () {
         case ":${PATH}:" in
             *:"$1":*)
@@ -61,16 +64,10 @@ if ! shopt -q login_shell ; then # We're not a login shell
         esac
     }
 
-    # By default, we want umask to get set. This sets it for non-login shell.
-    # Current threshold for system reserved uid/gids is 200
-    # You could check uidgid reservation validity in
-    # /usr/share/doc/setup-*/uidgid file
-    if [ $UID -gt 199 ] && [ "`id -gn`" = "`id -un`" ]; then
-       umask 002
-    else
-       umask 022
-    fi
+    # Set default umask for non-login shell only if it is set to 0
+    [ `umask` -eq 0 ] && umask 022
 
+    SHELL=/bin/bash
     # Only display echos from profile.d scripts if we are no login shell
     # and interactive - otherwise just process them to set envvars
     for i in /etc/profile.d/*.sh; do
@@ -85,5 +82,7 @@ if ! shopt -q login_shell ; then # We're not a login shell
 
     unset i
     unset -f pathmunge
+  fi
+
 fi
 # vim:ts=4:sw=4
diff --git a/setup/ethertypes b/setup/ethertypes
new file mode 100644 (file)
index 0000000..813177b
--- /dev/null
@@ -0,0 +1,39 @@
+#
+# Ethernet frame types
+#              This file describes some of the various Ethernet
+#              protocol types that are used on Ethernet networks.
+#
+# This list could be found on:
+#         http://www.iana.org/assignments/ethernet-numbers
+#         http://www.iana.org/assignments/ieee-802-numbers
+#
+# <name>    <hexnumber> <alias1>...<alias35> #Comment
+#
+IPv4           0800    ip ip4          # Internet IP (IPv4)
+X25            0805
+ARP            0806    ether-arp       #
+FR_ARP         0808                    # Frame Relay ARP        [RFC1701]
+BPQ            08FF                    # G8BPQ AX.25 Ethernet Packet
+DEC            6000                    # DEC Assigned proto
+DNA_DL         6001                    # DEC DNA Dump/Load
+DNA_RC         6002                    # DEC DNA Remote Console
+DNA_RT         6003                    # DEC DNA Routing
+LAT            6004                    # DEC LAT
+DIAG           6005                    # DEC Diagnostics
+CUST           6006                    # DEC Customer use
+SCA            6007                    # DEC Systems Comms Arch
+TEB            6558                    # Trans Ether Bridging   [RFC1701]
+RAW_FR         6559                    # Raw Frame Relay        [RFC1701]
+RARP           8035                    # Reverse ARP            [RFC903]
+AARP           80F3                    # Appletalk AARP
+ATALK          809B                    # Appletalk
+802_1Q         8100    8021q 1q 802.1q dot1q # 802.1Q Virtual LAN tagged frame
+IPX            8137                    # Novell IPX
+NetBEUI                8191                    # NetBEUI
+IPv6           86DD    ip6             # IP version 6
+PPP            880B                    # PPP
+ATMMPOA                884C                    # MultiProtocol over ATM
+PPP_DISC       8863                    # PPPoE discovery messages
+PPP_SES                8864                    # PPPoE session messages
+ATMFATE                8884                    # Frame-based ATM Transport over Ethernet
+LOOP           9000    loopback        # loop proto
index e31fe90fb58e4a627f22abbd70d08310968222c8..45bdb1c34e3a9bc975507a2d9633ba332cc70574 100644 (file)
@@ -1,3 +1,4 @@
+ext4
 ext3
 ext2
 nodev proc
@@ -6,3 +7,4 @@ iso9660
 vfat
 hfs
 hfsplus
+*
index 4330b8dd4139ad3bd91caf33670167a32079e444..13a62767aee96f81b05099be012c0ffd5028775b 100644 (file)
@@ -1,23 +1,24 @@
-root::0:root
-bin::1:root,bin,daemon
-daemon::2:root,bin,daemon
-sys::3:root,bin,adm
-adm::4:root,adm,daemon
+root::0:
+bin::1:
+daemon::2:
+sys::3:
+adm::4:
 tty::5:
-disk::6:root
-lp::7:daemon,lp
+disk::6:
+lp::7:
 mem::8:
 kmem::9:
-wheel::10:root
-mail::12:mail
-uucp::14:uucp
+wheel::10:
+cdrom::11:
+mail::12:
 man::15:
+dialout::18:
+floppy::19:
 games::20:
-gopher::30:
+tape::33:
 video::39:
-dip::40:
 ftp::50:
 lock::54:
 audio::63:
-nobody::99:
 users::100:
+nobody::65534:
index d8b0737c14aeb09a459e5c05f5b396c54ce67047..b4d19ae46eb2cd12d38f3fa9728d45bcda996ad7 100644 (file)
@@ -1,15 +1,13 @@
-root:*:0:0:root:/root:/bin/bash
-bin:*:1:1:bin:/bin:/sbin/nologin
-daemon:*:2:2:daemon:/sbin:/sbin/nologin
-adm:*:3:4:adm:/var/adm:/sbin/nologin
-lp:*:4:7:lp:/var/spool/lpd:/sbin/nologin
+root:*:0:0:Super User:/root:/bin/bash
+bin:*:1:1:bin:/bin:/usr/sbin/nologin
+daemon:*:2:2:daemon:/sbin:/usr/sbin/nologin
+adm:*:3:4:adm:/var/adm:/usr/sbin/nologin
+lp:*:4:7:lp:/var/spool/lpd:/usr/sbin/nologin
 sync:*:5:0:sync:/sbin:/bin/sync
 shutdown:*:6:0:shutdown:/sbin:/sbin/shutdown
 halt:*:7:0:halt:/sbin:/sbin/halt
-mail:*:8:12:mail:/var/spool/mail:/sbin/nologin
-uucp:*:10:14:uucp:/var/spool/uucp:/sbin/nologin
-operator:*:11:0:operator:/root:/sbin/nologin
-games:*:12:100:games:/usr/games:/sbin/nologin
-gopher:*:13:30:gopher:/var/gopher:/sbin/nologin
-ftp:*:14:50:FTP User:/var/ftp:/sbin/nologin
-nobody:*:99:99:Nobody:/:/sbin/nologin
+mail:*:8:12:mail:/var/spool/mail:/usr/sbin/nologin
+operator:*:11:0:operator:/root:/usr/sbin/nologin
+games:*:12:100:games:/usr/games:/usr/sbin/nologin
+ftp:*:14:50:FTP User:/var/ftp:/usr/sbin/nologin
+nobody:*:65534:65534:Kernel Overflow User:/:/usr/sbin/nologin
index cc638788aff995adf665048780637e7db35e1ead..542add4d68cc8217e2b0cf6dffe3b96c596b0b8d 100644 (file)
@@ -25,10 +25,10 @@ pathmunge () {
 if [ -x /usr/bin/id ]; then
     if [ -z "$EUID" ]; then
         # ksh workaround
-        EUID=`id -u`
-        UID=`id -ru`
+        EUID=`/usr/bin/id -u`
+        UID=`/usr/bin/id -ru`
     fi
-    USER="`id -un`"
+    USER="`/usr/bin/id -un`"
     LOGNAME=$USER
     MAIL="/var/spool/mail/$USER"
 fi
@@ -42,7 +42,10 @@ else
     pathmunge /usr/sbin after
 fi
 
-HOSTNAME=`/usr/bin/hostname 2>/dev/null`
+HOSTNAME=$(/usr/bin/hostnamectl --transient 2>/dev/null) || \
+HOSTNAME=$(/usr/bin/hostname 2>/dev/null) || \
+HOSTNAME=$(/usr/bin/uname -n)
+
 HISTSIZE=1000
 if [ "$HISTCONTROL" = "ignorespace" ] ; then
     export HISTCONTROL=ignoreboth
@@ -52,25 +55,28 @@ fi
 
 export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL
 
-# By default, we want umask to get set. This sets it for login shell
-# Current threshold for system reserved uid/gids is 200
-# You could check uidgid reservation validity in
-# /usr/share/doc/setup-*/uidgid file
-if [ $UID -gt 199 ] && [ "`id -gn`" = "`id -un`" ]; then
-    umask 002
-else
-    umask 022
-fi
-
-for i in /etc/profile.d/*.sh ; do
+for i in /etc/profile.d/*.sh /etc/profile.d/sh.local ; do
     if [ -r "$i" ]; then
         if [ "${-#*i}" != "$-" ]; then 
             . "$i"
         else
-            . "$i" >/dev/null 2>&1
+            . "$i" >/dev/null
         fi
     fi
 done
 
 unset i
-unset pathmunge
+unset -f pathmunge
+
+# Source global bash config, when interactive but not posix or sh mode
+if test "$BASH" &&\
+   test -z "$POSIXLY_CORRECT" &&\
+   test "${0#-}" != sh &&\
+   test -r /etc/bashrc
+then
+   # Bash login shells run only /etc/profile
+   # Bash non-login shells run only /etc/bashrc
+   # Check for double sourcing is done in /etc/bashrc.
+   . /etc/bashrc
+fi
+
index 560997385c8ac347a1487335e28f55074a2d702c..f5b950fa48a563641e6c95e95e2c03b5b4e5dec9 100644 (file)
@@ -1,5 +1,5 @@
 # /etc/protocols:
-# $Id: protocols,v 1.11 2011/05/03 14:45:40 ovasik Exp $
+# $Id: protocols,v 1.12 2016/07/08 12:27 ovasik Exp $
 #
 # Internet (IP) protocols
 #
@@ -24,7 +24,7 @@ igp   9       IGP             # any private interior gateway (Cisco: for IGRP)
 bbn-rcc        10      BBN-RCC-MON             # BBN RCC Monitoring
 nvp    11      NVP-II          # Network Voice Protocol
 pup    12      PUP             # PARC universal packet protocol
-argus  13      ARGUS           # ARGUS
+argus  13      ARGUS           # ARGUS (deprecated)
 emcon  14      EMCON           # EMCON
 xnet   15      XNET            # Cross Net Debugger
 chaos  16      CHAOS           # Chaos
@@ -135,12 +135,12 @@ stp       118     STP             # Schedule Transfer
 srp    119     SRP             # SpectraLink Radio Protocol
 uti    120     UTI             # UTI
 smp    121     SMP             # Simple Message Protocol
-sm     122     SM              # SM
+sm     122     SM              # SM (deprecated)
 ptp    123     PTP             # Performance Transparency Protocol
 isis   124     ISIS            # ISIS over IPv4
 fire   125     FIRE
 crtp   126     CRTP            # Combat Radio Transport Protocol
-crdup  127     CRUDP           # Combat Radio User Datagram
+crudp  127     CRUDP           # Combat Radio User Datagram
 sscopmce       128     SSCOPMCE
 iplt   129     IPLT
 sps    130     SPS             # Secure Packet Shield
@@ -160,3 +160,6 @@ rohc        142     ROHC            # Robust Header Compression
 #   253     Use for experimentation and testing           [RFC3692]
 #   254     Use for experimentation and testing           [RFC3692]
 #   255                 Reserved                             [IANA]
+# The following entries have not been assigned by IANA but are used
+# internally by the Linux kernel.
+mptcp  262     MPTCP           # Multipath TCP connection
index 9d92aca6a929e43e4428ac55392e31228383388c..0e7050a4bfc692bb970b4ca86e56d7caa9e13c21 100644 (file)
@@ -1,8 +1,8 @@
 # /etc/services:
-# $Id: services,v 1.54 2012/09/19 ovasik Exp $
+# $Id: services,v 1.49 2017/08/18 12:43:23 ovasik Exp $
 #
 # Network services, Internet style
-# IANA services version: last updated 2012-08-21
+# IANA services version: last updated 2021-01-19
 #
 # Note that it is presently the policy of IANA to assign a single well-known
 # port number for both TCP and UDP; hence, most entries here have two entries
@@ -34,8 +34,6 @@ daytime         13/tcp
 daytime         13/udp
 qotd            17/tcp          quote
 qotd            17/udp          quote
-msp             18/tcp                          # message send protocol (historic)
-msp             18/udp                          # message send protocol (historic)
 chargen         19/tcp          ttytst source
 chargen         19/udp          ttytst source
 ftp-data        20/tcp
@@ -54,6 +52,8 @@ smtp            25/tcp          mail
 smtp            25/udp          mail
 time            37/tcp          timserver
 time            37/udp          timserver
+#rap             38/tcp                          # Route Access Protocol
+#rap             38/udp                          # Route Access Protocol
 rlp             39/tcp          resource        # resource location
 rlp             39/udp          resource        # resource location
 nameserver      42/tcp          name            # IEN 116
@@ -188,8 +188,8 @@ ldap            389/tcp
 ldap            389/udp
 osb-sd          400/tcp                         # Oracle Secure Backup
 osb-sd          400/udp                         # Oracle Secure Backup
-svrloc          427/tcp                         # Server Location Protocl
-svrloc          427/udp                         # Server Location Protocl
+svrloc          427/tcp                         # Server Location
+svrloc          427/udp                         # Server Location
 mobileip-agent  434/tcp
 mobileip-agent  434/udp
 mobilip-mn      435/tcp
@@ -290,6 +290,8 @@ courier         530/tcp         rpc
 conference      531/tcp         chat
 netnews         532/tcp
 netwall         533/udp                         # -for emergency broadcasts
+#nmsp            537/tcp                         # Networked Media Streaming Protocol
+#nmsp            537/udp                         # Networked Media Streaming Protocol
 uucp            540/tcp         uucpd           # uucp daemon
 klogin          543/tcp                         # Kerberized `rlogin' (v5)
 kshell          544/tcp         krcmd           # Kerberized `rsh' (v5)
@@ -297,6 +299,12 @@ afpovertcp      548/tcp                         # AFP over TCP
 afpovertcp      548/udp                         # AFP over TCP
 remotefs        556/tcp         rfs_server rfs  # Brunhoff remote filesystem
 
+## FileMaker Inc
+# http-alt        591/tcp                         # FileMaker, Inc. - HTTP Alternate (see Port 80)
+# http-alt        591/udp                         # FileMaker, Inc. - HTTP Alternate (see Port 80)
+#epp             700/tcp                         # Extensible Provisioning Protocol
+#epp             700/udp                         # Extensible Provisioning Protocol
+
 #
 # From ``PORT NUMBERS'':
 #
@@ -324,16 +332,22 @@ socks           1080/udp                        # socks proxy server
 bvcontrol       1236/tcp        rmtcfg          # Daniel J. Walsh, Gracilis Packeten remote config server
 bvcontrol       1236/udp                        # Daniel J. Walsh
 
-h323hostcallsc  1300/tcp                        # H323 Host Call Secure
-h323hostcallsc  1300/udp                        # H323 Host Call Secure
+h323hostcallsc  1300/tcp                        # H.323 Secure Call Control
+h323hostcallsc  1300/udp                        # H.323 Secure Call Control
 ms-sql-s        1433/tcp                        # Microsoft-SQL-Server
 ms-sql-s        1433/udp                        # Microsoft-SQL-Server
 ms-sql-m        1434/tcp                        # Microsoft-SQL-Monitor
 ms-sql-m        1434/udp                        # Microsoft-SQL-Monitor
+#csdmbase        1467/tcp                        # CSDMBASE
+#csdmbase        1467/udp                        # CSDMBASE
+#csdm            1468/tcp                        # CSDM
+#csdm            1468/udp                        # CSDM
 ica             1494/tcp                        # Citrix ICA Client
 ica             1494/udp                        # Citrix ICA Client
 wins            1512/tcp                        # Microsoft's Windows Internet Name Service
 wins            1512/udp                        # Microsoft's Windows Internet Name Service
+#ricardo-lm      1522/tcp                        # Ricardo North America License Manager
+#ricardo-lm      1522/udp                        # Ricardo North America License Manager
 ingreslock      1524/tcp
 ingreslock      1524/udp
 prospero-np     1525/tcp        orasrv          # Prospero non-privileged/oracle
@@ -352,9 +366,11 @@ h323gatestat    1719/tcp
 h323gatestat    1719/udp
 h323hostcall    1720/tcp
 h323hostcall    1720/udp
+h323hostcall    1720/sctp                       # H.323 Call Control
 tftp-mcast      1758/tcp
 tftp-mcast      1758/udp
 mtftp           1759/udp        spss-lm
+vdab            1775/tcp                        # data interchange between visual processing containers
 hello           1789/tcp
 hello           1789/udp
 radius          1812/tcp                        # Radius
@@ -371,6 +387,7 @@ gdp-port        1997/tcp                        # Cisco Gateway Discovery Protoc
 gdp-port        1997/udp                        # Cisco Gateway Discovery Protocol
 sieve-filter    2000/tcp        cisco-sccp      # Sieve Mail Filter Daemon
 sieve-filter    2000/udp        cisco-sccp      # Sieve Mail Filter Daemon
+#raid-cd         2006/udp                        # raid
 nfs             2049/tcp        nfsd shilp      # Network File System
 nfs             2049/udp        nfsd shilp      # Network File System
 nfs             2049/sctp       nfsd shilp      # Network File System
@@ -380,6 +397,9 @@ zephyr-clt      2103/tcp                        # Zephyr serv-hm connection
 zephyr-clt      2103/udp                        # Zephyr serv-hm connection
 zephyr-hm       2104/tcp                        # Zephyr hostmanager
 zephyr-hm       2104/udp                        # Zephyr hostmanager
+#nvd             2184/tcp                        # NVD User
+#nvd             2184/udp                        # NVD User
+dali            2378/udp                        # DALI lighting control
 cvspserver      2401/tcp                        # CVS client/server operations
 cvspserver      2401/udp                        # CVS client/server operations
 venus           2430/tcp                        # codacon port
@@ -390,6 +410,9 @@ codasrv         2432/tcp                        # not used
 codasrv         2432/udp                        # server port
 codasrv-se      2433/tcp                        # tcp side effects
 codasrv-se      2433/udp                        # udp sftp side effectQ
+#unicontrol      2437/tcp                        # UniControl
+#unicontrol      2437/udp                        # UniControl
+
 
 # Ports numbered 2600 through 2606 are used by the zebra package without
 # being registred.  The primary names are the registered names, and the
@@ -411,25 +434,50 @@ netmon          2606/udp                        # Dell Netmon
 dict            2628/tcp                        # RFC 2229
 dict            2628/udp                        # RFC 2229
 corbaloc        2809/tcp                        # CORBA naming service locator
+#nmsigport       2817/tcp                        # NMSig Port
+#nmsigport       2817/udp                        # NMSig Port
 icpv2           3130/tcp                        # Internet Cache Protocol V2 (Squid)
 icpv2           3130/udp                        # Internet Cache Protocol V2 (Squid)
+#ceph            3300/tcp                        # Ceph monitor
 mysql           3306/tcp                        # MySQL
 mysql           3306/udp                        # MySQL
 trnsprntproxy   3346/tcp                        # Trnsprnt Proxy
 trnsprntproxy   3346/udp                        # Trnsprnt Proxy
 pxe             4011/udp        altserviceboot  # PXE server
+minirem         4120/tcp                        # MiniRem Remote Telemetry and Control
+aws-wsp         4195/tcp                        # AWS protocol for cloud remoting solution
+aws-wsp         4195/udp                        # AWS protocol for cloud remoting solution
+aws-wsp         4195/sctp                       # AWS protocol for cloud remoting solution
+aws-wsp         4195/dccp                       # AWS protocol for cloud remoting solution
 fud             4201/udp                        # Cyrus IMAP FUD Daemon
+opentelemetry   4317/tcp                        # OpenTelemetry Protocol
 rwhois          4321/tcp                        # Remote Who Is
 rwhois          4321/udp                        # Remote Who Is
+getty-focus     4332/tcp                        # Getty Images FOCUS service
 krb524          4444/tcp        nv-video        # Kerberos 5 to 4 ticket xlator
 krb524          4444/udp        nv-video        # Kerberos 5 to 4 ticket xlator
+ntske           4460/tcp                        # Network Time Security Key Establishment
+sixid           4606/tcp                        # Secure ID to IP registration and lookup
+dots-signal     4646/tcp                        # DOTS Signal Channel Protocol.
+dots-signal     4646/udp                        # DOTS Signal Channel Protocol.
+xcap-portal     4888/tcp                        # xcap code analysis portal public user access
+xcap-control    4889/tcp                        # xcap code analysis portal cluster control and administration
+burp            4971/tcp                        # BackUp and Restore Program
 rfe             5002/tcp                        # Radio Free Ethernet
 rfe             5002/udp                        # Actually uses UDP only
 cfengine        5308/tcp                        # CFengine
 cfengine        5308/udp                        # CFengine
+
+coap            5683/tcp                        # Constrained Application Protocol (CoAP)
+coaps           5684/tcp                        # Constrained Application Protocol (CoAP)
 cvsup           5999/tcp        CVSup           # CVSup file transfer/John Polstra/FreeBSD
 cvsup           5999/udp        CVSup           # CVSup file transfer/John Polstra/FreeBSD
 x11             6000/tcp        X               # the X Window System
+heliosd         6440/tcp                        # heliosd daemon
+checkmk-agent   6556/tcp                        # Checkmk Monitoring Agent
+babel-dtls      6699/udp                        # Babel Routing Protocol over DTLS
+split-ping      6924/tcp                        # Ping with RX/TX latency/loss split
+split-ping      6924/udp                        # Ping with RX/TX latency/loss split
 afs3-fileserver 7000/tcp                        # file server itself
 afs3-fileserver 7000/udp                        # file server itself
 afs3-callback   7001/tcp                        # callbacks to cache managers
@@ -450,14 +498,59 @@ afs3-update     7008/tcp                        # server-to-server updater
 afs3-update     7008/udp                        # server-to-server updater
 afs3-rmtsys     7009/tcp                        # remote cache manager service
 afs3-rmtsys     7009/udp                        # remote cache manager service
+loreji-panel    7026/tcp                        # Loreji Webhosting Panel
+iba-cfg         7072/tcp                        # iba Device Configuration Protocol
+iba-cfg-disc    7072/udp                        # iba Device Configuration Protocol
+asa-gateways    7234/tcp                        # Traffic forwarding for Okta cloud infra
+ipluminary      7420/udp                        # Multichannel real-time lighting control
+rome            7663/tcp                        # Proprietary immutable distributed data storage
+rome            7663/udp                        # Proprietary immutable distributed data storage
+p2pevolvenet    8004/tcp                        # Opensource Evolv Enterprise Platform P2P Network Node Connection Prot
+warppipe        8007/tcp                        # I/O oriented cluster computing software
+warppipe        8007/udp                        # I/O oriented cluster computing software
+nvme-disc       8009/tcp                        # NVMe over Fabrics Discovery Service
+cfg-cloud       8015/tcp                        # Configuration Cloud Service
+ads-s           8016/tcp                        # Beckhoff Automation Device Specification
+arca-api        8023/tcp                        # ARCATrust vault API
+arca-api        8023/udp                        # ARCATrust vault API
+papachi-p2p-srv 8027/tcp                        # peer tracker and data relay service
+papachi-p2p-srv 8027/udp                        # peer tracker and data relay service
+enguity-xccetp  8041/tcp                        # Xcorpeon ASIC Carrier Ethernet Transport
+enguity-xccetp  8041/udp                        # Xcorpeon ASIC Carrier Ethernet Transport
+websnp          8084/tcp                        # Snarl Network Protocol over HTTP
+skynetflow      8111/udp                        # Skynetflow network services
+aruba-papi      8211/udp                        # Aruba Networks AP management
+espeasy-p2p     8266/udp                        # ESPeasy peer-2-peer communication
+semi-grpc       8710/tcp                        # gRPC for SEMI Standards implementations
+core-of-source  8767/tcp                        # Online mobile multiplayer game
+sandpolis       8768/tcp                        # Sandpolis Server
+oktaauthenticat 8769/tcp                        # Okta MultiPlatform Access Mgmt for Cloud Svcs
+pfcp            8805/udp                        # Destination Port number for PFCP
+hes-clip        8807/udp                        # HES-CLIP Interoperability protocol
+3gpp-monp       8809/udp                        # MCPTT Off-Network Protocol (MONP)
+dpp             8908/tcp                        # WFA Device Provisioning Protocol
+
+d-star          9011/udp                        # D-Star Routing digital voice+data for amateur radio
+cisco-aqos      9081/udp                        # Required for Adaptive Quality of Service
+hexxorecore     9111/tcp                        # Multiple Purpose, Distributed Message Bus
+hexxorecore     9111/udp                        # Multiple Purpose, Distributed Message Bus
+sapms           9310/tcp                        # SAP Message Server
+gnmi-gnoi       9339/tcp                        # gRPC Network Mgmt/Operations Interface
+p4runtime       9559/tcp                        # P4Runtime gRPC Service
+x510            9877/tcp                        # The X.510 wrapper protocol
+visweather      9979/tcp                        # Valley Information Systems Weather station data
 amanda          10080/tcp                       # amanda backup services
 amanda          10080/udp                       # amanda backup services
+cimple          10125/tcp                       # HotLink CIMple REST API
+cirrossp        10443/tcp                       # CirrosSP Workstation Communication
+xcompute        11235/tcp                       # numerical systems messaging
+xcompute        11235/sctp                      # numerical systems messaging
 pgpkeyserver    11371/tcp       hkp             # PGP/GPG public keyserver
 pgpkeyserver    11371/udp       hkp             # PGP/GPG public keyserver
 asgcypresstcps  11489/tcp                       # ASG Cypress Secure Only
-h323callsigalt  11720/tcp                       # H323 Call Signal Alternate
-h323callsigalt  11720/udp                       # H323 Call Signal Alternate
-
+h323callsigalt  11720/tcp 323callsigalt         # H323 Call Signal Alternate
+h323callsigalt  11720/udp 323callsigalt         # H323 Call Signal Alternate
+tibsd           11971/tcp                       # TiBS Service
 bprd            13720/tcp                       # BPRD (VERITAS NetBackup)
 bprd            13720/udp                       # BPRD (VERITAS NetBackup)
 bpdbm           13721/tcp                       # BPDBM (VERITAS NetBackup)
@@ -471,18 +564,53 @@ bpcd            13782/udp                       # VERITAS NetBackup
 vopied          13783/tcp                       # VOPIED Protocol
 vopied          13783/udp                       # VOPIED Protocol
 
+heythings       18516/udp                       # HeyThings Device communicate service
+faircom-db      19790/tcp                       # FairCom Database
+trinket-agent   21212/tcp                       # Distributed artificial intelligence
+cohesity-agent  21213/tcp                       # Cohesity backup agents
+
+
+
 # This port is registered as wnn6, but also used under the unregistered name
 # "wnn4" by the FreeWnn package.
 wnn6            22273/tcp       wnn4
 wnn6            22273/udp       wnn4
 
+showcockpit-net  22333/tcp                      # ShowCockpit Networking
+showcockpit-net  22333/udp                      # ShowCockpit Networking
+vrmg-ip          24323/tcp                      # Verimag mobile class protocol over TCP
+
+
 quake           26000/tcp
 quake           26000/udp
 wnn6-ds         26208/tcp
 wnn6-ds         26208/udp
+flex-lmadmin    27010/tcp                       # A protocol for managing license services
+mongodb         27017/tcp                       # Mongo database system
+gruber-cashreg  28010/tcp                       # Gruber cash registry protocol
+saltd-licensing  29000/tcp                      # Siemens Licensing Server
+gs-realtime     30400/tcp                       # GroundStar RealTime System
+wg-endpt-comms  33000/tcp                       # WatchGuard Endpoint Communications
+
 traceroute      33434/tcp
 traceroute      33434/udp
 
+mtrace          33435/udp                       # IP Multicast Traceroute
+
+digilent-adept  33890/tcp                       # Adept IP protocol
+3gpp-w1ap       37472/sctp                      # W1 signalling transport
+ng-control      38412/sctp                      # NG Control Plane (3GPP)
+xn-control      38422/sctp                      # Xn Control Plane (3GPP)
+e1-interface    38462/sctp                      # E1 signalling transport (3GPP)
+f1-control      38472/sctp                      # F1 Control Plane (3GPP)
+hmip-routing    43438/udp                       # HmIP LAN Routing
+acronis-backup  44445/tcp                       # Acronis Backup Gateway service port
+juka            48048/tcp                       # Juliar Programming Language Protocol
+inspider        49150/tcp                       # InSpider System
+
+
+
+
 #
 # Datagram Delivery Protocol services
 #
@@ -552,6 +680,7 @@ canna           5680/tcp        auriga-router
 x11-ssh-offset  6010/tcp                        # SSH X11 forwarding offset
 xfs             7100/tcp        font-service    # X font server
 tircproxy       7666/tcp                        # Tircproxy
+# IANA claims 8008 for http-alt
 webcache        8080/tcp        http-alt        # WWW caching service
 webcache        8080/udp        http-alt        # WWW caching service
 tproxy          8081/tcp        sunproxyadmin   # Transparent Proxy
@@ -569,6 +698,7 @@ wnn4_Cn         22289/tcp                       # used by the cWnn package
 wnn4_Tw         22321/tcp                       # used by the tWnn package
 binkp           24554/tcp                       # Binkley
 binkp           24554/udp                       # Binkley
+sdtvwcam        24666/tcp                       # Service used by SmarDTV to communicate between a CAM and second screen application
 canditv         24676/tcp                       # Canditv Message Service
 canditv         24676/udp                       # Canditv Message Service
 asp             27374/tcp                       # Address Search Protocol
@@ -579,7 +709,7 @@ fido            60179/tcp                       # Ifmail
 fido            60179/udp                       # Ifmail
 
 
-# Updated additional list from IANA with all missing services 04/07/2008
+# Updated additional list from IANA with all missing services 10/04/2015
 #spr-itunes      0/tcp   spl-itunes      # Shirt Pocket netTunes - no port allocated
 compressnet     2/tcp                   # Management Utility
 compressnet     2/udp                   # Management Utility
@@ -598,8 +728,6 @@ msg-auth        31/tcp                  # MSG Authentication
 msg-auth        31/udp                  # MSG Authentication
 dsp             33/tcp                  # Display Support Protocol
 dsp             33/udp                  # Display Support Protocol
-rap             38/tcp                  # Route Access Protocol
-rap             38/udp                  # Route Access Protocol
 graphics        41/tcp                  # Graphics
 graphics        41/udp                  # Graphics
 mpm-flags       44/tcp                  # MPM FLAGS Protocol
@@ -640,8 +768,6 @@ vettcp          78/tcp                  # vettcp
 vettcp          78/udp                  # vettcp
 xfer            82/tcp                  # XFER Utility
 xfer            82/udp                  # XFER Utility
-mit-ml-dev      83/tcp                  # MIT ML Device
-mit-ml-dev      83/udp                  # MIT ML Device
 ctf             84/tcp                  # Common Trace Facility
 ctf             84/udp                  # Common Trace Facility
 mfcobol         86/tcp                  # Micro Focus Cobol
@@ -652,8 +778,8 @@ dnsix           90/tcp                  # DNSIX Securit Attribute Token Map
 dnsix           90/udp                  # DNSIX Securit Attribute Token Map
 mit-dov         91/tcp                  # MIT Dover Spooler
 mit-dov         91/udp                  # MIT Dover Spooler
-npp             92/tcp                  # Network Printing Protocol
-npp             92/udp                  # Network Printing Protocol
+#npp             92/tcp                  # Network Printing Protocol
+#npp             92/udp                  # Network Printing Protocol
 dcp             93/tcp                  # Device Control Protocol
 dcp             93/udp                  # Device Control Protocol
 objcall         94/tcp                  # Tivoli Object Dispatcher
@@ -718,8 +844,6 @@ emfis-cntl      141/tcp                 # EMFIS Control Service
 emfis-cntl      141/udp                 # EMFIS Control Service
 bl-idm          142/tcp                 # Britton-Lee IDM
 bl-idm          142/udp                 # Britton-Lee IDM
-uma             144/tcp                 # Universal Management Architecture
-uma             144/udp                 # Universal Management Architecture
 uaac            145/tcp                 # UAAC Protocol
 uaac            145/udp                 # UAAC Protocol
 iso-tp0         146/tcp                 # ISO-IP0
@@ -804,8 +928,6 @@ dn6-nlm-aud     195/tcp                 # DNSIX Network Level Module Audit
 dn6-nlm-aud     195/udp                 # DNSIX Network Level Module Audit
 dn6-smm-red     196/tcp                 # DNSIX Session Mgt Module Audit Redir
 dn6-smm-red     196/udp                 # DNSIX Session Mgt Module Audit Redir
-dls             197/tcp                 # Directory Location Service
-dls             197/udp                 # Directory Location Service
 dls-mon         198/tcp                 # Directory Location Service Monitor
 dls-mon         198/udp                 # Directory Location Service Monitor
 src             200/tcp                 # IBM System Resource Controller
@@ -888,8 +1010,6 @@ rescap          283/tcp                 # rescap
 rescap          283/udp                 # rescap
 corerjd         284/tcp                 # corerjd
 corerjd         284/udp                 # corerjd
-fxp             286/tcp                 # FXP Communication
-fxp             286/udp                 # FXP Communication
 k-block         287/tcp                 # K-BLOCK
 k-block         287/udp                 # K-BLOCK
 novastorbakcup  308/tcp                 # Novastor Backup
@@ -918,8 +1038,6 @@ ptp-event       319/tcp                 # PTP Event
 ptp-event       319/udp                 # PTP Event
 ptp-general     320/tcp                 # PTP General
 ptp-general     320/udp                 # PTP General
-pip             321/tcp                 # PIP
-pip             321/udp                 # PIP
 rtsps           322/tcp                 # RTSPS
 rtsps           322/udp                 # RTSPS
 rpki-rtr        323/tcp                 # Resource PKI to Router
@@ -934,8 +1052,6 @@ zserv           346/tcp                 # Zebra server
 zserv           346/udp                 # Zebra server
 csi-sgwp        348/tcp                 # Cabletron Management Protocol
 csi-sgwp        348/udp                 # Cabletron Management Protocol
-mftp            349/tcp                 # mftp
-mftp            349/udp                 # mftp
 matip-type-a    350/tcp                 # MATIP Type A
 matip-type-a    350/udp                 # MATIP Type A
 matip-type-b    351/tcp bhoetty         # MATIP Type B / bhoetty (added 5/21/97)
@@ -1076,10 +1192,10 @@ icad-el         425/tcp                 # ICAD
 icad-el         425/udp                 # ICAD
 smartsdp        426/tcp                 # smartsdp
 smartsdp        426/udp                 # smartsdp
-ocs_cmu         428/tcp                 # OCS_CMU
-ocs_cmu         428/udp                 # OCS_CMU
-ocs_amu         429/tcp                 # OCS_AMU
-ocs_amu         429/udp                 # OCS_AMU
+ocs_cmu         428/tcp ocs-cmu         # OCS_CMU
+ocs_cmu         428/udp ocs-cmu         # OCS_CMU
+ocs_amu         429/tcp ocs-amu         # OCS_AMU
+ocs_amu         429/udp ocs-amu         # OCS_AMU
 utmpsd          430/tcp                 # UTMPSD
 utmpsd          430/udp                 # UTMPSD
 utmpcd          431/tcp                 # UTMPCD
@@ -1100,8 +1216,8 @@ sgcp            440/tcp                 # sgcp
 sgcp            440/udp                 # sgcp
 decvms-sysmgt   441/tcp                 # decvms-sysmgt
 decvms-sysmgt   441/udp                 # decvms-sysmgt
-cvc_hostd       442/tcp                 # cvc_hostd
-cvc_hostd       442/udp                 # cvc_hostd
+cvc_hostd       442/tcp cvc-hostd       # cvc_hostd
+cvc_hostd       442/udp cvc-hostd       # cvc_hostd
 ddm-rdb         446/tcp                 # DDM-Remote Relational Database Access
 ddm-rdb         446/udp                 # DDM-Remote Relational Database Access
 ddm-dfm         447/tcp                 # DDM-Distributed File Management
@@ -1116,12 +1232,6 @@ sfs-smp-net     451/tcp                 # Cray Network Semaphore server
 sfs-smp-net     451/udp                 # Cray Network Semaphore server
 sfs-config      452/tcp                 # Cray SFS config server
 sfs-config      452/udp                 # Cray SFS config server
-creativeserver  453/tcp                 # CreativeServer
-creativeserver  453/udp                 # CreativeServer
-contentserver   454/tcp                 # ContentServer
-contentserver   454/udp                 # ContentServer
-creativepartnr  455/tcp                 # CreativePartnr
-creativepartnr  455/udp                 # CreativePartnr
 macon-tcp       456/tcp                 # macon-tcp
 macon-udp       456/udp                 # macon-udp
 scohelp         457/tcp                 # scohelp
@@ -1202,8 +1312,8 @@ iso-ill         499/tcp                 # ISO ILL Protocol
 iso-ill         499/udp                 # ISO ILL Protocol
 stmf            501/tcp                 # STMF
 stmf            501/udp                 # STMF
-asa-appl-proto  502/tcp                 # asa-appl-proto
-asa-appl-proto  502/udp                 # asa-appl-proto
+mbap            502/tcp                 # Modbus Application Protocol
+mbap            502/udp                 # Modbus Application Protocol
 intrinsa        503/tcp                 # Intrinsa
 intrinsa        503/udp                 # Intrinsa
 citadel         504/tcp                 # citadel
@@ -1247,8 +1357,6 @@ windream        534/tcp                 # windream Admin
 windream        534/udp                 # windream Admin
 opalis-rdv      536/tcp                 # opalis-rdv
 opalis-rdv      536/udp                 # opalis-rdv
-nmsp            537/tcp                 # Networked Media Streaming Protocol
-nmsp            537/udp                 # Networked Media Streaming Protocol
 apertus-ldp     539/tcp                 # Apertus Technologies Load Determination
 apertus-ldp     539/udp                 # Apertus Technologies Load Determination
 uucp            540/udp                 # uucpd
@@ -1295,8 +1403,8 @@ ms-shuttle      568/tcp                 # microsoft shuttle
 ms-shuttle      568/udp                 # microsoft shuttle
 ms-rome         569/tcp                 # microsoft rome
 ms-rome         569/udp                 # microsoft rome
-meter           570/tcp                 # demon
-meter           570/udp                 # demon
+#meter           570/tcp                         # demon
+#meter           570/udp                         # demon
 #meter          571/tcp                 # udemon
 #meter          571/udp                 # udemon
 sonar           572/tcp                 # sonar
@@ -1515,8 +1623,8 @@ realm-rusd      688/tcp                 # ApplianceWare managment protocol
 realm-rusd      688/udp                 # ApplianceWare managment protocol
 nmap            689/tcp                 # NMAP
 nmap            689/udp                 # NMAP
-vatp            690/tcp                 # Velazquez Application Transfer Protocol
-vatp            690/udp                 # Velazquez Application Transfer Protocol
+vatp            690/tcp                 # Velneo Application Transfer Protocol
+vatp            690/udp                 # Velneo Application Transfer Protocol
 msexch-routing  691/tcp                 # MS Exchange Routing
 msexch-routing  691/udp                 # MS Exchange Routing
 hyperwave-isp   692/tcp                 # Hyperwave-ISP
@@ -1533,8 +1641,8 @@ olsr            698/tcp                 # OLSR
 olsr            698/udp                 # OLSR
 accessnetwork   699/tcp                 # Access Network
 accessnetwork   699/udp                 # Access Network
-epp             700/tcp                 # Extensible Provisioning Protocol
-epp             700/udp                 # Extensible Provisioning Protocol
+#epp            700/tcp                 # Extensible Provisioning Protocol
+#epp            700/udp                 # Extensible Provisioning Protocol
 lmp             701/tcp                 # Link Management Protocol (LMP)
 lmp             701/udp                 # Link Management Protocol (LMP)
 iris-beep       702/tcp                 # IRIS over BEEP
@@ -1619,6 +1727,8 @@ mdbs_daemon     800/tcp    mdbs-daemon  #
 mdbs_daemon     800/udp    mdbs-daemon  #
 device          801/tcp                 #
 device          801/udp                 #
+mbap-s          802/tcp                 # Modbus Application Protocol Secure
+mbap-s          802/udp                 # Modbus Application Protocol Secure
 fcp-udp         810/tcp                 # FCP
 fcp-udp         810/udp                 # FCP Datagram
 itm-mcell-s     828/tcp                 # itm-mcell-s
@@ -1637,6 +1747,8 @@ dhcp-failover2  847/tcp                 # dhcp-failover 2
 dhcp-failover2  847/udp                 # dhcp-failover 2
 gdoi            848/tcp                 # GDOI
 gdoi            848/udp                 # GDOI
+domain-s        853/tcp                 # DNS query-response protocol
+domain-s        853/udp                 # DNS query-response protocol
 iscsi           860/tcp                 # iSCSI
 iscsi           860/udp                 # iSCSI
 owamp-control   861/tcp                 # OWAMP-Control
@@ -1700,12 +1812,6 @@ cap             1026/udp                # Calendar Access Protocol
 6a44            1027/udp                # IPv6 Behind NAT44 CPEs
 solid-mux       1029/tcp                # Solid Mux Server
 solid-mux       1029/udp                # Solid Mux Server
-iad1            1030/tcp                # BBN IAD
-iad1            1030/udp                # BBN IAD
-iad2            1031/tcp                # BBN IAD
-iad2            1031/udp                # BBN IAD
-iad3            1032/tcp                # BBN IAD
-iad3            1032/udp                # BBN IAD
 netinfo-local   1033/tcp                # local netinfo port
 netinfo-local   1033/udp                # local netinfo port
 activesync      1034/tcp                # ActiveSync Notifications
@@ -1864,6 +1970,7 @@ icp             1112/tcp                # Intelligent Communication Protocol
 icp             1112/udp                # Intelligent Communication Protocol
 ltp-deepspace   1113/tcp                # Licklider Transmission Protocol
 ltp-deepspace   1113/udp                # Licklider Transmission Protocol
+ltp-deepspace   1113/dccp               # Licklider Transmission Protocol
 mini-sql        1114/tcp                # Mini SQL
 mini-sql        1114/udp                # Mini SQL
 ardus-trns      1115/tcp                # ARDUS Transfer
@@ -1933,8 +2040,8 @@ capioverlan     1147/tcp                # CAPIoverLAN
 capioverlan     1147/udp                # CAPIoverLAN
 elfiq-repl      1148/tcp                # Elfiq Replication Service
 elfiq-repl      1148/udp                # Elfiq Replication Service
-bvtsonar        1149/tcp                # BVT Sonar Service
-bvtsonar        1149/udp                # BVT Sonar Service
+bvtsonar        1149/tcp                # BlueView Sonar Service
+bvtsonar        1149/udp                # BlueView Sonar Service
 blaze           1150/tcp                # Blaze File Server
 blaze           1150/udp                # Blaze File Server
 unizensus       1151/tcp                # Unizensus Login Server
@@ -2099,6 +2206,8 @@ periscope       1230/tcp                # Periscope
 periscope       1230/udp                # Periscope
 menandmice-lpm  1231/tcp                # menandmice-lpm
 menandmice-lpm  1231/udp                # menandmice-lpm
+first-defense   1232/tcp                # Remote systems monitoring
+first-defense   1232/udp                # Remote systems monitoring
 univ-appserver  1233/tcp                # Universal App Server
 univ-appserver  1233/udp                # Universal App Server
 search-agent    1234/tcp                # Infoseek Search Agent
@@ -2183,8 +2292,6 @@ t1distproc      1274/tcp                # t1distproc
 t1distproc      1274/udp                # t1distproc
 ivcollector     1275/tcp                # ivcollector
 ivcollector     1275/udp                # ivcollector
-ivmanager       1276/tcp                # ivmanager
-ivmanager       1276/udp                # ivmanager
 miva-mqs        1277/tcp                # mqs
 miva-mqs        1277/udp                # mqs
 dellwebadmin-1  1278/tcp                # Dell Web Admin 1
@@ -2390,8 +2497,8 @@ telesis-licman  1380/tcp                # Telesis Network License Manager
 telesis-licman  1380/udp                # Telesis Network License Manager
 apple-licman    1381/tcp                # Apple Network License Manager
 apple-licman    1381/udp                # Apple Network License Manager
-udt_os          1382/tcp    udt-os      # udt_os
-udt_os          1382/udp    udt-os      # udt_os
+udt_os          1382/tcp                # udt_os
+udt_os          1382/udp                # udt_os
 gwha            1383/tcp                # GW Hannaway Network License Manager
 gwha            1383/udp                # GW Hannaway Network License Manager
 os-licman       1384/tcp                # Objective Solutions License Manager
@@ -2440,8 +2547,7 @@ ibm-res         1405/tcp                # IBM Remote Execution Starter
 ibm-res         1405/udp                # IBM Remote Execution Starter
 netlabs-lm      1406/tcp                # NetLabs License Manager
 netlabs-lm      1406/udp                # NetLabs License Manager
-dbsa-lm         1407/tcp                # DBSA License Manager
-dbsa-lm         1407/udp                # DBSA License Manager
+tibet-server    1407/tcp                # TIBET Data Server
 sophia-lm       1408/tcp                # Sophia License Manager
 sophia-lm       1408/udp                # Sophia License Manager
 here-lm         1409/tcp                # Here License Manager
@@ -2556,10 +2662,6 @@ pipes           1465/tcp                # Pipes Platform
 pipes           1465/udp                # Pipes Platform
 oceansoft-lm    1466/tcp                # Ocean Software License Manager
 oceansoft-lm    1466/udp                # Ocean Software License Manager
-csdmbase        1467/tcp                # CSDMBASE
-csdmbase        1467/udp                # CSDMBASE
-csdm            1468/tcp                # CSDM
-csdm            1468/udp                # CSDM
 aal-lm          1469/tcp                # Active Analysis Limited License Manager
 aal-lm          1469/udp                # Active Analysis Limited License Manager
 uaiact          1470/tcp                # Universal Analytics
@@ -2656,8 +2758,6 @@ atm-zip-office  1520/tcp                # atm zip office
 atm-zip-office  1520/udp                # atm zip office
 ncube-lm        1521/tcp                # nCube License Manager
 ncube-lm        1521/udp                # nCube License Manager
-ricardo-lm      1522/tcp                # Ricardo North America License Manager
-ricardo-lm      1522/udp                # Ricardo North America License Manager
 cichild-lm      1523/tcp                # cichild
 cichild-lm      1523/udp                # cichild
 pdap-np         1526/tcp                # Prospero Data Access Prot non-priv
@@ -3339,8 +3439,8 @@ ibm-mqseries2   1881/tcp                # IBM WebSphere MQ Everyplace
 ibm-mqseries2   1881/udp                # IBM WebSphere MQ Everyplace
 ecsqdmn         1882/tcp                # CA eTrust Common Services
 ecsqdmn         1882/udp                # CA eTrust Common Services
-ibm-mqisdp      1883/tcp                # IBM MQSeries SCADA
-ibm-mqisdp      1883/udp                # IBM MQSeries SCADA
+mqtt            1883/tcp                # Message Queuing Telemetry
+mqtt            1883/udp                # Message Queuing Telemetry
 idmaps          1884/tcp                # Internet Distance Map Svc
 idmaps          1884/udp                # Internet Distance Map Svc
 vrtstrapserver  1885/tcp                # Veritas Trap Server
@@ -3577,7 +3677,6 @@ emce            2004/udp                # CCWS mm conf
 berknet         2005/tcp     csync      # csync for cyrus-imapd
 oracle          2005/udp     csync      # csync for cyrus-imapd
 invokator       2006/tcp                #
-raid-cd         2006/udp                # raid
 dectalk         2007/tcp                #
 raid-am         2007/udp                #
 conf            2008/tcp                #
@@ -3723,7 +3822,7 @@ autodesk-nlm    2080/udp                # Autodesk NLM (FLEXlm)
 kme-trap-port   2081/tcp                # KME PRINTER TRAP PORT
 kme-trap-port   2081/udp                # KME PRINTER TRAP PORT
 infowave        2082/tcp                # Infowave Mobility Server
-infowave        2082/udp                # Infowave Mobiltiy Server
+infowave        2082/udp                # Infowave Mobility Server
 radsec          2083/tcp                # Secure Radius Service
 radsec          2083/udp                # Secure Radius Service
 sunclustergeo   2084/tcp                # SunCluster Geographic
@@ -3917,8 +4016,6 @@ cgn-stat        2182/tcp                # CGN status
 cgn-stat        2182/udp                # CGN status
 cgn-config      2183/tcp                # Code Green configuration
 cgn-config      2183/udp                # Code Green configuration
-nvd             2184/tcp                # NVD User
-nvd             2184/udp                # NVD User
 onbase-dds      2185/tcp                # OnBase Distributed Disk Services
 onbase-dds      2185/udp                # OnBase Distributed Disk Services
 gtaua           2186/tcp                # Guy-Tek Automated Update Applications
@@ -3983,8 +4080,8 @@ netiq-ncap      2219/tcp                # NetIQ NCAP Protocol
 netiq-ncap      2219/udp                # NetIQ NCAP Protocol
 netiq           2220/tcp                # NetIQ End2End
 netiq           2220/udp                # NetIQ End2End
-rockwell-csp1   2221/tcp                # Rockwell CSP1
-rockwell-csp1   2221/udp                # Rockwell CSP1
+ethernet-ip-s   2221/tcp                # EtherNet/IP over TLS
+ethernet-ip-s   2221/udp                # EtherNet/IP over DTLS
 EtherNet/IP-1   2222/tcp  EtherNet-IP-1 # EtherNet/IP I/O
 EtherNet/IP-1   2222/udp  EtherNet-IP-1 # EtherNet/IP I/O
 rockwell-csp2   2223/tcp                # Rockwell CSP2
@@ -4277,11 +4374,14 @@ opentable       2368/tcp                # OpenTable
 opentable       2368/udp                # OpenTable
 l3-hbmon        2370/tcp                # L3-HBMon
 l3-hbmon        2370/udp                # L3-HBMon
-worldwire       2371/tcp                # Compaq WorldWire Port
-worldwire       2371/udp                # Compaq WorldWire Port
+hp-rda          2371/tcp                # HP Remote Device Access
 lanmessenger    2372/tcp                # LanMessenger
 lanmessenger    2372/udp                # LanMessenger
 remographlm     2373/tcp                # Remograph License Manager
+docker          2375/tcp                # Docker REST API (plain text)
+docker-s        2376/tcp                # Docker REST API (ssl)
+etcd-client     2379/tcp                # etcd client communication
+etcd-server     2380/tcp                # etcd server to server communication
 hydra           2374/tcp                # Hydra RPC
 compaq-https    2381/tcp                # Compaq HTTPS
 compaq-https    2381/udp                # Compaq HTTPS
@@ -4370,6 +4470,8 @@ kofax-svr       2424/tcp                # KOFAX-SVR
 kofax-svr       2424/udp                # KOFAX-SVR
 fjitsuappmgr    2425/tcp                # Fujitsu App Manager
 fjitsuappmgr    2425/udp                # Fujitsu App Manager
+vcmp            2426/tcp                # VeloCloud MultiPath Protocol
+vcmp            2426/udp                # VeloCloud MultiPath Protocol
 mgcp-gateway    2427/tcp                # Media Gateway Control Protocol Gateway
 mgcp-gateway    2427/udp                # Media Gateway Control Protocol Gateway
 ott             2428/tcp                # One Way Trip Time
@@ -4382,8 +4484,6 @@ optilogic       2435/tcp                # OptiLogic
 optilogic       2435/udp                # OptiLogic
 topx            2436/tcp                # TOP/X
 topx            2436/udp                # TOP/X
-unicontrol      2437/tcp                # UniControl
-unicontrol      2437/udp                # UniControl
 sybasedbsynch   2439/tcp                # SybaseDBSynch
 sybasedbsynch   2439/udp                # SybaseDBSynch
 spearway        2440/tcp                # Spearway Lockers
@@ -4768,8 +4868,8 @@ sybaseanywhere  2638/tcp                # Sybase Anywhere
 sybaseanywhere  2638/udp                # Sybase Anywhere
 aminet          2639/tcp                # AMInet
 aminet          2639/udp                # AMInet
-sai_sentlm      2640/tcp  sai-sentlm    # Sabbagh Associates Licence Manager
-sai_sentlm      2640/udp  sai-sentlm    # Sabbagh Associates Licence Manager
+ami-control     2640/tcp                # Alcorn McBride Inc protocol
+ami-control     2640/udp                # Alcorn McBride Inc protocol
 hdl-srv         2641/tcp                # HDL Server
 hdl-srv         2641/udp                # HDL Server
 tragic          2642/tcp                # Tragic
@@ -5115,8 +5215,6 @@ lbc-measure     2815/tcp                # LBC Measurement
 lbc-measure     2815/udp                # LBC Measurement
 lbc-watchdog    2816/tcp                # LBC Watchdog
 lbc-watchdog    2816/udp                # LBC Watchdog
-nmsigport       2817/tcp                # NMSig Port
-nmsigport       2817/udp                # NMSig Port
 rmlnk           2818/tcp                # rmlnk
 rmlnk           2818/udp                # rmlnk
 fc-faultnotify  2819/tcp                # FC Fault Notification
@@ -5186,7 +5284,6 @@ ispipes         2853/udp                # ISPipes
 infomover       2854/tcp                # InfoMover
 infomover       2854/udp                # InfoMover
 msrp            2855/tcp                # MSRP over TCP
-msrp            2855/udp                # MSRP
 cesdinv         2856/tcp                # cesdinv
 cesdinv         2856/udp                # cesdinv
 simctlp         2857/tcp                # SimCtIP
@@ -5472,10 +5569,11 @@ realsecure      2998/tcp                # Real Secure
 realsecure      2998/udp                # Real Secure
 remoteware-un   2999/tcp                # RemoteWare Unassigned
 remoteware-un   2999/udp                # RemoteWare Unassigned
-hbci            3000/tcp                # HBCI
+hbci            3000/tcp   ceph         # HBCI or CEPH monitor
 hbci            3000/udp                # HBCI
 #remoteware-cl  3000/tcp                # RemoteWare Client
 #remoteware-cl  3000/udp                # RemoteWare Client
+origo-native    3001/tcp                # OrigoDB Server Native
 exlm-agent      3002/tcp                # EXLM Agent
 exlm-agent      3002/udp                # EXLM Agent
 #remoteware-srv 3002/tcp                # RemoteWare Server
@@ -5711,6 +5809,7 @@ d2000kernel     3119/tcp                # D2000 Kernel Port
 d2000kernel     3119/udp                # D2000 Kernel Port
 d2000webserver  3120/tcp                # D2000 Webserver Port
 d2000webserver  3120/udp                # D2000 Webserver Port
+pcmk-remote     3121/tcp                # pacemaker remote service
 vtr-emulator    3122/tcp                # MTI VTR Emulator port
 vtr-emulator    3122/udp                # MTI VTR Emulator port
 edix            3123/tcp                # EDI Translation Protocol
@@ -6380,8 +6479,8 @@ nppmp           3476/tcp                # NVIDIA Mgmt Protocol
 nppmp           3476/udp                # NVIDIA Mgmt Protocol
 ecomm           3477/tcp                # eComm link port
 ecomm           3477/udp                # eComm link port
-stun            3478/tcp      turn      # Session Traversal Utilities for NAT (STUN) port, TURN over TCP
-stun            3478/udp      turn      # Session Traversal Utilities for NAT (STUN) port, TURN over UDP
+stun            3478/tcp stun-behavior turn # Session Traversal Utilities for NAT (STUN) port, TURN over TCP
+stun            3478/udp stun-behavior turn # Session Traversal Utilities for NAT (STUN) port, TURN over UDP
 twrpc           3479/tcp                # 2Wire RPC
 twrpc           3479/udp                # 2Wire RPC
 plethora        3480/tcp                # Secure Virtual Workspace
@@ -6555,10 +6654,10 @@ esimport        3564/udp                # Electromed SIM port
 m2pa            3565/tcp                # M2PA
 m2pa            3565/sctp               # M2PA
 quest-data-hub  3566/tcp                # Quest Data Hub
-oap             3567/tcp                # Object Access Protocol
-oap             3567/udp                # Object Access Protocol
-oap-s           3568/tcp                # Object Access Protocol over SSL
-oap-s           3568/udp                # Object Access Protocol over SSL
+dof-eps         3567/tcp                # DOF protocol stack
+dof-eps         3567/udp                # DOF protocol stack
+dof-tunnel-sec  3568/tcp                # DOF secure tunnel
+dof-tunnel-sec  3568/udp                # DOF secure tunnel
 mbg-ctrl        3569/tcp                # Meinberg Control Service
 mbg-ctrl        3569/udp                # Meinberg Control Service
 mccwebsvr-port  3570/tcp                # MCC Web Server Port
@@ -6804,6 +6903,7 @@ magaya-network  3691/tcp                # Magaya Network Port
 magaya-network  3691/udp                # Magaya Network Port
 intelsync       3692/tcp                # Brimstone IntelSync
 intelsync       3692/udp                # Brimstone IntelSync
+easl            3693/tcp                # Emergency Automatic
 bmc-data-coll   3695/tcp                # BMC Data Collection
 bmc-data-coll   3695/udp                # BMC Data Collection
 telnetcpcd      3696/tcp                # Telnet Com Port Control
@@ -6945,6 +7045,7 @@ mni-prot-rout   3764/tcp                # MNI Protected Routing
 mni-prot-rout   3764/udp                # MNI Protected Routing
 rtraceroute     3765/tcp                # Remote Traceroute
 rtraceroute     3765/udp                # Remote Traceroute
+sitewatch-s     3766/tcp                # SSL e-watch sitewatch server
 listmgr-port    3767/tcp                # ListMGR Port
 listmgr-port    3767/udp                # ListMGR Port
 rblcheckd       3768/tcp                # rblcheckd server daemon
@@ -7093,8 +7194,7 @@ amx-rms         3839/tcp                # AMX Resource Management Suite
 amx-rms         3839/udp                # AMX Resource Management Suite
 flirtmitmir     3840/tcp                # www.FlirtMitMir.de
 flirtmitmir     3840/udp                # www.FlirtMitMir.de
-zfirm-shiprush3 3841/tcp                # Z-Firm ShipRush v3
-zfirm-shiprush3 3841/udp                # Z-Firm ShipRush v3
+shiprush-db-svr 3841/tcp                # ShipRush Database Server
 nhci            3842/tcp                # NHCI status port
 nhci            3842/udp                # NHCI status port
 quest-agent     3843/tcp                # Quest Common Agent
@@ -7363,8 +7463,8 @@ citysearch      3974/tcp                # Remote Applicant Tracking Service
 citysearch      3974/udp                # Remote Applicant Tracking Service
 airshot         3975/tcp                # Air Shot
 airshot         3975/udp                # Air Shot
-opswagent       3976/tcp                # Opsware Agent
-opswagent       3976/udp                # Opsware Agent
+opswagent       3976/tcp                # Server Automation Agent
+opswagent       3976/udp                # Server Automation Agent
 opswmanager     3977/tcp                # Opsware Manager
 opswmanager     3977/udp                # Opsware Manager
 secure-cfg-svr  3978/tcp                # Secured Configuration Server
@@ -7560,6 +7660,8 @@ seraph          4076/tcp                # Seraph DCS
 seraph          4076/udp                # Seraph DCS
 ascomalarm      4077/udp                # Ascom IP Alarming
 cssp            4078/tcp                # Coordinated Security Service Protocol
+santools        4079/tcp                # SANtools Diagnostic Server
+santools        4079/udp                # SANtools Diagnostic Server
 lorica-in       4080/tcp                # Lorica inside facing
 lorica-in       4080/udp                # Lorica inside facing
 lorica-in-sec   4081/tcp                # Lorica inside facing (SSL)
@@ -7752,8 +7854,8 @@ macbak          4181/tcp                # MacBak
 macbak          4181/udp                # MacBak
 pcptcpservice   4182/tcp                # Production Company Pro TCP Service
 pcptcpservice   4182/udp                # Production Company Pro TCP Service
-gmmp            4183/tcp                # General Metaverse Messaging Protocol
-gmmp            4183/udp                # General Metaverse Messaging Protocol
+cyborgnet       4183/tcp                # CyborgNet communications
+cyborgnet       4183/udp                # CyborgNet communications
 universe_suite  4184/tcp   universe-suite  # UNIVERSE SUITE MESSAGE SERVICE
 universe_suite  4184/udp   universe-suite  # UNIVERSE SUITE MESSAGE SERVICE
 wcpp            4185/tcp                # Woven Control Plane Protocol
@@ -7795,14 +7897,14 @@ mirrtex         4310/udp                # Mir-RT exchange service
 p6ssmc          4311/tcp                # P6R Secure Server Management Console
 pscl-mgt        4312/tcp                # Parascale Membership Manager
 perrla          4313/tcp                # PERRLA User Services
+choiceview-agt  4314/tcp                # ChoiceView Agent
+choiceview-clt  4316/tcp                # ChoiceView Client
 fdt-rcatp       4320/tcp                # FDT Remote Categorization Protocol
 fdt-rcatp       4320/udp                # FDT Remote Categorization Protocol
 trim-event      4322/tcp                # TRIM Event Service
 trim-event      4322/udp                # TRIM Event Service
 trim-ice        4323/tcp                # TRIM ICE Service
 trim-ice        4323/udp                # TRIM ICE Service
-balour          4324/tcp                # Balour Game Server
-balour          4324/udp                # Balour Game Server
 geognosisman    4325/tcp                # Cadcorp GeognoSIS Manager Service
 geognosisman    4325/udp                # Cadcorp GeognoSIS Manager Service
 geognosis       4326/tcp                # Cadcorp GeognoSIS Service
@@ -7812,12 +7914,20 @@ jaxer-web       4327/udp                # Jaxer Web Protocol
 jaxer-manager   4328/tcp                # Jaxer Manager Command Protocol
 jaxer-manager   4328/udp                # Jaxer Manager Command Protocol
 publiqare-sync  4329/tcp                # PubliQare Distributed Environment Synchronisation Engine
+dey-sapi        4330/tcp                # DEY Storage Administration
+ktickets-rest   4331/tcp                # ktickets REST API for event management and ticketing systems
+ahsp            4333/tcp                # ArrowHead Service Protocol
+ahsp            4333/udp                # ArrowHead Service Protocol
+ahsp            4333/sctp               # ArrowHead Service Protocol
+netconf-ch-ssh  4334/tcp                # NETCONF Call Home (SSH)
+netconf-ch-tls  4335/tcp                # NETCONF Call Home (TLS)
+restconf-ch-tls 4336/tcp                # RESTCONF Call Home (TLS)
 gaia            4340/tcp                # Gaia Connector Protocol
 gaia            4340/udp                # Gaia Connector Protocol
 lisp-data       4341/tcp                # LISP Data Packets
 lisp-data       4341/udp                # LISP Data Packets
 lisp-cons       4342/tcp                # LISP-CONS Control
-lisp-control    4342/udp                # LISP Data-Triggered Control
+lisp-control    4342/udp                # LISP Control Packets
 unicall         4343/tcp                # UNICALL
 unicall         4343/udp                # UNICALL
 vinainstall     4344/tcp                # VinaInstall
@@ -7855,6 +7965,7 @@ omabcastltkm    4359/udp                # OMA BCAST Long-Term Key Messages
 matrix_vnet     4360/tcp   matrix-vnet  # Matrix VNet Communication Protocol
 nacnl           4361/udp                # Navcom Discovery and Control Port
 afore-vdp-disc  4362/udp                # AFORE vNode Discovery protocol
+shadowstream    4366/udp                # ShadowStream System
 wxbrief         4368/tcp                # WeatherBrief Direct
 wxbrief         4368/udp                # WeatherBrief Direct
 epmd            4369/tcp                # Erlang Port Mapper Daemon
@@ -7909,6 +8020,21 @@ slscc           4408/tcp                # SLS Technology Control Centre
 netcabinet-com  4409/tcp                # Net-Cabinet comunication
 itwo-server     4410/tcp                # RIB iTWO Application Server
 found           4411/tcp                # Found Messaging Protocol
+smallchat       4412/udp                # SmallChat
+avi-nms         4413/tcp                # AVI Systems NMS
+avi-nms-disc    4413/udp                # AVI Systems NMS
+updog           4414/tcp                # Updog Monitoring and Status
+brcd-vr-req     4415/tcp                # Brocade Virtual Router
+pjj-player      4416/tcp                # PJJ Media Player
+pjj-player-disc 4416/udp                # PJJ Media Player discovery
+workflowdir     4417/tcp                # Workflow Director
+axysbridge      4418/udp                # AXYS communication protocol
+cbp             4419/tcp                # Colnod Binary Protocol
+nvm-express     4420/tcp                # NVM Express over Fabrics
+nvm-express     4420/udp                # NVM Express over Fabrics
+scaleft         4421/tcp                # Management for Cloud
+tsepisp         4422/tcp                # TSEP Installation Service
+thingkit        4423/tcp                # thingkit secure mesh
 netrockey6      4425/tcp                # NetROCKEY6 SMART Plus Service
 netrockey6      4425/udp                # NetROCKEY6 SMART Plus Service
 beacon-port-2   4426/tcp                # SMARTS Beacon Port
@@ -7966,6 +8092,7 @@ awacs-ice       4488/udp                # Apple Wide Area Connectivity Service I
 ipsec-nat-t     4500/tcp                # IPsec NAT-Traversal
 ipsec-nat-t     4500/udp                # IPsec NAT-Traversal
 a25-fap-fgw     4502/sctp               # A25 (FAP-FGW)
+armagetronad    4534/udp                # Armagetron Advanced Game
 ehs             4535/tcp                # Event Heap Server
 ehs             4535/udp                # Event Heap Server
 ehs-ssl         4536/tcp                # Event Heap Server SSL
@@ -7995,11 +8122,13 @@ msfrs           4554/tcp                # MS FRS Replication
 msfrs           4554/udp                # MS FRS Replication
 rsip            4555/tcp                # RSIP Port
 rsip            4555/udp                # RSIP Port
-dtn-bundle-tcp  4556/tcp                # DTN Bundle TCP CL Protocol
-dtn-bundle-udp  4556/udp                # DTN Bundle UDP CL Protocol
+dtn-bundle      4556/tcp                # DTN Bundle TCP CL Protocol
+dtn-bundle      4556/udp                # DTN Bundle UDP CL Protocol
+dtn-bundle      4556/dccp               # DTN Bundle DCCP CL Protocol
 mtcevrunqss     4557/udp                # Marathon everRun Quorum Service Server
 mtcevrunqman    4558/udp                # Marathon everRun Quorum Service Manager
 hylafax         4559/udp                # HylaFAX
+amahi-anywhere  4563/tcp                # Amahi Anywhere
 kwtc            4566/tcp                # Kids Watch Time Control Service
 kwtc            4566/udp                # Kids Watch Time Control Service
 tram            4567/tcp                # TRAM
@@ -8008,6 +8137,8 @@ bmc-reporting   4568/tcp                # BMC Reporting
 bmc-reporting   4568/udp                # BMC Reporting
 iax             4569/tcp                # Inter-Asterisk eXchange
 iax             4569/udp                # Inter-Asterisk eXchange
+deploymentmap   4570/tcp                # site deployment information for Oracle Communications Suite
+cardifftec-back 4573/tcp                # CardiffTec server/client communication
 rid             4590/tcp                # RID over HTTP/TLS
 l3t-at-an       4591/tcp                # HRPD L3T (AT-AN)
 l3t-at-an       4591/udp                # HRPD L3T (AT-AN)
@@ -8032,6 +8163,9 @@ piranha2        4601/tcp                # Piranha2
 piranha2        4601/udp                # Piranha2
 mtsserver       4602/tcp                # EAX MTS Server
 menandmice-upg  4603/tcp                # Men & Mice Upgrade Agent
+irp             4604/tcp                # Identity Registration Protocol
+sixchat         4605/tcp                # Direct End to End Secure
+ventoso         4621/udp                # remote radio VOIP
 playsta2-app    4658/tcp                # PlayStation2 App Port
 playsta2-app    4658/udp                # PlayStation2 App Port
 playsta2-lob    4659/tcp                # PlayStation2 Lobby Port
@@ -8145,6 +8279,7 @@ ifsp            4744/tcp                # Internet File Synchronization Protocol
 ifsp            4744/udp                # Internet File Synchronization Protocol
 fmp             4745/tcp                # Funambol Mobile Push
 fmp             4745/udp                # Funambol Mobile Push
+buschtrommel    4747/udp                # peer-to-peer file exchange
 profilemac      4749/tcp                # Profile for Mac
 profilemac      4749/udp                # Profile for Mac
 ssad            4750/tcp                # Simple Service Auto Discovery
@@ -8161,6 +8296,9 @@ cncp            4785/udp                # Cisco Nexus Control Protocol
 smart-install   4786/tcp                # Smart Install Service
 sia-ctrl-plane  4787/tcp                # Service Insertion Architecture (SIA) Control-Plane
 xmcp            4788/tcp                # eXtensible Messaging Client Protocol
+vxlan           4789/udp                # Virtual eXtensible Local area network
+vxlan-gpe       4790/udp                # Generic Protocol Extension for vxlan
+roce            4791/udp                # IP Routable RocE
 iims            4800/tcp                # Icona Instant Messenging System
 iims            4800/udp                # Icona Instant Messenging System
 iwec            4801/tcp                # Icona Web Embedded Chat
@@ -8239,6 +8377,7 @@ lutcp           4913/tcp                # LUTher Control Protocol
 bones           4914/tcp                # Bones Remote Control
 bones           4914/udp                # Bones Remote Control
 frcs            4915/tcp                # Fibics Remote Control Service
+an-signaling    4936/udp                # Signal protocol port for autonomic networking
 atsc-mh-ssc     4937/udp                # ATSC-M/H Service Signaling Channel
 eq-office-4940  4940/tcp                # Equitrac Office
 eq-office-4940  4940/udp                # Equitrac Office
@@ -8260,6 +8399,7 @@ ccss-qmm        4969/tcp                # CCSS QMessageMonitor
 ccss-qmm        4969/udp                # CCSS QMessageMonitor
 ccss-qsm        4970/tcp                # CCSS QSystemMonitor
 ccss-qsm        4970/udp                # CCSS QSystemMonitor
+ctxs-vpp        4980/udp                # Citrix Virtual Path
 webyast         4984/tcp                # WebYast
 gerhcs          4985/tcp                # GER HC Standard
 mrip            4986/tcp                # Model Railway Interface Program
@@ -8329,6 +8469,8 @@ surfpass        5030/tcp                # SurfPass
 surfpass        5030/udp                # SurfPass
 dmp             5031/udp                # Direct Message Protocol
 signacert-agent 5032/tcp                # SignaCert Enterprise Trust Server Agent
+jtnetd-server   5033/tcp                # Janstor Secure Data
+jtnetd-status   5034/tcp                # Janstor Status
 asnaacceler8db  5042/tcp                # asnaacceler8db
 asnaacceler8db  5042/udp                # asnaacceler8db
 swxadmin        5043/tcp                # ShopWorX Administration
@@ -8348,6 +8490,7 @@ ita-agent       5051/udp                # ITA Agent
 ita-manager     5052/tcp                # ITA Manager
 ita-manager     5052/udp                # ITA Manager
 rlm             5053/tcp                # RLM License Server
+rlm-disc        5053/udp                # RLM Discovery Server
 rlm-admin       5054/tcp                # RLM administrative interface
 unot            5055/tcp                # UNOT
 unot            5055/udp                # UNOT
@@ -8360,8 +8503,10 @@ sds             5059/tcp                # SIP Directory Services
 sds             5059/udp                # SIP Directory Services
 sip             5060/tcp                # SIP
 sip             5060/udp                # SIP
-sip-tls         5061/tcp                # SIP-TLS
-sip-tls         5061/udp                # SIP-TLS
+sip             5060/sctp               # SIP
+sips            5061/tcp                # SIP-TLS
+sips            5061/udp                # SIP-TLS
+sips            5061/sctp               # SIP-TLS
 na-localise     5062/tcp                # Localisation access
 na-localise     5062/udp                # Localisation access
 csrpc           5063/tcp                # centrify secure RPC
@@ -8387,6 +8532,7 @@ tag-pm          5073/udp                # Advantage Group Port Mgr
 alesquery       5074/tcp                # ALES Query
 alesquery       5074/udp                # ALES Query
 pvaccess        5075/tcp                # Experimental Physics and Industrial Control System
+pixelpusher     5078/udp                # PixelPusher pixel data
 cp-spxrpts      5079/udp                # Cambridge Pixel SPx Reports
 onscreen        5080/tcp                # OnScreen Data Collection Service
 onscreen        5080/udp                # OnScreen Data Collection Service
@@ -8401,6 +8547,7 @@ llrp            5084/udp                # EPCglobal Low-Level Reader Protocol
 encrypted-llrp  5085/tcp                # EPCglobal Encrypted LLRP
 encrypted-llrp  5085/udp                # EPCglobal Encrypted LLRP
 aprigo-cs       5086/tcp                # Aprigo Collection Service
+biotic          5087/tcp                # Binary Internet of Things Interoperable Communication
 car             5090/sctp               # Candidate AR
 cxtp            5091/sctp               # Context Transfer Protocol
 magpie          5092/udp                # Magpie Binary
@@ -8419,6 +8566,8 @@ oms-nonsecure   5102/udp                # Oracle OMS non-secure
 actifio-c2c     5103/tcp                # Actifio C2C
 tinymessage     5104/udp                # TinyMessage
 hughes-ap       5105/udp                # Hughes Association Protocol
+actifioudsagent 5106/tcp                # Actifio UDS Agent
+actifioreplic   5107/tcp                # Disk to Disk replication
 taep-as-svc     5111/tcp                # TAEP AS service
 taep-as-svc     5111/udp                # TAEP AS service
 pm-cmdsvr       5112/tcp                # PeerMe Msg Cmd Service
@@ -8427,6 +8576,8 @@ ev-services     5114/tcp                # Enterprise Vault Services
 autobuild       5115/tcp                # Symantec Autobuild Service
 emb-proj-cmd    5116/udp                # EPSON Projecter Image Transfer
 gradecam        5117/tcp                # GradeCam Image Processing
+barracuda-bbs   5120/tcp                # Barracuda Backup Protocol
+barracuda-bbs   5120/udp                # Barracuda Backup Protocol
 nbt-pc          5133/tcp                # Policy Commander
 nbt-pc          5133/udp                # Policy Commander
 ppactivation    5134/tcp                # PP ActivationServer
@@ -8463,6 +8614,7 @@ scte104         5167/tcp                # SCTE104 Connection
 scte104         5167/udp                # SCTE104 Connection
 scte30          5168/tcp                # SCTE30 Connection
 scte30          5168/udp                # SCTE30 Connection
+pcoip-mgmt      5172/tcp                # PC over IP Endpoint Management
 aol             5190/tcp                # America-Online
 aol             5190/udp                # America-Online
 aol-1           5191/tcp                # AmericaOnline1
@@ -8474,6 +8626,7 @@ aol-3           5193/udp                # AmericaOnline3
 cpscomm         5194/tcp                # CipherPoint Config Service
 ampl-lic        5195/tcp                # AMPL_Optimization - program licenses
 ampl-tableproxy 5196/tcp                # AMPL_Optimization - table data
+tunstall-lwp    5197/tcp                # Tunstall Lone worker device
 targus-getdata  5200/tcp                # TARGUS GetData
 targus-getdata  5200/udp                # TARGUS GetData
 targus-getdata1 5201/tcp                # TARGUS GetData 1
@@ -8483,6 +8636,8 @@ targus-getdata2 5202/udp                # TARGUS GetData 2
 targus-getdata3 5203/tcp                # TARGUS GetData 3
 targus-getdata3 5203/udp                # TARGUS GetData 3
 nomad           5209/tcp                # Nomad Device Video Transfer
+noteza          5215/tcp                # NOTEZA Data Safety Service
+noteza          5215/sctp               # NOTEZA Data Safety Service
 3exmp           5221/tcp                # 3eTI Extensible Management Protocol for OAMP
 xmpp-client     5222/tcp                # XMPP Client Connection
 hpvirtgrp       5223/tcp                # HP Virtual Machine Group Management
@@ -8496,6 +8651,9 @@ hp-status       5226/udp                # HP Status
 perfd           5227/tcp                # HP System Performance Metric Service
 perfd           5227/udp                # HP System Performance Metric Service
 hpvroom         5228/tcp                # HP Virtual Room Service
+jaxflow         5229/tcp                # Collector and Forwarder Management
+jaxflow-data    5230/tcp                # JaxMP RealFlow application and protocol data
+crusecontrol    5231/tcp                # Remote Control of Scan Software for Cruse Scanners
 enfs            5233/tcp                # Etinnae Network File Service
 eenet           5234/tcp                # EEnet communications
 eenet           5234/udp                # EEnet communications
@@ -8520,6 +8678,7 @@ caevms          5251/udp                # CA eTrust VM Service
 movaz-ssc       5252/tcp                # Movaz SSC
 movaz-ssc       5252/udp                # Movaz SSC
 kpdp            5253/tcp                # Kohler Power Device Protocol
+logcabin        5254/tcp                # LogCabin storage service
 3com-njack-1    5264/tcp                # 3Com Network Jack Port 1
 3com-njack-1    5264/udp                # 3Com Network Jack Port 1
 3com-njack-2    5265/tcp                # 3Com Network Jack Port 2
@@ -8576,12 +8735,11 @@ kfserver        5343/tcp                # Sculptor Database Server
 kfserver        5343/udp                # Sculptor Database Server
 xkotodrcp       5344/tcp                # xkoto DRCP
 xkotodrcp       5344/udp                # xkoto DRCP
-stuns           5349/tcp     turns      # STUN over TLS, TURN over TLS
-stuns           5349/udp     turns      # Reserved for a future enhancement of STUN, Reserved for a future enhancement of TURN
-nat-pmp-status  5350/tcp                # NAT-PMP Status Announcements
-nat-pmp-status  5350/udp                # NAT-PMP Status Announcements
-nat-pmp         5351/tcp                # NAT Port Mapping Protocol
-nat-pmp         5351/udp                # NAT Port Mapping Protocol
+stuns           5349/tcp stun-behaviors turns # STUN over TLS, TURN over TLS
+stuns           5349/udp stun-behaviors turns # Reserved for a future enhancement of STUN, Reserved for a future enhancement of TURN
+pcp-multicast   5350/tcp                # Port Control Protocol
+pcp             5350/udp                # Port Control Protocol
+#pcp             5351/udp                        # Port Control Protocol
 dns-llq         5352/tcp                # DNS Long-Lived Queries
 dns-llq         5352/udp                # DNS Long-Lived Queries
 mdns            5353/tcp                # Multicast DNS
@@ -8604,6 +8762,7 @@ serverwsd2      5362/tcp                # Microsoft Windows Server WSD2 Service
 serverwsd2      5362/udp                # Microsoft Windows Server WSD2 Service
 net-projection  5363/tcp                # Windows Network Projection
 net-projection  5363/udp                # Windows Network Projection
+kdnet           5364/udp                # Microsoft Kernel Debugger
 stresstester    5397/tcp                # StressTester(tm) Injector
 stresstester    5397/udp                # StressTester(tm) Injector
 elektron-admin  5398/tcp                # Elektron Administration
@@ -8683,7 +8842,9 @@ pmip6-data      5437/udp                # pmip6-data
 spss            5443/tcp                # Pearson HTTPS
 spss            5443/udp                # Pearson HTTPS
 smbdirect       5445/tcp                # Server Message Block over Remote Direct Memory Access
-smbdirect       5445/sctp                # Server Message Block over Remote Direct Memory Access
+smbdirect       5445/sctp               # Server Message Block over Remote Direct Memory Access
+tiepie          5450/tcp                # TiePie engineering data
+tiepie-disc     5450/udp                # TiePie engineering data (discovery)
 surebox         5453/tcp                # SureBox
 surebox         5453/udp                # SureBox
 apc-5454        5454/tcp                # APC 5454
@@ -8702,6 +8863,12 @@ quailnet        5464/tcp                # Quail Networks Object Broker
 quailnet        5464/udp                # Quail Networks Object Broker
 netops-broker   5465/tcp                # NETOPS-BROKER
 netops-broker   5465/udp                # NETOPS-BROKER
+absolab-col     5470/tcp                # The Apsolab company's data collection protocol
+absolab-cols    5471/tcp                # The Apsolab company's secure data collection protocol
+absolab-tag     5472/tcp                # The Apsolab company's dynamic tag protocol
+absolab-tags    5473/tcp                # The Apsolab company's secure dynamic tag protocol
+absolab-rpc     5474/udp                # The Apsolab company's status query protocol
+absolab-data    5475/tcp                # The Apsolab company's data retrieval protocol
 fcp-addr-srvr1  5500/tcp                # fcp-addr-srvr1
 fcp-addr-srvr1  5500/udp                # fcp-addr-srvr1
 fcp-addr-srvr2  5501/tcp                # fcp-addr-srvr2
@@ -8716,6 +8883,7 @@ checkoutdb      5505/tcp                # Checkout Database
 checkoutdb      5505/udp                # Checkout Database
 amc             5506/tcp                # Amcom Mobile Connect
 amc             5506/udp                # Amcom Mobile Connect
+psl-management  5507/tcp                # PowerSysLab Electrical
 sgi-eventmond   5553/tcp                # SGI Eventmond Port
 sgi-eventmond   5553/udp                # SGI Eventmond Port
 sgi-esphttp     5554/tcp                # SGI ESP HTTP
@@ -8725,9 +8893,10 @@ personal-agent  5555/udp                # Personal Agent
 freeciv         5556/tcp                # Freeciv gameplay
 freeciv         5556/udp                # Freeciv gameplay
 farenet         5557/tcp                # Sandlab FARENET
+hpe-dp-bura     5565/tcp                # HPE Advanced BURA
 westec-connect  5566/tcp                # Westec Connect
-m-oap           5567/tcp                # Multicast Object Access Protocol
-m-oap           5567/udp                # Multicast Object Access Protocol
+dof-dps-mc-sec  5567/tcp                # DOF protocol stack
+dof-dps-mc-sec  5567/udp                # DOF protocol stack
 sdt             5568/tcp                # Session Data Transport Multicast
 sdt             5568/udp                # Session Data Transport Multicast
 rdmnet-ctrl     5569/tcp                # Management (RDM) controller status notifications
@@ -8749,6 +8918,7 @@ bis-web         5584/tcp                # BeInSync-Web
 bis-web         5584/udp                # BeInSync-Web
 bis-sync        5585/tcp                # BeInSync-sync
 bis-sync        5585/udp                # BeInSync-sync
+att-mt-sms      5586/tcp                # mobile terminated SMS, not visible to client(ATT)
 ininmessaging   5597/tcp                # inin secure messaging
 ininmessaging   5597/udp                # inin secure messaging
 mctfeed         5598/tcp                # MCT Market Data Feed
@@ -8767,6 +8937,7 @@ a3-sdunode      5604/tcp                # A3-SDUNode
 a3-sdunode      5604/udp                # A3-SDUNode
 a4-sdunode      5605/tcp                # A4-SDUNode
 a4-sdunode      5605/udp                # A4-SDUNode
+efr             5618/tcp                # Fiscal Registering Protocol
 ninaf           5627/tcp                # Node Initiated Network Association Forma
 ninaf           5627/udp                # Node Initiated Network Association Forma
 htrust          5628/tcp                # HTrust API
@@ -8789,7 +8960,9 @@ cssc            5637/tcp                # Symantec CSSC
 flcrs           5638/tcp                # Symantec Fingerprint Lookup and Container Reference
 ics             5639/tcp                # Symantec Integrity Checking
 vfmobile        5646/tcp                # Ventureforth Mobile
-###UNAUTHORIZED USE: Port 5666 used by SAIC NRPE############
+nrpe            5666/tcp                # Nagios Remote Plugin Executor
+filemq          5670/tcp                # ZeroMQ file
+zre-disc        5670/udp                # Local area discovery and msging over ZeroMQ
 amqps           5671/tcp                # amqp protocol over TLS/SSL
 amqps           5671/udp                # amqp protocol over TLS/SSL
 amqp            5672/tcp                # AMQP
@@ -8815,12 +8988,15 @@ ncxcp           5681/tcp                # Net-coneX Control Protocol
 ncxcp           5681/udp                # Net-coneX Control Protocol
 brightcore      5682/udp                # BrightCore control & data transfer exchange
 coap            5683/udp                # Constrained Application Protocol
+coaps           5684/udp                # DTLS-secured CoAP
+gog-multiplayer 5687/udp                # GOG multiplayer game protocol
 ggz             5688/tcp                # GGZ Gaming Zone
 ggz             5688/udp                # GGZ Gaming Zone
 qmvideo         5689/tcp                # QM video network management protocol
 qmvideo         5689/udp                # QM video network management protocol
 rbsystem        5693/tcp                # Robert Bosch Data Transfer
 kmip            5696/tcp                # Key Management Interoperability Protocol
+supportassist   5700/tcp                # Dell SupportAssist data
 proshareaudio   5713/tcp                # proshare conf audio
 proshareaudio   5713/udp                # proshare conf audio
 prosharevideo   5714/tcp                # proshare conf video
@@ -8909,6 +9085,7 @@ icmpd           5813/tcp                # ICMPD
 icmpd           5813/udp                # ICMPD
 spt-automation  5814/tcp                # Support Automation
 spt-automation  5814/udp                # Support Automation
+shiprush-d-ch   5841/tcp                # Z-firm ShipRush interface for web access and bidirectional data
 reversion       5842/tcp                # Reversion Backup/Restore
 wherehoo        5859/tcp                # WHEREHOO
 wherehoo        5859/udp                # WHEREHOO
@@ -8955,6 +9132,7 @@ nuxsl           5991/tcp                # NUXSL
 nuxsl           5991/udp                # NUXSL
 consul-insight  5992/tcp                # Consul InSight Security
 consul-insight  5992/udp                # Consul InSight Security
+cim-rs          5993/tcp                # DMTF WBEM CIM REST
 ndl-ahp-svc     6064/tcp                # NDL-AHP-SVC
 ndl-ahp-svc     6064/udp                # NDL-AHP-SVC
 winpharaoh      6065/tcp                # WinPharaoh
@@ -8976,9 +9154,12 @@ max             6074/tcp                # Microsoft Max
 max             6074/udp                # Microsoft Max
 dpm-acm         6075/tcp                # Microsoft DPM Access Control Manager
 msft-dpm-cert   6076/tcp                # Microsoft DPM WCF Certificates
+iconstructsrv   6077/tcp                # iConstruct Server
+gue             6080/udp                # Generic UDP Encapsulation
+geneve          6081/udp                # Generic Network Virtualization Encapsulation
 p25cai          6082/udp                # APCO Project 25 Common Air Interface
 miami-bcast     6083/udp                # telecomsoftware miami broadcast
-p2p-sip         6084/tcp                # Peer to Peer Infrastructure Protocol
+reload-config   6084/tcp                # Peer to Peer Infrastructure Protocol
 konspire2b      6085/tcp                # konspire2b p2p network
 konspire2b      6085/udp                # konspire2b p2p network
 pdtp            6086/tcp                # PDTP P2P
@@ -9027,6 +9208,7 @@ backup-express  6123/tcp                # Backup Express
 backup-express  6123/udp                # Backup Express
 pnbs            6124/tcp                # Phlexible Network Backup Service
 pnbs            6124/udp                # Phlexible Network Backup Service
+damewaremobgtwy 6130/tcp                # The DameWare Mobile Gateway Service
 nbt-wol         6133/tcp                # New Boundary Tech WOL
 nbt-wol         6133/udp                # New Boundary Tech WOL
 pulsonixnls     6140/tcp                # Pulsonix Network License Service
@@ -9059,6 +9241,8 @@ pscribe         6163/udp                # Precision Scribe Cnx Port
 lm-x            6200/tcp                # LM-X License Manager by X-Formation
 lm-x            6200/udp                # LM-X License Manager by X-Formation
 thermo-calc     6201/udp                # Thermo-Calc_Software
+qmtps           6209/tcp                # QMTP over TLS
+qmtps           6209/udp                # QMTP over TLS
 radmind         6222/tcp                # Radmind Access Protocol
 radmind         6222/udp                # Radmind Access Protocol
 jeol-nsdtp-1    6241/tcp                # JEOL Network Services Data Transport Protocol 1
@@ -9090,6 +9274,8 @@ scup            6315/tcp                # Sensor Control Unit Protocol
 scup-disc       6315/udp                # Sensor Control Unit Protocol Discovery Protocol
 abb-escp        6316/tcp                # Ethernet Sensor Communications Protocol
 abb-escp        6316/udp                # Ethernet Sensor Communications Protocol
+nav-data-cmd    6317/tcp                # Navtech Radar Sensor Data command
+nav-data        6317/udp                # Navtech Radar Sensor Data
 repsvc          6320/tcp                # Double-Take Replication Service
 repsvc          6320/udp                # Double-Take Replication Service
 emp-server1     6321/tcp                # Empress Software Connectivity Server 1
@@ -9099,8 +9285,10 @@ emp-server2     6322/udp                # Empress Software Connectivity Server 2
 hrd-ncs         6324/tcp                # HR Device Network
 hrd-ns-disc     6324/udp                # HR Device Network service
 dt-mgmtsvc      6325/tcp                # Double-Take Management Service
+dt-vra          6326/tcp                # Double-Take Virtual Recovery
 sflow           6343/tcp                # sFlow traffic monitoring
 sflow           6343/udp                # sFlow traffic monitoring
+streletz        6344/tcp                # Argus-Spectr security and fire-prevention systems service
 gnutella-svc    6346/tcp                # gnutella-svc
 gnutella-svc    6346/udp                # gnutella-svc
 gnutella-rtr    6347/tcp                # gnutella-rtr
@@ -9111,8 +9299,10 @@ pmcs            6355/tcp                # PMCS applications
 pmcs            6355/udp                # PMCS applications
 metaedit-mu     6360/tcp                # MetaEdit+ Multi-User
 metaedit-mu     6360/udp                # MetaEdit+ Multi-User
+ndn             6363/udp                # Named Data Networking
 metaedit-se     6370/tcp                # MetaEdit+ Server Administration
 metaedit-se     6370/udp                # MetaEdit+ Server Administration
+redis           6379/tcp                # An advanced key-value cache and store
 metatude-mds    6382/tcp                # Metatude Dialogue Server
 metatude-mds    6382/udp                # Metatude Dialogue Server
 clariion-evr01  6389/tcp                # clariion-evr01
@@ -9145,11 +9335,13 @@ faxcomservice   6417/tcp                # Faxcom Message Service
 faxcomservice   6417/udp                # Faxcom Message Service
 syserverremote  6418/tcp                # SYserver remote commands
 svdrp           6419/tcp                # Simple VDR Protocol
+svdrp-disc      6419/udp                # Simple VDR Protocol Discovery
 nim-vdrshell    6420/tcp                # NIM_VDRShell
 nim-vdrshell    6420/udp                # NIM_VDRShell
 nim-wan         6421/tcp                # NIM_WAN
 nim-wan         6421/udp                # NIM_WAN
 pgbouncer       6432/tcp                # PgBouncer
+tarp            6442/tcp                # Transitory Application Request Protocol
 sun-sr-https    6443/tcp                # Service Registry Default HTTPS Domain
 sun-sr-https    6443/udp                # Service Registry Default HTTPS Domain
 sge_qmaster     6444/tcp  sge-qmaster   # Grid Engine Qmaster Service
@@ -9264,19 +9456,25 @@ afesc-mc        6628/tcp                # AFE Stock Channel M/C
 afesc-mc        6628/udp                # AFE Stock Channel M/C
 mxodbc-connect  6632/tcp                # eGenix mxODBC Connect
 cisco-vpath-tun 6633/udp                # Cisco vPath Services Overlay
+mpls-pm         6634/udp                # MPLS Performance Measurement out-of-band response
+mpls-udp        6635/udp                # Encapsulate MPLS packets in UDP tunnels
+mpls-udp-dtls   6636/udp                # Encapsulate MPLS packets in UDP tunnels with DTLS
+ovsdb           6640/tcp                # Open vSwitch Database
+openflow        6653/tcp                # OpenFlow
+openflow        6653/udp                # OpenFlow
 pcs-sf-ui-man   6655/tcp                # PC SOFT - Software factory UI/manager
 emgmsg          6656/tcp                # Emergency Message Control Service
 palcom-disc     6657/udp                # PalCom Discovery
 ircu            6665/tcp                # IRCU
 ircu            6665/udp                # IRCU
-ircu-2          6666/tcp                # IRCU
-ircu-2          6666/udp                # IRCU
-ircu-3          6667/tcp        ircd    # IRCU
-ircu-3          6667/udp        ircd    # IRCU
-ircu-4          6668/tcp                # IRCU
-ircu-4          6668/udp                # IRCU
-ircu-5          6669/tcp                # IRCU
-ircu-5          6669/udp                # IRCU
+ircu-2          6666/tcp        ircu2   # IRCU
+ircu-2          6666/udp        ircu2   # IRCU
+ircu-3          6667/tcp        ircd ircu3    # IRCU
+ircu-3          6667/udp        ircd ircu3    # IRCU
+ircu-4          6668/tcp        ircu4        # IRCU
+ircu-4          6668/udp        ircu4        # IRCU
+ircu-5          6669/tcp        ircu5        # IRCU
+ircu-5          6669/udp        ircu5        # IRCU
 vocaltec-gold   6670/tcp                # Vocaltec Global Online Directory
 vocaltec-gold   6670/udp                # Vocaltec Global Online Directory
 p4p-portal      6671/tcp                # P4P Portal Service
@@ -9293,7 +9491,9 @@ clever-ctrace   6687/tcp                # CleverView for cTrace Message Service
 clever-tcpip    6688/tcp                # CleverView for TCP/IP Message Service
 tsa             6689/tcp                # Tofino Security Appliance
 tsa             6689/udp                # Tofino Security Appliance
+cleverdetect    6690/tcp                # CLEVERDetect Message Service
 babel           6696/udp                # Babel Routing Protocol
+ircs-u          6697/tcp                # Internet Relay Chat via TLS/SSL
 kti-icad-srvr   6701/tcp                # KTI/ICAD Nameserver
 kti-icad-srvr   6701/udp                # KTI/ICAD Nameserver
 e-design-net    6702/tcp                # e-Design network
@@ -9307,6 +9507,7 @@ ibprotocol      6714/tcp                # Internet Backplane Protocol
 ibprotocol      6714/udp                # Internet Backplane Protocol
 fibotrader-com  6715/tcp                # Fibotrader Communications
 fibotrader-com  6715/udp                # Fibotrader Communications
+princity-agent  6716/tcp                # Princity Agent
 bmc-perf-agent  6767/tcp                # BMC PERFORM AGENT
 bmc-perf-agent  6767/udp                # BMC PERFORM AGENT
 bmc-perf-mgrd   6768/tcp                # BMC PERFORM MGRD
@@ -9317,6 +9518,9 @@ plysrv-http     6770/tcp                # PolyServe http
 plysrv-http     6770/udp                # PolyServe http
 plysrv-https    6771/tcp                # PolyServe https
 plysrv-https    6771/udp                # PolyServe https
+ntz-tracker     6777/tcp                # netTsunami Tracker
+ntz-p2p-storage 6778/tcp                # netTsunami p2p storage
+bfd-lag         6784/udp                # Bidirectional Forwarding Detection on LAG
 dgpf-exchg      6785/tcp                # DGPF Individual Exchange
 dgpf-exchg      6785/udp                # DGPF Individual Exchange
 smc-jmx         6786/tcp                # Sun Java Web Console JMX
@@ -9369,6 +9573,8 @@ swispol         6966/tcp                # swispol
 swispol         6966/udp                # swispol
 acmsoda         6969/tcp                # acmsoda
 acmsoda         6969/udp                # acmsoda
+conductor       6970/tcp                # Conductor test coordination
+conductor-mpx   6970/sctp               # conductor for multiplex
 MobilitySrv     6997/tcp                # Mobility XE Protocol
 MobilitySrv     6997/udp                # Mobility XE Protocol
 iatp-highpri    6998/tcp                # IATP-highPri
@@ -9404,19 +9610,24 @@ vmsvc-2         7025/tcp                # Vormetric Service II
 vmsvc-2         7025/udp                # Vormetric Service II
 op-probe        7030/tcp                # ObjectPlanet probe
 op-probe        7030/udp                # ObjectPlanet probe
+iposplanet      7031/tcp                # IPOSPLANET retailing multi devices protocol
 quest-disc      7040/udp                # Quest application level network service discovery
 arcp            7070/tcp                # ARCP
 arcp            7070/udp                # ARCP
 iwg1            7071/tcp                # IWGADTS Aircraft Housekeeping Message
 iwg1            7071/udp                # IWGADTS Aircraft Housekeeping Message
+martalk         7073/tcp                # MarTalk protocol
 empowerid       7080/tcp                # EmpowerID Communication
 empowerid       7080/udp                # EmpowerID Communication
+zixi-transport  7088/udp                # Zixi live video transport
+jdp-disc        7095/udp                # Java Discovery Protocol
 lazy-ptop       7099/tcp                # lazy-ptop
 lazy-ptop       7099/udp                # lazy-ptop
 font-service    7100/udp                # X Font Service
 elcn            7101/tcp                # Embedded Light Control Network
 elcn            7101/udp                # Embedded Light Control Network
 aes-x170        7107/udp                # AES-X170
+rothaga         7117/tcp                # Encrypted chat and file transfer service
 virprot-lm      7121/tcp                # Virtual Prototypes License Manager
 virprot-lm      7121/udp                # Virtual Prototypes License Manager
 scenidm         7128/tcp                # intelligent data manager
@@ -9443,19 +9654,26 @@ nsrp            7170/tcp                # Adaptive Name/Service Resolution
 nsrp            7170/udp                # Adaptive Name/Service Resolution
 drm-production  7171/tcp                # Discovery and Retention Mgt Production
 drm-production  7171/udp                # Discovery and Retention Mgt Production
+metalbend       7172/tcp                # MetalBend programmable interface
 zsecure         7173/tcp                # zSecure Server
 clutild         7174/tcp                # Clutild
 clutild         7174/udp                # Clutild
+janus-disc      7181/udp                # Janus Guidewire Enterprise Discovery Service Bus
 fodms           7200/tcp                # FODMS FLIP
 fodms           7200/udp                # FODMS FLIP
 dlip            7201/tcp                # DLIP
 dlip            7201/udp                # DLIP
+PS-Server       7215/tcp                # PaperStream Server services
+PS-Capture-Pro  7216/tcp                # PaperStream Capture Professional
 ramp            7227/tcp                # Registry A & M Protocol
 ramp            7227/udp                # Registry A $ M Protocol
 citrixupp       7228/tcp                # Citrix Universal Printing Port
 citrixuppg      7229/tcp                # Citrix UPP Gateway
+aspcoordination 7235/udp                # ASP Coordination Protocol
 display         7236/tcp                # Wi-Fi Alliance Wi-Fi Display Protocol
 pads            7237/tcp                # PADS (Public Area Display System) Server
+frc-hicp        7244/tcp                # FrontRow Calypso Human Interface Control Protocol
+frc-hicp-disc   7244/udp                # FrontRow Calypso Human Interface Control Protocol
 cnap            7262/tcp                # Calypso Network Access Protocol
 cnap            7262/udp                # Calypso Network Access Protocol
 watchme-7272    7272/tcp                # WatchMe Monitoring 7272
@@ -9503,6 +9721,8 @@ rtps-dd-mt      7402/tcp                # RTPS Data-Distribution Meta-Traffic
 rtps-dd-mt      7402/udp                # RTPS Data-Distribution Meta-Traffic
 ionixnetmon     7410/tcp                # Ionix Network Monitor
 ionixnetmon     7410/udp                # Ionix Network Monitor
+daqstream       7411/tcp                # Streaming of measurement
+daqstream       7411/udp                # Streaming of measurement
 mtportmon       7421/tcp                # Matisse Port Monitor
 mtportmon       7421/udp                # Matisse Port Monitor
 pmdmgr          7426/tcp                # OpenView DM Postmaster Manager
@@ -9521,8 +9741,10 @@ faximum         7437/tcp                # Faximum
 faximum         7437/udp                # Faximum
 oracleas-https  7443/tcp                # Oracle Application Server HTTPS
 oracleas-https  7443/udp                # Oracle Application Server HTTPS
+sttunnel        7471/tcp                # Stateless Transport Tunneling Protocol
 rise            7473/tcp                # Rise: The Vieneo Province
 rise            7473/udp                # Rise: The Vieneo Province
+neo4j           7474/tcp                # Neo4j Graph Database
 telops-lmd      7491/tcp                # telops-lmd
 telops-lmd      7491/udp                # telops-lmd
 silhouette      7500/tcp                # Silhouette User
@@ -9552,6 +9774,7 @@ tidp            7548/udp                # Threat Information Distribution Protoc
 nls-tl          7549/tcp                # Network Layer Signaling Transport Layer
 nls-tl          7549/udp                # Network Layer Signaling Transport Layer
 cloudsignaling  7550/udp                # Cloud Signaling Service
+controlone-con  7551/tcp                # ControlONE Console signaling
 sncp            7560/tcp                # Sniffer Command Protocol
 sncp            7560/udp                # Sniffer Command Protocol
 cfw             7563/tcp                # Control Framework
@@ -9560,8 +9783,11 @@ vsi-omega       7566/udp                # VSI Omega
 dell-eql-asm    7569/tcp                # Dell EqualLogic Host Group Management
 aries-kfinder   7570/tcp                # Aries Kfinder
 aries-kfinder   7570/udp                # Aries Kfinder
+coherence       7574/tcp                # Oracle Coherence Cluster Service
 sun-lm          7588/tcp                # Sun License Manager
 sun-lm          7588/udp                # Sun License Manager
+mipi-debug      7606/tcp                # MIPI Alliance Debug
+mipi-debug      7606/udp                # MIPI Alliance Debug
 indi            7624/tcp                # Instrument Neutral Distributed Interface
 indi            7624/udp                # Instrument Neutral Distributed Interface
 simco           7626/tcp                # SImple Middlebox COnfiguration (SIMCO) Server
@@ -9590,6 +9816,7 @@ sun-user-https  7677/tcp                # Sun App Server - HTTPS
 sun-user-https  7677/udp                # Sun App Server - HTTPS
 pando-pub       7680/tcp                # Pando Media Public Distribution
 pando-pub       7680/udp                # Pando Media Public Distribution
+dmt             7683/tcp                # Cleondris DMT
 collaber        7689/tcp                # Collaber Network Service
 collaber        7689/udp                # Collaber Network Service
 klio            7697/tcp                # KLIO communications
@@ -9609,6 +9836,9 @@ freezexservice  7726/tcp                # FreezeX Console Service
 freezexservice  7726/udp                # FreezeX Console Service
 trident-data    7727/tcp                # Trident Systems Data
 trident-data    7727/udp                # Trident Systems Data
+osvr            7728/tcp                # Open-Source Virtual Reality
+osvr            7728/udp                # Open-Source Virtual Reality
+osvr            7728/sctp               # Open-Source Virtual Reality
 smip            7734/tcp                # Smith Protocol over IP
 smip            7734/udp                # Smith Protocol over IP
 aiagent         7738/tcp                # HP Enterprise Discovery Agent
@@ -9622,6 +9852,7 @@ raqmon-pdu      7744/tcp                # RAQMON PDU
 raqmon-pdu      7744/udp                # RAQMON PDU
 prgp            7747/tcp                # Put/Run/Get Protocol
 prgp            7747/udp                # Put/Run/Get Protocol
+inetfs          7775/tcp                # File System using TLS over WAN
 cbt             7777/tcp                # cbt
 cbt             7777/udp                # cbt
 interwise       7778/tcp                # Interwise
@@ -9630,6 +9861,7 @@ vstat           7779/tcp                # VSTAT
 vstat           7779/udp                # VSTAT
 accu-lmgr       7781/tcp                # accu-lmgr
 accu-lmgr       7781/udp                # accu-lmgr
+s-bfd           7784/udp                # Seamless Bidirectional Forwarding Detection
 minivend        7786/tcp                # MINIVEND
 minivend        7786/udp                # MINIVEND
 popup-reminders 7787/tcp                # Popup Reminders Receive
@@ -9648,16 +9880,19 @@ asr             7800/tcp                # Apple Software Restore
 asr             7800/udp                # Apple Software Restore
 ssp-client      7801/tcp                # Secure Server Protocol - client
 ssp-client      7801/udp                # Secure Server Protocol - client
+vns-tp          7802/udp                # Virtualized Network Services tunnel protocol
 rbt-wanopt      7810/tcp                # Riverbed WAN Optimization Protocol
 rbt-wanopt      7810/udp                # Riverbed WAN Optimization Protocol
 apc-7845        7845/tcp                # APC 7845
 apc-7845        7845/udp                # APC 7845
 apc-7846        7846/tcp                # APC 7846
 apc-7846        7846/udp                # APC 7846
+csoauth         7847/tcp                # A product key authentication by CSO
 mobileanalyzer  7869/tcp                # MobileAnalyzer& MobileMonitor
 rbt-smc         7870/tcp                # Riverbed Steelhead Mobile Service
 mdm             7871/tcp                # Mobile Device Management
 mipv6tls        7872/udp                # TLS-based Mobile IPv6 Security
+owms            7878/tcp                # Opswise Message Service
 pss             7880/tcp                # Pearson
 pss             7880/udp                # Pearson
 ubroker         7887/tcp                # Universal Broker
@@ -9676,6 +9911,8 @@ t2-drm          7932/tcp                # Tier 2 Data Resource Manager
 t2-drm          7932/udp                # Tier 2 Data Resource Manager
 t2-brm          7933/tcp                # Tier 2 Business Rules Manager
 t2-brm          7933/udp                # Tier 2 Business Rules Manager
+generalsync     7962/tcp                # general-purpose synchronization protocol
+generalsync     7962/udp                # general-purpose synchronization protocol
 supercell       7967/tcp                # Supercell
 supercell       7967/udp                # Supercell
 micromuse-ncps  7979/tcp                # Micromuse-ncps
@@ -9740,6 +9977,8 @@ senomix07       8058/udp                # Senomix Timesheets Client [1 year assi
 senomix08       8059/tcp                # Senomix Timesheets Client [1 year assignment]
 senomix08       8059/udp                # Senomix Timesheets Client [1 year assignment]
 aero            8060/udp                # Asymmetric Extended Route Optimization (AERO)
+toad-bi-appsrvr 8066/tcp                # Toad BI Application Server
+infi-async      8067/tcp                # Infinidat async replication
 gadugadu        8074/tcp                # Gadu-Gadu
 gadugadu        8074/udp                # Gadu-Gadu
 us-cli          8082/tcp                # Utilistor (Client)
@@ -9758,10 +9997,12 @@ sac             8097/udp                # SAC Port Id
 xprint-server   8100/tcp                # Xprint Server
 xprint-server   8100/udp                # Xprint Server
 ldoms-migr      8101/tcp                # Logical Domains Migration
+kz-migr         8102/tcp                # Oracle Kernel zones migration server
 mtl8000-matrix  8115/tcp                # MTL8000 Matrix
 mtl8000-matrix  8115/udp                # MTL8000 Matrix
 cp-cluster      8116/tcp                # Check Point Clustering
 cp-cluster      8116/udp                # Check Point Clustering
+purityrpc       8117/tcp                # Purity replication clustering and remote management
 privoxy         8118/tcp                # Privoxy HTTP proxy
 privoxy         8118/udp                # Privoxy HTTP proxy
 apollo-data     8121/tcp                # Apollo Data Port
@@ -9778,19 +10019,24 @@ indigo-vbcp     8131/tcp                # INDIGO-VBCP
 indigo-vbcp     8131/udp                # INDIGO-VBCP
 dbabble         8132/tcp                # dbabble
 dbabble         8132/udp                # dbabble
+puppet          8140/tcp                # The Puppet master service
 isdd            8148/tcp                # i-SDD file transfer
 isdd            8148/udp                # i-SDD file transfer
 eor-game        8149/udp                # Edge of Reality game data
+quantastor      8153/tcp                # QuantaStor Management interface
 patrol          8160/tcp                # Patrol
 patrol          8160/udp                # Patrol
 patrol-snmp     8161/tcp                # Patrol SNMP
 patrol-snmp     8161/udp                # Patrol SNMP
+lpar2rrd        8162/tcp                # LPAR2RRD client server communication
 intermapper     8181/tcp                # Intermapper network management system
 vmware-fdm      8182/tcp                # VMware Fault Domain Manager
 vmware-fdm      8182/udp                # VMware Fault Domain Manager
 proremote       8183/tcp                # ProRemote
 itach           8184/tcp                # Remote iTach Connection
 itach           8184/udp                # Remote iTach Connection
+gcp-rphy        8190/tcp                # Generic control plane for RPHY
+limnerpressure  8191/tcp                # Limner Pressure
 spytechphone    8192/tcp                # SpyTech Phone Service
 spytechphone    8192/udp                # SpyTech Phone Service
 blp1            8194/tcp                # Bloomberg data API
@@ -9816,12 +10062,16 @@ lm-webwatcher   8208/tcp                # LM Webwatcher
 lm-webwatcher   8208/udp                # LM Webwatcher
 rexecj          8230/tcp                # RexecJ Server
 rexecj          8230/udp                # RexecJ Server
+hncp-udp-port   8231/udp                # HNCP
+hncp-dtls-port  8232/udp                # HNCP over DTLS
 synapse-nhttps  8243/tcp                # Synapse Non Blocking HTTPS
 synapse-nhttps  8243/udp                # Synapse Non Blocking HTTPS
 pando-sec       8276/tcp                # Pando Media Controlled Distribution
 pando-sec       8276/udp                # Pando Media Controlled Distribution
 synapse-nhttp   8280/tcp                # Synapse Non Blocking HTTP
 synapse-nhttp   8280/udp                # Synapse Non Blocking HTTP
+libelle         8282/tcp                # Libelle EnterpriseBus
+libelle-disc    8282/udp                # Libelle EnterpriseBus Discovery
 blp3            8292/tcp                # Bloomberg professional
 blp3            8292/udp                # Bloomberg professional
 blp4            8294/tcp                # Bloomberg intelligent client
@@ -9836,6 +10086,8 @@ tnp-discover    8320/tcp                # Thin(ium) Network Protocol
 tnp-discover    8320/udp                # Thin(ium) Network Protocol
 tnp             8321/tcp                # Thin(ium) Network Protocol
 tnp             8321/udp                # Thin(ium) Network Protocol
+garmin-marine   8322/tcp                # Garmin Marine
+garmin-marine   8322/udp                # Garmin Marine
 server-find     8351/tcp                # Server Find
 server-find     8351/udp                # Server Find
 cruise-enum     8376/tcp                # Cruise ENUM
@@ -9850,6 +10102,7 @@ cruise-update   8380/tcp                # Cruise UPDATE
 cruise-update   8380/udp                # Cruise UPDATE
 m2mservices     8383/tcp                # M2m Services
 m2mservices     8383/udp                # M2m Services
+marathontp      8384/udp                # Marathon Transport Protocol
 cvd             8400/tcp                # cvd
 cvd             8400/udp                # cvd
 sabarsd         8401/tcp                # sabarsd
@@ -9860,6 +10113,7 @@ admind2         8403/tcp                # admind
 admind2         8403/udp                # admind
 svcloud         8404/tcp                # SuperVault Cloud
 svbackup        8405/tcp                # SuperVault Backup
+dlpx-sp         8415/tcp                # Delphix Session Protocol
 espeech         8416/tcp                # eSpeech Session Protocol
 espeech         8416/udp                # eSpeech Session Protocol
 espeech-rtp     8417/tcp                # eSpeech RTP Protocol
@@ -9870,8 +10124,11 @@ pcsync-https    8443/tcp                # PCsync HTTPS
 pcsync-https    8443/udp                # PCsync HTTPS
 pcsync-http     8444/tcp                # PCsync HTTP
 pcsync-http     8444/udp                # PCsync HTTP
+copy            8445/tcp                # Port for copy per sync feature
+copy-disc       8445/udp                # Port for copy discovery
 npmp            8450/tcp                # npmp
 npmp            8450/udp                # npmp
+nexentamv       8457/tcp                # Nexenta Management GUI
 cisco-avp       8470/tcp                # Cisco Address Validation Protocol
 pim-port        8471/tcp                # PIM over Reliable Transport
 pim-port        8471/sctp               # PIM over Reliable Transport
@@ -9885,12 +10142,14 @@ fmtp            8500/tcp                # Flight Message Transfer Protocol
 fmtp            8500/udp                # Flight Message Transfer Protocol
 cmtp-mgt        8501/tcp                # CYTEL Message Transfer Management
 cmtp-av         8501/udp                # CYTEL Message Transfer Audio and Video
+ftnmtp          8502/tcp                # FTN Message Transfer
+lsp-self-ping   8503/udp                # MPLS LSP Self-Ping
 rtsp-alt        8554/tcp                # RTSP Alternate (see port 554)
 rtsp-alt        8554/udp                # RTSP Alternate (see port 554)
 d-fence         8555/tcp                # SYMAX D-FENCE
 d-fence         8555/udp                # SYMAX D-FENCE
-oap-admin       8567/tcp                # Object Access Protocol Administration
-oap-admin       8567/udp                # Object Access Protocol Administration
+dof-tunnel      8567/tcp                # DOF tunneling protocol
+dof-tunnel      8567/udp                # DOF tunneling protocol
 asterix         8600/tcp                # Surveillance Data
 asterix         8600/udp                # Surveillance Data
 canon-cpp-disc  8609/udp                # Canon Compact Printer Protocol Discovery
@@ -9905,23 +10164,31 @@ canon-bjnp3     8613/udp                # Canon BJNP Port 3
 canon-bjnp4     8614/tcp                # Canon BJNP Port 4
 canon-bjnp4     8614/udp                # Canon BJNP Port 4
 imink           8615/tcp                # Imink Service Control
+monetra         8665/tcp                # Monetra
+monetra-admin   8666/tcp                # Monetra Administrative
 msi-cps-rm      8675/tcp                # Programming Software for Radio Management Motorola Solutions Customer
 msi-cps-rm-disc 8675/udp                # Programming Software for Radio Management Discovery
 sun-as-jmxrmi   8686/tcp                # Sun App Server - JMX/RMI
 sun-as-jmxrmi   8686/udp                # Sun App Server - JMX/RMI
+openremote-ctrl 8688/tcp                # OpenRemote Controller
 vnyx            8699/tcp                # VNYX Primary Port
 vnyx            8699/udp                # VNYX Primary Port
+nvc             8711/tcp                # Nuance Voice Control
 dtp-net         8732/udp                # DASGIP Net Services
 ibus            8733/tcp                # iBus
 ibus            8733/udp                # iBus
+dey-keyneg      8750/tcp                # DEY Storage Key Negotiation
 mc-appserver    8763/tcp                # MC-APPSERVER
 mc-appserver    8763/udp                # MC-APPSERVER
 openqueue       8764/tcp                # OPENQUEUE
 openqueue       8764/udp                # OPENQUEUE
 ultraseek-http  8765/tcp                # Ultraseek HTTP
 ultraseek-http  8765/udp                # Ultraseek HTTP
+amcs            8766/tcp                # Agilent Connectivity Service
+amcs            8766/udp                # Agilent Connectivity Service
 dpap            8770/tcp                # Digital Photo Access Protocol
 dpap            8770/udp                # Digital Photo Access Protocol
+uec             8778/tcp                # Stonebranch Universal Enterprise Controller
 msgclnt         8786/tcp                # Message Client
 msgclnt         8786/udp                # Message Client
 msgsrvr         8787/tcp                # Message Server
@@ -9953,6 +10220,8 @@ ddi-tcp-6       8893/tcp                # Desktop Data TCP 5: NewsEDGE/Web appli
 ddi-udp-6       8893/udp                # Desktop Data UDP 5: NewsEDGE/Web application
 ddi-tcp-7       8894/tcp                # Desktop Data TCP 6: COAL application
 ddi-udp-7       8894/udp                # Desktop Data UDP 6: COAL application
+canto-roboflow  8898/tcp                # Canto RoboFlow Control
+#canto-roboflow  8998/tcp                        # Canto RoboFlow Control
 ospf-lite       8899/tcp                # ospf-lite
 ospf-lite       8899/udp                # ospf-lite
 jmb-cds1        8900/tcp                # JMB-CDS 1
@@ -9971,12 +10240,16 @@ twds            8937/tcp                # Transaction Warehouse Data Service
 ub-dns-control  8953/tcp                # unbound dns nameserver control
 cumulus-admin   8954/tcp                # Cumulus Admin Port
 cumulus-admin   8954/udp                # Cumulus Admin Port
+nod-provider    8980/tcp                # Network of Devices Provider
+nod-provider    8980/udp                # Network of Devices Provider
+nod-client      8981/udp                # Network of Devices Client
 sunwebadmins    8989/tcp                # Sun Web Server SSL Admin Service
 sunwebadmins    8989/udp                # Sun Web Server SSL Admin Service
 http-wmap       8990/tcp                # webmail HTTP service
 http-wmap       8990/udp                # webmail HTTP service
 https-wmap      8991/tcp                # webmail HTTPS service
 https-wmap      8991/udp                # webmail HTTPS service
+oracle-ms-ens   8997/tcp                # Oracle Messaging Server Event Notification Service
 bctp            8999/tcp                # Brodos Crypto Trade Protocol
 bctp            8999/udp                # Brodos Crypto Trade Protocol
 cslistener      9000/tcp                # CSlistener
@@ -9985,6 +10258,7 @@ etlservicemgr   9001/tcp                # ETL Service Manager
 etlservicemgr   9001/udp                # ETL Service Manager
 dynamid         9002/tcp                # DynamID authentication
 dynamid         9002/udp                # DynamID authentication
+golem           9005/tcp                # Golem Inter-System RPC
 ogs-client      9007/udp                # Open Grid Services Client
 ogs-server      9008/tcp                # Open Grid Services Server
 pichat          9009/tcp                # Pichat Server
@@ -10046,6 +10320,8 @@ astergate-disc  9106/udp                # Astergate Discovery Service
 astergatefax    9107/tcp                # AstergateFax Control Service
 mxit            9119/tcp                # MXit Instant Messaging
 mxit            9119/udp                # MXit Instant Messaging
+grcmp           9122/tcp                # Global Relay compliant mobile IM protocol
+grcp            9123/tcp                # Global Relay compliant IM protocol
 dddp            9131/tcp                # Dynamic Device Discovery
 dddp            9131/udp                # Dynamic Device Discovery
 apani1          9160/tcp                # apani1
@@ -10100,6 +10376,7 @@ teamcoherence   9222/tcp                # QSC Team Coherence
 teamcoherence   9222/udp                # QSC Team Coherence
 Mon             9255/tcp                # Manager On Network
 Mon             9255/udp                # Manager On Network
+traingpsdata    9277/udp                # GPS Data transmition from train to ground network
 pegasus         9278/tcp                # Pegasus GPS Platform
 pegasus         9278/udp                # Pegasus GPS Platform
 pegasus-ctl     9279/tcp                # Pegaus GPS System Control Interface
@@ -10139,6 +10416,7 @@ mpidcmgr        9343/tcp                # MpIdcMgr
 mpidcmgr        9343/udp                # MpIdcMgr
 mphlpdmc        9344/tcp                # Mphlpdmc
 mphlpdmc        9344/udp                # Mphlpdmc
+rancher         9345/tcp                # Rancher Agent
 ctechlicensing  9346/tcp                # C Tech Licensing
 ctechlicensing  9346/udp                # C Tech Licensing
 fjdmimgr        9374/tcp                # fjdmimgr
@@ -10210,6 +10488,7 @@ peoctlr         9630/tcp                # Peovica Controller
 peocoll         9631/tcp                # Peovica Collector
 mc-comm         9632/udp                # Mobile-C Communications
 pqsflows        9640/tcp                # ProQueSys Flows Service
+zoomcp          9666/tcp                # Zoom Control Panel Game Server Management
 xmms2           9667/tcp                # Cross-platform Music Multiplexing System
 xmms2           9667/udp                # Cross-platform Music Multiplexing System
 tec5-sdctp      9668/tcp                # tec5 Spectral Device Control Protocol
@@ -10244,7 +10523,6 @@ gt-proxy        9889/tcp                # Port for Cable network related data pr
 gt-proxy        9889/udp                # Port for Cable network related data proxy or repeater
 monkeycom       9898/tcp                # MonkeyCom
 monkeycom       9898/udp                # MonkeyCom
-sctp-tunneling  9899/tcp                # SCTP TUNNELING
 sctp-tunneling  9899/udp                # SCTP TUNNELING
 iua             9900/tcp                # IUA
 iua             9900/udp                # IUA
@@ -10258,6 +10536,7 @@ domaintime      9909/tcp                # domaintime
 domaintime      9909/udp                # domaintime
 sype-transport  9911/tcp                # SYPECom Transport Protocol
 sype-transport  9911/udp                # SYPECom Transport Protocol
+xybrid-cloud    9925/tcp                # XYBRID Cloud
 apc-9950        9950/tcp                # APC 9950
 apc-9950        9950/udp                # APC 9950
 apc-9951        9951/tcp                # APC 9951
@@ -10272,6 +10551,7 @@ alljoyn-mcm     9955/udp                # multiplexed constrained messaging
 alljoyn         9956/udp                # Alljoyn Name Service
 odnsp           9966/tcp                # OKI Data Network Setting Protocol
 odnsp           9966/udp                # OKI Data Network Setting Protocol
+xybrid-rt       9978/tcp                # XYBRID RT Server
 dsm-scm-target  9987/tcp                # DSM/SCM Target Interface
 dsm-scm-target  9987/udp                # DSM/SCM Target Interface
 nsesrvr         9988/tcp                # Software Essentials Secure HTTP server
@@ -10305,6 +10585,7 @@ documentum_s    10003/tcp  documentum-s  # EMC-Documentum Content Server Product
 documentum_s    10003/udp  documentum-s  # EMC-Documentum Content Server Product
 emcrmirccd      10004/tcp               # EMC Replication Manager Client
 emcrmird        10005/tcp               # EMC Replication Manager Server
+netapp-sync     10006/tcp               # Sync replication protocol among different NetApp platforms
 mvs-capacity    10007/tcp               # MVS Capacity
 mvs-capacity    10007/udp               # MVS Capacity
 octopus         10008/tcp               # Octopus Multiplexer
@@ -10312,6 +10593,7 @@ octopus         10008/udp               # Octopus Multiplexer
 swdtp-sv        10009/tcp               # Systemwalker Desktop Patrol
 swdtp-sv        10009/udp               # Systemwalker Desktop Patrol
 rxapi           10010/tcp               # ooRexx rxapi services
+cefdvmp         10023/udp               # Comtech EF-Data's Vipersat Management Protocol (likely typo in IANA reservation)
 zabbix-agent    10050/tcp               # Zabbix Agent
 zabbix-agent    10050/udp               # Zabbix Agent
 zabbix-trapper  10051/tcp               # Zabbix Trapper
@@ -10342,6 +10624,7 @@ netiq-voipa     10116/tcp               # NetIQ VoIP Assessor
 netiq-voipa     10116/udp               # NetIQ VoIP Assessor
 iqrm            10117/tcp               # NetIQ IQCResource Managament Svc
 iqrm            10117/udp               # NetIQ IQCResource Managament Svc
+cimple          10125/udp               # HotLink CIMple REST API
 bmc-perf-sd     10128/tcp               # BMC-PERFORM-SERVICE DAEMON
 bmc-perf-sd     10128/udp               # BMC-PERFORM-SERVICE DAEMON
 bmc-gms         10129/tcp               # BMC General Manager Server
@@ -10357,11 +10640,13 @@ rsms            10201/tcp               # Remote Server Management Service
 rscs            10201/udp               # Remote Server Control and Test Service
 apollo-relay    10252/tcp               # Apollo Relay Port
 apollo-relay    10252/udp               # Apollo Relay Port
+eapol-relay     10253/udp               # Relay of EAPOL frames
 axis-wimp-port  10260/tcp               # Axis WIMP Port
 axis-wimp-port  10260/udp               # Axis WIMP Port
 blocks          10288/tcp               # Blocks
 blocks          10288/udp               # Blocks
 cosir           10321/tcp               # Computer Op System Information Report
+bngsync         10439/udp               # BalanceNG session table synchronization protocol
 hip-nat-t       10500/udp               # HIP NAT-traversal
 MOS-lower       10540/tcp               # MOS Media Object Metadata Port
 MOS-lower       10540/udp               # MOS Media Object Metadata Port
@@ -10373,6 +10658,7 @@ MOS-soap        10543/tcp               # MOS SOAP Default Port
 MOS-soap        10543/udp               # MOS SOAP Default Port
 MOS-soap-opt    10544/tcp               # MOS SOAP Optional Port
 MOS-soap-opt    10544/udp               # MOS SOAP Optional Port
+serverdocs      10548/tcp               # Apple Document Sharing
 printopia       10631/tcp               # administration and control of "Printopia"
 gap             10800/tcp               # Gestor de Acaparamiento para Pocket PCs
 gap             10800/udp               # Gestor de Acaparamiento para Pocket PCs
@@ -10382,16 +10668,26 @@ nbd             10809/tcp               # Linux Network Block Device
 nmc-disc        10810/udp               # Nuance Mobile Care Discovery
 helix           10860/tcp               # Helix Client/Server
 helix           10860/udp               # Helix Client/Server
+bveapi          10880/tcp               # BVEssentials HTTP API
+bveapi          10880/udp               # BVEssentials HTTP API
+octopustentacle 10933/tcp               # Octopus Deploy Tentacle
 rmiaux          10990/tcp               # Auxiliary RMI Port
 rmiaux          10990/udp               # Auxiliary RMI Port
 irisa           11000/tcp               # IRISA
 irisa           11000/udp               # IRISA
 metasys         11001/tcp               # Metasys
 metasys         11001/udp               # Metasys
+cefd-vmp        11023/udp               # Comtech EF-Data's Vipersat Management Protocol (is listed as 10023 in IANA)
+weave           11095/tcp               # Nest device-to-device and device-to-service application protocol
+weave           11095/udp               # Nest device-to-device and device-to-service application protocol
+origo-sync      11103/tcp               # OrigoDB Server Sync
 netapp-icmgmt   11104/tcp               # NetApp Intercluster Management
 netapp-icdata   11105/tcp               # NetApp Intercluster Data
 sgi-lk          11106/tcp               # SGI LK Licensing service
 sgi-lk          11106/udp               # SGI LK Licensing service
+myq-termlink    11108/udp               # Hardware Terminals Discovery protocol
+sgi-dmfmgr      11109/tcp               # Data migration facility manager
+sgi-soap        11110/tcp               # Data migration facility SOAP
 vce             11111/tcp               # Viral Computing Environment (VCE)
 vce             11111/udp               # Viral Computing Environment (VCE)
 dicom           11112/tcp               # DICOM
@@ -10426,8 +10722,12 @@ arena-server    11321/tcp               # Arena Server Listen
 arena-server    11321/udp               # Arena Server Listen
 atm-uhas        11367/tcp               # ATM UHAS
 atm-uhas        11367/udp               # ATM UHAS
+lsdp            11430/udp               # Lenbrook Service Discovery Protocol
 tempest-port    11600/tcp               # Tempest Protocol Port
 tempest-port    11600/udp               # Tempest Protocol Port
+emc-xsw-dconfig 11623/tcp               # EMC XtremSW distributed config
+emc-xsw-dcache  11723/tcp               # EMC XtremSW distributed cache
+emc-xsw-dcache  11723/udp               # EMC XtremSW distributed cache
 intrepid-ssl    11751/tcp               # Intrepid SSL
 intrepid-ssl    11751/udp               # Intrepid SSL
 lanschool       11796/tcp               # LanSchool
@@ -10483,6 +10783,7 @@ italk           12345/tcp               # Italk Chat System
 italk           12345/udp               # Italk Chat System
 tsaf            12753/tcp               # tsaf port
 tsaf            12753/udp               # tsaf port
+netperf         12865/tcp               # control port for netperf benchmark
 i-zipqd         13160/tcp               # I-ZIPQD
 i-zipqd         13160/udp               # I-ZIPQD
 bcslogc         13216/tcp               # Black Crow Software application logging
@@ -10522,6 +10823,7 @@ scotty-ft       14000/udp               # SCOTTY High-Speed Filetransfer
 sua             14001/tcp               # SUA
 sua             14001/udp               # De-Registered (2001 June 06)
 sua             14001/sctp              # SUA
+scotty-disc     14002/udp               # Discovery of a SCOTTY hardware codec board
 sage-best-com1  14033/tcp               # sage Best! Config Server 1
 sage-best-com1  14033/udp               # sage Best! Config Server 1
 sage-best-com2  14034/tcp               # sage Best! Config Server 2
@@ -10530,6 +10832,7 @@ vcs-app         14141/tcp               # VCS Application
 vcs-app         14141/udp               # VCS Application
 icpp            14142/tcp               # IceWall Cert Protocol
 icpp            14142/udp               # IceWall Cert Protocol
+icpps           14143/tcp               # IceWall Cert Protocol over TLS
 gcm-app         14145/tcp               # GCM Application
 gcm-app         14145/udp               # GCM Application
 vrts-tdd        14149/tcp               # Veritas Traffic Director
@@ -10547,6 +10850,8 @@ hde-lcesrvr-2   14937/tcp               # hde-lcesrvr-2
 hde-lcesrvr-2   14937/udp               # hde-lcesrvr-2
 hydap           15000/tcp               # Hypack Data Aquisition
 hydap           15000/udp               # Hypack Data Aquisition
+onep-tls        15001/tcp               # Open Network Environment TLS
+# onep-tls        15002/tcp                       # Open Network Environment TLS
 v2g-secc        15118/udp               # v2g Supply Equipment Communication Controller Discovery Protocol
 xpilot          15345/tcp               # XPilot Contact Port
 xpilot          15345/udp               # XPilot Contact Port
@@ -10585,8 +10890,11 @@ netserialext4   16368/tcp               # Network Serial Extension Ports Four
 netserialext4   16368/udp               # Network Serial Extension Ports Four
 connected       16384/tcp               # Connected Corp
 connected       16384/udp               # Connected Corp
+rdgs            16385/tcp               # Reliable Datagram Sockets
 xoms            16619/tcp               # X509 Objects Management Service
+axon-tunnel     16665/tcp               # Reliable multipath data transport for high latencies
 vtp             16666/udp               # Vidder Tunnel Protocol
+cadsisvr        16789/tcp               # mainframe External Security Managers
 newbay-snc-mc   16900/tcp               # Newbay Mobile Client Update Service
 newbay-snc-mc   16900/udp               # Newbay Mobile Client Update Service
 sgcip           16950/tcp               # Simple Generic Client Interface Protocol
@@ -10603,19 +10911,27 @@ amt-redir-tls   16995/tcp               # Intel(R) AMT Redirection/TLS
 amt-redir-tls   16995/udp               # Intel(R) AMT Redirection/TLS
 isode-dua       17007/tcp               #
 isode-dua       17007/udp               #
+vestasdlp       17184/tcp               # Vestas Data Layer Protocol
 soundsvirtual   17185/tcp               # Sounds Virtual
 soundsvirtual   17185/udp               # Sounds Virtual
 chipper         17219/tcp               # Chipper
 chipper         17219/udp               # Chipper
+avtp            17220/tcp               # IEEE 1722 Transport Protocol for Time Sensitive Applications
+avtp            17220/udp               # IEEE 1722 Transport Protocol for Time Sensitive Applications
 avdecc          17221/tcp               # IEEE 1722.1 AVB Discovery, Enumeration, Connection management, and Control
 avdecc          17221/udp               # IEEE 1722.1 AVB Discovery, Enumeration, Connection management, and Control
 cpsp            17222/udp               # Control Plane Synchronization Protocol
+isa100-gci      17223/tcp               # ISA100 Wireless gateway to client
+trdp-pd         17224/udp               # Train Realtime Data Protocol
+trdp-md         17225/tcp               # Train Realtime Data Protocol
+trdp-md         17225/udp               # Train Realtime Data Protocol
 integrius-stp   17234/tcp               # Integrius Secure Tunnel Protocol
 integrius-stp   17234/udp               # Integrius Secure Tunnel Protocol
 ssh-mgmt        17235/tcp               # SSH Tectia Manager
 ssh-mgmt        17235/udp               # SSH Tectia Manager
 db-lsp          17500/tcp               # Dropbox LanSync Protocol
 db-lsp-disc     17500/udp               # Dropbox LanSync Discovery
+ailith          17555/tcp               # Ailith management of routers
 ea              17729/tcp               # Eclipse Aviation
 ea              17729/udp               # Eclipse Aviation
 zep             17754/tcp               # Encap. ZigBee Packets
@@ -10663,6 +10979,8 @@ apc-necmp       18888/tcp               # APCNECMP
 apc-necmp       18888/udp               # APCNECMP
 igrid           19000/tcp               # iGrid Server
 igrid           19000/udp               # iGrid Server
+scintilla       19007/tcp               # Scintilla protocol for device services
+scintilla       19007/udp               # Scintilla protocol for device services
 j-link          19020/tcp               # J-Link TCP/IP Protocol
 opsec-uaa       19191/tcp               # OPSEC UAA
 opsec-uaa       19191/udp               # OPSEC UAA
@@ -10686,6 +11004,7 @@ sxuptp          19540/tcp               # SXUPTP
 sxuptp          19540/udp               # SXUPTP
 jcp             19541/tcp               # JCP Client
 jcp             19541/udp               # JCP Client
+mle             19788/udp               # Mesh Link Establishment
 iec-104-sec     19998/tcp               # IEC 60870-5-104 process control - secure
 dnp-sec         19999/tcp               # Distributed Network Protocol - Secure
 dnp-sec         19999/udp               # Distributed Network Protocol - Secure
@@ -10712,6 +11031,7 @@ mountd          20048/udp               # NFS mount protocol
 nfsrdma         20049/tcp               # Network File System (NFS) over RDMA
 nfsrdma         20049/udp               # Network File System (NFS) over RDMA
 nfsrdma         20049/sctp              # Network File System (NFS) over RDMA
+avesterra       20057/tcp               # AvesTerra Hypergraph Transfer Protocol (HGTP)
 tolfab          20167/tcp               # TOLfab Data Change
 tolfab          20167/udp               # TOLfab Data Change
 ipdtp-port      20202/tcp               # IPD Tunneling Port
@@ -10726,6 +11046,7 @@ athand-mmp      20999/tcp               # At Hand MMP
 athand-mmp      20999/udp               # AT Hand MMP
 irtrans         21000/tcp               # IRTrans Control
 irtrans         21000/udp               # IRTrans Control
+notezilla-lan   21010/tcp               # Notezilla.Lan Server
 rdm-tfs         21553/tcp               # Raima RDM TFS
 dfserver        21554/tcp               # MineScape Design File Server
 dfserver        21554/udp               # MineScape Design File Server
@@ -10757,13 +11078,17 @@ optohost005     22005/tcp               # Opto Host Port 5
 optohost005     22005/udp               # Opto Host Port 5
 dcap            22125/tcp               # dCache Access Protocol
 gsidcap         22128/tcp               # GSI dCache Access Protocol
+easyengine      22222/tcp               # EasyEngine is CLI tool to manage WordPress Sites on Nginx server
 cis             22305/udp               # CompactIS Tunnel
+shrewd-control  22335/tcp               # Initium Labs Security and Automation Control
+shrewd-stream   22335/udp               # Initium Labs Security and Automation Streaming
 cis-secure      22343/tcp               # CompactIS Secure Tunnel
 cis-secure      22343/udp               # CompactIS Secure Tunnel
 WibuKey         22347/tcp               # WibuKey Standard WkLan
 WibuKey         22347/udp               # WibuKey Standard WkLan
 CodeMeter       22350/tcp               # CodeMeter Standard
 CodeMeter       22350/udp               # CodeMeter Standard
+codemeter-cmwan 22351/tcp               # requests of copy protection software
 caldsoft-backup 22537/tcp               # CaldSoft Backup server file transfer
 vocaltec-wconf  22555/tcp               # Vocaltec Web Conference
 vocaltec-phone  22555/udp               # Vocaltec Internet Phone
@@ -10787,6 +11112,8 @@ inovaport6      23005/tcp               # Inova LightLink Server Type 6
 inovaport6      23005/udp               # Inova LightLink Server Type 6
 gntp            23053/tcp               # Generic Notification Transport Protocol
 s102            23272/udp               # S102 application
+5afe-dir        23294/tcp               # 5AFE SDN Directory
+5afe-disc       23294/udp               # 5AFE SDN Directory discovery
 elxmgmt         23333/tcp               # Emulex HBAnyware Remote Management
 elxmgmt         23333/udp               # Emulex HBAnyware Remote Management
 novar-dbase     23400/tcp               # Novar Data
@@ -10818,10 +11145,13 @@ vista-4gl       24249/tcp               # Vista 4GL
 vista-4gl       24249/udp               # Vista 4GL
 ild             24321/tcp               # Isolv Local Directory
 ild             24321/udp               # Isolv Local Directory
+hid             24322/udp               # Human Interface Device data streams transport
 intel_rci       24386/tcp  intel-rci    # Intel RCI
 intel_rci       24386/udp  intel-rci    # Intel RCI
 tonidods        24465/tcp               # Tonido Domain Server
 tonidods        24465/udp               # Tonido Domain Server
+bilobit         24577/tcp               # bilobit Service
+bilobit-update  24577/udp               # bilobit Service Update
 flashfiler      24677/tcp               # FlashFiler
 flashfiler      24677/udp               # FlashFiler
 proactivate     24678/tcp               # Turbopower Proactivate
@@ -10869,6 +11199,7 @@ bf-game         25954/udp               # Bitfighter game server
 bf-master       25955/udp               # Bitfighter master server
 scscp           26133/tcp               # Symbolic Computation Software Composability Protocol
 scscp           26133/udp               # Symbolic Computation Software Composability Protocol
+cockroach       26257/tcp               # CockroachDB
 ezproxy         26260/tcp               # eZproxy
 ezproxy         26260/udp               # eZproxy
 ezmeeting       26261/tcp               # eZmeeting
@@ -10891,29 +11222,42 @@ kopek-httphead  27504/tcp               # Kopek HTTP Head Port
 kopek-httphead  27504/udp               # Kopek HTTP Head Port
 ars-vista       27782/tcp               # ARS VISTA Application
 ars-vista       27782/udp               # ARS VISTA Application
+astrolink       27876/tcp               # Astrolink Protocol
 tw-auth-key     27999/tcp               # TW Authentication/Key Distribution and
 tw-auth-key     27999/udp               # Attribute Certificate Services
 nxlmd           28000/tcp               # NX License Manager
 nxlmd           28000/udp               # NX License Manager
 pqsp            28001/tcp               # PQ Service
+a27-ran-ran     28119/udp               # A27 cdma2000 RAN Management
+voxelstorm      28200/tcp               # VoxelStorm game server
+voxelstorm      28200/udp               # VoxelStorm game server
 siemensgsm      28240/tcp               # Siemens GSM
 siemensgsm      28240/udp               # Siemens GSM
+bosswave        28589/tcp               # Building operating system services wide area verified exchange
 sgsap           29118/sctp              # SGsAP in 3GPP
-a27-ran-ran     28119/udp               # A27 cdma2000 RAN Management
 otmp            29167/tcp               # ObTools Message Protocol
 otmp            29167/udp               # ObTools Message Protocol
 sbcap           29168/sctp              # SBcAP in 3GPP
 iuhsctpassoc    29169/sctp              # HNBAP and RUA Common Association
+bingbang        29999/tcp               # data exchange protocol for IEC61850 inn wind power plants
+ndmps           30000/tcp               # Secure Network Data Management Protocol
 pago-services1  30001/tcp               # Pago Services 1
 pago-services1  30001/udp               # Pago Services 1
 pago-services2  30002/tcp               # Pago Services 2
 pago-services2  30002/udp               # Pago Services 2
+amicon-fpsu-ra  30003/tcp               # Amicon FPSU-IP Remote Administration
+amicon-fpsu-ra  30003/udp               # Amicon FPSU-IP Remote Administration
+amicon-fpsu-s   30004/udp               # Amicon FPSU-IP VPN
+rwp             30100/tcp               # Remote Window Protocol
+rwp             30100/sctp              # Remote Window Protocol
 kingdomsonline  30260/tcp               # Kingdoms Online (CraigAvenue)
 kingdomsonline  30260/udp               # Kingdoms Online (CraigAvenue)
+samsung-disc    30832/udp               # Samsung Convergence Discovery Protocol
 ovobs           30999/tcp               # OpenView Service Desk Client
 ovobs           30999/udp               # OpenView Service Desk Client
 autotrac-acp    31020/tcp               # Autotrac ACP 245
 yawn            31029/udp               # YaWN - Yet Another Windows Notifie
+pace-licensed   31400/tcp               # PACE license server
 xqosd           31416/tcp               # XQoS network monitor
 xqosd           31416/udp               # XQoS network monitor
 tetrinet        31457/tcp               # TetriNET Protocol
@@ -10931,6 +11275,7 @@ iracinghelper   32034/tcp               # iRacing helper service
 iracinghelper   32034/udp               # iRacing helper service
 t1distproc60    32249/tcp               # T1 Distributed Processor
 t1distproc60    32249/udp               # T1 Distributed Processor
+plex            32400/tcp               # Plex multimedia
 apm-link        32483/tcp               # Access Point Manager Link
 apm-link        32483/udp               # Access Point Manager Link
 sec-ntb-clnt    32635/tcp               # SecureNotebook-CLNT
@@ -10964,6 +11309,7 @@ mlsn            32801/udp               # Multiple Listing Service Network
 retp            32811/tcp               # Real Estate Transport Protocol
 idmgratm        32896/tcp               # Attachmate ID Manager
 idmgratm        32896/udp               # Attachmate ID Manager
+mysqlx          33060/tcp               # MySQL Database Extended Interface
 aurora-balaena  33123/tcp               # Aurora (Balaena Ltd)
 aurora-balaena  33123/udp               # Aurora (Balaena Ltd)
 diamondport     33331/tcp               # DiamondCentral Interface
@@ -10988,6 +11334,15 @@ profinet-cm     34964/tcp               # PROFInet Context Manager
 profinet-cm     34964/udp               # PROFInet Context Manager
 ethercat        34980/tcp               # EtherCAT Port
 ethercat        34980/udp               # EhterCAT Port
+heathview       35000/tcp               # HeathView
+rt-viewer       35001/tcp               # ReadyTech Viewer
+rt-viewer       35001/udp               # ReadyTech Viewer
+rt-sound        35002/tcp               # ReadyTech Sound Server
+rt-devicemapper 35003/tcp               # ReadyTech DeviceMapper
+rt-classmanager 35004/tcp               # ReadyTech ClassManager
+rt-classmanager 35004/udp               # ReadyTech ClassManager
+rt-labtracker   35005/tcp               # ReadyTech LabTracker
+rt-helper       35006/tcp               # ReadyTech Helper Service
 kitim           35354/tcp               # KIT Messenger
 altova-lm       35355/tcp               # Altova License Management
 altova-lm-disc  35355/udp               # Altova License Management Discovery
@@ -10995,17 +11350,29 @@ guttersnex      35356/tcp               # Gutters Note Exchange
 openstack-id    35357/tcp               # OpenStack ID Service
 allpeers        36001/tcp               # AllPeers Network
 allpeers        36001/udp               # AllPeers Network
+wlcp            36411/udp               # Wireless LAN Control plane Protocol (WLCP)
 s1-control      36412/sctp              # S1-Control Plane (3GPP)
 x2-control      36422/sctp              # X2-Control Plane (3GPP)
+slmap           36423/sctp              # SLm Interface Application protocol
+nq-ap           36424/sctp              # Nq and Nq' Application protocol
 m2ap            36443/sctp              # M2 Application Part
 m3ap            36444/sctp              # M3 Application Part
+xw-control      36462/sctp              # Xw-Control Plane (3GPP)
 febooti-aw      36524/tcp               # Febooti Automation Workshop
+observium-agent 36602/tcp               # Observium statistics collection agent
 kastenxpipe     36865/tcp               # KastenX Pipe
 kastenxpipe     36865/udp               # KastenX Pipe
+mapx            36700/tcp               # MapX communication
 neckar          37475/tcp               # science + computing's Venus Administration Port
 neckar          37475/udp               # science + computing's Venus Administration Port
+eftp            37601/tcp               # Epipole File Transfer
 unisys-eportal  37654/tcp               # Unisys ClearPath ePortal
 unisys-eportal  37654/udp               # Unisys ClearPath ePortal
+gdrive-sync     37483/tcp               # Google Drive Sync
+ivs-database    38000/tcp               # InfoVista Server Database
+ivs-insertion   38001/tcp               # InfoVista Server Insertion
+cresco-control  38002/tcp               # Cresco Controller
+crescoctrl-disc 38002/udp               # Cresco Controller Discovery
 galaxy7-data    38201/tcp               # Galaxy7 Data Tunnel
 galaxy7-data    38201/udp               # Galaxy7 Data Tunnel
 fairview        38202/tcp               # Fairview Message Service
@@ -11018,6 +11385,10 @@ turbonote-1     39681/tcp               # TurboNote Default Port
 turbonote-1     39681/udp               # TurboNote Default Port
 safetynetp      40000/tcp               # SafetyNET p
 safetynetp      40000/udp               # SafetyNET p
+k-patentssensor 40023/udp               # K-PatentsSensorInformation
+z-wave-s        41230/tcp               # Z-Wave Protocol over SSL/TLS
+z-wave-s        41230/udp               # Z-Wave Protocol over DTLS
+sptx            40404/tcp               # Simplify Printing TX
 cscp            40841/tcp               # CSCP
 cscp            40841/udp               # CSCP
 csccredir       40842/tcp               # CSCCREDIR
@@ -11040,6 +11411,8 @@ candrp          42509/tcp               # CA discovery response
 candrp          42509/udp               # CA discovery response
 caerpc          42510/tcp               # CA eTrust RPC
 caerpc          42510/udp               # CA eTrust RPC
+recvr-rc        43000/tcp               # Receiver Remote Control
+recvr-rc-disc   43000/udp               # Receiver Remote Control Discovery
 reachout        43188/tcp               # REACHOUT
 reachout        43188/udp               # REACHOUT
 ndm-agent-port  43189/tcp               # NDM-AGENT-PORT
@@ -11055,21 +11428,26 @@ ew-mgmt         43440/tcp               # Cisco EnergyWise Management
 ew-disc-cmd     43440/udp               # Cisco EnergyWise Discovery and Command Flooding
 ciscocsdb       43441/tcp               # Cisco NetMgmt DB Ports
 ciscocsdb       43441/udp               # Cisco NetMgmt DB Ports
+z-wave-tunnel   44123/tcp               # Z-Wave Secure Tunnel
 pmcd            44321/tcp               # PCP server (pmcd)
 pmcd            44321/udp               # PCP server (pmcd)
 pmcdproxy       44322/tcp               # PCP server (pmcd) proxy
 pmcdproxy       44322/udp               # PCP server (pmcd) proxy
-pcp             44323/udp               # Port Control Protocol
 cognex-dataman  44444/tcp               # Cognex DataMan Management
 ### UNAUTHORIZED USE: Ports 44515 & 44516 used by NI Device Protocol############
 domiq           44544/udp               # DOMIQ Building Automation
 rbr-debug       44553/tcp               # REALbasic Remote Debug
 rbr-debug       44553/udp               # REALbasic Remote Debug
+asihpi          44600/udp                # AudioScience HPI
 EtherNet/IP-2   44818/tcp EtherNet-IP-2  # EtherNet/IP messaging
 EtherNet/IP-2   44818/udp EtherNet-IP-2  # EtherNet/IP messaging
+m3da            44900/tcp               # M3DA (efficient machine-to-machine communication)
+m3da-disc       44900/udp               # M3DA Discovery (efficient machine-to-machine communication)
 asmp            45000/tcp               # NSi AutoStore Status Monitoring Protocol data transfer
 asmp-mon        45000/udp               # NSi AutoStore Status Monitoring Protocol device monitoring
 asmps           45001/tcp               # NSi AutoStore Status Monitoring Protocol secure data transfer
+rs-status       45002/tcp               # Redspeed Status Monitor
+synctest        45045/tcp               # Remote application control
 invision-ag     45054/tcp               # InVision AG
 invision-ag     45054/udp               # InVision AG
 eba             45678/tcp               # EBA PRISE
@@ -11079,12 +11457,13 @@ qdb2service     45825/tcp               # Qpuncture Data Access Service
 qdb2service     45825/udp               # Qpuncture Data Access Service
 ssr-servermgr   45966/tcp               # SSRServerMgr
 ssr-servermgr   45966/udp               # SSRServerMgr
-sp-remotetablet 46998/tcp               # connection between computer and a signature tablet
+inedo           46336/tcp               # Listen port used for Inedo agent
 mediabox        46999/tcp               # MediaBox Server
 mediabox        46999/udp               # MediaBox Server
 mbus            47000/tcp               # Message Bus
 mbus            47000/udp               # Message Bus
 winrm           47001/tcp               # Windows Remote Management Service
+jvl-mactalk     47100/udp               # Configuration of motors conneced to industrial ethernet
 dbbrowse        47557/tcp               # Databeam Corporation
 dbbrowse        47557/udp               # Databeam Corporation
 directplaysrvr  47624/tcp               # Direct Play Server
@@ -11093,6 +11472,7 @@ ap              47806/tcp               # ALC Protocol
 ap              47806/udp               # ALC Protocol
 bacnet          47808/tcp               # Building Automation and Control Networks
 bacnet          47808/udp               # Building Automation and Control Networks
+presonus-ucnet  47809/udp               # PreSonus Universal Control Network protocol
 nimcontroller   48000/tcp               # Nimbus Controller
 nimcontroller   48000/udp               # Nimbus Controller
 nimspooler      48001/tcp               # Nimbus Spooler
@@ -11104,6 +11484,7 @@ nimgtw          48003/udp               # Nimbus Gateway
 nimbusdb        48004/tcp               # NimbusDB Connector
 nimbusdbctrl    48005/tcp               # NimbusDB Control
 3gpp-cbsp       48049/tcp               # 3GPP Cell Broadcast Service Protocol
+weandsf         48050/tcp               # WeFi Access Network Discovery and Selection
 isnetserv       48128/tcp               # Image Systems Network Services
 isnetserv       48128/udp               # Image Systems Network Services
 blp5            48129/tcp               # Bloomberg locator
@@ -11112,4 +11493,115 @@ com-bardac-dw   48556/tcp               # com-bardac-dw
 com-bardac-dw   48556/udp               # com-bardac-dw
 iqobject        48619/tcp               # iqobject
 iqobject        48619/udp               # iqobject
+robotraconteur  48653/tcp               # Robot Raconteur transport
+robotraconteur  48653/udp               # Robot Raconteur transport
 matahari        49000/tcp               # Matahari Broker
+nusrp           49001/tcp               # Nuance Unity Service Request Protocol
+nusdp-disc      49001/udp               # Nuance Unity Service Discovery Protocol
+# Updated additional list from IANA with all missing services 05/05/2017 done by Karl Vogel
+mit-ml-dev      85/tcp                  # MIT ML Device
+mit-ml-dev      85/udp                  # MIT ML Device
+rap             256/tcp                 # Route Access Protocol
+rap             256/udp                 # Route Access Protocol
+pt-tls          271/tcp                 # IETF Network Endpoint Assessment (PT-TLS)
+meter           571/tcp                 # udemon
+meter           571/udp                 # udemon
+dlep            854/tcp                 # Dynamic Link Exchange Protocol (DLEP)
+dlep            854/udp                 # Dynamic Link Exchange Protocol (DLEP)
+accessbuilder   888/udp                 # AccessBuilder
+webpush         1001/tcp                # HTTP Web Push
+pip             1321/tcp                # PIP
+pip             1321/udp                # PIP
+csdmbase        1471/tcp                # csdmbase
+csdmbase        1471/udp                # csdmbase
+csdm            1472/tcp                # csdm
+csdm            1472/udp                # csdm
+ngr-t           1528/udp                # NGR transport for mobile ad-hoc networks
+nmsp            1790/tcp                # Narrative Media Streaming Protocol
+nmsp            1790/udp                # Narrative Media Streaming Protocol
+uma             1797/tcp                # Universal Management Architecture
+uma             1797/udp                # Universal Management Architecture
+raid-cd         2013/udp                # raid
+dls             2047/tcp                #
+dls             2047/udp                #
+nvd             2329/tcp                # NVD User
+nvd             2329/udp                # NVD User
+swarm           2377/tcp                # RPC interface for Docker Swarm
+msp             2438/tcp                # Message send protocol?
+msp             2438/udp                # Message send protocol?
+unicontrol      2499/tcp                # UniControl
+unicontrol      2499/udp                # UniControl
+nmsigport       2839/tcp                # NMSigPort
+nmsigport       2839/udp                # NMSigPort
+fxp             2849/tcp                # FXP Communication
+fxp             2849/udp                # FXP Communication
+epp             3044/tcp                # EndPoint Protocol
+epp             3044/udp                # EndPoint Protocol
+creativeserver  3364/tcp                # Creative Server
+creativeserver  3364/udp                # Creative Server
+contentserver   3365/tcp                # Content Server
+contentserver   3365/udp                # Content Server
+creativepartnr  3366/tcp                # Creative Partner
+creativepartnr  3366/udp                # Creative Partner
+udt-os          3900/tcp                # Unidata UDT OS
+udt-os          3900/udp                # Unidata UDT OS
+npp             4045/tcp                # Network Paging Protocol
+npp             4045/udp                # Network Paging Protocol
+hctl            4197/tcp                # Harman HControl Protocol
+hctl            4197/udp                # Harman HControl Protocol
+trinity-dist    4711/sctp               # Trinity Trust Network Node Communication
+trinity-dist    4711/tcp                # Trinity Trust Network Node Communication
+trinity-dist    4711/udp                # Trinity Trust Network Node Communication
+intelliadm-disc 4746/udp                # IntelliAdmin Discovery
+gre-in-udp      4754/udp                # GRE-in-UDP Encapsulation
+gre-udp-dtls    4755/udp                # GRE-in-UDP Encapsulation with DTLS
+RDCenter        4756/tcp                # Reticle Decision Center
+converge        4774/tcp                # Converge RPC
+mftp            5402/tcp                # OmniCast MFTP
+mftp            5402/udp                # OmniCast MFTP
+cbus            5550/tcp                # Model Railway control using CBUS protocol
+storageos       5705/tcp                # StorageOS REST API
+ricardo-lm      6148/tcp                # Ricardo North America License Manager
+ricardo-lm      6148/udp                # Ricardo North America License Manager
+ieee11073-20701 6464/tcp                # Medical device communication
+ieee11073-20701 6464/udp                # Medical device communication
+nexgen-aux      6629/tcp                #
+nexgen-aux      6629/udp                #
+rtimeviewer     6900/tcp                # R*TIME Viewer Data Interface
+spg             7016/tcp                # SPG Controls Carrier
+spg             7016/udp                # SPG Controls Carrier
+grasp           7017/tcp                # GeneRic Autonomic Signaling Protocol
+grasp           7017/udp                # GeneRic Autonomic Signaling Protocol
+pon-ictp        7202/tcp                # Inter-Channel Termination Protocol (ICTP)
+openit          7478/tcp                # IT Asset Management
+coherence-disc  7574/udp                # Oracle Coherence Cluster discovery service
+bolt            7687/tcp                # Bolt database connection
+nfapi           7701/sctp               # SCF nFAPI defining MAC/PHY split
+wpl-analytics   8006/tcp                # World Programming analytics
+wpl-disc        8006/udp                # World Programming analytics discovery
+ucs-isc         8070/tcp                # Oracle Communication Indexed Search Converter
+mles            8077/tcp                # Client-server data distribution
+opsmessaging    8090/tcp                # Vehicle to station messaging
+robot-remote    8270/tcp                # Robot Framework Remote Library Interface
+aritts          8423/tcp                # Aristech text-to-speech server
+ssports-bcast   8808/udp                # STATSports Broadcast Service
+CardWeb-IO      9060/tcp                # CardWeb request-response I/O exchange
+CardWeb-RT      9060/udp                # CardWeb realtime device data
+pumpkindb       9981/tcp                # Event sourcing database engine/language
+abb-hw          10020/tcp               # Hardware configuration and maintenance
+tile-ml         10261/tcp               # Tile remote machine learning
+xpra            14500/tcp               # xpra network protocol
+vdmmesh-disc    18668/udp               # Manufacturing Execution Systems Mesh Comm
+vdmmesh         18668/tcp               # Manufacturing Execution Systems Mesh Comm
+cora-disc       19220/udp               # Discovery for Client Connection ... Service
+cora            19220/tcp               # Client Connection Mgmt/Data Exchange Service
+aigairserver    21221/tcp               # Services for Air Server
+ka-kdp          31016/udp               # Kollective Agent Kollective Delivery
+ka-sddp         31016/tcp               # Kollective Agent Secure Distributed Delivery
+edi_service     34567/udp               # dhanalakshmi.org EDI Service
+axio-disc       35100/tcp               # Axiomatic discovery protocol
+axio-disc       35100/udp               # Axiomatic discovery protocol
+pmwebapi        44323/tcp               # Performance Co-Pilot client HTTP API
+cloudcheck-ping 45514/udp               # ASSIA CloudCheck WiFi Management keepalive
+cloudcheck      45514/tcp               # ASSIA CloudCheck WiFi Management System
+spremotetablet  46998/tcp               # Capture handwritten signatures
index 09d94e23de875c8c0d944039bef82dd6d2242f20..e1f410086731e4f33d70d8774dd7cebf04d6fdaf 100644 (file)
@@ -5,8 +5,7 @@
 
 name       = setup
 version    = 3.0
-release    = 14
-arch       = noarch
+release    = 19
 
 groups     = Base Build System/Base
 url        =
@@ -22,6 +21,8 @@ end
 sources    =
 
 build
+       arches = noarch
+
        DIR_APP = %{DIR_SOURCE}
 
        requires
@@ -29,7 +30,7 @@ build
        end
 
        build
-               ./shadowconvert.sh
+               bash ./shadowconvert.sh
        end
 
        test
@@ -37,17 +38,38 @@ build
        end
 
        install
+               # Create missing folders.
                mkdir -pv %{BUILDROOT}/etc/profile.d %{BUILDROOT}/var/log
 
-               for i in aliases bashrc exports filesystems group gshadow host.conf \
-                       hosts hosts.allow hosts.deny inputrc motd passwd printcap \
-                       profile protocols securetty services shadow shells; do \
+               # Install our config files.
+               for i in aliases bashrc ethertypes exports filesystems group gshadow \
+                       host.conf hosts hosts.allow hosts.deny inputrc motd passwd \
+                       printcap profile protocols securetty services shadow shells; do \
                        cp -vf %{DIR_APP}/${i} %{BUILDROOT}/etc || exit 1; \
                done
 
+               # Create envvar overwrite file for bash.
+               echo "#Add any required envvar overrides to this file, \
+                       it is sourced from /etc/profile" > %{BUILDROOT}%{sysconfdir}/profile.d/sh.local
+
                touch %{BUILDROOT}%{sysconfdir}/fstab
                chmod -v 0400 %{BUILDROOT}%{sysconfdir}/{,g}shadow
 
+               # Create empty environment config file.
+               touch %{BUILDROOT}%{sysconfdir}/environment
+               chmod 0644 %{BUILDROOT}%{sysconfdir}/environment
+
+               # Create MOTD (message of the day) folder layout.       
+               mkdir -p %{BUILDROOT}/etc/motd.d
+               mkdir -p %{BUILDROOT}/usr/lib/motd.d
+               touch %{BUILDROOT}/usr/lib/motd
+       
+               # Create a tmpfiles file, needed for files in /run
+               mkdir -p %{BUILDROOT}%{tmpfilesdir}     
+               echo "f /run/motd 0644 root root -" > %{BUILDROOT}%{tmpfilesdir}/%{name}.conf
+               echo "d /run/motd.d 0755 root root -" >> %{BUILDROOT}%{tmpfilesdir}/%{name}.conf
+               chmod 0644 %{BUILDROOT}%{tmpfilesdir}/%{name}.conf
+
                mkdir -pv %{BUILDROOT}%{sysconfdir}/sysctl.d
                install -m 644 %{DIR_APP}/sysctl/printk.conf \
                        %{BUILDROOT}%{sysconfdir}/sysctl.d/printk.conf
@@ -74,6 +96,8 @@ packages
 
                configfiles
                        /etc/aliases
+                       /etc/environment
+                       /etc/ethertypes
                        /etc/exports
                        /etc/fstab
                        /etc/group
index e9214ad6fe3769fc68880b9d8a791443171c28fa..b52774295b00c9a25cc1a6dddd2b156191950838 100644 (file)
@@ -1,3 +1,4 @@
 /bin/sh
 /bin/bash
-/sbin/nologin
+/usr/bin/sh
+/usr/bin/bash
index 33e096c7ce5036574ab8d025b37efc284a995ee7..6f782e0b1f6506855c27cb9e3a15e4da1a241105 100644 (file)
@@ -7,3 +7,22 @@ kernel.dmesg_restrict = 1
 # Improve KASLR effectiveness for mmap.
 vm.mmap_rnd_bits = 32
 vm.mmap_rnd_compat_bits = 16
+
+# Turn on hard- and symlink protection
+fs.protected_symlinks = 1
+fs.protected_hardlinks = 1
+
+# Don't allow writes to files and FIFOs that we don't own in world writable sticky
+# directories, unless they are owned by the owner of the directory.
+fs.protected_fifos = 2
+fs.protected_regular = 2
+
+# Include PID in file names of generated core dumps
+kernel.core_uses_pid = 1
+
+# Block non-uid-0 profiling
+kernel.perf_event_paranoid = 3
+
+# Restrict loading TTY line disciplines to CAP_SYS_MODULE to prevent unprivileged attackers
+# from loading vulnerable line disciplines with the TIOCSETD ioctl.
+dev.tty.ldisc_autoload = 0
diff --git a/setup/sysctl/networking.conf b/setup/sysctl/networking.conf
new file mode 100644 (file)
index 0000000..1f93108
--- /dev/null
@@ -0,0 +1,44 @@
+net.ipv4.ip_forward = 1
+net.ipv4.ip_dynaddr = 1
+
+net.ipv4.icmp_echo_ignore_broadcasts = 1
+net.ipv4.icmp_ignore_bogus_error_responses = 1
+net.ipv4.icmp_ratelimit = 1000
+net.ipv4.icmp_ratemask = 6168
+
+net.ipv4.tcp_syncookies = 1
+net.ipv4.tcp_fin_timeout = 30
+net.ipv4.tcp_syn_retries = 3
+net.ipv4.tcp_synack_retries = 3
+
+net.ipv4.conf.default.arp_filter = 1
+net.ipv4.conf.default.rp_filter = 1
+net.ipv4.conf.default.accept_redirects = 0
+net.ipv4.conf.default.accept_source_route = 0
+net.ipv4.conf.default.log_martians = 1
+
+net.ipv4.conf.all.arp_filter = 1
+net.ipv4.conf.all.rp_filter = 1
+net.ipv4.conf.all.accept_redirects = 0
+net.ipv4.conf.all.accept_source_route = 0
+net.ipv4.conf.all.log_martians = 1
+
+# Increase kernel buffer size maximums
+net.ipv4.tcp_mem = 16777216 16777216 16777216
+net.ipv4.tcp_rmem = 4096 87380 16777216
+net.ipv4.tcp_wmem = 4096 16384 16777216
+net.ipv4.udp_mem = 3145728 4194304 16777216
+
+# Prefer low latency over higher throughput
+net.ipv4.tcp_low_latency = 1
+
+# Reserve more socket space for the TCP window
+net.ipv4.tcp_adv_win_scale = 2
+
+# Enable TCP fast-open
+net.ipv4.tcp_fastopen = 3
+
+# Drop RST packets for sockets in TIME-WAIT state, as described in RFC 1337.
+# This protects against various TCP attacks, such as DoS against or injection
+# of arbitrary segments into prematurely closed connections.
+net.ipv4.tcp_rfc1337 = 1
index 7bdb249a87d08558b623a8ea3d7e92e33a94cf56..c895738bb0df37b507a89374628b29460f9286b7 100644 (file)
@@ -1,31 +1,32 @@
-NAME   UID     GID     HOME            SHELL   PACKAGES
+#NAME  UID     GID     HOME            SHELL   PACKAGES
 root   0       0       /root           /bin/bash       setup
-bin    1       1       /bin            /sbin/nologin   setup
-daemon 2       2       /sbin           /sbin/nologin   setup
+bin    1       1       /bin            /usr/sbin/nologin       setup
+daemon 2       2       /sbin           /usr/sbin/nologin       setup
 sys    -       3       -               -       setup
 adm    3       4       /var/adm                /bin/bash       setup
 tty    -       5       -               -       setup
 disk   -       6       -               -       setup
-lp     4       7       /var/spool/lpd          /sbin/nologin   setup
+lp     4       7       /var/spool/lpd          /usr/sbin/nologin       setup
 mem    -       8       -               -       setup
 kmem   -       9       -               -       setup
 wheel  -       10      -               -       setup
-cdrom  -       11      -               -       udev,MAKEDEV
+cdrom  -       11      -               -       setup
 sync   5       (0)     /sbin           /bin/sync       setup
 shutdown       6       (0)     /sbin           /sbin/shutdown  setup
 halt   7       (0)     /sbin           /sbin/halt      setup
-mail   8       12      /var/spool/mail         /sbin/nologin   setup
-news   9       13      /var/spool/news         /sbin/nologin   setup
-uucp   10      14      /var/spool/uucp         /sbin/nologin   setup
-operator       11      (0)     /root           /sbin/nologin   setup
-games  12      (100)   /usr/games              /sbin/nologin   setup
-gopher 13      30      /usr/lib/gopher-data            /sbin/nologin   setup
-ftp    14      50      /var/ftp                /sbin/nologin   setup
+mail   8       12      /var/spool/mail         /usr/sbin/nologin       setup
+news   9       13      /var/spool/news         /usr/sbin/nologin       inn
+uucp   10      14      /var/spool/uucp         /usr/sbin/nologin       uucp
+operator       11      (0)     /root           /usr/sbin/nologin       setup
+games  12      (100)   /usr/games              /usr/sbin/nologin       setup
+# Not created by default anymore.
+gopher 13      30      /var/gopher             /usr/sbin/nologin       -
+ftp    14      50      /var/ftp                /usr/sbin/nologin       setup
 man    -       15      -               -       setup
-oprofile       16      16      /home/oprofile          /sbin/nologin   oprofile
-pkiuser        17      17      /usr/share/pki          /sbin/nologin   pki-ca,rhpki-ca
-dialout        -       18      -               -       udev,MAKEDEV
-floppy -       19      -               -       dev,MAKEDEV
+oprofile       16      16      /var/lib/oprofile               /usr/sbin/nologin       oprofile
+pkiuser        17      17      /usr/share/pki          /usr/sbin/nologin       pki-ca,rhpki-ca
+dialout        -       18      -               -       setup
+floppy -       19      -               -       setup
 games  -       20      -               -       setup
 slocate        -       21      -               -       slocate
 utmp   -       22      -               -       initscripts,libutempter
@@ -37,93 +38,138 @@ mysql      27      27      /var/lib/mysql          /bin/bash       mysql
 nscd   28      28      /               /bin/false      nscd
 rpcuser        29      29      /var/lib/nfs            /bin/false      nfs-utils
 console        -       31      -               -       dev
-rpc    32      32      /               /bin/false      portmap
-amanda 33      (6)     /var/lib/amanda         /bin/false      amanda
-tape   -       33      -               -       udev,MAKEDEV
+rpc    32      32      /var/lib/rpcbind                /usr/sbin/nologin       portmap
+amandabackup   33      (6)     /var/lib/amanda         /bin/false      amanda
+tape   -       33      -               -       setup
 netdump        34      34      /var/crash              /bin/bash       netdump-client, netdump-server
 utempter       -       35      -               -       libutempter
-vdsm   36      -       /               /bin/bash       kvm, vdsm
 kvm    -       36      -               -       kvm, vdsm, libvirt
+vdsm   36      (36)    /               /bin/bash       kvm, vdsm
 rpm    37      37      /var/lib/rpm            /bin/bash       rpm
-ntp    38      38      /etc/ntp                /sbin/nologin   ntp
+ntp    38      38      /etc/ntp                /usr/sbin/nologin       ntp
 video  -       39      -               -       setup
-dip    -       40      -               -       setup
-mailman        41      41      /var/mailman            /bin/false      mailman
-gdm    42      42      /var/gdm                /bin/bash       gdm
+dip    -       40      -               -       ppp
+mailman        41      41      /usr/lib/mailman                /usr/sbin/nologin       mailman
+gdm    42      42      /var/lib/gdm            /usr/sbin/nologin       gdm
 xfs    43      43      /etc/X11/fs             /bin/false      XFree86-xfs
 pppusers       -       44      -               -       linuxconf
 popusers       -       45      -               -       linuxconf
 slipusers      -       46      -               -       linuxconf
 mailnull       47      47      /var/spool/mqueue               /dev/null       sendmail
-apache 48      48      /var/www                /bin/false      apache
-wnn    49      49      /home/wnn               /bin/bash       FreeWnn
+apache 48      48      /usr/share/httpd                /bin/false      httpd
+wnn    49      49      /var/lib/wnn            /usr/sbin/nologin       FreeWnn
 smmsp  51      51      /var/spool/mqueue               /dev/null       sendmail
-puppet 52      52      /var/lib/puppet         /sbin/nologin   puppet
-tomcat 53      53      /var/lib/tomcat         /sbin/nologin   tomcat
-lock   -       54      -               -       lockdev
+puppet 52      52      /var/lib/puppet         /usr/sbin/nologin       puppet
+tomcat 53      53      /var/lib/tomcat         /usr/sbin/nologin       tomcat
+lock   -       54      -               -       setup
 ldap   55      55      /var/lib/ldap           /bin/false      openldap-servers
 frontpage      56      56      /var/www                /bin/false      mod_frontpage
 nut    57      57      /var/lib/ups            /bin/false      nut
 beagleindex    58      58      /var/cache/beagle               /bin/false      beagle
-tss    59      59      -               /sbin/nologin   trousers
+tss    59      59      -               /usr/sbin/nologin       trousers
 piranha        60      60      /etc/sysconfig/ha               /dev/null       piranha
-prelude-manager        61      61      -               /sbin/nologin   prelude-manager
-snortd 62      62      -               /sbin/nologin   snortd
+prelude-manager        61      61      -               /usr/sbin/nologin       prelude-manager
+snortd 62      62      -               /usr/sbin/nologin       snortd
 audio  -       63      -               -       setup
-condor 64      64      /var/lib/condor         /sbin/nologin   condord
-nslcd  65      (55)    /               /sbin/nologin   nslcd
+condor 64      64      /var/lib/condor         /usr/sbin/nologin       condord
+nslcd  65      (55)    /               /usr/sbin/nologin       nslcd
 wine   -       66      -               -       wine
-pegasus        66      65      /var/lib/Pegasus                /sbin/nologin   tog-pegasus
-webalizer      67      67      /var/www/html/usage             /sbin/nologin   webalizer
-haldaemon      68      68      /               /sbin/nologin   hal
-vcsa   69      69      -               /sbin/nologin   dev,MAKEDEV
-avahi  70      70      /var/run/avahi-daemon           /sbin/nologin   avahi
+pegasus        66      65      /var/lib/Pegasus                /usr/sbin/nologin       tog-pegasus
+webalizer      67      67      /var/www/usage          /usr/sbin/nologin       webalizer
+haldaemon      68      68      /               /usr/sbin/nologin       hal
+vcsa   69      69      -               /usr/sbin/nologin       dev,MAKEDEV
+avahi  70      70      /var/run/avahi-daemon           /usr/sbin/nologin       avahi
 realtime       -       71      -               -       -
-tcpdump        72      72      /               /sbin/nologin   tcpdump
+tcpdump        72      72      /               /usr/sbin/nologin       tcpdump
 privoxy        73      73      /etc/privoxy            /bin/bash       privoxy
-sshd   74      74      /var/empty/sshd         /sbin/nologin   openssh-server
+sshd   74      74      /var/empty/sshd         /usr/sbin/nologin       openssh-server
 radvd  75      75      /               /bin/false      radvd
 cyrus  76      (12)    /var/imap               /bin/bash       cyrus-imapd
-saslauth       -       76      -               -       cyrus-imapd
-arpwatch       77      77      /var/lib/arpwatch               /sbin/nologin   arpwatch
-fax    78      78      /var/spool/fax          /sbin/nologin   mgetty
+saslauth       -       76      -               -       cyrus-sasl, cyrus-imap
+arpwatch       77      77      /var/lib/arpwatch               /usr/sbin/nologin       arpwatch
+fax    78      78      /var/spool/fax          /usr/sbin/nologin       mgetty
 nocpulse       79      79      /etc/sysconfig/nocpulse         /bin/bash       nocpulse
-desktop        80      80      -               /sbin/nologin   desktop-file-utils
-dbus   81      81      /               /sbin/nologin   dbus
-jonas  82      82      /var/lib/jonas          /sbin/nologin   jonas
-clamav 83      83      /tmp            /sbin/nologin   clamav
+desktop        80      80      -               /usr/sbin/nologin       desktop-file-utils
+dbus   81      81      /               /usr/sbin/nologin       dbus
+jonas  82      82      /var/lib/jonas          /usr/sbin/nologin       jonas
+clamav 83      83      /tmp            /usr/sbin/nologin       clamav
 screen -       84      -               -       screen
-sabayon        86      86      -               /sbin/nologin   sabayon
-polkituser     87      87      /               /sbin/nologin   PolicyKit
+quaggavt       -       85      -               -       quagga
+sabayon        86      86      -               /usr/sbin/nologin       sabayon
+polkituser     87      87      /               /usr/sbin/nologin       PolicyKit
 wbpriv -       88      -               -       samba-common
 postfix        89      89      /var/spool/postfix              /bin/true       postfix
 postdrop       -       90      -               -       postfix
 majordomo      91      91      /usr/lib/majordomo              /bin/bash       majordomo
-quagga 92      92      /               /sbin/nologin   quagga
-exim   93      93      /var/spool/exim         /sbin/nologin   exim
-distcache      94      94      /               /sbin/nologin   distcache
+quagga 92      92      /               /usr/sbin/nologin       quagga
+exim   93      93      /var/spool/exim         /usr/sbin/nologin       exim
+distcache      94      94      /               /usr/sbin/nologin       distcache
 radiusd        95      95      /               /bin/false      freeradius
-hsqldb 96      96      /var/lib/hsqldb         /sbin/nologin   hsqldb
-dovecot        97      97      /usr/libexec/dovecot            /sbin/nologin   dovecot
-ident  98      98      /               /sbin/nologin   ident
-nobody 99      99      /               /sbin/nologin   setup
+hsqldb 96      96      /var/lib/hsqldb         /usr/sbin/nologin       hsqldb
+dovecot        97      97      /usr/libexec/dovecot            /usr/sbin/nologin       dovecot
+ident  98      98      /               /usr/sbin/nologin       ident
+# Note: 99 used to be the old uid for nobody, now moved to 65534, do not reuse
 users  -       100     -               -       setup
-qemu   107     107     /               /sbin/nologin   libvirt
-ovirt  108     108     /               /sbin/nologin   libvirt
-rhevm  109     109     /home/rhevm             /sbin/nologin   vdsm-reg
-saned  111     111     /               /sbin/nologin   sane-backends
-vhostmd        112     112     /usr/share/vhostmd              /sbin/nologin   vhostmd
-usbmuxd        113     113     /               /sbin/nologin   usbmuxd
-bacula 133     133     /var/spool/bacula               /sbin/nologin   bacula
-ricci  140     140     /var/lib/ricci          /sbin/nologin   ricci
-luci   141     141     /var/lib/luci           /sbin/nologin   luci
-stap-server    155     155     /var/lib/stap-server            /sbin/nologin   systemtap
-avahi-autoipd  170     170     /var/lib/avahi-autoipd          /sbin/nologin   avahi
-pulse  171     171     /var/run/pulse          /sbin/nologin   pulseaudio
-rtkit  172     172     /proc           /sbin/nologin   rtkit
-abrt   173     173     /etc/abrt               /sbin/nologin   abrt
-gnats  ?       ?       ?               ?       gnats, gnats-db
-listar ?       ?       ?               ?       listar
-nfsnobody      65534   65534   /var/lib/nfs            /sbin/nologin   nfs-utils
-
-# Note: nfsnobdy is 4294967294 on 64-bit platforms (-2)
+ssh_keys       -       101     -               -       openssh
+input  -       104     -               -       systemd
+render -       105     -               -       systemd
+sgx    -       106     -               -       systemd
+qemu   107     107     /               /usr/sbin/nologin       libvirt
+ovirt  108     108     /               /usr/sbin/nologin       libvirt
+rhevm  109     109     /home/rhevm             /usr/sbin/nologin       vdsm-reg
+jetty  110     110     /usr/share/jetty                /usr/sbin/nologin       jetty
+saned  111     111     /               /usr/sbin/nologin       sane-backends
+vhostmd        112     112     /usr/share/vhostmd              /usr/sbin/nologin       vhostmd
+usbmuxd        113     113     /               /usr/sbin/nologin       usbmuxd
+polkitd        114     114     /               /usr/sbin/nologin       polkit
+bacula 133     133     /var/spool/bacula               /usr/sbin/nologin       bacula
+cimsrvr        134     134     /               /usr/sbin/nologin       tog-pegasus-libs
+mock   -       135     /               -       mock
+ricci  140     140     /var/lib/ricci          /usr/sbin/nologin       ricci
+luci   141     141     /var/lib/luci           /usr/sbin/nologin       luci
+activemq       142     142     /usr/share/activemq             /usr/sbin/nologin       activemq
+cassandra      143     143     /var/lib/cassandra              /usr/sbin/nologin       cassandra
+stap-server    155     155     /var/lib/stap-server            /usr/sbin/nologin       systemtap
+stapusr        -       156     /               -       systemtap-runtime
+stapsys        -       157     /               -       systemtap-runtime
+stapdev        -       158     /               -       systemtap-runtime
+swift  160     160     /var/lib/swift          /usr/sbin/nologin       openstack-swift
+glance 161     161     /var/lib/glance         /usr/sbin/nologin       openstack-glance
+nova   162     162     /var/lib/nova           /usr/sbin/nologin       openstack-nova
+keystone       163     163     /var/lib/keystone               /usr/sbin/nologin       openstack-keystone
+quantum        164     164     /var/lib/quantum                /usr/sbin/nologin       openstack-quantum
+cinder 165     165     /var/lib/cinder         /usr/sbin/nologin       openstack-cinder
+ceilometer     166     166     /var/lib/ceilometer             /usr/sbin/nologin       openstack-ceilometer
+ceph   167     167     /var/lib/ceph           /usr/sbin/nologin       ceph-common
+avahi-autoipd  170     170     /var/lib/avahi-autoipd          /usr/sbin/nologin       avahi
+pulse  171     171     /var/run/pulse          /usr/sbin/nologin       pulseaudio
+rtkit  172     172     /proc           /usr/sbin/nologin       rtkit
+abrt   173     173     /etc/abrt               /usr/sbin/nologin       abrt
+retrace        174     174     /usr/share/retrace-server               /usr/sbin/nologin       retrace-server
+ovirtagent     175     175     /               /usr/sbin/nologin       ovirt-guest-agent
+ats    176     176     /               /usr/sbin/nologin       trafficserver
+dhcpd  177     177     /               /usr/sbin/nologin       dhcp
+myproxy        178     178     /var/lib/myproxy                /usr/sbin/nologin       myproxy-server
+sanlock        179     179     /var/run/sanlock                /usr/sbin/nologin       sanlock
+aeolus 180     180     /var/aeolus             /usr/sbin/nologin       aeolus-configure
+wallaby        181     181     /var/lib/wallaby                /usr/sbin/nologin       wallaby
+# Not used anymore, removed Jun2021, can be freed if necessary later
+#katello       182     182     /usr/share/katello              /usr/sbin/nologin       katello-common
+elasticsearch  183     183     /usr/share/java/elasticsearch           /usr/sbin/nologin       elasticsearch
+mongodb        184     184     /var/lib/mongodb                /usr/sbin/nologin       mongodb
+# Previously provided by the 'jboss-as' package.
+wildfly        185     185     /usr/share/wildfly              /usr/sbin/nologin       wildfly
+jbosson        -       186     -               -       jboss-on-agent
+jbosson-agent  186     (186)   /               /usr/sbin/nologin       jboss-on-agent
+heat   187     187     /var/lib/heat           /usr/sbin/nologin       heat
+haproxy        188     188     /var/lib/haproxy                /usr/sbin/nologin       haproxy
+haclient       -       189     -               -       pacemaker
+hacluster      189     (189)   /               /usr/sbin/nologin       pacemaker
+systemd-journal        -       190     -               -       systemd
+# Dynamic on new systems, removed Dec2014, can be freed if necessary later
+#systemd-journal-gateway       191     191     /               /usr/sbin/nologin       systemd
+systemd-network        192     192     /               /usr/sbin/nologin       systemd
+systemd-resolve        193     193     /               /usr/sbin/nologin       systemd
+#gnats ?       ?       ?               ?       gnats, gnats-db
+#listar        ?       ?       ?               ?       listar
+nobody 65534   65534   /               /usr/sbin/nologin       setup
diff --git a/sg3-utils/sg3-utils.nm b/sg3-utils/sg3-utils.nm
deleted file mode 100644 (file)
index ff554d2..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = sg3-utils
-version    = 1.32
-release    = 2
-thisapp    = sg3_utils-%{version}
-
-groups     = Applications/System
-url        = http://sg.danny.cz/sg/sg3_utils.html
-license    = GPLv2+ and BSD
-summary    = Utilities for devices that use SCSI command sets.
-
-description
-       Collection of Linux utilities for devices that use the SCSI command set.
-       Includes utilities to copy data based on dd syntax and semantics (called
-       sg_dd, sgp_dd and sgm_dd); check INQUIRY data and VPD pages (sg_inq); check
-       mode and log pages (sginfo, sg_modes and sg_logs); spin up and down
-       disks (sg_start); do self tests (sg_senddiag); and various other functions.
-end
-
-source_dl  = http://sg.danny.cz/sg/p/
-sources    = %{thisapp}.tgz
-
-packages
-       package %{name}
-       end
-
-       package %{name}-libs
-               template LIBS
-       end
-
-       package %{name}-devel
-               template DEVEL
-       end
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
index e1e3f13f314387177aa46d09bc425474e15dbfe6..f5b3fc8b268fb7d637ea2bd019323bdc33aca980 100644 (file)
@@ -5,8 +5,7 @@
 
 name       = sgml-common
 version    = 0.6.3
-release    = 2
-arch       = noarch
+release    = 3
 
 groups     = Applications/Text
 url        =
@@ -24,6 +23,8 @@ source_dl =
 sources   = %{thisapp}.tgz
 
 build
+       arches = noarch
+
        requires
                autoconf
                automake
@@ -31,60 +32,63 @@ build
        end
 
        configure_options += \
-               --mandir=/usr/share/man \
-               --sysconfdir=/etc
+               --mandir=%{mandir} \
+               --sysconfdir=%{sysconfdir}
 
        prepare_cmds
                for i in COPYING INSTALL install-sh missing mkinstalldirs; do \
                        rm -f ${i}; \
-                       cp -pvf /usr/share/automake*/${i} .; \
+                       cp -pvf %{datadir}/automake*/${i} .; \
                done
        end
 
        install_cmds
-               mkdir -pv %{BUILDROOT}/etc/{sg,x}ml/docbook
-               mkdir -pv %{BUILDROOT}/usr/share/sgml/docbook
+               mkdir -pv %{BUILDROOT}%{sysconfdir}/{sg,x}ml/docbook
+               mkdir -pv %{BUILDROOT}%{datadir}/sgml/docbook
 
                # Touch SGML catalog
-               touch %{BUILDROOT}/etc/sgml/catalog
+               touch %{BUILDROOT}%{sysconfdir}/sgml/catalog
 
                # Create an empty XML catalog.
-               xmlcatalog --noout --create %{BUILDROOT}/etc/xml/catalog
+               xmlcatalog --noout --create %{BUILDROOT}%{sysconfdir}/xml/catalog
 
                # Now put the common DocBook entries in it
                xmlcatalog --noout --add "delegatePublic" \
                        "-//OASIS//ENTITIES DocBook XML" \
-                       "file:///etc/sgml/docbook/xmlcatalog" %{BUILDROOT}/etc/xml/catalog
+                       "file://%{sysconfdir}/sgml/docbook/xmlcatalog" %{BUILDROOT}%{sysconfdir}/xml/catalog
 
                xmlcatalog --noout --add "delegatePublic" \
                        "-//OASIS//DTD DocBook XML" \
-                       "file:///etc/sgml/docbook/xmlcatalog" %{BUILDROOT}/etc/xml/catalog
+                       "file://%{sysconfdir}/sgml/docbook/xmlcatalog" %{BUILDROOT}%{sysconfdir}/xml/catalog
 
                xmlcatalog --noout --add "delegatePublic" \
                        "ISO 8879:1986" \
-                       "file:///etc/sgml/docbook/xmlcatalog" %{BUILDROOT}/etc/xml/catalog
+                       "file://%{sysconfdir}/sgml/docbook/xmlcatalog" %{BUILDROOT}%{sysconfdir}/xml/catalog
 
                xmlcatalog --noout --add "delegateSystem" \
                        "http://www.oasis-open.org/docbook/" \
-                       "file:///etc/sgml/docbook/xmlcatalog" %{BUILDROOT}/etc/xml/catalog
+                       "file://%{sysconfdir}/sgml/docbook/xmlcatalog" %{BUILDROOT}%{sysconfdir}/xml/catalog
 
                xmlcatalog --noout --add "delegateURI" \
                        "http://www.oasis-open.org/docbook/" \
-                       "file:///etc/sgml/docbook/xmlcatalog" %{BUILDROOT}/etc/xml/catalog
+                       "file://%{sysconfdir}/sgml/docbook/xmlcatalog" %{BUILDROOT}%{sysconfdir}/xml/catalog
 
                # Also create the common DocBook catalog
                xmlcatalog --noout --create \
-                       %{BUILDROOT}/etc/sgml/docbook/xmlcatalog
+                       %{BUILDROOT}%{sysconfdir}/sgml/docbook/xmlcatalog
 
-               ln -svf ../../../../etc/sgml/docbook/xmlcatalog \
-                       %{BUILDROOT}/usr/share/sgml/docbook/xmlcatalog
+               ln -svf ../../../..%{sysconfdir}/sgml/docbook/xmlcatalog \
+                       %{BUILDROOT}%{datadir}/sgml/docbook/xmlcatalog
 
-               rm -f %{BUILDROOT}/usr/share/sgml/xml.dcl
+               rm -rvf %{BUILDROOT}%{datadir}/sgml/xml.dcl
 
                install -p -m0644 %{DIR_SOURCE}/*.dcl %{DIR_SOURCE}/*.soc \
-                       %{BUILDROOT}/usr/share/sgml
+                       %{BUILDROOT}%{datadir}/sgml
+
+               rm -rvf %{BUILDROOT}%{datadir}/xml/*
 
-               rm -rf %{BUILDROOT}/usr/share/xml/*
+               # Remove unused and wrongly installed HTML documentation.
+               rm -rvf %{BUILDROOT}%{prefix}/doc
        end
 end
 
@@ -104,9 +108,9 @@ packages
                end
 
                files
-                       /etc/xml
-                       /etc/sgml/docbook/xmlcatalog
-                       /usr/share/sgml/docbook/xmlcatalog
+                       %{sysconfdir}/xml
+                       %{sysconfdir}/sgml/docbook/xmlcatalog
+                       %{datadir}/sgml/docbook/xmlcatalog
                end
        end
 end
index 5e5df03485d3f5715847763d5b633e9189d9dbc5..a16b88a2c31c6458618ec4921bd5288e5c87469a 100644 (file)
@@ -4,11 +4,10 @@
 ###############################################################################
 
 name       = shadow-utils
-version    = 4.5
+version    = 4.14.0
 release    = 1
 thisapp    = shadow-%{version}
 
-maintainer = Michael Tremer <michael.tremer@ipfire.org>
 groups     = System/Base
 url        = https://github.com/shadow-maint/shadow/
 license    = GPLv2+
@@ -35,60 +34,37 @@ build
                libattr-devel
                libcap-devel
                libtool
+               libxcrypt-devel
+               pam-devel
        end
 
-       configure_options += \
-               --enable-shadowgrp \
-               --enable-man \
-               --with-sha-crypt \
-               --without-libcrack \
-               --without-libpam \
-               --disable-static \
-               --with-group-name-max-length=32
-
        prepare_cmds
                autoreconf -vfi
-
-               # Do not build these files:
-               for i in nologin chfn chgpasswd chpasswd chsh expiry gpasswd groups login \
-                               logoutd passwd su; do \
-
-                       # Do not generate any manpages for them.
-                       find man -name Makefile.in -exec sed -i -e "/$i\.[1-9]\.xml/d" {} \;; \
-                       find man -name Makefile.in -exec sed -i -e "s/man1\/$i\.1/ /" {} \;; \
-
-                       # Do not compile them.
-                       sed -i "s/$i\$(EXEEXT)//" src/Makefile.in; \
-               done
-
-               sed -i src/Makefile.in \
-                       -e "s/^suidbins.*/# &/" -e "s/^suidubins.*/# &/"
-
-               # Do not install korean and zh man pages
-               sed -i -e 's/ ko//' -e 's/ zh_CN zh_TW//' man/Makefile.in
-
-               # Do not install russion man pages - was broken in 4.1.4.3
-               sed -i -e 's/ ru//' man/Makefile.in
        end
 
-       install_cmds
-               # Remove man pages in other languages
-               rm -rfv %{BUILDROOT}/usr/share/man/{cs,de,fi,fr,hu,id,it,ja,pl,pt_BR,ru,sv,tr}
+       configure_options += \
+               --disable-account-tools-setuid \
+               --enable-man \
+               --with-libpam \
+               --with-group-name-max-length=32 \
+               --with-bcrypt \
+               --with-yescrypt \
+               --without-audit \
+               --without-selinux \
+               --without-su \
+               --with-fcaps \
+               --without-libbsd
 
-               # Remove duplicate man pages.
-               rm -vf %{BUILDROOT}/usr/share/man/man*/{getspnam,nologin,passwd}.*
+       install_cmds
+               rm -vf \
+                       %{BUILDROOT}/{%{bindir},%{sbindir},%{mandir}/*}/{chage,chfn,chsh,expiry,login,logoutd,newgrp,nologin,sg,vigr,vipw}*
        end
 end
 
 packages
        package %{name}
-               groups += Base Build
-
-               obsoletes += shadow<%{thisver}
-               provides  += shadow=%{thisver}
-
                conflicts
-                       pam<1.1.0-4
+                       pam < 1.1.0-4
                end
 
                configfiles
@@ -96,6 +72,10 @@ packages
                end
        end
 
+       package %{name}-devel
+               template DEVEL
+       end
+
        package %{name}-debuginfo
                template DEBUGINFO
        end
diff --git a/shared-mime-info/shared-mime-info.nm b/shared-mime-info/shared-mime-info.nm
new file mode 100644 (file)
index 0000000..580d35a
--- /dev/null
@@ -0,0 +1,59 @@
+###############################################################################
+# IPFire.org    - An Open Source Firewall Solution                            #
+# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
+###############################################################################
+
+name       = shared-mime-info
+version    = 2.2
+release    = 1
+
+url        = http://freedesktop.org/Software/shared-mime-info
+license    = GPLv2+
+summary    = Shared MIME information database
+
+description
+       This is the freedesktop.org shared MIME info database.
+
+       Many programs and desktops use the MIME system to represent the types of
+       files. Frequently, it is necessary to work out the correct MIME type for
+       a file. This is generally done by examining the file's name or contents,
+       and looking up the correct MIME type in a database.
+end
+
+source_dl  = https://gitlab.freedesktop.org/xdg/shared-mime-info/-/archive/%{version}/
+
+build
+       requires
+               glib2-devel
+               libxml2-devel
+               meson >= 0.55.3
+       end
+
+       build
+               %{meson} \
+                       -Dupdate-mimedb=true
+
+               %{meson_build}
+
+       end
+
+       install
+               %{meson_install}
+       end
+end
+
+packages
+       package %{name}
+               script postin
+                       update-mime-database -n %{datadir}/mime &> /dev/null ||:
+               end
+
+               script postup
+                       update-mime-database -n %{datadir}/mime &> /dev/null ||:
+               end
+       end
+
+       package %{name}-debuginfo
+               template DEBUGINFO
+       end
+end
diff --git a/sip/patches/disable-rpaths.patch b/sip/patches/disable-rpaths.patch
deleted file mode 100644 (file)
index 6f15c54..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
---- a/siputils.py
-+++ b/siputils.py
-@@ -737,6 +737,7 @@ class Makefile:
-         rpaths is the cannonical list of rpaths.
-         """
-         flags = []
-+        return flags
-         prefix = self.optional_string("RPATH")
-         if prefix:
diff --git a/sip/patches/fix-linking.patch b/sip/patches/fix-linking.patch
deleted file mode 100644 (file)
index b4a5fae..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/specs/linux-g++  2009/08/31 11:59:37     1.1
-+++ b/specs/linux-g++  2009/08/31 12:00:19
-@@ -53,7 +53,7 @@
- QMAKE_LFLAGS          =
- QMAKE_LFLAGS_RELEASE  =
- QMAKE_LFLAGS_DEBUG    =
--QMAKE_LFLAGS_SHLIB    = -shared
-+QMAKE_LFLAGS_SHLIB    = -shared -lpython2.7
- QMAKE_LFLAGS_PLUGIN   = $$QMAKE_LFLAGS_SHLIB
- QMAKE_LFLAGS_SONAME   = -Wl,-soname,
- QMAKE_LFLAGS_THREAD   =
diff --git a/sip/patches/no-strip.patch b/sip/patches/no-strip.patch
deleted file mode 100644 (file)
index 033b54f..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-Index: sip-4.8.2/specs/linux-g++
-===================================================================
---- sip-4.8.2.orig/specs/linux-g++
-+++ sip-4.8.2/specs/linux-g++
-@@ -83,7 +83,7 @@ QMAKE_COPY_DIR          = $(COPY) -r
- QMAKE_MOVE            = mv -f
- QMAKE_DEL_FILE                = rm -f
- QMAKE_DEL_DIR         = rmdir
--QMAKE_STRIP             = strip
-+QMAKE_STRIP             =
- QMAKE_STRIPFLAGS_LIB  += --strip-unneeded
- QMAKE_CHK_DIR_EXISTS  = test -d
- QMAKE_MKDIR           = mkdir -p
-Index: sip-4.8.2/specs/linux-lsb
-===================================================================
---- sip-4.8.2.orig/specs/linux-lsb
-+++ sip-4.8.2/specs/linux-lsb
-@@ -83,7 +83,7 @@ QMAKE_COPY_DIR          = $(COPY) -r
- QMAKE_MOVE            = mv -f
- QMAKE_DEL_FILE                = rm -f
- QMAKE_DEL_DIR         = rmdir
--QMAKE_STRIP             = strip
-+QMAKE_STRIP             =
- QMAKE_STRIPFLAGS_LIB  += --strip-unneeded
- QMAKE_CHK_DIR_EXISTS  = test -d
- QMAKE_MKDIR           = mkdir -p
diff --git a/sip/sip.nm b/sip/sip.nm
deleted file mode 100644 (file)
index 9533fa5..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = sip
-version    = %{major_ver}.%{minor_ver}.%{rev_ver}
-release    = 2
-epoch      = 1
-
-major_ver  = 4
-minor_ver  = 18
-rev_ver    = 1
-
-groups     = Development/Tools
-url        = http://www.riverbankcomputing.com/software/sip/intro
-license    = GPLv2 or GPLv3
-summary    = SIP - Python/C++ Bindings Generator.
-
-description
-       SIP is a tool for generating bindings for C++ classes so that they can be \
-       accessed as normal Python classes. SIP takes many of its ideas from SWIG but, \
-       because it is specifically designed for C++ and Python, is able to generate \
-       tighter bindings. SIP is so called because it is a small SWIG.
-end
-
-source_dl  = https://sourceforge.net/projects/pyqt/files/sip/sip-%{major_ver}.%{minor_ver}.%{rev_ver}/
-sources    = %{thisapp}.tar.gz
-
-
-build
-       requires
-               gcc-c++
-               python-devel
-       end
-
-       build
-               python configure.py \
-                       CFLAGS+="%{CFLAGS}" \
-                       CXXFLAGS+="%{CXXFLAGS}" \
-                       LFLAGS+="%{LDFLAGS}"
-
-               make %{PARALLELISMFLAGS}
-       end
-end
-
-packages
-       package %{name}
-
-       package %{name}-devel
-               template DEVEL
-
-               files += /usr/bin/sip
-
-               requires = sip
-       end
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
index c81a3e28661f5ad5f690a878bea70d4142537c92..96e04b9c6b7b87b1959f5440d6988c637032b00b 100644 (file)
@@ -4,13 +4,13 @@
 ###############################################################################
 
 name       = slang
-version    = 2.3.0
-release    = 2.1
+version    = 2.3.3
+release    = 1
 
 groups     = System/Libraries
-url        = http://www.jedsoft.org/slang/
+url        = https://www.jedsoft.org/slang/
 license    = GPLv2+
-summary    = Shared library for the S-Lang extension language.
+summary    = Shared library for the S-Lang extension language
 
 description
        S-Lang is an interpreted language and a programming library.
@@ -19,7 +19,8 @@ description
        language.
 end
 
-source_dl  = http://www.jedsoft.org/releases/slang/
+source_dl  = https://www.jedsoft.org/releases/slang/
+sources    = %{thisapp}.tar.bz2
 
 build
        requires
@@ -29,8 +30,6 @@ build
                zlib-devel
        end
 
-       PARALLELISMFLAGS = # off
-
        install_cmds
                rm -rvf %{BUILDROOT}%{bindir} %{BUILDROOT}%{datadir}/slsh
        end
index 9e8537582bf75d70834df07c5566fe310ed0649b..4c50175bcbf99883119b16f32f1b014a12647461 100644 (file)
@@ -4,13 +4,13 @@
 ###############################################################################
 
 name       = smartmontools
-version    = 6.5
-release    = 2
+version    = 7.4
+release    = 1
 
 groups     = System/Statistics
-url        = http://smartmontools.sourceforge.net/
+url        = https://www.smartmontools.org
 license    = GPLv2
-summary    = A set of tools that watches HDD S.M.A.R.T status.
+summary    = A set of tools that watches HDD S.M.A.R.T status
 
 description
        The smartmontools package contains two utility programs (smartctl
@@ -21,32 +21,24 @@ description
        and failure.
 end
 
-source_dl  = http://sourceforge.net/projects/smartmontools/files/smartmontools/%{version}
+source_dl  = https://sourceforge.net/projects/smartmontools/files/smartmontools/%{version}
 
 build
        requires
                gcc-c++
                libcap-ng-devel
+               systemd-devel
        end
 
        configure_options += \
-               --mandir=%{mandir} \
                --sysconfdir=%{sysconfdir}/%{name} \
                --with-libcap-ng=yes \
+               --with-libsystemd \
                --with-systemdsystemunitdir=%{unitdir}
 
        test
                make check
        end
-
-       install_cmds
-               # Drop old sysvinit script.
-               rm -rvf %{BUILDROOT}/etc/rc.d
-
-               # Fix sysconfig path in systemd file.
-               sed -i 's|/etc/smartmontools/sysconfig|/etc/sysconfig|g' \
-                       %{BUILDROOT}%{unitdir}/smartd.service
-       end
 end
 
 packages
diff --git a/snort/snort.nm b/snort/snort.nm
new file mode 100644 (file)
index 0000000..53389ed
--- /dev/null
@@ -0,0 +1,65 @@
+###############################################################################
+# IPFire.org    - An Open Source Firewall Solution                            #
+# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
+###############################################################################
+
+name       = snort
+version    = 3.1.50.0
+release    = 2
+thisapp    = snort3-%{version}
+
+groups     = Networking/Tools
+url        = https://github.com/snort3/snort3
+license    = GPLv2
+summary    = A Network Intrusion Detection/Prevention System
+
+description
+       Snort 3 is the next generation Snort IPS (Intrusion Prevention System).
+end
+
+source_dl  = https://github.com/snort3/snort3/archive/refs/tags/%{version}.tar.gz#/
+
+build
+       requires
+               cmake
+               flex-devel >= 2.6.0
+               hwloc-devel
+               libdaq-devel >= 3.0.10
+               libdnet-devel
+               libpcap-devel
+               libtirpc-devel
+               libunwind-devel
+               libuuid-devel
+               luajit-devel
+               openssl-devel
+               pcre-devel
+               xz-devel
+               zlib-devel
+
+               # Hyperscan only exists on x86_64
+               (hyperscan-devel if arch(x86_64))
+       end
+
+       build
+               %{cmake} .
+
+               make %{PARALLELISMFLAGS}
+       end
+
+       install_cmds
+               # Set correct permissions for helper script.
+               chmod -v 755 %{BUILDROOT}%{bindir}/appid_detector_builder.sh
+       end
+end
+
+packages
+       package %{name}
+
+       package %{name}-devel
+               template DEVEL
+       end
+
+       package %{name}-debuginfo
+               template DEBUGINFO
+       end
+end
index bbea8217c412f0c026dd69b7f8e3d30f3add5958..92812eb0f0deebb669a674f120a8ca4e932a0df6 100644 (file)
@@ -4,7 +4,7 @@
 ###############################################################################
 
 name       = spectre-meltdown-checker
-version    = 0.40
+version    = 0.46
 release    = 1
 
 groups     = Development/Tools
@@ -17,7 +17,7 @@ description
        several "speculative execution" CVEs that were made public in 2018.
 end
 
-source_dl  = https://github.com/speed47/spectre-meltdown-checker/archive/%{version}.tar.gz#/
+source_dl  = https://github.com/speed47/spectre-meltdown-checker/archive/refs/tags/v%{version}.tar.gz#/
 
 build
        build
@@ -26,7 +26,7 @@ build
 
        install
                mkdir -pv %{BUILDROOT}%{sbindir}
-               install -v -m 754 spectre-meltdown-checker.sh \
+               install -v -m 755 spectre-meltdown-checker.sh \
                        %{BUILDROOT}%{sbindir}/spectre-meltdown-checker
        end
 end
index 5e951c7869672af6140b69536f3c1bce4d9933b5..98f1bb1d705983c344c6c7742b562a1bdd468d51 100644 (file)
@@ -4,12 +4,12 @@
 ###############################################################################
 
 name       = sqlite
-version    = 3.26.0
+version    = 3.43.1
 release    = 1
-realver    = 3260000
+realver    = 3430100
 
 groups     = System/Databases
-url        = http://www.sqlite.org/
+url        = https://www.sqlite.org/
 license    = PublicDomain
 summary    = A small an versative Database, that uses simple text files.
 
@@ -23,7 +23,7 @@ description
 end
 
 thisapp    = %{name}-autoconf-%{realver}
-source_dl  = http://www.sqlite.org/2018/
+source_dl  = http://www.sqlite.org/2023/
 
 build
        requires
@@ -55,12 +55,6 @@ build
                --disable-tcl
 end
 
-quality-agent
-       whitelist_rpath
-               /usr/lib
-       end
-end
-
 packages
        package %{name}
 
diff --git a/squashfs-tools/squashfs-tools.nm b/squashfs-tools/squashfs-tools.nm
new file mode 100644 (file)
index 0000000..c9f68b0
--- /dev/null
@@ -0,0 +1,60 @@
+###############################################################################
+# IPFire.org    - An Open Source Firewall Solution                            #
+# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
+###############################################################################
+
+name       = squashfs-tools
+version    = 4.6.1
+release    = 1
+
+groups     = System/Filesystems
+url        = https://github.com/plougher/squashfs-tools
+license    = GPLv2
+summary    = Tools to create and extract Squashfs filesystems
+
+description
+       Squashfs is a highly compressed read-only filesystem for Linux.
+
+       This package contains the utilities for manipulating squashfs filesystems.
+end
+
+source_dl  = https://github.com/plougher/squashfs-tools/archive/refs/tags/%{version}.tar.gz#/
+
+build
+       requires
+               attr-devel
+               help2man
+               lz4-devel
+               lzo-devel
+               xz-devel
+               zlib-devel
+               zstd-devel
+       end
+
+       DIR_APP = %{DIR_SRC}/%{thisapp}/squashfs-tools
+
+       build
+               CFLAGS="%{CFLAGS}" \
+               LZ4_SUPPORT=1 \
+               LZMA_XZ_SUPPORT=1 \
+               LZO_SUPPORT=1 \
+               XZ_SUPPORT=1 \
+               ZSTD_SUPPORT=1 \
+                       make %{PARALLELISMFLAGS}
+       end
+
+       install
+               make install \
+                       INSTALL_PREFIX=%{BUILDROOT}%{prefix} \
+                       INSTALL_DIR=%{BUILDROOT}%{bindir} \
+                       INSTALL_MANPAGES_DIR=%{BUILDROOT}%{mandir}/man1
+       end
+end
+
+packages
+       package %{name}
+
+       package %{name}-debuginfo
+               template DEBUGINFO
+       end
+end
diff --git a/squid/patches/squid-3.0.STABLE1-perlpath.patch b/squid/patches/squid-3.0.STABLE1-perlpath.patch
deleted file mode 100644 (file)
index 19b512e..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-diff -up squid-3.0.STABLE1/contrib/url-normalizer.pl.perlpath squid-3.0.STABLE1/contrib/url-normalizer.pl
---- squid-3.0.STABLE1/contrib/url-normalizer.pl.perlpath       1996-12-06 18:54:31.000000000 +0100
-+++ squid-3.0.STABLE1/contrib/url-normalizer.pl        2008-01-23 12:07:50.000000000 +0100
-@@ -1,4 +1,4 @@
--#!/usr/local/bin/perl -Tw
-+#!/usr/bin/perl -Tw
- # From:    Markus Gyger <mgyger@itr.ch>
- #
diff --git a/squid/patches/squid-3.1.0.9-config.patch b/squid/patches/squid-3.1.0.9-config.patch
deleted file mode 100644 (file)
index 09d7a15..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-diff -up squid-3.0.STABLE9/src/cf.data.pre.config squid-3.0.STABLE9/src/cf.data.pre
---- squid-3.0.STABLE9/src/cf.data.pre.config   2008-09-09 18:06:44.000000000 +0200
-+++ squid-3.0.STABLE9/src/cf.data.pre  2008-10-19 23:34:17.000000000 +0200
-@@ -2135,7 +2136,7 @@ DOC_END
- NAME: logfile_rotate
- TYPE: int
--DEFAULT: 10
-+DEFAULT: 0 
- LOC: Config.Log.rotateNumber
- DOC_START
-       Specifies the number of logfile rotations to make when you
-@@ -3254,11 +3256,11 @@ COMMENT_END
- NAME: cache_mgr
- TYPE: string
--DEFAULT: webmaster
-+DEFAULT: root 
- LOC: Config.adminEmail
- DOC_START
-       Email-address of local cache manager who will receive
--      mail if the cache dies.  The default is "webmaster."
-+      mail if the cache dies.  The default is "root."
- DOC_END
- NAME: mail_from
diff --git a/squid/patches/squid-3.1.0.9-location.patch b/squid/patches/squid-3.1.0.9-location.patch
deleted file mode 100644 (file)
index 816b358..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-diff -up squid-3.1.0.9/QUICKSTART.location squid-3.1.0.9/QUICKSTART
---- squid-3.1.0.9/QUICKSTART.location  2009-06-26 12:35:27.000000000 +0200
-+++ squid-3.1.0.9/QUICKSTART   2009-07-17 14:03:10.000000000 +0200
-@@ -12,10 +12,9 @@ After you retrieved, compiled and instal
- INSTALL in the same directory), you have to configure the squid.conf
- file. This is the list of the values you *need* to change, because no
- sensible defaults could be defined. Do not touch the other variables
--for now.  We assume you have installed Squid in the default location:
--/usr/local/squid
-+for now.
--Uncomment and edit the following lines in /usr/local/squid/etc/squid.conf:
-+Uncomment and edit the following lines in /etc/squid/squid.conf:
- ==============================================================================
-@@ -56,7 +55,7 @@ cache_effective_user
- Some configuration lines which are optional but may be needed.
--cache_dir ufs /usr/local/squid/var/cache 100 16 256
-+cache_dir ufs /var/spool/squid 100 16 256
-     Add here (first number, here 100) the amount of hard disk space 
-     (in megabytes) to devote to caching.
-@@ -84,12 +83,12 @@ After editing squid.conf to your liking,
- line TWICE:
- To create any disk cache_dir configured:
--    % /usr/local/squid/sbin/squid -z
-+    % /usr/sbin/squid -z
- To start squid:
--    % /usr/local/squid/sbin/squid 
-+    % /usr/sbin/squid 
--Check in the cache.log (/usr/local/squid/var/logs/cache.log) that
-+Check in the cache.log (/var/log/squid/cache.log) that
- everything is all right.
- Once Squid created all its files (it can take several minutes on some
index 9db9705960bd2e26575a9eb9861a7ddf65cf9796..0441ae65808eeb17dd12cfd6a6b6fd32fb6023fc 100644 (file)
@@ -4,14 +4,15 @@
 ###############################################################################
 
 name       = squid
-major_ver  = 3.1
-version    = %{major_ver}.19
-release    = 2
+major_ver  = 6
+minor_ver  = 3
+version    = %{major_ver}.%{minor_ver}
+release    = 1
 
 groups     = Networking/Daemons
-url        = http://www.squid-cache.org/
+url        = https://www.squid-cache.org/
 license    = GPLv2+
-summary    = The Squid proxy caching server.
+summary    = The Squid proxy caching server
 
 description
        Squid is a high-performance proxy caching server for Web clients,
@@ -22,19 +23,20 @@ description
        DNS lookups, and implements negative caching of failed requests.
 end
 
-source_dl  = http://www.squid-cache.org/Versions/v3/%{major_ver}/
+source_dl  = http://www.squid-cache.org/Versions/v%{major_ver}/
 
 build
        requires
                gcc-c++
+               libxcrypt-devel
                libxml2-devel
                openssl-devel
                openldap-devel
                samba-devel
                pam-devel
                libcap-devel
-               /usr/bin/smbclient
                shadow-utils
+               systemd-devel
        end
 
        CFLAGS += -Wno-error
@@ -58,9 +60,8 @@ build
                --enable-kill-parent-hack \
                --enable-snmp \
                --enable-arp-acl \
-               --enable-ipf-transparent \
                --enable-htcp \
-               --enable-ssl \
+               --disable-ssl \
                --enable-forw-via-db \
                --disable-cache-digests \
                --enable-poll \
@@ -71,7 +72,7 @@ build
                --enable-linux-netfilter \
                --disable-ident-lookups \
                --enable-internal-dns \
-               --enable-auth=basic,ntlm \
+               --enable-auth \
                --enable-basic-auth-helpers="LDAP,MSNT,multi-domain-NTLM,PAM,NCSA,SMB,squid_radius_auth" \
                --enable-ntlm-auth-helpers="smb_lm,no_check,fakeauth" \
                --enable-ntlm-fail-open \
@@ -105,6 +106,9 @@ build
                cp -vf %{DIR_SOURCE}/cache_swap.sh %{BUILDROOT}/usr/lib/squid/
                chmod 755 %{BUILDROOT}/usr/lib/squid/cache_swap.sh
                chown -Rv squid:squid %{BUILDROOT}/usr/lib/squid/cache_swap.sh
+
+               # Drop /var/run
+               rm -rvf %{BUILDROOT}%{localstatedir}/run
        end
 end
 
@@ -148,8 +152,6 @@ packages
                        /bin/systemctl try-restart squid.service >/dev/null 2>&1 || :
                end
 
-               requires = /usr/bin/smbclient
-
                filter_requires = perl.Auth.*
        end
 
diff --git a/sssd/patches/0001-crypto-Port-libcrypto-code-to-openssl-1.1.patch b/sssd/patches/0001-crypto-Port-libcrypto-code-to-openssl-1.1.patch
deleted file mode 100644 (file)
index b7913fd..0000000
+++ /dev/null
@@ -1,728 +0,0 @@
-From 805494c6ffec6831753891c507a773f3e43b30e5 Mon Sep 17 00:00:00 2001
-From: Lukas Slebodnik <lslebodn@redhat.com>
-Date: Mon, 17 Oct 2016 15:44:20 +0200
-Subject: [PATCH 01/39] crypto: Port libcrypto code to openssl-1.1
-
-EVP_MD_CTX and EVP_CIPHER_CTX are opaque in openssl-1.1
-
-Reviewed-by: Tomas Mraz <tmraz@redhat.com>
-(cherry picked from commit 8f1316a0c677f211eaaa1346e21a03446b8c4fb1)
-(cherry picked from commit 81ebd058ab8f6ab08b05a7e35e04881812404d43)
----
- Makefile.am                                    |  1 +
- src/util/cert/libcrypto/cert.c                 | 23 ++++++--
- src/util/crypto/libcrypto/crypto_hmac_sha1.c   | 33 ++++++-----
- src/util/crypto/libcrypto/crypto_nite.c        | 76 +++++++++++++++----------
- src/util/crypto/libcrypto/crypto_obfuscate.c   | 32 +++++++----
- src/util/crypto/libcrypto/crypto_sha512crypt.c | 77 +++++++++++++++-----------
- src/util/crypto/libcrypto/sss_openssl.h        | 39 +++++++++++++
- 7 files changed, 190 insertions(+), 91 deletions(-)
- create mode 100644 src/util/crypto/libcrypto/sss_openssl.h
-
-diff --git a/Makefile.am b/Makefile.am
-index b5f300a37..3d3500918 100644
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -565,6 +565,7 @@ endif
- dist_noinst_HEADERS = \
-     src/monitor/monitor.h \
-     src/util/crypto/sss_crypto.h \
-+    src/util/crypto/libcrypto/sss_openssl.h \
-     src/util/cert.h \
-     src/util/dlinklist.h \
-     src/util/debug.h \
-diff --git a/src/util/cert/libcrypto/cert.c b/src/util/cert/libcrypto/cert.c
-index a7752d7c1..aba598d7c 100644
---- a/src/util/cert/libcrypto/cert.c
-+++ b/src/util/cert/libcrypto/cert.c
-@@ -182,6 +182,8 @@ errno_t cert_to_ssh_key(TALLOC_CTX *mem_ctx, const char *ca_db,
-     size_t c;
-     X509 *cert = NULL;
-     EVP_PKEY *cert_pub_key = NULL;
-+    const BIGNUM *n;
-+    const BIGNUM *e;
-     int modulus_len;
-     unsigned char modulus[OPENSSL_RSA_MAX_MODULUS_BITS/8];
-     int exponent_len;
-@@ -208,16 +210,29 @@ errno_t cert_to_ssh_key(TALLOC_CTX *mem_ctx, const char *ca_db,
-         goto done;
-     }
--    if (cert_pub_key->type != EVP_PKEY_RSA) {
-+    if (EVP_PKEY_base_id(cert_pub_key) != EVP_PKEY_RSA) {
-         DEBUG(SSSDBG_CRIT_FAILURE,
-               "Expected RSA public key, found unsupported [%d].\n",
--              cert_pub_key->type);
-+              EVP_PKEY_base_id(cert_pub_key));
-         ret = EINVAL;
-         goto done;
-     }
--    modulus_len = BN_bn2bin(cert_pub_key->pkey.rsa->n, modulus);
--    exponent_len = BN_bn2bin(cert_pub_key->pkey.rsa->e, exponent);
-+#if OPENSSL_VERSION_NUMBER >= 0x10100000L
-+    RSA *rsa_pub_key = NULL;
-+    rsa_pub_key = EVP_PKEY_get0_RSA(cert_pub_key);
-+    if (rsa_pub_key == NULL) {
-+        ret = ENOMEM;
-+        goto done;
-+    }
-+
-+    RSA_get0_key(rsa_pub_key, &n, &e, NULL);
-+#else
-+    n = cert_pub_key->pkey.rsa->n;
-+    e = cert_pub_key->pkey.rsa->e;
-+#endif
-+    modulus_len = BN_bn2bin(n, modulus);
-+    exponent_len = BN_bn2bin(e, exponent);
-     size = SSH_RSA_HEADER_LEN + 3 * sizeof(uint32_t)
-                 + modulus_len
-diff --git a/src/util/crypto/libcrypto/crypto_hmac_sha1.c b/src/util/crypto/libcrypto/crypto_hmac_sha1.c
-index 37d25794e..5a4ce356e 100644
---- a/src/util/crypto/libcrypto/crypto_hmac_sha1.c
-+++ b/src/util/crypto/libcrypto/crypto_hmac_sha1.c
-@@ -24,6 +24,8 @@
- #include <openssl/evp.h>
-+#include "sss_openssl.h"
-+
- #define HMAC_SHA1_BLOCKSIZE 64
- int sss_hmac_sha1(const unsigned char *key,
-@@ -33,23 +35,26 @@ int sss_hmac_sha1(const unsigned char *key,
-                   unsigned char *out)
- {
-     int ret;
--    EVP_MD_CTX ctx;
-+    EVP_MD_CTX *ctx;
-     unsigned char ikey[HMAC_SHA1_BLOCKSIZE], okey[HMAC_SHA1_BLOCKSIZE];
-     size_t i;
-     unsigned char hash[SSS_SHA1_LENGTH];
-     unsigned int res_len;
--    EVP_MD_CTX_init(&ctx);
-+    ctx = EVP_MD_CTX_new();
-+    if (ctx == NULL) {
-+        return ENOMEM;
-+    }
-     if (key_len > HMAC_SHA1_BLOCKSIZE) {
-         /* keys longer than blocksize are shortened */
--        if (!EVP_DigestInit_ex(&ctx, EVP_sha1(), NULL)) {
-+        if (!EVP_DigestInit_ex(ctx, EVP_sha1(), NULL)) {
-             ret = EIO;
-             goto done;
-         }
--        EVP_DigestUpdate(&ctx, (const unsigned char *)key, key_len);
--        EVP_DigestFinal_ex(&ctx, ikey, &res_len);
-+        EVP_DigestUpdate(ctx, (const unsigned char *)key, key_len);
-+        EVP_DigestFinal_ex(ctx, ikey, &res_len);
-         memset(ikey + SSS_SHA1_LENGTH, 0, HMAC_SHA1_BLOCKSIZE - SSS_SHA1_LENGTH);
-     } else {
-         /* keys shorter than blocksize are zero-padded */
-@@ -63,25 +68,25 @@ int sss_hmac_sha1(const unsigned char *key,
-         ikey[i] ^= 0x36;
-     }
--    if (!EVP_DigestInit_ex(&ctx, EVP_sha1(), NULL)) {
-+    if (!EVP_DigestInit_ex(ctx, EVP_sha1(), NULL)) {
-         ret = EIO;
-         goto done;
-     }
--    EVP_DigestUpdate(&ctx, (const unsigned char *)ikey, HMAC_SHA1_BLOCKSIZE);
--    EVP_DigestUpdate(&ctx, (const unsigned char *)in, in_len);
--    EVP_DigestFinal_ex(&ctx, hash, &res_len);
-+    EVP_DigestUpdate(ctx, (const unsigned char *)ikey, HMAC_SHA1_BLOCKSIZE);
-+    EVP_DigestUpdate(ctx, (const unsigned char *)in, in_len);
-+    EVP_DigestFinal_ex(ctx, hash, &res_len);
--    if (!EVP_DigestInit_ex(&ctx, EVP_sha1(), NULL)) {
-+    if (!EVP_DigestInit_ex(ctx, EVP_sha1(), NULL)) {
-         ret = EIO;
-         goto done;
-     }
--    EVP_DigestUpdate(&ctx, (const unsigned char *)okey, HMAC_SHA1_BLOCKSIZE);
--    EVP_DigestUpdate(&ctx, (const unsigned char *)hash, SSS_SHA1_LENGTH);
--    EVP_DigestFinal_ex(&ctx, out, &res_len);
-+    EVP_DigestUpdate(ctx, (const unsigned char *)okey, HMAC_SHA1_BLOCKSIZE);
-+    EVP_DigestUpdate(ctx, (const unsigned char *)hash, SSS_SHA1_LENGTH);
-+    EVP_DigestFinal_ex(ctx, out, &res_len);
-     ret = EOK;
- done:
--    EVP_MD_CTX_cleanup(&ctx);
-+    EVP_MD_CTX_free(ctx);
-     return ret;
- }
-diff --git a/src/util/crypto/libcrypto/crypto_nite.c b/src/util/crypto/libcrypto/crypto_nite.c
-index fa267fbcc..de562f2d2 100644
---- a/src/util/crypto/libcrypto/crypto_nite.c
-+++ b/src/util/crypto/libcrypto/crypto_nite.c
-@@ -33,6 +33,8 @@
- #include <openssl/rand.h>
- #include <openssl/crypto.h>
-+#include "sss_openssl.h"
-+
- struct cipher_mech {
-     const EVP_CIPHER * (*cipher)(void);
-     const EVP_MD * (*digest)(void);
-@@ -47,9 +49,9 @@ int sss_encrypt(TALLOC_CTX *mem_ctx, enum encmethod enctype,
- {
-     const EVP_CIPHER *cipher;
-     const EVP_MD *digest;
--    EVP_PKEY *hmackey;
--    EVP_CIPHER_CTX ctx;
--    EVP_MD_CTX mdctx;
-+    EVP_PKEY *hmackey = NULL;
-+    EVP_CIPHER_CTX *ctx;
-+    EVP_MD_CTX *mdctx = NULL;
-     uint8_t *out = NULL;
-     int evpkeylen;
-     int evpivlen;
-@@ -86,8 +88,13 @@ int sss_encrypt(TALLOC_CTX *mem_ctx, enum encmethod enctype,
-         RAND_bytes(out, evpivlen);
-     }
--    EVP_CIPHER_CTX_init(&ctx);
--    ret = EVP_EncryptInit_ex(&ctx, cipher, 0, key, evpivlen ? out : NULL);
-+    ctx = EVP_CIPHER_CTX_new();
-+    if (ctx == NULL) {
-+        ret = ENOMEM;
-+        goto done;
-+    }
-+
-+    ret = EVP_EncryptInit_ex(ctx, cipher, 0, key, evpivlen ? out : NULL);
-     if (ret != 1) {
-         ret = EFAULT;
-         goto done;
-@@ -95,7 +102,7 @@ int sss_encrypt(TALLOC_CTX *mem_ctx, enum encmethod enctype,
-     outlen = evpivlen;
-     tmplen = 0;
--    ret = EVP_EncryptUpdate(&ctx, out + outlen, &tmplen, plaintext, plainlen);
-+    ret = EVP_EncryptUpdate(ctx, out + outlen, &tmplen, plaintext, plainlen);
-     if (ret != 1) {
-         ret = EFAULT;
-         goto done;
-@@ -103,7 +110,7 @@ int sss_encrypt(TALLOC_CTX *mem_ctx, enum encmethod enctype,
-     outlen += tmplen;
--    ret = EVP_EncryptFinal_ex(&ctx, out + outlen, &tmplen);
-+    ret = EVP_EncryptFinal_ex(ctx, out + outlen, &tmplen);
-     if (ret != 1) {
-         ret = EFAULT;
-         goto done;
-@@ -113,28 +120,32 @@ int sss_encrypt(TALLOC_CTX *mem_ctx, enum encmethod enctype,
-     /* Then HMAC */
--    EVP_MD_CTX_init(&mdctx);
-+    mdctx = EVP_MD_CTX_new();
-+    if (mdctx == NULL) {
-+        ret = ENOMEM;
-+        goto done;
-+    }
--    ret = EVP_DigestInit_ex(&mdctx, digest, NULL);
-+    ret = EVP_DigestInit_ex(mdctx, digest, NULL);
-     if (ret != 1) {
-         ret = EFAULT;
-         goto done;
-     }
--    ret = EVP_DigestSignInit(&mdctx, NULL, digest, NULL, hmackey);
-+    ret = EVP_DigestSignInit(mdctx, NULL, digest, NULL, hmackey);
-     if (ret != 1) {
-         ret = EFAULT;
-         goto done;
-     }
--    ret = EVP_DigestSignUpdate(&mdctx, out, outlen);
-+    ret = EVP_DigestSignUpdate(mdctx, out, outlen);
-     if (ret != 1) {
-         ret = EFAULT;
-         goto done;
-     }
-     slen = hmaclen;
--    ret = EVP_DigestSignFinal(&mdctx, &out[outlen], &slen);
-+    ret = EVP_DigestSignFinal(mdctx, &out[outlen], &slen);
-     if (ret != 1) {
-         ret = EFAULT;
-         goto done;
-@@ -147,8 +158,8 @@ int sss_encrypt(TALLOC_CTX *mem_ctx, enum encmethod enctype,
-     ret = EOK;
- done:
--    EVP_MD_CTX_cleanup(&mdctx);
--    EVP_CIPHER_CTX_cleanup(&ctx);
-+    EVP_MD_CTX_free(mdctx);
-+    EVP_CIPHER_CTX_free(ctx);
-     EVP_PKEY_free(hmackey);
-     return ret;
- }
-@@ -160,9 +171,9 @@ int sss_decrypt(TALLOC_CTX *mem_ctx, enum encmethod enctype,
- {
-     const EVP_CIPHER *cipher;
-     const EVP_MD *digest;
--    EVP_PKEY *hmackey;
--    EVP_CIPHER_CTX ctx;
--    EVP_MD_CTX mdctx;
-+    EVP_PKEY *hmackey = NULL;
-+    EVP_CIPHER_CTX *ctx = NULL;
-+    EVP_MD_CTX *mdctx;
-     const uint8_t *iv = NULL;
-     uint8_t *out;
-     int evpkeylen;
-@@ -194,28 +205,32 @@ int sss_decrypt(TALLOC_CTX *mem_ctx, enum encmethod enctype,
-     /* First check HMAC */
--    EVP_MD_CTX_init(&mdctx);
-+    mdctx = EVP_MD_CTX_new();
-+    if (mdctx == NULL) {
-+        ret = ENOMEM;
-+        goto done;
-+    }
--    ret = EVP_DigestInit_ex(&mdctx, digest, NULL);
-+    ret = EVP_DigestInit_ex(mdctx, digest, NULL);
-     if (ret != 1) {
-         ret = EFAULT;
-         goto done;
-     }
--    ret = EVP_DigestSignInit(&mdctx, NULL, digest, NULL, hmackey);
-+    ret = EVP_DigestSignInit(mdctx, NULL, digest, NULL, hmackey);
-     if (ret != 1) {
-         ret = EFAULT;
-         goto done;
-     }
--    ret = EVP_DigestSignUpdate(&mdctx, ciphertext, cipherlen - hmaclen);
-+    ret = EVP_DigestSignUpdate(mdctx, ciphertext, cipherlen - hmaclen);
-     if (ret != 1) {
-         ret = EFAULT;
-         goto done;
-     }
-     slen = hmaclen;
--    ret = EVP_DigestSignFinal(&mdctx, out, &slen);
-+    ret = EVP_DigestSignFinal(mdctx, out, &slen);
-     if (ret != 1) {
-         ret = EFAULT;
-         goto done;
-@@ -233,14 +248,19 @@ int sss_decrypt(TALLOC_CTX *mem_ctx, enum encmethod enctype,
-         iv = ciphertext;
-     }
--    EVP_CIPHER_CTX_init(&ctx);
--    ret = EVP_DecryptInit_ex(&ctx, cipher, 0, key, iv);
-+    ctx = EVP_CIPHER_CTX_new();
-+    if (ctx == NULL) {
-+        ret = ENOMEM;
-+        goto done;
-+    }
-+
-+    ret = EVP_DecryptInit_ex(ctx, cipher, 0, key, iv);
-     if (ret != 1) {
-         ret = EFAULT;
-         goto done;
-     }
--    ret = EVP_DecryptUpdate(&ctx, out, &outlen,
-+    ret = EVP_DecryptUpdate(ctx, out, &outlen,
-                             ciphertext + evpivlen,
-                             cipherlen - evpivlen - hmaclen);
-     if (ret != 1) {
-@@ -248,7 +268,7 @@ int sss_decrypt(TALLOC_CTX *mem_ctx, enum encmethod enctype,
-         goto done;
-     }
--    ret = EVP_DecryptFinal_ex(&ctx, out + outlen, &tmplen);
-+    ret = EVP_DecryptFinal_ex(ctx, out + outlen, &tmplen);
-     if (ret != 1) {
-         ret = EFAULT;
-         goto done;
-@@ -261,8 +281,8 @@ int sss_decrypt(TALLOC_CTX *mem_ctx, enum encmethod enctype,
-     ret = EOK;
- done:
--    EVP_MD_CTX_cleanup(&mdctx);
--    EVP_CIPHER_CTX_cleanup(&ctx);
-+    EVP_MD_CTX_free(mdctx);
-+    EVP_CIPHER_CTX_free(ctx);
-     EVP_PKEY_free(hmackey);
-     return ret;
- }
-diff --git a/src/util/crypto/libcrypto/crypto_obfuscate.c b/src/util/crypto/libcrypto/crypto_obfuscate.c
-index 85de333ec..69b622e1d 100644
---- a/src/util/crypto/libcrypto/crypto_obfuscate.c
-+++ b/src/util/crypto/libcrypto/crypto_obfuscate.c
-@@ -70,7 +70,7 @@ int sss_password_encrypt(TALLOC_CTX *mem_ctx, const char *password, int plen,
-                          enum obfmethod meth, char **obfpwd)
- {
-     int ret;
--    EVP_CIPHER_CTX ctx;
-+    EVP_CIPHER_CTX *ctx;
-     struct crypto_mech_data *mech_props;
-     TALLOC_CTX *tmp_ctx = NULL;
-     unsigned char *keybuf;
-@@ -90,7 +90,11 @@ int sss_password_encrypt(TALLOC_CTX *mem_ctx, const char *password, int plen,
-         return ENOMEM;
-     }
--    EVP_CIPHER_CTX_init(&ctx);
-+    ctx = EVP_CIPHER_CTX_new();
-+    if (ctx == NULL) {
-+        ret = ENOMEM;
-+        goto done;
-+    }
-     mech_props = get_crypto_mech_data(meth);
-     if (mech_props == NULL) {
-@@ -121,20 +125,20 @@ int sss_password_encrypt(TALLOC_CTX *mem_ctx, const char *password, int plen,
-         goto done;
-     }
--    if (!EVP_EncryptInit_ex(&ctx, mech_props->cipher(), 0, keybuf, ivbuf)) {
-+    if (!EVP_EncryptInit_ex(ctx, mech_props->cipher(), 0, keybuf, ivbuf)) {
-         DEBUG(SSSDBG_CRIT_FAILURE, "Failure to initialize cipher contex\n");
-         ret = EIO;
-         goto done;
-     }
-     /* sample data we'll encrypt and decrypt */
--    if (!EVP_EncryptUpdate(&ctx, cryptotext, &ctlen, (const unsigned char*)password, plen)) {
-+    if (!EVP_EncryptUpdate(ctx, cryptotext, &ctlen, (const unsigned char *)password, plen)) {
-         DEBUG(SSSDBG_CRIT_FAILURE, "Cannot execute the encryption operation\n");
-         ret = EIO;
-         goto done;
-     }
--    if(!EVP_EncryptFinal_ex(&ctx, cryptotext+ctlen, &digestlen)) {
-+    if (!EVP_EncryptFinal_ex(ctx, cryptotext + ctlen, &digestlen)) {
-         DEBUG(SSSDBG_CRIT_FAILURE, "Cannot finialize the encryption operation\n");
-         ret = EIO;
-         goto done;
-@@ -185,7 +189,7 @@ int sss_password_encrypt(TALLOC_CTX *mem_ctx, const char *password, int plen,
- done:
-     talloc_free(tmp_ctx);
--    EVP_CIPHER_CTX_cleanup(&ctx);
-+    EVP_CIPHER_CTX_free(ctx);
-     return ret;
- }
-@@ -193,7 +197,7 @@ int sss_password_decrypt(TALLOC_CTX *mem_ctx, char *b64encoded,
-                          char **password)
- {
-     int ret;
--    EVP_CIPHER_CTX ctx;
-+    EVP_CIPHER_CTX *ctx;
-     TALLOC_CTX *tmp_ctx = NULL;
-     struct crypto_mech_data *mech_props;
-@@ -217,7 +221,11 @@ int sss_password_decrypt(TALLOC_CTX *mem_ctx, char *b64encoded,
-         return ENOMEM;
-     }
--    EVP_CIPHER_CTX_init(&ctx);
-+    ctx = EVP_CIPHER_CTX_new();
-+    if (ctx == NULL) {
-+        ret = ENOMEM;
-+        goto done;
-+    }
-     /* Base64 decode the incoming buffer */
-     obfbuf = sss_base64_decode(tmp_ctx, b64encoded, &obflen);
-@@ -276,18 +284,18 @@ int sss_password_decrypt(TALLOC_CTX *mem_ctx, char *b64encoded,
-         goto done;
-     }
--    if (!EVP_DecryptInit_ex(&ctx, mech_props->cipher(), 0, keybuf, ivbuf)) {
-+    if (!EVP_DecryptInit_ex(ctx, mech_props->cipher(), 0, keybuf, ivbuf)) {
-         ret = EIO;
-         goto done;
-     }
-     /* sample data we'll encrypt and decrypt */
--    if (!EVP_DecryptUpdate(&ctx, (unsigned char*)pwdbuf, &plainlen, cryptotext, ctsize)) {
-+    if (!EVP_DecryptUpdate(ctx, (unsigned char *)pwdbuf, &plainlen, cryptotext, ctsize)) {
-         ret = EIO;
-         goto done;
-     }
--    if(!EVP_DecryptFinal_ex(&ctx, (unsigned char*)pwdbuf+plainlen, &digestlen)) {
-+    if (!EVP_DecryptFinal_ex(ctx, (unsigned char *)pwdbuf + plainlen, &digestlen)) {
-         ret = EIO;
-         goto done;
-     }
-@@ -296,6 +304,6 @@ int sss_password_decrypt(TALLOC_CTX *mem_ctx, char *b64encoded,
-     ret = EOK;
- done:
-     talloc_free(tmp_ctx);
--    EVP_CIPHER_CTX_cleanup(&ctx);
-+    EVP_CIPHER_CTX_free(ctx);
-     return ret;
- }
-diff --git a/src/util/crypto/libcrypto/crypto_sha512crypt.c b/src/util/crypto/libcrypto/crypto_sha512crypt.c
-index 34547d08a..102356662 100644
---- a/src/util/crypto/libcrypto/crypto_sha512crypt.c
-+++ b/src/util/crypto/libcrypto/crypto_sha512crypt.c
-@@ -28,6 +28,9 @@
- #include <openssl/evp.h>
- #include <openssl/rand.h>
-+#include "sss_openssl.h"
-+
-+
- /* Define our magic string to mark salt for SHA512 "encryption" replacement. */
- const char sha512_salt_prefix[] = "$6$";
- #define SALT_PREF_SIZE (sizeof(sha512_salt_prefix) - 1)
-@@ -75,8 +78,8 @@ static int sha512_crypt_r(const char *key,
-     unsigned char alt_result[64] __attribute__((__aligned__(ALIGN64)));
-     size_t rounds = ROUNDS_DEFAULT;
-     bool rounds_custom = false;
--    EVP_MD_CTX alt_ctx;
--    EVP_MD_CTX ctx;
-+    EVP_MD_CTX *alt_ctx = NULL;
-+    EVP_MD_CTX *ctx;
-     size_t salt_len;
-     size_t key_len;
-     size_t cnt;
-@@ -125,75 +128,83 @@ static int sha512_crypt_r(const char *key,
-         salt = copied_salt = memcpy(tmp + ALIGN64 - PTR_2_INT(tmp) % ALIGN64, salt, salt_len);
-     }
--    EVP_MD_CTX_init(&ctx);
-+    ctx = EVP_MD_CTX_new();
-+    if (ctx == NULL) {
-+        ret = ENOMEM;
-+        goto done;
-+    }
--    EVP_MD_CTX_init(&alt_ctx);
-+    alt_ctx = EVP_MD_CTX_new();
-+    if (alt_ctx == NULL) {
-+        ret = ENOMEM;
-+        goto done;
-+    }
-     /* Prepare for the real work.  */
--    if (!EVP_DigestInit_ex(&ctx, EVP_sha512(), NULL)) {
-+    if (!EVP_DigestInit_ex(ctx, EVP_sha512(), NULL)) {
-         ret = EIO;
-         goto done;
-     }
-     /* Add the key string.  */
--    EVP_DigestUpdate(&ctx, (const unsigned char *)key, key_len);
-+    EVP_DigestUpdate(ctx, (const unsigned char *)key, key_len);
-     /* The last part is the salt string. This must be at most 16
-      * characters and it ends at the first `$' character (for
-      * compatibility with existing implementations). */
--    EVP_DigestUpdate(&ctx, (const unsigned char *)salt, salt_len);
-+    EVP_DigestUpdate(ctx, (const unsigned char *)salt, salt_len);
-     /* Compute alternate SHA512 sum with input KEY, SALT, and KEY.
-      * The final result will be added to the first context. */
--    if (!EVP_DigestInit_ex(&alt_ctx, EVP_sha512(), NULL)) {
-+    if (!EVP_DigestInit_ex(alt_ctx, EVP_sha512(), NULL)) {
-         ret = EIO;
-         goto done;
-     }
-     /* Add key. */
--    EVP_DigestUpdate(&alt_ctx, (const unsigned char *)key, key_len);
-+    EVP_DigestUpdate(alt_ctx, (const unsigned char *)key, key_len);
-     /* Add salt. */
--    EVP_DigestUpdate(&alt_ctx, (const unsigned char *)salt, salt_len);
-+    EVP_DigestUpdate(alt_ctx, (const unsigned char *)salt, salt_len);
-     /* Add key again. */
--    EVP_DigestUpdate(&alt_ctx, (const unsigned char *)key, key_len);
-+    EVP_DigestUpdate(alt_ctx, (const unsigned char *)key, key_len);
-     /* Now get result of this (64 bytes) and add it to the other context. */
--    EVP_DigestFinal_ex(&alt_ctx, alt_result, &part);
-+    EVP_DigestFinal_ex(alt_ctx, alt_result, &part);
-     /* Add for any character in the key one byte of the alternate sum. */
-     for (cnt = key_len; cnt > 64; cnt -= 64) {
--        EVP_DigestUpdate(&ctx, alt_result, 64);
-+        EVP_DigestUpdate(ctx, alt_result, 64);
-     }
--    EVP_DigestUpdate(&ctx, alt_result, cnt);
-+    EVP_DigestUpdate(ctx, alt_result, cnt);
-     /* Take the binary representation of the length of the key and for every
-      * 1 add the alternate sum, for every 0 the key. */
-     for (cnt = key_len; cnt > 0; cnt >>= 1) {
-         if ((cnt & 1) != 0) {
--            EVP_DigestUpdate(&ctx, alt_result, 64);
-+            EVP_DigestUpdate(ctx, alt_result, 64);
-         } else {
--            EVP_DigestUpdate(&ctx, (const unsigned char *)key, key_len);
-+            EVP_DigestUpdate(ctx, (const unsigned char *)key, key_len);
-         }
-     }
-     /* Create intermediate result. */
--    EVP_DigestFinal_ex(&ctx, alt_result, &part);
-+    EVP_DigestFinal_ex(ctx, alt_result, &part);
-     /* Start computation of P byte sequence. */
--    if (!EVP_DigestInit_ex(&alt_ctx, EVP_sha512(), NULL)) {
-+    if (!EVP_DigestInit_ex(alt_ctx, EVP_sha512(), NULL)) {
-         ret = EIO;
-         goto done;
-     }
-     /* For every character in the password add the entire password. */
-     for (cnt = 0; cnt < key_len; cnt++) {
--        EVP_DigestUpdate(&alt_ctx, (const unsigned char *)key, key_len);
-+        EVP_DigestUpdate(alt_ctx, (const unsigned char *)key, key_len);
-     }
-     /* Finish the digest. */
--    EVP_DigestFinal_ex(&alt_ctx, temp_result, &part);
-+    EVP_DigestFinal_ex(alt_ctx, temp_result, &part);
-     /* Create byte sequence P. */
-     cp = p_bytes = alloca(key_len);
-@@ -203,18 +214,18 @@ static int sha512_crypt_r(const char *key,
-     memcpy(cp, temp_result, cnt);
-     /* Start computation of S byte sequence. */
--    if (!EVP_DigestInit_ex(&alt_ctx, EVP_sha512(), NULL)) {
-+    if (!EVP_DigestInit_ex(alt_ctx, EVP_sha512(), NULL)) {
-         ret = EIO;
-         goto done;
-     }
-     /* For every character in the password add the entire salt. */
-     for (cnt = 0; cnt < 16 + alt_result[0]; cnt++) {
--        EVP_DigestUpdate(&alt_ctx, (const unsigned char *)salt, salt_len);
-+        EVP_DigestUpdate(alt_ctx, (const unsigned char *)salt, salt_len);
-     }
-     /* Finish the digest. */
--    EVP_DigestFinal_ex(&alt_ctx, temp_result, &part);
-+    EVP_DigestFinal_ex(alt_ctx, temp_result, &part);
-     /* Create byte sequence S.  */
-     cp = s_bytes = alloca(salt_len);
-@@ -226,37 +237,37 @@ static int sha512_crypt_r(const char *key,
-     /* Repeatedly run the collected hash value through SHA512 to burn CPU cycles. */
-     for (cnt = 0; cnt < rounds; cnt++) {
--        if (!EVP_DigestInit_ex(&ctx, EVP_sha512(), NULL)) {
-+        if (!EVP_DigestInit_ex(ctx, EVP_sha512(), NULL)) {
-             ret = EIO;
-             goto done;
-         }
-         /* Add key or last result. */
-         if ((cnt & 1) != 0) {
--            EVP_DigestUpdate(&ctx, (const unsigned char *)p_bytes, key_len);
-+            EVP_DigestUpdate(ctx, (const unsigned char *)p_bytes, key_len);
-         } else {
--            EVP_DigestUpdate(&ctx, alt_result, 64);
-+            EVP_DigestUpdate(ctx, alt_result, 64);
-         }
-         /* Add salt for numbers not divisible by 3. */
-         if (cnt % 3 != 0) {
--            EVP_DigestUpdate(&ctx, (const unsigned char *)s_bytes, salt_len);
-+            EVP_DigestUpdate(ctx, (const unsigned char *)s_bytes, salt_len);
-         }
-         /* Add key for numbers not divisible by 7. */
-         if (cnt % 7 != 0) {
--            EVP_DigestUpdate(&ctx, (const unsigned char *)p_bytes, key_len);
-+            EVP_DigestUpdate(ctx, (const unsigned char *)p_bytes, key_len);
-         }
-         /* Add key or last result. */
-         if ((cnt & 1) != 0) {
--            EVP_DigestUpdate(&ctx, alt_result, 64);
-+            EVP_DigestUpdate(ctx, alt_result, 64);
-         } else {
--            EVP_DigestUpdate(&ctx, (const unsigned char *)p_bytes, key_len);
-+            EVP_DigestUpdate(ctx, (const unsigned char *)p_bytes, key_len);
-         }
-         /* Create intermediate result. */
--        EVP_DigestFinal_ex(&ctx, alt_result, &part);
-+        EVP_DigestFinal_ex(ctx, alt_result, &part);
-     }
-     /* Now we can construct the result string.
-@@ -318,8 +329,8 @@ done:
-      * to processes or reading core dumps cannot get any information. We do it
-      * in this way to clear correct_words[] inside the SHA512 implementation
-      * as well.  */
--    EVP_MD_CTX_cleanup(&ctx);
--    EVP_MD_CTX_cleanup(&alt_ctx);
-+    EVP_MD_CTX_free(ctx);
-+    EVP_MD_CTX_free(alt_ctx);
-     if (p_bytes) memset(p_bytes, '\0', key_len);
-     if (s_bytes) memset(s_bytes, '\0', salt_len);
-     if (copied_key) memset(copied_key, '\0', key_len);
-diff --git a/src/util/crypto/libcrypto/sss_openssl.h b/src/util/crypto/libcrypto/sss_openssl.h
-new file mode 100644
-index 000000000..a2e2d8523
---- /dev/null
-+++ b/src/util/crypto/libcrypto/sss_openssl.h
-@@ -0,0 +1,39 @@
-+/*
-+    Authors:
-+        Lukas Slebodnik <lslebodn@redhat.com>
-+
-+    Copyright (C) 2016 Red Hat
-+
-+    This program is free software; you can redistribute it and/or modify
-+    it under the terms of the GNU General Public License as published by
-+    the Free Software Foundation; either version 3 of the License, or
-+    (at your option) any later version.
-+
-+    This program is distributed in the hope that it will be useful,
-+    but WITHOUT ANY WARRANTY; without even the implied warranty of
-+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-+    GNU General Public License for more details.
-+
-+    You should have received a copy of the GNU General Public License
-+    along with this program.  If not, see <http://www.gnu.org/licenses/>.
-+*/
-+
-+#ifndef _SSS_LIBCRYTPO_SSS_OPENSSL_H_
-+#define _SSS_LIBCRYTPO_SSS_OPENSSL_H_
-+
-+#include <openssl/evp.h>
-+
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
-+
-+/* EVP_MD_CTX_create and EVP_MD_CTX_destroy are deprecated macros
-+ * in openssl-1.1 but openssl-1.0 does not know anything about
-+ * newly added functions EVP_MD_CTX_new, EVP_MD_CTX_free in 1.1
-+ */
-+
-+# define EVP_MD_CTX_new() EVP_MD_CTX_create()
-+# define EVP_MD_CTX_free(ctx) EVP_MD_CTX_destroy((ctx))
-+
-+#endif /* OPENSSL_VERSION_NUMBER < 0x10100000L */
-+
-+
-+#endif /* _SSS_LIBCRYTPO_SSS_OPENSSL_H_ */
--- 
-2.11.0
-
diff --git a/sssd/patches/0002-libcrypto-Check-right-value-of-CRYPTO_memcmp.patch b/sssd/patches/0002-libcrypto-Check-right-value-of-CRYPTO_memcmp.patch
deleted file mode 100644 (file)
index 440f2cd..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-From 5a6aeb890bdf18729e45cd08cfa244e3da4ed45b Mon Sep 17 00:00:00 2001
-From: Lukas Slebodnik <lslebodn@redhat.com>
-Date: Wed, 19 Oct 2016 16:46:44 +0200
-Subject: [PATCH 02/39] libcrypto: Check right value of CRYPTO_memcmp
-
-sss_decrypt failed even though should pass because
-we were checking wrong value of CRYPTO_memcmp.
-Nobody noticed that because there was not a unit test :-)
-
-Reviewed-by: Christian Heimes <cheimes@redhat.com>
-(cherry picked from commit 0c2be9700d3b54db33c1a3dd5d230b34bfaceb50)
-(cherry picked from commit f4da46bd77f2eed2d04152b75c78bfc561c79354)
----
- src/util/crypto/libcrypto/crypto_nite.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/util/crypto/libcrypto/crypto_nite.c b/src/util/crypto/libcrypto/crypto_nite.c
-index de562f2d2..e863d3fc9 100644
---- a/src/util/crypto/libcrypto/crypto_nite.c
-+++ b/src/util/crypto/libcrypto/crypto_nite.c
-@@ -237,7 +237,7 @@ int sss_decrypt(TALLOC_CTX *mem_ctx, enum encmethod enctype,
-     }
-     ret = CRYPTO_memcmp(&ciphertext[cipherlen - hmaclen], out, hmaclen);
--    if (ret != 1) {
-+    if (ret != 0) {
-         ret = EFAULT;
-         goto done;
-     }
--- 
-2.11.0
-
diff --git a/sssd/patches/0003-crypto-tests-Add-unit-test-for-sss_encrypt-sss_decry.patch b/sssd/patches/0003-crypto-tests-Add-unit-test-for-sss_encrypt-sss_decry.patch
deleted file mode 100644 (file)
index 6652b36..0000000
+++ /dev/null
@@ -1,78 +0,0 @@
-From 398f89119f9e852df3beec3644420057746dbfd1 Mon Sep 17 00:00:00 2001
-From: Lukas Slebodnik <lslebodn@redhat.com>
-Date: Wed, 19 Oct 2016 16:38:27 +0200
-Subject: [PATCH 03/39] crypto-tests: Add unit test for sss_encrypt +
- sss_decrypt
-
-Reviewed-by: Christian Heimes <cheimes@redhat.com>
-(cherry picked from commit 65c85654d9b32a866caa01c28fe743eeb0bdef67)
-(cherry picked from commit 8cb41367912a50d6d9309f82b718af90032d0f02)
----
- src/tests/crypto-tests.c | 44 ++++++++++++++++++++++++++++++++++++++++++++
- 1 file changed, 44 insertions(+)
-
-diff --git a/src/tests/crypto-tests.c b/src/tests/crypto-tests.c
-index ee807c6bc..a4074e474 100644
---- a/src/tests/crypto-tests.c
-+++ b/src/tests/crypto-tests.c
-@@ -158,6 +158,49 @@ START_TEST(test_base64_decode)
- }
- END_TEST
-+START_TEST(test_sss_encrypt_decrypt)
-+{
-+    uint8_t key[] = {
-+        0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7,
-+        0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf,
-+        0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
-+        0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f
-+    };
-+    size_t key_len = sizeof(key); /* need to be 32 */
-+    const char input_text[] = "Secret text";
-+    const size_t input_text_len = sizeof(input_text) - 1;
-+    uint8_t *cipher_text;
-+    size_t cipher_text_len;
-+    uint8_t *plain_text;
-+    size_t plain_text_len;
-+    int ret;
-+
-+    test_ctx = talloc_new(NULL);
-+    fail_if(test_ctx == NULL);
-+
-+    ret = sss_encrypt(test_ctx, AES256CBC_HMAC_SHA256, key, key_len,
-+                      (const uint8_t *)input_text, input_text_len,
-+                      &cipher_text, &cipher_text_len);
-+
-+    fail_if(ret != 0);
-+    fail_if(cipher_text_len == 0);
-+
-+    ret = memcmp(input_text, cipher_text, input_text_len);
-+    fail_if(ret == 0, "Input and encrypted text has common prefix");
-+
-+    ret = sss_decrypt(test_ctx, AES256CBC_HMAC_SHA256, key, key_len,
-+                      cipher_text, cipher_text_len,
-+                      &plain_text, &plain_text_len);
-+    fail_if(ret != 0);
-+    fail_if(plain_text_len != input_text_len);
-+
-+    ret = memcmp(plain_text, input_text, input_text_len);
-+    fail_if(ret != 0, "input text is not the same as de-encrypted text");
-+
-+    talloc_free(test_ctx);
-+}
-+END_TEST
-+
- Suite *crypto_suite(void)
- {
-     Suite *s = suite_create("sss_crypto");
-@@ -172,6 +215,7 @@ Suite *crypto_suite(void)
-     tcase_add_test(tc, test_hmac_sha1);
-     tcase_add_test(tc, test_base64_encode);
-     tcase_add_test(tc, test_base64_decode);
-+    tcase_add_test(tc, test_sss_encrypt_decrypt);
-     /* Add all test cases to the test suite */
-     suite_add_tcase(s, tc);
--- 
-2.11.0
-
diff --git a/sssd/patches/0004-crypto-tests-Rename-encrypt-decrypt-test-case.patch b/sssd/patches/0004-crypto-tests-Rename-encrypt-decrypt-test-case.patch
deleted file mode 100644 (file)
index cfbb3cc..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-From bb53631c770d287dfc9b130754ce3f9320c8b3d4 Mon Sep 17 00:00:00 2001
-From: Lukas Slebodnik <lslebodn@redhat.com>
-Date: Wed, 19 Oct 2016 16:55:37 +0200
-Subject: [PATCH 04/39] crypto-tests: Rename encrypt decrypt test case
-
-libsss_crypto provide 2 pairs of encrypt + decrypt functions.
-sss_password_encrypt + sss_password_decrypt and more generic
-sss_encrypt + sss_decrypt.
-
-The name of one test case was a little bit confusing.
-It evokes that different pair of functions were tested.
-
-Reviewed-by: Christian Heimes <cheimes@redhat.com>
-(cherry picked from commit 96d239e83e671b82525cec760cf0bcaa5ee1c249)
-(cherry picked from commit 579daa9099acf848e1062a48a7cd3a5e923da349)
----
- src/tests/crypto-tests.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/src/tests/crypto-tests.c b/src/tests/crypto-tests.c
-index a4074e474..c7f0edbb3 100644
---- a/src/tests/crypto-tests.c
-+++ b/src/tests/crypto-tests.c
-@@ -48,7 +48,7 @@ START_TEST(test_nss_init)
- END_TEST
- #endif
--START_TEST(test_encrypt_decrypt)
-+START_TEST(test_sss_password_encrypt_decrypt)
- {
-     const char *password[] = { "test123",             /* general */
-                                "12345678901234567",   /* just above blocksize */
-@@ -211,7 +211,7 @@ Suite *crypto_suite(void)
- #ifdef HAVE_NSS
-     tcase_add_test(tc, test_nss_init);
- #endif
--    tcase_add_test(tc, test_encrypt_decrypt);
-+    tcase_add_test(tc, test_sss_password_encrypt_decrypt);
-     tcase_add_test(tc, test_hmac_sha1);
-     tcase_add_test(tc, test_base64_encode);
-     tcase_add_test(tc, test_base64_decode);
--- 
-2.11.0
-
diff --git a/sssd/patches/0005-BUILD-Fix-installation-without-samba.patch b/sssd/patches/0005-BUILD-Fix-installation-without-samba.patch
deleted file mode 100644 (file)
index e4b2ab0..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-From 30b240137ea5c8e6927b9a4f93813735a2a477ae Mon Sep 17 00:00:00 2001
-From: Sorah Fukumori <her@sorah.jp>
-Date: Sun, 23 Oct 2016 01:43:05 +0900
-Subject: [PATCH 05/39] BUILD: Fix installation without samba
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-winbindplugindir is defined only when BUILD_SAMBA is on. Also the file
-doesn't exist when BUILD_SAMBA is off, so installation will fail.
-
-Reviewed-by: Fabiano Fidêncio <fidencio@redhat.com>
-Reviewed-by: Lukáš Slebodník <lslebodn@redhat.com>
-(cherry picked from commit 13adcd07000ba3ca1422c6ee863df17d70e2b14c)
-(cherry picked from commit 1fb3cccd83ede1bbe99319254c88fce1285b352d)
----
- Makefile.am | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/Makefile.am b/Makefile.am
-index 3d3500918..d08e39fa4 100644
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -4130,7 +4130,9 @@ install-data-hook:
-       if [ ! $(krb5rcachedir) = "__LIBKRB5_DEFAULTS__" ]; then \
-         $(MKDIR_P) $(DESTDIR)/$(krb5rcachedir) ; \
-       fi
-+if BUILD_SAMBA
-       mv $(DESTDIR)/$(winbindplugindir)/winbind_idmap_sss.so $(DESTDIR)/$(winbindplugindir)/sss.so
-+endif
- uninstall-hook:
-       if [ -f $(abs_builddir)/src/config/.files2 ]; then \
-@@ -4152,7 +4154,9 @@ if BUILD_PYTHON3_BINDINGS
-       cd $(DESTDIR)$(py3execdir) && \
-               rm -f pysss.so pyhbac.so pysss_murmur.so pysss_nss_idmap.so
- endif
-+if BUILD_SAMBA
-       rm $(DESTDIR)/$(winbindplugindir)/sss.so
-+endif
- clean-local:
- if BUILD_PYTHON2_BINDINGS
--- 
-2.11.0
-
diff --git a/sssd/patches/0006-BUILD-Accept-krb5-1.15-for-building-the-PAC-plugin.patch b/sssd/patches/0006-BUILD-Accept-krb5-1.15-for-building-the-PAC-plugin.patch
deleted file mode 100644 (file)
index 0767b72..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-From fe1591bf812979074f11493c74ee87efa6b92609 Mon Sep 17 00:00:00 2001
-From: Lukas Slebodnik <lslebodn@redhat.com>
-Date: Mon, 24 Oct 2016 10:03:32 +0000
-Subject: [PATCH 06/39] BUILD: Accept krb5 1.15 for building the PAC plugin
-
-Reviewed-by: Sumit Bose <sbose@redhat.com>
-(cherry picked from commit 11d2a1183d7017f3d453d0a7046004b6968fefb5)
-(cherry picked from commit 6a96323fb511565908a5a7ce7b1d6e0d40aa647d)
----
- src/external/pac_responder.m4 | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/src/external/pac_responder.m4 b/src/external/pac_responder.m4
-index 928b1d295..6b400d47c 100644
---- a/src/external/pac_responder.m4
-+++ b/src/external/pac_responder.m4
-@@ -16,7 +16,8 @@ then
-         Kerberos\ 5\ release\ 1.11* | \
-         Kerberos\ 5\ release\ 1.12* | \
-         Kerberos\ 5\ release\ 1.13* | \
--        Kerberos\ 5\ release\ 1.14*)
-+        Kerberos\ 5\ release\ 1.14* | \
-+        Kerberos\ 5\ release\ 1.15*)
-             krb5_version_ok=yes
-             AC_MSG_RESULT([yes])
-             ;;
--- 
-2.11.0
-
diff --git a/sssd/patches/0007-dlopen-test-Use-portable-macro-for-location-of-.libs.patch b/sssd/patches/0007-dlopen-test-Use-portable-macro-for-location-of-.libs.patch
deleted file mode 100644 (file)
index fce0123..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-From 00efc45a2f2784b8f7bbd823dd7de6b9201d69b1 Mon Sep 17 00:00:00 2001
-From: Lukas Slebodnik <lslebodn@redhat.com>
-Date: Mon, 17 Oct 2016 21:39:57 +0200
-Subject: [PATCH 07/39] dlopen-test: Use portable macro for location of .libs
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Reviewed-by: Petr ÄŒech <pcech@redhat.com>
-(cherry picked from commit bacc66dc6f446d47be18b61d569721481d70386b)
-(cherry picked from commit a64409a528257ee0706cc12a1b974a159edac041)
----
- src/tests/dlopen-tests.c | 5 +++--
- 1 file changed, 3 insertions(+), 2 deletions(-)
-
-diff --git a/src/tests/dlopen-tests.c b/src/tests/dlopen-tests.c
-index 96cc4db9b..6e37dbed1 100644
---- a/src/tests/dlopen-tests.c
-+++ b/src/tests/dlopen-tests.c
-@@ -22,7 +22,8 @@
-     along with this program.  If not, see <http://www.gnu.org/licenses/>.
- */
--#define _GNU_SOURCE
-+#include "config.h"
-+
- #include <stdbool.h>
- #include <dlfcn.h>
- #include <stdio.h>
-@@ -31,7 +32,7 @@
- #include <check.h>
- #include "tests/common.h"
--#define LIBPFX ABS_BUILD_DIR"/.libs/"
-+#define LIBPFX ABS_BUILD_DIR "/" LT_OBJDIR
- struct so {
-     const char *name;
--- 
-2.11.0
-
diff --git a/sssd/patches/0008-dlopen-test-Add-missing-libraries-to-the-check-list.patch b/sssd/patches/0008-dlopen-test-Add-missing-libraries-to-the-check-list.patch
deleted file mode 100644 (file)
index 3372570..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
-From f60c6cec2a432222308d5b6b05ee7e2f93c16bb0 Mon Sep 17 00:00:00 2001
-From: Lukas Slebodnik <lslebodn@redhat.com>
-Date: Mon, 17 Oct 2016 21:59:18 +0200
-Subject: [PATCH 08/39] dlopen-test: Add missing libraries to the check list
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-nfsidmap plugin(sss.so) and libsss_cert.so were not checked.
-Few libraries which are build for testing purposes were added to the list
-otherwise we would not be able to detect unchecked libraries.
-
-Reviewed-by: Petr ÄŒech <pcech@redhat.com>
-(cherry picked from commit 558b8f3cd2439c01e139cf5f812aea9409fe776a)
-(cherry picked from commit 9b972260cb805e3537ab9464ef5347348792d7cf)
----
- src/tests/dlopen-tests.c | 13 +++++++++++++
- 1 file changed, 13 insertions(+)
-
-diff --git a/src/tests/dlopen-tests.c b/src/tests/dlopen-tests.c
-index 6e37dbed1..c980ab9f1 100644
---- a/src/tests/dlopen-tests.c
-+++ b/src/tests/dlopen-tests.c
-@@ -78,6 +78,7 @@ struct so {
-     { "libsss_child.so", { LIBPFX"libsss_util.so",
-                            LIBPFX"libsss_child.so", NULL } },
-     { "libsss_crypt.so", { LIBPFX"libsss_crypt.so", NULL } },
-+    { "libsss_cert.so", { LIBPFX"libsss_cert.so", NULL } },
-     { "libsss_util.so", { LIBPFX"libsss_util.so", NULL } },
-     { "libsss_simple.so", { LIBPFX"libdlopen_test_providers.so",
-                             LIBPFX"libsss_simple.so", NULL } },
-@@ -114,6 +115,18 @@ struct so {
- #ifdef HAVE_CONFIG_LIB
-     { "libsss_config.so", { LIBPFX"libsss_config.so", NULL } },
- #endif
-+#ifdef BUILD_NFS_IDMAP
-+    { "sss.so", { LIBPFX"sss.so", NULL } },
-+#endif
-+    /* for testing purposes */
-+    { "libsss_nss_idmap_tests.so", { LIBPFX"libsss_nss_idmap_tests.so",
-+                                     NULL } },
-+#ifdef BUILD_SAMBA
-+    { "libdlopen_test_winbind_idmap.so",
-+      { LIBPFX"libdlopen_test_winbind_idmap.so", NULL } },
-+    { "libsss_ad_tests.so", { LIBPFX"libdlopen_test_providers.so",
-+                              LIBPFX"libsss_ad_tests.so", NULL } },
-+#endif
-     { NULL }
- };
--- 
-2.11.0
-
diff --git a/sssd/patches/0009-dlopen-test-Move-libraries-to-the-right-sections.patch b/sssd/patches/0009-dlopen-test-Move-libraries-to-the-right-sections.patch
deleted file mode 100644 (file)
index 225f599..0000000
+++ /dev/null
@@ -1,63 +0,0 @@
-From 87ef46f4bd0745b13ee49f5487bc8a45ea2f3c1d Mon Sep 17 00:00:00 2001
-From: Lukas Slebodnik <lslebodn@redhat.com>
-Date: Mon, 17 Oct 2016 22:17:27 +0200
-Subject: [PATCH 09/39] dlopen-test: Move libraries to the right "sections"
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-The library winbind_idmap_sss.so is build only when building
-with samba. The library libdlopen_test_providers.so was moved
-to the group of libraries build for testing purposes.
-
-Reviewed-by: Petr ÄŒech <pcech@redhat.com>
-(cherry picked from commit d708e53d0df0c1ed4cc0097bebfa2a84d7b20fad)
-(cherry picked from commit a52c7df943a7b685609b66c49264c6d1805d31c2)
----
- src/tests/dlopen-tests.c | 9 ++++-----
- 1 file changed, 4 insertions(+), 5 deletions(-)
-
-diff --git a/src/tests/dlopen-tests.c b/src/tests/dlopen-tests.c
-index c980ab9f1..c857dff73 100644
---- a/src/tests/dlopen-tests.c
-+++ b/src/tests/dlopen-tests.c
-@@ -71,9 +71,6 @@ struct so {
- #ifdef HAVE_CIFS_IDMAP_PLUGIN
-     { "cifs_idmap_sss.so", { LIBPFX"cifs_idmap_sss.so", NULL } },
- #endif
--    { "winbind_idmap_sss.so", { LIBPFX"libdlopen_test_winbind_idmap.so",
--                                LIBPFX"winbind_idmap_sss.so",
--                                NULL } },
-     { "memberof.so", { LIBPFX"memberof.so", NULL } },
-     { "libsss_child.so", { LIBPFX"libsss_util.so",
-                            LIBPFX"libsss_child.so", NULL } },
-@@ -87,6 +84,8 @@ struct so {
-                         LIBPFX"libsss_ad.so", NULL } },
-     { "libsss_ipa.so", { LIBPFX"libdlopen_test_providers.so",
-                          LIBPFX"libsss_ipa.so", NULL } },
-+    { "winbind_idmap_sss.so", { LIBPFX"libdlopen_test_winbind_idmap.so",
-+                                LIBPFX"winbind_idmap_sss.so", NULL } },
- #endif /* BUILD_SAMBA */
-     { "libsss_krb5.so", { LIBPFX"libdlopen_test_providers.so",
-                           LIBPFX"libsss_krb5.so", NULL } },
-@@ -98,8 +97,6 @@ struct so {
-                                  LIBPFX"libsss_ldap_common.so", NULL } },
-     { "libsss_proxy.so", { LIBPFX"libdlopen_test_providers.so",
-                            LIBPFX"libsss_proxy.so", NULL } },
--    { "libdlopen_test_providers.so", { LIBPFX"libdlopen_test_providers.so",
--                                       NULL } },
- #ifdef HAVE_PYTHON2_BINDINGS
-     { "_py2hbac.so", { LIBPFX"_py2hbac.so", NULL } },
-     { "_py2sss.so", { LIBPFX"_py2sss.so", NULL } },
-@@ -119,6 +116,8 @@ struct so {
-     { "sss.so", { LIBPFX"sss.so", NULL } },
- #endif
-     /* for testing purposes */
-+    { "libdlopen_test_providers.so", { LIBPFX"libdlopen_test_providers.so",
-+                                       NULL } },
-     { "libsss_nss_idmap_tests.so", { LIBPFX"libsss_nss_idmap_tests.so",
-                                      NULL } },
- #ifdef BUILD_SAMBA
--- 
-2.11.0
-
diff --git a/sssd/patches/0010-dlopen-test-Add-check-for-untested-libraries.patch b/sssd/patches/0010-dlopen-test-Add-check-for-untested-libraries.patch
deleted file mode 100644 (file)
index 40cac80..0000000
+++ /dev/null
@@ -1,115 +0,0 @@
-From 916065cfed5ceccfd2ee4127a460b47161c2efd7 Mon Sep 17 00:00:00 2001
-From: Lukas Slebodnik <lslebodn@redhat.com>
-Date: Mon, 17 Oct 2016 21:44:18 +0200
-Subject: [PATCH 10/39] dlopen-test: Add check for untested libraries
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Reviewed-by: Petr ÄŒech <pcech@redhat.com>
-(cherry picked from commit c7b3c43cf669e39f7ce5f4ef1a2e939b31a8b7b9)
-(cherry picked from commit 7251859d8cdb2fc57c969f67ac76904fea331cd0)
----
- src/tests/dlopen-tests.c | 69 ++++++++++++++++++++++++++++++++++++++++++++++++
- 1 file changed, 69 insertions(+)
-
-diff --git a/src/tests/dlopen-tests.c b/src/tests/dlopen-tests.c
-index c857dff73..520c91f63 100644
---- a/src/tests/dlopen-tests.c
-+++ b/src/tests/dlopen-tests.c
-@@ -30,6 +30,7 @@
- #include <stdlib.h>
- #include <limits.h>
- #include <check.h>
-+#include <dirent.h>
- #include "tests/common.h"
- #define LIBPFX ABS_BUILD_DIR "/" LT_OBJDIR
-@@ -154,16 +155,84 @@ static bool recursive_dlopen(const char **name, int round, char **errmsg)
-     return ok;
- }
-+static int file_so_filter(const struct dirent *ent)
-+{
-+    char *suffix;
-+
-+    suffix = rindex(ent->d_name, '.');
-+    if (suffix != NULL
-+            && strcmp(suffix, ".so") == 0
-+            && suffix[3] == '\0') {
-+        return 1;
-+    }
-+
-+    return 0;
-+}
-+
-+static char **get_so_files(size_t *_list_size)
-+{
-+    int n;
-+    struct dirent **namelist;
-+    char **libraries;
-+
-+    n = scandir(LIBPFX, &namelist, file_so_filter, alphasort);
-+    fail_unless(n > 0);
-+
-+    libraries = calloc(n + 1, sizeof(char *));
-+
-+    for (int i = 0; i < n; ++i) {
-+        libraries[i] = strdup(namelist[i]->d_name);
-+        fail_if(libraries[i] == NULL);
-+
-+        free(namelist[i]);
-+    }
-+    free(namelist);
-+
-+    *_list_size = (size_t)n;
-+    return libraries;
-+}
-+
-+static void remove_library_from_list(const char *library, char **list,
-+                                     size_t list_size)
-+{
-+    for (size_t i = 0; i < list_size; ++i) {
-+        if (list[i] != NULL && strcmp(library, list[i]) == 0) {
-+            /* found library need to be removed from list */
-+            free(list[i]);
-+            list[i] = NULL;
-+            return;
-+        }
-+    }
-+
-+    ck_abort_msg("Cannot find expected library: %s", library);
-+}
-+
- START_TEST(test_dlopen_base)
- {
-     char *errmsg;
-     bool ok;
-     int i;
-+    size_t found_libraries_size;
-+    char **found_libraries = get_so_files(&found_libraries_size);
-+    bool unchecked_library = false;
-     for (i = 0; so[i].name != NULL; i++) {
-         ok = recursive_dlopen(so[i].libs, 0, &errmsg);
-         fail_unless(ok, "Error opening %s: [%s]", so[i].name, errmsg);
-+
-+        remove_library_from_list(so[i].name, found_libraries,
-+                                 found_libraries_size);
-     }
-+
-+    for (i = 0; i < found_libraries_size; ++i) {
-+        if (found_libraries[i] != NULL) {
-+            printf("Unchecked library found: %s\n", found_libraries[i]);
-+            unchecked_library = true;
-+        }
-+    }
-+    free(found_libraries);
-+
-+    fail_if(unchecked_library);
- }
- END_TEST
--- 
-2.11.0
-
diff --git a/sssd/patches/0011-sssctl-Flags-for-command-initialization.patch b/sssd/patches/0011-sssctl-Flags-for-command-initialization.patch
deleted file mode 100644 (file)
index 1aebca3..0000000
+++ /dev/null
@@ -1,202 +0,0 @@
-From 9b31bc45a3d5728af2523725bd5a2b4aff4f4c78 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Michal=20=C5=BDidek?= <mzidek@redhat.com>
-Date: Wed, 12 Oct 2016 13:09:37 +0200
-Subject: [PATCH 11/39] sssctl: Flags for command initialization
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Allow passing flags for command specific initialization. Currently
-only one flag is available to skip the confdb initialization which is
-required to improve config-check command.
-
-Resolves:
-https://fedorahosted.org/sssd/ticket/3209
-
-Reviewed-by: Lukáš Slebodník <lslebodn@redhat.com>
-(cherry picked from commit cbee11e912bb391ba254b0bac8c1159c1f634533)
-(cherry picked from commit ec1829de7cd529c2c68b4bdb9b6d43ac6bb545d3)
----
- src/tools/common/sss_tools.c | 91 +++++++++++++++++++++++++-------------------
- src/tools/common/sss_tools.h | 14 +++++--
- src/tools/sssctl/sssctl.c    |  2 +-
- 3 files changed, 63 insertions(+), 44 deletions(-)
-
-diff --git a/src/tools/common/sss_tools.c b/src/tools/common/sss_tools.c
-index 686b53a07..0f4f46894 100644
---- a/src/tools/common/sss_tools.c
-+++ b/src/tools/common/sss_tools.c
-@@ -182,7 +182,6 @@ errno_t sss_tool_init(TALLOC_CTX *mem_ctx,
-                       struct sss_tool_ctx **_tool_ctx)
- {
-     struct sss_tool_ctx *tool_ctx;
--    errno_t ret;
-     tool_ctx = talloc_zero(mem_ctx, struct sss_tool_ctx);
-     if (tool_ctx == NULL) {
-@@ -192,45 +191,9 @@ errno_t sss_tool_init(TALLOC_CTX *mem_ctx,
-     sss_tool_common_opts(tool_ctx, argc, argv);
--    /* Connect to confdb. */
--    ret = sss_tool_confdb_init(tool_ctx, &tool_ctx->confdb);
--    if (ret != EOK) {
--        DEBUG(SSSDBG_CRIT_FAILURE, "Unable to open confdb [%d]: %s\n",
--                                   ret, sss_strerror(ret));
--        goto done;
--    }
-+    *_tool_ctx = tool_ctx;
--    /* Setup domains. */
--    ret = sss_tool_domains_init(tool_ctx, tool_ctx->confdb, &tool_ctx->domains);
--    if (ret != EOK) {
--        DEBUG(SSSDBG_CRIT_FAILURE, "Unable to setup domains [%d]: %s\n",
--                                   ret, sss_strerror(ret));
--        goto done;
--    }
--
--    ret = confdb_get_string(tool_ctx->confdb, tool_ctx,
--                            CONFDB_MONITOR_CONF_ENTRY,
--                            CONFDB_MONITOR_DEFAULT_DOMAIN,
--                            NULL, &tool_ctx->default_domain);
--    if (ret != EOK) {
--        DEBUG(SSSDBG_OP_FAILURE, "Cannot get the default domain [%d]: %s\n",
--                                 ret, strerror(ret));
--        goto done;
--    }
--
--    ret = EOK;
--
--done:
--    switch (ret) {
--    case EOK:
--    case ERR_SYSDB_VERSION_TOO_OLD:
--        *_tool_ctx = tool_ctx;
--        break;
--    default:
--        break;
--    }
--
--    return ret;
-+    return EOK;
- }
- static bool sss_tool_is_delimiter(struct sss_route_cmd *command)
-@@ -300,6 +263,47 @@ void sss_tool_usage(const char *tool_name, struct sss_route_cmd *commands)
-     sss_tool_print_common_opts(min_len);
- }
-+static int tool_cmd_init(struct sss_tool_ctx *tool_ctx,
-+                         struct sss_route_cmd *command)
-+{
-+    int ret;
-+
-+    if (command->flags & SSS_TOOL_FLAG_SKIP_CMD_INIT) {
-+        return EOK;
-+    }
-+
-+    /* Connect to confdb. */
-+    ret = sss_tool_confdb_init(tool_ctx, &tool_ctx->confdb);
-+    if (ret != EOK) {
-+        DEBUG(SSSDBG_CRIT_FAILURE, "Unable to open confdb [%d]: %s\n",
-+              ret, sss_strerror(ret));
-+        goto done;
-+    }
-+
-+    /* Setup domains. */
-+    ret = sss_tool_domains_init(tool_ctx, tool_ctx->confdb, &tool_ctx->domains);
-+    if (ret != EOK) {
-+        DEBUG(SSSDBG_CRIT_FAILURE, "Unable to setup domains [%d]: %s\n",
-+              ret, sss_strerror(ret));
-+        goto done;
-+    }
-+
-+    ret = confdb_get_string(tool_ctx->confdb, tool_ctx,
-+                            CONFDB_MONITOR_CONF_ENTRY,
-+                            CONFDB_MONITOR_DEFAULT_DOMAIN,
-+                            NULL, &tool_ctx->default_domain);
-+    if (ret != EOK) {
-+        DEBUG(SSSDBG_OP_FAILURE, "Cannot get the default domain [%d]: %s\n",
-+              ret, strerror(ret));
-+        goto done;
-+    }
-+
-+    ret = EOK;
-+
-+done:
-+    return ret;
-+}
-+
- errno_t sss_tool_route(int argc, const char **argv,
-                        struct sss_tool_ctx *tool_ctx,
-                        struct sss_route_cmd *commands,
-@@ -308,6 +312,7 @@ errno_t sss_tool_route(int argc, const char **argv,
-     struct sss_cmdline cmdline;
-     const char *cmd;
-     int i;
-+    int ret;
-     if (commands == NULL) {
-         DEBUG(SSSDBG_CRIT_FAILURE, "Bug: commands can't be NULL!\n");
-@@ -339,6 +344,14 @@ errno_t sss_tool_route(int argc, const char **argv,
-                 return tool_ctx->init_err;
-             }
-+            ret = tool_cmd_init(tool_ctx, &commands[i]);
-+            if (ret != EOK) {
-+                DEBUG(SSSDBG_FATAL_FAILURE,
-+                      "Command initialization failed [%d] %s\n",
-+                      ret, sss_strerror(ret));
-+                return ret;
-+            }
-+
-             return commands[i].fn(&cmdline, tool_ctx, pvt);
-         }
-     }
-diff --git a/src/tools/common/sss_tools.h b/src/tools/common/sss_tools.h
-index 6d24642ae..49da7d634 100644
---- a/src/tools/common/sss_tools.h
-+++ b/src/tools/common/sss_tools.h
-@@ -45,16 +45,22 @@ typedef errno_t
-                 struct sss_tool_ctx *tool_ctx,
-                 void *pvt);
--#define SSS_TOOL_COMMAND(cmd, msg, err, fn) {cmd, _(msg), err, fn}
--#define SSS_TOOL_COMMAND_NOMSG(cmd, err, fn) {cmd, NULL, err, fn}
--#define SSS_TOOL_DELIMITER(message) {"", _(message), 0, NULL}
--#define SSS_TOOL_LAST {NULL, NULL, 0, NULL}
-+#define SSS_TOOL_COMMAND_FLAGS(cmd, msg, err, fn, flags) \
-+    {cmd, _(msg), err, fn, flags}
-+#define SSS_TOOL_COMMAND(cmd, msg, err, fn) \
-+    {cmd, _(msg), err, fn, 0}
-+#define SSS_TOOL_COMMAND_NOMSG(cmd, err, fn) {cmd, NULL, err, fn, 0}
-+#define SSS_TOOL_DELIMITER(message) {"", _(message), 0, NULL, 0}
-+#define SSS_TOOL_LAST {NULL, NULL, 0, NULL, 0}
-+
-+#define SSS_TOOL_FLAG_SKIP_CMD_INIT 0x01
- struct sss_route_cmd {
-     const char *command;
-     const char *description;
-     errno_t handles_init_err;
-     sss_route_fn fn;
-+    int flags;
- };
- void sss_tool_usage(const char *tool_name,
-diff --git a/src/tools/sssctl/sssctl.c b/src/tools/sssctl/sssctl.c
-index b0510e6ae..ece1e6df1 100644
---- a/src/tools/sssctl/sssctl.c
-+++ b/src/tools/sssctl/sssctl.c
-@@ -276,7 +276,7 @@ int main(int argc, const char **argv)
-         SSS_TOOL_COMMAND("logs-fetch", "Archive SSSD log files in tarball", 0, sssctl_logs_fetch),
- #ifdef HAVE_LIBINI_CONFIG_V1_3
-         SSS_TOOL_DELIMITER("Configuration files tools:"),
--        SSS_TOOL_COMMAND("config-check", "Perform static analysis of SSSD configuration", 0, sssctl_config_check),
-+        SSS_TOOL_COMMAND_FLAGS("config-check", "Perform static analysis of SSSD configuration", 0, sssctl_config_check, SSS_TOOL_FLAG_SKIP_CMD_INIT),
- #endif
-         SSS_TOOL_LAST
-     };
--- 
-2.11.0
-
diff --git a/sssd/patches/0012-sysdb-add-parent_dom-to-sysdb_get_direct_parents.patch b/sssd/patches/0012-sysdb-add-parent_dom-to-sysdb_get_direct_parents.patch
deleted file mode 100644 (file)
index f804512..0000000
+++ /dev/null
@@ -1,125 +0,0 @@
-From 0cf03315bc74555aa70a6fec854d6d66826eb608 Mon Sep 17 00:00:00 2001
-From: Sumit Bose <sbose@redhat.com>
-Date: Tue, 18 Oct 2016 14:59:19 +0200
-Subject: [PATCH 12/39] sysdb: add parent_dom to sysdb_get_direct_parents()
-
-Currently sysdb_get_direct_parents() only return direct parents from the
-same domain as the child object. In setups with sub-domains this might
-not be sufficient. A new option parent_dom is added which allows to
-specify a domain the direct parents should be lookup up in. If it is
-NULL the whole cache is searched.
-
-Reviewed-by: Jakub Hrozek <jhrozek@redhat.com>
-(cherry picked from commit 3dd4c3eca80e9223a65f3318821bd0fb5b45aedd)
-(cherry picked from commit 9a243dcdbf5a908d23c1a64f3fb33914eefef9e8)
----
- src/db/sysdb.h                             | 21 +++++++++++++++++++++
- src/db/sysdb_search.c                      |  7 ++++++-
- src/providers/ldap/sdap_async_initgroups.c | 11 +++++++----
- 3 files changed, 34 insertions(+), 5 deletions(-)
-
-diff --git a/src/db/sysdb.h b/src/db/sysdb.h
-index 7de3acdf3..f5d3ddb84 100644
---- a/src/db/sysdb.h
-+++ b/src/db/sysdb.h
-@@ -1137,8 +1137,29 @@ errno_t sysdb_remove_attrs(struct sss_domain_info *domain,
-                            enum sysdb_member_type type,
-                            char **remove_attrs);
-+/**
-+ * @brief Return direct parents of an object in the cache
-+ *
-+ * @param[in]  mem_ctx         Memory context the result should be allocated
-+ *                             on
-+ * @param[in]  dom             domain the object is in
-+ * @param[in]  parent_dom      domain which should be searched for direct
-+ *                             parents if NULL all domains in the given cache
-+ *                             are searched
-+ * @param[in]  mtype           Type of the object, SYSDB_MEMBER_USER or
-+ *                             SYSDB_MEMBER_GROUP
-+ * @param[in]  name            Name of the object
-+ * @param[out] _direct_parents List of names of the direct parent groups
-+ *
-+ *
-+ * @return
-+ *  - EOK:    success
-+ *  - EINVAL: wrong mtype
-+ *  - ENOMEM: Memory allocation failed
-+ */
- errno_t sysdb_get_direct_parents(TALLOC_CTX *mem_ctx,
-                                  struct sss_domain_info *dom,
-+                                 struct sss_domain_info *parent_dom,
-                                  enum sysdb_member_type mtype,
-                                  const char *name,
-                                  char ***_direct_parents);
-diff --git a/src/db/sysdb_search.c b/src/db/sysdb_search.c
-index cfee5784d..4d63c3838 100644
---- a/src/db/sysdb_search.c
-+++ b/src/db/sysdb_search.c
-@@ -1981,6 +1981,7 @@ done:
- errno_t sysdb_get_direct_parents(TALLOC_CTX *mem_ctx,
-                                  struct sss_domain_info *dom,
-+                                 struct sss_domain_info *parent_dom,
-                                  enum sysdb_member_type mtype,
-                                  const char *name,
-                                  char ***_direct_parents)
-@@ -2029,7 +2030,11 @@ errno_t sysdb_get_direct_parents(TALLOC_CTX *mem_ctx,
-         goto done;
-     }
--    basedn = sysdb_group_base_dn(tmp_ctx, dom);
-+    if (parent_dom == NULL) {
-+        basedn = sysdb_base_dn(dom->sysdb, tmp_ctx);
-+    } else {
-+        basedn = sysdb_group_base_dn(tmp_ctx, parent_dom);
-+    }
-     if (!basedn) {
-         ret = ENOMEM;
-         goto done;
-diff --git a/src/providers/ldap/sdap_async_initgroups.c b/src/providers/ldap/sdap_async_initgroups.c
-index df39de3cc..7a2eef43d 100644
---- a/src/providers/ldap/sdap_async_initgroups.c
-+++ b/src/providers/ldap/sdap_async_initgroups.c
-@@ -1301,7 +1301,8 @@ sdap_initgr_store_user_memberships(struct sdap_initgr_nested_state *state)
-         }
-     }
--    ret = sysdb_get_direct_parents(tmp_ctx, state->dom, SYSDB_MEMBER_USER,
-+    ret = sysdb_get_direct_parents(tmp_ctx, state->dom, state->dom,
-+                                   SYSDB_MEMBER_USER,
-                                    state->username, &sysdb_parent_name_list);
-     if (ret) {
-         DEBUG(SSSDBG_CRIT_FAILURE,
-@@ -1388,7 +1389,7 @@ sdap_initgr_nested_get_membership_diff(TALLOC_CTX *mem_ctx,
-         goto done;
-     }
--    ret = sysdb_get_direct_parents(tmp_ctx, dom, SYSDB_MEMBER_GROUP,
-+    ret = sysdb_get_direct_parents(tmp_ctx, dom, dom, SYSDB_MEMBER_GROUP,
-                                    group_name, &sysdb_parents_names_list);
-     if (ret) {
-         DEBUG(SSSDBG_CRIT_FAILURE,
-@@ -2070,7 +2071,8 @@ rfc2307bis_group_memberships_build(hash_entry_t *item, void *user_data)
-         goto done;
-     }
--    ret = sysdb_get_direct_parents(tmp_ctx, mstate->dom, SYSDB_MEMBER_GROUP,
-+    ret = sysdb_get_direct_parents(tmp_ctx, mstate->dom, mstate->dom,
-+                                   SYSDB_MEMBER_GROUP,
-                                    group_name, &sysdb_parents_names_list);
-     if (ret) {
-         DEBUG(SSSDBG_CRIT_FAILURE,
-@@ -2130,7 +2132,8 @@ errno_t save_rfc2307bis_user_memberships(
-     }
-     in_transaction = true;
--    ret = sysdb_get_direct_parents(tmp_ctx, state->dom, SYSDB_MEMBER_USER,
-+    ret = sysdb_get_direct_parents(tmp_ctx, state->dom, state->dom,
-+                                   SYSDB_MEMBER_USER,
-                                    state->name, &sysdb_parent_name_list);
-     if (ret) {
-         DEBUG(SSSDBG_CRIT_FAILURE,
--- 
-2.11.0
-
diff --git a/sssd/patches/0013-sdap-make-some-nested-group-related-calls-public.patch b/sssd/patches/0013-sdap-make-some-nested-group-related-calls-public.patch
deleted file mode 100644 (file)
index debcf01..0000000
+++ /dev/null
@@ -1,81 +0,0 @@
-From 79044fc1de2dad656b2c664722b4f8568bf4f8d6 Mon Sep 17 00:00:00 2001
-From: Sumit Bose <sbose@redhat.com>
-Date: Tue, 18 Oct 2016 18:16:30 +0200
-Subject: [PATCH 13/39] sdap: make some nested group related calls public
-
-sdap_nested_groups_store() and rfc2307bis_nested_groups_send/recv() will
-be reused for domain local group lookups.
-
-Reviewed-by: Jakub Hrozek <jhrozek@redhat.com>
-(cherry picked from commit 49d3f0a487d55571b2bdc9d3f8280b304b964b9d)
-(cherry picked from commit f38c62ffe05ab845165f1b597083579d4fe3632f)
----
- src/providers/ldap/sdap_async_initgroups.c | 12 ++----------
- src/providers/ldap/sdap_async_private.h    | 16 ++++++++++++++++
- 2 files changed, 18 insertions(+), 10 deletions(-)
-
-diff --git a/src/providers/ldap/sdap_async_initgroups.c b/src/providers/ldap/sdap_async_initgroups.c
-index 7a2eef43d..0f56b8740 100644
---- a/src/providers/ldap/sdap_async_initgroups.c
-+++ b/src/providers/ldap/sdap_async_initgroups.c
-@@ -622,7 +622,7 @@ static int sdap_initgr_rfc2307_recv(struct tevent_req *req)
- }
- /* ==Common code for pure RFC2307bis and IPA/AD========================= */
--static errno_t
-+errno_t
- sdap_nested_groups_store(struct sysdb_ctx *sysdb,
-                          struct sss_domain_info *domain,
-                          struct sdap_options *opts,
-@@ -1558,14 +1558,6 @@ static void sdap_initgr_rfc2307bis_process(struct tevent_req *subreq);
- static void sdap_initgr_rfc2307bis_done(struct tevent_req *subreq);
- errno_t save_rfc2307bis_user_memberships(
-         struct sdap_initgr_rfc2307bis_state *state);
--struct tevent_req *rfc2307bis_nested_groups_send(
--        TALLOC_CTX *mem_ctx, struct tevent_context *ev,
--        struct sdap_options *opts, struct sysdb_ctx *sysdb,
--        struct sss_domain_info *dom, struct sdap_handle *sh,
--        struct sdap_search_base **search_bases,
--        struct sysdb_attrs **groups, size_t num_groups,
--        hash_table_t *group_hash, size_t nesting);
--static errno_t rfc2307bis_nested_groups_recv(struct tevent_req *req);
- static struct tevent_req *sdap_initgr_rfc2307bis_send(
-         TALLOC_CTX *memctx,
-@@ -2616,7 +2608,7 @@ static void rfc2307bis_nested_groups_process(struct tevent_req *subreq)
-     tevent_req_set_callback(subreq, rfc2307bis_nested_groups_done, req);
- }
--static errno_t rfc2307bis_nested_groups_recv(struct tevent_req *req)
-+errno_t rfc2307bis_nested_groups_recv(struct tevent_req *req)
- {
-     TEVENT_REQ_RETURN_ON_ERROR(req);
-     return EOK;
-diff --git a/src/providers/ldap/sdap_async_private.h b/src/providers/ldap/sdap_async_private.h
-index f09ddb71f..4af4f7144 100644
---- a/src/providers/ldap/sdap_async_private.h
-+++ b/src/providers/ldap/sdap_async_private.h
-@@ -157,4 +157,20 @@ errno_t sdap_check_ad_group_type(struct sss_domain_info *dom,
-                                  struct sysdb_attrs *group_attrs,
-                                  const char *group_name,
-                                  bool *_need_filter);
-+
-+struct tevent_req *rfc2307bis_nested_groups_send(
-+        TALLOC_CTX *mem_ctx, struct tevent_context *ev,
-+        struct sdap_options *opts, struct sysdb_ctx *sysdb,
-+        struct sss_domain_info *dom, struct sdap_handle *sh,
-+        struct sdap_search_base **search_bases,
-+        struct sysdb_attrs **groups, size_t num_groups,
-+        hash_table_t *group_hash, size_t nesting);
-+errno_t rfc2307bis_nested_groups_recv(struct tevent_req *req);
-+
-+errno_t sdap_nested_groups_store(struct sysdb_ctx *sysdb,
-+                                 struct sss_domain_info *domain,
-+                                 struct sdap_options *opts,
-+                                 struct sysdb_attrs **groups,
-+                                 unsigned long count);
-+
- #endif /* _SDAP_ASYNC_PRIVATE_H_ */
--- 
-2.11.0
-
diff --git a/sssd/patches/0014-LDAP-AD-resolve-domain-local-groups-for-remote-users.patch b/sssd/patches/0014-LDAP-AD-resolve-domain-local-groups-for-remote-users.patch
deleted file mode 100644 (file)
index 80b709b..0000000
+++ /dev/null
@@ -1,683 +0,0 @@
-From b53bcb7675b6b797c4ba2a590deb4e4578d0e5ef Mon Sep 17 00:00:00 2001
-From: Sumit Bose <sbose@redhat.com>
-Date: Tue, 18 Oct 2016 18:18:44 +0200
-Subject: [PATCH 14/39] LDAP/AD: resolve domain local groups for remote users
-
-If a user from a trusted domain in the same forest is a direct or
-indirect member of domain local groups from the local domain those
-memberships must be resolved as well. Since those domain local groups
-are not valid in the trusted domain a DC from the trusted domain which
-is used to lookup the user data is not aware of them. As a consequence
-those memberships must be resolved against a local DC in a second step.
-
-Resolves https://fedorahosted.org/sssd/ticket/3206
-
-Reviewed-by: Jakub Hrozek <jhrozek@redhat.com>
-(cherry picked from commit 25699846bd1c9f8bb513b6271eb4366ab682fbd2)
-(cherry picked from commit c1f3b29fee6577714347673d717f71ab997c3006)
----
- src/db/sysdb.h                                |   1 +
- src/providers/ldap/sdap_async_initgroups.c    | 158 +++++++++-
- src/providers/ldap/sdap_async_initgroups_ad.c | 407 ++++++++++++++++++++++++++
- src/providers/ldap/sdap_async_private.h       |  10 +
- 4 files changed, 569 insertions(+), 7 deletions(-)
-
-diff --git a/src/db/sysdb.h b/src/db/sysdb.h
-index f5d3ddb84..901268390 100644
---- a/src/db/sysdb.h
-+++ b/src/db/sysdb.h
-@@ -225,6 +225,7 @@
-                         SYSDB_OVERRIDE_OBJECT_DN, \
-                         SYSDB_DEFAULT_OVERRIDE_NAME, \
-                         SYSDB_UUID, \
-+                        SYSDB_ORIG_DN, \
-                         NULL}
- #define SYSDB_GRSRC_ATTRS {SYSDB_NAME, SYSDB_GIDNUM, \
-diff --git a/src/providers/ldap/sdap_async_initgroups.c b/src/providers/ldap/sdap_async_initgroups.c
-index 0f56b8740..45fc007e0 100644
---- a/src/providers/ldap/sdap_async_initgroups.c
-+++ b/src/providers/ldap/sdap_async_initgroups.c
-@@ -2317,6 +2317,7 @@ static errno_t rfc2307bis_nested_groups_step(struct tevent_req *req)
-     struct sdap_rfc2307bis_nested_ctx *state =
-             tevent_req_data(req, struct sdap_rfc2307bis_nested_ctx);
-     char *oc_list;
-+    const char *class;
-     tmp_ctx = talloc_new(state);
-     if (!tmp_ctx) {
-@@ -2324,9 +2325,21 @@ static errno_t rfc2307bis_nested_groups_step(struct tevent_req *req)
-         goto done;
-     }
--    ret = sdap_get_group_primary_name(state, state->opts,
--                                      state->groups[state->group_iter],
--                                      state->dom, &state->primary_name);
-+    ret = sysdb_attrs_get_string(state->groups[state->group_iter],
-+                                 SYSDB_OBJECTCLASS, &class);
-+    if (ret == EOK) {
-+        /* If there is a objectClass attribute the object is coming from the
-+         * cache and the name attribute of the object already has the primary
-+         * name.
-+         * If the objectClass attribute is missing the object is coming from
-+         * LDAP and we have to find the primary name first. */
-+        ret = sysdb_attrs_get_string(state->groups[state->group_iter],
-+                                     SYSDB_NAME, &state->primary_name);
-+    } else {
-+        ret = sdap_get_group_primary_name(state, state->opts,
-+                                          state->groups[state->group_iter],
-+                                          state->dom, &state->primary_name);
-+    }
-     if (ret != EOK) {
-         goto done;
-     }
-@@ -3069,6 +3082,103 @@ fail:
-     tevent_req_error(req, ret);
- }
-+static void sdap_ad_check_domain_local_groups_done(struct tevent_req *subreq);
-+
-+errno_t sdap_ad_check_domain_local_groups(struct tevent_req *req)
-+{
-+    struct sdap_get_initgr_state *state = tevent_req_data(req,
-+                                               struct sdap_get_initgr_state);
-+    int ret;
-+    struct sdap_domain *local_sdom;
-+    const char *orig_name;
-+    const char *sysdb_name;
-+    struct ldb_result *res;
-+    struct tevent_req *subreq;
-+    struct sysdb_attrs **groups;
-+
-+    /* We only need to check for domain local groups in the AD case and if the
-+     * user is not from our domain, i.e. if the user comes from a sub-domain.
-+     */
-+    if (state->opts->schema_type != SDAP_SCHEMA_AD
-+            || !IS_SUBDOMAIN(state->dom)
-+            || !dp_target_enabled(state->id_ctx->be->provider, "ad", DPT_ID)) {
-+        return EOK;
-+    }
-+
-+    local_sdom = sdap_domain_get(state->id_ctx->opts, state->dom->parent);
-+    if (local_sdom == NULL || local_sdom->pvt == NULL) {
-+        DEBUG(SSSDBG_CRIT_FAILURE, "No ID ctx available for [%s].\n",
-+                                    state->dom->parent->name);
-+        return EINVAL;
-+    }
-+
-+    ret = sysdb_attrs_get_string(state->orig_user, SYSDB_NAME, &orig_name);
-+    if (ret != EOK) {
-+        DEBUG(SSSDBG_CRIT_FAILURE, "Missing name in user object.\n");
-+        return ret;
-+    }
-+
-+    sysdb_name = sss_create_internal_fqname(state, orig_name, state->dom->name);
-+    if (sysdb_name == NULL) {
-+        DEBUG(SSSDBG_OP_FAILURE, "sss_create_internal_fqname failed.\n");
-+        return ENOMEM;
-+    }
-+
-+    ret = sysdb_initgroups(state, state->dom, sysdb_name, &res);
-+    if (ret != EOK) {
-+        DEBUG(SSSDBG_CRIT_FAILURE, "sysdb_initgroups failed for user [%s].\n",
-+                                   sysdb_name);
-+        return ret;
-+    }
-+
-+    if (res->count == 0) {
-+        DEBUG(SSSDBG_CRIT_FAILURE,
-+              "sysdb_initgroups returned no results for user [%s].\n",
-+              sysdb_name);
-+        return EINVAL;
-+    }
-+
-+    /* The user object, the first entry in the res->msgs, is included as well
-+     * to cover the case where the remote user is directly added to
-+     * a domain local group. */
-+    ret = sysdb_msg2attrs(state, res->count, res->msgs, &groups);
-+    if (ret != EOK) {
-+        DEBUG(SSSDBG_OP_FAILURE, "sysdb_msg2attrs failed.\n");
-+        return ret;
-+    }
-+
-+    subreq = sdap_ad_get_domain_local_groups_send(state, state->ev, local_sdom,
-+                             state->opts, state->sysdb, state->dom->parent,
-+                             groups, res->count);
-+    if (subreq == NULL) {
-+        DEBUG(SSSDBG_OP_FAILURE, "sdap_ad_get_domain_local_groups_send failed.\n");
-+        return ENOMEM;
-+    }
-+
-+    tevent_req_set_callback(subreq, sdap_ad_check_domain_local_groups_done,
-+                            req);
-+
-+    return EAGAIN;
-+}
-+
-+static void sdap_ad_check_domain_local_groups_done(struct tevent_req *subreq)
-+{
-+    struct tevent_req *req = tevent_req_callback_data(subreq,
-+                                                      struct tevent_req);
-+    int ret;
-+
-+    ret = sdap_ad_get_domain_local_groups_recv(subreq);
-+    talloc_zfree(subreq);
-+    if (ret != EOK) {
-+        tevent_req_error(req, ret);
-+        return;
-+    }
-+
-+    tevent_req_done(req);
-+
-+    return;
-+}
-+
- static void sdap_get_initgr_pgid(struct tevent_req *req);
- static void sdap_get_initgr_done(struct tevent_req *subreq)
- {
-@@ -3201,8 +3311,6 @@ static void sdap_get_initgr_done(struct tevent_req *subreq)
-     if (ret == EOK) {
-         DEBUG(SSSDBG_TRACE_FUNC,
-               "Primary group already cached, nothing to do.\n");
--        ret = EOK;
--        goto done;
-     } else {
-         gid = talloc_asprintf(state, "%lu", (unsigned long)primary_gid);
-         if (gid == NULL) {
-@@ -3219,10 +3327,28 @@ static void sdap_get_initgr_done(struct tevent_req *subreq)
-             goto done;
-         }
-         tevent_req_set_callback(subreq, sdap_get_initgr_pgid, req);
-+
-+        talloc_free(tmp_ctx);
-+        return;
-     }
--    talloc_free(tmp_ctx);
--    return;
-+    ret = sdap_ad_check_domain_local_groups(req);
-+    if (ret == EAGAIN) {
-+        DEBUG(SSSDBG_TRACE_ALL,
-+              "Checking for domain local group memberships.\n");
-+        talloc_free(tmp_ctx);
-+        return;
-+    } else if (ret == EOK) {
-+        DEBUG(SSSDBG_TRACE_ALL,
-+              "No need to check for domain local group memberships.\n");
-+    } else {
-+        DEBUG(SSSDBG_OP_FAILURE,
-+              "sdap_ad_check_domain_local_groups failed, "
-+              "meberships to domain local groups might be missing.\n");
-+        /* do not let the request fail completely because we already have at
-+         * least "some" groups */
-+        ret = EOK;
-+    }
- done:
-     talloc_free(tmp_ctx);
-@@ -3247,7 +3373,25 @@ static void sdap_get_initgr_pgid(struct tevent_req *subreq)
-         return;
-     }
-+    ret = sdap_ad_check_domain_local_groups(req);
-+    if (ret == EAGAIN) {
-+        DEBUG(SSSDBG_TRACE_ALL,
-+              "Checking for domain local group memberships.\n");
-+        return;
-+    } else if (ret == EOK) {
-+        DEBUG(SSSDBG_TRACE_ALL,
-+              "No need to check for domain local group memberships.\n");
-+    } else {
-+        DEBUG(SSSDBG_OP_FAILURE, "sdap_ad_check_domain_local_groups failed.\n");
-+        DEBUG(SSSDBG_OP_FAILURE,
-+              "sdap_ad_check_domain_local_groups failed, "
-+              "meberships to domain local groups might be missing.\n");
-+        /* do not let the request fail completely because we already have at
-+         * least "some" groups */
-+    }
-+
-     tevent_req_done(req);
-+    return;
- }
- int sdap_get_initgr_recv(struct tevent_req *req)
-diff --git a/src/providers/ldap/sdap_async_initgroups_ad.c b/src/providers/ldap/sdap_async_initgroups_ad.c
-index ad54c1fb8..1fee4ab43 100644
---- a/src/providers/ldap/sdap_async_initgroups_ad.c
-+++ b/src/providers/ldap/sdap_async_initgroups_ad.c
-@@ -1412,6 +1412,413 @@ static errno_t sdap_ad_tokengroups_initgr_posix_recv(struct tevent_req *req)
-     return EOK;
- }
-+struct sdap_ad_get_domain_local_groups_state {
-+    struct tevent_context *ev;
-+    struct sdap_id_conn_ctx *conn;
-+    struct sdap_options *opts;
-+    struct sdap_id_op *op;
-+    struct sysdb_ctx *sysdb;
-+    struct sss_domain_info *dom;
-+    int dp_error;
-+
-+    struct sdap_search_base **search_bases;
-+    struct sysdb_attrs **groups;
-+    size_t num_groups;
-+    hash_table_t *group_hash;
-+};
-+
-+static void
-+sdap_ad_get_domain_local_groups_connect_done(struct tevent_req *subreq);
-+static void sdap_ad_get_domain_local_groups_done(struct tevent_req *subreq);
-+
-+struct tevent_req *
-+sdap_ad_get_domain_local_groups_send(TALLOC_CTX *mem_ctx,
-+                                     struct tevent_context *ev,
-+                                     struct sdap_domain *local_sdom,
-+                                     struct sdap_options *opts,
-+                                     struct sysdb_ctx *sysdb,
-+                                     struct sss_domain_info *dom,
-+                                     struct sysdb_attrs **groups,
-+                                     size_t num_groups)
-+{
-+    struct sdap_ad_get_domain_local_groups_state *state;
-+    struct tevent_req *req;
-+    struct tevent_req *subreq;
-+    struct ad_id_ctx *ad_id_ctx;
-+    errno_t ret;
-+
-+    req = tevent_req_create(mem_ctx, &state,
-+                            struct sdap_ad_get_domain_local_groups_state);
-+    if (req == NULL) {
-+        DEBUG(SSSDBG_CRIT_FAILURE, "tevent_req_create() failed\n");
-+        return NULL;
-+    }
-+
-+    state->ev = ev;
-+    ad_id_ctx = talloc_get_type(local_sdom->pvt, struct ad_id_ctx);
-+    state->conn = ad_id_ctx->ldap_ctx;
-+    state->opts = opts;
-+    state->sysdb = sysdb;
-+    state->dom = dom;
-+    state->search_bases = state->conn->id_ctx->opts->sdom->group_search_bases;
-+    state->groups = groups;
-+    state->num_groups = num_groups;
-+
-+    ret = sss_hash_create(state, 32, &state->group_hash);
-+    if (ret != EOK) {
-+        DEBUG(SSSDBG_OP_FAILURE, "sss_hash_create failed.\n");
-+        goto fail;
-+    }
-+
-+    state->op = sdap_id_op_create(state, state->conn->conn_cache);
-+    if (state->op == NULL) {
-+        DEBUG(SSSDBG_OP_FAILURE, "sdap_id_op_create failed\n");
-+        ret = ENOMEM;
-+        goto fail;
-+    }
-+
-+    subreq = sdap_id_op_connect_send(state->op, state, &ret);
-+    if (subreq == NULL) {
-+        DEBUG(SSSDBG_OP_FAILURE, "sdap_id_op_connect_send failed.\n");
-+        goto fail;
-+    }
-+
-+    tevent_req_set_callback(subreq,
-+                            sdap_ad_get_domain_local_groups_connect_done, req);
-+
-+    return req;
-+
-+fail:
-+    tevent_req_error(req, ret);
-+    tevent_req_post(req, ev);
-+    return req;
-+}
-+
-+static void
-+sdap_ad_get_domain_local_groups_connect_done(struct tevent_req *subreq)
-+{
-+
-+    struct tevent_req *req = tevent_req_callback_data(subreq,
-+                                                      struct tevent_req);
-+    struct sdap_ad_get_domain_local_groups_state *state = tevent_req_data(req,
-+                                  struct sdap_ad_get_domain_local_groups_state);
-+    int dp_error = DP_ERR_FATAL;
-+    int ret;
-+
-+    ret = sdap_id_op_connect_recv(subreq, &dp_error);
-+    talloc_zfree(subreq);
-+
-+    if (ret != EOK) {
-+        state->dp_error = dp_error;
-+        tevent_req_error(req, ret);
-+        return;
-+    }
-+    subreq = rfc2307bis_nested_groups_send(state, state->ev, state->opts,
-+                                           state->sysdb, state->dom,
-+                                           sdap_id_op_handle(state->op),
-+                                           state->search_bases,
-+                                           state->groups, state->num_groups,
-+                                           state->group_hash, 0);
-+    if (subreq == NULL) {
-+        DEBUG(SSSDBG_OP_FAILURE, "rfc2307bis_nested_groups_send failed.\n");
-+        state->dp_error = DP_ERR_FATAL;
-+        tevent_req_error(req, ENOMEM);
-+        return;
-+    }
-+
-+    tevent_req_set_callback(subreq,
-+                            sdap_ad_get_domain_local_groups_done, req);
-+
-+    return;
-+}
-+
-+struct sdap_nested_group {
-+    struct sysdb_attrs *group;
-+    struct sysdb_attrs **ldap_parents;
-+    size_t parents_count;
-+};
-+
-+static errno_t
-+sdap_ad_get_domain_local_groups_parse_parents(TALLOC_CTX *mem_ctx,
-+                                              struct sdap_nested_group *gr,
-+                                              struct sss_domain_info *dom,
-+                                              struct sysdb_ctx *sysdb,
-+                                              struct sdap_options *opts,
-+                                              const char **_sysdb_name,
-+                                              enum sysdb_member_type *_type,
-+                                              char ***_add_list,
-+                                              char ***_del_list)
-+{
-+    int ret;
-+    size_t c;
-+    char **groupnamelist = NULL;
-+    struct sysdb_attrs *groups[1];
-+    enum sysdb_member_type type;
-+    const char *sysdb_name;
-+    const char *group_name;
-+    const char *class;
-+    struct sss_domain_info *obj_dom;
-+    char *local_groups_base_dn;
-+    char **cached_local_parents = NULL;
-+    char **add_list = NULL;
-+    char **del_list = NULL;
-+    TALLOC_CTX *tmp_ctx;
-+
-+    tmp_ctx = talloc_new(NULL);
-+    if (tmp_ctx == NULL) {
-+        DEBUG(SSSDBG_OP_FAILURE, "talloc_new failed.\n");
-+        return ENOMEM;
-+    }
-+
-+    local_groups_base_dn = talloc_asprintf(tmp_ctx, SYSDB_TMPL_GROUP_BASE,
-+                                           dom->name);
-+    if (local_groups_base_dn == NULL) {
-+        DEBUG(SSSDBG_OP_FAILURE, "talloc_asprintf failed.\n");
-+        ret = ENOMEM;
-+        goto done;
-+    }
-+
-+    if (gr->parents_count != 0) {
-+        /* Store the parents if needed */
-+        ret = sdap_nested_groups_store(sysdb, dom, opts,
-+                                       gr->ldap_parents, gr->parents_count);
-+        if (ret != EOK) {
-+            DEBUG(SSSDBG_MINOR_FAILURE, "Could not save groups [%d]: %s\n",
-+                      ret, strerror(ret));
-+            goto done;
-+        }
-+
-+        ret = sysdb_attrs_primary_fqdn_list(dom, tmp_ctx,
-+                                    gr->ldap_parents, gr->parents_count,
-+                                    opts->group_map[SDAP_AT_GROUP_NAME].name,
-+                                    &groupnamelist);
-+        if (ret != EOK) {
-+            DEBUG(SSSDBG_OP_FAILURE, "sysdb_attrs_primary_fqdn_list failed.\n");
-+            goto done;
-+        }
-+    }
-+
-+    ret = sysdb_attrs_get_string(gr->group, SYSDB_NAME, &sysdb_name);
-+    if (ret != EOK) {
-+        DEBUG(SSSDBG_OP_FAILURE,
-+              "sysdb_attrs_get_string failed to get SYSDB_NAME, "
-+              "skipping.\n");
-+        goto done;
-+    }
-+
-+    ret = sysdb_attrs_get_string(gr->group, SYSDB_OBJECTCLASS, &class);
-+    if (ret != EOK) {
-+        /* If objectclass is missing gr->group is a nested parent found during
-+         * the nested group lookup. It might not already stored in the cache.
-+         */
-+        DEBUG(SSSDBG_TRACE_LIBS,
-+              "sysdb_attrs_get_string failed to get SYSDB_OBJECTCLASS "
-+              "for [%s], assuming group.\n", sysdb_name);
-+
-+        /* make sure group exists in cache */
-+        groups[0]= gr->group;
-+        ret = sdap_nested_groups_store(sysdb, dom, opts, groups, 1);
-+        if (ret != EOK) {
-+            DEBUG(SSSDBG_MINOR_FAILURE, "Could not save groups [%d]: %s\n",
-+                      ret, strerror(ret));
-+            goto done;
-+        }
-+
-+        /* Since the object is coming from LDAP it cannot have the internal
-+         * fully-qualified name, so we can expand it unconditionally. */
-+        group_name = NULL;
-+        ret = sysdb_attrs_primary_name(dom->sysdb, gr->group,
-+                        opts->group_map[SDAP_AT_GROUP_NAME].name,
-+                        &group_name);
-+        if (ret != EOK || group_name == NULL) {
-+            DEBUG(SSSDBG_OP_FAILURE, "Could not determine primary name\n");
-+            group_name = sysdb_name;
-+        }
-+
-+        group_name = sss_create_internal_fqname(tmp_ctx, group_name,
-+                                                dom->name);
-+        if (group_name != NULL) {
-+            sysdb_name = group_name;
-+        }
-+
-+        type = SYSDB_MEMBER_GROUP;
-+    } else {
-+        if (class != NULL && strcmp(class, SYSDB_USER_CLASS) == 0) {
-+            type = SYSDB_MEMBER_USER;
-+        } else {
-+            type = SYSDB_MEMBER_GROUP;
-+        }
-+    }
-+
-+    /* We need to get the cached list of groups form the local domain the
-+     * object is a member of to compare them with the current list just
-+     * retrieved (groupnamelist). Even if this list is empty we have to
-+     * proceed because the membership might have been removed recently on the
-+     * server. */
-+
-+    obj_dom = find_domain_by_object_name(get_domains_head(dom),
-+                                         sysdb_name);
-+    if (obj_dom == NULL) {
-+        obj_dom = dom;
-+        DEBUG(SSSDBG_OP_FAILURE, "Cannot find domain for [%s], "
-+                                 "trying with local domain [%s].\n",
-+                                 sysdb_name, obj_dom->name);
-+    }
-+
-+    ret = sysdb_get_direct_parents(tmp_ctx, obj_dom, dom, type, sysdb_name,
-+                                   &cached_local_parents);
-+    if (ret != EOK) {
-+        DEBUG(SSSDBG_OP_FAILURE,"sysdb_get_direct_parents failed.\n");
-+        goto done;
-+    }
-+
-+    if (cached_local_parents != NULL && cached_local_parents[0] == NULL) {
-+        talloc_zfree(cached_local_parents);
-+    }
-+
-+    if (DEBUG_IS_SET(SSSDBG_TRACE_ALL)) {
-+        if (cached_local_parents != NULL) {
-+            for (c = 0; cached_local_parents[c] != NULL; c++) {
-+                DEBUG(SSSDBG_TRACE_ALL, "[%s] cached_local_parents [%s].\n",
-+                                        sysdb_name, cached_local_parents[c]);
-+            }
-+        }
-+
-+        if (groupnamelist != NULL) {
-+            for (c = 0; groupnamelist[c] != NULL; c++) {
-+                DEBUG(SSSDBG_TRACE_ALL, "[%s] groupnamelist [%s].\n",
-+                                        sysdb_name, groupnamelist[c]);
-+            }
-+        }
-+    }
-+
-+    ret = diff_string_lists(tmp_ctx, cached_local_parents, groupnamelist,
-+                            &del_list, &add_list, NULL);
-+    if (ret != EOK) {
-+        DEBUG(SSSDBG_OP_FAILURE, "diff_string_lists failed.\n");
-+        goto done;
-+    }
-+
-+    if (DEBUG_IS_SET(SSSDBG_TRACE_ALL)) {
-+        if (add_list != NULL) {
-+            for (c = 0; add_list[c] != NULL; c++) {
-+                DEBUG(SSSDBG_TRACE_ALL, "add: [%s] will be member of [%s].\n",
-+                                        sysdb_name, add_list[c]);
-+            }
-+        }
-+        if (del_list != NULL) {
-+            for (c = 0; del_list[c] != NULL; c++) {
-+                DEBUG(SSSDBG_TRACE_ALL, "del: [%s] was member of [%s].\n",
-+                                        sysdb_name, del_list[c]);
-+            }
-+        }
-+    }
-+
-+    *_type = type;
-+    *_sysdb_name = talloc_steal(mem_ctx, sysdb_name);
-+    *_add_list = talloc_steal(mem_ctx, groupnamelist);
-+    *_del_list = talloc_steal(mem_ctx, del_list);
-+    ret = EOK;
-+
-+done:
-+    talloc_free(tmp_ctx);
-+
-+    return ret;
-+}
-+
-+static void sdap_ad_get_domain_local_groups_done(struct tevent_req *subreq)
-+{
-+
-+    struct tevent_req *req = tevent_req_callback_data(subreq,
-+                                                      struct tevent_req);
-+    struct sdap_ad_get_domain_local_groups_state *state = tevent_req_data(req,
-+                                  struct sdap_ad_get_domain_local_groups_state);
-+    int ret;
-+    int hret;
-+    unsigned long count;
-+    hash_value_t *values = NULL;
-+    struct sdap_nested_group *gr;
-+    size_t c;
-+    const char *sysdb_name = NULL;
-+    enum sysdb_member_type type;
-+    char **add_list = NULL;
-+    char **del_list = NULL;
-+
-+    ret = rfc2307bis_nested_groups_recv(subreq);
-+    talloc_zfree(subreq);
-+    if (ret != EOK) {
-+        tevent_req_error(req, ret);
-+        return;
-+    }
-+
-+    hret = hash_values(state->group_hash, &count, &values);
-+    if (hret != HASH_SUCCESS) {
-+        DEBUG(SSSDBG_OP_FAILURE, "hash_values failed.\n");
-+        ret = EIO;
-+        goto done;
-+    }
-+
-+    for (c = 0; c < count; c++) {
-+        gr = talloc_get_type(values[c].ptr,
-+                             struct sdap_nested_group);
-+
-+        /* The values from the hash are either user or group objects returned
-+         * by sysdb_initgroups() which where used to start the request or
-+         * nested parents found during the request. The nested parents contain
-+         * the processed LDAP data and can be identified by a missing
-+         * objectclass attribute. */
-+        ret = sdap_ad_get_domain_local_groups_parse_parents(state, gr,
-+                                                            state->dom,
-+                                                            state->sysdb,
-+                                                            state->opts,
-+                                                            &sysdb_name,
-+                                                            &type,
-+                                                            &add_list,
-+                                                            &del_list);
-+        if (ret != EOK) {
-+            DEBUG(SSSDBG_OP_FAILURE,
-+                  "sdap_ad_get_domain_local_groups_parse_parents failed.\n");
-+            continue;
-+        }
-+
-+        if ((add_list == NULL && del_list == NULL)
-+                || (add_list == NULL && del_list != NULL && del_list[0] == NULL)
-+                || (add_list != NULL && add_list[0] == NULL && del_list == NULL)
-+                || (add_list != NULL && add_list[0] == NULL
-+                        && del_list != NULL && del_list[0] == NULL) ) {
-+            continue;
-+        }
-+
-+        DEBUG(SSSDBG_TRACE_INTERNAL, "Updating domain local memberships for %s\n",
-+                                     sysdb_name);
-+        ret = sysdb_update_members(state->dom, sysdb_name, type,
-+                                   (const char *const *) add_list,
-+                                   (const char *const *) del_list);
-+        if (ret != EOK) {
-+            DEBUG(SSSDBG_OP_FAILURE, "sysdb_update_members failed.\n");
-+            goto done;
-+        }
-+    }
-+
-+    ret = EOK;
-+done:
-+    talloc_zfree(values);
-+
-+    if (ret == EOK) {
-+        tevent_req_done(req);
-+    } else {
-+        tevent_req_error(req, ret);
-+    }
-+
-+    return;
-+}
-+
-+errno_t sdap_ad_get_domain_local_groups_recv(struct tevent_req *req)
-+{
-+    TEVENT_REQ_RETURN_ON_ERROR(req);
-+    return EOK;
-+}
-+
- struct sdap_ad_tokengroups_initgroups_state {
-     bool use_id_mapping;
-     struct sss_domain_info *domain;
-diff --git a/src/providers/ldap/sdap_async_private.h b/src/providers/ldap/sdap_async_private.h
-index 4af4f7144..266bc0311 100644
---- a/src/providers/ldap/sdap_async_private.h
-+++ b/src/providers/ldap/sdap_async_private.h
-@@ -173,4 +173,14 @@ errno_t sdap_nested_groups_store(struct sysdb_ctx *sysdb,
-                                  struct sysdb_attrs **groups,
-                                  unsigned long count);
-+struct tevent_req *
-+sdap_ad_get_domain_local_groups_send(TALLOC_CTX *mem_ctx,
-+                                     struct tevent_context *ev,
-+                                     struct sdap_domain *local_sdom,
-+                                     struct sdap_options *opts,
-+                                     struct sysdb_ctx *sysdb,
-+                                     struct sss_domain_info *dom,
-+                                     struct sysdb_attrs **groups,
-+                                     size_t num_groups);
-+errno_t sdap_ad_get_domain_local_groups_recv(struct tevent_req *req);
- #endif /* _SDAP_ASYNC_PRIVATE_H_ */
--- 
-2.11.0
-
diff --git a/sssd/patches/0015-PAM-add-a-test-for-filter_responses.patch b/sssd/patches/0015-PAM-add-a-test-for-filter_responses.patch
deleted file mode 100644 (file)
index e43b619..0000000
+++ /dev/null
@@ -1,121 +0,0 @@
-From 84946be361a17bbb593f246849bd1357aa2f79da Mon Sep 17 00:00:00 2001
-From: Sumit Bose <sbose@redhat.com>
-Date: Thu, 20 Oct 2016 11:48:22 +0200
-Subject: [PATCH 15/39] PAM: add a test for filter_responses()
-
-Reviewed-by: Jakub Hrozek <jhrozek@redhat.com>
-(cherry picked from commit c8fe1d922b254aa92e74f428135ada3c8bde87a1)
-(cherry picked from commit 0157678081e299660105c753f2d2ac2081960bca)
----
- src/responder/pam/pamsrv.h      |  3 +++
- src/responder/pam/pamsrv_cmd.c  |  4 ++--
- src/tests/cmocka/test_pam_srv.c | 52 +++++++++++++++++++++++++++++++++++++++++
- 3 files changed, 57 insertions(+), 2 deletions(-)
-
-diff --git a/src/responder/pam/pamsrv.h b/src/responder/pam/pamsrv.h
-index e686d03a4..8437d082e 100644
---- a/src/responder/pam/pamsrv.h
-+++ b/src/responder/pam/pamsrv.h
-@@ -99,4 +99,7 @@ errno_t
- pam_set_last_online_auth_with_curr_token(struct sss_domain_info *domain,
-                                          const char *username,
-                                          uint64_t value);
-+
-+errno_t filter_responses(struct confdb_ctx *cdb,
-+                         struct response_data *resp_list);
- #endif /* __PAMSRV_H__ */
-diff --git a/src/responder/pam/pamsrv_cmd.c b/src/responder/pam/pamsrv_cmd.c
-index e52fc7642..b3690d763 100644
---- a/src/responder/pam/pamsrv_cmd.c
-+++ b/src/responder/pam/pamsrv_cmd.c
-@@ -470,8 +470,8 @@ fail:
-     return ret;
- }
--static errno_t filter_responses(struct confdb_ctx *cdb,
--                                struct response_data *resp_list)
-+errno_t filter_responses(struct confdb_ctx *cdb,
-+                         struct response_data *resp_list)
- {
-     int ret;
-     struct response_data *resp;
-diff --git a/src/tests/cmocka/test_pam_srv.c b/src/tests/cmocka/test_pam_srv.c
-index 4b2dea4be..41d177233 100644
---- a/src/tests/cmocka/test_pam_srv.c
-+++ b/src/tests/cmocka/test_pam_srv.c
-@@ -31,6 +31,7 @@
- #include "responder/pam/pam_helpers.h"
- #include "sss_client/pam_message.h"
- #include "sss_client/sss_cli.h"
-+#include "confdb/confdb.h"
- #include "util/crypto/sss_crypto.h"
- #ifdef HAVE_NSS
-@@ -1759,6 +1760,54 @@ void test_pam_cert_auth(void **state)
-     assert_int_equal(ret, EOK);
- }
-+void test_filter_response(void **state)
-+{
-+    int ret;
-+    struct pam_data *pd;
-+    uint8_t offline_auth_data[(sizeof(uint32_t) + sizeof(int64_t))];
-+    uint32_t info_type;
-+
-+    struct sss_test_conf_param pam_params[] = {
-+        { CONFDB_PAM_VERBOSITY, "1" },
-+        { NULL, NULL },             /* Sentinel */
-+    };
-+
-+    ret = add_pam_params(pam_params, pam_test_ctx->rctx->cdb);
-+    assert_int_equal(ret, EOK);
-+
-+    pd = talloc_zero(pam_test_ctx, struct pam_data);
-+    assert_non_null(pd);
-+
-+    info_type = SSS_PAM_USER_INFO_OFFLINE_AUTH;
-+    memset(offline_auth_data, 0, sizeof(offline_auth_data));
-+    memcpy(offline_auth_data, &info_type, sizeof(uint32_t));
-+    ret = pam_add_response(pd, SSS_PAM_USER_INFO,
-+                           sizeof(offline_auth_data), offline_auth_data);
-+    assert_int_equal(ret, EOK);
-+
-+    ret = filter_responses(pam_test_ctx->rctx->cdb, pd->resp_list);
-+    assert_int_equal(ret, EOK);
-+    assert_true(pd->resp_list->do_not_send_to_client);
-+
-+    pam_params[0].value = "0";
-+    ret = add_pam_params(pam_params, pam_test_ctx->rctx->cdb);
-+    assert_int_equal(ret, EOK);
-+
-+    ret = filter_responses(pam_test_ctx->rctx->cdb, pd->resp_list);
-+    assert_int_equal(ret, EOK);
-+    assert_true(pd->resp_list->do_not_send_to_client);
-+
-+    /* SSS_PAM_USER_INFO_OFFLINE_AUTH message will only be shown with
-+     * pam_verbosity 2 or above if cache password never expires. */
-+    pam_params[0].value = "2";
-+    ret = add_pam_params(pam_params, pam_test_ctx->rctx->cdb);
-+    assert_int_equal(ret, EOK);
-+
-+    ret = filter_responses(pam_test_ctx->rctx->cdb, pd->resp_list);
-+    assert_int_equal(ret, EOK);
-+    assert_false(pd->resp_list->do_not_send_to_client);
-+}
-+
- int main(int argc, const char *argv[])
- {
-     int rv;
-@@ -1870,6 +1919,9 @@ int main(int argc, const char *argv[])
-                                         pam_test_setup_no_verification,
-                                         pam_test_teardown),
- #endif /* HAVE_NSS */
-+
-+        cmocka_unit_test_setup_teardown(test_filter_response,
-+                                        pam_test_setup, pam_test_teardown),
-     };
-     /* Set debug level to invalid value so we can deside if -d 0 was used. */
--- 
-2.11.0
-
diff --git a/sssd/patches/0016-PAM-add-pam_response_filter-option.patch b/sssd/patches/0016-PAM-add-pam_response_filter-option.patch
deleted file mode 100644 (file)
index 1d91a43..0000000
+++ /dev/null
@@ -1,501 +0,0 @@
-From 51cdde0ce897c62a0e29653e896e3e6d43585228 Mon Sep 17 00:00:00 2001
-From: Sumit Bose <sbose@redhat.com>
-Date: Thu, 20 Oct 2016 18:40:01 +0200
-Subject: [PATCH 16/39] PAM: add pam_response_filter option
-
-Currently the main use-case for this new option is to not set the
-KRB5CCNAME environment varible for services like 'sudo-i'.
-
-Resolves https://fedorahosted.org/sssd/ticket/2296
-
-Reviewed-by: Jakub Hrozek <jhrozek@redhat.com>
-(cherry picked from commit ce43f710c9638fbbeae077559cd7514370a10c0c)
-(cherry picked from commit 74711db46029415cc9590bb0e3f9cc662dac1d0c)
----
- src/confdb/confdb.h                  |   1 +
- src/config/SSSDConfig/__init__.py.in |   1 +
- src/config/cfg_rules.ini             |   1 +
- src/config/etc/sssd.api.conf         |   1 +
- src/man/sssd.conf.5.xml              |  45 +++++++++++
- src/responder/pam/pamsrv.h           |   3 +-
- src/responder/pam/pamsrv_cmd.c       | 111 ++++++++++++++++++++++++--
- src/tests/cmocka/test_pam_srv.c      | 149 +++++++++++++++++++++++++++++++++--
- 8 files changed, 297 insertions(+), 15 deletions(-)
-
-diff --git a/src/confdb/confdb.h b/src/confdb/confdb.h
-index 011792fba..2a1e58184 100644
---- a/src/confdb/confdb.h
-+++ b/src/confdb/confdb.h
-@@ -115,6 +115,7 @@
- #define CONFDB_PAM_FAILED_LOGIN_DELAY "offline_failed_login_delay"
- #define CONFDB_DEFAULT_PAM_FAILED_LOGIN_DELAY 5
- #define CONFDB_PAM_VERBOSITY "pam_verbosity"
-+#define CONFDB_PAM_RESPONSE_FILTER "pam_response_filter"
- #define CONFDB_PAM_ID_TIMEOUT "pam_id_timeout"
- #define CONFDB_PAM_PWD_EXPIRATION_WARNING "pam_pwd_expiration_warning"
- #define CONFDB_PAM_TRUSTED_USERS "pam_trusted_users"
-diff --git a/src/config/SSSDConfig/__init__.py.in b/src/config/SSSDConfig/__init__.py.in
-index cde196478..381ff9596 100644
---- a/src/config/SSSDConfig/__init__.py.in
-+++ b/src/config/SSSDConfig/__init__.py.in
-@@ -88,6 +88,7 @@ option_strings = {
-     'offline_failed_login_attempts' : _('How many failed logins attempts are allowed when offline'),
-     'offline_failed_login_delay' : _('How long (minutes) to deny login after offline_failed_login_attempts has been reached'),
-     'pam_verbosity' : _('What kind of messages are displayed to the user during authentication'),
-+    'pam_response_filter' : _('Filter PAM responses send the pam_sss'),
-     'pam_id_timeout' : _('How many seconds to keep identity information cached for PAM requests'),
-     'pam_pwd_expiration_warning' : _('How many days before password expiration a warning should be displayed'),
-     'pam_trusted_users' : _('List of trusted uids or user\'s name'),
-diff --git a/src/config/cfg_rules.ini b/src/config/cfg_rules.ini
-index b6316be8c..ec716b558 100644
---- a/src/config/cfg_rules.ini
-+++ b/src/config/cfg_rules.ini
-@@ -99,6 +99,7 @@ option = offline_credentials_expiration
- option = offline_failed_login_attempts
- option = offline_failed_login_delay
- option = pam_verbosity
-+option = pam_response_filter
- option = pam_id_timeout
- option = pam_pwd_expiration_warning
- option = get_domains_timeout
-diff --git a/src/config/etc/sssd.api.conf b/src/config/etc/sssd.api.conf
-index 567d52efe..be24bcea0 100644
---- a/src/config/etc/sssd.api.conf
-+++ b/src/config/etc/sssd.api.conf
-@@ -58,6 +58,7 @@ offline_credentials_expiration = int, None, false
- offline_failed_login_attempts = int, None, false
- offline_failed_login_delay = int, None, false
- pam_verbosity = int, None, false
-+pam_response_filter = str, None, false
- pam_id_timeout = int, None, false
- pam_pwd_expiration_warning = int, None, false
- get_domains_timeout = int, None, false
-diff --git a/src/man/sssd.conf.5.xml b/src/man/sssd.conf.5.xml
-index 8b862eb0c..71ace5208 100644
---- a/src/man/sssd.conf.5.xml
-+++ b/src/man/sssd.conf.5.xml
-@@ -975,6 +975,51 @@ fallback_homedir = /home/%u
-                         </para>
-                     </listitem>
-                 </varlistentry>
-+
-+                <varlistentry>
-+                    <term>pam_response_filter (integer)</term>
-+                    <listitem>
-+                        <para>
-+                            A comma separated list of strings which allows to
-+                            remove (filter) data send by the PAM responder to
-+                            pam_sss PAM module. There are different kind of
-+                            responses send to pam_sss e.g. messages displayed to
-+                            the user or environment variables which should be
-+                            set by pam_sss.
-+                        </para>
-+                        <para>
-+                            While messages already can be controlled with the
-+                            help of the pam_verbosity option this option allows
-+                            to filter out other kind of responses as well.
-+                        </para>
-+                        <para>
-+                            Currently the following filters are supported:
-+                            <variablelist>
-+                                <varlistentry><term>ENV</term>
-+                                    <listitem><para>Do not sent any environment
-+                                    variables to any service.</para></listitem>
-+                                </varlistentry>
-+                                <varlistentry><term>ENV:var_name</term>
-+                                    <listitem><para>Do not sent environment
-+                                    variable var_name to any
-+                                    service.</para></listitem>
-+                                </varlistentry>
-+                                <varlistentry><term>ENV:var_name:service</term>
-+                                    <listitem><para>Do not sent environment
-+                                    variable var_name to
-+                                    service.</para></listitem>
-+                                </varlistentry>
-+                            </variablelist>
-+                        </para>
-+                        <para>
-+                            Default: not set
-+                        </para>
-+                        <para>
-+                            Example: ENV:KRB5CCNAME:sudo-i
-+                        </para>
-+                    </listitem>
-+                </varlistentry>
-+
-                 <varlistentry>
-                   <term>pam_id_timeout (integer)</term>
-                   <listitem>
-diff --git a/src/responder/pam/pamsrv.h b/src/responder/pam/pamsrv.h
-index 8437d082e..75045d039 100644
---- a/src/responder/pam/pamsrv.h
-+++ b/src/responder/pam/pamsrv.h
-@@ -101,5 +101,6 @@ pam_set_last_online_auth_with_curr_token(struct sss_domain_info *domain,
-                                          uint64_t value);
- errno_t filter_responses(struct confdb_ctx *cdb,
--                         struct response_data *resp_list);
-+                         struct response_data *resp_list,
-+                         struct pam_data *pd);
- #endif /* __PAMSRV_H__ */
-diff --git a/src/responder/pam/pamsrv_cmd.c b/src/responder/pam/pamsrv_cmd.c
-index b3690d763..0c2e6941c 100644
---- a/src/responder/pam/pamsrv_cmd.c
-+++ b/src/responder/pam/pamsrv_cmd.c
-@@ -470,14 +470,89 @@ fail:
-     return ret;
- }
-+static errno_t filter_responses_env(struct response_data *resp,
-+                                    struct pam_data *pd,
-+                                    char * const *pam_filter_opts)
-+{
-+    size_t c;
-+    const char *var_name;
-+    size_t var_name_len;
-+    const char *service;
-+
-+    if (pam_filter_opts == NULL) {
-+        return EOK;
-+    }
-+
-+    for (c = 0; pam_filter_opts[c] != NULL; c++) {
-+        if (strncmp(pam_filter_opts[c], "ENV", 3) != 0) {
-+            continue;
-+        }
-+
-+        var_name = NULL;
-+        var_name_len = 0;
-+        service = NULL;
-+        if (pam_filter_opts[c][3] != '\0') {
-+            if (pam_filter_opts[c][3] != ':') {
-+                /* Neither plain ENV nor ENV:, ignored */
-+                continue;
-+            }
-+
-+            var_name = pam_filter_opts[c] + 4;
-+            /* check if there is a second ':' in the option and use the following
-+             * data, if any, as service name. */
-+            service = strchr(var_name, ':');
-+            if (service == NULL) {
-+                var_name_len = strlen(var_name);
-+            } else {
-+                var_name_len = service - var_name;
-+
-+                service++;
-+                /* handle empty service name "ENV:var:" */
-+                if (*service == '\0') {
-+                    service = NULL;
-+                }
-+            }
-+        }
-+        /* handle empty var name "ENV:" or "ENV::service" */
-+        if (var_name_len == 0) {
-+            var_name = NULL;
-+        }
-+
-+        DEBUG(SSSDBG_TRACE_ALL,
-+              "Found PAM ENV filter for variable [%.*s] and service [%s].\n",
-+              (int) var_name_len, var_name, service);
-+
-+        if (service != NULL && pd->service != NULL
-+                    && strcmp(service, pd->service) != 0) {
-+            /* current service does not match the filter */
-+            continue;
-+        }
-+
-+        if (var_name == NULL) {
-+            /* All environment variables should be filtered */
-+            resp->do_not_send_to_client = true;
-+            continue;
-+        }
-+
-+        if (resp->len > var_name_len && resp->data[var_name_len] == '='
-+                    && memcmp(resp->data, var_name, var_name_len) == 0) {
-+            resp->do_not_send_to_client = true;
-+        }
-+    }
-+
-+    return EOK;
-+}
-+
- errno_t filter_responses(struct confdb_ctx *cdb,
--                         struct response_data *resp_list)
-+                         struct response_data *resp_list,
-+                         struct pam_data *pd)
- {
-     int ret;
-     struct response_data *resp;
-     uint32_t user_info_type;
--    int64_t expire_date;
--    int pam_verbosity;
-+    int64_t expire_date = 0;
-+    int pam_verbosity = DEFAULT_PAM_VERBOSITY;
-+    char **pam_filter_opts = NULL;
-     ret = confdb_get_int(cdb, CONFDB_PAM_CONF_ENTRY,
-                          CONFDB_PAM_VERBOSITY, DEFAULT_PAM_VERBOSITY,
-@@ -488,12 +563,22 @@ errno_t filter_responses(struct confdb_ctx *cdb,
-         pam_verbosity = DEFAULT_PAM_VERBOSITY;
-     }
-+    ret = confdb_get_string_as_list(cdb, pd, CONFDB_PAM_CONF_ENTRY,
-+                                    CONFDB_PAM_RESPONSE_FILTER,
-+                                    &pam_filter_opts);
-+    if (ret != EOK) {
-+        DEBUG(SSSDBG_CONF_SETTINGS, "[%s] not available, not fatal.\n",
-+                                    CONFDB_PAM_RESPONSE_FILTER);
-+        pam_filter_opts = NULL;
-+    }
-+
-     resp = resp_list;
-     while(resp != NULL) {
-         if (resp->type == SSS_PAM_USER_INFO) {
-             if (resp->len < sizeof(uint32_t)) {
-                 DEBUG(SSSDBG_CRIT_FAILURE, "User info entry is too short.\n");
--                return EINVAL;
-+                ret = EINVAL;
-+                goto done;
-             }
-             if (pam_verbosity == PAM_VERBOSITY_NO_MESSAGES) {
-@@ -511,7 +596,8 @@ errno_t filter_responses(struct confdb_ctx *cdb,
-                         DEBUG(SSSDBG_CRIT_FAILURE,
-                               "User info offline auth entry is "
-                                   "too short.\n");
--                        return EINVAL;
-+                        ret = EINVAL;
-+                        goto done;
-                     }
-                     memcpy(&expire_date, resp->data + sizeof(uint32_t),
-                            sizeof(int64_t));
-@@ -528,6 +614,13 @@ errno_t filter_responses(struct confdb_ctx *cdb,
-                           "User info type [%d] not filtered.\n",
-                            user_info_type);
-             }
-+        } else if (resp->type == SSS_PAM_ENV_ITEM) {
-+            resp->do_not_send_to_client = false;
-+            ret = filter_responses_env(resp, pd, pam_filter_opts);
-+            if (ret != EOK) {
-+                DEBUG(SSSDBG_OP_FAILURE, "filter_responses_env failed.\n");
-+                goto done;
-+            }
-         } else if (resp->type & SSS_SERVER_INFO) {
-             resp->do_not_send_to_client = true;
-         }
-@@ -535,7 +628,11 @@ errno_t filter_responses(struct confdb_ctx *cdb,
-         resp = resp->next;
-     }
--    return EOK;
-+    ret = EOK;
-+done:
-+    talloc_free(pam_filter_opts);
-+
-+    return ret;
- }
- static void pam_reply_delay(struct tevent_context *ev, struct tevent_timer *te,
-@@ -782,7 +879,7 @@ static void pam_reply(struct pam_auth_req *preq)
-         inform_user(pd, pam_account_locked_message);
-     }
--    ret = filter_responses(pctx->rctx->cdb, pd->resp_list);
-+    ret = filter_responses(pctx->rctx->cdb, pd->resp_list, pd);
-     if (ret != EOK) {
-         DEBUG(SSSDBG_CRIT_FAILURE, "filter_responses failed, not fatal.\n");
-     }
-diff --git a/src/tests/cmocka/test_pam_srv.c b/src/tests/cmocka/test_pam_srv.c
-index 41d177233..3b8327eb3 100644
---- a/src/tests/cmocka/test_pam_srv.c
-+++ b/src/tests/cmocka/test_pam_srv.c
-@@ -1766,9 +1766,11 @@ void test_filter_response(void **state)
-     struct pam_data *pd;
-     uint8_t offline_auth_data[(sizeof(uint32_t) + sizeof(int64_t))];
-     uint32_t info_type;
-+    char *env;
-     struct sss_test_conf_param pam_params[] = {
-         { CONFDB_PAM_VERBOSITY, "1" },
-+        { CONFDB_PAM_RESPONSE_FILTER, NULL },
-         { NULL, NULL },             /* Sentinel */
-     };
-@@ -1778,6 +1780,15 @@ void test_filter_response(void **state)
-     pd = talloc_zero(pam_test_ctx, struct pam_data);
-     assert_non_null(pd);
-+    pd->service = discard_const("MyService");
-+
-+    env = talloc_asprintf(pd, "%s=%s", "MyEnv", "abcdef");
-+    assert_non_null(env);
-+
-+    ret = pam_add_response(pd, SSS_PAM_ENV_ITEM,
-+                           strlen(env) + 1, (uint8_t *) env);
-+    assert_int_equal(ret, EOK);
-+
-     info_type = SSS_PAM_USER_INFO_OFFLINE_AUTH;
-     memset(offline_auth_data, 0, sizeof(offline_auth_data));
-     memcpy(offline_auth_data, &info_type, sizeof(uint32_t));
-@@ -1785,27 +1796,151 @@ void test_filter_response(void **state)
-                            sizeof(offline_auth_data), offline_auth_data);
-     assert_int_equal(ret, EOK);
--    ret = filter_responses(pam_test_ctx->rctx->cdb, pd->resp_list);
-+    /* pd->resp_list points to the SSS_PAM_USER_INFO and pd->resp_list->next
-+     * to the SSS_PAM_ENV_ITEM message. */
-+
-+
-+    /* Test CONFDB_PAM_VERBOSITY option */
-+    ret = filter_responses(pam_test_ctx->rctx->cdb, pd->resp_list, pd);
-     assert_int_equal(ret, EOK);
-     assert_true(pd->resp_list->do_not_send_to_client);
-+    assert_false(pd->resp_list->next->do_not_send_to_client);
-+
-+    /* SSS_PAM_USER_INFO_OFFLINE_AUTH message will only be shown with
-+     * pam_verbosity 2 or above if cache password never expires. */
-+    pam_params[0].value = "2";
-+    ret = add_pam_params(pam_params, pam_test_ctx->rctx->cdb);
-+    assert_int_equal(ret, EOK);
-+
-+    ret = filter_responses(pam_test_ctx->rctx->cdb, pd->resp_list, pd);
-+    assert_int_equal(ret, EOK);
-+    assert_false(pd->resp_list->do_not_send_to_client);
-+    assert_false(pd->resp_list->next->do_not_send_to_client);
-     pam_params[0].value = "0";
-     ret = add_pam_params(pam_params, pam_test_ctx->rctx->cdb);
-     assert_int_equal(ret, EOK);
--    ret = filter_responses(pam_test_ctx->rctx->cdb, pd->resp_list);
-+    ret = filter_responses(pam_test_ctx->rctx->cdb, pd->resp_list, pd);
-     assert_int_equal(ret, EOK);
-     assert_true(pd->resp_list->do_not_send_to_client);
-+    assert_false(pd->resp_list->next->do_not_send_to_client);
--    /* SSS_PAM_USER_INFO_OFFLINE_AUTH message will only be shown with
--     * pam_verbosity 2 or above if cache password never expires. */
--    pam_params[0].value = "2";
-+    /* Test CONFDB_PAM_RESPONSE_FILTER option */
-+    pam_params[1].value = "NoSuchOption";
-     ret = add_pam_params(pam_params, pam_test_ctx->rctx->cdb);
-     assert_int_equal(ret, EOK);
--    ret = filter_responses(pam_test_ctx->rctx->cdb, pd->resp_list);
-+    ret = filter_responses(pam_test_ctx->rctx->cdb, pd->resp_list, pd);
-     assert_int_equal(ret, EOK);
--    assert_false(pd->resp_list->do_not_send_to_client);
-+    assert_true(pd->resp_list->do_not_send_to_client);
-+    assert_false(pd->resp_list->next->do_not_send_to_client);
-+
-+    pam_params[1].value = "ENV"; /* filter all environment variables */
-+                                 /* for all services */
-+    ret = add_pam_params(pam_params, pam_test_ctx->rctx->cdb);
-+    assert_int_equal(ret, EOK);
-+
-+    ret = filter_responses(pam_test_ctx->rctx->cdb, pd->resp_list, pd);
-+    assert_int_equal(ret, EOK);
-+    assert_true(pd->resp_list->do_not_send_to_client);
-+    assert_true(pd->resp_list->next->do_not_send_to_client);
-+
-+    pam_params[1].value = "ENV:"; /* filter all environment variables */
-+    ret = add_pam_params(pam_params, pam_test_ctx->rctx->cdb);
-+    assert_int_equal(ret, EOK);
-+
-+    ret = filter_responses(pam_test_ctx->rctx->cdb, pd->resp_list, pd);
-+    assert_int_equal(ret, EOK);
-+    assert_true(pd->resp_list->do_not_send_to_client);
-+    assert_true(pd->resp_list->next->do_not_send_to_client);
-+
-+    pam_params[1].value = "ENV::"; /* filter all environment variables */
-+    ret = add_pam_params(pam_params, pam_test_ctx->rctx->cdb);
-+    assert_int_equal(ret, EOK);
-+
-+    ret = filter_responses(pam_test_ctx->rctx->cdb, pd->resp_list, pd);
-+    assert_int_equal(ret, EOK);
-+    assert_true(pd->resp_list->do_not_send_to_client);
-+    assert_true(pd->resp_list->next->do_not_send_to_client);
-+
-+    pam_params[1].value = "ENV:abc:"; /* variable name does not match */
-+    ret = add_pam_params(pam_params, pam_test_ctx->rctx->cdb);
-+    assert_int_equal(ret, EOK);
-+
-+    ret = filter_responses(pam_test_ctx->rctx->cdb, pd->resp_list, pd);
-+    assert_int_equal(ret, EOK);
-+    assert_true(pd->resp_list->do_not_send_to_client);
-+    assert_false(pd->resp_list->next->do_not_send_to_client);
-+
-+    pam_params[1].value = "ENV:abc:MyService"; /* variable name does not match */
-+    ret = add_pam_params(pam_params, pam_test_ctx->rctx->cdb);
-+    assert_int_equal(ret, EOK);
-+
-+    ret = filter_responses(pam_test_ctx->rctx->cdb, pd->resp_list, pd);
-+    assert_int_equal(ret, EOK);
-+    assert_true(pd->resp_list->do_not_send_to_client);
-+    assert_false(pd->resp_list->next->do_not_send_to_client);
-+
-+    pam_params[1].value = "ENV::abc"; /* service name does not match */
-+    ret = add_pam_params(pam_params, pam_test_ctx->rctx->cdb);
-+    assert_int_equal(ret, EOK);
-+
-+    ret = filter_responses(pam_test_ctx->rctx->cdb, pd->resp_list, pd);
-+    assert_int_equal(ret, EOK);
-+    assert_true(pd->resp_list->do_not_send_to_client);
-+    assert_false(pd->resp_list->next->do_not_send_to_client);
-+
-+    /* service name does not match */
-+    pam_params[1].value = "ENV:MyEnv:abc";
-+    ret = add_pam_params(pam_params, pam_test_ctx->rctx->cdb);
-+    assert_int_equal(ret, EOK);
-+
-+    ret = filter_responses(pam_test_ctx->rctx->cdb, pd->resp_list, pd);
-+    assert_int_equal(ret, EOK);
-+    assert_true(pd->resp_list->do_not_send_to_client);
-+    assert_false(pd->resp_list->next->do_not_send_to_client);
-+
-+    pam_params[1].value = "ENV:MyEnv"; /* match */
-+    ret = add_pam_params(pam_params, pam_test_ctx->rctx->cdb);
-+    assert_int_equal(ret, EOK);
-+
-+    ret = filter_responses(pam_test_ctx->rctx->cdb, pd->resp_list, pd);
-+    assert_int_equal(ret, EOK);
-+    assert_true(pd->resp_list->do_not_send_to_client);
-+    assert_true(pd->resp_list->next->do_not_send_to_client);
-+
-+    pam_params[1].value = "ENV:MyEnv:"; /* match */
-+    ret = add_pam_params(pam_params, pam_test_ctx->rctx->cdb);
-+    assert_int_equal(ret, EOK);
-+
-+    ret = filter_responses(pam_test_ctx->rctx->cdb, pd->resp_list, pd);
-+    assert_int_equal(ret, EOK);
-+    assert_true(pd->resp_list->do_not_send_to_client);
-+    assert_true(pd->resp_list->next->do_not_send_to_client);
-+
-+    pam_params[1].value = "ENV:MyEnv:MyService"; /* match */
-+    ret = add_pam_params(pam_params, pam_test_ctx->rctx->cdb);
-+    assert_int_equal(ret, EOK);
-+
-+    ret = filter_responses(pam_test_ctx->rctx->cdb, pd->resp_list, pd);
-+    assert_int_equal(ret, EOK);
-+    assert_true(pd->resp_list->do_not_send_to_client);
-+    assert_true(pd->resp_list->next->do_not_send_to_client);
-+
-+    /* multiple rules with a match */
-+    pam_params[1].value = "ENV:abc:def, "
-+                          "ENV:MyEnv:MyService, "
-+                          "ENV:stu:xyz";
-+    ret = add_pam_params(pam_params, pam_test_ctx->rctx->cdb);
-+    assert_int_equal(ret, EOK);
-+
-+    ret = filter_responses(pam_test_ctx->rctx->cdb, pd->resp_list, pd);
-+    assert_int_equal(ret, EOK);
-+    assert_true(pd->resp_list->do_not_send_to_client);
-+    assert_true(pd->resp_list->next->do_not_send_to_client);
-+
-+    talloc_free(pd);
- }
- int main(int argc, const char *argv[])
--- 
-2.11.0
-
diff --git a/sssd/patches/0017-SYSDB-Split-sysdb_try_to_find_expected_dn-into-small.patch b/sssd/patches/0017-SYSDB-Split-sysdb_try_to_find_expected_dn-into-small.patch
deleted file mode 100644 (file)
index 2780009..0000000
+++ /dev/null
@@ -1,343 +0,0 @@
-From e6c3d9e680eab264777348389b4bcda73bd5ba6d Mon Sep 17 00:00:00 2001
-From: Jakub Hrozek <jhrozek@redhat.com>
-Date: Fri, 28 Oct 2016 13:46:02 +0200
-Subject: [PATCH 17/39] SYSDB: Split sysdb_try_to_find_expected_dn() into
- smaller functions
-
-The function sysdb_try_to_find_expected_dn was performing several matching
-algorithms and thus it was getting big and hard to extend. This patch
-doesn't contain any functional changes, only shuffles the code around
-and splits the monolithic sysdb_try_to_find_expected_dn function into
-smaller blocks.
-
-Reviewed-by: Sumit Bose <sbose@redhat.com>
-(cherry picked from commit e5a984093ad7921c83da75272cede2b0e52ba2d6)
-(cherry picked from commit 3f3dc8c737a8e8cfc4a29d7dbaf526ec3973c7a0)
----
- src/db/sysdb_subdomains.c | 278 +++++++++++++++++++++++++++++-----------------
- 1 file changed, 179 insertions(+), 99 deletions(-)
-
-diff --git a/src/db/sysdb_subdomains.c b/src/db/sysdb_subdomains.c
-index ff83f914f..b011bad6c 100644
---- a/src/db/sysdb_subdomains.c
-+++ b/src/db/sysdb_subdomains.c
-@@ -1145,74 +1145,29 @@ done:
-     return ret;
- }
--errno_t sysdb_try_to_find_expected_dn(struct sss_domain_info *dom,
--                                      const char *domain_component_name,
--                                      struct sysdb_attrs **usr_attrs,
--                                      size_t count,
--                                      struct sysdb_attrs **exp_usr)
-+static errno_t match_cn_users(TALLOC_CTX *tmp_ctx,
-+                              struct sysdb_attrs **usr_attrs,
-+                              size_t count,
-+                              const char *dom_basedn,
-+                              struct sysdb_attrs **_result)
- {
--    char *dom_basedn;
--    size_t dom_basedn_len;
--    char *expected_basedn;
--    size_t expected_basedn_len;
--    size_t dn_len;
-+    errno_t ret;
-     const char *orig_dn;
--    size_t c = 0;
--    int ret;
--    TALLOC_CTX *tmp_ctx;
--    struct ldb_context *ldb_ctx;
--    struct ldb_dn *ldb_dom_basedn;
--    int dom_basedn_comp_num;
--    struct ldb_dn *ldb_dn;
--    int dn_comp_num;
--    const char *component_name;
-+    size_t dn_len;
-     struct sysdb_attrs *result = NULL;
-     const char *result_dn_str = NULL;
-+    char *cn_users_basedn;
-+    size_t cn_users_basedn_len;
--    if (dom == NULL || domain_component_name == NULL || usr_attrs == NULL
--            || count == 0) {
--        return EINVAL;
--    }
--
--    tmp_ctx = talloc_new(NULL);
--    if (tmp_ctx == NULL) {
--        DEBUG(SSSDBG_OP_FAILURE, "talloc_new failed.\n");
--        return ENOMEM;
--    }
--
--    ret = domain_to_basedn(tmp_ctx, dom->name, &dom_basedn);
--    if (ret != EOK) {
--        DEBUG(SSSDBG_OP_FAILURE, "domain_to_basedn failed.\n");
--        goto done;
--    }
--    expected_basedn = talloc_asprintf(tmp_ctx, "%s%s", "cn=users,", dom_basedn);
--    if (expected_basedn == NULL) {
--        ret = ENOMEM;
--        goto done;
--    }
--
--    ldb_ctx = sysdb_ctx_get_ldb(dom->sysdb);
--    if (ldb_ctx == NULL) {
--        DEBUG(SSSDBG_OP_FAILURE, "Missing ldb context.\n");
--        ret = EINVAL;
--        goto done;
--    }
--
--    ldb_dom_basedn = ldb_dn_new(tmp_ctx, ldb_ctx, dom_basedn);
--    if (ldb_dom_basedn == NULL) {
--        DEBUG(SSSDBG_OP_FAILURE, "ldb_dn_new failed.\n");
-+    cn_users_basedn = talloc_asprintf(tmp_ctx, "%s%s", "cn=users,", dom_basedn);
-+    if (cn_users_basedn == NULL) {
-         ret = ENOMEM;
-         goto done;
-     }
-+    cn_users_basedn_len = strlen(cn_users_basedn);
-+    DEBUG(SSSDBG_TRACE_ALL, "cn=users baseDN is [%s].\n", cn_users_basedn);
--    dom_basedn_comp_num = ldb_dn_get_comp_num(ldb_dom_basedn);
--    dom_basedn_comp_num++;
--
--    DEBUG(SSSDBG_TRACE_ALL, "Expected BaseDN is [%s].\n", expected_basedn);
--    expected_basedn_len = strlen(expected_basedn);
--    dom_basedn_len = strlen(dom_basedn);
--
--    for (c = 0; c < count; c++) {
-+    for (size_t c = 0; c < count; c++) {
-         ret = sysdb_attrs_get_string(usr_attrs[c], SYSDB_ORIG_DN, &orig_dn);
-         if (ret != EOK) {
-             DEBUG(SSSDBG_OP_FAILURE, "sysdb_attrs_get_string failed.\n");
-@@ -1220,9 +1175,9 @@ errno_t sysdb_try_to_find_expected_dn(struct sss_domain_info *dom,
-         }
-         dn_len = strlen(orig_dn);
--        if (dn_len > expected_basedn_len
--                && strcasecmp(orig_dn + (dn_len - expected_basedn_len),
--                              expected_basedn) == 0) {
-+        if (dn_len > cn_users_basedn_len
-+                && strcasecmp(orig_dn + (dn_len - cn_users_basedn_len),
-+                              cn_users_basedn) == 0) {
-             DEBUG(SSSDBG_TRACE_ALL,
-                   "Found matching dn [%s].\n", orig_dn);
-             if (result != NULL) {
-@@ -1237,52 +1192,177 @@ errno_t sysdb_try_to_find_expected_dn(struct sss_domain_info *dom,
-         }
-     }
--    if (result == NULL) {
--        for (c = 0; c < count; c++) {
--            ret = sysdb_attrs_get_string(usr_attrs[c], SYSDB_ORIG_DN, &orig_dn);
--            if (ret != EOK) {
--                DEBUG(SSSDBG_OP_FAILURE, "sysdb_attrs_get_string failed.\n");
-+    ret = EOK;
-+done:
-+    *_result = result;
-+    return ret;
-+}
-+
-+static errno_t match_non_dc_comp(TALLOC_CTX *tmp_ctx,
-+                                 struct sss_domain_info *dom,
-+                                 struct sysdb_attrs **usr_attrs,
-+                                 size_t count,
-+                                 struct ldb_dn *ldb_basedn,
-+                                 const char *basedn,
-+                                 const char *domain_component_name,
-+                                 struct sysdb_attrs **_result)
-+{
-+    errno_t ret;
-+    const char *orig_dn;
-+    size_t orig_dn_len;
-+    size_t basedn_len;
-+    struct ldb_context *ldb_ctx;
-+    struct ldb_dn *ldb_orig_dn;
-+    int dn_comp_num;
-+    int basedn_comp_num;
-+    const char *component_name;
-+    struct sysdb_attrs *result = NULL;
-+    const char *result_dn_str = NULL;
-+
-+    ldb_ctx = sysdb_ctx_get_ldb(dom->sysdb);
-+    if (ldb_ctx == NULL) {
-+        DEBUG(SSSDBG_OP_FAILURE, "Missing ldb context.\n");
-+        ret = EINVAL;
-+        goto done;
-+    }
-+
-+    basedn_len = strlen(basedn);
-+
-+    basedn_comp_num = ldb_dn_get_comp_num(ldb_basedn);
-+    basedn_comp_num++;
-+
-+    for (size_t c = 0; c < count; c++) {
-+        ret = sysdb_attrs_get_string(usr_attrs[c], SYSDB_ORIG_DN, &orig_dn);
-+        if (ret != EOK) {
-+            DEBUG(SSSDBG_OP_FAILURE, "sysdb_attrs_get_string failed.\n");
-+            goto done;
-+        }
-+        orig_dn_len = strlen(orig_dn);
-+
-+        if (orig_dn_len > basedn_len
-+                /* Does the user's original DN with the non-domain part
-+                 * stripped match the domain base DN?
-+                 */
-+                && strcasecmp(orig_dn + (orig_dn_len - basedn_len),
-+                              basedn) == 0) {
-+            ldb_orig_dn = ldb_dn_new(tmp_ctx, ldb_ctx, orig_dn);
-+            if (ldb_orig_dn == NULL) {
-+                DEBUG(SSSDBG_OP_FAILURE, "ldb_dn_new failed");
-+                ret = ENOMEM;
-                 goto done;
-             }
--            dn_len = strlen(orig_dn);
--
--            if (dn_len > dom_basedn_len
--                    && strcasecmp(orig_dn + (dn_len - dom_basedn_len),
--                                  dom_basedn) == 0) {
--                ldb_dn = ldb_dn_new(tmp_ctx, ldb_ctx, orig_dn);
--                if (ldb_dn == NULL) {
--                    DEBUG(SSSDBG_OP_FAILURE, "ldb_dn_new failed");
--                    ret = ENOMEM;
--                    goto done;
--                }
--                dn_comp_num = ldb_dn_get_comp_num(ldb_dn);
--                if (dn_comp_num > dom_basedn_comp_num) {
--                    component_name = ldb_dn_get_component_name(ldb_dn,
--                                           (dn_comp_num - dom_basedn_comp_num));
--                    DEBUG(SSSDBG_TRACE_ALL, "Comparing [%s] and [%s].\n",
--                                            component_name,
--                                            domain_component_name);
--                    if (component_name != NULL
--                            && strcasecmp(component_name,
--                                          domain_component_name) != 0) {
--                        DEBUG(SSSDBG_TRACE_ALL,
--                              "Found matching dn [%s].\n", orig_dn);
--                        if (result != NULL) {
--                            DEBUG(SSSDBG_OP_FAILURE,
--                                 "Found 2 matching DN [%s] and [%s], "
--                                 "expecting only 1.\n", result_dn_str, orig_dn);
--                            ret = EINVAL;
--                            goto done;
--                        }
--                        result = usr_attrs[c];
--                        result_dn_str = orig_dn;
-+            dn_comp_num = ldb_dn_get_comp_num(ldb_orig_dn);
-+            if (dn_comp_num > basedn_comp_num) {
-+                component_name = ldb_dn_get_component_name(ldb_orig_dn,
-+                        (dn_comp_num - basedn_comp_num));
-+                DEBUG(SSSDBG_TRACE_ALL, "Comparing [%s] and [%s].\n",
-+                      component_name,
-+                      domain_component_name);
-+                /* If the component is NOT a DC component, then the entry
-+                 * must come from our domain, perhaps from a child container.
-+                 * If it matched the DC component, the entry was from a child
-+                 * subdomain different from this one.
-+                 */
-+                if (component_name != NULL
-+                        && strcasecmp(component_name,
-+                                      domain_component_name) != 0) {
-+                    DEBUG(SSSDBG_TRACE_ALL,
-+                            "Found matching dn [%s].\n", orig_dn);
-+                    if (result != NULL) {
-+                        DEBUG(SSSDBG_OP_FAILURE,
-+                                "Found 2 matching DN [%s] and [%s], "
-+                                "expecting only 1.\n", result_dn_str, orig_dn);
-+                        ret = EINVAL;
-+                        goto done;
-                     }
-+                    result = usr_attrs[c];
-+                    result_dn_str = orig_dn;
-                 }
-             }
-         }
-     }
-+    ret = EOK;
-+    *_result = result;
-+done:
-+    return ret;
-+}
-+
-+static errno_t match_basedn(TALLOC_CTX *tmp_ctx,
-+                            struct sss_domain_info *dom,
-+                            struct sysdb_attrs **usr_attrs,
-+                            size_t count,
-+                            const char *dom_basedn,
-+                            const char *domain_component_name,
-+                            struct sysdb_attrs **_result)
-+{
-+    struct ldb_context *ldb_ctx;
-+    struct ldb_dn *ldb_dom_basedn;
-+
-+    ldb_ctx = sysdb_ctx_get_ldb(dom->sysdb);
-+    if (ldb_ctx == NULL) {
-+        DEBUG(SSSDBG_OP_FAILURE, "Missing ldb context.\n");
-+        return EINVAL;
-+    }
-+
-+
-+    ldb_dom_basedn = ldb_dn_new(tmp_ctx, ldb_ctx, dom_basedn);
-+    if (ldb_dom_basedn == NULL) {
-+        DEBUG(SSSDBG_OP_FAILURE, "ldb_dn_new failed.\n");
-+        return ENOMEM;
-+    }
-+
-+    return match_non_dc_comp(tmp_ctx, dom,
-+                             usr_attrs, count,
-+                             ldb_dom_basedn, dom_basedn,
-+                             domain_component_name,
-+                             _result);
-+}
-+
-+errno_t sysdb_try_to_find_expected_dn(struct sss_domain_info *dom,
-+                                      const char *domain_component_name,
-+                                      struct sysdb_attrs **usr_attrs,
-+                                      size_t count,
-+                                      struct sysdb_attrs **exp_usr)
-+{
-+    char *dom_basedn;
-+    int ret;
-+    TALLOC_CTX *tmp_ctx;
-+    struct sysdb_attrs *result = NULL;
-+
-+    if (dom == NULL || domain_component_name == NULL
-+            || usr_attrs == NULL || count == 0) {
-+        return EINVAL;
-+    }
-+
-+    tmp_ctx = talloc_new(NULL);
-+    if (tmp_ctx == NULL) {
-+        DEBUG(SSSDBG_OP_FAILURE, "talloc_new failed.\n");
-+        return ENOMEM;
-+    }
-+
-+    ret = domain_to_basedn(tmp_ctx, dom->name, &dom_basedn);
-+    if (ret != EOK) {
-+        DEBUG(SSSDBG_OP_FAILURE, "domain_to_basedn failed.\n");
-+        ret = EINVAL;
-+        goto done;
-+    }
-+
-+    ret = match_cn_users(tmp_ctx, usr_attrs, count, dom_basedn, &result);
-+    if (ret != EOK) {
-+        goto done;
-+    }
-+
-+    if (result == NULL) {
-+        ret = match_basedn(tmp_ctx, dom, usr_attrs,
-+                           count, dom_basedn, domain_component_name,
-+                           &result);
-+        if (ret != EOK) {
-+            goto done;
-+        }
-+    }
-+
-     if (result == NULL) {
-         DEBUG(SSSDBG_OP_FAILURE, "No matching DN found.\n");
-         ret = ENOENT;
--- 
-2.11.0
-
diff --git a/sssd/patches/0018-SYSDB-Augment-sysdb_try_to_find_expected_dn-to-match.patch b/sssd/patches/0018-SYSDB-Augment-sysdb_try_to_find_expected_dn-to-match.patch
deleted file mode 100644 (file)
index f7cf404..0000000
+++ /dev/null
@@ -1,284 +0,0 @@
-From 8e08e21b64a9ef67a4c40917786536d69d7ec4d3 Mon Sep 17 00:00:00 2001
-From: Jakub Hrozek <jhrozek@redhat.com>
-Date: Mon, 31 Oct 2016 21:39:57 +0100
-Subject: [PATCH 18/39] SYSDB: Augment sysdb_try_to_find_expected_dn to match
- search base as well
-
-In cases where the domain name in sssd.conf does not match the AD
-domain, our previous matching process wouldn't match. This patch
-augments the matching as follows:
-    - the search base is known to sysdb_try_to_find_expected_dn and is
-      expected to be non-NULL
-    - the existing matching is ran first
-    - during the search base, matching, all the non-DC components are
-      stripped from the search base to 'canonicalize' the search base
-    - if only a single entry that matches with a non-DC DN component
-      (matching with a DC component would mean the DN comes from a
-      different domain) then this entry is a match and is returned
-
-Resolves:
-https://fedorahosted.org/sssd/ticket/3199
-
-Reviewed-by: Sumit Bose <sbose@redhat.com>
-(cherry picked from commit 24d8c85fae253f988165c112af208198cf48eef6)
-(cherry picked from commit 956fdd727f8d7a28f1456146b3b7dfee49f38626)
----
- src/db/sysdb.h                             |  1 +
- src/db/sysdb_subdomains.c                  | 99 ++++++++++++++++++++++++++++++
- src/providers/ldap/sdap_async_initgroups.c |  8 ++-
- src/tests/cmocka/test_sysdb_subdomains.c   | 43 +++++++++++--
- 4 files changed, 144 insertions(+), 7 deletions(-)
-
-diff --git a/src/db/sysdb.h b/src/db/sysdb.h
-index 901268390..5dedd97dd 100644
---- a/src/db/sysdb.h
-+++ b/src/db/sysdb.h
-@@ -1297,6 +1297,7 @@ errno_t sysdb_handle_original_uuid(const char *orig_name,
- errno_t sysdb_try_to_find_expected_dn(struct sss_domain_info *dom,
-                                       const char *domain_component_name,
-+                                      const char *ldap_search_base,
-                                       struct sysdb_attrs **usr_attrs,
-                                       size_t count,
-                                       struct sysdb_attrs **exp_usr);
-diff --git a/src/db/sysdb_subdomains.c b/src/db/sysdb_subdomains.c
-index b011bad6c..780140484 100644
---- a/src/db/sysdb_subdomains.c
-+++ b/src/db/sysdb_subdomains.c
-@@ -1320,8 +1320,97 @@ static errno_t match_basedn(TALLOC_CTX *tmp_ctx,
-                              _result);
- }
-+static errno_t match_search_base(TALLOC_CTX *tmp_ctx,
-+                                 struct sss_domain_info *dom,
-+                                 const char *domain_component_name,
-+                                 const char *domain_search_base,
-+                                 struct sysdb_attrs **usr_attrs,
-+                                 size_t count,
-+                                 struct sysdb_attrs **_result)
-+{
-+    errno_t ret;
-+    bool ok;
-+    const char *search_base;
-+    struct ldb_context *ldb_ctx;
-+    struct sysdb_attrs *result = NULL;
-+    struct ldb_dn *ldb_search_base;
-+    int search_base_comp_num;
-+    int non_dc_comp_num;
-+    const char *component_name;
-+
-+    ldb_ctx = sysdb_ctx_get_ldb(dom->sysdb);
-+    if (ldb_ctx == NULL) {
-+        DEBUG(SSSDBG_OP_FAILURE, "Missing ldb context.\n");
-+        ret = EINVAL;
-+        goto done;
-+    }
-+
-+    ldb_search_base = ldb_dn_new(tmp_ctx, ldb_ctx, domain_search_base);
-+    if (ldb_search_base == NULL) {
-+        DEBUG(SSSDBG_OP_FAILURE, "ldb_dn_new failed.\n");
-+        ret = ENOMEM;
-+        goto done;
-+    }
-+
-+    /* strip non-DC components from the search base */
-+    search_base_comp_num = ldb_dn_get_comp_num(ldb_search_base);
-+    for (non_dc_comp_num = 0;
-+         non_dc_comp_num < search_base_comp_num;
-+         non_dc_comp_num++) {
-+
-+        component_name = ldb_dn_get_component_name(ldb_search_base,
-+                                                   non_dc_comp_num);
-+        if (strcasecmp(domain_component_name, component_name) == 0) {
-+            break;
-+        }
-+    }
-+
-+    if (non_dc_comp_num == search_base_comp_num) {
-+        /* The search base does not have any non-DC components, the search wouldn't
-+         * match anyway
-+         */
-+        ret = EOK;
-+        *_result = NULL;
-+        goto done;
-+    }
-+
-+    ok = ldb_dn_remove_child_components(ldb_search_base, non_dc_comp_num);
-+    if (!ok) {
-+        ret = EINVAL;
-+        goto done;
-+    }
-+
-+    search_base = ldb_dn_get_linearized(ldb_search_base);
-+    if (search_base == NULL) {
-+        ret = ENOMEM;
-+        goto done;
-+    }
-+
-+    ret = match_cn_users(tmp_ctx, usr_attrs, count, search_base, &result);
-+    if (ret != EOK) {
-+        goto done;
-+    }
-+
-+    if (result == NULL) {
-+        ret = match_non_dc_comp(tmp_ctx, dom,
-+                                usr_attrs, count,
-+                                ldb_search_base, search_base,
-+                                domain_component_name,
-+                                &result);
-+        if (ret != EOK) {
-+            goto done;
-+        }
-+    }
-+
-+    ret = EOK;
-+    *_result = result;
-+done:
-+    return ret;
-+}
-+
- errno_t sysdb_try_to_find_expected_dn(struct sss_domain_info *dom,
-                                       const char *domain_component_name,
-+                                      const char *domain_search_base,
-                                       struct sysdb_attrs **usr_attrs,
-                                       size_t count,
-                                       struct sysdb_attrs **exp_usr)
-@@ -1332,6 +1421,7 @@ errno_t sysdb_try_to_find_expected_dn(struct sss_domain_info *dom,
-     struct sysdb_attrs *result = NULL;
-     if (dom == NULL || domain_component_name == NULL
-+            || domain_search_base == NULL
-             || usr_attrs == NULL || count == 0) {
-         return EINVAL;
-     }
-@@ -1364,6 +1454,15 @@ errno_t sysdb_try_to_find_expected_dn(struct sss_domain_info *dom,
-     }
-     if (result == NULL) {
-+        ret = match_search_base(tmp_ctx, dom, domain_component_name,
-+                                   domain_search_base, usr_attrs, count,
-+                                   &result);
-+        if (ret != EOK) {
-+            goto done;
-+        }
-+    }
-+
-+    if (result == NULL) {
-         DEBUG(SSSDBG_OP_FAILURE, "No matching DN found.\n");
-         ret = ENOENT;
-         goto done;
-diff --git a/src/providers/ldap/sdap_async_initgroups.c b/src/providers/ldap/sdap_async_initgroups.c
-index 45fc007e0..9b505e7fa 100644
---- a/src/providers/ldap/sdap_async_initgroups.c
-+++ b/src/providers/ldap/sdap_async_initgroups.c
-@@ -2947,7 +2947,13 @@ static void sdap_get_initgr_user(struct tevent_req *subreq)
-         DEBUG(SSSDBG_OP_FAILURE,
-               "Expected one user entry and got %zu\n", count);
--        ret = sysdb_try_to_find_expected_dn(state->dom, "dc", usr_attrs, count,
-+        /* When matching against a search base, it's sufficient to pick only
-+         * the first search base because all bases in a single domain would
-+         * have the same DC= components
-+         */
-+        ret = sysdb_try_to_find_expected_dn(state->dom, "dc",
-+                                            state->sdom->search_bases[0]->basedn,
-+                                            usr_attrs, count,
-                                             &state->orig_user);
-         if (ret != EOK) {
-             DEBUG(SSSDBG_OP_FAILURE,
-diff --git a/src/tests/cmocka/test_sysdb_subdomains.c b/src/tests/cmocka/test_sysdb_subdomains.c
-index c9db56841..52056e043 100644
---- a/src/tests/cmocka/test_sysdb_subdomains.c
-+++ b/src/tests/cmocka/test_sysdb_subdomains.c
-@@ -520,7 +520,9 @@ static void test_try_to_find_expected_dn(void **state)
-     int ret;
-     struct sysdb_attrs *result;
-     struct sysdb_attrs *usr_attrs[10] = { NULL };
-+    struct sysdb_attrs *dom_usr_attrs[10] = { NULL };
-     struct sss_domain_info *dom;
-+    char *dom_basedn;
-     struct subdom_test_ctx *test_ctx =
-         talloc_get_type(*state, struct subdom_test_ctx);
-@@ -528,6 +530,9 @@ static void test_try_to_find_expected_dn(void **state)
-                               "child2.test_sysdb_subdomains_2", true);
-     assert_non_null(dom);
-+    ret = domain_to_basedn(test_ctx, dom->name, &dom_basedn);
-+    assert_int_equal(ret, EOK);
-+
-     usr_attrs[0] = sysdb_new_attrs(test_ctx);
-     assert_non_null(usr_attrs[0]);
-@@ -535,13 +540,13 @@ static void test_try_to_find_expected_dn(void **state)
-                   "uid=user,cn=abc,dc=c2,dc=child2,dc=test_sysdb_subdomains_2");
-     assert_int_equal(ret, EOK);
--    ret = sysdb_try_to_find_expected_dn(NULL, NULL, NULL, 0, NULL);
-+    ret = sysdb_try_to_find_expected_dn(NULL, NULL, NULL, NULL, 0, NULL);
-     assert_int_equal(ret, EINVAL);
--    ret = sysdb_try_to_find_expected_dn(dom, "dc", usr_attrs, 1, &result);
-+    ret = sysdb_try_to_find_expected_dn(dom, "dc", dom_basedn, usr_attrs, 1, &result);
-     assert_int_equal(ret, ENOENT);
--    ret = sysdb_try_to_find_expected_dn(dom, "xy", usr_attrs, 1, &result);
-+    ret = sysdb_try_to_find_expected_dn(dom, "xy", dom_basedn, usr_attrs, 1, &result);
-     assert_int_equal(ret, EOK);
-     assert_ptr_equal(result, usr_attrs[0]);
-@@ -559,11 +564,11 @@ static void test_try_to_find_expected_dn(void **state)
-                  "uid=user2,cn=abc,dc=c2,dc=child2,dc=test_sysdb_subdomains_2");
-     assert_int_equal(ret, EOK);
--    ret = sysdb_try_to_find_expected_dn(dom, "dc", usr_attrs, 3, &result);
-+    ret = sysdb_try_to_find_expected_dn(dom, "dc", dom_basedn, usr_attrs, 3, &result);
-     assert_int_equal(ret, EOK);
-     assert_ptr_equal(result, usr_attrs[1]);
--    ret = sysdb_try_to_find_expected_dn(dom, "xy", usr_attrs, 3, &result);
-+    ret = sysdb_try_to_find_expected_dn(dom, "xy", dom_basedn, usr_attrs, 3, &result);
-     assert_int_equal(ret, EINVAL);
-     /* Make sure cn=users match is preferred */
-@@ -575,10 +580,36 @@ static void test_try_to_find_expected_dn(void **state)
-                  "uid=user2,cn=abc,cn=users,dc=child2,dc=test_sysdb_subdomains_2");
-     assert_int_equal(ret, EOK);
--    ret = sysdb_try_to_find_expected_dn(dom, "dc", usr_attrs, 3, &result);
-+    ret = sysdb_try_to_find_expected_dn(dom, "dc", dom_basedn, usr_attrs, 3, &result);
-     assert_int_equal(ret, EOK);
-     assert_ptr_equal(result, usr_attrs[2]);
-+    /* test a case where the domain name does not match the basedn */
-+    dom->name = discard_const("default");
-+    dom_usr_attrs[0] = usr_attrs[0];
-+
-+    ret = sysdb_try_to_find_expected_dn(dom, "dc", dom_basedn, dom_usr_attrs, 1, &result);
-+    assert_int_equal(ret, ENOENT);
-+
-+    dom_usr_attrs[1] = usr_attrs[1];
-+    dom_usr_attrs[2] = usr_attrs[2];
-+
-+    /* Make sure cn=users match is preferred */
-+    ret = sysdb_try_to_find_expected_dn(dom, "dc", dom_basedn, dom_usr_attrs, 3, &result);
-+    assert_int_equal(ret, EOK);
-+    assert_ptr_equal(result, dom_usr_attrs[2]);
-+
-+    talloc_free(usr_attrs[2]);
-+    usr_attrs[2] = sysdb_new_attrs(test_ctx);
-+    assert_non_null(usr_attrs[2]);
-+    ret = sysdb_attrs_add_string(usr_attrs[2], SYSDB_ORIG_DN,
-+                 "uid=user2,cn=abc,dc=c2,dc=child2,dc=test_sysdb_subdomains_2");
-+    assert_int_equal(ret, EOK);
-+
-+    dom_usr_attrs[2] = usr_attrs[2];
-+    ret = sysdb_try_to_find_expected_dn(dom, "dc", dom_basedn, dom_usr_attrs, 3, &result);
-+    assert_int_equal(ret, EOK);
-+    assert_ptr_equal(result, usr_attrs[1]);
-     talloc_free(usr_attrs[0]);
-     talloc_free(usr_attrs[1]);
--- 
-2.11.0
-
diff --git a/sssd/patches/0019-ad_access_filter-search-for-nested-groups.patch b/sssd/patches/0019-ad_access_filter-search-for-nested-groups.patch
deleted file mode 100644 (file)
index 671758d..0000000
+++ /dev/null
@@ -1,55 +0,0 @@
-From 7186923d877605f632fa17053a674f8266fd08bb Mon Sep 17 00:00:00 2001
-From: Mike Ely <github@taupehat.com>
-Date: Wed, 2 Nov 2016 11:26:21 -0700
-Subject: [PATCH 19/39] ad_access_filter search for nested groups
-
-Includes instructions and example for AD nested group access
-
-Related to https://fedorahosted.org/sssd/ticket/3218
-
-Signed-off-by: Mike Ely <github@taupehat.com>
-
-Reviewed-by: Sumit Bose <sbose@redhat.com>
-(cherry picked from commit cf5357ae83cc9fe2240038b8bdccec2cb98991fc)
-(cherry picked from commit e1c2aead482cd4bf83a7fe5e68630a981389e82b)
----
- src/man/sssd-ad.5.xml | 16 ++++++++++++++++
- 1 file changed, 16 insertions(+)
-
-diff --git a/src/man/sssd-ad.5.xml b/src/man/sssd-ad.5.xml
-index 8a2f4ade9..2618f8324 100644
---- a/src/man/sssd-ad.5.xml
-+++ b/src/man/sssd-ad.5.xml
-@@ -236,6 +236,19 @@ ad_enabled_domains = sales.example.com, eng.example.com
-                             search bases work.
-                         </para>
-                         <para>
-+                            Nested group membership must be searched for using
-+                            a special OID <quote>:1.2.840.113556.1.4.1941:</quote>
-+                            in addition to the full DOM:domain.example.org: syntax
-+                            to ensure the parser does not attempt to interpret the
-+                            colon characters associated with the OID. If you do not
-+                            use this OID then nested group membership will not be
-+                            resolved. See usage example below and refer here
-+                            for further information about the OID:
-+                            <ulink
-+                            url="https://msdn.microsoft.com/en-us/library/cc223367.aspx">
-+                            [MS-ADTS] section LDAP extensions</ulink>
-+                        </para>
-+                        <para>
-                             The most specific match is always used. For
-                             example, if the option specified filter
-                             for a domain the user is a member of and a
-@@ -255,6 +268,9 @@ DOM:dom2:(memberOf=cn=admins,ou=groups,dc=dom2,dc=com)
- # apply filter on forest called EXAMPLE.COM only:
- FOREST:EXAMPLE.COM:(memberOf=cn=admins,ou=groups,dc=example,dc=com)
-+
-+# apply filter for a member of a nested group in dom1:
-+DOM:dom1:(memberOf:1.2.840.113556.1.4.1941:=cn=nestedgroup,ou=groups,dc=example,dc=com)
-                         </programlisting>
-                         <para>
-                             Default: Not set
--- 
-2.11.0
-
diff --git a/sssd/patches/0020-BUILD-Fix-linking-with-librt.patch b/sssd/patches/0020-BUILD-Fix-linking-with-librt.patch
deleted file mode 100644 (file)
index 2a57b22..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-From 90adb9afec7b3cd2f6548d7f050785777492c827 Mon Sep 17 00:00:00 2001
-From: Lukas Slebodnik <lslebodn@redhat.com>
-Date: Mon, 7 Nov 2016 11:53:21 +0100
-Subject: [PATCH 20/39] BUILD: Fix linking with librt
-
-The posix realime extensions defines timer_* functions
-but it does not mention library with these functions.
-http://www.unix.org/version2/whatsnew/realtime.html
-
-The autoconf macro AC_SEARCH_LIBS firstly check the function
-timer_create with no libraries, then for each library listed
-in 2nd parameter. Possible libraries librt and libposix4
-were used in nspr for similar detection.
-
-Reviewed-by: Joakim Tjernlund <joakim.tjernlund@infinera.com>
-(cherry picked from commit 6d11fdcd8ef05000dd20b3431f8491790f99a802)
-(cherry picked from commit a3b668868a1c10be63be9151d347100172b71c6c)
----
- Makefile.am  |  1 +
- configure.ac | 13 +++++++++++++
- 2 files changed, 14 insertions(+)
-
-diff --git a/Makefile.am b/Makefile.am
-index d08e39fa4..51c67360d 100644
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -960,6 +960,7 @@ libsss_util_la_CFLAGS = \
-     $(SYSTEMD_LOGIN_CFLAGS) \
-     $(NULL)
- libsss_util_la_LIBADD = \
-+    $(LIBADD_TIMER) \
-     $(SSSD_LIBS) \
-     $(SYSTEMD_LOGIN_LIBS) \
-     $(UNICODE_LIBS) \
-diff --git a/configure.ac b/configure.ac
-index 3dbcf9e1f..d3ef1e162 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -70,6 +70,19 @@ AC_CHECK_FUNCS([ pthread_mutexattr_setrobust \
-                  pthread_mutex_consistent_np ])
- LIBS=$SAVE_LIBS
-+# Check library for the timer_create function
-+SAVE_LIBS=$LIBS
-+LIBS=
-+LIBADD_TIMER=
-+AC_SEARCH_LIBS([timer_create], [rt posix4],
-+    [AC_DEFINE([HAVE_LIBRT], [1],
-+         [Define if you have the librt library or equivalent.])
-+     LIBADD_TIMER="$LIBS"],
-+    [AC_MSG_ERROR([unable to find library fot the timer_create() function])])
-+
-+AC_SUBST([LIBADD_TIMER])
-+LIBS=$SAVE_LIBS
-+
- # Check for presence of modern functions for setting file timestamps
- AC_CHECK_FUNCS([ utimensat \
-                  futimens ])
--- 
-2.11.0
-
diff --git a/sssd/patches/0021-MONITOR-Do-not-set-up-watchdog-for-monitor.patch b/sssd/patches/0021-MONITOR-Do-not-set-up-watchdog-for-monitor.patch
deleted file mode 100644 (file)
index 797fe61..0000000
+++ /dev/null
@@ -1,74 +0,0 @@
-From 287acba9b1b7d91811d8e8a22ed5e7824e8a26b3 Mon Sep 17 00:00:00 2001
-From: Jakub Hrozek <jhrozek@redhat.com>
-Date: Mon, 7 Nov 2016 11:58:20 +0100
-Subject: [PATCH 21/39] MONITOR: Do not set up watchdog for monitor
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-It makes little sense to set up watchdog for monitor because there is no
-entity that would restart the monitor. Therefore we should disable the
-watchdog for monitor process.
-
-Resolves:
-https://fedorahosted.org/sssd/ticket/3232
-
-Reviewed-by: Lukáš Slebodník <lslebodn@redhat.com>
-(cherry picked from commit fbe6644aa28d93f492434950680c5618eb567712)
-(cherry picked from commit 2d88a121918e800b266d018d43dad9bd374b10a7)
----
- src/monitor/monitor.c |  2 ++
- src/util/server.c     | 11 +++++++----
- src/util/util.h       |  1 +
- 3 files changed, 10 insertions(+), 4 deletions(-)
-
-diff --git a/src/monitor/monitor.c b/src/monitor/monitor.c
-index 84a144e56..935febb95 100644
---- a/src/monitor/monitor.c
-+++ b/src/monitor/monitor.c
-@@ -2603,6 +2603,8 @@ int main(int argc, const char *argv[])
-     /* we want a pid file check */
-     flags |= FLAGS_PID_FILE;
-+    /* the monitor should not run a watchdog on itself */
-+    flags |= FLAGS_NO_WATCHDOG;
-     /* Open before server_setup() does to have logging
-      * during configuration checking */
-diff --git a/src/util/server.c b/src/util/server.c
-index 953cd3d61..013e572e6 100644
---- a/src/util/server.c
-+++ b/src/util/server.c
-@@ -666,10 +666,13 @@ int server_setup(const char *name, int flags,
-                                      ret, strerror(ret));
-         return ret;
-     }
--    ret = setup_watchdog(ctx->event_ctx, watchdog_interval);
--    if (ret != EOK) {
--        DEBUG(SSSDBG_CRIT_FAILURE, "Watchdog setup failed.\n");
--        return ret;
-+
-+    if ((flags & FLAGS_NO_WATCHDOG) == 0) {
-+        ret = setup_watchdog(ctx->event_ctx, watchdog_interval);
-+        if (ret != EOK) {
-+            DEBUG(SSSDBG_CRIT_FAILURE, "Watchdog setup failed.\n");
-+            return ret;
-+        }
-     }
-     sss_log(SSS_LOG_INFO, "Starting up");
-diff --git a/src/util/util.h b/src/util/util.h
-index 9c39a5cc5..4bfccfa2b 100644
---- a/src/util/util.h
-+++ b/src/util/util.h
-@@ -88,6 +88,7 @@
- #define FLAGS_INTERACTIVE 0x0002
- #define FLAGS_PID_FILE 0x0004
- #define FLAGS_GEN_CONF 0x0008
-+#define FLAGS_NO_WATCHDOG 0x0010
- #define PIPE_INIT { -1, -1 }
--- 
-2.11.0
-
diff --git a/sssd/patches/0022-SYSDB-Adding-lowercase-sudoUser-form.patch b/sssd/patches/0022-SYSDB-Adding-lowercase-sudoUser-form.patch
deleted file mode 100644 (file)
index ffb4b19..0000000
+++ /dev/null
@@ -1,107 +0,0 @@
-From b87ca4233342e1537fda5ce731db77cf24e422c3 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Petr=20=C4=8Cech?= <pcech@redhat.com>
-Date: Wed, 12 Oct 2016 16:48:38 +0200
-Subject: [PATCH 22/39] SYSDB: Adding lowercase sudoUser form
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-If domain is not case sensitive we add lowercase form of usernames
-to sudoUser attributes. So we actually able to apply sudoRule on
-user Administrator@... with login admnistrator@...
-
-Resolves:
-https://fedorahosted.org/sssd/ticket/3203
-
-Reviewed-by: Pavel BÅ™ezina <pbrezina@redhat.com>
-(cherry picked from commit f4a1046bb88d7a0ab3617e49ae94bfa849d10645)
-(cherry picked from commit 88239b7f17f599aefa88a8a31c2d0ea44b766c87)
----
- src/db/sysdb_sudo.c | 64 +++++++++++++++++++++++++++++++++++++++++++++++++++++
- 1 file changed, 64 insertions(+)
-
-diff --git a/src/db/sysdb_sudo.c b/src/db/sysdb_sudo.c
-index 601fb63f2..4bd93ffc6 100644
---- a/src/db/sysdb_sudo.c
-+++ b/src/db/sysdb_sudo.c
-@@ -852,6 +852,65 @@ sysdb_sudo_add_sss_attrs(struct sysdb_attrs *rule,
-     return EOK;
- }
-+static errno_t sysdb_sudo_add_lowered_users(struct sss_domain_info *domain,
-+                                            struct sysdb_attrs *rule)
-+{
-+    TALLOC_CTX *tmp_ctx;
-+    const char **users = NULL;
-+    const char *lowered = NULL;
-+    errno_t ret;
-+
-+    if (domain->case_sensitive == true || rule == NULL) {
-+        return EOK;
-+    }
-+
-+    tmp_ctx = talloc_new(NULL);
-+    if (tmp_ctx == NULL) {
-+        return ENOMEM;
-+    }
-+
-+    ret = sysdb_attrs_get_string_array(rule, SYSDB_SUDO_CACHE_AT_USER, tmp_ctx,
-+                                       &users);
-+    if (ret != EOK) {
-+        DEBUG(SSSDBG_OP_FAILURE, "Unable to get %s attribute [%d]: %s\n",
-+              SYSDB_SUDO_CACHE_AT_USER, ret, strerror(ret));
-+        goto done;
-+    }
-+
-+    if (users == NULL) {
-+        ret =  EOK;
-+        goto done;
-+    }
-+
-+    for (int i = 0; users[i] != NULL; i++) {
-+        lowered = sss_tc_utf8_str_tolower(tmp_ctx, users[i]);
-+        if (lowered == NULL) {
-+            DEBUG(SSSDBG_OP_FAILURE, "Cannot convert name to lowercase.\n");
-+            ret = ENOMEM;
-+            goto done;
-+        }
-+
-+        if (strcmp(users[i], lowered) == 0) {
-+            /* It protects us from adding duplicate. */
-+            continue;
-+        }
-+
-+        ret = sysdb_attrs_add_string(rule, SYSDB_SUDO_CACHE_AT_USER, lowered);
-+        if (ret != EOK) {
-+            DEBUG(SSSDBG_OP_FAILURE,
-+                  "Unable to add %s attribute [%d]: %s\n",
-+                  SYSDB_SUDO_CACHE_AT_USER, ret, strerror(ret));
-+            goto done;
-+        }
-+    }
-+
-+    ret = EOK;
-+
-+done:
-+    talloc_zfree(tmp_ctx);
-+    return ret;
-+}
-+
- static errno_t
- sysdb_sudo_store_rule(struct sss_domain_info *domain,
-                       struct sysdb_attrs *rule,
-@@ -868,6 +927,11 @@ sysdb_sudo_store_rule(struct sss_domain_info *domain,
-     DEBUG(SSSDBG_TRACE_FUNC, "Adding sudo rule %s\n", name);
-+    ret = sysdb_sudo_add_lowered_users(domain, rule);
-+    if (ret != EOK) {
-+        return ret;
-+    }
-+
-     ret = sysdb_sudo_add_sss_attrs(rule, name, cache_timeout, now);
-     if (ret != EOK) {
-         return ret;
--- 
-2.11.0
-
diff --git a/sssd/patches/0023-TESTS-Extending-sysdb-sudo-store-tests.patch b/sssd/patches/0023-TESTS-Extending-sysdb-sudo-store-tests.patch
deleted file mode 100644 (file)
index 3b6ae0b..0000000
+++ /dev/null
@@ -1,225 +0,0 @@
-From 1cd53e7a9cdb95aeca6a3f9ae4a6e32072f74ee7 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Petr=20=C4=8Cech?= <pcech@redhat.com>
-Date: Thu, 13 Oct 2016 09:31:52 +0200
-Subject: [PATCH 23/39] TESTS: Extending sysdb sudo store tests
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-We covered diference between case sensitive and case insensitive
-domains. If domain is case insensitive we add lowercase form of
-sudoUser to local sysdb cache.
-
-Resolves:
-https://fedorahosted.org/sssd/ticket/3203
-
-Reviewed-by: Pavel BÅ™ezina <pbrezina@redhat.com>
-(cherry picked from commit 23637e2fd2b1fe42bdd2335893a11ac8016f56bc)
-(cherry picked from commit 143b1dcbbe865a139616a22b139e19bd772e46f0)
----
- src/tests/cmocka/test_sysdb_sudo.c | 168 ++++++++++++++++++++++++++++++++++++-
- 1 file changed, 167 insertions(+), 1 deletion(-)
-
-diff --git a/src/tests/cmocka/test_sysdb_sudo.c b/src/tests/cmocka/test_sysdb_sudo.c
-index 889de7237..f21ff3655 100644
---- a/src/tests/cmocka/test_sysdb_sudo.c
-+++ b/src/tests/cmocka/test_sysdb_sudo.c
-@@ -44,7 +44,7 @@ struct test_user {
-     const char *name;
-     uid_t uid;
-     gid_t gid;
--} users[] = { { "test_user1", 1001, 1001 },
-+} users[] = { { "test_USER1", 1001, 1001 },
-               { "test_user2", 1002, 1002 },
-               { "test_user3", 1003, 1003 } };
-@@ -104,6 +104,29 @@ static void create_rule_attrs(struct sysdb_attrs *rule, int i)
-     assert_int_equal(ret, EOK);
- }
-+static void create_rule_attrs_multiple_sudoUser(struct sysdb_attrs *rule)
-+{
-+    errno_t ret;
-+
-+    ret = sysdb_attrs_add_string_safe(rule, SYSDB_SUDO_CACHE_AT_CN,
-+                                      rules[0].name);
-+    assert_int_equal(ret, EOK);
-+
-+    ret = sysdb_attrs_add_string_safe(rule, SYSDB_SUDO_CACHE_AT_HOST,
-+                                      rules[0].host);
-+    assert_int_equal(ret, EOK);
-+
-+    ret = sysdb_attrs_add_string_safe(rule, SYSDB_SUDO_CACHE_AT_RUNASUSER,
-+                                      rules[0].as_user);
-+    assert_int_equal(ret, EOK);
-+
-+    for (int i = 0; i < 3; i++ ) {
-+        ret = sysdb_attrs_add_string_safe(rule, SYSDB_SUDO_CACHE_AT_USER,
-+                                          users[i].name);
-+        assert_int_equal(ret, EOK);
-+    }
-+}
-+
- static int get_stored_rules_count(struct sysdb_test_ctx *test_ctx)
- {
-     errno_t ret;
-@@ -217,6 +240,143 @@ void test_store_sudo(void **state)
-     talloc_zfree(msgs);
- }
-+void test_store_sudo_case_sensitive(void **state)
-+{
-+    errno_t ret;
-+    char *filter;
-+    const char *attrs[] = { SYSDB_SUDO_CACHE_AT_CN, SYSDB_SUDO_CACHE_AT_HOST,
-+                            SYSDB_SUDO_CACHE_AT_RUNASUSER,
-+                            SYSDB_SUDO_CACHE_AT_USER, NULL };
-+    struct ldb_message **msgs = NULL;
-+    size_t msgs_count;
-+    const char *result;
-+    struct ldb_message_element *element;
-+    struct sysdb_attrs *rule;
-+    struct sysdb_test_ctx *test_ctx = talloc_get_type_abort(*state,
-+                                                         struct sysdb_test_ctx);
-+    const char *lowered_name = sss_tc_utf8_str_tolower(test_ctx, users[0].name);
-+
-+    rule = sysdb_new_attrs(test_ctx);
-+    assert_non_null(rule);
-+    create_rule_attrs_multiple_sudoUser(rule);
-+
-+    test_ctx->tctx->dom->case_sensitive = true;
-+
-+    ret = sysdb_sudo_store(test_ctx->tctx->dom, &rule, 1);
-+    assert_int_equal(ret, EOK);
-+
-+    filter = sysdb_sudo_filter_user(test_ctx, users[0].name, NULL, 0);
-+    assert_non_null(filter);
-+
-+    ret = sysdb_search_sudo_rules(test_ctx, test_ctx->tctx->dom, filter,
-+                                  attrs, &msgs_count, &msgs);
-+    assert_int_equal(ret, EOK);
-+
-+    assert_int_equal(msgs_count, 1);
-+
-+    result = ldb_msg_find_attr_as_string(msgs[0], SYSDB_SUDO_CACHE_AT_CN, NULL);
-+    assert_non_null(result);
-+    assert_string_equal(result, rules[0].name);
-+
-+    result = ldb_msg_find_attr_as_string(msgs[0], SYSDB_SUDO_CACHE_AT_HOST,
-+                                         NULL);
-+    assert_non_null(result);
-+    assert_string_equal(result, rules[0].host);
-+
-+    result = ldb_msg_find_attr_as_string(msgs[0], SYSDB_SUDO_CACHE_AT_RUNASUSER,
-+                                         NULL);
-+    assert_non_null(result);
-+    assert_string_equal(result, rules[0].as_user);
-+
-+    ret = ldb_msg_check_string_attribute(msgs[0], SYSDB_SUDO_CACHE_AT_USER,
-+                                                       users[0].name);
-+    assert_int_equal(ret, 1);
-+
-+    ret = ldb_msg_check_string_attribute(msgs[0], SYSDB_SUDO_CACHE_AT_USER,
-+                                                       lowered_name);
-+    assert_int_equal(ret, 0);
-+
-+    ret = ldb_msg_check_string_attribute(msgs[0], SYSDB_SUDO_CACHE_AT_USER,
-+                                                       users[1].name);
-+    assert_int_equal(ret, 1);
-+
-+    ret = ldb_msg_check_string_attribute(msgs[0], SYSDB_SUDO_CACHE_AT_USER,
-+                                                       users[2].name);
-+    assert_int_equal(ret, 1);
-+
-+    element = ldb_msg_find_element(msgs[0], SYSDB_SUDO_CACHE_AT_USER);
-+    assert_int_equal(element->num_values, 3);
-+
-+    talloc_zfree(lowered_name);
-+    talloc_zfree(rule);
-+    talloc_zfree(filter);
-+    talloc_zfree(msgs);
-+}
-+
-+void test_store_sudo_case_insensitive(void **state)
-+{
-+    errno_t ret;
-+    char *filter;
-+    const char *attrs[] = { SYSDB_SUDO_CACHE_AT_CN, SYSDB_SUDO_CACHE_AT_HOST,
-+                            SYSDB_SUDO_CACHE_AT_RUNASUSER,
-+                            SYSDB_SUDO_CACHE_AT_USER, NULL };
-+    struct ldb_message **msgs = NULL;
-+    size_t msgs_count;
-+    const char *result;
-+    struct ldb_message_element *element;
-+    struct sysdb_attrs *rule;
-+    struct sysdb_test_ctx *test_ctx = talloc_get_type_abort(*state,
-+                                                         struct sysdb_test_ctx);
-+    const char *lowered_name = sss_tc_utf8_str_tolower(test_ctx, users[0].name);
-+
-+    rule = sysdb_new_attrs(test_ctx);
-+    assert_non_null(rule);
-+    create_rule_attrs_multiple_sudoUser(rule);
-+
-+    test_ctx->tctx->dom->case_sensitive = false;
-+
-+    ret = sysdb_sudo_store(test_ctx->tctx->dom, &rule, 1);
-+    assert_int_equal(ret, EOK);
-+
-+    filter = sysdb_sudo_filter_user(test_ctx, users[0].name, NULL, 0);
-+    assert_non_null(filter);
-+
-+    ret = sysdb_search_sudo_rules(test_ctx, test_ctx->tctx->dom, filter,
-+                                  attrs, &msgs_count, &msgs);
-+    assert_int_equal(ret, EOK);
-+
-+    assert_int_equal(msgs_count, 1);
-+
-+    result = ldb_msg_find_attr_as_string(msgs[0], SYSDB_SUDO_CACHE_AT_CN, NULL);
-+    assert_non_null(result);
-+    assert_string_equal(result, rules[0].name);
-+
-+    result = ldb_msg_find_attr_as_string(msgs[0], SYSDB_SUDO_CACHE_AT_HOST,
-+                                         NULL);
-+    assert_non_null(result);
-+    assert_string_equal(result, rules[0].host);
-+
-+    result = ldb_msg_find_attr_as_string(msgs[0], SYSDB_SUDO_CACHE_AT_RUNASUSER,
-+                                         NULL);
-+    assert_non_null(result);
-+    assert_string_equal(result, rules[0].as_user);
-+
-+    for (int i = 0; i < 3; i++) {
-+        ret = ldb_msg_check_string_attribute(msgs[0], SYSDB_SUDO_CACHE_AT_USER,
-+                                             users[i].name);
-+        assert_int_equal(ret, 1);
-+    }
-+
-+    /* test there is no duplication of lowercase forms */
-+    element = ldb_msg_find_element(msgs[0], SYSDB_SUDO_CACHE_AT_USER);
-+    assert_int_equal(element->num_values, 4);
-+
-+    talloc_zfree(lowered_name);
-+    talloc_zfree(rule);
-+    talloc_zfree(filter);
-+    talloc_zfree(msgs);
-+}
-+
- void test_sudo_purge_by_filter(void **state)
- {
-     errno_t ret;
-@@ -648,6 +808,12 @@ int main(int argc, const char *argv[])
-         cmocka_unit_test_setup_teardown(test_store_sudo,
-                                         test_sysdb_setup,
-                                         test_sysdb_teardown),
-+        cmocka_unit_test_setup_teardown(test_store_sudo_case_sensitive,
-+                                        test_sysdb_setup,
-+                                        test_sysdb_teardown),
-+        cmocka_unit_test_setup_teardown(test_store_sudo_case_insensitive,
-+                                        test_sysdb_setup,
-+                                        test_sysdb_teardown),
-         /* sysdb_sudo_purge() */
-         cmocka_unit_test_setup_teardown(test_sudo_purge_by_filter,
--- 
-2.11.0
-
diff --git a/sssd/patches/0024-IPA-AD-check-auth-ctx-before-using-it.patch b/sssd/patches/0024-IPA-AD-check-auth-ctx-before-using-it.patch
deleted file mode 100644 (file)
index e0d1b7d..0000000
+++ /dev/null
@@ -1,93 +0,0 @@
-From a859747b84125124ea794aa422f5b811bb0dba2d Mon Sep 17 00:00:00 2001
-From: Sumit Bose <sbose@redhat.com>
-Date: Tue, 8 Nov 2016 11:51:57 +0100
-Subject: [PATCH 24/39] IPA/AD: check auth ctx before using it
-
-In e6b6b9fa79c67d7d2698bc7e33d2e2f6bb53d483 a feature was introduced to
-set the 'canonicalize' option in the system-wide Kerberos configuration
-according to the settings in SSSD if the AD or IPA provider were used.
-Unfortunately the patch implied that the auth provider is the same as
-the id provider which might not always be the case. A different auth
-provider caused a crash in the backend which is fixed by this patch.
-
-Resolves https://fedorahosted.org/sssd/ticket/3234
-
-Reviewed-by: Petr Cech <pcech@redhat.com>
-(cherry picked from commit ea11ed3ea6291488dd762033246edc4ce3951aeb)
-(cherry picked from commit 37e070c8c2ea79d8d84bae3da3a34c81212744ab)
----
- src/providers/ad/ad_subdomains.c   | 13 +++++++++++--
- src/providers/ipa/ipa_subdomains.c | 20 +++++++++++++++++---
- 2 files changed, 28 insertions(+), 5 deletions(-)
-
-diff --git a/src/providers/ad/ad_subdomains.c b/src/providers/ad/ad_subdomains.c
-index 52bf5361f..5e57d218c 100644
---- a/src/providers/ad/ad_subdomains.c
-+++ b/src/providers/ad/ad_subdomains.c
-@@ -618,14 +618,23 @@ static errno_t ad_subdom_reinit(struct ad_subdomains_ctx *subdoms_ctx)
- {
-     const char *path;
-     errno_t ret;
--    bool canonicalize;
-+    bool canonicalize = false;
-     path = dp_opt_get_string(subdoms_ctx->ad_id_ctx->ad_options->basic,
-                              AD_KRB5_CONFD_PATH);
--    canonicalize = dp_opt_get_bool(
-+    if (subdoms_ctx->ad_id_ctx->ad_options->auth_ctx != NULL
-+            && subdoms_ctx->ad_id_ctx->ad_options->auth_ctx->opts != NULL) {
-+        canonicalize = dp_opt_get_bool(
-                              subdoms_ctx->ad_id_ctx->ad_options->auth_ctx->opts,
-                              KRB5_CANONICALIZE);
-+    } else {
-+        DEBUG(SSSDBG_CONF_SETTINGS, "Auth provider data is not available, "
-+                                    "most probably because the auth provider "
-+                                    "is not 'ad'. Kerberos configuration "
-+                                    "snippet to set the 'canonicalize' option "
-+                                    "will not be created.\n");
-+    }
-     ret = sss_write_krb5_conf_snippet(path, canonicalize);
-     if (ret != EOK) {
-diff --git a/src/providers/ipa/ipa_subdomains.c b/src/providers/ipa/ipa_subdomains.c
-index 8653e3f46..b2e96b204 100644
---- a/src/providers/ipa/ipa_subdomains.c
-+++ b/src/providers/ipa/ipa_subdomains.c
-@@ -73,16 +73,30 @@ static errno_t
- ipa_subdom_reinit(struct ipa_subdomains_ctx *ctx)
- {
-     errno_t ret;
-+    bool canonicalize = false;
-     DEBUG(SSSDBG_TRACE_INTERNAL,
-           "Re-initializing domain %s\n", ctx->be_ctx->domain->name);
-+    if (ctx->ipa_id_ctx->ipa_options->auth_ctx != NULL
-+          && ctx->ipa_id_ctx->ipa_options->auth_ctx->krb5_auth_ctx != NULL
-+          && ctx->ipa_id_ctx->ipa_options->auth_ctx->krb5_auth_ctx->opts != NULL
-+       ) {
-+        canonicalize = dp_opt_get_bool(
-+                    ctx->ipa_id_ctx->ipa_options->auth_ctx->krb5_auth_ctx->opts,
-+                    KRB5_CANONICALIZE);
-+    } else {
-+        DEBUG(SSSDBG_CONF_SETTINGS, "Auth provider data is not available, "
-+                                    "most probably because the auth provider "
-+                                    "is not 'ipa'. Kerberos configuration "
-+                                    "snippet to set the 'canonicalize' option "
-+                                    "will not be created.\n");
-+    }
-+
-     ret = sss_write_krb5_conf_snippet(
-                           dp_opt_get_string(ctx->ipa_id_ctx->ipa_options->basic,
-                                             IPA_KRB5_CONFD_PATH),
--                          dp_opt_get_bool(
--                    ctx->ipa_id_ctx->ipa_options->auth_ctx->krb5_auth_ctx->opts,
--                    KRB5_CANONICALIZE));
-+                          canonicalize);
-     if (ret != EOK) {
-         DEBUG(SSSDBG_MINOR_FAILURE, "sss_write_krb5_conf_snippet failed.\n");
-         /* Just continue */
--- 
-2.11.0
-
diff --git a/sssd/patches/0025-SECRETS-Fix-secrets-rule-in-the-allowed-sections.patch b/sssd/patches/0025-SECRETS-Fix-secrets-rule-in-the-allowed-sections.patch
deleted file mode 100644 (file)
index 27f461a..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-From c0a516f5d91290135c6b019a8a9d269edf8214cd Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Fabiano=20Fid=C3=AAncio?= <fidencio@redhat.com>
-Date: Mon, 17 Oct 2016 17:07:56 +0200
-Subject: [PATCH 25/39] SECRETS: Fix secrets rule in the allowed sections
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-We have been matching an invalid subsection of the secrets' section,
-like:
-[secrets/users/]
-
-Let's ensure that we only match the following cases:
-[secrets]
-[secrets/users/[0-9]+]
-
-Signed-off-by: Fabiano Fidêncio <fidencio@redhat.com>
-
-Reviewed-by: Lukáš Slebodník <lslebodn@redhat.com>
-(cherry picked from commit da8801c363716533f60bc78e10f3a2100cebc3a1)
-(cherry picked from commit 2535993d81c7d0dbbd6c6fab6f45b338845535cf)
----
- src/config/cfg_rules.ini | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/src/config/cfg_rules.ini b/src/config/cfg_rules.ini
-index ec716b558..24937c969 100644
---- a/src/config/cfg_rules.ini
-+++ b/src/config/cfg_rules.ini
-@@ -8,7 +8,7 @@ section = autofs
- section = ssh
- section = pac
- section = ifp
--section_re = ^secrets\(/users/\([0-9]\+\)\?\)\?$
-+section_re = ^secrets\(/users/[0-9]\+\)\?$
- section_re = ^domain/.*$
- [rule/allowed_sssd_options]
-@@ -213,7 +213,7 @@ option = user_attributes
- [rule/allowed_sec_options]
- validator = ini_allowed_options
--section_re = ^secrets\(/users/\([0-9]\+\)\?\)\?$
-+section_re = ^secrets\(/users/[0-9]\+\)\?$
- option = timeout
- option = debug
--- 
-2.11.0
-
diff --git a/sssd/patches/0026-SECRETS-Add-allowed_sec_users_options.patch b/sssd/patches/0026-SECRETS-Add-allowed_sec_users_options.patch
deleted file mode 100644 (file)
index 70c3e1e..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-From c16214f71f8ab2a5fc122966159ce056e0e9e897 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Fabiano=20Fid=C3=AAncio?= <fidencio@redhat.com>
-Date: Mon, 17 Oct 2016 18:58:50 +0200
-Subject: [PATCH 26/39] SECRETS: Add allowed_sec_users_options
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-There are options (the proxying related ones) that only apply to the
-secrets' subsections. In order to make config API able to catch those,
-let's create a new section called allowed_sec_users_options) and move
-there these proxying options.
-
-Signed-off-by: Fabiano Fidêncio <fidencio@redhat.com>
-
-Reviewed-by: Jakub Hrozek <jhrozek@redhat.com>
-(cherry picked from commit 682c9c3467055c2149af28826f7458b857b0f8c4)
-(cherry picked from commit 9d4cc96f2951412f647223dfe59060fa1e2b7b14)
----
- src/config/cfg_rules.ini | 15 ++++++++++-----
- 1 file changed, 10 insertions(+), 5 deletions(-)
-
-diff --git a/src/config/cfg_rules.ini b/src/config/cfg_rules.ini
-index 24937c969..882a185d8 100644
---- a/src/config/cfg_rules.ini
-+++ b/src/config/cfg_rules.ini
-@@ -8,7 +8,8 @@ section = autofs
- section = ssh
- section = pac
- section = ifp
--section_re = ^secrets\(/users/[0-9]\+\)\?$
-+section = secrets
-+section_re = ^secrets/users/[0-9]\+$
- section_re = ^domain/.*$
- [rule/allowed_sssd_options]
-@@ -211,9 +212,10 @@ option = description
- option = allowed_uids
- option = user_attributes
-+# Secrets service
- [rule/allowed_sec_options]
- validator = ini_allowed_options
--section_re = ^secrets\(/users/[0-9]\+\)\?$
-+section_re = ^secrets$
- option = timeout
- option = debug
-@@ -226,12 +228,15 @@ option = reconnection_retries
- option = fd_limit
- option = client_idle_timeout
- option = description
--
--# Secrets service
--option = provider
- option = containers_nest_level
- option = max_secrets
-+
-+[rule/allowed_sec_users_options]
-+validator = ini_allowed_options
-+section_re = ^secrets/users/[0-9]\+$
-+
- # Secrets service - proxy
-+option = provider
- option = proxy_url
- option = auth_type
- option = auth_header_name
--- 
-2.11.0
-
diff --git a/sssd/patches/0027-ipa-Nested-netgroups-do-not-work.patch b/sssd/patches/0027-ipa-Nested-netgroups-do-not-work.patch
deleted file mode 100644 (file)
index d6a2838..0000000
+++ /dev/null
@@ -1,62 +0,0 @@
-From 9ccd49a3bcabd8eb32a559af2cacf2b0fdcfad96 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Michal=20=C5=BDidek?= <mzidek@redhat.com>
-Date: Thu, 10 Nov 2016 15:04:57 +0100
-Subject: [PATCH 27/39] ipa: Nested netgroups do not work
-
-We lowercase the keys to the hash table used to store netgroups
-but do not lowercase it when reading the table. This results
-in nested netgroups not being found when they should and
-the processing fails.
-
-The lowercasing does not seem to be necessary anymore (not
-sure if it ever was) so we can skip it.
-
-Resolves:
-https://fedorahosted.org/sssd/ticket/3159
-
-Reviewed-by: Petr Cech <pcech@redhat.com>
-(cherry picked from commit ff565da1011aa4312847e28e7af66e57fccf8b90)
-(cherry picked from commit 7de33877c7e39f9a5cae6baf815dc18ae5a18597)
----
- src/providers/ipa/ipa_netgroups.c | 15 +++------------
- 1 file changed, 3 insertions(+), 12 deletions(-)
-
-diff --git a/src/providers/ipa/ipa_netgroups.c b/src/providers/ipa/ipa_netgroups.c
-index a19e5e03d..17b11af5d 100644
---- a/src/providers/ipa/ipa_netgroups.c
-+++ b/src/providers/ipa/ipa_netgroups.c
-@@ -563,7 +563,6 @@ static void ipa_netgr_members_process(struct tevent_req *subreq)
-     size_t count;
-     int ret, i;
-     const char *orig_dn;
--    char *orig_dn_lower;
-     hash_table_t *table;
-     hash_key_t key;
-     hash_value_t value;
-@@ -638,20 +637,12 @@ static void ipa_netgr_members_process(struct tevent_req *subreq)
-             goto fail;
-         }
--        orig_dn_lower = talloc_strdup(table, orig_dn);
--        if (orig_dn_lower == NULL) {
-+        key.str = talloc_strdup(table, orig_dn);
-+        if (key.str == NULL) {
-             ret = ENOMEM;
-             goto fail;
-         }
--        /* Transform the DN to lower case.
--         * this is important, as the member/memberof attributes
--         * have the value also in lower-case
--         */
--        key.str = orig_dn_lower;
--        while (*orig_dn_lower != '\0') {
--            *orig_dn_lower = tolower(*orig_dn_lower);
--            orig_dn_lower++;
--        }
-+
-         value.ptr = entities[i];
-         ret = hash_enter(table, &key, &value);
-         if (ret !=  HASH_SUCCESS) {
--- 
-2.11.0
-
diff --git a/sssd/patches/0028-Qualify-ghost-user-attribute-in-case-ldap_group_nest.patch b/sssd/patches/0028-Qualify-ghost-user-attribute-in-case-ldap_group_nest.patch
deleted file mode 100644 (file)
index ea1476b..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-From 712f064ed197063016fee16a3438fb22f08759bf Mon Sep 17 00:00:00 2001
-From: Jakub Hrozek <jhrozek@redhat.com>
-Date: Wed, 9 Nov 2016 11:59:10 +0100
-Subject: [PATCH 28/39] Qualify ghost user attribute in case
- ldap_group_nesting_level is set to 0
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-When the sssd is set to not resolve nested groups with RFC2307bis, then
-the LDAP provider takes a different path. We didn't qualify the ghost
-users in this case.
-
-Resolves:
-https://fedorahosted.org/sssd/ticket/3236
-
-Reviewed-by: Lukáš Slebodník <lslebodn@redhat.com>
-(cherry picked from commit 538a7f1dd8339b90e0cfc64e7919a34d1d5c10d3)
-(cherry picked from commit e0b544e6f664c2ce5ddd8df866d996607ce488cc)
----
- src/providers/ldap/sdap_async_groups.c | 15 +++++++++++----
- 1 file changed, 11 insertions(+), 4 deletions(-)
-
-diff --git a/src/providers/ldap/sdap_async_groups.c b/src/providers/ldap/sdap_async_groups.c
-index 08dfa01b1..81503798c 100644
---- a/src/providers/ldap/sdap_async_groups.c
-+++ b/src/providers/ldap/sdap_async_groups.c
-@@ -1668,7 +1668,7 @@ static void sdap_process_group_members(struct tevent_req *subreq)
-     struct sdap_process_group_state *state =
-                         tevent_req_data(req, struct sdap_process_group_state);
-     struct ldb_message_element *el;
--    uint8_t* name_string;
-+    char *name_string;
-     state->check_count--;
-     DEBUG(SSSDBG_TRACE_ALL, "Members remaining: %zu\n", state->check_count);
-@@ -1694,11 +1694,18 @@ static void sdap_process_group_members(struct tevent_req *subreq)
-         goto next;
-     }
--    name_string = el[0].values[0].data;
-+    name_string = sss_create_internal_fqname(state,
-+                                            (const char *) el[0].values[0].data,
-+                                            state->dom->name);
-+    if (name_string == NULL) {
-+        ret = ENOMEM;
-+        goto next;
-+    }
-+
-     state->ghost_dns->values[state->ghost_dns->num_values].data =
--            talloc_steal(state->ghost_dns->values, name_string);
-+            talloc_steal(state->ghost_dns->values, (uint8_t *) name_string);
-     state->ghost_dns->values[state->ghost_dns->num_values].length =
--            strlen((char *)name_string);
-+            strlen(name_string);
-     state->ghost_dns->num_values++;
- next:
--- 
-2.11.0
-
diff --git a/sssd/patches/0029-tests-Add-a-test-for-group-resolution-with-ldap_grou.patch b/sssd/patches/0029-tests-Add-a-test-for-group-resolution-with-ldap_grou.patch
deleted file mode 100644 (file)
index d9a763e..0000000
+++ /dev/null
@@ -1,56 +0,0 @@
-From a72d7cf57143ca56834c6bb33b289ba98ed02b91 Mon Sep 17 00:00:00 2001
-From: Jakub Hrozek <jhrozek@redhat.com>
-Date: Wed, 9 Nov 2016 11:59:34 +0100
-Subject: [PATCH 29/39] tests: Add a test for group resolution with
- ldap_group_nesting_level=0
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Reviewed-by: Lukáš Slebodník <lslebodn@redhat.com>
-(cherry picked from commit 65e791f844b4513ca2c3ee23f8cd2979566b3719)
-(cherry picked from commit a7be684411aff42e03e181dd81de921185e16c34)
----
- src/tests/intg/test_ldap.py | 29 +++++++++++++++++++++++++++++
- 1 file changed, 29 insertions(+)
-
-diff --git a/src/tests/intg/test_ldap.py b/src/tests/intg/test_ldap.py
-index 7f0b8ff18..bf25d9509 100644
---- a/src/tests/intg/test_ldap.py
-+++ b/src/tests/intg/test_ldap.py
-@@ -951,3 +951,32 @@ def test_remove_user_from_nested_group(ldap_conn,
-                              dict(mem=ent.contains_only("user2")))
-     ent.assert_group_by_name("group3",
-                              dict(mem=ent.contains_only()))
-+
-+
-+def zero_nesting_sssd_conf(ldap_conn, schema):
-+    """Format an SSSD configuration with group nesting disabled"""
-+    return \
-+        format_basic_conf(ldap_conn, schema) + \
-+        unindent("""
-+            [domain/LDAP]
-+            ldap_group_nesting_level                = 0
-+        """).format(INTERACTIVE_TIMEOUT)
-+
-+
-+@pytest.fixture
-+def rfc2307bis_no_nesting(request, ldap_conn):
-+    ent_list = ldap_ent.List(ldap_conn.ds_inst.base_dn)
-+    ent_list.add_user("user1", 1001, 2001)
-+    ent_list.add_group_bis("group1", 20001, member_uids=["user1"])
-+    create_ldap_fixture(request, ldap_conn, ent_list)
-+    create_conf_fixture(request,
-+                        zero_nesting_sssd_conf(
-+                            ldap_conn,
-+                            SCHEMA_RFC2307_BIS))
-+    create_sssd_fixture(request)
-+    return None
-+
-+
-+def test_zero_nesting_level(ldap_conn, rfc2307bis_no_nesting):
-+    ent.assert_group_by_name("group1",
-+                             dict(mem=ent.contains_only("user1")))
--- 
-2.11.0
-
diff --git a/sssd/patches/0030-BUILD-Fix-a-typo-in-inotify.m4.patch b/sssd/patches/0030-BUILD-Fix-a-typo-in-inotify.m4.patch
deleted file mode 100644 (file)
index b4a8f59..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-From bf0971190884b664ef38d8fc42199fca8e496e54 Mon Sep 17 00:00:00 2001
-From: Jakub Hrozek <jhrozek@redhat.com>
-Date: Fri, 18 Nov 2016 12:19:02 +0100
-Subject: [PATCH 30/39] BUILD: Fix a typo in inotify.m4
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-This typo prevented HAVE_INOTIFY from ever being set and as an effect,
-prevented /etc/resolv.conf inotify detection from working
-
-Reviewed-by: Lukáš Slebodník <lslebodn@redhat.com>
-Reviewed-by: Fabiano Fidêncio <fidencio@redhat.com>
-(cherry picked from commit 2927dc45b9bc810f4f55bce165bb96405129e693)
-(cherry picked from commit 495289cfa922b00278aa91d433489403e792304e)
----
- src/external/inotify.m4 | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/src/external/inotify.m4 b/src/external/inotify.m4
-index 9572f6d2f..25259a817 100644
---- a/src/external/inotify.m4
-+++ b/src/external/inotify.m4
-@@ -6,8 +6,8 @@ AC_DEFUN([AM_CHECK_INOTIFY],
-     AC_MSG_CHECKING([whether sys/inotify.h actually works])
-     AC_LINK_IFELSE(
-         [AC_LANG_SOURCE([
--#ifdef HAVE_SYS_INOTITY_H
--#include <sys/inotify.h>,
-+#ifdef HAVE_SYS_INOTIFY_H
-+#include <sys/inotify.h>
- #endif
- int main () {
-     return (-1 == inotify_init());
--- 
-2.11.0
-
diff --git a/sssd/patches/0031-SYSDB-Fixing-of-sudorule-without-a-sudoUser.patch b/sssd/patches/0031-SYSDB-Fixing-of-sudorule-without-a-sudoUser.patch
deleted file mode 100644 (file)
index 6e9cccd..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-From 74fb5008403cc7324138740b327bb282aeb19a08 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Petr=20=C4=8Cech?= <pcech@redhat.com>
-Date: Wed, 16 Nov 2016 10:09:18 +0100
-Subject: [PATCH 31/39] SYSDB: Fixing of sudorule without a sudoUser
-
-This patch solved a regression caused by the recent patches
-to lowercase sudoUser -- in case sudoUser is missing completely,
-we abort the processing of this rule and all others.
-
-With this patch, we return ERR_MALFORMED_ENTRY and gracefully
-skip the malformed rule instead.
-
-Resolves:
-https://fedorahosted.org/sssd/ticket/3241
-
-Reviewed-by: Jakub Hrozek <jhrozek@redhat.com>
-(cherry picked from commit 7e23edbaa7a6bbd0b461d5792535896b6a77928b)
-(cherry picked from commit 54f176066dafafdc12f6e0dd112ff6339308aa7c)
----
- src/db/sysdb_sudo.c | 5 +++++
- 1 file changed, 5 insertions(+)
-
-diff --git a/src/db/sysdb_sudo.c b/src/db/sysdb_sudo.c
-index 4bd93ffc6..f5160f190 100644
---- a/src/db/sysdb_sudo.c
-+++ b/src/db/sysdb_sudo.c
-@@ -874,6 +874,7 @@ static errno_t sysdb_sudo_add_lowered_users(struct sss_domain_info *domain,
-     if (ret != EOK) {
-         DEBUG(SSSDBG_OP_FAILURE, "Unable to get %s attribute [%d]: %s\n",
-               SYSDB_SUDO_CACHE_AT_USER, ret, strerror(ret));
-+        ret = ERR_MALFORMED_ENTRY;
-         goto done;
-     }
-@@ -977,6 +978,10 @@ sysdb_sudo_store(struct sss_domain_info *domain,
-             /* Multiple CNs are error on server side, we can just ignore this
-              * rule and save the others. Loud debug message is in logs. */
-             continue;
-+        } else if (ret == ERR_MALFORMED_ENTRY) {
-+            /* Attribute SYSDB_SUDO_CACHE_AT_USER is missing but we can
-+             * continue with next sudoRule. */
-+            continue;
-         } else if (ret != EOK) {
-             goto done;
-         }
--- 
-2.11.0
-
diff --git a/sssd/patches/0032-UTIL-Fix-implicit-declaration-of-function-htobe32.patch b/sssd/patches/0032-UTIL-Fix-implicit-declaration-of-function-htobe32.patch
deleted file mode 100644 (file)
index 94172b2..0000000
+++ /dev/null
@@ -1,58 +0,0 @@
-From 2d6fe5942218ee8f24eb6ccd8ffec5fab65c170b Mon Sep 17 00:00:00 2001
-From: Lukas Slebodnik <lukas.slebodnik@intrak.sk>
-Date: Fri, 18 Nov 2016 17:29:44 +0100
-Subject: [PATCH 32/39] UTIL: Fix implicit declaration of function 'htobe32'
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Include internal wrapper header file for endian related functions.
-The "util/sss_endian.h" include available header file on different
-platform or it provides compatible macros in the worst case.
-
-Breakage noticed when building SSSD on FreeBSD
-
-  CC       src/util/cert/nss/libsss_cert_la-cert.lo
-src/util/cert/nss/cert.c: In function 'cert_to_ssh_key':
-src/util/cert/nss/cert.c:358: error: implicit declaration of function 'htobe32'
-gmake[2]: *** [Makefile:12421: src/util/cert/nss/libsss_cert_la-cert.lo] Error 1
-gmake[2]: Leaving directory '/root/sssd_from_git'
-gmake[1]: *** [Makefile:20050: all-recursive] Error 1
-gmake[1]: Leaving directory '/root/sssd_from_git'
-gmake: *** [Makefile:7116: all] Error 2
-
-Reviewed-by: Fabiano Fidêncio <fidencio@redhat.com>
-(cherry picked from commit 58aa8d645fa95641431a2828e985f80c7fc36465)
-(cherry picked from commit a70351fddb9c26763b2bf658f56ff043a7b3db6f)
----
- src/util/cert/libcrypto/cert.c | 1 +
- src/util/cert/nss/cert.c       | 1 +
- 2 files changed, 2 insertions(+)
-
-diff --git a/src/util/cert/libcrypto/cert.c b/src/util/cert/libcrypto/cert.c
-index aba598d7c..c54db86bb 100644
---- a/src/util/cert/libcrypto/cert.c
-+++ b/src/util/cert/libcrypto/cert.c
-@@ -22,6 +22,7 @@
- #include <openssl/pem.h>
- #include "util/util.h"
-+#include "util/sss_endian.h"
- errno_t sss_cert_der_to_pem(TALLOC_CTX *mem_ctx, const uint8_t *der_blob,
-                             size_t der_size, char **pem, size_t *pem_size)
-diff --git a/src/util/cert/nss/cert.c b/src/util/cert/nss/cert.c
-index b5e0ff961..9d31cfe9b 100644
---- a/src/util/cert/nss/cert.c
-+++ b/src/util/cert/nss/cert.c
-@@ -31,6 +31,7 @@
- #include "util/crypto/sss_crypto.h"
- #include "util/crypto/nss/nss_util.h"
- #include "util/cert.h"
-+#include "util/sss_endian.h"
- #define NS_CERT_HEADER "-----BEGIN CERTIFICATE-----"
- #define NS_CERT_TRAILER "-----END CERTIFICATE-----"
--- 
-2.11.0
-
diff --git a/sssd/patches/0033-sssctl-Fix-missing-declaration.patch b/sssd/patches/0033-sssctl-Fix-missing-declaration.patch
deleted file mode 100644 (file)
index 5a0eacd..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-From 99b48ffa1a525c0736f67b89c81bfc867977a99c Mon Sep 17 00:00:00 2001
-From: Lukas Slebodnik <lukas.slebodnik@intrak.sk>
-Date: Fri, 18 Nov 2016 17:58:28 +0100
-Subject: [PATCH 33/39] sssctl: Fix missing declaration
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-The WEXITSTATUS is defined in stdlib.h on linux.
-There is a nice comment in stdlib.h:
-  /* Define the macros <sys/wait.h> also would define this way.  */
-
-It's better to not rely on this and use more platfom friendly
-way with including "sys/wait.h". For example the libc on FreeBSD
-does not provide WEXITSTATUS in stdlib.h.
-
-I found this macro mentioned only in the manual page for wait(2)
-and there is mentioned just the "sys/wait.h" and not "stdlib.h"
-
-src/tools/sssctl/sssctl.c: In function 'sssctl_run_command':
-src/tools/sssctl/sssctl.c:110: error: implicit declaration of function
-'WEXITSTATUS'
-gmake[2]: *** [Makefile:22383: src/tools/sssctl/sssctl-sssctl.o] Error 1
-
-Reviewed-by: Fabiano Fidêncio <fidencio@redhat.com>
-(cherry picked from commit 73c9330fa3de6912e45c1ab686d5290f143b8352)
-(cherry picked from commit 161ddc1f24082c735801775802a483e96909152c)
----
- src/tools/sssctl/sssctl.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/src/tools/sssctl/sssctl.c b/src/tools/sssctl/sssctl.c
-index ece1e6df1..e1cf46382 100644
---- a/src/tools/sssctl/sssctl.c
-+++ b/src/tools/sssctl/sssctl.c
-@@ -20,6 +20,7 @@
- #include <stdlib.h>
- #include <stdio.h>
-+#include <sys/wait.h>
- #include "util/util.h"
- #include "tools/sssctl/sssctl.h"
--- 
-2.11.0
-
diff --git a/sssd/patches/0034-UTIL-Fix-compilation-of-sss_utf8-with-libunistring.patch b/sssd/patches/0034-UTIL-Fix-compilation-of-sss_utf8-with-libunistring.patch
deleted file mode 100644 (file)
index d727c28..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-From 6a3c115022b54bce155c04a1c090561cf626006a Mon Sep 17 00:00:00 2001
-From: Lukas Slebodnik <lukas.slebodnik@intrak.sk>
-Date: Fri, 18 Nov 2016 17:49:35 +0100
-Subject: [PATCH 34/39] UTIL: Fix compilation of sss_utf8 with libunistring
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-The internal header file "util/util.h" was removed from sss_utf8.h
-as part of commit de5fa34860886ad68fba5e739987e16c342e8f14.
-It was neccessary to ensure libipa_hbac can be build with C90
-compatible compiler.
-
-This header file includes many system header file and after
-this change caused missing declaration of the function free()
-
-src/util/sss_utf8.c: In function â€˜sss_utf8_free’:
-src/util/sss_utf8.c:40:12: error: implicit declaration of function â€˜free’
-  [-Werror=implicit-function-declaration]
-     return free(ptr);
-            ^~~~
-src/util/sss_utf8.c:40:12: warning: incompatible implicit declaration
-                                    of built-in function â€˜free’
-src/util/sss_utf8.c:40:12: note: include â€˜<stdlib.h>’ or provide
-                                 a declaration of â€˜free’
-cc1: some warnings being treated as errors
-
-Reviewed-by: Fabiano Fidêncio <fidencio@redhat.com>
-(cherry picked from commit c101cb130df0705a9227dadce22554307eee54db)
-(cherry picked from commit 76e2df701559d8723ea632722c94c8dfb820fc93)
----
- src/util/sss_utf8.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/src/util/sss_utf8.c b/src/util/sss_utf8.c
-index 722f28d08..e62e9c6c9 100644
---- a/src/util/sss_utf8.c
-+++ b/src/util/sss_utf8.c
-@@ -26,6 +26,7 @@
- #include <errno.h>
- #ifdef HAVE_LIBUNISTRING
-+#include <stdlib.h>
- #include <unistr.h>
- #include <unicase.h>
- #elif defined(HAVE_GLIB2)
--- 
-2.11.0
-
diff --git a/sssd/patches/0035-SIFP-Fix-warning-format-security.patch b/sssd/patches/0035-SIFP-Fix-warning-format-security.patch
deleted file mode 100644 (file)
index 731de71..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-From 86fa0fa9543b4f21a152bcaedbcb3d5608567aa2 Mon Sep 17 00:00:00 2001
-From: Lukas Slebodnik <lslebodn@redhat.com>
-Date: Thu, 1 Dec 2016 13:13:21 +0100
-Subject: [PATCH 35/39] SIFP: Fix warning format-security
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-dbus-1.11.8 added attributes for format string check to
-few functions in public header files. And therefore there is a warning.
-
-src/lib/sifp/sss_sifp_utils.c: In function â€˜sss_sifp_set_io_error’:
-src/lib/sifp/sss_sifp_utils.c:44:5: error: format not a string literal
-and no format arguments [-Werror=format-security]
-     dbus_set_error(ctx->io_error, error->name, error->message);
-                                                ^~~~~~~~~~~~~~
-
-Reviewed-by: Pavel BÅ™ezina <pbrezina@redhat.com>
-(cherry picked from commit 8618716d6ed4eadca2743eb2dfbbb8d11c4fb22f)
-(cherry picked from commit 043862847cee673084a56f387d195deb82386de7)
----
- src/lib/sifp/sss_sifp_utils.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/lib/sifp/sss_sifp_utils.c b/src/lib/sifp/sss_sifp_utils.c
-index ccd051838..dcac71f50 100644
---- a/src/lib/sifp/sss_sifp_utils.c
-+++ b/src/lib/sifp/sss_sifp_utils.c
-@@ -41,7 +41,7 @@ void sss_sifp_set_io_error(sss_sifp_ctx *ctx, DBusError *error)
- {
-     dbus_error_free(ctx->io_error);
-     dbus_error_init(ctx->io_error);
--    dbus_set_error(ctx->io_error, error->name, error->message);
-+    dbus_set_error(ctx->io_error, error->name, "%s", error->message);
- }
- char * sss_sifp_strdup(sss_sifp_ctx *ctx, const char *str)
--- 
-2.11.0
-
diff --git a/sssd/patches/0036-SSH-Use-default_domain_suffix-for-users-authorized-k.patch b/sssd/patches/0036-SSH-Use-default_domain_suffix-for-users-authorized-k.patch
deleted file mode 100644 (file)
index 168fd3f..0000000
+++ /dev/null
@@ -1,80 +0,0 @@
-From e1a01adb021f7d2b3674c4d8151797e265608c20 Mon Sep 17 00:00:00 2001
-From: Jakub Hrozek <jhrozek@redhat.com>
-Date: Thu, 24 Nov 2016 18:07:56 +0100
-Subject: [PATCH 36/39] SSH: Use default_domain_suffix for users' authorized
- keys
-
-In commit eeecc48d22a28bb69da56f6ffd8824163fc9bf00 we disabled
-default_domain_suffix for the SSH responder, but in a wrong way -- we
-disabled the functionality completely, also for users, not only for
-computers. This might have been correct at the time, since SSH keys in ID
-overrides are a relatively new feature, but it's definitely not correct
-in general.
-
-Instead, this patch restores the use of default_domain_suffix, but only
-for looking up public keys of users, not of computers.
-
-Resolves:
-https://fedorahosted.org/sssd/ticket/3259
-
-Reviewed-by: Petr Cech <pcech@redhat.com>
-(cherry picked from commit ed71fba97dfcf5b3f0f1834c06660c481b9ab3ce)
-(cherry picked from commit 2949fe58ac344c44d756ca309d4b2b7f3590cee3)
----
- src/responder/ssh/sshsrv_cmd.c | 12 ++++++++----
- 1 file changed, 8 insertions(+), 4 deletions(-)
-
-diff --git a/src/responder/ssh/sshsrv_cmd.c b/src/responder/ssh/sshsrv_cmd.c
-index ab721d66e..2e64893df 100644
---- a/src/responder/ssh/sshsrv_cmd.c
-+++ b/src/responder/ssh/sshsrv_cmd.c
-@@ -36,7 +36,8 @@
- #include "responder/ssh/sshsrv_private.h"
- static errno_t
--ssh_cmd_parse_request(struct ssh_cmd_ctx *cmd_ctx);
-+ssh_cmd_parse_request(struct ssh_cmd_ctx *cmd_ctx,
-+                      char *default_domain);
- static errno_t
- ssh_user_pubkeys_search(struct ssh_cmd_ctx *cmd_ctx);
-@@ -57,7 +58,7 @@ sss_ssh_cmd_get_user_pubkeys(struct cli_ctx *cctx)
-     cmd_ctx->cctx = cctx;
-     cmd_ctx->is_user = true;
--    ret = ssh_cmd_parse_request(cmd_ctx);
-+    ret = ssh_cmd_parse_request(cmd_ctx, cctx->rctx->default_domain);
-     if (ret != EOK) {
-         goto done;
-     }
-@@ -107,7 +108,7 @@ sss_ssh_cmd_get_host_pubkeys(struct cli_ctx *cctx)
-     cmd_ctx->cctx = cctx;
-     cmd_ctx->is_user = false;
--    ret = ssh_cmd_parse_request(cmd_ctx);
-+    ret = ssh_cmd_parse_request(cmd_ctx, NULL);
-     if (ret != EOK) {
-         goto done;
-     }
-@@ -681,7 +682,8 @@ done:
- }
- static errno_t
--ssh_cmd_parse_request(struct ssh_cmd_ctx *cmd_ctx)
-+ssh_cmd_parse_request(struct ssh_cmd_ctx *cmd_ctx,
-+                      char *default_domain)
- {
-     struct cli_protocol *pctx;
-     struct ssh_ctx *ssh_ctx;
-@@ -754,6 +756,8 @@ ssh_cmd_parse_request(struct ssh_cmd_ctx *cmd_ctx)
-                 return EINVAL;
-             }
-             c += domain_len;
-+        } else {
-+            domain = default_domain;
-         }
-         DEBUG(SSSDBG_TRACE_FUNC,
--- 
-2.11.0
-
diff --git a/sssd/patches/0037-Prevent-use-after-free-in-fd_input_available.patch b/sssd/patches/0037-Prevent-use-after-free-in-fd_input_available.patch
deleted file mode 100644 (file)
index 5d821e5..0000000
+++ /dev/null
@@ -1,72 +0,0 @@
-From d2f8e3876810cf99228827432ea4f4a59877448d Mon Sep 17 00:00:00 2001
-From: Carl Henrik Lunde <chlunde@ifi.uio.no>
-Date: Thu, 1 Dec 2016 00:09:00 +0100
-Subject: [PATCH 37/39] Prevent use after free in fd_input_available
-
-When both TEVENT_FD_WRITE and TEVENT_FD_READ are set, and an error/EOF
-occurs when reading from the socket, we will get a use after free
-in the second call ares_process_fd.  The first call will free the watch
-structure via a callback.
-
-Prevent this by calling ares_process_fd only once.
-
-Invalid read of size 4
-   at fd_input_available (async_resolv.c:147)
-   by epoll_event_loop (tevent_epoll.c:728)
-   by epoll_event_loop_once (tevent_epoll.c:926)
-   by std_event_loop_once (tevent_standard.c:114)
-   by _tevent_loop_once (tevent.c:533)
-   by tevent_common_loop_wait (tevent.c:637)
-   by std_event_loop_wait (tevent_standard.c:140)
-   by server_loop (server.c:702)
-   by main (data_provider_be.c:587)
- Address ... is 112 bytes inside a block of size 136 free'd
-   at free (vg_replace_malloc.c:530)
-   by _talloc_free_internal (talloc.c:1116)
-   by _talloc_free (talloc.c:1647)
-   by ares__close_sockets (ares__close_sockets.c:50)
-   by handle_error (ares_process.c:679)
-   by read_tcp_data (ares_process.c:391)
-   by processfds (ares_process.c:138)
-   by fd_input_available (async_resolv.c:144)
-   by epoll_event_loop (tevent_epoll.c:728)
-   by epoll_event_loop_once (tevent_epoll.c:926)
-   by std_event_loop_once (tevent_standard.c:114)
-   by _tevent_loop_once (tevent.c:533)
-   by tevent_common_loop_wait (tevent.c:637)
-   by std_event_loop_wait (tevent_standard.c:140)
-   by server_loop (server.c:702)
-
-Resolves:
-https://fedorahosted.org/sssd/ticket/3250
-
-Reviewed-by: Jakub Hrozek <jhrozek@redhat.com>
-(cherry picked from commit 9676b464dd428557ff5a648e1351a3972440396f)
-(cherry picked from commit fefdd70237cbe82af7d8845131e45401e73b3b07)
----
- src/resolv/async_resolv.c | 9 +++------
- 1 file changed, 3 insertions(+), 6 deletions(-)
-
-diff --git a/src/resolv/async_resolv.c b/src/resolv/async_resolv.c
-index e85955677..47b4db7ec 100644
---- a/src/resolv/async_resolv.c
-+++ b/src/resolv/async_resolv.c
-@@ -140,12 +140,9 @@ fd_input_available(struct tevent_context *ev, struct tevent_fd *fde,
-         return;
-     }
--    if (flags & TEVENT_FD_READ) {
--        ares_process_fd(watch->ctx->channel, watch->fd, ARES_SOCKET_BAD);
--    }
--    if (flags & TEVENT_FD_WRITE) {
--        ares_process_fd(watch->ctx->channel, ARES_SOCKET_BAD, watch->fd);
--    }
-+    ares_process_fd(watch->ctx->channel,
-+                    flags & TEVENT_FD_READ ? watch->fd : ARES_SOCKET_BAD,
-+                    flags & TEVENT_FD_WRITE ? watch->fd : ARES_SOCKET_BAD);
- }
- static void
--- 
-2.11.0
-
diff --git a/sssd/patches/0038-STAP-Only-print-transaction-statistics-if-the-script.patch b/sssd/patches/0038-STAP-Only-print-transaction-statistics-if-the-script.patch
deleted file mode 100644 (file)
index 9de9705..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-From 39fe2093254db5d4cd223e7d9c228689ba6382ca Mon Sep 17 00:00:00 2001
-From: Jakub Hrozek <jhrozek@redhat.com>
-Date: Mon, 28 Nov 2016 08:44:04 +0100
-Subject: [PATCH 38/39] STAP: Only print transaction statistics if the script
- caught some transactions
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-If the script measured an 'id' run from the cache, there would be no
-transactions and dereferencing the aggrefate would throw an error.
-
-Reviewed-by: Fabiano Fidêncio <fidencio@redhat.com>
-(cherry picked from commit 150a0cc8fe1936002af136e5552ef6cdd210956f)
-(cherry picked from commit e6c74de2cbc9b0b713ed6dadbfef80c7c1b5cd51)
----
- contrib/systemtap/id_perf.stp | 6 ++++--
- 1 file changed, 4 insertions(+), 2 deletions(-)
-
-diff --git a/contrib/systemtap/id_perf.stp b/contrib/systemtap/id_perf.stp
-index 0ad619506..a7789750f 100644
---- a/contrib/systemtap/id_perf.stp
-+++ b/contrib/systemtap/id_perf.stp
-@@ -64,8 +64,10 @@ function print_report()
-         }
-     }
--    printf("The most expensive transaction breakdown, per transaction:\n")
--    print(@hist_linear(bts[max_trans_time_bt], 0, 500, 50))
-+    if (max_trans_time > 0) {
-+            printf("The most expensive transaction breakdown, per transaction:\n")
-+            print(@hist_linear(bts[max_trans_time_bt], 0, 500, 50))
-+    }
- }
- probe process("/usr/bin/id").begin
--- 
-2.11.0
-
diff --git a/sssd/patches/0039-sudo-do-not-store-usn-if-no-rules-are-found.patch b/sssd/patches/0039-sudo-do-not-store-usn-if-no-rules-are-found.patch
deleted file mode 100644 (file)
index 9598b1d..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-From f2fe644510afd2d3bc989a4fea2ce2b2a1a69e9c Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Pavel=20B=C5=99ezina?= <pbrezina@redhat.com>
-Date: Mon, 5 Dec 2016 14:37:41 +0100
-Subject: [PATCH 39/39] sudo: do not store usn if no rules are found
-
-When ldap doesn't contain any sudorule during the initial full refresh,
-usn is set to 1 instead of remaining unset and we are trying to
-search modifyTimestamp>=1 during smart refresh which doesn't return any result
-on openldap servers.
-
-Resolves:
-https://fedorahosted.org/sssd/ticket/3257
-
-Reviewed-by: Jakub Hrozek <jhrozek@redhat.com>
-(cherry picked from commit 46703740e83a66909974a5ee8d47df6a6e5076e7)
-(cherry picked from commit 76e97affaa05ce45709efd59d120595c5992aa21)
----
- src/providers/ldap/sdap_sudo_shared.c | 9 ++++++++-
- 1 file changed, 8 insertions(+), 1 deletion(-)
-
-diff --git a/src/providers/ldap/sdap_sudo_shared.c b/src/providers/ldap/sdap_sudo_shared.c
-index 807226020..66b788702 100644
---- a/src/providers/ldap/sdap_sudo_shared.c
-+++ b/src/providers/ldap/sdap_sudo_shared.c
-@@ -129,7 +129,7 @@ sdap_sudo_new_usn(TALLOC_CTX *mem_ctx,
-     char *newusn;
-     /* We increment USN number so that we can later use simplify filter
--     * (just usn >= last+1 instaed of usn >= last && usn != last).
-+     * (just usn >= last+1 instead of usn >= last && usn != last).
-      */
-     usn++;
-@@ -174,6 +174,13 @@ sdap_sudo_set_usn(struct sdap_server_opts *srv_opts,
-         return;
-     }
-+    if (usn_number == 0) {
-+        /* Zero means that there were no rules on the server, so we have
-+         * nothing to store. */
-+        DEBUG(SSSDBG_TRACE_FUNC, "SUDO USN value is empty.\n");
-+        return;
-+    }
-+
-     newusn = sdap_sudo_new_usn(srv_opts, usn_number, endptr);
-     if (newusn == NULL) {
-         return;
--- 
-2.11.0
-
diff --git a/sssd/patches/0501-Partially-revert-CONFIG-Use-default-config-when-none.patch b/sssd/patches/0501-Partially-revert-CONFIG-Use-default-config-when-none.patch
deleted file mode 100644 (file)
index 40f0f43..0000000
+++ /dev/null
@@ -1,117 +0,0 @@
-From 829aa39dffbe35f58b34159b962a2dd8de85fd30 Mon Sep 17 00:00:00 2001
-From: Lukas Slebodnik <lslebodn@redhat.com>
-Date: Mon, 12 Dec 2016 18:33:48 +0100
-Subject: [PATCH] Partially revert "CONFIG: Use default config when none
- provided"
-
-This reverts part of commit 59744cff6edb106ae799b2321cb8731edadf409a.
-
-Removed is copying of default configuration into /etc/sssd/sssd.conf
-Sample configurations is still part of installation.
----
- Makefile.am               |  3 ---
- src/confdb/confdb.h       |  1 -
- src/confdb/confdb_setup.c | 40 ++++------------------------------------
- 3 files changed, 4 insertions(+), 40 deletions(-)
-
-diff --git a/Makefile.am b/Makefile.am
-index a15e68f682f6d8af301e11df8dcaef6d7f27e8c0..45d44146e737fc8460a2ed9ffc0171a6bb494b2b 100644
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -462,7 +462,6 @@ AM_CPPFLAGS = \
-     -DSSSDDATADIR=\"$(sssddatadir)\" \
-     -DSSSD_LIBEXEC_PATH=\"$(sssdlibexecdir)\" \
-     -DSSSD_CONF_DIR=\"$(sssdconfdir)\" \
--    -DSSSD_DEFAULT_CONF_DIR=\"$(sssddefaultconfdir)\" \
-     -DSSS_NSS_MCACHE_DIR=\"$(mcpath)\" \
-     -DSSS_NSS_SOCKET_NAME=\"$(pipepath)/nss\" \
-     -DSSS_PAM_SOCKET_NAME=\"$(pipepath)/pam\" \
-@@ -1232,8 +1231,6 @@ sssd_SOURCES = \
-     src/confdb/confdb_setup.c \
-     src/monitor/monitor_iface_generated.c \
-     src/util/nscd.c \
--    src/tools/files.c \
--    src/tools/selinux.c \
-     $(NULL)
- sssd_LDADD = \
-     $(SSSD_LIBS) \
-diff --git a/src/confdb/confdb.h b/src/confdb/confdb.h
-index 12beaabf8c949bd111abbe16cb98a205490fb08f..4813072bdafb5d6c9ec56a9ccaa5db6a1120112d 100644
---- a/src/confdb/confdb.h
-+++ b/src/confdb/confdb.h
-@@ -40,7 +40,6 @@
- #define CONFDB_DEFAULT_CFG_FILE_VER 2
- #define CONFDB_FILE "config.ldb"
--#define SSSD_DEFAULT_CONFIG_FILE SSSD_DEFAULT_CONF_DIR"/sssd.conf"
- #define SSSD_CONFIG_FILE SSSD_CONF_DIR"/sssd.conf"
- #define CONFDB_DEFAULT_CONFIG_DIR SSSD_CONF_DIR"/conf.d"
- #define SSSD_MIN_ID 1
-diff --git a/src/confdb/confdb_setup.c b/src/confdb/confdb_setup.c
-index d6feab9000d54d2c3761de6d8e990053ade7e85f..a71d9dd1202824b3c9a7e69f1d8fa905ac1b8c02 100644
---- a/src/confdb/confdb_setup.c
-+++ b/src/confdb/confdb_setup.c
-@@ -21,14 +21,12 @@
- #include "config.h"
- #include <sys/stat.h>
--#include <unistd.h>
- #include "util/util.h"
- #include "db/sysdb.h"
- #include "confdb.h"
- #include "confdb_private.h"
- #include "confdb_setup.h"
- #include "util/sss_ini.h"
--#include "tools/tools_util.h"
- static int confdb_test(struct confdb_ctx *cdb)
-@@ -161,41 +159,11 @@ static int confdb_init_db(const char *config_file, const char *config_dir,
-         DEBUG(SSSDBG_TRACE_FUNC,
-               "sss_ini_config_file_open failed: %s [%d]\n", strerror(ret),
-                ret);
--        if (ret != ENOENT) {
--            /* Anything other than ENOENT is unrecoverable */
--            goto done;
--        } else {
--            /* Copy the default configuration file to the standard location
--             * and then retry
--             */
--             ret = copy_file_secure(SSSD_DEFAULT_CONFIG_FILE,
--                                    SSSD_CONFIG_FILE,
--                                    0600,
--                                    getuid(),
--                                    getgid(),
--                                    false);
--             if (ret != EOK) {
--                 DEBUG(SSSDBG_FATAL_FAILURE,
--                       "Could not copy default configuration: %s",
--                       sss_strerror(ret));
--                 /* sss specific error denoting missing configuration file */
--                 ret = ERR_MISSING_CONF;
--                 goto done;
--             }
--
--             /* Try again */
--             ret = sss_ini_config_file_open(init_data, config_file);
--            if (ret != EOK) {
--                DEBUG(SSSDBG_TRACE_FUNC,
--                      "sss_ini_config_file_open(default) failed: %s [%d]\n",
--                      strerror(ret), ret);
--                if (ret == ENOENT) {
--                    /* sss specific error denoting missing configuration file */
--                    ret = ERR_MISSING_CONF;
--                }
--                goto done;
--            }
-+        if (ret == ENOENT) {
-+            /* sss specific error denoting missing configuration file */
-+            ret = ERR_MISSING_CONF;
-         }
-+        goto done;
-     }
-     ret = sss_ini_config_access_check(init_data);
--- 
-2.11.0
-
diff --git a/sssd/patches/0502-SYSTEMD-Use-capabilities.patch b/sssd/patches/0502-SYSTEMD-Use-capabilities.patch
deleted file mode 100644 (file)
index ef612ac..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-From cf3b1babdbd2221b46816d4c6d5cd90d9de069ec Mon Sep 17 00:00:00 2001
-From: Lukas Slebodnik <lslebodn@redhat.com>
-Date: Mon, 12 Dec 2016 21:56:16 +0100
-Subject: [PATCH] SYSTEMD: Use capabilities
-
-copied from selinux policy
----
- src/sysv/systemd/sssd.service.in | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/src/sysv/systemd/sssd.service.in b/src/sysv/systemd/sssd.service.in
-index a4f9125b58e72429cc3ac1e679271367ada27f3c..8c49c0415597b21ddcd85e0675580edc4d171a5f 100644
---- a/src/sysv/systemd/sssd.service.in
-+++ b/src/sysv/systemd/sssd.service.in
-@@ -11,6 +11,7 @@ ExecStart=@sbindir@/sssd -D -f
- # consult systemd.service(5) for more details
- Type=forking
- PIDFile=@localstatedir@/run/sssd.pid
-+CapabilityBoundingSet=CAP_IPC_LOCK CAP_CHOWN CAP_DAC_READ_SEARCH CAP_DAC_OVERRIDE CAP_KILL CAP_NET_ADMIN CAP_SYS_NICE CAP_FOWNER CAP_SETGID CAP_SETUID CAP_SYS_ADMIN CAP_SYS_RESOURCE CAP_BLOCK_SUSPEND
- [Install]
- WantedBy=multi-user.target
--- 
-2.11.0
-
diff --git a/sssd/patches/0503-sss_client-Defer-thread-cancellation-until-completio.patch b/sssd/patches/0503-sss_client-Defer-thread-cancellation-until-completio.patch
deleted file mode 100644 (file)
index 396ebbe..0000000
+++ /dev/null
@@ -1,179 +0,0 @@
-From d2f93542650c2f9613043acfa8e2f368972a70cd Mon Sep 17 00:00:00 2001
-From: Howard Guo <hguo@suse.com>
-Date: Tue, 11 Oct 2016 10:35:13 +0200
-Subject: [PATCH] sss_client: Defer thread cancellation until completion of
- nss/pam operations
-
-The client code is not cancellation-safe, an application which
-has cancelled an NSS operation will experience subtle bugs,
-hence thread cancellation is deferred until completion of client
-operations.
-
-Resolves:
-https://fedorahosted.org/sssd/ticket/3156
-
-Reviewed-by: Sumit Bose <sbose@redhat.com>
-Reviewed-by: Florian Weimer <fweimer@redhat.com>
----
- Makefile.am             |  4 ---
- configure.ac            |  8 -----
- src/sss_client/common.c | 80 +++++--------------------------------------------
- 3 files changed, 7 insertions(+), 85 deletions(-)
-
-diff --git a/Makefile.am b/Makefile.am
-index e037930ff..9f1da4d1e 100644
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -792,10 +792,6 @@ endif
- CLIENT_LIBS = $(LTLIBINTL)
--if HAVE_PTHREAD
--CLIENT_LIBS += -lpthread
--endif
--
- if WITH_JOURNALD
- SYSLOG_LIBS = $(JOURNALD_LIBS)
- endif
-diff --git a/configure.ac b/configure.ac
-index d3ef1e162..230524bf3 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -62,14 +62,6 @@ AC_COMPILE_IFELSE(
- AM_CONDITIONAL([HAVE_PTHREAD], [test x"$HAVE_PTHREAD" != "x"])
--SAVE_LIBS=$LIBS
--LIBS="$LIBS -lpthread"
--AC_CHECK_FUNCS([ pthread_mutexattr_setrobust \
--                 pthread_mutex_consistent \
--                 pthread_mutexattr_setrobust_np \
--                 pthread_mutex_consistent_np ])
--LIBS=$SAVE_LIBS
--
- # Check library for the timer_create function
- SAVE_LIBS=$LIBS
- LIBS=
-diff --git a/src/sss_client/common.c b/src/sss_client/common.c
-index 20106b1b6..b7a5ed760 100644
---- a/src/sss_client/common.c
-+++ b/src/sss_client/common.c
-@@ -1070,86 +1070,28 @@ typedef void (*sss_mutex_init)(void);
- struct sss_mutex {
-     pthread_mutex_t mtx;
--    pthread_once_t once;
--    sss_mutex_init init;
-+    int old_cancel_state;
- };
--static void sss_nss_mt_init(void);
--static void sss_pam_mt_init(void);
--static void sss_nss_mc_mt_init(void);
-+static struct sss_mutex sss_nss_mtx = { .mtx  = PTHREAD_MUTEX_INITIALIZER };
--static struct sss_mutex sss_nss_mtx = { .mtx  = PTHREAD_MUTEX_INITIALIZER,
--                                        .once = PTHREAD_ONCE_INIT,
--                                        .init = sss_nss_mt_init };
-+static struct sss_mutex sss_pam_mtx = { .mtx  = PTHREAD_MUTEX_INITIALIZER };
--static struct sss_mutex sss_pam_mtx = { .mtx  = PTHREAD_MUTEX_INITIALIZER,
--                                        .once = PTHREAD_ONCE_INIT,
--                                        .init = sss_pam_mt_init };
--
--static struct sss_mutex sss_nss_mc_mtx = { .mtx  = PTHREAD_MUTEX_INITIALIZER,
--                                           .once = PTHREAD_ONCE_INIT,
--                                           .init = sss_nss_mc_mt_init };
--
--/* Wrappers for robust mutex support */
--static int sss_mutexattr_setrobust (pthread_mutexattr_t *attr)
--{
--#ifdef HAVE_PTHREAD_MUTEXATTR_SETROBUST
--    return pthread_mutexattr_setrobust(attr, PTHREAD_MUTEX_ROBUST);
--#elif defined(HAVE_PTHREAD_MUTEXATTR_SETROBUST_NP)
--    return pthread_mutexattr_setrobust_np(attr, PTHREAD_MUTEX_ROBUST_NP);
--#else
--#warning Robust mutexes are not supported on this platform.
--    return 0;
--#endif
--}
--
--static int sss_mutex_consistent(pthread_mutex_t *mtx)
--{
--#ifdef HAVE_PTHREAD_MUTEX_CONSISTENT
--    return pthread_mutex_consistent(mtx);
--#elif defined(HAVE_PTHREAD_MUTEX_CONSISTENT_NP)
--    return pthread_mutex_consistent_np(mtx);
--#else
--#warning Robust mutexes are not supported on this platform.
--    return 0;
--#endif
--}
--
--/* Generic mutex init, lock, unlock functions */
--static void sss_mt_init(struct sss_mutex *m)
--{
--    pthread_mutexattr_t attr;
--
--    if (pthread_mutexattr_init(&attr) != 0) {
--        return;
--    }
--    if (sss_mutexattr_setrobust(&attr) != 0) {
--        return;
--    }
--
--    pthread_mutex_init(&m->mtx, &attr);
--    pthread_mutexattr_destroy(&attr);
--}
-+static struct sss_mutex sss_nss_mc_mtx = { .mtx  = PTHREAD_MUTEX_INITIALIZER };
- static void sss_mt_lock(struct sss_mutex *m)
- {
--    pthread_once(&m->once, m->init);
--    if (pthread_mutex_lock(&m->mtx) == EOWNERDEAD) {
--        sss_cli_close_socket();
--        sss_mutex_consistent(&m->mtx);
--    }
-+    pthread_mutex_lock(&m->mtx);
-+    pthread_setcancelstate(PTHREAD_CANCEL_DISABLE, &m->old_cancel_state);
- }
- static void sss_mt_unlock(struct sss_mutex *m)
- {
-+    pthread_setcancelstate(m->old_cancel_state, NULL);
-     pthread_mutex_unlock(&m->mtx);
- }
- /* NSS mutex wrappers */
--static void sss_nss_mt_init(void)
--{
--    sss_mt_init(&sss_nss_mtx);
--}
- void sss_nss_lock(void)
- {
-     sss_mt_lock(&sss_nss_mtx);
-@@ -1160,10 +1102,6 @@ void sss_nss_unlock(void)
- }
- /* NSS mutex wrappers */
--static void sss_pam_mt_init(void)
--{
--    sss_mt_init(&sss_pam_mtx);
--}
- void sss_pam_lock(void)
- {
-     sss_mt_lock(&sss_pam_mtx);
-@@ -1174,10 +1112,6 @@ void sss_pam_unlock(void)
- }
- /* NSS mutex wrappers */
--static void sss_nss_mc_mt_init(void)
--{
--    sss_mt_init(&sss_nss_mc_mtx);
--}
- void sss_nss_mc_lock(void)
- {
-     sss_mt_lock(&sss_nss_mc_mtx);
--- 
-2.11.0
-
index 01aa8e9828b14d7acf1c6b7463bfde1e0a57a426..5f3a4ecd4fafdd402ade1069d99929f976d907d0 100644 (file)
@@ -4,7 +4,7 @@
 ###############################################################################
 
 name       = sssd
-version    = 1.14.2
+version    = 2.9.2
 release    = 1
 
 groups     = System/Tools
@@ -19,7 +19,7 @@ description
        account sources.
 end
 
-source_dl  = https://releases.pagure.org/SSSD/sssd/
+source_dl  = https://github.com/SSSD/sssd/releases/download/%{version}/
 
 build
        # The system security services daemon and many tools requires
@@ -28,47 +28,45 @@ build
 
        requires
                /usr/bin/nsupdate
-               autoconf
-               automake
                c-ares-devel
-               cifs-utils-devel >= 6.6
+               curl-devel
                cyrus-sasl-devel
                dbus-devel
                ding-libs-devel >= 0.6.1
                docbook-xsl
                gettext-devel
                glib2-devel
+               jansson-devel
+               jose-devel
                krb5-devel >= 1.10.3
                libcollection-devel
                libdhash-devel >= 0.6.1
                libini_config-devel >= 0.6.1
-               libldb-devel >= 1.1.20
-               libnl3-devel
+               libldb-devel >= 1.6.1
                libnfsidmap-devel
+               libnl3-devel
                libtalloc-devel
                libtdb-devel
                libtevent-devel
                libtool
+               libunistring-devel
                openldap-devel
                openssl-devel
+               p11-kit-devel >= 0.23.3
                pam-devel >= 1.1.6
                pcre-devel
                popt-devel
                python3-devel
-               samba-devel >= 4.0.5
+               samba-devel >= 4.17.5
                systemd-devel
        end
 
-       prepare_cmds
-               autoreconf -vfi
-       end
-
        configure_options += \
                --with-crypto=libcrypto \
-               --with-db-path=%{localstatedir}/sss/db \
-               --with-pipe-path=%{localstatedir}/sss/pipe \
-               --with-pubconf-path=%{localstatedir}/sss/pubconf \
-               --with-mcache-path=%{localstatedir}/sss/mc \
+               --with-db-path=%{sharedstatedir}/sss/db \
+               --with-pipe-path=%{sharedstatedir}/sss/pipe \
+               --with-pubconf-path=%{sharedstatedir}/sss/pubconf \
+               --with-mcache-path=%{sharedstatedir}/sss/mc \
                --with-krb5-rcache-dir=%{localstatedir}/cache/krb5rcache \
                --with-default-ccache-dir=/run/user/%U \
                --with-default-ccname-template=DIR:%d/krb5cc \
@@ -80,7 +78,8 @@ build
                --disable-config-lib \
                --without-secrets \
                --without-semanage \
-               --without-selinux
+               --without-selinux \
+               --disable-cifs-idmap-plugin
 
        test
                make check
@@ -93,14 +92,12 @@ build
 
                # Remove old sysVinit stuff.
                rm -rvf %{BUILDROOT}%{sysconfdir}/rc.d
-       end
-end
 
-quality-agent
-       whitelist_rpath
-               %{libdir}/sssd
-               %{libdir}:%{libdir}/sssd
-               %{libdir}/sssd:%{libdir}
+               # Drop /var/run
+               rm -rvf %{BUILDROOT}%{localstatedir}/run
+               
+               # Change python to python3 in sss_analyze file
+               sed -i 's|#!/usr/bin/env python|#!/usr/bin/env python3|g' %{BUILDROOT}/usr/lib/sssd/sss_analyze
        end
 end
 
@@ -112,8 +109,6 @@ packages
                        %{sysconfdir}/sssd/sssd.conf
                end
 
-               prerequires += systemd-units
-
                script postin
                        systemctl daemon-reload >/dev/null 2>&1 || :
                end
@@ -154,17 +149,6 @@ packages
                        %{mandir}/man8/pam_sss.8*
                        %{mandir}/man8/sssd_krb5*.8*
                end
-
-               prerequires += \
-                       authconfig >= 6.2.5
-
-               script postin
-                       authconfig --update --enableldap --enablesssd --enablesssdauth
-               end
-
-               script postun
-                       authconfig --update --disableldap --disablesssd --disablesssdauth
-               end
        end
 
        package %{name}-tools
index 19758a93cdb43f5f8d99d100a4e8b542cf526e95..bec6c24c16c64dcf162f92f887c6e3996dc1c449 100644 (file)
@@ -4,11 +4,11 @@
 ###############################################################################
 
 name       = strace
-version    = 4.13
+version    = 6.6
 release    = 1
 
 groups     = Development/Debuggers
-url        = http://sourceforge.net/projects/strace/
+url        = https://strace.io/
 license    = BSD
 summary    = Tracks and displays system calls associated with a running process.
 
@@ -20,9 +20,14 @@ description
        purposes.
 end
 
-source_dl  = http://downloads.sourceforge.net/project/%{name}/%{name}/%{version}/
+source_dl  = https://strace.io/files/%{version}/
 sources    = %{thisapp}.tar.xz
 
+build
+       configure_options += \
+               --enable-mpers=check
+end
+
 packages
        package %{name}
 
index dfd1335a7280c4ef7c13c82942906d04956195cb..de74c5293abf353e5736a0bda13c3dd84f7dbee0 100644 (file)
@@ -4,13 +4,13 @@
 ###############################################################################
 
 name       = strongswan
-version    = 5.8.0
+version    = 5.9.11
 release    = 1
 
 groups     = Networking/VPN
-url        = http://www.strongswan.org/
+url        = https://www.strongswan.org/
 license    = GPL
-summary    = IPsec (IKEv1 + IKEv2) implementation for Linux.
+summary    = IPsec (IKEv1 + IKEv2) implementation for Linux
 
 description
        StrongSwan is a complete IPsec and IKEv1 implementation for
@@ -19,8 +19,7 @@ description
        and IKEv2 mode with most other IPsec-based VPN products.
 end
 
-source_dl  = http://download.strongswan.org/
-sources    = %{thisapp}.tar.bz2
+source_dl  = https://download.strongswan.org/
 
 build
        requires
@@ -43,6 +42,10 @@ build
                unbound-devel >= 1.7
        end
 
+       # strongswan cannot be compiled with -Wformat-security
+       # because of some custom printf stuff
+       CFLAGS += -Wno-format-security -Wno-error=format-security
+
        configure_options += \
                --disable-static \
                --with-ipseclibdir=%{libdir}/ipsec \
@@ -71,18 +74,12 @@ build
                --enable-systemd \
                --disable-charon \
                --disable-stroke \
-               --disable-scepclient
+               --disable-warnings
 
-       if "%{DISTRO_ARCH}" == "i686"
-               configure_options += --enable-padlock
+       test
+               LD_LIBRARY_PATH="%{DIR_APP}/src/libstrongswan/.libs" make check || :
        end
 
-       # The testsuite does not run through in the build system
-       # on ARM systems.
-       #test
-       #       make check
-       #end
-
        install_cmds
                # Install network settings
                install -v -m 644 %{DIR_SOURCE}/network.conf \
@@ -92,12 +89,6 @@ build
                mkdir -pv %{BUILDROOT}%{sysconfdir}/swanctl/connections
                echo "include connections/*.conf" > \
                        %{BUILDROOT}%{sysconfdir}/swanctl/swanctl.conf
-
-               # Drop unneeded files.
-               rm -rvf %{BUILDROOT}%{libdir}/ipsec/lib*.so
-
-               # Move libraries to libdir.
-               mv %{BUILDROOT}%{libdir}/ipsec/lib*.so.* %{BUILDROOT}%{libdir}
        end
 end
 
diff --git a/subversion/patches/0001-subversion-1.9.0-rpath.patch b/subversion/patches/0001-subversion-1.9.0-rpath.patch
deleted file mode 100644 (file)
index 1531006..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-
-Only link libraries using -rpath, to avoid unnecessary RPATH tags in executables.
-
---- subversion-1.9.0/build.conf.rpath
-+++ subversion-1.9.0/build.conf
-@@ -561,7 +561,7 @@ lang = python
- path = subversion/bindings/swig/python/libsvn_swig_py
- libs = libsvn_client libsvn_wc libsvn_ra libsvn_delta libsvn_subr
-        apriconv apr python swig
--link-cmd = $(LINK)
-+link-cmd = $(LINK_LIB)
- install = swig-py-lib
- # need special build rule to include -DSWIGPYTHON
- compile-cmd = $(COMPILE_SWIG_PY)
-@@ -586,7 +586,7 @@ type = swig_lib
- lang = ruby
- path = subversion/bindings/swig/ruby/libsvn_swig_ruby
- libs = libsvn_client libsvn_wc libsvn_delta libsvn_subr apriconv apr ruby swig
--link-cmd = $(LINK) $(SWIG_RB_LIBS)
-+link-cmd = $(LINK_LIB) $(SWIG_RB_LIBS)
- install = swig-rb-lib
- # need special build rule to include
- compile-cmd = $(COMPILE_SWIG_RB)
-diff -uap subversion-1.9.0/Makefile.in.rpath subversion-1.9.0/Makefile.in
---- subversion-1.9.0/Makefile.in.rpath
-+++ subversion-1.9.0/Makefile.in
-@@ -255,10 +255,10 @@ COMPILE_CXXHL_CXX = $(LT_COMPILE_CXX) $(
- COMPILE_GMOCK_CXX = $(LT_COMPILE_CXX_NOWARN) $(GMOCK_INCLUDES) -o $@ -c
- COMPILE_CXXHL_GMOCK_CXX = $(LT_COMPILE_CXX) $(CXXHL_INCLUDES) $(GMOCK_INCLUDES) -o $@ -c
--LINK = $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) $(LT_LDFLAGS) $(CFLAGS) $(LDFLAGS) -rpath $(libdir)
--LINK_LIB = $(LINK) $(LT_SO_VERSION)
--LINK_CXX = $(LIBTOOL) $(LTCXXFLAGS) --mode=link $(CXX) $(LT_LDFLAGS) $(CXXFLAGS) $(LDFLAGS) -rpath $(libdir)
--LINK_CXX_LIB = $(LINK_CXX) $(LT_SO_VERSION)
-+LINK = $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) $(LT_LDFLAGS) $(CFLAGS) $(LDFLAGS)
-+LINK_LIB = $(LINK) $(LT_SO_VERSION) -rpath $(libdir)
-+LINK_CXX = $(LIBTOOL) $(LTCXXFLAGS) --mode=link $(CXX) $(LT_LDFLAGS) $(CXXFLAGS) $(LDFLAGS)
-+LINK_CXX_LIB = $(LINK_CXX) $(LT_SO_VERSION) -rpath $(libdir)
- # special link rule for mod_dav_svn
- LINK_APACHE_MOD = $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) $(LT_LDFLAGS) $(CFLAGS) $(LDFLAGS) -rpath $(APACHE_LIBEXECDIR) -avoid-version -module $(APACHE_LDFLAGS)
diff --git a/subversion/patches/0002-subversion-1.9.0-pie.patch b/subversion/patches/0002-subversion-1.9.0-pie.patch
deleted file mode 100644 (file)
index 437e1b7..0000000
+++ /dev/null
@@ -1,89 +0,0 @@
-
-Link executables using -pie, link test executables using -no-install.
-
-diff -uap subversion-1.9.0/build.conf.pie subversion-1.9.0/build.conf
-diff -uap subversion-1.9.0/build.conf.pie subversion-1.9.0/build.conf
-diff -uap subversion-1.9.0/build.conf.pie subversion-1.9.0/build.conf
---- subversion-1.9.0/build.conf.pie
-+++ subversion-1.9.0/build.conf
-@@ -743,7 +743,7 @@ libs = libsvncxxhl libgmock libsvn_subr
- sources = tests/*.cpp
- install = tests
- compile-cmd = $(COMPILE_CXXHL_GMOCK_CXX)
--link-cmd = $(LINK_CXX)
-+link-cmd = $(LINK_TEST_CXX)
- # ----------------------------------------------------------------------------
-@@ -760,7 +760,7 @@ sources = gmock-gtest-all.cc
- install = tests
- msvc-static = yes
- compile-cmd = $(COMPILE_GMOCK_CXX)
--link-cmd = $(LINK_CXX_LIB)
-+link-cmd = $(LINK_TEST_CXX_LIB)
- # ----------------------------------------------------------------------------
- #
-@@ -775,6 +775,7 @@ install = test
- libs = libsvn_repos libsvn_fs libsvn_delta libsvn_subr aprutil apriconv apr
- msvc-static = yes
- undefined-lib-symbols = yes
-+link-cmd = $(LINK_TEST_LIB)
- # ----------------------------------------------------------------------------
- # Tests for libsvn_fs_base
-diff -uap subversion-1.9.0/build/generator/gen_base.py.pie subversion-1.9.0/build/generator/gen_base.py
---- subversion-1.9.0/build/generator/gen_base.py.pie
-+++ subversion-1.9.0/build/generator/gen_base.py
-@@ -585,7 +585,7 @@ class TargetLinked(Target):
-     self.install = options.get('install')
-     self.compile_cmd = options.get('compile-cmd')
-     self.sources = options.get('sources', '*.c *.cpp')
--    self.link_cmd = options.get('link-cmd', '$(LINK)')
-+    self.link_cmd = options.get('link-cmd', '$(LINK_LIB)')
-     self.external_lib = options.get('external-lib')
-     self.external_project = options.get('external-project')
-@@ -644,6 +644,14 @@ class TargetExe(TargetLinked):
-     self.msvc_force_static = options.get('msvc-force-static') == 'yes'
-+    if self.install in ['test', 'bdb-test', 'sub-test', ]:
-+      self.link_cmd = '$(LINK_TEST)'
-+    elif self.link_cmd == '$(LINK_LIB)':
-+      # Over-ride the default for TargetLinked.
-+      self.link_cmd = '$(LINK_EXE)'
-+    elif self.link_cmd not in ['$(LINK_TEST_CXX)', ]:
-+      raise GenError('ERROR: Unknown executable link type for ' + self.name + ': ' + self.link_cmd)
-+    
-   def add_dependencies(self):
-     TargetLinked.add_dependencies(self)
-diff -uap subversion-1.9.0/Makefile.in.pie subversion-1.9.0/Makefile.in
---- subversion-1.9.0/Makefile.in.pie
-+++ subversion-1.9.0/Makefile.in
-@@ -259,6 +259,11 @@ LINK = $(LIBTOOL) $(LTFLAGS) --mode=link
- LINK_LIB = $(LINK) $(LT_SO_VERSION) -rpath $(libdir)
- LINK_CXX = $(LIBTOOL) $(LTCXXFLAGS) --mode=link $(CXX) $(LT_LDFLAGS) $(CXXFLAGS) $(LDFLAGS)
- LINK_CXX_LIB = $(LINK_CXX) $(LT_SO_VERSION) -rpath $(libdir)
-+LINK_TEST = $(LINK) -no-install
-+LINK_TEST_LIB = $(LINK) -avoid-version
-+LINK_TEST_CXX_LIB = $(LINK_CXX) -avoid-version
-+LINK_EXE = $(LINK) -pie
-+LINK_CXX_EXE = $(LINK) -pie
- # special link rule for mod_dav_svn
- LINK_APACHE_MOD = $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) $(LT_LDFLAGS) $(CFLAGS) $(LDFLAGS) -rpath $(APACHE_LIBEXECDIR) -avoid-version -module $(APACHE_LDFLAGS)
-@@ -753,10 +758,10 @@ schema-clean:
-       $(PYTHON) $(top_srcdir)/build/transform_sql.py $< $(top_srcdir)/$@
- .c.o:
--      $(COMPILE) -o $@ -c $<
-+      $(COMPILE) -fPIE -o $@ -c $<
- .cpp.o:
--      $(COMPILE_CXX) -o $@ -c $<
-+      $(COMPILE_CXX) -fPIE -o $@ -c $<
- .c.lo:
-       $(LT_COMPILE) -o $@ -c $<
diff --git a/subversion/patches/0003-subversion-1.8.5-swigplWall.patch b/subversion/patches/0003-subversion-1.8.5-swigplWall.patch
deleted file mode 100644 (file)
index af66806..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-
-Don't drop -Wall in the swig Perl bindings, otherwise building with
-e.g. -Wformat-security might break.
-
-https://bugzilla.redhat.com/show_bug.cgi?id=1037341
-
---- subversion-1.8.5/subversion/bindings/swig/perl/native/Makefile.PL.in.swigplWall
-+++ subversion-1.8.5/subversion/bindings/swig/perl/native/Makefile.PL.in
-@@ -54,7 +54,6 @@ my $includes = ' -I/usr/include/apr-1
- # SWIG is using C++ style comments in an extern "C" code.
- $cflags =~ s/-ansi\s+//g;
- $cflags =~ s/-std=c89\s+//g;
--$cflags =~ s/-Wall//g;
- $cflags =~ s/-Wunused//g;
- $cflags =~ s/-Wshadow//g;
- $cflags =~ s/-Wstrict-prototypes//g;
diff --git a/subversion/subversion.nm b/subversion/subversion.nm
deleted file mode 100644 (file)
index db42224..0000000
+++ /dev/null
@@ -1,102 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = subversion
-version    = 1.9.4
-release    = 1
-
-groups     = Development/Tools
-url        = http://subversion.apache.org/
-license    = ASL 2.0
-summary    = A Modern Concurrent Version Control System.
-
-description
-       Subversion is a concurrent version control system which enables one
-       or more users to collaborate in developing and maintaining a
-       hierarchy of files and directories while keeping a history of all
-       changes.  Subversion only stores the differences between versions,
-       instead of every complete file.  Subversion is intended to be a
-       compelling replacement for CVS.
-end
-
-source_dl  = http://www.apache.org/dist/subversion/
-
-build
-       requires
-               perl(ExtUtils::MakeMaker)
-               perl(ExtUtils::Embed)
-               perl-Carp
-               autoconf
-               apr-util-devel
-               automake
-               expat-devel
-               libapr-devel
-               libdb-devel
-               perl-devel
-               sqlite-devel
-               swig
-               zlib-devel
-       end
-
-       configure_options += \
-               CPPFLAGS="-P" \
-               --disable-mod-activation \
-               --disable-static
-
-       prepare_cmds
-               # Regenerate build system.
-               sed -i "/seems to be moved/s/^/#/" build/ltmain.sh &&
-               ./autogen.sh
-
-               # Fix shebang lines.
-               perl -pi -e 's|/usr/bin/env perl -w|/usr/bin/perl -w|' tools/hook-scripts/*.pl.in
-       end
-
-       install_cmds
-               # Build / Install perl bindings.
-               make swig-pl-lib %{PARALLELISMFLAGS}
-               make install-swig-pl-lib DESTDIR=%{BUILDROOT}
-
-               cd subversion/bindings/swig/perl/native
-
-               # Doesn't allow OPTIMIZE="%{CFLAGS}".
-               perl Makefile.PL INSTALLDIRS=vendor
-               make %{PARALLELISMFLAGS}
-               make pure_install PERL_INSTALL_ROOT=%{BUILDROOT}
-       end
-end
-
-packages
-       package %{name}
-
-       package perl-%{name}
-               summary = Perl bindings to the Subversion libraries.
-               description
-                       This package includes the Perl bindings to
-                       the Subversion libraries.
-               end
-
-               requires
-                       perl(:MODULE_COMPAT_%{perl_version})
-               end
-
-               files
-                       /usr/lib/libsvn_swig_perl-1.so.*
-                       /usr/lib/perl*/
-               end
-       end
-
-       package %{name}-libs
-               template LIBS
-       end
-
-       package %{name}-devel
-               template DEVEL
-       end
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
index 4cfedd29f9d98c84a382289e415e64b414eda70b..4757ecec3c320f3f8e210ddc2210b144e1f395f5 100644 (file)
@@ -4,13 +4,13 @@
 ###############################################################################
 
 name       = sudo
-version    = 1.8.20p2
-release    = 1
+version    = 1.9.14p3
+release    = 2
 
 groups     = Applications/System
-url        = http://www.sudo.ws/
+url        = https://www.sudo.ws/
 license    = BSD
-summary    = Allows restricted root access for specified users.
+summary    = Allows restricted root access for specified users
 
 description
        Sudo (superuser do) allows a system administrator to give certain
@@ -24,7 +24,7 @@ description
        on many different machines.
 end
 
-source_dl  = http://www.sudo.ws/sudo/dist/
+source_dl  = https://www.sudo.ws/sudo/dist/
 
 build
        requires
@@ -46,7 +46,8 @@ build
                --with-ignore-dot \
                --with-tty-tickets \
                --with-ldap \
-               --with-passprompt="[sudo] password for %p: "
+               --with-passprompt="[sudo] password for %p: " \
+               --enable-tmpfiles.d=%{tmpfilesdir}
 
        prepare_cmds
                # The tarball contains files owned by a stange uid:gid which will let
@@ -59,15 +60,24 @@ build
        end
 
        install_cmds
+               # Create sudoers config file.
                mkdir -pv %{BUILDROOT}%{sysconfdir}
                cp -vf %{DIR_SOURCE}/sudoers %{BUILDROOT}%{sysconfdir}/sudoers
+
+               # Do not ship /run.
+               rm -rvf %{BUILDROOT}/run
+
+               # Fix library permissions.
+               find %{BUILDROOT}%{libdir}/%{name} -type f -iname "*.so" -exec chmod 755 {} \;
+
+               # ... and move the libraries to the correct place
+               mv -v %{BUILDROOT}%{libdir}/%{name}/libsudo_util.so* %{BUILDROOT}%{libdir}/
+
        end
 end
 
 packages
        package %{name}
-               groups += Base
-
                configfiles
                        %{sysconfdir}/sudoers
                end
diff --git a/suricata/suricata.conf b/suricata/suricata.conf
deleted file mode 100644 (file)
index 3fc11c7..0000000
+++ /dev/null
@@ -1,523 +0,0 @@
-%YAML 1.1
----
-# Suricata Emergingthreats Pro Open Rulesets Recommended
-reference-config-file: /etc/suricata/rules/reference.config
-
-# Number of packets allowed to be processed simultaneously.  Default is a
-# conservative 50. a higher number will make sure CPU's/CPU cores will be
-# more easily kept busy, but will negatively impact caching.
-#
-# If you are using the CUDA pattern matcher (b2g_cuda below), different rules
-# apply. In that case try something like 4000 or more. This is because the CUDA
-# pattern matcher scans many packets in parallel.
-#max-pending-packets: 50
-
-# Set the order of alerts bassed on actions
-# The default order is pass, drop, reject, alert
-action-order:
-  - pass
-  - drop
-  - reject
-  - alert
-
-
-# The default logging directory.  Any log or output file will be
-# placed here if its not specified with a full path name.  This can be
-# overridden with the -l command line parameter.
-default-log-dir: /var/log/suricata
-
-# Configure the type of alert (and other) logging you would like.
-outputs:
-
-  # a line based alerts log similar to Snort's fast.log
-  - fast:
-      enabled: yes
-      filename: fast.log
-
-  # log output for use with Barnyard
-  - unified-log:
-      enabled: no
-      filename: unified.log
-
-      #limit: 32mb
-
-  # alert output for use with Barnyard
-  - unified-alert:
-      enabled: no
-      filename: unified.alert
-
-      #limit: 32mb
-
-  # alert output for use with Barnyard2
-  - unified2-alert:
-      enabled: no
-      filename: unified2.alert
-
-      #limit: 32mb
-
-  # a line based log of HTTP requests (no alerts)
-  - http-log:
-      enabled: yes
-      filename: http.log
-
-  # a full alerts log containing much information for signature writers
-  # or for investigating suspected false positives.
-  - alert-debug:
-      enabled: no
-      filename: alert-debug.log
-
-  # alert output to prelude (http://www.prelude-technologies.com/) only
-  # available if Suricata has been compiled with --enable-prelude
-  - alert-prelude:
-      enabled: no
-      profile: suricata
-
-defrag:
-  max-frags: 65535
-  prealloc: yes
-  timeout: 60
-
-# You can specify a threshold config file by setting "threshold-file"
-# to the path of the threshold config file:
-# threshold-file: /etc/suricata/threshold.config
-
-# The detection engine builds internal groups of signatures. The engine
-# allow us to specify the profile to use for them, to manage memory on an
-# efficient way keeping a good performance. For the profile keyword you
-# can use the words "low", "medium", "high" or "custom". If you use custom
-# make sure to define the values at "- custom-values" as your convenience.
-# Usually you would prefer medium/high/low
-detect-engine:
-  - profile: medium
-  - custom-values:
-      toclient_src_groups: 2
-      toclient_dst_groups: 2
-      toclient_sp_groups: 2
-      toclient_dp_groups: 3
-      toserver_src_groups: 2
-      toserver_dst_groups: 4
-      toserver_sp_groups: 2
-      toserver_dp_groups: 25
-
-# Suricata is multi-threaded. Here the threading can be influenced.
-threading:
-  # On some cpu's/architectures it is beneficial to tie individual threads
-  # to specific CPU's/CPU cores. In this case all threads are tied to CPU0,
-  # and each extra CPU/core has one "detect" thread.
-  #
-  # On Intel Core2 and Nehalem CPU's enabling this will degrade performance.
-  #
-  set_cpu_affinity: no
-  #
-  # By default Suricata creates one "detect" thread per available CPU/CPU core.
-  # This setting allows controlling this behaviour. A ratio setting of 2 will
-  # create 2 detect threads for each CPU/CPU core. So for a dual core CPU this
-  # will result in 4 detect threads. If values below 1 are used, less threads
-  # are created. So on a dual core CPU a setting of 0.5 results in 1 detect
-  # thread being created. Regardless of the setting at a minimum 1 detect
-  # thread will always be created.
-  #
-  detect_thread_ratio: 1.5
-
-# Select the cuda device to use.  The device_id identifies the device to be used
-# if one has multiple devices on the system.  To find out device_id associated
-#  with the card(s) on the system run "suricata --list-cuda-cards".
-cuda:
-  device_id: 0
-
-# Select the multi pattern algorithm you want to run for scan/search the
-# in the engine. The supported algorithms are b2g, b3g and wumanber.
-#
-# There is also a CUDA pattern matcher (only available if Suricata was
-# compiled with --enable-cuda: b2g_cuda. Make sure to update your
-# max-pending-packets setting above as well if you use b2g_cuda.
-
-mpm-algo: b2g
-
-# The memory settings for hash size of these algorithms can vary from lowest
-# (2048) - low (4096) - medium (8192) - high (16384) - highest (32768) - max
-# (65536). The bloomfilter sizes of these algorithms can vary from low (512) -
-# medium (1024) - high (2048).
-#
-# For B2g/B3g algorithms, there is a support for two different scan/search
-# algorithms. For B2g the scan algorithms are B2gScan & B2gScanBNDMq, and
-# search algorithms are B2gSearch & B2gSearchBNDMq. For B3g scan algorithms
-# are B3gScan & B3gScanBNDMq, and search algorithms are B3gSearch &
-# B3gSearchBNDMq.
-#
-# For B2g the different scan/search algorithms and, hash and bloom
-# filter size settings. For B3g the different scan/search algorithms and, hash
-# and bloom filter size settings. For wumanber the hash and bloom filter size
-# settings.
-
-pattern-matcher:
-  - b2g:
-      scan_algo: B2gScanBNDMq
-      search_algo: B2gSearchBNDMq
-      hash_size: low
-      bf_size: medium
-  - b3g:
-      scan_algo: B3gScanBNDMq
-      search_algo: B3gSearchBNDMq
-      hash_size: low
-      bf_size: medium
-  - wumanber:
-      hash_size: low
-      bf_size: medium
-
-# Flow settings:
-# By default, the reserved memory (memcap) for flows is 32MB. This is the limit
-# for flow allocation inside the engine. You can change this value to allow
-# more memory usage for flows.
-# The hash_size determine the size of the hash used to identify flows inside
-# the engine, and by default the value is 65536.
-# At the startup, the engine can preallocate a number of flows, to get a better
-# performance. The number of flows preallocated is 10000 by default.
-# emergency_recovery is the percentage of flows that the engine need to
-# prune before unsetting the emergency state. The emergency state is activated
-# when the memcap limit is reached, allowing to create new flows, but
-# prunning them with the emergency timeouts (they are defined below).
-# If the memcap is reached, the engine will try to prune prune_flows
-# with the default timeouts. If it doens't find a flow to prune, it will set
-# the emergency bit and it will try again with more agressive timeouts.
-# If that doesn't work, then it will try to kill the last time seen flows
-# not in use.
-
-flow:
-  memcap: 33554432
-  hash_size: 65536
-  prealloc: 10000
-  emergency_recovery: 30
-  prune_flows: 5
-
-# Specific timeouts for flows. Here you can specify the timeouts that the
-# active flows will wait to transit from the current state to another, on each
-# protocol. The value of "new" determine the seconds to wait after a hanshake or
-# stream startup before the engine free the data of that flow it doesn't
-# change the state to established (usually if we don't receive more packets
-# of that flow). The value of "established" is the amount of
-# seconds that the engine will wait to free the flow if it spend that amount
-# without receiving new packets or closing the connection. "closed" is the
-# amount of time to wait after a flow is closed (usually zero).
-#
-# There's an emergency mode that will become active under attack circumstances,
-# making the engine to check flow status faster. This configuration variables
-# use the prefix "emergency_" and work similar as the normal ones.
-# Some timeouts doesn't apply to all the protocols, like "closed", for udp and
-# icmp.
-
-flow-timeouts:
-
-  default:
-    new: 30
-    established: 300
-    closed: 0
-    emergency_new: 10
-    emergency_established: 100
-    emergency_closed: 0
-  tcp:
-    new: 60
-    established: 3600
-    closed: 120
-    emergency_new: 10
-    emergency_established: 300
-    emergency_closed: 20
-  udp:
-    new: 30
-    established: 300
-    emergency_new: 10
-    emergency_established: 100
-  icmp:
-    new: 30
-    established: 300
-    emergency_new: 10
-    emergency_established: 100
-
-# Stream engine settings. Here the TCP stream tracking and reaasembly
-# engine is configured.
-#
-# stream:
-#   memcap: 33554432            # 32mb tcp session memcap
-#   checksum_validation: yes    # To validate the checksum of received
-                                # packet. If csum validation is specified as
-                                # "yes", then packet with invalid csum will not
-                                # be processed by the engine stream/app layer.
-#   max_sessions: 262144        # 256k concurrent sessions
-#   prealloc_sessions: 32768    # 32k sessions prealloc'd
-#   midstream: false            # don't allow midstream session pickups
-#   async_oneside: false        # don't enable async stream handling
-#   reassembly:
-#     memcap: 67108864          # 64mb tcp reassembly memcap
-#     depth: 1048576            # 1 MB reassembly depth
-stream:
-  memcap: 33554432
-  checksum_validation: yes
-  inline: yes
-  reassembly:
-    memcap: 67108864
-    depth: 1048576
-
-# Logging configuration.  This is not about logging IDS alerts, but
-# IDS output about what its doing, errors, etc.
-logging:
-
-  # The default log level, can be overridden in an output section.
-  # Note that debug level logging will only be emitted if Suricata was
-  # compiled with the --enable-debug configure option.
-  #
-  # This value is overriden by the SC_LOG_LEVEL env var.
-  default-log-level: info
-
-  # The default output format.  Optional parameter, should default to
-  # something reasonable if not provided.  Can be overriden in an
-  # output section.  You can leave this out to get the default.
-  #
-  # This value is overriden by the SC_LOG_FORMAT env var.
-  #default-log-format: "[%i] %t - (%f:%l) <%d> (%n) -- "
-
-  # A regex to filter output.  Can be overridden in an output section.
-  # Defaults to empty (no filter).
-  #
-  # This value is overriden by the SC_LOG_OP_FILTER env var.
-  default-output-filter:
-
-  # Define your logging outputs.  If none are defined, or they are all
-  # disabled you will get the default - console output.
-  outputs:
-  - console:
-      enabled: yes
-  - file:
-      enabled: yes
-      filename: /var/log/suricata.log
-  - syslog:
-      enabled: no
-      facility: local5
-      format: "[%i] <%d> -- "
-  - drop:
-      enabled: yes
-      filename: drop.log
-      append: yes
-
-nfq:
-      mode: repeat
-      repeat_mark: 1
-      repeat_mask: 1
-
-# PF_RING configuration. for use with native PF_RING support
-# for more info see http://www.ntop.org/PF_RING.html
-pfring:
-
-  # Default interface we will listen on.
-  interface: eth0
-
-  # Default clusterid.  PF_RING will load balance packets based on flow.
-  # All threads/processes that will participate need to have the same
-  # clusterid.
-  cluster-id: 99
-
-  # Default PF_RING cluster type. PF_RING can load balance per flow or per hash.
-  # This is only supported in versions of PF_RING > 4.1.1.
-  cluster-type: cluster_round_robin
-
-# For FreeBSD ipfw(8) divert(4) support.
-# Please make sure you have ipfw_load="YES" and ipdivert_load="YES"
-# in /etc/loader.conf or kldload'ing the appropriate kernel modules.
-# Additionally, you need to have an ipfw rule for the engine to see
-# the packets from ipfw.  For Example:
-#
-#   ipfw add 100 divert 8000 ip from any to any
-#
-# The 8000 above should be the same number you passed on the command
-# line, i.e. -d 8000
-#
-ipfw:
-
-  # Reinject packets at the specified ipfw rule number.  This config
-  # option is the ipfw rule number AT WHICH rule processing continues
-  # in the ipfw processing system after the engine has finished
-  # inspecting the packet for acceptance.  If no rule number is specified,
-  # accepted packets are reinjected at the divert rule which they entered
-  # and IPFW rule processing continues.  No check is done to verify
-  # this will rule makes sense so care must be taken to avoid loops in ipfw.
-  #
-  ## The following example tells the engine to reinject packets
-  # back into the ipfw firewall AT rule number 5500:
-  #
-  # ipfw-reinjection-rule-number: 5500
-
-# Set the default rule path here to search for the files.
-# if not set, it will look at the current working dir
-default-rule-path: /etc/suricata/rules/
-rule-files:
-# - emerging-ftp.rules
-# - emerging-policy.rules
-# - emerging-trojan.rules 
-# - emerging-games.rules
-# - emerging-pop3.rules
-# - emerging-user_agents.rules 
-# - emerging-activex.rules
-# - emerging-rpc.rules
-# - emerging-virus.rules 
-# - emerging-attack_response.rules
-# - emerging-icmp.rules
-# - emerging-scan.rules
-# - emerging-scada.rules
-# - emerging-voip.rules 
-# - emerging-chat.rules
-# - emerging-icmp_info.rules
-# - emerging-shellcode.rules
-# - emerging-web_client.rules 
-# - emerging-imap.rules
-# - emerging-web_server.rules 
-# - emerging-current_events.rules
-# - emerging-inappropriate.rules
-# - emerging-smtp.rules
-# - emerging-web_specific_apps.rules 
-# - emerging-deleted.rules
-# - emerging-malware.rules
-# - emerging-snmp.rules
-# - emerging-worm.rules 
-# - emerging-dns.rules
-# - emerging-misc.rules
-# - emerging-sql.rules                 
-# - emerging-dos.rules
-# - emerging-netbios.rules
-# - emerging-telnet.rules              
-# - emerging-exploit.rules
-# - emerging-p2p.rules
-# - emerging-tftp.rules
-# - emerging-botcc.rules
-# - emerging-compromised.rules
-# - emerging-drop.rules
-# - emerging-dshield.rules
-# - emerging-rbn.rules
-# - emerging-rbn-malvertisers.rules
-# - emerging-tor.rules
-# - emerging-mobile_malware.rules
-
-classification-file: /etc/suricata/rules/classification.config
-
-# Holds variables that would be used by the engine.
-vars:
-
-  # Holds the address group vars that would be passed in a Signature.
-  # These would be retrieved during the Signature address parsing stage.
-  address-groups:
-
-    HOME_NET: "[192.168.0.0/16,10.0.0.0/8,172.16.0.0/12]"
-
-    EXTERNAL_NET: any
-
-    HTTP_SERVERS: "$HOME_NET"
-
-    SMTP_SERVERS: "$HOME_NET"
-
-    SQL_SERVERS: "$HOME_NET"
-
-    DNS_SERVERS: "$HOME_NET"
-
-    TELNET_SERVERS: "$HOME_NET"
-
-    AIM_SERVERS: any
-
-#These vars are required if you're using the Digitalbond Scada signatures in the scada.rules category
-#    DNP3_SERVER: "$HOME_NET"
-#    DNP3_CLIENT: "$HOME_NET"
-#    MODBUS_CLIENT: "$HOME_NET"
-#    MODBUS_SERVER: "$HOME_NET"
-#    ENIP_CLIENT: "$HOME_NET"
-#    ENIP_SERVER: "$HOME_NET"
-
-
-  # Holds the port group vars that would be passed in a Signature.
-  # These would be retrieved during the Signature port parsing stage.
-  port-groups:
-
-    HTTP_PORTS: "80"
-
-    SHELLCODE_PORTS: "!80"
-
-    ORACLE_PORTS: 1521
-
-    SSH_PORTS: 22
-
-#    DNP3_PORTS: 20000
-
-# Host specific policies for defragmentation and TCP stream
-# reassembly.  The host OS lookup is done using a radix tree, just
-# like a routing table so the most specific entry matches.
-host-os-policy:
-  # Make the default policy windows.
-  windows: [0.0.0.0/0]
-  bsd: []
-  bsd_right: []
-  old_linux: []
-  linux: [10.0.0.0/8, 192.168.1.100, "8762:2352:6241:7245:E000:0000:0000:0000"]
-  old_solaris: []
-  solaris: ["::1"]
-  hpux10: []
-  hpux11: []
-  irix: []
-  macos: []
-  vista: []
-  windows2k3: []
-
-###########################################################################
-# Configure libhtp.
-#
-#
-# default-config:  Used when no server-config matches
-#   personality:   List of personalities used by default
-#
-# server-config:   List of server configurations to use if address matches
-#   address:       List of ip addresses or networks for this block
-#   personalitiy:  List of personalities used by this block
-#
-# Currently Available Personalities:
-#   Minimal
-#   Generic
-#   IDS (default)
-#   IIS_4_0
-#   IIS_5_0
-#   IIS_5_1
-#   IIS_6_0
-#   IIS_7_0
-#   IIS_7_5
-#   Apache
-#   Apache_2_2
-###########################################################################
-libhtp:
-
-   default-config:
-     personality: IDS
-
-   server-config:
-
-     - apache:
-         address: [192.168.1.0/24, 127.0.0.0/8, "::1"]
-         personality: Apache_2_2
-
-     - iis7:
-         address:
-           - 192.168.0.0/24
-           - 192.168.10.0/24
-         personality: IIS_7_0
-
-# rule profiling settings. Only effective if Suricata has been built with the
-# the --enable-profiling configure flag.
-#
-profiling:
-
-  rules:
-
-    # Profiling can be disabled here, but it will still have a
-    # performance impact if compiled in.
-    enabled: yes
-
-    # Sort options: ticks, avgticks, checks, matches
-    sort: avgticks
-
-    # Limit the number of items printed at exit.
-    limit: 100
-
-
diff --git a/suricata/suricata.logrotate b/suricata/suricata.logrotate
deleted file mode 100644 (file)
index c4ece8c..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-/var/log/suricata/*.log {
-        daily
-        missingok
-        rotate 5
-        compress
-        delaycompress
-        copytruncate
-        minsize 500k
-}
diff --git a/suricata/suricata.nm b/suricata/suricata.nm
deleted file mode 100644 (file)
index 4825612..0000000
+++ /dev/null
@@ -1,100 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = suricata
-version    = 4.0.6
-release    = 3
-
-groups     = Networking/IDS
-url        = http://www.openinfosecfoundation.org/
-license    = GPLv2
-summary    = Open Source Next Generation Intrusion Detection and Prevention Engine.
-
-description
-       The suricata engine is not intended to just replace or emulate the
-       existing tools in the industry, but provides new ideas and
-       technologies.
-end
-
-source_dl  = http://www.openinfosecfoundation.org/download/
-
-build
-       requires
-               file-devel
-               libcap-ng-devel
-               libnfnetlink-devel
-               libnetfilter_queue-devel
-               libnet-devel
-               libpcap-devel
-               libyaml-devel
-               libhtp-devel >= 0.5.20
-               pcre-devel
-               pkg-config
-               zlib-devel >= 1.2.5-2
-       end
-
-       configure_options += \
-               --enable-gccprotect \
-               --enable-nfqueue \
-               --disable-gccmarch-native \
-               --disable-static \
-               --enable-non-bundled-htp \
-               --with-libhtp-includes=%{includedir}/htp \
-               --with-libhtp-libraries=%{libdir}
-
-       # Enable hyperscan only on x86
-       if "%{DISTRO_PLATFORM}" == "x86"
-               requires += hyperscan-devel
-               configure_options += --enable-hyperscan
-       end
-
-       install_cmds
-               mkdir -pv %{BUILDROOT}%{sysconfdir}
-               mkdir -pv %{BUILDROOT}%{sysconfdir}/suricata
-               mkdir -pv %{BUILDROOT}%{sysconfdir}/suricata/rules
-               cp -vf %{DIR_SOURCE}/%{name}.conf %{BUILDROOT}%{sysconfdir}/suricata
-               mkdir -pv %{BUILDROOT}%{localstatedir}/log/suricata
-       end
-
-end
-
-
-packages
-       package %{name}
-
-               prerquires = systemd-units
-
-               configfiles
-                       %{sysconfdir}/suricata/suricata.conf
-               end
-
-               script postin
-                       systemctl daemon-reload >/dev/null 2>&1 || :
-               end
-
-               script preun
-                       systemctl --no-reload disable suricata.service >/dev/null 2>&1 || :
-                       systemctl stop suricata.service >/dev/null 2>&1 || :
-               end
-
-               script postun
-                       systemctl daemon-reload >/dev/null 2>&1 || :
-               end
-
-               script postup
-                       systemctl daemon-reload >/dev/null 2>&1 || :
-                       systemctl try-restart suricata.service >/dev/null 2>&1 || :
-               end
-
-       end
-
-       package %{name}-devel
-               template DEVEL
-       end
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
diff --git a/suricata/systemd/suricata.service b/suricata/systemd/suricata.service
deleted file mode 100644 (file)
index 24cfa98..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-[Unit]
-Description=Open Source Next Generation Intrusion Detection and Prevention Engine
-After=syslog.target network.target
-
-[Service]
-Type=forking
-ExecStart=/usr/bin/suricata -c /etc/suricata/suricata.conf -q 0 -q 1 -D
-ExecStartPost=/sbin/iptables -I INPUT -mark ! --mark 1/1 -j NFQUEUE -–queue-balance 0:1
-ExecReload=/bin/kill -HUP $MAINPID
-ExecStop=/sbin/iptables -D INPUT -j NFQUEUE -–queue-balance 0:1
-ExecStopPost=/bin/kill $MAINPID
-
-[Install]
-WantedBy=multi-user.target
index 675dc1f5b34b13bc1e0c4c36f14ef2845b58f1c8..bf91903a82e5f76e5ea19f18a970c25ccc118146 100644 (file)
@@ -4,14 +4,13 @@
 ###############################################################################
 
 name       = swig
-version    = 3.0.10
+version    = 4.1.1
 release    = 1
 
 groups     = Development/Tools
 url        = http://swig.sourceforge.net/
 license    = GPLv3+ and BSD
-summary    = Connects C/C++/Objective C to some high-level programming \
-       languages.
+summary    = Connects C/C++/Objective C to some high-level programming languages
 
 description
        Simplified Wrapper and Interface Generator (SWIG) is a software
@@ -23,21 +22,18 @@ description
        tool for building user interfaces.
 end
 
-source_dl  = http://downloads.sourceforge.net/project/%{name}/%{name}/%{thisapp}
+source_dl  = https://downloads.sourceforge.net/project/%{name}/%{name}/%{thisapp}
 
 build
        requires
                autoconf
                automake
                gcc-c++
-               pcre-devel
+               pcre2-devel
                perl
-               python-devel
+               python3-devel
        end
 
-       configure_options += \
-               --sbindir=/sbin
-
        prepare_cmds
                ./autogen.sh
        end
@@ -45,7 +41,6 @@ end
 
 packages
        package %{name}
-       end
 
        package %{name}-debuginfo
                template DEBUGINFO
diff --git a/syslinux/syslinux.nm b/syslinux/syslinux.nm
deleted file mode 100644 (file)
index b24d7cb..0000000
+++ /dev/null
@@ -1,83 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = syslinux
-version    = 4.02
-release    = 3
-sup_arches = x86_64 i686
-
-groups     = System/Boot
-url        = http://syslinux.zytor.com/
-license    = GPLv2+
-summary    = Simple kernel loader which boots from a FAT filesystem.
-
-description
-       SYSLINUX is a suite of bootloaders, currently supporting DOS FAT \
-       filesystems, Linux ext2/ext3 filesystems (EXTLINUX), PXE network boots \
-       (PXELINUX), or ISO 9660 CD-ROMs (ISOLINUX).  It also includes a tool, \
-       MEMDISK, which loads legacy operating systems from these media.
-end
-
-source_dl  = http://www.kernel.org/pub/linux/utils/boot/syslinux/
-
-build
-       requires
-               nasm
-               perl
-               python-devel
-       end
-
-       CFLAGS = -Werror -Wno-unused -finline-limit=2000
-
-       CC = gcc -std=gnu99 -fgnu89-inline
-
-       prepare_cmds
-               cd %{DIR_APP} && make clean
-       end
-
-       build
-               make installer \
-                       %{PARALLELISMFLAGS} \
-                       CC="%{CC}"
-               make -C sample tidy
-       end
-
-       install
-               make install-all \
-                       INSTALLROOT=%{BUILDROOT} \
-                       CC="%{CC}" \
-                       MANDIR=/usr/share/man
-
-               rm -rvf %{BUILDROOT}/{boot,tftpboot}
-       end
-end
-
-packages
-       package %{name}
-
-       package %{name}-perl
-               summary = Syslinux tools written in perl.
-               description = %{summary}
-
-               files
-                       %{bindir}/keytab-lilo
-                       %{bindir}/lss16toppm
-                       %{bindir}/md5pass
-                       %{bindir}/mkdiskimage
-                       %{bindir}/ppmtolss16
-                       %{bindir}/pxelinux-options
-                       %{bindir}/sha1pass
-                       %{bindir}/syslinux2ansi
-                       %{bindir}/isohybrid.pl
-                       %{mandir}/man1/lss16toppm*
-                       %{mandir}/man1/ppmtolss16*
-                       %{mandir}/man1/syslinux2ansi*
-               end
-       end
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
diff --git a/systemd/patches/0001-Revert-sd-netlink-unexport-sd-netlink.patch b/systemd/patches/0001-Revert-sd-netlink-unexport-sd-netlink.patch
new file mode 100644 (file)
index 0000000..4507a10
--- /dev/null
@@ -0,0 +1,1416 @@
+From b0ca7a9351fab7a339357cbc17800e11ccae91e8 Mon Sep 17 00:00:00 2001
+From: Jonatan Schlag <jonatan.schlag@ipfire.org>
+Date: Tue, 19 Sep 2023 11:58:49 +0000
+Subject: [PATCH] Revert "sd-netlink: unexport sd-netlink"
+
+This reverts commit dd35a61cafb5ffb380f92f45b9d9e3ac1f53351b.
+---
+ src/libsystemd/libsystemd.sym                 | 155 ++++++++++++++++++
+ src/libsystemd/sd-netlink/netlink-genl.c      |  10 +-
+ .../sd-netlink/netlink-message-rtnl.c         | 134 +++++++--------
+ src/libsystemd/sd-netlink/netlink-message.c   | 100 +++++------
+ src/libsystemd/sd-netlink/sd-netlink.c        |  26 +--
+ src/systemd/meson.build                       |   2 +-
+ 6 files changed, 291 insertions(+), 136 deletions(-)
+
+diff --git a/src/libsystemd/libsystemd.sym b/src/libsystemd/libsystemd.sym
+index 56a8831f0f..0f84848064 100644
+--- a/src/libsystemd/libsystemd.sym
++++ b/src/libsystemd/libsystemd.sym
+@@ -795,6 +795,161 @@ global:
+         sd_id128_string_equal;
+         sd_hwdb_new_from_path;
++
++        sd_netlink_open;
++        sd_netlink_open_fd;
++        sd_netlink_increase_rxbuf;
++        sd_netlink_ref;
++        sd_netlink_unref;
++        sd_netlink_send;
++        sd_netlink_call_async;
++        sd_netlink_call;
++        sd_netlink_read;
++        sd_netlink_get_events;
++        sd_netlink_get_timeout;
++        sd_netlink_process;
++        sd_netlink_wait;
++        sd_netlink_add_match;
++        sd_netlink_attach_event;
++        sd_netlink_detach_event;
++        sd_netlink_attach_filter;
++        sd_netlink_message_append_string;
++        sd_netlink_message_append_strv;
++        sd_netlink_message_append_flag;
++        sd_netlink_message_append_u8;
++        sd_netlink_message_append_u16;
++        sd_netlink_message_append_u32;
++        sd_netlink_message_append_u64;
++        sd_netlink_message_append_s8;
++        sd_netlink_message_append_s16;
++        sd_netlink_message_append_s32;
++        sd_netlink_message_append_s64;
++        sd_netlink_message_append_data;
++        sd_netlink_message_append_container_data;
++        sd_netlink_message_append_in_addr;
++        sd_netlink_message_append_in6_addr;
++        sd_netlink_message_append_sockaddr_in;
++        sd_netlink_message_append_sockaddr_in6;
++        sd_netlink_message_append_ether_addr;
++        sd_netlink_message_append_cache_info;
++        sd_netlink_message_open_container;
++        sd_netlink_message_open_container_union;
++        sd_netlink_message_close_container;
++        sd_netlink_message_read;
++        sd_netlink_message_read_data;
++        sd_netlink_message_read_data_suffix0;
++        sd_netlink_message_read_string_strdup;
++        sd_netlink_message_read_string;
++        sd_netlink_message_read_strv;
++        sd_netlink_message_read_u8;
++        sd_netlink_message_read_u16;
++        sd_netlink_message_read_u32;
++        sd_netlink_message_read_ether_addr;
++        sd_netlink_message_read_cache_info;
++        sd_netlink_message_read_in_addr;
++        sd_netlink_message_read_in6_addr;
++        sd_netlink_message_has_flag;
++        sd_netlink_message_enter_container;
++        sd_netlink_message_enter_array;
++        sd_netlink_message_exit_container;
++        sd_netlink_message_open_array;
++        sd_netlink_message_cancel_array;
++        sd_netlink_message_rewind;
++        sd_netlink_message_next;
++        sd_netlink_message_ref;
++        sd_netlink_message_unref;
++        sd_netlink_message_set_request_dump;
++        sd_netlink_message_is_error;
++        sd_netlink_message_get_errno;
++        sd_netlink_message_get_type;
++        sd_netlink_message_set_flags;
++        sd_netlink_message_is_broadcast;
++        sd_netlink_message_get_max_attribute;
++        sd_netlink_slot_ref;
++        sd_netlink_slot_unref;
++        sd_netlink_slot_get_netlink;
++        sd_netlink_slot_get_userdata;
++        sd_netlink_slot_set_userdata;
++        sd_netlink_slot_get_destroy_callback;
++        sd_netlink_slot_set_destroy_callback;
++        sd_netlink_slot_get_floating;
++        sd_netlink_slot_set_floating;
++        sd_netlink_slot_get_description;
++        sd_netlink_slot_set_description;
++
++        sd_rtnl_message_get_family;
++        sd_rtnl_message_new_addr;
++        sd_rtnl_message_new_addr_update;
++        sd_rtnl_message_addr_set_prefixlen;
++        sd_rtnl_message_addr_set_scope;
++        sd_rtnl_message_addr_set_flags;
++        sd_rtnl_message_addr_get_family;
++        sd_rtnl_message_addr_get_prefixlen;
++        sd_rtnl_message_addr_get_scope;
++        sd_rtnl_message_addr_get_flags;
++        sd_rtnl_message_addr_get_ifindex;
++        sd_rtnl_message_new_link;
++        sd_rtnl_message_link_set_flags;
++        sd_rtnl_message_link_set_type;
++        sd_rtnl_message_link_set_family;
++        sd_rtnl_message_link_get_ifindex;
++        sd_rtnl_message_link_get_flags;
++        sd_rtnl_message_link_get_type;
++        sd_rtnl_message_new_route;
++        sd_rtnl_message_route_set_dst_prefixlen;
++        sd_rtnl_message_route_set_src_prefixlen;
++        sd_rtnl_message_route_set_scope;
++        sd_rtnl_message_route_set_flags;
++        sd_rtnl_message_route_set_table;
++        sd_rtnl_message_route_set_type;
++        sd_rtnl_message_route_get_flags;
++        sd_rtnl_message_route_get_family;
++        sd_rtnl_message_route_get_protocol;
++        sd_rtnl_message_route_get_scope;
++        sd_rtnl_message_route_get_tos;
++        sd_rtnl_message_route_get_table;
++        sd_rtnl_message_route_get_dst_prefixlen;
++        sd_rtnl_message_route_get_src_prefixlen;
++        sd_rtnl_message_route_get_type;
++        sd_rtnl_message_new_nexthop;
++        sd_rtnl_message_nexthop_set_flags;
++        sd_rtnl_message_nexthop_get_flags;
++        sd_rtnl_message_nexthop_get_family;
++        sd_rtnl_message_nexthop_get_protocol;
++        sd_rtnl_message_new_neigh;
++        sd_rtnl_message_neigh_set_flags;
++        sd_rtnl_message_neigh_set_state;
++        sd_rtnl_message_neigh_get_family;
++        sd_rtnl_message_neigh_get_ifindex;
++        sd_rtnl_message_neigh_get_state;
++        sd_rtnl_message_neigh_get_flags;
++        sd_rtnl_message_new_addrlabel;
++        sd_rtnl_message_addrlabel_set_prefixlen;
++        sd_rtnl_message_addrlabel_get_prefixlen;
++        sd_rtnl_message_new_routing_policy_rule;
++        sd_rtnl_message_routing_policy_rule_set_tos;
++        sd_rtnl_message_routing_policy_rule_get_tos;
++        sd_rtnl_message_routing_policy_rule_set_table;
++        sd_rtnl_message_routing_policy_rule_get_table;
++        sd_rtnl_message_routing_policy_rule_set_fib_src_prefixlen;
++        sd_rtnl_message_routing_policy_rule_get_fib_src_prefixlen;
++        sd_rtnl_message_routing_policy_rule_set_fib_dst_prefixlen;
++        sd_rtnl_message_routing_policy_rule_get_fib_dst_prefixlen;
++        sd_rtnl_message_routing_policy_rule_set_fib_type;
++        sd_rtnl_message_routing_policy_rule_get_fib_type;
++        sd_rtnl_message_routing_policy_rule_set_flags;
++        sd_rtnl_message_routing_policy_rule_get_flags;
++        sd_rtnl_message_new_traffic_control;
++        sd_rtnl_message_traffic_control_get_ifindex;
++        sd_rtnl_message_traffic_control_get_handle;
++        sd_rtnl_message_traffic_control_get_parent;
++        sd_rtnl_message_new_mdb;
++
++        sd_genl_socket_open;
++        sd_genl_message_new;
++        sd_genl_message_get_family_name;
++        sd_genl_message_get_command;
++        sd_genl_add_match;
+ } LIBSYSTEMD_251;
+ LIBSYSTEMD_253 {
+diff --git a/src/libsystemd/sd-netlink/netlink-genl.c b/src/libsystemd/sd-netlink/netlink-genl.c
+index 1dc62e89ba..aeb4b8a686 100644
+--- a/src/libsystemd/sd-netlink/netlink-genl.c
++++ b/src/libsystemd/sd-netlink/netlink-genl.c
+@@ -365,7 +365,7 @@ int genl_get_policy_set_and_header_size(
+         return 0;
+ }
+-int sd_genl_message_new(sd_netlink *nl, const char *family_name, uint8_t cmd, sd_netlink_message **ret) {
++_public_ int sd_genl_message_new(sd_netlink *nl, const char *family_name, uint8_t cmd, sd_netlink_message **ret) {
+         const GenericNetlinkFamily *family;
+         int r;
+@@ -381,7 +381,7 @@ int sd_genl_message_new(sd_netlink *nl, const char *family_name, uint8_t cmd, sd
+         return genl_message_new(nl, family, cmd, ret);
+ }
+-int sd_genl_message_get_family_name(sd_netlink *nl, sd_netlink_message *m, const char **ret) {
++_public_ int sd_genl_message_get_family_name(sd_netlink *nl, sd_netlink_message *m, const char **ret) {
+         const GenericNetlinkFamily *family;
+         uint16_t nlmsg_type;
+         int r;
+@@ -403,7 +403,7 @@ int sd_genl_message_get_family_name(sd_netlink *nl, sd_netlink_message *m, const
+         return 0;
+ }
+-int sd_genl_message_get_command(sd_netlink *nl, sd_netlink_message *m, uint8_t *ret) {
++_public_ int sd_genl_message_get_command(sd_netlink *nl, sd_netlink_message *m, uint8_t *ret) {
+         struct genlmsghdr *h;
+         uint16_t nlmsg_type;
+         size_t size;
+@@ -448,7 +448,7 @@ static int genl_family_get_multicast_group_id_by_name(const GenericNetlinkFamily
+         return 0;
+ }
+-int sd_genl_add_match(
++_public_ int sd_genl_add_match(
+                 sd_netlink *nl,
+                 sd_netlink_slot **ret_slot,
+                 const char *family_name,
+@@ -483,6 +483,6 @@ int sd_genl_add_match(
+                                           callback, destroy_callback, userdata, description);
+ }
+-int sd_genl_socket_open(sd_netlink **ret) {
++_public_ int sd_genl_socket_open(sd_netlink **ret) {
+         return netlink_open_family(ret, NETLINK_GENERIC);
+ }
+diff --git a/src/libsystemd/sd-netlink/netlink-message-rtnl.c b/src/libsystemd/sd-netlink/netlink-message-rtnl.c
+index 008e8022b1..ae1d217294 100644
+--- a/src/libsystemd/sd-netlink/netlink-message-rtnl.c
++++ b/src/libsystemd/sd-netlink/netlink-message-rtnl.c
+@@ -56,7 +56,7 @@ static bool rtnl_message_type_is_mdb(uint16_t type) {
+         return IN_SET(type, RTM_NEWMDB, RTM_DELMDB, RTM_GETMDB);
+ }
+-int sd_rtnl_message_route_set_dst_prefixlen(sd_netlink_message *m, unsigned char prefixlen) {
++_public_ int sd_rtnl_message_route_set_dst_prefixlen(sd_netlink_message *m, unsigned char prefixlen) {
+         struct rtmsg *rtm;
+         assert_return(m, -EINVAL);
+@@ -74,7 +74,7 @@ int sd_rtnl_message_route_set_dst_prefixlen(sd_netlink_message *m, unsigned char
+         return 0;
+ }
+-int sd_rtnl_message_route_set_src_prefixlen(sd_netlink_message *m, unsigned char prefixlen) {
++_public_ int sd_rtnl_message_route_set_src_prefixlen(sd_netlink_message *m, unsigned char prefixlen) {
+         struct rtmsg *rtm;
+         assert_return(m, -EINVAL);
+@@ -92,7 +92,7 @@ int sd_rtnl_message_route_set_src_prefixlen(sd_netlink_message *m, unsigned char
+         return 0;
+ }
+-int sd_rtnl_message_route_set_scope(sd_netlink_message *m, unsigned char scope) {
++_public_ int sd_rtnl_message_route_set_scope(sd_netlink_message *m, unsigned char scope) {
+         struct rtmsg *rtm;
+         assert_return(m, -EINVAL);
+@@ -106,7 +106,7 @@ int sd_rtnl_message_route_set_scope(sd_netlink_message *m, unsigned char scope)
+         return 0;
+ }
+-int sd_rtnl_message_route_set_flags(sd_netlink_message *m, unsigned flags) {
++_public_ int sd_rtnl_message_route_set_flags(sd_netlink_message *m, unsigned flags) {
+         struct rtmsg *rtm;
+         assert_return(m, -EINVAL);
+@@ -120,7 +120,7 @@ int sd_rtnl_message_route_set_flags(sd_netlink_message *m, unsigned flags) {
+         return 0;
+ }
+-int sd_rtnl_message_route_get_flags(sd_netlink_message *m, unsigned *flags) {
++_public_ int sd_rtnl_message_route_get_flags(sd_netlink_message *m, unsigned *flags) {
+         struct rtmsg *rtm;
+         assert_return(m, -EINVAL);
+@@ -135,7 +135,7 @@ int sd_rtnl_message_route_get_flags(sd_netlink_message *m, unsigned *flags) {
+         return 0;
+ }
+-int sd_rtnl_message_route_set_table(sd_netlink_message *m, unsigned char table) {
++_public_ int sd_rtnl_message_route_set_table(sd_netlink_message *m, unsigned char table) {
+         struct rtmsg *rtm;
+         assert_return(m, -EINVAL);
+@@ -149,7 +149,7 @@ int sd_rtnl_message_route_set_table(sd_netlink_message *m, unsigned char table)
+         return 0;
+ }
+-int sd_rtnl_message_route_get_family(sd_netlink_message *m, int *family) {
++_public_ int sd_rtnl_message_route_get_family(sd_netlink_message *m, int *family) {
+         struct rtmsg *rtm;
+         assert_return(m, -EINVAL);
+@@ -164,7 +164,7 @@ int sd_rtnl_message_route_get_family(sd_netlink_message *m, int *family) {
+         return 0;
+ }
+-int sd_rtnl_message_route_get_type(sd_netlink_message *m, unsigned char *type) {
++_public_ int sd_rtnl_message_route_get_type(sd_netlink_message *m, unsigned char *type) {
+         struct rtmsg *rtm;
+         assert_return(m, -EINVAL);
+@@ -179,7 +179,7 @@ int sd_rtnl_message_route_get_type(sd_netlink_message *m, unsigned char *type) {
+         return 0;
+ }
+-int sd_rtnl_message_route_set_type(sd_netlink_message *m, unsigned char type) {
++_public_ int sd_rtnl_message_route_set_type(sd_netlink_message *m, unsigned char type) {
+         struct rtmsg *rtm;
+         assert_return(m, -EINVAL);
+@@ -193,7 +193,7 @@ int sd_rtnl_message_route_set_type(sd_netlink_message *m, unsigned char type) {
+         return 0;
+ }
+-int sd_rtnl_message_route_get_protocol(sd_netlink_message *m, unsigned char *protocol) {
++_public_ int sd_rtnl_message_route_get_protocol(sd_netlink_message *m, unsigned char *protocol) {
+         struct rtmsg *rtm;
+         assert_return(m, -EINVAL);
+@@ -208,7 +208,7 @@ int sd_rtnl_message_route_get_protocol(sd_netlink_message *m, unsigned char *pro
+         return 0;
+ }
+-int sd_rtnl_message_route_get_scope(sd_netlink_message *m, unsigned char *scope) {
++_public_ int sd_rtnl_message_route_get_scope(sd_netlink_message *m, unsigned char *scope) {
+         struct rtmsg *rtm;
+         assert_return(m, -EINVAL);
+@@ -223,7 +223,7 @@ int sd_rtnl_message_route_get_scope(sd_netlink_message *m, unsigned char *scope)
+         return 0;
+ }
+-int sd_rtnl_message_route_get_tos(sd_netlink_message *m, uint8_t *tos) {
++_public_ int sd_rtnl_message_route_get_tos(sd_netlink_message *m, uint8_t *tos) {
+         struct rtmsg *rtm;
+         assert_return(m, -EINVAL);
+@@ -238,7 +238,7 @@ int sd_rtnl_message_route_get_tos(sd_netlink_message *m, uint8_t *tos) {
+         return 0;
+ }
+-int sd_rtnl_message_route_get_table(sd_netlink_message *m, unsigned char *table) {
++_public_ int sd_rtnl_message_route_get_table(sd_netlink_message *m, unsigned char *table) {
+         struct rtmsg *rtm;
+         assert_return(m, -EINVAL);
+@@ -253,7 +253,7 @@ int sd_rtnl_message_route_get_table(sd_netlink_message *m, unsigned char *table)
+         return 0;
+ }
+-int sd_rtnl_message_route_get_dst_prefixlen(sd_netlink_message *m, unsigned char *dst_len) {
++_public_ int sd_rtnl_message_route_get_dst_prefixlen(sd_netlink_message *m, unsigned char *dst_len) {
+         struct rtmsg *rtm;
+         assert_return(m, -EINVAL);
+@@ -268,7 +268,7 @@ int sd_rtnl_message_route_get_dst_prefixlen(sd_netlink_message *m, unsigned char
+         return 0;
+ }
+-int sd_rtnl_message_route_get_src_prefixlen(sd_netlink_message *m, unsigned char *src_len) {
++_public_ int sd_rtnl_message_route_get_src_prefixlen(sd_netlink_message *m, unsigned char *src_len) {
+         struct rtmsg *rtm;
+         assert_return(m, -EINVAL);
+@@ -283,7 +283,7 @@ int sd_rtnl_message_route_get_src_prefixlen(sd_netlink_message *m, unsigned char
+         return 0;
+ }
+-int sd_rtnl_message_new_route(sd_netlink *rtnl, sd_netlink_message **ret,
++_public_ int sd_rtnl_message_new_route(sd_netlink *rtnl, sd_netlink_message **ret,
+                               uint16_t nlmsg_type, int rtm_family,
+                               unsigned char rtm_protocol) {
+         struct rtmsg *rtm;
+@@ -309,7 +309,7 @@ int sd_rtnl_message_new_route(sd_netlink *rtnl, sd_netlink_message **ret,
+         return 0;
+ }
+-int sd_rtnl_message_new_nexthop(sd_netlink *rtnl, sd_netlink_message **ret,
++_public_ int sd_rtnl_message_new_nexthop(sd_netlink *rtnl, sd_netlink_message **ret,
+                                 uint16_t nlmsg_type, int nh_family,
+                                 unsigned char nh_protocol) {
+         struct nhmsg *nhm;
+@@ -347,7 +347,7 @@ int sd_rtnl_message_new_nexthop(sd_netlink *rtnl, sd_netlink_message **ret,
+         return 0;
+ }
+-int sd_rtnl_message_nexthop_set_flags(sd_netlink_message *m, uint8_t flags) {
++_public_ int sd_rtnl_message_nexthop_set_flags(sd_netlink_message *m, uint8_t flags) {
+         struct nhmsg *nhm;
+         assert_return(m, -EINVAL);
+@@ -360,7 +360,7 @@ int sd_rtnl_message_nexthop_set_flags(sd_netlink_message *m, uint8_t flags) {
+         return 0;
+ }
+-int sd_rtnl_message_nexthop_get_flags(sd_netlink_message *m, uint8_t *ret) {
++_public_ int sd_rtnl_message_nexthop_get_flags(sd_netlink_message *m, uint8_t *ret) {
+         struct nhmsg *nhm;
+         assert_return(m, -EINVAL);
+@@ -374,7 +374,7 @@ int sd_rtnl_message_nexthop_get_flags(sd_netlink_message *m, uint8_t *ret) {
+         return 0;
+ }
+-int sd_rtnl_message_nexthop_get_family(sd_netlink_message *m, uint8_t *family) {
++_public_ int sd_rtnl_message_nexthop_get_family(sd_netlink_message *m, uint8_t *family) {
+         struct nhmsg *nhm;
+         assert_return(m, -EINVAL);
+@@ -388,7 +388,7 @@ int sd_rtnl_message_nexthop_get_family(sd_netlink_message *m, uint8_t *family) {
+         return 0;
+ }
+-int sd_rtnl_message_nexthop_get_protocol(sd_netlink_message *m, uint8_t *protocol) {
++_public_ int sd_rtnl_message_nexthop_get_protocol(sd_netlink_message *m, uint8_t *protocol) {
+         struct nhmsg *nhm;
+         assert_return(m, -EINVAL);
+@@ -402,7 +402,7 @@ int sd_rtnl_message_nexthop_get_protocol(sd_netlink_message *m, uint8_t *protoco
+         return 0;
+ }
+-int sd_rtnl_message_neigh_set_flags(sd_netlink_message *m, uint8_t flags) {
++_public_ int sd_rtnl_message_neigh_set_flags(sd_netlink_message *m, uint8_t flags) {
+         struct ndmsg *ndm;
+         assert_return(m, -EINVAL);
+@@ -415,7 +415,7 @@ int sd_rtnl_message_neigh_set_flags(sd_netlink_message *m, uint8_t flags) {
+         return 0;
+ }
+-int sd_rtnl_message_neigh_set_state(sd_netlink_message *m, uint16_t state) {
++_public_ int sd_rtnl_message_neigh_set_state(sd_netlink_message *m, uint16_t state) {
+         struct ndmsg *ndm;
+         assert_return(m, -EINVAL);
+@@ -428,7 +428,7 @@ int sd_rtnl_message_neigh_set_state(sd_netlink_message *m, uint16_t state) {
+         return 0;
+ }
+-int sd_rtnl_message_neigh_get_flags(sd_netlink_message *m, uint8_t *flags) {
++_public_ int sd_rtnl_message_neigh_get_flags(sd_netlink_message *m, uint8_t *flags) {
+         struct ndmsg *ndm;
+         assert_return(m, -EINVAL);
+@@ -441,7 +441,7 @@ int sd_rtnl_message_neigh_get_flags(sd_netlink_message *m, uint8_t *flags) {
+         return 0;
+ }
+-int sd_rtnl_message_neigh_get_state(sd_netlink_message *m, uint16_t *state) {
++_public_ int sd_rtnl_message_neigh_get_state(sd_netlink_message *m, uint16_t *state) {
+         struct ndmsg *ndm;
+         assert_return(m, -EINVAL);
+@@ -454,7 +454,7 @@ int sd_rtnl_message_neigh_get_state(sd_netlink_message *m, uint16_t *state) {
+         return 0;
+ }
+-int sd_rtnl_message_neigh_get_family(sd_netlink_message *m, int *family) {
++_public_ int sd_rtnl_message_neigh_get_family(sd_netlink_message *m, int *family) {
+         struct ndmsg *ndm;
+         assert_return(m, -EINVAL);
+@@ -469,7 +469,7 @@ int sd_rtnl_message_neigh_get_family(sd_netlink_message *m, int *family) {
+         return 0;
+ }
+-int sd_rtnl_message_neigh_get_ifindex(sd_netlink_message *m, int *index) {
++_public_ int sd_rtnl_message_neigh_get_ifindex(sd_netlink_message *m, int *index) {
+         struct ndmsg *ndm;
+         assert_return(m, -EINVAL);
+@@ -484,7 +484,7 @@ int sd_rtnl_message_neigh_get_ifindex(sd_netlink_message *m, int *index) {
+         return 0;
+ }
+-int sd_rtnl_message_new_neigh(
++_public_ int sd_rtnl_message_new_neigh(
+                 sd_netlink *rtnl,
+                 sd_netlink_message **ret,
+                 uint16_t nlmsg_type,
+@@ -517,7 +517,7 @@ int sd_rtnl_message_new_neigh(
+         return 0;
+ }
+-int sd_rtnl_message_link_set_flags(sd_netlink_message *m, unsigned flags, unsigned change) {
++_public_ int sd_rtnl_message_link_set_flags(sd_netlink_message *m, unsigned flags, unsigned change) {
+         struct ifinfomsg *ifi;
+         assert_return(m, -EINVAL);
+@@ -533,7 +533,7 @@ int sd_rtnl_message_link_set_flags(sd_netlink_message *m, unsigned flags, unsign
+         return 0;
+ }
+-int sd_rtnl_message_link_set_type(sd_netlink_message *m, unsigned type) {
++_public_ int sd_rtnl_message_link_set_type(sd_netlink_message *m, unsigned type) {
+         struct ifinfomsg *ifi;
+         assert_return(m, -EINVAL);
+@@ -547,7 +547,7 @@ int sd_rtnl_message_link_set_type(sd_netlink_message *m, unsigned type) {
+         return 0;
+ }
+-int sd_rtnl_message_link_set_family(sd_netlink_message *m, unsigned family) {
++_public_ int sd_rtnl_message_link_set_family(sd_netlink_message *m, unsigned family) {
+         struct ifinfomsg *ifi;
+         assert_return(m, -EINVAL);
+@@ -561,7 +561,7 @@ int sd_rtnl_message_link_set_family(sd_netlink_message *m, unsigned family) {
+         return 0;
+ }
+-int sd_rtnl_message_new_link(sd_netlink *rtnl, sd_netlink_message **ret,
++_public_ int sd_rtnl_message_new_link(sd_netlink *rtnl, sd_netlink_message **ret,
+                              uint16_t nlmsg_type, int index) {
+         struct ifinfomsg *ifi;
+         int r;
+@@ -586,7 +586,7 @@ int sd_rtnl_message_new_link(sd_netlink *rtnl, sd_netlink_message **ret,
+         return 0;
+ }
+-int sd_rtnl_message_addr_set_prefixlen(sd_netlink_message *m, unsigned char prefixlen) {
++_public_ int sd_rtnl_message_addr_set_prefixlen(sd_netlink_message *m, unsigned char prefixlen) {
+         struct ifaddrmsg *ifa;
+         assert_return(m, -EINVAL);
+@@ -604,7 +604,7 @@ int sd_rtnl_message_addr_set_prefixlen(sd_netlink_message *m, unsigned char pref
+         return 0;
+ }
+-int sd_rtnl_message_addr_set_flags(sd_netlink_message *m, unsigned char flags) {
++_public_ int sd_rtnl_message_addr_set_flags(sd_netlink_message *m, unsigned char flags) {
+         struct ifaddrmsg *ifa;
+         assert_return(m, -EINVAL);
+@@ -618,7 +618,7 @@ int sd_rtnl_message_addr_set_flags(sd_netlink_message *m, unsigned char flags) {
+         return 0;
+ }
+-int sd_rtnl_message_addr_set_scope(sd_netlink_message *m, unsigned char scope) {
++_public_ int sd_rtnl_message_addr_set_scope(sd_netlink_message *m, unsigned char scope) {
+         struct ifaddrmsg *ifa;
+         assert_return(m, -EINVAL);
+@@ -632,7 +632,7 @@ int sd_rtnl_message_addr_set_scope(sd_netlink_message *m, unsigned char scope) {
+         return 0;
+ }
+-int sd_rtnl_message_addr_get_family(sd_netlink_message *m, int *ret_family) {
++_public_ int sd_rtnl_message_addr_get_family(sd_netlink_message *m, int *ret_family) {
+         struct ifaddrmsg *ifa;
+         assert_return(m, -EINVAL);
+@@ -647,7 +647,7 @@ int sd_rtnl_message_addr_get_family(sd_netlink_message *m, int *ret_family) {
+         return 0;
+ }
+-int sd_rtnl_message_addr_get_prefixlen(sd_netlink_message *m, unsigned char *ret_prefixlen) {
++_public_ int sd_rtnl_message_addr_get_prefixlen(sd_netlink_message *m, unsigned char *ret_prefixlen) {
+         struct ifaddrmsg *ifa;
+         assert_return(m, -EINVAL);
+@@ -662,7 +662,7 @@ int sd_rtnl_message_addr_get_prefixlen(sd_netlink_message *m, unsigned char *ret
+         return 0;
+ }
+-int sd_rtnl_message_addr_get_scope(sd_netlink_message *m, unsigned char *ret_scope) {
++_public_ int sd_rtnl_message_addr_get_scope(sd_netlink_message *m, unsigned char *ret_scope) {
+         struct ifaddrmsg *ifa;
+         assert_return(m, -EINVAL);
+@@ -677,7 +677,7 @@ int sd_rtnl_message_addr_get_scope(sd_netlink_message *m, unsigned char *ret_sco
+         return 0;
+ }
+-int sd_rtnl_message_addr_get_flags(sd_netlink_message *m, unsigned char *ret_flags) {
++_public_ int sd_rtnl_message_addr_get_flags(sd_netlink_message *m, unsigned char *ret_flags) {
+         struct ifaddrmsg *ifa;
+         assert_return(m, -EINVAL);
+@@ -692,7 +692,7 @@ int sd_rtnl_message_addr_get_flags(sd_netlink_message *m, unsigned char *ret_fla
+         return 0;
+ }
+-int sd_rtnl_message_addr_get_ifindex(sd_netlink_message *m, int *ret_ifindex) {
++_public_ int sd_rtnl_message_addr_get_ifindex(sd_netlink_message *m, int *ret_ifindex) {
+         struct ifaddrmsg *ifa;
+         assert_return(m, -EINVAL);
+@@ -707,7 +707,7 @@ int sd_rtnl_message_addr_get_ifindex(sd_netlink_message *m, int *ret_ifindex) {
+         return 0;
+ }
+-int sd_rtnl_message_new_addr(
++_public_ int sd_rtnl_message_new_addr(
+                 sd_netlink *rtnl,
+                 sd_netlink_message **ret,
+                 uint16_t nlmsg_type,
+@@ -736,7 +736,7 @@ int sd_rtnl_message_new_addr(
+         return 0;
+ }
+-int sd_rtnl_message_new_addr_update(
++_public_ int sd_rtnl_message_new_addr_update(
+                 sd_netlink *rtnl,
+                 sd_netlink_message **ret,
+                 int index,
+@@ -752,7 +752,7 @@ int sd_rtnl_message_new_addr_update(
+         return 0;
+ }
+-int sd_rtnl_message_link_get_ifindex(sd_netlink_message *m, int *ifindex) {
++_public_ int sd_rtnl_message_link_get_ifindex(sd_netlink_message *m, int *ifindex) {
+         struct ifinfomsg *ifi;
+         assert_return(m, -EINVAL);
+@@ -767,7 +767,7 @@ int sd_rtnl_message_link_get_ifindex(sd_netlink_message *m, int *ifindex) {
+         return 0;
+ }
+-int sd_rtnl_message_link_get_flags(sd_netlink_message *m, unsigned *flags) {
++_public_ int sd_rtnl_message_link_get_flags(sd_netlink_message *m, unsigned *flags) {
+         struct ifinfomsg *ifi;
+         assert_return(m, -EINVAL);
+@@ -782,7 +782,7 @@ int sd_rtnl_message_link_get_flags(sd_netlink_message *m, unsigned *flags) {
+         return 0;
+ }
+-int sd_rtnl_message_link_get_type(sd_netlink_message *m, unsigned short *type) {
++_public_ int sd_rtnl_message_link_get_type(sd_netlink_message *m, unsigned short *type) {
+         struct ifinfomsg *ifi;
+         assert_return(m, -EINVAL);
+@@ -797,7 +797,7 @@ int sd_rtnl_message_link_get_type(sd_netlink_message *m, unsigned short *type) {
+         return 0;
+ }
+-int sd_rtnl_message_get_family(sd_netlink_message *m, int *family) {
++_public_ int sd_rtnl_message_get_family(sd_netlink_message *m, int *family) {
+         assert_return(m, -EINVAL);
+         assert_return(family, -EINVAL);
+@@ -856,7 +856,7 @@ int sd_rtnl_message_get_family(sd_netlink_message *m, int *family) {
+         return -EOPNOTSUPP;
+ }
+-int sd_rtnl_message_new_addrlabel(
++_public_ int sd_rtnl_message_new_addrlabel(
+                 sd_netlink *rtnl,
+                 sd_netlink_message **ret,
+                 uint16_t nlmsg_type,
+@@ -884,7 +884,7 @@ int sd_rtnl_message_new_addrlabel(
+         return 0;
+ }
+-int sd_rtnl_message_addrlabel_set_prefixlen(sd_netlink_message *m, unsigned char prefixlen) {
++_public_ int sd_rtnl_message_addrlabel_set_prefixlen(sd_netlink_message *m, unsigned char prefixlen) {
+         struct ifaddrlblmsg *addrlabel;
+         assert_return(m, -EINVAL);
+@@ -901,7 +901,7 @@ int sd_rtnl_message_addrlabel_set_prefixlen(sd_netlink_message *m, unsigned char
+         return 0;
+ }
+-int sd_rtnl_message_addrlabel_get_prefixlen(sd_netlink_message *m, unsigned char *prefixlen) {
++_public_ int sd_rtnl_message_addrlabel_get_prefixlen(sd_netlink_message *m, unsigned char *prefixlen) {
+         struct ifaddrlblmsg *addrlabel;
+         assert_return(m, -EINVAL);
+@@ -915,7 +915,7 @@ int sd_rtnl_message_addrlabel_get_prefixlen(sd_netlink_message *m, unsigned char
+         return 0;
+ }
+-int sd_rtnl_message_new_routing_policy_rule(
++_public_ int sd_rtnl_message_new_routing_policy_rule(
+                 sd_netlink *rtnl,
+                 sd_netlink_message **ret,
+                 uint16_t nlmsg_type,
+@@ -940,7 +940,7 @@ int sd_rtnl_message_new_routing_policy_rule(
+         return 0;
+ }
+-int sd_rtnl_message_routing_policy_rule_set_tos(sd_netlink_message *m, uint8_t tos) {
++_public_ int sd_rtnl_message_routing_policy_rule_set_tos(sd_netlink_message *m, uint8_t tos) {
+         struct fib_rule_hdr *frh;
+         assert_return(m, -EINVAL);
+@@ -954,7 +954,7 @@ int sd_rtnl_message_routing_policy_rule_set_tos(sd_netlink_message *m, uint8_t t
+         return 0;
+ }
+-int sd_rtnl_message_routing_policy_rule_get_tos(sd_netlink_message *m, uint8_t *tos) {
++_public_ int sd_rtnl_message_routing_policy_rule_get_tos(sd_netlink_message *m, uint8_t *tos) {
+         struct fib_rule_hdr *frh;
+         assert_return(m, -EINVAL);
+@@ -968,7 +968,7 @@ int sd_rtnl_message_routing_policy_rule_get_tos(sd_netlink_message *m, uint8_t *
+         return 0;
+ }
+-int sd_rtnl_message_routing_policy_rule_set_table(sd_netlink_message *m, uint8_t table) {
++_public_ int sd_rtnl_message_routing_policy_rule_set_table(sd_netlink_message *m, uint8_t table) {
+         struct fib_rule_hdr *frh;
+         assert_return(m, -EINVAL);
+@@ -982,7 +982,7 @@ int sd_rtnl_message_routing_policy_rule_set_table(sd_netlink_message *m, uint8_t
+         return 0;
+ }
+-int sd_rtnl_message_routing_policy_rule_get_table(sd_netlink_message *m, uint8_t *table) {
++_public_ int sd_rtnl_message_routing_policy_rule_get_table(sd_netlink_message *m, uint8_t *table) {
+         struct fib_rule_hdr *frh;
+         assert_return(m, -EINVAL);
+@@ -996,7 +996,7 @@ int sd_rtnl_message_routing_policy_rule_get_table(sd_netlink_message *m, uint8_t
+         return 0;
+ }
+-int sd_rtnl_message_routing_policy_rule_set_flags(sd_netlink_message *m, uint32_t flags) {
++_public_ int sd_rtnl_message_routing_policy_rule_set_flags(sd_netlink_message *m, uint32_t flags) {
+         struct fib_rule_hdr *frh;
+         assert_return(m, -EINVAL);
+@@ -1009,7 +1009,7 @@ int sd_rtnl_message_routing_policy_rule_set_flags(sd_netlink_message *m, uint32_
+         return 0;
+ }
+-int sd_rtnl_message_routing_policy_rule_get_flags(sd_netlink_message *m, uint32_t *flags) {
++_public_ int sd_rtnl_message_routing_policy_rule_get_flags(sd_netlink_message *m, uint32_t *flags) {
+         struct fib_rule_hdr *frh;
+         assert_return(m, -EINVAL);
+@@ -1022,7 +1022,7 @@ int sd_rtnl_message_routing_policy_rule_get_flags(sd_netlink_message *m, uint32_
+         return 0;
+ }
+-int sd_rtnl_message_routing_policy_rule_set_fib_type(sd_netlink_message *m, uint8_t type) {
++_public_ int sd_rtnl_message_routing_policy_rule_set_fib_type(sd_netlink_message *m, uint8_t type) {
+         struct fib_rule_hdr *frh;
+         assert_return(m, -EINVAL);
+@@ -1036,7 +1036,7 @@ int sd_rtnl_message_routing_policy_rule_set_fib_type(sd_netlink_message *m, uint
+         return 0;
+ }
+-int sd_rtnl_message_routing_policy_rule_get_fib_type(sd_netlink_message *m, uint8_t *type) {
++_public_ int sd_rtnl_message_routing_policy_rule_get_fib_type(sd_netlink_message *m, uint8_t *type) {
+         struct fib_rule_hdr *frh;
+         assert_return(m, -EINVAL);
+@@ -1050,7 +1050,7 @@ int sd_rtnl_message_routing_policy_rule_get_fib_type(sd_netlink_message *m, uint
+         return 0;
+ }
+-int sd_rtnl_message_routing_policy_rule_set_fib_dst_prefixlen(sd_netlink_message *m, uint8_t len) {
++_public_ int sd_rtnl_message_routing_policy_rule_set_fib_dst_prefixlen(sd_netlink_message *m, uint8_t len) {
+         struct fib_rule_hdr *frh;
+         assert_return(m, -EINVAL);
+@@ -1064,7 +1064,7 @@ int sd_rtnl_message_routing_policy_rule_set_fib_dst_prefixlen(sd_netlink_message
+         return 0;
+ }
+-int sd_rtnl_message_routing_policy_rule_get_fib_dst_prefixlen(sd_netlink_message *m, uint8_t *len) {
++_public_ int sd_rtnl_message_routing_policy_rule_get_fib_dst_prefixlen(sd_netlink_message *m, uint8_t *len) {
+         struct fib_rule_hdr *frh;
+         assert_return(m, -EINVAL);
+@@ -1078,7 +1078,7 @@ int sd_rtnl_message_routing_policy_rule_get_fib_dst_prefixlen(sd_netlink_message
+         return 0;
+ }
+-int sd_rtnl_message_routing_policy_rule_set_fib_src_prefixlen(sd_netlink_message *m, uint8_t len) {
++_public_ int sd_rtnl_message_routing_policy_rule_set_fib_src_prefixlen(sd_netlink_message *m, uint8_t len) {
+         struct fib_rule_hdr *frh;
+         assert_return(m, -EINVAL);
+@@ -1092,7 +1092,7 @@ int sd_rtnl_message_routing_policy_rule_set_fib_src_prefixlen(sd_netlink_message
+         return 0;
+ }
+-int sd_rtnl_message_routing_policy_rule_get_fib_src_prefixlen(sd_netlink_message *m, uint8_t *len) {
++_public_ int sd_rtnl_message_routing_policy_rule_get_fib_src_prefixlen(sd_netlink_message *m, uint8_t *len) {
+         struct fib_rule_hdr *frh;
+         assert_return(m, -EINVAL);
+@@ -1106,7 +1106,7 @@ int sd_rtnl_message_routing_policy_rule_get_fib_src_prefixlen(sd_netlink_message
+         return 0;
+ }
+-int sd_rtnl_message_new_traffic_control(
++_public_ int sd_rtnl_message_new_traffic_control(
+                 sd_netlink *rtnl,
+                 sd_netlink_message **ret,
+                 uint16_t nlmsg_type,
+@@ -1135,7 +1135,7 @@ int sd_rtnl_message_new_traffic_control(
+         return 0;
+ }
+-int sd_rtnl_message_traffic_control_get_ifindex(sd_netlink_message *m, int *ret) {
++_public_ int sd_rtnl_message_traffic_control_get_ifindex(sd_netlink_message *m, int *ret) {
+         struct tcmsg *tcm;
+         assert_return(m, -EINVAL);
+@@ -1149,7 +1149,7 @@ int sd_rtnl_message_traffic_control_get_ifindex(sd_netlink_message *m, int *ret)
+         return 0;
+ }
+-int sd_rtnl_message_traffic_control_get_handle(sd_netlink_message *m, uint32_t *ret) {
++_public_ int sd_rtnl_message_traffic_control_get_handle(sd_netlink_message *m, uint32_t *ret) {
+         struct tcmsg *tcm;
+         assert_return(m, -EINVAL);
+@@ -1163,7 +1163,7 @@ int sd_rtnl_message_traffic_control_get_handle(sd_netlink_message *m, uint32_t *
+         return 0;
+ }
+-int sd_rtnl_message_traffic_control_get_parent(sd_netlink_message *m, uint32_t *ret) {
++_public_ int sd_rtnl_message_traffic_control_get_parent(sd_netlink_message *m, uint32_t *ret) {
+         struct tcmsg *tcm;
+         assert_return(m, -EINVAL);
+@@ -1177,7 +1177,7 @@ int sd_rtnl_message_traffic_control_get_parent(sd_netlink_message *m, uint32_t *
+         return 0;
+ }
+-int sd_rtnl_message_new_mdb(
++_public_ int sd_rtnl_message_new_mdb(
+                 sd_netlink *rtnl,
+                 sd_netlink_message **ret,
+                 uint16_t nlmsg_type,
+diff --git a/src/libsystemd/sd-netlink/netlink-message.c b/src/libsystemd/sd-netlink/netlink-message.c
+index 000a50ee3e..33bec2ac9b 100644
+--- a/src/libsystemd/sd-netlink/netlink-message.c
++++ b/src/libsystemd/sd-netlink/netlink-message.c
+@@ -113,7 +113,7 @@ int message_new_synthetic_error(sd_netlink *nl, int error, uint32_t serial, sd_n
+         return 0;
+ }
+-int sd_netlink_message_set_request_dump(sd_netlink_message *m, int dump) {
++_public_ int sd_netlink_message_set_request_dump(sd_netlink_message *m, int dump) {
+         assert_return(m, -EINVAL);
+         assert_return(m->hdr, -EINVAL);
+         assert_return(m->protocol != NETLINK_ROUTE ||
+@@ -129,7 +129,7 @@ int sd_netlink_message_set_request_dump(sd_netlink_message *m, int dump) {
+ DEFINE_TRIVIAL_REF_FUNC(sd_netlink_message, sd_netlink_message);
+-sd_netlink_message* sd_netlink_message_unref(sd_netlink_message *m) {
++_public_ sd_netlink_message* sd_netlink_message_unref(sd_netlink_message *m) {
+         while (m && --m->n_ref == 0) {
+                 unsigned i;
+@@ -146,7 +146,7 @@ sd_netlink_message* sd_netlink_message_unref(sd_netlink_message *m) {
+         return NULL;
+ }
+-int sd_netlink_message_get_type(sd_netlink_message *m, uint16_t *ret) {
++_public_ int sd_netlink_message_get_type(sd_netlink_message *m, uint16_t *ret) {
+         assert_return(m, -EINVAL);
+         assert_return(ret, -EINVAL);
+@@ -155,7 +155,7 @@ int sd_netlink_message_get_type(sd_netlink_message *m, uint16_t *ret) {
+         return 0;
+ }
+-int sd_netlink_message_set_flags(sd_netlink_message *m, uint16_t flags) {
++_public_ int sd_netlink_message_set_flags(sd_netlink_message *m, uint16_t flags) {
+         assert_return(m, -EINVAL);
+         assert_return(flags != 0, -EINVAL);
+@@ -164,7 +164,7 @@ int sd_netlink_message_set_flags(sd_netlink_message *m, uint16_t flags) {
+         return 0;
+ }
+-int sd_netlink_message_is_broadcast(sd_netlink_message *m) {
++_public_ int sd_netlink_message_is_broadcast(sd_netlink_message *m) {
+         assert_return(m, -EINVAL);
+         return m->multicast_group != 0;
+@@ -230,7 +230,7 @@ static int message_attribute_has_type(sd_netlink_message *m, size_t *ret_size, u
+         return 0;
+ }
+-int sd_netlink_message_append_string(sd_netlink_message *m, uint16_t attr_type, const char *data) {
++_public_ int sd_netlink_message_append_string(sd_netlink_message *m, uint16_t attr_type, const char *data) {
+         size_t length, size;
+         int r;
+@@ -256,7 +256,7 @@ int sd_netlink_message_append_string(sd_netlink_message *m, uint16_t attr_type,
+         return 0;
+ }
+-int sd_netlink_message_append_strv(sd_netlink_message *m, uint16_t attr_type, const char* const *data) {
++_public_ int sd_netlink_message_append_strv(sd_netlink_message *m, uint16_t attr_type, const char* const *data) {
+         size_t length, size;
+         int r;
+@@ -284,7 +284,7 @@ int sd_netlink_message_append_strv(sd_netlink_message *m, uint16_t attr_type, co
+         return 0;
+ }
+-int sd_netlink_message_append_flag(sd_netlink_message *m, uint16_t attr_type) {
++_public_ int sd_netlink_message_append_flag(sd_netlink_message *m, uint16_t attr_type) {
+         size_t size;
+         int r;
+@@ -302,7 +302,7 @@ int sd_netlink_message_append_flag(sd_netlink_message *m, uint16_t attr_type) {
+         return 0;
+ }
+-int sd_netlink_message_append_u8(sd_netlink_message *m, uint16_t attr_type, uint8_t data) {
++_public_ int sd_netlink_message_append_u8(sd_netlink_message *m, uint16_t attr_type, uint8_t data) {
+         int r;
+         assert_return(m, -EINVAL);
+@@ -319,7 +319,7 @@ int sd_netlink_message_append_u8(sd_netlink_message *m, uint16_t attr_type, uint
+         return 0;
+ }
+-int sd_netlink_message_append_u16(sd_netlink_message *m, uint16_t attr_type, uint16_t data) {
++_public_ int sd_netlink_message_append_u16(sd_netlink_message *m, uint16_t attr_type, uint16_t data) {
+         int r;
+         assert_return(m, -EINVAL);
+@@ -336,7 +336,7 @@ int sd_netlink_message_append_u16(sd_netlink_message *m, uint16_t attr_type, uin
+         return 0;
+ }
+-int sd_netlink_message_append_u32(sd_netlink_message *m, uint16_t attr_type, uint32_t data) {
++_public_ int sd_netlink_message_append_u32(sd_netlink_message *m, uint16_t attr_type, uint32_t data) {
+         int r;
+         assert_return(m, -EINVAL);
+@@ -353,7 +353,7 @@ int sd_netlink_message_append_u32(sd_netlink_message *m, uint16_t attr_type, uin
+         return 0;
+ }
+-int sd_netlink_message_append_u64(sd_netlink_message *m, uint16_t attr_type, uint64_t data) {
++_public_ int sd_netlink_message_append_u64(sd_netlink_message *m, uint16_t attr_type, uint64_t data) {
+         int r;
+         assert_return(m, -EINVAL);
+@@ -370,7 +370,7 @@ int sd_netlink_message_append_u64(sd_netlink_message *m, uint16_t attr_type, uin
+         return 0;
+ }
+-int sd_netlink_message_append_s8(sd_netlink_message *m, uint16_t attr_type, int8_t data) {
++_public_ int sd_netlink_message_append_s8(sd_netlink_message *m, uint16_t attr_type, int8_t data) {
+         int r;
+         assert_return(m, -EINVAL);
+@@ -387,7 +387,7 @@ int sd_netlink_message_append_s8(sd_netlink_message *m, uint16_t attr_type, int8
+         return 0;
+ }
+-int sd_netlink_message_append_s16(sd_netlink_message *m, uint16_t attr_type, int16_t data) {
++_public_ int sd_netlink_message_append_s16(sd_netlink_message *m, uint16_t attr_type, int16_t data) {
+         int r;
+         assert_return(m, -EINVAL);
+@@ -404,7 +404,7 @@ int sd_netlink_message_append_s16(sd_netlink_message *m, uint16_t attr_type, int
+         return 0;
+ }
+-int sd_netlink_message_append_s32(sd_netlink_message *m, uint16_t attr_type, int32_t data) {
++_public_ int sd_netlink_message_append_s32(sd_netlink_message *m, uint16_t attr_type, int32_t data) {
+         int r;
+         assert_return(m, -EINVAL);
+@@ -421,7 +421,7 @@ int sd_netlink_message_append_s32(sd_netlink_message *m, uint16_t attr_type, int
+         return 0;
+ }
+-int sd_netlink_message_append_s64(sd_netlink_message *m, uint16_t attr_type, int64_t data) {
++_public_ int sd_netlink_message_append_s64(sd_netlink_message *m, uint16_t attr_type, int64_t data) {
+         int r;
+         assert_return(m, -EINVAL);
+@@ -438,7 +438,7 @@ int sd_netlink_message_append_s64(sd_netlink_message *m, uint16_t attr_type, int
+         return 0;
+ }
+-int sd_netlink_message_append_data(sd_netlink_message *m, uint16_t attr_type, const void *data, size_t len) {
++_public_ int sd_netlink_message_append_data(sd_netlink_message *m, uint16_t attr_type, const void *data, size_t len) {
+         int r;
+         assert_return(m, -EINVAL);
+@@ -451,7 +451,7 @@ int sd_netlink_message_append_data(sd_netlink_message *m, uint16_t attr_type, co
+         return 0;
+ }
+-int sd_netlink_message_append_container_data(
++_public_ int sd_netlink_message_append_container_data(
+                 sd_netlink_message *m,
+                 uint16_t container_type,
+                 uint16_t attr_type,
+@@ -493,11 +493,11 @@ int netlink_message_append_in_addr_union(sd_netlink_message *m, uint16_t attr_ty
+         return 0;
+ }
+-int sd_netlink_message_append_in_addr(sd_netlink_message *m, uint16_t attr_type, const struct in_addr *data) {
++_public_ int sd_netlink_message_append_in_addr(sd_netlink_message *m, uint16_t attr_type, const struct in_addr *data) {
+         return netlink_message_append_in_addr_union(m, attr_type, AF_INET, (const union in_addr_union *) data);
+ }
+-int sd_netlink_message_append_in6_addr(sd_netlink_message *m, uint16_t attr_type, const struct in6_addr *data) {
++_public_ int sd_netlink_message_append_in6_addr(sd_netlink_message *m, uint16_t attr_type, const struct in6_addr *data) {
+         return netlink_message_append_in_addr_union(m, attr_type, AF_INET6, (const union in_addr_union *) data);
+ }
+@@ -520,15 +520,15 @@ int netlink_message_append_sockaddr_union(sd_netlink_message *m, uint16_t attr_t
+         return 0;
+ }
+-int sd_netlink_message_append_sockaddr_in(sd_netlink_message *m, uint16_t attr_type, const struct sockaddr_in *data) {
++_public_ int sd_netlink_message_append_sockaddr_in(sd_netlink_message *m, uint16_t attr_type, const struct sockaddr_in *data) {
+         return netlink_message_append_sockaddr_union(m, attr_type, (const union sockaddr_union *) data);
+ }
+-int sd_netlink_message_append_sockaddr_in6(sd_netlink_message *m, uint16_t attr_type, const struct sockaddr_in6 *data) {
++_public_ int sd_netlink_message_append_sockaddr_in6(sd_netlink_message *m, uint16_t attr_type, const struct sockaddr_in6 *data) {
+         return netlink_message_append_sockaddr_union(m, attr_type, (const union sockaddr_union *) data);
+ }
+-int sd_netlink_message_append_ether_addr(sd_netlink_message *m, uint16_t attr_type, const struct ether_addr *data) {
++_public_ int sd_netlink_message_append_ether_addr(sd_netlink_message *m, uint16_t attr_type, const struct ether_addr *data) {
+         int r;
+         assert_return(m, -EINVAL);
+@@ -565,7 +565,7 @@ int netlink_message_append_hw_addr(sd_netlink_message *m, uint16_t attr_type, co
+         return 0;
+ }
+-int sd_netlink_message_append_cache_info(sd_netlink_message *m, uint16_t attr_type, const struct ifa_cacheinfo *info) {
++_public_ int sd_netlink_message_append_cache_info(sd_netlink_message *m, uint16_t attr_type, const struct ifa_cacheinfo *info) {
+         int r;
+         assert_return(m, -EINVAL);
+@@ -583,7 +583,7 @@ int sd_netlink_message_append_cache_info(sd_netlink_message *m, uint16_t attr_ty
+         return 0;
+ }
+-int sd_netlink_message_open_container(sd_netlink_message *m, uint16_t attr_type) {
++_public_ int sd_netlink_message_open_container(sd_netlink_message *m, uint16_t attr_type) {
+         size_t size;
+         int r;
+@@ -632,7 +632,7 @@ int sd_netlink_message_open_container(sd_netlink_message *m, uint16_t attr_type)
+         return 0;
+ }
+-int sd_netlink_message_open_container_union(sd_netlink_message *m, uint16_t attr_type, const char *key) {
++_public_ int sd_netlink_message_open_container_union(sd_netlink_message *m, uint16_t attr_type, const char *key) {
+         const NLAPolicySetUnion *policy_set_union;
+         int r;
+@@ -671,7 +671,7 @@ int sd_netlink_message_open_container_union(sd_netlink_message *m, uint16_t attr
+         return 0;
+ }
+-int sd_netlink_message_close_container(sd_netlink_message *m) {
++_public_ int sd_netlink_message_close_container(sd_netlink_message *m) {
+         assert_return(m, -EINVAL);
+         assert_return(!m->sealed, -EPERM);
+         assert_return(m->n_containers > 0, -EINVAL);
+@@ -683,7 +683,7 @@ int sd_netlink_message_close_container(sd_netlink_message *m) {
+         return 0;
+ }
+-int sd_netlink_message_open_array(sd_netlink_message *m, uint16_t attr_type) {
++_public_ int sd_netlink_message_open_array(sd_netlink_message *m, uint16_t attr_type) {
+         int r;
+         assert_return(m, -EINVAL);
+@@ -701,7 +701,7 @@ int sd_netlink_message_open_array(sd_netlink_message *m, uint16_t attr_type) {
+         return 0;
+ }
+-int sd_netlink_message_cancel_array(sd_netlink_message *m) {
++_public_ int sd_netlink_message_cancel_array(sd_netlink_message *m) {
+         uint32_t rta_len;
+         assert_return(m, -EINVAL);
+@@ -757,7 +757,7 @@ static int netlink_message_read_internal(
+         return RTA_PAYLOAD(rta);
+ }
+-int sd_netlink_message_read(sd_netlink_message *m, uint16_t attr_type, size_t size, void *data) {
++_public_ int sd_netlink_message_read(sd_netlink_message *m, uint16_t attr_type, size_t size, void *data) {
+         void *attr_data;
+         int r;
+@@ -776,7 +776,7 @@ int sd_netlink_message_read(sd_netlink_message *m, uint16_t attr_type, size_t si
+         return r;
+ }
+-int sd_netlink_message_read_data(sd_netlink_message *m, uint16_t attr_type, size_t *ret_size, void **ret_data) {
++_public_ int sd_netlink_message_read_data(sd_netlink_message *m, uint16_t attr_type, size_t *ret_size, void **ret_data) {
+         void *attr_data;
+         int r;
+@@ -802,7 +802,7 @@ int sd_netlink_message_read_data(sd_netlink_message *m, uint16_t attr_type, size
+         return r;
+ }
+-int sd_netlink_message_read_data_suffix0(sd_netlink_message *m, uint16_t attr_type, size_t *ret_size, void **ret_data) {
++_public_ int sd_netlink_message_read_data_suffix0(sd_netlink_message *m, uint16_t attr_type, size_t *ret_size, void **ret_data) {
+         void *attr_data;
+         int r;
+@@ -828,7 +828,7 @@ int sd_netlink_message_read_data_suffix0(sd_netlink_message *m, uint16_t attr_ty
+         return r;
+ }
+-int sd_netlink_message_read_string_strdup(sd_netlink_message *m, uint16_t attr_type, char **data) {
++_public_ int sd_netlink_message_read_string_strdup(sd_netlink_message *m, uint16_t attr_type, char **data) {
+         void *attr_data;
+         int r;
+@@ -855,7 +855,7 @@ int sd_netlink_message_read_string_strdup(sd_netlink_message *m, uint16_t attr_t
+         return 0;
+ }
+-int sd_netlink_message_read_string(sd_netlink_message *m, uint16_t attr_type, const char **data) {
++_public_ int sd_netlink_message_read_string(sd_netlink_message *m, uint16_t attr_type, const char **data) {
+         void *attr_data;
+         int r;
+@@ -878,7 +878,7 @@ int sd_netlink_message_read_string(sd_netlink_message *m, uint16_t attr_type, co
+         return 0;
+ }
+-int sd_netlink_message_read_u8(sd_netlink_message *m, uint16_t attr_type, uint8_t *data) {
++_public_ int sd_netlink_message_read_u8(sd_netlink_message *m, uint16_t attr_type, uint8_t *data) {
+         void *attr_data;
+         int r;
+@@ -901,7 +901,7 @@ int sd_netlink_message_read_u8(sd_netlink_message *m, uint16_t attr_type, uint8_
+         return 0;
+ }
+-int sd_netlink_message_read_u16(sd_netlink_message *m, uint16_t attr_type, uint16_t *data) {
++_public_ int sd_netlink_message_read_u16(sd_netlink_message *m, uint16_t attr_type, uint16_t *data) {
+         void *attr_data;
+         bool net_byteorder;
+         int r;
+@@ -929,7 +929,7 @@ int sd_netlink_message_read_u16(sd_netlink_message *m, uint16_t attr_type, uint1
+         return 0;
+ }
+-int sd_netlink_message_read_u32(sd_netlink_message *m, uint16_t attr_type, uint32_t *data) {
++_public_ int sd_netlink_message_read_u32(sd_netlink_message *m, uint16_t attr_type, uint32_t *data) {
+         void *attr_data;
+         bool net_byteorder;
+         int r;
+@@ -957,7 +957,7 @@ int sd_netlink_message_read_u32(sd_netlink_message *m, uint16_t attr_type, uint3
+         return 0;
+ }
+-int sd_netlink_message_read_ether_addr(sd_netlink_message *m, uint16_t attr_type, struct ether_addr *data) {
++_public_ int sd_netlink_message_read_ether_addr(sd_netlink_message *m, uint16_t attr_type, struct ether_addr *data) {
+         void *attr_data;
+         int r;
+@@ -1005,7 +1005,7 @@ int netlink_message_read_hw_addr(sd_netlink_message *m, uint16_t attr_type, stru
+         return 0;
+ }
+-int sd_netlink_message_read_cache_info(sd_netlink_message *m, uint16_t attr_type, struct ifa_cacheinfo *info) {
++_public_ int sd_netlink_message_read_cache_info(sd_netlink_message *m, uint16_t attr_type, struct ifa_cacheinfo *info) {
+         void *attr_data;
+         int r;
+@@ -1052,7 +1052,7 @@ int netlink_message_read_in_addr_union(sd_netlink_message *m, uint16_t attr_type
+         return 0;
+ }
+-int sd_netlink_message_read_in_addr(sd_netlink_message *m, uint16_t attr_type, struct in_addr *data) {
++_public_ int sd_netlink_message_read_in_addr(sd_netlink_message *m, uint16_t attr_type, struct in_addr *data) {
+         union in_addr_union u;
+         int r;
+@@ -1063,7 +1063,7 @@ int sd_netlink_message_read_in_addr(sd_netlink_message *m, uint16_t attr_type, s
+         return r;
+ }
+-int sd_netlink_message_read_in6_addr(sd_netlink_message *m, uint16_t attr_type, struct in6_addr *data) {
++_public_ int sd_netlink_message_read_in6_addr(sd_netlink_message *m, uint16_t attr_type, struct in6_addr *data) {
+         union in_addr_union u;
+         int r;
+@@ -1074,7 +1074,7 @@ int sd_netlink_message_read_in6_addr(sd_netlink_message *m, uint16_t attr_type,
+         return r;
+ }
+-int sd_netlink_message_has_flag(sd_netlink_message *m, uint16_t attr_type) {
++_public_ int sd_netlink_message_has_flag(sd_netlink_message *m, uint16_t attr_type) {
+         void *attr_data;
+         int r;
+@@ -1095,7 +1095,7 @@ int sd_netlink_message_has_flag(sd_netlink_message *m, uint16_t attr_type) {
+         return 1;
+ }
+-int sd_netlink_message_read_strv(sd_netlink_message *m, uint16_t container_type, uint16_t attr_type, char ***ret) {
++_public_ int sd_netlink_message_read_strv(sd_netlink_message *m, uint16_t container_type, uint16_t attr_type, char ***ret) {
+         _cleanup_strv_free_ char **s = NULL;
+         const NLAPolicySet *policy_set;
+         const NLAPolicy *policy;
+@@ -1192,7 +1192,7 @@ static int netlink_container_parse(
+         return 0;
+ }
+-int sd_netlink_message_enter_container(sd_netlink_message *m, uint16_t attr_type) {
++_public_ int sd_netlink_message_enter_container(sd_netlink_message *m, uint16_t attr_type) {
+         const NLAPolicy *policy;
+         const NLAPolicySet *policy_set;
+         void *container;
+@@ -1279,7 +1279,7 @@ int sd_netlink_message_enter_container(sd_netlink_message *m, uint16_t attr_type
+         return 0;
+ }
+-int sd_netlink_message_enter_array(sd_netlink_message *m, uint16_t attr_type) {
++_public_ int sd_netlink_message_enter_array(sd_netlink_message *m, uint16_t attr_type) {
+         void *container;
+         size_t size;
+         int r;
+@@ -1308,7 +1308,7 @@ int sd_netlink_message_enter_array(sd_netlink_message *m, uint16_t attr_type) {
+         return 0;
+ }
+-int sd_netlink_message_exit_container(sd_netlink_message *m) {
++_public_ int sd_netlink_message_exit_container(sd_netlink_message *m) {
+         assert_return(m, -EINVAL);
+         assert_return(m->sealed, -EINVAL);
+         assert_return(m->n_containers > 0, -EINVAL);
+@@ -1322,7 +1322,7 @@ int sd_netlink_message_exit_container(sd_netlink_message *m) {
+         return 0;
+ }
+-int sd_netlink_message_get_max_attribute(sd_netlink_message *m, uint16_t *ret) {
++_public_ int sd_netlink_message_get_max_attribute(sd_netlink_message *m, uint16_t *ret) {
+         assert_return(m, -EINVAL);
+         assert_return(m->sealed, -EINVAL);
+         assert_return(ret, -EINVAL);
+@@ -1331,14 +1331,14 @@ int sd_netlink_message_get_max_attribute(sd_netlink_message *m, uint16_t *ret) {
+         return 0;
+ }
+-int sd_netlink_message_is_error(sd_netlink_message *m) {
++_public_ int sd_netlink_message_is_error(sd_netlink_message *m) {
+         assert_return(m, 0);
+         assert_return(m->hdr, 0);
+         return m->hdr->nlmsg_type == NLMSG_ERROR;
+ }
+-int sd_netlink_message_get_errno(sd_netlink_message *m) {
++_public_ int sd_netlink_message_get_errno(sd_netlink_message *m) {
+         struct nlmsgerr *err;
+         assert_return(m, -EINVAL);
+@@ -1373,7 +1373,7 @@ static int netlink_message_parse_error(sd_netlink_message *m) {
+                                        NLMSG_PAYLOAD(m->hdr, hlen));
+ }
+-int sd_netlink_message_rewind(sd_netlink_message *m, sd_netlink *nl) {
++_public_ int sd_netlink_message_rewind(sd_netlink_message *m, sd_netlink *nl) {
+         size_t size;
+         int r;
+diff --git a/src/libsystemd/sd-netlink/sd-netlink.c b/src/libsystemd/sd-netlink/sd-netlink.c
+index ce0687eb57..fbebcf301b 100644
+--- a/src/libsystemd/sd-netlink/sd-netlink.c
++++ b/src/libsystemd/sd-netlink/sd-netlink.c
+@@ -65,7 +65,7 @@ static int netlink_new(sd_netlink **ret) {
+         return 0;
+ }
+-int sd_netlink_open_fd(sd_netlink **ret, int fd) {
++_public_ int sd_netlink_open_fd(sd_netlink **ret, int fd) {
+         _cleanup_(sd_netlink_unrefp) sd_netlink *nl = NULL;
+         int r, protocol;
+@@ -103,11 +103,11 @@ int sd_netlink_open_fd(sd_netlink **ret, int fd) {
+         return 0;
+ }
+-int sd_netlink_open(sd_netlink **ret) {
++_public_ int sd_netlink_open(sd_netlink **ret) {
+         return netlink_open_family(ret, NETLINK_ROUTE);
+ }
+-int sd_netlink_increase_rxbuf(sd_netlink *nl, size_t size) {
++_public_ int sd_netlink_increase_rxbuf(sd_netlink *nl, size_t size) {
+         assert_return(nl, -EINVAL);
+         assert_return(!netlink_pid_changed(nl), -ECHILD);
+@@ -145,7 +145,7 @@ static sd_netlink *netlink_free(sd_netlink *nl) {
+ DEFINE_TRIVIAL_REF_UNREF_FUNC(sd_netlink, sd_netlink, netlink_free);
+-int sd_netlink_send(
++_public_ int sd_netlink_send(
+                 sd_netlink *nl,
+                 sd_netlink_message *message,
+                 uint32_t *serial) {
+@@ -451,7 +451,7 @@ static int timeout_compare(const void *a, const void *b) {
+         return CMP(x->timeout, y->timeout);
+ }
+-int sd_netlink_call_async(
++_public_ int sd_netlink_call_async(
+                 sd_netlink *nl,
+                 sd_netlink_slot **ret_slot,
+                 sd_netlink_message *m,
+@@ -516,7 +516,7 @@ int sd_netlink_call_async(
+         return k;
+ }
+-int sd_netlink_read(
++_public_ int sd_netlink_read(
+                 sd_netlink *nl,
+                 uint32_t serial,
+                 uint64_t usec,
+@@ -586,7 +586,7 @@ int sd_netlink_read(
+         }
+ }
+-int sd_netlink_call(
++_public_ int sd_netlink_call(
+                 sd_netlink *nl,
+                 sd_netlink_message *message,
+                 uint64_t usec,
+@@ -606,14 +606,14 @@ int sd_netlink_call(
+         return sd_netlink_read(nl, serial, usec, ret);
+ }
+-int sd_netlink_get_events(sd_netlink *nl) {
++_public_ int sd_netlink_get_events(sd_netlink *nl) {
+         assert_return(nl, -EINVAL);
+         assert_return(!netlink_pid_changed(nl), -ECHILD);
+         return ordered_set_size(nl->rqueue) == 0 ? POLLIN : 0;
+ }
+-int sd_netlink_get_timeout(sd_netlink *nl, uint64_t *timeout_usec) {
++_public_ int sd_netlink_get_timeout(sd_netlink *nl, uint64_t *timeout_usec) {
+         struct reply_callback *c;
+         assert_return(nl, -EINVAL);
+@@ -689,7 +689,7 @@ static int prepare_callback(sd_event_source *s, void *userdata) {
+         return 1;
+ }
+-int sd_netlink_attach_event(sd_netlink *nl, sd_event *event, int64_t priority) {
++_public_ int sd_netlink_attach_event(sd_netlink *nl, sd_event *event, int64_t priority) {
+         int r;
+         assert_return(nl, -EINVAL);
+@@ -741,7 +741,7 @@ fail:
+         return r;
+ }
+-int sd_netlink_detach_event(sd_netlink *nl) {
++_public_ int sd_netlink_detach_event(sd_netlink *nl) {
+         assert_return(nl, -EINVAL);
+         assert_return(nl->event, -ENXIO);
+@@ -804,7 +804,7 @@ int netlink_add_match_internal(
+         return 0;
+ }
+-int sd_netlink_add_match(
++_public_ int sd_netlink_add_match(
+                 sd_netlink *rtnl,
+                 sd_netlink_slot **ret_slot,
+                 uint16_t type,
+@@ -874,7 +874,7 @@ int sd_netlink_add_match(
+                                           destroy_callback, userdata, description);
+ }
+-int sd_netlink_attach_filter(sd_netlink *nl, size_t len, const struct sock_filter *filter) {
++_public_ int sd_netlink_attach_filter(sd_netlink *nl, size_t len, const struct sock_filter *filter) {
+         assert_return(nl, -EINVAL);
+         assert_return(len == 0 || filter, -EINVAL);
+diff --git a/src/systemd/meson.build b/src/systemd/meson.build
+index a9cdcd24a0..03ef60f92a 100644
+--- a/src/systemd/meson.build
++++ b/src/systemd/meson.build
+@@ -13,6 +13,7 @@ _systemd_headers = [
+         'sd-journal.h',
+         'sd-login.h',
+         'sd-messages.h',
++        'sd-netlink.h',
+         'sd-path.h',
+ ]
+@@ -35,7 +36,6 @@ _not_installed_headers = [
+         'sd-lldp-tx.h',
+         'sd-lldp.h',
+         'sd-ndisc.h',
+-        'sd-netlink.h',
+         'sd-network.h',
+         'sd-radv.h',
+         'sd-resolve.h',
+-- 
+2.39.2
+
index cd82ba0006757cac16916e196e7a3a1103440019..bdb1e3f048a194d123d06867a8d99f73490ef4c9 100644 (file)
@@ -4,14 +4,14 @@
 ###############################################################################
 
 name       = systemd
-version    = 242
-release    = 4
+version    = 254
+release    = 3
 
 maintainer = Stefan Schantl <stefan.schantl@ipfire.org>
 groups     = System/Base
 url        = http://www.freedesktop.org/wiki/Software/systemd
 license    = GPLv2+
-summary    = A System and Service Manager.
+summary    = A System and Service Manager
 
 description
        systemd is a system and service manager for Linux, compatible with
@@ -47,20 +47,32 @@ build
                gperf
                hwdata
                intltool >= 0.51.0
+               kbd
                kmod-devel >= 15
                libacl-devel
+               libbpf-devel
                libblkid-devel
                libcap-devel
+               libcurl-devel
+               libfdisk-devel
                libgcrypt-devel
+               libidn-devel
+               libidn2-devel
                libmount-devel >= 2.34-2
+               libpwquality-devel
                libseccomp-devel
                libuuid-devel >= 2.34-2
+               libxcrypt-devel
+               lz4-devel
                m4
                meson >= 0.50.1
                ninja >= 1.9.0
+               openssl-devel
+               p11-kit-devel
                pam-devel
                pciutils-devel
                python3-devel
+               python3-jinja2
                python3-lxml
                setup >= 3.0-13
                usbutils
@@ -74,7 +86,11 @@ build
        configure_options = \
                -Dsysvinit-path= \
                -Dsysvrcnd-path= \
+               -Dnobody-user=nobody \
+               -Dnobody-group=nobody \
+               -Dfallback-hostname="localhost" \
                -Dzlib=true \
+               -Dman=true \
                -Dsmack=false \
                -Dbacklight=false \
                -Dfirstboot=false \
@@ -85,15 +101,30 @@ build
                -Dnetworkd=false \
                -Dresolve=false \
                -Dportabled=false \
-               -Dsysusers=false \
                -Dtimesyncd=false \
                -Dtimedated=false \
-               -Dpolkit=false \
-               -Dstatic=false
-
-       prepare_cmds
-               %{create_groups}
-       end
+               -Dpolkit=false
+
+       # Assign group ids
+       configure_options += \
+               -Dadm-gid=4 \
+               -Dtty-gid=5 \
+               -Ddisk-gid=6 \
+               -Dlp-gid=7 \
+               -Dkmem-gid=9 \
+               -Dwheel-gid=10 \
+               -Dcdrom-gid=11 \
+               -Ddialout-gid=18 \
+               -Dutmp-gid=22 \
+               -Dtape-gid=33 \
+               -Dkvm-gid=36 \
+               -Dvideo-gid=39 \
+               -Daudio-gid=63 \
+               -Dusers-gid=100 \
+               -Dinput-gid=104 \
+               -Drender-gid=105 \
+               -Dsgx-gid=106 \
+               -Dsystemd-journal-gid=190
 
        build
                # Call meson and pass configure options.
@@ -107,17 +138,18 @@ build
                # Create dummy machine-id file, which is required for some tests.
                touch %{sysconfdir}/machine-id
 
-               # Generate temporary machine-id, which is required at least by the id128 test.
-               systemd-machine-id-setup
-
                # Run the testsuite.
-               ninja test -v %{PARALLELISMFLAGS} -C build || true
+               %{meson_test} || true
        end
 
        install
                # Install systemd.
                %{meson_install}
 
+               # Use the installed files to create all users and groups
+               # in one shot.
+               %{create_groups}
+
                # Create folder in log to store the journal.
                mkdir -pv %{BUILDROOT}/var/log/journal
 
@@ -187,9 +219,6 @@ build
                        -e "s/^#ImportKernel=.*$/ImportKernel=yes/" \
                        -i %{BUILDROOT}/etc/systemd/journald.conf
 
-               # Install legacy tmpfile to autocreate /run/lock on startup.
-               install -v -m 644 %{DIR_APP}/tmpfiles.d/legacy.conf %{BUILDROOT}%{prefix}/lib/tmpfiles.d/
-
                # Remove udev rules for "predictable" network device renaming.
                # http://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames/
                rm -vf %{BUILDROOT}/usr/lib/udev/rules.d/80-net-name-slot.rules
@@ -197,10 +226,6 @@ build
                # Don't let udev set up any networking
                rm -vf %{BUILDROOT}/usr/lib/udev/rules.d/80-net-setup-link.rules
 
-               # Create journald related folders.
-               mkdir -pv %{BUILDROOT}/run/log/journal
-               chown root:systemd-journal %{BUILDROOT}/run/log/journal
-
                mkdir -pv %{BUILDROOT}/var/log/journal
                chown root:systemd-journal %{BUILDROOT}/var/log/journal
 
@@ -210,41 +235,34 @@ build
 end
 
 create_groups
-       # Create groups for udev.
-       getent group cdrom >/dev/null || groupadd -g 11 cdrom || :
-       getent group tape >/dev/null || groupadd -g 33 tape || :
-       getent group dialout >/dev/null || groupadd -g 18 dialout || :
-       getent group floppy >/dev/null || groupadd -g 19 floppy || :
-       getent group input >/dev/null || groupadd -r input || :
-       getent group utmp >/dev/null || groupadd -r -g 22 utmp || :
-
-       # Create group for journald.
-       getent group systemd-journal >/dev/null || /usr/sbin/groupadd -r systemd-journal
-end
+       # Create the sysusers folder in the jail.
+       mkdir -pv %{sysusersdir}
 
-quality-agent
-       whitelist_rpath
-               %{prefix}/lib/systemd
-       end
+       # Copy all sysusers files from BUILDROOT into the jail's sysusers directory.
+       install -v -m 644 %{BUILDROOT}%{sysusersdir}/*.conf %{sysusersdir}
+
+       # We do not have a libsystemd or systemd-sysusers binary, so
+       # call the installed one inside BUILDROOT to create all users and
+       # groups in one shot.
+       LD_LIBRARY_PATH="%{BUILDROOT}%{libdir}/systemd/" \
+               %{BUILDROOT}%{bindir}/systemd-sysusers
 end
 
 packages
        package %{name}
-               groups += Base
-
-               prerequires += authconfig
-
                requires
                        dbus
                        hwdata
-                       python-cairo
-                       python-dbus
-                       python-gobject3
-                       %{name}-libs=%{thisver}
-                       util-linux>=2.19
+                       python3-cairo
+                       python3-dbus
+                       python3-gobject3
+                       %{name}-basetools = %{thisver}
+                       %{name}-libs = %{thisver}
+                       util-linux >= 2.19
                end
 
                provides
+                       /bin/systemctl
                        /bin/systemd
                        /sbin/halt
                        /sbin/init
@@ -252,8 +270,10 @@ packages
                        /sbin/reboot
                        /sbin/shutdown
 
-                       syslog
                        udev = %{thisver}
+                       systemd-units = %{thisver}
+
+                       syslog
                end
 
                conflicts
@@ -281,29 +301,15 @@ packages
                        /etc/vconsole.conf
                end
 
-               script prein
-                       %{create_groups}
-               end
-
                script postin
                        # Reexec systemd daemon.
                        /usr/bin/systemctl daemon-reexec > /dev/null 2>&1 || :
 
-                       # Make sure pam_systemd is enabled
-                       if ! grep -q pam_systemd /etc/pam.d/system-auth-ac ; then
-                               authconfig --update --nostart >/dev/null 2>&1 || :
-
-                               # Try harder
-                               grep -q pam_systemd /etc/pam.d/system-auth-ac || authconfig --updateall --nostart >/dev/null 2>&1 || :
-                       fi
+                       # Automatically spawn a getty on TTY1
+                       /usr/bin/systemctl enable getty@.service >/dev/null 2>&1 || :
 
-                       /usr/bin/systemctl enable \
-                               getty@.service \
-                               serial-getty@.service \
-                               remote-fs.target \
-                               systemd-readahead-replay.service \
-                               systemd-readahead-collect.service \
-                               >/dev/null 2>&1 || :
+                       # Enable targed to mount all remote filesystems.
+                       /usr/bin/systemctl enable remote-fs.target >/dev/null 2>&1 || :
                end
 
                script preup
@@ -316,7 +322,7 @@ packages
 
                script postup
                        # Re-exec systemd after update.
-                       /usr/bin/systemctl daemon-reexec
+                       /usr/bin/systemctl daemon-reexec >/dev/null 2>&1 || :
 
                        # Restart login service after update
                        /usr/bin/systemctl daemon-reload >/dev/null 2>&1 || :
@@ -324,12 +330,9 @@ packages
 
                        # Use the new journald configuration file and restart the service.
                        if ! grep -xq ImportKernel=yes /etc/systemd/journald.conf ; then
-                               mv /etc/systemd/journald.conf.paknew /etc/systemd/journald.conf
+                               mv /etc/systemd/journald.conf.paknew /etc/systemd/journald.conf >/dev/null 2>&1 || :
                                /usr/bin/systemctl restart systemd-journald.service >/dev/null 2>&1 || :
                        fi
-
-                       # Enable spawning getty's on serial devices.
-                       systemctl enable serial-getty@.service >/dev/null 2>&1 || :
                end
 
                # Be sure to start the new udev after everything is done.
@@ -338,6 +341,38 @@ packages
                end
        end
 
+       package %{name}-basetools
+               summary = Basetools from the systemd package, like sysuses and tmpfiles.
+               description
+                       This package contains some very basic tools from systemd like
+                       systemd-sysusers and systemd-tmpfiles.
+
+                       They mostly are required in a very early stage and shipping them
+                       in an own package allows us to handle this properly.
+               end
+
+               provides
+                       systemd-sysusers = %{thisver}
+                       systemd-tmpfiles = %{thisver}
+               end
+
+               requires
+                       %{name}-libs = %{thisver}
+               end
+
+               files
+                       %{bindir}/%{name}-sysusers
+                       %{bindir}/%{name}-tmpfiles
+                       %{mandir}/man1/%{name}-sysusers*
+                       %{mandir}/man1/%{name}-tmpfiles*
+
+                       # Only ship the sysusers.d folder without
+                       # any config files.
+                       %{sysusersdir}
+                       !%{sysusersdir}/*.conf
+               end
+       end
+
        package %{name}-libs
                template LIBS
        
@@ -362,6 +397,9 @@ packages
                        systemd < %{thisver}
                end
 
+               files += \
+                       %{libdir}/%{name}
+
                # Add myhostname to the hosts line of /etc/nsswitch.conf
                script postin
                        if [ -f "/etc/nsswitch.conf" ]; then
diff --git a/sysvinit/patches/sysvinit-2.86-remove-utils-1.patch b/sysvinit/patches/sysvinit-2.86-remove-utils-1.patch
deleted file mode 100644 (file)
index 41e0f90..0000000
+++ /dev/null
@@ -1,87 +0,0 @@
-diff -Nur sysvinit-2.86-orig/src/Makefile sysvinit-2.86/src/Makefile
---- sysvinit-2.86-orig/src/Makefile    2004-06-09 14:47:45.000000000 +0200
-+++ sysvinit-2.86/src/Makefile 2015-01-24 20:17:45.980202112 +0100
-@@ -10,32 +10,30 @@
- CC    = gcc
- CFLAGS        = -Wall -O2 -fomit-frame-pointer -D_GNU_SOURCE
--LDFLAGS       = -s
-+LDFLAGS       =
- STATIC        =
- # For some known distributions we do not build all programs, otherwise we do.
- BIN   =
--SBIN  = init halt shutdown runlevel killall5
--USRBIN        = last mesg
-+SBIN  = killall5
-+USRBIN        =
--MAN1  = last.1 lastb.1 mesg.1
--MAN5  = initscript.5 inittab.5
--MAN8  = halt.8 init.8 killall5.8 pidof.8 poweroff.8 reboot.8 runlevel.8
--MAN8  += shutdown.8 telinit.8
-+MAN1  =
-+MAN8  = killall5.8 pidof.8
- ifeq ($(DISTRO),)
--BIN   += mountpoint
--SBIN  += sulogin bootlogd
--USRBIN        += utmpdump wall
--MAN1  += mountpoint.1 wall.1
--MAN8  += sulogin.8 bootlogd.8
-+BIN   +=
-+SBIN  +=
-+USRBIN        +=
-+MAN1  +=
-+MAN8  +=
- endif
- ifeq ($(DISTRO),Debian)
--BIN   += mountpoint
--SBIN  += sulogin bootlogd
--MAN1  += mountpoint.1
--MAN8  += sulogin.8 bootlogd.8
-+BIN   +=
-+SBIN  +=
-+MAN1  +=
-+MAN8  +=
- endif
- ifeq ($(DISTRO),Owl)
-@@ -50,7 +48,7 @@
- MANDIR                = /usr/share/man
- # Additional libs for GNU libc.
--ifneq ($(wildcard /usr/lib/libcrypt.a),)
-+ifneq ($(wildcard /usr/lib/libcrypt.so),)
- LCRYPT                = -lcrypt
- endif
-@@ -120,14 +118,7 @@
-                       $(INSTALL) -m 755 $$i $(ROOT)/usr/bin/; \
-               done
-               # $(INSTALL) -m 755 etc/initscript.sample $(ROOT)/etc/
--              ln -sf halt $(ROOT)/sbin/reboot
--              ln -sf halt $(ROOT)/sbin/poweroff
--              ln -sf init $(ROOT)/sbin/telinit
-               ln -sf ../sbin/killall5 $(ROOT)/bin/pidof
--              if [ ! -f $(ROOT)/usr/bin/lastb ]; then \
--                      ln -sf last $(ROOT)/usr/bin/lastb; \
--              fi
--              $(INSTALL) -m 644 initreq.h $(ROOT)/usr/include/
-               for i in $(MAN1); do \
-                       $(INSTALL) -m 644 ../man/$$i $(ROOT)$(MANDIR)/man1/; \
-               done
-@@ -137,12 +128,3 @@
-               for i in $(MAN8); do \
-                       $(INSTALL) -m 644 ../man/$$i $(ROOT)$(MANDIR)/man8/; \
-               done
--ifeq ($(ROOT),)
--              #
--              # This part is skipped on Debian systems, the
--              # debian.preinst script takes care of it.
--              @if [ ! -p /dev/initctl ]; then \
--               echo "Creating /dev/initctl"; \
--               rm -f /dev/initctl; \
--               mknod -m 600 /dev/initctl p; fi
--endif
diff --git a/sysvinit/sysvinit.nm b/sysvinit/sysvinit.nm
deleted file mode 100644 (file)
index e1d1ad4..0000000
+++ /dev/null
@@ -1,54 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = sysvinit
-version    = 2.86
-release    = 8
-
-groups     = System/Base
-url        = https://alioth.debian.org/projects/pkg-sysvinit/
-license    = GPLv2+
-summary    = Programs which control basic system processes.
-
-description
-       The sysvinit package contains a group of processes that control
-       the very basic functions of your system.
-end
-
-sources    = %{thisapp}.tar.gz
-
-CFLAGS    += -D_GNU_SOURCE
-
-build
-       make_build_targets += \
-               -C src CFLAGS="%{CFLAGS}" LDFLAGS="%{LDFLAGS}"
-
-       install
-               # Create directories.
-               mkdir -pv %{BUILDROOT}%{bindir}
-               mkdir -pv %{BUILDROOT}%{sbindir}
-               mkdir -pv %{BUILDROOT}%{mandir}/man8
-
-               # Install binaries.
-               install -m 0755 src/killall5 %{BUILDROOT}%{sbindir}
-
-               # Install man-pages.
-               install -m 0664 man/killall5.8 %{BUILDROOT}%{mandir}/man8
-       end
-end
-
-packages
-       package %{name}
-               groups += Base
-
-               provides
-                       /sbin/killall5
-               end
-       end
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
index 3953c025c11690319f958bd415cfd4cafe782590..403e88145cb20f9691e5073cff03d238b1a49afd 100644 (file)
@@ -4,11 +4,11 @@
 ###############################################################################
 
 name       = tar
-version    = 1.31
+version    = 1.35
 release    = 1
 
 groups     = System/Packaging
-url        = http://www.gnu.org/software/tar/
+url        = https://www.gnu.org/software/tar/
 license    = GPLv3+
 summary    = A GNU file archiving program.
 
@@ -22,11 +22,9 @@ description
        and the ability to perform incremental and full backups.
 end
 
-source_dl  = http://ftp.gnu.org/gnu/tar/
+source_dl  = https://ftp.gnu.org/gnu/tar/
 sources    = %{thisapp}.tar.xz
 
-CONFIGURE_ENVIRONMENT = FORCE_UNSAFE_CONFIGURE=1
-
 build
        requires
                libacl-devel
@@ -39,14 +37,12 @@ build
                FORCE_UNSAFE_CONFIGURE=1
 
        test
-               make check
+               make check || :
        end
 end
 
 packages
        package %{name}
-               groups += Base Build
-       end
 
        package %{name}-debuginfo
                template DEBUGINFO
diff --git a/tcl/patches/tcl-8.5.1-autopath.patch b/tcl/patches/tcl-8.5.1-autopath.patch
deleted file mode 100644 (file)
index 87317d3..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
-diff -up tcl8.5.7/library/auto.tcl.old tcl8.5.7/library/auto.tcl
---- tcl8.5.7/library/auto.tcl.old      2006-11-03 01:34:52.000000000 +0100
-+++ tcl8.5.7/library/auto.tcl  2009-05-18 10:28:16.337102378 +0200
-@@ -85,6 +85,13 @@ proc tcl_findLibrary {basename version p
-           lappend dirs $value
-       }
-+      # 2a. As a sibling of Tcl's script directory
-+      if {[catch {
-+          ::tcl::pkgconfig get scriptdir,runtime
-+      } value] == 0} {
-+          lappend dirs [file join [file dirname $value] $basename$version]
-+      }
-+
-       # 3. Relative to auto_path directories.  This checks relative to the
-       # Tcl library as well as allowing loading of libraries added to the
-       # auto_path that is not relative to the core library or binary paths.
-diff -up tcl8.5.7/library/init.tcl.old tcl8.5.7/library/init.tcl
---- tcl8.5.7/library/init.tcl.old      2009-04-10 18:54:51.000000000 +0200
-+++ tcl8.5.7/library/init.tcl  2009-05-18 10:25:25.904853164 +0200
-@@ -48,16 +48,11 @@ if {![info exists auto_path]} {
- }
- namespace eval tcl {
-     variable Dir
--    foreach Dir [list $::tcl_library [file dirname $::tcl_library]] {
-+    foreach Dir [list $::tcl_library] {
-       if {$Dir ni $::auto_path} {
-           lappend ::auto_path $Dir
-       }
-     }
--    set Dir [file join [file dirname [file dirname \
--          [info nameofexecutable]]] lib]
--    if {$Dir ni $::auto_path} {
--      lappend ::auto_path $Dir
--    }
-     catch {
-       foreach Dir $::tcl_pkgPath {
-           if {$Dir ni $::auto_path} {
-diff -up tcl8.5.7/unix/configure.in.old tcl8.5.7/unix/configure.in
---- tcl8.5.7/unix/configure.in.old     2009-04-15 21:30:05.000000000 +0200
-+++ tcl8.5.7/unix/configure.in 2009-05-18 10:21:30.987855050 +0200
-@@ -833,9 +833,9 @@ if test "$FRAMEWORK_BUILD" = "1" ; then
-     test -z "$TCL_MODULE_PATH"  && \
-       TCL_MODULE_PATH="~/Library/Tcl /Library/Tcl /System/Library/Tcl"
- elif test "$prefix/lib" != "$libdir"; then
--    TCL_PACKAGE_PATH="${libdir} ${prefix}/lib ${TCL_PACKAGE_PATH}"
-+    TCL_PACKAGE_PATH="${libdir}/tcl8.5 ${prefix}/share/tcl8.5 ${libdir}/tk8.5 ${prefix}/share/tk8.5 ${TCL_PACKAGE_PATH}"
- else
--    TCL_PACKAGE_PATH="${prefix}/lib ${TCL_PACKAGE_PATH}"
-+    TCL_PACKAGE_PATH="${libdir}/tcl8.5 ${prefix}/share/tcl8.5 ${libdir}/tk8.5 ${prefix}/share/tk8.5 ${TCL_PACKAGE_PATH}"
- fi
- #--------------------------------------------------------------------
diff --git a/tcl/patches/tcl-8.5.10-conf.patch b/tcl/patches/tcl-8.5.10-conf.patch
deleted file mode 100644 (file)
index dd90b06..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
---- tcl8.5.0/unix/tcl.m4.conf  2007-12-20 10:48:05.000000000 +0100
-+++ tcl8.5.0/unix/tcl.m4       2007-12-20 10:48:52.000000000 +0100
-@@ -1427,12 +1427,12 @@ dnl AC_CHECK_TOOL(AR, ar)
-           # get rid of the warnings.
-           #CFLAGS_OPTIMIZE="${CFLAGS_OPTIMIZE} -D__NO_STRING_INLINES -D__NO_MATH_INLINES"
--          SHLIB_LD='${CC} -shared ${CFLAGS} ${LDFLAGS}'
-+          SHLIB_LD='${CC} -shared ${CFLAGS} ${LDFLAGS} -fPIC -Wl,-soname,${@}'
-           DL_OBJS="tclLoadDl.o"
-           DL_LIBS="-ldl"
-           LDFLAGS="$LDFLAGS -Wl,--export-dynamic"
-           AS_IF([test $doRpath = yes], [
--              CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'])
-+              CC_SEARCH_FLAGS=''])
-           LD_SEARCH_FLAGS=${CC_SEARCH_FLAGS}
-           AS_IF([test "`uname -m`" = "alpha"], [CFLAGS="$CFLAGS -mieee"])
-           AS_IF([test $do64bit = yes], [
-@@ -1464,7 +1464,7 @@ dnl AC_CHECK_TOOL(AR, ar)
-           SHLIB_CFLAGS="-fPIC"
-           SHLIB_SUFFIX=".so"
--          SHLIB_LD='${CC} -shared'
-+          SHLIB_LD='${CC} ${CFLAGS} -shared -fPIC'
-           DL_OBJS=""
-           DL_LIBS="-ldl"
-           LDFLAGS="$LDFLAGS -Wl,--export-dynamic"
diff --git a/tcl/patches/tcl-8.5.9-hidden.patch b/tcl/patches/tcl-8.5.9-hidden.patch
deleted file mode 100644 (file)
index 451cda2..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-diff -up tcl8.5.6/generic/tclPort.h.old tcl8.5.6/generic/tclPort.h
---- tcl8.5.6/generic/tclPort.h.old     2009-02-09 16:40:08.000000000 +0100
-+++ tcl8.5.6/generic/tclPort.h 2009-02-09 16:40:26.000000000 +0100
-@@ -24,7 +24,7 @@
- #endif
- #include "tcl.h"
- #if !defined(_WIN32)
--#   include "tclUnixPort.h"
-+#   include "../unix/tclUnixPort.h"
- #endif
- #if defined(__CYGWIN__)
-diff -up tcl8.5.6/generic/tclInt.h.bbb tcl8.5.6/generic/tclInt.h
---- tcl8.5.6/generic/tclInt.h.bbb      2008-11-14 01:22:39.000000000 +0100
-+++ tcl8.5.6/generic/tclInt.h  2009-02-11 13:05:13.000000000 +0100
-@@ -2773,7 +2773,7 @@ MODULE_SCOPE void        TclClockInit(Tcl_Inter
- MODULE_SCOPE int      TclClockOldscanObjCmd(
-                           ClientData clientData, Tcl_Interp *interp,
-                           int objc, Tcl_Obj *const objv[]);
--MODULE_SCOPE int      Tcl_CloseObjCmd(ClientData clientData,
-+extern int    Tcl_CloseObjCmd(ClientData clientData,
-                           Tcl_Interp *interp, int objc,
-                           Tcl_Obj *const objv[]);
- MODULE_SCOPE int      Tcl_ConcatObjCmd(ClientData clientData,
-@@ -2934,7 +2934,7 @@ MODULE_SCOPE int Tcl_RegsubObjCmd(Client
- MODULE_SCOPE int      Tcl_RenameObjCmd(ClientData clientData,
-                           Tcl_Interp *interp, int objc,
-                           Tcl_Obj *const objv[]);
--MODULE_SCOPE int      Tcl_ReturnObjCmd(ClientData clientData,
-+extern int    Tcl_ReturnObjCmd(ClientData clientData,
-                           Tcl_Interp *interp, int objc,
-                           Tcl_Obj *const objv[]);
- MODULE_SCOPE int      Tcl_ScanObjCmd(ClientData clientData,
index 86eda72b8dd073a3a4e654fb1c0b58e994198550..19e5024d2f28c0fb6c0c2f77836a1e48c06eb628 100644 (file)
@@ -4,23 +4,23 @@
 ###############################################################################
 
 name       = tcl
-major_ver  = 8.5
-version    = %{major_ver}.11
+major_ver  = 8.6
+version    = %{major_ver}.13
 release    = 2
 thisapp    = tcl%{version}
 
 groups     = Development/Languages
-url        = http://tcl.sourceforge.net/
+url        = https://tcl.sourceforge.net/
 license    = TCL
 summary    = Tool Command Language, pronounced tickle.
 
 description
-       The Tcl (Tool Command Language) provides a powerful platform for\
-       creating integration applications that tie together diverse \
+       The Tcl (Tool Command Language) provides a powerful platform for
+       creating integration applications that tie together diverse
        applications, protocols, devices, and frameworks.
 end
 
-source_dl  = http://downloads.sourceforge.net/project/%{name}/Tcl/%{version}/
+source_dl  = https://downloads.sourceforge.net/project/%{name}/Tcl/%{version}/
 sources    = tcl%{version}-src.tar.gz
 
 build
@@ -28,63 +28,46 @@ build
                autoconf
                automake
                perl >= 5.14.2-9.ip3
+               zlib-devel
        end
 
-       CFLAGS += -DTCL_NO_STACK_CHECK=1
-       make_extra = TCL_LIBRARY=%{datadir}/%{name}%{major_ver}
+       DIR_APP = %{DIR_SRC}/%{thisapp}/unix
 
-       configure_options += \
-               --disable-threads \
-               --enable-symbols \
-               --enable-shared
+       # tcl fails to detect that it needs to link agains libm
+       LDFLAGS += -lm
 
        prepare_cmds
-               cd unix && autoconf
+               # Don't build support for sqlite3.
+               rm -rf %{DIR_SRC}/%{thisapp}/pkgs/sqlite3*
        end
 
-       build
-               cd unix
-               ./configure \
-                       %{configure_options}
-
-               make %{PARALLELISMFLAGS} %{make_extra}
-       end
+       configure_options += \
+               --mandir=%{mandir} \
+               --enable-threads \
+               --enable-64bit
 
-       install
-               cd unix
-               make install %{make_extra} INSTALL_ROOT=%{BUILDROOT}
-               cd ..
+       make_install_targets += \
+               install-private-headers INSTALL_ROOT=%{BUILDROOT}
 
+       install_cmds
                ln -svf tclsh%{major_ver} %{BUILDROOT}/usr/bin/tclsh
 
                # for linking with -lib%{name}
                ln -svf lib%{name}%{major_ver}.so %{BUILDROOT}%{libdir}/lib%{name}.so
 
-               # paths don't look at /usr/lib for efficiency, so we symlink into tcl8.5 for now
+               # paths don't look at /usr/lib for efficiency, so we symlink into tcl8.6 for now
                mkdir -pv %{BUILDROOT}%{libdir}/%{name}%{major_ver}
                ln -svf ../%{name}Config.sh %{BUILDROOT}%{libdir}/%{name}%{major_ver}/%{name}Config.sh
 
-               mkdir -pv %{BUILDROOT}%{includedir}/%{name}-private/{generic,unix}
-               find generic unix -name "*.h" -exec cp -p '{}' %{BUILDROOT}%{includedir}/%{name}-private/'{}' ';'
-               (
-                       cd %{BUILDROOT}%{includedir}
-                       for i in *.h; do
-                               [ -f %{BUILDROOT}%{includedir}/%{name}-private/generic/${i} ] && ln -sf ../../${i} \
-                                       %{BUILDROOT}%{includedir}/%{name}-private/generic;
-                       done
-               )
-
-               # remove buildroot traces
-               sed -i -e "s|$PWD/unix|%{libdir}|; s|$PWD|%{includedir}/%{name}-private|" %{BUILDROOT}%{libdir}/%{name}Config.sh
-               rm -rf %{BUILDROOT}%{datadir}/%{name}%{major_ver}/ldAix
-
-               # Fix library permissions.
-               chmod 755 %{BUILDROOT}%{libdir}/libtcl*.so*
-       end
+               # Install tcl m4 macros for aclocal.
+               install -Dm644 tcl.m4 -t %{BUILDROOT}/usr/share/aclocal
+
+               # Fix permissions.
+               chmod 644 %{BUILDROOT}%{libdir}/libtclstub%{major_ver}.a
 
-       # Keep libtclstub*.a.
-       keep_libraries
-               %{libdir}/lib%{name}stub%{major_ver}.a
+               # Fix private shared library permissions.
+               find %{BUILDROOT}%{libdir} -type f -iname "*.so" \
+                       -exec chmod -v 755 {} \;
        end
 end
 
@@ -93,6 +76,12 @@ packages
 
        package %{name}-devel
                template DEVEL
+
+               files += \
+                       %{libdir}/libtclstub*.a
+
+               files += \
+                       !%{libdir}/libtcl%{major_ver}.so
        end
 
        package %{name}-debuginfo
index c1326d0565027b92362c2a713ef2437080400bc5..090b330164224db5d65278ea6f52889177fc2590 100644 (file)
@@ -4,11 +4,11 @@
 ###############################################################################
 
 name       = tcpdump
-version    = 4.9.2
+version    = 4.99.4
 release    = 1
 
 groups     = Networking/Sniffer
-url        = http://www.tcpdump.org/
+url        = https://www.tcpdump.org/
 license    = BSD with advertising
 summary    = A network traffic monitoring tool.
 
@@ -19,15 +19,13 @@ description
        the packet headers, or just the ones that match particular criteria.
 end
 
-source_dl  = http://www.tcpdump.org/release/
-
-CFLAGS    += -fno-strict-aliasing
+source_dl  = https://www.tcpdump.org/release/
 
 build
        requires
-               chrpath
                libpcap-devel
                openssl-devel
+               patchelf
        end
 
        configure_options += \
@@ -39,7 +37,7 @@ build
                rm -vf %{BUILDROOT}%{sbindir}/tcpdump.%{version}
 
                # Remove RPATH.
-               chrpath --delete %{BUILDROOT}%{sbindir}/tcpdump
+               patchelf --remove-rpath %{BUILDROOT}%{bindir}/tcpdump
        end
 end
 
diff --git a/telnet/patches/010-full_set_in_18.diff b/telnet/patches/010-full_set_in_18.diff
new file mode 100644 (file)
index 0000000..d2d0d5d
--- /dev/null
@@ -0,0 +1,2206 @@
+Description: Source patches present in package 0.17-18woody3.
+ Multiple files are touched by this legacy patch.  It has been
+ pruned to reproduce source package netkit-telnet_0.17-18.
+ .
+ Implement IPv6 support.
+ .
+ Read `/etc/telnetrc'.
+ .
+ Various buffer length errors.
+ .
+ Fix IAC+SB crashes due to format errors.
+ .
+ The server accepts numerical TOS together with `-S'.
+ .
+ Remote DOS hole, CAN-2004-0911, moved to a separate file.
+ .
+ Buffer overflow, CAN-2005-0469, moved to a separate file.
+
+Comment: Recovered from source netkit-telnet_0.17-18woody3.diff.gz.
+Author: Herbert Xu, Jason Gunthorpe
+Forwarded: no
+Last-Update: 2015-01-26
+
+--- a/telnet/commands.cc
++++ b/telnet/commands.cc
+@@ -86,10 +86,6 @@
+ #define HELPINDENT ((int) sizeof ("connect"))
+-#ifndef       MAXHOSTNAMELEN
+-#define       MAXHOSTNAMELEN 64
+-#endif        MAXHOSTNAMELEN
+-
+ #if   defined(HAS_IPPROTO_IP) && defined(IP_TOS)
+ int tos = -1;
+ #endif        /* defined(HAS_IPPROTO_IP) && defined(IP_TOS) */
+@@ -98,7 +94,7 @@
+ char  *hostname;
+-static char _hostname[MAXHOSTNAMELEN];
++static char *_hostname;
+ //typedef int (*intrtn_t)(int argc, const char *argv[]);
+@@ -161,7 +157,7 @@
+       assert(argc>=1);
+       if (nargs>=0 && argc!=nargs+1) {
+           fprintf(stderr, "Wrong number of arguments for command.\n");
+-          fprintf(stderr, "Try %s ? for help\n", argv[0]);
++          fprintf(stderr, "Try ? %s for help\n", argv[0]);
+           return 0;    /* is this right? */
+       }
+       if (nargs==-2) {
+@@ -689,9 +685,9 @@
+       "print encryption debugging information" },
+ #endif
+-    { "skiprc", "don't read ~/.telnetrc file",
++    { "skiprc", "don't read the telnetrc files",
+       NULL, &skiprc,
+-      "read ~/.telnetrc file" },
++      "read the telnetrc files" },
+     { "binary",
+       "sending and receiving of binary data",
+       togbinary, NULL,
+@@ -1615,15 +1611,20 @@
+ #endif
+ int tn(int argc, const char *argv[]) {
+-    register struct hostent *host = 0;
+     struct sockaddr_in sn;
+-    struct servent *sp = 0;
+     char *srp = NULL;
+     int srlen;
+-
++    int family = 0;
+     const char *cmd, *volatile user = 0;
+     const char *portp = NULL;
+     char *hostp = NULL;
++    char *resolv_hostp;
++    struct addrinfo hints;
++    struct addrinfo *hostaddr = 0;
++    int res;
++    char name[NI_MAXHOST];
++    char service[NI_MAXSERV];
++    struct addrinfo *tmpaddr;
+     /* clear the socket address prior to use */
+     memset(&sn, 0, sizeof(sn));
+@@ -1632,6 +1633,10 @@
+       printf("?Already connected to %s\n", hostname);
+       return 0;
+     }
++    if (_hostname) {
++      delete[] _hostname;
++      _hostname = 0;
++    }
+     if (argc < 2) {
+       (void) strcpy(line, "open ");
+       printf("(to) ");
+@@ -1662,6 +1667,20 @@
+           autologin = 1;
+           continue;
+       }
++      if (strcmp(*argv, "-6") == 0) {
++          --argc; ++argv;
++#ifdef AF_INET6
++          family = AF_INET6;
++#else
++          puts("IPv6 unsupported");
++#endif
++          continue;
++      }
++      if (strcmp(*argv, "-4") == 0) {
++          --argc; ++argv;
++          family = AF_INET;
++          continue;
++      }
+       if (hostp == 0) {
+           /* this leaks memory - FIXME */
+           hostp = strdup(*argv++);
+@@ -1680,6 +1699,8 @@
+     if (hostp == 0)
+       goto usage;
++    resolv_hostp = hostp;
++
+ #if defined(IP_OPTIONS) && defined(HAS_IPPROTO_IP)
+     if (hostp[0] == '@' || hostp[0] == '!') {
+       if ((hostname = strrchr(hostp, ':')) == NULL)
+@@ -1696,78 +1717,94 @@
+       } else {
+           sn.sin_addr.s_addr = temp;
+           sn.sin_family = AF_INET;
++          /*
++           * For source route we just make sure to get the IP given
++           * on the command line when looking up the port.
++           */
++          resolv_hostp = inet_ntoa(sn.sin_addr);
+       }
+     } 
+-    else {
+-#endif
+-      if (inet_aton(hostp, &sn.sin_addr)) {
+-          sn.sin_family = AF_INET;
+-          strcpy(_hostname, hostp);
+-          hostname = _hostname;
+-      } 
+-      else {
+-          host = gethostbyname(hostp);
+-          if (host) {
+-              sn.sin_family = host->h_addrtype;
+-              if (host->h_length > (int)sizeof(sn.sin_addr)) {
+-                  host->h_length = sizeof(sn.sin_addr);
+-              }
+-#if   defined(h_addr)         /* In 4.3, this is a #define */
+-              memcpy((caddr_t)&sn.sin_addr,
+-                              host->h_addr_list[0], host->h_length);
+-#else /* defined(h_addr) */
+-              memcpy((caddr_t)&sn.sin_addr, host->h_addr, host->h_length);
+-#endif        /* defined(h_addr) */
+-              strncpy(_hostname, host->h_name, sizeof(_hostname));
+-              _hostname[sizeof(_hostname)-1] = '\0';
+-              hostname = _hostname;
+-          } else {
+-              herror(hostp);
+-              return 0;
+-          }
+-      }
+-#if defined(IP_OPTIONS) && defined(HAS_IPPROTO_IP)
+-    }
+ #endif
++
++    /* User port or the default name of telnet. */
+     if (portp) {
+       if (*portp == '-') {
+           portp++;
+           telnetport = 1;
+       } else
+           telnetport = 0;
+-      sn.sin_port = atoi(portp);
+-      if (sn.sin_port == 0) {
+-          sp = getservbyname(portp, "tcp");
+-          if (sp)
+-              sn.sin_port = sp->s_port;
+-          else {
+-              printf("%s: bad port number\n", portp);
+-              return 0;
+-          }
+-      } 
+-      else {
+-          sn.sin_port = htons(sn.sin_port);
+-      }
+-    } 
++    }
+     else {
+-      if (sp == 0) {
+-          sp = getservbyname("telnet", "tcp");
+-          if (sp == 0) {
+-              fprintf(stderr, "telnet: tcp/telnet: unknown service\n");
+-              return 0;
+-          }
+-          sn.sin_port = sp->s_port;
+-      }
++      portp = "telnet";
+       telnetport = 1;
+     }
+-    printf("Trying %s...\n", inet_ntoa(sn.sin_addr));
++
++    /* We only understand SOCK_STREAM sockets. */
++    memset(&hints, 0, sizeof(hints));
++    hints.ai_socktype = SOCK_STREAM;
++    hints.ai_flags = AI_NUMERICHOST;
++    hints.ai_family = family;
++        
++    /* Resolve both the host and service simultaneously. */
++    res = getaddrinfo(resolv_hostp, portp, &hints, &hostaddr);
++    if (res == EAI_NONAME) {
++      hints.ai_flags = AI_CANONNAME;
++      res = getaddrinfo(resolv_hostp, portp, &hints, &hostaddr);
++    } else if (hostaddr) {
++      hostaddr->ai_canonname = 0;
++    }
++    if (res || !hostaddr) {
++      fprintf(stderr, "telnet: could not resolve %s/%s: %s\n", resolv_hostp, portp, gai_strerror(res));
++      return 0;
++    }
++     
++    /* Try to connect to every listed round robin IP. */
++    tmpaddr = hostaddr;
++    errno = 0;
+     do {
+-      int x = nlink.connect(debug, host, &sn, srp, srlen, tos);
+-      if (!x) return 0;
+-      else if (x==1) continue;
++      int x;
++
++      if (!tmpaddr) {
++          if (errno)
++              perror("telnet: Unable to connect to remote host");
++          else
++              fputs("telnet: Unable to connect to remote host: "
++                    "Bad port number\n", stderr);
++err:
++          freeaddrinfo(hostaddr);
++          return 0;
++      }
++
++      if (tmpaddr->ai_family == AF_UNIX) {
++nextaddr:
++          tmpaddr = tmpaddr->ai_next;
++          continue;
++      }
++
++      getnameinfo(tmpaddr->ai_addr, tmpaddr->ai_addrlen,
++                  name, sizeof(name), service, sizeof(service),
++                  NI_NUMERICHOST | NI_NUMERICSERV);
++
++      printf("Trying %s...\n", name);
++      x = nlink.connect(debug, tmpaddr, srp, srlen, tos);
++      if (!x)
++          goto err;
++      else if (x==1)
++          goto nextaddr;
++
+       connected++;
+     } while (connected == 0);
++    if (tmpaddr->ai_canonname == 0) {
++      hostname = new char[strlen(hostp)+1];
++      strcpy(hostname, hostp);
++    }
++    else {
++      hostname = new char[strlen(tmpaddr->ai_canonname)+1];
++      strcpy(hostname, tmpaddr->ai_canonname);
++    }
++
+     cmdrc(hostp, hostname);
++    freeaddrinfo(hostaddr);
+     if (autologin && user == NULL) {
+       struct passwd *pw;
+@@ -2013,31 +2050,16 @@
+     return 0;
+ }
+-static char *rcname = 0;
+-static char rcbuf[128];
+-
+-void cmdrc(const char *m1, const char *m2) {
++static void readrc(const char *m1, const char *m2, const char *rcname) {
+     FILE *rcfile;
+     int gotmachine = 0;
+     int l1 = strlen(m1);
+     int l2 = strlen(m2);
+-    char m1save[64];
+-
+-    if (skiprc) return;
++    char m1save[strlen(m1) + 1];
+     strcpy(m1save, m1);
+     m1 = m1save;
+-    if (rcname == 0) {
+-      rcname = getenv("HOME");
+-      if (rcname)
+-          strcpy(rcbuf, rcname);
+-      else
+-          rcbuf[0] = '\0';
+-      strcat(rcbuf, "/.telnetrc");
+-      rcname = rcbuf;
+-    }
+-
+     rcfile = fopen(rcname, "r");
+     if (!rcfile) return;
+@@ -2073,6 +2095,25 @@
+     fclose(rcfile);
+ }
++void cmdrc(const char *m1, const char *m2) {
++    static char *rcname = 0;
++    static char rcbuf[128];
++
++    if (skiprc) return;
++
++    readrc(m1, m2, "/etc/telnetrc");
++    if (rcname == 0) {
++      rcname = getenv("HOME");
++      if (rcname)
++          strcpy(rcbuf, rcname);
++      else
++          rcbuf[0] = '\0';
++      strcat(rcbuf, "/.telnetrc");
++      rcname = rcbuf;
++    }
++    readrc(m1, m2, rcname);
++}
++
+ #if defined(IP_OPTIONS) && defined(HAS_IPPROTO_IP)
+ /*
+--- a/telnet/main.cc
++++ b/telnet/main.cc
+@@ -45,7 +45,10 @@
+ #include <sys/types.h>
+ #include <getopt.h>
++#include <stdlib.h>
+ #include <string.h>
++#include <netdb.h>
++#include <errno.h>
+ #include "ring.h"
+ #include "externs.h"
+@@ -80,12 +83,13 @@
+ void usage(void) {
+     fprintf(stderr, "Usage: %s %s%s%s%s\n",
+           prompt,
+-          " [-8] [-E] [-L] [-a] [-d] [-e char] [-l user] [-n tracefile]",
+-          "\n\t",
++          "[-4] [-6] [-8] [-E] [-L] [-a] [-d] [-e char] [-l user]",
++          "\n\t[-n tracefile]",
+ #ifdef TN3270
++          "\n\t"
+           "[-noasynch] [-noasynctty] [-noasyncnet] [-r] [-t transcom]\n\t",
+ #else
+-          "[-r] ",
++          " [-r] ",
+ #endif
+           "[host-name [port]]"
+       );
+@@ -103,6 +107,7 @@
+       extern int optind;
+       int ch;
+       char *user;
++      int family;
+       tninit();               /* Clear out things */
+ #if   defined(CRAY) && !defined(__STDC__)
+@@ -117,12 +122,23 @@
+               prompt = argv[0];
+       user = NULL;
++      family = 0;
+       rlogin = (strncmp(prompt, "rlog", 4) == 0) ? '~' : _POSIX_VDISABLE;
+       autologin = -1;
+-      while ((ch = getopt(argc, argv, "8EKLS:X:ade:k:l:n:rt:x")) != EOF) {
++      while ((ch = getopt(argc, argv, "468EKLS:X:ade:k:l:n:rt:x")) != EOF) {
+               switch(ch) {
++              case '4':
++                      family = AF_INET;
++                      break;
++              case '6':
++#ifdef AF_INET6
++                      family = AF_INET6;
++#else
++                      fputs("IPv6 unsupported\n", stderr);
++#endif
++                      break;
+               case '8':
+                       eight = 3;      /* binary output and input */
+                       break;
+@@ -137,19 +153,22 @@
+                       break;
+               case 'S':
+                   {
+-#ifdef        HAS_GETTOS
+                       extern int tos;
++                      int num;
+-                      if ((tos = parsetos(optarg, "tcp")) < 0)
++#ifdef        HAS_GETTOS
++                      if ((num = parsetos(optarg, "tcp")) < 0) {
++#else
++                      errno = 0;
++                      num = strtol(optarg, 0, 0);
++                      if (errno) {
++#endif
+                               fprintf(stderr, "%s%s%s%s\n",
+                                       prompt, ": Bad TOS argument '",
+                                       optarg,
+                                       "; will try to use default TOS");
+-#else
+-                      fprintf(stderr,
+-                         "%s: Warning: -S ignored, no parsetos() support.\n",
+-                                                              prompt);
+-#endif
++                      } else
++                              tos = num;
+                   }
+                       break;
+               case 'X':
+@@ -233,6 +252,9 @@
+                       *argp++ = "-l";
+                       *argp++ = user;
+               }
++              if (family) {
++                      *argp++ = family == AF_INET ? "-4" : "-6";
++              }
+               *argp++ = argv[0];              /* host */
+               if (argc > 1)
+                       *argp++ = argv[1];      /* port */
+--- a/telnet/netlink.cc
++++ b/telnet/netlink.cc
+@@ -81,20 +81,23 @@
+     ::close(net);
+ }
+-int netlink::connect(int debug, struct hostent *host, 
+-                   struct sockaddr_in *sn, 
++int netlink::connect(int debug, struct addrinfo *addr, 
+                    char *srcroute, int srlen, int tos) 
+ {
+     int on=1;
+-    net = socket(AF_INET, SOCK_STREAM, 0);
++    net = socket(addr->ai_family, SOCK_STREAM, 0);
+     if (net < 0) {
++      if (errno == EAFNOSUPPORT)
++          return 1;
+       perror("telnet: socket");
+       return 0;
+     }
+ #if defined(IP_OPTIONS) && defined(HAS_IPPROTO_IP)
+     if (srcroute) {
++      if (addr->ai_family != AF_INET)
++          fputs("Source route is only supported for IPv4\n", stderr);
+       if (setsockopt(net, IPPROTO_IP, IP_OPTIONS, srcroute, srlen) < 0)
+           perror("setsockopt (IP_OPTIONS)");
+     }
+@@ -108,7 +111,7 @@
+ #endif
+     if (tos < 0) tos = 020;   /* Low Delay bit */
+     if (tos && (setsockopt(net, IPPROTO_IP, IP_TOS, &tos, sizeof(int)) < 0)
+-      && (errno != ENOPROTOOPT))
++      && (errno != ENOPROTOOPT) && (errno != EOPNOTSUPP))
+       perror("telnet: setsockopt (IP_TOS) (ignored)");
+ #endif        /* defined(IPPROTO_IP) && defined(IP_TOS) */
+@@ -116,27 +119,8 @@
+       perror("setsockopt (SO_DEBUG)");
+     }
+     
+-    if (::connect(net, (struct sockaddr *)sn, sizeof(*sn)) < 0) {
+-#if defined(h_addr)           /* In 4.3, this is a #define */
+-      if (host && host->h_addr_list[1]) {
+-          int oerrno = errno;
+-          
+-          fprintf(stderr, "telnet: connect to address %s: ",
+-                  inet_ntoa(sn->sin_addr));
+-          errno = oerrno;
+-          perror(NULL);
+-          host->h_addr_list++;
+-          if (host->h_length > (int)sizeof(sn->sin_addr)) {
+-              host->h_length = sizeof(sn->sin_addr);
+-          }
+-          memcpy(&sn->sin_addr, host->h_addr_list[0], host->h_length);
+-          close(net);
+-          return 1;
+-      }
+-#endif        /* defined(h_addr) */
+-
+-      perror("telnet: Unable to connect to remote host");
+-      return 0;
++    if (::connect(net, addr->ai_addr, addr->ai_addrlen) < 0) {
++      return 1;
+     }
+     return 2;
+ }
+--- a/telnet/netlink.h
++++ b/telnet/netlink.h
+@@ -6,8 +6,7 @@
+     netlink();
+     ~netlink();
+-    int connect(int debug, struct hostent *host, 
+-              struct sockaddr_in *sin, 
++    int connect(int debug, struct addrinfo *hostaddr, 
+               char *srcroute, int srlen,
+               int tos);
+     void close(int doshutdown);
+--- a/telnet/network.cc
++++ b/telnet/network.cc
+@@ -40,6 +40,7 @@
+ #include <sys/types.h>
+ #include <sys/socket.h>
+ #include <sys/time.h>
++#include <stdlib.h>
+ #include <errno.h>
+ #include <arpa/telnet.h>
+--- a/telnet/ring.cc
++++ b/telnet/ring.cc
+@@ -165,7 +165,7 @@
+ /////////////////////////////////////////////////// supply //////////////
+-void ringbuf::printf(const char *format, ...) {
++void ringbuf::xprintf(const char *format, ...) {
+     char xbuf[256];
+     va_list ap;
+     va_start(ap, format);
+--- a/telnet/ring.h
++++ b/telnet/ring.h
+@@ -83,7 +83,7 @@
+     // manual supply
+     void putch(char c) { write(&c, 1); }
+     void write(const char *buffer, int ct);
+-    void printf(const char *format, ...);
++    void xprintf(const char *format, ...);
+     int empty_count() { return size - count; }
+     // automatic supply
+--- a/telnet/sys_bsd.cc
++++ b/telnet/sys_bsd.cc
+@@ -189,18 +189,25 @@
+  * Various signal handling routines.
+  */
++#if 0
+ static void deadpeer(int /*sig*/) {
+     setcommandmode();
+     siglongjmp(peerdied, -1);
+ }
++#endif
+ static void intr(int /*sig*/) {
+     if (localchars) {
+       intp();
+     }
+     else {
++#if 0
+         setcommandmode();
+       siglongjmp(toplevel, -1);
++#else
++      signal(SIGINT, SIG_DFL);
++      raise(SIGINT);
++#endif
+     }
+ }
+@@ -214,6 +221,8 @@
+           sendabort();
+       return;
+     }
++    signal(SIGQUIT, SIG_DFL);
++    raise(SIGQUIT);
+ }
+ #ifdef        SIGWINCH
+@@ -238,7 +247,9 @@
+ void sys_telnet_init(void) {
+     signal(SIGINT, intr);
+     signal(SIGQUIT, intr2);
++#if 0
+     signal(SIGPIPE, deadpeer);
++#endif
+ #ifdef        SIGWINCH
+     signal(SIGWINCH, sendwin);
+ #endif
+--- a/telnet/telnet.1
++++ b/telnet/telnet.1
+@@ -42,7 +42,7 @@
+ protocol
+ .Sh SYNOPSIS
+ .Nm telnet
+-.Op Fl 8ELadr
++.Op Fl 468ELadr
+ .Op Fl S Ar tos
+ .Op Fl e Ar escapechar
+ .Op Fl l Ar user
+@@ -68,6 +68,10 @@
+ .Pp
+ Options:
+ .Bl -tag -width indent
++.It Fl 4
++Force IPv4 address resolution.
++.It Fl 6
++Force IPv6 address resolution.
+ .It Fl 8
+ Request 8-bit operation. This causes an attempt to negotiate the
+ .Dv TELNET BINARY
+@@ -474,17 +478,21 @@
+ placing a dash before the port number.
+ .Pp
+ After establishing a connection, any commands associated with the
+-remote host in the user's
++remote host in
++.Pa /etc/telnetrc
++and the user's
+ .Pa .telnetrc
+-file are executed.
++file are executed, in that order.
+ .Pp
+-The format of the .telnetrc file is as follows: Lines beginning with a
++The format of the telnetrc files is as follows: Lines beginning with a
+ #, and blank lines, are ignored.  The rest of the file should consist
+ of hostnames and sequences of
+ .Nm telnet
+ commands to use with that host. Commands should be one per line,
+ indented by whitespace; lines beginning without whitespace are
+-interpreted as hostnames. Upon connecting to a particular host, the
++interpreted as hostnames.  Lines beginning with the special hostname
++.Ql DEFAULT
++will apply to all hosts.  Upon connecting to a particular host, the
+ commands associated with that host are executed.
+ .It Ic quit
+ Close any open session and exit
+@@ -1184,9 +1192,7 @@
+ When the skiprc toggle is
+ .Dv TRUE ,
+ .Tn telnet
+-does not read the 
+-.Pa \&.telnetrc
+-file.  The initial value for this toggle is
++does not read the telnetrc files.  The initial value for this toggle is
+ .Dv FALSE.
+ .It Ic termdata
+ Toggles the display of all terminal data (in hexadecimal format).
+@@ -1239,7 +1245,9 @@
+ .Dv TELNET ENVIRON
+ option.
+ .Sh FILES
+-.Bl -tag -width ~/.telnetrc -compact
++.Bl -tag -width /etc/telnetrc -compact
++.It Pa /etc/telnetrc
++global telnet startup values
+ .It Pa ~/.telnetrc
+ user customized telnet startup values
+ .El
+--- a/telnet/telnet.cc
++++ b/telnet/telnet.cc
+@@ -646,7 +646,7 @@
+     mklist(termbuf, tname, termtypes);
+     next = 0;
+   }
+-  if (next==termtypes.num()) next = 0;
++  if (next==termtypes.num()-1) next = 0;
+   return termtypes[next++];
+ }
+ /*
+@@ -681,7 +681,7 @@
+       }
+ #endif /* TN3270 */
+       name = gettermname();
+-      netoring.printf("%c%c%c%c%s%c%c", IAC, SB, TELOPT_TTYPE,
++      netoring.xprintf("%c%c%c%c%s%c%c", IAC, SB, TELOPT_TTYPE,
+                     TELQUAL_IS, name, IAC, SE);
+     }
+     break;
+@@ -693,7 +693,7 @@
+     if (SB_GET() == TELQUAL_SEND) {
+       long oospeed, iispeed;
+       TerminalSpeeds(&iispeed, &oospeed);
+-      netoring.printf("%c%c%c%c%ld,%ld%c%c", IAC, SB, TELOPT_TSPEED, 
++      netoring.xprintf("%c%c%c%c%ld,%ld%c%c", IAC, SB, TELOPT_TSPEED, 
+                     TELQUAL_IS, oospeed, iispeed, IAC, SE);
+     }
+     break;
+@@ -780,7 +780,7 @@
+       send_wont(TELOPT_XDISPLOC, 1);
+       break;
+       }
+-      netoring.printf("%c%c%c%c%s%c%c", IAC, SB, TELOPT_XDISPLOC,
++      netoring.xprintf("%c%c%c%c%s%c%c", IAC, SB, TELOPT_XDISPLOC,
+                     TELQUAL_IS, dp, IAC, SE);
+     }
+     break;
+@@ -798,7 +798,7 @@
+     return;
+   }
+   
+-  netoring.printf("%c%c%c%c%c%c%c", IAC, SB, TELOPT_LINEMODE, 
++  netoring.xprintf("%c%c%c%c%c%c%c", IAC, SB, TELOPT_LINEMODE, 
+                 DONT, cmd[0], IAC, SE);
+ }
+@@ -815,7 +815,7 @@
+     /*@*/     printf("lm_do: no command!!!\n");       /* Should not happen... */
+     return;
+   }
+-  netoring.printf("%c%c%c%c%c%c%c", IAC, SB, TELOPT_LINEMODE, 
++  netoring.xprintf("%c%c%c%c%c%c%c", IAC, SB, TELOPT_LINEMODE, 
+                 WONT, cmd[0], IAC, SE);
+ }
+@@ -838,7 +838,7 @@
+     k |= MODE_ACK;
+   }
+   
+-  netoring.printf("%c%c%c%c%c%c%c", IAC, SB, TELOPT_LINEMODE, LM_MODE,
++  netoring.xprintf("%c%c%c%c%c%c%c", IAC, SB, TELOPT_LINEMODE, LM_MODE,
+                 k, IAC, SE);
+   
+   setconnmode(0);     /* set changed mode */
+@@ -933,11 +933,11 @@
+ void slc_import(int def) {
+   if (def) {
+-    netoring.printf("%c%c%c%c%c%c%c%c%c", IAC, SB, TELOPT_LINEMODE,
++    netoring.xprintf("%c%c%c%c%c%c%c%c%c", IAC, SB, TELOPT_LINEMODE,
+                   LM_SLC, 0, SLC_DEFAULT, 0, IAC, SE);
+   }
+   else {
+-    netoring.printf("%c%c%c%c%c%c%c%c%c", IAC, SB, TELOPT_LINEMODE,
++    netoring.xprintf("%c%c%c%c%c%c%c%c%c", IAC, SB, TELOPT_LINEMODE,
+                   LM_SLC, 0, SLC_VARIABLE, 0, IAC, SE);
+   }
+ }
+@@ -1142,6 +1142,7 @@
+   }
+ }
++/* OPT_REPLY_SIZE must be a multiple of 2. */
+ #define       OPT_REPLY_SIZE  256
+ unsigned char *opt_reply;
+ unsigned char *opt_replyp;
+@@ -1173,6 +1174,7 @@
+ void env_opt_add(const char *ep) {
+   const char *vp;
++  const unsigned char *tp;
+   unsigned char c;
+   
+   if (opt_reply == NULL)              /*XXX*/
+@@ -1185,11 +1187,12 @@
+     return;
+   }
+   vp = env_getvalue(ep, 1);
+-  if (opt_replyp + (vp ? strlen(vp) : 0) + strlen(ep) + 6 > opt_replyend)
++  tp = opt_replyp + (vp ? strlen(vp) * 2 : 0) + strlen(ep) * 2 + 6;
++  if (tp > opt_replyend)
+     {
+       register int len;
+-      opt_replyend += OPT_REPLY_SIZE;
+-      len = opt_replyend - opt_reply;
++      len = ((tp - opt_reply) + OPT_REPLY_SIZE - 1) & ~(OPT_REPLY_SIZE - 1);
++      opt_replyend = opt_reply + len;
+       opt_reply = (unsigned char *)realloc(opt_reply, len);
+       if (opt_reply == NULL) {
+       /*@*/                   printf("env_opt_add: realloc() failed!!!\n");
+--- a/telnet/terminal.cc
++++ b/telnet/terminal.cc
+@@ -45,6 +45,8 @@
+ #include <signal.h>
+ #include <errno.h>
+ #include <stdio.h>
++#include <string.h>
++#include <stdlib.h>
+ #include "ring.h"
+ #include "defines.h"
+--- a/telnet/utilities.cc
++++ b/telnet/utilities.cc
+@@ -47,6 +47,8 @@
+ #include <sys/socket.h>
+ #include <unistd.h>
+ #include <ctype.h>
++#include <string.h>
++#include <stdlib.h>
+ #include "ring.h"
+ #include "defines.h"
+--- a/telnetd/authenc.c
++++ b/telnetd/authenc.c
+@@ -42,18 +42,6 @@
+     return(0);
+ }
+-void
+-net_encrypt()
+-{
+-#if   defined(ENCRYPT)
+-    char *s = (nclearto > nbackp) ? nclearto : nbackp;
+-    if (s < nfrontp && encrypt_output) {
+-      (*encrypt_output)((unsigned char *)s, nfrontp - s);
+-    }
+-    nclearto = nfrontp;
+-#endif
+-}
+-
+ int
+ telnet_spin()
+ {
+--- a/telnetd/defs.h
++++ b/telnetd/defs.h
+@@ -55,10 +55,11 @@
+ #include <fcntl.h>
+ #include <sys/file.h>
+ #include <sys/stat.h>
+-#include <sys/time.h>
++#include <time.h>
+ #include <sys/ioctl.h>
+ #include <netinet/in.h>
+ #include <arpa/telnet.h>
++#include <sys/uio.h>
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <signal.h>
+--- a/telnetd/ext.h
++++ b/telnetd/ext.h
+@@ -81,12 +81,11 @@
+  */
+ extern char ptyobuf[BUFSIZ+NETSLOP], *pfrontp, *pbackp;
+ extern char netibuf[BUFSIZ], *netip;
+-extern char netobuf[BUFSIZ+NETSLOP], *nfrontp, *nbackp;
+-extern char *neturg;          /* one past last byte of urgent data */
+ extern int pcc, ncc;
++extern FILE *netfile;
+ /* printf into netobuf */
+-void netoprintf(const char *fmt, ...) __attribute((format (printf, 1, 2))); 
++#define netoprintf(fmt, ...) fprintf(netfile, fmt, ## __VA_ARGS__)
+ extern int pty, net;
+ extern char *line;
+@@ -96,7 +95,7 @@
+ void add_slc(int, int, int);
+ void check_slc(void);
+ void change_slc(int, int, int);
+-void cleanup(int);
++void cleanup(int) __attribute__ ((noreturn));
+ void clientstat(int, int, int);
+ void copy_termbuf(char *, int);
+ void deferslc(void);
+@@ -106,8 +105,8 @@
+ void dooption(int);
+ void dontoption(int);
+ void edithost(const char *, const char *);
+-void fatal(int, const char *);
+-void fatalperror(int, const char *);
++void fatal(int, const char *) __attribute__ ((noreturn));
++void fatalperror(int, const char *) __attribute__ ((noreturn));
+ void get_slc_defaults(void);
+ void init_env(void);
+ void init_termbuf(void);
+@@ -115,6 +114,8 @@
+ void localstat(void);
+ void netclear(void);
+ void netflush(void);
++size_t netbuflen(int);
++void sendurg(const char *, size_t);
+ #ifdef DIAGNOSTICS
+ void printoption(const char *, int);
+@@ -182,10 +183,11 @@
+ void tty_tspeed(int);
+ void willoption(int);
+ void wontoption(int);
+-void writenet(unsigned char *, int);
++#define writenet(b, l) fwrite(b, 1, l, netfile)
++void netopen(void);
+ #if defined(ENCRYPT)
+-extern void (*encrypt_output)(unsigned char *, int);
++extern void (*encrypt_output)(const unsigned char *, int);
+ extern int (*decrypt_input)(int);
+ extern char *nclearto;
+ #endif
+--- a/telnetd/global.c
++++ b/telnetd/global.c
+@@ -87,11 +87,10 @@
+ char  netibuf[BUFSIZ], *netip;
+-char  netobuf[BUFSIZ+NETSLOP], *nfrontp, *nbackp;
+-char  *neturg;                /* one past last bye of urgent data */
+-
+ int   pcc, ncc;
++FILE  *netfile;
++
+ int   pty, net;
+ int   SYNCHing;               /* we are in TELNET SYNCH mode */
+--- a/telnetd/issue.net.5
++++ b/telnetd/issue.net.5
+@@ -40,4 +40,4 @@
+ .Sh FILES
+ .Pa /etc/issue.net
+ .Sh "SEE ALSO"
+-.Xr telnetd 8
++.Xr in.telnetd 8
+--- a/telnetd/setproctitle.c
++++ b/telnetd/setproctitle.c
+@@ -139,7 +139,7 @@
+       (void) strcpy(Argv[0], buf);
+       p = &Argv[0][i];
+       while (p < LastArgv)
+-              *p++ = ' ';
++              *p++ = '\0';
+       Argv[1] = NULL;
+ }
+--- a/telnetd/state.c
++++ b/telnetd/state.c
+@@ -179,6 +179,7 @@
+                  */
+             case AO:
+                 {
++                    static const char msg[] = { IAC, DM };
+                     DIAG(TD_OPTIONS, printoption("td: recv IAC", c));
+                     ptyflush();       /* half-hearted */
+                     init_termbuf();
+@@ -191,9 +192,7 @@
+                     }
+                     netclear();       /* clear buffer back */
+-                    *nfrontp++ = (char)IAC;
+-                    *nfrontp++ = (char)DM;
+-                    neturg = nfrontp-1; /* off by one XXX */
++                    sendurg(msg, sizeof(msg));
+                     DIAG(TD_OPTIONS, printoption("td: send IAC", DM));
+                     break;
+                 }
+--- a/telnetd/sys_term.c
++++ b/telnetd/sys_term.c
+@@ -41,8 +41,6 @@
+ #include "telnetd.h"
+ #include "pathnames.h"
+-#include "logout.h"
+-#include "logwtmp.h"
+ #if defined(__GLIBC__) && (__GLIBC__ >= 2)
+ /* mmm, nonstandard */
+@@ -681,7 +679,9 @@
+     memcpy(&argvfoo, &avs.argv, sizeof(argvfoo));
+     execv(loginprg, argvfoo);
++    openlog("telnetd", LOG_PID | LOG_ODELAY, LOG_DAEMON);
+     syslog(LOG_ERR, "%s: %m\n", loginprg);
++    closelog();
+     fatalperror(net, loginprg);
+ }
+--- a/telnetd/telnetd.8
++++ b/telnetd/telnetd.8
+@@ -161,7 +161,7 @@
+ .It Fl L Ar loginprg
+ This option may be used to specify a different login program.
+ By default, 
+-.Pa /bin/login
++.Pa /usr/sbin/telnetlogin
+ is used.
+ .It Fl n
+ Disable
+@@ -406,6 +406,7 @@
+ indicates a willingness to decrypt
+ the data stream.
+ .Xr issue.net 5 ) .
++.El
+ .Sh FILES
+ .Pa /etc/services ,
+ .Pa /etc/issue.net
+@@ -458,6 +459,7 @@
+ Telnet Environment Option Interoperability Issues
+ .It Cm RFC-1572
+ Telnet Environment Option
++.El
+ .Sh BUGS
+ Some
+ .Tn TELNET
+--- a/telnetd/telnetd.c
++++ b/telnetd/telnetd.c
+@@ -43,12 +43,16 @@
+ #include "../version.h"
++#include <sys/socket.h>
+ #include <netdb.h>
+ #include <termcap.h>
+ #include <netinet/in.h>
+ /* #include <netinet/ip.h> */ /* Don't think this is used at all here */
+ #include <arpa/inet.h>
+ #include <assert.h>
++#include <poll.h>
++#include <fcntl.h>
++#include <unistd.h>
+ #include "telnetd.h"
+ #include "pathnames.h"
+ #include "setproctitle.h"
+@@ -68,7 +72,7 @@
+ #define HAS_IPPROTO_IP
+ #endif
+-static void doit(struct sockaddr_in *who);
++static void doit(struct sockaddr *who, socklen_t who_len);
+ static int terminaltypeok(const char *s);
+ /*
+@@ -82,15 +86,119 @@
+ int debug = 0;
+ int keepalive = 1;
++#ifdef LOGIN_WRAPPER
++char *loginprg = LOGIN_WRAPPER;
++#else
+ char *loginprg = _PATH_LOGIN;
+-char *progname;
++#endif
+ extern void usage(void);
++static void
++wait_for_connection(const char *service)
++{
++      struct addrinfo hints;
++      struct addrinfo *res, *addr;
++      struct pollfd *fds, *fdp;
++      int nfds;
++      int i;
++      int error;
++      int on = 1;
++
++      memset(&hints, 0, sizeof(hints));
++      hints.ai_family = PF_UNSPEC;
++      hints.ai_flags = AI_PASSIVE;
++      hints.ai_socktype = SOCK_STREAM;
++      error = getaddrinfo(NULL, service, &hints, &res);
++      if (error) {
++              char *p;
++              error = asprintf(&p, "getaddrinfo: %s\n", gai_strerror(error));
++              fatal(2, error >= 0 ? p : "");
++      }
++
++      for (addr = res, nfds = 0; addr; addr = addr->ai_next, nfds++)
++              ;
++      fds = malloc(sizeof(struct pollfd) * nfds);
++      for (addr = res, fdp = fds; addr; addr = addr->ai_next, fdp++) {
++              int s;
++
++              if (addr->ai_family == AF_LOCAL) {
++nextaddr:
++                      fdp--;
++                      nfds--;
++                      continue;
++              }
++
++              s = socket(addr->ai_family, SOCK_STREAM, 0);
++              if (s < 0) {
++                      if (errno == EAFNOSUPPORT || errno == EINVAL) {
++                              goto nextaddr;
++                      }
++                      fatalperror(2, "socket");
++              }
++              if (setsockopt(s, SOL_SOCKET, SO_REUSEADDR, &on, sizeof(on))) {
++                      fatalperror(2, "setsockopt");
++              }
++              if (bind(s, addr->ai_addr, addr->ai_addrlen)) {
++#ifdef linux
++                      if (fdp != fds && errno == EADDRINUSE) {
++                              close(s);
++                              goto nextaddr;
++                      }
++#endif
++                      fatalperror(2, "bind");
++              }
++              if (listen(s, 1)) {
++                      fatalperror(2, "listen");
++              }
++              if (fcntl(s, F_SETFL, O_NONBLOCK)) {
++                      fatalperror(2, "fcntl");
++              }
++
++              fdp->fd = s;
++              fdp->events = POLLIN;
++      }
++
++      freeaddrinfo(res);
++
++      while (1) {
++              if (poll(fds, nfds, -1) < 0) {
++                      if (errno == EINTR) {
++                              continue;
++                      }
++                      fatalperror(2, "poll");
++              }
++
++              for (i = 0, fdp = fds; i < nfds; i++, fdp++) {
++                      int fd;
++
++                      if (!(fdp->revents & POLLIN)) {
++                              continue;
++                      }
++
++                      fd = accept(fdp->fd, 0, 0);
++                      if (fd >= 0) {
++                              dup2(fd, 0);
++                              close(fd);
++                              goto out;
++                      }
++                      if (errno != EAGAIN) {
++                              fatalperror(2, "accept");
++                      }
++              }
++      }
++
++out:
++      for (i = 0, fdp = fds; i < nfds; i++, fdp++) {
++              close(fdp->fd);
++      }
++      free(fds);
++}
++
+ int
+ main(int argc, char *argv[], char *env[])
+ {
+-      struct sockaddr_in from;
++      struct sockaddr_storage from;
+       int on = 1;
+       socklen_t fromlen;
+       register int ch;
+@@ -103,12 +211,6 @@
+       pfrontp = pbackp = ptyobuf;
+       netip = netibuf;
+-      nfrontp = nbackp = netobuf;
+-#if   defined(ENCRYPT)
+-      nclearto = 0;
+-#endif
+-
+-      progname = *argv;
+       while ((ch = getopt(argc, argv, "d:a:e:lhnr:I:D:B:sS:a:X:L:")) != EOF) {
+               switch(ch) {
+@@ -249,74 +351,18 @@
+       argv += optind;
+       if (debug) {
+-          int s, ns;
+-          socklen_t foo;
+-          struct servent *sp;
+-          struct sockaddr_in sn;
+-
+-          memset(&sn, 0, sizeof(sn));
+-          sn.sin_family = AF_INET;
+-
+-          if (argc > 1) {
+-              usage();
+-              /* NOTREACHED */
+-          } else if (argc == 1) {
+-                  if ((sp = getservbyname(*argv, "tcp"))!=NULL) {
+-                      sn.sin_port = sp->s_port;
+-                  } 
+-                  else {
+-                      int pt = atoi(*argv);
+-                      if (pt <= 0) {
+-                          fprintf(stderr, "telnetd: %s: bad port number\n",
+-                                  *argv);
+-                          usage();
+-                          /* NOTREACHED */
+-                      }
+-                      sn.sin_port = htons(pt);
+-                 }
+-          } else {
+-              sp = getservbyname("telnet", "tcp");
+-              if (sp == 0) {
+-                  fprintf(stderr, "telnetd: tcp/telnet: unknown service\n");
+-                  exit(1);
++              if (argc > 1) {
++                      usage();
++                      /* NOTREACHED */
+               }
+-              sn.sin_port = sp->s_port;
+-          }
+-          s = socket(AF_INET, SOCK_STREAM, 0);
+-          if (s < 0) {
+-                  perror("telnetd: socket");;
+-                  exit(1);
+-          }
+-          (void) setsockopt(s, SOL_SOCKET, SO_REUSEADDR, &on, sizeof(on));
+-          if (bind(s, (struct sockaddr *)&sn, sizeof(sn)) < 0) {
+-              perror("bind");
+-              exit(1);
+-          }
+-          if (listen(s, 1) < 0) {
+-              perror("listen");
+-              exit(1);
+-          }
+-          foo = sizeof(sn);
+-          ns = accept(s, (struct sockaddr *)&sn, &foo);
+-          if (ns < 0) {
+-              perror("accept");
+-              exit(1);
+-          }
+-          (void) dup2(ns, 0);
+-          (void) close(ns);
+-          (void) close(s);
+-      } else if (argc > 0) {
+-              usage();
+-              /* NOT REACHED */
++              wait_for_connection((argc == 1) ? *argv : "telnet");
+       }
+       openlog("telnetd", LOG_PID | LOG_ODELAY, LOG_DAEMON);
+       fromlen = sizeof (from);
+       if (getpeername(0, (struct sockaddr *)&from, &fromlen) < 0) {
+-              fprintf(stderr, "%s: ", progname);
+-              perror("getpeername");
+-              _exit(1);
++              fatalperror(2, "getpeername");
+       }
+       if (keepalive &&
+           setsockopt(0, SOL_SOCKET, SO_KEEPALIVE, &on, sizeof (on)) < 0) {
+@@ -339,7 +385,8 @@
+       }
+ #endif        /* defined(HAS_IPPROTO_IP) && defined(IP_TOS) */
+       net = 0;
+-      doit(&from);
++      netopen();
++      doit((struct sockaddr *)&from, fromlen);
+       /* NOTREACHED */
+       return 0;
+ }  /* end of main */
+@@ -354,7 +401,7 @@
+ #ifdef BFTPDAEMON
+       fprintf(stderr, " [-B]");
+ #endif
+-      fprintf(stderr, " [-debug]");
++      fprintf(stderr, " [-debug port]");
+ #ifdef DIAGNOSTICS
+       fprintf(stderr, " [-D (options|report|exercise|netdata|ptydata)]\n\t");
+ #endif
+@@ -373,7 +420,7 @@
+ #ifdef        AUTHENTICATE
+       fprintf(stderr, " [-X auth-type]");
+ #endif
+-      fprintf(stderr, " [port]\n");
++      fprintf(stderr, "\n");
+       exit(1);
+ }
+@@ -608,54 +655,45 @@
+  * Get a pty, scan input lines.
+  */
+ static void
+-doit(struct sockaddr_in *who)
++doit(struct sockaddr *who, socklen_t who_len)
+ {
+       const char *host;
+-      struct hostent *hp;
+       int level;
+       char user_name[256];
++      int i;
++      struct addrinfo hints, *res;
+       /*
+        * Find an available pty to use.
+        */
+       pty = getpty();
+       if (pty < 0)
+-              fatal(net, "All network ports in use");
++              fatalperror(net, "getpty");
+       /* get name of connected client */
+-      hp = gethostbyaddr((char *)&who->sin_addr, sizeof (struct in_addr),
+-              who->sin_family);
+-      if (hp)
+-              host = hp->h_name;
+-      else
+-              host = inet_ntoa(who->sin_addr);
+-
+-      /*
+-       * We must make a copy because Kerberos is probably going
+-       * to also do a gethost* and overwrite the static data...
+-       */
+-      {
+-              int i;
+-              strncpy(remote_host_name, host, sizeof(remote_host_name)-1);
+-              remote_host_name[sizeof(remote_host_name)-1] = 0;
+-
+-              /* Disallow funnies. */
+-              for (i=0; remote_host_name[i]; i++) {
+-                  if (remote_host_name[i]<=32 || remote_host_name[i]>126) 
+-                      remote_host_name[i] = '?';
+-              }
++      if (getnameinfo(who, who_len, remote_host_name,
++                      sizeof(remote_host_name), 0, 0, 0)) {
++              syslog(LOG_ERR, "doit: getnameinfo: %m");
++              *remote_host_name = 0;
++        }
++
++      /* Disallow funnies. */
++      for (i=0; remote_host_name[i]; i++) {
++          if (remote_host_name[i]<=32 || remote_host_name[i]>126) 
++              remote_host_name[i] = '?';
+       }
+       host = remote_host_name;
+       /* Get local host name */
+-      {
+-              struct hostent *h;
+-              gethostname(host_name, sizeof(host_name));
+-              h = gethostbyname(host_name);
+-              if (h) {
+-                  strncpy(host_name, h->h_name, sizeof(host_name));
+-                  host_name[sizeof(host_name)-1] = 0;
+-              }
++      gethostname(host_name, sizeof(host_name));
++      memset(&hints, 0, sizeof(hints));
++      hints.ai_family = PF_UNSPEC;
++      hints.ai_flags = AI_CANONNAME;
++      if ((i = getaddrinfo(host_name, 0, &hints, &res)))
++              syslog(LOG_WARNING, "doit: getaddrinfo: %s", gai_strerror(i));
++      else {
++              strncpy(host_name, res->ai_canonname, sizeof(host_name)-1);
++              host_name[sizeof(host_name)-1] = 0;
+       }
+ #if   defined(AUTHENTICATE) || defined(ENCRYPT)
+@@ -892,7 +930,7 @@
+        * Never look for input if there's still
+        * stuff in the corresponding output buffer
+        */
+-      if (nfrontp - nbackp || pcc > 0) {
++      if (netbuflen(1) || pcc > 0) {
+           FD_SET(f, &obits);
+           if (f >= hifd) hifd = f+1;
+       } 
+@@ -1033,6 +1071,7 @@
+               }
+ #endif        /* LINEMODE */
+               if (ptyibuf[0] & TIOCPKT_FLUSHWRITE) {
++                  static const char msg[] = { IAC, DM };
+                   netclear(); /* clear buffer back */
+ #ifndef       NO_URGENT
+                   /*
+@@ -1041,8 +1080,7 @@
+                    * royally if we send them urgent
+                    * mode data.
+                    */
+-                  netoprintf("%c%c", IAC, DM);
+-                  neturg = nfrontp-1; /* off by one XXX */
++                  sendurg(msg, sizeof(msg));
+ #endif
+               }
+               if (his_state_is_will(TELOPT_LFLOW) &&
+@@ -1058,23 +1096,21 @@
+           }
+       }
+       
+-      while (pcc > 0) {
+-          if ((&netobuf[BUFSIZ] - nfrontp) < 2)
+-              break;
++      while (pcc > 0 && !netbuflen(0)) {
+           c = *ptyip++ & 0377, pcc--;
+           if (c == IAC)
+-              *nfrontp++ = c;
+-          *nfrontp++ = c;
++              putc(c, netfile);
++          putc(c, netfile);
+           if ((c == '\r'  ) && (my_state_is_wont(TELOPT_BINARY))) {
+               if (pcc > 0 && ((*ptyip & 0377) == '\n')) {
+-                  *nfrontp++ = *ptyip++ & 0377;
++                  putc(*ptyip++ & 0377, netfile);
+                   pcc--;
+               } 
+-              else *nfrontp++ = '\0';
++              else putc('\0', netfile);
+           }
+       }
+-      if (FD_ISSET(f, &obits) && (nfrontp - nbackp) > 0)
++      if (FD_ISSET(f, &obits))
+           netflush();
+       if (ncc > 0)
+           telrcv();
+--- a/telnetd/utility.c
++++ b/telnetd/utility.c
+@@ -41,6 +41,7 @@
+ #include <stdarg.h>
+ #include <sys/utsname.h>
++#include <sys/time.h>
+ #ifdef AUTHENTICATE
+ #include <libtelnet/auth.h>
+@@ -48,34 +49,19 @@
+ #include "telnetd.h"
+-/*
+- * utility functions performing io related tasks
+- */
+-
+-void
+-netoprintf(const char *fmt, ...)
+-{
+-   int len, maxsize;
+-   va_list ap;
+-   int done=0;
+-
+-   while (!done) {
+-      maxsize = sizeof(netobuf) - (nfrontp - netobuf);
+-
+-      va_start(ap, fmt);
+-      len = vsnprintf(nfrontp, maxsize, fmt, ap);
+-      va_end(ap);
+-
+-      if (len<0 || len==maxsize) {
+-       /* didn't fit */
+-       netflush();
+-      }
+-      else {
+-       done = 1;
+-      }
+-   }
+-   nfrontp += len;
+-}
++struct buflist {
++      struct buflist *next;
++      char *buf;
++      size_t len;
++};
++
++static struct buflist head = { next: &head, buf: 0, len: 0 };
++static struct buflist *tail = &head;
++static size_t skip;
++static int trailing;
++static size_t listlen;
++static int doclear;
++static struct buflist *urg;
+ /*
+  * ttloop
+@@ -92,9 +78,7 @@
+     DIAG(TD_REPORT, netoprintf("td: ttloop\r\n"););
+                    
+-    if (nfrontp-nbackp) {
+-      netflush();
+-    }
++    netflush();
+     ncc = read(net, netibuf, sizeof(netibuf));
+     if (ncc < 0) {
+       syslog(LOG_INFO, "ttloop: read: %m\n");
+@@ -168,33 +152,64 @@
+  * character.
+  */
+ static
+-char *
+-nextitem(char *current)
+-{
+-    if ((*current&0xff) != IAC) {
+-      return current+1;
+-    }
+-    switch (*(current+1)&0xff) {
+-    case DO:
+-    case DONT:
+-    case WILL:
+-    case WONT:
+-      return current+3;
+-    case SB:          /* loop forever looking for the SE */
+-      {
+-          register char *look = current+2;
+-
+-          for (;;) {
+-              if ((*look++&0xff) == IAC) {
+-                  if ((*look++&0xff) == SE) {
+-                      return look;
+-                  }
++const char *
++nextitem(
++      const unsigned char *current, const unsigned char *end,
++      const unsigned char *next, const unsigned char *nextend
++) {
++      if (*current++ != IAC) {
++              while (current < end && *current++ != IAC)
++                      ;
++              goto out;
++      }
++
++      if (current >= end) {
++              current = next;
++              if (!current) {
++                      return 0;
+               }
+-          }
++              end = nextend;
++              next = 0;
+       }
+-    default:
+-      return current+2;
+-    }
++
++      switch (*current++) {
++      case DO:
++      case DONT:
++      case WILL:
++      case WONT:
++              current++;
++              break;
++      case SB:                /* loop forever looking for the SE */
++              for (;;) {
++                      int iac;
++
++                      while (iac = 0, current < end) {
++                              if (*current++ == IAC) {
++                                      if (current >= end) {
++                                              iac = 1;
++                                              break;
++                                      }
++iac:
++                                      if (*current++ == SE) {
++                                              goto out;
++                                      }
++                              }
++                      }
++
++                      current = next;
++                      if (!current) {
++                              return 0;
++                      }
++                      end = nextend;
++                      next = 0;
++                      if (iac) {
++                              goto iac;
++                      }
++              }
++      }
++
++out:
++      return next ? next + (current - end) : current;
+ }  /* end of nextitem */
+@@ -216,145 +231,102 @@
+  */
+ void netclear(void)
+ {
+-    register char *thisitem, *next;
+-    char *good;
+-#define       wewant(p)       ((nfrontp > p) && ((*p&0xff) == IAC) && \
+-                              ((*(p+1)&0xff) != EC) && ((*(p+1)&0xff) != EL))
++      doclear++;
++      netflush();
++      doclear--;
++}  /* end of netclear */
+-#if   defined(ENCRYPT)
+-    thisitem = nclearto > netobuf ? nclearto : netobuf;
+-#else
+-    thisitem = netobuf;
+-#endif
++static void
++netwritebuf(void)
++{
++      struct iovec *vector;
++      struct iovec *v;
++      struct buflist *lp;
++      ssize_t n;
++      size_t len;
++      int ltrailing = trailing;
+-    while ((next = nextitem(thisitem)) <= nbackp) {
+-      thisitem = next;
+-    }
++      vector = malloc(listlen * sizeof(struct iovec));
++      if (!vector) {
++              return;
++      }
+-    /* Now, thisitem is first before/at boundary. */
++      len = listlen - (doclear & ltrailing);
++      v = vector;
++      lp = head.next;
++      while (lp != &head) {
++              if (lp == urg) {
++                      len = v - vector;
++                      if (!len) {
++                              n = send(net, lp->buf, 1, MSG_OOB);
++                              if (n > 0) {
++                                      urg = 0;
++                              }
++                              goto epi;
++                      }
++                      break;
++              }
++              v->iov_base = lp->buf;
++              v->iov_len = lp->len;
++              v++;
++              lp = lp->next;
++      }
+-#if   defined(ENCRYPT)
+-    good = nclearto > netobuf ? nclearto : netobuf;
+-#else
+-    good = netobuf;   /* where the good bytes go */
+-#endif
++      vector->iov_base = (char *)vector->iov_base + skip;
++      vector->iov_len -= skip;
++
++      n = writev(net, vector, len);
+-    while (nfrontp > thisitem) {
+-      if (wewant(thisitem)) {
+-          int length;
+-
+-          next = thisitem;
+-          do {
+-              next = nextitem(next);
+-          } while (wewant(next) && (nfrontp > next));
+-          length = next-thisitem;
+-          bcopy(thisitem, good, length);
+-          good += length;
+-          thisitem = next;
+-      } else {
+-          thisitem = nextitem(thisitem);
++epi:
++      free(vector);
++
++      if (n < 0) {
++              if (errno != EWOULDBLOCK && errno != EINTR)
++                      cleanup(0);
++              return;
+       }
+-    }
+-    nbackp = netobuf;
+-    nfrontp = good;           /* next byte to be sent */
+-    neturg = 0;
+-}  /* end of netclear */
++      len = n + skip;
+-/*
+- *  netflush
+- *            Send as much data as possible to the network,
+- *    handling requests for urgent data.
+- */
+-extern int not42;
+-void
+-netflush(void)
+-{
+-    int n;
++      lp = head.next;
++      while (lp->len <= len) {
++              if (lp == tail && ltrailing) {
++                      break;
++              }
+-    if ((n = nfrontp - nbackp) > 0) {
+-      DIAG(TD_REPORT,
+-          { netoprintf("td: netflush %d chars\r\n", n);
+-            n = nfrontp - nbackp;  /* update count */
+-          });
+-#if   defined(ENCRYPT)
+-      if (encrypt_output) {
+-              char *s = nclearto ? nclearto : nbackp;
+-              if (nfrontp - s > 0) {
+-                      (*encrypt_output)((unsigned char *)s, nfrontp-s);
+-                      nclearto = nfrontp;
++              len -= lp->len;
++
++              head.next = lp->next;
++              listlen--;
++              free(lp->buf);
++              free(lp);
++
++              lp = head.next;
++              if (lp == &head) {
++                      tail = &head;
++                      break;
+               }
+       }
+-#endif
+-      /*
+-       * if no urgent data, or if the other side appears to be an
+-       * old 4.2 client (and thus unable to survive TCP urgent data),
+-       * write the entire buffer in non-OOB mode.
+-       */
+-      if ((neturg == 0) || (not42 == 0)) {
+-          n = write(net, nbackp, n);  /* normal write */
+-      } else {
+-          n = neturg - nbackp;
+-          /*
+-           * In 4.2 (and 4.3) systems, there is some question about
+-           * what byte in a sendOOB operation is the "OOB" data.
+-           * To make ourselves compatible, we only send ONE byte
+-           * out of band, the one WE THINK should be OOB (though
+-           * we really have more the TCP philosophy of urgent data
+-           * rather than the Unix philosophy of OOB data).
+-           */
+-          if (n > 1) {
+-              n = send(net, nbackp, n-1, 0);  /* send URGENT all by itself */
+-          } else {
+-              n = send(net, nbackp, n, MSG_OOB);      /* URGENT data */
+-          }
+-      }
+-    }
+-    if (n < 0) {
+-      if (errno == EWOULDBLOCK || errno == EINTR)
+-              return;
+-      cleanup(0);
+-    }
+-    nbackp += n;
+-#if   defined(ENCRYPT)
+-    if (nbackp > nclearto)
+-      nclearto = 0;
+-#endif
+-    if (nbackp >= neturg) {
+-      neturg = 0;
+-    }
+-    if (nbackp == nfrontp) {
+-      nbackp = nfrontp = netobuf;
+-#if   defined(ENCRYPT)
+-      nclearto = 0;
+-#endif
+-    }
+-    return;
+-}  /* end of netflush */
++      skip = len;
++}
+ /*
+- * writenet
+- *
+- * Just a handy little function to write a bit of raw data to the net.
+- * It will force a transmit of the buffer if necessary
+- *
+- * arguments
+- *    ptr - A pointer to a character string to write
+- *    len - How many bytes to write
++ *  netflush
++ *             Send as much data as possible to the network,
++ *     handling requests for urgent data.
+  */
+-void writenet(register unsigned char *ptr, register int len)
++void
++netflush(void)
+ {
+-      /* flush buffer if no room for new data) */
+-      if ((&netobuf[BUFSIZ] - nfrontp) < len) {
+-              /* if this fails, don't worry, buffer is a little big */
+-              netflush();
++      if (fflush(netfile)) {
++              /* out of memory? */
++              cleanup(0);
+       }
+-
+-      bcopy(ptr, nfrontp, len);
+-      nfrontp += len;
+-
+-}  /* end of writenet */
++      if (listlen) {
++              netwritebuf();
++      }
++}
+ /*
+@@ -391,18 +363,30 @@
+       fatal(f, buf);
+ }
+-char editedhost[32];
++char *editedhost;
+ struct utsname kerninfo;
+ void
+ edithost(const char *pat, const char *host)
+ {
+-      char *res = editedhost;
++      char *res;
+       uname(&kerninfo);
+       if (!pat)
+               pat = "";
++
++      res = realloc(editedhost, strlen(pat) + strlen(host) + 1);
++      if (!res) {
++              if (editedhost) {
++                      free(editedhost);
++                      editedhost = 0;
++              }
++              fprintf(stderr, "edithost: Out of memory\n");
++              return;
++      }
++      editedhost = res;
++
+       while (*pat) {
+               switch (*pat) {
+@@ -420,18 +404,12 @@
+                       *res++ = *pat;
+                       break;
+               }
+-              if (res == &editedhost[sizeof editedhost - 1]) {
+-                      *res = '\0';
+-                      return;
+-              }
+               pat++;
+       }
+       if (*host)
+-              (void) strncpy(res, host,
+-                              sizeof editedhost - (res - editedhost) -1);
++              (void) strcpy(res, host);
+       else
+               *res = '\0';
+-      editedhost[sizeof editedhost - 1] = '\0';
+ }
+ static char *putlocation;
+@@ -475,7 +453,9 @@
+                       break;
+               case 'h':
+-                      putstr(editedhost);
++                      if (editedhost) {
++                              putstr(editedhost);
++                      }
+                       break;
+               case 'd':
+@@ -1118,11 +1098,6 @@
+       char xbuf[30];
+       while (cnt) {
+-              /* flush net output buffer if no room for new data) */
+-              if ((&netobuf[BUFSIZ] - nfrontp) < 80) {
+-                      netflush();
+-              }
+-
+               /* add a line of output */
+               netoprintf("%s: ", tag);
+               for (i = 0; i < 20 && cnt; i++) {
+@@ -1143,3 +1118,154 @@
+       } 
+ }
+ #endif /* DIAGNOSTICS */
++
++static struct buflist *
++addbuf(const char *buf, size_t len)
++{
++      struct buflist *bufl;
++
++      bufl = malloc(sizeof(struct buflist));
++      if (!bufl) {
++              return 0;
++      }
++      bufl->next = tail->next;
++      bufl->buf = malloc(len);
++      if (!bufl->buf) {
++              free(bufl);
++              return 0;
++      }
++      bufl->len = len;
++
++      tail = tail->next = bufl;
++      listlen++;
++
++      memcpy(bufl->buf, buf, len);
++      return bufl;
++}
++
++static ssize_t
++netwrite(void *cookie, const char *buf, size_t len)
++{
++      size_t ret;
++      const char *const end = buf + len;
++      int ltrailing = trailing;
++      int ldoclear = doclear;
++
++#define       wewant(p)       ((*p&0xff) == IAC) && \
++                              ((*(p+1)&0xff) != EC) && ((*(p+1)&0xff) != EL)
++
++      ret = 0;
++
++      if (ltrailing) {
++              const char *p;
++              size_t l;
++              size_t m = tail->len;
++
++              p = nextitem(tail->buf, tail->buf + tail->len, buf, end);
++              ltrailing = !p;
++              if (ltrailing) {
++                      p = end;
++              }
++
++              l = p - buf;
++              tail->len += l;
++              tail->buf = realloc(tail->buf, tail->len);
++              if (!tail->buf) {
++                      return -1;
++              }
++
++              memcpy(tail->buf + m, buf, l);
++              buf += l;
++              len -= l;
++              ret += l;
++              trailing = ltrailing;
++      }
++
++      if (ldoclear) {
++              struct buflist *lpprev;
++
++              skip = 0;
++              lpprev = &head;
++              for (;;) {
++                      struct buflist *lp;
++
++                      lp = lpprev->next;
++
++                      if (lp == &head) {
++                              tail = lpprev;
++                              break;
++                      }
++
++                      if (lp == tail && ltrailing) {
++                              break;
++                      }
++
++                      if (!wewant(lp->buf)) {
++                              lpprev->next = lp->next;
++                              listlen--;
++                              free(lp->buf);
++                              free(lp);
++                      } else {
++                              lpprev = lp;
++                      }
++              }
++      }
++
++      while (len) {
++              const char *p;
++              size_t l;
++
++              p = nextitem(buf, end, 0, 0);
++              ltrailing = !p;
++              if (ltrailing) {
++                      p = end;
++              } else if (ldoclear) {
++                      if (!wewant(buf)) {
++                              l = p - buf;
++                              goto cont;
++                      }
++              }
++
++              l = p - buf;
++              if (!addbuf(buf, l)) {
++                      return ret ? ret : -1;
++              }
++              trailing = ltrailing;
++
++cont:
++              buf += l;
++              len -= l;
++              ret += l;
++      }
++
++      netwritebuf();
++      return ret;
++}
++
++void
++netopen() {
++      static const cookie_io_functions_t funcs = {
++              read: 0, write: netwrite, seek: 0, close: 0
++      };
++
++      netfile = fopencookie(0, "w", funcs);
++}
++
++extern int not42;
++void
++sendurg(const char *buf, size_t len) {
++      if (!not42) {
++              fwrite(buf, 1, len, netfile);
++              return;
++      }
++
++      urg = addbuf(buf, len);
++}
++
++size_t
++netbuflen(int flush) {
++      if (flush) {
++              netflush();
++      }
++      return listlen != 1 ? listlen : tail->len - skip;
++}
+--- a/telnetlogin/telnetlogin.8
++++ b/telnetlogin/telnetlogin.8
+@@ -40,6 +40,7 @@
+ .Nm telnetlogin
+ .Op Fl h Ar host
+ .Op Fl p
++.Op Ar username
+ .Sh DESCRIPTION
+ .Nm telnetlogin
+ is a setuid wrapper that runs
+@@ -62,10 +63,8 @@
+ .Nm telnetd 8
+ normally provides them in.
+ .Nm telnetlogin
+-also only accepts the environment variables
++also does sanity checks on the environment variables
+ .Ev TERM , 
+-.Ev DISPLAY , 
+-.Ev POSIXLY_CORRECT ,
+ and
+ .Ev REMOTEHOST .
+ It also insists that the standard input, output, and error streams are
+@@ -83,7 +82,7 @@
+ .Nm telnetlogin
+ does not permit the
+ .Fl f
+-option to login, and does not permit passing a username, so will not
++option to login, so will not
+ work with telnetds that perform authentication via Kerberos or SSL.
+ .Pp
+ THIS IS PRESENTLY EXPERIMENTAL CODE; USE WITH CAUTION.
+--- a/telnetlogin/telnetlogin.c
++++ b/telnetlogin/telnetlogin.c
+@@ -51,20 +51,24 @@
+ #include <string.h>
+ #include <stdarg.h>
+ #include <stdio.h>
++#include <syslog.h>
+ #ifndef _PATH_LOGIN
+ #define _PATH_LOGIN "/bin/login"
+ #endif
++extern char **environ;
++
+ static const char *remhost = NULL;
++static void die(const char *, ...) __attribute__ ((noreturn));
++
+ static void die(const char *fmt, ...) {
+    va_list ap;
+-   fprintf(stderr, "telnetlogin: ");
++   openlog("telnetlogin", LOG_PID, LOG_AUTHPRIV);
+    va_start(ap, fmt);
+-   vfprintf(stderr, fmt, ap);
++   vsyslog(LOG_CRIT, fmt, ap);
+    va_end(ap);
+-   fprintf(stderr, "\n");
+    exit(1);
+ }
+@@ -86,41 +90,6 @@
+    return 0;
+ }
+-static int check_display(char *disp) {
+-   char *colon, *s;
+-   struct hostent *hp;
+-   int num;
+-
+-   colon = strchr(disp, ':');
+-   if (!colon) return -1;
+-   *colon = 0;  /* temporarily */
+-
+-   if (check_a_hostname(disp)) return -1;
+-
+-   hp = gethostbyname(disp);
+-   if (!hp) return -1;
+-
+-   *colon = ':';
+-   s = colon+1;
+-   while (*s && isdigit(*s)) s++;
+-   if (*s) {
+-      if (*s!='.') return -1;
+-      s++;
+-      while (*s && isdigit(*s)) s++;
+-   }
+-   if (*s) return -1;
+-
+-   num = atoi(colon+1);
+-   if (num<0 || num>99) return -1;
+-
+-   return 0;
+-}
+-
+-static int check_posixly_correct(char *val) {
+-   if (strlen(val)==0 || !strcmp(val, "1")) return 0;
+-   return -1;
+-}
+-
+ static int check_remotehost(char *val) {
+    if (check_a_hostname(val)) return -1;
+    if (remhost && strcmp(val, remhost)) return -1;
+@@ -132,8 +101,6 @@
+    int (*validator)(char *);
+ } legal_envs[] = {
+    { "TERM", check_term },
+-   { "DISPLAY", check_display },
+-   { "POSIXLY_CORRECT", check_posixly_correct },
+    { "REMOTEHOST", check_remotehost },
+    { NULL, NULL }
+ };
+@@ -166,10 +133,7 @@
+    static char argv0[] = "login";
+    int argn, i, j;
+    const char *rh = NULL;
+-   char **envs = __environ;
+-
+-   /* make as sure as possible no library routines or anything can use it */
+-   __environ = NULL;
++   char **envs = environ;
+    /* first, make sure our stdin/stdout/stderr are aimed somewhere */
+    i = open("/", O_RDONLY);
+@@ -194,6 +158,9 @@
+    if (argn < argc && !strcmp(argv[argn], "-p")) {
+       argn++;
+    }
++   if (argn < argc && argv[argn][0] != '-') {
++      argn++;
++   }
+    if (argn < argc) die("Illegal args: too many args");
+    argv[0] = argv0;
+@@ -201,21 +168,22 @@
+    if (envs) for (i=0; envs[i]; i++) {
+       char *testenv = envs[i];
+       size_t testlen = strlen(testenv);
+-      int ok = 0;
+-      for (j=0; legal_envs[j].name && !ok; j++) {
++      for (j=0; legal_envs[j].name; j++) {
+        const char *okenv = legal_envs[j].name;
+        size_t oklen = strlen(okenv);
++       int sign;
+        if (testlen < oklen) continue;
+        if (testenv[oklen]!='=') continue;
+-       if (memcmp(testenv, okenv, oklen)) continue;
++       if ((sign = memcmp(testenv, okenv, oklen)) < 0) {
++          continue;
++       } else if (sign > 0) {
++          break;
++       }
+        if (legal_envs[j].validator(testenv+oklen+1)) {
+           die("Invalid environment: bad value for %s", okenv);
+        }
+-       ok = 1;
+-      }
+-      if (!ok) {
+-       die("Illegal environment: forbidden variable");
++       break;
+       }
+    }
+@@ -234,6 +202,13 @@
+     * but, should we insist that ruid==nobody?
+     */
++#ifdef debian
++   /*
++    * Debian's /bin/login doesn't work properly unless we're really root.
++    */
++   setuid(0);
++#endif
++
+    /*
+     * don't do anything with limits, itimers, or process priority either
+     */
diff --git a/telnet/patches/020-from_18_to_24.diff b/telnet/patches/020-from_18_to_24.diff
new file mode 100644 (file)
index 0000000..4766e93
--- /dev/null
@@ -0,0 +1,609 @@
+Description: Incremental patches from 0.17-18 to 0.17-24.
+ A large set of mixed code patches on top of upstream's source.
+ It has been pruned to reproduce the step from source package
+ netkit-telnet_0.17-18 to netkit-telnet_0.17-24.
+ .
+ Support also Hurd.
+ [telnetd/sys_term.c, telnetd/ext.h]
+ .
+ Do not reset access mode and owner of TTY when client ends the session.
+ [telnetd/sys_term.c (cleanup)] 
+ .
+ Path of telnetlogin.
+ [telnetd/telnetd.8]
+ .
+ Adjust 8-bit mode to be without mandatory binary option.
+ A new command line switch `-7' is added to telnet.
+ [telnet/main.cc, telnet/telnet.cc, telnet/terminal.cc,
+ telnet/defines.h, telnet/externs.h]
+ .
+ Allow telnetrc files to specify a port in addition to host name.
+ [telnet/commands.cc, telnet/proto.h, telnet/telnet.1]
+ .
+ Disable 8-bit mode of client if parity bit is enabled.
+ [telnet/main.cc]
+ .
+ Remove obsolete compiler warnings, and disable trigraph warning.
+ Protect tokens ifter #endif.
+ [configure, telnet/terminal.cc]
+ .
+ Support option `-b' in client.
+ [telnet/commands.cc, telnet/main.cc, telnet/netlink.cc,
+ telnet/netlink.h, telnet/telnet.1]
+ .
+ Accept numeric telnet options.
+ [telnet/command.cc]
+ .
+ Buffer overflow due to $HOME, moved to a separate file.
+ .
+ Remote DOS hole, CAN-2004-0911, moved to a separate file.
+ .
+ Buffer overflow, CAN-2005-0469, moved to a separate file.
+
+Comment: interdiff netkit-telnet_0.17-{18woody3,29}.diff
+Author: Herbert Xu, Robert Millan
+Bug-Debian: http://bugs.debian.org/149325
+ http://bugs.debian.org/150812
+ http://bugs.debian.org/144921
+ http://bugs.debian.org/194736
+ http://bugs.debian.org/203544
+ http://bugs.debian.org/242018
+Forwarded: no
+Last-Update: 2015-01-27
+
+--- a/telnet/commands.cc
++++ b/telnet/commands.cc
+@@ -476,6 +476,7 @@
+ int send_tncmd(int (*func)(int, int), const char *cmd, const char *name) {
+     char **cpp;
+     extern char *telopts[];
++    long opt;
+     if (isprefix(name, "help") || isprefix(name, "?")) {
+       register int col, len;
+@@ -502,16 +503,23 @@
+                                       name, cmd);
+       return 0;
+     }
++
++    opt = cpp - telopts;
+     if (cpp == 0) {
+-      fprintf(stderr, "'%s': unknown argument ('send %s ?' for help).\n",
++      char *end;
++
++      opt = strtol(name, &end, 10);
++      if (*end || opt < 0 || opt > 255) {
++          fprintf(stderr, "'%s': unknown argument ('send %s ?' for help).\n",
+                                       name, cmd);
+-      return 0;
++          return 0;
++      }
+     }
+     if (!connected) {
+       printf("?Need to be connected first.\n");
+       return 0;
+     }
+-    (*func)(cpp - telopts, 1);
++    (*func)(opt, 1);
+     return 1;
+ }
+@@ -1615,7 +1623,7 @@
+     char *srp = NULL;
+     int srlen;
+     int family = 0;
+-    const char *cmd, *volatile user = 0;
++    const char *cmd, *volatile user = 0, *srchostp = 0;
+     const char *portp = NULL;
+     char *hostp = NULL;
+     char *resolv_hostp;
+@@ -1662,6 +1670,14 @@
+           --argc;
+           continue;
+       }
++      if (strcmp(*argv, "-b") == 0) {
++          --argc; ++argv;
++          if (argc == 0)
++              goto usage;
++          srchostp = *argv++;
++          --argc;
++          continue;
++      }
+       if (strcmp(*argv, "-a") == 0) {
+           --argc; ++argv;
+           autologin = 1;
+@@ -1744,6 +1760,20 @@
+     hints.ai_socktype = SOCK_STREAM;
+     hints.ai_flags = AI_NUMERICHOST;
+     hints.ai_family = family;
++
++    if (srchostp) {
++      res = getaddrinfo(srchostp, "0", &hints, &hostaddr);
++      if (res) {
++          fprintf(stderr, "telnet: could not resolve %s: %s\n", srchostp,
++                  gai_strerror(res));
++          return 0;
++      }
++      hints.ai_family = hostaddr->ai_family;
++      res = nlink.bind(hostaddr);
++      freeaddrinfo(hostaddr);
++      if (res < 0)
++          return 0;
++    }
+         
+     /* Resolve both the host and service simultaneously. */
+     res = getaddrinfo(resolv_hostp, portp, &hints, &hostaddr);
+@@ -1803,7 +1833,7 @@
+       strcpy(hostname, tmpaddr->ai_canonname);
+     }
+-    cmdrc(hostp, hostname);
++    cmdrc(hostp, hostname, portp);
+     freeaddrinfo(hostaddr);
+     if (autologin && user == NULL) {
+       struct passwd *pw;
+@@ -2050,15 +2080,21 @@
+     return 0;
+ }
+-static void readrc(const char *m1, const char *m2, const char *rcname) {
++static void readrc(const char *m1, const char *m2, const char *port,
++                 const char *rcname)
++{
+     FILE *rcfile;
+     int gotmachine = 0;
+     int l1 = strlen(m1);
+     int l2 = strlen(m2);
+-    char m1save[strlen(m1) + 1];
++    int lport = strlen(port);
++    char m1save[l1 + 1];
++    char portsave[lport + 1];
+     strcpy(m1save, m1);
+     m1 = m1save;
++    strcpy(portsave, port);
++    port = portsave;
+     rcfile = fopen(rcname, "r");
+     if (!rcfile) return;
+@@ -2083,6 +2119,13 @@
+               strncpy(line, &line[7], sizeof(line) - 7);
+           else
+               continue;
++
++          if (line[0] == ':') {
++              if (!strncasecmp(&line[1], port, lport))
++                  continue;
++              strncpy(line, &line[lport + 1], sizeof(line) - lport - 1);
++          }
++
+           if (line[0] != ' ' && line[0] != '\t' && line[0] != '\n')
+               continue;
+           gotmachine = 1;
+@@ -2095,13 +2138,13 @@
+     fclose(rcfile);
+ }
+-void cmdrc(const char *m1, const char *m2) {
++void cmdrc(const char *m1, const char *m2, const char *port) {
+     static char *rcname = 0;
+     static char rcbuf[128];
+     if (skiprc) return;
+-    readrc(m1, m2, "/etc/telnetrc");
++    readrc(m1, m2, port, "/etc/telnetrc");
+     if (rcname == 0) {
+       rcname = getenv("HOME");
+       if (rcname)
+@@ -2111,7 +2154,7 @@
+       strcat(rcbuf, "/.telnetrc");
+       rcname = rcbuf;
+     }
+-    readrc(m1, m2, rcname);
++    readrc(m1, m2, port, rcname);
+ }
+ #if defined(IP_OPTIONS) && defined(HAS_IPPROTO_IP)
+--- a/telnet/main.cc
++++ b/telnet/main.cc
+@@ -84,7 +84,7 @@
+     fprintf(stderr, "Usage: %s %s%s%s%s\n",
+           prompt,
+           "[-4] [-6] [-8] [-E] [-L] [-a] [-d] [-e char] [-l user]",
+-          "\n\t[-n tracefile]",
++          "\n\t[-n tracefile] [ -b addr ]",
+ #ifdef TN3270
+           "\n\t"
+           "[-noasynch] [-noasynctty] [-noasyncnet] [-r] [-t transcom]\n\t",
+@@ -106,7 +106,7 @@
+       extern char *optarg;
+       extern int optind;
+       int ch;
+-      char *user;
++      char *user, *srcaddr;
+       int family;
+       tninit();               /* Clear out things */
+@@ -115,19 +115,22 @@
+ #endif
+       TerminalSaveState();
++      if ((old_tc.c_cflag & (CSIZE|PARENB)) != CS8)
++              eight = 0;
+       if ((prompt = strrchr(argv[0], '/'))!=NULL)
+               ++prompt;
+       else
+               prompt = argv[0];
+-      user = NULL;
++      user = srcaddr = NULL;
+       family = 0;
+       rlogin = (strncmp(prompt, "rlog", 4) == 0) ? '~' : _POSIX_VDISABLE;
+       autologin = -1;
+-      while ((ch = getopt(argc, argv, "468EKLS:X:ade:k:l:n:rt:x")) != EOF) {
++      while ((ch = getopt(argc, argv,
++                          "4678EKLS:X:ab:de:k:l:n:rt:x")) != EOF) {
+               switch(ch) {
+               case '4':
+                       family = AF_INET;
+@@ -139,8 +142,11 @@
+                       fputs("IPv6 unsupported\n", stderr);
+ #endif
+                       break;
++              case '7':
++                      eight = 0;      /* 7-bit ouput and input */
++                      break;
+               case '8':
+-                      eight = 3;      /* binary output and input */
++                      binary = 3;     /* binary output and input */
+                       break;
+               case 'E':
+                       rlogin = escapechar = _POSIX_VDISABLE;
+@@ -149,7 +155,7 @@
+                       //autologin = 0;
+                       break;
+               case 'L':
+-                      eight |= 2;     /* binary output only */
++                      binary |= 2;    /* binary output only */
+                       break;
+               case 'S':
+                   {
+@@ -229,6 +235,9 @@
+                               "%s: -x ignored, no encryption support.\n",
+                               prompt);
+                       break;
++              case 'b':
++                      srcaddr = optarg;
++                      break;
+               case '?':
+               default:
+                       usage();
+@@ -252,6 +261,10 @@
+                       *argp++ = "-l";
+                       *argp++ = user;
+               }
++              if (srcaddr) {
++                      *argp++ = "-b";
++                      *argp++ = srcaddr;
++              }
+               if (family) {
+                       *argp++ = family == AF_INET ? "-4" : "-6";
+               }
+--- a/telnet/netlink.cc
++++ b/telnet/netlink.cc
+@@ -79,20 +79,56 @@
+       shutdown(net, 2);
+     }
+     ::close(net);
++    net = -1;
++}
++
++int netlink::bind(struct addrinfo *addr)
++{
++    int res;
++
++    res = socket(addr->ai_family);
++    if (res < 2) {
++      if (res == 1)
++          perror("telnet: socket");
++      return -1;
++    }
++
++    if (::bind(net, addr->ai_addr, addr->ai_addrlen) < 0) {
++      perror("telnet: bind");
++      return -1;
++    }
++
++    return 0;
++}
++
++int netlink::socket(int family)
++{
++    if (this->family != family)
++      close(0);
++
++    if (net < 0) {
++      this->family = family;
++      net = ::socket(family, SOCK_STREAM, 0);
++      if (net < 0) {
++          if (errno == EAFNOSUPPORT)
++              return 1;
++          perror("telnet: socket");
++          return 0;
++      }
++    }
++
++    return 2;
+ }
+ int netlink::connect(int debug, struct addrinfo *addr, 
+                    char *srcroute, int srlen, int tos) 
+ {
+     int on=1;
++    int res;
+-    net = socket(addr->ai_family, SOCK_STREAM, 0);
+-    if (net < 0) {
+-      if (errno == EAFNOSUPPORT)
+-          return 1;
+-      perror("telnet: socket");
+-      return 0;
+-    }
++    res = socket(addr->ai_family);
++    if (res < 2)
++      return res;
+ #if defined(IP_OPTIONS) && defined(HAS_IPPROTO_IP)
+     if (srcroute) {
+--- a/telnet/netlink.h
++++ b/telnet/netlink.h
+@@ -1,11 +1,15 @@
+ class netlink {
++ private:
++    int family;
+  protected:
+     int net;
+  public:
+     netlink();
+     ~netlink();
++    int bind(struct addrinfo *hostaddr);
++    int socket(int family);
+     int connect(int debug, struct addrinfo *hostaddr, 
+               char *srcroute, int srlen,
+               int tos);
+--- a/telnet/telnet.1
++++ b/telnet/telnet.1
+@@ -44,6 +44,7 @@
+ .Nm telnet
+ .Op Fl 468ELadr
+ .Op Fl S Ar tos
++.Op Fl b Ar address
+ .Op Fl e Ar escapechar
+ .Op Fl l Ar user
+ .Op Fl n Ar tracefile
+@@ -93,6 +94,8 @@
+ option if supported by the remote system. The username is retrieved
+ via
+ .Xr getlogin 3 .
++.It Fl b Ar address
++Use bind(2) on the local socket to bind it to a specific local address.
+ .It Fl d
+ Sets the initial value of the
+ .Ic debug
+@@ -492,7 +495,15 @@
+ indented by whitespace; lines beginning without whitespace are
+ interpreted as hostnames.  Lines beginning with the special hostname
+ .Ql DEFAULT
+-will apply to all hosts.  Upon connecting to a particular host, the
++will apply to all hosts.  Hostnames including
++.Ql DEFAULT
++may be followed immediately by a colon and a port number or string.
++If a port is specified it must match exactly with what is specified
++on the command line.  If no port was specified on the command line,
++then the value
++.Ql telnet
++is used.
++Upon connecting to a particular host, the
+ commands associated with that host are executed.
+ .It Ic quit
+ Close any open session and exit
+--- a/telnet/telnet.cc
++++ b/telnet/telnet.cc
+@@ -88,7 +88,8 @@
+ char  will_wont_resp[256];
+ int
+-eight = 0,
++  eight = 3,
++  binary = 0,
+   autologin = 0,      /* Autologin anyone? */
+   skiprc = 0,
+   connected,
+@@ -1743,8 +1744,8 @@
+     send_do(TELOPT_STATUS, 1);
+     if (env_getvalue("DISPLAY", 0))
+       send_will(TELOPT_XDISPLOC, 1);
+-    if (eight)
+-      tel_enter_binary(eight);
++    if (binary)
++      tel_enter_binary(binary);
+   }
+ #endif /* !defined(TN3270) */
+   
+--- a/telnet/terminal.cc
++++ b/telnet/terminal.cc
+@@ -157,9 +157,11 @@
+     if (localflow)
+       mode |= MODE_FLOW;
+-    if (my_want_state_is_will(TELOPT_BINARY))
++    if ((eight & 1) || my_want_state_is_will(TELOPT_BINARY))
+       mode |= MODE_INBIN;
++    if (eight & 2)
++      mode |= MODE_OUT8;
+     if (his_want_state_is_will(TELOPT_BINARY))
+       mode |= MODE_OUTBIN;
+@@ -451,10 +453,13 @@
+               // breaks SunOS.
+               tmp_tc.c_iflag |= ISTRIP;
+       }
+-      if (f & MODE_OUTBIN) {
++      if (f & (MODE_OUTBIN|MODE_OUT8)) {
+               tmp_tc.c_cflag &= ~(CSIZE|PARENB);
+               tmp_tc.c_cflag |= CS8;
+-              tmp_tc.c_oflag &= ~OPOST;
++              if (f & MODE_OUTBIN)
++                      tmp_tc.c_oflag &= ~OPOST;
++              else
++                      tmp_tc.c_oflag |= OPOST;
+       } else {
+               tmp_tc.c_cflag &= ~(CSIZE|PARENB);
+               tmp_tc.c_cflag |= old_tc.c_cflag & (CSIZE|PARENB);
+@@ -470,7 +475,7 @@
+ #ifdef        SIGINFO
+       signal(SIGINFO, ayt);
+-#endif        SIGINFO
++#endif        /* SIGINFO */
+ #if defined(NOKERNINFO)
+       tmp_tc.c_lflag |= NOKERNINFO;
+@@ -506,7 +511,7 @@
+ #ifdef        SIGINFO
+       signal(SIGINFO, ayt_status);
+-#endif        SIGINFO
++#endif        /* SIGINFO */
+ #ifdef        SIGTSTP
+       signal(SIGTSTP, SIG_DFL);
+--- a/telnetd/ext.h
++++ b/telnetd/ext.h
+@@ -88,7 +88,7 @@
+ #define netoprintf(fmt, ...) fprintf(netfile, fmt, ## __VA_ARGS__)
+ extern int pty, net;
+-extern char *line;
++extern const char *line;
+ extern int SYNCHing;          /* we are in TELNET SYNCH mode */
+ void _termstat(void);
+--- a/telnetd/sys_term.c
++++ b/telnetd/sys_term.c
+@@ -204,17 +204,17 @@
+  *
+  * Returns the file descriptor of the opened pty.
+  */
+-static char linedata[PATH_MAX];
+-char *line = linedata;
++const char *line;
+ static int ptyslavefd=-1;
+ int getpty(void) {
+     int masterfd;
+-    if (openpty(&masterfd, &ptyslavefd, line, NULL, NULL)) {
++    if (openpty(&masterfd, &ptyslavefd, NULL, NULL, NULL)) {
+       return -1;
+     }
++    line = ttyname(ptyslavefd);
+     return masterfd;
+ }
+@@ -720,25 +720,11 @@
+  * clean up anything that needs to be cleaned up.
+  */
+ void cleanup(int sig) {
+-    char *p;
++    const char *p;
+     (void)sig;
+     p = line + sizeof("/dev/") - 1;
+     if (logout(p)) logwtmp(p, "", "");
+-#ifdef PARANOID_TTYS
+-    /*
+-     * dholland 16-Aug-96 chmod the tty when not in use
+-     * This will make it harder to attach unwanted stuff to it
+-     * (which is a security risk) but will break some programs.
+-     */
+-    chmod(line, 0600);
+-#else
+-    chmod(line, 0666);
+-#endif
+-    chown(line, 0, 0);
+-    *p = 'p';
+-    chmod(line, 0666);
+-    chown(line, 0, 0);
+     shutdown(net, 2);
+     exit(0);
+ }
+--- a/telnetd/telnetd.8
++++ b/telnetd/telnetd.8
+@@ -161,7 +161,7 @@
+ .It Fl L Ar loginprg
+ This option may be used to specify a different login program.
+ By default, 
+-.Pa /usr/sbin/telnetlogin
++.Pa /usr/lib/telnetlogin
+ is used.
+ .It Fl n
+ Disable
+--- a/telnet/defines.h
++++ b/telnet/defines.h
+@@ -50,3 +50,5 @@
+ #define       MODE_COMMAND_LINE(m)    ((m)==-1)
+ #define       CONTROL(x)      ((x)&0x1f)              /* CTRL(x) is not portable */
++
++#define MODE_OUT8     0x8000                  /* binary mode sans -opost */
+--- a/telnet/proto.h
++++ b/telnet/proto.h
+@@ -13,7 +13,7 @@
+ void auth_encrypt_user(char *);
+ void auth_name(unsigned char *, int);
+ void auth_printsub(unsigned char *, int, unsigned char *, int);
+-void cmdrc(const char *m1, const char *m2);
++void cmdrc(const char *, const char *, const char *);
+ void env_init(void);
+ int getconnmode(void);
+ void init_network(void);
+--- a/telnet/externs.h
++++ b/telnet/externs.h
+@@ -48,9 +48,7 @@
+ typedef unsigned char cc_t;
+ #endif
+-#ifdef __linux__
+ #include <unistd.h>   /* get _POSIX_VDISABLE */
+-#endif
+ #ifndef       _POSIX_VDISABLE
+ #error "Please fix externs.h to define _POSIX_VDISABLE"
+@@ -60,7 +58,8 @@
+ extern int autologin;         /* Autologin enabled */
+ extern int skiprc;            /* Don't process the ~/.telnetrc file */
+-extern int eight;             /* use eight bit mode (binary in and/or out */
++extern int eight;             /* use eight bit mode (binary in and/or out) */
++extern int binary;            /* use binary option (in and/or out) */
+ extern int flushout;          /* flush output */
+ extern int connected;         /* Are we connected to the other side? */
+ extern int globalmode;                /* Mode tty should be in */
+@@ -225,6 +224,8 @@
+ //#if 0
+ extern struct termios new_tc;
++extern struct termios old_tc;
++
+ #define termEofChar           new_tc.c_cc[VEOF]
+ #define termEraseChar         new_tc.c_cc[VERASE]
diff --git a/telnet/patches/022-buffer_overflow_by_HOME.diff b/telnet/patches/022-buffer_overflow_by_HOME.diff
new file mode 100644 (file)
index 0000000..f9233c3
--- /dev/null
@@ -0,0 +1,42 @@
+Description: Fix buffer overflow when $HOME is large.
+ Very long values of $HOME will extend beyond fixed rcbuf[128].
+ In its stead, use dynamic allocation.
+
+Author: Josh Martin
+Bug-Debian: http://bugs.debian.org/264846
+Comment: Introduced in netkit-telnet_0.17-25.
+Forwarded: no
+Last-Update: 2004-08-13
+
+--- netkit-telnet-0.17.orig/telnet/commands.cc
++++ netkit-telnet-0.17/telnet/commands.cc
+@@ -2139,22 +2139,18 @@
+ }
+ void cmdrc(const char *m1, const char *m2, const char *port) {
+-    static char *rcname = 0;
+-    static char rcbuf[128];
++    char *rcname = NULL;
+     if (skiprc) return;
+     readrc(m1, m2, port, "/etc/telnetrc");
+-    if (rcname == 0) {
+-      rcname = getenv("HOME");
+-      if (rcname)
+-          strcpy(rcbuf, rcname);
+-      else
+-          rcbuf[0] = '\0';
+-      strcat(rcbuf, "/.telnetrc");
+-      rcname = rcbuf;
+-    }
++    if (asprintf (&rcname, "%s/.telnetrc", getenv ("HOME")) == -1)
++      {
++        perror ("asprintf");
++        return;
++      }
+     readrc(m1, m2, port, rcname);
++    free (rcname);
+ }
+ #if defined(IP_OPTIONS) && defined(HAS_IPPROTO_IP)
diff --git a/telnet/patches/024-can_2004-0911.diff b/telnet/patches/024-can_2004-0911.diff
new file mode 100644 (file)
index 0000000..558e717
--- /dev/null
@@ -0,0 +1,40 @@
+Description: Fix remote DOS hole, CAN-2004-0911.
+ telnetd/utility.c (netwritebuf): Check that `listlen' is positive
+ before any action.  Otherwise do nothing, just return.
+ .
+ Patch made public in bug report.
+
+Author: Herbert Xu
+Bug-Debian: http://bugs.debian.org/273694
+Comment: Introduced in ntekit-telnet_0.17-26.
+Forwarded: no
+Last-Update: 2004-07-27
+
+Index: netkit-telnet-0.17/telnetd/utility.c
+===================================================================
+RCS file: /home/gondolin/herbert/src/CVS/debian/netkit-telnet/telnetd/utility.c,v
+retrieving revision 1.8
+diff -u -r1.8 utility.c
+--- netkit-telnet-0.17/telnetd/utility.c       18 Jan 2002 09:13:36 -0000      1.8
++++ netkit-telnet-0.17/telnetd/utility.c       25 Sep 2004 01:22:51 -0000
+@@ -246,6 +246,9 @@
+       size_t len;
+       int ltrailing = trailing;
++      if (!listlen)
++              return;
++
+       vector = malloc(listlen * sizeof(struct iovec));
+       if (!vector) {
+               return;
+@@ -323,9 +326,7 @@
+               /* out of memory? */
+               cleanup(0);
+       }
+-      if (listlen) {
+-              netwritebuf();
+-      }
++      netwritebuf();
+ }
diff --git a/telnet/patches/026-can_2005_0469.diff b/telnet/patches/026-can_2005_0469.diff
new file mode 100644 (file)
index 0000000..7c4c802
--- /dev/null
@@ -0,0 +1,37 @@
+Description: Buffer overflow in LINEMODE suboptions, CAN-2005-0469.
+ telnet/telnet.cc (slc_add_reply): Check that sufficiently space
+ still is available beyond `slc_replyp'.
+ .
+ Extracted by comparison of netkit-telnet_0.17-18woody3,
+ netkit-telnet_0.17-29, and netkit-telnet-ssl_0.17.24+0.1-7.1.
+
+Author: Martin 'Joey' Schultze.
+Comment: Introduced in netkit-telnet_0.17-28.
+Forwarded: no
+Last-Update: 2015-01-26
+
+--- netkit-telnet-0.17.orig/telnet/telnet.cc
++++ netkit-telnet-0.17/telnet/telnet.cc
+@@ -1051,6 +1051,7 @@
+ unsigned char slc_reply[128];
++unsigned char const * const slc_reply_eom = &slc_reply[sizeof(slc_reply)];
+ unsigned char *slc_replyp;
+ void slc_start_reply(void) {
+@@ -1062,6 +1063,14 @@
+ }
+ void slc_add_reply(int func, int flags, int value) {
++  /* A sequence of up to 6 bytes my be written for this member of the SLC
++   * suboption list by this function.  The end of negotiation command,
++   * which is written by slc_end_reply(), will require 2 additional
++   * bytes.  Do not proceed unless there is sufficient space for these
++   * items.
++   */
++  if (&slc_replyp[6+2] > slc_reply_eom)
++    return;
+   if ((*slc_replyp++ = func) == IAC)
+     *slc_replyp++ = IAC;
+   if ((*slc_replyp++ = flags) == IAC)
diff --git a/telnet/patches/030-reject_invalid_port.diff b/telnet/patches/030-reject_invalid_port.diff
new file mode 100644 (file)
index 0000000..e4ea902
--- /dev/null
@@ -0,0 +1,35 @@
+Description: Reject invalid port numbers.
+ Check that any port number is within the range of a short integer.
+Author: Justin Pryzby
+Bug-Debian: http://bugs.debian.org/300273
+Comment: interdiff netkit-telnet_0.17-{29.34}.diff
+Forwarded: no
+Last-Update: 2005-10-09
+
+diff -u netkit-telnet-0.17/telnet/commands.cc netkit-telnet-0.17/telnet/commands.cc
+--- netkit-telnet-0.17/telnet/commands.cc
++++ netkit-telnet-0.17/telnet/commands.cc
+@@ -1747,8 +1747,22 @@
+       if (*portp == '-') {
+           portp++;
+           telnetport = 1;
+-      } else
++      } else {
+           telnetport = 0;
++          if (*portp >='0' && *portp<='9') {
++             char *end;
++             long int p;
++
++             p=strtol(portp, &end, 10);
++             if (ERANGE==errno && (LONG_MIN==p || LONG_MAX==p)) {
++                fprintf(stderr, "telnet: port %s overflows\n", portp);
++                return 0;
++             } else if (p<=0 || p>=65536) {
++                fprintf(stderr, "telnet: port %s out of range\n", portp);
++                return 0;
++             }
++          }
++      }
+     }
+     else {
+       portp = "telnet";
diff --git a/telnet/patches/045-avoid_unsetting_term.diff b/telnet/patches/045-avoid_unsetting_term.diff
new file mode 100644 (file)
index 0000000..e003936
--- /dev/null
@@ -0,0 +1,20 @@
+Description: Avoid unsetting environment variable TERM.
+ Do not reset TERM to "UNKNOWN", when it is unknown in the local host.
+Author: Philippe Troin
+Bug-Debian: http://bugs.debian.org/237324
+Comment: interdiff netkit-telnet_0.17-{34,36}.diff
+Forwarded: no
+Last-Update: 2008-06-22
+
+diff -u netkit-telnet-0.17/telnet/telnet.cc netkit-telnet-0.17/telnet/telnet.cc
+--- netkit-telnet-0.17/telnet/telnet.cc
++++ netkit-telnet-0.17/telnet/telnet.cc
+@@ -640,7 +640,7 @@
+   if (resettermname) {
+     resettermname = 0;
+     tname = env_getvalue("TERM", 0);
+-    if (!tname || my_setupterm(tname, 1, &err)) {
++    if (!tname /* || my_setupterm(tname, 1, &err) */) {
+       termbuf[0] = 0;
+       tname = "UNKNOWN";
+     }
diff --git a/telnet/patches/100-format_security_error.diff b/telnet/patches/100-format_security_error.diff
new file mode 100644 (file)
index 0000000..2e57181
--- /dev/null
@@ -0,0 +1,53 @@
+Description: Format string is not a string literal.
+ Hardened builds are failing due to "-Werror=format-security".
+ Insertion of a trivial format string resolves the failure.
+Author: Mats Erik Andersson <debian@gisladisker.se>
+Forwarded: no
+Last-Update: 2015-01-09
+
+--- netkit-telnet-0.17/telnetd/utility.c.orig  2015-01-09 20:22:23.000000000 +0100
++++ netkit-telnet-0.17/telnetd/utility.c       2015-01-09 23:11:41.695499612 +0100
+@@ -890,17 +890,17 @@
+                       case ENV_VAR:
+                           if (pointer[1] == TELQUAL_SEND)
+                               goto def_case;
+-                          netoprintf("\" VAR " + noquote);
++                          netoprintf("%s", "\" VAR " + noquote);
+                           noquote = 2;
+                           break;
+                       case ENV_VALUE:
+-                          netoprintf("\" VALUE " + noquote);
++                          netoprintf("%s", "\" VALUE " + noquote);
+                           noquote = 2;
+                           break;
+                       case ENV_ESC:
+-                          netoprintf("\" ESC " + noquote);
++                          netoprintf("%s", "\" ESC " + noquote);
+                           noquote = 2;
+                           break;
+--- netkit-telnet-0.17/telnet/utilities.cc.orig        2015-01-09 20:22:23.000000000 +0100
++++ netkit-telnet-0.17/telnet/utilities.cc     2015-01-09 23:33:05.219513739 +0100
+@@ -583,17 +583,17 @@
+                       case ENV_VAR:
+                           if (pointer[1] == TELQUAL_SEND)
+                               goto def_case;
+-                          fprintf(NetTrace, "\" VAR " + noquote);
++                          fprintf(NetTrace, "%s", "\" VAR " + noquote);
+                           noquote = 2;
+                           break;
+                       case ENV_VALUE:
+-                          fprintf(NetTrace, "\" VALUE " + noquote);
++                          fprintf(NetTrace, "%s", "\" VALUE " + noquote);
+                           noquote = 2;
+                           break;
+                       case ENV_ESC:
+-                          fprintf(NetTrace, "\" ESC " + noquote);
++                          fprintf(NetTrace, "%s", "\" ESC " + noquote);
+                           noquote = 2;
+                           break;
diff --git a/telnet/patches/110-markup_errors.diff b/telnet/patches/110-markup_errors.diff
new file mode 100644 (file)
index 0000000..8509eee
--- /dev/null
@@ -0,0 +1,69 @@
+Description: Nit picking on troff macros.
+ Annoying misprints which Lintian complains on.
+ .
+ A minor inconsistency bug, misnaming the original escape character.
+Author: Mats Erik Andersson <debian@gisladisker.se>
+Bug-Debian: http://bugs.debian.org/676258
+Forwarded: no
+Last-Update: 2015-01-10
+
+--- netkit-telnet-0.17/telnet/telnet.1.orig    2015-01-09 20:22:23.000000000 +0100
++++ netkit-telnet-0.17/telnet/telnet.1 2015-01-10 01:35:37.775594668 +0100
+@@ -711,7 +711,7 @@
+ .It Ic escape
+ This is the
+ .Nm telnet
+-escape character (initially \*(Lq^[\*(Rq) which causes entry
++escape character (initially \*(Lq^]\*(Rq) which causes entry
+ into
+ .Nm telnet
+ command mode (when connected to a remote system).
+@@ -1167,10 +1167,12 @@
+ is sent as
+ .Ic abort  ,
+ and
+-.Ic eof and
+-.B suspend
++.Ic eof
++and
++.Ic suspend
+ are sent as
+-.Ic eof and
++.Ic eof
++and
+ .Ic susp ,
+ see
+ .Ic send
+--- netkit-telnet-0.17/telnetd/issue.net.5.orig        2015-01-09 20:22:23.000000000 +0100
++++ netkit-telnet-0.17/telnetd/issue.net.5     2015-01-10 01:01:20.827572027 +0100
+@@ -22,7 +22,7 @@
+ - show the current tty
+ .It %h
+ - show the system node name (FQDN)
+-.It %D
++.It \&%D
+ - show the name of the NIS domain
+ .It %d
+ - show the current time and date
+--- netkit-telnet-0.17/telnetd/telnetd.8.orig  2015-01-09 20:22:23.000000000 +0100
++++ netkit-telnet-0.17/telnetd/telnetd.8       2015-01-10 00:30:52.891551907 +0100
+@@ -261,7 +261,7 @@
+ .Ed
+ .Pp
+ The pseudo-terminal allocated to the client is configured
+-to operate in \*(lqcooked\*(rq mode, and with 
++to operate in \*(Lqcooked\*(Rq mode, and with 
+ .Dv XTABS
+ .Dv CRMOD
+ enabled (see
+--- netkit-telnet-0.17/telnetlogin/telnetlogin.8.orig  2015-01-09 20:22:23.000000000 +0100
++++ netkit-telnet-0.17/telnetlogin/telnetlogin.8       2015-01-10 01:18:25.835583309 +0100
+@@ -60,7 +60,7 @@
+ accepts only the subset of options to
+ .Xr login 1
+ shown above, in the order listed. This is the order 
+-.Nm telnetd 8
++.Xr telnetd 8
+ normally provides them in.
+ .Nm telnetlogin
+ also does sanity checks on the environment variables
diff --git a/telnet/patches/120-some_protocol_refinement.diff b/telnet/patches/120-some_protocol_refinement.diff
new file mode 100644 (file)
index 0000000..752e632
--- /dev/null
@@ -0,0 +1,351 @@
+Description: Selected protocol refinement.
+ Let the manual pages express NEW-ENVIRON as the only
+ supported environment mechanism.
+ .
+ Let the diagnostic printout correctly identify the observed
+ modi of local flow control.
+ .
+ Let the server in debug mode correctly decode only the suboption
+ part of a status response, by ignoring the initial `IAC SB'.
+ .
+ Let the server and client decode suboptions containing also ENV_USERVAR
+ in addition to the already known ENV_VAR.
+ .
+ Make the command `status' be as verbose as in other clients.
+ .
+ Several calls to printsub() were missing in `telnet.cc', thus failing
+ to display options that the client sends to the server.  Instead only
+ the received responses were display in some few negotiations, namely
+ TELOPT_TTYPE, TELOPT_TSPEED, TELOPT_XDISPLOC and TELOPT_LINEMODE
+
+Author: Mats Erik Andersson <debian@gisladisker.se>
+Forwarded: no
+Last-Update: 2015-03-09
+
+--- netkit-telnet-0.17/telnet/telnet.1.orig    2015-01-10 01:35:37.775594668 +0100
++++ netkit-telnet-0.17/telnet/telnet.1 2015-01-13 22:22:47.371626252 +0100
+@@ -90,7 +90,7 @@
+ .Ev USER
+ variable
+ of the
+-.Ev ENVIRON
++.Ev NEW-ENVIRON
+ option if supported by the remote system. The username is retrieved
+ via
+ .Xr getlogin 3 .
+@@ -131,7 +131,7 @@
+ sending the specified name as the 
+ .Dv USER
+ environment variable, so it requires that the remote system support the
+-.Ev TELNET ENVIRON
++.Ev TELNET NEW-ENVIRON
+ option. This option implies the
+ .Fl a
+ option, and may also be used with the
+@@ -327,7 +327,7 @@
+ command is used to propagate environment variables across the 
+ .Nm telnet
+ link using the
+-.Dv TELNET ENVIRON
++.Dv TELNET NEW-ENVIRON
+ protocol option.
+ All variables exported from the shell are defined, but only the 
+ .Ev DISPLAY
+@@ -1044,7 +1044,7 @@
+ attempts to use it to perform automatic authentication.  If the
+ .Dv TELNET AUTHENTICATION
+ option is not supported, the user's login name is propagated using the
+-.Dv TELNET ENVIRON
++.Dv TELNET NEW-ENVIRON
+ option.
+ Setting this flag is the same as specifying the
+ .Ar a
+@@ -1255,7 +1255,7 @@
+ environment variables.
+ Other environment variables may be propagated
+ to the other side via the
+-.Dv TELNET ENVIRON
++.Dv TELNET NEW-ENVIRON
+ option.
+ .Sh FILES
+ .Bl -tag -width /etc/telnetrc -compact
+--- netkit-telnet-0.17/telnetd/telnetd.8.orig  2015-01-10 00:30:52.891551907 +0100
++++ netkit-telnet-0.17/telnetd/telnetd.8       2015-01-13 23:06:04.039624516 +0100
+@@ -250,7 +250,6 @@
+ DO TSPEED
+ DO XDISPLOC
+ DO NEW-ENVIRON
+-DO ENVIRON
+ WILL SUPPRESS GO AHEAD
+ DO ECHO
+ DO LINEMODE
+@@ -372,9 +371,6 @@
+ .It "DO NEW-ENVIRON"
+ Indicates a desire to be able to request environment
+ variable information, as described in RFC 1572.
+-.It "DO ENVIRON"
+-Indicates a desire to be able to request environment
+-variable information, as described in RFC 1408.
+ .It "DO LINEMODE"
+ Only sent if
+ .Nm telnetd
+--- netkit-telnet-0.17/telnet/utilities.cc.orig        2015-01-09 23:33:05.219513739 +0100
++++ netkit-telnet-0.17/telnet/utilities.cc     2015-03-09 15:07:32.965473513 +0100
+@@ -335,10 +335,14 @@
+               break;
+           }
+           switch (pointer[1]) {
+-          case 0:
++          case LFLOW_OFF:
+               fprintf(NetTrace, " OFF"); break;
+-          case 1:
++          case LFLOW_ON:
+               fprintf(NetTrace, " ON"); break;
++          case LFLOW_RESTART_ANY:
++              fprintf(NetTrace, " RESTART-ANY"); break;
++          case LFLOW_RESTART_XON:
++              fprintf(NetTrace, " RESTART-XON"); break;
+           default:
+               fprintf(NetTrace, " %d (unknown)", pointer[1]);
+           }
+@@ -454,7 +458,7 @@
+                       pointer[2]&MODE_SOFT_TAB ? "|SOFT_TAB" : "",
+                       pointer[2]&MODE_LIT_ECHO ? "|LIT_ECHO" : "",
+                       pointer[2]&MODE_ACK ? "|ACK" : "");
+-                  fprintf(NetTrace, "%s", tbuf[1] ? &tbuf[1] : "0");
++                  fprintf(NetTrace, "%s", tbuf[0] ? &tbuf[1] : "0");
+               }
+               if (pointer[2]&~(MODE_MASK))
+                   fprintf(NetTrace, " (0x%x)", pointer[2]);
+@@ -580,10 +584,14 @@
+                   register int noquote = 2;
+                   for (i = 2; i < length; i++ ) {
+                       switch (pointer[i]) {
++                      case ENV_USERVAR:
+                       case ENV_VAR:
+                           if (pointer[1] == TELQUAL_SEND)
+                               goto def_case;
+-                          fprintf(NetTrace, "%s", "\" VAR " + noquote);
++                          if (pointer[i] == ENV_VAR)
++                              fprintf(NetTrace, "%s", "\" VAR " + noquote);
++                          else
++                              fprintf(NetTrace, "%s", "\" USERVAR " + noquote);
+                           noquote = 2;
+                           break;
+@@ -624,7 +632,7 @@
+           if (TELOPT_OK(pointer[0]))
+               fprintf(NetTrace, "%s (unknown)", TELOPT(pointer[0]));
+           else
+-              fprintf(NetTrace, "%d (unknown)", pointer[i]);
++              fprintf(NetTrace, "%d (unknown)", pointer[0]);
+           for (i = 1; i < length; i++)
+               fprintf(NetTrace, " %d", pointer[i]);
+           break;
+--- netkit-telnet-0.17/telnetd/utility.c.orig  2015-01-09 23:11:41.695499612 +0100
++++ netkit-telnet-0.17/telnetd/utility.c       2015-01-14 18:03:48.552691379 +0100
+@@ -643,10 +643,14 @@
+               break;
+           }
+           switch (pointer[1]) {
+-          case 0:
++          case LFLOW_OFF:
+               netoprintf(" OFF"); break;
+-          case 1:
++          case LFLOW_ON:
+               netoprintf(" ON"); break;
++          case LFLOW_RESTART_ANY:
++              netoprintf(" RESTART-ANY"); break;
++          case LFLOW_RESTART_XON:
++              netoprintf(" RESTART-XON"); break;
+           default:
+               netoprintf(" %d (unknown)", pointer[1]);
+           }
+@@ -792,15 +796,6 @@
+           netoprintf("STATUS");
+           switch (pointer[1]) {
+-          default:
+-              if (pointer[1] == TELQUAL_SEND)
+-                  netoprintf(" SEND");
+-              else
+-                  netoprintf(" %d (unknown)", pointer[1]);
+-              for (i = 2; i < length; i++) {
+-                  netoprintf(" ?%d?", pointer[i]);
+-              }
+-              break;
+           case TELQUAL_IS:
+               netoprintf(" IS\r\n");
+@@ -852,6 +847,15 @@
+                   }
+               }
+               break;
++          default:
++              if (pointer[1] == TELQUAL_SEND)
++                  netoprintf(" SEND");
++              else
++                  netoprintf(" %d (unknown)", pointer[1]);
++              for (i = 2; i < length; i++) {
++                  netoprintf(" ?%d?", pointer[i]);
++              }
++              break;
+           }
+           break;
+         }
+@@ -887,10 +891,14 @@
+                   register int noquote = 2;
+                   for (i = 2; i < length; i++ ) {
+                       switch (pointer[i]) {
++                      case ENV_USERVAR:
+                       case ENV_VAR:
+                           if (pointer[1] == TELQUAL_SEND)
+                               goto def_case;
+-                          netoprintf("%s", "\" VAR " + noquote);
++                          if (pointer[i] == ENV_VAR)
++                              netoprintf("%s", "\" VAR " + noquote);
++                          else
++                              netoprintf("%s", "\" USERVAR " + noquote);
+                           noquote = 2;
+                           break;
+@@ -1080,7 +1088,7 @@
+           if (TELOPT_OK(pointer[0]))
+               netoprintf("%s (unknown)", TELOPT(pointer[0]));
+           else
+-              netoprintf("%d (unknown)", pointer[i]);
++              netoprintf("%d (unknown)", pointer[0]);
+           for (i = 1; i < length; i++) {
+               netoprintf(" %d", pointer[i]);
+           }
+--- netkit-telnet-0.17/telnet/commands.cc.orig 2015-01-09 20:22:23.000000000 +0100
++++ netkit-telnet-0.17/telnet/commands.cc      2015-01-21 23:20:17.488735411 +0100
+@@ -1605,7 +1605,7 @@
+ }
+ static int status(void) {
+-    int notmuch = 1;
++    int notmuch = 0;
+     return dostatus(notmuch);
+ }
+--- netkit-telnet-0.17/telnet/telnet.cc.orig   2015-01-09 20:22:23.000000000 +0100
++++ netkit-telnet-0.17/telnet/telnet.cc        2015-01-22 14:34:01.402828217 +0100
+@@ -684,6 +684,15 @@
+       name = gettermname();
+       netoring.xprintf("%c%c%c%c%s%c%c", IAC, SB, TELOPT_TTYPE,
+                     TELQUAL_IS, name, IAC, SE);
++      {
++      unsigned char tbuf[7 + 20];     /* 20 chars for terminal name.  */
++      int len;
++
++      len = snprintf((char *) tbuf, sizeof(tbuf), "%c%c%c%c%s%c%c",
++                     IAC, SB, TELOPT_TTYPE, TELQUAL_IS, name, IAC, SE);
++      if (len > 6 && len < sizeof(tbuf))
++        printsub('>', &tbuf[2], len - 2);
++      }
+     }
+     break;
+   case TELOPT_TSPEED:
+@@ -696,6 +705,16 @@
+       TerminalSpeeds(&iispeed, &oospeed);
+       netoring.xprintf("%c%c%c%c%ld,%ld%c%c", IAC, SB, TELOPT_TSPEED, 
+                     TELQUAL_IS, oospeed, iispeed, IAC, SE);
++      {
++      unsigned char tbuf[8 + 20];     /* 20 characters for two speeds.  */
++      int len;
++
++      len = snprintf((char *) tbuf, sizeof(tbuf), "%c%c%c%c%ld,%ld%c%c",
++                     IAC, SB, TELOPT_TSPEED, TELQUAL_IS,
++                     oospeed, iispeed, IAC, SE);
++      if (len > 7 && len < sizeof(tbuf))
++        printsub('>', &tbuf[2], len - 2);
++      }
+     }
+     break;
+   case TELOPT_LFLOW:
+@@ -783,6 +802,15 @@
+       }
+       netoring.xprintf("%c%c%c%c%s%c%c", IAC, SB, TELOPT_XDISPLOC,
+                     TELQUAL_IS, dp, IAC, SE);
++      {
++      unsigned char tbuf[7 + 30];     /* 30 chars for display name.  */
++      int len;
++
++      len = snprintf((char *) tbuf, sizeof(tbuf), "%c%c%c%c%s%c%c",
++                     IAC, SB, TELOPT_XDISPLOC, TELQUAL_IS, dp, IAC, SE);
++      if (len > 6 && len < sizeof(tbuf))
++        printsub('>', &tbuf[2], len - 2);
++      }
+     }
+     break;
+     
+@@ -801,6 +829,14 @@
+   
+   netoring.xprintf("%c%c%c%c%c%c%c", IAC, SB, TELOPT_LINEMODE, 
+                 DONT, cmd[0], IAC, SE);
++  {
++    unsigned char tbuf[8];
++    int len;
++
++    len = snprintf((char *) tbuf, sizeof(tbuf), "%c%c%c%c%c%c%c",
++                 IAC, SB, TELOPT_LINEMODE, DONT, cmd[0], IAC, SE);
++    printsub('>', &tbuf[2], len - 2);
++  }
+ }
+ void lm_wont(unsigned char * /*cmd*/, int len) {
+@@ -818,6 +854,14 @@
+   }
+   netoring.xprintf("%c%c%c%c%c%c%c", IAC, SB, TELOPT_LINEMODE, 
+                 WONT, cmd[0], IAC, SE);
++  {
++    unsigned char tbuf[8];
++    int len;
++
++    len = snprintf((char *) tbuf, sizeof(tbuf), "%c%c%c%c%c%c%c",
++                 IAC, SB, TELOPT_LINEMODE, WONT, cmd[0], IAC, SE);
++    printsub('>', &tbuf[2], len - 2);
++  }
+ }
+ void lm_dont(unsigned char * /*cmd*/, int len) {
+@@ -841,6 +885,14 @@
+   
+   netoring.xprintf("%c%c%c%c%c%c%c", IAC, SB, TELOPT_LINEMODE, LM_MODE,
+                 k, IAC, SE);
++  {
++    unsigned char tbuf[8];
++    int len;
++
++    len = snprintf((char *) tbuf, sizeof(tbuf), "%c%c%c%c%c%c%c",
++                 IAC, SB, TELOPT_LINEMODE, LM_MODE, k, IAC, SE);
++    printsub('>', &tbuf[2], len - 2);
++  }
+   
+   setconnmode(0);     /* set changed mode */
+ }
+@@ -933,14 +985,23 @@
+ }
+ void slc_import(int def) {
++  unsigned char cmd, tbuf[10];
++  int len;
++
+   if (def) {
++    cmd = SLC_DEFAULT;
+     netoring.xprintf("%c%c%c%c%c%c%c%c%c", IAC, SB, TELOPT_LINEMODE,
+                   LM_SLC, 0, SLC_DEFAULT, 0, IAC, SE);
+   }
+   else {
++    cmd = SLC_VARIABLE;
+     netoring.xprintf("%c%c%c%c%c%c%c%c%c", IAC, SB, TELOPT_LINEMODE,
+                   LM_SLC, 0, SLC_VARIABLE, 0, IAC, SE);
+   }
++
++  len = snprintf((char *) tbuf, sizeof(tbuf), "%c%c%c%c%c%c%c%c%c",
++               IAC, SB, TELOPT_LINEMODE, LM_SLC, 0, cmd, 0, IAC, SE);
++  printsub('>', &tbuf[2], len - 2);
+ }
+ void slc_export(void) {
diff --git a/telnet/patches/124-support_uservar.diff b/telnet/patches/124-support_uservar.diff
new file mode 100644 (file)
index 0000000..a4f919e
--- /dev/null
@@ -0,0 +1,170 @@
+Description: Support user variables in environment.
+ Include conditionally protected code, allowing the server to accept
+ variables from the client marked as user defined, i.e., ENV_USERVAR,
+ into the environment.  The code is made active by the compiler macro
+ ACCEPT_USERVAR.  This would let clients from Solaris and FreeBSD set
+ variables exported by the user.
+ [telnetd/state.c (suboption)]
+ .
+ Fix incorrect offset while diagnostically printing suboptions.
+ [telnetd/state.c (send_status)]
+ .
+ Add LANG and LC_* to the list of acceptable environment variables.
+ [telnetd/state.c (envvarok)]
+ .
+ Let the client executable announce most environment variables as user
+ defined, i.e., as ENV_USERVAR.  A new function wellknown_var() checks
+ whether a proposed variable name is known well enough to be kept as
+ ENV_VAR, thus nominally undergo more scrutiny at the server's end.
+ These addition are also conditioned by the macro ACCEPT_USERVAR:
+ [telnet/telnet.cc (env_opt_add)]
+
+Author: Mats Erik Andersson <debian@gisladisker.se>
+Bug-Debian: http://bugs.debian.org/237268
+Forwarded: no
+Last-Update: 2015-03-09
+
+--- netkit-telnet-0.17/telnetd/state.c.orig    2015-01-09 20:22:23.000000000 +0100
++++ netkit-telnet-0.17/telnetd/state.c 2015-03-07 13:53:41.241039630 +0100
+@@ -1157,7 +1157,7 @@
+     }  /* end of case TELOPT_XDISPLOC */
+     case TELOPT_ENVIRON: {
+-      register int c;
++      register int c, is_uservar = 0;
+       register char *cp, *varp, *valp;
+       if (SB_EOF())
+@@ -1168,12 +1168,17 @@
+       else if (c != TELQUAL_INFO)
+               return;
+-      while (!SB_EOF() && SB_GET() != ENV_VAR)
+-              ;
++      while (!SB_EOF()) {
++          c = SB_GET();
++          if (c == ENV_VAR || c == ENV_USERVAR)
++              break;
++      }
+       if (SB_EOF())
+               return;
++      is_uservar = (c == ENV_USERVAR) ? 1 : 0;
++
+       cp = varp = (char *)subpointer;
+       valp = 0;
+@@ -1184,14 +1189,20 @@
+               cp = valp = (char *)subpointer;
+               break;
+               
++          case ENV_USERVAR:
+           case ENV_VAR:
+               *cp = '\0';
+-              if (envvarok(varp)) {
++              if (envvarok(varp)
++#ifdef ACCEPT_USERVAR
++                  || is_uservar
++#endif
++                 ) {
+                   if (valp)
+                       (void)setenv(varp, valp, 1);
+                   else
+                       unsetenv(varp);
+               }
++              is_uservar = (c == ENV_USERVAR) ? 1 : 0;
+               cp = varp = (char *)subpointer;
+               valp = 0;
+               break;
+@@ -1208,7 +1219,11 @@
+           }
+       }
+       *cp = '\0';
+-      if (envvarok(varp)) {
++      if (envvarok(varp)
++#ifdef ACCEPT_USERVAR
++          || is_uservar
++#endif
++         ) {
+           if (valp)
+               (void)setenv(varp, valp, 1);
+           else
+@@ -1367,7 +1382,7 @@
+     writenet(statusbuf, ncp - statusbuf);
+     netflush();       /* Send it on its way */
+-    DIAG(TD_OPTIONS, {printsub('>', statusbuf, ncp - statusbuf); netflush();});
++    DIAG(TD_OPTIONS, {printsub('>', statusbuf + 2, ncp - statusbuf - 2); netflush();});
+ }
+ /* check that variable is safe to pass to login or shell */
+@@ -1399,6 +1414,8 @@ static int envvarok(char *varp) {
+     if (!strcmp(varp, "USER")) return 1;
+     if (!strcmp(varp, "LOGNAME")) return 1;
+     if (!strcmp(varp, "POSIXLY_CORRECT")) return 1;
++    if (!strcmp(varp, "LANG")) return 1;
++    if (!strncmp(varp, "LC_", 3)) return 1;
+     /* optionally syslog(LOG_INFO) here */
+     return 0;
+--- netkit-telnet-0.17/telnet/telnet.cc.orig   2015-01-09 20:22:23.000000000 +0100
++++ netkit-telnet-0.17/telnet/telnet.cc        2015-03-09 14:35:22.513396375 +0100
+@@ -1213,6 +1213,40 @@ void env_opt(unsigned char *buf, int len
+   }
+ }
++#ifdef ACCEPT_USERVAR
++namespace {
++  const struct stems {
++    const char *stem; /* Initial part, or a full name. */
++    const int len;    /* Naught indicates a full name. */
++  } wellknown_stems[] = {
++    { "ACCT", 0 },
++    { "DISPLAY", 0 },
++    { "JOB",  0 },
++    { "LANG", 0 },
++    { "LC_",  3 },
++    { "LOGNAME", 0 },
++    { "POSIXLY_CORRECT", 0 },
++    { "PRINTER", 0 },
++    { "SSH_", 4 },
++    { "SYSTEMTYPE", 0 },
++    { "TERM", 0 },
++    { "USER", 0 },
++    { "XAUTHORITY", 0 },
++    { NULL,   0 }
++  };
++
++  int wellknown_var(const char *name) {
++    const stems *stem;
++      for (stem = wellknown_stems; stem->stem != NULL; stem++)
++      if ((stem->len ? strncmp(name, stem->stem, stem->len)
++                      : strcmp(name, stem->stem)) == 0)
++        return 1;
++
++    return 0;
++  }
++} /* Anonymous namespace */
++#endif /* ACCEPT_USERVAR */
++
+ /* OPT_REPLY_SIZE must be a multiple of 2. */
+ #define       OPT_REPLY_SIZE  256
+ unsigned char *opt_reply;
+@@ -1273,7 +1307,16 @@ void env_opt_add(const char *ep) {
+       opt_replyp = opt_reply + len - (opt_replyend - opt_replyp);
+       opt_replyend = opt_reply + len;
+     }
++
++#ifdef ACCEPT_USERVAR
++  if (wellknown_var(ep))
++    *opt_replyp++ = ENV_VAR;
++  else
++    *opt_replyp++ = ENV_USERVAR;
++#else /* !ACCEPT_USERVAR */
+   *opt_replyp++ = ENV_VAR;
++#endif
++
+   for (;;) {
+     while ((c = *ep++)!=0) {
+       switch(c) {
diff --git a/telnet/patches/130-drain_input_from_child.diff b/telnet/patches/130-drain_input_from_child.diff
new file mode 100644 (file)
index 0000000..e756096
--- /dev/null
@@ -0,0 +1,135 @@
+Description: Drain input stream from child process.
+ When the server process receives SIGCHILD, there might
+ well be data pending in the PTY buffer, intended for
+ the client waiting eagerly at the network link.
+ .
+ Replace the old signal handler for SIGCHILD with a simpler
+ version that sets a semaphor.  That semaphor is then sampled
+ at a suitable time during the I/O main loop, and execution
+ is transferred to the old handler after flushing the queue.
+ .
+ In the original signal handler, call waitpid() in order to
+ remove the child process from the kernel's process list.
+ .
+ Make some small adjustment to debugging output.
+Author: Mats Erik Andersson <debian@gisladisker.se>
+Bug-Debian: http://bugs.debian.org/607415
+Forwarded: no
+Last-Update: 2015-01-20
+
+--- netkit-telnet-0.17/telnetd/sys_term.c.orig 2015-01-09 20:22:23.000000000 +0100
++++ netkit-telnet-0.17/telnetd/sys_term.c      2015-03-07 15:44:01.185237034 +0100
+@@ -39,6 +39,8 @@
+ #include <utmp.h>
++#include <sys/wait.h>
++
+ #include "telnetd.h"
+ #include "pathnames.h"
+@@ -720,11 +722,16 @@
+  * clean up anything that needs to be cleaned up.
+  */
+ void cleanup(int sig) {
++    int stat = 0;
+     const char *p;
+-    (void)sig;
++
++    if (sig == SIGCHLD) {
++      if (waitpid(-1, &stat, WNOHANG) > 0)
++          stat = WEXITSTATUS(stat);
++    }
+     p = line + sizeof("/dev/") - 1;
+     if (logout(p)) logwtmp(p, "", "");
+     shutdown(net, 2);
+-    exit(0);
++    exit(stat);
+ }
+--- netkit-telnet-0.17/telnetd/telnetd.c.orig  2015-01-09 20:22:23.000000000 +0100
++++ netkit-telnet-0.17/telnetd/telnetd.c       2015-01-20 13:59:40.625777998 +0100
+@@ -92,9 +92,17 @@
+ char *loginprg = _PATH_LOGIN;
+ #endif
++static int got_sigchld = 0;
++
+ extern void usage(void);
+ static void
++catch_sigchld(int sig)
++{
++      got_sigchld = 1;
++}
++
++static void
+ wait_for_connection(const char *service)
+ {
+       struct addrinfo hints;
+@@ -870,9 +878,9 @@
+      */
+     signal(SIGTTOU, SIG_IGN);
+ #endif
+-    
+-    signal(SIGCHLD, cleanup);
+-    
++
++    signal(SIGCHLD, catch_sigchld);
++
+ #ifdef TIOCNOTTY
+     {
+       register int t;
+@@ -1091,6 +1099,11 @@
+                                  ptyibuf[0] & TIOCPKT_DOSTOP ? 1 : 0,
+                                  IAC, SE);
+               }
++
++              DIAG((TD_REPORT | TD_PTYDATA),
++                   netoprintf("td: ptyread %d chars\r\n", pcc););
++              DIAG(TD_PTYDATA, printdata("pd", ptyibuf, pcc));
++
+               pcc--;
+               ptyip = ptyibuf+1;
+           }
+@@ -1116,6 +1129,11 @@
+           telrcv();
+       if (FD_ISSET(p, &obits) && (pfrontp - pbackp) > 0)
+           ptyflush();
++
++      if (got_sigchld) {
++          netflush();
++          cleanup(SIGCHLD);   /* Not returning.  */
++      }
+     }
+     cleanup(0);
+ }  /* end of telnet */
+--- netkit-telnet-0.17/telnetd/utility.c.orig  2015-01-14 18:03:48.552691379 +0100
++++ netkit-telnet-0.17/telnetd/utility.c       2015-01-19 16:06:55.783013012 +0100
+@@ -1110,7 +1110,7 @@
+               /* add a line of output */
+               netoprintf("%s: ", tag);
+               for (i = 0; i < 20 && cnt; i++) {
+-                      netoprintf("%02x", *ptr);
++                      netoprintf("%02x", (unsigned char) *ptr);
+                       if (isprint(*ptr)) {
+                               xbuf[i] = *ptr;
+                       } else {
+--- netkit-telnet-0.17/telnetd/telnetd.8.orig  2015-01-13 23:06:04.039624516 +0100
++++ netkit-telnet-0.17/telnetd/telnetd.8       2015-01-20 14:35:13.973804769 +0100
+@@ -124,12 +124,13 @@
+ program.
+ .El
+ .It Fl D Ar debugmode
+-This option may be used for debugging purposes.  This allows
++This option may be used for debugging purposes.  It allows
+ .Nm telnetd
+ to print out debugging information to the connection, allowing the
+ user to see what
+ .Nm telnetd
+-is doing.  There are several possible values for
++is doing.  Repeated use of the option arranges composite debug reports.
++There are several possible values for
+ .Ar debugmode:
+ .Bl -tag -width exercise
+ .It Cm options
diff --git a/telnet/patches/140-telnetlogin_name_check.diff b/telnet/patches/140-telnetlogin_name_check.diff
new file mode 100644 (file)
index 0000000..945a4c1
--- /dev/null
@@ -0,0 +1,19 @@
+Description: Logical error in host name check.
+ Mutually exclusive conditions were juxtaposed with logical AND,
+ resulting in a test never being effective.
+Author: Ian Beckwith <ianb@debian.org>
+Comment: Incorporated from netkit-telnet-ssl.
+Forwarded: no
+Last Update: 2015-01-30
+
+--- netkit-telnet-0.17.orig/telnetlogin/telnetlogin.c
++++ netkit-telnet-0.17/telnetlogin/telnetlogin.c
+@@ -76,7 +76,7 @@
+    int i=0;
+    /* should we check length? */
+    for (i=0; hname[i]; i++) {
+-      if (hname[i]<=32 && hname[i]>126) return -1;
++      if ((hname[i]<=32) || (hname[i]>126)) return -1;
+    }
+    return 0;
+ }
diff --git a/telnet/patches/142-numeric_hosts.diff b/telnet/patches/142-numeric_hosts.diff
new file mode 100644 (file)
index 0000000..4529939
--- /dev/null
@@ -0,0 +1,76 @@
+Description: Resolve remote host as numeric host identifier.
+ Implement a new switch '-N' in the server, avoiding reverse DNS
+ resolution and instead registering a numeric host representation.
+ The environment variable REMOTEHOST is set to this numeric address.
+ .
+ The change could be of benefit in PAM rules for access control as well
+ as for accounting and tracing of network activity.  In addition, the use
+ of '-N' mitigates cases when a hostile third party might have gained
+ control of reverse DNS resolution and is trying to inject fake answers.
+
+Author: Dean Gaudet
+Bug-Debian: http://bugs.debian.org/258371
+Comment: The patch was first applied to netkit-telnet-ssl.
+Last-Update: 2004-12-05
+
+--- netkit-telnet-0.17/telnetd/telnetd.c.orig
++++ netkit-telnet-0.17/telnetd/telnetd.c
+@@ -86,6 +86,7 @@ int  hostinfo = 1;                   /* do we print login
+ int debug = 0;
+ int keepalive = 1;
++int numeric_hosts = 0;
+ #ifdef LOGIN_WRAPPER
+ char *loginprg = LOGIN_WRAPPER;
+ #else
+@@ -220,7 +221,7 @@ main(int argc, char *argv[], char *env[]
+       pfrontp = pbackp = ptyobuf;
+       netip = netibuf;
+-      while ((ch = getopt(argc, argv, "d:a:e:lhnr:I:D:B:sS:a:X:L:")) != EOF) {
++      while ((ch = getopt(argc, argv, "d:a:e:lhnNr:I:D:B:sS:a:X:L:")) != EOF) {
+               switch(ch) {
+ #ifdef        AUTHENTICATE
+@@ -319,6 +320,10 @@ main(int argc, char *argv[], char *env[]
+                       keepalive = 0;
+                       break;
++              case 'N':
++                      numeric_hosts = 1;
++                      break;
++
+ #ifdef        SecurID
+               case 's':
+                       /* SecurID required */
+@@ -680,7 +685,8 @@ doit(struct sockaddr *who, socklen_t who
+       /* get name of connected client */
+       if (getnameinfo(who, who_len, remote_host_name,
+-                      sizeof(remote_host_name), 0, 0, 0)) {
++                      sizeof(remote_host_name), 0, 0, 
++                      numeric_hosts ? NI_NUMERICHOST : 0)) {
+               syslog(LOG_ERR, "doit: getnameinfo: %m");
+               *remote_host_name = 0;
+         }
+--- netkit-telnet-0.17/telnetd/telnetd.8.orig
++++ netkit-telnet-0.17/telnetd/telnetd.8
+@@ -42,7 +42,7 @@
+ protocol server
+ .Sh SYNOPSIS
+ .Nm /usr/sbin/in.telnetd
+-.Op Fl hns
++.Op Fl hnNs
+ .Op Fl a Ar authmode
+ .Op Fl D Ar debugmode
+ .Op Fl L Ar loginprg
+@@ -176,6 +176,9 @@
+ if the client is still there, so that idle connections
+ from machines that have crashed or can no longer
+ be reached may be cleaned up.
++.It Fl N
++Disable reverse DNS lookups and use the numeric IP address in logs
++and REMOTEHOST environment variable.
+ .It Fl s
+ This option is only enabled if
+ .Nm telnetd
diff --git a/telnet/patches/netkit-telnet-0.17-ipv6.diff b/telnet/patches/netkit-telnet-0.17-ipv6.diff
deleted file mode 100644 (file)
index e3719f1..0000000
+++ /dev/null
@@ -1,265 +0,0 @@
-diff -uNr netkit-telnet-0.17/telnetd/telnetd.c netkit-telnet-0.17.ipv6/telnetd/telnetd.c\r
---- netkit-telnet-0.17/telnetd/telnetd.c       2006-07-13 08:37:18.000000000 +0200\r
-+++ netkit-telnet-0.17.ipv6/telnetd/telnetd.c  2006-07-14 08:36:11.000000000 +0200\r
-@@ -49,6 +49,7 @@\r
- /* #include <netinet/ip.h> */ /* Don't think this is used at all here */\r
- #include <arpa/inet.h>\r
- #include <assert.h>\r
-+#include <sys/poll.h>\r
- #include "telnetd.h"\r
- #include "pathnames.h"\r
- #include "setproctitle.h"\r
-@@ -68,7 +69,7 @@\r
- #define HAS_IPPROTO_IP\r
- #endif\r
\r
--static void doit(struct sockaddr_in *who);\r
-+static void doit(struct sockaddr *who, socklen_t wholen);\r
- static int terminaltypeok(const char *s);\r
\r
- /*\r
-@@ -90,7 +91,7 @@\r
- int\r
- main(int argc, char *argv[], char *env[])\r
- {\r
--      struct sockaddr_in from;\r
-+      struct sockaddr from;\r
-       int on = 1;\r
-       socklen_t fromlen;\r
-       register int ch;\r
-@@ -248,64 +249,89 @@\r
-       argc -= optind;\r
-       argv += optind;\r
\r
--      if (debug) {\r
--          int s, ns;\r
--          socklen_t foo;\r
--          struct servent *sp;\r
--          struct sockaddr_in sn;\r
-+      int s = 0;\r
\r
--          memset(&sn, 0, sizeof(sn));\r
--          sn.sin_family = AF_INET;\r
-+      if (debug) {\r
-+          struct addrinfo *ai;\r
-+          unsigned int nfds = 0;\r
-+          struct pollfd fds[2];\r
\r
-           if (argc > 1) {\r
--              usage();\r
--              /* NOTREACHED */\r
--          } else if (argc == 1) {\r
--                  if ((sp = getservbyname(*argv, "tcp"))!=NULL) {\r
--                      sn.sin_port = sp->s_port;\r
--                  } \r
--                  else {\r
--                      int pt = atoi(*argv);\r
--                      if (pt <= 0) {\r
--                          fprintf(stderr, "telnetd: %s: bad port number\n",\r
--                                  *argv);\r
--                          usage();\r
--                          /* NOTREACHED */\r
--                      }\r
--                      sn.sin_port = htons(pt);\r
--                 }\r
-+              usage();\r
-+              /* NOTREACHED */\r
-           } else {\r
--              sp = getservbyname("telnet", "tcp");\r
--              if (sp == 0) {\r
--                  fprintf(stderr, "telnetd: tcp/telnet: unknown service\n");\r
--                  exit(1);\r
--              }\r
--              sn.sin_port = sp->s_port;\r
--          }\r
-+              struct addrinfo hints;\r
-+\r
-+              memset (&hints, '\0', sizeof (hints));\r
-+              hints.ai_socktype = SOCK_STREAM;\r
-+              hints.ai_flags = AI_ADDRCONFIG | AI_PASSIVE;\r
-+              hints.ai_protocol = IPPROTO_TCP;\r
-+\r
-+              if (argc == 0) {\r
-+                  if (getaddrinfo(NULL, "telnet", &hints, &ai) != 0) {\r
-+                     fprintf(stderr, "telnetd: %s: bad port number\n", *argv);\r
-+                      usage();\r
-+                      /* NOTREACHED */\r
-+                  }\r
-+              } else {\r
-+                  if (getaddrinfo(NULL, *argv, &hints, &ai) != 0) {\r
-+                      fprintf(stderr, "telnetd: %s: bad port number\n", *argv);\r
-+                      usage();\r
-+                      /* NOTREACHED */\r
-+                  }\r
-+                }\r
-+          }   \r
\r
--          s = socket(AF_INET, SOCK_STREAM, 0);\r
--          if (s < 0) {\r
-+          struct addrinfo *runp;\r
-+          int b = 0;\r
-+          for (runp = ai; ((runp != NULL) && (nfds < sizeof (fds) / sizeof (fds[0]))); runp = runp->ai_next) {\r
-+              fds[nfds].fd = socket(runp->ai_family, runp->ai_socktype, runp->ai_protocol);\r
-+              if (fds[nfds].fd < 0) {\r
-                   perror("telnetd: socket");;\r
--                  exit(1);\r
-+                  exit(1);\r
-+              }\r
-+              fds[nfds].events = POLLIN;\r
-+              (void) setsockopt(fds[nfds].fd, SOL_SOCKET, SO_REUSEADDR, &on, sizeof(on));\r
-+\r
-+              if (bind(fds[nfds].fd, runp->ai_addr, runp->ai_addrlen) != 0) {\r
-+                  // Unable to bind to given port. One of the reason can be\r
-+                  // that we can't bind to both IPv4 and IPv6\r
-+                  break;\r
-+              } else {                        \r
-+                  b++;\r
-+              }\r
-+\r
-+              if (listen(fds[nfds].fd, 1) < 0) {\r
-+                  perror("listen");\r
-+                  exit(1);\r
-+              }\r
-+                nfds++;\r
-           }\r
--          (void) setsockopt(s, SOL_SOCKET, SO_REUSEADDR, &on, sizeof(on));\r
--          if (bind(s, (struct sockaddr *)&sn, sizeof(sn)) < 0) {\r
--              perror("bind");\r
--              exit(1);\r
--          }\r
--          if (listen(s, 1) < 0) {\r
--              perror("listen");\r
--              exit(1);\r
-+          freeaddrinfo(ai);\r
-+\r
-+          if (b == 0) {\r
-+              perror("bind");\r
-+              exit(1);\r
-           }\r
--          foo = sizeof(sn);\r
--          ns = accept(s, (struct sockaddr *)&sn, &foo);\r
--          if (ns < 0) {\r
--              perror("accept");\r
--              exit(1);\r
-+\r
-+          int n = poll (fds, nfds, -1);\r
-+          if (n > 0) {\r
-+              unsigned int i;\r
-+              for (i = 0; i < nfds; i++) {\r
-+                  if (fds[i].revents & POLLIN) {\r
-+                      struct sockaddr_storage rem;\r
-+                      socklen_t remlen = sizeof(rem);\r
-+                      int fd = accept(fds[i].fd, (struct sockaddr *) &rem, &remlen);\r
-+\r
-+                      if (fd < 0) {\r
-+                          perror("accept");\r
-+                          exit(1);\r
-+                      }\r
-+\r
-+                      s = fd;\r
-+                  }\r
-+              }\r
-           }\r
--          (void) dup2(ns, 0);\r
--          (void) close(ns);\r
--          (void) close(s);\r
-       } else if (argc > 0) {\r
-               usage();\r
-               /* NOT REACHED */\r
-@@ -313,13 +339,13 @@\r
\r
-       openlog("telnetd", LOG_PID | LOG_ODELAY, LOG_DAEMON);\r
-       fromlen = sizeof (from);\r
--      if (getpeername(0, (struct sockaddr *)&from, &fromlen) < 0) {\r
-+      if (getpeername(s, &from, &fromlen) < 0) {\r
-               fprintf(stderr, "%s: ", progname);\r
-               perror("getpeername");\r
-               _exit(1);\r
-       }\r
-       if (keepalive &&\r
--          setsockopt(0, SOL_SOCKET, SO_KEEPALIVE, &on, sizeof (on)) < 0) {\r
-+          setsockopt(s, SOL_SOCKET, SO_KEEPALIVE, &on, sizeof (on)) < 0) {\r
-               syslog(LOG_WARNING, "setsockopt (SO_KEEPALIVE): %m");\r
-       }\r
\r
-@@ -333,13 +359,13 @@\r
-               if (tos < 0)\r
-                       tos = 020;      /* Low Delay bit */\r
-               if (tos\r
--                 && (setsockopt(0, IPPROTO_IP, IP_TOS, &tos, sizeof(tos)) < 0)\r
-+                 && (setsockopt(s, IPPROTO_IP, IP_TOS, &tos, sizeof(tos)) < 0)\r
-                  && (errno != ENOPROTOOPT) )\r
-                       syslog(LOG_WARNING, "setsockopt (IP_TOS): %m");\r
-       }\r
- #endif        /* defined(HAS_IPPROTO_IP) && defined(IP_TOS) */\r
--      net = 0;\r
--      doit(&from);\r
-+      net = s;\r
-+      doit(&from, fromlen);\r
-       /* NOTREACHED */\r
-       return 0;\r
- }  /* end of main */\r
-@@ -608,10 +634,9 @@\r
-  * Get a pty, scan input lines.\r
-  */\r
- static void\r
--doit(struct sockaddr_in *who)\r
-+doit(struct sockaddr *who, socklen_t wholen)\r
- {\r
-       const char *host;\r
--      struct hostent *hp;\r
-       int level;\r
-       char user_name[256];\r
\r
-@@ -623,12 +648,18 @@\r
-               fatal(net, "All network ports in use");\r
\r
-       /* get name of connected client */\r
--      hp = gethostbyaddr((char *)&who->sin_addr, sizeof (struct in_addr),\r
--              who->sin_family);\r
--      if (hp)\r
--              host = hp->h_name;\r
--      else\r
--              host = inet_ntoa(who->sin_addr);\r
-+      int error = -1;\r
-+      char namebuf[255];\r
-+\r
-+      error = getnameinfo(who, wholen, namebuf, sizeof(namebuf), NULL, 0, 0);\r
-+      \r
-+      if (error) {\r
-+              perror("getnameinfo: localhost");\r
-+              perror(gai_strerror(error));\r
-+              exit(1);                \r
-+      }\r
-+      \r
-+      host = namebuf;\r
\r
-       /*\r
-        * We must make a copy because Kerberos is probably going\r
-@@ -649,13 +680,21 @@\r
\r
-       /* Get local host name */\r
-       {\r
--              struct hostent *h;\r
-+              struct addrinfo hints;\r
-+              struct addrinfo *res;\r
-+              int e;\r
-+\r
-+              memset(&hints, '\0', sizeof(hints));\r
-+              hints.ai_socktype = SOCK_STREAM;\r
-+              hints.ai_flags = AI_ADDRCONFIG;\r
-+\r
-               gethostname(host_name, sizeof(host_name));\r
--              h = gethostbyname(host_name);\r
--              if (h) {\r
--                  strncpy(host_name, h->h_name, sizeof(host_name));\r
--                  host_name[sizeof(host_name)-1] = 0;\r
-+              if ((e = getaddrinfo(host_name, NULL, &hints, &res)) != 0) {\r
-+                      perror("getaddrinfo: localhost");\r
-+                      perror(gai_strerror(e));\r
-+                      exit(1);\r
-               }\r
-+              freeaddrinfo(res);\r
-       }\r
\r
- #if   defined(AUTHENTICATE) || defined(ENCRYPT)\r
diff --git a/telnet/patches/netkit-telnet-0.17-nodns.patch b/telnet/patches/netkit-telnet-0.17-nodns.patch
deleted file mode 100644 (file)
index 1dba79b..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
---- netkit-telnet-0.17.orig/telnetd/telnetd.c  2007-03-13 16:31:20.000000000 +0000
-+++ netkit-telnet-0.17.orig/telnetd/telnetd.c  2007-03-13 16:31:26.000000000 +0000
-@@ -653,6 +653,11 @@ doit(struct sockaddr *who, socklen_t who
-       error = getnameinfo(who, wholen, namebuf, sizeof(namebuf), NULL, 0, 0);
-       
-+      /* if we can't get a hostname now, settle for an address */     
-+      if(error == EAI_AGAIN)
-+              error = getnameinfo(who, wholen, namebuf, sizeof(namebuf),
-+                              NULL, 0, NI_NUMERICHOST);
-+              
-       if (error) {
-               perror("getnameinfo: localhost");
-               perror(gai_strerror(error));
-@@ -681,7 +686,7 @@ doit(struct sockaddr *who, socklen_t who
-       /* Get local host name */
-       {
-               struct addrinfo hints;
--              struct addrinfo *res;
-+              struct addrinfo *res = 0;
-               int e;
-               memset(&hints, '\0', sizeof(hints));
-@@ -690,11 +695,14 @@ doit(struct sockaddr *who, socklen_t who
-               gethostname(host_name, sizeof(host_name));
-               if ((e = getaddrinfo(host_name, NULL, &hints, &res)) != 0) {
--                      perror("getaddrinfo: localhost");
--                      perror(gai_strerror(e));
--                      exit(1);
-+                      if(e != EAI_AGAIN) {
-+                              fprintf(stderr, "getaddrinfo: localhost %s\n", 
-+                                      gai_strerror(e));
-+                              exit(1);
-+                      }
-               }
--              freeaddrinfo(res);
-+              if(res)
-+                      freeaddrinfo(res);
-       }
- #if   defined(AUTHENTICATE) || defined(ENCRYPT)
-
diff --git a/telnet/patches/netkit-telnet-0.17-reallynodns.patch b/telnet/patches/netkit-telnet-0.17-reallynodns.patch
deleted file mode 100644 (file)
index 32f7af5..0000000
+++ /dev/null
@@ -1,88 +0,0 @@
---- netkit-telnet-0.17.orig/telnetd/telnetd.c.reallynodns      2009-03-12 14:32:29.000000000 -0700
-+++ netkit-telnet-0.17.orig/telnetd/telnetd.c  2009-03-12 14:51:59.000000000 -0700
-@@ -85,6 +85,7 @@
- int keepalive = 1;
- char *loginprg = _PATH_LOGIN;
- char *progname;
-+int lookupself = 1;
- extern void usage(void);
-@@ -111,7 +112,7 @@
-       progname = *argv;
--      while ((ch = getopt(argc, argv, "d:a:e:lhnr:I:D:B:sS:a:X:L:")) != EOF) {
-+      while ((ch = getopt(argc, argv, "d:a:e:lhnr:I:D:B:sS:a:X:L:N")) != EOF) {
-               switch(ch) {
- #ifdef        AUTHENTICATE
-@@ -210,6 +211,10 @@
-                       keepalive = 0;
-                       break;
-+                case 'N':
-+                        lookupself = 0;
-+                        break;
-+
- #ifdef        SecurID
-               case 's':
-                       /* SecurID required */
-@@ -393,6 +398,7 @@
- #endif
-       fprintf(stderr, " [-L login_program]");
-       fprintf(stderr, " [-n]");
-+      fprintf(stderr, " [-N]");
- #ifdef        SecurID
-       fprintf(stderr, " [-s]");
- #endif
-@@ -691,15 +697,20 @@
-               memset(&hints, '\0', sizeof(hints));
-               hints.ai_socktype = SOCK_STREAM;
--              hints.ai_flags = AI_ADDRCONFIG;
-+              hints.ai_flags = AI_CANONNAME;
-               gethostname(host_name, sizeof(host_name));
--              if ((e = getaddrinfo(host_name, NULL, &hints, &res)) != 0) {
--                      if(e != EAI_AGAIN) {
--                              fprintf(stderr, "getaddrinfo: localhost %s\n", 
--                                      gai_strerror(e));
--                              exit(1);
--                      }
-+                /*
-+                 * Optionally canonicalize the local host name, in case
-+                 * gethostname() returns foo, we want foo.example.com
-+                 */
-+              if (lookupself &&
-+                    (e = getaddrinfo(host_name, NULL, &hints, &res)) == 0) {
-+                        if (res->ai_canonname) {
-+                                strncpy(host_name, res->ai_canonname,
-+                                                        sizeof(host_name)-1);
-+                                host_name[sizeof(host_name)-1] = 0;
-+                        }
-               }
-               if(res)
-                       freeaddrinfo(res);
---- netkit-telnet-0.17.orig/telnetd/telnetd.8.reallynodns      2009-03-12 14:54:54.000000000 -0700
-+++ netkit-telnet-0.17.orig/telnetd/telnetd.8  2009-03-12 14:56:58.000000000 -0700
-@@ -42,7 +42,7 @@
- protocol server
- .Sh SYNOPSIS
- .Nm /usr/sbin/in.telnetd
--.Op Fl hns
-+.Op Fl hnNs
- .Op Fl a Ar authmode
- .Op Fl D Ar debugmode
- .Op Fl L Ar loginprg
-@@ -175,6 +175,10 @@
- if the client is still there, so that idle connections
- from machines that have crashed or can no longer
- be reached may be cleaned up.
-+.It Fl N
-+Do not use DNS to canonicalize the local hostname;
-+.Fn gethostname 2
-+returns a fully qualified name.
- .It Fl s
- This option is only enabled if
- .Nm telnetd
diff --git a/telnet/patches/telnet-0.17-8bit.patch b/telnet/patches/telnet-0.17-8bit.patch
deleted file mode 100644 (file)
index 89818b5..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-diff -ru netkit-telnet-0.17.orig/telnet/main.c netkit-telnet-0.17/telnet/main.c
---- netkit-telnet-0.17.orig/telnet/main.c      2003-05-15 20:07:40.000000000 +0200
-+++ netkit-telnet-0.17/telnet/main.c   2003-05-16 00:18:28.000000000 +0200
-@@ -143,7 +143,7 @@
-       while ((ch = getopt(argc, argv, "78DEKLS:X:ab:cde:fFk:l:n:rt:x")) != -1) {
-               switch(ch) {
-               case '8':
--                      eight = 3;      /* binary output and input */
-+                      binary = 3;     /* send TELNET BINARY option for output and input */
-                       break;
-               case '7':
-                       eight = 0;
-@@ -165,7 +165,7 @@
- #endif
-                       break;
-               case 'L':
--                      eight |= 2;     /* binary output only */
-+                      binary = 2;     /* send TELNET BINARY option for output only */
-                       break;
-               case 'S':
-                   {
-diff -ru netkit-telnet-0.17.orig/telnet/telnet.1 netkit-telnet-0.17/telnet/telnet.1
---- netkit-telnet-0.17.orig/telnet/telnet.1    2003-05-15 20:07:40.000000000 +0200
-+++ netkit-telnet-0.17/telnet/telnet.1 2003-05-15 23:38:37.000000000 +0200
-@@ -76,6 +76,8 @@
- .Pp
- The options are as follows:
- .Bl -tag -width Ds
-+.It Fl 7
-+Strip 8th bit on input and output. Telnet is 8-bit clean by default but doesn't send the TELNET BINARY option unless forced.
- .It Fl 8
- Specifies an 8-bit data path.
- This causes an attempt to negotiate the
diff --git a/telnet/patches/telnet-0.17-CAN-2005-468_469.patch b/telnet/patches/telnet-0.17-CAN-2005-468_469.patch
deleted file mode 100644 (file)
index 57e1372..0000000
+++ /dev/null
@@ -1,179 +0,0 @@
---- netkit-telnet-0.17/telnet/telnet.c.CAN-2005-468_469        2005-03-17 13:48:58.000000000 +0100
-+++ netkit-telnet-0.17/telnet/telnet.c 2005-03-17 14:02:27.000000000 +0100
-@@ -1310,22 +1310,66 @@
- }
--unsigned char slc_reply[128];
-+#define SLC_REPLY_SIZE 128
-+unsigned char *slc_reply;
- unsigned char *slc_replyp;
-+unsigned char *slc_replyend;
-       void
- slc_start_reply(void)
- {
-+        slc_reply = (unsigned char *)malloc(SLC_REPLY_SIZE);
-+        if (slc_reply == NULL) {
-+/*@*/           printf("slc_start_reply: malloc()/realloc() failed!!!\n");
-+                slc_reply = slc_replyp = slc_replyend = NULL;
-+                return;
-+      }
-+
-       slc_replyp = slc_reply;
-+      slc_replyend = slc_reply + SLC_REPLY_SIZE;
-       *slc_replyp++ = IAC;
-       *slc_replyp++ = SB;
-       *slc_replyp++ = TELOPT_LINEMODE;
-       *slc_replyp++ = LM_SLC;
- }
-+static int
-+slc_assure_buffer(int want_len);
-+
-+      static int
-+slc_assure_buffer(int want_len)
-+{
-+        if ((slc_replyp + want_len) >= slc_replyend) {
-+                int len;
-+              int old_len = slc_replyp - slc_reply;
-+              unsigned char *p;
-+
-+                len = old_len
-+                      + (want_len / SLC_REPLY_SIZE + 1) * SLC_REPLY_SIZE;
-+                p = (unsigned char *)realloc(slc_reply, len);
-+                if (p == NULL)
-+                        free(slc_reply);
-+                slc_reply = p;
-+                if (slc_reply == NULL) {
-+/*@*/                   printf("slc_add_reply: realloc() failed!!!\n");
-+                        slc_reply = slc_replyp = slc_replyend = NULL;
-+                        return 1;
-+                }
-+                slc_replyp = slc_reply + old_len;
-+                slc_replyend = slc_reply + len;
-+        }
-+      return 0;
-+}
-+
-       void
- slc_add_reply(unsigned char func, unsigned char flags, cc_t value)
- {
-+      if (slc_assure_buffer(6))
-+              return;
-+
-+      if (slc_replyp == NULL)
-+              return;
-+
-       if ((*slc_replyp++ = func) == IAC)
-               *slc_replyp++ = IAC;
-       if ((*slc_replyp++ = flags) == IAC)
-@@ -1339,6 +1383,12 @@
- {
-     int len;
-+    if (slc_assure_buffer(2))
-+      return;
-+
-+    if (slc_replyp == NULL)
-+      return;
-+
-     *slc_replyp++ = IAC;
-     *slc_replyp++ = SE;
-     len = slc_replyp - slc_reply;
-@@ -1456,7 +1506,7 @@
-       }
- }
--#define       OPT_REPLY_SIZE  256
-+#define       OPT_REPLY_SIZE  1024
- unsigned char *opt_reply;
- unsigned char *opt_replyp;
- unsigned char *opt_replyend;
-@@ -1490,10 +1540,38 @@
- env_opt_start_info(void)
- {
-       env_opt_start();
--      if (opt_replyp)
-+      if (opt_replyp && (opt_replyp > opt_reply))
-           opt_replyp[-1] = TELQUAL_INFO;
- }
-+static int
-+env_opt_assure_buffer(int want_len);
-+
-+      static int
-+env_opt_assure_buffer(int want_len)
-+{
-+        if ((opt_replyp + want_len) >= opt_replyend) {
-+              int len;
-+              unsigned char *p;
-+              int old_len = opt_replyp - opt_reply;
-+
-+              len = old_len
-+                      + (want_len / OPT_REPLY_SIZE + 1) * OPT_REPLY_SIZE;
-+              p = (unsigned char *)realloc(opt_reply, len);
-+              if (p == NULL)
-+                      free(opt_reply);
-+              opt_reply = p;
-+              if (opt_reply == NULL) {
-+/*@*/                 printf("env_opt_add: realloc() failed!!!\n");
-+                      opt_reply = opt_replyp = opt_replyend = NULL;
-+                      return 1;
-+              }
-+              opt_replyp = opt_reply + old_len;
-+              opt_replyend = opt_reply + len;
-+      }
-+      return 0;
-+}
-+
-       void
- env_opt_add(unsigned char *ep)
- {
-@@ -1515,25 +1593,12 @@
-               return;
-       }
-       vp = env_getvalue(ep, 1);
--      if (opt_replyp + (vp ? strlen((char *)vp) : 0) +
--                              strlen((char *)ep) + 6 > opt_replyend)
--      {
--              int len;
--              unsigned char *p;
--              opt_replyend += OPT_REPLY_SIZE;
--              len = opt_replyend - opt_reply;
--              p = (unsigned char *)realloc(opt_reply, len);
--              if (p == NULL)
--                      free(opt_reply);
--              opt_reply = p;
--              if (opt_reply == NULL) {
--/*@*/                 printf("env_opt_add: realloc() failed!!!\n");
--                      opt_reply = opt_replyp = opt_replyend = NULL;
--                      return;
--              }
--              opt_replyp = opt_reply + len - (opt_replyend - opt_replyp);
--              opt_replyend = opt_reply + len;
--      }
-+
-+      /* use the double length in case it gots escaped */
-+      if (env_opt_assure_buffer((vp ? strlen((char *)vp)*2 : 0) +
-+                              strlen((char *)ep)*2 + 6))
-+              return;
-+
-       if (opt_welldefined((char *)ep))
- #ifdef        OLD_ENVIRON
-               if (telopt_environ == TELOPT_OLD_ENVIRON)
-@@ -1588,8 +1653,14 @@
- {
-       int len;
-+        if (opt_reply == NULL)          /*XXX*/
-+                return;                 /*XXX*/
-+
-+
-       len = opt_replyp - opt_reply + 2;
-       if (emptyok || len > 6) {
-+              if (env_opt_assure_buffer(2))
-+                      return;
-               *opt_replyp++ = IAC;
-               *opt_replyp++ = SE;
-               if (NETROOM() > len) {
diff --git a/telnet/patches/telnet-0.17-argv.patch b/telnet/patches/telnet-0.17-argv.patch
deleted file mode 100644 (file)
index 6f71bed..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -ur netkit-telnet-0.17/telnetd/setproctitle.c netkit-telnet-0.17.new/telnetd/setproctitle.c
---- netkit-telnet-0.17/telnetd/setproctitle.c  1999-12-11 00:06:39.000000000 +0100
-+++ netkit-telnet-0.17.new/telnetd/setproctitle.c      2004-06-28 16:48:51.153514392 +0200
-@@ -139,7 +139,7 @@
-       (void) strcpy(Argv[0], buf);
-       p = &Argv[0][i];
-       while (p < LastArgv)
--              *p++ = ' ';
-+              *p++ = '\0';
-       Argv[1] = NULL;
- }
diff --git a/telnet/patches/telnet-0.17-cleanup_race.patch b/telnet/patches/telnet-0.17-cleanup_race.patch
deleted file mode 100644 (file)
index bc3c0f5..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
---- netkit-telnet-0.17/telnetd/telnetd.c.cleanup_race  2005-01-11 18:39:49.578123000 -0500
-+++ netkit-telnet-0.17/telnetd/telnetd.c       2005-01-11 18:42:45.909616000 -0500
-@@ -1081,6 +1081,8 @@
-       if (FD_ISSET(p, &obits) && (pfrontp - pbackp) > 0)
-           ptyflush();
-     }
-+    /* to avoid a race for wtmp lock */
-+    signal(SIGCHLD, SIG_IGN);
-     cleanup(0);
- }  /* end of telnet */
-       
diff --git a/telnet/patches/telnet-0.17-conf.patch b/telnet/patches/telnet-0.17-conf.patch
deleted file mode 100644 (file)
index 512f104..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
---- netkit-telnet-0.17/configure.confverb      2000-07-29 20:00:29.000000000 +0200
-+++ netkit-telnet-0.17/configure       2004-07-05 10:50:36.492963840 +0200
-@@ -263,14 +263,19 @@
- cat <<EOF >__conftest.cc
- #include <unistd.h>
- #include <signal.h>
--int count=0;
-+volatile int count=0;
- void handle(int foo) { count++; }
- int main() {
-+    sigset_t sset;
-     int pid=getpid();
-+    sigemptyset(&sset);
-+    sigaddset(&sset, SIGINT);
-+    sigprocmask(SIG_UNBLOCK, &sset, NULL);
-     signal(SIGINT, handle);
-     kill(pid,SIGINT);
-     kill(pid,SIGINT);
-     kill(pid,SIGINT);
-+    sleep(1);
-     if (count!=3) return 1;
-     return 0;
- }
diff --git a/telnet/patches/telnet-0.17-env.patch b/telnet/patches/telnet-0.17-env.patch
deleted file mode 100644 (file)
index 88e7c01..0000000
+++ /dev/null
@@ -1,84 +0,0 @@
---- netkit-telnet-0.17-pre-20000204/telnet/commands.c.env      Thu Apr  8 19:30:20 1999
-+++ netkit-telnet-0.17-pre-20000204/telnet/commands.c  Tue May 16 17:19:47 2000
-@@ -1815,11 +1815,11 @@
- }
-       unsigned char *
--env_getvalue(unsigned char *var)
-+env_getvalue(unsigned char *var, int exported_only)
- {
--      struct env_lst *ep;
-+      struct env_lst *ep = env_find(var);
--      if ((ep = env_find(var)))
-+      if (ep && (!exported_only || ep->export))
-               return(ep->value);
-       return(NULL);
- }
---- netkit-telnet-0.17-pre-20000204/telnet/telnet.c.env        Tue May 16 17:19:47 2000
-+++ netkit-telnet-0.17-pre-20000204/telnet/telnet.c    Tue May 16 17:19:47 2000
-@@ -438,7 +438,7 @@
- #endif
-           case TELOPT_XDISPLOC:       /* X Display location */
--              if (env_getvalue((unsigned char *)"DISPLAY"))
-+              if (env_getvalue((unsigned char *)"DISPLAY", 0))
-                   new_state_ok = 1;
-               break;
-@@ -693,7 +693,7 @@
-               resettermname = 0;
-               if (tnamep && tnamep != unknown)
-                       free(tnamep);
--              if ((tname = (char *)env_getvalue((unsigned char *)"TERM")) &&
-+              if ((tname = (char *)env_getvalue((unsigned char *)"TERM", 0)) &&
-                               (setupterm(tname, 1, &errret) == 0)) {
-                       tnamep = mklist(ttytype, tname);
-               } else {
-@@ -870,7 +870,7 @@
-           unsigned char temp[50], *dp;
-           int len;
--          if ((dp = env_getvalue((unsigned char *)"DISPLAY")) == NULL) {
-+          if ((dp = env_getvalue((unsigned char *)"DISPLAY", 0)) == NULL) {
-               /*
-                * Something happened, we no longer have a DISPLAY
-                * variable.  So, turn off the option.
-@@ -1527,7 +1527,7 @@
-                       env_opt_add(ep);
-               return;
-       }
--      vp = env_getvalue(ep);
-+      vp = env_getvalue(ep, 1);
-       if (opt_replyp + (vp ? strlen((char *)vp) : 0) +
-                               strlen((char *)ep) + 6 > opt_replyend)
-       {
-@@ -2170,7 +2170,7 @@
-       send_will(TELOPT_LINEMODE, 1);
-       send_will(TELOPT_NEW_ENVIRON, 1);
-       send_do(TELOPT_STATUS, 1);
--      if (env_getvalue((unsigned char *)"DISPLAY"))
-+      if (env_getvalue((unsigned char *)"DISPLAY", 0))
-           send_will(TELOPT_XDISPLOC, 1);
-       if (binary)
-           tel_enter_binary(binary);
---- netkit-telnet-0.17-pre-20000204/telnet/externs.h.env       Mon Feb  8 15:56:11 1999
-+++ netkit-telnet-0.17-pre-20000204/telnet/externs.h   Tue May 16 17:19:47 2000
-@@ -203,7 +203,7 @@
- void env_send (unsigned char *);
- void env_list (void);
- unsigned char * env_default(int init, int welldefined);
--unsigned char * env_getvalue(unsigned char *var);
-+unsigned char * env_getvalue(unsigned char *var, int exported_only);
- void set_escape_char(char *s);
- unsigned long sourceroute(char *arg, char **cpp, int *lenp);
-@@ -335,7 +335,7 @@
- void     env_opt_end (int);
- unsigned char     *env_default (int, int);
--unsigned char     *env_getvalue (unsigned char *);
-+unsigned char     *env_getvalue (unsigned char *, int);
- int get_status (void);
- int dosynch (void);
diff --git a/telnet/patches/telnet-0.17-errno_test_sys_bsd.patch b/telnet/patches/telnet-0.17-errno_test_sys_bsd.patch
deleted file mode 100644 (file)
index 9a4fcba..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-diff -up netkit-telnet-0.17/telnet/sys_bsd.c.errnosysbsd netkit-telnet-0.17/telnet/sys_bsd.c
---- netkit-telnet-0.17/telnet/sys_bsd.c.errnosysbsd    2007-09-20 10:57:58.000000000 +0200
-+++ netkit-telnet-0.17/telnet/sys_bsd.c        2007-09-20 11:10:08.000000000 +0200
-@@ -375,6 +375,7 @@ TerminalNewMode(int f)
-     int onoff;
-     int old;
-     cc_t esc;
-+    int err;
-     globalmode = f&~MODE_FORCE;
-     if (prevmode == f)
-@@ -407,6 +408,12 @@ TerminalNewMode(int f)
-           tcsetattr(tin, TCSADRAIN, &tmp_tc);
- #endif        /* USE_TERMIO */
-           old = ttyflush(SYNCHing|flushout);
-+            if (old < 0) {
-+            err = errno;
-+              if (! ((err == EINTR) || (err == EAGAIN) || (err == ENOSPC))) {
-+                break;
-+              }
-+            }
-       } while (old < 0 || old > 1);
-     }
diff --git a/telnet/patches/telnet-0.17-issue.patch b/telnet/patches/telnet-0.17-issue.patch
deleted file mode 100644 (file)
index c00df43..0000000
+++ /dev/null
@@ -1,81 +0,0 @@
---- netkit-telnet-0.17/telnetd/utility.c.issue Sun Dec 12 09:59:45 1999
-+++ netkit-telnet-0.17/telnetd/utility.c       Wed Jul 18 11:14:11 2001
-@@ -460,13 +460,13 @@
-       putlocation = where;
-       while (*cp) {
--              if (*cp != '%') {
-+              if (*cp != '%' && *cp != '\\') {
-                       putchr(*cp++);
-                       continue;
-               }
-               switch (*++cp) {
--              case 't':
-+              case 'l':
-                       slash = strrchr(line, '/');
-                       if (slash == NULL)
-                               putstr(line);
-@@ -474,21 +474,28 @@
-                               putstr(slash+1);
-                       break;
-+              case 'n':
-               case 'h':
-                       putstr(editedhost);
-                       break;
-+              case 't':
-               case 'd':
-                       (void)time(&t);
-                       (void)strftime(db, sizeof(db), fmtstr, localtime(&t));
-                       putstr(db);
-                       break;
-+              case '\\':
-+                      putchr('\\');
-+                      break;
-+                        
-               case '%':
-                       putchr('%');
-                       break;
-               case 'D':
-+              case 'o':
-                       {
-                               char    buff[128];
-@@ -515,7 +522,7 @@
-                                                       c = fgetc(fp);
-                                               } while (c != EOF && c != '\n');
-                                               continue;
--                                      } else if (c == '%') {
-+                                      } else if (c == '%' || c == '\\') {
-                                               buff[0] = c;
-                                               c = fgetc(fp);
-                                               if (c == EOF) break;
---- netkit-telnet-0.17/telnetd/issue.net.5.issue       Sun Jul 30 19:57:09 2000
-+++ netkit-telnet-0.17/telnetd/issue.net.5     Wed Jul 18 11:03:09 2001
-@@ -15,16 +15,17 @@
- .Pa /etc/issue.net
- is a text file which contains a message or system identification to be
- printed before the login prompt of a telnet session. It may contain
--various `%-char' sequences. The following sequences are supported by
-+various `%-char' (or, alternatively, '\\-char') sequences. The following
-+sequences are supported by
- .Ic telnetd :
- .Bl -tag -offset indent -compact -width "abcde"
--.It %t
-+.It %l
- - show the current tty
--.It %h
-+.It %h, %n
- - show the system node name (FQDN)
--.It %D
-+.It %D, %o
- - show the name of the NIS domain
--.It %d
-+.It %d, %t
- - show the current time and date
- .It %s
- - show the name of the operating system
diff --git a/telnet/patches/telnet-0.17-pek.patch0 b/telnet/patches/telnet-0.17-pek.patch0
deleted file mode 100644 (file)
index 0f4c400..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-diff -u telnet/commands.c telnet.new/commands.c
---- telnet/commands.c  Sat Sep  1 12:55:18 2001
-+++ telnet.new/commands.c      Sat Sep  1 12:54:36 2001
-@@ -2354,6 +2354,7 @@
-       hints.ai_flags = AI_CANONNAME;
-       if (portp == NULL) {
-               portp = "telnet";
-+              telnetport = 1;
-       } else if (*portp == '-') {
-               portp++;
-               telnetport = 1;
-@@ -2397,7 +2398,6 @@
-           if (error) {
-               warn("%s: %s", aliasp, gai_strerror(error));
-               close(net);
--              freeaddrinfo(ares);
-               continue;
-           }
-           if (bind(net, ares->ai_addr, ares->ai_addrlen) < 0) {
-@@ -2414,7 +2414,7 @@
-               perror("setsockopt (IP_OPTIONS)");
- #endif
- #if   defined(IPPROTO_IP) && defined(IP_TOS)
--      {
-+      if (res->ai_family == AF_INET) {
- # if  defined(HAS_GETTOS)
-           struct tosent *tp;
-           if (tos < 0 && (tp = gettosbyname("telnet", "tcp")))
-@@ -2438,7 +2438,7 @@
-           char hbuf[NI_MAXHOST];
-           
-           if (getnameinfo(res->ai_addr, res->ai_addrlen, hbuf, sizeof(hbuf),
--                  NULL, 0, NI_NUMERICHOST) != 0) {
-+                  NULL, 0, niflags) != 0) {
-               strcpy(hbuf, "(invalid)");
-           }
-           fprintf(stderr, "telnet: connect to address %s: %s\n", hbuf,
diff --git a/telnet/patches/telnet-0.17-sa-01-49.patch b/telnet/patches/telnet-0.17-sa-01-49.patch
deleted file mode 100644 (file)
index 64ed23c..0000000
+++ /dev/null
@@ -1,208 +0,0 @@
-diff -up netkit-telnet-0.17/telnetd/ext.h.sa-01-49 netkit-telnet-0.17/telnetd/ext.h
---- netkit-telnet-0.17/telnetd/ext.h.sa-01-49  1999-12-12 15:59:44.000000000 +0100
-+++ netkit-telnet-0.17/telnetd/ext.h   2011-01-20 22:39:54.000000000 +0100
-@@ -86,7 +86,10 @@ extern char *neturg;                /* one past last b
- extern int pcc, ncc;
- /* printf into netobuf */
--void netoprintf(const char *fmt, ...) __attribute((format (printf, 1, 2))); 
-+/* void netoprintf(const char *fmt, ...) __attribute((format (printf, 1, 2))); */
-+#define netoprintf output_data
-+int   output_data(const char *, ...) __attribute((format (printf, 1, 2))); 
-+void  output_datalen(const char *, int);
- extern int pty, net;
- extern char *line;
-@@ -182,7 +185,10 @@ void tty_setsofttab(int);
- void tty_tspeed(int);
- void willoption(int);
- void wontoption(int);
-+
-+#if 0
- void writenet(unsigned char *, int);
-+#endif
- #if defined(ENCRYPT)
- extern void (*encrypt_output)(unsigned char *, int);
-diff -up netkit-telnet-0.17/telnetd/slc.c.sa-01-49 netkit-telnet-0.17/telnetd/slc.c
---- netkit-telnet-0.17/telnetd/slc.c.sa-01-49  1999-12-12 15:59:44.000000000 +0100
-+++ netkit-telnet-0.17/telnetd/slc.c   2011-01-20 22:39:54.000000000 +0100
-@@ -183,7 +183,7 @@ int end_slc(unsigned char **bufp) {
-       else {
-           snprintf(slcbuf+slcoff, sizeof(slcbuf)-slcoff, "%c%c", IAC, SE);
-           slcoff += 2;
--          writenet(slcbuf, slcoff);
-+          output_datalen(slcbuf, slcoff);
-           netflush();  /* force it out immediately */
-       }
-     }
-diff -up netkit-telnet-0.17/telnetd/state.c.sa-01-49 netkit-telnet-0.17/telnetd/state.c
---- netkit-telnet-0.17/telnetd/state.c.sa-01-49        1999-12-12 20:41:44.000000000 +0100
-+++ netkit-telnet-0.17/telnetd/state.c 2011-01-20 22:43:34.000000000 +0100
-@@ -37,6 +37,7 @@
- char state_rcsid[] = 
-   "$Id: state.c,v 1.12 1999/12/12 19:41:44 dholland Exp $";
-+#include <stdarg.h>
- #include "telnetd.h"
- int not42 = 1;
-@@ -1365,7 +1366,7 @@ void send_status(void) {
-     ADD(IAC);
-     ADD(SE);
--    writenet(statusbuf, ncp - statusbuf);
-+    output_datalen(statusbuf, ncp - statusbuf);
-     netflush();       /* Send it on its way */
-     DIAG(TD_OPTIONS, {printsub('>', statusbuf, ncp - statusbuf); netflush();});
-diff -up netkit-telnet-0.17/telnetd/termstat.c.sa-01-49 netkit-telnet-0.17/telnetd/termstat.c
---- netkit-telnet-0.17/telnetd/termstat.c.sa-01-49     1999-12-12 15:59:45.000000000 +0100
-+++ netkit-telnet-0.17/telnetd/termstat.c      2011-01-20 22:39:54.000000000 +0100
-@@ -128,7 +128,6 @@ static int _terminit = 0;
-       void
- localstat()
- {
--      void netflush();
-       int need_will_echo = 0;
-       /*
-diff -up netkit-telnet-0.17/telnetd/utility.c.sa-01-49 netkit-telnet-0.17/telnetd/utility.c
---- netkit-telnet-0.17/telnetd/utility.c.sa-01-49      2011-01-20 22:39:54.000000000 +0100
-+++ netkit-telnet-0.17/telnetd/utility.c       2011-01-20 22:48:02.000000000 +0100
-@@ -38,8 +38,10 @@ char util_rcsid[] = 
-   "$Id: utility.c,v 1.11 1999/12/12 14:59:45 dholland Exp $";
- #define PRINTOPTIONS
-+#define _GNU_SOURCE
- #include <stdarg.h>
-+#include <stdio.h>
- #include <sys/utsname.h>
- #ifdef AUTHENTICATE
-@@ -52,6 +54,53 @@ char util_rcsid[] = 
-  * utility functions performing io related tasks
-  */
-+/*
-+ * This function appends data to nfrontp and advances nfrontp.
-+ * Returns the number of characters written altogether (the
-+ * buffer may have been flushed in the process).
-+ */
-+
-+int
-+output_data(const char *format, ...)
-+{
-+      va_list args;
-+      int len;
-+      char *buf;
-+
-+      va_start(args, format);
-+      if ((len = vasprintf(&buf, format, args)) == -1)
-+              return -1;
-+      output_datalen(buf, len);
-+      va_end(args);
-+      free(buf);
-+      return (len);
-+}
-+
-+void
-+output_datalen(const char *buf, int len)
-+{
-+      int remaining, copied;
-+      
-+      remaining = BUFSIZ - (nfrontp - netobuf);
-+      while (len > 0) {
-+              /* Free up enough space if the room is too low*/
-+              if ((len > BUFSIZ ? BUFSIZ : len) > remaining) {
-+                      netflush();
-+                      remaining = BUFSIZ - (nfrontp - netobuf);
-+              }
-+
-+              /* Copy out as much as will fit */
-+              copied = remaining > len ? len : remaining;
-+              memmove(nfrontp, buf, copied);
-+              nfrontp += copied;
-+              len -= copied;
-+              remaining -= copied;
-+              buf += copied;
-+      }
-+      return;
-+}
-+
-+/**
- void
- netoprintf(const char *fmt, ...)
- {
-@@ -67,7 +116,7 @@ netoprintf(const char *fmt, ...)
-       va_end(ap);
-       if (len<0 || len==maxsize) {
--       /* didn't fit */
-+              / * did not fit * /
-        netflush();
-       }
-       else {
-@@ -76,6 +125,7 @@ netoprintf(const char *fmt, ...)
-    }
-    nfrontp += len;
- }
-+*/
- /*
-  * ttloop
-@@ -273,10 +323,15 @@ netflush(void)
-     int n;
-     if ((n = nfrontp - nbackp) > 0) {
-+
-+#if 0
-+      /* XXX This causes output_data() to recurse and die */
-       DIAG(TD_REPORT,
-           { netoprintf("td: netflush %d chars\r\n", n);
-             n = nfrontp - nbackp;  /* update count */
-           });
-+#endif
-+
- #if   defined(ENCRYPT)
-       if (encrypt_output) {
-               char *s = nclearto ? nclearto : nbackp;
-@@ -310,11 +365,14 @@ netflush(void)
-           }
-       }
-     }
--    if (n < 0) {
--      if (errno == EWOULDBLOCK || errno == EINTR)
--              return;
--      cleanup(0);
--    }
-+
-+       if (n == -1) {
-+              if (errno == EWOULDBLOCK || errno == EINTR)
-+                return;
-+              cleanup(0);
-+              /* NOTREACHED */
-+       }
-+
-     nbackp += n;
- #if   defined(ENCRYPT)
-     if (nbackp > nclearto)
-@@ -332,7 +390,7 @@ netflush(void)
-     return;
- }  /* end of netflush */
--
-+#if 0
- /*
-  * writenet
-  *
-@@ -355,7 +413,7 @@ void writenet(register unsigned char *pt
-       nfrontp += len;
- }  /* end of writenet */
--
-+#endif
- /*
-  * miscellaneous functions doing a variety of little jobs follow ...
diff --git a/telnet/patches/telnet-client-cvs.patch0 b/telnet/patches/telnet-client-cvs.patch0
deleted file mode 100644 (file)
index 5fc57a7..0000000
+++ /dev/null
@@ -1,1721 +0,0 @@
-diff -uNr telnet/Makefile telnet.obsd-cvs/Makefile
---- telnet/Makefile    Mon Jul 27 18:25:13 1998
-+++ telnet.obsd-cvs/Makefile   Sat Mar 10 10:54:26 2001
-@@ -36,22 +36,20 @@
- PROG= telnet
--CFLAGS+=-DTERMCAP -DKLUDGELINEMODE -DUSE_TERMIO -DSKEY -Dunix
--CFLAGS+=-DENV_HACK -D_USE_OLD_CURSES_
-+CFLAGS+=-DKLUDGELINEMODE -DUSE_TERMIO -DENV_HACK -DSKEY -Dunix
- CFLAGS+=-I${.CURDIR}/../../lib
--LDADD+=       -locurses -ltelnet
--DPADD=        ${LIBOLDCURSES} ${LIBTELNET}
-+LDADD+=       -lcurses -ltelnet
-+DPADD=        ${LIBCURSES} ${LIBTELNET
- SRCS= authenc.c commands.c main.c network.c ring.c sys_bsd.c telnet.c \
-       terminal.c tn3270.c utilities.c
- .include <bsd.own.mk> # for KERBEROS
--.if (${KERBEROS} == "yes")
-+.if (${KERBEROS:L} == "yes")
- CFLAGS+=-DENCRYPTION -DAUTHENTICATION -DKRB4
- LDADD+= -lkrb -ldes
- DPADD+= ${LIBDES} ${LIBKRB}
- .endif
- .include <bsd.prog.mk>
--
-diff -uNr telnet/commands.c telnet.obsd-cvs/commands.c
---- telnet/commands.c  Fri Apr  9 02:30:20 1999
-+++ telnet.obsd-cvs/commands.c Sat Mar 10 10:51:22 2001
-@@ -1,4 +1,4 @@
--/*    $OpenBSD: commands.c,v 1.20 1999/01/04 07:55:05 art Exp $       */
-+/*    $OpenBSD: commands.c,v 1.34 2000/11/08 21:49:44 aaron Exp $     */
- /*    $NetBSD: commands.c,v 1.14 1996/03/24 22:03:48 jtk Exp $        */
- /*
-@@ -69,7 +69,7 @@
-       int status;
-       if(argc != 3) {
--              printf("%s sequence challenge\n", argv[0]);
-+              printf("usage: %s sequence challenge\n", argv[0]);
-               return 0;
-       }
-@@ -2175,17 +2175,19 @@
-     int gotmachine = 0;
-     int l1 = strlen(m1);
-     int l2 = strlen(m2);
--    char m1save[64];
-+    char m1save[MAXHOSTNAMELEN];
-     if (skiprc)
-       return;
--    strcpy(m1save, m1);
-+    strncpy(m1save, m1, sizeof(m1save));
-     m1 = m1save;
-     if (rcname[0] == 0) {
-       char *home = getenv("HOME");
-+      if (home == NULL || *home == '\0')
-+          return;
-       snprintf (rcname, sizeof(rcname), "%s/.telnetrc",
-                 home ? home : "");
-     }
-@@ -2248,15 +2250,9 @@
-     int
- tn(int argc, char *argv[])
- {
--    struct hostent *host = 0, *alias = 0;
--#if defined(AF_INET6)
--    struct sockaddr_in6 sin6;
--#endif
-+    struct addrinfo hints, *res, *res0;
-+    int error;
-     struct sockaddr_in sin;
--    struct sockaddr_in ladr;
--    struct sockaddr *sa;
--    int sa_size;
--    struct servent *sp = 0;
-     unsigned long temp;
- #if !defined(__linux__)
-     extern char *inet_ntoa();
-@@ -2266,15 +2262,18 @@
-     int srlen;
- #endif
-     char *cmd, *hostp = 0, *portp = 0, *user = 0, *aliasp = 0;
--    int family, port = 0;
--
-+    int retry;
-+#ifdef NI_WITHSCOPEID
-+    const int niflags = NI_NUMERICHOST | NI_WITHSCOPEID;
-+#else
-+    const int niflags = NI_NUMERICHOST;
-+#endif
-+    
-     /* clear the socket address prior to use */
-     memset((char *)&sin, 0, sizeof(sin));
-     if (connected) {
-       printf("?Already connected to %s\r\n", hostname);
--      seteuid(getuid());
--      setuid(getuid());
-       return 0;
-     }
-     if (argc < 2) {
-@@ -2324,8 +2323,6 @@
-       }
-     usage:
-       printf("usage: %s [-l user] [-a] host-name [port]\r\n", cmd);
--      seteuid(getuid());
--      setuid(getuid());
-       return 0;
-     }
-     if (hostp == 0)
-@@ -2340,185 +2337,80 @@
-       temp = sourceroute(hostp, &srp, &srlen);
-       if (temp == 0) {
-           herror(srp);
--          seteuid(getuid());
--          setuid(getuid());
-           return 0;
-       } else if (temp == -1) {
-           printf("Bad source route option: %s\r\n", hostp);
--          seteuid(getuid());
--          setuid(getuid());
-           return 0;
-       } else {
-           abort();
-       }
--    } else {
--#endif
--      memset (&sin, 0, sizeof(sin));
--#if defined(HAVE_INET_PTON) && defined(AF_INET6)
--      memset (&sin6, 0, sizeof(sin6));
--
--      if(inet_pton(AF_INET6, hostp, &sin6.sin6_addr)) {
--          sin6.sin6_family = family = AF_INET6;
--          sa = (struct sockaddr *)&sin6;
--          sa_size = sizeof(sin6);
--          strcpy(_hostname, hostp);
--          hostname =_hostname;
--      } else
--#endif
--          if(inet_aton(hostp, &sin.sin_addr)){
--              sin.sin_family = family = AF_INET;
--              sa = (struct sockaddr *)&sin;
--              sa_size = sizeof(sin);
--              strcpy(_hostname, hostp);
--              hostname = _hostname;
--          } else {
--#ifdef HAVE_GETHOSTBYNAME2
--              host = gethostbyname2(hostp, AF_INET6);
--              if(host == NULL)
--                  host = gethostbyname2(hostp, AF_INET);
--#else
--              host = gethostbyname(hostp);
--#endif
--              if (host) {
--                  strncpy(_hostname, host->h_name, sizeof(_hostname));
--                  family = host->h_addrtype;
--
--                  switch(family) {
--                  case AF_INET:
--                      memset(&sin, 0, sizeof(sin));
--                      sa_size = sizeof(sin);
--                      sa = (struct sockaddr *)&sin;
--                      sin.sin_family = family;
--
--                      memcpy(&sin.sin_addr, *host->h_addr_list, sizeof(struct in_addr));
--                      break;
--#if defined(AF_INET6) && defined(HAVE_STRUCT_SOCKADDR_IN6)
--                  case AF_INET6:
--                      memset(&sin6, 0, sizeof(sin6));
--                      sa_size = sizeof(sin6);
--                      sa = (struct sockaddr *)&sin6;
--                      sin6.sin6_family = family;
--                      memcpy(&sin6.sin6_addr, *host->h_addr_list, sizeof(struct in6_addr));
--                      break;
--#endif
--                  default:
--                      fprintf(stderr, "Bad address family: %d\n", family);
--                      return 0;
--                  }
--                  
--                  _hostname[sizeof(_hostname)-1] = '\0';
--                  hostname = _hostname;
--              } else {
--                  herror(hostp);
--                  seteuid(getuid());
--                  setuid(getuid());
--                  return 0;
--              }
--          }
--#if   defined(IP_OPTIONS) && defined(IPPROTO_IP)
--    }
-+    } else
- #endif
--    if (portp) {
--      if (*portp == '-') {
--          portp++;
--          telnetport = 1;
--      } else
--          telnetport = 0;
--      port = atoi(portp);
--      if (port == 0) {
--          sp = getservbyname(portp, "tcp");
--          if (sp)
--              port = sp->s_port;
--          else {
--              printf("%s: bad port number\r\n", portp);
--              seteuid(getuid());
--              setuid(getuid());
--              return 0;
--          }
--      } else {
--          port = htons(port);
--      }
--    } else {
--      if (sp == 0) {
--          sp = getservbyname("telnet", "tcp");
--          if (sp == 0) {
--              fprintf(stderr, "telnet: tcp/telnet: unknown service\r\n");
--              seteuid(getuid());
--              setuid(getuid());
--              return 0;
--          }
--          port = sp->s_port;
-+    {
-+      hostname = hostp;
-+      memset(&hints, 0, sizeof(hints));
-+      hints.ai_family = PF_UNSPEC;
-+      hints.ai_socktype = SOCK_STREAM;
-+      hints.ai_flags = AI_CANONNAME;
-+      if (portp == NULL) {
-+              portp = "telnet";
-+      } else if (*portp == '-') {
-+              portp++;
-+              telnetport = 1;
-+      }
-+      h_errno = 0;
-+      error = getaddrinfo(hostp, portp, &hints, &res0);
-+      if (error) {
-+          if (error == EAI_SERVICE)
-+              warnx("%s: bad port", portp);
-+          else
-+              warnx("%s: %s", hostp, gai_strerror(error));
-+         if (h_errno)
-+              herror(hostp);
-+         return 0;
-       }
--      telnetport = 1;
-     }
--    switch(family) {
--    case AF_INET:
--      sin.sin_port = port;
--      printf("Trying %s...\r\n", inet_ntoa(sin.sin_addr));
--      break;
--#if defined(AF_INET6) && defined(HAVE_STRUCT_SOCKADDR_IN6)
--    case AF_INET6: {
--#ifndef INET6_ADDRSTRLEN
--#define INET6_ADDRSTRLEN 46 
--#endif
--      char buf[INET6_ADDRSTRLEN];
--
--      sin6.sin6_port = port;
--#ifdef HAVE_INET_NTOP
--      printf("Trying %s...\r\n", inet_ntop(AF_INET6,
--                                           &sin6.sin6_addr,
--                                           buf,
--                                           sizeof(buf)));
--#endif
--      break;
--    }
--#endif
--    default:
--      abort();
--    }
--
--    do {
--      net = socket(family, SOCK_STREAM, 0);
--      seteuid(getuid());
--      setuid(getuid());
--      if (net < 0) {
--          perror("telnet: socket");
--          return 0;
-+    net = -1;
-+    retry = 0;
-+    for (res = res0; res; res = res->ai_next) {
-+      if (1 /* retry */) {
-+          char hbuf[NI_MAXHOST];
-+          
-+          if (getnameinfo(res->ai_addr, res->ai_addrlen, hbuf, sizeof(hbuf),
-+                  NULL, 0, niflags) != 0) {
-+              strcpy(hbuf, "(invalid)");
-+          }
-+          printf("Trying %s...\r\n", hbuf);
-       }
-+      net = socket(res->ai_family, res->ai_socktype, res->ai_protocol);
-+      if (net < 0)
-+          continue;
-+          
-       if (aliasp) {
--          memset ((caddr_t)&ladr, 0, sizeof (ladr));
--          temp = inet_addr(aliasp);
--          if (temp != INADDR_NONE) {
--              ladr.sin_addr.s_addr = temp;
--              ladr.sin_family = AF_INET;
--              alias = gethostbyaddr((char *)&temp, sizeof(temp), AF_INET);
--          } else {
--              alias = gethostbyname(aliasp);
--              if (alias) {
--                  ladr.sin_family = alias->h_addrtype;
--#if   defined(h_addr)         /* In 4.3, this is a #define */
--                  memmove((caddr_t)&ladr.sin_addr,
--                      alias->h_addr_list[0], alias->h_length);
--#else /* defined(h_addr) */
--                  memmove((caddr_t)&ladr.sin_addr, alias->h_addr,
--                      alias->h_length);
--#endif        /* defined(h_addr) */
--              } else {
--                  herror(aliasp);
--                  return 0;
--              }
-+          struct addrinfo ahints, *ares;
-+          memset(&ahints, 0, sizeof(ahints));
-+          ahints.ai_family = PF_UNSPEC;
-+          ahints.ai_socktype = SOCK_STREAM;
-+          ahints.ai_flags = AI_PASSIVE;
-+          error = getaddrinfo(aliasp, "0", &ahints, &ares);
-+          if (error) {
-+              warn("%s: %s", aliasp, gai_strerror(error));
-+              close(net);
-+              freeaddrinfo(ares);
-+              continue;
-           }
--            ladr.sin_port = htons(0);
--  
--            if (bind (net, (struct sockaddr *)&ladr, sizeof(ladr)) < 0) {
--                perror(aliasp);; 
-+          if (bind(net, ares->ai_addr, ares->ai_addrlen) < 0) {
-+              perror(aliasp);
-                 (void) close(net);   /* dump descriptor */
--              return 0;
-+              freeaddrinfo(ares);
-+              continue;
-             }
-+          freeaddrinfo(ares);
-         }
-  #if  defined(IP_OPTIONS) && defined(IPPROTO_IP)
--      if (srp && setsockopt(net, IPPROTO_IP, IP_OPTIONS, (char *)srp, srlen) < 0)
-+      if (srp && res->ai_family == AF_INET
-+       && setsockopt(net, IPPROTO_IP, IP_OPTIONS, (char *)srp, srlen) < 0)
-               perror("setsockopt (IP_OPTIONS)");
- #endif
- #if   defined(IPPROTO_IP) && defined(IP_TOS)
-@@ -2542,65 +2434,32 @@
-               perror("setsockopt (SO_DEBUG)");
-       }
--      if (connect(net, sa, sa_size) < 0) {
--          int retry = 0;
--
--          if (host && host->h_addr_list[1]) {
--              int oerrno = errno;
--              retry = 1;
--
--              switch(family) {
--              case AF_INET :
--                  fprintf(stderr, "telnet: connect to address %s: ",
--                          inet_ntoa(sin.sin_addr));
--                  ++host->h_addr_list;
--                  memcpy(&sin.sin_addr, *host->h_addr_list, sizeof(struct in_addr));
--                  break;
--#if defined(AF_INET6) && defined(HAVE_STRUCT_SOCKADDR_IN6)
--              case AF_INET6: {
--                  char buf[INET6_ADDRSTRLEN];
--
--                  fprintf(stderr, "telnet: connect to address %s: ",
--                          inet_ntop(AF_INET6, &sin6.sin6_addr, buf,
--                                    sizeof(buf)));
--                  ++host->h_addr_list;
--                  memcpy(&sin6.sin6_addr, *host->h_addr_list, sizeof(struct in6_addr));
--                  break;
--              }
--#endif
--              default:
--                  abort();
--              }
--                   
--              errno = oerrno;
--              perror(NULL);
--
--              switch(family) {
--              case AF_INET :
--                      printf("Trying %s...\r\n", inet_ntoa(sin.sin_addr));
--                      break;
--#if defined(AF_INET6) && defined(HAVE_STRUCT_SOCKADDR_IN6)
--              case AF_INET6: {
--                  printf("Trying %s...\r\n", inet_ntop(AF_INET6,
--                                           &sin6.sin6_addr,
--                                           buf,
--                                           sizeof(buf)));
--                  break;
--              }
--#endif
--              }
--              
--              (void) NetClose(net);
--              continue;
-+      if (connect(net, res->ai_addr, res->ai_addrlen) < 0) {
-+          char hbuf[NI_MAXHOST];
-+          
-+          if (getnameinfo(res->ai_addr, res->ai_addrlen, hbuf, sizeof(hbuf),
-+                  NULL, 0, NI_NUMERICHOST) != 0) {
-+              strcpy(hbuf, "(invalid)");
-           }
--          perror("telnet: Unable to connect to remote host");
--          return 0;
-+          fprintf(stderr, "telnet: connect to address %s: %s\n", hbuf,
-+              strerror(errno));
-+      
-+          close(net);
-+          net = -1;
-+          retry++;
-+          continue;
-       }
-+
-       connected++;
- #if   defined(AUTHENTICATION) || defined(ENCRYPTION)
-       auth_encrypt_connect(connected);
- #endif        /* defined(AUTHENTICATION) */
--    } while (connected == 0);
-+      break;
-+    }
-+    freeaddrinfo(res0);
-+    if (net < 0) {
-+        return 0;
-+    }
-     cmdrc(hostp, hostname);
-     if (autologin && user == NULL) {
-       struct passwd *pw;
-@@ -2652,6 +2511,9 @@
-         encrypthelp[] = "turn on (off) encryption ('encrypt ?' for more)",
- #endif
-       zhelp[] =       "suspend telnet",
-+#ifdef SKEY
-+      skeyhelp[] =    "compute response to s/key challenge",
-+#endif
-       shellhelp[] =   "invoke a subshell",
-       envhelp[] =     "change environment variables ('environ ?' for more)",
-       modestring[] = "try to enter line or character mode ('mode ?' for more)";
-@@ -2690,7 +2552,7 @@
-       { "environ",    envhelp,        env_cmd,        0 },
-       { "?",          helphelp,       help,           0 },
- #if   defined(SKEY)
--      { "skey",       NULL,           skey_calc,      0 },
-+      { "skey",       skeyhelp,       skey_calc,      0 },
- #endif                
-       { 0,            0,              0,              0 }
- };
-diff -uNr telnet/externs.h telnet.obsd-cvs/externs.h
---- telnet/externs.h   Mon Feb  8 22:56:11 1999
-+++ telnet.obsd-cvs/externs.h  Sat Mar 10 10:54:35 2001
-@@ -1,4 +1,4 @@
--/*    $OpenBSD: externs.h,v 1.4 1998/03/12 17:31:32 deraadt Exp $     */
-+/*    $OpenBSD: externs.h,v 1.5 1998/03/12 2001/01/22 11:03:38 fgsch Exp $    */
- /* $KTH: externs.h,v 1.16 1997/11/29 02:28:35 joda Exp $ */
- /*
-@@ -447,7 +447,7 @@
-     *Ibackp,           /* Oldest byte of 3270 data */
-     Ibuf[],            /* 3270 buffer */
-     *Ifrontp,          /* Where next 3270 byte goes */
--    tline[],
-+    tline[200],
-     *transcom;         /* Transparent command */
- extern int
-diff -uNr telnet/main.c telnet.obsd-cvs/main.c
---- telnet/main.c      Wed Apr  7 23:23:35 1999
-+++ telnet.obsd-cvs/main.c     Sat Mar 10 09:59:35 2001
-@@ -1,4 +1,4 @@
--/*    $OpenBSD: main.c,v 1.7 1998/05/15 03:16:38 art Exp $    */
-+/*    $OpenBSD: main.c,v 1.10 2001/01/21 22:46:37 aaron Exp $ */
- /*    $NetBSD: main.c,v 1.5 1996/02/28 21:04:05 thorpej Exp $ */
- /*
-@@ -81,10 +81,10 @@
-           prompt,
- #ifdef        AUTHENTICATION
-           "[-8] [-E] [-K] [-L] [-S tos] [-X atype] [-a] [-c] [-d] [-e char]",
--          "\n\t[-k realm] [-l user] [-f/-F] [-n tracefile] [-b hostalias ]",
-+          "\n\t[-k realm] [-l user] [-f/-F] [-n tracefile] [-b hostalias ] ",
- #else
-           "[-8] [-E] [-L] [-S tos] [-a] [-c] [-d] [-e char] [-l user]",
--          "\n\t[-n tracefile] [-b hostalias ]",
-+          "\n\t[-n tracefile] [-b hostalias ] ",
- #endif
- #if defined(TN3270) && defined(unix)
- # ifdef AUTHENTICATION
-@@ -95,13 +95,11 @@
- #else
-           "[-r] ",
- #endif
-+          "\n\r "
- #ifdef ENCRYPTION
--          "[-x] [host-name [port]]"
--#else
--
--          "[host-name [port]]"
-+          "[-x] " 
- #endif
--      );
-+          "[host-name [port]]");
-       exit(1);
- }
-@@ -276,8 +274,8 @@
-                       break;
-               case 't':
- #if defined(TN3270) && defined(unix)
-+                      (void)strncpy(tline, optarg, sizeof(tline));
-                       transcom = tline;
--                      (void)strcpy(transcom, optarg);
- #else
-                       fprintf(stderr,
-                          "%s: Warning: -t ignored, no TN3270 support.\n",
-diff -uNr telnet/sys_bsd.c telnet.obsd-cvs/sys_bsd.c
---- telnet/sys_bsd.c   Wed Apr  7 21:38:31 1999
-+++ telnet.obsd-cvs/sys_bsd.c  Sat Mar 10 10:55:18 2001
-@@ -1,4 +1,4 @@
--/*    $OpenBSD: sys_bsd.c,v 1.6 1998/12/28 11:13:51 deraadt Exp $     */
-+/*    $OpenBSD: sys_bsd.c,v 1.8 2000/10/10 15:41:10 millert Exp $     */
- /*    $NetBSD: sys_bsd.c,v 1.11 1996/02/28 21:04:10 thorpej Exp $     */
- /*
-@@ -35,6 +35,7 @@
-  */
- #include "telnet_locl.h"
-+#include <err.h>
- /*
-  * The following routines try to encapsulate what is system dependent
-@@ -198,9 +199,10 @@
- TerminalFlushOutput(void)
- {
- #ifdef        TIOCFLUSH
--    (void) ioctl(fileno(stdout), TIOCFLUSH, (char *) 0);
-+    int com = FWRITE;
-+    (void) ioctl(fileno(stdout), TIOCFLUSH, (int *) &com);
- #else
--    (void) ioctl(fileno(stdout), TCFLSH, (char *) 0);
-+    (void) ioctl(fileno(stdout), TCFLSH, (int *) 0);
- #endif
- }
-diff -uNr telnet/telnet.c telnet.obsd-cvs/telnet.c
---- telnet/telnet.c    Wed Apr  7 23:22:14 1999
-+++ telnet.obsd-cvs/telnet.c   Sat Mar 10 11:02:34 2001
-@@ -1,4 +1,4 @@
--/*    $OpenBSD: telnet.c,v 1.6 1998/07/27 15:29:29 millert Exp $      */
-+/*    $OpenBSD: telnet.c,v 1.11 2000/11/10 15:33:13 provos millert Exp $      */
- /*    $NetBSD: telnet.c,v 1.7 1996/02/28 21:04:15 thorpej Exp $       */
- /*
-@@ -35,6 +35,8 @@
-  */
- #include "telnet_locl.h"
-+#include <curses.h>
-+#include <term.h>
- #define        strip(x) (eight ? (x) : ((x) & 0x7f))
-@@ -523,10 +525,9 @@
- }
- /*
-- * Given a buffer returned by tgetent(), this routine will turn
-- * the pipe seperated list of names in the buffer into an array
-- * of pointers to null terminated names.  We toss out any bad,
-- * duplicate, or verbose names (names with spaces).
-+ * This routine will turn a pipe seperated list of names in the buffer
-+ * into an array of pointers to NUL terminated names.  We toss out any
-+ * bad, duplicate, or verbose names (names with spaces).
-  */
- int is_unique P((char *, char **, char **));
-@@ -554,7 +555,7 @@
-       /*
-        * Count up the number of names.
-        */
--      for (n = 1, cp = buf; *cp && *cp != ':'; cp++) {
-+      for (n = 1, cp = buf; *cp; cp++) {
-               if (*cp == '|')
-                       n++;
-       }
-@@ -659,25 +660,6 @@
-       return (1);
- }
--static char termbuf[1024];
--
--int telnet_setupterm  P((char *tname, int fd, int *errp)); /* XXX move elsewhere */
--      /*ARGSUSED*/
--      int
--telnet_setupterm(char *tname, int fd, int *errp)
--{
--      (void)fd;
--      if (tgetent(termbuf, tname) == 1) {
--              termbuf[1023] = '\0';
--              if (errp)
--                      *errp = 1;
--              return(0);
--      }
--      if (errp)
--              *errp = 0;
--      return(-1);
--}
--
- int resettermname = 1;
- char *gettermname P((void));  /* XXX move elsewhere */
-@@ -687,15 +669,15 @@
-       char *tname;
-       static char **tnamep = 0;
-       static char **next;
--      int err;
-+      int errret;
-       if (resettermname) {
-               resettermname = 0;
-               if (tnamep && tnamep != unknown)
-                       free(tnamep);
-               if ((tname = (char *)env_getvalue((unsigned char *)"TERM")) &&
--                              (telnet_setupterm(tname, 1, &err) == 0)) {
--                      tnamep = mklist(termbuf, tname);
-+                              (setupterm(tname, 1, &errret) == 0)) {
-+                      tnamep = mklist(ttytype, tname);
-               } else {
-                       if (tname && ((int)strlen(tname) <= 40)) {
-                               unknown[0] = tname;
-@@ -1482,10 +1464,15 @@
-       void
- env_opt_start(void)
- {
--      if (opt_reply)
--              opt_reply = (unsigned char *)realloc(opt_reply, OPT_REPLY_SIZE);
--      else
--              opt_reply = (unsigned char *)malloc(OPT_REPLY_SIZE);
-+      unsigned char *p;
-+      
-+      if (opt_reply) {
-+              p = (unsigned char *)realloc(opt_reply, OPT_REPLY_SIZE);
-+              if (p == NULL)
-+                      free(opt_reply);
-+      } else
-+              p = (unsigned char *)malloc(OPT_REPLY_SIZE);
-+      opt_reply = p;  
-       if (opt_reply == NULL) {
- /*@*/         printf("env_opt_start: malloc()/realloc() failed!!!\n");
-               opt_reply = opt_replyp = opt_replyend = NULL;
-@@ -1532,9 +1519,13 @@
-                               strlen((char *)ep) + 6 > opt_replyend)
-       {
-               int len;
-+              unsigned char *p;
-               opt_replyend += OPT_REPLY_SIZE;
-               len = opt_replyend - opt_reply;
--              opt_reply = (unsigned char *)realloc(opt_reply, len);
-+              p = (unsigned char *)realloc(opt_reply, len);
-+              if (p == NULL)
-+                      free(opt_reply);
-+              opt_reply = p;
-               if (opt_reply == NULL) {
- /*@*/                 printf("env_opt_add: realloc() failed!!!\n");
-                       opt_reply = opt_replyp = opt_replyend = NULL;
-@@ -1945,7 +1936,7 @@
-                               command(0, "z\n", 2);
-                               continue;
-                       }
--                      if (sc == escape) {
-+                      if (sc == escape && escape != _POSIX_VDISABLE) {
-                               command(0, (char *)tbp, tcc);
-                               bol = 1;
-                               count += tcc;
-@@ -1962,7 +1953,7 @@
-               }
-               if ((sc == '\n') || (sc == '\r'))
-                       bol = 1;
--      } else if (sc == escape) {
-+      } else if (sc == escape && escape != _POSIX_VDISABLE) {
-           /*
-            * Double escape is a pass through of a single escape character.
-            */
-diff -uNr telnet/telnet_locl.h telnet.obsd-cvs/telnet_locl.h
---- telnet/telnet_locl.h       Thu Mar 12 06:57:44 1998
-+++ telnet.obsd-cvs/telnet_locl.h      Sat Mar 10 11:12:37 2001
-@@ -1,4 +1,4 @@
--/*    $OpenBSD: telnet_locl.h,v 1.1 1998/03/12 04:57:44 art Exp $     */
-+/*    $OpenBSD: telnet_locl.h,v 1.2 1999/12/11 09:08:09 itojun Exp $  */
- /* $KTH: telnet_locl.h,v 1.13 1997/11/03 21:37:55 assar Exp $ */
- /*
-@@ -86,7 +86,5 @@
- #include "defines.h"
- #include "types.h"
--#undef AF_INET6 /* XXX - it has not been tested and it doesn't exist yet */
--
- /* prototypes */
-diff -uNr libtelnet/kerberos.c libtelnet.obsd-cvs/kerberos.c
---- libtelnet/kerberos.c       Mon Feb  8 23:38:17 1999
-+++ libtelnet.obsd-cvs/kerberos.c      Sat Mar 10 11:11:03 2001
-@@ -320,11 +320,10 @@
-           char ts[MAXPATHLEN];
-           struct passwd *pw = getpwnam(UserNameRequested);
--          if(pw){
-+          if (pw) {
-               snprintf(ts, sizeof(ts),
--                       "%s%u",
--                       TKT_ROOT,
--                       (unsigned)pw->pw_uid);
-+                      "%s%u", TKT_ROOT, (unsigned)pw->pw_uid);
-+              /* XXX allocation failure? */
-               setenv("KRBTKFILE", ts, 1);
-           }
-           Data(ap, KRB_ACCEPT, NULL, 0);
-@@ -609,16 +608,26 @@
- {
-     unsigned char *p = buf;
-     
--    p += krb_put_nir(cred->service, cred->instance, cred->realm, p);
-+    memcpy (p, cred->service, ANAME_SZ);
-+    p += ANAME_SZ;
-+    memcpy (p, cred->instance, INST_SZ);
-+    p += INST_SZ;
-+    memcpy (p, cred->realm, REALM_SZ);
-+    p += REALM_SZ;
-     memcpy(p, cred->session, 8);
-     p += 8;
-     *p++ = cred->lifetime;
-     *p++ = cred->kvno;
--    p += krb_put_int(cred->ticket_st.length, p, 4);
-+    p += krb_put_int(cred->ticket_st.length, p, 4, 4);
-     memcpy(p, cred->ticket_st.dat, cred->ticket_st.length);
-     p += cred->ticket_st.length;
--    p += krb_put_int(cred->issue_date, p, 4);
--    p += krb_put_nir(cred->pname, cred->pinst, NULL, p);
-+    p += krb_put_int(cred->issue_date, p, 4, 4);
-+    strncpy (cred->pname, p, ANAME_SZ);
-+    cred->pname[ANAME_SZ - 1] = '\0';
-+    p += ANAME_SZ;
-+    strncpy (cred->pinst, p, INST_SZ);
-+    cred->pinst[INST_SZ - 1] = '\0';
-+    p += INST_SZ;
-     return p - buf;
- }
-@@ -627,7 +636,16 @@
- {
-     unsigned char *p = buf;
--    p += krb_get_nir(p, cred->service, cred->instance, cred->realm);
-+    strncpy (cred->service, p, ANAME_SZ);
-+    cred->service[ANAME_SZ - 1] = '\0';
-+    p += ANAME_SZ;
-+    strncpy (cred->instance, p, INST_SZ);
-+    cred->instance[INST_SZ - 1] = '\0';
-+    p += INST_SZ;
-+    strncpy (cred->realm, p, REALM_SZ);
-+    cred->realm[REALM_SZ - 1] = '\0';
-+    p += REALM_SZ;
-+
-     memcpy(cred->session, p, 8);
-     p += 8;
-     cred->lifetime = *p++;
-@@ -636,7 +654,10 @@
-     memcpy(cred->ticket_st.dat, p, cred->ticket_st.length);
-     cred->ticket_st.mbz = 0;
-     p += krb_get_int(p, (u_int32_t *)&cred->issue_date, 4, 0);
--    p += krb_get_nir(p, cred->pname, cred->pinst, NULL);
-+    p += krb_get_nir(p, 
-+                  cred->pname, sizeof(cred->pname),
-+                  cred->pinst, sizeof(cred->pinst),
-+                  NULL, 0);
-     return 0;
- }
---- telnet/telnet.1    Thu Nov 12 01:01:46 1998
-+++ telnet.obsd-cvs/telnet.1   Thu Nov  9 19:52:41 2000
-@@ -1,4 +1,4 @@
--.\"   $OpenBSD: telnet.1,v 1.14 1998/11/11 23:01:46 aaron Exp $
-+.\"   $OpenBSD: telnet.1,v 1.27 2000/11/09 17:52:41 aaron Exp $
- .\"   $NetBSD: telnet.1,v 1.5 1996/02/28 21:04:12 thorpej Exp $
- .\"
- .\" Copyright (c) 1983, 1990, 1993
-@@ -36,45 +36,34 @@
- .\"
- .Dd February 3, 1994
- .Dt TELNET 1
--.Os BSD 4.2
-+.Os
- .Sh NAME
- .Nm telnet
--.Nd user interface to the 
-+.Nd user interface to the
- .Tn TELNET
- protocol
- .Sh SYNOPSIS
- .Nm telnet
--.Op Fl 8
--.Op Fl E
--.Op Fl F
--.Op Fl K
--.Op Fl L
--.Op Fl S Ar tos
-+.Op Fl 8EFKLacdfrx
- .Op Fl X Ar authtype
--.Op Fl a
- .Op Fl b Ar hostalias
--.Op Fl c
--.Op Fl d
- .Op Fl e Ar escapechar
--.Op Fl f
- .Op Fl k Ar realm
- .Op Fl l Ar user
- .Op Fl n Ar tracefile
--.Op Fl r
--.Op Fl x
- .Oo
- .Ar host
- .Op Ar port
- .Oc
- .Sh DESCRIPTION
- The
--.Nm telnet
-+.Nm
- command
--is used to communicate with another host using the 
-+is used to communicate with another host using the
- .Tn TELNET
- protocol.
- If
--.Nm telnet
-+.Nm
- is invoked without the
- .Ar host
- argument, it enters command mode,
-@@ -85,11 +74,11 @@
- .Ic open
- command with those arguments.
- .Pp
--Options:
--.Bl -tag -width indent
-+The options are as follows:
-+.Bl -tag -width Ds
- .It Fl 8
--Specifies an 8-bit data path.  This causes an attempt to
--negotiate the
-+Specifies an 8-bit data path.
-+This causes an attempt to negotiate the
- .Dv TELNET BINARY
- option on both input and output.
- .It Fl E
-@@ -103,18 +92,9 @@
- .It Fl K
- Specifies no automatic login to the remote system.
- .It Fl L
--Specifies an 8-bit data path on output.  This causes the
--BINARY option to be negotiated on output.
--.It Fl S Ar tos
--Sets the IP type-of-service (TOS) option for the telnet
--connection to the value
--.Ar tos ,
--which can be a numeric TOS value
--or, on systems that support it, a symbolic
--TOS name found in the
--.Pa /etc/iptos
--file.
--.It Fl X Ar atype 
-+Specifies an 8-bit data path on output.
-+This causes the BINARY option to be negotiated on output.
-+.It Fl X Ar atype
- Disables the
- .Ar atype
- type of authentication.
-@@ -144,7 +124,8 @@
- .It Fl c
- Disables the reading of the user's
- .Pa \&.telnetrc
--file.  (See the
-+file.
-+(See the
- .Ic toggle skiprc
- command on this man page.)
- .It Fl d
-@@ -152,7 +133,7 @@
- .Ic debug
- toggle to
- .Dv TRUE .
--.It Fl e Ar escapechar 
-+.It Fl e Ar escapechar
- Sets the initial
- .Nm
- escape character to
-@@ -169,14 +150,14 @@
- If Kerberos authentication is being used, the
- .Fl k
- option requests that
--.Nm telnet
-+.Nm
- obtain tickets for the remote host in
- realm
- .Ar realm
- instead of the remote host's realm, as determined
- by
- .Xr krb_realmofhost 3 .
--.It Fl l Ar user 
-+.It Fl l Ar user
- When connecting to the remote system, if the remote system
- understands the
- .Ev ENVIRON
-@@ -189,7 +170,7 @@
- This option may also be used with the
- .Ic open
- command.
--.It Fl n Ar tracefile 
-+.It Fl n Ar tracefile
- Opens
- .Ar tracefile
- for recording trace information.
-@@ -210,35 +191,38 @@
- Indicates the official name, an alias, or the Internet address
- of a remote host.
- .It Ar port
--Indicates a port number (address of an application).  If a number is
--not specified, the default
--.Nm telnet
-+Indicates a port number (address of an application).
-+If a number is not specified, the default
-+.Nm
- port is used.
- .El
- .Pp
--When in rlogin mode, a line of the form ~.  disconnects from the
-+When in rlogin mode, a line of the form ~.
-+disconnects from the
- remote host; ~ is the telnet escape character.
- Similarly, the line ~^Z suspends the telnet session.
- The line ~^] escapes to the normal telnet escape prompt.
- .Pp
- Once a connection has been opened,
--.Nm telnet
-+.Nm
- will attempt to enable the
- .Dv TELNET LINEMODE
- option.
- If this fails,
--.Nm telnet
-+.Nm
- will revert to one of two input modes:
- either ``character at a time''
- or ``old line by line''
- depending on what the remote system supports.
- .Pp
--When 
-+When
- .Dv LINEMODE
- is enabled, character processing is done on the
--local system, under the control of the remote system.  When input
-+local system, under the control of the remote system.
-+When input
- editing or character echoing is to be disabled, the remote system
--will relay that information.  The remote system will also relay
-+will relay that information.
-+The remote system will also relay
- changes to any special characters that happen on the remote
- system, so that they can take effect on the local system.
- .Pp
-@@ -252,7 +236,7 @@
- (this would mostly be used to enter passwords
- without the password being echoed).
- .Pp
--If the 
-+If the
- .Dv LINEMODE
- option is enabled, or if the
- .Ic localchars
-@@ -267,7 +251,7 @@
- characters are trapped locally, and sent as
- .Tn TELNET
- protocol sequences to the remote side.
--If 
-+If
- .Dv LINEMODE
- has ever been enabled, then the user's
- .Ic susp
-@@ -278,9 +262,9 @@
- protocol sequences,
- and
- .Ic quit
--is sent as a 
-+is sent as a
- .Dv TELNET ABORT
--instead of 
-+instead of
- .Dv BREAK .
- There are options (see
- .Ic toggle
-@@ -296,17 +280,26 @@
- (in the case of
- .Ic quit
- and
--.Ic intr  ) .
-+.Ic intr ) .
- .Pp
- While connected to a remote host,
--.Nm telnet
-+.Nm
- command mode may be entered by typing the
--.Nm telnet
-+.Nm
- ``escape character'' (initially ``^]'').
- When in command mode, the normal terminal editing conventions are available.
-+Note that the escape character will return to the command mode of the initial
-+invocation of
-+.Nm
-+that has the controlling terminal.
-+Use the
-+.Cm send escape
-+command to switch to command mode in subsequent
-+.Nm
-+processes on remote hosts.
- .Pp
- The following
--.Nm telnet
-+.Nm
- commands are available.
- Only enough of each command to uniquely identify it need be typed
- (this is also true for arguments to the
-@@ -320,26 +313,28 @@
- .Ic display
- commands).
- .Bl -tag -width "mode type"
--.It Ic auth Ar argument Op Ar ... 
-+.It Ic auth Ar argument Op Ar ...
- The
- .Ic auth
- command manipulates the information sent through the
- .Dv TELNET AUTHENTICATE
--option.  Valid arguments for the
--auth command are as follows:
-+option.
-+Valid arguments for the
-+.Ic auth
-+command are as follows:
- .Bl -tag -width "disable type"
- .It Ic disable Ar type
- Disables the specified
- .Ar type
--of authentication.  To
--obtain a list of available types, use the
-+of authentication.
-+To obtain a list of available types, use the
- .Ic auth disable \&?
- command.
- .It Ic enable Ar type
- Enables the specified
- .Ar type
--of authentication.  To
--obtain a list of available types, use the
-+of authentication.
-+To obtain a list of available types, use the
- .Ic auth enable \&?
- command.
- .It Ic status
-@@ -350,7 +345,7 @@
- Close a
- .Tn TELNET
- session and return to command mode.
--.It Ic display Ar argument Op Ar ... 
-+.It Ic display Ar argument Op Ar ...
- Displays all, or some, of the
- .Ic set
- and
-@@ -368,26 +363,27 @@
- .It Ic disable Ar type Ic [input|output]
- Disables the specified
- .Ar type
--of encryption.  If you
--omit
-+of encryption.
-+If you omit
- .Ic input
- and
- .Ic output ,
- both input and output
--are disabled.  To obtain a list of available
--types, use the
-+are disabled.
-+To obtain a list of available types, use the
- .Ic encrypt disable \&?
- command.
- .It Ic enable Ar type Ic [input|output]
- Enables the specified
- .Ar type
--of encryption.  If you
--omit
-+of encryption.
-+If you omit
- .Ic input
- and
- .Ic output ,
- both input and output are
--enabled.  To obtain a list of available types, use the
-+enabled.
-+To obtain a list of available types, use the
- .Ic encrypt enable \&?
- command.
- .It Ic input
-@@ -407,18 +403,20 @@
- .Ic encrypt stop output
- command.
- .It Ic start Ic [input|output]
--Attempts to start encryption.  If you omit
-+Attempts to start encryption.
-+If you omit
- .Ic input
- and
--.Ic output,
--both input and output are enabled.  To
--obtain a list of available types, use the
-+.Ic output ,
-+both input and output are enabled.
-+To obtain a list of available types, use the
- .Ic encrypt enable \&?
- command.
- .It Ic status
- Lists the current status of encryption.
- .It Ic stop Ic [input|output]
--Stops encryption.  If you omit
-+Stops encryption.
-+If you omit
- .Ic input
- and
- .Ic output ,
-@@ -431,7 +429,7 @@
- .Ic encrypt stop
- commands.
- .El
--.It Ic environ Ar arguments Op Ar ... 
-+.It Ic environ Ar arguments Op Ar ...
- The
- .Ic environ
- command is used to manipulate the
-@@ -456,7 +454,7 @@
- .Ic environ
- command are:
- .Bl -tag -width Fl
--.It Ic define Ar variable value 
-+.It Ic define Ar variable value
- Define the variable
- .Ar variable
- to have a value of
-@@ -466,15 +464,15 @@
- .Ar value
- may be enclosed in single or double quotes so
- that tabs and spaces may be included.
--.It Ic undefine Ar variable 
-+.It Ic undefine Ar variable
- Remove
- .Ar variable
- from the list of environment variables.
--.It Ic export Ar variable 
-+.It Ic export Ar variable
- Mark the variable
- .Ar variable
- to be exported to the remote side.
--.It Ic unexport Ar variable 
-+.It Ic unexport Ar variable
- Mark the variable
- .Ar variable
- to not be exported unless
-@@ -508,7 +506,7 @@
- suspending a user's session for later reattachment,
- the logout argument indicates that you
- should terminate the session immediately.
--.It Ic mode Ar type 
-+.It Ic mode Ar type
- .Ar type
- is one of several options, depending on the state of the
- .Tn TELNET
-@@ -529,40 +527,40 @@
- option, or, if the remote side does not understand the
- .Dv LINEMODE
- option, then attempt to enter ``old-line-by-line'' mode.
--.It Ic isig Pq Ic \-isig 
--Attempt to enable (disable) the 
-+.It Ic isig Pq Ic \-isig
-+Attempt to enable (disable) the
- .Dv TRAPSIG
--mode of the 
-+mode of the
- .Dv LINEMODE
- option.
--This requires that the 
-+This requires that the
- .Dv LINEMODE
- option be enabled.
--.It Ic edit Pq Ic \-edit 
--Attempt to enable (disable) the 
-+.It Ic edit Pq Ic \-edit
-+Attempt to enable (disable) the
- .Dv EDIT
--mode of the 
-+mode of the
- .Dv LINEMODE
- option.
--This requires that the 
-+This requires that the
- .Dv LINEMODE
- option be enabled.
--.It Ic softtabs Pq Ic \-softtabs 
--Attempt to enable (disable) the 
-+.It Ic softtabs Pq Ic \-softtabs
-+Attempt to enable (disable) the
- .Dv SOFT_TAB
--mode of the 
-+mode of the
- .Dv LINEMODE
- option.
--This requires that the 
-+This requires that the
- .Dv LINEMODE
- option be enabled.
--.It Ic litecho Pq Ic \-litecho 
--Attempt to enable (disable) the 
-+.It Ic litecho Pq Ic \-litecho
-+Attempt to enable (disable) the
- .Dv LIT_ECHO
--mode of the 
-+mode of the
- .Dv LINEMODE
- option.
--This requires that the 
-+This requires that the
- .Dv LINEMODE
- option be enabled.
- .It Ic \&?
-@@ -579,7 +577,7 @@
- Open a connection to the named host.
- If no port number
- is specified,
--.Nm telnet
-+.Nm
- will attempt to contact a
- .Tn TELNET
- server at the default port.
-@@ -594,24 +592,29 @@
- .Ev ENVIRON
- option.
- When connecting to a non-standard port,
--.Nm telnet
-+.Nm
- omits any automatic initiation of
- .Tn TELNET
--options.  When the port number is preceded by a minus sign,
-+options.
-+When the port number is preceded by a minus sign,
- the initial option negotiation is done.
- After establishing a connection, the file
- .Pa \&.telnetrc
- in the
--user's home directory is opened.  Lines beginning with a ``#'' are
--comment lines.  Blank lines are ignored.  Lines that begin
--without white space are the start of a machine entry.  The
--first thing on the line is the name of the machine that is
--being connected to.  The rest of the line, and successive
--lines that begin with white space are assumed to be
--.Nm telnet
-+user's home directory is opened.
-+Lines beginning with a ``#'' are
-+comment lines.
-+Blank lines are ignored.
-+Lines that begin
-+without whitespace are the start of a machine entry.
-+The first thing on the line is the name of the machine that is
-+being connected to.
-+The rest of the line, and successive
-+lines that begin with whitespace are assumed to be
-+.Nm
- commands and are processed as if they had been typed
- in manually to the
--.Nm telnet
-+.Nm
- command prompt.
- .It Ic quit
- Close any open
-@@ -619,7 +622,7 @@
- session and exit
- .Nm telnet .
- An end-of-file (in command mode) will also close a session and exit.
--.It Ic send Ar arguments 
-+.It Ic send Ar arguments
- Sends one or more special character sequences to the remote host.
- The following are the arguments which may be specified
- (more than one argument may be specified at a time):
-@@ -673,7 +676,7 @@
- sequence.
- .It Ic escape
- Sends the current
--.Nm telnet
-+.Nm
- escape character (initially ``^]'').
- .It Ic ga
- Sends the
-@@ -788,12 +791,12 @@
- .Ic send
- command.
- .El
--.It Ic set Ar argument value 
--.It Ic unset Ar argument value 
-+.It Ic set Ar argument value
-+.It Ic unset Ar argument value
- The
- .Ic set
- command will set any one of a number of
--.Nm telnet
-+.Nm
- variables to a specific value or to
- .Dv TRUE .
- The special value
-@@ -811,7 +814,8 @@
- .Ic display
- command.
- The variables which may be set or unset, but not toggled, are
--listed here.  In addition, any of the variables for the
-+listed here.
-+In addition, any of the variables for the
- .Ic toggle
- command may be explicitly set or unset using
- the
-@@ -832,7 +836,8 @@
- sequence (see
- .Ic send ayt
- preceding) is sent to the
--remote host.  The initial value for the "Are You There"
-+remote host.
-+The initial value for the "Are You There"
- character is the terminal's status character.
- .It Ic echo
- This is the value (initially ``^E'') which, when in
-@@ -841,7 +846,7 @@
- echoing of entered characters (for entering, say, a password).
- .It Ic eof
- If
--.Nm telnet
-+.Nm
- is operating in
- .Dv LINEMODE
- or ``old line by line'' mode, entering this character
-@@ -854,7 +859,7 @@
- character.
- .It Ic erase
- If
--.Nm telnet
-+.Nm
- is in
- .Ic localchars
- mode (see
-@@ -862,7 +867,7 @@
- .Ic localchars
- below),
- and if
--.Nm telnet
-+.Nm
- is operating in ``character at a time'' mode, then when this
- character is typed, a
- .Dv TELNET EC
-@@ -879,14 +884,14 @@
- character.
- .It Ic escape
- This is the
--.Nm telnet
-+.Nm
- escape character (initially ``^['') which causes entry
- into
--.Nm telnet
-+.Nm
- command mode (when connected to a remote system).
- .It Ic flushoutput
- If
--.Nm telnet
-+.Nm
- is in
- .Ic localchars
- mode (see
-@@ -916,12 +921,13 @@
- .Dv LINEMODE ,
- these are the
- characters that, when typed, cause partial lines to be
--forwarded to the remote system.  The initial value for
-+forwarded to the remote system.
-+The initial value for
- the forwarding characters are taken from the terminal's
- eol and eol2 characters.
- .It Ic interrupt
- If
--.Nm telnet
-+.Nm
- is in
- .Ic localchars
- mode (see
-@@ -945,7 +951,7 @@
- character.
- .It Ic kill
- If
--.Nm telnet
-+.Nm
- is in
- .Ic localchars
- mode (see
-@@ -953,7 +959,7 @@
- .Ic localchars
- below),
- and if
--.Nm telnet
-+.Nm
- is operating in ``character at a time'' mode, then when this
- character is typed, a
- .Dv TELNET EL
-@@ -970,7 +976,7 @@
- character.
- .It Ic lnext
- If
--.Nm telnet
-+.Nm
- is operating in
- .Dv LINEMODE
- or ``old line by line'' mode, then this character is taken to
-@@ -985,7 +991,7 @@
- character.
- .It Ic quit
- If
--.Nm telnet
-+.Nm
- is in
- .Ic localchars
- mode (see
-@@ -1009,7 +1015,7 @@
- character.
- .It Ic reprint
- If
--.Nm telnet
-+.Nm
- is operating in
- .Dv LINEMODE
- or old line by line'' mode, then this character is taken to
-@@ -1031,8 +1037,9 @@
- This character, at the beginning of a line, followed by
- a "." closes the connection; when followed by a ^Z it
- suspends the
--.Nm telnet
--command.  The initial state is to
-+.Nm
-+command.
-+The initial state is to
- disable the
- .Ic rlogin
- escape character.
-@@ -1066,7 +1073,7 @@
- character.
- .It Ic susp
- If
--.Nm telnet
-+.Nm
- is in
- .Ic localchars
- mode, or
-@@ -1093,12 +1100,13 @@
- .Ic option
- tracing being
- .Dv TRUE ,
--will be written.  If it is set to
-+will be written.
-+If it is set to
- .Dq Fl ,
- then tracing information will be written to standard output (the default).
- .It Ic worderase
- If
--.Nm telnet
-+.Nm
- is operating in
- .Dv LINEMODE
- or ``old line by line'' mode, then this character is taken to
-@@ -1117,25 +1125,32 @@
- .Pq Ic unset
- commands.
- .El
--.It Ic slc Ar state 
-+.It Ic skey Ar sequence challenge
-+The
-+.Ic skey
-+command computes a response to the S/Key challenge.
-+See
-+.Xr skey 1
-+for more information on the S/Key system.
-+.It Ic slc Ar state
- The
- .Ic slc
- command (Set Local Characters) is used to set
- or change the state of the special
--characters when the 
-+characters when the
- .Dv TELNET LINEMODE
- option has
--been enabled.  Special characters are characters that get
--mapped to 
-+been enabled.
-+Special characters are characters that get mapped to
- .Tn TELNET
- commands sequences (like
- .Ic ip
- or
--.Ic quit  )
-+.Ic quit )
- or line editing characters (like
- .Ic erase
- and
--.Ic kill  ) .
-+.Ic kill ) .
- By default, the local special characters are exported.
- .Bl -tag -width Fl
- .It Ic check
-@@ -1144,15 +1159,15 @@
- character settings, and if there are any discrepancies with
- the local side, the local side will switch to the remote value.
- .It Ic export
--Switch to the local defaults for the special characters.  The
--local default characters are those of the local terminal at
-+Switch to the local defaults for the special characters.
-+The local default characters are those of the local terminal at
- the time when
--.Nm telnet
-+.Nm
- was started.
- .It Ic import
- Switch to the remote defaults for the special characters.
- The remote default characters are those of the remote system
--at the time when the 
-+at the time when the
- .Tn TELNET
- connection was established.
- .It Ic \&?
-@@ -1165,13 +1180,13 @@
- .Nm telnet .
- This includes the peer one is connected to, as well
- as the current mode.
--.It Ic toggle Ar arguments Op Ar ... 
-+.It Ic toggle Ar arguments Op Ar ...
- Toggle (between
- .Dv TRUE
- and
- .Dv FALSE )
- various flags that control how
--.Nm telnet
-+.Nm
- responds to events.
- These flags may be set explicitly to
- .Dv TRUE
-@@ -1206,7 +1221,7 @@
- sequences; see
- .Ic set
- above for details),
--.Nm telnet
-+.Nm
- refuses to display any data on the user's terminal
- until the remote system acknowledges (via a
- .Dv TELNET TIMING MARK
-@@ -1220,13 +1235,14 @@
- done an "stty noflsh", otherwise
- .Dv FALSE
- (see
--.Xr stty  1  ) .
-+.Xr stty 1 ) .
- .It Ic autodecrypt
- When the
- .Dv TELNET ENCRYPT
- option is negotiated, by
- default the actual encryption (decryption) of the data
--stream does not start automatically.  The
-+stream does not start automatically.
-+The
- .Ic autoencrypt
- .Pq Ic autodecrypt
- command states that encryption of the
-@@ -1238,7 +1254,8 @@
- .Dv TELNET AUTHENTICATION
- option
- .Tn TELNET
--attempts to use it to perform automatic authentication.  If the
-+attempts to use it to perform automatic authentication.
-+If the
- .Dv AUTHENTICATION
- option is not supported, the user's login
- name are propagated through the
-@@ -1314,7 +1331,7 @@
- The initial value for this toggle is
- .Dv FALSE .
- .It Ic debug
--Toggles socket level debugging (useful only to the super-user).
-+Toggles socket level debugging (useful only to the superuser).
- The initial value for this toggle is
- .Dv FALSE .
- .It Ic encdebug
-@@ -1340,7 +1357,7 @@
- .Ic brk ,
- .Ic ec ,
- and
--.Ic el  ;
-+.Ic el ;
- see
- .Ic send
- above).
-@@ -1379,7 +1396,7 @@
- .Dv FALSE .
- .It Ic options
- Toggles the display of some internal
--.Nm telnet
-+.Nm
- protocol processing (having to do with
- .Tn TELNET
- options).
-@@ -1404,8 +1421,8 @@
- skips the reading of the
- .Pa \&.telnetrc
- file in the user's home
--directory when connections are opened.  The initial
--value for this toggle is
-+directory when connections are opened.
-+The initial value for this toggle is
- .Dv FALSE .
- .It Ic termdata
- Toggles the display of all terminal data (in hexadecimal format).
-@@ -1416,9 +1433,10 @@
- .Ic verbose_encrypt
- toggle is
- .Dv TRUE ,
--.Nm telnet
-+.Nm
- prints out a message each time encryption is enabled or
--disabled.  The initial value for this toggle is
-+disabled.
-+The initial value for this toggle is
- .Dv FALSE .
- .It Ic \&?
- Displays the legal
-@@ -1430,22 +1448,24 @@
- .Nm telnet .
- This command only works when the user is using the
- .Xr csh 1 .
--.It Ic \&! Op Ar command 
-+.It Ic \&! Op Ar command
- Execute a single command in a subshell on the local
--system.  If
-+system.
-+If
- .Ar command
- is omitted, then an interactive
- subshell is invoked.
--.It Ic \&? Op Ar command 
--Get help.  With no arguments,
--.Nm telnet
-+.It Ic \&? Op Ar command
-+Get help.
-+With no arguments,
-+.Nm
- prints a help summary.
- If a command is specified,
--.Nm telnet
-+.Nm
- will print the help information for just that command.
- .El
- .Sh ENVIRONMENT
--.Nm telnet
-+.Nm
- uses at least the
- .Ev HOME ,
- .Ev SHELL ,
-@@ -1464,16 +1484,18 @@
- .El
- .Sh HISTORY
- The
--.Nm telnet
-+.Nm
- command appeared in
- .Bx 4.2 .
- .Sh NOTES
- On some remote systems, echo has to be turned off manually when in
- ``old line by line'' mode.
- .Pp
--In ``old line by line'' mode or 
-+In ``old line by line'' mode or
- .Dv LINEMODE
- the terminal's
- .Ic eof
- character is only recognized (and sent to the remote system)
- when it is the first character on a line.
-+.Pp
-+Source routing is not supported yet for IPv6.
diff --git a/telnet/patches/telnet-gethostbyname.patch b/telnet/patches/telnet-gethostbyname.patch
deleted file mode 100644 (file)
index e1c1976..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
---- netkit-telnet-0.17/telnet/commands.c.old   2006-04-30 10:24:49.000000000 -0700
-+++ netkit-telnet-0.17/telnet/commands.c       2006-04-30 10:37:10.000000000 -0700
-@@ -1669,9 +1669,15 @@
-               /* If this is not the full name, try to get it via DNS */
-               if (strchr(hbuf, '.') == 0) {
--                      struct hostent *he = gethostbyname(hbuf);
--                      if (he != 0)
--                              strncpy(hbuf, he->h_name, sizeof hbuf-1);
-+                      struct addrinfo hints;
-+                      struct addrinfo *res;
-+                      memset (&hints, '\0', sizeof (hints));
-+                      hints.ai_flags = AI_V4MAPPED | AI_ADDRCONFIG | AI_CANONNAME;
-+                      if (getaddrinfo (hbuf, NULL, &hints, &res) == 0) {
-+                              if (res->ai_canonname != NULL)
-+                                      strncpy(hbuf, res->ai_canonname, sizeof hbuf-1);
-+                              freeaddrinfo (res);
-+                      }
-                       hbuf[sizeof hbuf-1] = '\0';
-               }
-@@ -2832,17 +2838,15 @@
-               if (!c)
-                       cp2 = 0;
--              if ((tmp = inet_addr(cp)) != -1) {
--                      sin_addr.s_addr = tmp;
--              } else if ((host = gethostbyname(cp))) {
--#if   defined(h_addr)
--                      memmove((caddr_t)&sin_addr,
--                              host->h_addr_list[0], 
--                              sizeof(sin_addr));
--#else
--                      memmove((caddr_t)&sin_addr, host->h_addr, 
--                              sizeof(sin_addr));
--#endif
-+              struct addrinfo hints;
-+              memset (&hints, '\0', sizeof (hints));
-+              // XXX The code here seems to allow only IPv4 addresses.
-+              hints.ai_family = AF_INET;
-+              hints.ai_flags = AI_ADDRCONFIG;
-+              struct addrinfo *aires;
-+              if (getaddrinfo (cp, NULL, &hints, &aires) == 0) {
-+                      sin_addr = ((struct sockaddr_in *) aires->ai_addr)->sin_addr;
-+                      freeaddrinfo (aires);
-               } else {
-                       *cpp = cp;
-                       return(0);
diff --git a/telnet/patches/telnetd-0.17-pty_read.patch0 b/telnet/patches/telnetd-0.17-pty_read.patch0
deleted file mode 100644 (file)
index 1760ddd..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
---- telnetd/telnetd.c  2005-01-19 14:37:25.000000000 +0000
-+++ telnetd/telnetd.c.new      2005-01-19 14:48:12.000000000 +0000
-@@ -697,6 +697,7 @@
-     int on = 1;
-     char *HE;
-     const char *IM;
-+    int pty_read_ok = 0; /* track whether the pty read has worked yet */
-     /*
-      * Initialize the slc mapping table.
-@@ -1016,12 +1017,13 @@
-            * off the master side before the slave side is
-            * opened, we get EIO.
-            */
--          if (pcc < 0 && (errno == EWOULDBLOCK || errno == EIO)) {
-+          if (pcc < 0 && (errno == EWOULDBLOCK || (errno == EIO && pty_read_ok == 0))) {
-               pcc = 0;
-           } 
-           else {
-               if (pcc <= 0)
-                   break;
-+              pty_read_ok = 1;        /* mark connection up for read */
- #ifdef        LINEMODE
-                               /*
-                                * If ioctl from pty, pass it through net
diff --git a/telnet/patches/telnetd-0.17.patch0 b/telnet/patches/telnetd-0.17.patch0
deleted file mode 100644 (file)
index 469b35a..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
---- telnetd/defs.h     Mon Aug  2 06:14:03 1999
-+++ telnetd.new/defs.h Sun Mar 11 03:28:13 2001
-@@ -56,6 +56,7 @@
- #include <sys/file.h>
- #include <sys/stat.h>
- #include <sys/time.h>
-+#include <time.h>
- #include <sys/ioctl.h>
- #include <netinet/in.h>
- #include <arpa/telnet.h>
diff --git a/telnet/patches/use-cmake-as-buildsystem.patch b/telnet/patches/use-cmake-as-buildsystem.patch
new file mode 100644 (file)
index 0000000..19a2897
--- /dev/null
@@ -0,0 +1,137 @@
+Description: Use cmake as build system
+Author: Christoph Biedl <debian.axhn@manchmal.in-ulm.de>
+Bug-Debian: https://bugs.debian.org/912131
+Last-Update: 2019-02-24
+
+--- /dev/null
++++ b/CMakeLists.txt
+@@ -0,0 +1,27 @@
++cmake_minimum_required(VERSION 3.7)
++project(netkit-telnet)
++
++set(BIN_DIR "${CMAKE_INSTALL_PREFIX}/bin")
++set(SBIN_DIR "${CMAKE_INSTALL_PREFIX}/sbin")
++set(MAN_DIR "${CMAKE_INSTALL_PREFIX}/share/man")
++
++set(USE_GLIBC 1)
++
++set(
++    CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} \
++    -D_GNU_SOURCE \
++    -DACCEPT_USERVAR \
++    -Wall \
++    -Wno-trigraphs \
++")
++set(
++    CMAKE_C_FLAGS "${CMAKE_C_FLAGS} \
++    -D_GNU_SOURCE \
++    -DACCEPT_USERVAR \
++    -Wall \
++    -Wno-trigraphs \
++")
++
++add_subdirectory(telnet)
++add_subdirectory(telnetd)
++add_subdirectory(telnetlogin)
+--- /dev/null
++++ b/telnet/CMakeLists.txt
+@@ -0,0 +1,31 @@
++
++set(
++    CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} \
++    -DUSE_TERMIO \
++    -DKLUDGELINEMODE \
++")
++
++add_executable(
++    telnet
++    commands.cc
++    environ.cc
++    genget.cc
++    main.cc
++    netlink.cc
++    network.cc
++    ring.cc
++    sys_bsd.cc
++    telnet.cc
++    terminal.cc
++    tn3270.cc
++    utilities.cc
++)
++install(
++    TARGETS telnet
++    DESTINATION ${BIN_DIR}
++)
++
++install(
++    FILES telnet.1
++    DESTINATION ${MAN_DIR}/man1/
++)
+--- /dev/null
++++ b/telnetd/CMakeLists.txt
+@@ -0,0 +1,43 @@
++
++set(CMAKE_C_FLAGS "\
++    ${CMAKE_C_FLAGS} \
++    -DISSUE_FILE='\"/etc/issue.net\"' \
++    -DPARANOID_TTYS \
++    -DNO_REVOKE \
++    -DKLUDGELINEMODE \
++    -DDIAGNOSTICS \
++    -DLOGIN_WRAPPER='\"/usr/lib/telnetlogin\"' \
++")
++
++add_executable(
++    in.telnetd
++    global.c
++    setproctitle.c
++    slc.c
++    state.c
++    sys_term.c
++    telnetd.c
++    termstat.c
++    utility.c
++)
++target_link_libraries(
++    in.telnetd
++    ncurses
++    util
++)
++install(
++    TARGETS in.telnetd
++    DESTINATION ${SBIN_DIR}
++)
++
++install(
++    FILES telnetd.8
++    DESTINATION ${MAN_DIR}/man8/
++    RENAME in.telnetd.8
++)
++install(
++    CODE "execute_process( \
++        COMMAND ${CMAKE_COMMAND} -E create_symlink \
++        telnetd.8 \$ENV{DESTDIR}${MAN_DIR}/man8/in.telnetd.8 \
++    )"
++)
+--- /dev/null
++++ b/telnetlogin/CMakeLists.txt
+@@ -0,0 +1,19 @@
++
++add_executable(
++    telnetlogin
++    telnetlogin.c
++)
++install(
++    TARGETS telnetlogin
++    DESTINATION ${SBIN_DIR}
++    PERMISSIONS
++        SETUID
++        OWNER_WRITE OWNER_READ OWNER_EXECUTE
++        GROUP_READ GROUP_EXECUTE
++
++)
++
++install(
++    FILES telnetlogin.8
++    DESTINATION ${MAN_DIR}/man8/
++)
index a660f1c236681a1f8990dffbf6b70dd55dc640ff..6927acffc4d99456158f48a67f28b2f017f356d4 100644 (file)
@@ -5,7 +5,7 @@
 
 name       = telnet
 version    = 0.17
-release    = 3
+release    = 4
 
 groups     = Applications/Internet
 url        = http://www.ibiblio.org/pub/Linux/system/network/netkit/
@@ -20,75 +20,33 @@ end
 
 source_dl  = http://www.ibiblio.org/pub/Linux/system/network/netkit/
 sources    = netkit-%{thisapp}.tar.gz
-sources   += telnet-client.tar.gz
-
-# Apply patches in a special order
-patches    = \
-       telnet-client-cvs.patch0 \
-       telnetd-0.17.patch0 \
-       telnet-0.17-env.patch \
-       telnet-0.17-pek.patch0 \
-       telnet-0.17-issue.patch \
-       telnet-0.17-sa-01-49.patch \
-       telnet-0.17-8bit.patch \
-       telnet-0.17-argv.patch \
-       telnet-0.17-conf.patch \
-       telnet-0.17-cleanup_race.patch \
-       telnetd-0.17-pty_read.patch0 \
-       telnet-0.17-CAN-2005-468_469.patch \
-       telnet-gethostbyname.patch \
-       netkit-telnet-0.17-ipv6.diff \
-       netkit-telnet-0.17-nodns.patch \
-       telnet-0.17-errno_test_sys_bsd.patch \
-       netkit-telnet-0.17-reallynodns.patch
 
 build
        requires
+               cmake
                gcc-c++
                ncurses-devel
        end
 
        DIR_APP = %{DIR_SRC}/netkit-%{thisapp}
 
-       # Overwite configure options, because configure script
-       # doesn't accept flags for used compiler or host definition
-       configure_options = \
-               --prefix=/usr
-
-       # For the telnet client we have to extract a second tarball into the source
-       # directory of the main tarball.
-       prepare
-               cd %{DIR_SRC} && %{MACRO_EXTRACT} %{DIR_DL}/netkit-%{thisapp}.tar.gz
-               cd %{DIR_APP} && mv telnet telnet-netkit
-               cd %{DIR_APP} && %{MACRO_EXTRACT} %{DIR_DL}/telnet-client.tar.gz
+       build
+               %{cmake}
 
-               %{MACRO_PATCHES}
-
-               sed -i configure \
-                       -e "s/LDFLAGS=/LDFLAGS=\"%{LDFLAGS}\"/"
+               make %{PARALLELISMFLAGS}
        end
 
-       install
-               # We have to create the directories on our own
-               mkdir -pv %{BUILDROOT}/usr/man/man{1,5,8}
-               mkdir -pv %{BUILDROOT}/usr/{,s}bin
-
-               make install INSTALLROOT=%{BUILDROOT}
-
-               # Move manpages to correct place
-               mkdir -pv %{BUILDROOT}/usr/share
-               mv %{BUILDROOT}/usr/man %{BUILDROOT}/usr/share/man
-
+       install_cmds
                # Remove telnetd, we don't want it
-               rm -rf %{BUILDROOT}/usr/sbin
-               rm -rf %{BUILDROOT}/usr/share/man/man8
-               rm -rf %{BUILDROOT}/usr/share/man/man5
+               rm -rvf %{BUILDROOT}%{sbindir}/*telnetd*
+               rm -rvf %{BUILDROOT}%{sbindir}/telnetlogin
+               rm -rvf %{BUILDROOT}%{mandir}/man8/*telnetd*
+               rm -rvf %{BUILDROOT}%{mandir}/man8/telnetlogin*
        end
 end
 
 packages
        package %{name}
-       end
 
        package %{name}-debuginfo
                template DEBUGINFO
index b1b6d821c094e82071d914f3e75c38180bb03e30..81c70e56a579317a719b6e318c155068b05bd3bc 100644 (file)
@@ -4,11 +4,11 @@
 ###############################################################################
 
 name       = texinfo
-version    = 6.1
-release    = 2
+version    = 7.1
+release    = 1
 
 groups     = Applications/Publishing
-url        = http://www.gnu.org/software/texinfo/
+url        = https://www.gnu.org/software/texinfo/
 license    = GPLv3
 summary    = Tools needed to create Texinfo format documentation files.
 
@@ -18,13 +18,15 @@ description
        Project uses the Texinfo file format for most of its documentation.
 end
 
-source_dl  = http://ftp.gnu.org/gnu/texinfo/
+source_dl  = https://ftp.gnu.org/gnu/texinfo/
 
 build
        requires
                help2man
                ncurses-devel
                perl(Data::Dumper)
+               perl(File::Copy)
+               perl(Unicode::Normalize)
                perl-libintl-perl
                zlib-devel
        end
diff --git a/tftp/patches/tftp-0.40-remap.patch b/tftp/patches/tftp-0.40-remap.patch
deleted file mode 100644 (file)
index 755a307..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-diff -up tftp-hpa-0.49/tftpd/remap.c.zero tftp-hpa-0.49/tftpd/remap.c
---- tftp-hpa-0.49/tftpd/remap.c.zero   2008-10-20 18:08:31.000000000 -0400
-+++ tftp-hpa-0.49/tftpd/remap.c        2008-11-25 11:41:09.000000000 -0500
-@@ -286,6 +286,7 @@ struct rule *parserulefile(FILE * f)
-     int lineno = 0;
-     int err = 0;
-+    memset(this_rule, '\0', sizeof(struct rule));
-     while (lineno++, fgets(line, MAXLINE, f)) {
-         rv = parseline(line, this_rule, lineno);
-         if (rv < 0)
-@@ -294,6 +295,7 @@ struct rule *parserulefile(FILE * f)
-             *last_rule = this_rule;
-             last_rule = &this_rule->next;
-             this_rule = tfmalloc(sizeof(struct rule));
-+            memset(this_rule, '\0', sizeof(struct rule));
-         }
-     }
diff --git a/tftp/patches/tftp-0.42-tftpboot.patch b/tftp/patches/tftp-0.42-tftpboot.patch
deleted file mode 100644 (file)
index a0de58d..0000000
+++ /dev/null
@@ -1,54 +0,0 @@
-diff -up tftp-hpa-0.48/tftp-xinetd.tftpboot tftp-hpa-0.48/tftp-xinetd
---- tftp-hpa-0.48/tftp-xinetd.tftpboot 2007-01-31 00:51:05.000000000 +0100
-+++ tftp-hpa-0.48/tftp-xinetd  2008-05-20 12:05:53.000000000 +0200
-@@ -10,7 +10,7 @@ service tftp
-       wait                    = yes
-       user                    = root
-       server                  = /usr/sbin/in.tftpd
--      server_args             = -s /tftpboot
-+      server_args             = -s /var/lib/tftpboot
-       disable                 = yes
-       per_source              = 11
-       cps                     = 100 2
-diff -up tftp-hpa-0.48/README.security.tftpboot tftp-hpa-0.48/README.security
---- tftp-hpa-0.48/README.security.tftpboot     2008-05-29 17:36:32.000000000 +0200
-+++ tftp-hpa-0.48/README.security      2008-05-29 17:37:21.000000000 +0200
-@@ -17,10 +17,10 @@ probably the following:
- 1. Create a separate "tftpd" user and group only used for tftpd;
- 2. Have all your boot files in a single directory tree (usually called 
--   /tftpboot).
--3. Specify "-p -u tftpd -s /tftpboot" on the tftpd command line; if
-+   /var/lib/tftpboot).
-+3. Specify "-p -u tftpd -s /var/lib/tftpboot" on the tftpd command line; if
-    you want clients to be able to create files use
--   "-p -c -U 002 -u tftpd -s /tftpboot" (replace 002 with whatever
-+   "-p -c -U 002 -u tftpd -s /var/lib/tftpboot" (replace 002 with whatever
-    umask is appropriate for your setup.)
-              =======================================
-@@ -40,12 +40,12 @@ directly.  Thus, if your /etc/inetd.conf
- line):
- tftp  dgram   udp     wait    root    /usr/sbin/tcpd
--/usr/sbin/in.tftpd -s /tftpboot -r blksize
-+/usr/sbin/in.tftpd -s /var/lib/tftpboot -r blksize
- ... it's better to change to ...
- tftp  dgram   udp     wait    root    /usr/sbin/in.tftpd
--in.tftpd -s /tftpboot -r blksize
-+in.tftpd -s /var/lib/tftpboot -r blksize
- You should make sure that you are using "wait" option in tftpd; you
- also need to have tftpd spawned as root in order for chroot (-s) to
-diff -up tftp-hpa-0.48/tftpd/sample.rules.tftpboot tftp-hpa-0.48/tftpd/sample.rules
---- tftp-hpa-0.48/tftpd/sample.rules.tftpboot  2008-05-29 17:38:46.000000000 +0200
-+++ tftp-hpa-0.48/tftpd/sample.rules   2008-05-29 17:38:05.000000000 +0200
-@@ -30,5 +30,5 @@ rg   \\              /               # Convert backslashes to slash
- rg    \#              @               # Convert hash marks to @ signs
- rg    /../            /..no../        # Convert /../ to /..no../
- e     ^ok/                            # These are always ok
--r     ^[^/]           /tftpboot/\0    # Convert non-absolute files
-+r     ^[^/]           /var/lib/tftpboot/\0    # Convert non-absolute files
- a     \.pvt$                          # Reject requests for private files
diff --git a/tftp/patches/tftp-0.49-chk_retcodes.patch b/tftp/patches/tftp-0.49-chk_retcodes.patch
deleted file mode 100644 (file)
index 6d63571..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-diff -up tftp-hpa-0.49/tftpd/tftpd.c.chk_retcodes tftp-hpa-0.49/tftpd/tftpd.c
---- tftp-hpa-0.49/tftpd/tftpd.c.chk_retcodes   2009-01-15 15:28:50.000000000 +0100
-+++ tftp-hpa-0.49/tftpd/tftpd.c        2009-01-15 15:31:36.000000000 +0100
-@@ -932,7 +932,10 @@ int main(int argc, char **argv)
-             exit(EX_OSERR);
-         }
- #ifdef __CYGWIN__
--        chdir("/");             /* Cygwin chroot() bug workaround */
-+                              if (chdir("/") < 0) {                   /* Cygwin chroot() bug workaround */
-+                                      syslog(LOG_ERR, "chroot: %m");
-+                                      exit(EX_OSERR);
-+                              }
- #endif
-     }
- #ifdef HAVE_SETREGID
diff --git a/tftp/patches/tftp-0.49-cmd_arg.patch b/tftp/patches/tftp-0.49-cmd_arg.patch
deleted file mode 100644 (file)
index 2b9023a..0000000
+++ /dev/null
@@ -1,159 +0,0 @@
-diff -up tftp-hpa-0.49/config.h.cmd_arg tftp-hpa-0.49/config.h
---- tftp-hpa-0.49/config.h.cmd_arg     2010-04-19 15:29:10.567331454 +0200
-+++ tftp-hpa-0.49/config.h     2010-04-20 07:33:03.133232772 +0200
-@@ -291,6 +291,7 @@ typedef int socklen_t;
- /* Prototypes for libxtra functions */
- void *xmalloc(size_t);
-+void *xrealloc(void *, size_t);
- char *xstrdup(const char *);
- #ifndef HAVE_BSD_SIGNAL
-diff -up tftp-hpa-0.49/configure.in.cmd_arg tftp-hpa-0.49/configure.in
---- tftp-hpa-0.49/configure.in.cmd_arg 2008-10-21 00:08:31.000000000 +0200
-+++ tftp-hpa-0.49/configure.in 2010-04-19 11:05:12.387340698 +0200
-@@ -152,6 +152,7 @@ OBJROOT=`pwd`
- XTRA=false
- PA_SEARCH_LIBS_AND_ADD(xmalloc, iberty)
-+PA_SEARCH_LIBS_AND_ADD(xrealloc, iberty)
- PA_SEARCH_LIBS_AND_ADD(xstrdup, iberty)
- PA_SEARCH_LIBS_AND_ADD(bsd_signal, bsd, bsdsignal)
- PA_SEARCH_LIBS_AND_ADD(getopt_long, getopt, getopt_long)
-diff -up tftp-hpa-0.49/lib/xrealloc.c.cmd_arg tftp-hpa-0.49/lib/xrealloc.c
---- tftp-hpa-0.49/lib/xrealloc.c.cmd_arg       2010-04-19 11:05:12.387340698 +0200
-+++ tftp-hpa-0.49/lib/xrealloc.c       2010-04-19 11:05:12.387340698 +0200
-@@ -0,0 +1,20 @@
-+/*
-+ * xrealloc.c
-+ *
-+ * Simple error-checking version of realloc()
-+ *
-+ */
-+
-+#include "config.h"
-+
-+void *xrealloc(void *ptr, size_t size)
-+{
-+    void *p = realloc(ptr, size);
-+
-+    if (!p) {
-+        fprintf(stderr, "Out of memory!\n");
-+        exit(128);
-+    }
-+
-+    return p;
-+}
-diff -up tftp-hpa-0.49/tftp/main.c.cmd_arg tftp-hpa-0.49/tftp/main.c
---- tftp-hpa-0.49/tftp/main.c.cmd_arg  2008-10-21 00:08:31.000000000 +0200
-+++ tftp-hpa-0.49/tftp/main.c  2010-04-19 11:05:12.389329337 +0200
-@@ -89,11 +89,14 @@ int connected;
- const struct modes *mode;
- #ifdef WITH_READLINE
- char *line = NULL;
-+char *remote_pth = NULL;
- #else
- char line[LBUFLEN];
-+char remote_pth[LBUFLEN];
- #endif
- int margc;
--char *margv[20];
-+char **margv;
-+int sizeof_margv=0;
- const char *prompt = "tftp> ";
- sigjmp_buf toplevel;
- void intr(int);
-@@ -379,6 +382,10 @@ static void getmoreargs(const char *part
-         free(line);
-         line = NULL;
-     }
-+    if (remote_pth) {
-+        free(remote_pth);
-+        remote_pth = NULL;
-+    }
-     line = xmalloc(len + elen + 1);
-     strcpy(line, partial);
-     strcpy(line + len, eline);
-@@ -535,6 +542,7 @@ void put(int argc, char *argv[])
-     int fd;
-     int n, err;
-     char *cp, *targ;
-+    long dirlen, namelen, lastlen=0;
-     if (argc < 2) {
-         getmoreargs("send ", "(file) ");
-@@ -588,9 +596,22 @@ void put(int argc, char *argv[])
-     }
-     /* this assumes the target is a directory */
-     /* on a remote unix system.  hmmmm.  */
--    cp = strchr(targ, '\0');
--    *cp++ = '/';
-+    dirlen = strlen(targ)+1;
-+#ifdef WITH_READLINE
-+    remote_pth = xmalloc(dirlen+1);
-+#endif
-+    strcpy(remote_pth, targ);
-+    remote_pth[dirlen-1] = '/';
-+    cp = remote_pth + dirlen;
-     for (n = 1; n < argc - 1; n++) {
-+#ifdef WITH_READLINE
-+        namelen = strlen(tail(argv[n])) + 1;
-+        if (namelen > lastlen) {
-+            remote_pth = xrealloc(remote_pth, dirlen + namelen + 1);
-+            cp = remote_pth + dirlen;
-+            lastlen = namelen;
-+        }
-+#endif
-         strcpy(cp, tail(argv[n]));
-         fd = open(argv[n], O_RDONLY | mode->m_openflags);
-         if (fd < 0) {
-@@ -600,9 +621,9 @@ void put(int argc, char *argv[])
-         }
-         if (verbose)
-             printf("putting %s to %s:%s [%s]\n",
--                   argv[n], hostname, targ, mode->m_mode);
-+                   argv[n], hostname, remote_pth, mode->m_mode);
-         sa_set_port(&peeraddr, port);
--        tftp_sendfile(fd, targ, mode->m_mode);
-+        tftp_sendfile(fd, remote_pth, mode->m_mode);
-     }
- }
-@@ -801,6 +822,10 @@ static void command(void)
-             free(line);
-             line = NULL;
-         }
-+        if (remote_pth) {
-+            free(remote_pth);
-+            remote_pth = NULL;
-+        }
-         line = readline(prompt);
-         if (!line)
-             exit(0);            /* EOF */
-@@ -872,7 +897,13 @@ struct cmd *getcmd(char *name)
- static void makeargv(void)
- {
-     char *cp;
--    char **argp = margv;
-+    char **argp;
-+
-+    if (!sizeof_margv) {
-+        sizeof_margv = 20;
-+        margv = xmalloc(sizeof_margv * sizeof(char *));
-+    }
-+    argp = margv;
-     margc = 0;
-     for (cp = line; *cp;) {
-@@ -882,6 +913,11 @@ static void makeargv(void)
-             break;
-         *argp++ = cp;
-         margc += 1;
-+        if (margc == sizeof_margv) {
-+            sizeof_margv += 20;
-+            margv = xrealloc(margv, sizeof_margv * sizeof(char *));
-+            argp = margv + margc;
-+        }
-         while (*cp != '\0' && !isspace(*cp))
-             cp++;
-         if (*cp == '\0')
diff --git a/tftp/patches/tftp-doc.patch b/tftp/patches/tftp-doc.patch
deleted file mode 100644 (file)
index 20352c9..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
---- tftp-hpa-5.2/tftp/main.c   2013-04-19 09:34:09.737410319 +0200
-+++ tftp-hpa-5.2/tftp/main.c   2013-04-19 09:42:53.559946374 +0200
-@@ -195,9 +195,11 @@
- {
-     fprintf(stderr,
- #ifdef HAVE_IPV6
--            "Usage: %s [-4][-6][-v][-l][-m mode] [host [port]] [-c command]\n",
-+            "Usage: %s [-4][-6][-v][-V][-l][-m mode] [-R port:port] "
-+                      "[host [port]] [-c command]\n",
- #else
--            "Usage: %s [-v][-l][-m mode] [host [port]] [-c command]\n",
-+            "Usage: %s [-v][-V][-l][-m mode] [-R port:port] "
-+                      "[host [port]] [-c command]\n",
- #endif
-             program);
-     exit(errcode);
---- tftp-hpa-5.2/tftpd/tftpd.8.in      2012-11-20 09:43:46.000000000 +0100
-+++ tftp-hpa-5.2/tftpd/tftpd.8.in      2013-04-19 09:44:37.399057279 +0200
-@@ -155,7 +155,7 @@
- .B utimeout
- option is negotiated.  The default is 1000000 (1 second.)
- .TP
--\fB\-\-mapfile\fP \fIremap-file\fP, \fB\-m\fP \fIremap-file\fP
-+\fB\-\-map\-file\fP \fIremap-file\fP, \fB\-m\fP \fIremap-file\fP
- Specify the use of filename remapping.  The
- .I remap-file
- is a file containing the remapping rules.  See the section on filename
diff --git a/tftp/patches/tftp-hpa-0.39-tzfix.patch b/tftp/patches/tftp-hpa-0.39-tzfix.patch
deleted file mode 100644 (file)
index ded02ef..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-diff -up tftp-hpa-0.49/tftpd/tftpd.c.tzfix tftp-hpa-0.49/tftpd/tftpd.c
---- tftp-hpa-0.49/tftpd/tftpd.c.tzfix  2008-10-20 18:08:31.000000000 -0400
-+++ tftp-hpa-0.49/tftpd/tftpd.c        2008-11-25 11:45:27.000000000 -0500
-@@ -350,6 +350,14 @@ int main(int argc, char **argv)
-     const char *pidfile = NULL;
-     u_short tp_opcode;
-+    time_t my_time = 0;
-+    struct tm* p_tm;
-+    char envtz[10];
-+    my_time = time(NULL);
-+    p_tm = localtime(&my_time);
-+    snprintf(envtz, sizeof(envtz) - 1, "UTC%+d", (p_tm->tm_gmtoff * -1)/3600);
-+    setenv("TZ", envtz, 0);
-+
-     /* basename() is way too much of a pain from a portability standpoint */
-     p = strrchr(argv[0], '/');
diff --git a/tftp/patches/tftp-hpa-0.49-fortify-strcpy-crash.patch b/tftp/patches/tftp-hpa-0.49-fortify-strcpy-crash.patch
deleted file mode 100644 (file)
index e9b70d4..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-diff -urN tftp-hpa-0.49.orig/tftp/tftp.c tftp-hpa-0.49/tftp/tftp.c
---- tftp-hpa-0.49.orig/tftp/tftp.c     2008-10-20 18:08:31.000000000 -0400
-+++ tftp-hpa-0.49/tftp/tftp.c  2009-08-05 09:47:18.072585848 -0400
-@@ -279,15 +279,16 @@
-             struct tftphdr *tp, const char *mode)
- {
-     char *cp;
-+    size_t len;
-     tp->th_opcode = htons((u_short) request);
-     cp = (char *)&(tp->th_stuff);
--    strcpy(cp, name);
--    cp += strlen(name);
--    *cp++ = '\0';
--    strcpy(cp, mode);
--    cp += strlen(mode);
--    *cp++ = '\0';
-+    len = strlen(name) + 1;
-+    memcpy(cp, name, len);
-+    cp += len;
-+    len = strlen(mode) + 1;
-+    memcpy(cp, mode, len);
-+    cp += len;
-     return (cp - (char *)tp);
- }
diff --git a/tftp/patches/tftp-hpa-0.49-stats.patch b/tftp/patches/tftp-hpa-0.49-stats.patch
deleted file mode 100644 (file)
index b6c9d05..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-diff -up tftp-hpa-0.49/tftp/tftp.c.stats tftp-hpa-0.49/tftp/tftp.c
---- tftp-hpa-0.49/tftp/tftp.c.stats    2011-01-03 15:38:34.217918067 +0100
-+++ tftp-hpa-0.49/tftp/tftp.c  2011-01-03 15:38:37.498917014 +0100
-@@ -400,8 +400,8 @@ static void printstats(const char *direc
- {
-     double delta;
--    delta = (tstop.tv_sec + (tstop.tv_usec / 100000.0)) -
--        (tstart.tv_sec + (tstart.tv_usec / 100000.0));
-+    delta = (tstop.tv_sec + (tstop.tv_usec / 1000000.0)) -
-+        (tstart.tv_sec + (tstart.tv_usec / 1000000.0));
-     if (verbose) {
-         printf("%s %lu bytes in %.1f seconds", direction, amount, delta);
-         printf(" [%.0f bit/s]", (amount * 8.) / delta);
diff --git a/tftp/patches/tftp-hpa-5.2-pktinfo.patch b/tftp/patches/tftp-hpa-5.2-pktinfo.patch
deleted file mode 100644 (file)
index d1fa75c..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-diff -up tftp-hpa-5.2/tftpd/recvfrom.c.test tftp-hpa-5.2/tftpd/recvfrom.c
---- tftp-hpa-5.2/tftpd/recvfrom.c.test 2011-12-11 23:13:52.000000000 +0100
-+++ tftp-hpa-5.2/tftpd/recvfrom.c      2012-01-04 10:05:17.852042256 +0100
-@@ -149,16 +149,16 @@ myrecvfrom(int s, void *buf, int len, un
-     /* Try to enable getting the return address */
- #ifdef IP_RECVDSTADDR
--    if (from->sa_family == AF_INET)
-+    if (from->sa_family == AF_INET || !from->sa_family)
-         setsockopt(s, IPPROTO_IP, IP_RECVDSTADDR, &on, sizeof(on));
- #endif
- #ifdef IP_PKTINFO
--    if (from->sa_family == AF_INET)
-+    if (from->sa_family == AF_INET || !from->sa_family)
-         setsockopt(s, IPPROTO_IP, IP_PKTINFO, &on, sizeof(on));
- #endif
- #ifdef HAVE_IPV6
- #ifdef IPV6_RECVPKTINFO
--    if (from->sa_family == AF_INET6)
-+    if (from->sa_family == AF_INET6 || !from->sa_family)
-         setsockopt(s, IPPROTO_IPV6, IPV6_RECVPKTINFO, &on, sizeof(on));
- #endif
- #endif
diff --git a/tftp/systemd/tftp.service b/tftp/systemd/tftp.service
deleted file mode 100644 (file)
index b8484f1..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-[Unit]
-Description=Tftp Server
-
-[Service]
-ExecStart=/usr/sbin/in.tftpd -u tftp -s /var/lib/tftpboot
-StandardInput=socket
diff --git a/tftp/systemd/tftp.socket b/tftp/systemd/tftp.socket
deleted file mode 100644 (file)
index 8764c1d..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-[Unit]
-Description=Tftp Server Activation Socket
-
-[Socket]
-ListenDatagram=69
-
-[Install]
-WantedBy=sockets.target
diff --git a/tftp/tftp.nm b/tftp/tftp.nm
deleted file mode 100644 (file)
index a9e7fea..0000000
+++ /dev/null
@@ -1,125 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = tftp
-version    = 5.2
-release    = 1
-
-groups     = Applications/Network
-url        = http://www.kernel.org/pub/software/network/tftp/
-license    = BSD
-summary    = Client and server for the Trivial File Transfer Protocol (TFTP).
-
-description
-       The Trivial File Transfer Protocol (TFTP) is normally used only for
-       booting diskless workstations.
-end
-
-thisapp = %{name}-hpa-%{version}
-
-source_dl  = http://www.kernel.org/pub/software/network/tftp/tftp-hpa/
-
-
-build
-       requires
-               autoconf
-               readline-devel
-               shadow-utils
-       end
-
-       prepare_cmds
-               autoreconf -vfi
-               %{create_user}
-       end
-
-       make_install_targets += \
-               INSTALLROOT=%{BUILDROOT}
-
-       install_cmds
-               mkdir -pv %{BUILDROOT}%{sharedstatedir}/tftpboot
-               chown tftp:tftp %{BUILDROOT}%{sharedstatedir}/tftpboot
-       end
-end
-
-create_user
-       getent group tftp >/dev/null || /usr/sbin/groupadd -r tftp
-       getent passwd tftp >/dev/null || /usr/sbin/useradd -r -g tftp \
-               -d %{sharedstatedir}/tftpboot -s /sbin/nologin tftp
-end
-
-packages
-       package %{name}
-               requires
-                       %{name}-client = %{thisver}
-                       %{name}-server = %{thisver}
-               end
-       end
-
-       package %{name}-client
-               summary = A client programm for the Trivial File Transfer Protocol (TFTP).
-               description
-                       The tftp-client package provides the user
-                       interface for TFTP, which allows users to transfer files to and from a
-                       remote machine.  This program and TFTP provide very little security,
-                       and should not be enabled unless it is expressly needed.
-               end
-
-               files
-                       %{bindir}/tftp
-                       %{mandir}/man1/tftp*
-               end
-       end
-
-       package %{name}-server
-               summary = A Trivial File Transfer Protocol (TFTP) server.
-               description
-                       The tftp-server package provides the
-                       server for TFTP, which allows users to transfer files to and from a
-                       remote machine. TFTP provides very little security, and should not be
-                       enabled unless it is expressly needed.
-               end
-
-               prerequires += \
-                       shadow-utils
-
-               datafiles
-                       %{sharedstatedir}/tftpboot
-               end
-
-               files
-                       %{sbindir}/in.tftpd
-                       %{mandir}/man8/*
-                       %{unitdir}/tftp.*
-                       %{sharedstatedir}/tftpboot
-               end
-
-               script prein
-                       %{create_user}
-               end
-
-               script postin
-                       systemctl daemon-reload >/dev/null 2>&1 || :
-               end
-
-               script preun
-                       systemctl --no-reload disable tftp.socket >/dev/null 2>&1 || :
-                       systemctl stop tftp.socket >/dev/null 2>&1 || :
-                       systemctl stop tftp.service >/dev/null 2>&1 || :
-               end
-
-               script postun
-                       systemctl daemon-reload >/dev/null 2>&1 || :
-               end
-
-               script postup
-                       systemctl daemon-reload >/dev/null 2>&1 || :
-                       systemctl try-restart tftp.service >/dev/null 2>&1 || :
-               end
-       end
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
diff --git a/tinc/tinc.nm b/tinc/tinc.nm
deleted file mode 100644 (file)
index 111e5fa..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = tinc
-version    = 1.0.28
-release    = 1
-
-groups     = Networking/Tools
-url        = http://www.tinc-vpn.org/
-license    = GPLv2+
-summary    = A virtual private network daemon.
-
-description
-       tinc is a Virtual Private Network (VPN) daemon that uses tunnelling
-       and encryption to create a secure private network between hosts on
-       the Internet. Because the tunnel appears to the IP level network
-       code as a normal network device, there is no need to adapt any
-       existing software. This tunnelling allows VPN sites to share
-       information with each other over the Internet without exposing any
-       information to others.
-end
-
-source_dl  = http://www.tinc-vpn.org/packages/
-
-build
-       requires
-               lzo-devel
-               openssl-devel
-               zlib-devel
-       end
-end
-
-packages
-       package %{name}
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
index 276e5207b969c2ee655d662daf63a9d293c169c1..8dce37f027f6823f6615b502caa347d88f9ab2f0 100644 (file)
@@ -4,7 +4,7 @@
 ###############################################################################
 
 name       = tmux
-version    = 2.8
+version    = 3.3a
 release    = 1
 
 groups     = Application/System
@@ -23,9 +23,14 @@ source_dl  = https://github.com/tmux/tmux/releases/download/%{version}
 
 build
        requires
+               bison
                ncurses-devel
                libevent-devel
+               #systemd-devel
        end
+
+       #configure_options += \
+       #       --enable-systemd
 end
 
 packages
index 180f49c0756581270861bba47ac582e3086d2bee..8920ac26be1317aa74462c1b7a219d221e1596dd 100644 (file)
@@ -4,11 +4,11 @@
 ###############################################################################
 
 name       = traceroute
-version    = 2.1.0
-release    = 2
+version    = 2.1.3
+release    = 1
 
 groups     = Application/Internet
-url        = http://traceroute.sourceforge.net
+url        = https://traceroute.sourceforge.net
 license    = GPLv2+
 summary    = Traces the route taken by packets over an IPv4/IPv6 network.
 
@@ -22,7 +22,7 @@ description
        where the trouble is coming from along the route.
 end
 
-source_dl  = http://downloads.sourceforge.net/project/%{name}/%{name}/%{thisapp}/
+source_dl  = https://downloads.sourceforge.net/project/%{name}/%{name}/%{thisapp}/
 
 build
        make_build_targets += CFLAGS="%{CFLAGS}" LDFLAGS="%{LDFLAGS}"
diff --git a/transmission/systemd/transmission-daemon.service b/transmission/systemd/transmission-daemon.service
deleted file mode 100644 (file)
index 8692007..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-[Unit]
-Description=Transmission Daemon
-After=network.target
-
-[Service]
-User=transmission
-ExecStart=/usr/bin/transmission-daemon -f --blocklist -g /var/lib/transmission/.config/transmission
-
-[Install]
-WantedBy=multi-user.target
-
diff --git a/transmission/transmission.nm b/transmission/transmission.nm
deleted file mode 100644 (file)
index 8790aca..0000000
+++ /dev/null
@@ -1,120 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = transmission
-version    = 2.84
-release    = 1
-
-groups     = Internet/P2P
-url        = https://trac.transmissionbt.com
-license    = GPLv3
-summary    = A BitTorrent client.
-
-description
-       Transmission is a BitTorrent client which features a simple
-       interface on top of a cross-platform back-end.
-end
-
-source_dl  = http://download.transmissionbt.com/files/
-sources    = %{thisapp}.tar.xz
-
-build
-       requires
-               intltool
-               libcurl-devel
-               libevent-devel
-               openssl-devel
-               shadow-utils
-               zlib-devel
-       end
-
-       prepare_cmds
-               # Create transmission user and group.
-               %{create_user}
-       end
-
-       install_cmds
-               # Create missing folders and set correct ownership.
-               mkdir -pv %{BUILDROOT}%{sharedstatedir}/transmission
-               chown transmission:transmission %{BUILDROOT}%{sharedstatedir}/transmission
-       end
-end
-
-create_user
-       getent group transmission >/dev/null || groupadd -r transmission
-       getent passwd transmission >/dev/null || \
-       useradd -r -g transmission -d %{sharedstatedir}/transmission -s /sbin/nologin \
-               -c "transmission daemon" transmission
-end
-
-packages
-       package %{name}
-
-       package %{name}-cli
-               summary = Transmission command line implementation.
-               description
-                       Command line version of Transmission BitTorrent client.
-               end
-
-               requires
-                       transmission = %{thisver}
-               end
-
-               files
-                       %{bindir}/transmission-cli
-                       %{mandir}/man1/transmission-cli*
-               end
-       end
-
-       package %{name}-daemon
-               summary = Transmission daemon.
-               description
-                       Transmission BitTorrent client daemon.
-               end
-
-               prerequires += shadow-utils
-
-               requires
-                       transmission = %{thisver}
-               end
-
-               datadir
-                       %{sharedstatedir}/transmission
-               end
-
-               files
-                       %{bindir}/transmission-daemon
-                       %{mandir}/man1/transmission-daemon*
-                       %{unitdir}/transmission-daemon.service
-                       %{sharedstatedir}/transmission
-               end
-
-               script prein
-                       %{create_user}
-               end
-
-               script postin
-                       systemctl daemon-reload >/dev/null 2>&1 || :
-               end
-
-               script preun
-                       systemctl --no-reload disable transmission-daemon.service >/dev/null 2>&1 || :
-                       systemctl stop transmission-daemon.service >/dev/null 2>&1 || :
-               end
-
-               script postun
-                       systemctl daemon-reload >/dev/null 2>&1 || :
-               end
-
-               script postup
-                       systemctl daemon-reload >/dev/null 2>&1 || :
-                       systemctl try-restart transmission-daemon.service >/dev/null 2>&1 || :
-               end
-       end
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
index 7a7352e38fafd49179fb6a5852257825247be8e0..8eaead08c0a8365f22b59dd91f39df5cb43ce3fe 100644 (file)
@@ -4,11 +4,11 @@
 ###############################################################################
 
 name       = tree
-version    = 1.7.0
-release    = 2
+version    = 2.1.1
+release    = 1
 
 groups     = Applications/File
-url        = http://mama.indstate.edu/users/ice/tree/
+url        = https://mama.indstate.edu/users/ice/tree/
 license    = GPLv2+
 summary    = File system tree viewer.
 
@@ -18,7 +18,7 @@ description
        utility.
 end
 
-source_dl  = ftp://mama.indstate.edu/linux/tree/
+source_dl  = https://mama.indstate.edu/users/ice/tree/src/
 sources    = %{thisapp}.tgz
 
 build
@@ -27,8 +27,10 @@ build
                LDFLAGS="%{LDFLAGS}"
 
        install
-               make install BINDIR=%{BUILDROOT}%{bindir} \
-                       MANDIR=%{BUILDROOT}%{mandir}/man1
+               make install \
+                       PREFIX=%{BUILDROOT}%{prefix} \
+                       BINDIR=%{BUILDROOT}%{bindir} \
+                       MANDIR=%{BUILDROOT}%{mandir} 
        end
 end
 
diff --git a/tunctl/tunctl.nm b/tunctl/tunctl.nm
deleted file mode 100644 (file)
index 67d394a..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = tunctl
-version    = 1.5
-release    = 3
-
-groups     = Networking/Tools
-url        = http://tunctl.sourceforge.net/
-license    = GPL+
-summary    = Create and remove virtual network interfaces.
-
-description
-       tunctl is a tool to set up and maintain persistent TUN/TAP network
-       interfaces, enabling user applications access to the wire side of a
-       virtual nework interface. Such interfaces is useful for connecting VPN
-       software, virtualization, emulation and a number of other similar
-       applications to the network stack.
-end
-
-source_dl  = http://sourceforge.net/projects/tunctl/files/tunctl/%{version}/%{sources}/download
-
-build
-       requires
-               docbook-utils
-       end
-
-       prepare_cmds
-               sed -e "s/^CFLAGS.*/CFLAGS = %{CFLAGS} %{LDFLAGS}/" -i Makefile
-       end
-end
-
-packages
-       package %{name}
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
index ece9f66ef135f6350dfb4abc448adbeab0d1c461..12b303bd091c56e4ee559233b39ba02f2480a441 100644 (file)
@@ -3,26 +3,26 @@
 # Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
 ###############################################################################
 
-tzdata_version = 2019b
-tzcode_version = 2019b
+tzdata_version = 2023c
+tzcode_version = 2023c
 
 name       = tzdata
 version    = %{tzdata_version}
 release    = 1
-arch       = noarch
+thisapp    = tzdb-%{version}
 
 groups     = System/Base
 url        = https://www.iana.org/time-zones
 license    = Public Domain
-summary    = Timezone data.
+summary    = Timezone data
 
 description
        This package contains data files with rules for various timezones around
        the world.
 end
 
-source_dl += https://www.iana.org/time-zones/repository/releases/
-sources    = tzdata%{tzdata_version}.tar.gz tzcode%{tzcode_version}.tar.gz
+source_dl  = https://www.iana.org/time-zones/repository/releases/
+sources    = %{thisapp}.tar.lz
 
 build
        requires
@@ -30,15 +30,13 @@ build
                perl
        end
 
-       DIR_APP = %{DIR_SRC}/tzdata%{tzdata_version}
+       make_build_targets += \
+               CFLAGS="%{CFLAGS}" LDFLAGS="%{LDFLAGS}"
 
-       prepare
-               mkdir -pv %{DIR_APP}
-               %{MACRO_EXTRACT} %{DIR_DL}/tzcode%{tzcode_version}.tar.gz -C %{DIR_APP}
-               %{MACRO_EXTRACT} %{DIR_DL}/tzdata%{tzdata_version}.tar.gz -C %{DIR_APP}
-       end
+       make_install_targets += \
+               BINDIR=%{bindir} LIBDIR=%{libdir} MANDIR=%{mandir}
 
-       files = \
+       timezones = \
                africa \
                antarctica \
                asia \
@@ -46,31 +44,31 @@ build
                europe \
                northamerica \
                southamerica \
-               pacificnew \
                etcetera \
-               backward
+               backward \
+               factory
 
-       build
-               mkdir -pv zoneinfo/{,posix,right}
+       install_cmds
+               ./zic -b fat -d "%{BUILDROOT}%{datadir}/zoneinfo" %{timezones}
+               ./zic -b fat -d "%{BUILDROOT}%{datadir}/zoneinfo/posix" %{timezones}
+               ./zic -b fat -d "%{BUILDROOT}%{datadir}/zoneinfo/right" -L leapseconds %{timezones}
 
-               zic -y ./yearistype -d zoneinfo \
-                       -L /dev/null -p GMT %{files}
-               zic -y ./yearistype -d zoneinfo/posix \
-                       -L /dev/null %{files}
-               zic -y ./yearistype -d zoneinfo/right \
-                       -L leapseconds %{files}
-       end
+               # This creates the posixrules file.
+               # We use New York because POSIX requires the daylight savings time rules to be
+               # in accordance with US rules.
+               ./zic -b fat -d "%{BUILDROOT}%{datadir}/zoneinfo" -p America/New_York
 
-       install
-               mkdir -pv %{BUILDROOT}%{datadir}/zoneinfo
-               cp -prd zoneinfo/* %{BUILDROOT}%{datadir}/zoneinfo
+               install -v -m 644 iso3166.tab leap-seconds.list zone1970.tab zone.tab SECURITY \
+                       "%{BUILDROOT}%{datadir}/zoneinfo"
 
-               install -p -m 644 zone.tab iso3166.tab \
-                       %{BUILDROOT}%{datadir}/zoneinfo
-               rm -f %{BUILDROOT}/usr/share/zoneinfo/localtime
+               rm -vf "%{BUILDROOT}%{sysconfdir}/localtime"
        end
 end
 
 packages
        package %{name}
+
+       package %{name}-debuginfo
+               template DEBUGINFO
+       end
 end
diff --git a/u-boot/patches/u-boot-fat.patch b/u-boot/patches/u-boot-fat.patch
deleted file mode 100644 (file)
index 1aa90bd..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -uNr u-boot-2012.04.01.orig/fs/fat/fat.c u-boot-2012.04.01/fs/fat/fat.c
---- u-boot-2012.04.01.orig/fs/fat/fat.c        2012-04-25 08:22:50.000000000 -0500
-+++ u-boot-2012.04.01/fs/fat/fat.c     2012-06-19 14:06:16.605337811 -0500
-@@ -90,7 +90,7 @@
-       /* Check for FAT12/FAT16/FAT32 filesystem */
-       if (!memcmp(buffer + DOS_FS_TYPE_OFFSET, "FAT", 3))
-               return 0;
--      if (!memcmp(buffer + DOS_FS32_TYPE_OFFSET, "FAT32", 5))
-+      if (!memcmp(buffer + DOS_FS32_TYPE_OFFSET, "FAT", 3))
-               return 0;
-       cur_dev = NULL;
diff --git a/u-boot/patches/uboot-omap-fit.patch b/u-boot/patches/uboot-omap-fit.patch
deleted file mode 100644 (file)
index cdcc79b..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
---- u-boot-2012.07/include/configs/omap4_common.h.orig 2013-01-24 00:20:40.334731642 -0600
-+++ u-boot-2012.07/include/configs/omap4_common.h      2013-01-24 00:21:08.708953803 -0600
-@@ -280,4 +280,6 @@
- #define CONFIG_SYS_THUMB_BUILD
-+#define CONFIG_FIT
-+
- #endif /* __CONFIG_OMAP4_COMMON_H */
diff --git a/u-boot/targets b/u-boot/targets
deleted file mode 100644 (file)
index ce81d23..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-# HOST_ARCH            platform        targets
-# --------------------------------------------
-armv5tel               dreamplug       u-boot.bin u-boot.kwb
-armv7hl                        omap4_panda     u-boot.bin u-boot.img
-armv7hl                        wandboard_solo  u-boot.imx
-armv7hl                        wandboard_dl    u-boot.imx
-armv7hl                        wandboard_quad  u-boot.imx
diff --git a/u-boot/u-boot.nm b/u-boot/u-boot.nm
deleted file mode 100644 (file)
index 25be430..0000000
+++ /dev/null
@@ -1,94 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = u-boot
-version    = 2013.07
-release    = 1
-sup_arches = armv5tel armv7hl
-
-groups     = Development/Tools
-url        = http://www.denx.de/wiki/U-Boot
-license    = GPLv2+
-summary    = U-Boot utilities.
-
-description
-       U-Boot is a Boot Loader, i.e. its primary purpose in the shipping
-       system is to load some operating system.
-end
-
-source_dl  = ftp://ftp.denx.de/pub/u-boot/
-sources    = %{thisapp}.tar.bz2
-
-build
-       requires
-               dtc
-       end
-
-       build
-               while read arch platform targets; do
-                       # Skip all other architectures.
-                       [ "${arch}" = "%{DISTRO_ARCH}" ] || continue
-
-                       make CROSS_COMPILE="" ${platform}_config
-                       make HOSTCC="gcc %{CFLAGS}" CROSS_COMPILE="" all ${targets}
-
-                       # install
-                       installdir="%{BUILDROOT}/usr/lib/%{name}/${platform}"
-                       mkdir -pv ${installdir}
-
-                       for target in ${targets}; do
-                               install -D -m 644 ${target} ${installdir}
-                       done
-                       if [ -e "MLO" ]; then
-                               install -D -m 644 MLO ${installdir}
-                       fi
-                       for f in spl/*.bin; do
-                               [ -e "${f}" ] || continue
-                               install -D -m 644 ${f} ${installdir}
-                       done
-
-                       # Clean out the build environment.
-                       make distclean
-               done < %{DIR_SOURCE}/targets
-
-               # Build tools.
-               # Need to create a config because the tools won't build without.
-               make sheevaplug_config
-
-               make tools HOSTCC="gcc %{CFLAGS}" HOSTSTRIP="/bin/true" CROSS_COMPILE=""
-               make env HOSTCC="gcc %{CFLAGS}" HOSTSTRIP="/bin/true"
-       end
-
-       install
-               # Install tools.
-               mkdir -pv %{BUILDROOT}/usr/bin %{BUILDROOT}/usr/share/man/man1
-               install -p -m 0755 tools/mkimage %{BUILDROOT}/usr/bin
-               install -p -m 0644 doc/mkimage.1 %{BUILDROOT}/usr/share/man/man1
-               install -p -m 0755 tools/env/fw_printenv %{BUILDROOT}/usr/bin
-               ln -svf fw_printenv %{BUILDROOT}/usr/bin/fw_setenv
-       end
-end
-
-packages
-       package %{name}
-
-       package %{name}-tools
-               summary = U-Boot utilities.
-               description
-                       This package contains a few U-Boot utilities - mkimage
-                       for creating boot images and fw_printenv/fw_setenv for
-                       manipulating the boot environment variables.
-               end
-
-               files
-                       /usr/bin
-                       /usr/share/man/man1
-               end
-       end
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
diff --git a/ulogd2/patches/ulogd2-2.0.5-better-sqlite-debugging.patch b/ulogd2/patches/ulogd2-2.0.5-better-sqlite-debugging.patch
deleted file mode 100644 (file)
index f9c5f7d..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-diff --git a/output/sqlite3/ulogd_output_SQLITE3.c b/output/sqlite3/ulogd_output_SQLITE3.c
-index 5c49055..e3eff6f 100644
---- a/output/sqlite3/ulogd_output_SQLITE3.c
-+++ b/output/sqlite3/ulogd_output_SQLITE3.c
-@@ -212,7 +212,8 @@ sqlite3_interp(struct ulogd_pluginstance *pi)
-       return ULOGD_IRET_OK;
-  err_bind:
--      ulogd_log(ULOGD_ERROR, "SQLITE: bind: %s\n", sqlite3_errmsg(priv->dbh));
-+      ulogd_log(ULOGD_ERROR, "SQLITE: bind: %s (field: %s)\n", sqlite3_errmsg(priv->dbh),
-+              f->key->name);
-       
-       return ULOGD_IRET_ERR;
- }
-@@ -353,8 +354,10 @@ sqlite3_init_db(struct ulogd_pluginstance *pi)
-               }
-               strncpy(f->name, buf, ULOGD_MAX_KEYLEN);
--              if ((f->key = ulogd_find_key(pi, buf)) == NULL)
-+              if ((f->key = ulogd_find_key(pi, buf)) == NULL) {
-+                      ulogd_log(ULOGD_ERROR, "SQLITE3: Could not find field %s\n", buf);
-                       return -1;
-+              }
-               TAILQ_INSERT_TAIL(&priv->fields, f, link);
-       }
index 4d639a8723c78f0366ca00a87895a5c13eadcf4c..6ede4dcda383b9b9036a9551bd1ad042aad9b6b3 100644 (file)
@@ -4,16 +4,14 @@
 ###############################################################################
 
 name       = ulogd2
-version    = 2.0.5
-release    = 1
-epoch      = 1
-
+version    = 2.0.8
+release    = 1.1
 thisapp    = ulogd-%{version}
 
 groups     = Networking/Statistics
-url        = http://netfilter.org/projects/ulogd/index.html
+url        = https://netfilter.org/projects/ulogd/index.html
 license    = GPLv2
-summary    = The userspace logging daemon for netfilter.
+summary    = The userspace logging daemon for netfilter
 
 description
        This package contains utilities for configuring the linux ethernet
@@ -23,7 +21,7 @@ description
        ethernet devices directly.
 end
 
-source_dl  = http://ftp.netfilter.org/pub/ulogd/
+source_dl  = https://www.netfilter.org/projects/ulogd/files/
 sources    = %{thisapp}.tar.bz2
 
 build
index ca4fddc0b6892e2116c478791063bdcac163ef8f..fcd7e5a621c6543780491005468733f7bce7f113 100644 (file)
@@ -4,11 +4,11 @@
 ###############################################################################
 
 name       = unbound
-version    = 1.9.0
+version    = 1.18.0
 release    = 1
 
 groups     = System/Daemons
-url        = http://www.nlnetlabs.nl/unbound/
+url        = https://www.nlnetlabs.nl/unbound/
 license    = BSD
 summary    = A validating, recursive, and caching DNS(SEC) resolver.
 
@@ -21,12 +21,11 @@ description
        DNSSEC (secure DNS) validation and stub-resolvers are easily possible.
 end
 
-source_dl  = http://www.unbound.net/downloads/
+source_dl  = https://www.unbound.net/downloads/
 
 build
        requires
                expat-devel
-               libevent-devel
                openssl-devel >= 1.0.1h-2
                python3-devel >= 3.4
                swig
@@ -34,9 +33,9 @@ build
 
        configure_options += \
                --with-conf-file=%{sysconfdir}/%{name}/unbound.conf \
-               --with-pidfile=%{localstatedir}/run/%{name}/%{name}.pid \
+               --with-pidfile=/run/%{name}/%{name}.pid \
                --with-rootkey-file=%{sharedstatedir}/unbound/root.key \
-               --with-libevent \
+               --without-libevent \
                --with-pthreads \
                --disable-rpath \
                --disable-static \
@@ -54,10 +53,6 @@ build
        end
 
        install_cmds
-               # Create directories.
-               mkdir -pv %{BUILDROOT}%{localstatedir}/run/%{name}
-               mkdir -pv %{BUILDROOT}%{sharedstatedir}/%{name}
-
                # Directory for user specified and additional config files.
                mkdir -pv %{BUILDROOT}%{sysconfdir}/%{name}/conf.d/
 
@@ -67,6 +62,9 @@ build
                # Directory for trusted-keys-file.
                mkdir -pv %{BUILDROOT}%{sysconfdir}/%{name}/keys.d/
 
+               # Directory for the root anchor.
+               mkdir -pv %{BUILDROOT}%{sharedstatedir}/%{name}
+
                # Install unbound config file.
                install -p -m 0664 %{DIR_SOURCE}/%{name}.conf \
                        %{BUILDROOT}%{sysconfdir}/%{name}/
index d6255896c451a7efab8e7fb155b7f8469bb18710..bb88f01e29fa3f3367ecf49181bcf6b96353ca21 100644 (file)
@@ -1 +1 @@
-D /var/run/unbound 0755 unbound unbound -
+D /run/unbound 0755 unbound unbound -
diff --git a/unicode-ucd/unicode-ucd.nm b/unicode-ucd/unicode-ucd.nm
deleted file mode 100644 (file)
index 17e922d..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = unicode-ucd
-version    = 9.0.0
-release    = 1
-arch       = noarch
-
-groups     = Development/System 
-url        = http://www.unicode.org/ucd/
-license    = MIT
-summary    = Unicode Character Database.
-
-description
-       The Unicode Character Database (UCD) consists of a number of data files listing
-       Unicode character properties and related data. It also includes data files
-       containing test data for conformance to several important Unicode algorithms.
-end
-
-source_dl  = http://www.unicode.org/Public/zipped/%{version}/
-sources    = UCD.zip
-
-build
-       requires
-               unzip>=6.0-3
-       end
-
-       prepare
-               # Manually create DIR_APP because the 
-               # soucre archive doesn't contain any folder.
-               mkdir -pv %{DIR_APP}
-
-               # Manually extract zip compressed source archive.
-               cd %{DIR_APP} && unzip %{DIR_DL}/%{sources}
-       end
-
-       build = # Nothing to do
-
-       install
-               # Create install folder and copy files.
-               mkdir -pv %{BUILDROOT}%{datadir}/unicode/ucd/
-               cp -arvf . %{BUILDROOT}%{datadir}/unicode/ucd/
-       end
-end
-
-packages
-       package %{name}
-end
diff --git a/unzip/patches/0001-Fix-CVE-2016-9844-rhbz-1404283.patch b/unzip/patches/0001-Fix-CVE-2016-9844-rhbz-1404283.patch
new file mode 100644 (file)
index 0000000..0e4a173
--- /dev/null
@@ -0,0 +1,39 @@
+From 754137e70cf58a64ad524b704a86b651ba0cde07 Mon Sep 17 00:00:00 2001
+From: Petr Stodulka <pstodulk@redhat.com>
+Date: Wed, 14 Dec 2016 16:30:36 +0100
+Subject: [PATCH] Fix CVE-2016-9844 (rhbz#1404283)
+
+Fixes buffer overflow in zipinfo in similar way like fix for
+CVE-2014-9913 provided by upstream.
+---
+ zipinfo.c | 14 +++++++++++++-
+ 1 file changed, 13 insertions(+), 1 deletion(-)
+
+diff --git a/zipinfo.c b/zipinfo.c
+index c03620e..accca2a 100644
+--- a/zipinfo.c
++++ b/zipinfo.c
+@@ -1984,7 +1984,19 @@ static int zi_short(__G)   /* return PK-type error code */
+         ush  dnum=(ush)((G.crec.general_purpose_bit_flag>>1) & 3);
+         methbuf[3] = dtype[dnum];
+     } else if (methnum >= NUM_METHODS) {   /* unknown */
+-        sprintf(&methbuf[1], "%03u", G.crec.compression_method);
++        /* 2016-12-05 SMS.
++         * https://launchpad.net/bugs/1643750
++         * Unexpectedly large compression methods overflow
++         * &methbuf[].  Use the old, three-digit decimal format
++         * for values which fit.  Otherwise, sacrifice the "u",
++         * and use four-digit hexadecimal.
++         */
++        if (G.crec.compression_method <= 999) {
++              sprintf( &methbuf[ 1], "%03u", G.crec.compression_method);
++        } else {
++              sprintf( &methbuf[ 0], "%04X", G.crec.compression_method);
++        }
++
+     }
+     for (k = 0;  k < 15;  ++k)
+-- 
+2.5.5
+
diff --git a/unzip/patches/unzip-6.0-COVSCAN-fix-unterminated-string.patch b/unzip/patches/unzip-6.0-COVSCAN-fix-unterminated-string.patch
new file mode 100644 (file)
index 0000000..7173771
--- /dev/null
@@ -0,0 +1,131 @@
+From 06d1b08aef94984256cad3c5a54cedb10295681f Mon Sep 17 00:00:00 2001
+From: Jakub Martisko <jamartis@redhat.com>
+Date: Thu, 8 Nov 2018 09:31:18 +0100
+Subject: [PATCH] Possible unterminated string fix
+
+---
+ unix/unix.c   |  4 +++-
+ unix/unxcfg.h |  2 +-
+ unzip.c       | 12 ++++++++----
+ zipinfo.c     | 12 ++++++++----
+ 4 files changed, 20 insertions(+), 10 deletions(-)
+
+diff --git a/unix/unix.c b/unix/unix.c
+index 59b622d..cd57f80 100644
+--- a/unix/unix.c
++++ b/unix/unix.c
+@@ -1945,7 +1945,9 @@ void init_conversion_charsets()
+       for(i = 0; i < sizeof(dos_charset_map)/sizeof(CHARSET_MAP); i++)
+               if(!strcasecmp(local_charset, dos_charset_map[i].local_charset)) {
+                       strncpy(OEM_CP, dos_charset_map[i].archive_charset,
+-                                      sizeof(OEM_CP));
++                                      MAX_CP_NAME - 1);
++
++                      OEM_CP[MAX_CP_NAME - 1] = '\0';
+                       break;
+               }
+     }
+diff --git a/unix/unxcfg.h b/unix/unxcfg.h
+index 8729de2..9ee8cfe 100644
+--- a/unix/unxcfg.h
++++ b/unix/unxcfg.h
+@@ -228,7 +228,7 @@ typedef struct stat z_stat;
+ /*    and notfirstcall are used by do_wild().                          */
+-#define MAX_CP_NAME 25 
++#define MAX_CP_NAME 25 + 1 
+    
+ #ifdef SETLOCALE
+ #  undef SETLOCALE
+diff --git a/unzip.c b/unzip.c
+index 2d94a38..a485f2b 100644
+--- a/unzip.c
++++ b/unzip.c
+@@ -1561,7 +1561,8 @@ int uz_opts(__G__ pargc, pargv)
+                                         "error:  a valid character encoding should follow the -I argument"));
+                               return(PK_PARAM); 
+                                               }
+-                                              strncpy(ISO_CP, s, sizeof(ISO_CP));
++                                              strncpy(ISO_CP, s, MAX_CP_NAME - 1);
++                ISO_CP[MAX_CP_NAME - 1] = '\0';
+                                       } else { /* -I charset */
+                                               ++argv;
+                                               if(!(--argc > 0 && *argv != NULL && **argv != '-')) {
+@@ -1570,7 +1571,8 @@ int uz_opts(__G__ pargc, pargv)
+                               return(PK_PARAM); 
+                                               }
+                                               s = *argv;
+-                                              strncpy(ISO_CP, s, sizeof(ISO_CP));
++                                              strncpy(ISO_CP, s, MAX_CP_NAME - 1);
++                ISO_CP[MAX_CP_NAME - 1] = '\0';
+                                       }
+                                       while(*(++s)); /* No params straight after charset name */
+                               }
+@@ -1665,7 +1667,8 @@ int uz_opts(__G__ pargc, pargv)
+                                         "error:  a valid character encoding should follow the -I argument"));
+                               return(PK_PARAM); 
+                                               }
+-                                              strncpy(OEM_CP, s, sizeof(OEM_CP));
++                                              strncpy(OEM_CP, s, MAX_CP_NAME - 1);
++                OEM_CP[MAX_CP_NAME - 1] = '\0';
+                                       } else { /* -O charset */
+                                               ++argv;
+                                               if(!(--argc > 0 && *argv != NULL && **argv != '-')) {
+@@ -1674,7 +1677,8 @@ int uz_opts(__G__ pargc, pargv)
+                               return(PK_PARAM); 
+                                               }
+                                               s = *argv;
+-                                              strncpy(OEM_CP, s, sizeof(OEM_CP));
++                                              strncpy(OEM_CP, s, MAX_CP_NAME - 1);
++                OEM_CP[MAX_CP_NAME - 1] = '\0';
+                                       }
+                                       while(*(++s)); /* No params straight after charset name */
+                               }
+diff --git a/zipinfo.c b/zipinfo.c
+index accca2a..cb7e08d 100644
+--- a/zipinfo.c
++++ b/zipinfo.c
+@@ -519,7 +519,8 @@ int zi_opts(__G__ pargc, pargv)
+                                         "error:  a valid character encoding should follow the -I argument"));
+                               return(PK_PARAM); 
+                                               }
+-                                              strncpy(ISO_CP, s, sizeof(ISO_CP));
++                                              strncpy(ISO_CP, s, MAX_CP_NAME - 1);
++                ISO_CP[MAX_CP_NAME - 1] = '\0';
+                                       } else { /* -I charset */
+                                               ++argv;
+                                               if(!(--argc > 0 && *argv != NULL && **argv != '-')) {
+@@ -528,7 +529,8 @@ int zi_opts(__G__ pargc, pargv)
+                               return(PK_PARAM); 
+                                               }
+                                               s = *argv;
+-                                              strncpy(ISO_CP, s, sizeof(ISO_CP));
++                                              strncpy(ISO_CP, s, MAX_CP_NAME - 1);
++                ISO_CP[MAX_CP_NAME - 1] = '\0';
+                                       }
+                                       while(*(++s)); /* No params straight after charset name */
+                               }
+@@ -568,7 +570,8 @@ int zi_opts(__G__ pargc, pargv)
+                                         "error:  a valid character encoding should follow the -I argument"));
+                               return(PK_PARAM); 
+                                               }
+-                                              strncpy(OEM_CP, s, sizeof(OEM_CP));
++                                              strncpy(OEM_CP, s, MAX_CP_NAME - 1);
++                OEM_CP[MAX_CP_NAME - 1] = '\0';
+                                       } else { /* -O charset */
+                                               ++argv;
+                                               if(!(--argc > 0 && *argv != NULL && **argv != '-')) {
+@@ -577,7 +580,8 @@ int zi_opts(__G__ pargc, pargv)
+                               return(PK_PARAM); 
+                                               }
+                                               s = *argv;
+-                                              strncpy(OEM_CP, s, sizeof(OEM_CP));
++                                              strncpy(OEM_CP, s, MAX_CP_NAME - 1);
++                OEM_CP[MAX_CP_NAME - 1] = '\0';
+                                       }
+                                       while(*(++s)); /* No params straight after charset name */
+                               }
+-- 
+2.14.5
+
diff --git a/unzip/patches/unzip-6.0-alt-iconv-utf8-print.patch b/unzip/patches/unzip-6.0-alt-iconv-utf8-print.patch
new file mode 100644 (file)
index 0000000..0b0153b
--- /dev/null
@@ -0,0 +1,381 @@
+From ca0212ba19b64488b9e8459a762c11ecd6e7d0bd Mon Sep 17 00:00:00 2001
+From: Petr Stodulka <pstodulk@redhat.com>
+Date: Tue, 24 Nov 2015 17:56:11 +0100
+Subject: [PATCH] print correctly non-ascii filenames
+
+---
+ extract.c | 289 ++++++++++++++++++++++++++++++++++++++++++++++++--------------
+ unzpriv.h |   7 ++
+ 2 files changed, 233 insertions(+), 63 deletions(-)
+
+diff --git a/extract.c b/extract.c
+index 0ee4e93..741b7e0 100644
+--- a/extract.c
++++ b/extract.c
+@@ -2648,8 +2648,21 @@ static void set_deferred_symlink(__G__ slnk_entry)
+ } /* end function set_deferred_symlink() */
+ #endif /* SYMLINKS */
++/*
++ * If Unicode is supported, assume we have what we need to do this
++ * check using wide characters, avoiding MBCS issues.
++ */
+-
++#ifndef UZ_FNFILTER_REPLACECHAR
++        /* A convenient choice for the replacement of unprintable char codes is
++         * the "single char wildcard", as this character is quite unlikely to
++         * appear in filenames by itself.  The following default definition
++         * sets the replacement char to a question mark as the most common
++         * "single char wildcard"; this setting should be overridden in the
++         * appropiate system-specific configuration header when needed.
++         */
++# define UZ_FNFILTER_REPLACECHAR      '?'
++#endif
+ /*************************/
+ /*  Function fnfilter()  */        /* here instead of in list.c for SFX */
+@@ -2661,48 +2674,168 @@ char *fnfilter(raw, space, size)   /* convert name to safely printable form */
+     extent size;
+ {
+ #ifndef NATIVE   /* ASCII:  filter ANSI escape codes, etc. */
+-    ZCONST uch *r=(ZCONST uch *)raw;
++    ZCONST uch *r; // =(ZCONST uch *)raw;
+     uch *s=space;
+     uch *slim=NULL;
+     uch *se=NULL;
+     int have_overflow = FALSE;
+-    if (size > 0) {
+-        slim = space + size
+-#ifdef _MBCS
+-                     - (MB_CUR_MAX - 1)
+-#endif
+-                     - 4;
++# if defined( UNICODE_SUPPORT) && defined( _MBCS)
++/* If Unicode support is enabled, and we have multi-byte characters,
++ * then do the isprint() checks by first converting to wide characters
++ * and checking those.  This avoids our having to parse multi-byte
++ * characters for ourselves.  After the wide-char replacements have been
++ * made, the wide string is converted back to the local character set.
++ */
++    wchar_t *wstring;    /* wchar_t version of raw */
++    size_t wslen;        /* length of wstring */
++    wchar_t *wostring;   /* wchar_t version of output string */
++    size_t woslen;       /* length of wostring */
++    char *newraw;        /* new raw */
++
++    /* 2012-11-06 SMS.
++     * Changed to check the value returned by mbstowcs(), and bypass the
++     * Unicode processing if it fails.  This seems to fix a problem
++     * reported in the SourceForge forum, but it's not clear that we
++     * should be doing any Unicode processing without some evidence that
++     * the name actually is Unicode.  (Check bit 11 in the flags before
++     * coming here?)
++     * http://sourceforge.net/p/infozip/bugs/40/
++     */
++
++    if (MB_CUR_MAX <= 1)
++    {
++        /* There's no point to converting multi-byte chars if there are
++         * no multi-byte chars.
++         */
++        wslen = (size_t)-1;
+     }
+-    while (*r) {
+-        if (size > 0 && s >= slim && se == NULL) {
+-            se = s;
++    else
++    {
++        /* Get Unicode wide character count (for storage allocation). */
++        wslen = mbstowcs( NULL, raw, 0);
++    }
++
++    if (wslen != (size_t)-1)
++    {
++        /* Apparently valid Unicode.  Allocate wide-char storage. */
++        wstring = (wchar_t *)malloc((wslen + 1) * sizeof(wchar_t));
++        if (wstring == NULL) {
++            strcpy( (char *)space, raw);
++            return (char *)space;
+         }
+-#ifdef QDOS
+-        if (qlflag & 2) {
+-            if (*r == '/' || *r == '.') {
++        wostring = (wchar_t *)malloc(2 * (wslen + 1) * sizeof(wchar_t));
++        if (wostring == NULL) {
++            free(wstring);
++            strcpy( (char *)space, raw);
++            return (char *)space;
++        }
++
++        /* Convert the multi-byte Unicode to wide chars. */
++        wslen = mbstowcs(wstring, raw, wslen + 1);
++
++        /* Filter the wide-character string. */
++        fnfilterw( wstring, wostring, (2 * (wslen + 1) * sizeof(wchar_t)));
++
++        /* Convert filtered wide chars back to multi-byte. */
++        woslen = wcstombs( NULL, wostring, 0);
++        if ((newraw = malloc(woslen + 1)) == NULL) {
++            free(wstring);
++            free(wostring);
++            strcpy( (char *)space, raw);
++            return (char *)space;
++        }
++        woslen = wcstombs( newraw, wostring, (woslen * MB_CUR_MAX) + 1);
++
++        if (size > 0) {
++            slim = space + size - 4;
++        }
++        r = (ZCONST uch *)newraw;
++        while (*r) {
++            if (size > 0 && s >= slim && se == NULL) {
++                se = s;
++            }
++#  ifdef QDOS
++            if (qlflag & 2) {
++                if (*r == '/' || *r == '.') {
++                    if (se != NULL && (s > (space + (size-3)))) {
++                        have_overflow = TRUE;
++                        break;
++                    }
++                    ++r;
++                    *s++ = '_';
++                    continue;
++                }
++            } else
++#  endif
++            {
+                 if (se != NULL && (s > (space + (size-3)))) {
+                     have_overflow = TRUE;
+                     break;
+                 }
+-                ++r;
+-                *s++ = '_';
+-                continue;
++                *s++ = *r++;
+             }
+-        } else
++        }
++        if (have_overflow) {
++            strcpy((char *)se, "...");
++        } else {
++            *s = '\0';
++        }
++
++        free(wstring);
++        free(wostring);
++        free(newraw);
++    }
++    else
++# endif /* defined( UNICODE_SUPPORT) && defined( _MBCS) */
++    {
++        /* No Unicode support, or apparently invalid Unicode. */
++        r = (ZCONST uch *)raw;
++
++        if (size > 0) {
++            slim = space + size
++#ifdef _MBCS
++                         - (MB_CUR_MAX - 1)
++#endif
++                         - 4;
++        }
++        while (*r) {
++            if (size > 0 && s >= slim && se == NULL) {
++                se = s;
++            }
++#ifdef QDOS
++            if (qlflag & 2) {
++                if (*r == '/' || *r == '.') {
++                    if (se != NULL && (s > (space + (size-3)))) {
++                        have_overflow = TRUE;
++                        break;
++                    }
++                    ++r;
++                    *s++ = '_';
++                    continue;
++                }
++            } else
+ #endif
+ #ifdef HAVE_WORKING_ISPRINT
+-# ifndef UZ_FNFILTER_REPLACECHAR
+-    /* A convenient choice for the replacement of unprintable char codes is
+-     * the "single char wildcard", as this character is quite unlikely to
+-     * appear in filenames by itself.  The following default definition
+-     * sets the replacement char to a question mark as the most common
+-     * "single char wildcard"; this setting should be overridden in the
+-     * appropiate system-specific configuration header when needed.
+-     */
+-#   define UZ_FNFILTER_REPLACECHAR      '?'
+-# endif
+-        if (!isprint(*r)) {
++            if (!isprint(*r)) {
++                if (*r < 32) {
++                    /* ASCII control codes are escaped as "^{letter}". */
++                    if (se != NULL && (s > (space + (size-4)))) {
++                        have_overflow = TRUE;
++                        break;
++                    }
++                    *s++ = '^', *s++ = (uch)(64 + *r++);
++                } else {
++                    /* Other unprintable codes are replaced by the
++                     * placeholder character. */
++                    if (se != NULL && (s > (space + (size-3)))) {
++                        have_overflow = TRUE;
++                        break;
++                    }
++                    *s++ = UZ_FNFILTER_REPLACECHAR;
++                    INCSTR(r);
++                }
++#else /* !HAVE_WORKING_ISPRINT */
+             if (*r < 32) {
+                 /* ASCII control codes are escaped as "^{letter}". */
+                 if (se != NULL && (s > (space + (size-4)))) {
+@@ -2710,47 +2843,30 @@ char *fnfilter(raw, space, size)   /* convert name to safely printable form */
+                     break;
+                 }
+                 *s++ = '^', *s++ = (uch)(64 + *r++);
++#endif /* ?HAVE_WORKING_ISPRINT */
+             } else {
+-                /* Other unprintable codes are replaced by the
+-                 * placeholder character. */
++#ifdef _MBCS
++                unsigned i = CLEN(r);
++                if (se != NULL && (s > (space + (size-i-2)))) {
++                    have_overflow = TRUE;
++                    break;
++                }
++                for (; i > 0; i--)
++                    *s++ = *r++;
++#else
+                 if (se != NULL && (s > (space + (size-3)))) {
+                     have_overflow = TRUE;
+                     break;
+                 }
+-                *s++ = UZ_FNFILTER_REPLACECHAR;
+-                INCSTR(r);
+-            }
+-#else /* !HAVE_WORKING_ISPRINT */
+-        if (*r < 32) {
+-            /* ASCII control codes are escaped as "^{letter}". */
+-            if (se != NULL && (s > (space + (size-4)))) {
+-                have_overflow = TRUE;
+-                break;
+-            }
+-            *s++ = '^', *s++ = (uch)(64 + *r++);
+-#endif /* ?HAVE_WORKING_ISPRINT */
+-        } else {
+-#ifdef _MBCS
+-            unsigned i = CLEN(r);
+-            if (se != NULL && (s > (space + (size-i-2)))) {
+-                have_overflow = TRUE;
+-                break;
+-            }
+-            for (; i > 0; i--)
+                 *s++ = *r++;
+-#else
+-            if (se != NULL && (s > (space + (size-3)))) {
+-                have_overflow = TRUE;
+-                break;
+-            }
+-            *s++ = *r++;
+ #endif
+-         }
+-    }
+-    if (have_overflow) {
+-        strcpy((char *)se, "...");
+-    } else {
+-        *s = '\0';
++             }
++        }
++        if (have_overflow) {
++            strcpy((char *)se, "...");
++        } else {
++            *s = '\0';
++        }
+     }
+ #ifdef WINDLL
+@@ -2772,6 +2888,53 @@ char *fnfilter(raw, space, size)   /* convert name to safely printable form */
+ } /* end function fnfilter() */
++#if defined( UNICODE_SUPPORT) && defined( _MBCS)
++
++/****************************/
++/*  Function fnfilter[w]()  */  /* (Here instead of in list.c for SFX.) */
++/****************************/
++
++/* fnfilterw() - Convert wide name to safely printable form. */
++
++/* fnfilterw() - Convert wide-character name to safely printable form. */
++
++wchar_t *fnfilterw( src, dst, siz)
++    ZCONST wchar_t *src;        /* Pointer to source char (string). */
++    wchar_t *dst;               /* Pointer to destination char (string). */
++    extent siz;                 /* Not used (!). */
++{
++    wchar_t *dsx = dst;
++
++    /* Filter the wide chars. */
++    while (*src)
++    {
++        if (iswprint( *src))
++        {
++            /* Printable code.  Copy it. */
++            *dst++ = *src;
++        }
++        else
++        {
++            /* Unprintable code.  Substitute something printable for it. */
++            if (*src < 32)
++            {
++                /* Replace ASCII control code with "^{letter}". */
++                *dst++ = (wchar_t)'^';
++                *dst++ = (wchar_t)(64 + *src);
++            }
++            else
++            {
++                /* Replace other unprintable code with the placeholder. */
++                *dst++ = (wchar_t)UZ_FNFILTER_REPLACECHAR;
++            }
++        }
++        src++;
++    }
++    *dst = (wchar_t)0;  /* NUL-terminate the destination string. */
++    return dsx;
++} /* fnfilterw(). */
++
++#endif /* defined( UNICODE_SUPPORT) && defined( _MBCS) */
+ #ifdef SET_DIR_ATTRIB
+diff --git a/unzpriv.h b/unzpriv.h
+index 22d3923..e48a652 100644
+--- a/unzpriv.h
++++ b/unzpriv.h
+@@ -1212,6 +1212,7 @@
+ # ifdef UNICODE_WCHAR
+ #  if !(defined(_WIN32_WCE) || defined(POCKET_UNZIP))
+ #   include <wchar.h>
++#   include <wctype.h>
+ #  endif
+ # endif
+ # ifndef _MBCS  /* no need to include <locale.h> twice, see below */
+@@ -2410,6 +2411,12 @@ int    memflush                  OF((__GPRO__ ZCONST uch *rawbuf, ulg size));
+ char  *fnfilter                  OF((ZCONST char *raw, uch *space,
+                                      extent size));
++# if defined( UNICODE_SUPPORT) && defined( _MBCS)
++wchar_t *fnfilterw               OF((ZCONST wchar_t *src, wchar_t *dst,
++                                     extent siz));
++#endif
++
++
+ /*---------------------------------------------------------------------------
+     Decompression functions:
+   ---------------------------------------------------------------------------*/
+-- 
+2.4.3
+
diff --git a/unzip/patches/unzip-6.0-alt-iconv-utf8.patch b/unzip/patches/unzip-6.0-alt-iconv-utf8.patch
new file mode 100644 (file)
index 0000000..b9e3777
--- /dev/null
@@ -0,0 +1,398 @@
+From: Giovanni Scafora <giovanni.archlinux.org>
+Subject: unzip files encoded with non-latin, non-unicode file names
+Last-Update: 2015-02-11
+
+Updated 2015-02-11 by Marc Deslauriers <marc.deslauriers@canonical.com>
+to fix buffer overflow in charset_to_intern()
+
+Index: unzip-6.0/unix/unix.c
+===================================================================
+--- unzip-6.0.orig/unix/unix.c 2015-02-11 08:46:43.675324290 -0500
++++ unzip-6.0/unix/unix.c      2015-02-11 09:18:04.902081319 -0500
+@@ -30,6 +30,9 @@
+ #define UNZIP_INTERNAL
+ #include "unzip.h"
++#include <iconv.h>
++#include <langinfo.h>
++
+ #ifdef SCO_XENIX
+ #  define SYSNDIR
+ #else  /* SCO Unix, AIX, DNIX, TI SysV, Coherent 4.x, ... */
+@@ -1874,3 +1877,102 @@
+     }
+ }
+ #endif /* QLZIP */
++
++
++typedef struct {
++    char *local_charset;
++    char *archive_charset;
++} CHARSET_MAP;
++
++/* A mapping of local <-> archive charsets used by default to convert filenames
++ * of DOS/Windows Zip archives. Currently very basic. */
++static CHARSET_MAP dos_charset_map[] = {
++    { "ANSI_X3.4-1968", "CP850" },
++    { "ISO-8859-1", "CP850" },
++    { "CP1252", "CP850" },
++    { "UTF-8", "CP866" },
++    { "KOI8-R", "CP866" },
++    { "KOI8-U", "CP866" },
++    { "ISO-8859-5", "CP866" }
++};
++
++char OEM_CP[MAX_CP_NAME] = "";
++char ISO_CP[MAX_CP_NAME] = "";
++
++/* Try to guess the default value of OEM_CP based on the current locale.
++ * ISO_CP is left alone for now. */
++void init_conversion_charsets()
++{
++    const char *local_charset;
++    int i;
++
++    /* Make a guess only if OEM_CP not already set. */ 
++    if(*OEM_CP == '\0') {
++      local_charset = nl_langinfo(CODESET);
++      for(i = 0; i < sizeof(dos_charset_map)/sizeof(CHARSET_MAP); i++)
++              if(!strcasecmp(local_charset, dos_charset_map[i].local_charset)) {
++                      strncpy(OEM_CP, dos_charset_map[i].archive_charset,
++                                      sizeof(OEM_CP));
++                      break;
++              }
++    }
++}
++
++/* Convert a string from one encoding to the current locale using iconv().
++ * Be as non-intrusive as possible. If error is encountered during covertion
++ * just leave the string intact. */
++static void charset_to_intern(char *string, char *from_charset)
++{
++    iconv_t cd;
++    char *s,*d, *buf;
++    size_t slen, dlen, buflen;
++    const char *local_charset;
++
++    if(*from_charset == '\0')
++      return;
++
++    buf = NULL;
++    local_charset = nl_langinfo(CODESET);
++
++    if((cd = iconv_open(local_charset, from_charset)) == (iconv_t)-1)
++        return;
++
++    slen = strlen(string);
++    s = string;
++
++    /*  Make sure OUTBUFSIZ + 1 never ends up smaller than FILNAMSIZ
++     *  as this function also gets called with G.outbuf in fileio.c
++     */
++    buflen = FILNAMSIZ;
++    if (OUTBUFSIZ + 1 < FILNAMSIZ)
++    {
++        buflen = OUTBUFSIZ + 1;
++    }
++
++    d = buf = malloc(buflen);
++    if(!d)
++      goto cleanup;
++
++    bzero(buf,buflen);
++    dlen = buflen - 1;
++
++    if(iconv(cd, &s, &slen, &d, &dlen) == (size_t)-1)
++      goto cleanup;
++    strncpy(string, buf, buflen);
++
++    cleanup:
++    free(buf);
++    iconv_close(cd);
++}
++
++/* Convert a string from OEM_CP to the current locale charset. */
++inline void oem_intern(char *string)
++{
++    charset_to_intern(string, OEM_CP);
++}
++
++/* Convert a string from ISO_CP to the current locale charset. */
++inline void iso_intern(char *string)
++{
++    charset_to_intern(string, ISO_CP);
++}
+Index: unzip-6.0/unix/unxcfg.h
+===================================================================
+--- unzip-6.0.orig/unix/unxcfg.h       2015-02-11 08:46:43.675324290 -0500
++++ unzip-6.0/unix/unxcfg.h    2015-02-11 08:46:43.671324260 -0500
+@@ -228,4 +228,30 @@
+ /* wild_dir, dirname, wildname, matchname[], dirnamelen, have_dirname, */
+ /*    and notfirstcall are used by do_wild().                          */
++
++#define MAX_CP_NAME 25 
++   
++#ifdef SETLOCALE
++#  undef SETLOCALE
++#endif
++#define SETLOCALE(category, locale) setlocale(category, locale)
++#include <locale.h>
++   
++#ifdef _ISO_INTERN
++#  undef _ISO_INTERN
++#endif
++#define _ISO_INTERN(str1) iso_intern(str1)
++
++#ifdef _OEM_INTERN
++#  undef _OEM_INTERN
++#endif
++#ifndef IZ_OEM2ISO_ARRAY
++#  define IZ_OEM2ISO_ARRAY
++#endif
++#define _OEM_INTERN(str1) oem_intern(str1)
++
++void iso_intern(char *);
++void oem_intern(char *);
++void init_conversion_charsets(void);
++   
+ #endif /* !__unxcfg_h */
+Index: unzip-6.0/unzip.c
+===================================================================
+--- unzip-6.0.orig/unzip.c     2015-02-11 08:46:43.675324290 -0500
++++ unzip-6.0/unzip.c  2015-02-11 08:46:43.675324290 -0500
+@@ -327,11 +327,21 @@
+   -2  just filenames but allow -h/-t/-z  -l  long Unix \"ls -l\" format\n\
+                                          -v  verbose, multi-page format\n";
++#ifndef UNIX
+ static ZCONST char Far ZipInfoUsageLine3[] = "miscellaneous options:\n\
+   -h  print header line       -t  print totals for listed files or for all\n\
+   -z  print zipfile comment   -T  print file times in sortable decimal format\
+ \n  -C  be case-insensitive   %s\
+   -x  exclude filenames that follow from listing\n";
++#else /* UNIX */
++static ZCONST char Far ZipInfoUsageLine3[] = "miscellaneous options:\n\
++  -h  print header line       -t  print totals for listed files or for all\n\
++  -z  print zipfile comment  %c-T%c print file times in sortable decimal format\
++\n %c-C%c be case-insensitive   %s\
++  -x  exclude filenames that follow from listing\n\
++  -O CHARSET  specify a character encoding for DOS, Windows and OS/2 archives\n\
++  -I CHARSET  specify a character encoding for UNIX and other archives\n";
++#endif /* !UNIX */
+ #ifdef MORE
+    static ZCONST char Far ZipInfoUsageLine4[] =
+      "  -M  page output through built-in \"more\"\n";
+@@ -664,6 +674,17 @@
+   -U  use escapes for all non-ASCII Unicode  -UU ignore any Unicode fields\n\
+   -C  match filenames case-insensitively     -L  make (some) names \
+ lowercase\n %-42s  -V  retain VMS version numbers\n%s";
++#elif (defined UNIX)
++static ZCONST char Far UnzipUsageLine4[] = "\
++modifiers:\n\
++  -n  never overwrite existing files         -q  quiet mode (-qq => quieter)\n\
++  -o  overwrite files WITHOUT prompting      -a  auto-convert any text files\n\
++  -j  junk paths (do not make directories)   -aa treat ALL files as text\n\
++  -U  use escapes for all non-ASCII Unicode  -UU ignore any Unicode fields\n\
++  -C  match filenames case-insensitively     -L  make (some) names \
++lowercase\n %-42s  -V  retain VMS version numbers\n%s\
++  -O CHARSET  specify a character encoding for DOS, Windows and OS/2 archives\n\
++  -I CHARSET  specify a character encoding for UNIX and other archives\n\n";
+ #else /* !VMS */
+ static ZCONST char Far UnzipUsageLine4[] = "\
+ modifiers:\n\
+@@ -802,6 +823,10 @@
+ #endif /* UNICODE_SUPPORT */
++#ifdef UNIX
++    init_conversion_charsets();
++#endif
++
+ #if (defined(__IBMC__) && defined(__DEBUG_ALLOC__))
+     extern void DebugMalloc(void);
+@@ -1335,6 +1360,11 @@
+     argc = *pargc;
+     argv = *pargv;
++#ifdef UNIX
++    extern char OEM_CP[MAX_CP_NAME];
++    extern char ISO_CP[MAX_CP_NAME];
++#endif
++    
+     while (++argv, (--argc > 0 && *argv != NULL && **argv == '-')) {
+         s = *argv + 1;
+         while ((c = *s++) != 0) {    /* "!= 0":  prevent Turbo C warning */
+@@ -1516,6 +1546,35 @@
+                     }
+                     break;
+ #endif  /* MACOS */
++#ifdef UNIX
++                      case ('I'):
++                    if (negative) {
++                        Info(slide, 0x401, ((char *)slide,
++                          "error:  encodings can't be negated"));
++                        return(PK_PARAM);
++                              } else {
++                                      if(*s) { /* Handle the -Icharset case */
++                                              /* Assume that charsets can't start with a dash to spot arguments misuse */
++                                              if(*s == '-') { 
++                              Info(slide, 0x401, ((char *)slide,
++                                        "error:  a valid character encoding should follow the -I argument"));
++                              return(PK_PARAM); 
++                                              }
++                                              strncpy(ISO_CP, s, sizeof(ISO_CP));
++                                      } else { /* -I charset */
++                                              ++argv;
++                                              if(!(--argc > 0 && *argv != NULL && **argv != '-')) {
++                              Info(slide, 0x401, ((char *)slide,
++                                        "error:  a valid character encoding should follow the -I argument"));
++                              return(PK_PARAM); 
++                                              }
++                                              s = *argv;
++                                              strncpy(ISO_CP, s, sizeof(ISO_CP));
++                                      }
++                                      while(*(++s)); /* No params straight after charset name */
++                              }
++                              break;
++#endif /* ?UNIX */
+                 case ('j'):    /* junk pathnames/directory structure */
+                     if (negative)
+                         uO.jflag = FALSE, negative = 0;
+@@ -1591,6 +1650,35 @@
+                     } else
+                         ++uO.overwrite_all;
+                     break;
++#ifdef UNIX
++                      case ('O'):
++                    if (negative) {
++                        Info(slide, 0x401, ((char *)slide,
++                          "error:  encodings can't be negated"));
++                        return(PK_PARAM);
++                              } else {
++                                      if(*s) { /* Handle the -Ocharset case */
++                                              /* Assume that charsets can't start with a dash to spot arguments misuse */
++                                              if(*s == '-') { 
++                              Info(slide, 0x401, ((char *)slide,
++                                        "error:  a valid character encoding should follow the -I argument"));
++                              return(PK_PARAM); 
++                                              }
++                                              strncpy(OEM_CP, s, sizeof(OEM_CP));
++                                      } else { /* -O charset */
++                                              ++argv;
++                                              if(!(--argc > 0 && *argv != NULL && **argv != '-')) {
++                              Info(slide, 0x401, ((char *)slide,
++                                        "error:  a valid character encoding should follow the -O argument"));
++                              return(PK_PARAM); 
++                                              }
++                                              s = *argv;
++                                              strncpy(OEM_CP, s, sizeof(OEM_CP));
++                                      }
++                                      while(*(++s)); /* No params straight after charset name */
++                              }
++                              break;
++#endif /* ?UNIX */
+                 case ('p'):    /* pipes:  extract to stdout, no messages */
+                     if (negative) {
+                         uO.cflag = FALSE;
+Index: unzip-6.0/unzpriv.h
+===================================================================
+--- unzip-6.0.orig/unzpriv.h   2015-02-11 08:46:43.675324290 -0500
++++ unzip-6.0/unzpriv.h        2015-02-11 08:46:43.675324290 -0500
+@@ -3008,7 +3008,7 @@
+          !(((islochdr) || (isuxatt)) && \
+            ((hostver) == 25 || (hostver) == 26 || (hostver) == 40))) || \
+         (hostnum) == FS_HPFS_ || \
+-        ((hostnum) == FS_NTFS_ && (hostver) == 50)) { \
++        ((hostnum) == FS_NTFS_ /* && (hostver) == 50 */ )) { \
+         _OEM_INTERN((string)); \
+     } else { \
+         _ISO_INTERN((string)); \
+Index: unzip-6.0/zipinfo.c
+===================================================================
+--- unzip-6.0.orig/zipinfo.c   2015-02-11 08:46:43.675324290 -0500
++++ unzip-6.0/zipinfo.c        2015-02-11 08:46:43.675324290 -0500
+@@ -457,6 +457,10 @@
+     int    tflag_slm=TRUE, tflag_2v=FALSE;
+     int    explicit_h=FALSE, explicit_t=FALSE;
++#ifdef UNIX
++    extern char OEM_CP[MAX_CP_NAME];
++    extern char ISO_CP[MAX_CP_NAME];
++#endif
+ #ifdef MACOS
+     uO.lflag = LFLAG;         /* reset default on each call */
+@@ -501,6 +505,35 @@
+                             uO.lflag = 0;
+                     }
+                     break;
++#ifdef UNIX
++                      case ('I'):
++                    if (negative) {
++                        Info(slide, 0x401, ((char *)slide,
++                          "error:  encodings can't be negated"));
++                        return(PK_PARAM);
++                              } else {
++                                      if(*s) { /* Handle the -Icharset case */
++                                              /* Assume that charsets can't start with a dash to spot arguments misuse */
++                                              if(*s == '-') { 
++                              Info(slide, 0x401, ((char *)slide,
++                                        "error:  a valid character encoding should follow the -I argument"));
++                              return(PK_PARAM); 
++                                              }
++                                              strncpy(ISO_CP, s, sizeof(ISO_CP));
++                                      } else { /* -I charset */
++                                              ++argv;
++                                              if(!(--argc > 0 && *argv != NULL && **argv != '-')) {
++                              Info(slide, 0x401, ((char *)slide,
++                                        "error:  a valid character encoding should follow the -I argument"));
++                              return(PK_PARAM); 
++                                              }
++                                              s = *argv;
++                                              strncpy(ISO_CP, s, sizeof(ISO_CP));
++                                      }
++                                      while(*(++s)); /* No params straight after charset name */
++                              }
++                              break;
++#endif /* ?UNIX */
+                 case 'l':      /* longer form of "ls -l" type listing */
+                     if (negative)
+                         uO.lflag = -2, negative = 0;
+@@ -521,6 +554,35 @@
+                         G.M_flag = TRUE;
+                     break;
+ #endif
++#ifdef UNIX
++                      case ('O'):
++                    if (negative) {
++                        Info(slide, 0x401, ((char *)slide,
++                          "error:  encodings can't be negated"));
++                        return(PK_PARAM);
++                              } else {
++                                      if(*s) { /* Handle the -Ocharset case */
++                                              /* Assume that charsets can't start with a dash to spot arguments misuse */
++                                              if(*s == '-') { 
++                              Info(slide, 0x401, ((char *)slide,
++                                        "error:  a valid character encoding should follow the -I argument"));
++                              return(PK_PARAM); 
++                                              }
++                                              strncpy(OEM_CP, s, sizeof(OEM_CP));
++                                      } else { /* -O charset */
++                                              ++argv;
++                                              if(!(--argc > 0 && *argv != NULL && **argv != '-')) {
++                              Info(slide, 0x401, ((char *)slide,
++                                        "error:  a valid character encoding should follow the -O argument"));
++                              return(PK_PARAM); 
++                                              }
++                                              s = *argv;
++                                              strncpy(OEM_CP, s, sizeof(OEM_CP));
++                                      }
++                                      while(*(++s)); /* No params straight after charset name */
++                              }
++                              break;
++#endif /* ?UNIX */
+                 case 's':      /* default:  shorter "ls -l" type listing */
+                     if (negative)
+                         uO.lflag = -2, negative = 0;
index 9cf006b8c78dc09fc5b6aea95840d3ed1ae75a35..b99bb4e4426c4373dbc2848921c7f0d197f2ff9f 100644 (file)
@@ -19,7 +19,7 @@ diff -up unzip60/unix/configure.bzip2-configure unzip60/unix/configure
 +    $CC $CFLAGS -o conftest conftest.c -lbz2 > /dev/null 2>/dev/null
 +    if test $? -eq 0; then
 +      echo "-- OS supports bzip2 - linking in bzip2"
-+      D_USE_BZ2="-DBZIP2_SUPPORT"
++      D_USE_BZ2="-DUSE_BZIP2"
 +      L_BZ2="${BZLF} -lbz2"
 +    else
 +      echo "-- Either bzlib.h or libbz2.a not found - no bzip2"
@@ -27,3 +27,4 @@ diff -up unzip60/unix/configure.bzip2-configure unzip60/unix/configure
    fi
  fi
  
\ No newline at end of file
diff --git a/unzip/patches/unzip-6.0-caseinsensitive.patch b/unzip/patches/unzip-6.0-caseinsensitive.patch
new file mode 100644 (file)
index 0000000..3cb6845
--- /dev/null
@@ -0,0 +1,131 @@
+diff --git a/match.c b/match.c
+index 6cd656f..4e569f5 100644
+--- a/match.c
++++ b/match.c
+@@ -190,10 +190,10 @@ char *___tmp_ptr;
+ #endif
+-static int recmatch(p, s, cs)
++static int recmatch(p, s, ci)
+ ZCONST char *p;         /* sh pattern to match */
+ ZCONST char *s;         /* string to match it to */
+-int cs;                 /* flag: force case-sensitive matching */
++int ci;                 /* flag: force case-insensitive matching */
+ /* Recursively compare the sh pattern p with the string s and return 1 if
+    they match, and 0 or 2 if they don't or if there is a syntax error in the
+    pattern.  This routine recurses on itself no deeper than the number of
+@@ -214,7 +214,7 @@ int cs;                 /* flag: force case-sensitive matching */
+   if (CLEN(p) == 2) {
+     if (CLEN(s) == 2) {
+       return (*p == *s && *(p+1) == *(s+1)) ?
+-        recmatch(p + 2, s + 2, cs) : 0;
++        recmatch(p + 2, s + 2, ci) : 0;
+     } else {
+       return 0;
+     }
+@@ -230,9 +230,9 @@ int cs;                 /* flag: force case-sensitive matching */
+   /* '?' (or '%' or '#') matches any character (but not an empty string) */
+   if (c == WILDCHR_SINGLE) {
+     if (wild_stop_at_dir)
+-      return (*s && *s != DIRSEP_CHR) ? recmatch(p, s + CLEN(s), cs) : 0;
++      return (*s && *s != DIRSEP_CHR) ? recmatch(p, s + CLEN(s), ci) : 0;
+     else
+-      return *s ? recmatch(p, s + CLEN(s), cs) : 0;
++      return *s ? recmatch(p, s + CLEN(s), ci) : 0;
+   }
+   /* WILDCHR_MULTI ('*') matches any number of characters, including zero */
+@@ -253,14 +253,14 @@ int cs;                 /* flag: force case-sensitive matching */
+ # endif /* ?AMIGA */
+         /* Single WILDCHR_MULTI ('*'): this doesn't match slashes */
+         for (; *s && *s != DIRSEP_CHR; INCSTR(s))
+-          if ((c = recmatch(p, s, cs)) != 0)
++          if ((c = recmatch(p, s, ci)) != 0)
+             return c;
+         /* end of pattern: matched if at end of string, else continue */
+         if (*p == 0)
+           return (*s == 0);
+         /* continue to match if at DIRSEP_CHR in pattern, else give up */
+         return (*p == DIRSEP_CHR || (*p == '\\' && p[1] == DIRSEP_CHR))
+-               ? recmatch(p, s, cs) : 2;
++               ? recmatch(p, s, ci) : 2;
+       }
+       /* Two consecutive WILDCHR_MULTI ("**"): this matches DIRSEP_CHR ('/') */
+       p++;        /* move p past the second WILDCHR_MULTI */
+@@ -308,17 +308,17 @@ int cs;                 /* flag: force case-sensitive matching */
+          */
+         if (q != srest)
+           return 0;
+-        return ((cs ? strcmp(p, q) : namecmp(p, q)) == 0);
++        return ((!ci ? strcmp(p, q) : namecmp(p, q)) == 0);
+       }
+ #else /* !_MBCS */
+-        return ((cs ? strcmp(p, srest) : namecmp(p, srest)) == 0);
++        return ((!ci ? strcmp(p, srest) : namecmp(p, srest)) == 0);
+ #endif /* ?_MBCS */
+     }
+     else
+     {
+       /* pattern contains more wildcards, continue with recursion... */
+       for (; *s; INCSTR(s))
+-        if ((c = recmatch(p, s, cs)) != 0)
++        if ((c = recmatch(p, s, ci)) != 0)
+           return c;
+       return 2;           /* 2 means give up--shmatch will return false */
+     }
+@@ -353,17 +353,17 @@ int cs;                 /* flag: force case-sensitive matching */
+         c = *(p-1);
+       else
+       {
+-        uch cc = (cs ? (uch)*s : case_map((uch)*s));
++        uch cc = (!ci ? (uch)*s : to_up((uch)*s));
+         uch uc = (uch) c;
+         if (*(p+1) != '-')
+           for (uc = uc ? uc : (uch)*p; uc <= (uch)*p; uc++)
+             /* compare range */
+-            if ((cs ? uc : case_map(uc)) == cc)
+-              return r ? 0 : recmatch(q + CLEN(q), s + CLEN(s), cs);
++            if ((!ci ? uc : to_up(uc)) == cc)
++              return r ? 0 : recmatch(q + CLEN(q), s + CLEN(s), ci);
+         c = e = 0;                      /* clear range, escape flags */
+       }
+     }
+-    return r ? recmatch(q + CLEN(q), s + CLEN(s), cs) : 0;
++    return r ? recmatch(q + CLEN(q), s + CLEN(s), ci) : 0;
+                                         /* bracket match failed */
+   }
+ #endif /* !VMS */
+@@ -382,18 +382,18 @@ int cs;                 /* flag: force case-sensitive matching */
+   {
+     /* Match "...]" with "]".  Continue after "]" in both. */
+     if ((*(p+ 2* CLEN( p)) == ']') && (*s == ']'))
+-      return recmatch( (p+ 3* CLEN( p)), (s+ CLEN( s)), cs);
++      return recmatch( (p+ 3* CLEN( p)), (s+ CLEN( s)), ci);
+     /* Else, look for a reduced match in s, until "]" in or end of s. */
+     for (; *s && (*s != ']'); INCSTR(s))
+       if (*s == '.')
+         /* If reduced match, then continue after "..." in p, "." in s. */
+-        if ((c = recmatch( (p+ CLEN( p)), s, cs)) != 0)
++        if ((c = recmatch( (p+ CLEN( p)), s, ci)) != 0)
+           return (int)c;
+     /* Match "...]" with "]".  Continue after "]" in both. */
+     if ((*(p+ 2* CLEN( p)) == ']') && (*s == ']'))
+-      return recmatch( (p+ 3* CLEN( p)), (s+ CLEN( s)), cs);
++      return recmatch( (p+ 3* CLEN( p)), (s+ CLEN( s)), ci);
+     /* No reduced match.  Quit. */
+     return 2;
+@@ -402,8 +402,8 @@ int cs;                 /* flag: force case-sensitive matching */
+ #endif /* def VMS */
+   /* Just a character--compare it */
+-  return (cs ? c == *s : case_map((uch)c) == case_map((uch)*s)) ?
+-          recmatch(p, s + CLEN(s), cs) : 0;
++  return (!ci ? c == *s : to_up((uch)c) == to_up((uch)*s)) ?
++          recmatch(p, s + CLEN(s), ci) : 0;
+ }
similarity index 93%
rename from unzip/patches/unzip-6.0-nostrip.patch
rename to unzip/patches/unzip-6.0-configure.patch
index 71c263f69cc581a9661e2fa61e1db8205a16a20a..9eead4227c2ebaa982a26203b1b340e939afbb67 100644 (file)
@@ -6,7 +6,7 @@ diff -up unzip60/unix/configure.nostrip unzip60/unix/configure
  CFLAGS="${CFLAGS} -I. -DUNIX"
  LFLAGS1=""
 -LFLAGS2="-s"
-+LFLAGS2=""
++LFLAGS2="${LFLAGS2}"
  LN="ln -s"
  
  CFLAGS_OPT=''
diff --git a/unzip/patches/unzip-6.0-cve-2014-8139.patch b/unzip/patches/unzip-6.0-cve-2014-8139.patch
new file mode 100644 (file)
index 0000000..226b35a
--- /dev/null
@@ -0,0 +1,79 @@
+diff --git a/extract.c b/extract.c
+index 9ef80b3..c741b5f 100644
+--- a/extract.c
++++ b/extract.c
+@@ -1,5 +1,5 @@
+ /*
+-  Copyright (c) 1990-2009 Info-ZIP.  All rights reserved.
++  Copyright (c) 1990-2014 Info-ZIP.  All rights reserved.
+   See the accompanying file LICENSE, version 2009-Jan-02 or later
+   (the contents of which are also included in unzip.h) for terms of use.
+@@ -298,6 +298,8 @@ char ZCONST Far TruncNTSD[] =
+ #ifndef SFX
+    static ZCONST char Far InconsistEFlength[] = "bad extra-field entry:\n \
+      EF block length (%u bytes) exceeds remaining EF data (%u bytes)\n";
++   static ZCONST char Far TooSmallEBlength[] = "bad extra-field entry:\n \
++     EF block length (%u bytes) invalid (< %d)\n";
+    static ZCONST char Far InvalidComprDataEAs[] =
+      " invalid compressed data for EAs\n";
+ #  if (defined(WIN32) && defined(NTSD_EAS))
+@@ -2020,7 +2022,8 @@ static int TestExtraField(__G__ ef, ef_len)
+         ebID = makeword(ef);
+         ebLen = (unsigned)makeword(ef+EB_LEN);
+-        if (ebLen > (ef_len - EB_HEADSIZE)) {
++        if (ebLen > (ef_len - EB_HEADSIZE))
++        {
+            /* Discovered some extra field inconsistency! */
+             if (uO.qflag)
+                 Info(slide, 1, ((char *)slide, "%-22s ",
+@@ -2155,11 +2158,29 @@ static int TestExtraField(__G__ ef, ef_len)
+                 }
+                 break;
+             case EF_PKVMS:
+-                if (makelong(ef+EB_HEADSIZE) !=
+-                    crc32(CRCVAL_INITIAL, ef+(EB_HEADSIZE+4),
+-                          (extent)(ebLen-4)))
+-                    Info(slide, 1, ((char *)slide,
+-                      LoadFarString(BadCRC_EAs)));
++                /* 2015-01-30 SMS.  Added sufficient-bytes test/message
++                 * here.  (Removed defective ebLen test above.)
++                 *
++                 * If sufficient bytes (EB_PKVMS_MINLEN) are available,
++                 * then compare the stored CRC value with the calculated
++                 * CRC for the remainder of the data (and complain about
++                 * a mismatch).
++                 */
++                if (ebLen < EB_PKVMS_MINLEN)
++                {
++                    /* Insufficient bytes available. */
++                    Info( slide, 1,
++                     ((char *)slide, LoadFarString( TooSmallEBlength),
++                     ebLen, EB_PKVMS_MINLEN));
++                }
++                else if (makelong(ef+ EB_HEADSIZE) !=
++                 crc32(CRCVAL_INITIAL,
++                 (ef+ EB_HEADSIZE+ EB_PKVMS_MINLEN),
++                 (extent)(ebLen- EB_PKVMS_MINLEN)))
++                {
++                     Info(slide, 1, ((char *)slide,
++                       LoadFarString(BadCRC_EAs)));
++                }
+                 break;
+             case EF_PKW32:
+             case EF_PKUNIX:
+diff --git a/unzpriv.h b/unzpriv.h
+index 005cee0..5c83a6e 100644
+--- a/unzpriv.h
++++ b/unzpriv.h
+@@ -1806,6 +1806,8 @@
+ #define EB_NTSD_VERSION   4    /* offset of NTSD version byte */
+ #define EB_NTSD_MAX_VER   (0)  /* maximum version # we know how to handle */
++#define EB_PKVMS_MINLEN   4    /* minimum data length of PKVMS extra block */
++
+ #define EB_ASI_CRC32      0    /* offset of ASI Unix field's crc32 checksum */
+ #define EB_ASI_MODE       4    /* offset of ASI Unix permission mode field */
+
diff --git a/unzip/patches/unzip-6.0-cve-2014-8140.patch b/unzip/patches/unzip-6.0-cve-2014-8140.patch
new file mode 100644 (file)
index 0000000..b9eba92
--- /dev/null
@@ -0,0 +1,25 @@
+diff --git a/extract.c b/extract.c
+index c741b5f..e4a4c7b 100644
+--- a/extract.c
++++ b/extract.c
+@@ -2240,10 +2240,17 @@ static int test_compr_eb(__G__ eb, eb_size, compr_offset, test_uc_ebdata)
+     if (compr_offset < 4)                /* field is not compressed: */
+         return PK_OK;                    /* do nothing and signal OK */
++    /* Return no/bad-data error status if any problem is found:
++     *    1. eb_size is too small to hold the uncompressed size
++     *       (eb_ucsize).  (Else extract eb_ucsize.)
++     *    2. eb_ucsize is zero (invalid).  2014-12-04 SMS.
++     *    3. eb_ucsize is positive, but eb_size is too small to hold
++     *       the compressed data header.
++     */
+     if ((eb_size < (EB_UCSIZE_P + 4)) ||
+-        ((eb_ucsize = makelong(eb+(EB_HEADSIZE+EB_UCSIZE_P))) > 0L &&
+-         eb_size <= (compr_offset + EB_CMPRHEADLEN)))
+-        return IZ_EF_TRUNC;               /* no compressed data! */
++     ((eb_ucsize = makelong( eb+ (EB_HEADSIZE+ EB_UCSIZE_P))) == 0L) ||
++     ((eb_ucsize > 0L) && (eb_size <= (compr_offset + EB_CMPRHEADLEN))))
++        return IZ_EF_TRUNC;             /* no/bad compressed data! */
+     method = makeword(eb + (EB_HEADSIZE + compr_offset));
+     if ((method == STORED) && (eb_size != compr_offset + EB_CMPRHEADLEN + eb_ucsize))
diff --git a/unzip/patches/unzip-6.0-cve-2014-8141.patch b/unzip/patches/unzip-6.0-cve-2014-8141.patch
new file mode 100644 (file)
index 0000000..584c576
--- /dev/null
@@ -0,0 +1,138 @@
+diff --git a/fileio.c b/fileio.c
+index 03fc4be..2a61a30 100644
+--- a/fileio.c
++++ b/fileio.c
+@@ -176,6 +176,8 @@ static ZCONST char Far FilenameTooLongTrunc[] =
+ #endif
+ static ZCONST char Far ExtraFieldTooLong[] =
+   "warning:  extra field too long (%d).  Ignoring...\n";
++static ZCONST char Far ExtraFieldCorrupt[] =
++  "warning:  extra field (type: 0x%04x) corrupt.  Continuing...\n";
+ #ifdef WINDLL
+    static ZCONST char Far DiskFullQuery[] =
+@@ -2300,7 +2302,13 @@ int do_string(__G__ length, option)   /* return PK-type error code */
+               length = length2;
+             }
+             /* Looks like here is where extra fields are read */
+-            getZip64Data(__G__ G.extra_field, length);
++            if (getZip64Data(__G__ G.extra_field, length) != PK_COOL)
++            {
++                Info(slide, 0x401, ((char *)slide,
++                 LoadFarString( ExtraFieldCorrupt), EF_PKSZ64));
++                error = PK_WARN;
++            }
++
+ #ifdef UNICODE_SUPPORT
+             G.unipath_filename = NULL;
+             if (G.UzO.U_flag < 2) {
+diff --git a/process.c b/process.c
+index be6e006..0d57ab4 100644
+--- a/process.c
++++ b/process.c
+@@ -1,5 +1,5 @@
+ /*
+-  Copyright (c) 1990-2009 Info-ZIP.  All rights reserved.
++  Copyright (c) 1990-2014 Info-ZIP.  All rights reserved.
+   See the accompanying file LICENSE, version 2009-Jan-02 or later
+   (the contents of which are also included in unzip.h) for terms of use.
+@@ -1894,48 +1894,83 @@ int getZip64Data(__G__ ef_buf, ef_len)
+     and a 4-byte version of disk start number.
+     Sets both local header and central header fields.  Not terribly clever,
+     but it means that this procedure is only called in one place.
++
++    2014-12-05 SMS.
++    Added checks to ensure that enough data are available before calling
++    makeint64() or makelong().  Replaced various sizeof() values with
++    simple ("4" or "8") constants.  (The Zip64 structures do not depend
++    on our variable sizes.)  Error handling is crude, but we should now
++    stay within the buffer.
+   ---------------------------------------------------------------------------*/
++#define Z64FLGS 0xffff
++#define Z64FLGL 0xffffffff
++
+     if (ef_len == 0 || ef_buf == NULL)
+         return PK_COOL;
+     Trace((stderr,"\ngetZip64Data: scanning extra field of length %u\n",
+       ef_len));
+-    while (ef_len >= EB_HEADSIZE) {
++    while (ef_len >= EB_HEADSIZE)
++    {
+         eb_id = makeword(EB_ID + ef_buf);
+         eb_len = makeword(EB_LEN + ef_buf);
+-        if (eb_len > (ef_len - EB_HEADSIZE)) {
+-            /* discovered some extra field inconsistency! */
++        if (eb_len > (ef_len - EB_HEADSIZE))
++        {
++            /* Extra block length exceeds remaining extra field length. */
+             Trace((stderr,
+               "getZip64Data: block length %u > rest ef_size %u\n", eb_len,
+               ef_len - EB_HEADSIZE));
+             break;
+         }
+-        if (eb_id == EF_PKSZ64) {
++        if (eb_id == EF_PKSZ64)
++        {
+           int offset = EB_HEADSIZE;
+-          if (G.crec.ucsize == 0xffffffff || G.lrec.ucsize == 0xffffffff){
+-            G.lrec.ucsize = G.crec.ucsize = makeint64(offset + ef_buf);
+-            offset += sizeof(G.crec.ucsize);
++          if ((G.crec.ucsize == Z64FLGL) || (G.lrec.ucsize == Z64FLGL))
++          {
++            if (offset+ 8 > ef_len)
++              return PK_ERR;
++
++            G.crec.ucsize = G.lrec.ucsize = makeint64(offset + ef_buf);
++            offset += 8;
+           }
+-          if (G.crec.csize == 0xffffffff || G.lrec.csize == 0xffffffff){
+-            G.csize = G.lrec.csize = G.crec.csize = makeint64(offset + ef_buf);
+-            offset += sizeof(G.crec.csize);
++
++          if ((G.crec.csize == Z64FLGL) || (G.lrec.csize == Z64FLGL))
++          {
++            if (offset+ 8 > ef_len)
++              return PK_ERR;
++
++            G.csize = G.crec.csize = G.lrec.csize = makeint64(offset + ef_buf);
++            offset += 8;
+           }
+-          if (G.crec.relative_offset_local_header == 0xffffffff){
++
++          if (G.crec.relative_offset_local_header == Z64FLGL)
++          {
++            if (offset+ 8 > ef_len)
++              return PK_ERR;
++
+             G.crec.relative_offset_local_header = makeint64(offset + ef_buf);
+-            offset += sizeof(G.crec.relative_offset_local_header);
++            offset += 8;
+           }
+-          if (G.crec.disk_number_start == 0xffff){
++
++          if (G.crec.disk_number_start == Z64FLGS)
++          {
++            if (offset+ 4 > ef_len)
++              return PK_ERR;
++
+             G.crec.disk_number_start = (zuvl_t)makelong(offset + ef_buf);
+-            offset += sizeof(G.crec.disk_number_start);
++            offset += 4;
+           }
++#if 0
++          break;                /* Expect only one EF_PKSZ64 block. */
++#endif /* 0 */
+         }
+-        /* Skip this extra field block */
++        /* Skip this extra field block. */
+         ef_buf += (eb_len + EB_HEADSIZE);
+         ef_len -= (eb_len + EB_HEADSIZE);
+     }
diff --git a/unzip/patches/unzip-6.0-cve-2018-1000035-heap-based-overflow.patch b/unzip/patches/unzip-6.0-cve-2018-1000035-heap-based-overflow.patch
new file mode 100644 (file)
index 0000000..8ca7138
--- /dev/null
@@ -0,0 +1,34 @@
+--- a/fileio.c 2014-12-05 05:06:05 -0600
++++ b/fileio.c 2017-11-14 01:06:28 -0600
+@@ -1,5 +1,5 @@
+ /*
+-  Copyright (c) 1990-2009 Info-ZIP.  All rights reserved.
++  Copyright (c) 1990-2017 Info-ZIP.  All rights reserved.
+   See the accompanying file LICENSE, version 2009-Jan-02 or later
+   (the contents of which are also included in unzip.h) for terms of use.
+@@ -1582,6 +1582,8 @@
+     int r = IZ_PW_ENTERED;
+     char *m;
+     char *prompt;
++    char *ep;
++    char *zp;
+ #ifndef REENTRANT
+     /* tell picky compilers to shut up about "unused variable" warnings */
+@@ -1590,9 +1592,12 @@
+     if (*rcnt == 0) {           /* First call for current entry */
+         *rcnt = 2;
+-        if ((prompt = (char *)malloc(2*FILNAMSIZ + 15)) != (char *)NULL) {
+-            sprintf(prompt, LoadFarString(PasswPrompt),
+-                    FnFilter1(zfn), FnFilter2(efn));
++        zp = FnFilter1( zfn);
++        ep = FnFilter2( efn);
++        prompt = (char *)malloc(        /* Slightly too long (2* "%s"). */
++         sizeof( PasswPrompt)+ strlen( zp)+ strlen( ep));
++        if (prompt != (char *)NULL) {
++            sprintf(prompt, LoadFarString(PasswPrompt), zp, ep);
+             m = prompt;
+         } else
+             m = (char *)LoadFarString(PasswPrompt2);
diff --git a/unzip/patches/unzip-6.0-cve-2018-18384.patch b/unzip/patches/unzip-6.0-cve-2018-18384.patch
new file mode 100644 (file)
index 0000000..54d4b8c
--- /dev/null
@@ -0,0 +1,35 @@
+--- unzip60/list.c     
++++ unzip60/list.c     
+@@ -97,7 +97,7 @@ int list_files(__G)    /* return PK-type
+ {
+     int do_this_file=FALSE, cfactor, error, error_in_archive=PK_COOL;
+ #ifndef WINDLL
+-    char sgn, cfactorstr[13];
++    char sgn, cfactorstr[1+10+1+1];   /* <sgn><int>%NUL */
+     int longhdr=(uO.vflag>1);
+ #endif
+     int date_format;
+@@ -389,9 +389,9 @@ int list_files(__G)    /* return PK-type
+             }
+ #else /* !WINDLL */
+             if (cfactor == 100)
+-                sprintf(cfactorstr, LoadFarString(CompFactor100));
++                snprintf(cfactorstr, sizeof(cfactorstr), LoadFarString(CompFactor100));
+             else
+-                sprintf(cfactorstr, LoadFarString(CompFactorStr), sgn, cfactor);
++                snprintf(cfactorstr, sizeof(cfactorstr), LoadFarString(CompFactorStr), sgn, cfactor);
+             if (longhdr)
+                 Info(slide, 0, ((char *)slide, LoadFarString(LongHdrStats),
+                   FmZofft(G.crec.ucsize, "8", "u"), methbuf,
+@@ -471,9 +471,9 @@ int list_files(__G)    /* return PK-type
+ #else /* !WINDLL */
+         if (cfactor == 100)
+-            sprintf(cfactorstr, LoadFarString(CompFactor100));
++            snprintf(cfactorstr, sizeof(cfactorstr), LoadFarString(CompFactor100));
+         else
+-            sprintf(cfactorstr, LoadFarString(CompFactorStr), sgn, cfactor);
++            snprintf(cfactorstr, sizeof(cfactorstr), LoadFarString(CompFactorStr), sgn, cfactor);
+         if (longhdr) {
+             Info(slide, 0, ((char *)slide, LoadFarString(LongFileTrailer),
+               FmZofft(tot_ucsize, "8", "u"), FmZofft(tot_csize, "8", "u"),
diff --git a/unzip/patches/unzip-6.0-fix-recmatch.patch b/unzip/patches/unzip-6.0-fix-recmatch.patch
new file mode 100644 (file)
index 0000000..2a8583c
--- /dev/null
@@ -0,0 +1,477 @@
+diff -up unzip60/match.c.recmatch unzip60/match.c
+--- unzip60/match.c.recmatch   2005-08-14 13:00:36.000000000 -0400
++++ unzip60/match.c    2013-05-28 10:29:57.949077543 -0400
+@@ -27,16 +27,14 @@
+   ---------------------------------------------------------------------------
+-  Copyright on recmatch() from Zip's util.c (although recmatch() was almost
+-  certainly written by Mark Adler...ask me how I can tell :-) ):
++  Copyright on recmatch() from Zip's util.c
++       Copyright (c) 1990-2005 Info-ZIP.  All rights reserved.
+-     Copyright (C) 1990-1992 Mark Adler, Richard B. Wales, Jean-loup Gailly,
+-     Kai Uwe Rommel and Igor Mandrichenko.
++       See the accompanying file LICENSE, version 2004-May-22 or later
++       for terms of use.
++       If, for some reason, both of these files are missing, the Info-ZIP license
++       also may be found at:  ftp://ftp.info-zip.org/pub/infozip/license.html  
+-     Permission is granted to any individual or institution to use, copy,
+-     or redistribute this software so long as all of the original files are
+-     included unmodified, that it is not sold for profit, and that this copy-
+-     right notice is retained.
+   ---------------------------------------------------------------------------
+@@ -53,7 +51,7 @@
+   A set is composed of characters or ranges; a range looks like ``character
+   hyphen character'' (as in 0-9 or A-Z).  [0-9a-zA-Z_] is the minimal set of
+-  characters allowed in the [..] pattern construct.  Other characters are
++  characters ALlowed in the [..] pattern construct.  Other characters are
+   allowed (i.e., 8-bit characters) if your system will support them.
+   To suppress the special syntactic significance of any of ``[]*?!^-\'', in-
+@@ -101,8 +99,32 @@
+ #  define WILDCHAR   '?'
+ #  define BEG_RANGE  '['
+ #  define END_RANGE  ']'
++#  define WILDCHR_SINGLE '?'
++#  define DIRSEP_CHR '/'
++#  define WILDCHR_MULTI '*'
+ #endif
++#ifdef WILD_STOP_AT_DIR
++   int wild_stop_at_dir = 1; /* default wildcards do not include / in matches */
++#else
++   int wild_stop_at_dir = 0; /* default wildcards do include / in matches */
++#endif
++
++
++
++/*
++ * case mapping functions. case_map is used to ignore case in comparisons,
++ * to_up is used to force upper case even on Unix (for dosify option).
++ */
++#ifdef USE_CASE_MAP
++#  define case_map(c) upper[(c) & 0xff]
++#  define to_up(c)    upper[(c) & 0xff]
++#else
++#  define case_map(c) (c)
++#  define to_up(c)    ((c) >= 'a' && (c) <= 'z' ? (c)-'a'+'A' : (c))
++#endif /* USE_CASE_MAP */
++
++
+ #if 0                /* GRR:  add this to unzip.h someday... */
+ #if !(defined(MSDOS) && defined(DOSWILD))
+ #ifdef WILD_STOP_AT_DIR
+@@ -114,8 +136,8 @@ int recmatch OF((ZCONST uch *pattern, ZC
+                  int ignore_case __WDLPRO));
+ #endif
+ #endif /* 0 */
+-static int recmatch OF((ZCONST uch *pattern, ZCONST uch *string,
+-                        int ignore_case __WDLPRO));
++static int recmatch OF((ZCONST char *, ZCONST char *, 
++                        int));
+ static char *isshexp OF((ZCONST char *p));
+ static int namecmp OF((ZCONST char *s1, ZCONST char *s2));
+@@ -154,192 +176,240 @@ int match(string, pattern, ignore_case _
+             }
+             dospattern[j-1] = '\0';                    /* nuke the end "." */
+         }
+-        j = recmatch((uch *)dospattern, (uch *)string, ignore_case __WDL);
++        j = recmatch(dospattern, string, ignore_case);
+         free(dospattern);
+         return j == 1;
+     } else
+ #endif /* MSDOS && DOSWILD */
+-    return recmatch((uch *)pattern, (uch *)string, ignore_case __WDL) == 1;
++    return recmatch(pattern, string, ignore_case) == 1;
+ }
++#ifdef _MBCS
++
++char *___tmp_ptr;
++#endif
+-static int recmatch(p, s, ic __WDL)
+-    ZCONST uch *p;        /* sh pattern to match */
+-    ZCONST uch *s;        /* string to which to match it */
+-    int ic;               /* true for case insensitivity */
+-    __WDLDEF              /* directory sepchar for WildStopAtDir mode, or 0 */
++static int recmatch(p, s, cs)
++ZCONST char *p;         /* sh pattern to match */
++ZCONST char *s;         /* string to match it to */
++int cs;                 /* flag: force case-sensitive matching */
+ /* Recursively compare the sh pattern p with the string s and return 1 if
+- * they match, and 0 or 2 if they don't or if there is a syntax error in the
+- * pattern.  This routine recurses on itself no more deeply than the number
+- * of characters in the pattern. */
++   they match, and 0 or 2 if they don't or if there is a syntax error in the
++   pattern.  This routine recurses on itself no deeper than the number of
++   characters in the pattern. */
+ {
+-    unsigned int c;       /* pattern char or start of range in [-] loop */
++  int c;                /* pattern char or start of range in [-] loop */
++  /* Get first character, the pattern for new recmatch calls follows */
++ /* borrowed from Zip's global.c */
++ int no_wild = 0; 
++ int allow_regex=1;
++  /* This fix provided by akt@m5.dion.ne.jp for Japanese.
++     See 21 July 2006 mail.
++     It only applies when p is pointing to a doublebyte character and
++     things like / and wildcards are not doublebyte.  This probably
++     should not be needed. */
+-    /* Get first character, the pattern for new recmatch calls follows */
+-    c = *p; INCSTR(p);
++#ifdef _MBCS
++  if (CLEN(p) == 2) {
++    if (CLEN(s) == 2) {
++      return (*p == *s && *(p+1) == *(s+1)) ?
++        recmatch(p + 2, s + 2, cs) : 0;
++    } else {
++      return 0;
++    }
++  }
++#endif /* ?_MBCS */
+-    /* If that was the end of the pattern, match if string empty too */
+-    if (c == 0)
+-        return *s == 0;
++  c = *POSTINCSTR(p);
+-    /* '?' (or '%') matches any character (but not an empty string). */
+-    if (c == WILDCHAR)
+-#ifdef WILD_STOP_AT_DIR
+-        /* If uO.W_flag is non-zero, it won't match '/' */
+-        return (*s && (!sepc || *s != (uch)sepc))
+-               ? recmatch(p, s + CLEN(s), ic, sepc) : 0;
+-#else
+-        return *s ? recmatch(p, s + CLEN(s), ic) : 0;
+-#endif
++  /* If that was the end of the pattern, match if string empty too */
++  if (c == 0)
++    return *s == 0;
++
++  /* '?' (or '%' or '#') matches any character (but not an empty string) */
++  if (c == WILDCHR_SINGLE) {
++    if (wild_stop_at_dir)
++      return (*s && *s != DIRSEP_CHR) ? recmatch(p, s + CLEN(s), cs) : 0;
++    else
++      return *s ? recmatch(p, s + CLEN(s), cs) : 0;
++  }
+-    /* '*' matches any number of characters, including zero */
++  /* WILDCHR_MULTI ('*') matches any number of characters, including zero */
+ #ifdef AMIGA
+-    if (c == '#' && *p == '?')     /* "#?" is Amiga-ese for "*" */
+-        c = '*', p++;
++  if (!no_wild && c == '#' && *p == '?')            /* "#?" is Amiga-ese for "*" */
++    c = WILDCHR_MULTI, p++;
+ #endif /* AMIGA */
+-    if (c == '*') {
+-#ifdef WILD_STOP_AT_DIR
+-        if (sepc) {
+-          /* check for single "*" or double "**" */
+-#  ifdef AMIGA
+-          if ((c = p[0]) == '#' && p[1] == '?') /* "#?" is Amiga-ese for "*" */
+-            c = '*', p++;
+-          if (c != '*') {
+-#  else /* !AMIGA */
+-          if (*p != '*') {
+-#  endif /* ?AMIGA */
+-            /* single "*": this doesn't match the dirsep character */
+-            for (; *s && *s != (uch)sepc; INCSTR(s))
+-                if ((c = recmatch(p, s, ic, sepc)) != 0)
+-                    return (int)c;
+-            /* end of pattern: matched if at end of string, else continue */
+-            if (*p == '\0')
+-                return (*s == 0);
+-            /* continue to match if at sepc in pattern, else give up */
+-            return (*p == (uch)sepc || (*p == '\\' && p[1] == (uch)sepc))
+-                   ? recmatch(p, s, ic, sepc) : 2;
+-          }
+-          /* "**": this matches slashes */
+-          ++p;        /* move p behind the second '*' */
+-          /* and continue with the non-W_flag code variant */
+-        }
+-#endif /* WILD_STOP_AT_DIR */
++  if (!no_wild && c == WILDCHR_MULTI)
++  {
++    if (wild_stop_at_dir) {
++      /* Check for an immediately following WILDCHR_MULTI */
++# ifdef AMIGA
++      if ((c = p[0]) == '#' && p[1] == '?') /* "#?" is Amiga-ese for "*" */
++        c = WILDCHR_MULTI, p++;
++      if (c != WILDCHR_MULTI) {
++# else /* !AMIGA */
++      if (*p != WILDCHR_MULTI) {
++# endif /* ?AMIGA */
++        /* Single WILDCHR_MULTI ('*'): this doesn't match slashes */
++        for (; *s && *s != DIRSEP_CHR; INCSTR(s))
++          if ((c = recmatch(p, s, cs)) != 0)
++            return c;
++        /* end of pattern: matched if at end of string, else continue */
+         if (*p == 0)
+-            return 1;
+-        if (isshexp((ZCONST char *)p) == NULL) {
+-            /* Optimization for rest of pattern being a literal string:
+-             * If there are no other shell expression chars in the rest
+-             * of the pattern behind the multi-char wildcard, then just
+-             * compare the literal string tail.
+-             */
+-            ZCONST uch *srest;
+-
+-            srest = s + (strlen((ZCONST char *)s) - strlen((ZCONST char *)p));
+-            if (srest - s < 0)
+-                /* remaining literal string from pattern is longer than rest
+-                 * of test string, there can't be a match
+-                 */
+-                return 0;
+-            else
+-              /* compare the remaining literal pattern string with the last
+-               * bytes of the test string to check for a match
+-               */
++          return (*s == 0);
++        /* continue to match if at DIRSEP_CHR in pattern, else give up */
++        return (*p == DIRSEP_CHR || (*p == '\\' && p[1] == DIRSEP_CHR))
++               ? recmatch(p, s, cs) : 2;
++      }
++      /* Two consecutive WILDCHR_MULTI ("**"): this matches DIRSEP_CHR ('/') */
++      p++;        /* move p past the second WILDCHR_MULTI */
++      /* continue with the normal non-WILD_STOP_AT_DIR code */
++    } /* wild_stop_at_dir */
++
++    /* Not wild_stop_at_dir */
++    if (*p == 0)
++      return 1;
++    if (!isshexp((char *)p))
++    {
++      /* optimization for rest of pattern being a literal string */
++
++      /* optimization to handle patterns like *.txt */
++      /* if the first char in the pattern is '*' and there */
++      /* are no other shell expression chars, i.e. a literal string */
++      /* then just compare the literal string at the end */
++
++      ZCONST char *srest;
++
++      srest = s + (strlen(s) - strlen(p));
++      if (srest - s < 0)
++        /* remaining literal string from pattern is longer than rest of
++           test string, there can't be a match
++         */
++        return 0;
++      else
++        /* compare the remaining literal pattern string with the last bytes
++           of the test string to check for a match */
+ #ifdef _MBCS
+-            {
+-                ZCONST uch *q = s;
++      {
++        ZCONST char *q = s;
+-                /* MBCS-aware code must not scan backwards into a string from
+-                 * the end.
+-                 * So, we have to move forward by character from our well-known
+-                 * character position s in the test string until we have
+-                 * advanced to the srest position.
+-                 */
+-                while (q < srest)
+-                  INCSTR(q);
+-                /* In case the byte *srest is a trailing byte of a multibyte
+-                 * character in the test string s, we have actually advanced
+-                 * past the position (srest).
+-                 * For this case, the match has failed!
+-                 */
+-                if (q != srest)
+-                    return 0;
+-                return ((ic
+-                         ? namecmp((ZCONST char *)p, (ZCONST char *)q)
+-                         : strcmp((ZCONST char *)p, (ZCONST char *)q)
+-                        ) == 0);
+-            }
++        /* MBCS-aware code must not scan backwards into a string from
++         * the end.
++         * So, we have to move forward by character from our well-known
++         * character position s in the test string until we have advanced
++         * to the srest position.
++         */
++        while (q < srest)
++          INCSTR(q);
++        /* In case the byte *srest is a trailing byte of a multibyte
++         * character, we have actually advanced past the position (srest).
++         * For this case, the match has failed!
++         */
++        if (q != srest)
++          return 0;
++        return ((cs ? strcmp(p, q) : namecmp(p, q)) == 0);
++      }
+ #else /* !_MBCS */
+-                return ((ic
+-                         ? namecmp((ZCONST char *)p, (ZCONST char *)srest)
+-                         : strcmp((ZCONST char *)p, (ZCONST char *)srest)
+-                        ) == 0);
++        return ((cs ? strcmp(p, srest) : namecmp(p, srest)) == 0);
+ #endif /* ?_MBCS */
+-        } else {
+-            /* pattern contains more wildcards, continue with recursion... */
+-            for (; *s; INCSTR(s))
+-                if ((c = recmatch(p, s, ic __WDL)) != 0)
+-                    return (int)c;
+-            return 2;  /* 2 means give up--match will return false */
+-        }
+     }
+-
+-    /* Parse and process the list of characters and ranges in brackets */
+-    if (c == BEG_RANGE) {
+-        int e;          /* flag true if next char to be taken literally */
+-        ZCONST uch *q;  /* pointer to end of [-] group */
+-        int r;          /* flag true to match anything but the range */
+-
+-        if (*s == 0)                            /* need a character to match */
+-            return 0;
+-        p += (r = (*p == '!' || *p == '^'));    /* see if reverse */
+-        for (q = p, e = 0; *q; INCSTR(q))       /* find closing bracket */
+-            if (e)
+-                e = 0;
+-            else
+-                if (*q == '\\')      /* GRR:  change to ^ for MS-DOS, OS/2? */
+-                    e = 1;
+-                else if (*q == END_RANGE)
+-                    break;
+-        if (*q != END_RANGE)         /* nothing matches if bad syntax */
+-            return 0;
+-        for (c = 0, e = (*p == '-'); p < q; INCSTR(p)) {
+-            /* go through the list */
+-            if (!e && *p == '\\')               /* set escape flag if \ */
+-                e = 1;
+-            else if (!e && *p == '-')           /* set start of range if - */
+-                c = *(p-1);
+-            else {
+-                unsigned int cc = Case(*s);
+-
+-                if (*(p+1) != '-')
+-                    for (c = c ? c : *p; c <= *p; c++)  /* compare range */
+-                        if ((unsigned)Case(c) == cc) /* typecast for MSC bug */
+-                            return r ? 0 : recmatch(q + 1, s + 1, ic __WDL);
+-                c = e = 0;   /* clear range, escape flags */
+-            }
+-        }
+-        return r ? recmatch(q + CLEN(q), s + CLEN(s), ic __WDL) : 0;
+-                                        /* bracket match failed */
++    else
++    {
++      /* pattern contains more wildcards, continue with recursion... */
++      for (; *s; INCSTR(s))
++        if ((c = recmatch(p, s, cs)) != 0)
++          return c;
++      return 2;           /* 2 means give up--shmatch will return false */
+     }
++  }
+-    /* if escape ('\\'), just compare next character */
+-    if (c == '\\' && (c = *p++) == 0)     /* if \ at end, then syntax error */
+-        return 0;
++#ifndef VMS             /* No bracket matching in VMS */
++  /* Parse and process the list of characters and ranges in brackets */
++  if (!no_wild && allow_regex && c == '[')
++  {
++    int e;              /* flag true if next char to be taken literally */
++    ZCONST char *q;     /* pointer to end of [-] group */
++    int r;              /* flag true to match anything but the range */
++
++    if (*s == 0)                        /* need a character to match */
++      return 0;
++    p += (r = (*p == '!' || *p == '^')); /* see if reverse */
++    for (q = p, e = 0; *q; q++)         /* find closing bracket */
++      if (e)
++        e = 0;
++      else
++        if (*q == '\\')
++          e = 1;
++        else if (*q == ']')
++          break;
++    if (*q != ']')                      /* nothing matches if bad syntax */
++      return 0;
++    for (c = 0, e = *p == '-'; p < q; p++)      /* go through the list */
++    {
++      if (e == 0 && *p == '\\')         /* set escape flag if \ */
++        e = 1;
++      else if (e == 0 && *p == '-')     /* set start of range if - */
++        c = *(p-1);
++      else
++      {
++        uch cc = (cs ? (uch)*s : case_map((uch)*s));
++        uch uc = (uch) c;
++        if (*(p+1) != '-')
++          for (uc = uc ? uc : (uch)*p; uc <= (uch)*p; uc++)
++            /* compare range */
++            if ((cs ? uc : case_map(uc)) == cc)
++              return r ? 0 : recmatch(q + CLEN(q), s + CLEN(s), cs);
++        c = e = 0;                      /* clear range, escape flags */
++      }
++    }
++    return r ? recmatch(q + CLEN(q), s + CLEN(s), cs) : 0;
++                                        /* bracket match failed */
++  }
++#endif /* !VMS */
+-    /* just a character--compare it */
+-#ifdef QDOS
+-    return QMatch(Case((uch)c), Case(*s)) ?
+-           recmatch(p, s + CLEN(s), ic __WDL) : 0;
+-#else
+-    return Case((uch)c) == Case(*s) ?
+-           recmatch(p, s + CLEN(s), ic __WDL) : 0;
+-#endif
++  /* If escape ('\'), just compare next character */
++  if (!no_wild && c == '\\')
++    if ((c = *p++) == '\0')             /* if \ at end, then syntax error */
++      return 0;
++
++#ifdef VMS
++  /* 2005-11-06 SMS.
++     Handle "..." wildcard in p with "." or "]" in s.
++  */
++  if ((c == '.') && (*p == '.') && (*(p+ CLEN( p)) == '.') &&
++   ((*s == '.') || (*s == ']')))
++  {
++    /* Match "...]" with "]".  Continue after "]" in both. */
++    if ((*(p+ 2* CLEN( p)) == ']') && (*s == ']'))
++      return recmatch( (p+ 3* CLEN( p)), (s+ CLEN( s)), cs);
++
++    /* Else, look for a reduced match in s, until "]" in or end of s. */
++    for (; *s && (*s != ']'); INCSTR(s))
++      if (*s == '.')
++        /* If reduced match, then continue after "..." in p, "." in s. */
++        if ((c = recmatch( (p+ CLEN( p)), s, cs)) != 0)
++          return (int)c;
++
++    /* Match "...]" with "]".  Continue after "]" in both. */
++    if ((*(p+ 2* CLEN( p)) == ']') && (*s == ']'))
++      return recmatch( (p+ 3* CLEN( p)), (s+ CLEN( s)), cs);
++
++    /* No reduced match.  Quit. */
++    return 2;
++  }
++
++#endif /* def VMS */
++
++  /* Just a character--compare it */
++  return (cs ? c == *s : case_map((uch)c) == case_map((uch)*s)) ?
++          recmatch(p, s + CLEN(s), cs) : 0;
++}
+-} /* end function recmatch() */
++/*************************************************************************************************/
+ static char *isshexp(p)
+ ZCONST char *p;
+ /* If p is a sh expression, a pointer to the first special character is
diff --git a/unzip/patches/unzip-6.0-heap-overflow-infloop.patch b/unzip/patches/unzip-6.0-heap-overflow-infloop.patch
new file mode 100644 (file)
index 0000000..b517c40
--- /dev/null
@@ -0,0 +1,104 @@
+From bdd4a0cecd745cb4825e4508b5bdf2579731086a Mon Sep 17 00:00:00 2001
+From: Petr Stodulka <pstodulk@redhat.com>
+Date: Mon, 14 Sep 2015 18:23:17 +0200
+Subject: [PATCH 1/3] upstream fix for heap overflow
+
+https://bugzilla.redhat.com/attachment.cgi?id=1073002
+---
+ crypt.c | 12 +++++++++++-
+ 1 file changed, 11 insertions(+), 1 deletion(-)
+
+diff --git a/crypt.c b/crypt.c
+index 784e411..a8975f2 100644
+--- a/crypt.c
++++ b/crypt.c
+@@ -465,7 +465,17 @@ int decrypt(__G__ passwrd)
+     GLOBAL(pInfo->encrypted) = FALSE;
+     defer_leftover_input(__G);
+     for (n = 0; n < RAND_HEAD_LEN; n++) {
+-        b = NEXTBYTE;
++        /* 2012-11-23 SMS.  (OUSPG report.)
++         * Quit early if compressed size < HEAD_LEN.  The resulting
++         * error message ("unable to get password") could be improved,
++         * but it's better than trying to read nonexistent data, and
++         * then continuing with a negative G.csize.  (See
++         * fileio.c:readbyte()).
++         */
++        if ((b = NEXTBYTE) == (ush)EOF)
++        {
++            return PK_ERR;
++        }
+         h[n] = (uch)b;
+         Trace((stdout, " (%02x)", h[n]));
+     }
+-- 
+2.4.6
+
+
+From 4b48844661ff9569f2ecf582a387d46a5775b5d8 Mon Sep 17 00:00:00 2001
+From: Kamil Dudka <kdudka@redhat.com>
+Date: Mon, 14 Sep 2015 18:24:56 +0200
+Subject: [PATCH 2/3] fix infinite loop when extracting empty bzip2 data
+
+Bug: https://sourceforge.net/p/infozip/patches/23/
+---
+ extract.c | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+diff --git a/extract.c b/extract.c
+index 7134bfe..29db027 100644
+--- a/extract.c
++++ b/extract.c
+@@ -2733,6 +2733,12 @@ __GDEF
+     int repeated_buf_err;
+     bz_stream bstrm;
++    if (G.incnt <= 0 && G.csize <= 0L) {
++        /* avoid an infinite loop */
++        Trace((stderr, "UZbunzip2() got empty input\n"));
++        return 2;
++    }
++
+ #if (defined(DLL) && !defined(NO_SLIDE_REDIR))
+     if (G.redirect_slide)
+         wsize = G.redirect_size, redirSlide = G.redirect_buffer;
+-- 
+2.4.6
+
+
+From bd150334fb4084f5555a6be26b015a0671cb5b74 Mon Sep 17 00:00:00 2001
+From: Kamil Dudka <kdudka@redhat.com>
+Date: Tue, 22 Sep 2015 18:52:23 +0200
+Subject: [PATCH 3/3] extract: prevent unsigned overflow on invalid input
+
+Suggested-by: Stefan Cornelius
+---
+ extract.c | 11 ++++++++++-
+ 1 file changed, 10 insertions(+), 1 deletion(-)
+
+diff --git a/extract.c b/extract.c
+index 29db027..b9ae667 100644
+--- a/extract.c
++++ b/extract.c
+@@ -1257,8 +1257,17 @@ static int extract_or_test_entrylist(__G__ numchunk,
+         if (G.lrec.compression_method == STORED) {
+             zusz_t csiz_decrypted = G.lrec.csize;
+-            if (G.pInfo->encrypted)
++            if (G.pInfo->encrypted) {
++                if (csiz_decrypted < 12) {
++                    /* handle the error now to prevent unsigned overflow */
++                    Info(slide, 0x401, ((char *)slide,
++                      LoadFarStringSmall(ErrUnzipNoFile),
++                      LoadFarString(InvalidComprData),
++                      LoadFarStringSmall2(Inflate)));
++                    return PK_ERR;
++                }
+                 csiz_decrypted -= 12;
++            }
+             if (G.lrec.ucsize != csiz_decrypted) {
+                 Info(slide, 0x401, ((char *)slide,
+                   LoadFarStringSmall2(WrnStorUCSizCSizDiff),
+-- 
+2.5.2
+
diff --git a/unzip/patches/unzip-6.0-manpage-fix.patch b/unzip/patches/unzip-6.0-manpage-fix.patch
new file mode 100644 (file)
index 0000000..ec06516
--- /dev/null
@@ -0,0 +1,11 @@
+--- unzip60/man/unzip.1        2011-01-11 11:59:59.000000000 +0000
++++ unzip60/man/unzip_new      2011-02-05 18:45:55.000000000 +0000
+@@ -424,7 +424,7 @@
+ .\" Amiga support possible eventually, but not yet
+ [MS-DOS, OS/2, NT] restore the volume label if the extraction medium is
+ removable (e.g., a diskette).  Doubling the option (\fB\-$$\fP) allows fixed
+-media (hard disks) to be labelled as well.  By default, volume labels are
++media (hard disks) to be labeled as well.  By default, volume labels are
+ ignored.
+ .IP \fB\-/\fP\ \fIextensions\fP
+ [Acorn only] overrides the extension list supplied by Unzip$Ext environment
diff --git a/unzip/patches/unzip-6.0-overflow-long-fsize.patch b/unzip/patches/unzip-6.0-overflow-long-fsize.patch
new file mode 100644 (file)
index 0000000..80cd708
--- /dev/null
@@ -0,0 +1,34 @@
+diff --git a/list.c b/list.c
+index f7359c3..4c3d703 100644
+--- a/list.c
++++ b/list.c
+@@ -97,7 +97,7 @@ int list_files(__G)    /* return PK-type error code */
+ {
+     int do_this_file=FALSE, cfactor, error, error_in_archive=PK_COOL;
+ #ifndef WINDLL
+-    char sgn, cfactorstr[10];
++    char sgn, cfactorstr[13];
+     int longhdr=(uO.vflag>1);
+ #endif
+     int date_format;
+@@ -339,7 +339,19 @@ int list_files(__G)    /* return PK-type error code */
+                 G.crec.compression_method == ENHDEFLATED) {
+                 methbuf[5] = dtype[(G.crec.general_purpose_bit_flag>>1) & 3];
+             } else if (methnum >= NUM_METHODS) {
+-                sprintf(&methbuf[4], "%03u", G.crec.compression_method);
++                /* 2013-02-26 SMS.
++                 * http://sourceforge.net/tracker/?func=detail
++                 *  &aid=2861648&group_id=118012&atid=679786
++                 * Unexpectedly large compression methods overflow
++                 * &methbuf[].  Use the old, three-digit decimal format
++                 * for values which fit.  Otherwise, sacrifice the
++                 * colon, and use four-digit hexadecimal.
++                 */
++                if (G.crec.compression_method <= 999) {
++                    sprintf( &methbuf[ 4], "%03u", G.crec.compression_method);
++                } else {
++                    sprintf( &methbuf[ 3], "%04X", G.crec.compression_method);
++                }
+             }
+ #if 0       /* GRR/Euro:  add this? */
diff --git a/unzip/patches/unzip-6.0-overflow.patch b/unzip/patches/unzip-6.0-overflow.patch
new file mode 100644 (file)
index 0000000..228c283
--- /dev/null
@@ -0,0 +1,25 @@
+diff --git a/extract.c b/extract.c
+index a0a4929..9ef80b3 100644
+--- a/extract.c
++++ b/extract.c
+@@ -2214,6 +2214,7 @@ static int test_compr_eb(__G__ eb, eb_size, compr_offset, test_uc_ebdata)
+     ulg eb_ucsize;
+     uch *eb_ucptr;
+     int r;
++    ush method;
+     if (compr_offset < 4)                /* field is not compressed: */
+         return PK_OK;                    /* do nothing and signal OK */
+@@ -2223,6 +2224,12 @@ static int test_compr_eb(__G__ eb, eb_size, compr_offset, test_uc_ebdata)
+          eb_size <= (compr_offset + EB_CMPRHEADLEN)))
+         return IZ_EF_TRUNC;               /* no compressed data! */
++    method = makeword(eb + (EB_HEADSIZE + compr_offset));
++    if ((method == STORED) && (eb_size != compr_offset + EB_CMPRHEADLEN + eb_ucsize))
++        return PK_ERR;            /* compressed & uncompressed
++                                   * should match in STORED
++                                   * method */
++
+     if (
+ #ifdef INT_16BIT
+         (((ulg)(extent)eb_ucsize) != eb_ucsize) ||
diff --git a/unzip/patches/unzip-6.0-symlink.patch b/unzip/patches/unzip-6.0-symlink.patch
new file mode 100644 (file)
index 0000000..d7eaf16
--- /dev/null
@@ -0,0 +1,17 @@
+diff --git a/process.c b/process.c
+index 1e9a1e1..905732b 100644
+--- a/process.c
++++ b/process.c
+@@ -1751,6 +1751,12 @@ int process_cdir_file_hdr(__G)    /* return PK-type error code */
+         = (G.crec.general_purpose_bit_flag & (1 << 11)) == (1 << 11);
+ #endif
++#ifdef SYMLINKS
++    /* Initialize the symlink flag, may be set by the platform-specific
++       mapattr function.  */
++    G.pInfo->symlink = 0;
++#endif
++
+     return PK_COOL;
+ } /* end function process_cdir_file_hdr() */
diff --git a/unzip/patches/unzip-6.0-timestamp.patch b/unzip/patches/unzip-6.0-timestamp.patch
new file mode 100644 (file)
index 0000000..2aa9424
--- /dev/null
@@ -0,0 +1,41 @@
+From: "Steven M. Schweda" <sms@antinode.info>
+Subject: Do not ignore extra fields containing Unix Timestamps
+Bug-Debian: https://bugs.debian.org/842993
+X-Debian-version: 6.0-21
+
+--- a/process.c
++++ b/process.c
+@@ -2914,10 +2914,13 @@
+             break;
+           case EF_IZUNIX2:
+-            if (have_new_type_eb == 0) {
+-                flags &= ~0x0ff;        /* ignore any previous IZUNIX field */
++            if (have_new_type_eb == 0) {        /* (< 1) */
+                 have_new_type_eb = 1;
+             }
++            if (have_new_type_eb <= 1) {
++                /* Ignore any prior (EF_IZUNIX/EF_PKUNIX) UID/GID. */
++                flags &= 0x0ff;
++            }
+ #ifdef IZ_HAVE_UXUIDGID
+             if (have_new_type_eb > 1)
+                 break;          /* IZUNIX3 overrides IZUNIX2 e.f. block ! */
+@@ -2933,6 +2936,8 @@
+             /* new 3rd generation Unix ef */
+             have_new_type_eb = 2;
++            /* Ignore any prior EF_IZUNIX/EF_PKUNIX/EF_IZUNIX2 UID/GID. */
++            flags &= 0x0ff;
+         /*
+           Version       1 byte      version of this extra field, currently 1
+           UIDSize       1 byte      Size of UID field
+@@ -2953,8 +2958,6 @@
+                 uid_size = *((EB_HEADSIZE + 1) + ef_buf);
+                 gid_size = *((EB_HEADSIZE + uid_size + 2) + ef_buf);
+-                flags &= ~0x0ff;      /* ignore any previous UNIX field */
+-
+                 if ( read_ux3_value((EB_HEADSIZE + 2) + ef_buf,
+                                     uid_size, &z_uidgid[0])
+                     &&
diff --git a/unzip/patches/unzip-6.0-valgrind.patch b/unzip/patches/unzip-6.0-valgrind.patch
new file mode 100644 (file)
index 0000000..41a7520
--- /dev/null
@@ -0,0 +1,26 @@
+diff --git a/fileio.c b/fileio.c
+index ba0a1d0..03fc4be 100644
+--- a/fileio.c
++++ b/fileio.c
+@@ -2006,6 +2006,7 @@ int do_string(__G__ length, option)   /* return PK-type error code */
+     unsigned comment_bytes_left;
+     unsigned int block_len;
+     int error=PK_OK;
++    unsigned int length2;
+ #ifdef AMIGA
+     char tmp_fnote[2 * AMIGA_FILENOTELEN];   /* extra room for squozen chars */
+ #endif
+@@ -2292,8 +2293,12 @@ int do_string(__G__ length, option)   /* return PK-type error code */
+             seek_zipf(__G__ G.cur_zipfile_bufstart - G.extra_bytes +
+                       (G.inptr-G.inbuf) + length);
+         } else {
+-            if (readbuf(__G__ (char *)G.extra_field, length) == 0)
++            if ((length2 = readbuf(__G__ (char *)G.extra_field, length)) == 0)
+                 return PK_EOF;
++            if(length2 < length) {
++              memset (__G__ (char *)G.extra_field+length2, 0 , length-length2);
++              length = length2;
++            }
+             /* Looks like here is where extra fields are read */
+             getZip64Data(__G__ G.extra_field, length);
+ #ifdef UNICODE_SUPPORT
diff --git a/unzip/patches/unzip-6.0-x-option.patch b/unzip/patches/unzip-6.0-x-option.patch
new file mode 100644 (file)
index 0000000..72c77ae
--- /dev/null
@@ -0,0 +1,28 @@
+--- ./process.c.orig    2009-03-06 02:25:10.000000000 +0100
++++ ./process.c 2013-09-12 10:51:16.000000000 +0200
+@@ -2901,9 +2901,9 @@
+         */
+ #ifdef IZ_HAVE_UXUIDGID
+-            if (eb_len >= EB_UX3_MINLEN
+-                && z_uidgid != NULL
+-                && (*((EB_HEADSIZE + 0) + ef_buf) == 1)
++            if ((eb_len >= EB_UX3_MINLEN)
++                && (z_uidgid != NULL)
++                && ((*((EB_HEADSIZE + 0) + ef_buf) == 1)))
+                     /* only know about version 1 */
+             {
+                 uch uid_size;
+@@ -2915,10 +2915,10 @@
+                 flags &= ~0x0ff;      /* ignore any previous UNIX field */
+                 if ( read_ux3_value((EB_HEADSIZE + 2) + ef_buf,
+-                                    uid_size, z_uidgid[0])
++                                    uid_size, &z_uidgid[0])
+                     &&
+                      read_ux3_value((EB_HEADSIZE + uid_size + 3) + ef_buf,
+-                                    gid_size, z_uidgid[1]) )
++                                    gid_size, &z_uidgid[1]) )
+                 {
+                     flags |= EB_UX2_VALID;   /* signal success */
+                 }
diff --git a/unzip/patches/unzip-gnu89-build.patch b/unzip/patches/unzip-gnu89-build.patch
new file mode 100644 (file)
index 0000000..706f125
--- /dev/null
@@ -0,0 +1,15 @@
+unzip uses C89-only features, so it needs to be built in C89 mode.
+
+diff --git a/unix/Makefile b/unix/Makefile
+index ab32270cf4b9b2cf..5eabbe13095e1f58 100644
+--- a/unix/Makefile
++++ b/unix/Makefile
+@@ -545,7 +545,7 @@ generic:   flags      # now try autoconfigure first
+ #     make $(MAKEF) unzips CF="${CF} `cat flags`"
+ generic_gcc:
+-      $(MAKE) $(MAKEF) generic CC=gcc IZ_BZIP2="$(IZ_BZIP2)"
++      $(MAKE) $(MAKEF) generic CC="gcc -std=gnu89" IZ_BZIP2="$(IZ_BZIP2)"
+ # extensions to perform SVR4 package-creation after compilation
+ generic_pkg:  generic svr4package
diff --git a/unzip/patches/unzip-zipbomb-manpage.patch b/unzip/patches/unzip-zipbomb-manpage.patch
new file mode 100644 (file)
index 0000000..bcee827
--- /dev/null
@@ -0,0 +1,25 @@
+From 6fe72291a5563cdbcd2bdd87e36528537b7cdcfb Mon Sep 17 00:00:00 2001
+From: Jakub Martisko <jamartis@redhat.com>
+Date: Mon, 18 Nov 2019 14:17:46 +0100
+Subject: [PATCH] update the man page
+
+---
+ man/unzip.1 | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/man/unzip.1 b/man/unzip.1
+index 21816d1..4d66073 100644
+--- a/man/unzip.1
++++ b/man/unzip.1
+@@ -850,6 +850,8 @@ the specified zipfiles were not found.
+ invalid options were specified on the command line.
+ .IP 11
+ no matching files were found.
++.IP 12
++invalid zip file with overlapped components (possible zip-bomb). The zip-bomb checks can be disabled by using the UNZIP_DISABLE_ZIPBOMB_DETECTION=TRUE environment variable.
+ .IP 50
+ the disk is (or was) full during extraction.
+ .IP 51
+-- 
+2.23.0
+
diff --git a/unzip/patches/unzip-zipbomb-part1.patch b/unzip/patches/unzip-zipbomb-part1.patch
new file mode 100644 (file)
index 0000000..35cf856
--- /dev/null
@@ -0,0 +1,25 @@
+From 41beb477c5744bc396fa1162ee0c14218ec12213 Mon Sep 17 00:00:00 2001
+From: Mark Adler <madler@alumni.caltech.edu>
+Date: Mon, 27 May 2019 08:20:32 -0700
+Subject: [PATCH] Fix bug in undefer_input() that misplaced the input state.
+
+---
+ fileio.c | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/fileio.c b/fileio.c
+index c042987..bc00d74 100644
+--- a/fileio.c
++++ b/fileio.c
+@@ -530,8 +530,10 @@ void undefer_input(__G)
+          * This condition was checked when G.incnt_leftover was set > 0 in
+          * defer_leftover_input(), and it is NOT allowed to touch G.csize
+          * before calling undefer_input() when (G.incnt_leftover > 0)
+-         * (single exception: see read_byte()'s  "G.csize <= 0" handling) !!
++         * (single exception: see readbyte()'s  "G.csize <= 0" handling) !!
+          */
++        if (G.csize < 0L)
++            G.csize = 0L;
+         G.incnt = G.incnt_leftover + (int)G.csize;
+         G.inptr = G.inptr_leftover - (int)G.csize;
+         G.incnt_leftover = 0;
diff --git a/unzip/patches/unzip-zipbomb-part2.patch b/unzip/patches/unzip-zipbomb-part2.patch
new file mode 100644 (file)
index 0000000..903c845
--- /dev/null
@@ -0,0 +1,349 @@
+From 47b3ceae397d21bf822bc2ac73052a4b1daf8e1c Mon Sep 17 00:00:00 2001
+From: Mark Adler <madler@alumni.caltech.edu>
+Date: Tue, 11 Jun 2019 22:01:18 -0700
+Subject: [PATCH] Detect and reject a zip bomb using overlapped entries.
+
+This detects an invalid zip file that has at least one entry that
+overlaps with another entry or with the central directory to the
+end of the file. A Fifield zip bomb uses overlapped local entries
+to vastly increase the potential inflation ratio. Such an invalid
+zip file is rejected.
+
+See https://www.bamsoftware.com/hacks/zipbomb/ for David Fifield's
+analysis, construction, and examples of such zip bombs.
+
+The detection maintains a list of covered spans of the zip files
+so far, where the central directory to the end of the file and any
+bytes preceding the first entry at zip file offset zero are
+considered covered initially. Then as each entry is decompressed
+or tested, it is considered covered. When a new entry is about to
+be processed, its initial offset is checked to see if it is
+contained by a covered span. If so, the zip file is rejected as
+invalid.
+
+This commit depends on a preceding commit: "Fix bug in
+undefer_input() that misplaced the input state."
+---
+ extract.c | 190 +++++++++++++++++++++++++++++++++++++++++++++++++++++-
+ globals.c |   1 +
+ globals.h |   3 +
+ process.c |  11 ++++
+ unzip.h   |   1 +
+ 5 files changed, 205 insertions(+), 1 deletion(-)
+
+diff --git a/extract.c b/extract.c
+index 1acd769..0973a33 100644
+--- a/extract.c
++++ b/extract.c
+@@ -319,6 +319,125 @@ static ZCONST char Far UnsupportedExtraField[] =
+   "\nerror:  unsupported extra-field compression type (%u)--skipping\n";
+ static ZCONST char Far BadExtraFieldCRC[] =
+   "error [%s]:  bad extra-field CRC %08lx (should be %08lx)\n";
++static ZCONST char Far NotEnoughMemCover[] =
++  "error: not enough memory for bomb detection\n";
++static ZCONST char Far OverlappedComponents[] =
++  "error: invalid zip file with overlapped components (possible zip bomb)\n";
++
++
++
++
++
++/* A growable list of spans. */
++typedef zoff_t bound_t;
++typedef struct {
++    bound_t beg;        /* start of the span */
++    bound_t end;        /* one past the end of the span */
++} span_t;
++typedef struct {
++    span_t *span;       /* allocated, distinct, and sorted list of spans */
++    size_t num;         /* number of spans in the list */
++    size_t max;         /* allocated number of spans (num <= max) */
++} cover_t;
++
++/*
++ * Return the index of the first span in cover whose beg is greater than val.
++ * If there is no such span, then cover->num is returned.
++ */
++static size_t cover_find(cover, val)
++    cover_t *cover;
++    bound_t val;
++{
++    size_t lo = 0, hi = cover->num;
++    while (lo < hi) {
++        size_t mid = (lo + hi) >> 1;
++        if (val < cover->span[mid].beg)
++            hi = mid;
++        else
++            lo = mid + 1;
++    }
++    return hi;
++}
++
++/* Return true if val lies within any one of the spans in cover. */
++static int cover_within(cover, val)
++    cover_t *cover;
++    bound_t val;
++{
++    size_t pos = cover_find(cover, val);
++    return pos > 0 && val < cover->span[pos - 1].end;
++}
++
++/*
++ * Add a new span to the list, but only if the new span does not overlap any
++ * spans already in the list. The new span covers the values beg..end-1. beg
++ * must be less than end.
++ *
++ * Keep the list sorted and merge adjacent spans. Grow the allocated space for
++ * the list as needed. On success, 0 is returned. If the new span overlaps any
++ * existing spans, then 1 is returned and the new span is not added to the
++ * list. If the new span is invalid because beg is greater than or equal to
++ * end, then -1 is returned. If the list needs to be grown but the memory
++ * allocation fails, then -2 is returned.
++ */
++static int cover_add(cover, beg, end)
++    cover_t *cover;
++    bound_t beg;
++    bound_t end;
++{
++    size_t pos;
++    int prec, foll;
++
++    if (beg >= end)
++    /* The new span is invalid. */
++        return -1;
++
++    /* Find where the new span should go, and make sure that it does not
++       overlap with any existing spans. */
++    pos = cover_find(cover, beg);
++    if ((pos > 0 && beg < cover->span[pos - 1].end) ||
++        (pos < cover->num && end > cover->span[pos].beg))
++        return 1;
++
++    /* Check for adjacencies. */
++    prec = pos > 0 && beg == cover->span[pos - 1].end;
++    foll = pos < cover->num && end == cover->span[pos].beg;
++    if (prec && foll) {
++        /* The new span connects the preceding and following spans. Merge the
++           following span into the preceding span, and delete the following
++           span. */
++        cover->span[pos - 1].end = cover->span[pos].end;
++        cover->num--;
++        memmove(cover->span + pos, cover->span + pos + 1,
++                (cover->num - pos) * sizeof(span_t));
++    }
++    else if (prec)
++        /* The new span is adjacent only to the preceding span. Extend the end
++           of the preceding span. */
++        cover->span[pos - 1].end = end;
++    else if (foll)
++        /* The new span is adjacent only to the following span. Extend the
++           beginning of the following span. */
++        cover->span[pos].beg = beg;
++    else {
++        /* The new span has gaps between both the preceding and the following
++           spans. Assure that there is room and insert the span.  */
++        if (cover->num == cover->max) {
++            size_t max = cover->max == 0 ? 16 : cover->max << 1;
++            span_t *span = realloc(cover->span, max * sizeof(span_t));
++            if (span == NULL)
++                return -2;
++            cover->span = span;
++            cover->max = max;
++        }
++        memmove(cover->span + pos + 1, cover->span + pos,
++                (cover->num - pos) * sizeof(span_t));
++        cover->num++;
++        cover->span[pos].beg = beg;
++        cover->span[pos].end = end;
++    }
++    return 0;
++}
+@@ -374,6 +493,29 @@ int extract_or_test_files(__G)    /* return PK-type error code */
+     }
+ #endif /* !SFX || SFX_EXDIR */
++    /* One more: initialize cover structure for bomb detection. Start with a
++       span that covers the central directory though the end of the file. */
++    if (G.cover == NULL) {
++        G.cover = malloc(sizeof(cover_t));
++        if (G.cover == NULL) {
++            Info(slide, 0x401, ((char *)slide,
++              LoadFarString(NotEnoughMemCover)));
++            return PK_MEM;
++        }
++        ((cover_t *)G.cover)->span = NULL;
++        ((cover_t *)G.cover)->max = 0;
++    }
++    ((cover_t *)G.cover)->num = 0;
++    if ((G.extra_bytes != 0 &&
++         cover_add((cover_t *)G.cover, 0, G.extra_bytes) != 0) ||
++        cover_add((cover_t *)G.cover,
++                  G.extra_bytes + G.ecrec.offset_start_central_directory,
++                  G.ziplen) != 0) {
++        Info(slide, 0x401, ((char *)slide,
++          LoadFarString(NotEnoughMemCover)));
++        return PK_MEM;
++    }
++
+ /*---------------------------------------------------------------------------
+     The basic idea of this function is as follows.  Since the central di-
+     rectory lies at the end of the zipfile and the member files lie at the
+@@ -591,7 +733,8 @@ int extract_or_test_files(__G)    /* return PK-type error code */
+             if (error > error_in_archive)
+                 error_in_archive = error;
+             /* ...and keep going (unless disk full or user break) */
+-            if (G.disk_full > 1 || error_in_archive == IZ_CTRLC) {
++            if (G.disk_full > 1 || error_in_archive == IZ_CTRLC ||
++                error == PK_BOMB) {
+                 /* clear reached_end to signal premature stop ... */
+                 reached_end = FALSE;
+                 /* ... and cancel scanning the central directory */
+@@ -1060,6 +1203,11 @@ static int extract_or_test_entrylist(__G__ numchunk,
+         /* seek_zipf(__G__ pInfo->offset);  */
+         request = G.pInfo->offset + G.extra_bytes;
++        if (cover_within((cover_t *)G.cover, request)) {
++            Info(slide, 0x401, ((char *)slide,
++              LoadFarString(OverlappedComponents)));
++            return PK_BOMB;
++        }
+         inbuf_offset = request % INBUFSIZ;
+         bufstart = request - inbuf_offset;
+@@ -1591,6 +1739,18 @@ static int extract_or_test_entrylist(__G__ numchunk,
+             return IZ_CTRLC;        /* cancel operation by user request */
+         }
+ #endif
++        error = cover_add((cover_t *)G.cover, request,
++                          G.cur_zipfile_bufstart + (G.inptr - G.inbuf));
++        if (error < 0) {
++            Info(slide, 0x401, ((char *)slide,
++              LoadFarString(NotEnoughMemCover)));
++            return PK_MEM;
++        }
++        if (error != 0) {
++            Info(slide, 0x401, ((char *)slide,
++              LoadFarString(OverlappedComponents)));
++            return PK_BOMB;
++        }
+ #ifdef MACOS  /* MacOS is no preemptive OS, thus call event-handling by hand */
+         UserStop();
+ #endif
+@@ -1992,6 +2152,34 @@ static int extract_or_test_member(__G)    /* return PK-type error code */
+     }
+     undefer_input(__G);
++
++    if ((G.lrec.general_purpose_bit_flag & 8) != 0) {
++        /* skip over data descriptor (harder than it sounds, due to signature
++         * ambiguity)
++         */
++#       define SIG 0x08074b50
++#       define LOW 0xffffffff
++        uch buf[12];
++        unsigned shy = 12 - readbuf((char *)buf, 12);
++        ulg crc = shy ? 0 : makelong(buf);
++        ulg clen = shy ? 0 : makelong(buf + 4);
++        ulg ulen = shy ? 0 : makelong(buf + 8); /* or high clen if ZIP64 */
++        if (crc == SIG &&                       /* if not SIG, no signature */
++            (G.lrec.crc32 != SIG ||             /* if not SIG, have signature */
++             (clen == SIG &&                    /* if not SIG, no signature */
++              ((G.lrec.csize & LOW) != SIG ||   /* if not SIG, have signature */
++               (ulen == SIG &&                  /* if not SIG, no signature */
++                (G.zip64 ? G.lrec.csize >> 32 : G.lrec.ucsize) != SIG
++                                                /* if not SIG, have signature */
++                )))))
++                   /* skip four more bytes to account for signature */
++                   shy += 4 - readbuf((char *)buf, 4);
++        if (G.zip64)
++            shy += 8 - readbuf((char *)buf, 8); /* skip eight more for ZIP64 */
++        if (shy)
++            error = PK_ERR;
++    }
++
+     return error;
+ } /* end function extract_or_test_member() */
+diff --git a/globals.c b/globals.c
+index fa8cca5..1e0f608 100644
+--- a/globals.c
++++ b/globals.c
+@@ -181,6 +181,7 @@ Uz_Globs *globalsCtor()
+ # if (!defined(NO_TIMESTAMPS))
+     uO.D_flag=1;    /* default to '-D', no restoration of dir timestamps */
+ # endif
++    G.cover = NULL;     /* not allocated yet */
+ #endif
+     uO.lflag=(-1);
+diff --git a/globals.h b/globals.h
+index 11b7215..2bdcdeb 100644
+--- a/globals.h
++++ b/globals.h
+@@ -260,12 +260,15 @@ typedef struct Globals {
+     ecdir_rec       ecrec;         /* used in unzip.c, extract.c */
+     z_stat   statbuf;              /* used by main, mapname, check_for_newer */
++    int zip64;                     /* true if Zip64 info in extra field */
++
+     int      mem_mode;
+     uch      *outbufptr;           /* extract.c static */
+     ulg      outsize;              /* extract.c static */
+     int      reported_backslash;   /* extract.c static */
+     int      disk_full;
+     int      newfile;
++    void     **cover;              /* used in extract.c for bomb detection */
+     int      didCRlast;            /* fileio static */
+     ulg      numlines;             /* fileio static: number of lines printed */
+diff --git a/process.c b/process.c
+index 1e9a1e1..d2e4dc3 100644
+--- a/process.c
++++ b/process.c
+@@ -637,6 +637,13 @@ void free_G_buffers(__G)     /* releases all memory allocated in global vars */
+     }
+ #endif
++    /* Free the cover span list and the cover structure. */
++    if (G.cover != NULL) {
++        free(*(G.cover));
++        free(G.cover);
++        G.cover = NULL;
++    }
++
+ } /* end function free_G_buffers() */
+@@ -1890,6 +1897,8 @@ int getZip64Data(__G__ ef_buf, ef_len)
+ #define Z64FLGS 0xffff
+ #define Z64FLGL 0xffffffff
++    G.zip64 = FALSE;
++
+     if (ef_len == 0 || ef_buf == NULL)
+         return PK_COOL;
+@@ -1927,6 +1936,8 @@ int getZip64Data(__G__ ef_buf, ef_len)
+ #if 0
+           break;                /* Expect only one EF_PKSZ64 block. */
+ #endif /* 0 */
++
++          G.zip64 = TRUE;
+         }
+
+         /* Skip this extra field block. */
+diff --git a/unzip.h b/unzip.h
+index 5b2a326..ed24a5b 100644
+--- a/unzip.h
++++ b/unzip.h
+@@ -645,6 +645,7 @@ typedef struct _Uzp_cdir_Rec {
+ #define PK_NOZIP           9   /* zipfile not found */
+ #define PK_PARAM          10   /* bad or illegal parameters specified */
+ #define PK_FIND           11   /* no files found */
++#define PK_BOMB           12   /* likely zip bomb */
+ #define PK_DISK           50   /* disk full */
+ #define PK_EOF            51   /* unexpected EOF */
diff --git a/unzip/patches/unzip-zipbomb-part3.patch b/unzip/patches/unzip-zipbomb-part3.patch
new file mode 100644 (file)
index 0000000..3b8d67b
--- /dev/null
@@ -0,0 +1,112 @@
+From 6d351831be705cc26d897db44f878a978f4138fc Mon Sep 17 00:00:00 2001
+From: Mark Adler <madler@alumni.caltech.edu>
+Date: Thu, 25 Jul 2019 20:43:17 -0700
+Subject: [PATCH] Do not raise a zip bomb alert for a misplaced central
+ directory.
+
+There is a zip-like file in the Firefox distribution, omni.ja,
+which is a zip container with the central directory placed at the
+start of the file instead of after the local entries as required
+by the zip standard. This commit marks the actual location of the
+central directory, as well as the end of central directory records,
+as disallowed locations. This now permits such containers to not
+raise a zip bomb alert, where in fact there are no overlaps.
+---
+ extract.c | 25 +++++++++++++++++++------
+ process.c |  6 ++++++
+ unzpriv.h | 10 ++++++++++
+ 3 files changed, 35 insertions(+), 6 deletions(-)
+
+diff --git a/extract.c b/extract.c
+index 0973a33..1b73cb0 100644
+--- a/extract.c
++++ b/extract.c
+@@ -493,8 +493,11 @@ int extract_or_test_files(__G)    /* return PK-type error code */
+     }
+ #endif /* !SFX || SFX_EXDIR */
+-    /* One more: initialize cover structure for bomb detection. Start with a
+-       span that covers the central directory though the end of the file. */
++    /* One more: initialize cover structure for bomb detection. Start with
++       spans that cover any extra bytes at the start, the central directory,
++       the end of central directory record (including the Zip64 end of central
++       directory locator, if present), and the Zip64 end of central directory
++       record, if present. */
+     if (G.cover == NULL) {
+         G.cover = malloc(sizeof(cover_t));
+         if (G.cover == NULL) {
+@@ -506,15 +509,25 @@ int extract_or_test_files(__G)    /* return PK-type error code */
+         ((cover_t *)G.cover)->max = 0;
+     }
+     ((cover_t *)G.cover)->num = 0;
+-    if ((G.extra_bytes != 0 &&
+-         cover_add((cover_t *)G.cover, 0, G.extra_bytes) != 0) ||
+-        cover_add((cover_t *)G.cover,
++    if (cover_add((cover_t *)G.cover,
+                   G.extra_bytes + G.ecrec.offset_start_central_directory,
+-                  G.ziplen) != 0) {
++                  G.extra_bytes + G.ecrec.offset_start_central_directory +
++                  G.ecrec.size_central_directory) != 0) {
+         Info(slide, 0x401, ((char *)slide,
+           LoadFarString(NotEnoughMemCover)));
+         return PK_MEM;
+     }
++    if ((G.extra_bytes != 0 &&
++         cover_add((cover_t *)G.cover, 0, G.extra_bytes) != 0) ||
++        (G.ecrec.have_ecr64 &&
++         cover_add((cover_t *)G.cover, G.ecrec.ec64_start,
++                   G.ecrec.ec64_end) != 0) ||
++        cover_add((cover_t *)G.cover, G.ecrec.ec_start,
++                  G.ecrec.ec_end) != 0) {
++        Info(slide, 0x401, ((char *)slide,
++          LoadFarString(OverlappedComponents)));
++        return PK_BOMB;
++    }
+ /*---------------------------------------------------------------------------
+     The basic idea of this function is as follows.  Since the central di-
+diff --git a/process.c b/process.c
+index d2e4dc3..d75d405 100644
+--- a/process.c
++++ b/process.c
+@@ -1408,6 +1408,10 @@ static int find_ecrec64(__G__ searchlen)         /* return PK-class error */
+     /* Now, we are (almost) sure that we have a Zip64 archive. */
+     G.ecrec.have_ecr64 = 1;
++    G.ecrec.ec_start -= ECLOC64_SIZE+4;
++    G.ecrec.ec64_start = ecrec64_start_offset;
++    G.ecrec.ec64_end = ecrec64_start_offset +
++                       12 + makeint64(&byterec[ECREC64_LENGTH]);
+     /* Update the "end-of-central-dir offset" for later checks. */
+     G.real_ecrec_offset = ecrec64_start_offset;
+@@ -1542,6 +1546,8 @@ static int find_ecrec(__G__ searchlen)          /* return PK-class error */
+       makelong(&byterec[OFFSET_START_CENTRAL_DIRECTORY]);
+     G.ecrec.zipfile_comment_length =
+       makeword(&byterec[ZIPFILE_COMMENT_LENGTH]);
++    G.ecrec.ec_start = G.real_ecrec_offset;
++    G.ecrec.ec_end = G.ecrec.ec_start + 22 + G.ecrec.zipfile_comment_length;
+     /* Now, we have to read the archive comment, BEFORE the file pointer
+        is moved away backwards to seek for a Zip64 ECLOC64 structure.
+diff --git a/unzpriv.h b/unzpriv.h
+index dc9eff5..297b3c7 100644
+--- a/unzpriv.h
++++ b/unzpriv.h
+@@ -2185,6 +2185,16 @@ typedef struct VMStimbuf {
+        int have_ecr64;                  /* valid Zip64 ecdir-record exists */
+        int is_zip64_archive;            /* Zip64 ecdir-record is mandatory */
+        ush zipfile_comment_length;
++       zusz_t ec_start, ec_end;         /* offsets of start and end of the
++                                           end of central directory record,
++                                           including if present the Zip64
++                                           end of central directory locator,
++                                           which immediately precedes the
++                                           end of central directory record */
++       zusz_t ec64_start, ec64_end;     /* if have_ecr64 is true, then these
++                                           are the offsets of the start and
++                                           end of the Zip64 end of central
++                                           directory record */
+    } ecdir_rec;
diff --git a/unzip/patches/unzip-zipbomb-part4.patch b/unzip/patches/unzip-zipbomb-part4.patch
new file mode 100644 (file)
index 0000000..beffa2c
--- /dev/null
@@ -0,0 +1,25 @@
+From 5e2efcd633a4a1fb95a129a75508e7d769e767be Mon Sep 17 00:00:00 2001
+From: Mark Adler <madler@alumni.caltech.edu>
+Date: Sun, 9 Feb 2020 20:36:28 -0800
+Subject: [PATCH] Fix bug in UZbunzip2() that incorrectly updated G.incnt.
+
+The update assumed a full buffer, which is not always full. This
+could result in a false overlapped element detection when a small
+bzip2-compressed file was unzipped. This commit remedies that.
+---
+ extract.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/extract.c b/extract.c
+index d9866f9..0cb7bfc 100644
+--- a/extract.c
++++ b/extract.c
+@@ -3010,7 +3010,7 @@ __GDEF
+ #endif
+     G.inptr = (uch *)bstrm.next_in;
+-    G.incnt = (G.inbuf + INBUFSIZ) - G.inptr;  /* reset for other routines */
++    G.incnt -= G.inptr - G.inbuf;       /* reset for other routines */
+ uzbunzip_cleanup_exit:
+     err = BZ2_bzDecompressEnd(&bstrm);
diff --git a/unzip/patches/unzip-zipbomb-part5.patch b/unzip/patches/unzip-zipbomb-part5.patch
new file mode 100644 (file)
index 0000000..ca6a43a
--- /dev/null
@@ -0,0 +1,26 @@
+From 5c572555cf5d80309a07c30cf7a54b2501493720 Mon Sep 17 00:00:00 2001
+From: Mark Adler <madler@alumni.caltech.edu>
+Date: Sun, 9 Feb 2020 21:39:09 -0800
+Subject: [PATCH] Fix bug in UZinflate() that incorrectly updated G.incnt.
+
+The update assumed a full buffer, which is not always full. This
+could result in a false overlapped element detection when a small
+deflate-compressed file was unzipped using an old zlib. This
+commit remedies that.
+---
+ inflate.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/inflate.c b/inflate.c
+index 2f5a015..70e3cc0 100644
+--- a/inflate.c
++++ b/inflate.c
+@@ -700,7 +700,7 @@ int UZinflate(__G__ is_defl64)
+       G.dstrm.total_out));
+     G.inptr = (uch *)G.dstrm.next_in;
+-    G.incnt = (G.inbuf + INBUFSIZ) - G.inptr;  /* reset for other routines */
++    G.incnt -= G.inptr - G.inbuf;       /* reset for other routines */
+ uzinflate_cleanup_exit:
+     err = inflateReset(&G.dstrm);
diff --git a/unzip/patches/unzip-zipbomb-part6.patch b/unzip/patches/unzip-zipbomb-part6.patch
new file mode 100644 (file)
index 0000000..3dce6e3
--- /dev/null
@@ -0,0 +1,95 @@
+From 122050bac16fae82a460ff739fb1ca0f106e9d85 Mon Sep 17 00:00:00 2001
+From: Mark Adler <madler@alumni.caltech.edu>
+Date: Sat, 2 Jan 2021 13:09:34 -0800
+Subject: [PATCH] Determine Zip64 status entry-by-entry instead of for entire
+ file.
+
+Fixes a bug for zip files with mixed Zip64 and not Zip64 entries,
+which resulted in an incorrect data descriptor length. The bug is
+seen when a Zip64 entry precedes a non-Zip64 entry, in which case
+the data descriptor would have been assumed to be larger than it
+is, resulting in an incorrect bomb warning due to a perceived
+overlap with the next entry. This commit determines and saves the
+Zip64 status for each entry based on the central directory, and
+then computes the length of each data descriptor accordingly.
+---
+ extract.c | 5 +++--
+ globals.h | 2 --
+ process.c | 4 +---
+ unzpriv.h | 1 +
+ 4 files changed, 5 insertions(+), 7 deletions(-)
+
+diff --git a/extract.c b/extract.c
+index 504afd6..878817d 100644
+--- a/extract.c
++++ b/extract.c
+@@ -658,6 +658,7 @@ int extract_or_test_files(__G)    /* return PK-type error code */
+                     break;
+                 }
+             }
++            G.pInfo->zip64 = FALSE;
+             if ((error = do_string(__G__ G.crec.extra_field_length,
+                 EXTRA_FIELD)) != 0)
+             {
+@@ -2187,12 +2188,12 @@ static int extract_or_test_member(__G)    /* return PK-type error code */
+              (clen == SIG &&                    /* if not SIG, no signature */
+               ((G.lrec.csize & LOW) != SIG ||   /* if not SIG, have signature */
+                (ulen == SIG &&                  /* if not SIG, no signature */
+-                (G.zip64 ? G.lrec.csize >> 32 : G.lrec.ucsize) != SIG
++                (G.pInfo->zip64 ? G.lrec.csize >> 32 : G.lrec.ucsize) != SIG
+                                                 /* if not SIG, have signature */
+                 )))))
+                    /* skip four more bytes to account for signature */
+                    shy += 4 - readbuf((char *)buf, 4);
+-        if (G.zip64)
++        if (G.pInfo->zip64)
+             shy += 8 - readbuf((char *)buf, 8); /* skip eight more for ZIP64 */
+         if (shy)
+             error = PK_ERR;
+diff --git a/globals.h b/globals.h
+index f9c6daf..a883c90 100644
+--- a/globals.h
++++ b/globals.h
+@@ -261,8 +261,6 @@ typedef struct Globals {
+     ecdir_rec       ecrec;         /* used in unzip.c, extract.c */
+     z_stat   statbuf;              /* used by main, mapname, check_for_newer */
+-    int zip64;                     /* true if Zip64 info in extra field */
+-
+     int      mem_mode;
+     uch      *outbufptr;           /* extract.c static */
+     ulg      outsize;              /* extract.c static */
+diff --git a/process.c b/process.c
+index d75d405..d643c6f 100644
+--- a/process.c
++++ b/process.c
+@@ -1903,8 +1903,6 @@ int getZip64Data(__G__ ef_buf, ef_len)
+ #define Z64FLGS 0xffff
+ #define Z64FLGL 0xffffffff
+-    G.zip64 = FALSE;
+-
+     if (ef_len == 0 || ef_buf == NULL)
+         return PK_COOL;
+@@ -1943,7 +1941,7 @@ int getZip64Data(__G__ ef_buf, ef_len)
+           break;                /* Expect only one EF_PKSZ64 block. */
+ #endif /* 0 */
+-          G.zip64 = TRUE;
++          G.pInfo->zip64 = TRUE;
+         }
+         /* Skip this extra field block. */
+diff --git a/unzpriv.h b/unzpriv.h
+index 09f288e..75b3359 100644
+--- a/unzpriv.h
++++ b/unzpriv.h
+@@ -2034,6 +2034,7 @@ typedef struct min_info {
+ #ifdef UNICODE_SUPPORT
+     unsigned GPFIsUTF8: 1;   /* crec gen_purpose_flag UTF-8 bit 11 is set */
+ #endif
++    unsigned zip64: 1;       /* true if entry has Zip64 extra block */
+ #ifndef SFX
+     char Far *cfilname;      /* central header version of filename */
+ #endif
diff --git a/unzip/patches/unzip-zipbomb-switch.patch b/unzip/patches/unzip-zipbomb-switch.patch
new file mode 100644 (file)
index 0000000..c6d33c0
--- /dev/null
@@ -0,0 +1,215 @@
+From 5b44c818b96193b3e240f38f61985fa2bc780eb7 Mon Sep 17 00:00:00 2001
+From: Jakub Martisko <jamartis@redhat.com>
+Date: Tue, 30 Nov 2021 15:42:17 +0100
+Subject: [PATCH] Add an option to disable the zipbomb detection
+
+This can be done by settting a newly introduced environment variable
+UNZIP_DISABLE_ZIPBOMB_DETECTION to {TRUE,True,true}. If the variable is unset, or
+set to any other value the zipbomb detection is left enabled.
+
+Example:
+       UNZIP_DISABLE_ZIPBOMB_DETECTION=True unzip ./zbsm.zip -d ./test
+---
+ extract.c | 85 ++++++++++++++++++++++++++++++-------------------------
+ unzip.c   | 15 ++++++++--
+ unzip.h   |  1 +
+ 3 files changed, 60 insertions(+), 41 deletions(-)
+
+diff --git a/extract.c b/extract.c
+index 878817d..3e58071 100644
+--- a/extract.c
++++ b/extract.c
+@@ -322,7 +322,8 @@ static ZCONST char Far BadExtraFieldCRC[] =
+ static ZCONST char Far NotEnoughMemCover[] =
+   "error: not enough memory for bomb detection\n";
+ static ZCONST char Far OverlappedComponents[] =
+-  "error: invalid zip file with overlapped components (possible zip bomb)\n";
++  "error: invalid zip file with overlapped components (possible zip bomb)\n \
++To unzip the file anyway, rerun the command with UNZIP_DISABLE_ZIPBOMB_DETECTION=TRUE environmnent variable\n";
+@@ -502,35 +503,37 @@ int extract_or_test_files(__G)    /* return PK-type error code */
+        the end of central directory record (including the Zip64 end of central
+        directory locator, if present), and the Zip64 end of central directory
+        record, if present. */
+-    if (G.cover == NULL) {
++    if (uO.zipbomb == TRUE) {
++      if (G.cover == NULL) {
+         G.cover = malloc(sizeof(cover_t));
+         if (G.cover == NULL) {
+-            Info(slide, 0x401, ((char *)slide,
+-              LoadFarString(NotEnoughMemCover)));
+-            return PK_MEM;
++            Info(slide, 0x401, ((char *)slide,
++              LoadFarString(NotEnoughMemCover)));
++            return PK_MEM;
+         }
+         ((cover_t *)G.cover)->span = NULL;
+         ((cover_t *)G.cover)->max = 0;
+-    }
+-    ((cover_t *)G.cover)->num = 0;
+-    if (cover_add((cover_t *)G.cover,
+-                  G.extra_bytes + G.ecrec.offset_start_central_directory,
+-                  G.extra_bytes + G.ecrec.offset_start_central_directory +
+-                  G.ecrec.size_central_directory) != 0) {
++    }
++    ((cover_t *)G.cover)->num = 0;
++    if (cover_add((cover_t *)G.cover,
++                  G.extra_bytes + G.ecrec.offset_start_central_directory,
++                  G.extra_bytes + G.ecrec.offset_start_central_directory +
++                  G.ecrec.size_central_directory) != 0) {
+         Info(slide, 0x401, ((char *)slide,
+-          LoadFarString(NotEnoughMemCover)));
++          LoadFarString(NotEnoughMemCover)));
+         return PK_MEM;
+-    }
+-    if ((G.extra_bytes != 0 &&
+-         cover_add((cover_t *)G.cover, 0, G.extra_bytes) != 0) ||
+-        (G.ecrec.have_ecr64 &&
+-         cover_add((cover_t *)G.cover, G.ecrec.ec64_start,
+-                   G.ecrec.ec64_end) != 0) ||
+-        cover_add((cover_t *)G.cover, G.ecrec.ec_start,
+-                  G.ecrec.ec_end) != 0) {
++    }
++    if ((G.extra_bytes != 0 &&
++         cover_add((cover_t *)G.cover, 0, G.extra_bytes) != 0) ||
++        (G.ecrec.have_ecr64 &&
++         cover_add((cover_t *)G.cover, G.ecrec.ec64_start,
++                   G.ecrec.ec64_end) != 0) ||
++        cover_add((cover_t *)G.cover, G.ecrec.ec_start,
++                  G.ecrec.ec_end) != 0) {
+         Info(slide, 0x401, ((char *)slide,
+-          LoadFarString(OverlappedComponents)));
++          LoadFarString(OverlappedComponents)));
+         return PK_BOMB;
++      }
+     }
+ /*---------------------------------------------------------------------------
+@@ -1222,10 +1225,12 @@ static int extract_or_test_entrylist(__G__ numchunk,
+         /* seek_zipf(__G__ pInfo->offset);  */
+         request = G.pInfo->offset + G.extra_bytes;
+-        if (cover_within((cover_t *)G.cover, request)) {
++        if (uO.zipbomb == TRUE) {
++          if (cover_within((cover_t *)G.cover, request)) {
+             Info(slide, 0x401, ((char *)slide,
+-              LoadFarString(OverlappedComponents)));
++              LoadFarString(OverlappedComponents)));
+             return PK_BOMB;
++          }
+         }
+         inbuf_offset = request % INBUFSIZ;
+         bufstart = request - inbuf_offset;
+@@ -1758,17 +1763,19 @@ reprompt:
+             return IZ_CTRLC;        /* cancel operation by user request */
+         }
+ #endif
+-        error = cover_add((cover_t *)G.cover, request,
+-                          G.cur_zipfile_bufstart + (G.inptr - G.inbuf));
+-        if (error < 0) {
++        if (uO.zipbomb == TRUE) {
++          error = cover_add((cover_t *)G.cover, request,
++                            G.cur_zipfile_bufstart + (G.inptr - G.inbuf));
++          if (error < 0) {
+             Info(slide, 0x401, ((char *)slide,
+-              LoadFarString(NotEnoughMemCover)));
++                                LoadFarString(NotEnoughMemCover)));
+             return PK_MEM;
+-        }
+-        if (error != 0) {
++          }
++          if (error != 0) {
+             Info(slide, 0x401, ((char *)slide,
+-              LoadFarString(OverlappedComponents)));
++                                LoadFarString(OverlappedComponents)));
+             return PK_BOMB;
++          }
+         }
+ #ifdef MACOS  /* MacOS is no preemptive OS, thus call event-handling by hand */
+         UserStop();
+@@ -2171,8 +2178,8 @@ static int extract_or_test_member(__G)    /* return PK-type error code */
+     }
+     undefer_input(__G);
+-
+-    if ((G.lrec.general_purpose_bit_flag & 8) != 0) {
++    if (uO.zipbomb == TRUE) {
++      if ((G.lrec.general_purpose_bit_flag & 8) != 0) {
+         /* skip over data descriptor (harder than it sounds, due to signature
+          * ambiguity)
+          */
+@@ -2189,16 +2196,16 @@ static int extract_or_test_member(__G)    /* return PK-type error code */
+               ((G.lrec.csize & LOW) != SIG ||   /* if not SIG, have signature */
+                (ulen == SIG &&                  /* if not SIG, no signature */
+                 (G.pInfo->zip64 ? G.lrec.csize >> 32 : G.lrec.ucsize) != SIG
+-                                                /* if not SIG, have signature */
++                /* if not SIG, have signature */
+                 )))))
+-                   /* skip four more bytes to account for signature */
+-                   shy += 4 - readbuf((char *)buf, 4);
++          /* skip four more bytes to account for signature */
++          shy += 4 - readbuf((char *)buf, 4);
+         if (G.pInfo->zip64)
+-            shy += 8 - readbuf((char *)buf, 8); /* skip eight more for ZIP64 */
++          shy += 8 - readbuf((char *)buf, 8); /* skip eight more for ZIP64 */
+         if (shy)
+-            error = PK_ERR;
++          error = PK_ERR;
++      }
+     }
+-
+     return error;
+ } /* end function extract_or_test_member() */
+diff --git a/unzip.c b/unzip.c
+index 8dbfc95..abb3644 100644
+--- a/unzip.c
++++ b/unzip.c
+@@ -1329,10 +1329,9 @@ int uz_opts(__G__ pargc, pargv)
+     int *pargc;
+     char ***pargv;
+ {
+-    char **argv, *s;
++    char **argv, *s, *zipbomb_envar;
+     int argc, c, error=FALSE, negative=0, showhelp=0;
+-
+     argc = *pargc;
+     argv = *pargv;
+@@ -1923,6 +1922,18 @@ opts_done:  /* yes, very ugly...but only used by UnZipSFX with -x xlist */
+     else
+         G.extract_flag = TRUE;
++    /* Disable the zipbomb detection, this is the only option set only via the shell variables but it should at least not clash with something in the future. */
++    zipbomb_envar = getenv("UNZIP_DISABLE_ZIPBOMB_DETECTION");
++    uO.zipbomb = TRUE;
++    if (zipbomb_envar != NULL) {
++      /* strcasecmp might be a better approach here but it is POSIX-only */
++      if ((strcmp ("TRUE", zipbomb_envar) == 0)
++       || (strcmp ("True", zipbomb_envar) == 0)
++       || (strcmp ("true",zipbomb_envar) == 0)) {
++        uO.zipbomb = FALSE;
++      }
++    }
++
+     *pargc = argc;
+     *pargv = argv;
+     return PK_OK;
+diff --git a/unzip.h b/unzip.h
+index ed24a5b..e7665e8 100644
+--- a/unzip.h
++++ b/unzip.h
+@@ -559,6 +559,7 @@ typedef struct _UzpOpts {
+ #ifdef UNIX
+     int cflxflag;       /* -^: allow control chars in extracted filenames */
+ #endif
++  int zipbomb;
+ #endif /* !FUNZIP */
+ } UzpOpts;
+-- 
+2.33.0
+
index ea4581544779d4344fb9b42c1cfdef98196990b6..664790074e567298f5d61a076a807bad711180fb 100644 (file)
@@ -5,10 +5,11 @@
 
 name       = unzip
 version    = 6.0
-release    = 5
+release    = 6
+thisapp    = %{name}60
 
 groups     = Applications/Archiving
-url        = ftp://ftp.info-zip.org/pub/infozip/src/
+url        = https://infozip.sourceforge.net/UnZip.html
 license    = BSD
 summary    = A utility for unpacking zip files.
 
@@ -21,14 +22,53 @@ description
        in some respects.
 end
 
-thisapp    = %{name}60
 
-source_dl += ftp://ftp.info-zip.org/pub/infozip/src/
-sources    = %{thisapp}.tgz
+source_dl += https://downloads.sourceforge.net/infozip/
+
+patches
+       unzip-6.0-bzip2-configure.patch
+       unzip-6.0-exec-shield.patch
+       unzip-6.0-close.patch
+       unzip-6.0-attribs-overflow.patch
+       unzip-6.0-configure.patch
+       unzip-6.0-manpage-fix.patch
+       unzip-6.0-fix-recmatch.patch
+       unzip-6.0-symlink.patch
+       unzip-6.0-caseinsensitive.patch
+       unzip-6.0-format-secure.patch
+       unzip-6.0-valgrind.patch
+       unzip-6.0-x-option.patch
+       unzip-6.0-overflow.patch
+       unzip-6.0-cve-2014-8139.patch
+       unzip-6.0-cve-2014-8140.patch
+       unzip-6.0-cve-2014-8141.patch
+       unzip-6.0-overflow-long-fsize.patch
+       unzip-6.0-heap-overflow-infloop.patch
+       unzip-6.0-alt-iconv-utf8.patch
+       unzip-6.0-alt-iconv-utf8-print.patch
+       0001-Fix-CVE-2016-9844-rhbz-1404283.patch
+       unzip-6.0-timestamp.patch
+       unzip-6.0-cve-2018-1000035-heap-based-overflow.patch
+       unzip-6.0-cve-2018-18384.patch
+       unzip-6.0-COVSCAN-fix-unterminated-string.patch
+       unzip-zipbomb-part1.patch
+       unzip-zipbomb-part2.patch
+       unzip-zipbomb-part3.patch
+       unzip-zipbomb-manpage.patch
+       unzip-zipbomb-part4.patch
+       unzip-zipbomb-part5.patch
+       unzip-zipbomb-part6.patch
+       unzip-zipbomb-switch.patch
+       unzip-gnu89-build.patch
+end
 
 CFLAGS    += -D_LARGEFILE64_SOURCE
 
 build
+       requires
+               bzip2-devel
+       end
+
        DIR_APP = %{DIR_SRC}/%{thisapp}
 
        build
index af02b40befe6096d87be9aefb05724cb33aacbde..bcf9a4eda1327b68fa9141cc7d35233cb6b9ce01 100644 (file)
@@ -4,12 +4,11 @@
 ###############################################################################
 
 name       = usb-modeswitch-data
-version    = 20111023
+version    = 20191128
 release    = 1
-arch       = noarch
 
 groups     = Applications/System
-url        = http://www.draisberghof.de/usb_modeswitch
+url        = https://www.draisberghof.de/usb_modeswitch
 license    = GPLv2
 summary    = A USB mode switching tool.
 
@@ -18,21 +17,17 @@ description
        "flip flop" (multiple device) USB gear.
 end
 
-source_dl  = http://www.draisberghof.de/usb_modeswitch/
+source_dl  = https://www.draisberghof.de/usb_modeswitch/
 sources    = %{thisapp}.tar.bz2
 
 build
+       arches = noarch
+
        build
                # Nothing to do here.
        end
 
-       install
-               mkdir -pv %{BUILDROOT}/etc/usb_modeswitch.d/
-               mkdir -pv %{BUILDROOT}/lib/udev/rules.d/
-
-               install -p -m 644 usb_modeswitch.d/* %{BUILDROOT}/etc/usb_modeswitch.d/
-               install -p -m 644 40-usb_modeswitch.rules %{BUILDROOT}/lib/udev/rules.d/
-       end
+       make_install_targets += RULESDIR="%{BUILDROOT}%{prefix}/lib/udev/rules.d"
 end
 
 packages
index 2e8ebada35dd307c04c12ea370b6a77f7641b271..93799e8966d5e0a7651df81f6dd283d967432eff 100644 (file)
@@ -4,31 +4,40 @@
 ###############################################################################
 
 name       = usb-modeswitch
-version    = 1.2.0
+version    = 2.6.0
 release    = 1
 
 groups     = Applications/System
-url        = http://www.draisberghof.de/usb_modeswitch
+url        = https://www.draisberghof.de/usb_modeswitch
 license    = GPLv2
-summary    = A USB mode switching tool.
+summary    = A USB mode switching tool
 
 description
        USB_ModeSwitch is (surprise!) a mode switching tool for controlling
        "flip flop" (multiple device) USB gear.
 end
 
-source_dl  = http://www.draisberghof.de/usb_modeswitch/
+source_dl  = https://www.draisberghof.de/usb_modeswitch/
 sources    = %{thisapp}.tar.bz2
 
 build
        requires
-               libusb-compat-devel
+               libusb-devel
+               systemd-devel
+               tcl
        end
+
+       make_install_targets += \
+               SYSDIR="%{BUILDROOT}%{unitdir}" \
+               UDEVDIR="%{BUILDROOT}%{prefix}/lib/udev"
 end
 
 packages
        package %{name}
-               requires += usb-modeswitch-data
+               requires
+                       tcl
+                       usb-modeswitch-data
+               end
        end
 
        package %{name}-debuginfo
diff --git a/usbutils/patches/usbutils-003-hwdata.patch b/usbutils/patches/usbutils-003-hwdata.patch
deleted file mode 100644 (file)
index 4a08c48..0000000
+++ /dev/null
@@ -1,79 +0,0 @@
---- usbutils-003/Makefile.am   2011-03-22 00:23:33.000000000 +0100
-+++ usbutils-003_/Makefile.am  2011-06-16 15:41:20.927882420 +0200
-@@ -4,15 +4,9 @@
- AM_LDFLAGS = \
-       -Wl,--as-needed
--data_DATA = \
--      usb.ids
--
- bin_PROGRAMS = \
-       lsusb
--sbin_SCRIPTS = \
--      update-usbids.sh
--
- bin_SCRIPTS = \
-       usb-devices \
-       lsusb.py
-@@ -27,37 +21,22 @@
- lsusb_CPPFLAGS = \
-       $(AM_CPPFLAGS) $(LIBUSB_CFLAGS) \
--      -DDATADIR=\"$(datadir)\"
-+      -DDATADIR=\"$(datadir)/hwdata\"
- lsusb_LDADD = \
-       $(LIBUSB_LIBS)
--if HAVE_ZLIB
--data_DATA += usb.ids.gz
--lsusb_CPPFLAGS += -DHAVE_LIBZ
--lsusb_LDADD += -lz
--endif
--
- man_MANS = \
-       lsusb.8 \
-       usb-devices.1
- EXTRA_DIST = \
--      usb.ids \
--      update-usbids.sh.in \
-       lsusb.8.in \
-       usb-devices.1.in \
-       usb-devices \
-       lsusb.py \
-       usbutils.pc.in
--usb.ids.gz: $(srcdir)/usb.ids
--      gzip -c -9 $< > $@
--
--update-usbids.sh: $(srcdir)/update-usbids.sh.in
--      sed 's|@usbids@|$(datadir)/usb.ids|g' $< >$@
--      chmod 755 $@
--
- lsusb.8: $(srcdir)/lsusb.8.in
-       sed 's|VERSION|$(VERSION)|g;s|@usbids@|$(datadir)/usb.ids|g' $< >$@
-@@ -71,10 +50,8 @@
-       sed 's|@usbids@|$(datadir)/usb.ids|g;s|@VERSION[@]|$(VERSION)|g' $< >$@
- DISTCLEANFILES = \
--      usb.ids.gz \
-       lsusb.8 \
-       usb-devices.1 \
--      update-usbids.sh \
-       usbutils.pc
- distclean-local:
---- usbutils-003/lsusb.py      2010-12-16 01:07:09.000000000 +0100
-+++ usbutils-003_/lsusb.py     2011-08-11 09:57:57.079327430 +0200
-@@ -16,7 +16,7 @@
- warnsort = False
- prefix = "/sys/bus/usb/devices/"
--usbids = "/usr/share/usb.ids"
-+usbids = "/usr/share/hwdata/usb.ids"
- esc = chr(27)
- norm = esc + "[0;0m"
diff --git a/usbutils/patches/usbutils-make-hwdata.patch b/usbutils/patches/usbutils-make-hwdata.patch
deleted file mode 100644 (file)
index 862c7fc..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-diff -up usbutils-004/Makefile.am.orig usbutils-004/Makefile.am
---- usbutils-004/Makefile.am.orig      2011-09-20 09:42:04.282566870 +0200
-+++ usbutils-004/Makefile.am   2011-09-20 09:42:41.399102845 +0200
-@@ -38,7 +38,7 @@ EXTRA_DIST = \
-       usbutils.pc.in
- lsusb.8: $(srcdir)/lsusb.8.in
--      sed 's|VERSION|$(VERSION)|g;s|@usbids@|$(datadir)/usb.ids|g' $< >$@
-+      sed 's|VERSION|$(VERSION)|g;s|@usbids@|$(datadir)/hwdata/usb.ids|g' $< >$@
- usb-devices.1: $(srcdir)/usb-devices.1.in
-       sed 's|VERSION|$(VERSION)|g' $< >$@
-@@ -47,7 +47,7 @@ pkgconfigdir = $(datarootdir)/pkgconfig
- pkgconfig_DATA = usbutils.pc
- usbutils.pc: $(srcdir)/usbutils.pc.in
--      sed 's|@usbids@|$(datadir)/usb.ids|g;s|@VERSION[@]|$(VERSION)|g' $< >$@
-+      sed 's|@usbids@|$(datadir)/hwdata/usb.ids|g;s|@VERSION[@]|$(VERSION)|g' $< >$@
- DISTCLEANFILES = \
-       lsusb.8 \
index a54a78c0dd5b7758fec8ef89c3b8ef0207a41e80..e3ed59defd50781ed8271dc90de3a1867239f434 100644 (file)
@@ -4,12 +4,11 @@
 ###############################################################################
 
 name       = usbutils
-epoch      = 1
-version    = 005
-release    = 4
+version    = 017
+release    = 1
 
 groups     = System/Tools
-url        = http://www.linux-usb.org/
+url        = https://www.linux-usb.org/
 license    = GPLv2
 summary    = Tool to provide and enhance USB support in Linux.
 
@@ -17,21 +16,18 @@ description
        A set of tools to configure list USB Devices.
 end
 
-source_dl  = http://www.kernel.org/pub/linux/utils/usb/usbutils/
+source_dl  = https://www.kernel.org/pub/linux/utils/usb/usbutils/
 
 build
        requires
                autoconf
                automake
                hwdata
+               libudev-devel
                libusb-devel
                zlib-devel
        end
 
-       prepare_cmds
-               ./autogen.sh
-       end
-
        install_cmds
                # Removing lsusb.py.
                rm -rfv %{BUILDROOT}/usr/bin/lsusb.py
diff --git a/ustr/patches/c99-inline.patch b/ustr/patches/c99-inline.patch
deleted file mode 100644 (file)
index dfa021f..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-diff -rup ustr-1.0.4-orig/ustr-compiler.h ustr-1.0.4/ustr-compiler.h
---- ustr-1.0.4-orig/ustr-compiler.h    2008-02-15 15:12:28.000000000 -0500
-+++ ustr-1.0.4/ustr-compiler.h 2008-06-13 15:25:18.000000000 -0400
-@@ -113,17 +113,23 @@
- #endif
- #ifndef USTR_CONF_EI_PROTO /* external inline */
--# if USTR_CONF_INCLUDE_CODEONLY_HEADERS
-+# if USTR_CONF_INCLUDE_CODEONLY_HEADERS || ! defined(__GNUC__) || \
-+     ! USTR_CONF_COMPILE_USE_INLINE
- #  define USTR_CONF_EI_PROTO static USTR__INLINE
- # else
- #  define USTR_CONF_EI_PROTO extern
- # endif
- #endif
- #ifndef USTR_CONF_II_PROTO /* implementation of inline */
--# if USTR_CONF_INCLUDE_CODEONLY_HEADERS
-+# if USTR_CONF_INCLUDE_CODEONLY_HEADERS || ! defined(__GNUC__) || \
-+     ! USTR_CONF_COMPILE_USE_INLINE
- #  define USTR_CONF_II_PROTO static USTR__INLINE
- # else
--#  define USTR_CONF_II_PROTO extern inline
-+#  if defined(__GNUC_STDC_INLINE__) || defined(__GNUC_GNU_INLINE__)
-+#   define USTR_CONF_II_PROTO extern inline __attribute__ ((__gnu_inline__))
-+#  else
-+#   define USTR_CONF_II_PROTO extern inline
-+#  endif
- # endif
- #endif
diff --git a/ustr/ustr.nm b/ustr/ustr.nm
deleted file mode 100644 (file)
index 9e12f8e..0000000
+++ /dev/null
@@ -1,56 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = ustr
-version    = 1.0.4
-release    = 3.1
-
-groups     = System/Libraries
-url        = http://www.and.org/ustr/
-license    = MIT or LGPLv2+ or BSD
-summary    = String library, very low memory overhead, simple to import.
-
-description
-       Micro string library, with very low overhead.
-end
-
-source_dl  = http://www.and.org/ustr/%{version}/
-sources    = %{thisapp}.tar.bz2
-
-build
-       CFLAGS += -fgnu89-inline
-
-       make_build_targets += \
-               all-shared \
-               CFLAGS="%{CFLAGS}" \
-               LDFLAGS="%{LDFLAGS}"
-
-       test
-               make check
-       end
-
-       make_install_targets += libdir=%{libdir}
-
-       install_cmds
-               rm -rf %{BUILDROOT}/usr/share
-               rm -rf %{BUILDROOT}/usr/lib*/pkgconfig/*debug*
-               rm -rf %{BUILDROOT}/lib/*debug*
-               rm -rf %{BUILDROOT}/usr/lib*/*debug*
-       end
-end
-
-packages
-       package %{name}
-
-       package %{name}-devel
-               template DEVEL
-
-               files += %{bindir}
-       end
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
diff --git a/util-linux/nologin.8 b/util-linux/nologin.8
deleted file mode 100644 (file)
index 5cb1601..0000000
+++ /dev/null
@@ -1,63 +0,0 @@
-.\"    $OpenBSD: nologin.8,v 1.8 1999/06/04 02:45:19 aaron Exp $
-.\"    $NetBSD: nologin.8,v 1.3 1995/03/18 14:59:09 cgd Exp $
-.\"
-.\" Copyright (c) 1993
-.\"    The Regents of the University of California.  All rights reserved.
-.\"
-.\" Redistribution and use in source and binary forms, with or without
-.\" modification, are permitted provided that the following conditions
-.\" are met:
-.\" 1. Redistributions of source code must retain the above copyright
-.\"    notice, this list of conditions and the following disclaimer.
-.\" 2. Redistributions in binary form must reproduce the above copyright
-.\"    notice, this list of conditions and the following disclaimer in the
-.\"    documentation and/or other materials provided with the distribution.
-.\" 3. All advertising materials mentioning features or use of this software
-.\"    must display the following acknowledgement:
-.\"    This product includes software developed by the University of
-.\"    California, Berkeley and its contributors.
-.\" 4. Neither the name of the University nor the names of its contributors
-.\"    may be used to endorse or promote products derived from this software
-.\"    without specific prior written permission.
-.\"
-.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
-.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
-.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-.\" SUCH DAMAGE.
-.\"
-.\"     @(#)nologin.8  8.1 (Berkeley) 6/19/93
-.\"
-.Dd February 15, 1997
-.Dt NOLOGIN 8
-.Os
-.Sh NAME
-.Nm nologin
-.Nd politely refuse a login
-.Sh SYNOPSIS
-.Nm nologin
-.Sh DESCRIPTION
-.Nm
-displays a message that an account is not available and
-exits non-zero.
-It is intended as a replacement shell field for accounts that
-have been disabled.
-.Pp
-If the file
-.Pa /etc/nologin.txt
-exists,
-.Nm
-displays its contents to the user instead of the default message.
-.Sh SEE ALSO
-.Xr login 1
-.Sh HISTORY
-The
-.Nm
-command appeared in
-.Bx 4.4 .
diff --git a/util-linux/nologin.c b/util-linux/nologin.c
deleted file mode 100644 (file)
index 8a51ba9..0000000
+++ /dev/null
@@ -1,58 +0,0 @@
-/*     $OpenBSD: nologin.c,v 1.2 1997/04/04 16:51:37 millert Exp $     */
-
-/*
- * Copyright (c) 1997, Jason Downs.  All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) ``AS IS'' AND ANY EXPRESS
- * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY DIRECT,
- * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
- * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-
-#include <sys/types.h>
-#include <fcntl.h>
-#include <string.h>
-#include <unistd.h>
-#include <stdlib.h>
-
-/* Distinctly different from _PATH_NOLOGIN. */
-#define _PATH_NOLOGIN_TXT      "/etc/nologin.txt"
-
-#define DEFAULT_MESG   "This account is currently not available.\n"
-
-/*ARGSUSED*/
-int main(argc, argv)
-       int argc;
-       char *argv[];
-{
-       int nfd, nrd;
-       char nbuf[128];
-
-       nfd = open(_PATH_NOLOGIN_TXT, O_RDONLY);
-       if (nfd < 0) {
-               write(STDOUT_FILENO, DEFAULT_MESG, strlen(DEFAULT_MESG));
-               exit (1);
-       }
-
-       while ((nrd = read(nfd, nbuf, sizeof(nbuf))) > 0)
-               write(STDOUT_FILENO, nbuf, nrd);
-       close (nfd);
-
-       exit (1);
-}
index 7a1e66a2c1cebe5e8d46cfbd44c56d3c75bc3e5c..d5eedeb89c1e1f9ea5c38202ffaa6ba564baa0ad 100644 (file)
@@ -4,8 +4,9 @@
 ###############################################################################
 
 name       = util-linux
-version    = 2.34
-release    = 2
+ver_maj    = 2.39
+version    = %{ver_maj}.2
+release    = 3
 
 maintainer = Stefan Schantl <stefan.schantl@ipfire.org>
 groups     = System/Base
@@ -20,16 +21,17 @@ description
        program.
 end
 
-source_dl  = https://www.kernel.org/pub/linux/utils/%{name}/v%{version}/
+source_dl  = https://www.kernel.org/pub/linux/utils/%{name}/v%{ver_maj}/
 
 build
        requires
                autoconf >= 1.16
-               automake >= 1.15
+               automake >= 1.16
                coreutils >= 8.19
                gettext
                libcap-devel
                libcap-ng-devel
+               libxcrypt-devel
                libudev-devel
                ncurses-devel
                pam-devel
@@ -52,6 +54,7 @@ build
                --enable-write \
                --enable-runuser \
                --enable-su \
+               --enable-sulogin \
                --with-systemd \
                --with-udev \
                --disable-makeinstall-chown \
@@ -64,22 +67,13 @@ build
                        -i $(grep -rl '/etc/adjtime' .)
        end
 
-       # Build nolodin
-       build_cmds
-               gcc %{CFLAGS} %{LDFLAGS} -o nologin %{DIR_SOURCE}/nologin.c
-       end
-
        install_cmds
                mkdir -pv \
                        %{BUILDROOT}/var/lib/libuuid \
                        %{BUILDROOT}/var/lib/hwclock \
                        %{BUILDROOT}/usr/share/man/man8 \
-                       %{BUILDROOT}/run/uuidd \
                        %{BUILDROOT}/var/log
 
-               install -m 755 %{DIR_APP}/nologin %{BUILDROOT}%{sbindir}
-               install -m 644 %{DIR_SOURCE}/nologin.8 %{BUILDROOT}/usr/share/man/man8/
-
                touch %{BUILDROOT}/var/log/lastlog
 
                # Remove deprecated commands
@@ -104,8 +98,6 @@ end
 
 packages
        package %{name}
-               groups += Base
-
                requires
                        /etc/pam.d/system-auth
                end
@@ -284,7 +276,7 @@ packages
        end
 
        # Package information for libfdisk-devel.
-       package libfidsk-devel
+       package libfdisk-devel
                summary = Development library and headers of libfdisk.
                description = %{summary}
 
@@ -303,8 +295,6 @@ packages
                        SMP systems.
                end
 
-               groups += Base
-
                files
                        %{sbindir}/uuidd
                        %{mandir}/man8/uuidd.8*
index fac47145e0fef34bb64c8cdd649452bfecaf907e..31dd804a80ad503afb0ef3d0b2b4d7a88147a559 100644 (file)
@@ -4,15 +4,15 @@
 ###############################################################################
 
 name       = vala
-ver_major  = 0.32
-ver_minor  = 0
+ver_major  = 0.56
+ver_minor  = 13
 version    = %{ver_major}.%{ver_minor}
 release    = 1
 
 groups     = Development/Languages
 url        = http://live.gnome.org/Vala
 license    = LGPLv2+ and BSD
-summary    = A modern programming language.
+summary    = A modern programming language
 
 description
        Vala is a new programming language that aims to bring modern
@@ -21,7 +21,7 @@ description
        ABI compared to applications and libraries written in C.
 end
 
-source_dl  = http://artfiles.org/gnome.org/sources/vala/0.32/
+source_dl  = https://download.gnome.org/sources/vala/%{ver_major}/
 sources    = %{thisapp}.tar.xz
 
 build
@@ -30,6 +30,7 @@ build
                dbus
                dbus-glib-devel
                flex
+               graphviz-devel
                pkg-config
        end
 
diff --git a/vim/patches/vim-8.0-rhbz1365258.patch b/vim/patches/vim-8.0-rhbz1365258.patch
deleted file mode 100644 (file)
index 85498db..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -up vim80/runtime/syntax/fstab.vim.1365258 vim80/runtime/syntax/fstab.vim
---- vim80/runtime/syntax/fstab.vim.1365258     2016-12-15 10:56:25.822410344 +0100
-+++ vim80/runtime/syntax/fstab.vim     2016-12-15 10:56:52.161519612 +0100
-@@ -36,6 +36,8 @@ syn match fsOperator /[,=:#]/
- syn cluster fsDeviceCluster contains=fsOperator,fsDeviceKeyword,fsDeviceError
- syn match fsDeviceError /\%([^a-zA-Z0-9_\/#@:\.-]\|^\w\{-}\ze\W\)/ contained
- syn keyword fsDeviceKeyword contained none proc linproc tmpfs devpts devtmpfs sysfs usbfs
-+syn keyword fsDeviceKeyword contained PARTLABEL nextgroup=fsDeviceLabel
-+syn keyword fsDeviceKeyword contained PARTUUID nextgroup=fsDeviceUUID
- syn keyword fsDeviceKeyword contained LABEL nextgroup=fsDeviceLabel
- syn keyword fsDeviceKeyword contained UUID nextgroup=fsDeviceUUID
- syn keyword fsDeviceKeyword contained sshfs nextgroup=fsDeviceSshfs
index d1a86190f5e89682653edae7d2f37d50bf76758a..2736125e1ffc770f26ca7ecb9b0b8fa4f4123d25 100644 (file)
@@ -4,9 +4,9 @@
 ###############################################################################
 
 name       = vim
-major_ver  = 8
+major_ver  = 9
 minor_ver  = 0
-patchlevel = 1184
+patchlevel = 2134
 version    = %{major_ver}.%{minor_ver}.%{patchlevel}
 release    = 1
 
@@ -44,6 +44,9 @@ build
                echo '#define SYS_VIMRC_FILE "%{sysconfdir}/vimrc"' >> src/feature.h
        end
 
+       make_install_targets += \
+               STRIP=/usr/bin/true
+
        install_cmds
                ln -sfv vim %{BUILDROOT}%{bindir}/vi
 
diff --git a/wavemon/wavemon.nm b/wavemon/wavemon.nm
deleted file mode 100644 (file)
index 1ec862c..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = wavemon
-version    = 0.7.4
-release    = 1
-
-groups     = Applications/Internet
-url        = http://eden-feed.erg.abdn.ac.uk/wavemon/
-license    = GPLv2+
-summary    = Ncurses-based monitoring application for wireless network devices.
-
-description
-       wavemon is a wireless device monitoring application that allows you to
-       watch all important information like device configuration, encryption,
-       and power management parameters and network information at once.
-       Adaptive level bargraphs for link quality, signal/noise strength and
-       signal-to-noise ratio.  The customizeable "level alarm" feature that
-       notices the user of changes in signal level strength audibly and/or
-       visually. wavemon is able to list of access points in range and shows
-       full-screen level histogram displaying signal/noise levels and SNR.
-end
-
-source_dl  = http://eden-feed.erg.abdn.ac.uk/wavemon/stable-releases/
-sources    = %{thisapp}.tar.bz2
-
-build
-       requires
-               ncurses-devel
-       end
-end
-
-packages
-       package %{name}
-               requires = wireless-tools
-       end
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
index f0a664df8358fe8d95fbbe2cb90d6d3c7fbdf49e..f268ce0eb12fcc5993e39ccbd122e23f4f0c5368 100644 (file)
@@ -4,7 +4,7 @@
 ###############################################################################
 
 name       = wget
-version    = 1.20.1
+version    = 1.21.4
 release    = 1
 
 groups     = Applications/Internet
@@ -30,7 +30,7 @@ build
        end
 
        export CPPFLAGS = %(pkg-config --cflags openssl)
-       export LDFLAGS += %(pkg-config --libs openssl)
+       LDFLAGS += %(pkg-config --libs openssl)
 
        configure_options += \
                --with-ssl=openssl \
index 3f9a756b1d09387b6ef10d6c5017811c6b660438..d5f6291a00e7f187c426cb6ecebe0de1aa3412e9 100644 (file)
@@ -4,25 +4,23 @@
 ###############################################################################
 
 name       = which
-version    = 2.20
-release    = 2
+version    = 2.21
+release    = 1
 
 groups     = Applications/System
-url        = http://www.xs4all.nl/~carlo17/which/
+url        = https://carlowood.github.io/which/
 license    = GPLv3
-summary    = Displays where a particular program in your path is located.
+summary    = Displays where a particular program in your path is located
 
 description
        The which command shows the full pathname of a specified program, if
        the specified program is in your PATH.
 end
 
-source_dl  = http://carlo17.home.xs4all.nl/which/
+source_dl  = https://carlowood.github.io/which/
 
 packages
        package %{name}
-               groups += Base Build
-       end
 
        package %{name}-debuginfo
                template DEBUGINFO
diff --git a/whois/whois.nm b/whois/whois.nm
new file mode 100644 (file)
index 0000000..eba84af
--- /dev/null
@@ -0,0 +1,59 @@
+###############################################################################
+# IPFire.org    - An Open Source Firewall Solution                            #
+# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
+###############################################################################
+
+name       = whois
+version    = 5.5.18
+release    = 1
+
+groups     = Applications/Internet
+url        = https://github.com/rfc1036/whois
+license    = GPLv2
+summary    = Intelligent WHOIS client.
+
+description
+               whois searches for an object in a RFC 3912 database.
+
+               This version of the whois client tries to guess the right server to
+               ask for the specified object. If no guess can be made it will connect to
+               whois.networksolutions.com
+end
+
+source_dl  = https://github.com/rfc1036/whois/archive/refs/tags/v%{version}.tar.gz#/
+sources    = %{thisapp}.tar.gz
+
+build
+       requires
+               libidn2-devel
+               libxcrypt-devel
+               perl
+               perl(autodie)
+               perl(strict)
+               perl(warnings)
+       end
+
+       build
+               make \
+                       CONFIG_FILE="%{sysconfdir}/%{name}.conf" \
+                       HAVE_ICONV=1 \
+                       CFLAGS="%{CFLAGS}" \
+                       LDFLAGS="%{LDFLAGS}"
+       end
+
+       # Only install the whois tool.
+       make_install_targets = install-whois
+
+       install_cmds
+               # Install config file.
+               install -p -m644 -D %{name}.conf %{BUILDROOT}%{sysconfdir}/%{name}.conf
+       end
+end
+
+packages
+       package %{name}
+
+       package %{name}-debuginfo
+               template DEBUGINFO
+       end
+end
diff --git a/wireguard-tools/wireguard-tools.nm b/wireguard-tools/wireguard-tools.nm
new file mode 100644 (file)
index 0000000..9ce4df2
--- /dev/null
@@ -0,0 +1,45 @@
+###############################################################################
+# IPFire.org    - An Open Source Firewall Solution                            #
+# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
+###############################################################################
+
+name       = wireguard-tools
+version    = 1.0.20210914
+release    = 2
+
+groups     = Networking/VPN
+url        = https://www.wireguard.com/
+license    = GPLv2+
+summary    = WireGuard: fast, modern, secure VPN tunnel
+
+description
+       WireGuard is an extremely simple yet fast and modern VPN that
+       utilizes state-of-the-art cryptography. It aims to be faster, simpler,
+       leaner, and more useful than IPsec, while avoiding the massive
+       headache. It intends to be considerably more performant than OpenVPN.
+       WireGuard is designed as a general purpose VPN for running on embedded
+       interfaces and super computers alike, fit for many different
+       circumstances. Initially released for the Linux kernel, it is now
+       cross-platform (Windows, macOS, BSD, iOS, Android) and widely
+       deployable. It is currently under heavy development, but already it
+       might be regarded as the most secure, easiest to use, and simplest VPN
+       solution in the industry.
+end
+
+source_dl  = https://git.zx2c4.com/wireguard-tools/snapshot/
+sources    = %{thisapp}.tar.xz
+
+build
+       DIR_BUILD = %{DIR_APP}/src
+
+       # Disable wg-quick
+       export WITH_WGQUICK = no
+end
+
+packages
+       package %{name}
+
+       package %{name}-debuginfo
+               template DEBUGINFO
+       end
+end
diff --git a/wireless-regdb/wireless-regdb.nm b/wireless-regdb/wireless-regdb.nm
new file mode 100644 (file)
index 0000000..5cc024d
--- /dev/null
@@ -0,0 +1,47 @@
+###############################################################################
+# IPFire.org    - An Open Source Firewall Solution                            #
+# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
+###############################################################################
+
+name       = wireless-regdb
+version    = 2023.09.01
+release    = 1
+
+maintainer = Arne Fitzenreiter <arne.fitzenreiter@ipfire.org>
+groups     = Network/Wireless
+url        = https://wireless.wiki.kernel.org/en/developers/regulatory/wireless-regdb
+license    = ISC
+summary    = Regulatory database for 802.11 wireless networking
+
+description
+       The wireless-regdb package provides the regulatory rules database
+       used by the kernels 802.11 networking stack in order to comply 
+       with radio frequency regulatory rules around the world.
+end
+
+source_dl  = https://www.kernel.org/pub/software/network/wireless-regdb/
+sources    = %{thisapp}.tar.xz
+
+build
+       arches = noarch
+
+       requires
+               systemd-devel
+       end
+
+       build
+               : # Nothing to do
+       end
+
+       install
+               make install \
+                       DESTDIR="%{BUILDROOT}" \
+                       PREFIX="%{prefix}" \
+                       MANDIR="%{mandir}" \
+                       FIRMWARE_PATH="/usr/lib/firmware"
+       end
+end
+
+packages
+       package %{name}
+end
diff --git a/wireless-tools/patches/wireless_tools.29-makefile.patch b/wireless-tools/patches/wireless_tools.29-makefile.patch
deleted file mode 100644 (file)
index 27df160..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
---- wireless_tools.29/Makefile.makefile        2007-04-19 19:42:23.000000000 -0400
-+++ wireless_tools.29/Makefile 2007-05-22 17:31:53.000000000 -0400
-@@ -101,12 +101,15 @@ ifdef BUILD_WE_ESSENTIAL
-   WEDEF_FLAG= -DWE_ESSENTIAL=y
- endif
-+ifndef OPT_FLAGS
-+  OPT_FLAGS=
-+endif
- # Other flags
- CFLAGS=-Os -W -Wall -Wstrict-prototypes -Wmissing-prototypes -Wshadow \
-       -Wpointer-arith -Wcast-qual -Winline -I.
- #CFLAGS=-O2 -W -Wall -Wstrict-prototypes -I.
- DEPFLAGS=-MMD
--XCFLAGS=$(CFLAGS) $(DEPFLAGS) $(WARN) $(HEADERS) $(WELIB_FLAG) $(WEDEF_FLAG)
-+XCFLAGS=$(CFLAGS) $(DEPFLAGS) $(WARN) $(HEADERS) $(WELIB_FLAG) $(WEDEF_FLAG) $(OPT_FLAGS)
- PICFLAG=-fPIC
- # Standard compilation targets
-@@ -146,6 +149,7 @@ wireless.h:
- # Compilation of the dynamic library
- $(DYNAMIC): $(OBJS:.o=.so)
-       $(CC) -shared -o $@ -Wl,-soname,$@ $(STRIPFLAGS) $(LIBS) -lc $^
-+      ln -s $@ $(DYNAMIC_LINK)
- # Compilation of the static library
- $(STATIC): $(OBJS:.o=.so)
diff --git a/wireless-tools/wireless-tools.nm b/wireless-tools/wireless-tools.nm
deleted file mode 100644 (file)
index 24387cc..0000000
+++ /dev/null
@@ -1,55 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = wireless-tools
-version    = 29
-release    = 2
-thisapp    = wireless_tools.%{version}
-
-groups     = Networking/Wireless
-url        = http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Tools.html
-license    = GPL+
-summary    = Wireless ethernet configuration tools.
-
-description
-       This package contain the Wireless tools, used to manipulate
-       the Wireless Extensions. The Wireless Extension is an interface
-       allowing you to set Wireless LAN specific parameters and get the
-       specific stats for wireless networking equipment.
-end
-
-source_dl  = http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/
-
-build
-       make_build_targets += \
-               BUILD_SHARED=1 \
-               FORCE_WEXT_VERSION=16 \
-               OPT_FLAGS="%{CFLAGS}"
-
-       make_install_targets += \
-               PREFIX=%{BUILDROOT}/usr \
-               INSTALL_DIR=%{BUILDROOT}/sbin \
-               INSTALL_LIB=%{BUILDROOT}/%{lib} \
-               INSTALL_MAN=%{BUILDROOT}%{mandir}
-
-       install_cmds
-               rm -vf %{BUILDROOT}/%{lib}/libiw.{a,so}
-               mkdir -pv %{BUILDROOT}%{libdir}
-               ln -svf ../../%{lib}/libiw.so.%{version} %{BUILDROOT}%{libdir}/libiw.so
-       end
-end
-
-packages
-       package %{name}
-       end
-
-       package %{name}-devel
-               template DEVEL
-       end
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
diff --git a/wpa_supplicant/systemd/wpa_supplicant@.service b/wpa_supplicant/systemd/wpa_supplicant@.service
deleted file mode 100644 (file)
index 7907310..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-[Unit]
-Description=wpa_supplicant for %I.
-
-[Service]
-ExecStart=/usr/lib/network/helpers/wpa_supplicant %I
-ExecReload=/bin/kill -HUP $MAINPID
-PIDFile=/run/wpa_supplicant-%I.pid
-Restart=on-failure
-UtmpIdentifier=%I
-KillMode=process
index 80307cd0aa81b85cc9ac7c0caaad750d8271a18e..2849d44cb63df5877be8edf4706623de4d6f6163 100644 (file)
@@ -4,13 +4,13 @@
 ###############################################################################
 
 name       = wpa_supplicant
-version    = 2.6
-release    = 2
+version    = 2.10
+release    = 1
 
 groups     = Sytem/Base
-url        = http://hostap.epitest.fi/releases/
+url        = https://w1.fi/wpa_supplicant/
 license    = BSD
-summary    = WPA/WPA2/IEEE 802.1X Supplicant.
+summary    = WPA/WPA2/IEEE 802.1X Supplicant
 
 description
        wpa_supplicant is a WPA Supplicant for Linux, BSD and Windows with support
@@ -20,11 +20,12 @@ description
        authentication/association of the wlan driver.
 end
 
-source_dl  = http://hostap.epitest.fi/releases/
+source_dl  = https://w1.fi/releases/
 
 build
        requires
-               libnl3-devel
+               dbus-devel
+               libnl3-devel >= 3.8.0
                ncurses-devel
                openssl-devel
                pkg-config
@@ -53,23 +54,26 @@ build
        end
 
        install
-               mkdir -pv %{BUILDROOT}/etc/wpa_supplicant
-               mkdir -pv %{BUILDROOT}/usr/sbin
+               mkdir -pv %{BUILDROOT}%{sysconfdir}/wpa_supplicant
+               mkdir -pv %{BUILDROOT}%{sbindir}
+               mkdir -pv %{BUILDROOT}%{unitdir}
 
                # Install config file
                install -D -m 0600 %{DIR_SOURCE}/wpa_supplicant.conf %{BUILDROOT}/etc/wpa_supplicant
 
                # Install binaries
-               install -m 0755 %{DIR_APP}/wpa_supplicant/wpa_passphrase %{BUILDROOT}/usr/sbin
-               install -m 0755 %{DIR_APP}/wpa_supplicant/wpa_cli %{BUILDROOT}/usr/sbin
-               install -m 0755 %{DIR_APP}/wpa_supplicant/wpa_supplicant %{BUILDROOT}/usr/sbin
+               install -m 0755 %{DIR_APP}/wpa_supplicant/wpa_passphrase %{BUILDROOT}%{sbindir}
+               install -m 0755 %{DIR_APP}/wpa_supplicant/wpa_cli %{BUILDROOT}%{sbindir}
+               install -m 0755 %{DIR_APP}/wpa_supplicant/wpa_supplicant %{BUILDROOT}%{sbindir}
+
+               # Install systemd unit file
+               install -v -m 644 wpa_supplicant/systemd/wpa_supplicant.service \
+                       %{BUILDROOT}%{unitdir}
        end
 end
 
 packages
        package %{name}
-               requires += network >= 1:005
-
                script postin
                        /usr/bin/systemctl daemon-reload >/dev/null 2>&1 || :
                end
diff --git a/xcb-proto/xcb-proto.nm b/xcb-proto/xcb-proto.nm
deleted file mode 100644 (file)
index bddbaa0..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = xcb-proto
-version    = 1.11
-release    = 1
-arch       = noarch
-
-maintainer = Stefan Schantl <stefan.schantl@ipfire.org>
-groups     = X/Headers
-url        = http://xcb.freedesktop.org/
-license    = MIT
-summary    = XCB protocol descriptions.
-
-description
-       XCB is a project to enable efficient language bindings to the X11
-       protocol. This package contains the protocol descriptions themselves.
-       Language bindings use these protocol descriptions to generate code for          marshalling the protocol.
-end
-
-source_dl  = http://xcb.freedesktop.org/dist/
-
-build
-       requires
-               pkg-config
-               python-devel
-       end
-
-       # Place the .pc files in /usr/share so they
-       # can be found on all architectures where libdir != /usr/lib.
-       configure_options += \
-               --libdir=%{datadir}
-end
-
-packages
-       package %{name}
-end
diff --git a/xcb-util/xcb-util.nm b/xcb-util/xcb-util.nm
deleted file mode 100644 (file)
index 627ae35..0000000
+++ /dev/null
@@ -1,55 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = xcb-util
-version    = 0.3.6
-release    = 2
-
-maintainer = Stefan Schantl <stefan.schantl@ipfire.org>
-groups     = X/Libraries
-url        = http://xcb.freedesktop.org/
-license    = MIT
-summary    = Convenience libraries sitting on top of libxcb.
-
-description
-       The xcb-util module provides a number of libraries which sit on top of \
-       libxcb, the core X protocol library, and some of the extension \
-       libraries. These experimental libraries provide convenience functions \
-       and interfaces which make the raw X protocol more usable.
-end
-
-source_dl  = http://xcb.freedesktop.org/dist/
-sources    = %{thisapp}.tar.bz2
-
-build
-       requires
-               gperf
-               libxcb-devel
-               m4
-               pkg-config
-               xorg-x11-proto-devel
-       end
-
-       configure_options += \
-               --with-pic \
-               --disable-static
-
-       test
-               export LD_LIBRARY_PATH=%{DIR_APP}/aux/.libs:%{DIR_APP}/image/.libs
-               make check
-       end
-end
-
-packages
-       package %{name}
-
-       package %{name}-devel
-               template DEVEL
-       end
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
diff --git a/xclock/xclock.nm b/xclock/xclock.nm
deleted file mode 100644 (file)
index e4a7104..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = xclock
-version    = 1.0.6
-release    = 1
-
-maintainer = Stefan Schantl <stefan.schantl@ipfire.org>
-groups     = X/Tools
-url        = http://www.x.org
-license    = MIT
-summary    = A classic X Window System clock utility. 
-
-description
-       xclock is the classic X Window System clock utility.  It displays
-       the time in analog or digital form, continuously updated at a
-       frequency which may be specified by the user.
-end
-
-source_dl  = http://ftp.x.org/pub/individual/app/
-sources    = %{thisapp}.tar.bz2
-
-build
-       requires
-               libX11-devel
-               libXaw-devel
-               libXft-devel
-               libXmu-devel
-               libXrender-devel
-               libxkbfile-devel
-               xorg-x11-util-macros
-       end
-end
-
-packages
-       package %{name}
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
index ebb31dac617b517ca2f6a078fefbd1d0f4d474ea..03257154491a0804cc01a3e02616fcd45ed20dc8 100644 (file)
@@ -4,11 +4,11 @@
 ###############################################################################
 
 name       = xfsprogs
-version    = 5.0.0
+version    = 6.4.0
 release    = 1
 
 groups     = System/Filesystems
-url        = http://oss.sgi.com/projects/xfs/
+url        = https://xfs.wiki.kernel.org/
 license    = GPL+ and LGPLv2+
 summary    = Utilities for managing the XFS filesystem
 
@@ -25,7 +25,9 @@ build
                libacl-devel
                libattr-devel
                libblkid-devel >= 2.17
+               libinih-devel
                libtool
+               liburcu-devel
                libuuid-devel
                readline-devel
        end
@@ -43,14 +45,6 @@ build
        make_install_targets += \
                install-dev V=1 DIST_ROOT=%{BUILDROOT} \
                PKG_ROOT_SBIN_DIR=%{sbindir} PKG_ROOT_LIB_DIR=%{libdir}
-
-       install_cmds
-               # Fix file permission.
-               chmod 0755 %{BUILDROOT}/%{libdir}/libhandle.so.*.*.*
-
-               # Remove unneeded doc location.
-               rm -rvf %{BUILDROOT}/%{datadir}/doc/xfsprogs/
-       end
 end
 
 packages
diff --git a/xkeyboard-config/xkeyboard-config.nm b/xkeyboard-config/xkeyboard-config.nm
deleted file mode 100644 (file)
index 504b7e8..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = xkeyboard-config
-version    = 1.9
-release    = 1
-arch       = noarch
-
-maintainer = Stefan Schantl <stefan.schantl@ipfire.org>
-groups     = X/Utils
-url        = http://www.x.org/
-license    = MIT
-summary    = X Keyboard Extension configuration data.
-
-description
-       This package contains configuration data used by the X Keyboard
-       Extension (XKB), which allows selection of keyboard layouts when
-       using a graphical interface.
-end
-
-source_dl  = http://ftp.x.org/pub/individual/data/
-sources    = %{thisapp}.tar.bz2
-
-build
-       requires
-               gettext
-               intltool
-               pkg-config
-               perl-XML-Parser
-               xorg-x11-util-macros
-               xorg-x11-xkb-utils
-       end
-
-       configure_options += \
-               --disable-static \
-               --with-xkb-base=/usr/share/X11/xkb \
-               --disable-xkbcomp-symlink \
-               --with-xkb-rules-symlink=xorg
-
-       make_install_targets += INSTALL="install -p"
-end
-
-packages
-       package %{name}
-       end
-end
index a24d20d485ce82711d11b09bcba9b0936ece6790..ff9bf8d776ebe7ac7f3eeb7fd23fe750169bc769 100644 (file)
@@ -4,11 +4,11 @@
 ###############################################################################
 
 name       = xmlto
-version    = 0.0.26
+version    = 0.0.28
 release    = 1
 
 groups     = Applications/System
-url        = https://fedorahosted.org/xmlto/
+url        = https://pagure.io/xmlto
 license    = GPLv2+
 summary    = A tool for converting XML files to various formats.
 
@@ -17,8 +17,7 @@ description
        stylesheets.
 end
 
-source_dl  = https://fedorahosted.org/releases/x/m/%{name}/
-source     = %{thisapp}.tar.bz2
+source_dl  = https://releases.pagure.org/xmlto/
 
 build
        requires
diff --git a/xorg-x11-drv-ati/xorg-x11-drv-ati.nm b/xorg-x11-drv-ati/xorg-x11-drv-ati.nm
deleted file mode 100644 (file)
index dec8261..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = xorg-x11-drv-ati
-version    = 7.1.0
-release    = 1
-
-maintainer = Stefan Schantl <stefan.schantl@ipfire.org>
-groups     = X/Driver
-url        = http://www.x.org/
-license    = MIT
-summary    = Xorg X11 ati video driver.
-
-description
-       X.Org X11 ati video driver.
-end
-
-# Specify the X Server version to build for.
-x11_server_ver = 1.13.2
-
-thisapp = xf86-video-ati-%{version}
-
-source_dl  = http://ftp.x.org/pub/individual/driver/
-
-build
-       requires
-               libdrm-devel
-               libpciaccess-devel
-               libX11-devel
-               mesa-devel >= 9.0.2
-               pkg-config
-               xorg-x11-proto-devel
-               xorg-x11-server-devel >= %{x11_server_ver}
-               xorg-x11-util-macros
-       end
-
-       CFLAGS += -Wl,-z,lazy
-
-       configure_options += \
-               --enable-dri \
-               --disable-static
-end
-
-quality-agent
-       permit_not_full_relro = yes
-end
-
-packages
-       package %{name}
-               requires
-                       dri-drivers >= 9.0.2
-                       xorg-x11-server >= %{x11_server_ver}
-               end
-       end
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
diff --git a/xorg-x11-drv-evdev/xorg-x11-drv-evdev.nm b/xorg-x11-drv-evdev/xorg-x11-drv-evdev.nm
deleted file mode 100644 (file)
index a4da9c2..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = xorg-x11-drv-evdev
-version    = 2.7.3
-release    = 1
-
-maintainer = Stefan Schantl <stefan.schantl@ipfire.org>
-groups     = X/Driver
-url        = http://www.x.org/
-license    = MIT
-summary    = Xorg X11 evdev input driver.
-
-description
-       X.Org X11 evdev input driver.
-end
-
-# Specify the X Server version to build for.
-x11_server_ver = 1.13.2
-
-thisapp = xf86-input-evdev-%{version}
-
-source_dl  = http://ftp.x.org/pub/individual/driver/
-
-build
-       requires
-               libudev-devel
-               libxkbfile-devel
-               pkg-config
-               xorg-x11-proto-devel
-               xorg-x11-server-devel >= %{x11_server_ver}
-               xorg-x11-util-macros
-       end
-
-       CFLAGS       += -Wl,-z,lazy
-
-       configure_options += \
-               --disable-static
-end
-
-quality-agent
-       permit_not_full_relro = yes
-end
-
-packages
-       package %{name}
-               requires
-                       xorg-x11-server >= %{x11_server_ver}
-               end
-       end
-
-       package %{name}-devel
-               template DEVEL
-       end
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
diff --git a/xorg-x11-drv-intel/intel.xinf b/xorg-x11-drv-intel/intel.xinf
deleted file mode 100644 (file)
index 5867523..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-alias pcivideo:v00008086d00001132sv*sd*bc*sc*i* intel  # i815
-alias pcivideo:v00008086d00002562sv*sd*bc*sc*i* intel  # 845G
-alias pcivideo:v00008086d00002572sv*sd*bc*sc*i* intel  # 865G
-alias pcivideo:v00008086d00002582sv*sd*bc*sc*i* intel  # 915G
-alias pcivideo:v00008086d0000258Asv*sd*bc*sc*i* intel  # E7221G ("915G")
-alias pcivideo:v00008086d00002592sv*sd*bc*sc*i* intel  # 915GM
-alias pcivideo:v00008086d00002772sv*sd*bc*sc*i* intel  # 945G
-alias pcivideo:v00008086d000027A2sv*sd*bc*sc*i* intel  # 945GM
-alias pcivideo:v00008086d000027AEsv*sd*bc*sc*i* intel  # 945GME
-alias pcivideo:v00008086d00002972sv*sd*bc*sc*i* intel  # 946GZ, really a 965
-alias pcivideo:v00008086d00002982sv*sd*bc*sc*i* intel  # 965G1
-alias pcivideo:v00008086d00002992sv*sd*bc*sc*i* intel  # 965Q
-alias pcivideo:v00008086d000029A2sv*sd*bc*sc*i* intel  # 965G
-alias pcivideo:v00008086d000029B2sv*sd*bc*sc*i* intel  # Q35
-alias pcivideo:v00008086d000029C2sv*sd*bc*sc*i* intel  # G33
-alias pcivideo:v00008086d000029D2sv*sd*bc*sc*i* intel  # Q33
-alias pcivideo:v00008086d00002A02sv*sd*bc*sc*i* intel  # 965GM
-alias pcivideo:v00008086d00002A12sv*sd*bc*sc*i* intel  # 965GME
-alias pcivideo:v00008086d00002A42sv*sd*bc*sc*i* intel  # GM45
-alias pcivideo:v00008086d00002e02sv*sd*bc*sc*i* intel  # IGD_E_G
-alias pcivideo:v00008086d00002e12sv*sd*bc*sc*i* intel  # Q45
-alias pcivideo:v00008086d00002e22sv*sd*bc*sc*i* intel  # G45
-alias pcivideo:v00008086d00002e32sv*sd*bc*sc*i* intel  # G41
-alias pcivideo:v00008086d00003577sv*sd*bc*sc*i* intel  # i830
-alias pcivideo:v00008086d00003582sv*sd*bc*sc*i* intel  # 855GM
-alias pcivideo:v00008086d00007121sv*sd*bc*sc*i* intel  # i810
-alias pcivideo:v00008086d00007123sv*sd*bc*sc*i* intel  # i810 DC100
-alias pcivideo:v00008086d00007125sv*sd*bc*sc*i* intel  # i810E
diff --git a/xorg-x11-drv-intel/xorg-x11-drv-intel.nm b/xorg-x11-drv-intel/xorg-x11-drv-intel.nm
deleted file mode 100644 (file)
index f037878..0000000
+++ /dev/null
@@ -1,77 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = xorg-x11-drv-intel
-version    = 2.21.0
-release    = 2
-sup_arches = x86_64 i686
-
-maintainer = Stefan Schantl <stefan.schantl@ipfire.org>
-groups     = X/Driver
-url        = http://www.x.org/
-license    = MIT
-summary    = Xorg X11 intel video driver.
-
-description
-       X.Org X11 intel video driver.
-end
-
-# Specify the X Server version to build for.
-x11_server_ver = 1.13.2
-
-thisapp = xf86-video-intel-%{version}
-
-source_dl  = http://ftp.x.org/pub/individual/driver/
-
-build
-       requires
-               autoconf
-               automake
-               libdrm-devel
-               libudev-devel
-               libX11-devel
-               libXvMC-devel
-               libxcb-devel
-               libtool
-               mesa-devel >= 9.0.2
-               pkg-config
-               xcb-util-devel
-               xorg-x11-proto-devel
-               xorg-x11-server-devel >= %{x11_server_ver}
-               xorg-x11-util-macros
-       end
-
-       CFLAGS += -Wl,-z,lazy
-
-       configure_options += \
-               --enable-dri \
-               --enable-xvmc \
-               --disable-static
-
-       prepare_cmds
-               autoreconf -vi
-       end
-
-       install_cmds
-               install -Dm 0644 %{DIR_SOURCE}/intel.xinf %{BUILDROOT}/usr/share/hwdata/videoaliases/intel.xinf
-       end
-end
-
-quality-agent
-       permit_not_full_relro = yes
-end
-
-packages
-       package %{name}
-               requires
-                       dri-drivers >= 9.0.2
-                       xorg-x11-server >= %{x11_server_ver}
-               end
-       end
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
diff --git a/xorg-x11-drv-keyboard/xorg-x11-drv-keyboard.nm b/xorg-x11-drv-keyboard/xorg-x11-drv-keyboard.nm
deleted file mode 100644 (file)
index 091383d..0000000
+++ /dev/null
@@ -1,55 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = xorg-x11-drv-keyboard
-version    = 1.6.2
-release    = 1
-
-maintainer = Stefan Schantl <stefan.schantl@ipfire.org>
-groups     = X/Driver
-url        = http://www.x.org/
-license    = MIT
-summary    = Xorg X11 keyboard input driver.
-
-description
-       X.Org X11 keyboard input driver.
-end
-
-# Specify the X Server version to build for.
-x11_server_ver = 1.13.2
-
-thisapp = xf86-input-keyboard-%{version}
-
-source_dl  = http://ftp.x.org/pub/individual/driver/
-
-build
-       requires
-               pkg-config
-               xorg-x11-server-devel >= %{x11_server_ver}
-               xorg-x11-proto-devel
-               xorg-x11-util-macros
-       end
-
-       CFLAGS += -Wl,-z,lazy
-
-       configure_options += \
-               --disable-static
-end
-
-quality-agent
-       permit_not_full_relro = yes
-end
-
-packages
-       package %{name}
-               requires
-                       xorg-x11-server >= %{x11_server_ver}
-               end
-       end
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
diff --git a/xorg-x11-drv-modesetting/xorg-x11-drv-modesetting.nm b/xorg-x11-drv-modesetting/xorg-x11-drv-modesetting.nm
deleted file mode 100644 (file)
index 8ce3bdd..0000000
+++ /dev/null
@@ -1,58 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = xorg-x11-drv-modesetting
-version    = 0.6.0
-release    = 1
-
-maintainer = Stefan Schantl <stefan.schantl@ipfire.org>
-groups     = X/Driver
-url        = http://www.x.org/
-license    = MIT
-summary    = Xorg X11 modesetting video driver.
-
-description
-       X.Org X11 modesetting video driver.
-end
-
-# Specify the X Server version to build for.
-x11_server_ver = 1.13.2
-
-thisapp = xf86-video-modesetting-%{version}
-
-source_dl = http://ftp.x.org/pub/individual/driver/
-
-build
-       requires
-               libX11-devel
-               libdrm-devel
-               libudev-devel
-               pkg-config
-               xorg-x11-proto-devel
-               xorg-x11-server-devel >= %{x11_server_ver}
-               xorg-x11-util-macros
-       end
-
-       CFLAGS        += -Wl,-z,lazy
-
-       configure_options += \
-               --disable-static
-end
-
-quality-agent
-       permit_not_full_relro = yes
-end
-
-packages
-       package %{name}
-               requires
-                       xorg-x11-server >= %{x11_server_ver}
-               end
-       end
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
diff --git a/xorg-x11-drv-mouse/xorg-x11-drv-mouse.nm b/xorg-x11-drv-mouse/xorg-x11-drv-mouse.nm
deleted file mode 100644 (file)
index 38d9d5a..0000000
+++ /dev/null
@@ -1,55 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = xorg-x11-drv-mouse
-version    = 1.8.1
-release    = 1
-
-maintainer = Stefan Schantl <stefan.schantl@ipfire.org>
-groups     = X/Driver
-url        = http://www.x.org/
-license    = MIT
-summary    = Xorg X11 mouse input driver.
-
-description
-       X.Org X11 mouse input driver.
-end
-
-# Specify the X Server version to build for.
-x11_server_ver = 1.13.2
-
-thisapp = xf86-input-mouse-%{version}
-
-source_dl  = http://ftp.x.org/pub/individual/driver/
-
-build
-       requires
-               pkg-config
-               xorg-x11-proto-devel
-               xorg-x11-server-devel >= %{x11_server_ver}
-               xorg-x11-util-macros
-       end
-
-       CFLAGS   += -Wl,-z,lazy
-
-       configure_options += \
-               --disable-static
-end
-
-quality-agent
-       permit_not_full_relro = yes
-end
-
-packages
-       package %{name}
-               requires
-                       xorg-x11-server >= %{x11_server_ver}
-               end
-       end
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
diff --git a/xorg-x11-drv-nouveau/xorg-x11-drv-nouveau.nm b/xorg-x11-drv-nouveau/xorg-x11-drv-nouveau.nm
deleted file mode 100644 (file)
index 0a8c01a..0000000
+++ /dev/null
@@ -1,64 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = xorg-x11-drv-nouveau
-version    = 1.0.6
-release    = 1
-
-maintainer = Stefan Schantl <stefan.schantl@ipfire.org>
-groups     = X/Driver
-url        = http://www.x.org/
-license    = MIT
-summary    = Xorg X11 nouveau video driver.
-
-description
-       X.Org X11 nv video driver.
-end
-
-# Specify the X Server version to build for.
-x11_server_ver = 1.13.2
-
-thisapp = xf86-video-nouveau-%{version}
-
-source_dl = http://ftp.x.org/pub/individual/driver/
-
-build
-       requires
-               libX11-devel
-               libdrm-devel
-               libudev-devel
-               mesa-devel >= 9.0.2
-               pkg-config
-               xorg-x11-proto-devel
-               xorg-x11-server-devel >= %{x11_server_ver}
-               xorg-x11-util-macros
-       end
-
-       CFLAGS        += -Wl,-z,lazy
-
-       configure_options += \
-               --disable-static
-end
-
-quality-agent
-       permit_not_full_relro = yes
-end
-
-packages
-       package %{name}
-               obsoletes
-                       xorg-x11-drv-nv
-               end
-
-               requires
-                       dri-drivers >= 9.0.2
-                       xorg-x11-server >= %{x11_server_ver}
-               end
-       end
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
diff --git a/xorg-x11-drv-synaptics/50-synaptics.conf b/xorg-x11-drv-synaptics/50-synaptics.conf
deleted file mode 100644 (file)
index 54979f0..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-Section "InputClass"
-        Identifier "touchpad catchall"
-        Driver "synaptics"
-        MatchIsTouchpad "on"
-        MatchDevicePath "/dev/input/event*"
-EndSection
-
-
-# Quirks for special touchpads
-
-# Some devices have the buttons as part of the lower edge of the
-# touchpad.  Pressing a button moves the cursor, causing cursor jumps and
-# erroneous clicks.
-# Use the synaptics area property to work around this, udev labels these
-# devices for us as touchpad_button_overlap.
-# Affected: Dell Mini
-Section "InputClass"
-        Identifier "touchpad button overlap"
-        MatchIsTouchpad "on"
-        MatchTag "touchpad_button_overlap"
-        Option "AreaBottomEdge" "4000"
-EndSection
diff --git a/xorg-x11-drv-synaptics/70-touchpad-quirks.rules b/xorg-x11-drv-synaptics/70-touchpad-quirks.rules
deleted file mode 100644 (file)
index 6c65c29..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-ACTION!="add|change", GOTO="touchpad_quirks_end"
-KERNEL!="event*", GOTO="touchpad_quirks_end"
-
-ENV{ID_INPUT_TOUCHPAD}!="1", GOTO="touchpad_quirks_end"
-
-# model specific quirks
-
-# Dell Minis have a touchpad where the buttons and the touchpad area
-# overlap. Clicking a button thus moves the pointer, this requires special
-# Xorg configuration.
-
-ATTR{[dmi/id]product_name}=="Inspiron 1011|Inspiron 1012", \
-  ENV{ID_INPUT.tags}="touchpad_button_overlap"
-
-LABEL="touchpad_quirks_end"
diff --git a/xorg-x11-drv-synaptics/xorg-x11-drv-synaptics.nm b/xorg-x11-drv-synaptics/xorg-x11-drv-synaptics.nm
deleted file mode 100644 (file)
index 87d378f..0000000
+++ /dev/null
@@ -1,64 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = xorg-x11-drv-synaptics
-version    = 1.3.0
-release    = 1
-
-maintainer = Stefan Schantl <stefan.schantl@ipfire.org>
-groups     = X/Driver
-url        = http://www.x.org/
-license    = MIT
-summary    = Xorg X11 synaptics input driver.
-
-description
-       This is the Synaptics touchpad driver for the X.Org X server.
-end
-
-source_dl = http://ftp.x.org/pub/individual/driver/
-sources   = xf86-input-synaptics-%{version}.tar.bz2
-
-build
-       requires
-               libX11-devel
-               libXi-devel
-               pkg-config
-               xorg-x11-proto-devel
-               xorg-x11-server-devel
-               xorg-x11-util-macros
-       end
-
-       DIR_APP = %{DIR_SRC}/xf86-input-synaptics-%{version}
-
-       configure_options += \
-               --disable-static
-
-       configure_cmds
-               # Disable BIND_NOW for the X server module
-               sed -e "s/^CFLAGS.*/& -Wl,-z,lazy/" -i src/Makefile
-       end
-
-       install_cmds
-               install -Dm 0664 %{DIR_SOURCE}/50-synaptics.conf %{BUILDROOT}/etc/X11/xorg.conf.d/50-synaptics.conf
-               install -Dm 0664 %{DIR_SOURCE}/70-touchpad-quirks.rules %{BUILDROOT}/lib/udev/rules.d/70-touchpad-quirks.rules
-       end
-end
-
-quality-agent
-       permit_not_full_relro = yes
-end
-
-packages
-       package %{name}
-       end
-
-       package %{name}-devel
-               template DEVEL
-       end
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
diff --git a/xorg-x11-drv-vesa/xorg-x11-drv-vesa.nm b/xorg-x11-drv-vesa/xorg-x11-drv-vesa.nm
deleted file mode 100644 (file)
index 4215f03..0000000
+++ /dev/null
@@ -1,57 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = xorg-x11-drv-vesa
-version    = 2.3.2
-release    = 1
-
-maintainer = Stefan Schantl <stefan.schantl@ipfire.org>
-groups     = X/Driver
-url        = http://www.x.org/
-license    = MIT
-summary    = Xorg X11 vesa video driver.
-
-description
-       X.Org X11 vesa video driver.
-end
-
-# Specify the X Server version to build for.
-x11_server_ver = 1.13.2
-
-thisapp = xf86-video-vesa-%{version}
-
-source_dl = http://ftp.x.org/pub/individual/driver/
-
-build
-       requires
-               libX11-devel
-               libpciaccess-devel >= 0.13.1
-               pkg-config
-               xorg-x11-proto-devel
-               xorg-x11-server-devel >= %{x11_server_ver}
-               xorg-x11-util-macros
-       end
-
-       CFLAGS        += -Wl,-z,lazy
-
-       configure_options += \
-               --disable-static
-end
-
-quality-agent
-       permit_not_full_relro = yes
-end
-
-packages
-       package %{name}
-               requires
-                       xorg-x11-server >= %{x11_server_ver}
-               end
-       end
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
diff --git a/xorg-x11-drv-vmware/xorg-x11-drv-vmware.nm b/xorg-x11-drv-vmware/xorg-x11-drv-vmware.nm
deleted file mode 100644 (file)
index 795f718..0000000
+++ /dev/null
@@ -1,58 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = xorg-x11-drv-vmware
-version    = 13.0.0
-release    = 1
-
-maintainer = Stefan Schantl <stefan.schantl@ipfire.org>
-groups     = X/Driver
-url        = http://www.x.org/
-license    = MIT
-summary    = Xorg X11 vmware video driver.
-
-description
-       X.Org X11 vmware video driver.
-end
-
-# Specify the X Server version to build for.
-x11_server_ver = 1.13.2
-
-thisapp = xf86-video-vmware-%{version}
-
-source_dl = http://ftp.x.org/pub/individual/driver/
-
-build
-       requires
-               libX11-devel
-               libdrm-devel
-               libpciaccess-devel
-               pkg-config
-               xorg-x11-proto-devel
-               xorg-x11-server-devel >= %{x11_server_ver}
-               xorg-x11-util-macros
-       end
-
-       CFLAGS        += -Wl,-z,lazy
-
-       configure_options += \
-               --disable-static
-end
-
-quality-agent
-       permit_not_full_relro = yes
-end
-
-packages
-       package %{name}
-               requires
-                       xorg-x11-server >= %{x11_server_ver}
-               end
-       end
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
diff --git a/xorg-x11-font-utils/xorg-x11-font-utils.nm b/xorg-x11-font-utils/xorg-x11-font-utils.nm
deleted file mode 100644 (file)
index 6514531..0000000
+++ /dev/null
@@ -1,91 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = xorg-x11-font-utils
-version    = 7.4
-release    = 3
-
-maintainer = Stefan Schantl <stefan.schantl@ipfire.org>
-groups     = X/Fonts
-url        = http://www.x.org/
-license    = MIT
-summary    = X.Org X11 font utilities.
-
-description
-       X.Org X11 font utilities required for font installation, conversion,
-       and generation.
-end
-
-source_dl  = http://ftp.x.org/pub/individual/app/
-
-sources =\
-       bdftopcf-1.0.1.tar.bz2 \
-       fonttosfnt-1.0.3.tar.bz2 \
-       mkfontdir-1.0.5.tar.bz2 \
-       mkfontscale-1.0.7.tar.bz2 \
-       font-util-1.1.0.tar.bz2
-
-build
-       requires
-               autoconf
-               freetype-devel
-               libX11-devel
-               libXfont-devel
-               libfontenc-devel
-               pkg-config
-               xorg-x11-proto-devel
-               zlib-devel
-       end
-
-       configure_options += \
-               --with-mapdir=/usr/share/X11/fonts/util
-
-       build
-               for object in %{sources}; do
-                       dir=%{DIR_SRC}/${object%*.tar.bz2}
-
-                       if [ -d "${dir}" ]; then
-                               cd ${dir}
-                               autoconf
-                               ./configure %{configure_options}
-
-                               make %{PARALLELISMFLAGS}
-                       fi
-               done
-       end
-
-       install
-               for object in %{sources}; do
-                       dir=%{DIR_SRC}/${object%*.tar.bz2}
-
-                       if [ -d "${dir}" ]; then
-                               cd ${dir}
-
-                               make install DESTDIR=%{BUILDROOT}
-                       fi
-               done
-
-               # Install xorg-x11-fonts-update-dirs
-               install -m 0744 %{DIR_SOURCE}/xorg-x11-fonts-update-dirs %{BUILDROOT}/usr/bin/
-               sed -i "s:@DATADIR@:/usr/share:" %{BUILDROOT}/usr/bin/xorg-x11-fonts-update-dirs
-       end
-end
-
-packages
-       package %{name}
-       end
-
-       package %{name}-devel
-               template DEVEL
-
-               requires
-                       freetype-devel
-               end
-       end
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
diff --git a/xorg-x11-font-utils/xorg-x11-fonts-update-dirs b/xorg-x11-font-utils/xorg-x11-fonts-update-dirs
deleted file mode 100644 (file)
index 536bfe8..0000000
+++ /dev/null
@@ -1,60 +0,0 @@
-#!/bin/sh
-# This script is used by the xorg-x11-fonts package in the %post stage for
-# some fonts to generate the right encodings.
-
-fontdir=""
-encodingsdir="@DATADIR@/X11/fonts/encodings"
-
-# some fonts need to skip mkfontscale, set to "yes" to skip
-skip_fontscale=""
-# some fonts need to run ttmkfdir, set to "yes" to run
-need_ttmkfdir=""
-
-if [ $# -lt 1 ]; then
-    echo "Need at least one parameter for font dir."
-    exit 1
-fi
-
-while [ $# != 0 ]; do
-    case $1 in
-        --skip-fontscale)
-        skip_fontscale="yes"
-        ;;
-        --need-ttmkfdir)
-        need_ttmkfdir="yes"
-        ;;
-        --encodingsdir)
-        shift
-        encodingsdir="$1"
-        ;;
-        *)
-        fontdir="$1"
-
-        if [ $# != 1 ]; then
-            echo "Too many parameters."
-            exit 1
-        fi
-        ;;
-    esac
-    shift
-done
-
-if [ "$skip_fontscale" != "yes" ]; then
-    mkfontscale $fontdir
-fi
-if [ "$need_ttmkfdir" = "yes" ]; then
-    ttmkfdir $fontdir
-fi
-
-mkfontdir $fontdir
-fc-cache $fontdir
-
-if ! [ -z "$encodingsdir" ]; then
-    [ -d "$encodingsdir" ] || mkdir -p "$encodingsdir"
-    oldpwd=$(pwd)
-    cd "$encodingsdir"
-    mkfontscale -n -e "$encodingsdir" -e "$encodingsdir/large"
-    cd ${oldpwd}
-fi
-
-
diff --git a/xorg-x11-fonts/xorg-x11-fonts.nm b/xorg-x11-fonts/xorg-x11-fonts.nm
deleted file mode 100644 (file)
index c19caf7..0000000
+++ /dev/null
@@ -1,405 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = xorg-x11-fonts
-version    = 7.2
-release    = 5
-arch       = noarch
-
-maintainer = Stefan Schantl <stefan.schantl@ipfire.org>
-groups     = X/Fonts
-url        = http://www.x.org/
-license    = MIT
-summary    = X.Org X11 fonts.
-
-description
-       This package contains misc bitmap Chinese, Japanese, Korean, Indic, and
-       Arabic fonts for use with X Window System.
-end
-
-source_dl  = http://ftp.x.org/pub/individual/font/
-source_dl += http://unifoundry.com/
-
-sources = \
-       encodings-1.0.3.tar.bz2 \
-       font-alias-1.0.2.tar.bz2 \
-       font-adobe-100dpi-1.0.1.tar.bz2 \
-       font-adobe-75dpi-1.0.1.tar.bz2 \
-       font-adobe-utopia-100dpi-1.0.2.tar.bz2 \
-       font-adobe-utopia-75dpi-1.0.2.tar.bz2 \
-       font-adobe-utopia-type1-1.0.2.tar.bz2 \
-       font-arabic-misc-1.0.1.tar.bz2 \
-       font-bh-100dpi-1.0.1.tar.bz2 \
-       font-bh-75dpi-1.0.1.tar.bz2 \
-       font-bh-lucidatypewriter-100dpi-1.0.1.tar.bz2 \
-       font-bh-lucidatypewriter-75dpi-1.0.1.tar.bz2 \
-       font-bitstream-100dpi-1.0.1.tar.bz2 \
-       font-bitstream-75dpi-1.0.1.tar.bz2 \
-       font-bitstream-type1-1.0.1.tar.bz2 \
-       font-cronyx-cyrillic-1.0.1.tar.bz2 \
-       font-cursor-misc-1.0.1.tar.bz2 \
-       font-daewoo-misc-1.0.1.tar.bz2 \
-       font-dec-misc-1.0.1.tar.bz2 \
-       font-isas-misc-1.0.1.tar.bz2 \
-       font-jis-misc-1.0.1.tar.bz2 \
-       font-micro-misc-1.0.1.tar.bz2 \
-       font-misc-cyrillic-1.0.1.tar.bz2 \
-       font-misc-misc-1.1.0.tar.bz2 \
-       font-mutt-misc-1.0.1.tar.bz2 \
-       font-schumacher-misc-1.1.0.tar.bz2 \
-       font-screen-cyrillic-1.0.2.tar.bz2 \
-       font-sony-misc-1.0.1.tar.bz2 \
-       font-sun-misc-1.0.1.tar.bz2 \
-       font-winitzki-cyrillic-1.0.1.tar.bz2 \
-       font-xfree86-type1-1.0.2.tar.bz2 \
-       unifont-5.1.20080820.pcf.gz
-
-build
-       requires
-               /usr/bin/mkfontscale
-               perl
-               pkg-config
-               xorg-x11-font-utils-devel
-       end
-
-       configure_options += \
-               --with-fontrootdir=/usr/share/X11/fonts \
-               --disable-iso8859-3 \
-               --disable-iso8859-4 \
-               --disable-iso8859-6 \
-               --disable-iso8859-10 \
-               --disable-iso8859-11 \
-               --disable-iso8859-12 \
-               --disable-iso8859-13 \
-               --disable-iso8859-16
-
-       prepare
-       # Extract all source tarballs.
-               for object in %{sources}; do
-                       # Only extract tar.bz2 files
-                       object=${object//*pcf.gz/}
-                       if [ -n "${object}" ]; then
-                               %{MACRO_EXTRACT} %{DIR_DL}/${object}
-                       fi
-               done
-
-               %{MACRO_FIX_AUTOTOOLS}
-       end
-
-       build
-               for object in %{sources}; do
-                       dir=%{DIR_SRC}/${object%*.tar.bz2}
-
-                       if [ -d "${dir}" ]; then
-                               cd ${dir}
-                               ./configure %{configure_options}
-
-                               make %{PARALLELISMFLAGS}
-                       fi
-               done
-       end
-
-       install
-               for object in %{sources}; do
-                       dir=%{DIR_SRC}/${object%*.tar.bz2}
-
-                       if [ -d "${dir}" ]; then
-                               cd ${dir}
-
-                               make install DESTDIR=%{BUILDROOT}
-                       fi
-               done
-
-               # Install unifont
-               mkdir -pv %{BUILDROOT}/usr/share/X11/fonts/misc
-               cp -vf %{DIR_DL}/unifont-5.1.20080820.pcf.gz \
-                       %{BUILDROOT}/usr/share/X11/fonts/misc/unifont.pcf.gz
-
-               # XXX Do we need to create these symlinks to use the fonts - check this in a running X environment.
-               # Install catalogue symlinks
-               #mkdir -pv %{BUILDROOT}/etc/X11/fontpath.d
-               #ln -svf ../../../usr/share/X11/fonts/100dpi %{BUILDROOT}/etc/X11/fontpath.d/xorg-x11-fonts-100dpi
-               #ln -svf ../../../usr/share/X11/fonts/75dpi %{BUILDROOT}/etc/X11/fontpath.d/xorg-x11-fonts-75dpi
-               #ln -svf ../../../usr/share/X11/fonts/cyrillic %{BUILDROOT}/etc/X11/fontpath.d/xorg-x11-fonts-cyrillic
-               #ln -svf ../../../usr/share/X11/fonts/misc %{BUILDROOT}/etc/X11/fontpath.d/xorg-x11-fonts-misc
-               #ln -svf ../../../usr/share/X11/fonts/Type1 %{BUILDROOT}/etc/X11/fontpath.d/xorg-x11-fonts-Type1
-       end
-end
-
-packages
-       # Template for 75 DPI fonts
-       template 75DPI
-               requires
-                       fontconfig
-               end
-
-               #files
-               #       /etc/X11/fontpath.d/xorg-x11-fonts-75dpi
-               #end
-
-               prerequires = xorg-x11-font-utils
-
-               script postin
-                       /usr/bin/mkfontdir /usr/share/X11/fonts/75dpi
-               end
-
-               script postun
-                       /usr/bin/mkfontdir /usr/share/X11/fonts/75dpi
-               end
-       end
-
-       # Template for 100 DPI fonts
-       template 100DPI
-               requires
-                       fontconfig
-               end
-
-               #files
-               #       /etc/X11/fontpath.d/xorg-x11-fonts-100
-               #end
-
-               prerequires = xorg-x11-font-utils
-
-               script postin
-                       /usr/bin/mkfontdir /usr/share/X11/fonts/100dpi
-               end
-
-               script postun
-                       /usr/bin/mkfontdir /usr/share/X11/fonts/100dpi
-               end
-       end
-
-       package %{name}
-               summary = Bitmap fonts for the X Window System.
-               description
-                       This package contains misc bitmap Chinese, Japanese, Korean, Indic, and Arabic
-                       fonts for use with X Window System.
-               end
-
-               requires
-                       fontconfig
-               end
-
-               prerequires = xorg-x11-font-utils
-
-               script postin
-                       /usr/bin/xorg-x11-fonts-update-dirs --skip-fontscale /usr/share/X11/fonts/misc
-               end
-
-               script postun
-                       /usr/bin/xorg-x11-fonts-update-dirs --skip-fontscale /usr/share/X11/fonts/misc
-               end
-       end
-
-       package %{name}-Type1
-               summary = Type1 fonts provided by the X Window System.
-               description
-                       A collection of Type1 fonts which are part of the core X Window System
-                       distribution.
-               end
-
-               requires
-                       fontconfig
-               end
-
-               files
-                       /usr/share/X11/fonts/Type1/
-               end
-
-               prerequires = xorg-x11-font-utils
-
-               script postin
-                       /usr/bin/xorg-x11-fonts-update-dirs --skip-fontscale /usr/share/X11/fonts/Type1
-               end
-
-               script postun
-                       /usr/bin/xorg-x11-fonts-update-dirs --skip-fontscale /usr/share/X11/fonts/Type1
-               end
-       end
-
-       package %{name}-75dpi
-               template 75DPI
-
-               summary = A set of 75dpi resolution fonts for the X Window System.
-               description
-                       A set of 75 dpi fonts used by the X window system.
-               end
-
-               files +=\
-                       /usr/share/X11/fonts/75dpi/
-       end
-
-       package %{name}-100dpi
-               template 100DPI
-
-               summary = A set of 100dpi resolution fonts for the X Window System.
-               description
-                       A set of 100 dpi fonts used by the X window system.
-               end
-
-               files +=\
-                       /usr/share/X11/fonts/100dpi/
-       end
-
-       package %{name}-ISO8859-1-75dpi
-               template 75DPI
-
-               summary = A set of 75dpi ISO-8859-1 fonts for X.
-               description
-                       Contains a set of 75dpi fonts for ISO-8859-1.
-               end
-
-               files +=\
-                       /usr/share/X11/fonts/75dpi/*ISO8859-1.*
-       end
-
-       package %{name}-ISO8859-1-100dpi
-               template 100DPI
-
-               summary = A set of 100dpi ISO-8859-1 fonts for X.
-               description
-                       Contains a set of 100dpi fonts for ISO-8859-1.
-               end
-
-               files +=\
-                       /usr/share/X11/fonts/100dpi/*ISO8859-1.*
-       end
-
-       package %{name}-ISO8859-2-75dpi
-               template 75DPI
-
-               summary = A set of 75dpi Central European language fonts for X.
-               description
-                       Contains a set of 75dpi fonts for Central European languages.
-               end
-
-               files +=\
-                       /usr/share/X11/fonts/75dpi/*ISO8859-2.*
-       end
-
-       package %{name}-ISO8859-2-100dpi
-               template 100DPI
-
-               summary = A set of 100dpi Central European language fonts for X.
-               description
-                       Contains a set of 100dpi fonts for Central European languages.
-               end
-
-               files +=\
-                       /usr/share/X11/fonts/100dpi/*ISO8859-2.*
-       end
-
-       package %{name}-ISO8859-9-75dpi
-               template 75DPI
-
-               summary = ISO8859-9-75dpi fonts.
-               description
-                       Contains a set of 75dpi fonts for the Turkish language.
-               end
-
-               files +=\
-                       /usr/share/X11/fonts/75dpi/*ISO8859-9.*
-       end
-
-       package %{name}-ISO8859-9-100dpi
-               template 100DPI
-
-               summary = ISO8859-9-100dpi fonts.
-               description
-                       Contains a set of 100dpi fonts for the Turkish language.
-               end
-
-               files +=\
-                       /usr/share/X11/fonts/100dpi/*ISO8859-9.*
-       end
-
-       package %{name}-ISO8859-14-75dpi
-               template 75DPI
-
-               summary = ISO8859-14-75dpi fonts.
-               description
-                       Contains a set of 75dpi fonts in the ISO8859-14 encoding which
-                       provide Welsh support.
-               end
-
-               files +=\
-                       /usr/share/X11/fonts/75dpi/*ISO8859-14.*
-       end
-
-       package %{name}-ISO8859-14-100dpi
-               template 100DPI
-
-               summary = ISO8859-14-100dpi fonts.
-               description
-                       Contains a set of 100dpi fonts in the ISO8859-14 encoding which
-                       provide Welsh support.
-               end
-
-               files +=\
-                       /usr/share/X11/fonts/100dpi/*ISO8859-14.*
-       end
-
-       package %{name}-ISO8859-15-75dpi
-               template 75DPI
-
-               summary = ISO8859-15-75dpi fonts.
-               description
-                       Contains a set of 75dpi fonts in the ISO8859-15 encoding which
-                       provide Euro support.
-               end
-
-               files +=\
-                       /usr/share/X11/fonts/75dpi/*ISO8859-15.*
-       end
-
-       package %{name}-ISO8859-15-100dpi
-               template 100DPI
-
-               summary = ISO8859-15-100dpi fonts.
-               description
-                       Contains a set of 100dpi fonts in the ISO8859-15 encoding which
-                       provide Euro support.
-               end
-
-               files +=\
-                       /usr/share/X11/fonts/100dpi/*ISO8859-15.*
-       end
-
-       package %{name}-cyrillic
-               summary = Cyrillic fonts for X.
-               description
-                       Contains a set of Cyrillic fonts.
-               end
-
-               requires
-                       fontconfig
-               end
-
-               files
-                       /usr/share/X11/fonts/cyrillic/
-               end
-
-               prerequires = xorg-x11-font-utils
-
-               script postin
-                       /usr/bin/mkfontdir /usr/share/X11/fonts/cyrillic
-               end
-
-               script postun
-                       /usr/bin/mkfontdir /usr/share/X11/fonts/cyrillic
-               end
-       end
-
-       package %{name}-unifont
-               summary = The GNU unifont.
-               description
-                       GNU Unifont, contains glyphs for every printable code point in the Unicode 5.1 Basic Multilingual Plane (BMP).
-               end
-
-               files
-                       /usr/share/X11/fonts/misc/unifont.pcf.gz
-               end
-       end
-end
diff --git a/xorg-x11-proto-devel/xorg-x11-proto-devel.nm b/xorg-x11-proto-devel/xorg-x11-proto-devel.nm
deleted file mode 100644 (file)
index 8f74bbd..0000000
+++ /dev/null
@@ -1,91 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = xorg-x11-proto-devel
-version    = 7.7
-release    = 2
-arch       = noarch
-
-maintainer = Stefan Schantl <stefan.schantl@ipfire.org>
-groups     = Development/System
-url        = http://www.x.org/
-license    = MIT
-summary    = X11 potocol headers.
-
-description
-       Development headers for X.org X11 protocol.
-end
-
-source_dl = http://ftp.x.org/pub/individual/proto/
-sources = \
-       bigreqsproto-1.1.2.tar.bz2 \
-        compositeproto-0.4.2.tar.bz2 \
-        damageproto-1.2.1.tar.bz2 \
-        dmxproto-2.3.1.tar.bz2 \
-        dri2proto-2.8.tar.bz2 \
-        evieext-1.1.1.tar.bz2 \
-        fixesproto-5.0.tar.bz2 \
-        fontsproto-2.1.2.tar.bz2 \
-        glproto-1.4.16.tar.bz2 \
-        inputproto-2.2.99.1.tar.bz2 \
-        kbproto-1.0.6.tar.bz2 \
-        randrproto-1.4.0.tar.bz2 \
-        recordproto-1.14.2.tar.bz2 \
-        renderproto-0.11.1.tar.bz2 \
-        resourceproto-1.2.0.tar.bz2 \
-        scrnsaverproto-1.2.2.tar.bz2 \
-        videoproto-2.3.1.tar.bz2 \
-        xcmiscproto-1.2.2.tar.bz2 \
-        xextproto-7.2.1.tar.bz2 \
-        xf86bigfontproto-1.2.0.tar.bz2 \
-        xf86dgaproto-2.1.tar.bz2 \
-        xf86driproto-2.1.1.tar.bz2 \
-        xf86miscproto-0.9.3.tar.bz2 \
-        xf86vidmodeproto-2.3.1.tar.bz2 \
-        xineramaproto-1.2.1.tar.bz2 \
-        xproto-7.0.23.tar.bz2 \
-        xproxymanagementprotocol-1.0.3.tar.bz2
-
-build
-       requires
-               pkg-config
-               xorg-x11-util-macros
-       end
-
-       prepare
-               # Extract all source tarballs.
-               for object in %{sources}; do
-                       %{MACRO_EXTRACT} %{DIR_DL}/${object}
-               done
-
-               %{MACRO_FIX_AUTOTOOLS}
-       end
-
-       # Place the .pc files in /usr/share so they
-       # can be found on all architectures where libdir != /usr/lib.
-       configure_options += \
-               --libdir=%{datadir}
-
-       build
-               for object in %{sources}; do
-                       cd %{DIR_SRC}/${object%*.tar.bz2}
-                       [ -e configure ] || ./autogen.sh
-                       ./configure %{configure_options}
-
-                       make %{PARALLELISMFLAGS}
-               done
-       end
-
-       install
-               for object in %{sources}; do
-                       cd %{DIR_SRC}/${object%*.tar.bz2}
-                       make install DESTDIR=%{BUILDROOT}
-               done
-       end
-end
-
-packages
-       package %{name}
-end
diff --git a/xorg-x11-server/10-quirks.conf b/xorg-x11-server/10-quirks.conf
deleted file mode 100644 (file)
index 82d3ec2..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-# Collection of quirks and blacklist/whitelists for specific devices.
-
-
-# Accelerometer device, posts data through ABS_X/ABS_Y, making X unusable
-# http://bugs.freedesktop.org/show_bug.cgi?id=22442 
-Section "InputClass"
-        Identifier "ThinkPad HDAPS accelerometer blacklist"
-        MatchProduct "ThinkPad HDAPS accelerometer data"
-        Option "Ignore" "on"
-EndSection
-
-# https://bugzilla.redhat.com/show_bug.cgi?id=523914
-# Mouse does not move in PV Xen guest
-# Explicitly tell evdev to not ignore the absolute axes.
-Section "InputClass"
-        Identifier "Xen Virtual Pointer axis blacklist"
-        MatchProduct "Xen Virtual Pointer"
-        Option "IgnoreAbsoluteAxes" "off"
-        Option "IgnoreRelativeAxes" "off"
-EndSection
diff --git a/xorg-x11-server/patches/xserver-1.12-Xext-fix-selinux-build-failure.patch b/xorg-x11-server/patches/xserver-1.12-Xext-fix-selinux-build-failure.patch
deleted file mode 100644 (file)
index a48a013..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-From 5d16c39108c72b08478b6bd548494d6c675495ee Mon Sep 17 00:00:00 2001
-From: Peter Hutterer <peter.hutterer@who-t.net>
-Date: Wed, 4 Jan 2012 09:31:51 +1000
-Subject: [PATCH 6/7] Xext: fix selinux build failure
-
-The server builds with -Werror=missing-braces, causing
-
-xselinux_hooks.c: In function 'SELinuxFlaskInit':
-xselinux_hooks.c:851:12: error: missing braces around initializer
-[-Werror=missing-braces]
-xselinux_hooks.c:851:12: error: (near initialization for
-'avc_option.<anonymous>') [-Werror=missing-braces]
-cc1: some warnings being treated as errors
-
-Source is libselinux' libselinux-rhat.patch which changes struct selinux_opt
-from { int, char * } to { int, union { char*, char** }}.
-
-Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
----
- Xext/xselinux_hooks.c |    2 +-
- Xext/xselinux_label.c |    2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/Xext/xselinux_hooks.c b/Xext/xselinux_hooks.c
-index e9c7e93..0302f2f 100644
---- a/Xext/xselinux_hooks.c
-+++ b/Xext/xselinux_hooks.c
-@@ -851,7 +851,7 @@ SELinuxFlaskReset(void)
- void
- SELinuxFlaskInit(void)
- {
--    struct selinux_opt avc_option = { AVC_OPT_SETENFORCE, (char *) 0 };
-+    struct selinux_opt avc_option = { AVC_OPT_SETENFORCE, { (char *) 0 } };
-     security_context_t ctx;
-     int ret = TRUE;
-diff --git a/Xext/xselinux_label.c b/Xext/xselinux_label.c
-index 2c33d1c..81f2f36 100644
---- a/Xext/xselinux_label.c
-+++ b/Xext/xselinux_label.c
-@@ -361,7 +361,7 @@ SELinuxDefaultClientLabel(void)
- void
- SELinuxLabelInit(void)
- {
--    struct selinux_opt selabel_option = { SELABEL_OPT_VALIDATE, (char *) 1 };
-+    struct selinux_opt selabel_option = { SELABEL_OPT_VALIDATE, { (char *)1 } };
-     label_hnd = selabel_open(SELABEL_CTX_X, &selabel_option, 1);
-     if (!label_hnd)
--- 
-1.7.10.1
-
diff --git a/xorg-x11-server/patches/xserver-1.4.99-ssh-isnt-local.patch b/xorg-x11-server/patches/xserver-1.4.99-ssh-isnt-local.patch
deleted file mode 100644 (file)
index 2d33bed..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-From 66a3b14e118e90db80f96fcab52af4df35bc2377 Mon Sep 17 00:00:00 2001
-From: Adam Jackson <ajax@redhat.com>
-Date: Mon, 10 Dec 2007 11:26:57 -0500
-Subject: [PATCH] Hack for proper MIT-SHM rejection for ssh-forwarded clients.
-
----
- Xext/shm.c |   16 ++++++++++++++++
- 1 file changed, 16 insertions(+)
-
-diff --git a/Xext/shm.c b/Xext/shm.c
-index de48020..c011210 100644
---- a/Xext/shm.c
-+++ b/Xext/shm.c
-@@ -321,8 +321,21 @@ shm_access(ClientPtr client, SHMPERM_TYPE * perm, int readonly)
-     mode_t mask;
-     int uidset = 0, gidset = 0;
-     LocalClientCredRec *lcc;
-+    Bool is_ssh = FALSE;
-     if (GetLocalClientCreds(client, &lcc) != -1) {
-+#ifdef linux
-+      if (lcc->fieldsSet & LCC_PID_SET) {
-+          /* ssh isn't actually a local client */
-+          char exe[64], buf[64];
-+
-+          memset(buf, 0, 64);
-+          snprintf(exe, 64, "/proc/%d/exe", lcc->pid);
-+          readlink(exe, buf, 63);
-+          if (strstr(buf, "/ssh"))
-+              is_ssh = TRUE;
-+      }
-+#endif
-         if (lcc->fieldsSet & LCC_UID_SET) {
-             uid = lcc->euid;
-@@ -342,6 +355,9 @@ shm_access(ClientPtr client, SHMPERM_TYPE * perm, int readonly)
- #endif
-         FreeLocalClientCreds(lcc);
-+        if (is_ssh)
-+            return -1;
-+
-         if (uidset) {
-             /* User id 0 always gets access */
-             if (uid == 0) {
--- 
-1.7.10.1
-
diff --git a/xorg-x11-server/patches/xserver-1.6.0-less-acpi-brokenness.patch b/xorg-x11-server/patches/xserver-1.6.0-less-acpi-brokenness.patch
deleted file mode 100644 (file)
index b42c2d7..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-From 0002cde5312e785529b2901d7f8a82d5623e4ca7 Mon Sep 17 00:00:00 2001
-From: Adam Jackson <ajax@redhat.com>
-Date: Wed, 9 Nov 2011 11:52:06 +1000
-Subject: [PATCH 2/7] Don't build the ACPI code.
-
-No good can come of this.
----
- configure.ac |    1 -
- 1 file changed, 1 deletion(-)
-
-diff --git a/configure.ac b/configure.ac
-index a12783c..54f4464 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -1620,7 +1620,6 @@ if test "x$XORG" = xyes; then
-                       linux_alpha=yes
-                       ;;
-                 i*86|amd64*|x86_64*|ia64*)
--                      linux_acpi="yes"
-                       ;;
-                 *)
-                       ;;
--- 
-1.7.10.1
-
diff --git a/xorg-x11-server/patches/xserver-1.6.99-right-of.patch b/xorg-x11-server/patches/xserver-1.6.99-right-of.patch
deleted file mode 100644 (file)
index bf7e7c8..0000000
+++ /dev/null
@@ -1,162 +0,0 @@
-From 291bc9f827188461ff9717efccec1e350db537e8 Mon Sep 17 00:00:00 2001
-From: Adam Jackson <ajax@redhat.com>
-Date: Tue, 28 Jul 2009 11:07:13 -0400
-Subject: [PATCH 3/7] RANDR: right-of placement by default
-
-[Enhanced to add a new prefer clone option for drivers. This
-allows for servers like RN50 where two heads are disjoint. - airlied]
----
- hw/xfree86/common/xf86str.h |    8 ++++-
- hw/xfree86/modes/xf86Crtc.c |   76 ++++++++++++++++++++++++++++++++++++++-----
- 2 files changed, 75 insertions(+), 9 deletions(-)
-
-diff --git a/hw/xfree86/common/xf86str.h b/hw/xfree86/common/xf86str.h
-index 0590262..d246634 100644
---- a/hw/xfree86/common/xf86str.h
-+++ b/hw/xfree86/common/xf86str.h
-@@ -508,10 +508,13 @@ typedef struct _confdrirec {
- } confDRIRec, *confDRIPtr;
- /* These values should be adjusted when new fields are added to ScrnInfoRec */
--#define NUM_RESERVED_INTS             16
-+#define NUM_RESERVED_INTS             15
- #define NUM_RESERVED_POINTERS         14
- #define NUM_RESERVED_FUNCS            10
-+/* let clients know they can use this */
-+#define XF86_SCRN_HAS_PREFER_CLONE 1
-+
- typedef pointer (*funcPointer) (void);
- /* flags for depth 24 pixmap options */
-@@ -769,6 +772,9 @@ typedef struct _ScrnInfoRec {
-     ClockRangePtr clockRanges;
-     int adjustFlags;
-+    /* initial rightof support disable */
-+    int                 preferClone;
-+
-     /*
-      * These can be used when the minor ABI version is incremented.
-      * The NUM_* parameters must be reduced appropriately to keep the
-diff --git a/hw/xfree86/modes/xf86Crtc.c b/hw/xfree86/modes/xf86Crtc.c
-index 154f684..c58088d 100644
---- a/hw/xfree86/modes/xf86Crtc.c
-+++ b/hw/xfree86/modes/xf86Crtc.c
-@@ -1130,6 +1130,15 @@ xf86InitialOutputPositions(ScrnInfoPtr scrn, DisplayModePtr * modes)
-     int o;
-     int min_x, min_y;
-+    /* check for initial right-of heuristic */
-+    for (o = 0; o < config->num_output; o++)
-+    {
-+        xf86OutputPtr output = config->output[o];
-+
-+        if (output->initial_x || output->initial_y)
-+            return TRUE;
-+    }
-+
-     for (o = 0; o < config->num_output; o++) {
-         xf86OutputPtr output = config->output[o];
-@@ -1998,6 +2007,57 @@ bestModeForAspect(xf86CrtcConfigPtr config, Bool *enabled, float aspect)
-     return match;
- }
-+static int
-+numEnabledOutputs(xf86CrtcConfigPtr config, Bool *enabled)
-+{
-+    int i = 0, p;
-+
-+    for (i = 0, p = -1; nextEnabledOutput(config, enabled, &p); i++) ;
-+
-+    return i;
-+}
-+
-+static Bool
-+xf86TargetRightOf(ScrnInfoPtr scrn, xf86CrtcConfigPtr config,
-+                  DisplayModePtr *modes, Bool *enabled,
-+                  int width, int height)
-+{
-+    int o;
-+    int w = 0;
-+
-+    if (scrn->preferClone)
-+        return FALSE;
-+
-+    if (numEnabledOutputs(config, enabled) < 2)
-+        return FALSE;
-+
-+    for (o = -1; nextEnabledOutput(config, enabled, &o); ) {
-+        DisplayModePtr mode =
-+            xf86OutputHasPreferredMode(config->output[o], width, height);
-+
-+        if (!mode)
-+            return FALSE;
-+
-+        w += mode->HDisplay;
-+    }
-+
-+    if (w > width)
-+        return FALSE;
-+
-+    w = 0;
-+    for (o = -1; nextEnabledOutput(config, enabled, &o); ) {
-+        DisplayModePtr mode =
-+            xf86OutputHasPreferredMode(config->output[o], width, height);
-+
-+        config->output[o]->initial_x = w;
-+        w += mode->HDisplay;
-+
-+        modes[o] = mode;
-+    }
-+
-+    return TRUE;
-+}
-+
- static Bool
- xf86TargetPreferred(ScrnInfoPtr scrn, xf86CrtcConfigPtr config,
-                     DisplayModePtr * modes, Bool *enabled,
-@@ -2074,14 +2134,10 @@ xf86TargetPreferred(ScrnInfoPtr scrn, xf86CrtcConfigPtr config,
-      */
-     if (!ret)
-         do {
--            int i = 0;
-             float aspect = 0.0;
-             DisplayModePtr a = NULL, b = NULL;
--            /* count the number of enabled outputs */
--            for (i = 0, p = -1; nextEnabledOutput(config, enabled, &p); i++);
--
--            if (i != 1)
-+            if (numEnabledOutputs(config, enabled) != 1)
-                 break;
-             p = -1;
-@@ -2385,6 +2441,8 @@ xf86InitialConfiguration(ScrnInfoPtr scrn, Bool canGrow)
-     else {
-         if (xf86TargetUserpref(scrn, config, modes, enabled, width, height))
-             xf86DrvMsg(i, X_INFO, "Using user preference for initial modes\n");
-+        else if (xf86TargetRightOf(scrn, config, modes, enabled, width, height))
-+            xf86DrvMsg(i, X_INFO, "Using spanning desktop for initial modes\n");
-         else if (xf86TargetPreferred
-                  (scrn, config, modes, enabled, width, height))
-             xf86DrvMsg(i, X_INFO, "Using exact sizes for initial modes\n");
-@@ -2404,9 +2462,11 @@ xf86InitialConfiguration(ScrnInfoPtr scrn, Bool canGrow)
-                        "Output %s enabled but has no modes\n",
-                        config->output[o]->name);
-         else
--            xf86DrvMsg(scrn->scrnIndex, X_INFO,
--                       "Output %s using initial mode %s\n",
--                       config->output[o]->name, modes[o]->name);
-+            xf86DrvMsg (scrn->scrnIndex, X_INFO,
-+                        "Output %s using initial mode %s +%d+%d\n",
-+                        config->output[o]->name, modes[o]->name,
-+                        config->output[o]->initial_x,
-+                        config->output[o]->initial_y);
-     }
-     /*
--- 
-1.7.10.4
-
diff --git a/xorg-x11-server/patches/xserver-autobind-hotplug.patch b/xorg-x11-server/patches/xserver-autobind-hotplug.patch
deleted file mode 100644 (file)
index 7d05f27..0000000
+++ /dev/null
@@ -1,106 +0,0 @@
-From 536626891b60039c0f3f9b4cd96156e9fe810f39 Mon Sep 17 00:00:00 2001
-From: Dave Airlie <airlied@redhat.com>
-Date: Fri, 17 Aug 2012 09:49:24 +1000
-Subject: [PATCH] autobind GPUs to the screen, (v2)
-
-this is racy and really not what we want for hotplug going forward,
-but until DE support is in GNOME its probably for the best.
-
-v2: fix if config or slave config is NULL
-DO NOT UPSTREAM.
----
- hw/xfree86/common/xf86Init.c        |   12 ++++++++++++
- hw/xfree86/common/xf86platformBus.c |    3 +++
- hw/xfree86/modes/xf86Crtc.c         |   28 ++++++++++++++++++++++++++++
- 3 files changed, 43 insertions(+)
-
-diff --git a/hw/xfree86/common/xf86Init.c b/hw/xfree86/common/xf86Init.c
-index d231ced..89629c1 100644
---- a/hw/xfree86/common/xf86Init.c
-+++ b/hw/xfree86/common/xf86Init.c
-@@ -361,6 +361,16 @@ xf86CreateRootWindow(WindowPtr pWin)
-     return ret;
- }
-+extern void xf86AutoConfigOutputDevice(ScrnInfoPtr pScrn, ScrnInfoPtr master);                              
-+static void
-+xf86AutoConfigOutputDevices(void)
-+{
-+    int i;
-+
-+    for (i = 0; i < xf86NumGPUScreens; i++)
-+        xf86AutoConfigOutputDevice(xf86GPUScreens[i], xf86Screens[0]);
-+}
-+
- static void
- InstallSignalHandlers(void)
- {
-@@ -926,6 +936,8 @@ InitOutput(ScreenInfo * pScreenInfo, int argc, char **argv)
-     for (i = 0; i < xf86NumGPUScreens; i++)
-         AttachUnboundGPU(xf86Screens[0]->pScreen, xf86GPUScreens[i]->pScreen);
-+    xf86AutoConfigOutputDevices();
-+
-     xf86VGAarbiterWrapFunctions();
-     if (sigio_blocked)
-         OsReleaseSIGIO();
-diff --git a/hw/xfree86/common/xf86platformBus.c b/hw/xfree86/common/xf86platformBus.c
-index a73aea2..3810076 100644
---- a/hw/xfree86/common/xf86platformBus.c
-+++ b/hw/xfree86/common/xf86platformBus.c
-@@ -387,6 +387,8 @@ xf86platformProbeDev(DriverPtr drvp)
-     return foundScreen;
- }
-+extern void xf86AutoConfigOutputDevice(ScrnInfoPtr pScrn, ScrnInfoPtr master);
-+
- int
- xf86platformAddDevice(int index)
- {
-@@ -446,6 +448,7 @@ xf86platformAddDevice(int index)
-    /* attach unbound to 0 protocol screen */
-    AttachUnboundGPU(xf86Screens[0]->pScreen, xf86GPUScreens[i]->pScreen);
-+   xf86AutoConfigOutputDevice(xf86GPUScreens[i], xf86Screens[0]);
-    return 0;
- }
-diff --git a/hw/xfree86/modes/xf86Crtc.c b/hw/xfree86/modes/xf86Crtc.c
-index 8f05c53..ba84e6b 100644
---- a/hw/xfree86/modes/xf86Crtc.c
-+++ b/hw/xfree86/modes/xf86Crtc.c
-@@ -3321,3 +3321,31 @@ xf86DetachAllCrtc(ScrnInfoPtr scrn)
-             crtc->x = crtc->y = 0;
-         }
- }
-+
-+
-+void xf86AutoConfigOutputDevice(ScrnInfoPtr pScrn, ScrnInfoPtr master)
-+{
-+    RRProviderPtr master_provider;
-+    xf86CrtcConfigPtr config = XF86_CRTC_CONFIG_PTR(master);
-+    xf86CrtcConfigPtr slave_config = XF86_CRTC_CONFIG_PTR(pScrn);
-+
-+    if (!config || !slave_config)
-+        return;
-+
-+    master_provider = config->randr_provider;
-+
-+    if ((master->capabilities & RR_Capability_SinkOffload) &&
-+        pScrn->capabilities & RR_Capability_SourceOffload) {
-+            /* source offload */
-+            
-+        DetachUnboundGPU(pScrn->pScreen);
-+        AttachOffloadGPU(master->pScreen, pScrn->pScreen);
-+        slave_config->randr_provider->offload_sink = master_provider;
-+    } else if ((master->capabilities & RR_Capability_SourceOutput) &&
-+               pScrn->capabilities & RR_Capability_SinkOutput) {
-+        /* sink offload */
-+        DetachUnboundGPU(pScrn->pScreen);
-+        AttachOutputGPU(master->pScreen, pScrn->pScreen);
-+        slave_config->randr_provider->output_source = master_provider;
-+    }
-+}
--- 
-1.7.10.2
-
diff --git a/xorg-x11-server/xorg-x11-server.nm b/xorg-x11-server/xorg-x11-server.nm
deleted file mode 100644 (file)
index f2d933c..0000000
+++ /dev/null
@@ -1,164 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = xorg-x11-server
-version    = 1.13.2
-release    = 1
-
-maintainer = Stefan Schantl <stefan.schantl@ipfire.org>
-groups     = X/Server
-url        = http://www.x.org
-license    = MIT
-summary    = X.Org X11 X server.
-
-description
-       X.org X11 is an open source implementation of the X Window System.
-       It provides the basic low level functionality which full fledged
-       graphical user interfaces (GUIs) such as GNOME and KDE are designed
-       upon.
-end
-
-thisapp = xorg-server-%{version}
-
-source_dl = http://ftp.x.org/pub/individual/xserver/
-
-build
-       requires
-               audit-devel
-               autoconf
-               automake
-               libcap
-               libX11-devel
-               libXau-devel
-               libXdmcp-devel
-               libXext-devel
-               libXfixes-devel
-               libXfont-devel
-               libXmu-devel
-               libXrender-devel
-               libXres-devel
-               libXt-devel
-               libdrm-devel
-               libfontenc-devel
-               libpciaccess-devel
-               libselinux-devel
-               libtool
-               libudev-devel
-               libxcb-devel
-               libxkbfile-devel
-               mesa-devel >= 9.0.2
-               openssl-devel
-               pixman-devel
-               pkg-config
-               xorg-x11-font-utils-devel
-               xorg-x11-util-macros
-               xorg-x11-proto-devel >= 7.7
-               xorg-x11-xtrans-devel
-       end
-
-       CFLAGS += -Wstrict-overflow -rdynamic
-
-       configure_options += \
-               --enable-xvfb \
-               --enable-xfake \
-               --enable-xfbdev \
-               --enable-xorg \
-               --disable-static \
-               --disable-xnest \
-               --disable-xephyr \
-               --with-pic \
-               --enable-maintainer-mode \
-               --enable-xselinux \
-               --with-int10=x86emu \
-               --with-default-font-path="catalogue:/etc/X11/fontpath.d,built-ins" \
-               --with-module-dir=%{libdir}/xorg/modules \
-               --with-builderstring="Build ID: %{name} %{version}-%{release}" \
-               --with-os-name="$(hostname -s) $(uname -r)" \
-               --with-vendor-name="$(DISTRO_NAME) Project" \
-               --with-vendor-web="http://www.ipfire.org" \
-               --with-xkb-output=/var/lib/xkb \
-               --enable-install-libxf86config \
-               --localstatedir=/var \
-               --disable-screensaver \
-               --disable-config-dbus \
-               --disable-config-hal \
-               --enable-config-udev
-
-       prepare_cmds
-               autoreconf -vfi
-       end
-
-       configure_cmds
-               # Remove BIND_NOW flag from server modules to provide autoloading of them if needed
-               # by the server itself.
-               sed -i -e "s/^CFLAGS.*/& -Wl,-z,lazy/" \
-               -e "s/^CCASFLAGS.*/& -Wl,-z,lazy/" \
-                       \
-                       hw/xfree86/dixmods/Makefile \
-                       hw/xfree86/dri/Makefile \
-                       hw/xfree86/dri2/Makefile \
-                       hw/xfree86/exa/Makefile \
-                       hw/xfree86/fbdevhw/Makefile \
-                       hw/xfree86/i2c/Makefile \
-                       hw/xfree86/int10/Makefile \
-                       hw/xfree86/shadowfb/Makefile \
-                       hw/xfree86/vbe/Makefile \
-                       hw/xfree86/vgahw/Makefile \
-       end
-
-       make_install_targets += \
-               moduledir=%{libdir}/xorg/modules
-
-       install_cmds
-               rm -vf %{BUILDROOT}%{libdir}/xorg/modules/libxf8_16bpp.so
-               rm -vrf %{BUILDROOT}/var/log
-
-               mkdir -pv %{BUILDROOT}/etc/X11/xorg.conf.d %{BUILDROOT}/usr/share/xorg
-               install -m 0444 hw/xfree86/common/{vesa,extra}modes %{BUILDROOT}/usr/share/xorg/
-               install -m 644 %{DIR_SOURCE}/10-quirks.conf %{BUILDROOT}/usr/share/X11/xorg.conf.d
-       end
-end
-
-quality-agent
-       permit_not_full_relro = yes
-end
-
-packages
-       package %{name}
-               requires
-                       pixman
-                       udev
-                       xkeyboard-config
-               end
-
-               recommends
-                       xorg-x11-drv-ati
-                       xorg-x11-drv-evdev
-                       xorg-x11-drv-intel
-                       xorg-x11-drv-keyboard
-                       xorg-x11-drv-modesetting
-                       xorg-x11-drv-mouse
-                       xorg-x11-drv-nouveau
-                       xorg-x11-drv-vesa
-                       xorg-x11-drv-vmware
-                       xorg-x11-fonts
-                       xorg-x11-font-utils
-                       xorg-x11-xkb-utils
-               end
-       end
-
-       package %{name}-devel
-               template DEVEL
-
-               requires
-                       libpciaccess-devel
-                       pixman-devel
-               end
-       end
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
diff --git a/xorg-x11-util-macros/xorg-x11-util-macros.nm b/xorg-x11-util-macros/xorg-x11-util-macros.nm
deleted file mode 100644 (file)
index 121c2c1..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = xorg-x11-util-macros
-version    = 1.19.0
-release    = 1
-arch       = noarch
-
-maintainer = Stefan Schantl <stefan.schantl@ipfire.org>
-groups     = X/Libraries
-url        = http://www.x.org/
-license    = MIT
-summary    = X.Org X11 Autotools macros.
-
-description
-       X.Org X11 autotools macros required for building the various
-       packages that comprise the X Window System.
-end
-
-thisapp = util-macros-%{version}
-
-source_dl = http://ftp.x.org/pub/individual/util/
-
-
-build
-       requires
-               pkg-config
-       end
-
-       configure_options += \
-               --disable-static
-
-       make_install_target += \
-               INSTALL="install -p"
-end
-
-packages
-       package %{name}
-end
diff --git a/xorg-x11-xinit/patches/xinit-1.0.2-client-session.patch b/xorg-x11-xinit/patches/xinit-1.0.2-client-session.patch
deleted file mode 100644 (file)
index a38c883..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-Index: xinit-1.3.1/xinit.c
-===================================================================
---- xinit-1.3.1.orig/xinit.c
-+++ xinit-1.3.1/xinit.c
-@@ -91,6 +91,8 @@ char xserverrcbuf[256];
- #define TRUE 1
- #define FALSE 0
-+#define OK_EXIT 0
-+#define ERR_EXIT 1
- static char *default_server = "X";
- static char *default_display = ":0";        /* choose most efficient */
-@@ -561,6 +563,7 @@ startClient(char *client[])
- {
-     clientpid = fork();
-     if (clientpid == 0) {
-+              int fd;
-         set_environment();
-         setWindowPath();
-@@ -568,7 +571,16 @@ startClient(char *client[])
-             Error("cannot change uid");
-             _exit(EXIT_FAILURE);
-         }
--        setpgid(0, getpid());
-+              fd = open ("/dev/null", O_RDONLY);
-+
-+              if (fd < 0) {
-+                      Error("cannot open /dev/null: %s\n", strerror(errno));
-+                      _exit(ERR_EXIT);
-+              }
-+              close (STDIN_FILENO);
-+              dup2 (fd, STDIN_FILENO);
-+              close (fd);
-+              setsid();
-         Execute(client);
-         Error("Unable to run program \"%s\"", client[0]);
diff --git a/xorg-x11-xinit/patches/xorg-x11-xinit-1.3.2-systemd-logind.patch b/xorg-x11-xinit/patches/xorg-x11-xinit-1.3.2-systemd-logind.patch
deleted file mode 100644 (file)
index 85261da..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-diff -Nur xinit-1.3.2.orig/startx.cpp xinit-1.3.2/startx.cpp
---- xinit-1.3.2.orig/startx.cpp        2012-09-29 11:55:06.661264745 -0600
-+++ xinit-1.3.2/startx.cpp     2012-09-29 11:56:24.849771316 -0600
-@@ -80,6 +80,7 @@
- defaultdisplay=":0"
- clientargs=""
- serverargs=""
-+tty_num=$(tty | grep -oE '[0-9]+$')
- #ifdef __APPLE__
-@@ -135,6 +136,15 @@
- enable_xauth=1
- #endif
-+if [ x"$tty_num" != x ]; then
-+    # Specify TTY number directly to avoid recognizing startx session as
-+    # inactive: RHBZ#820675
-+    serverargs=${serverargs}" vt"${tty_num}
-+else
-+    echo "Error getting tty num"
-+    exit 1
-+fi
-+
- XCOMM Automatically determine an unused $DISPLAY
- d=0
- while true ; do
diff --git a/xorg-x11-xinit/xorg-x11-xinit.nm b/xorg-x11-xinit/xorg-x11-xinit.nm
deleted file mode 100644 (file)
index c3ad690..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = xorg-x11-xinit
-version    = 1.3.2
-release    = 1
-thisapp    = xinit-%{version}
-
-groups     = X/Server
-url        = http://www.x.org
-license    = MIT
-summary    = X.Org X11 X Window System xinit startup scripts.
-
-description
-       X.Org X11 X Window System xinit startup scripts.
-end
-
-source_dl = http://ftp.x.org/pub/individual/app/
-
-build
-       requires
-               autoconf
-               automake
-               libX11-devel
-               libtool
-               xorg-x11-util-macros
-       end
-
-       prepare_cmds
-               # Regenerate build system.
-               autoreconf -vfi
-       end
-end
-
-packages
-       package %{name}
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
diff --git a/xorg-x11-xkb-utils/xorg-x11-xkb-utils.nm b/xorg-x11-xkb-utils/xorg-x11-xkb-utils.nm
deleted file mode 100644 (file)
index 2b5c14d..0000000
+++ /dev/null
@@ -1,72 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = xorg-x11-xkb-utils
-version    = 7.4
-release    = 1
-
-maintainer = Stefan Schantl <stefan.schantl@ipfire.org>
-groups     = X/Fonts
-url        = http://www.x.org/
-license    = MIT
-summary    = X.Org X11 xkb utilities.
-
-description
-       X.Org X11 xkb utilities.
-end
-
-configure_options += \
-       --mandir=/usr/share/man
-
-CFLAGS += -DHAVE_STRCASECMP
-
-source_dl = http://ftp.x.org/pub/individual/app/
-sources = \
-       xkbcomp-1.1.1.tar.bz2 \
-       xkbutils-1.0.3.tar.bz2 \
-       xkbevd-1.1.1.tar.bz2 \
-       xkbprint-1.0.1.tar.bz2 \
-       setxkbmap-1.2.0.tar.bz2
-
-build
-       requires
-               bison
-               libICE-devel
-               libSM-devel
-               libX11-devel
-               libXaw-devel
-               libXmu-devel
-               libXt-devel
-               libxkbfile-devel
-               pkg-config
-               xorg-x11-proto-devel
-       end
-
-       build
-               for object in %{sources}; do
-                       cd %{DIR_SRC}/${object%*.tar.bz2}
-                       rm -vf xkbparse.c # force regen
-                       ./configure %{configure_options}
-
-                       make %{PARALLELISMFLAGS}
-               done
-       end
-
-       install
-               for object in %{sources}; do
-                       cd %{DIR_SRC}/${object%*.tar.bz2}
-                       make install DESTDIR=%{BUILDROOT}
-               done
-       end
-end
-
-packages
-       package %{name}
-       end
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
diff --git a/xorg-x11-xtrans-devel/patches/xtrans-1.0.3-avoid-gethostname.patch b/xorg-x11-xtrans-devel/patches/xtrans-1.0.3-avoid-gethostname.patch
deleted file mode 100644 (file)
index 5d474d5..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-diff -up xtrans-1.0.3/Xtransutil.c.jx xtrans-1.0.3/Xtransutil.c
---- xtrans-1.0.3/Xtransutil.c.jx       2006-12-06 11:08:53.000000000 -0500
-+++ xtrans-1.0.3/Xtransutil.c  2007-10-01 14:53:43.000000000 -0400
-@@ -271,6 +271,7 @@ TRANS(GetMyNetworkId) (XtransConnInfo ci
-     case AF_UNIX:
-     {
-       struct sockaddr_un *saddr = (struct sockaddr_un *) addr;
-+      strcpy(hostnamebuf, "unix");
-       networkId = (char *) xalloc (3 + strlen (transName) +
-           strlen (hostnamebuf) + strlen (saddr->sun_path));
-       sprintf (networkId, "%s/%s:%s", transName,
diff --git a/xorg-x11-xtrans-devel/xorg-x11-xtrans-devel.nm b/xorg-x11-xtrans-devel/xorg-x11-xtrans-devel.nm
deleted file mode 100644 (file)
index cf8f83f..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = xorg-x11-xtrans-devel
-version    = 1.2.5
-release    = 2
-thisapp    = xorg-xtrans-%{version}
-arch       = noarch
-
-maintainer = Stefan Schantl <stefan.schantl@ipfire.org>
-groups     = X/Libraries
-url        = http://www.x.org/
-license    = MIT
-summary    = X11 transport library.
-
-description
-       Transprot library for X.org X11 protocol.
-end
-
-sources  = xtrans-%{version}.tar.bz2
-
-build
-       requires
-               pkg-config
-       end
-
-       DIR_APP = %{DIR_SRC}/xtrans-%{version}
-end
-
-packages
-       package %{name}
-end
diff --git a/xrandr/xrandr.nm b/xrandr/xrandr.nm
deleted file mode 100644 (file)
index eebec73..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = xrandr
-version    = 1.3.3
-release    = 1
-
-groups     = X/Tools
-url        = http://www.x.org/
-license    = MIT
-summary    = Primitive command line interface to RandR extension.
-
-description
-       Xrandr is used to set the screen size, orientation and/or \
-       reflection using the RandR extension.
-end
-
-source_dl = http://ftp.x.org/pub/individual/app
-sources   = %{thisapp}.tar.bz2
-
-build
-       requires
-               libX11-devel
-               libXrandr-devel
-               libXrender-devel
-               pkg-config
-       end
-
-       install_cmds
-               # Remove xkeystone, it has a bad interpreter and we don't need it.
-               rm -vf %{BUILDROOT}/usr/bin/xkeystone
-       end
-end
-
-packages
-       package %{name}
-       end
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
diff --git a/xterm/patches/xterm-245-resources.patch b/xterm/patches/xterm-245-resources.patch
deleted file mode 100644 (file)
index f3be10a..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-diff -up xterm-245/XTerm.ad.resources xterm-245/XTerm.ad
---- xterm-245/XTerm.ad.resources       2009-02-13 01:14:13.000000000 +0100
-+++ xterm-245/XTerm.ad 2009-08-13 12:28:59.000000000 +0200
-@@ -210,3 +210,13 @@
- !*allowTcapOps: false
- !*allowTitleOps: false
- !*allowWindowOps: false
-+
-+! Red Hat Defaults:
-+*allowFontOps: false
-+*allowTcapOps: false
-+*allowWindowOps: false
-+*VT100*eightBitInput: false
-+*VT100*metaSendsEscape: true
-+*VT100*backarrowKey: false
-+*VT100*scrollBar: true
-+*VT100*utf8Title: true
diff --git a/xterm/patches/xterm-256-man-page_paths.patch b/xterm/patches/xterm-256-man-page_paths.patch
deleted file mode 100644 (file)
index 6bfd46d..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-diff -up xterm-256/minstall.sh.man-page_paths xterm-256/minstall.sh
---- xterm-256/minstall.sh.man-page_paths       2010-03-04 00:44:49.000000000 +0100
-+++ xterm-256/minstall.sh      2010-03-09 12:11:26.000000000 +0100
-@@ -109,6 +109,10 @@ WTMP_PATH=$WTMP_PATH/$WTMP_NAME
- X_MANSECT=`man X 2>&1 | tr '\012' '\020' | sed -e 's/^[^0123456789]*\([^) ][^) ]*\).*/\1/'`
- test -z "$X_MANSECT" && X_MANSECT=$suffix
-+fontpath=/usr/share/X11/fonts
-+xorgcfgdir=/etc/X11
-+xorgcfgfil=xorg.conf
-+X_MANSECT=7
- sed   -e 's%__vendorversion__%"X Window System"%' \
-       -e s%__apploaddir__%$APPS_DIR% \
-       -e s%__mansuffix__%$MY_MANSECT%g \
-@@ -117,6 +121,9 @@ sed        -e 's%__vendorversion__%"X Window Sy
-       -e s%/etc/utmp%$UTMP_PATH%g \
-       -e s%fIwtmp'\\%fI'$WTMP_NAME'\\%g' \
-       -e s%/etc/wtmp%$WTMP_PATH%g \
-+      -e s%__fontpath__%$fontpath%g \
-+      -e s%__xorgcfgdir__%$xorgcfgdir%g \
-+      -e s%__xorgcfgfil__%$xorgcfgfil%g \
-       $OLD_FILE >$NEW_FILE
- echo "$MINSTALL $OLD_FILE $END_FILE"
-diff -up xterm-256/xterm.man.man-page_paths xterm-256/xterm.man
---- xterm-256/xterm.man.man-page_paths 2010-03-03 23:30:35.000000000 +0100
-+++ xterm-256/xterm.man        2010-03-09 12:11:26.000000000 +0100
-@@ -1699,17 +1699,17 @@ Since X11R6, bitmap fonts have been scal
- The font server claims to provide the bold font that \fIxterm\fP requests,
- but the result is not always readable.
- XFree86 provides a feature which can be used to suppress the scaling.
--In the X server's configuration file (e.g., "/etc/X11/XFree86"), you
-+In the X server's configuration file (e.g., __xorgcfgdir__/__xorgcfgfil__), you
- can add ":unscaled" to the end of the directory specification for the
- "misc" fonts, which comprise the fixed-pitch fonts that are used by \fIxterm\fP.
- For example
- .RS
--      FontPath        "/usr/lib/X11/fonts/misc/"
-+      FontPath        "__fontpath__"
- .RE
- .IP
- would become
- .RS
--      FontPath        "/usr/lib/X11/fonts/misc/:unscaled"
-+      FontPath        "__fontpath__/misc/:unscaled"
- .RE
- .IP
- Depending on your configuration, the font server may have its own configuration
diff --git a/xterm/patches/xterm-261-desk.patch b/xterm/patches/xterm-261-desk.patch
deleted file mode 100644 (file)
index b648328..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-diff -up xterm-261/xterm.desktop.desk xterm-261/xterm.desktop
---- xterm-261/xterm.desktop.desk       2010-06-15 12:58:13.000000000 +0200
-+++ xterm-261/xterm.desktop    2010-07-02 13:02:56.000000000 +0200
-@@ -32,10 +32,11 @@
- # -----------------------------------------------------------------------------
- [Desktop Entry]
- Name=XTerm
-+GenericName=Terminal
- Comment=standard terminal emulator for the X window system
- Exec=xterm
- Terminal=false
- Type=Application
- Encoding=UTF-8
--Icon=xterm-color_48x48
-+Icon=gnome-xterm
- Categories=System;TerminalEmulator;
diff --git a/xterm/xterm.nm b/xterm/xterm.nm
deleted file mode 100644 (file)
index 52b824a..0000000
+++ /dev/null
@@ -1,55 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = xterm
-version    = 262
-release    = 1
-
-groups     = X/Application
-url        = http://invisible-island.net/xterm/
-license    = MIT
-summary    = Terminal emulator for the X Window System.
-
-description
-       The xterm program is a terminal emulator for the X Window System. It \
-       provides DEC VT102 and Tektronix 4014 compatible terminals for \
-       programs that can't use the window system directly.
-end
-
-source_dl = ftp://invisible-island.net/xterm/
-
-sources   = %{thisapp}.tgz
-
-build
-       requires
-               libSM-devel
-               libXft-devel
-               libXaw-devel
-               libXext-devel
-               libxkbfile-devel
-               ncurses-devel
-               pkg-config
-       end
-
-       configure_options += \
-               --mandir=/usr/share/man \
-               --enable-256-color \
-               --enable-exec-xterm \
-               --enable-luit \
-               --enable-warnings \
-               --enable-wide-chars \
-               --with-tty-group=tty \
-               --disable-full-tgetent
-end
-
-packages
-       package %{name}
-               requires = xorg-x11-server
-       end
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
diff --git a/xxhash/xxhash.nm b/xxhash/xxhash.nm
new file mode 100644 (file)
index 0000000..1a9310f
--- /dev/null
@@ -0,0 +1,60 @@
+###############################################################################
+# IPFire.org    - An Open Source Firewall Solution                            #
+# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
+###############################################################################
+
+name       = xxhash
+version    = 0.8.2
+release    = 1
+
+groups     = System/Libraries
+url        = https://www.xxhash.com/
+license    = BSD and GPLv2+
+summary    = Extremely fast hash algorithm
+
+description
+       xxHash is an Extremely fast Hash algorithm, running at RAM speed
+       limits.
+end
+
+source_dl = https://github.com/Cyan4973/xxHash/archive/v%{version}/
+sources   = %{thisapp}.tar.gz
+
+build
+       DIR_APP = %{DIR_SRC}/xxHash-%{version}
+
+       make_build_targets += \
+               MOREFLAGS="%{CFLAGS} %{LDFLAGS}"
+
+       test
+               make check
+               make test-xxhsum-c
+       end
+
+       make_install_targets += \
+               PREFIX=%{prefix} \
+               LIBDIR=%{libdir}
+
+       install_cmds
+               # Fix broken symlinks.
+               for bit in 32 64 128; do
+                       ln -svf xxhsum.1 %{BUILDROOT}%{mandir}/man1/xxh${bit}sum.1
+               done
+       end
+end
+
+packages
+       package %{name}
+
+       package %{name}-libs
+               template LIBS
+       end
+
+       package %{name}-devel
+               template DEVEL
+       end
+
+       package %{name}-debuginfo
+               template DEBUGINFO
+       end
+end
index c815baed2e411d995cad47698c9550c1795fdad8..b10590293fe97af7727468a9bff1046cdd65fb7d 100644 (file)
--- a/xz/xz.nm
+++ b/xz/xz.nm
@@ -4,11 +4,11 @@
 ###############################################################################
 
 name       = xz
-version    = 5.2.4
+version    = 5.4.4
 release    = 1
 
 groups     = Applications/Compression
-url        = http://tukaani.org/xz/
+url        = https://tukaani.org/xz/
 license    = LGPLv2+
 summary    = LZMA Utils.
 
@@ -20,7 +20,7 @@ description
        tools.
 end
 
-source_dl  = http://tukaani.org/xz/
+source_dl  = https://tukaani.org/xz/
 sources    = %{thisapp}.tar.xz
 
 build
@@ -35,8 +35,6 @@ end
 
 packages
        package %{name}
-               groups += Build
-       end
 
        package %{name}-libs
                template LIBS
similarity index 54%
rename from sysfsutils/sysfsutils.nm
rename to yajl/yajl.nm
index 3ace7b4b47290554c1e88cb8c224a718518b6e5c..4e5a0d4b501fcdf4414b3a5b8b8fc9dc03c6463f 100644 (file)
@@ -3,30 +3,36 @@
 # Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
 ###############################################################################
 
-name       = sysfsutils
+name       = yajl
 version    = 2.1.0
 release    = 1
 
 groups     = System/Libraries
-url        = http://sourceforge.net/projects/linux-diag/
-license    = GPLv2
-summary    = Utilities for interfacing with sysfs.
+url        = https://lloyd.github.io/yajl/
+license    = ISC
+summary    = Yet Another JSON Library (YAJL)
 
 description
-       This package's purpose is to provide a set of utilities for interfacing
-       with sysfs.
+       Yet Another JSON Library. YAJL is a small event-driven (SAX-style)
+       JSON parser written in ANSI C, and a small validating JSON generator.
+       YAJL is released under the ISC license.
 end
 
-source_dl  = http://downloads.sourceforge.net/project/%{name}/%{name}/%{thisapp}
+source_dl = https://github.com/lloyd/yajl/archive/refs/tags/%{version}.tar.gz#/
 
 build
-       configure_options += \
-               --mandir=/usr/share/man
+       requires
+               cmake
+       end
+
+       build
+               %{cmake} .
+               make %{PARALLELISMFLAGS}
+       end
 end
 
 packages
        package %{name}
-       end
 
        package %{name}-devel
                template DEVEL
diff --git a/zd1211-firmware/zd1211-firmware.nm b/zd1211-firmware/zd1211-firmware.nm
deleted file mode 100644 (file)
index dd75da4..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = zd1211-firmware
-version    = 1.4
-release    = 2
-arch       = noarch
-
-maintainer = Arne Fitzenreiter <arne.fitzenreiter@ipfire.org>
-groups     = System/Libraries
-url        = http://sourceforge.net/projects/zd1211/
-license    = GPLv2
-summary    = Firmware Binaries for ZyDAS ZD1211 WLAN USB devices.
-
-description
-       This package contains the firmware files needed for the zd1211 devices to work.
-end
-
-source_dl  = http://sourceforge.net/projects/zd1211/files/%{name}/%{version}/
-sources    = %{thisapp}.tar.bz2
-
-build
-       DIR_APP = %{DIR_SRC}/%{name}
-
-       build
-               : # Nothing to do.
-       end
-
-       install
-               mkdir -pv %{BUILDROOT}%{prefix}/lib/firmware/zd1211/
-               cp -prv zd1211_* %{BUILDROOT}%{prefix}/lib/firmware/zd1211/
-               cp -prv zd1211b_* %{BUILDROOT}%{prefix}/lib/firmware/zd1211/
-
-               chown -Rv root:root %{BUILDROOT}%{prefix}/lib/firmware
-       end
-end
-
-packages
-       package %{name}
-               groups += Base
-       end
-end
diff --git a/zenity/zenity.nm b/zenity/zenity.nm
deleted file mode 100644 (file)
index 4ce567b..0000000
+++ /dev/null
@@ -1,54 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = zenity
-version    = %{ver_maj}.%{ver_min}
-ver_maj    = 3.7
-ver_min    = 2
-release    = 1
-
-groups     = Applications/System
-url        = http://directory.fsf.org/zenity.html
-license    = LGPLv2+
-summary    = Display dialog boxes from shell scripts
-
-description
-       Zenity lets you display Gtk+ dialog boxes from the command line and through
-       shell scripts. It is similar to gdialog, but is intended to be saner. It comes
-       from the same family as dialog, Xdialog, and cdialog.
-end
-
-source_dl  = http://download.gnome.org/sources/%{name}/%{ver_maj}/
-sources    = %{thisapp}.tar.xz
-
-build
-       requires
-               gettext
-               gtk3-devel
-               intltool
-               which
-       end
-
-       configure_options += \
-               --disable-scrollkeeper \
-               --disable-webkitgtk \
-               ITSTOOL=true
-
-       install_cmds
-               # we don't want a perl dependency just for this
-               rm -vf %{BUILDROOT}%{bindir}/gdialog
-
-               # Remove help documents.
-               rm -rvf %{BUILDROOT}%{datadir}/help
-       end
-end
-
-packages
-       package %{name}
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
diff --git a/zerofree/zerofree.nm b/zerofree/zerofree.nm
deleted file mode 100644 (file)
index 5f92de5..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-###############################################################################
-# IPFire.org    - An Open Source Firewall Solution                            #
-# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
-###############################################################################
-
-name       = zerofree
-version    = 1.0.1
-release    = 2
-
-groups     = Filesystem/Tools
-url        = http://intgat.tigress.co.uk/rmy/uml/
-license    = GPL+
-summary    = Utility to force unused ext2 inodes and blocks to zero.
-
-description
-       zerofree is a utility to set unused filesystem inodes and blocks of an
-       ext2 filesystem to zero.  This can improve the compressibility and
-       privacy of an ext2 filesystem.
-
-       This tool was inspired by the ext2fs privacy (i.e. secure deletion)
-       patch described in a Linux kernel mailing list thread.
-
-       WARNING: The filesystem to be processed should be unmounted or mounted
-       read-only. The tool tries to check this before running, but you
-       should be careful.
-end
-
-source_dl  = http://intgat.tigress.co.uk/rmy/uml/
-sources    = %{thisapp}.tgz
-
-build
-       requires
-               e2fsprogs-devel
-       end
-
-       build
-               make %{PARALLELISMFLAGS} CC="gcc %{CFLAGS} %{LDFLAGS}"
-       end
-
-       install
-               mkdir -pv %{BUILDROOT}/usr/sbin
-               install -D -p -m 755 zerofree %{BUILDROOT}/usr/sbin
-       end
-end
-
-packages
-       package zerofree
-
-       package %{name}-debuginfo
-               template DEBUGINFO
-       end
-end
index e4f93069f255849055b262cd9153426c7eeec8a2..e832c914561607baebd3f3748e48d264159078ee 100644 (file)
@@ -4,11 +4,11 @@
 ###############################################################################
 
 name       = zlib
-version    = 1.2.11
+version    = 1.3
 release    = 1
 
 groups     = System/Libraries
-url        = http://www.gzip.org/zlib/
+url        = https://zlib.net/
 license    = zlib
 summary    = The zlib compression and decompression library.
 
@@ -17,7 +17,7 @@ description
        library which is used by many different programs.
 end
 
-source_dl  = http://zlib.net/
+source_dl  = https://zlib.net/
 
 # Enable PIC build.
 CFLAGS    += -fPIC -DPIC
diff --git a/zstd/zstd.nm b/zstd/zstd.nm
new file mode 100644 (file)
index 0000000..73d6b02
--- /dev/null
@@ -0,0 +1,52 @@
+###############################################################################
+# IPFire.org    - An Open Source Firewall Solution                            #
+# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
+###############################################################################
+
+name       = zstd
+version    = 1.5.5
+release    = 1
+
+groups     = System/Libraries
+url        = http://facebook.github.io/zstd/
+license    = GPLv2
+summary    = Zstandard is a fast lossless compression algorithm
+
+description
+       Zstandard, or zstd as short version, is a fast lossless compression
+       algorithm, targeting real-time compression scenarios at zlib-level
+       and better compression ratios. It's backed by a very fast entropy
+       stage, provided by Huff0 and FSE library.
+end
+
+source_dl  = https://github.com/facebook/zstd/releases/download/v%{version}/
+
+build
+       requires
+               lz4-devel
+               xz-devel
+               zlib-devel
+       end
+
+       test
+               make check
+       end
+
+       make_install_targets += PREFIX=%{prefix} LIBDIR=%{libdir}
+end
+
+packages
+       package %{name}
+
+       package %{name}-libs
+               template LIBS
+       end
+
+       package %{name}-devel
+               template DEVEL
+       end
+
+       package %{name}-debuginfo
+               template DEBUGINFO
+       end
+end